/* Fontes */
@font-face {
    font-family: "Poppins_Semibold";
    src: url(../fonts/Poppins/Poppins-SemiBold.ttf);
}

/* Animações.  */
.observer {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s ease-out;
} 

.observer.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Configurações Gerais */
*{
    margin: 0;
    padding: 0;
    font-family: "Poppins_Semibold";
}

body, html{
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

/* NavBar */
.navbar{
    width: 100%;
    background-color: #64ABFF;
    display: flex;
    padding: 2% 0%;
    justify-content: space-around;
}

.logo{
    display: flex;
    width: 10%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.logo > img{
    width: auto;
    height: 100%;
    background-color: white;
    border-radius: 90px;
    padding: 5%;
}

.NavBarItens{
    display: flex;
    width: 80%;
    height: 100%;
    justify-content: space-around;
    align-items: center;
}

.NavBarItem{
    font-size: 20px;
    font-family: "Poppins_Semibold";
    text-decoration-line: none;
    color:black;
    position: relative; 
    display: inline-block; 
    transition: color 0.3s ease, transform 0.3s ease; 
}

.NavBarItem:hover{
    transform: scale(1.2); 
    color:white;
}

.NavBarItem::after {
    content: ""; 
    position: absolute;
    left: 0;
    bottom: -3px; 
    width: 0%; 
    height: 2px; 
    background-color: black; 
    transition: width 0.3s ease; 
}

.NavBarItem:hover::after {
    width: 100%; 
    background-color: white; 
}

.toggle{
    display: none;
}

.NavBarMobile{
    height: 100%;
    width: 70%;
    gap: 30px;
    background-color: #64ABFF;
    display: flex;
    flex-direction: column;
    align-items: center; 
    padding-top: 15%;
    z-index: 100;
    position: absolute;
    margin-left: -70%;
    transition: margin-left 0.3s ease;
}

.overlay{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5); 
    display: none;
    z-index: 10;
}

.NavBarMobile > a{
    text-align: center;
}

/* Título */
.Intro{
    width: 100%;
    height: auto;
    display: flex;
    padding: 3% 0%;
    align-items: center;
    justify-content: space-between;
}

.Anuncie{
    width: 50%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.title{
    font-size: 250%;
    text-align: center;
    width: 75%;
}

span{
    color: #3081E1;
}

.ContactLinks{
    text-decoration-line: none;
    width: 80%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: #3081E1 2px solid;
    border-radius: 30px;
    transition: color 0.3s ease, transform 0.3s ease; 
}


.ContactLinks:hover{
    transform: scale(1.1);
    background-color: #64ABFF;
    color: white;
}

.itens{
    width: 90%;
    color: black;
    font-size: 150%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1% 5%;
}

.itens > img{
    object-fit: contain;
    flex-grow: 0; 
    width: 3%;
}

.AnuncieImage {
    width: 50%;
    display: flex; 
    align-items: center; 
    justify-content: flex-end;
}

.AnuncieImage > img {
    width: 100%; 
    height: auto;
    border-radius: 5px;
}

/* Sobre */
#About{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 100px;
    margin: 3% 0%;
}

.AboutRows{
    display: flex;
    width: 80%;
    justify-content: space-between;
}

.AboutRows > p{
    width: 50%;
    font-size: 20px;
    text-align: justify;
}

.AboutRows > img{
    width: 30%;
    object-fit: contain;
    flex-grow: 0; 
}

#ReverseTxt{
    order: 2;
}

/* Como funciona */
.Works{
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    align-items: center;
    justify-content: center;
    margin: 3% 0%;
}

.Works > h1{
    font-size: 50px;
}

.WorksParent{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90%;
    height: auto;
    margin: 3% 0%;
    background-color: #3081E1;
    padding: 5% 0%;
    border-radius: 20px;
}

.WorksContent{
    display: flex;
    width: 95%;
    padding-bottom: 5%;
    justify-content: space-between;
}

.WorksText{
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 60%;
    font-size: 17px;
    text-align: justify;
}

.WorkImg{
    width: 28%; 
}

