/* ################################## FONT #################################### */
@import url('https://fonts.googleapis.com/css?family=Sarabun:200,400,500,700&display=swap');

@font-face {
    font-family: "Aleo";
    src: url("./assets/font/aleo/Aleo-Light.ttf") format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: "Aleo";
    src: url("./assets/font/aleo/Aleo-Regular.ttf") format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: "Aleo";
    src: url("./assets/font/aleo/Aleo-Bold.ttf") format('truetype');
    font-weight: 700;
    font-style: normal;
}
/* ################################## FONT #################################### */

/* ################################## VARIABLES #################################### */

:root {
    --color-primary: #161F41;
    --color-primary-light: #1F3059;
    --color-white: #fff;
    --color-white-dark: #F2F2F2;
    --color-green-lemon: #92C638;
    --color-focus-primary: #4D90FE;
    --color-error: #CC0C00;
    --color-light-blue: #72e6e2;
    --color-disabled: #cccccc;
    --font-title-l: 3.4rem;
    --font-title-m: 2.2rem;
    --font-title-s: 1.8rem;
    --font-body-l: 1.6rem;
    --font-body-m: 1.4rem;
    --font-body-s: 1.2rem;
    --font-body-xs: 1rem;
    --font-caption: 1.2rem;
    --font-overline: 1rem;
    --color-font-primary: #87898C;
    --color-font-primary-dark: #64676B;
    --xxs: 0.8rem;
    --xs: 1.2rem;
    --s: 2rem;
    --m: 2.8rem;
    --l: 4.4rem;
    --xl: 6.8rem;
    --xxl: 8.8rem;
}
@media (min-width: 768px) {
    :root {
        --font-title-l: 5.2rem;
        --font-title-m: 3.8rem;
        --font-title-s: 3.2rem;
        --font-body-l: 1.8rem;
        --font-body-m: 1.6rem;
        --font-body-s: 1.4rem;
        --font-body-xs: 1.2rem;
        --font-caption: 1.2rem;
        --font-overline: 1rem;
        --xxs: 0.8rem;
        --xs: 1.6rem;
        --s: 2.4rem;
        --m: 4rem;
        --l: 5.6rem;
        --xl: 7.2rem;
        --xxl: 9.6rem;
    }
}

@media (min-width: 1024px) {
    :root {
        --font-title-l: 5.6rem;
        --font-title-m: 3.8rem;
        --font-title-s: 3.0rem;
        --font-body-l: 2.4rem;
        --font-body-m: 1.6rem;
        --font-body-s: 1.4rem;
        --font-body-xs: 1.2rem;
        --font-caption: 1.2rem;
        --font-overline: 1rem;
        --xxs: 0.8rem;
        --xs: 1.6rem;
        --s: 2.4rem;
        --m: 4rem;
        --l: 5.6rem;
        --xl: 8rem;
        --xxl: 10.2em;
    }
}

/* ################################## END VARIABLES #################################### */



/* ################################## BASE #################################### */
* {
    box-sizing: border-box;
    margin: 0;
}
html, body {
    width: 100%;
    font-family: "Aleo", sans-serif;
    font-size: 62.5%;
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}

ul {
    padding: 0;
}
li {
    list-style: none;
}
a {
    text-decoration: none;
    color: inherit;
}

button[disabled]:active, button[disabled]
{
  border-color: var(--color-disabled);
  color: #9b9b9b;
  cursor: not-allowed;
  background-color: var(--color-disabled);
}

.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}

.title-l {
    font-size: var(--font-title-l);
}
.title-m {
    font-size: var(--font-title-m);
}
.title-s {
    font-size: var(--font-title-s);
}
.body-l {
    font-size: var(--font-body-l);
}
.body-m{
    font-size: var(--font-body-m);
}
.body-s {
    font-size: var(--font-body-s);
}
.body-xs {
    font-size: var(--font-body-xs);
}
.caption-m {
    font-size: var(--font-caption);
}
.overline-m {
    font-size: var(--font-overline);
}

.mt-xxs {
    margin-top: var(--xxs);
}
.mt-xs {
    margin-top: var(--xs);
}
.mt-s {
    margin-top: var(--s);
}
.mt-m {
    margin-top: var(--m);
}
.mt-l {
    margin-top: var(--l);
}
.mt-xl {
    margin-top: var(--xl);
}
.mt-xxl {
    margin-top: var(--xxl);
}

