/**\
index.css
- Reset
- Cabecera
-Main
\**/
:root{
       scroll-behavior: smooth;
        font-size:100%;
        background-color: var(--color-beige);


}
*{
    margin:0;
    padding:0;
    border: 0;
    box-sizing: border-box;
}
li{
    list-style: none;
}
a{
    display: block;
    color:inherit;
    text-decoration: none;
}
p a{
    display: inline;
}
h1 , h2 , h3 , h4 , h5 , h6 , strong , em , mark, pre, code{
    font:inherit;
}
mark{
    background-color:transparent;
}
picture , img, video , iframe {
    display: block;
    max-width: 100%;
    width: 100%;
    height: initial;
}
svg{
    display: block;
    width: initial;
    height: initial;
    fill: currentColor;
}


form , input , select , option , textarea , label , fieldset , legend , button{
    display: block;
    font:inherit;
    background-color: initial;
}
fieldset {
    border : none ;
}
button , label{
    cursor: pointer;
}



/* pseudo-elemento especifico para personalizar la cabecera en cada página*/
.Cabecera-a--inicio::before {
  content: "";
  width: 15px;
  height: 15px;
  background-color: var(--color-azul);
  display: inline-block;
  border-radius: 50%;
  margin-right: .4rem;
}

/*PRIMER BLOQUE LLAMADO PORTADA:
-Titulo
- texto presentacion DESTACADO
-Elementos objetos*/

.Portada{
    min-height: 50vh;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-content: center;

    position: relative;

    max-width: 1200px;
    margin:auto;
    z-index:1
}

@media(max-width:700px){
    .Portada{
        min-height: auto;
        margin: 0rem 0rem 2rem;
    }
}

.Titulo{
    position: sticky;
    top: calc(var(--medida-cabecera) + 1rem);

    font-size: 2rem;
    font-weight: 300;
    z-index: 1;
}

@media(max-width:700px){
    .Titulo{
        font-size: 1.4rem;
        font-weight: 400;
    }
}

/*Objetos ordenador + taza + boli.*/

.Objeto{
    width: 100%;

    display: flex;
    flex-flow: row nowrap;
    justify-content: end;

    position: absolute;
    top: 16rem;
    right: 5rem;
    z-index: 0;
    

}


@media(max-width: 800px){
    .Objeto{
        top: 20rem;
    }
}

/*Especificaciones objeto taza*/

.Objeto-taza{
    width: 20%;
    height: fit-content;
    position: relative;

    animation: giroTaza linear both;
    animation-timeline: scroll(root block);
    animation-range: entry(40%)  exit(100%);
    transform-origin: top right;

}

@keyframes giroTaza {
    from{
        transform: rotate(-18deg) translateX(-20%) translateY(-50%);
    }
    to{
        transform: rotate(100deg) translateX(-20%) translateY(-50%);
    }
    
}

@media(max-width: 1000px){
    .Objeto-taza{
        width: 30%;
    }
}

/*Especificaciones objeto ordenador*/

.Objeto-ordenador{
    width: 30%;
    height: fit-content;
    position: relative;

    animation: giroOrdenador linear both;
    animation-timeline: scroll(root block);
    animation-range: entry(0%)  exit(100%);
    transform-origin: top right;

}

@keyframes giroOrdenador {
    from{
        transform: rotate(-10deg);
    }
    to{
        transform: rotate(70deg);
    }
    
}

@media(max-width: 700px){
    .Objeto-ordenador{
        width: 50%;
        margin: 0rem 0rem 0rem;
    }
}
/*Especificaciones objeto boli*/

.Objeto-boli{
    width: 30%;
    height: fit-content;
    position: absolute;

    left: 10%;
    top: 50%;

    animation: giroBoli linear both;
    animation-timeline: scroll(root block);
    animation-range: entry(0%)  exit(100%);
    transform-origin: center bottom;

}

@keyframes giroBoli {
    from{
        transform: rotate(0deg);
    }
    to{
        transform: rotate(190deg);
    }
    
}

