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

:root{
    --color-main: #034799;
    --color-main2: #1c9dd0;
}

body {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    line-height: 1.5;
}
.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;
}
.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%);
}
.slider-home .owl-prev {
    left: 20px;
}
.slider-home .owl-next {
    right: 20px;
}
.owl-nav > div {
    background-color: #000;
    width: 32px;
    height: 32px;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
    border-radius: 50%;
    border: 1px solid #1e3d37;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

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

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


#primary-nav.mobile li a {
    padding: 10px !important;
}

.header-pc {
    z-index: 11 !important;
}

.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;
}

/* Accordion
================================================== */

.main-menu-mobile ul li {
    width: 100%;
    border: none;
    position: relative;
}

.main-menu-mobile ul ul {
    width: 100%;
    position: relative;
    box-shadow: none;

    float: left;
    display: none;
}

.menu-toggle {
    display: block;
}

.menu-toggle {
    display: flex;
    align-items: center;
    text-align: center;
    color: #000;
    font-size: 25px;
    line-height: 39px;
    position: absolute;
    height: 40px;
    width: 40px;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    background-size: 70%;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 99;
}

.main-menu-mobile {
    position: fixed;
    left: -400px;
    overflow: auto;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    right: 0;
    height: 100%;
    max-width: 300px;
    z-index: 999;
    bottom: 0;

    top: 0;
    background-color: #fff;
}

.main-menu-mobile.active {
    left: 0%;
}

.main-menu-mobile ul li a {
    font-size: 14px;
    text-decoration: none;
    color: #000;
    display: block;
    padding: 8px 20px;
    border-bottom: 1px solid rgba(45, 45, 45, 0.2);
}

.main-menu-mobile .sub-menu li a {
    font-size: 14px;
}

.overlay-main {
    background-color: #000000c2;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 99;
}

.overlay-main.active {
    visibility: visible;
    opacity: 0.5;
    height: 100vh;
    position: fixed;
}

.top-close-menu {
    text-align: center;
    line-height: 30px;
    top: 0;
    z-index: 3;
    right: 0;
    width: 30px;
    height: 30px;
    background-color: #333;
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
    border-radius: 5px;
    float: right;
}
.main-menu-mobile.active {
    left: 0%;
}

.main-menu-mobile ul li {
    width: 100%;
    border: none;
    position: relative;
}
.main-menu-mobile ul li a {
    font-size: 14px;
    text-decoration: none;
    color: #000;
    display: block;
    padding: 8px 20px;
    border-bottom: 1px solid rgba(45, 45, 45, 0.2);
}

.main-menu-mobile .sub {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 25px;
    height: 25px;

    color: #333;
    font-size: 16px;
    text-align: center;
    line-height: 27px;
}

.main-menu-mobile ul {
    padding: 0;
    margin: 0;
}

.overlay-main-1 {
    background-color: #000000c2;
    position: absolute;
    visibility: hidden;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: all 0.3s;
    z-index: 99;
}

.overlay-main-1.active {
    visibility: visible;
    opacity: 0.5;
}

.header-mobile {
    background: #fff;
}

.owl-dots .owl-dot {
    width: 32px;
    height: 2px;
    background: #ddd;
    margin: 0px 2px;
}
.owl-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}
.owl-dots .owl-dot.active {
    background: #000;
}

/* Header */

.header-page.active{
    background: #ffffffb3;
}

.header-page.active .logo{
    display: none;
}

.header-page.active .logo-scroll{
    display: block;
}

.header-page.active .menu-pc a.text-white{
    color: #000;
}

.header-page.active .menu-pc a.text-white:hover{
    color: var(--color-main);
}

.menu-pc li.active > a{
    color: #a1a09e;
}

.menu-pc li.active > a > div{
    width: 100%;
}

/* End header */

/* Footer */

.section-map iframe{
    width: 100%;
    height: auto !important;
    aspect-ratio: 384 / 97;
}

