/* #7a458a */

*{

    /* RESETANDO A PÁGINA E DEIXANDO MAIS FÁCIL DE MANIPULAR */
    margin: 0;
    padding: 0;
    font-family: "Bree Serif";
    box-sizing: border-box;
}

html {
    /* adiciona animação de rolagem suave para links referenciando pontos da página */
    scroll-behavior: smooth;
}

h1,h2,h3{
    color: #333;
}

p{
    color: #70747a;
}


/* NAVBAR */
.navbar-container{
    width: 100%;
    height: 80px;
    background-color: #232a31;
    padding: 0 2rem;
}

nav{
    position: relative;
}

.navbar-items{
    position: absolute;
    right: 0;
    /* CENTRALIZANDO VERTICALMENTE AS LIs */
    height: 80px;
    line-height: 80px;
    /* inline-block foi usado para isso:
    Comportamento inline: Fica na mesma linha que outros elementos, sem forçar uma quebra de linha como um bloco faria.
    Comportamento block: Permite definir largura (width) e altura (height), algo que um elemento inline puro não permite. 
    
    Assim ele fica na mesma linha do logo*/
    display: inline-block;
    margin: 0;
}

.navbar-items li{
    text-transform: uppercase;
    display: inline-block;
    margin-left: 25px;
}

.navbar-items a{
    color: #fff;
    text-decoration: none;
    transition: 0.5s;
}

.navbar-items a:hover{
    color: #ccc;
    border-bottom: 1px solid #7a458a;
}

/* DEIXANDO SELETOR MAIS ESPECIFICO, AS REGRAS VALEM MAIS (PREVALECEM EM CIMA DE OUTRAS) */
.navbar-items .default-btn{
    background-color: #7a458a;
    padding: 15px 20px;
    border-radius: 5px;
    
}

.navbar-items .default-btn:hover{
    background-color: #9b59af;
    color: #fff;
    border-style: none;
}

.logo{
    width: 50px;
    margin-top: 15px;
}

/* MAIN BANNER */
.main-banner{

    background-image: url("./img/banner\ 2\ biblioteca.png");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 20rem 0;
}

/* SERVICES */
.services-container{
    /* adiciona padding somente em cima e embaixo seguindo o font-size da tag raiz (html) 5 x 16px = 5rem */
    padding: 5rem 0;
}

.services-container ul{
    /* elementos são postos lado a lado pelo display flex */
    display: flex;
    width: 90%;
    margin: 0 auto;
}

.services-container li{
    /* valores de grow, shrink e basis (width) */
    flex: 1 1 200px;
    list-style: none;
    text-align: center;
    padding: 20px;
}


/* ICONES */
.fa-solid{

    /* como estou trabalhando com icones externos, eles são vistos como texto, por isso uso font-size para aumentar eles */
    font-size: 60px;
    margin-bottom: 15px;
    color: #9b59af;
}

.services-container h3{
    margin-bottom: 25px;
}

.bold{
    color: #9b59af;
    font-weight: bold;
}

.services-container p{
    text-align: justify;
    line-height: 24px;
}

/* PRICES AND PLANS */

.pricing-container{
    padding-bottom: 5rem;
    text-align: center;
}

.pricing-container h2{
    font-size: 36px;
}

.pricing-container p{
    font-size: 20px;
}

.plans-container{
    display: flex;
    justify-content: space-between;
    width: 90%;
    margin: 50px auto 0;
}

.plan{
    flex: 1;
    max-width: 275px;
    margin: 0 20px;
}

.plan ul{
    padding: 0;
}

.plan li{
    list-style: none;
    height: 50px;
    line-height: 25px;
    background-color: #e8e9ea;
    color: #333;
}

.plan .price{
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background-color: #9b59af;
    text-align: center;
    line-height: 120px;
    color: #fff;
    margin: 0 auto -50px;
    font-size: 18px;
    position: relative;
}

.plan .plan-name{
    text-transform: uppercase;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    padding: 50px 0;
    text-align: center;
    background-color: #202b34;
}

.plan .plan-btn{
    background-color: #7a458a;
    color: #fff;
    font-size: 24px;
    height: 75px;
    line-height: 75px;
    cursor: pointer;
    transition: .5s;
}

.plan .plan-btn:hover{
    background-color: #9b59af;
}


/* contact form */
.contact-container{
    text-align: center;
    padding: 5rem 0 2rem 0;
    margin-bottom: 150px;
}

.contact-container h2{
    font-size: 36px;
    margin-bottom: 15px;
}

.contact-container p{
    font-size: 20px;
    margin-bottom: 40px;
}

.contact-container input,
.contact-container textarea{
    width: 300px;
    padding: 10px 20px;
    font-size: 16px;
    border-radius: 5px;
    border:1px solid #7a458a;
    margin: 0 10px 20px;
}

.contact-container textarea{
    display: block;
    margin: 0 auto 20px;
    width: 470px;
    height: 150px;
}

.contact-container input[type="submit"]{
    display: block;
    margin: 0 auto;
    background-color: #7a458a;
    color: #fff;
    cursor: pointer;
    transition: .5s;
}

.contact-container input[type="submit"]:hover{
    background-color: #9b59af;
}

footer{
    text-align: center;
    padding: 80px;
    background-color: #232a31;
    font-weight: bold;
}

footer p{
    color: #fff;
    font-size: 20px;
}


/* RESPONSIVIDADE */

/* small laptops de no max 1100px */
@media (max-width:1100px){
    .plans-container{
        width: 95%;
    }
    .plan{
        margin: 0 5px;
    }
}

/* tablets de no max 900px */
@media (max-width:900px){
    .contact-container{
        padding: 20px 60px;
    }
}

/* celulares de no max 576px */

@media(max-width:576px){

    .main-banner{
        padding: 13rem 0;
    }

    .navbar-items li{
        font-size: 12px;
        margin-left: 10px;
    }

    .logo{
        width: 30px;
        position: absolute;
        top: 10px;
    }

    .services-container ul{
        flex-direction: column;
    }

    .plans-container{
        flex-direction: column;
        width: 100%;
        padding: 0 2rem;
        
    }

    .plan{
        width: 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }

    .contact-container{
        padding: 3rem 2rem;
    }

    .contact-container input,
    .contact-container textarea{
        width: 100%;
        margin: 10px 0;
    }
}

/* celulares de no max 350px */
@media(max-width:380px){

    .main-banner{
        padding: 12rem 0;
    }

}
