@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root{
    --color-main: #299945;
}

body {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #000;
}

h1, h2, h3, h4{
    font-weight: 700;
}

.clamp-1 {
    text-overflow: ellipsis;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.clamp-2 {
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.clamp-3 {
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.clamp-6 {
    text-overflow: ellipsis;
    -webkit-line-clamp: 6;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.scrollbar {
    overflow-y: overlay;
}

.scrollbar::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: #f5f5f5;
}

.scrollbar::-webkit-scrollbar {
    width: 6px;
    background-color: #f5f5f5;
}

.scrollbar::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #000;
}

.owl-prev {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.owl-next {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.owl-nav > div {
    background-color: var(--color-main);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--color-main);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: all 0.3s;
}

.owl-nav > div.disabled{
    display: none;
}

.owl-nav > div:hover{
    background: #fff;
    color: var(--color-main);
}

a{
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

img {
    -webkit-transition: all 0.7s ease;
    transition: all 0.7s ease;
}

.hover-zoom:hover img {
    transform: scale(1.05);
}
.hover-zoom {
    overflow: hidden;
}

.form-search-mobile input[type="text"]::placeholder {
    /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #fff;
    opacity: 1; /* Firefox */
}

.form-search-mobile input[type="text"]:-ms-input-placeholder {
    /* Internet Explorer 10-11 */
    color: #fff;
}

.form-search-mobile input[type="text"]::-ms-input-placeholder {
    /* Microsoft Edge */
    color: #fff;
}

.map iframe {
    width: 100%;
}

.owl-dots .owl-dot {
    width: 10px;
    height: 10px;
    background: #ddd;
    margin: 0px 2px;
    border-radius: 50%;
}
.owl-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}
.owl-dots .owl-dot.active {
    background: var(--color-main);
}

.submenu:hover > .box-submenu{
    display: block;
}

.page-home .box-content .content-content h2, .page-cate-solution .box-content .content-content h2, 
.page-driver .box-content1 .box-title h2, .page-about .box-1 .box-content h2{
    font-size: 30px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.page-home .box-content .content-content h3, .page-driver .box-content1 .box-title h3, .page-about .box-1 .box-content h3{
    font-size: 14px;
    text-transform: uppercase;
}

.page-home .box-content .content-content h3, .page-home .box-content .content-content p{
    margin-bottom: 5px;
}

.page-home .box-content .content-content :last-child{
    margin-bottom: 0;
}

.page-home .item-solution .box-desc p:not(:last-child){
    margin-bottom: 10px;
}

.page-home .item-solution .box-desc ul li + li{
    margin-top: 5px;
}

.page-home .item-solution .box-desc ul li::before{
    width: 20px;
    height: 20px;
    font-size: 12px;
}

.page-home .box-banner1 .content-content ul li + li{
    margin-top: 10px;
}

.page-home .item-solution img{
    aspect-ratio: 34 / 23;
}

.page-home .slider-partner img{
    aspect-ratio: 5 / 3;
}

.page-faq .box-title .box-desc{
    font-size: 18px;
}

.page-faq .box-title .box-desc :not(:last-child){
    margin-bottom: 10px;
}

.page-faq .box-title .box-desc h2{
    font-size: 30px;
    line-height: 1.2;
}

.page-faq .btn-tab-faq img{
    filter: brightness(0);
}

.page-faq .btn-tab-faq.active img, .page-faq .btn-tab-faq:hover img{
    filter: brightness(1);
}

.page-faq .btn-tab-faq.active, .page-faq .btn-tab-faq:hover{
    color: var(--color-main);
    border-color: var(--color-main);
    background: #ecfaed;
}

.page-faq .item-faq.active .box-icon i{
    transform: rotate(-180deg);
}

.page-faq .box-banner .box-content h2{
    font-size: 24px;
    margin-bottom: 5px;
    line-height: 1.2;
}

.page-contact .box-title .desc h2{
    font-size: 30px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.page-contact .box-title .desc p{
    font-size: 18px;
}

.page-contact .box-map iframe{
    width: 100%;
    aspect-ratio: 2 / 1;
    object-fit: cover;
}

.page-cate-art .item-artHl img, .item-art img, .page-home .item-project img, .item-solution .box-image img,
.page-cate-solution .box-banner .box-image img{
    aspect-ratio: 2 / 1;
    height: 100%;
}

.pagination li a, .pagination li span{
    padding: 0;
    float: unset;
    width: 40px;
    height: 40px;
    border: 1px solid #ddd;
    border-radius: 4px;
    align-items: center;
    justify-content: center;
}

.pagination{
    gap: 5px;
    flex-wrap: wrap;
}

.pagination li{
    float: unset;
    margin: 0;
}

.pagination li.active span, .pagination a:hover:not(.active){
    background: var(--color-main);
    border-color: var(--color-main);
}

.box-gen-form-contact .box-info h2, .box-gen-form-contact .box-info h3, .box-gen-form-contact .box-info p{
    margin-bottom: 5px;
}

.box-gen-form-contact .box-info :last-child{
    margin-bottom: 0;
}

.box-gen-form-contact .box-info h2{
    font-size: 30px;
    font-weight: 700;
}

.box-gen-form-contact .box-info ul li{
    margin-bottom: 10px;
}

.box-gen-form-contact .box-info ul li::before, .item-solution .box-desc ul li::before, .page-home .box-banner1 .content-content ul li::before{
    content: '\f00c';
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #fff;
    display: inline-flex;
    width: 26px;
    height: 26px;
    background: var(--color-main);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.page-cate-solution .item-solution .box-image::after, .slider-related .item-solution .box-image::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    inset: 0;
    background: linear-gradient(to right, #f5fbf7 0%, rgba(255, 255, 255, 0.95) 10%, rgba(255, 255, 255, 0.7) 20%, rgba(255, 255, 255, 0) 30%);
    pointer-events: none;
}

.item-solution .box-image a{
    display: block;
    height: 100%;
}

.slider-album-project .item img{
    aspect-ratio: 16 / 9;
    height: 100%;
}

.page-cate-solution .box-content .content-content h2{
    margin-bottom: 5px;
}

.page-driver .box-content1 .item img{
    aspect-ratio: 1 / 1;
}

.page-partner .box-content4 .desc h3{
    font-size: 18px;
}

.page-partner .box-content4 .desc p{
    margin-bottom: 10px;
}

.page-partner .box-content4 .desc :last-child{
    margin-bottom: 0;
}

.item-faq .desc img{
    height: auto !important;
}

.page-detail-art .box_content ul{
    padding-left: 30px;
    list-style: disc;
}

.box-breadcrumb-header::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff9;
}

@media(max-width:1279px){
    .box-menu-mobile.active{
        display: block;
    }

    .box-menu-mobile.active .box-content-menu{
        width: 100%;
        -webkit-transition: all 0.7s ease;
        transition: all 0.7s ease;
    }

    .box-menu-mobile .box-icon{
        -webkit-tap-highlight-color: transparent;
    }

    .box-menu-mobile .box-icon.active{
        transform: rotate(90deg);
    }

    .box-menu-mobile a.active{
        color: var(--color-main);
    }
}

@media(max-width:767px){

    .page-home .box-content .content-content h2, .page-faq .box-title .box-desc h2{
        font-size: 24px;
    }

    .page-faq .box-banner .box-content h2{
        font-size: 21px;
    }

    .page-contact .box-title .desc h2{
        font-size: 32px;
    }

    .page-cate-art .item-artHl img{
        aspect-ratio: 16 / 9;
    }
}