/* End Footer */

.box-text-stock{
    font-family: "Open Sans", Sans-serif;
    font-weight: 700;
    line-height: 1.2;
    -webkit-text-stroke-width: 2px;
    stroke-width: 2px;
    stroke: #8acef1;
    color: #000;
    -webkit-text-stroke-color: #8acef1;
}

.box-info-about .box-text-stock{
    stroke: #000;
    -webkit-text-stroke-color: #000;
    color: transparent;
}

.box-title-desc-cus h2, .box_content h2{
    font-size: 50px;
    font-weight: 700;
    line-height: 1.2;
}

.box-title-desc-cus h2 + p{
    margin-top: 20px;
}

.box-title-desc-cus p + p{
    margin-top: 10px;
}

.box_content h3{
    font-size: 28px;
    line-height: 1.2;
}

.btn-tab .item.active{
    color: #61ac9a;
}

.btn-tab .item.active::before{
    width: 100%;
}

.pagination a:hover:not(.active), .pagination li.active span{
    background: transparent;
    color: #000;
    border: 1px solid #9ab5d4;
    border-radius: 8px;
}

.box-btn-title.active i{
    transform: rotate(-45deg);
}

.box-aside .box-btn .item.active i{
    transform: rotate(-45deg);
}

.page-about .box-about .box-text-stock{
    color: transparent;
}

.box-detail-content .box_content h2, .box-page-service .box_content h2{
    font-size: 36px;
}

.box-detail-content .box_content h3, .box-page-service .box_content h3{
    font-size: 24px;
}

.box-faq .box-info-add1 .box_content{
    margin: 10px 0;
}

.box-banner .box-title h2{
    line-height: 1.4;
}

.section-achievement img{
    max-width: 1000px;
    margin: 0 auto;
}

.box-detail-content .box_content blockquote, .box-page-service .box_content blockquote{
    border: unset;
    position: relative;
}

.box-detail-content .box_content blockquote::before, .box-page-service .box_content blockquote::before{
    content: '\f10e';
    position: absolute;
    top: -20px;
    left: -30px;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 40px;
    transform: rotate(180deg);
}

.item-art h3{
    min-height: 67px;
}

@media(max-width:1279px){
    .bg-menu-mobile.action, .box-menu-mobile.action{
        visibility: visible;
        opacity: 1;
    }

    .box-menu-mobile.action{
        right: 0;
    }

    .bg-menu-mobile.action{
        display: block;
    }

    .box-title-desc-cus h2, .box_content h2{
        font-size: 40px;
    }

    .box-detail-content .box_content h2, .box-page-service .box_content h2{
        font-size: 32px;
    }

    .box-detail-content .box_content h3, .box-page-service .box_content h3{
        font-size: 20px;
    }
}

@media(max-width:1023px){
    .box-title-desc-cus h2, .box_content h2{
        font-size: 32px;
    }

    .box-title-desc-cus h2 + p{
        margin-top: 10px;
    }

    .box_content h3{
        font-size: 22px;
    }

    .section-map iframe{
        aspect-ratio: 5 / 2;
    }

    .box-detail-content .box_content h2, .box-page-service .box_content h2{
        font-size: 28px;
    }

    .box-detail-content .box_content h3, .box-page-service .box_content h3{
        font-size: 20px;
    }

    .item-art h3{
        min-height: 53px;
    }
}

@media(min-width:768px){
    .md-writing-mode-sideways-lr{
        writing-mode: sideways-lr;
    }
}

@media(max-width:767px){
    .box-title-desc-cus h2, .box_content h2{
        font-size: 28px;
    }

    .overflow-hidden-mobile{
        overflow: hidden;
    }

    .section-map iframe{
        aspect-ratio: 16 / 9;
    }

    .box-detail-content .box_content h2, .box-page-service .box_content h2{
        font-size: 24px;
    }

    .section-contact{
        background-position: left 50px !important;
    }
}