.mr-xxs {
    margin-right: var(--xxs);
}
.mr-xs {
    margin-right: var(--xs);
}
.mr-s {
    margin-right: var(--s);
}
.mr-m {
    margin-right: var(--m);
}
.mr-l {
    margin-right: var(--l);
}
.mr-xl {
    margin-right: var(--xl);
}
.mr-xxl {
    margin-right: var(--xxl);
}

.mb-xxs {
    margin-bottom: var(--xxs);
}
.mb-xs {
    margin-bottom: var(--xs);
}
.mb-s {
    margin-bottom: var(--s);
}
.mb-m {
    margin-bottom: var(--m);
}
.mb-l {
    margin-bottom: var(--l);
}
.mb-xl {
    margin-bottom: var(--xl);
}
.mb-xxl {
    margin-bottom: var(--xxl);
}

.ml-xxs {
    margin-left: var(--xxs);
}
.ml-xs {
    margin-left: var(--xs);
}
.ml-s {
    margin-left: var(--s);
}
.ml-m {
    margin-left: var(--m);
}
.ml-l {
    margin-left: var(--l);
}
.ml-xl {
    margin-left: var(--xl);
}
.ml-xxl {
    margin-left: var(--xxl);
}

.ma-xxs {
    margin: var(--xxs);
}
.ma-xs {
    margin: var(--xs);
}
.ma-s {
    margin: var(--s);
}
.ma-m {
    margin: var(--m);
}
.ma-l {
    margin: var(--l);
}
.ma-xl {
    margin: var(--xl);
}
.ma-xxl {
    margin: var(--xxl);
}

.pt-xxs {
    padding-top: var(--xxs);
}
.pt-xs {
    padding-top: var(--xs);
}
.pt-s {
    padding-top: var(--s);
}
.pt-m {
    padding-top: var(--m);
}
.pt-l {
    padding-top: var(--l);
}
.pt-xl {
    padding-top: var(--xl);
}
.pt-xxl {
    padding-top: var(--xxl);
}

.pr-xxs {
    padding-right: var(--xxs);
}
.pr-xs {
    padding-right: var(--xs);
}
.pr-s {
    padding-right: var(--s);
}
.pr-m {
    padding-right: var(--m);
}
.pr-l {
    padding-right: var(--l);
}
.pr-xl {
    padding-right: var(--xl);
}
.pr-xxl {
    padding-right: var(--xxl);
}

.pb-xxs {
    padding-bottom: var(--xxs);
}
.pb-xs {
    padding-bottom: var(--xs);
}
.pb-s {
    padding-bottom: var(--s);
}
.pb-m {
    padding-bottom: var(--m);
}
.pb-l {
    padding-bottom: var(--l);
}
.pb-xl {
    padding-bottom: var(--xl);
}
.pb-xxl {
    padding-bottom: var(--xxl);
}

.pl-xxs {
    padding-left: var(--xxs);
}
.pl-xs {
    padding-left: var(--xs);
}
.pl-s {
    padding-left: var(--s);
}
.pl-m {
    padding-left: var(--m);
}
.pl-l {
    padding-left: var(--l);
}
.pl-xxl {
    padding-left: var(--xxl);
}

.pa-xxs {
    padding: var(--xxs);
}
.pa-xs {
    padding: var(--xs);
}
.pa-s {
    padding: var(--s);
}
.pa-m {
    padding: var(--m);
}
.pa-l {
    padding: var(--l);
}
.pa-xl {
    padding: var(--xl);
}
.pa-xxl {
    padding: var(--xxl);
}

/* ################################## END BASE #################################### */




/* ################################## SIDEBAR #################################### */
.sidebar {
    position: absolute;
    background: #fff;
    /* background: var(--color-primary-light); */
    /* overflow: auto; */
    top: 0;
    /* transform: translateY(-100%); */
    transform: translateY(-100%);
    transition: Transform 750ms cubic-bezier(0.4, 0, 0.2, 1);
    /* transition-delay: 750ms; */
    width: 100%;
    z-index: 10;
}
.sidebar-layer {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    transition: 0.2s;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 9;
    visibility: hidden;
    opacity: 0;
}
.sidebar-layer-active {
    visibility: visible;
    opacity: 1;
}
@media(min-width: 600px) {
    .sidebar {
        display: none;
    }
}
.sidebar-active {
    transform: translateY(0%);
}
.sidebar-main {
    padding-top: 9rem;
    padding-bottom: 1.5rem;
    box-shadow: 0px 4px 20px rgba(31, 48, 89, 0.07);
}
.sidebar-main li {
    font-weight: bold;
    letter-spacing: 0.06rem;
    color: var(--color-font-primary);
    /* color: var(--color-white); */
    opacity: 0;
    transition: opacity 0.1s cubic-bezier(0.4, 0, 0.2, 1);
    text-align: center;
    padding: 1.5rem 0;
}
.sidebar-main li a {
    font-family: "Sarabun";
}
.sidebar-active .sidebar-main li {
    opacity: 1;
}
.text-light-blue {
    color: var(--color-light-blue);
}
/* ################################## End SIDEBAR #################################### */




