:root{
    --Neutral500: #2C3131;
    --Neutral400: #626262;
    --Neutral300: #A9A9A9;
    --Neutral200: #CACACA;
    --Neutral100: #E9E9E9;

    --Primary100: #FCDBD1;
    --Primary200: #F9B0A5;
    --Primary300: #EE7B75;
    --Primary400: #DE5158;
    --Primary500: #C91F37;

    --Secondary100: #C8EEFA;
    --Secondary200: #93D9F5;
    --Secondary300: #5AB4E2;
    --Secondary400: #318BC5;
    --Secondary500: #00589F;

    --SecondaryO100: #FFECD8;
    --SecondaryO200: #FFD4B1;
    --SecondaryO300: #FFB78A;
    --SecondaryO400: #FF9B6D;
    --SecondaryO500: #FF6B3D;

}

@font-face {
    font-family: Outfit;
    src: url('../fonts/Outfit-Regular.ttf');
}

*{
    margin: 0;
    padding: 00;
    box-sizing: border-box;
    font-family: 'Outfit';
}

body{
    overflow-x: hidden;
    position: relative;
    scroll-behavior: smooth !important;
}

html{
    overflow-x: hidden;
    scroll-behavior: smooth !important;
}

@media (min-width: 992px) {
    html{
        overflow-x: inherit;
    }
}

.owl-carousel-about .owl-stage-outer {
    /* override */
    overflow-x: initial;
}


/* button */
.btn-genki{
    padding: 16px 40px;
    background-color: var(--Primary500);
    color: white;
    text-decoration: none;
    transition: all 0.5s ease-in-out;
    outline: none;
    border: none;
}

.btn-genki:hover{
    padding: 20px 44px;
    color: white;
}

.btn-arrow-line .line{
    width: 70%;
    height: 1px;
    background-color: var(--Neutral500);
}

.btn-arrow-line .round-arrow{
    width: 24px;
    height: 24px;
    border: 1px solid var(--Neutral500);
    border-radius: 100%;
}

@media (min-width: 992px) {
    .btn-arrow-line .round-arrow{
        width: 48px;
        height: 48px;
        padding: 0;
    }
}

/* navbar */

.nav{
    padding: 24px;
    position: fixed;
    width: 100vw;
    top: 0;
    left: 0;
    background-color: white;
    z-index: 10;
    transition: all 0.5s ease-in-out;
}

@media (min-width: 992px) {
    .nav{
        padding: 18px 100px;
        background-color: white;
    } 
}

.nav .menu{
    overflow-x: scroll;
}

.nav .menu::-webkit-scrollbar{
    display: none;
}

@media (min-width: 992px) {
    .nav .menu{
        overflow-x: unset;
    }
}

.nav.scrolled{
    background-color: var(--Neutral500);
}

.nav .logo{
    width: 32px;
    height: 32px;
}

@media (min-width: 992px) {
    .nav .logo{
        width: 64px;
        height: 64px;
    }
}

.nav .title-brand{
    font-size: 16px;
    font-weight: 600;
    margin-left: 12px;
    color: var(--Neutral500);
}
.nav.scrolled .title-brand{
    color: white;
}

@media (min-width: 992px) {
    .nav .title-brand{
        font-size: 20px;
        font-weight: 600;
        margin-left: 12px;
    }
    
}

.nav .menu li, .nav .menu-mbl li{
    list-style-type: none;
}

.nav .menu li a,
s.nav .menu-mbl li a{
    font-weight: 500;
    color: var(--Neutral300);
    text-decoration: none;
    position: relative;
    transition: all 0.5s ease-in-out;
    word-break:keep-all
}

.nav .menu li a:hover,
.nav .menu li a.active{
    font-weight: bold;
    color: var(--Neutral500);
    background-color: var(--Neutral100);
    padding: 8px 16px;
    border-radius: 20px;
    color: var(--Neutral500);
    font-weight: bold;
}

.nav.scrolled .menu li a:hover,
.nav.scrolled .menu li a.active{
    color: white;
    background-color: var(--Neutral400);
}



/* toggle switch */
.nav .toggle-wrap{
    background-color: var(--Neutral100);
    border-radius: 28px;
    padding: 4px;
    height: fit-content;
    position: relative;
    overflow: hidden;
}

