body{
    font-size: 18px;
    font-family: thongterm, sans-serif;
    font-weight: 400;
}

body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -100;
    background-position: center center;
    background-repeat: no-repeat;  
    background-size: 100% 100%;
    will-change: transform; 
}

h1, h2, h3, h4, .akt{
    font-family: aktiv-grotesk-thai, sans-serif;
    font-weight: 700;
}


/*-------------------------
        [Background PC]
---------------------------*/

@media (min-width: 768px) {
    body::before { 
        background-image: url('../image/bg-pc.webp');
    }
}


/*-------------------------
        [Background Mobile]
---------------------------*/

@media (max-width: 767px) {

    body::before{
        background-image: url('../image/bg-mb.webp');
    }

}
/*-----------------------------
        [text]
------------------------------*/

.indent{
    text-indent: 3vw;
}

h2{
    font-size: 2.5vw;
}

a{
    color: #000000;
    transition: 0.3s;
    text-decoration: none;
    
}

a:hover{
    color: #ff0000;
}

@media (min-width: 768px) {
    h2{
        font-size: 2.5vw;
    }
}


@media (max-width: 767px) {
    h2{
        font-size: 36px;
    }
}


/*-----------------------------
        [Navbar]
------------------------------*/

.navbar-collapse{
    padding-right: 15px;
    padding-left: 15px;
    overflow-x: visible;
    border-top: 1px solid transparent;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
}

.navbar-collapse a {
    font-size: 1.5vw;
}

@media (min-width:768px){
    .mainmenu-area {
        position: sticky;
        top: 0;
        background-color: #fbfbfb;
        width: 100%;
        z-index: 999;
        padding: 8px;
    }

    .navbar-mobile{
        display: none;
    }

    .navbar-collapse {
        width: auto;
        border-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none
    }

    .navbar-collapse.collapse {
        display: flex;
        height: auto !important;
        padding-bottom: 0;
        overflow: visible !important;
        justify-content: space-between;
    }

    .navbar-collapse.in {
        overflow-y: visible;
    }

    .navbar-fixed-top .navbar-collapse{
        padding-right: 0;
        padding-left: 0;
    }

}


@media (max-width:767px){
    .mainmenu-area {
        display: none;
    }

    .navbar-mobile{
        position: sticky;
        top: 0;
        z-index: 999;
    }

    .navbar-brand{
        width: 70%;
    }

    .navbar-icon{
        width: 30%;
        text-align: center;
        align-content: center;
    }

    .menu-icon{
        font-size: 26px;
    }
}


.dropdown:hover>.dropdown-menu {
    display: block;
    position: absolute;
}

.navbar-nav .dropdown-menu {
    position: absolute;
    padding: 16px;
    padding-right: 24px;
    width: max-content;
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -10px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: "";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

.navbar-nav>.nav-item{
    padding: 0px 1vw;
}

.navbar-nav .nav-link{
    color: #000000;
}


.bg-wt{
    border: 2px solid #ffffff;
    border-radius: 6px;
    background-color: #ffffffbb;
}


/*-------------------------
        [Banner]
---------------------------*/

@media (min-width: 768px) {
    .banner-mb{
        display: none;
    }
}


@media (max-width: 767px) {
    .banner-pc{
        display: none;
    }
}

.banner-pc p, .banner-mb p{
    text-shadow: 2px 2px 2px #5E5E5E, 1px 3px 12px #FFE300; 
    color: #ffffff
}

.banner{
    padding: 36px 0px;
}

.banner-mb{
    position: relative;
}

.banner-mb-text{
    width: 58%;
    height: 55%;
    position: absolute;
    bottom: 12px;
    right: 12px;
    text-align: center;
    align-content: center;
}

/*-----------------------------
        [Product grid]
------------------------------*/

.pro-carousel{
    padding-top: 24px;    
}



.pro-carousel-cont{
    display: flex;
}

.carousel-pro-name{
    padding-top: 12px;
    font-size: 20px;
}


@media (max-width: 767px) {
    .container{
        width: 95% !important;
        max-width: unset;
    }

    .hot-product{
        padding: 6px;
        padding-top: 32px;
    }

    .single-product{
        padding: 6px;
    }

    .owl-nav{
        padding-right: 12px;
    }

    .pro-carousel-head-text{
    border-left: 5px solid #ff0000;
    font-size: 26px;
    padding-left: 24px;
}
}


@media (min-width: 768px) {
    .container{
        width: 80% !important;
        max-width: unset;
    }

    .hot-product{
        padding: 24px;
        padding-top: 32px;
    }

    .single-product{
        padding: 14px;
    }

    .pro-carousel-head-text{
        border-left: 5px solid #ff0000;
        font-size: 32px;
        padding-left: 24px;
    }


}
/*-------------------------
        [Flip card]
---------------------------*/

.home-cat-cont{
    padding: 0px 2.2vw;
    height: fit-content;
}

.flip-card {
  background-color: transparent;
  padding: 1.2vw;
  perspective: 1000px; 
}

@media (min-width: 768px) {
    .flip-card {
        width: 25%;
    }

    .flip-card-front, .flip-card-back{
        padding: 0.8vw;
    }

    .flip-card-back p{
        padding-top: 12px;
        font-size: 1.2vw;
    }
}

@media (max-width: 767px) {
    .flip-card {
        width: 50%;
    }

    .flip-card-front, .flip-card-back{
        padding: 1.8vw;
    }

    .flip-card-back p{
        padding-top: 12px;
        font-size: 18px;
    }
}

.flip-card img{
    border-radius: 12px;
    width: 100%;
    max-height: 100%;
}

.flip-card-inner {
    background-color: #f0f0f0;
    padding: 12px;
    border-radius: 16px;
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;

}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; 
    backface-visibility: hidden;
}

