@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

body {
    --var-icon-gradient: brightness(0) saturate(100%) invert(31%) sepia(98%)
        saturate(1233%) hue-rotate(199deg) brightness(97%) contrast(101%);
    --var-icon-white: brightness(0) saturate(100%) invert(100%) sepia(0%)
        saturate(0%) hue-rotate(0deg) brightness(100%) contrast(100%);
    --var-color-gradient: linear-gradient(
        204.52deg,
        #00a0df 1.8%,
        #0251ab 100.83%
    );
    --var-bg-gradient: radial-gradient(
        70.71% 754.25% at 50% 110%,
        #3544e8 0%,
        #3c5ded 20%,
        #4376f1 40%,
        #4b8ff6 60%,
        #53a7fa 80%,
        #5bbeff 100%
    );
    --var-bg-gradient-second: linear-gradient(
        204.52deg,
        #00a0df 1.8%,
        #0251ab 100.83%
    );
    --var-color-boldblue: #32325d;
    --var-color-lightblue: #0d74ce;
    --var-color-skyblue: #f3f9fb;
    --var-color-cloudblue: #e6f4fe;
    --var-color-lightgray: #d9d9e0;
    --var-color-light-gray: #e8e8ec;
    --var-color-slatedark: #1c2024;
    --var-bg-gradient-lightblue: linear-gradient(
        180deg,
        #d5efff 0%,
        #fcfcfd 100%
    );
    --var-bg-gradient-bluelight: linear-gradient(
        180deg,
        #fcfcfd 0%,
        #d5efff 100%
    );
    --var-boxshadow-primary: 0px 4px 20px 0px #0000001f;
    --var-boxshadow-secondary: 0px 0px 20px 0px #0000001a;
    --var-boxshadow-thirdary: 0px 0px 15px 0px #00000033;
    --var-boxshadow-third-dary: 0px 0px 5px 0px #00000022;
    --var-shadow-horizontal: 0 0 20px rgba(0, 0, 0, 0.2);
    --var-shadow-light-right: 20px 0 20px rgba(205, 206, 214, 0.3);
    --var-shadow-card: 0px 0px 20px 0px #00000014;
    --var-color-orange: #f76b15;
    --var-color-yellow: #ffc137;
    --var-pupler-table: #e0e1e6;
    --var-soft-blue: #eef7ff;
    --text-sm: 12px;
    --text-md: 14px;
    --text-lg: 16px;
    --text-1lg: 18px;
    --text-2lg: 20px;
    --text-xl: 24px;
    --text-2xl: 31px;
    --text-3xl: 39px;
    --text-4xl: 49px;
    font-family: "Be Vietnam Pro", sans-serif;
    background-image: none;
    color: #1c2024;
}
html,
body {
    max-width: 100vw;
    overflow-x: hidden;
}

/*Styling*/
.container {
    max-width: 1280px;
}

h2 {
    font-size: var(--text-2xl);
}

header {
    font-size: var(--text-md);
}

.border-thin {
    border: 1px solid #b9bbc6;
}

.border-grey {
    border-color: #d9d9e0;
}

.border-orange {
    border-color: var(--var-color-orange);
}

.border-l-1 {
    border-left: 1px solid var(--var-color-lightblue);
}

.border-l-4 {
    border-left: 4px solid var(--var-color-orange);
}

.border-r-1 {
    border-right: 1px solid #e8e8ec;
}

.border-b-1 {
    border-bottom: 1px solid #e8e8ec;
}

.border-b-3 {
    border-bottom: 3px solid;
}

.bg-gradient-second {
    background: var(--var-bg-gradient-second);
}

.bg-gradient-lightblue {
    background: var(--var-bg-gradient-lightblue);
}

.bg-gradient-bluelight {
    background: var(--var-bg-gradient-bluelight);
}

.bg-gradient-custom {
    background: var(--var-bg-gradient);
}

.bg-skyblue {
    background-color: var(--var-color-skyblue);
}

.bg-lightblue {
    background-color: var(--var-color-lightblue);
}

.bg-blue {
    background-color: var(--var--color--blue);
}

.bg-boldblue {
    background-color: var(--var-color-boldblue);
}
.bg-pupler-table {
    background-color: var(--var-pupler-table);
}

.bg-soft-blue {
    background-color: var(--var-soft-blue);
}

.bg-orange {
    background-color: var(--var-color-orange);
}

.bg-color-slatedark {
    background-color: var(--var-color-slatedark);
}

.bg-gray {
    background-color: #f0f0f3;
}

.bg-light-gray {
    background-color: var(--var-color-light-gray);
}

.bg-slide {
    background-color: #0251ab80;
}

.bg-opacity {
    background: #00000033;
}

.top-radius-32 {
    border-top-left-radius: 32px !important;
    border-top-right-radius: 32px !important;
}

.radius-full {
    border-radius: 100%;
}

.radius-100 {
    border-radius: 100px;
}

.radius-8 {
    border-radius: 8px;
}

.radius-4 {
    border-radius: 4px;
}

