:root {
    --border-color: #98B5CB;
    --custom-box-shadow: 0px 4px 10px 0px rgba(14, 14, 14, 0.25); 
    --primary-text-color: #1d1d1d;
    --secundary-text-color: #ff8d10;  
    --primary-border-radius: 42px;
    --time-animation: 0.7s;
    --swiper-pagination-bottom: 0px;
    --swiper-navigation-sides-offset:0px;
}

html {
  scroll-behavior: smooth;
}

html, body {
  overflow-x: hidden;
}

body{
    width: 99vw;
    margin: 0;
    font-family: "Satoshi", sans-serif;
    background-color: #FAFBFF;
}

line{
    width: 53px;
    border: solid 1px #1e1e1e;
}

p,h1,h2,h3,h4 {
  -webkit-user-select: none; /* Chrome/Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE */
  user-select: none;         /* padrão */
}

/* p,li{
    font-size: clamp(16px, 1.2vw, 18px);
} */

.no-focus{
  -webkit-user-select: none; /* Chrome/Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE */
  user-select: none;         /* padrão */
  outline: none;
  cursor: default;
}

.base-text.b1{
    max-width: 542px;
    line-height: 24px;
}

.base-text.b2{
    max-width: 942px;
    line-height: 24px;
    color: #1e1e1e;
}

.title{
    font-size: clamp(32px, 5vw, 56px);
    margin-bottom: 1.5%;
}

.section-padding.pd0{
    padding: 7% 10% 0% 10%;
}

.section-padding.pd1{
    padding: 10% 15% 2.5% 15%;
}

.section-padding.pd2{
    padding: 10% 15% 2.5% 15%;
}

.section-padding.pd3{
    padding: 10% 10% 10% 10%;
}

header{
    position: fixed;
    display: flex;
    justify-content: center;
    width: 100%;
    top: 5%;
    z-index: 10;
}

vl{
  border-left: 2px solid #d4d4d4;
  height: 40px
}

.header-content{
    display: flex;
    justify-content: space-between;
    text-align: center;
    align-items: center;
    min-height: 82px;
    height: auto;
    width: 70vw;
    border-radius: 48px;
    -webkit-box-shadow: 0px 0px 20px 2px rgba(29,29,29,0.6); 
    box-shadow: 0px 0px 20px 2px rgba(29,29,29,0.2);
    backdrop-filter: blur(5px);
    flex-wrap: wrap;
}

.header-content-menu{
    display: flex;
    justify-content: row;
    gap: 26px;
    margin-right: 5%;
}

.header-content-logo{
    width: auto;
    height: 100%;
    margin-left: 2%;
    padding-top: 5px;
}

.header-content-logo img{
    object-fit: contain;
}

.header-content a{
    text-decoration: none;
    color:black;
}

.about{
    width: auto;
    height: 80vh;
    max-height: 860px;
    display: flex;
    justify-content: center;
    align-self: center;
    text-align: center;
    flex-direction: column;
    margin: 8% 5% 0% 5%;
    background-image: url('/assets/img/circle.png');
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 50% auto;
}

.about h1{
    font-weight: bold;
    font-size: clamp(32px, 5vw, 79px);
}

.about p{
    max-width: 947px;
    margin: 0 auto;
}

.publications{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0% 15% 15% 15%;
}

.default-container{
    width: 100%;
    height: auto;
    padding: 2%;
    margin: 15px;
}

.default-container.c1 h2{
    color: var(--secundary-text-color);
    margin: unset;
}
.default-container.c1 p{
    margin: unset;
    color: var(--primary-text-color);
}

.default-container.c2 div{
    width: 455px;
    margin: 5px;
}

.default-container.c2 h4{
    padding-bottom: 5px;
    margin: unset;
}
.default-container.c2 p{
    margin: unset;
}

.default-container.p1 p{
    color: var(--primary-text-color);
    line-height: 22px;
}

.default-container.m0{
    max-width: 240px;
    min-height: 240px;
}

.default-container.m1{
    max-width: 360px;
}

.default-container.m2{
    max-width: 250px;
    min-height: 310px;
    height: 100%;
    padding: 10%;
}

.mw{
    width: 100%;
}

.row{
    flex-direction: row;
}

.column{
    flex-direction: column;
}

.end{
    align-self: flex-end;
}

.center{
    justify-content: center;
    align-items: center;
}

.start{
    justify-content: center;
    align-items: start;
}

