:root {
    --negro: #000;
    --rojo: #eb0023;
    --blanco: #fff;
}

html, body {
	width: 100vw;
	margin: 0;
}
html {
	font-size: 0.8vw; /* para que rem = vw */
}
* {
	box-sizing: border-box;
}
.contenedor {
    min-height: 100vh;
    position: relative;
    padding-bottom: calc(10rem + min(calc(60vw / 1.1), 360px));
}

#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(--blanco);
}
.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid var(--rojo);
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: var(--rojo) 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: "Helvetica Neue Roman";
    font-size: 6rem;
    line-height: 6rem;
    padding: 4.75rem;
    border: none;
}

.botonRojo {
    color: var(--blanco);
    background-color: var(--rojo);
    background-image: url(../img/esquinatl.svg), url(../img/esquinatr.svg), url(../img/esquinabl.svg), url(../img/esquinabr.svg);
    background-size: 2.7rem 2.7rem;
    background-position: top left, top right, bottom left, bottom right;
    background-repeat: no-repeat;
    text-align: center;
    cursor: pointer;
    transition: transform 0.3s;
}
.botonRojo:hover, .botonRojo:active {
    transform: scale(0.95);
}

.bordeRojo, input {
    color: var(--rojo);
    background-color: var(--blanco);
    background-image: url(../img/bordetl.svg), url(../img/bordetr.svg), url(../img/bordebl.svg), url(../img/bordebr.svg),
        url(../img/bordet.svg), url(../img/bordeb.svg), url(../img/bordel.svg), url(../img/border.svg);
    background-size: 2.7rem 2.7rem;
    background-position: top left, top right, bottom left, bottom right, top, bottom, left, right;
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-x, repeat-x, repeat-y, repeat-y;
}

input {
    color: var(--negro);
    margin: 1rem 0;
}
::placeholder {
    color: var(--rojo);
    opacity: 1;
    text-align: center;
}

h1 {
    color: var(--rojo);
    font-family: "Helvetica Neue Heavy";
    font-weight: normal;
    font-size: 11.8rem;
    line-height: 11.8rem;
    text-align: center;
    margin: 0 0 4rem 0;
}

p {
    font-family: "Helvetica Neue Roman";
    font-size: 5rem;
}

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: 15.1rem;
    margin: 4rem 6rem 0 0;
}

#pagPortada .titulo {
    margin: 4rem 0 20rem 0;
    color: var(--rojo);
    font-family: "Helvetica Neue Heavy";
    font-size: 13.1rem;
    line-height: 13.1rem;
    text-align: center;
}

#errorForm {
    color: var(--rojo);
    font-family: "Helvetica Neue Bold";
    font-size: 5rem;
    text-align: center;
}

.enunciado {
    margin: 2rem 0 6rem 0;
    padding: 4.75rem 6rem;
    text-align: center;
}
.respuesta {
    margin: 1.5rem 0;
}

footer {
    position: absolute;
    width: 100%;
    bottom: 0;
    font-size: min(calc(60vw / 1.1), 360px); /* 1em = altura de footer */
}
footer .rightThings {
    background-image: url(../img/right-things.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: contain;
    aspect-ratio: 1.1;
    max-width: 60vw;
    max-height: 360px;
}
footer .rightThings .fecha {
    width: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    top: 0.59em;
    left: 0.21em;
    border-top: solid 1px #fff;
    border-bottom: solid 1px #fff;
    padding: 0.01em 0;
    color: var(--blanco);
}
footer .rightThings .fecha .cacho1 {
    font-family: "Helvetica Neue Heavy";
    font-size: 0.1em;
    line-height: 0.8;
}
footer .rightThings .fecha .cacho2 {
    font-family: "Helvetica Neue Heavy";
    font-size: 0.0558em;
    line-height: 1;
}
footer .rightThings .fecha .cacho3 {
    font-family: "Helvetica Neue Roman";
    font-size: 0.062em;
    line-height: 1;
}
footer {
    text-align: right;
}
footer img {
    position: absolute;
    bottom: 0.12em;
    right: 0.15em;
    width: 0.7em;
}

@media(min-width: 550px) {
	html {
		font-size: 0.5vw;
	}
}
@media(min-width: 800px) {
	html {
		font-size: 5px;
	}
    .contenedor {
        display: flex;
        flex-direction: column;
    }    
    .botonRojo {
        min-width: 600px;
    }
    .pagina {
        max-width: 800px;
        align-self: center;
    }
}