.flip-card-front {
    color: black;
}

.flip-card-back {
    border-radius: 16px;
    background-color: #f0f0f0;
    color: rgb(0, 0, 0);
    transform: rotateY(180deg);
}

.software{
    padding: 32px 0px;
}

.sw-head{
    padding-bottom: 24px;
}

.customer{
    width: calc(100%/6);
    padding: 12px;
}

.cus-inner{
    padding: 6px;
    background-color: #ffffff;
    border-radius: 6px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}



/*-------------------------
        [vdo]
---------------------------*/

.vdo-po{
    margin: 0px 18px;
    padding: 18px;
    border-radius: 12px;
    background-color: #ffffff;
    box-shadow: rgb(0 0 0 / 50%) 2.4px 2.4px 4px 1px;
}

.vdo{
    padding-top: 24px;
    width: 100%;
}

.vdo-text{
    padding: 12px 0px;
    text-align: center;
}

.vdo-text .first{
    font-size: 22px;
    font-weight: 600;
}

.vdo-text .sec{
    font-size: 20px;
    font-weight: 500;
    margin: 6px;
}


@media (min-width: 768px) {
    .vdo{
        flex-wrap: nowrap;
    }

    .vdo-po{
        width: calc(100%/3);
    }
}

@media (max-width: 767px) {
    .vdo{
        flex-wrap: wrap;
    }

    .vdo-po{
        width: 100%;
        margin: 12px 0px;
    }

}
/*-------------------------
        [Contact Page]
---------------------------*/

@media (min-width: 768px) {
    .contact-address{
        flex-wrap: nowrap;
    }

    .contact-50{
        width: 50%;
        flex-direction: column;
        align-items: center;
    }

    .contact-card .social{
        padding: 0px 48px;
    }
}

@media (max-width: 767px) {
    .contact-address{
        flex-direction: column-reverse;
    }

    .contact-50{
        width: 100%;
        flex-direction: column;
        align-items: start;
    }

    .contact-card .social{
        padding: 0px 6px;
    }

}


.contact-card{
    margin-top: 36px;
    border: #ffffff solid 3px;
    border-radius: 12px;
    background-color: #ffffffad;
}

.contact-card .head{
    background-color: #ffffff;
    padding: 24px 0px;
    font-size: 32px;
    font-weight: 600;
    text-align: center;
    border-radius: 12px 12px 0px 0px;
}

.contact-card .content{
    padding: 24px;
    font-size: 20px
}

.contact-card .social img{
    padding: 24px 0px;
    transition: .5s;
}

.contact-card .social img:hover{
    transform: scale(1.05);
}

/*-------------------------
        [About Page]
---------------------------*/