.space{
    justify-content: space-between;
}

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

.text-start{
    text-align: start;
}

.bg1{
    background: #FAFBFF;
    background: linear-gradient(90deg,rgba(250, 251, 255, 1) 28%, rgba(152, 181, 203, 1) 100%);
}

.bg2{
    background: #98B4CB;
    background: linear-gradient(0deg,rgba(152, 180, 203, 1) 0%, rgba(250, 251, 255, 1) 54%);
}

.bg3{
    background: #98B4CB;
}

.bg4{
    background: #98B4CB;
    background: linear-gradient(180deg,rgba(152, 180, 203, 1) 3%, rgba(250, 251, 255, 1) 89%);
}

.bg5{
    background: #FFFFFF;
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 30%, rgba(152, 181, 203, 1) 100%);
}

.bg6{
    background: #FFFFFF;
    background: linear-gradient(180deg,rgba(255, 255, 255, 1) 0%, rgba(152, 181, 203, 1) 100%);
}

.info{
    width: 100%;
    max-width: 240px;
    padding: 0% 2.5% 0% 2.5%;
}

.info img{
    width: 100%;
    height: 100%;
    max-height: 380px;
    object-fit: contain;
}

.card-info{
    display: flex;
    width: auto;
    height: auto;
    min-width: 240px;
    border-radius: 42px;
    padding: 10px;
    box-shadow: 0px 4px 10px 0px rgba(14, 14, 14, 0.25);
}

.card-info p,ul{
    max-height: 0px;
    overflow: hidden;
    transition: max-height var(--time-animation);
    margin: 10px;
    text-align: start;
}

.card-info .wrapper{
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--time-animation);
    padding-top: 1px;
}

.card-info img{
 margin: unset;
}

.card-info h3{
    margin-left: 2%;
    margin-bottom: 0;
    margin-top: 0;
}

.card-info-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.card-info img{
    width: 48px;
    height: 48px;
}

.technology{
    display: flex;
    width: 100%;
    height: auto;
    /* margin-bottom: 5%; */
    justify-content: center;
    background-image: url('/assets/img/circle_2.png');
    background-repeat: no-repeat;
    background-position: bottom 0px left 0px; 
    background-size: 35%;
}

.wrap-container{
    display: flex;
    max-width: 1200px;
    min-height: 75vh;
    height: auto;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
}

.custom-card{
    flex-grow: 1;
    height: auto;
    max-height: 240px;
    max-width: 305px;
    box-shadow: var(--custom-box-shadow);
    margin: 1%;
    padding: 2%;
    border-radius: 42px;
}


.align-end {
  margin-left: auto; /* Pushes this and subsequent items to the end */
}

.history{
    display: flex;
    width: 100%;
    height: auto;
}   

.history h1{
    font-size: clamp(32px, 5vw, 64px);
    margin-bottom: 10%;
    text-align: center;
}

.flex{
    display: flex;
}


.wrap{
    flex-wrap: wrap;
}

.timeline__content img{
  width: 100%;
  height: auto;
  max-width: 42px;
  max-height: 42px;
}

.cs div{
    width: 100%;
    height: 128px;
    max-width: 404px;
    border-radius: 42px;
    box-shadow: var(--custom-box-shadow); 
    margin: 10px;
}

.cs p{
    font-weight: bold;
    max-width: 282px;
}

.cs img{
    width: 48px;
    height: 48px;
    padding: 10px;
}

.ab{
    min-height: 220px;
    height: auto;
    flex: 1;
    margin: 5% 25px 2% 25px;
}

.ab p{
    text-align: center;
    color: var(--primary-text-color);
    line-height: 30px;
    height: 160px;
    height: auto;
}

.custom-border{
    border-radius: var(--primary-border-radius);
    box-shadow: var(--custom-box-shadow);
}

.custom-border.b2{
    border-radius: 26px;
}

.custom-border.b3{
    box-shadow: none;
    border: solid 1px #FAFBFF;
}

.leadership img{
    width: 100%;
    height: auto;
    max-width: 220px;
    max-height: 340px;    
    padding: 20px;
}

.leadership div{
    width: 100%;
    height: auto;
    max-width: 270px;
    max-height: 400px;
    margin: 25px;
}

.card-info.c-2{
    width: 100%;
    padding: 30px;
    margin: 2%;
    max-width: 739px;
}

.card-info.c-2 li{
    color: var(--primary-text-color);
    line-height: 30px;
}