.radius-12 {
    border-radius: 12px;
}

.radius-24 {
    border-radius: 24px;
}
.radius-128 {
    border-radius: 128px;
}

.radius-12-right {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.my-110 {
    margin-top: 110px;
    margin-bottom: 110px;
}

.list-none {
    list-style: none;
}

.vertical-middle {
    vertical-align: middle;
}

.icon-gradient {
    filter: var(--var-icon-gradient);
}

.icon-white {
    filter: var(--var-icon-white);
}

.shadow-primary {
    box-shadow: var(--var-shadow-light-right);
}

.shadow-secondary {
    box-shadow: var(--var-boxshadow-secondary);
}

.shadow-thirdary {
    box-shadow: var(--var-boxshadow-thirdary);
}

.shadow-thir-dary {
    box-shadow: var(--var-boxshadow-third-dary);
}

.shadow-horizontal {
    box-shadow: var(--var-shadow-horizontal);
}

.shadow-light-right {
    box-shadow: var(--var-shadow-light-right);
}

.shadow-card {
    box-shadow: var(--var-boxshadow-primary);
}

/* .blue-hover:hover {
  color: var(--var--color--blue);
} */
.text-blue-hover:hover {
    color: var(--var-color-lightblue);
}

.card.blue-hover:hover .text-blue-hover {
    color: var(--var-color-lightblue);
}

.bg-gradient-hover:hover {
    background: var(--var-color-gradient);
}

.bg-blue-hover:hover {
    background-color: var(--var-color-boldblue);
}

.shadow-hover:hover {
    box-shadow: 0px 10px 20px 0px #00000040;
}

.group-hover:hover .group-text {
    color: var(--var-color-lightblue);
}

.group-hover:hover .group-img {
    transform: scale(1.05);
}

.text-yellow {
    color: var(--var-color-yellow);
}

.text-orange {
    color: var(--var-color-orange);
}
.text-form {
    color: #fcfcfd;
}
.color-black {
    color: black;
}
.text-black2024 {
    color: #80838d;
}

.text-blue {
    color: var(--var--color--blue);
}

.text-lightblue {
    color: var(--var-color-lightblue);
}
.text-pupler-table {
    color: var(--var-pupler-table);
}
.text-gradient {
    background: var(--var-color-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    width: fit-content;
}

.text-grey {
    color: #60646c;
}

.text-sm {
    font-size: var(--text-sm);
}

.text-md {
    font-size: var(--text-md);
}

.text-1lg {
    font-size: var(--text-1lg);
}

.text-xl {
    font-size: var(--text-xl);
}

.text-lg {
    font-size: var(--text-lg);
}

.text-xl {
    font-size: var(--text-xl);
}

.text-2lg {
    font-size: var(--text-2lg);
}

.text-2xl {
    font-size: var(--text-2xl);
}

.text-3xl {
    font-size: var(--text-3xl);
}

.text-4xl {
    font-size: var(--text-4xl);
}

.text-normal {
    text-transform: none;
}

.object-contain {
    object-fit: contain;
}

.object-cover {
    object-fit: cover;
}

.w-fit-content {
    width: fit-content;
}

.w-half {
    width: 50%;
}

.w-20 {
    width: 20%;
}

.w-74 {
    width: 74px;
}
.w-80 {
    width: 80px;
}
.w-40 {
    width: 40px;
}
.w-48 {
    width: 48px;
}
.w-60 {
    width: 60px;
}

.w-150 {
    width: 200px;
}

.w-100 {
    max-width: unset;
}
.w-140 {
    width: 140px;
}
.w-200 {
    width: 200px;
}

.w-250 {
    width: 250px;
}

.w-300 {
    width: 320px;
}

.w-320 {
    width: 300px;
}

.w-350 {
    width: 350px;
}

.w-390 {
    width: 390px;
}

.w-498 {
    width: 498px;
}

.min-w-100 {
    min-width: 100px;
}

.min-w-135 {
    width: 135px;
}

.min-w-165 {
    width: 165px;
}
.min-w-300 {
    width: 300px;
}
.h-fit {
    height: fit-content;
}

.h-full-screen {
    height: calc(100vh - 0px);
}

.h-20 {
    height: 20px;
}

.h-30 {
    height: 30px;
}
.h-30 {
    height: 30px;
}
.h-31 {
    height: 31px;
}

.h-40 {
    height: 40px;
}

.h-48 {
    height: 48px;
}

.h-60 {
    height: 60px;
}

.h-70 {
    height: 70px;
}

.h-80 {
    height: 80px;
}

.h-82 {
    height: 82px;
}

.h-120 {
    height: 120px;
}

.h-130 {
    height: 130px;
}

.h-150 {
    height: 150px;
}

.h-200 {
    height: 200px;
}

.h-250 {
    height: 250px;
}

.h-260 {
    height: 260px;
}

.h-220 {
    height: 220px;
}

.h-260 {
    height: 260px;
}

.h-300 {
    height: 300px;
}

.h-340 {
    height: 340px;
}

.h-350 {
    height: 350px;
}

.h-400 {
    height: 400px;
}

.h-500 {
    height: 500px;
}
.h-643 {
    height: 643px;
}
.h-824 {
    height: 824px;
}

.h-2300 {
    height: 2300px;
}
.min-h-38 {
    min-height: 38px;
}
.min-h-48 {
    min-height: 48px;
}
.min-h-643 {
    min-height: 643px;
}
.min-h-2300 {
    min-height: 2300px;
}
.max-height {
    height: 100%;
}

.max-h-21 {
    max-height: 21px;
}

.max-h-162 {
    max-height: 162px;
}
.min-h-342 {
    min-height: 342px;
}
.min-h-50 {
    min-height: 50vh;
}

.min-h-70 {
    min-height: 70vh;
}
.min-h-380 {
    min-height: 380px;
}

.height-50 {
    height: 50px;
}

.h-730 {
    height: 730px;
}

.min-h-300 {
    min-height: 300px;
}

.min-h-400 {
    min-height: 400px;
}

.min-h-1220 {
    min-height: 1220px;
}

.max-h-400 {
    max-height: 400px;
}
.max-w-166px {
    max-width: 166px;
}
.max-w-198 {
    max-width: 198px;
}
.max-w-296 {
    max-width: 296px;
}
.max-w-246 {
    max-width: 246px;
}
.max-w-320 {
    max-width: 320px;
}

.max-w-350 {
    max-width: 350px;
}

.max-w-380 {
    max-width: 380px;
}

.max-w-390 {
    max-width: 390px;
}

.max-w-400 {
    max-width: 400px;
}
.max-w-488 {
    max-width: 488px;
}
.max-w-498 {
    max-width: 498px;
}
.max-w-500 {
    max-width: 500px;
}
.max-w-515 {
    max-width: 515px;
}
.max-w-520 {
    max-width: 520px;
}

.max-w-550 {
    max-width: 550px;
}
.max-w-554 {
    max-width: 554px;
}
.max-w-574 {
    max-width: 574px;
}
.max-w-590 {
    max-width: 590px;
}
.max-w-627 {
    max-width: 627px;
}
.max-w-682 {
    max-width: 682px;
}
.max-w-700 {
    max-width: 700px;
}

.max-w-750 {
    max-width: 750px;
}

.max-w-788 {
    max-width: 788px;
}

.max-w-800 {
    max-width: 800px;
}

.max-w-820 {
    max-width: 820px;
}

.max-w-850 {
    max-width: 850px;
}

.max-w-878 {
    max-width: 878px;
}

.max-w-992 {
    max-width: 992px;
}

.max-w-960 {
    max-width: 960px;
}

.max-w-1000 {
    max-width: 1000px;
}

.max-w-1024 {
    max-width: 1024px;
}

.max-w-1080 {
    max-width: 1080px;
}
.max-w-1104 {
    max-width: 1104px;
}
.max-w-1200 {
    max-width: 1200px;
}

.max-w-1280 {
    max-width: 1280px;
}

.max-w-100per {
    max-width: 100%;
}

.break-label {
    width: 70%;
    /* max-width: 150px; */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.break-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.break-word {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.transition-300 {
    transition: all 0.3s ease-in-out;
}

.position-r {
    position: relative;
}

.flex-auto {
    flex: auto;
}

.z-99 {
    z-index: 99;
}

.z-negative {
    z-index: -10;
}

.pointer {
    cursor: pointer;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-xy-auto {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.overflow-xy-auto::-webkit-scrollbar {
    display: none;
}
.hide-scrollbar {
    scrollbar-width: none;
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.team-scroll-mobile {
    overflow-x: hidden;
    /* Mặc định tắt scroll */
}

.header-menu {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
}

.line-timline {
    top: 0;
    left: 520px;
}

.line-gray {
    width: 2px;
    height: 94.5%;
    left: 19px;
    background: var(--var-color-lightgray);
    border-radius: 8px;
    position: absolute;
}

.dot-timline {
    width: 40px;
    height: 40px;
}

.link-custom:after {
    display: none;
}

.link-custom.active {
    color: var(--var--color--blue);
}

.home-banner {
    background-image: url("/assets/front/images/bg-banner-home.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.home-bg-1 {
    background-image: url("/assets/front/images/banner-home-bg.jpeg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.home-bg-2 {
    background-image: url("/assets/front/images/banner-home-bg-2.png");
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

.bg-banner-blue {
    background-image: url("/assets/front/images/bg-banner-blue.png");
    min-height: 300px;
}

.bg-form-catalog {
    background-image: url("/assets/front/images/bg-catalog-from-v2.png");
    background-size: initial;
    background-position: center;
    background-repeat: no-repeat;
}

.bg-form-card {
    background-image: url("/assets/front/images/bg-card-ai.png");
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}
.bg-banner-service {
    background-image: url("/assets/front/images/bg-banner-sevices.png");
    background-size: initial;
    background-position: center;
    background-repeat: no-repeat;
}
.bg-banner-vr {
    background-image: url("/assets/front/images/vr-contact.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.corp-logo-slide {
    animation: slideLeft 20s linear infinite;
    width: max-content;
}

.corp-logo-slide img {
    width: 100px;
    height: 100px;
    object-fit: contain;
    /* Đảm bảo hình ảnh không bị méo */
}

.group-card:hover .group-items {
    opacity: 1 !important;
}

.slick-content {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0) 5%,
        rgba(0, 0, 0, 0.2) 24%,
        rgba(0, 0, 0, 0.7) 100%
    );
    bottom: 0;
}

.slick-extra {
    max-height: 0;
    overflow: hidden;
}

.slick-group:hover .slick-extra {
    max-height: 200px;
}

.news-slick .slick-slide .group-hover {
    min-height: 500px;
}

.mega-menu {
    position: absolute;
    background-color: transparent;
    top: 65px;
    left: 30%;
    display: none;
}

.mega-menu-link .dropdown-item.active {
    background-color: #d5efff;
    color: black;
}

.mega-menu-link .dropdown-item:hover {
    background-color: #d5efff;
}

.mega-menu-link .dropdown-item:hover span {
    text-decoration: underline;
}

.mega-sub-menu-link .dropdown-item.active {
    background-color: #f0f0f3;
    color: black;
}

.mega-sub-menu-link .dropdown-item:hover {
    background-color: #f0f0f3;
    color: black;
}

.mega-menu-parent {
    width: 300px;
}

.mega-sub-menu {
    min-width: 350px;
    width: auto;
}

.video-home .banner {
    width: 100%;
    height: calc(100vh - 0px);
    object-fit: cover;
}

.video-container {
    position: relative;
    height: 60vh;
    min-height: 300px;
    max-height: 700px;
    overflow: hidden;
}

.video-container .banner {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.video-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    max-width: 90%;
    padding: 0 20px;
}

.warning {
    display: none;
}

.menu-mobile,
.submenu {
    max-height: 0;
    overflow: hidden;
}

.menu-mobile.expanded {
    max-height: 550px;
    /* tăng tùy theo độ dài menu */
    overflow: auto;
}

.submenu.expanded {
    max-height: 400px;
    /* tăng tùy theo độ dài menu */
    overflow: auto;
}

body.no-scroll {
    overflow: hidden;
}

.small-screen {
    display: none;
}

.nav-tabs {
    border-bottom: 1px solid #e8e8ec;
}

.nav-tabs .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    font-weight: 300;
}

.nav-tabs .tab-link:hover {
    border-color: var(--var--color--blue);
    border-bottom: 4px solid var(--var--color--blue);
}

.nav-tabs .tab-link.active {
    color: var(--var--color--blue);
    border-bottom: 4px solid var(--var--color--blue);
    font-weight: 500;
}

.services-banner {
    background-image: url("/assets/front/images/services-bg.png");
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
}

.check-icon {
    color: #2b9a66;
}

.services-img {
    top: -350px;
    left: 50px;
}

.resize-services-img {
    width: 75%;
}

.bg-lightblue .container .nav-tabs .nav-item .tab-link.active {
    background-color: transparent;
    color: white !important;
    border-color: white !important;
    font-weight: 500;
}

.bg-lightblue .container .nav-tabs .nav-item .tab-link:hover {
    border-bottom-color: white !important;
}

.sticky-content {
    position: sticky;
    top: 66px;
}

.tab-img {
    width: 300px;
    height: 300px;
}

.tab-table table td,
.tab-table table th {
    padding: 14px;
    border-width: 1px;
}

.service-bg-1 {
    background: url("/assets/front/images/service-bg-1.png") no-repeat;
    background-size: cover;
    background-position: center;
}

.rounded-img {
    max-width: 200px;
    height: 200px;
}

.rounded-img-cover {
    max-width: 250px;
    height: 250px;
}

.rounded-12 {
    border-radius: 12px;
}

.rounded-24 {
    border-radius: 24px;
}

.rounded-128 {
    border-radius: 128px;
}

.case-filter {
    top: -30px;
}

.avt {
    width: 50px;
    height: 50px;
}

.slick-bg {
    padding: 100px 0;
}

.center-slick .slick-slide {
    opacity: 0.5;
    transform: scale(0.9);
}

.center-slick .slick-slide.slick-current.slick-center {
    opacity: 1;
    transform: scale(1);
}

.gradient-line {
    height: 2px;
    background: linear-gradient(90deg, #fe431b 0%, #ffc137 100%);
    max-width: 150px;
}

.atn-bg-1 {
    background: url("/assets/front/images/atn-bg.png") no-repeat;
    background-size: cover;
    background-position: center;
}

.atn-bg-2 {
    background: url("/assets/front/images/atn-bg-2.png") no-repeat;
    background-size: cover;
    background-position: center;
}

.play-video {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: flex;
}

.video-tab.active {
    border: 0;
    background-color: transparent !important;
}

.video-tab.active h4 {
    color: var(--var-color-yellow);
}

.myatnlayout-bg {
    background-image: url("/assets/front/images/Frame\ 31.png");
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

.bg-gradient-hover:hover .text-grey {
    color: white;
}

.long-image {
    height: clamp(800px, 100%, 1000px);
}

.small-screen-tab {
    display: none;
}

.cursor-pointer {
    cursor: pointer;
}
.gap-32 {
    row-gap: 64px;
    column-gap: 64px;
}
.gap-32px {
    --bs-gutter-x: 32px;
    --bs-gutter-y: 32px;
}

.gap-40px {
    --bs-gutter-x: 40px;
    --bs-gutter-y: 40px;
}

.gap-48px {
    --bs-gutter-x: 48px;
    --bs-gutter-y: 48px;
}
.gap-64 {
    display: flex;
    flex-wrap: wrap;
    gap: 64px;
}

.gap-64px {
    --bs-gutter-x: 64px;
    --bs-gutter-y: 64px;
}

.gap-136px {
    gap: 136px;
}

.gap-112px {
    --bs-gutter-x: 112px;
}
.gap-109px {
    gap: 109px;
}
.gap-20px {
    gap: 20px;
}

.gap-24px {
    gap: 24px;
}
.gap-80px {
    gap: 80px;
}
.gap-84px {
    gap: 84px;
}

.gap-15px {
    gap: 15px;
}

.gap-10px {
    gap: 10px;
}

.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.tag-list .tag-item span.tag-text {
    border: #cdced6 solid 1px;
    padding: 11px 15px;
    border-radius: 8px;
    height: 100%;
    display: block;
}

.tag-list .tag-item input:checked + .tag-text {
    background: var(--var-color-lightblue);
    color: white;
    border-color: var(--var-color-lightblue);
}

.content-case-study {
    display: flex;
    flex-direction: column;
}

.content-blog {
    margin-top: -50px;
    display: inline-block;
}

.top-80px {
    top: 80px;
}
.p-56-379 {
    padding: 56px 379px;
}
.p-112-168 {
    padding: 112px 168px;
}
.p-112-180 {
    padding: 112px 180px;
}
.p-112-32 {
    padding: 112px 32px;
}
.hover-img-scale {
    background-repeat: no-repeat;
    background-size: cover;
}
.hover-border-blue:hover {
    border-color: #0d74ce;
}
.hover-img-scale:hover {
    transform: translateY(-30px);
}

.image-curtain {
    opacity: 0.8;
}

.hover-img-scale:hover .image-curtain {
    opacity: 0.9;
}

.image-curtain .content {
    max-width: 515px;
}

.image-curtain .content-left {
    margin-right: 110px;
}

.image-curtain .content {
    margin-left: 110px;
}

.content-btn {
    width: 30px;
    height: 4px;
    background-color: #4b4b4b;
    border: 1px solid transparent;
}

.content-left .content-btn.active {
    background-color: var(--var-color-yellow);
}

.content-right .content-btn.active {
    background-color: var(--var-color-lightblue);
}

.hide-block {
    display: none;
}

.brown-card:hover {
    background-color: #492617;
}

.brown-card:hover .brown-card-text {
    color: var(--var-color-yellow);
}

.brown-card:hover p,
.blue-card:hover p {
    color: white;
}

.brown-card:hover .brown-card-icon {
    filter: brightness(0) saturate(100%) invert(71%) sepia(71%) saturate(439%)
        hue-rotate(351deg) brightness(98%) contrast(106%);
}

.blue-card:hover {
    background-color: #061b35;
}

.blue-card:hover .blue-card-text {
    color: var(--var-color-lightblue);
}

.blue-card:hover .blue-card-icon {
    filter: brightness(0) saturate(100%) invert(52%) sepia(49%) saturate(3923%)
        hue-rotate(165deg) brightness(200%) contrast(101%);
}

.accordion-custom .accordion-btn {
    background-color: transparent;
    padding: 10px 25px;
}

.accordion-btn:hover {
    background-color: white;
    color: var(--var--color--blue);
    font-weight: 700;
}

.accordion-btn:hover i {
    color: var(--var--color--blue);
    box-shadow: 0px 4px 4px 0px #00000040;
}

.accordion-btn:not(.collapsed) {
    background-color: white;
    color: var(--var--color--blue);
    font-weight: 700;
}

.accordion-btn:not(.collapsed) i {
    color: var(--var--color--blue);
    box-shadow: 0px 4px 4px 0px #00000040;
}

.table_contents a {
    color: var(--var-color-lightblue);
}

.table_contents {
    list-style: none;
    padding-left: 0;
}

.max-w-100 {
    max-width: 100px;
}

.content-blog h2 {
    text-align: unset;
    font-size: 20px;
}

.section-content h3 {
    font-size: 18px;
}

.section-content h4,
.section-content h5,
.section-content h6 {
    font-size: 16px;
}

.section-content-blog h2 {
    font-size: 20px;
}

.section-content-blog h3 {
    font-size: 20px;
}

.section-content-blog h4 {
    font-size: 20px;
}

.section-content-blog h5 {
    font-size: 20px;
}

.section-content-blog h6 {
    font-size: 20px;
}

.form-control,
.form-select {
    min-height: 48px;
    border-radius: 8px;
}

.form-control::placeholder,
.form-select {
    color: #60646c;
}

.border-upload-file {
    border-style: dashed;
    border-width: 2px;
    border-color: var(--var-color-lightblue);
    border-radius: 8px;
}

.translate-pc .dropdown-toggle::after {
    display: none;
}

.name_file {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    /* number of lines to show */
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.fa-trash-can:hover {
    color: red;
}

.bg-form {
    background: #fcfcfd;
}

.fw-bold {
    font-weight: 600 !important;
}

.breadcrumb-item.active {
    color: var(--var-color-lightblue);
}

.list-file {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.content-contact {
    width: 100%;
    margin-top: 15vh;
    display: inline-block;
}

.bg-contact {
    background-color: #f4faff;
}

.bg-contact-address {
    background-image: url("/assets/front/images/bg-contact-address.png");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: top;
}

.hover-show-link .blue-hover {
    opacity: 0;
}

.hover-show-link:hover .blue-hover {
    opacity: 1;
}

.counter-number,
.counter-suffix {
    font-size: 39px;
    color: white;
    stroke-width: 0;
    -webkit-text-stroke-width: 0;
}

.counter-number-wrapper {
    justify-content: start;
}

.counter-title {
    font-weight: 400;
    text-transform: unset;
}

.section-hotline .dropdown-item {
    background-color: white;
}

.section-hotline .dropdown-item:hover {
    background-color: #e8e8ec;
}

body.modal-open {
    overflow: hidden !important;
}

.milestone-container h1 {
    color: #0066cc;
}

.milestone-item {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 20px 0;
}

.timeline {
    display: flex;
    gap: 32px;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    padding: 30px 0;
}

.timeline-years {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: space-between;
    color: white;
}

.timeline-years .line-timeline {
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: white;
}

.timeline-years .active {
    color: #f0c756;
}

.marker-time {
    cursor: pointer;
}

.marker-time:hover {
    color: var(--var-color-boldblue);
}

.marker-time .dot {
    width: 10px;
    height: 10px;
    background-color: white;
    margin: auto;
    display: block;
    border-radius: 50%;
    margin-bottom: 10px;
    margin-top: -5px;
}

.marker-time.active .dot {
    background-color: #f0c756;
}

.content-milestone,
.content-milestone img {
    height: 420px;
}

#load-3d {
    width: 100%;
    height: 600px;
}

.section-3d:hover .area-action {
    display: flex;
    align-items: center;
    justify-content: end;
}

canvas {
    width: 100% !important;
    height: 100% !important;
}

.area-action {
    width: 100%;
    background: #00000061;
    margin-top: -50px;
    z-index: 9999999;
    position: relative;
    font-size: 20px;
    padding: 10px;
    text-align: right;
    display: none;
}

.area-action > div {
    width: auto;
    margin: 0 5px;
}

.area-action i {
    cursor: pointer;
}

.area-action .select-model {
    display: flex;
    align-items: center;
    flex-direction: row;
}

.area-action .select-model p {
    width: 175px;
    font-size: 14px;
    margin-right: 5px;
    margin-bottom: 0;
    padding-bottom: 0;
}

.area-action .select-model .form-control {
    min-width: 100px;
    height: auto;
    padding: 5px;
    font-size: 14px;
}

.object-fit-scale-down {
    object-fit: scale-down;
}

.search .fa-search {
    top: 30%;
    right: 15px;
}

.spacing-section {
    margin-top: 150px;
    margin-bottom: 150px;
}
.spacing-sec {
    margin-top: 96px;
    margin-bottom: 96px;
}
.highlight {
    color: var(--var-color-lightblue);
    font-size: 24px;
    font-weight: 600;
}

.highlight-2 {
    color: var(--var-color-lightblue);
    font-size: 31px;
    font-weight: 600;
}

.highlight-3 {
    color: var(--var-color-lightblue);
    font-size: 39px;
    font-weight: 600;
}

.section-content {
    padding-left: 180px;
    padding-right: 180px;
    padding-top: 112px;
    padding-bottom: 112px;
}

.section-body {
    padding-left: 180px;
    padding-right: 180px;
    padding-top: 80px;
    padding-bottom: 80px;
}

.pages-tab-ai .tab-item {
    border-left: 2px solid #d9d9e0;
    padding-left: 22px;
    padding-right: 22px;
}

.pages-tab-ai .tab-item.active {
    border-left: 2px solid #0588f0;
}

.box-item {
    border: 1px solid transparent;
    border-radius: 12px;
    transition: border 0.3s;
}

.box-item.active {
    border: 1px solid #00a0df;
}

.p-12 {
    padding: 12px;
}

.p-20 {
    padding: 20px;
}

.p-16 {
    padding: 16px;
}

.p-y16 {
    padding: 0 16px;
}

.p-x20y16 {
    padding: 20px 16px;
}

.py-14 {
    padding-top: 14px;
    padding-bottom: 14px;
}

.px-122 {
    padding-left: 122px;
    padding-right: 122px;
}

.py-77 {
    padding-top: 77px;
    padding-bottom: 77px;
}

.pl-16 {
    padding-left: 16px;
}

.pb-48 {
    padding-bottom: 48px;
}

.py-10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.py-64 {
    padding-top: 64px;
    padding-bottom: 64px;
}
.py-80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.px-48 {
    padding-left: 48px;
    padding-right: 48px;
}

.pb-64 {
    padding-bottom: 64px;
}

.pb-200 {
    padding-bottom: 200px;
}

.px-24 {
    padding-left: 24px;
    padding-right: 24px;
}

.pl-70 {
    padding-left: 70px;
}

.ml-8 {
    margin-left: 8px;
}

.mt--10 {
    margin-top: -10px;
}

.mt-8 {
    margin-top: 8px;
}

.mt-12 {
    margin-top: 12px;
}
.mt-24 {
    margin-top: 24px;
}
.mt-32 {
    margin-top: 32px;
}

.mt-64 {
    margin-top: 64px;
}

.mt-48 {
    margin-top: 48px;
}

.mt-80 {
    margin-top: 80px;
}

.mt-96 {
    margin-top: 96px;
}

.mt-112 {
    margin-top: 112px;
}

.mt-176 {
    margin-top: 176px;
}

.mb-12 {
    margin-bottom: 12px;
}

.mb-16 {
    margin-bottom: 16px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-32 {
    margin-bottom: 32px;
}

.mb-48 {
    margin-bottom: 48px;
}

.mb-64 {
    margin-bottom: 64px;
}

.mb-80 {
    margin-bottom: 80px;
}

.mb-100 {
    margin-bottom: 100px;
}

.mb-112 {
    margin-bottom: 112px;
}

.mb-160 {
    margin-bottom: 160px;
}

.border-custom-lightblue {
    position: relative;
    border-radius: 1rem;
    padding: 1rem;
    background-color: #fff;
    z-index: 1;
}

.border-custom-lightblue::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1px;
    background: linear-gradient(180deg, #0588f0 0%, #fcfcfd 100%);
    border-radius: inherit;
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}

.border-custom-bluelight {
    position: relative;
    border-radius: 1rem;
    padding: 1rem;
    background-color: #fff;
    z-index: 1;
}

.border-custom-bluelight::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1px;
    background: linear-gradient(180deg, #fcfcfd 0%, #0588f0 100%);
    border-radius: inherit;
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}

.border-custom-blue {
    position: relative;
    border-radius: 1rem;
    padding: 1rem;
    background-color: #fff;
    z-index: 1;
}

.border-custom-blue::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1px;
    background: linear-gradient(180deg, #00a0df 0%, #0251ab 100%);
    border-radius: inherit;
    -webkit-mask: linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
}

.spacing-section-v1 {
    margin-bottom: 32px;
}

.clear-filter {
    color: #ce2c31;
    background-color: #feebec;
    display: flex;
    align-items: center;
}

.filter-area {
    top: 90px;
}

.scroll-filter-area {
    max-height: calc(100vh - 180px);
    overflow: auto;
}

input:focus,
textarea:focus,
select:focus {
    border-color: 1px solid #dee2e6 !important;
    box-shadow: none !important;
    outline: 1px solid #dee2e6 !important;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.grid-item {
    display: flex;
    gap: 24px;
    padding: 16px;
}

.accordion-item-custom {
    border: 1px solid #d9d9e0;
    border-radius: 12px;
}

.accordion-button-custom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    padding: 16px;
    cursor: pointer;
    font-weight: 600;
}

.accordion-body-custom {
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 16px;
}

.card-contact {
    background-color: var(--var-color-cloudblue);
    border-radius: 24px;
}

.padding-responsive {
    padding-left: 0;
    padding-right: 0;
}
.padiing-lr6 {
    padding: 0px 24px;
}
.tab-content.collapse {
    display: none;
}

.tab-content.collapse.show {
    display: block;
}

.skew-section {
    background: url("/assets/front/images/bg-card-ai.png") no-repeat center
        center;
    background-size: cover;
    transform: skewY(-3deg);
}

.skew-content {
    transform: skewY(3deg);
    padding: 100px 0;
}

.feature-icon {
    color: #007bff;
    font-size: 24px;
    margin-bottom: 0.5rem;
}

.illustration {
    max-width: 100%;
}

.slick-carousel .t {
    bottom: -35px;
}

.frame-video-about {
    width: 100%;
    height: 500px;
    border-radius: 12px;
}

.banner-slide {
    height: 100vh;
    background-position: center;
    background-size: cover;
}

.custom-carousel-indicators {
    display: flex;
    gap: 12px;
    /* Khoảng cách giữa các nút */
    align-items: center;
    padding: 16px 0;
}

.custom-carousel-indicators button {
    width: 10px;
    height: 10px;
    border-radius: 100%;
    border: none;
    background-color: white;
    opacity: 1;
    transition: all 0.3s ease;
}

.custom-carousel-indicators button.active {
    width: 40px;
    height: 10px;
    border-radius: 128px;
    background-color: var(--var-color-lightblue);
}

.position-menu {
    position: sticky;
    top: 65px;
    z-index: 100;
    background-color: #f4faff;
}

.position-contact {
    margin-bottom: 100px;
}

.section-cookie {
    padding-left: 80px;
    padding-right: 80px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.section-hotline {
    cursor: move;
    user-select: none;
}

.vertical-line-dashed {
    position: absolute;
    top: 0;
    margin-left: 12px;
    left: 0;
    /* căn sát */
    height: 100%;
    width: 0;
    border-left: 1px dashed #d9d9e0;
    z-index: -1;
    /* Đưa xuống dưới để không đè nội dung */
}

.vertical-line-dashed.right-line {
    left: auto;
    right: 0;
    margin-left: 0;
    margin-right: 11px;
    border-left: none;
    border-right: 1px dashed #d9d9e0;
}

.toc-item {
    border-left: 3px solid transparent;
    transition: border-color 0.3s, background-color 0.3s;
}

.toc-active {
    color: var(--var-color-lightblue);
    border-left: 2px solid #007bff;
    margin-left: 1px;
}

.t-0 {
    top: 0;
}
.t-32 {
    top: 32px;
}
.t-72 {
    top: 72px;
}

.t-370 {
    top: 370px;
}

.t-442 {
    top: 442px;
}

.t-740 {
    top: 740px;
}

.t-812 {
    top: 812px;
}

.t-1110 {
    top: 1110px;
}

.t-1182 {
    top: 1182px;
}

.t-1480 {
    top: 1480px;
}

.t-1552 {
    top: 1552px;
}

.t-1850 {
    top: 1850px;
}

.t-1922 {
    top: 1922px;
}

.t-100 {
    top: 100px;
}
.l-20 {
    left: 20%;
}
.l-45 {
    left: 45%;
}
.l-70 {
    left: 70%;
}
.distance-above {
    margin-top: 80px;
}

/*nút time line frame*/
.timeline-progress {
    position: absolute;
    width: 2px;
    left: 19px;
    top: 0;
    height: 0;
    background: var(--var-color-lightblue);
    border-radius: 12px;
    z-index: 0;
    transition: height 0.5s ease;
}

.step-img-wrapper {
    position: relative;
    display: inline-block;
    width: fit-content;
    overflow: hidden;
}

.step-img-wrapper.inactive::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.5);
    /* lớp phủ trắng 50% */
    z-index: 2;
    pointer-events: none;
    transition: background 0.8s ease;
}

.step-img-wrapper.inactive img.step-img {
    filter: brightness(1.2) saturate(1);
    transition: filter 0.8s ease;
    position: relative;
    z-index: 1;
}

.form-check-input {
    border: 1px solid #b9bbc6;
}

.shadow-fix {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

.background-button {
    background-color: #cdced6;
}

.form-switch .form-check-input.bg-white-dot {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e") !important;
}

.logo1 {
    height: 30px;
    width: auto;
}

.tab-text-black {
    color: #80838d;
}
.tab-underline {
    height: 2px;
    background-color: rgba(0, 0, 0, 0.1);
}

.nav-link.active .tab-text-black {
    color: var(--var-color-lightblue);
}
.nav-link.active .tab-underline {
    background-color: var(--var-color-lightblue);
}
.tab-underline {
    height: 2px;
    background-color: rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s;
}

.tab-text {
    color: #1c2024;
    transition: color 0.3s;
}

.nav-link.active .tab-underline {
    background-color: var(--var-color-lightblue);
}

.nav-link.active .tab-text {
    color: var(--var-color-lightblue);
}
.product-scroll-wrapper {
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
}

.product-scroll-wrapper::-webkit-scrollbar {
    display: none;
}

.product-scroll-wrapper .row {
    flex-wrap: nowrap !important;
}

.product-scroll-wrapper .col-md-3 {
    flex: 0 0 auto;
    scroll-snap-align: start;
}

#productDots .dot {
    width: 8px;
    height: 8px;
    background-color: #ccc;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.3s;
}

#productDots .dot.active {
    background-color: var(--var--color--blue, #007bff);
}

.slick-carousel-6 .slick-slide {
    padding: 0 16px;
    box-sizing: border-box;
}

.slick-carousel-6 {
    margin: 0 -16px;
}

#v-pills-tab .nav-link {
    transition: all 0.3s ease;
    padding-left: 0.75rem;
}

#v-pills-tab .nav-link:hover,
#v-pills-tab .nav-link:focus {
    color: #0d74ce !important;
    padding-left: 24px;
    transform: translateX(4px);
}

#v-pills-tab .nav-link.active {
    color: #0d74ce !important;
    background-color: white !important;
    padding-left: 24px;
    transform: translateX(4px);
}
.avatar-banner-img {
    max-width: 460px;
    height: 397px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.content-banner-text {
    max-width: 530px;
    padding: 66px 0;
    margin-left: 0;
}