@media (min-width: 992px) {
    .nav .toggle-wrap{
        padding: 8px;
    }
}

.nav .toggle-wrap::after{
    content: '';
    width: 50%;
    height: 100%;
    background-color: var(--Neutral500);
    position: absolute;
}

.nav .country-wrap{
    padding: 4px;
    z-index: 2;
    position: relative;
}

@media (min-width: 992px) {
    .nav .country-wrap{
        padding: 4px 10px;
    }
}

.nav .country-wrap img{
    width: 16px;
    height: 16px;
}

@media (min-width: 992px) {
    .nav .country-wrap img{
        width: 24px;
        height: 24px;
    }
}


.nav .country-wrap .country-code{
    color: white;
}

/* switch */
#toggle_checkbox
{
    display: none;
}

label
{
    background-color: var(--Neutral100);
    border-radius: 24px;
    padding: 8px;
    margin: auto;
    height: fit-content;
    position: relative;
    overflow: hidden;
    transition: all 1s ease-in-out !important;
}



label .btn-switch{
    background-color: var(--Neutral500);
    width: 50%;
    height: 100%;
    display: inline-block;
    position: absolute;
    left: 0;
    right: inherit;
    border-radius: 37px;
    transition: all 1s ease-in-out !important;
}


#toggle_checkbox:checked + label .btn-switch
{
    left: inherit;
    right: 0;
    transition: all 1s ease-in-out !important;
}


/* footer */
footer{
    padding: 48px 24px;
    background-color: #2C3131;
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: end;
    overflow: hidden;
}

@media (min-width: 992px) {
    footer{
        padding: 0 100px;
        height: 100%;
    }
}

footer .first{
    padding: 40px 0 36px 0;
    border-top: 1px solid #3D4141;
    border-bottom: 1px solid #3D4141;
}

@media (min-width: 992px) {
    footer .first{
        padding: 81px 0 89px 0;
    }
}

footer .second{
    padding: 36px 0;
    border-bottom: 1px solid #3D4141;
}

footer .copyright{
    color: var(--Neutral200);
}

footer .logo{
    width: 32px;
    height: 32px;
}

@media (min-width: 992px) {
    footer .logo{
        width: 100px;
        height: 100px;  
    }
}

/* hamburger menu */
#nav-icon1 {
    width: 24px;
    height: 24px;
    position: relative;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    cursor: pointer;
  }
  
  #nav-icon1 span {
    display: block;
    position: absolute;
    height: 1.5px;
    width: 100%;
    background: #292D32;
    border-radius: 9px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
  }
  
  #nav-icon1 span:nth-child(1) {
    top: 0px;
  }
  
  #nav-icon1 span:nth-child(2) {
    top: calc(24px/2);
  }
  
  #nav-icon1 span:nth-child(3) {
    top: 24px;
  }
  
  #nav-icon1.open span:nth-child(1) {
    top: calc(24px/2);
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  
  #nav-icon1.open span:nth-child(2) {
    opacity: 0;
    left: -60px;
  }
  
  #nav-icon1.open span:nth-child(3) {
    top: calc(24px/2);
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  /* sidenav */
  .sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 70px;
    right: 0;
    background-color: white;
    overflow-x: hidden;
    transition: 0.5s;
  }

  .menu-mbl{
    padding: 24px;
  }

  .menu-mbl li{
    border-bottom: 1px solid var(--Neutral200);
    padding-bottom: 16px;
  }

  .menu-mbl li a.active{
    color: var(--Neutral500);
    font-weight: bold;
  }

  /* whatsapp */
  .wa-cta{
    position: fixed;
    bottom: 24px;
    left: 24px;
    z-index: 3;
    
    width: 40px;
    height: 40px;
  }

@media (min-width: 992px) {
    .wa-cta{
        width: 64px;
        height: 64px;
    }
}

  .line-cta{
    position: fixed;
    bottom: calc(24px * 3);
    left: 24px;
    z-index: 3;
    
    width: 40px;
    height: 40px;
  }

@media (min-width: 992px) {
    .line-cta{
        width: 64px;
        height: 64px;
        bottom: calc(24px * 4);
    }
}

.border-top-bot{
    border-top: 1px solid var(--Neutral200);
    border-bottom: 1px solid var(--Neutral200);
}