.WorkImg > img{
    border-radius: 20px;
    width: 100%;
}

.KnowMore{
    align-self: center;
    text-decoration: none;
    color: white;
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: white 2px solid;
    border-radius: 30px;
    transition: color 0.3s ease, transform 0.3s ease;
    padding: 1% 0%;
}

.KnowMore:hover{
    transform: scale(1.1); 
    color: #3081E1;
    background-color: white;
    border: #3081E1 2px solid;
}

.KnowMoreChild{
    font-size: 18px;
    text-align: center;
    width: 80%;
}

.WhiteSpan{
    color: white;
}

/* Perguntas */
.Questions{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 3% 0%;
}

.QuestionParent{
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.QuestionParent > h1{
    text-align: start;
    font-size: 50px;
}

.QuestionsDetails{
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.QuestionsDetails > details{
    font-size: 22px;
    color: #3081E1;
    text-align: justify;
}

details > summary {
    list-style: none; 
    cursor: pointer;  
    position: relative; 
    padding-left: 30px;
}

details > p {
    margin-top: 1%;
    margin-left: 30px;
    padding: 20px;
    border: #3081E1 2px solid;
    border-radius: 30px;
}

details summary::before {
    content: '▶'; 
    position: absolute;
    left: 0; 
    transform: rotate(0deg);
    transition: transform 1s ease; 
}

details[open] summary::before {
    content: '▼'; 
    transform: rotate(0deg); 
}

/* Contatos */
.Contacts{
    width: 100%;
    background-color: #64ABFF;
    display: flex;
    margin-top: 5%;
    padding: 5% 0%;
}

.ContactLogo{
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.ContactLogo > h1{
    font-size: 50px;
}

.ContactLogo > img{
    width: 10%;
    min-width: 80px;
    background-color: white;
    border-radius: 90px;
    padding: 3%;
}

.AllContacts{
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.SocialMedia{
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    padding: 1%;
}

.SocialChild{
    display: flex;
    align-items: center;
    background-color: #3081E1;
    padding: 3%;
    border-radius: 90px;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
    width: 10%;
    min-width: 50px;
}

.SocialChild:hover{
    transform: scale(1.2); 
    background-color: #041833;
}

.SocialChild > img{
    width: 100%;
}

.DirectContacts{
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    gap: 10px;
}

.DirectChild{
    display: flex;
    align-items: center;
    text-decoration: none;
    color: white;
    background-color: #3081E1;
    width: 60%;
    min-width: 312px;
    padding: 1% 2%;
    border-radius: 20px;
    gap: 10px;
    transition: color 0.3s ease, transform 0.3s ease;
    font-size: 14px;
}

.DirectChild:hover{
    transform: scale(1.1); 
    background-color: #041833;
}

.DirectChild > img{
    width: 15%;
}

#Whatsapp_logo{
    width: 8%;
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 1% 2%;
    transition: transform 0.1s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

#Whatsapp_logo > img{
    width: 100%;
}

#Whatsapp_logo:hover{
    transform: scale(1.1);
}

/* Telas médias */
@media screen  and (max-width: 900px){
    /* Navbar */
    .logo > img{
        height: 70%;
    }
    
    .NavBarItem{
        font-size: 15px;
    }

    /* Tìtulo */
    .Anuncie{
        width: 55%;
    }

    .title{
        font-size: 220%;
        text-align: center;
        width: 90%;
    }

    .itens{
        font-size: 120%;
        padding: 1% 5%;
    }

    .AnuncieImage {
        width: 45%;
    }

    /* Sobre */
    .AboutRows > p{
        font-size: 16px;
    }

    /* Como funciona */
    .Works{
        display: flex;
        flex-direction: column;
        width: 100%;
        height: auto;
        align-items: center;
        justify-content: center;
        margin: 3% 0%;
    }

    .Works > h1{
        font-size: 40px;
    }

    .WorksText{
        font-size: 15px;
        gap: 15px;
    }

    .WorkImg{
        width: 35%; 
    }
    
    .KnowMore{
        padding: 2% 0%;
        font-size: 1px;
    }

    .KnowMoreChild{
        font-size: 14px;
    }

    /* Perguntas */
    .QuestionParent > h1{
        font-size: 40px;
    }

    .QuestionsDetails > details{
        font-size: 16px;
    }

    #Whatsapp_logo{
        display: none;
    }
}

/* Telas pequenas */
@media screen  and (max-width: 700px){
    /* NavBar */
    .navbar{
        justify-content: center;
    }

    .logo{
        width: 50%;
    }
    
    .logo > img{
        height: 80%;
    }

    .NavBarItens{
        display: none;
    }

    .toggle{
        display: flex;
        width: 50%;
        justify-content: center;
        align-items: center;
    }

    .toggle > img {
        height: 80%;
    }

    .NavBarMobile > a {
        margin: 1% 0%;
        font-size: 22px;
        color: white;
    }
    
    .OnNavBar {
        margin-left: 0%;
    }

    .OnOverlay{
        display: block;
    }

    /* Título */
    .Intro{
        display: flex;
        flex-direction: column;
    }

    .Anuncie{
        width: 90%;
    }

    .title{
        font-size: 250%;
        text-align: center;
        width: 90%;
    }

    .itens{
        font-size: 120%;
        padding: 1% 5%;
    }

    .AnuncieImage {
        width: 100%;
        justify-content: center;
        margin-top: -25%;
        z-index: -1;
    }

    /* Sobre */
    #About{
        margin: 10% 0%;
    }

    .AboutRows{
        flex-direction: column;
        width: 90%;
        justify-content: center;
        align-items: center;
        gap: 30px;
    }

    .AboutRows > p{
        width: 100%;
        font-size: 19px;
        text-align: justify;
    }

    .AboutRows > img{
        width: 40%;
    }

    #ReverseTxt{
        order: 0;
    }
    
    /* Como funciona */
    .WorksContent{
        justify-content: center;
    }

    .WorkImg{
        display: none;
    }

    .WorksText{
        width: 90%;
        margin: 0%;
        gap: 30px;
        align-self: center;
    }

    .KnowMore{
        width: 50%;
    }

    /* Contatos */
    .Contacts{
        flex-direction: column;
        gap: 30px;
        align-items: center;
    }

    .ContactLogo{
        width: 90%;
        flex-direction: row;
        align-items: center;
        justify-content: space-evenly;
    }

    .ContactLogo > h1{
        font-size: 40px;
        color: white;
    }

    .ContactLogo > img{
        width: 15%;
        min-width: 0px;
    }

    .AllContacts{
        width: 90%;
    }

    .SocialChild{
        padding: 3%;
    }

    .DirectContacts{
        gap: 25px;
    }

}