@media (min-width: 768px) {
    .about-container{
        flex-wrap: no-wrap;
    }

    .about-50{
        width: 50%;
        padding: 24px;
    }

    .about-title{
        font-size: 1.8vw;
        margin: auto;
    }
}

@media (max-width: 767px) {
    .about-container{
        flex-direction: column;
    }

    .about-50{
        width: 100%;
    }

    .about-title{
        font-size: 24px;
        margin: auto;
    }
}

.about-text{
    padding: 24px;
}



/*-------------------------
        [Article]
---------------------------*/

@media (min-width: 768px) {
    .art-cell{
        width: 25%;
        padding: 16px;
    }

    .art-image{
        width: 60%;
        margin: auto;
    }
}

@media (max-width: 767px) {
    .art-cell{
        width: 50%;
        padding: 8px;
    }
}
.art-cell-inner{
    padding: 12px;
}

.art-head{
    padding: 26px 0px;
    text-align: center;
}

.art-detail{
    padding: 24px;
}


/*-------------------------
        [Product]
---------------------------*/



.pro-name{
    font-size: 22px;
    font-weight: 600;
    text-align: center;
}

.pro-grid-inner{
    flex-wrap: nowrap;
    padding: 12px;
    height: stretch;
}

.pro-topic{
        font-size: 32px;
        font-weight: 600;
        text-decoration: underline;
    }


@media (min-width: 768px) {
    .pro-image{
        width: 40%;
    }

    .pro-content{
        width: 60%;
    }

    .pro-grid{
        padding: 18px;
        width: calc(100%/5);
    }

    .pro-inner{
        padding: 6px;
        flex-wrap: nowrap;
    }
    

}

@media (max-width: 767px) {
    .pro-grid{
        padding: 6px;
        width: 50%;
    }

    .pro-inner{
        padding: 0px;
        flex-direction: column;
    }

}

.pro-image{
    padding: 12px;
}

.pro-content{
    padding: 32px 12px 12px 24px;
}

.pro-content-full{
    padding: 12px;
}


/*-------------------------
        [Noti]
---------------------------*/

.noti{
    padding: 6px 12px;
    border: #fc2a2a solid 2px;
    border-radius: 6px;
    background-color: #ff58584d;
}

.noti p{
    margin: 0px;
}


/*-------------------------
        [download]
---------------------------*/

.dl-cell img{
    transition: 0.3s;
}

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

@media (min-width: 768px) {
    .dl-cell{
        width: calc(100%/3);
        padding: 12px 36px;
    }

}


@media (max-width: 767px) {
    .dl-cell{
        width: 50%;
        padding: 12px;
    }

}


/*-------------------------
        [FOOTER]
---------------------------*/

footer{
    background: #f12929;
    color: #ffffff;
    padding: 35px 0;
    margin-top: 5em;
    border-top: 3px solid rgb(255, 220, 24);
}

@media (min-width: 768px) {
    .footer, .contact-add{
        flex-wrap: nowrap;
    }

    .foot-contact{
        width: 50%;
    }
}


@media (max-width: 767px) {
    .footer, .contact-add{
        flex-direction: column;
    }

    footer .w-50, footer .w-25{
        width: 100% !important;
    }

    .foot-contact{
        width: 100%;
    }

}

.footer-wid-title {
    font-size: 30px;
    font-weight: 600;
    text-align: center;
}

.footer-menu ul {
    list-style: outside none none;
    margin: 0;
    padding: 0;
}

.footer-menu ul li{
    border-bottom: 1px dashed #ffffff;
    padding: 8px 0;
}

.footer-bottom-area{
    background: #000000;
}

footer a{
    color: #ffffff;
}

footer a, footer p{
    font-size: 20px;
}

footer a:hover{
    color: #fdc939;
}

.footer-social{
    padding: 0px 12px;
}
.footer-social img{
    padding-bottom: 8px;
}


/*-------------------------
        [PC]
---------------------------*/
@media (min-width: 768px) {

    .sw-text{
        width: 50%;
        padding-right: 48px;
        font-size: 1.2vw;
        font-weight: 500;
    }

    .sw-vdo{
        width: 50%;
        padding: 12px;
    }
}

img{
    max-width: 100%;
}