*{
    margin: 0;
    padding: 0;
}

:root{
    --background-blue: #072742;
    --dark-blue: #0b4777;
    --light-blue: #00C7E9;
    --light-blue2: #70c9f3;

}

@font-face {
    font-family: "Lato";
    src: url("../fonts/Lato-Regular.ttf");
}

body{
    font-family: "Lato", sans-serif;
    background-color: var(--background-blue);
}
.container{
    width: 90vw;
    margin: auto;
}



/* -------------------------------------------- MEDIA QUERIES -------------------------------------------- */
@media only screen and (max-width: 767px) {
    *{
        margin: 0;
        padding: 0;
    }

    .container{
        width: 100%;
    }
    
    :root{
        --background-blue: #072742;
        --dark-blue: #0b4777;
        --light-blue: #00C7E9;
        --light-blue2: #70c9f3;
    
    }
    
    @font-face {
        font-family: "Lato";
        src: url("../fonts/Lato-Regular.ttf");
    }
    
    body{
        font-family: "Lato", sans-serif;
        background-color: var(--background-blue);
    }

    /* ----------------- HEADER ----------------- */
    .main-header{
        height: 92vh;
        background-image: url(../img/logo-mobile.png);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        background-color: var(--background-blue);
    }

    .logo{
        display: none;
        visibility: hidden;
    }

    /* ----------------- NAV MOB ----------------- */
    .links-nav{
        display: none;
        visibility: hidden;
    }

    .menu-mobile{
        display: flex;
        flex-direction: row;
        justify-content:space-around;
        align-items: center;
        visibility: visible;

        height: 8vh;
        width: 100%;
        position: fixed;
        bottom: 0;

        background-color: white;

        border: var(--light-blue) 1px solid;
    }

    .menu-mobile a{
        display: flex;
        flex-direction: column;
        align-items: center;

        width: 30%;
        box-sizing: content-box;
    }
    .menu-mobile a{
        text-decoration: none;
        text-align: center;
    }

    .menu-mobile a:visited{
        color: var(--light-blue);
    }

    .menu-mobile img{
        height: 30px;
        width: 30px;
    }
    /* ----------------- ABOUT ----------------- */
    #about{
        background-color: var(--background-blue);
        margin-top: 20px;
        margin-bottom: 20px;
    }

    .about-title{
        color: var(--light-blue);
        font-size: 24px;
        width: 95%;
        margin: auto;
        margin-bottom: 40px;
    }

    .about-text{
        color: var(--background-blue);
        background-color: var(--light-blue2);;
        font-size: 20px;
        text-align: center;
        width: 95%;
        margin-bottom: 40px;
        margin-top: 20px;
        margin-inline: auto;
        padding: 20px 5px;

        border-radius: 10px;
    }

    .about-cards{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 10px;

        width: 100%;
        border-radius: 5px;

    }
    
    .about-card{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        
        margin-bottom: 20px;
        padding: 20px 5px;
        width: 95%;
        border-radius: 10px;
    }

    .about-card img{
        height: 50px;
        width: 50px;
    }

    .about-card h3{
        color: var(--light-blue);
        font-size: 22px;
        font-weight: 500;
    }

    .about-card p{
        color: white;
        text-align: center;
        
    }


    /* ----------------- CONTACT ----------------- */
    #contact{
        background-color: var(--light-blue2);
        padding-bottom: 40px;
    }

    .contact-title{
        width: 95%;
        margin-inline: auto;
        margin-bottom: 20px;
        color: var(--background-blue);
        padding-top: 20px;
        font-size: 20px;
        text-align: center;
    }

    .contact-text{
        width: 95%;
        margin-inline: auto;
        margin-bottom: 20px;
        text-align: center;
    }

    .contact-buttons{
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
    
    .contact-button{
        display: flex;
    }
    
    .contact-button a{
        display: flex;
        align-items: center;
        justify-content: center;
    
        padding: 10px 16px;
        border-radius: 20px;
    
        font-size: 14px;
        letter-spacing: 1px;
        text-decoration: none;
        color: white;
        background-color: var(--background-blue);
    }
    
    .contact-button a:hover{
        background-color: var(--dark-blue);
    }
    
    .contact-button img{
        margin-right: 8px;
    }

    /* ----------------- FOOTER ----------------- */
    footer{
        height: 160px;
    }

    .copyright{
        color: white;
        text-align: center;
        margin-top: 40px;
    }

    .politica-footer{
        text-align: center;
        text-decoration: none;
        color: white;
    }

    .politica-footer{
        color: white;
    }

    .politica-footer a{
        color: var(--light-blue);
        text-decoration: none;
    }
}

