body {
    font-family: "Quicksand", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-style: normal;
}
[lang=th-TH] body {
    font-family: "IBM Plex Sans Thai", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}
.h1, h1 {
    text-align: center;
    font: normal normal 500 clamp(24px, 3vw, 40px)/clamp(24px, 3vw, 67px) Quicksand, IBM Plex Sans Thai;
    color: black;
    margin-bottom: 2rem;
}
.h2, h2 {
    padding-top: 20px;
    padding-bottom: 15px;
    margin-top: 20px;
}
h2, h3, h4, h5, h6 {
    font-weight: 600;
}
.page-content.page-cms ul, dl, ol, p, ul {
    font: normal normal 500 16px/30px Quicksand, IBM Plex Sans Thai;
    letter-spacing: 1.24px;
}
a {
    color: #545454;
    transition: all linear .2s;
}
a:hover {
    color: black;
    transition: all linear .2s;
}
#header {
    box-shadow: none;
    border-bottom: 1px solid #eee;
    /*background: #fff7d5;*/
}
#header .logo {
    max-width: 90px;
}
#wrapper {
    background-color: white;
    min-height: calc(100vh - 487px);
}
#index #wrapper {
    padding-top: 0;
}
.container {
    width: 1640px;
    max-width: 100%;
}
#index #wrapper > .container {
    width: 100%;
    padding: 0;
}
#header .header-top {
    padding: 1rem 0;
}
#header .header-top .header-top-right {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
#_desktop_logo {
    width: auto;
}
#header .header-top a[data-depth="0"] {
    color: #000;
    font-size: 15px;
    font-weight: 500;
    transition: linear all .2s;
}
#header .header-top a[data-depth="0"]:hover {
    color: #000;
    transition: linear all .2s;
}
.language-selector-wrapper .dropdown {
    display: flex;
}
.language-selector-wrapper .dropdown > div a {
    font-size: 15px;
    color: #545454!important;
    padding-left: 16px;
    padding-right: 10px;
}
.language-selector-wrapper .dropdown > div.current a {
    color: black;
    font-weight: 600;
    position: relative;
}
/*.language-selector-wrapper .dropdown > div.current a:after {*/
/*    position: absolute;*/
/*    content: '_';*/
/*    right: -9px;*/
/*    top: -4px;*/
/*}*/
.header-top #contact-link {
    width: max-content;
}
.header-top #contact-link i {
    padding-right: 7px;
    font-size: 12px;
    color: #008c92;
    transition: all linear .2s;
}
.header-top #contact-link a {
    font-size: 13px;
    text-transform: uppercase;
    color: #008c92;
    font-weight: 500;
    padding: 8px 18px;
    border: 1px solid #008c92;
    border-radius: 20px;
    transition: all linear .2s;
}
.header-top #contact-link:hover i {
    color: white;
    transition: all linear .2s;
}
.header-top #contact-link:hover a {
    color: white;
    background-color: #008c92;
    transition: all linear .2s;
}
.bandeau > .container,
.bandeau > .couleur_bg > .container {
    padding-top: clamp(20px, 5vw, 70px);
    padding-bottom: clamp(20px, 5vw, 70px);
}
.table {
    display: table;
}
.table-cell {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
}
.dir_rtl {
    direction: rtl;
}
.dir_rtl .table-cell:first-child {
    direction: ltr;
}
.bandeau .texte {
    max-width: 1000px;
    margin: auto;
    text-align: center;
}
.title p,
.title h1,
.title h2,
.title h3,
.title h4,
.title h5,
.title h6 {
    font: normal normal 500 clamp(24px, 3vw, 40px)/clamp(30px, 3vw, 67px) Quicksand, IBM Plex Sans Thai;
    color: black;
    margin-bottom: clamp(1.25rem, 3vw, 2rem);
}
.description p,
.description h1,
.description h2,
.description h3,
.description h4,
.description h5,
.description h6 {
    font: normal normal 500 clamp(14px, 2vw, 16px)/30px Quicksand, IBM Plex Sans Thai;
    letter-spacing: 1.24px;
    color: #545454;
}
.bandeau .title strong,
.bandeau .description strong {
    font-weight: 600;
}
.bandeau .description .picto {
    margin-bottom: 40px;
    margin-top: 40px;
}
.bandeau.type_1 .table  .table-cell:first-child,
.bandeau.type_2 .table .table-cell:first-child {
    padding: 40px;
}
.bandeau.type_32 .texte {
    max-width: 100%;
    display: flex;
    gap: 15px;
}
.bandeau.type_32 .texte > div {
    flex-basis: 50%;
}
.bandeau.type_32 .texte .description {
    padding-left: 80px;
    padding-right: 40px;
    text-align: left;
    border-left: 1px solid #eee;
}
.texte .bouton {
    margin-top: clamp(20px, 5vw, 60px);
}
img {
    height: auto;
    max-width: 100%;
}
table {
    width: 100%;
    margin: auto;
}
.table td,
.table th {
    padding: 1.75rem;
    text-align: left;
}
ul {
    font: normal normal 500 16px/16px Quicksand, IBM Plex Sans Thai;
}
.btn {
    color: #df5300;
    border: 1px solid #df5300;
    border-radius: 30px;
    font-weight: 600;
    background: white;
    padding: 16px 25px;
    text-transform: uppercase;
    font-size: .925rem;
    transition: all linear .2s;
}
.btn-primary {
    color: white;
    background: #df5300;
}
.btn:focus,
.btn:hover {
    color: white;
    background: #df5300;
    transition: all linear .2s;
}
.couleur_bg .btn {
    color: white;
    background: #df5300;
}
.d-flex {
    display: flex;
    flex-wrap: wrap;
}
#boixitem_7 .texte {
    max-width: 100%;
}
.bloc-rental-model .d-flex {
    gap: 15px;
}
.bloc-rental-model .card {
    position: relative;;
    text-align: left;
    flex-basis: calc(25% - 15px);
    padding: 40px 30px;
    border: 1px solid #fdf3da;
    background: #fdf3da;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 0;
}
.bloc-rental-model .card:after {
    content: '';
    display: inline-block;
    position: absolute;
    transition: .3s;
    width: 0;
    left: 0;
    bottom: 0;
    background: white;
    z-index: -1;
    height: 100%;
}
.bloc-rental-model .card:hover:after {
    left: 0;
    width: 100%;
}
.bloc-rental-model .card:hover {
    transition: ease-in .3s;
    border-color: #008c92
}
.bloc-rental-model .card-title,
.bloc-rental-model .card-title strong {
    font: normal normal 600 clamp(20px, 2vw, 25px)/30px Quicksand, IBM Plex Sans Thai;
    font-weight: 600;
    color: #008c92;
    margin-bottom: 2rem;
}
.bandeau .texte .description li {
    padding: 15px 10px;
}
.bandeau .texte .description ul {
    list-style: disc;
    padding-left: 15px;
}
.description .font-size-25 {
    font: normal normal 600 clamp(20px, 2vw, 25px)/30px Quicksand, IBM Plex Sans Thai;
    color: black;
}
#boixitem_10 .texte {
    max-width: 100%;
}
.description .bloc-3d .picto {
    margin-bottom: 0px;
    margin-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
}
#index #main .page-footer {
    margin-bottom: 0;
}
#bbn_location iframe {
    width: 100%;
}
.location_area {
    margin-top: clamp(30px, 5vw, 70px);
}
.location_area p {
    font: normal normal 600 clamp(16px, 2vw, 20px)/20px Quicksand, IBM Plex Sans Thai;
    color: white;
    margin-bottom: 2rem;
}
.location_area span {
    font: normal normal 600 16px/30px Quicksand, IBM Plex Sans Thai;
    color: #df5300;
    padding: 27px 22px;
    border: 2px solid #df5300;
    border-radius: 50px;
    background-color: white;
    display: inline-block;
}
.cms-id-7 #wrapper > .container > .row {
    display: none;
}
.couleur_bg li::marker {
    color: white;
}
#boixitem_15 .bouton {
    text-align: left;
}
.page-content .blog-body {
    transition: transform 0.3s ease,box-shadow 0.3s ease;
    overflow: hidden;
    border-radius: 0;
    border: 1px solid #eee;
    margin-bottom: 30px;
}
.page-content .blog-body:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
}
.page-content .blog-card {
    padding: 30px;
}
.page-content .blog-card h2 {
    margin-top: 0;
    padding-top: 10px;
}
.blog-card .card-title a {
    font: normal normal 500 22px/normal Quicksand, IBM Plex Sans Thai;
    color: black;
}
.blog-card .card-text a {
    font-size: 14px;
    color: #545454;
}
#wrapper .breadcrumb li a,
#wrapper .breadcrumb li:last-child {
    font-size: 14px;
}
#wrapper .breadcrumb li::after {
    content: ">";
}
#product .breadcrumb {
    display: none;
}
#product .product-container > .col-md-6 {
    width: 100%;
}
#product .product-container .gallery-details {
    padding-top: clamp(30px, 5vw, 70px);
}
.gallery-details .product-information {
    max-width: 1640px;
    margin: auto;
    padding-right: 15px;
    padding-left: 15px;
}
#product #content {
    max-width: 100%;
}
.js-qv-mask .product-images {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 40px;
}
.product-images > .thumb-container {
    position: relative;
    aspect-ratio: 4 / 3;
    width: 100%;
    overflow: hidden;
    flex-basis: 25%;
}
.thumb-background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: all .3s;
}
.thumb-background:hover {
    transform: scale(1.1);
    transition: all .3s;
}
.block-contact .logo {
    max-width: 90px;
}
.footer-container li a,
.footer-container #contact-infos,
.footer-container #contact-infos a {
    letter-spacing: 1.24px;
    color: #fff;
    opacity: .7;
    font-weight: 500;
    transition: linear all .2s;
}
.footer-container #contact-infos {
    opacity: 1;
    font-weight: 700;
    text-transform: uppercase;
}
.footer-container li a:hover,
.footer-container #contact-infos a:hover {
    color: #fff;
    opacity: 1;
    transition: linear all .2s;
}
.relative {
    position: relative;
}
.footer-container .row.relative {
    padding-bottom: 30px;
}
.footer-container .block-social {
    position: absolute;
    bottom: 0;
    left: 0;
}
#footer {
    background-color: #000;
}
.footer-container .h3,
.footer-container .h4 {
    color: #fff;
}
#footer .block_newsletter {
    margin: 0;
    background: transparent;
}
#footer .block_newsletter #block-newsletter-label {
    text-transform: uppercase;
    font: normal normal 700 16px/1.1 Quicksand, IBM Plex Sans Thai;
    letter-spacing: 1.24px;
    color: #fff;
    margin-bottom: 1.5rem;
    margin-top: 0;
}
.block_newsletter form .row .col-xs-12:first-of-type .btn-primary:first-of-type {
    background: #df5300;
    padding: initial;
    border: 1px solid #df5300;
    border-radius: 0;
    border-left: 0;
    margin-left: 0;
    padding-right: 10px;
    padding-left: 10px;
}
.block_newsletter form input[type="email"] {
    border-right: none;
}
.block_newsletter form input[type="email"]:focus {
    padding: 11px;
}
#footer .block_newsletter p {
    font: normal italic 500 12px/normal Quicksand, IBM Plex Sans Thai;
    margin-top: .5rem;
}
.copyright a {
    font: normal normal 500 14px/30px Quicksand, IBM Plex Sans Thai;
    color: #fff;
    opacity: .7;
}
.fancybox-nav span {
    visibility: visible;
}
.tabs .nav-tabs .nav-link.active {
    color: #008c92;
}
.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
    border-bottom: #008c92 2px solid;
}
.contact-form {
    padding-top: 26px;
    padding-bottom: 26px;
}
.contact-form h3 {
    text-align: center;
    font: normal normal 500 clamp(24px, 3vw, 40px)/clamp(30px, 3vw, 67px) Quicksand, IBM Plex Sans Thai
}
.contact-form form .form-group {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-form form .form-control-label {
    text-align: left;
    font: normal normal 500 15px/30px Quicksand, IBM Plex Sans Thai;
    letter-spacing: 1.24px;
}
.form-control,
.form-control-select {
    background: white;
    border: 1px solid #eee;
    border-radius: 5px;
}
select.form-control:not([size]):not([multiple]) {
    height: 2.75rem;
}
.text-center {
    text-align: center;
}
.contact-rich h4 {
    font: normal normal 500 clamp(16px, 3vw, 24px)/clamp(30px, 3vw, 45px) Quicksand, IBM Plex Sans Thai;
    color: white;
    margin-top: 2rem;
    margin-bottom: 0;
    letter-spacing: 4px;
}
.contact-rich .block .data {
    font: normal normal 400 15px/30px Quicksand, IBM Plex Sans Thai;
    letter-spacing: 1.24px;
    color: white;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.contact-rich .block .data .h5 {
    font: normal normal 600 16px/20px Quicksand, IBM Plex Sans Thai;
    color: #f2762d;
}
.contact-rich .block .data a {
    color: white;
}
.contact-form footer .btn {
    border-radius: 5px;
    padding: 14px 25px;
    width: calc(50% - 20px);
}
#contact #wrapper {
    background: url("../img/bg_contact.jpg") no-repeat center center / cover;
    min-height: 70vh;
    align-content: center;
    padding-left: 15px;
    padding-right: 15px;
}
#contact #main .page-content {
    border-radius: 5px;
}

