@import url('https://fonts.googleapis.com/css2?family=Anek+Latin:wdth,wght@75..125,100..800&family=Anybody:ital,wdth,wght@0,50..150,100..900;1,50..150,100..900&display=swap');/***********************************
 * PALETA DE COLORES Y TIPOGRAFIAS *
 **********************************/
:root{
    --azul-oscuro: #0f1949;
    --azul-claro: #033b86;
    --gris: #56575e;
    --amarillo: #ffe708;
    --unbounded: "Unbounded", sans-serif;
    --anek: "Anek Latin", sans-serif;
    --anybody: "Anybody", sans-serif;
}

/*********************
 * ESTILOS GENERALES *
 ********************/
.tope{
    width: 100%;
    height: 0px;
}
*{
    box-sizing: border-box;
    position: relative;
    margin: 0px;
}
h1, h2, h3, h4, h5, p{
    width: 100%;
}
body{
    margin: 0 auto;
    font-weight: 400;
    background-color: #FFF;
    color: var(--azul-oscuro);
    font-family: var(--anybody);
    -webkit-font-smoothing:antialiased;
    background-color: #000;
    background-size: 100%;
    background-repeat: no-repeat;
}
section{
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 5vw;
    padding-left: 7%;
    padding-right: 7%;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
/*section > *{
    padding-left: 2%;
    padding-right: 2%;
}*/
h1{
    font-size: 1.4vw;
    font-weight: 900;
    line-height: .9;
    text-align: center;
    font-family: var(--sans);
    padding-top: 2vw;
    padding-bottom: 2vw;
}
h2{
    font-size: 1.4vw;
    font-weight: 900;
    line-height: 1;
}
p{
    font-size: 1.1vw;
    font-weight: 400;
    line-height: 1.2;
    font-family: var(--anek);
}
h3{
    font-size: .9vw;
    font-weight: 700;
}

/*********************
 *      HEADER       *
 ********************/
header{
    position: fixed;
    top: 0px;
    width: 100%;
    height: 100px;
    z-index: 10;
    display: flex;
    align-items: center;
    z-index: 4;
    justify-content: center;
}
header > a{
    width: 50px;
    margin-right: 65px;
    margin-left: 65px;
    display: block;
}
header > a > img{
    width: 100%;
}
.scrolleable{
    background-color: #000;
}

/*********************
 *    BOTON MENU     *
 ********************/
input[type="checkbox"], .logo-movil{
    display:none;
}
label{
    display: flex;
    flex-direction: column;
    width: 30px;
    cursor: pointer;
    right: 5%;
    position:fixed;
    z-index: 20;
    box-sizing: content-box;
    padding: 10px;
    /*display: none;*/
}
label span{
    background: #fff;
    height:2px;
    margin: 3px 0;
    transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
label span:nth-of-type(1){
    width:50%;
}
label span:nth-of-type(2){
    width:100%;
}
label span:nth-of-type(3){
    width:75%;
}    
input[type="checkbox"]:checked ~ span:nth-of-type(1){
    transform-origin:bottom;
    transform:rotatez(45deg) translate(2px,0px)
}
input[type="checkbox"]:checked ~ span:nth-of-type(2){
    transform-origin:top;
    transform:rotatez(-45deg)
}
input[type="checkbox"]:checked ~ span:nth-of-type(3){ 
    transform-origin:bottom;
    width:50%;
    transform: translate(30px,-11px) rotatez(45deg);
    transform: translate(12px, -4px) rotatez(45deg);
}
.abierto{
    background-color: var(--verde);
}


/*********************
 *        MENU       *
 *********************/
header > nav{
	position: relative;
    width: calc(100% - 180px);
    height: 100%;
    padding-right: 10%;
	display: flex;
    align-items: center;
    padding-bottom: 5px;
    justify-content: center;
}
header > nav > a{
    margin-left: 5%;
    margin-right: 5%;
    color: #FFF;
    font-weight: 900;
    font-size: 12px;
}
header > nav a:hover{
    color: var(--amarillo);
}
header > nav > div{
    width: 50%;
}
@keyframes open-link{
    from{letter-spacing: 0vw; font-weight: 300}
    to{letter-spacing: .2vw; font-weight: 500}
}
@keyframes close-link{
    from{letter-spacing: .2vw; font-weight: 500}
    to{letter-spacing: 0vw; font-weight: 300}
}

/*********************
 *        INICIO     *
 *********************/
.inicio{
    color: rgba(255,255,255,1);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 56vw;
    padding: 0px;
    overflow: hidden;
}
.inicio > a{
    position: absolute;
    bottom: 5vw;
    left: 43.5%;
    background-color: var(--amarillo);
    z-index: 2;
    color: #000;
    padding: 1vw;
    border-radius: .2vw;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1vw;
    width: 13%;
    text-align: center;
    animation-name: scaleDown;
    animation-duration: .1s;
    animation-fill-mode: forwards;
}
.inicio > a:hover{
    background-color: #FFF;
    animation-name: scaleUp;
}
@keyframes scaleDown{
    from{scale: 1.2; font-variation-settings: "wdth" 90;}
    to{scale: 1; font-variation-settings: "wdth" 75;}
}
@keyframes scaleUp{
    from{scale: 1; font-variation-settings: "wdth" 75;}
    to{scale: 1.2; font-variation-settings: "wdth" 90;}
}
.inicio > div{
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
}
.inicio > div:nth-child(1){
    background: linear-gradient(180deg, transparent 80%, rgba(0, 0, 0, 1) 99%, rgba(0, 0, 0, 1) 100%);
}
.inicio > div:nth-child(2){
    background: linear-gradient(90deg, transparent 80%, rgba(0, 0, 0, 1) 99%, rgba(0, 0, 0, 1) 100%);
}
.inicio > div:nth-child(3){
    background: linear-gradient(270deg, transparent 80%, rgba(0, 0, 0, 1) 99%, rgba(0, 0, 0, 1) 100%);
}
.inicio > div:nth-child(4){
    background: linear-gradient(0deg, transparent 80%, rgba(0, 0, 0, 1) 99%, rgba(0, 0, 0, 1) 100%);
}
.inicio > iframe{
    position: absolute;
    width: 100vw;
    height: 56vw;
    border: 0px;
    top: 0px;
    left: 0px;
    z-index: 1;
}
.inicio > video{
    position: absolute;
    width: 100%;
    top: 0px;
    left: 0px;
}
.inicio > article{
    display: flex;
    flex-wrap: wrap;
    width: 25%;
    scale: 2.7;
    opacity: 0;
    animation-name: fadeIn;
    animation-duration: .5s;
    animation-fill-mode: forwards;
}
.inicio > article > p{
    animation-duration: .5s;
    animation-iteration-count: infinite;
    width: fit-content;
    height: 100px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 4vw;
}
.inicio > article > p > span{
    font-variation-settings: "wdth" 75;
}
.inicio > article > p:nth-child(1){
    width: 53%;
}
.inicio > article > p:nth-child(1) > span{
    font-weight: 100;
    animation-duration: .75s;
    animation-name: appears;
    animation-fill-mode: forwards;
    font-size: 5vw;
}
.inicio > article > p:nth-child(1) > span:nth-child(2){
    animation-delay: .10s;
}
.inicio > article > p:nth-child(1) > span:nth-child(3){
    animation-delay: .15s;
}
.inicio > article > p:nth-child(1) > span:nth-child(4){
    animation-delay: .20s;
}
.inicio > article > p:nth-child(1) > span:nth-child(5){
    animation-delay: .25s;
}
.inicio > article > p:nth-child(1) > span:nth-child(6){
    animation-delay: .25s;
}

.inicio > article > p:nth-child(2){
    width: 47%;
}
.inicio > article > p:nth-child(2) > span{
    font-weight: 100;
    animation-duration: .5s;
    animation-name: desappears;
    animation-fill-mode: forwards;
    font-size: 5vw;
}
.inicio > article > p:nth-child(2) > span:nth-child(2){
    animation-delay: .30s;
}
.inicio > article > p:nth-child(2) > span:nth-child(3){
    animation-delay: .35s;
}
.inicio > article > p:nth-child(2) > span:nth-child(4){
    animation-delay: .40s;
}
.inicio > article > p:nth-child(2) > span:nth-child(5){
    animation-delay: .45s;
}
.inicio > article > p:nth-child(2) > span:nth-child(6){
    animation-delay: .50s;
}

.inicio > article > p:nth-child(3){
    width: 18%;
}
.inicio > article > p:nth-child(3) > span{
    font-weight: 100;
    animation-duration: .25s;
    animation-name: desappears;
    animation-fill-mode: forwards;
    font-size: 5vw;
}
.inicio > article > p:nth-child(3) > span:nth-child(1){
    animation-delay: .55s;
}
.inicio > article > p:nth-child(3) > span:nth-child(2){
    animation-delay: .60s;
}
.inicio > article > p:nth-child(3) > span:nth-child(3){
    animation-delay: .65s;
}

.inicio > article > p:nth-child(4){
    font-size: 5vw;
    animation-delay: .8s;
    display: flex;
    justify-content: center;
    align-items: center;
    animation-name: heartbreathing;
    animation-duration: .8s;
    width: 82%;
    font-weight: 100;
    font-variation-settings: "wdth" 75;
}

@keyframes heartbreathing{
    0%{font-variation-settings: "wdth" 75; font-weight: 100}
    50%{font-variation-settings: "wdth" 76; font-weight: 700}
    100%{font-variation-settings: "wdth" 75; font-weight: 100}
}
@keyframes appears{
    from{font-weight: 200}
    to{font-weight: 900}
}
@keyframes desappears{
    from{font-weight: 900}
    to{font-weight: 200}
}
@keyframes fadeOut{
    from{opacity: 1}
    to{opacity: 0}
}
@keyframes fadeIn{
    from{opacity: 0}
    to{opacity: 1}
}

/*********************
 *       VIDEOS      *
 *********************/
.videos{
    background-color: #000;
    min-height: 56vw;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 0px;
    padding-right: 0px;
}
.videos > article{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    z-index: 2;
}
.videos > article > a{
    color: #FFF;
    font-weight: 700;
    font-size: 1.4vw;
    font-variation-settings: "wdth" 130;
    text-align: center;
    text-transform: uppercase;
    animation-name: cierra-liga;
    animation-duration: .3s;
    animation-fill-mode: forwards;
    height: 2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
}
.videos > article > a > span{
    color: #777;
}
.videos > article:hover > a{
    opacity: .2;
}
.videos > article:has(a:hover) a:hover{
    animation-name: abre-liga;
    color: #fff;
    opacity: 1;
}
/*.videos > video{
    position: absolute;
    width: 100%;
    height: 56vw;
    z-index: 1;
}
*/
.videos > div{
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    z-index: 1;
    /*animation-name: fadeOut;*/
   /* animation-duration: .5s;
    animation-fill-mode: forwards;*/
}
/*.videos > div.fondo-activo{
    animation-name: fadeIn;
}
.videos > div.fondo-inactivo{
    animation-name: fadeOut;
}*/

@keyframes abre-liga{
    from{font-size: 1.4vw; font-weight: 700;}
    to{font-size: 2.6vw; font-weight: 900;}
}
@keyframes cierra-liga{
    from{letter-spacing: .3vw;}
    to{letter-spacing: 0vw}
}
@keyframes fadeOut{
    from{opacity: 1}
    to{opacity: 0}
}

@keyframes fadeIn{
    from{opacity: 0}
    to{opacity: 1}
}

/*********************
 *       AROCA       *
 ********************/
.aroca{
    padding: 15%;
    padding-top: 13vw;
    padding-bottom: 13vw;
}
.aroca > img{
    width: 100%;
}
.aroca > h1{
    color: var(--amarillo);
    font-weight: 800;
    font-size: 2vw;
    font-variation-settings: "wdth" 80;
    text-align: right;
    padding-right: 25%;
}

/*********************
 *     RODRIGO       *
 ********************/
.rodrigo{
    padding: 0px;
    padding-bottom: 10vw;
}
.rodrigo > img{
    width: 100%;
}
.rodrigo > div{
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 57vw;
    top: 0px;
    background: radial-gradient(ellipse, transparent 9%, rgba(0, 0, 0, 1) 75%, rgba(0, 0, 0, 1) 100%);
}
.rodrigo > article{
    padding-right: 15%;
    padding-left: 15%;
    color: #FFF;
    text-align: center;
    padding-top: 8vw;
    padding-bottom: 5vw;
}
.rodrigo > article > h1{
    font-variation-settings: "wdth" 150;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.6vw;
}
.rodrigo > article > h2{
    font-variation-settings: "wdth" 150;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.2vw;
}
.rodrigo > article > p{
    margin-top: 2vw;
    font-size: 1.4vw;
}
.rodrigo > a{
    background-color: var(--amarillo);
    z-index: 2;
    color: #000;
    padding: 1vw;
    border-radius: .2vw;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1vw;
    width: 13%;
    text-align: center;
    animation-name: scaleDown;
    animation-duration: .1s;
    animation-fill-mode: forwards;
}
.rodrigo > a:hover{
    animation-name: scaleUp;
    background-color: #FFF;
}

/*********************
 *     ENTRADA       *
 ********************/
.entrada{
    padding-right: 15%;
    padding-right: 15%;
    color: #FFF;
    flex-wrap: wrap;
    flex-direction: row;
    padding-top: 10vw;
}
.entrada > div{
    width: 50%;
    height: 25vw;
    background-size: cover;
    background-position: center center;
    margin-bottom: 3vw;
}
.entrada > h1{
    font-size: 3.3vw;
    width: 50%;
    text-align: left;
    padding-left: 5%;
    text-transform: uppercase;
    margin-bottom: 3vw;
    font-variation-settings: "wdth" 150;
}
.entrada h2{
    text-transform: uppercase;
    font-variation-settings: "wdth" 80;
    padding-top: .5vw;
    padding-bottom: .5vw;
}
.entrada p{
    margin-bottom: 1vw;
    font-size: 1.2vw;
}
.entrada iframe{
    width: 100%;
    height: 43vw;
    margin-top: 1vw;
    margin-bottom: 1vw;
}

/*********************
 *     SHOW REEL     *
 ********************/
.showreel{
    height: 100vh;
    /*padding: 0px;*/
    padding-top: 7vw;
    padding-bottom: 3vw;
}
/*.showreel > div{
    width: 100%;
    height: 100%;
}
.showreel iframe{
    width: 100%;
    height: 100%;
}*/
.showreel > video{
    width: 100%;
    height: 56vw;
}
/*********************
 *     PROYECTOS     *
 ********************/
.proyectos{
    flex-wrap: wrap;
    flex-direction: row;
    height: 100vh;
    padding-right: 15%;
    padding-left: 15%;
    align-content: center;
}

.proyectos > a{
    width: 25%;
    margin: 2.5%;
    height: 15vw;
    background-size: 80%;
    background-position: center center;
    background-repeat: no-repeat;
    margin-top: 0px;
    margin-bottom: 0px;
}


/*********************
 *    BOTON MENU     *
 ********************/
input[type="checkbox"], .logo-movil{
    display:none;
}
label{
    display: flex;
    flex-direction: column;
    width: 30px;
    cursor: pointer;
    right: 5%;
    position:fixed;
    z-index: 20;
    box-sizing: content-box;
    padding: 10px;
    display: none;
    top: 17px;
}
label span{
    background: #FFF;
    height:2px;
    margin: 3px 0;
    transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
label span:nth-of-type(1){
    width:50%;
}
label span:nth-of-type(2){
    width:100%;
}
label span:nth-of-type(3){
    width:75%;
}    
input[type="checkbox"]:checked ~ span:nth-of-type(1){
    transform-origin:bottom;
    transform:rotatez(45deg) translate(2px,0px)
}
input[type="checkbox"]:checked ~ span:nth-of-type(2){
    transform-origin:top;
    transform:rotatez(-45deg)
}
input[type="checkbox"]:checked ~ span:nth-of-type(3){ 
    transform-origin:bottom;
    width:50%;
    transform: translate(30px,-11px) rotatez(45deg);
    transform: translate(12px, -4px) rotatez(45deg);
}
.abierto{
    background-color: var(--verde);
}

/*********************
 *      PRENSA       *
 ********************/
.prensa{
    flex-direction: row;
    flex-wrap: wrap;
    padding-top: 10vw;
}
.prensa > a{
    width: 30%;
    height: auto;
    margin-top: 1vw;
    margin-bottom: 1vw;
    margin-left: 1.5%;
    margin-right: 1.5%;
}
.prensa > a > div{
    width: 100%;
    height: 15vw;
    background-size: cover;
    background-position: center center;


    animation-name: zoomOut;
    animation-duration: .3s;
    animation-fill-mode: forwards;
}
.prensa > a:hover > div{
    animation-name: zoomIn;
}
.prensa > a > h2{
    padding-top: 1vw;
    padding-bottom: 1vw;
    text-align: center;
    font-variation-settings: "wdth" 80;
    text-transform: uppercase;
    color: #FFF;
}
@keyframes zoomIn{
    from{background-size: 120%}
    to{background-size: 180%}
}
@keyframes zoomOut{
    from{background-size: 180%}
    to{background-size: 120%}
}


@media (max-width: 480px){
    .inicio{
        height: 100vw;
    }
    .inicio > video{
        width: 175%;
    }
    .videos{
        padding-top: 0px;
        height: 83vh;
    }
    .videos > div{
        /*display: none;*/
    }
    .videos > article{
        padding-top: 0vw;
        padding-bottom: 0vw;
    }
    .videos > article > a{
        font-size: 4vw;
        height: auto;
        margin-bottom: 3vw;

        display: flex;
        flex-direction: column;
    }
    .videos > article:has(a:hover) a:hover, .videos > article > a{
        animation-name: none;
    }
    .videos > article:hover > a{
        opacity: 1;
    }
    header{
        z-index: 3;
        background-color: #000;
        justify-content: flex-start;
        height: 70px;
        /*-webkit-box-shadow: 0px 28px 20px 1px rgba(0, 0, 0, 1);*/
    }
    header > a{
        margin-left: 30px;
        width: 40px;
    }
    header > nav{
        display: none;
        position: fixed;
        top: 0px;
        width: 100%;
        height: calc(100% - 70px);
        background-color: #000;
        padding: 0px;
        flex-direction: column;
        align-items: center;
        top: 70px;
        padding-top: 0vw;
    }
    header > nav > a{
        width: 100%;
        text-align: center;
        font-size: 7vw;
        line-height: 3;
    }
    label{
        top: 13px;
        display: flex;
    }
    .inicio > article{
        scale: 3;
        margin-left: 4vw;
    }
    .tope{
        height: 70px;
    }
    .inicio > div{
        /*background: none !important;*/
    }
    .inicio > article > p{
        height: 5vw;
    }
    .inicio > article > p:nth-child(1) > span{
        font-size: 6vw;
    }
    .inicio > article > p:nth-child(2) > span{
        font-size: 6vw;
    }
    .inicio > article > p:nth-child(3) > span{
        font-size: 6vw;
    }
    .inicio > article > p:nth-child(4){
        font-size: 5.5vw;
    }
    .aroca{
        padding-top: 25vw;
        padding-bottom: 25vw;
    }
    .aroca > h1 {
        color: var(--amarillo);
        font-size: 6vw;
        padding-right: 1%;
        margin-top: 2vw;
    }
    .rodrigo > img{
        width: 150%;
    }
    .rodrigo > div{
        /*display: none;*/
        height: 86vw;
    }
    .rodrigo > article{
        padding-left: 7%;
        padding-right: 7%;
        padding-top: 15vw;
        padding-bottom: 15vw;
    }
    .rodrigo > article > h1{
        font-size: 4.5vw;
    }
    .rodrigo > article > h2{
        font-size: 4vw;
        margin-top: 5vw;
    }
    .rodrigo > article > p{
        font-size: 5vw;
        margin-top: 5vw;
    }
    .showreel{
        height: auto;
        padding: 0px;
        padding-top: 0vw;
        height: 70vw;
    }
    .inicio > a{
        width: 56%;
        left: 22%;
        padding: 2vw;
        font-size: 6vw;
        bottom: 15vw;
    }
    .proyectos{
        flex-direction: column;
    }
    .proyectos > a{
        width: 60%;
        height: 32vw;
    }
    .prensa{
        flex-direction: column;
    }
    .prensa > a{
        width: 100%;
    }
    .prensa > a > div{
        height: 40vw;
    }
    .prensa > a > h2{
        font-size: 5vw;
        padding-top: 3vw;
        padding-bottom: 3vw;
    }
    .entrada{
        padding-right: 10%;
        padding-left: 10%;
    }
    .entrada > div{
        width: 100%;
        height: 45vw;
    }
    .entrada > h1{
        font-size: 7vw;
        width: 100%;
        margin-top: 6vw;
        padding: 0px;
    }
    .entrada iframe{
        margin-top: 4vw;
        margin-bottom:4vw;
    }
    .entrada h2{
        font-size: 6vw;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
    .entrada p{
        font-size: 4vw;
        margin-top: 2vw;
        margin-bottom: 2vw;
    }
    .rodrigo{
        padding-bottom: 20vw;
    }
    .rodrigo > a {
        width: 56%;
        padding: 2vw;
        font-size: 6vw;
    }
}






a{
    text-decoration: none;
    color: inherit;
}