:root {
    --negro: #000;
    --rojo: #eb0023;
    --amarillo: #ffdf01;
    --colorOk: #09cd21;
    --colorKo: #ff5400;
}

html, body {
	width: 100vw;
	margin: 0;
    color: var(--negro);
    background-color: var(--amarillo);
}
html {
	font-size: 0.8vw; /* para que rem = vw */
}
body {
    transition: background-color 0.3s;
}
body.ok {
    background-color: var(--colorOk);
}
body.ko {
    background-color: var(--colorKo);
}
* {
	box-sizing: border-box;
}
.contenedor {
    min-height: 100vh;
    position: relative;
    padding-bottom: 15rem;
}

#cargando {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: var(--amarillo);
}
.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid var(--negro);
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: var(--negro) transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}
@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.botonRojo, .bordeRojo, input {
    width: 100%;
    font-family: "PP Pangram Sans";
    font-size: 9.6rem;
    line-height: 9.6rem;
    padding: 4rem;
    border: none;
}

.botonRojo {
    color: var(--amarillo);
    background-color: var(--negro);
    border-radius: 2.7rem;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    transition: transform 0.3s;
}
.botonRojo:hover, .botonRojo:active {
    transform: scale(0.95);
}

.bordeRojo, input {
    color: var(--amarillo);
    background-color: var(--negro);
    border-radius: 2.7rem;
}

input {
    color: var(--amarillo);
    margin: 1rem 0 6rem 0;
    font-size: 5.6rem;
    line-height: 5.6rem;
}
::placeholder {
    color: var(--rojo);
    opacity: 1;
    text-align: center;
}

h1 {
    font-family: "PP Pangram Sans";
    font-weight: bold;
    font-size: 8rem;
    line-height: 8rem;
    text-align: left;
    align-self: start;
    margin: 0 0 4rem 0;
}

p {
    font-family: "PP Pangram Sans";
    font-size: 7.6rem;
}

p.nota {
    color: var(--rojo);
    font-size: 3.6rem;
    margin: 0;
}

.pagina {
    display: none;
    flex-direction: column;
    align-items: center;
    padding: 6rem 10rem 4rem 10rem;
}
.pagina.visible {
    display: flex;
}
.pagina.off {
    pointer-events: none;
    opacity: 0;
}
.pagina.transition {
    transition-duration: .4s;
}

header {
    text-align: right;
}
header img {
    height: 25rem;
    margin: 4rem 20rem 0 0;
}

#pagIdioma .botonRojo {
    margin-bottom: 4rem;
}

#pagPortada {
    padding-top: 0;
}
#pagPortada .titulo {
    font-family: "PP Pangram Sans";
    font-weight: lighter;
}
#pagPortada .titulo1 {
    margin-bottom: 8rem;
    font-size: 29rem;
    line-height: 29rem;
}
#pagPortada .titulo1 img {
    display: inline-block;
    margin-bottom: 4rem;
    height: 5.6rem;
}
#pagPortada .titulo2 {
    margin: 4rem 0 15rem 0;
    padding-left: 26rem;
    background-image: url(../img/estrella.svg);
    background-position: left 1rem;
    background-repeat: no-repeat;
    background-size: 16rem auto;
    font-size: 17rem;
    line-height: 17rem;
}
#pagPortada .titulo2 .mini {
    font-size: 11.1rem;
    line-height: 11.1rem;
}
#pagPortada .titulo p {
    font-size: 10rem;
    line-height: 12rem;
}
#pagPortada .imgProfe {
    display: block;
    width: 100%;
    padding: 0 10rem;
}

label {
    font-family: "PP Pangram Sans";
    font-size: 6.8rem;
    align-self: start;
}
#errorForm {
    color: var(--negro);
    font-family: "PP Pangram Sans";
    font-weight: bold;
    font-size: 5rem;
    text-align: left;
}

.enunciado {
    margin: 2rem 0 6rem 0;
    padding: 4.75rem 0;
    text-align: left;
    font-family: "PP Pangram Sans";
    font-size: 9.2rem;
    align-self: start;
}
.respuesta {
    margin: 1.5rem 0;
    font-size: 8rem;
    line-height: 8rem;
    padding: 16rem 8rem;
    text-align: left;
}

#pagCorrecto img, #pagIncorrecto img {
    width: 100%;
}
#pagCorrecto #feedOk, #pagIncorrecto #feedKo {
    font-weight: bold;
    text-align: center;
    font-size: 11.2rem;
    line-height: 13rem;
    padding: 12rem 8rem;
    margin-bottom: 8rem;
}
#pagCorrecto #feedOk {
    color: var(--colorOk);
}
#pagIncorrecto #feedKo {
    color: var(--colorKo);
}

@media(min-width: 550px) {
	html {
		font-size: 0.5vw;
	}
}
@media(min-width: 800px) {
	html {
		font-size: 3.5px;
	}
    .contenedor {
        display: flex;
        flex-direction: column;
    }    
    .botonRojo {
        min-width: 600px;
    }
    .pagina {
        max-width: 800px;
        align-self: center;
        padding-top: 0;
    }

    #pagPortada {
        margin: -8rem 0;
    }
    #pagPortada .titulo1 {
        font-size: 25rem;
        line-height: 25rem;
    }
    #pagPortada .titulo2 {
        font-size: 14rem;
        line-height: 14rem;
        margin-bottom: 5rem;
    }
    #pagPortada .titulo2 .mini {
        font-size: 8rem;
        line-height: 8rem;
    }
    #pagPortada .titulo p {
        font-size: 7rem;
        line-height: 8rem;
    }
    #pagPortada .imgProfe {
        width: 60%;
    }
    #pagCorrecto img, #pagIncorrecto img {
        width: 70%;
    }
    #pagCorrecto #feedOk, #pagIncorrecto #feedKo {
        font-size: 8rem;
        line-height: 9rem;
        padding: 8rem;
    }
}