#contact .breadcrumb {
    display: none;
}
.product-container .gallery-details {
    display: none;
}
.sitemap h2 {
    border-bottom: none;
}
.bx-wrapper .bx-controls-direction a {
    height: 30px;
    width: 30px;
    top: 50%;
    z-index: 999;
}
.cms-id-9 #content-wrapper {
    display: none;
}
.cms-id-9 .bandeau .texte {
    max-width: 1300px;
}
.cms-id-9 .bx-wrapper img {
    width: 1300px;
}
.bx-wrapper .bx-pager.bx-default-pager a {
    background: #ddd;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
    background: #008c92;
}



@media (min-width: 768px) {
    #header .header-top .menu {
        width: 100%;
        text-align: center;
        padding-left: 0;
    }
    #header .header-nav {
        display: none;
    }
    #header .language-selector-wrapper .dropdown {
        margin-right: 20px;
    }
    .flex-md-50 {
        flex-basis: 50%;
    }
    .copyright {
        padding-top: 1rem;
        border-top: 1px solid #797979;
    }
    .page-contact #left-column {
        padding-top: 16px;
    }
    #contact #left-column {
        width: 40%;
    }
    #contact #content-wrapper {
        width: 60%;
    }
    #product #wrapper > .container {
        width: 100%;
        padding: 30px 50px;
    }

}