.card-info.c-2 ul{
    max-width: 500px;
}

.tech-c1{
    width: 100%;
    height: auto;
    max-width: 400px;
    max-height: 296px;
    padding: 20px;
    margin: 12.5px;
}

.icon{
    width: 100%;
    height: auto;
    margin-right: 10px;
    max-width: 48px;
    max-height: 52px; 
}

.icon img{
    object-fit: contain;
}

.swiper 
{
    width: 100%;
    height: auto;
    /* padding-left: 5%;
    padding-right: 5%; */
    margin: 0 auto;
}
    
.swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1e1e1e;
    margin-right: 0;
}

.swiper h4{
    line-height: 20px;
}

.swiper a{
    color: #98B5CB;
    text-decoration: none;
    padding: 5%;
    border-radius: var(--primary-border-radius);
    box-shadow: var(--custom-box-shadow);
    background-color: white;
    font-weight: bold;
    max-width: 90px;
}

.swiper-pagination{
    bottom: var(--swiper-pagination-bottom);
}

 .form input, textarea{
    border-radius: 16px;
    min-height: 40px;
    border: solid 1px #1d1d1d33;
    padding: 2%;
    text-align: start;
}

.form span{
    color: #ff8d10;
}

.form label{
    padding-left: 10px;
    padding-bottom: 10px;
    color: #1d1d1d;
}

.form input::placeholder{
    padding-left: 10px;
}

.form div{
    padding: 1.5%;
    min-height: 70px;
}

.form button{
    color: #FAFBFF;
    background-color: #98B5CB;
    border: unset;
    border-radius: 16px;
    min-width: 120px;
    max-height: 60px;
    cursor: pointer;
}

.form button span{
    color: #FAFBFF;
    font-weight: bold;
    font-size: medium;
}

footer{
    color: #FAFBFF;
    padding: 5% 10% 5% 10%;
}

.footer-icon img{
 width: 100%;
 height: 32px;
 max-width: 36px;
 object-fit: contain;
}

footer a{
    text-decoration: none;
    color: #FAFBFF;
    padding-left: 10px;
}

#products img{
    height: 100%;
    width: 100%;
    object-fit: contain;
    padding: 5%;
}

.ef-icon{
    max-width: 384px;
    padding: unset;
}

.hide-mobile{
}

.lang img{
    width: 23px;
    height: 23px;
}

.lang p{
    margin-left: 5%;
    margin-right: 5%;
}

.lang div{
    min-width: 160px;
}

.lang label{
    padding: 2%;
}

.radio {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 8px;
}

.radio input {
  display: none;
}

.check {
  width: 18px;
  height: 18px;
  border: 2px solid white;
  border-radius: 50%;
  position: relative;
}

.radio input:checked + .check::after {
  content: "";
  width: 10px;
  height: 10px;
  background: white;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media (max-width: 1045px) {

    header{
        top: unset;
        bottom: 5%; 
    }
    
    .header-content{
        width: 80vw;
    }

    .header-content-logo{
        width: 100%;
        height: auto;
        max-width: unset;
        justify-content: center;
    }

    .header-content-menu{
        width: 100%;
        justify-content: center;
    }

    .default-container.c2 div{
        text-align: start;
        justify-content: start;
        align-items: start;
        width: auto;
    }

    vl{
        visibility: hidden;
        display: none;
    }

}

@media(max-width: 600px){

    .hide-mobile{
        display: none;
    }

    .default-container.m0{
        max-width: unset;
        height: auto;
        padding: 20px;
    }


    .default-container.m1{
        max-width: unset;
        height: auto;
        padding: 20px;
    }

    .default-container.m2{
        min-height: unset;
    }

    .ab p{
        height: auto;
    }

    .header-content{
        width: 95vw;
        margin: 0;
    }

    .info{
        margin-top: 10%;
    }

    .card-info{
        margin-top: 10%;
    }

    .ef-icon{
        max-width: 220px;
    }

    #contact{
        padding: 2%;
    }

    .leadership h4{
        text-align: center;
    }

    .btn{
        justify-content: center;
    }

    .btn button{
        min-width: unset;
        min-height: unset;
        height: auto;
        width: 80px;
    }

    footer {
        justify-content: center;
        text-align: center;
    }

    .footer-mobile{
        padding: 5%;
    }

    .lang{
        width: 100%;
    }

    .swiper a{
        margin: 0 auto;
    }
 
}