@import url('https://fonts.googleapis.com/css2?family=Anton&family=Kalam:wght@300;400;700&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
/***********************************
 * PALETA DE COLORES Y TIPOGRAFIAS *
 ***********************************/
:root{
    --poppins: "Poppins", sans-serif;
    --anton: "Anton", sans-serif;
    --kalam: "Kalam", cursive;
    --texto: var(--poppins);
    --altura-header: 70px;
    --amarillo: #dee246;
    --crema: #d8d1cb;
    --azul: #173242;
    --boton-menu: var(--amarillo);
    --capa-boton-menu: 5;
    --capa-header: 3;
    --radio: 10px;
    --color-texto: #000;
    --color-logo-header: #FFF;
    --fondo-1: #000;
    --color-texto-1: #FFF;
}


body,
section,
article,
header,
a,
h1,
h2,
h3,
h4,
h5,
h6,
p{
    transition:
        background-color .6s ease,
        color .6s ease,
        border-color .6s ease;
}

/*********************
 * CSS RESET *
 ********************/
*, *::before, *::after {
    box-sizing: border-box;
}
* {
    margin: 0;
    box-sizing: border-box;
    position: relative;
}
html, body {
    height: 100%;
}
html {
    scroll-behavior: smooth;
}
body {
    line-height: 1.2;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    margin: 0 auto;
    font-family: var(--texto);
    background-color: var(--crema);
    color: var(--color-texto);
}
section{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

section > aside{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
}
input, button, textarea, select {
    font:inherit;
    color:inherit;
    border:none;
    background:none;
    outline:none;
}
p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    width: 100%;
    font-weight: 400;
}
ul, ol {
    list-style: none;
    padding: 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
li{
}

a{
    text-decoration: none;
    color: inherit;
}
h1, h3 > span, h5{
    /*color: var(--verde);*/
}
h3{
    font-weight: 800;
}
h1, h2, h5{
    font-weight: bolder;
    line-height: 1;
}
h6{
    /*color: #FFF;*/
}
h6 > span{
    color: var(--azul);
}
label{
    font-weight: 800;
}

/*********************
 *     GLOBALES      *
 ********************/
h1{
    font-size: 2.6vw;
}
h2{
    font-size: 1.6vw;
}
h3{
    font-size: 1.5vw;
}
h5, h6{
    font-size: 1.3vw;
}
p, li, a, h4{
    font-size: 1.1vw;
}
p, h3, h4, h5, ul, ol{
    margin-top: 1.5vw;
}
label, input{
    font-size: .9vw;
}
h6{
    letter-spacing: .4vw;
    margin-top: 1vw;
}
li{
    padding-top: .75vw;
    padding-bottom: .75vw;
}
section{
    padding-top: 10vw;
    padding-bottom: 10vw;
    padding-left: 8%;
    padding-right: 8%;
}
section > article{
    width: 45%;
}
section > aside{
    width: 55%;
    height: 100%;
}

/*********************
 * ESTILOS GENERALES *
 ********************/
.tope{
    position: relative;
    width: 100%;
    height: 80px;
}
.solo-movil{
    display: none;
}
body > a{
    display: flex;
    position: fixed;
    right: 5%;
    top: 18px;
    z-index: 4;
    justify-content: center;
    align-items: center;
    color: var(--cafe-oscuro);
    padding: 6px;
    /*background-color: var(--beige);*/
    font-size: 14px;
}
body > a:hover{
    background-color: var(--beige);
}
body > a > img{
    width: 25px;
    margin-right: 5px;
}



/*********************
 *      HEADER       *
 ********************/
header{
    position: fixed;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 2;
    height: 80px;
    background-color: var(--fondo-1);
    border-bottom: solid 1px #FFF;
}
header > nav{
    width: 855px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 40px;
    padding-left: 40px;
}
header > nav > a{
    font-size: 11px;
    color: var(--color-texto-1);
    height: 100%;
    font-weight: 300;
    line-height: 40px;
    padding-left: 25px;
    padding-right: 25px;
    letter-spacing: 3px;
    display: flex;
    justify-content: center;
    align-items: center;
}
header > nav > a:hover{
    background-color: var(--amarillo);
    color: #000;
}
header > div{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 100%;
    margin-left: 8%;
    overflow: hidden;
}
header > div > svg:nth-child(1){
    width: 45%;
}
header > div > svg{
    width: 50%;
    margin-left: 5%;
}
header > div > svg *{
    fill: var(--color-logo-header);
}
header > div > svg .cls-1{
    fill: var(--color-logo-header);
}

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


/*********************
 *      BANNER       *
 ********************/
.banner{
    padding: 0px;
}
.banner video{
    width: 100%;
}

/*********************
 *      INICIO       *
 ********************/
.inicio{
    padding-top: 3vw;
    padding-bottom: 10vw;
    background-image: url(images/42093334-c121-46c2-be4e-1ae96cdf2b9c.webp);
    background-color: #000;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 60% 105%;
}
.inicio > article{
    width: 100%;
    padding-right: 55%;
}
.inicio > article > h3{
    font-weight: 400;
    font-size: .7vw;
    margin-bottom: 1vw;
    letter-spacing: .3vw;
    color: var(--amarillo);
}
.inicio svg {
    width: 100%;
}
.inicio svg:nth-child(2) path{
    fill: var(--crema);
}
.inicio svg:nth-child(3){
    width: 60%;
}
.inicio svg:nth-child(3) path{
    fill: var(--amarillo);
}
.inicio p{
    color: #FFF;
    font-weight: 300;
    line-height: 1.5;
}

/*********************
 *     CINTILLO      *
 ********************/
.cintillo {
    width: 100%;
    padding: 0;
    line-height: 3;
    display: flex;
    overflow: hidden;
    background-color: var(--amarillo);
}
.cintillo-track {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    width: max-content;
    min-width: max-content;
    flex-shrink: 0;
    animation: marquee var(--marquee-duration, 20s) linear infinite;
    will-change: transform;
}
.cintillo-group {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    width: max-content;
    flex-shrink: 0;
}
.cintillo p {
    display: block;
    position: static;
    width: auto;
    min-width: 0;
    max-width: none;
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
    padding: 0 10px 0 0;
    font-family: var(--anton);
    font-size: 1.6vw;
    text-align: left;
    transform: none;
    opacity: 1;
    visibility: visible;
}
@keyframes marquee {
    from {
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-50%, 0, 0);
    }
}
@media (max-width: 768px) {
    .cintillo p {
        font-size: 18px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .cintillo-track {
        animation: none;
    }
}

/*********************
 *     APRENDER      *
 ********************/
.aprender{
    background-color: var(--crema);
}
.aprender h2{
    font-size: 3.3vw;
    font-weight: 300;
    padding-right: 27%;
}
.aprender span{
    font-weight: 500;
}
.aprender span > img{
    position: absolute;
    top: -3vw;
    left: -2vw;
    width: 115%;
    max-width: none;
}
.aprender p{
    font-size: 2vw;
    /*padding-left: 5%;*/
    margin-top: 3vw;
    font-family: var(--kalam);
}

/*********************
 *       IDEAS       *
 ********************/
.ideas{
    background-color: var(--amarillo);
}
.ideas > h2{
    font-size: 15vw;
    font-family: var(--anton);
    font-weight: 400;
    text-align: center;
}

/*********************
 *     CONSTRUIR     *
 ********************/
.construir{
    background-color: #000;
}
.construir > article{
    width: 100%;
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.construir > article > h2{
    font-size: 12vw;
    font-weight: 400;
    font-family: var(--anton);
    color: var(--amarillo);
    width: fit-content;
}
.construir > article > div{
    height: 13vw;
    width: 38%;
    background-size: cover;
    background-position: center center;
}
.construir > aside{
    width: 50%;
}
.construir > aside > h2{
    color: #FFF;
    font-weight: 400;
    line-height: 1.2;
    padding-right: 10%;
    padding-top: 4vw;
}
.construir > aside > p{
    color: var(--amarillo);
}
.construir > aside:nth-child(4){}


/*********************
 *    CRONOLOGIA     *
 ********************/
.cronologia{
    padding-top: 0px;
    padding-bottom: 0px;
    background-color: #FFF;
}
.cronologia > h1{
    padding-top: 10vw;
    font-size: 7.5vw;
    font-family: var(--anton);
    font-weight: 400;
    margin-bottom: 6vw;
}
.cronologia > h2{
    font-family: var(--anton);
    font-weight: 400;
    font-weight: 400;
    width: fit-content;
    width: 14%;
    font-size: 1.2vw;
    letter-spacing: .4vw;
    text-align: center;
}
.cronologia > div{
    width: 43%;
    height: 1px;
    background-color: #000;
}
.cronologia > aside{
    width: 100%;
    padding-bottom: 10vw;
    overflow: hidden;
}
.cronologia article.fecha{
    display: flex;
    flex-wrap: wrap;
    margin-top: 2vw;
    align-items: center;
}
.cronologia article.fecha > h3{
    font-size: 8vw;
    color: var(--crema);
    font-family: var(--anton);
    font-weight: 800;
    width: 20%;
    margin-right: 2.5%;
    margin-left: 2.5%;
}
.cronologia article.fecha > article{
    width: 45%;
    padding-right: 5%;
    padding-left: 5%;
}
.cronologia article.fecha > article > h1{
    margin-top: 1vw;
    margin-bottom: 1vw;
    font-size: 2.4vw;
    font-weight: 400;
    font-family: var(--anton);
    line-height: 1.2;
}
.cronologia article.fecha > article > p{
    padding-right: 20%;
}
.cronologia article.fecha > article > p:first-child, .cronologia article.fecha > article > h1{
    text-transform: uppercase;
}
.cronologia article.fecha > div{
    width: 30%;
    height: 13vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
.cronologia > p{
    position: absolute;
    top: 46vw;
    font-size: 2vw;
    width: fit-content;
    cursor: pointer;
}
.cronologia > p:hover{
    color: var(--amarillo);
}
.cronologia > p.atras{
    left: 3%;
}
.cronologia > p.adelante{
    right: 3%;
}

/*********************
 *    PREGUNTAS      *
 ********************/
.preguntas{
    padding-top: 13vw;
    padding-bottom: 13vw;
    background-color: var(--azul);
}
.preguntas span > img{
    position: absolute;
    top: 0vw;
    left: -2vw;
    width: 115%;
    max-width: none;
}
.preguntas *{
    color: #FFF;
}
.preguntas > h1{
    font-size: 5.5vw;
    width: 70%;
    font-family: var(--kalam);
    font-weight: 400;
}
.preguntas > p{
    width: 30%;
    line-height: 1.5;
    font-size: 1vw;
}
.preguntas > aside{
    width: 100%;
    margin-top: 5vw;
    border-top: solid 1px rgba(255,255,255,.3);
    display: flex;
    align-items: flex-start;
}
.preguntas > aside > article{
    width: 25%;
    border-right: solid 1px rgba(255,255,255,.3);
    padding: 1.5vw;
}
.preguntas > aside > article:last-child{
    border: 0px;
}
.preguntas > aside > article > h3{
    font-weight: 400;
    font-family: var(--anton);
    color: var(--amarillo);
    padding-top: 0px;
    margin-top: 0px;
    margin-bottom: 1vw;
}
.preguntas > aside > article > h2{
    font-weight: 400;
    font-family: var(--anton);
    font-size: 3vw;
}

/*********************
 *   CONFERENCIAS    *
 ********************/
.conferencias{
}
.conferencias > h1{
    font-size: 8vw;
    font-weight: 400;
    font-family: var(--anton);
}
.conferencias > aside{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 5vw;
}
.conferencias > aside > article:nth-child(1){
    width: 48%;
    margin-left: 0px;
}
.conferencias > aside > article:nth-child(1) > div{
    height: 22vw;
}
.conferencias > aside > article:nth-child(1)  > h1{
    font-size: 2.8vw;
}
.conferencias > aside > article:nth-child(3){
    margin-right: 0px;
}
.conferencias > aside > article{
    width: 24%;
}
.conferencias > aside > article > div{
    width: 100%;
    background-color: #000;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 14vw;
}
.conferencias > aside > article > p{
    font-size: .9vw;
    margin-top: 1vw;
    margin-bottom: .7vw;
}
.conferencias > aside > article > h1{
    font-family: var(--anton);
    font-weight: 400;
    font-size: 2vw;
    line-height: 1.2;
}

/*********************
 *     CONTACTO      *
 ********************/
.contacto{
    align-items: flex-end;
    background-color: #000;
    color: var(--crema);
}
.contacto > aside > h1{
    font-weight: 300;
    letter-spacing: 1vw;
    line-height: 1.5;
}
.contacto > aside > h2{
    font-weight: 400;
    font-family: var(--anton);
    font-size: 2.2vw;
    margin-top: 4vw;
}
.contacto > aside > form{
    width: 100%;
    /*background-color: #FA0;*/
}
.contacto > aside > form label{
    margin-top: 2vw;
    display: block;
    margin-bottom: 1vw;
}
.contacto > aside > form input{
    width: 65%;
    line-height: 4;
    padding-left: 2%;
    padding-right: 2%;
    background-color: #000;
    border:solid 1px rgba(255,255,255,.3);
}
.contacto > aside > form input[type=submit]{
    width: 22%;
    font-weight: 700;
    letter-spacing: .1vw;
    background-color: var(--amarillo);
    color: #000;
    cursor: pointer;
}
.contacto > aside > form input[type=submit]:hover{
    background-color: #FFF;
}
.contacto > article {
    padding-bottom: 1vw;
}
.contacto > article > div{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}
.contacto > article a{
    display: block;
    margin-right: 1vw;
    margin-top: 2vw;
    font-size: 1.6vw;
    color: var(--crema);
}
.contacto > article a:hover{
    color: var(--amarillo);
}
.contacto > article h2{
    font-weight: 400;
    font-family: var(--anton);
    font-size: 2.2vw;
    margin-top: 4vw;
}
.contacto > article p{
    font-size: 1.4vw;
}

/*********************
 *      FOOTER      *
 ********************/
footer{
    padding-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    padding-right: 8%;
    padding-left: 8%;
    background-color: #000;
    align-items: flex-end;
    justify-content: space-between;
}
footer > aside{
    width: 25%;
}
footer > article{
    width: 10%;
}
footer svg path{
    fill: var(--crema);
}
footer > div{
    width: 100%;
    margin-top: 2vw;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    border-top: solid 1px rgba(255, 255, 255, .3);
}
footer p{
    color: #FFF;
    width: 50%;
}
footer > div > p:nth-child(2){
    text-align: right;
    font-size: 12px;
}

@media (max-width: 480px){
    .inicio{
        padding-top: 10vw;
        padding-bottom: 10vw;
        height: 80vh;
        background-position: bottom right;
        background-size: 100%;
        align-items: flex-start;
    }
    .inicio svg{
        width: 80%;
    }
    .inicio > article{
        padding-right: 0px;
    }
    .inicio > article > h3{
        font-size: 3vw;
    }
    .inicio p{
        font-size: 4vw;
    }

    .aprender{
        padding-top: 25vw;
        padding-bottom: 25vw;
    }
    .aprender h2{
        font-size: 7vw;
        padding-right: 0px;
    }
    .aprender p{
        font-size: 6vw;
        margin-top: 10vw;
    }
    .aprender span > img{
        top: -6vw;
    }

    .ideas{
        padding-top: 25vw;
        padding-bottom: 25vw;
    }
    .ideas > article{
        margin-top: 7vw;
        margin-bottom: 7vw;
    }

    .construir{
        padding-top: 25vw;
        padding-bottom: 25vw;
    }
    .construir > article > h2{
        font-size: 17vw;
        margin-top: 5vw;
        margin-bottom: 5vw;
    }
    .construir > article > div{
        height: 30vw;
        width: 100%;
    }
    .construir > article:nth-child(2) > div{
        display: none;
    }
    .construir > aside{
        width: 100%;
    }
    .construir > aside > h2{
        font-size: 5vw;
        margin-bottom: 5vw;
    }
    .construir > aside > p{
        font-size: 4vw;
    }

    .cronologia{
        padding-top: 15vw;
        padding-bottom: 15vw;
    }
    .cronologia > h1{
        font-size: 15vw;
    }
    .cronologia > h2{
        font-size: 4vw;
        width: 30%;
    }
    .cronologia > div{
        width: 35%;
    }
    .cronologia article.fecha > h3 {
        font-size: 20vw;
        width: 100%;
        margin-right: 0px;
        margin-left: 0px;
        text-align: center;
    }
    .cronologia article.fecha > article {
        width: 100%;
        padding-right: 0px;
        padding-left: 0px;
    }
    .cronologia article.fecha > article > p{
        font-size: 4vw;
        padding-right: 0px;
        text-align: center;
    }
    .cronologia article.fecha > article > h1 {
        margin-top: 2vw;
        margin-bottom: 3vw;
        font-size: 11vw;
        text-align: center;
        line-height: 1.3;
    }
    .cronologia article.fecha > div{
        width: 100%;
        height: 45vw;
        margin-top: 5vw;
    }
    .cronologia > p{
        display: none;
    }

    .preguntas{
        padding-top: 25vw;
    }
    .preguntas > h1 {
        font-size: 12vw;
        width: 105%;
        font-family: var(--kalam);
        font-weight: 400;
    }
    .preguntas > p {
        width: 100%;
        margin-top: 5vw;
        font-size: 5vw;
    }
    .preguntas > aside > article {
        width: 100%;
        border-right: 0px;
        padding: 0vw;
        padding-top: 7vw;
        padding-bottom: 7vw;
        border-bottom: solid 1px rgba(255, 255, 255, .3);
    }
    .preguntas > aside > article > h3{
        font-size: 4vw;
    }
    .preguntas > aside > article > h2{
        font-size: 7vw;
    }
    .preguntas > aside > article > p{
        font-size: 4vw;
    }

    .conferencias > h1{
        font-size: 15vw;
    }
    .conferencias > aside > article:nth-child(1), .conferencias > aside > article{
        width: 100%;
        margin-bottom: 5vw;
    }
    .conferencias > aside > article:nth-child(1) > div, .conferencias > aside > article > div{
        height: 40vw;
    }
    .conferencias > aside > article > p{
        font-size: 3vw;
    }
    .conferencias > aside > article:nth-child(1) > h1, .conferencias > aside > article > h1{
        font-size: 7vw;
    }

    .contacto{
        padding-top: 20vw;
    }
    .contacto > aside, .contacto > article{
        width: 100%;
    }
    .contacto > aside > h1{
        font-size: 7vw;
    }
    .contacto > aside > h2{
        font-size: 5vw;
    }
    .contacto > aside > form label{
        font-size: 4vw;
        margin-top: 5vw;
    }
    .contacto > aside > form input{
        font-size: 4vw;
        width: 100%;
        margin-top: 5vw;
    }
    .contacto > aside > form input[type=submit]{
        width: 50%;
    }
    .contacto > article h2{
        font-size: 10vw;
        line-height: 1.2;
    }
    .contacto > article p{
        font-size: 4vw;
    }
    .contacto > article a {
        display: block;
        margin-right: 4vw;
        margin-top: 5vw;
        font-size: 5vw;
        color: var(--crema);
    }

    footer{
        justify-content: flex-end
    }
    footer > article {
        width: 20%;
        padding-bottom: 5vw;
    }
    footer > div {
        width: 100%;
        padding-top: 3vw;
        flex-direction: column-reverse;
        align-content: center;
    }
    footer p{
        font-size: 3vw;
        width: 100%;
        text-align: center;
    }
    footer > div > p:nth-child(2){
        text-align: center;
    }
    footer > aside{
        display: none;
    }

    #burger{
        display: flex;
    }
    header > nav{
        position: fixed;
        width: 100%;
        height: 100vh;
        top: 80px;
        background-color: var(--crema);
        flex-direction: column;
        justify-content: center;
        padding-bottom: 150px;
        display: none;
    }
    header > nav > a {
        font-size: 5vw;
        height: auto;
        line-height: initial;
        padding-left: 0px;
        padding-right: 0px;
        letter-spacing: 3px;
        color: #000;
        line-height: 3;
    }
}