/* Smartphones menores (até 480px) */
@media screen and (max-width: 480px) {
    /* NavBar */
    .logo > img{
        height: 60%;
    }

    .toggle > img{
        height: 60%;
    }

    /* Tìtulo */
    .title{
        font-size: 200%;
    }

    .itens{
        width: 90%;
        padding: 4% 8%;
    }

    .itens > Img{
        width: 10%;
    }

    /* Sobre */
    .AboutRows > img{
        width: 55%;
    }

    #About{
        gap: 70px;
    }

    /* Como funciona */
    .Works > h1{
        font-size: 23px;
    }
    
    .WorksText{
        gap: 20px;
    }

    .KnowMore{
        width: 80%;
    }

    .KnowMoreChild > p{
        text-align: center !important;
    }

    /* Perguntas */
    .QuestionParent > h1{
        font-size: 23px;
    }

    p{
        text-align: left !important;
    }

    summary{
        text-align: left;
    }

    /* Contatos */
    .SocialChild{
        padding: 4%;
        justify-content: center;
    }

    .ContactLogo > h1{
        font-size: 40px;
    }    

    .DirectChild{
        min-width: 250px;
        flex-direction: column;
    }

    #Whatsapp_logo{
        display: none;
    }

}

/* Scroll */
@media (min-width: 700px) {
    html, body {
        scroll-behavior: smooth;
    }
}