@media (min-width: 992px) {
    .d-lg-flex {
        display: flex;
    }
}

@media (max-width: 991px) {
    .bloc-rental-model .card {
        width: 100%;
        flex-basis: unset;
    }
    .carousel .carousel-item .caption .caption-description .page-content.page-cms ul,
    .carousel .carousel-item .caption .caption-description p,
    .page-content.page-cms .carousel .carousel-item .caption .caption-description ul {
        color: #fff;
    }
    .product-images > .thumb-containerv {
        flex-basis: 33.33%;
    }
}

@media (max-width: 767px) {
    .table-cell {
        width: 100%;
        display: block;
    }
    .bandeau.type_32 .texte {
        display: block;
    }
    #header {
        border: none;
    }
    #header .header-top {
        display: none;
    }
    #header.is-open .header-top {
        display: block;
    }
    #header .header-top > .container > .row:first-of-type {
        display: none;
    }
    .h1, h1 {
        margin-bottom: .5rem;
    }
    #wrapper {
        padding-top: 1rem;
    }
    #main .page-header {
        padding-top: 15px;
    }
    .bloc-rental-model .card {
        padding-top: 25px;
        padding-bottom: 25px;
    }
    .bandeau.type_32 .texte .description {
        padding: 0;
        border: none;
    }
    #footer {
        padding-top: 1rem;
        padding-left: 10px;
        padding-right: 10px;
    }
    .footer-container {
        padding-top: 1rem;
    }
    .footer-container .links .h3,
    #footer .block_newsletter #block-newsletter-label {
        font-size: 14px;
    }
    .footer-container .block-contact .h4 {
        padding-left: 10px;
        padding-right: 10px;
    }
    .footer-container .links ul > li a {
        color: #545454;
    }
    .block-contact {
        margin-bottom: 1rem;
    }
    #footer .block_newsletter {
        padding: .625rem 10px;
    }
    /*#mobile_top_menu_wrapper {*/
    /*    background: #fff7d5;*/
    /*}*/
    .js-qv-mask .product-images {
        justify-content: center;
    }
    .product-images > .thumb-container {
        flex-basis: 100%;
    }
    #mobile_top_menu_wrapper .js-top-menu-bottom a {
        width: fit-content;
    }
    #mobile_top_menu_wrapper .js-top-menu-bottom .language-selector-wrapper .language-selector {
        display: flex;
    }
    .footer-container .links ul {
        background: #fdfdfd;
    }
    .footer-container .links ul > li {
        border: none;
    }
    .contact-form footer .btn {
        width: 100%;
    }
    .d-md-flex {
        display: flex;
        flex-wrap: wrap;
    }
    .contact-rich .d-md-flex {
        gap: 15px;
        justify-content: space-between;
    }
    .contact-rich .block .data{
        flex-basis: 33.33%;
    }
    .block_newsletter form input {
        border-radius: 0;
        padding: 0 15px;
    }

}

@media (max-width: 540px) {
    .bandeau.type_1 .table .table-cell:first-child,
    .bandeau.type_2 .table .table-cell:first-child {
        padding: 0 0 40px;
    }
    .table-cell.background {
        height: 500px!important;
    }
    .contact-form form p.text-center {
        font: normal normal 500 13px/20px Quicksand, IBM Plex Sans Thai;
        margin-top: 1rem;
    }
    .page-content.page-cms ul, dl, ol, p, ul {
        font: normal normal 500 14px/30px Quicksand, IBM Plex Sans Thai;
    }
}