@media(max-width: 700px){
    .Objeto-boli{
        width: 50%;

        left: 50%;
        top:120%;
    }
}
.Objeto-img{
    width: 80%;
}

/* Hasta aqui la primera parte*/

/*SEGUNDA PARTE: Texto en grande.
Aquí también se define: estilo d ela clase .Contenido para el resto de la página
*/

.Contenido{
    min-height: calc( 100vh - var(--medida-cabecera));
    z-index: 1;

    padding: 3rem 6rem;
    margin:auto;


    position: sticky;
    top: var(--medida-cabecera);
}

@media(min-height: 800px){
    .Contenido{
    position: static;
}
}

@media(max-width: 1000px){
    .Contenido{
    position: static;
}
}

@media(max-width: 700px){
    .Contenido{
        margin: auto ;
        padding: 0rem 0rem 3rem;

        top: -30%;
    }
}

.Contenido--portada{
    width: 100%;
    min-height: 100vh;
    position: static;
    z-index: 3;
    
}

@media(max-width: 1000px){
    .Contenido--portada{
        padding: 0rem 4rem 3rem;
    }
}

@media(min-height: 800px){
    .Contenido--portada{
        min-height: fit-content;
        padding: 0rem 1rem 6rem
    }
}

@media(max-width: 700px){
    .Contenido--portada{
        padding: 0rem 0rem 4rem;
        min-height: fit-content;
    }
}


.Destacado{
    width: 100%;
    position: relative;

    font-size: 3rem;
    font-weight: 300;
    text-align: center;
    line-height: 3.2rem;

    max-width: 1400px;
    margin: auto;
    z-index: 1;
}

@media(max-width: 1000px){
    .Destacado{
        font-size: 2.5rem;
        line-height: 2.5rem;
    }
}

@media(max-width: 700px){
    .Destacado{
        width: 100%;
        font-size: 1.5rem;
        line-height: 1.7rem;

        padding: 0rem 1rem 0rem;
        text-align: left;
    }
}


/* PANTALLAS DE CONTENIDO  */


.Contenido--azul{
    background-color: var(--color-azul);
}



.Contenido-div{
    margin: 2rem 0rem 0rem 0.5rem;
}

.Contenido-h2{
    width: 80%;
    font-size: var(--tipografia-titulos-size);
    font-weight: var(--tipografia-titulos-bold);

    line-height: var(--tipografia-titulos-size)
}

.Contenido--beis{
    background-color: var(--color-beige);
}

.Contenido-h2--beis{
    color: var(--color-beige)
}

@media(max-width: 1200px){
    .Contenido-h2{
        font-size: 4rem;
        line-height: 4rem;
    }
}

@media(max-width: 1000px){
    .Contenido-h2{
        font-size: 4rem;
        line-height: 4rem;
        width: 100%;
    }
}

@media(max-width: 800px){
    .Contenido-h2{
        width: 90%;
        min-height: fit-content;
        margin: auto;
        padding-top: 3rem;

        font-size: var(--tipografia-titulos-movil);
        line-height: var(--tipografia-titulos-movil);
    }
}


.Contenido-p{
    width: 70%;
    font-size: var(--tipografia-principal-size);

    margin: 3rem 0rem;
}


.Contenido-p--beis{
    color: var(--color-beige);
    margin: 3rem 0rem 1rem;
}

@media(max-width:1000px){
    .Contenido-p{
        width: 90%;;
    }
}

@media(max-width:800px){
    .Contenido-p{
        width: 90%;
        margin: auto;
        padding-top: 3rem;
    }
}



.Contenido-button{
    width: 10rem;
    min-height: 3rem;
    background-color: var(--color-azul);

    color: var(--color-beige);
    font-size: 1.3rem;
    font-weight: 400;
}

.Contenido-button:hover{
    color: var(--color-negro);
    text-decoration: underline;
}

@media(max-width:800px){
    .Contenido-button{
        margin:2rem 0rem 0rem 5%;

    }
}