@import url('https://fonts.googleapis.com/css2?family=Bad+Script&family=Bebas+Neue&family=Glass+Antiqua&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --color__ppal-fondo: #03368D;
    --color__sec-fondo:#5179ae;
    --color--tipografia:#ffff;
    --color--texto--bordes:#46972c;
    --fuente__titulos: "Montserrat", sans-serif;
    --fuente__parrafos: "Roboto", sans-serif ;
    --fuente__alternativo:"Raleway", sans-serif;
}

body{ 
    overflow: hidden;
}

.header {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(rgba(35, 35, 36, 0.438), rgba(48, 45, 45, 0.781)), url(/images/fondo__agua.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    gap: 2em;
    position: relative;
    z-index: 1;
}

.header .icono__foltante {
    width: 100%;
    position: fixed;
    top: 0;
    padding: 1.2em;
    text-align: end;
    z-index: 10;
}

.header .icono__foltante img {
    width: 3em;
}

.header .banner__ppal {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2em;
}
                    /* ------------------ HEADER BANNER ------------------ */

.banner__ppal .img__header {
    display: flex;
    width: 100%;
    animation: aparecer 3s ease-out ;
}

.banner__ppal .img__header img {
    width: 15em;
    margin: auto;
}

.banner__ppal .texto__banner {
    text-align: center;
    color: var(--color--tipografia);
    animation: subirElemento 1s ease-out forwards;
}

.banner__ppal .texto__banner .titulo__header {
    font-size: 4rem;
    font-family: var(--fuente__titulos);
    font-weight: bold;
}

.seccion {
    height: 100vh;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;    
    transition: transform .95s ease, opacity .95s ease;
    transform: translateY(100%);   
    pointer-events: none;
}

.seccion.activa {
    opacity: 1;
    transform: translateY(0%);   
    z-index: 1;    
    pointer-events: auto; 
}

.banner__ppal .texto__banner .parrafo__header {
    font-size: 1.5rem;
    font-family: var(--fuente__parrafos);
    padding: 0 .2em;
    letter-spacing: 2.3px;
    animation: subirElemento 1s ease-out ;
}

                    /* ------------------ HEADER NAV-BAR ------------------- */

.header .nav__bar--header {
    display: flex;
    justify-content: center;
    width: 100%;
    height: 600px;   
}

.header .nav__bar--header .nav__header {
    display: flex;
    list-style: none;
    width: 100%;
    max-width: 900px;
    position: absolute;    
}

.header .nav__bar--header .nav__header .link__nav {
   width: 33%;
   height: 10em;
   display: flex;
   align-items: center;
   justify-content: space-around;
   animation: flotar 2s ease-in-out;
}

.header .nav__bar--header .nav__header .link__nav .item__nav {
    display: flex;
    height: 50%;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    text-decoration: none;
}

.header .nav__bar--header .nav__header .link__nav .item__nav .text__link--nav {
    text-decoration: none;
    font-size: .7rem;
    font-weight: 300;
    letter-spacing: 1.2px;
    color: var(--color--tipografia);
    font-family: var(--fuente__alternativo);
    border-bottom: 1px solid white;
    padding: .4em;
}

.header .nav__bar--header .nav__header .link__nav img {
    width: 2.8em;
}
                    /* ------------------ HEADER REDES ------------------- */

.header .social__icons__nav {
    width: 70%;
    max-width: 40em;   
    padding: 10px 0 5em 0;

}

.header .social__icons__nav .list__icon--social {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style-type: none;
}

.header .social__icons__nav .list__icon--social .link__icon--social .item__icon--social i {
    color: var(--color--tipografia);
    font-size: 1.6em;
    font-weight: 100;
    animation: aparecer 6s ease;
}


                    /* ------------------------ PROYECTOS --------------------- */

/* ---------- MAIN ---------- */

.main__proyectos {
    width: 100%;   
}

.conten__main {
    background-color: var(--color--tipografia);
    display: flex;
}

.form__main {
    display: flex;
}

.conten__nav--main {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
    background-color: var(--color__sec-fondo);
    position: relative;
}

.lista__nav--main {    
    display: flex;
    flex-direction: column;
    gap: .6em;
}

.conten__nav--main .link__nav--main {
    display: flex;
    align-items: center;
    text-transform: capitalize;
    padding: 0 20px;
    border-radius: 36px 0 0 36px;
    color: white;
    width: 100%;
}

.link__nav--main:hover {
    background-color: var(--color--tipografia);
    color: #03368D;
}

.conten__nav--main .link__nav--main span {
    font-size: 2.3em;
    font-weight: 100;
    cursor: pointer;
}

.item__nav--main {
    text-decoration: none;
    color: white;
    font-size: 1.2rem;
    font-weight: 300;
    display: none;
    font-family: var(--fuente__parrafos);
    width: 100%;
    min-height: 100%;
}

.btns__end {
    margin-bottom: 5em;
    text-align: center;   
}

.boton__inicio__contacto {
    display: flex;
    align-items: center;
    text-transform: capitalize;
    border-radius: 36px 0 0 36px;
    color: white;
    width: 100%;
}

.inicio--contacto {
    display: block;
    text-decoration: none;
    color: white;
    width: 100%;
    min-height: 100%;
}

.inicio--contacto span {
    font-size: 2.8em;
    font-weight: 100;
}

/*--------- GALERIA --------- */

.galeria__proyectos {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
}

.galeria__proyectos .proyecto__banner {
    width: 100%;
    height: 100vh;
    padding: 10em 0;
}

.proyecto__banner.hidden {
    display: none;
}

.galeria__proyectos .img__logo {
    top: 10px;
    left: 80px;
    position: absolute;
}

.galeria__proyectos .img__logo img {
    width: 120px;
    top: -20px;
    left: 60px;
    position: absolute;
}

.content__proyectos {
    height: 100%;
}

.proyecto {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 1px;
    height: 100%;
    overflow-y: auto;
    opacity: 0;
    transform:translateY(50px);
    animation: subir 0.6s ease-out forwards;
}

.proyecto::-webkit-scrollbar {
    display: none;
}

.texto__proyectos {
    padding-top: 0em;
    display: flex;
    height: 70%;
    flex-direction: column;
    justify-content: space-around;
    line-height: 1.6;
}

.texto__proyectos .titulo__proyectos {
    font-size: 3.4rem;
    color: var(--color__sec-fondo);
    font-family:"Bebas Neue", sans-serif;
    text-transform: uppercase;
    letter-spacing: 3px;
}

.texto__proyectos .parrafo__proyectos {
    color:var(--color__ppal-fondo);
    letter-spacing: 2px;
    font-family: var(--fuente__parrafos);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 1.9px;
}

/* ------------- CONTENIDO VIDEOS --------------- */

.proyecto .titulo__video {
    color: var(--color__ppal-fondo);
    font-family: var(--fuente__titulos);
    font-weight: 500;
    padding: 1em 0;
    font-size: 1.2rem;
    position: sticky;
    top: 0;
    left: 0;
    background-color: var(--color--tipografia);  
}

.proyecto .descripcion__video {
    color: black;
    font-family: var(--fuente__titulos);
    font-weight: 400;
    font-size: .8em;
    padding-bottom: 1em;
}

.proyecto .videos__proyecto {
    position: sticky;
    bottom: 0;
    padding: 1px;
    display: flex;
    flex-direction: column;
    background-color: rgb(255, 255, 255);
}

.proyecto video {
    width: 100%;
    max-width: 600px;
    margin: auto;
    bottom: 0;
    height: 200px;
}

@media screen and (orientation: landscape) and (min-width: 768px) {

    .item__nav--main  {
        display: flex;
    }

    .texto__proyectos .titulo__proyectos {
        font-size: 8rem;
        line-height: 1;
        letter-spacing: 10px;
    }

    .texto__proyectos .parrafo__proyectos {
        font-size: 3rem;
        padding: .5em 2em;
        font-family: var(--fuente__alternativo);
        font-weight: 200;
    }

    .galeria__proyectos .img__logo img{
        margin: 0% 35%;
    }

    .proyecto {
        position: relative;
    }

    .proyecto .titulo__video{
        font-size: 2rem;
        padding: 1.5em;
        text-transform: uppercase;
    }

    .proyecto .descripcion__video {
        font-size: 16px;
        padding: 1.5em 1rem;
        text-transform:capitalize;
        text-align: left;
    }

    .proyecto .videos__proyecto {
        flex-direction: row;
        gap: 10px;
        width: 100%;
    }

    .proyecto .videos__proyecto .video {
        width: 45%;
    }

    .link__nav--main a {
        color: white;
        font-size: 1.2rem;
        font-weight: 300;
        width: 100%;
        padding-top: 4.5px;
        padding-left: 10px;
    }

    .link__nav--main a:hover {
        color: var(--color__sec-fondo);
    }

}

@keyframes subir {

    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

            /* ------------- ANIMACIONES ------------- */

@keyframes subirElemento {
    0% {
        opacity: 0;
        transform: translateY(50px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
    
}

@keyframes aparecer {
    from {
        opacity: 0;
    }    

    to {
        opacity: 1;
    }
}

@keyframes flotar {
    0% {
        transform: translatey(250%);
    }

    100% {
        transform: translatey(0);
    }    

}