/* ################################## HEADER #################################### */
.header__nav-content {
    position: relative;
    z-index: 40;
    width: 100%;
    height: 76px;
    background: #FFF;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.07);
}
.header .header__nav {
    background-color: #fff;
    position: relative;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    z-index: 30;
    /* box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.07); */
}

.btn-hamburguer {
    cursor: pointer;
    padding: 0.2rem;
    border: 1px solid transparent;
    background: transparent;
    margin-right: 1.6rem;
}
.btn-hamburguer img {
    width: 16px;
    height: 12px;
}
@media (min-width: 600px) {
    .btn-hamburguer {
        display: none;
    }
}
.header__nav-logo img {
    width: 48px;
    height: 38px;
}

.header__nav-main {
    display: none;
}

.header__nav-main a{
    letter-spacing: 1px;
}

.header__hero {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 404px;
    z-index: 1;
}
.header__hero:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-image: url("./assets/banner-mob-main.webp"),
                    url("./assets/banner-mob-main.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    /* transform: translateY(-32%); */
    z-index: -1;
}
.header__hero-content {
    max-width: 400;
    padding: 0 2rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 8.8rem;
}
.header__hero-content h1 {
    font-family: "Aleo";
    font-weight: normal;
    max-width: 400px;
    font-size: 10.2vw;
}

.header__hero-content p {
    font-family: "Sarabun";
    color: var(--color-font-primary-dark);
    font-size: var(--font-body-l);
}

.btn-primary {
    cursor: pointer;
    min-width: 168px;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    color: var(--color-white);
    padding: 1.1rem 0rem;
    border-radius: 27px;
    font-family: "Sarabun";
    font-style: normal;
    font-weight: bold;
    box-shadow: 0px 8px 15px rgba(22, 31, 65, 0.1);
    font-size: var(--font-body-m);
}
.btn-primary:focus {
    outline:none;
    border:1px solid var(--color-focus-primary);
    -webkit-box-shadow: 0px 0px 5px  var(--color-focus-primary);
    -moz-box-shadow: 0px 0px 5px  var(--color-focus-primary);
    box-shadow: 0px 0px 5px  var(--color-focus-primary);
}

.main-btn-tablet {
    display: none;
}
.main-btn-mob {
    display: inline-block;
    padding: 1.1rem 4rem;
}
@media (min-width: 460px) {
    .header__hero-content h1 {
        font-size: var(--font-title-l);
    }
} 
@media (min-width: 600px) {
    .main-btn-tablet {
        display: inherit;
    }
    .main-btn-mob {
        display: none;
    }
    .header__hero {
        height: 468px;
    }
    .header__hero-content {
        padding: 0 5.2rem;
    }
    .header__hero:after {
        background-image: url("./assets/banner-main.webp"),
                        url("./assets/banner-main.png");
        transform: translateY(0%);
    }
    .header__hero-content h1 {
        max-width: 600px;
    }
    .header .header__nav {
        padding: 0 5.2rem;
        justify-content: space-between;
    }
    .header__nav-main {
        display: flex;
    }
    .header__nav-main li {
        font-family: "Sarabun";
        color:  var(--color-font-primary);
        font-size: var(--xs);
        font-weight: bold;
        margin: 0 1rem;
    }
    .header__nav-main li a {
        padding: 2rem 0;
        transition: .3s;
    }
    .header__nav-main li a:hover {
        color:  var(--color-primary);
    }
}
@media (min-width: 1024px) {
    .header__hero {
        height: 578px;
    }
    .header__hero-content {
        padding: 0 15% 0 9.2%;
        max-width: 1440px;
    }
    .header__nav-content {
        height: 138px;
    }
    .header__nav-logo img {
        width: 120px;
        height: 90px;
    }
    .header .header__nav {
        padding: 0 15% 0 9.2%;
    }
    .header__nav-main li {
        margin-left: 4rem;
    }
    .btn-primary {
        padding: 1.8rem 0;
        width: 200px;
    }
}
@media (min-width: 1440px) {
    .header .header__nav {
        padding: 0 4rem;
        max-width: 1440px;
    }
    .header__hero-content {
        padding: 0 4rem;
        max-width: 1440px;
    }
}
/* ################################## END HEADER #################################### */