@media only screen and (min-width: 768px){
    *{
        margin: 0;
        padding: 0;
    }
    
    :root{
        --background-blue: #072742;
        --dark-blue: #0b4777;
        --light-blue: #00C7E9;
        --light-blue2: #70c9f3;
    
    }
    
    @font-face {
        font-family: "Lato";
        src: url("../fonts/Lato-Regular.ttf");
    }
    
    body{
        font-family: "Lato", sans-serif;
        background-color: var(--background-blue);
    }
    .container{
        width: 90vw;
        margin: auto;
    }
    
    /* ----------------- HEADER ----------------- */
    header{
        width: 100%;
        height: 100vh;
        background-image: url('../img/background-sixtein.jpg');
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center right;
        
        border-bottom: var(--light-blue) 2px solid;
    }
    
    .logo-container img{
        width: 200px;
    }
    
    header nav{
        display: flex;
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    
        position: relative;
        top: 15px;
    }
    
    .menu-mobile{
        display: none;
        visibility: hidden;
    }

    .links-nav a{
        font-size: 18px;
        text-decoration: none;
        letter-spacing: 1.5px;
        font-weight: 500;
        color: var(--background-blue);
    
        margin-right: 30px;
    
        transition: all 0.5s;
    }
    
    .links-nav a:hover{
     color: var(--light-blue);
     font-size: 20px;
    }
    
    .banner-text{
        display: none;
        visibility: hidden;
    
        position: relative;
        top: 50vh;
    
        color: var(--background-blue);
        font-size: 30px;
        font-weight: bold;
        text-align: center;
    }
    
    /* ----------------- ABOUT ----------------- */
    #about{
        /* background-color:var(--background-blue); */
        background: rgb(7,39,66);
        background: linear-gradient(90deg, rgba(7,39,66,1) 0%, rgba(6,62,90,1) 100%, rgba(0,199,233,1) 100%);
        padding-bottom: 25px;
        border-bottom: var(--light-blue) 2px solid;
    
    }
    .about-title{
        color: var(--light-blue);
        font-size: 25px;
        padding: 40px 0;
    }
    
    .about-text{
        color: white;
        font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.5;
        text-align: center;
    
        padding-bottom: 80px;
        padding-top: 80px;
    }
    
    .about-cards{
        display: flex;
        flex-direction: row;
        padding-bottom: 80px;
    }
    
    .about-card{
        display: flex;
        flex-direction: column;
        align-items: center;
    
        padding: 20px;
    
        border-left: 1px solid var(--light-blue);
    }
    
    .about-card:first-child{
        border: none;
    }
    
    .about-card h3{
        color: var(--light-blue);
        font-size: 28px;
        padding: 10px;
        font-weight: 500;
    }
    
    .about-card img{
        height: 6rem;
        width: auto;
    }
    
    .about-card p{
        color: white;
        font-size: 19px;
        letter-spacing: 2px;
        text-align: center;
    }
    
    /* ----------------- CONTACT ----------------- */
    #contact{
        background-color: var(--light-blue2);
        padding-bottom: 30px;
    }
    
    .contact-title{
        color: var(--background-blue);
        font-size: 25px;
        padding: 40px 0;
        text-align: center;
    }
    
    .contact-text{
        color: var(--background-blue);
        font-size: 20px;
        text-align: center;
        padding: 20px 0;
        margin-bottom: 40px;
    }
    
    .contact-buttons{
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 20px;
    }
    
    .contact-button{
        display: flex;
        margin-bottom: 20px;
    }
    
    .contact-button a{
        display: flex;
        align-items: center;
    
        padding: 14px 20px;
        border-radius: 20px;
    
        font-size: 18px;
        letter-spacing: 1px;
        text-decoration: none;
        color: white;
        background-color: var(--background-blue);
    
        transition: all 0.5s;
    }
    
    .contact-button a:hover{
        background-color: var(--dark-blue);
    }
    
    .contact-button img{
        margin-right: 8px;
    }
    
    /* ----------------- FOOTER ----------------- */
    footer{
        margin-top: 30px;
        background-color: var(--background-blue);
        height: 80px;
    }
    
    .copyright{
        text-align: center;
        color: white;
    }

    .politica-footer{
        text-align: center;
        text-decoration: none;
        color: white;
    }

    .politica-footer{
        color: white;
    }

    .politica-footer a{
        color: var(--light-blue);
        text-decoration: none;
    }
}