/* ##################################  MODAL #################################### */

.g-recaptcha-container {
    position: fixed;
    bottom: 0;
    right: 0;
}

.g-recaptcha {
    transform: scale(0.6);
}

.contact-form-error {
    max-height: 0px;
    font-size: 1.2rem;
    color: var(--color-error);
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
}
.contact-form-error-active {
    max-height: 100px;
    padding: 12px 0px 0px 0px;
    visibility: visible;
    opacity: 1;
}
@media (min-width: 700px) {
    .contact-form-error-active {
        font-size: 1.4rem;
        padding: 18px 0px 0px 0px;
    }
}

.contact-form-success {
    max-height: 0px;
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--color-green-lemon);
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
}
.contact-form-success-active {
    max-height: 100px;
    padding: 12px 0px 0px 0px;
    visibility: visible;
    opacity: 1;
}
@media (min-width: 700px) {
    .contact-form-success-active {
        font-size: 1.4rem;
        padding: 18px 0px 0px 0px;
    }
}

.modal {
    top: 10px;
    bottom: 10px;
    /* right: 0px; */
    /* left: 0px; */
    position: fixed;
    width: 100%;
    z-index: 90;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s cubic-bezier(0.52, 0.01, 0.16, 1);
}
.modal-active {
    opacity: 1;
    visibility: visible;
}
.modal:before {
    content: '';
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    background: rgba(0, 0, 0, 0.6);
}
  
.modal-content {
    overflow: auto;
    width: calc(100% - 5.6rem);
    max-width: 400px;
    background-color: #fff;
    /* height: 100%; */
    max-height: 96vh;
    position: relative;
    margin: auto;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);
    border-radius: 32px;
    z-index: 100;
}
@media (min-width: 768px) {
    .modal-content {
        max-width: 600px;
    }
}
.modal-content .btn-close {
    cursor: pointer;
    position: absolute;
    width: auto;
    height: auto;
    top: 2rem;
    right: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid transparent;
    background-color: transparent;
}
.modal-content .btn-close img {
    width: 1.5rem;
    height: 1.5rem;
}
@media (min-width: 1024px) {
    .modal-content .btn-close {
        top: 3rem;
        right: 3rem;
    }
    .modal-content .btn-close img {
        width: 2rem;
        height: 2rem;
    }
}
.modal-content h3 {
    text-align: center;
    font-weight: normal;
}
.modal-content-form {
    width: 100%;
    transition: 0.3s;
    font-family: "Sarabun";
}
.modal-content-form  label{
    color: #161F41;
}
.cp-input {
    width: 100%;
    padding: 1.1rem 2rem;
    background: #FFFFFF;
    border: 0.8px solid #BDC2C6;
    border-radius: 20px; 
}
.cp-input:focus {
    outline:none;
    border: 2px solid var(--color-focus-primary);
    -webkit-box-shadow: 0px 0px 5px  var(--color-focus-primary);
    -moz-box-shadow: 0px 0px 5px  var(--color-focus-primary);
    box-shadow: 0px 0px 5px  var(--color-focus-primary);
}

.cp-input::placeholder {
    color: #BDC2C6;
}

.btn-primary-w {
    cursor: pointer;
    display: block;
    cursor: pointer;
    width: 100%;
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
}
  

@media (min-width: 768px) {
    ::-webkit-scrollbar {
        width: 8px;
        height: 8px;
        margin-top: 40px;
    }
}
  
@media (min-width: 768px) {
    ::-webkit-scrollbar-thumb {
        background: var(--smoke-ligth-one);
        border-radius: 4px;
    }
}
  
@media (min-width: 768px) {
    ::-webkit-scrollbar-thumb:hover {
        background: #b3b3b3;
        box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.2);
    }
}

@media (min-width: 768px) {
    ::-webkit-scrollbar-track {
        background: #e1e1e1;
        border-radius: 4px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
  }

/* ################################## End MODAL #################################### */
