/*Importación de letra
@import url('https://fonts.googleapis.com/css2?family=Silkscreen&display=swap');*/

/*********************
Configuración general
**********************/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Silkscreen";
    user-select: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
    background-color: #000000;
    overflow: hidden;
}

body:hover {
    cursor: url("../img/generales/puntero.png"), auto;
}

@font-face {
    font-family: Silkscreen;
    src: url("../fnt/Silkscreen-Regular.ttf");
}

/*Diseño de contenedores*/

#contenedor, #contenedor-muerte, #contenedor-entrada, #contenedor-primera-pesadilla, #contenedor-salon, #contenedor-segunda-pesadilla, #contenedor-espejo, #contenedor-tercera-pesadilla, #contenedor-despertar {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    overflow: hidden;
    position: relative;
}

#contenedor {
    background: #000000 url("../img/fondo-portada-escritorio.webp") no-repeat center center;
}

@media screen and (max-width: 430px) {
    #contenedor {
        background: #000000 url("../img/fondo-portada-escritorio.webp") no-repeat center center / 270%;
    }
}

/*Estilos específicos de botones en general*/

#introduccion button:hover {
    cursor: url("../img/generales/mano.png"), auto;
}

/***************************************
Mensaje de giro, para versiones móviles
***************************************/

/*Estilos para los avatares de la versión móvil*/

.avatar-reto {
    width: 50px;
    position: absolute;
    transition: all 0.3s;
    animation-name: animacionMovil;
    animation-duration: 1.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes animacionMovil {
    0%{
        transform: scale(1, 1);
    }
    25%{
        transform: scale(1.4, 1.4);
    }
    50%{
        transform: scale(0.8, 0.8);
    }
    75%{
        transform: scale(0.6, 0.6);
    }
    100%{
        transform: scale(1, 1);
    }
}

/*Mensaje de giro en pantalla*/

#mensajeGiro {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 20px;
    font-size: 1.6rem;
    color: white;
    background-color: black;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.4s;
    z-index: 1000;
}

#mensajeGiro img {
    width: 150px;
    animation-name: giroIcono;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes giroIcono {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-15deg);
    }
    50%{
        transform: rotate(-25deg);
    }
    75%{
        transform: rotate(-15deg);
    }
    100%{
        transform: rotate(0deg);
    }
}

/*********************
Página inicial
**********************/

/*Formulario de acceso*/

h1 {
    font-size: 1.3rem;
    color: rgb(172, 113, 66);
    margin: 0px 0px 20px 0px;
}

label, span {
    color: #6dfff5;
}

span {
    transition: all 0.3s;
}

#inicio {
    width: 350px;
    display: none;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    transition: all 0.3s;
    position: relative;
}

#inicio:hover {
    box-shadow: 0px 0px 30px #1e697a;
}

#inicio > input, select {
    width: 100%;
    padding: 10px;
    margin: 5px 0px 10px 0px;
    border: 2px solid rgb(100, 64, 34);
    border-radius: 5px;
    transition: all 0.3s;
    color: #1e697a;
}

#inicio > input:focus, #inicio select:focus {
    outline: none;
    border: 2px solid #1e697a;
}

#bloque-envio {
    width: 174px;
    height: 38px;
    align-self: center;
    position: relative;
    margin: 25px 0px 0px 0px;
    overflow: hidden;
}

#bloque-envio:hover #cerradura{
    top: -2px;
    left: -2px;
}

#bloque-envio input:first-child {
    width: 100%;
    padding: 10px 20px 10px 20px;
    border: none;
    border-radius: 5px;
    background-color: #efbd77;
    transition: all 0.3s;
    position: absolute;
    top: 0;
    left: 0;
}

#cerradura {
    width: 105%;
    height: 40px;
    background-image: url("../img/logeo/cerradura.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: all 0.3s;
    position: absolute;
    top: 40px;
    left: 0;
}

#cerradura:hover {
    cursor: url("../img/logeo/llave.png"), auto;
}

/*Bloque para continuar*/

#bloque-continue, #bloque-aviso {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    width: 500px;
    position: absolute;
    top: 10px;
    left: calc(50% - 250px);
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    opacity: 0;
    transition: all 0.9s;
}

#bloque-elementos, #bloque-opciones {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 20px;
}

/*Bloque para el aviso de dificultad*/

#aviso-dificultad {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    position: absolute;
    top: 0;
    left: 0;
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    transition: all 0.4s;
}

/*Bloque para reiniciar y aviso de premio*/

#bloque-reinicio, #bloque-info-correo {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    position: absolute;
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 1);
    opacity: 0;
    transition: all 0.9s;
}

#bloque-info-correo p {
    text-align: center;
}

#bloque-reinicio p, #bloque-info-correo p {
    width: 70%;
}

@media screen and (max-width: 430px) {
    #bloque-continue {
        width: 310px;
        left: calc(50% - 155px);
    }
    #bloque-reinicio p, #bloque-info-correo p {
        width: 100%;
    }
}

/*************************
Diseño de la presentación
*************************/

/*Bloque con texto.*/

#presentacion {
    width: 350px;
    height: 300px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    transition: all 2s;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.bloque-presentacion {
    position: absolute;
    top: 300px;
    animation-name: texto-presentacion;
    animation-duration: 55s;
    animation-timing-function: linear;
}

@keyframes texto-presentacion {
    0%{
        top: 300px;
    }
    100%{
        top: -700px;
    }
}

#presentacion p {
    margin: 10px 10px 10px 0px;
}

#presentacion img {
    width: 20px;
    position: absolute;
    bottom: 5px;
    right: 5px;
    border: 1px solid rgba(41, 40, 40, 0.7);
    border-radius: 3px;
    padding: 3px;
}

#presentacion img:hover {
    cursor: url("../img/generales/mano.png"), auto;
}

/*Animación de imágenes y características.*/

#criatura {
    width: 500px;
    opacity: 0;
    animation-name: criatura;
    animation-duration: 18s;
    animation-timing-function: linear;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
}

@keyframes criatura {
    0%{
        opacity: 0;
    }
    25%{
        opacity: 0.5;
    }
    50%{
        opacity: 1;
    }
    75% {
        opacity: 0.5;
    }
    100% {
        opacity: 0;
        display: none;
    }
}

#figura {
    width: 300px;
    opacity: 0;
    animation-name: figura;
    animation-duration: 18s;
    animation-timing-function: linear;
    position: absolute;
    top: 35px;
    left: 0;
    z-index: 0;
}

@keyframes figura {
    0%{
        opacity: 0;
    }
    25%{
        opacity: 0.5;
    }
    50%{
        opacity: 1;
    }
    75% {
        opacity: 0.5;
    }
    100% {
        opacity: 0;
    }
}

#muerte {
    width: 500px;
    opacity: 0;
    animation-name: muerte;
    animation-duration: 18s;
    animation-timing-function: linear;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 0;
}

@keyframes muerte {
    0%{
        opacity: 0;
    }
    25%{
        opacity: 0.5;
    }
    50%{
        opacity: 1;
    }
    75% {
        opacity: 0.5;
    }
    100% {
        opacity: 0;
    }
}

#titulo-aventura {
    display: none;
    text-align: center;
    justify-content: center;
    flex-direction: column;
    width: 500px;
    height: 250px;
    position: relative;
    opacity: 1;
    transition: all 0.5s;
}

@media screen and (max-width: 430px) {
    #titulo-aventura {
        width: 310px;
    }
}

#titulo-aventura img {
    width: 100%;
    position: absolute;
    animation-name: aumento-imagen;
    animation-duration: 3s;
    animation-timing-function: linear;
}

@media screen and (max-width: 430px) {
    #titulo-aventura img {
        animation-name: aumento-imagen-mobile;
    }
}

@keyframes aumento-imagen {
    0% {
        width: 1px;
        top: 172px;
        left: calc(52%);
    }
    100% {
        top: 0;
        left: 0;
    }
}

@keyframes aumento-imagen-mobile {
    0% {
        width: 1px;
        top: 172px;
        left: calc(52%);
    }
    100% {
        top: 48px;
        left: 0;
    }
}

#titulo-aventura button {
    position: absolute;
    bottom: -50px;
    left: calc(50% - 60px);
    box-shadow: 0px 5px 5px black;
    animation-name: animacion-despertar;
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

#titulo-aventura button:hover {
    cursor: url("../img/generales/mano.png"), auto;
}

@keyframes animacion-despertar {
    0% {
        box-shadow: 0px 0px 0px rgb(226, 186, 5);
    }
    25% {
        box-shadow: 0px 0px 15px rgb(226, 186, 5);
    }
    50% {
        box-shadow: 0px 0px 30px rgb(226, 186, 5);
    }
    75%{
        box-shadow: 0px 0px 15px rgb(226, 186, 5);
    }
    100% {
        box-shadow: 0px 0px 0px rgb(226, 186, 5);
    }
}

/*************************
Diseño de la introducción
*************************/

#introduccion {
    width: 350px;
    display:none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    transition: all 0.3s;
}

#introduccion p {
    margin: 0px 0px 20px 0px;
}

/*Estilo de todos los botones*/

#introduccion button, #titulo-aventura button, #reiniciar, #izquierda, #derecha, #valiente, #inicionuevo, #envioemail, #continuar, #botonSalir, #botoncontinuar, #bloque-opciones button, #bloque-info-correo button, #bloque-info-correo button, #aviso-dificultad #boton-ok {
    border: none;
    border-radius: 5px;
    background-color: #efbd77;
    padding: 10px 20px 10px 20px;
    transition: all 0.3s;
}

#aviso-dificultad > #boton-ok {
    font-size: 0.9rem;
    color: black;
}

/*Aparición de rayos*/

#rayo {
    width: 300px;
    display: none;
    position: absolute;
    top: 0;
    left: 10px;
    filter: drop-shadow(0px 0px 35px white);
}

/*******************************
Diseño de la pantalla de muerte
*******************************/

#descripcion-muerte, #descripcion-entrada, #descripcion-primera-pesadilla, #descripcion-salon, #descripcion-segunda-pesadilla, #descripcion-espejo, #descripcion-tercera-pesadilla, #descripcion-despertar {
    width: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: white;
    border-radius: 10px;
    padding: 20px 20px 20px 20px;
    background-color: rgba(0, 0, 0, 0.8);
    transition: all 0.3s;
    position: relative;
}

#descripcion-muerte p, #descripcion-entrada p, #descripcion-primera-pesadilla p, #descripcion-salon p, #descripcion-segunda-pesadilla p, #descripcion-espejo p, #descripcion-tercera-pesadilla p, #descripcion-despertar p {
    margin: 0px 0px 20px 0px;
}

#descripcion-muerte button:hover, #descripcion-entrada button:hover, #descripcion-primera-pesadilla button:hover, #descripcion-salon button:hover, #descripcion-segunda-pesadilla button:hover, #descripcion-espejo button:hover, #descripcion-tercera-pesadilla button:hover, #descripcion-despertar button:hover, #inicionuevo:hover, #botoncontinuar:hover, #botonSalir:hover, #bloque-opciones button:hover, #saltar-pesadilla-uno:hover, #saltar-pesadilla-dos:hover, #saltar-pesadilla-tres:hover, #envioemail:hover, #bloque-info-correo button:hover, #aviso-dificultad #boton-ok:hover {
    cursor: url("../img/generales/mano.png"), auto;
}

#sangre {
    width: 350px;
    height: 200px;
    position: absolute;
    bottom: -190px;
    filter: brightness(0.9);
}

/*******************************
Diseño de la entrada
*******************************/

#contenedor-entrada {
    transition: all 0.8s;
    background: #000000 url("../img/pasillo/pasillo.jpg") no-repeat center center;
}

@media screen and (max-width: 1200px) {
    #contenedor-entrada {
        background: #000000 url("../img/pasillo/pasillo.jpg") no-repeat center center / 180%;
        overflow: visible;
    }
    #contenedor-entrada::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/pasillo/pasillo.jpg") no-repeat center center / 140%;
        z-index: -1;
    }
}

@media screen and (max-width: 430px) {
    #contenedor-entrada {
        background: #000000 url("../img/pasillo/pasillo.jpg") no-repeat center center / 270%;
        overflow: visible;
    }
    #contenedor-entrada::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/pasillo/pasillo.jpg") no-repeat center center / 180%;
        z-index: -1;
    }
}

#descripcion-entrada {
    transition: all 0.8s;
}

#bloque-botones {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 20px;
}

#izquierda, #derecha {
    width: 140px;
}

#mapa-entrada, #mapa-segunda-pesadilla {
    position: absolute;
    right: 10px;
    bottom: 10px;
    filter: drop-shadow(0px 0px 10px black);
}

/*Uso general para todos los indicadores.*/

#indicador, #indicador-pesadilla, #indicador-salon, #indicador-pesadilla2-izquierda, #indicador-pesadilla2-derecha,  #indicador-espejo-derecha, #indicador-espejo-izquierda, #indicador-pesadilla3-izquierda, #indicador-pesadilla3-derecha {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: red;
    position: absolute;
    right: 58px;
    bottom: 40px;
    z-index: 9;
    box-shadow: 0px 0px 10px rgb(255, 0, 0);
    transition: all 1s;
    animation-name: indicador-animacion;
    animation-duration: 5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@media screen and (max-width: 430px) {
    #mapa-entrada, #mapa-segunda-pesadilla, #indicador, #indicador-pesadilla, #indicador-salon, #indicador-pesadilla2-izquierda, #indicador-pesadilla2-derecha,  #indicador-espejo-derecha, #indicador-espejo-izquierda, #indicador-pesadilla3-izquierda, #indicador-pesadilla3-derecha {
        display: none;
    }
}

@keyframes indicador-animacion {
    0%{
        box-shadow: 0px 0px 10px rgb(255, 0, 0);
        background-color: red;
    }
    25%{
        box-shadow: 0px 0px 5px rgb(255, 0, 0);
        background-color: black;
    }
    50%{
        box-shadow: 0px 0px 0px rgb(255, 0, 0);
        background-color: red;
    }
    75%{
        box-shadow: 0px 0px 5px rgb(255, 0, 0);
        background-color: black;
    }
    100%{
        box-shadow: 0px 0px 10px rgb(255, 0, 0);
        background-color: red;
    }
}

/*******************************
Diseño del primer minijuego
*******************************/

#contenedor-primera-pesadilla {
    transition: all 0.9s;
    background: #000000 url("../img/primer-minijuego/primer-minijuego.jpg") no-repeat center center;
}

@media screen and (max-width: 430px) {
    #contenedor-primera-pesadilla {
        background: #000000 url("../img/primer-minijuego/primer-minijuego.jpg") no-repeat center center / 270%;
    }
}

#jefe1 {
    position: absolute;
    right: -2000px;
    animation-name: animacion-jefe1;
    animation-duration: 6s;
    animation-timing-function: linear;
    z-index: 10;
}

@keyframes animacion-jefe1 {
    0% {
        right: -1000px;
    }
    10% {
        right: 0;
    }
    20% {
        transform: rotate(-30deg);
    }
    30% {
        transform: rotate(0deg);
    }
    40% {
        right: -2000px;
    }
    50% {
        right: -1000px;
    }
    60% {
        right: 0;
    }
    70% {
        transform: rotate(40deg);
    }
    100% {
        right: -2000px;
    }
}

#pesadilla, #contenidoDesafio {
    opacity: 0;
    margin-top: 100px;
    transition: all 1.2s;
    text-shadow: 2px 2px 0px black ;
    animation-name: animacion-letras;
    animation-duration: 3s;
    animation-timing-function: linear;
    z-index: 10;
}

#pesadilla {
    font-size: 2.5rem;
}

#contenidoDesafio {
    font-size: 1.5rem;
    width: 40%;
    position: relative;
    color: white;
    padding: 10px;
    border-radius: 5px;
    background: linear-gradient(to bottom, rgba(17, 17, 17, 0.8), transparent);
}

@media screen and (max-width: 430px) {
    #contenidoDesafio {
        width: 95%;
    } 
}

@keyframes animacion-letras {
    0% {
        opacity: 0;
        margin-top: 100px;
    }
    100% {
        opacity: 1;
        margin-top: 0;
    }
}

#bloque-minijuego {
    transition: all 2s;
    animation-name: animacion-bloque;
    animation-duration: 1.5s;
    animation-timing-function: linear;
}

@keyframes animacion-bloque {
    0% {
        margin-bottom: 2500px; 
    }
    25% {
        margin-bottom: 0px;  
    }
    50% {
        margin-bottom: 300px; 
    }
    75% {
        margin-bottom: 100px; 
    }
    100% {
        margin-bottom: 0px; 
    }
}

#indicador-pesadilla {
    right: 42px;
    bottom: 45px;
}

@media screen and (max-width: 430px) {
    #indicador-pesadilla {
        display: none;
    }
}

.abajo {
    cursor: url("../img/primer-minijuego/punioabajo.png") -10 -10, auto;
}

.arriba {
    cursor: url("../img/primer-minijuego/punioarriba.png") -10 -10, auto;
}

.miedos {
    user-select: none;
    transition: all 1s;
    animation-name: animacion-miedos;
    animation-timing-function: linear;
    animation-duration: 3s;
    animation-iteration-count: infinite;
}

@keyframes animacion-miedos {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(20deg);
    }
    50% {
        transform: rotate(40deg);
    }
    75% {
        transform: rotate(60deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.miedosDos {
    user-select: none;
    transition: all 1s;
    animation-name: animacion-miedosDos;
    animation-timing-function: linear;
    animation-duration: 3s;
    animation-iteration-count: infinite;
}

@keyframes animacion-miedosDos {
    0% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-20deg);
    }
    50% {
        transform: rotate(-60deg);
    }
    75% {
        transform: rotate(-80deg);
    }
    100% {
        transform: rotate(-360deg);
    }
}

.destruido {
    transition: all 1s;
}

#espectro-muerte {
    width: 50px;
    animation-name: animacion-espectro;
    animation-duration: 0.3s;
    animation-timing-function: linear;
}

@keyframes animacion-espectro {
    0% {
        width: 50px;
    }
    100% {
        width: 800px;
    }
}

#saltar-pesadilla-uno, #saltar-pesadilla-dos, #saltar-pesadilla-tres {
    width: 30px;
    position: absolute;
    right: 5px;
    bottom: -30px;
}

/*******************************
Diseño del salón
*******************************/

#contenedor-salon {
    transition: all 0.9s;
    background: #000000 url("../img/salon/salon.jpg") no-repeat center center;
}

@media screen and (max-width: 1200px) {
    #contenedor-salon {
        background: #000000 url("../img/salon/salon.jpg") no-repeat center center / 180%;
        overflow: visible;
    }
    #contenedor-salon::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/salon/salon.jpg") no-repeat center center / 140%;
        z-index: -1;
    }
}

@media screen and (max-width: 430px) {
    #contenedor-salon {
        background: #000000 url("../img/salon/salon.jpg") no-repeat center center / 270%;
        overflow: visible;
    }
    #contenedor-salon::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/salon/salon.jpg") no-repeat center center / 180%;
        z-index: -1;
    }
}

#descripcion-salon {
    transition: all 0.9s;
}

#indicador-salon {
    right: 39px;
    bottom: 62px;
}

@media screen and (max-width: 430px) {
    #indicador-salon {
        display: none;
    }
}

/*******************************
Diseño del segundo minijuego
*******************************/

#contenedor-segunda-pesadilla {
    transition: all 0.9s;
    background: #000000 url("../img/segundo-minijuego/segundo-minijuego.jpg") no-repeat center center;
}

@media screen and (max-width: 430px) {
    #contenedor-segunda-pesadilla {
        background: #000000 url("../img/segundo-minijuego/segundo-minijuego.jpg") no-repeat center center / 270%;
    } 
}

#indicador-pesadilla2-derecha {
    right: 49px;
    bottom: 92px;
}

#indicador-pesadilla2-izquierda {
    right: 64px;
    bottom: 78px;
}

@media screen and (max-width: 430px) {
    #indicador-pesadilla2-derecha, #indicador-pesadilla2-izquierda {
        display: none;
    }
}

#jefe2 {
    position: absolute;
    left: -2000px;
    animation-name: animacion-jefe2;
    animation-duration: 6s;
    animation-timing-function: linear;
    z-index: 10;
}

@keyframes animacion-jefe2 {
    0% {
        left: -1000px;
    }
    10% {
        left: 0;
    }
    20% {
        transform: rotate(-25deg);
    }
    30% {
        transform: rotate(0deg);
        transform: scale(2.4,2.4);
    }
    40% {
        left: -2000px;
    }
    50% {
        left: -1000px;
    }
    60% {
        left: 0;
    }
    70% {
        transform: rotate(40deg);
    }
    100% {
        left: -2000px;
    }
}

#ahorcado {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    position: absolute;
    opacity: 0;
    transition: all 1s;
}

#contenido-letras {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}

#ahorcado span {
    width: 70px;
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 1.5s;
    font-size: 3.2rem;
    color: #0a3d91;
    text-align: center;
    text-shadow: 2px 2px 1px #00c6fc;
    user-select: none;
}

#ahorcado span img {
    width: 70px;
    transition: all 0.8s;
}

#ahorcado span p {
    padding: 30px 0px 0px 0px;
    opacity: 0;
    transition: all 0.4s;
}

#ahorcado input {
    /*padding: 20px;*/
    border: transparent 30px solid;
    border-image-source: url("../img/segundo-minijuego/bordes.png");
    border-image-slice: 75;
    border-image-repeat: stretch;
    border-radius: 10px;
    outline: none;
    transition: all 0.8s;
    margin: 0px 0px 20px 0px;
    filter: drop-shadow(0px 0px 15px black);
    box-shadow: 10px 5px 15px black;
}

@media screen and (max-width: 430px) {
    #ahorcado input {
        font-size: 1rem;
    }
}

#ahorcado button:hover {
    cursor: url("../img/generales/mano.png"), auto;
}

#voz-segunda-pesadilla {
    opacity: 0;
    position: absolute;
    top: 200px;
    transition: all 2s;
    font-size: 2.5rem;
    color: white;
    padding: 10px;
    border-radius: 5px;
    background: linear-gradient(to bottom, rgba(17, 17, 17, 0.8), transparent);
    text-shadow: 2px 2px 0px black ;
}

@media screen and (max-width: 430px) {
    #voz-segunda-pesadilla {
        width: 100%;
        text-align: center;
    }
}

/*Adaptación del nombre, en la tumba de esta muerte.*/

#nombre-jugador {
    position: absolute;
    bottom: -200px;
    padding: 150px 0px 0px 0px;
    color: black;
}

@media screen and (max-width: 430px) {
    #nombre-jugador {
        bottom: -85px;
    }
}

/*******************************
Diseño de la sala espejo
*******************************/

#contenedor-espejo {
    transition: all 0.8s;
    background: #000000 url("../img/espejo/espejo.jpg") no-repeat center center;
}

@media screen and (max-width: 1200px) {
    #contenedor-espejo {
        background: #000000 url("../img/espejo/espejo.jpg") no-repeat center center / 180%;
        overflow: visible;
    }
    #contenedor-espejo::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/espejo/espejo.jpg") no-repeat center center / 140%;
        z-index: -1;
    }
}

@media screen and (max-width: 430px) {
    #contenedor-espejo {
        background: #000000 url("../img/espejo/espejo.jpg") no-repeat center center / 270%;
        overflow: visible;
    }
    #contenedor-espejo::before {
        content: "";
        position: absolute;
        width: calc(100% + 200px);
        height: calc(100%);
        background: #000000 url("../img/espejo/espejo.jpg") no-repeat center center / 180%;
        z-index: -1;
    }
}

#descripcion-espejo {
    transition: all 0.9s;
    position: absolute;
    z-index: 10;
}

#indicador-espejo-derecha {
    right: 49px;
    bottom: 114px;
}

#indicador-espejo-izquierda {
    right: 65px;
    bottom: 101px;
}

@media screen and (max-width: 430px) {
    #indicador-espejo-derecha, #indicador-espejo-izquierda {
        display: none;
    }
}

#ojoizquierdo, #ojoderecho {
    width: 90px;
    height: 90px;
    filter: brightness(0.4);
    transition: all 0.9s;
    position: absolute;
    top: 80px;
    z-index: -1;
    overflow: hidden;
}

#ojoizquierdo {
    left: -20px;
}

#ojoderecho {
    right: 0px;
}

#ojoizquierdo img, #ojoderecho img {
    width: 90px;
    height: 90px;
    position: absolute;
    top: 0;
    left: 0;
}

#ojoizquierdo div, #ojoderecho div {
    width: 90px;
    height: 90px;
    background-color: black;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    transition: all 0.9s;
}

/*******************************
Diseño de la tercera pesadilla
*******************************/

#contenedor-tercera-pesadilla {
    transition: all 0.8s;
    background: #000000 url("../img/tercer-minijuego/tercer-minijuego.jpg") no-repeat center center;
}

@media screen and (max-width: 430px) {
    #contenedor-tercera-pesadilla {
        background: #000000 url("../img/tercer-minijuego/tercer-minijuego.jpg") no-repeat center center / 270%;
    }
}

#indicador-pesadilla3-derecha {
    right: 59px;
    bottom: 130px;
}

#indicador-pesadilla3-izquierda {
    right: 57px;
    bottom: 128px;
}

@media screen and (max-width: 430px) {
    #indicador-pesadilla3-derecha, #indicador-pesadilla3-izquierda {
        display: none;
    }
}

#jefe3 {
    position: absolute;
    bottom: 0;
    left: calc(50% - 300px);
    transition: all 1s;
    animation-name: animacion-jefe3;
    animation-duration: 3s;
    animation-timing-function: linear;
}

@media screen and (max-width: 430px) {
    #jefe3 {
        width: 550px;
        left: calc(50% - 225px);
    }
}

@keyframes animacion-jefe3 {
    0% {
        bottom: -800px;
    }
    25% {
        bottom: -600px;
    }
    50% {
        bottom: -400px;
    }
    75% {
        bottom: -200px;
    }
    100% {
        bottom: 0;
    }
}

#espaciojuego {
    width: 50%;
    height: 300px;
    background-color: rgb(0, 0, 0);
    position: absolute;
    border: transparent 30px solid;
    border-image-source: url("../img/segundo-minijuego/bordes.png");
    border-image-slice: 75;
    border-image-repeat: stretch;
    border-radius: 10px;
    outline: none;
    transition: all 0.8s;
    margin: 0px 0px 20px 0px;
    filter: drop-shadow(0px 0px 15px black);
    box-shadow: 10px 5px 15px black;
    overflow: hidden;
    opacity: 0;
}

@media screen and (max-width: 1200px){
    #espaciojuego {
        width: 95%;
    }
}

#fondomovimiento {
    height: 283px;
    position: absolute;
    top: -22px;
    left: -30px;
    animation-duration: 25s;
    animation-timing-function: linear;
}

@keyframes animacion-fondo {
    0% {
        left: -30px
    }
    100% {
        left: -1600px;
    }
}

#personaje, #personaje-muerte {
    position: absolute;
    bottom: -10px;
    opacity: 0;
    transition: all 1.5s;
}

#personaje {
    width: 50px;
    left: 300px;
}

@media screen and (max-width: 430px) {
    #personaje {
        left: 150px;
    }
}

#personaje-muerte {
    width: 70px;
    left: 50px;
    animation-name: animacion-muerte-dos;
    animation-duration: 4s;
    animation-timing-function: linear;
}

@keyframes animacion-muerte-dos {
    0% {
        left: -50px;
    }
    100%{
        left: 50px;
    }
}

#pulsar {
    width: 50px;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
    transition: all 1s;
}

#pulsacionAbajo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: rgba(78, 78, 78, 0.5);
    position: absolute;
    opacity: 0;
    transition: all 0.2s;
    box-shadow: 0px 0px 5px rgba(160, 160, 160, 0.6);
    z-index: 100000;
}

@media screen and (max-width: 1200px) {
    #pulsacionAbajo {
        width: 100px;
        height: 100px;
    }
}

/*******************************
Diseño de la pantalla despertar
*******************************/

#contenedor-despertar {
    transition: all 2s;
    background: #000000;
}

#parpados {
    width: 100%;
    height: calc(100%);
    margin-bottom: 0;
    background-color: black;
    transition: all 1s;
    animation-duration: 28s;
    animation-timing-function: linear;
}

@keyframes animacion-parpados {
    0% {
        margin-bottom: 0;
    }
    10% {
        margin-bottom: 1500px;
    }
    20% {
        margin-bottom: 0;
    }
    25% {
        margin-bottom: 1500px;
    }
    30% {
        margin-bottom: 1500px;
    }
    40% {
        margin-bottom: 0;
    }
    50% {
        margin-bottom: 0;
    }
    65% {
        margin-bottom: 0;
    }
    70% {
        margin-bottom: 0;
    }
    75% {
        margin-bottom: 0;
    }
    80% {
        margin-bottom: 0;
    }
    90% {
        margin-bottom: 1500px;
    }
    95% {
        margin-bottom: 1500px;
    }
    100% {
        margin-bottom: 0;
    }
}

@media screen and (max-width: 1200px) {
    #contenedor-despertar {
        overflow: visible;
    }
    #contenedor-despertar::before {
        content: "";
        position: absolute;
        width: calc(100% + 350px);
        height: calc(100%);
        background: #000000 url("../img/despertar/despertar.webp") no-repeat center center / 140%;
        z-index: -1;
    }
    #parpados {
        width: calc(100% + 500px);
    }
}

@media screen and (max-width: 430px) {
    #contenedor-despertar {
        overflow: visible;
    }
    #contenedor-despertar::before {
        content: "";
        position: absolute;
        width: calc(100% + 400px);
        
        background: #000000 url("../img/despertar/despertar.webp") no-repeat center center / 135%;
        z-index: -1;
    }
    #parpados {
        width: calc(100% + 500px);
    }
}

.fondo-negro-mobile::before {
    content:"";
    background: transparent !important;
}

#creditos-finales {
    width: 80%;
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 2800px;
    animation-name: animacion-creditos;
    animation-duration: 40s;
    animation-timing-function: linear;
}

@keyframes animacion-creditos {
    0% {
        margin-top: 2800px;
    }
    100%{
        margin-top: -2850px;
    }
}

#creditos-finales h1 {
    font-size: 2rem;
    margin: 20px 0px 20px 0px;
    align-self: self-start;
}

#creditos-finales p, ul {
    color: white;
    font-size: 1.5rem;
    align-self: self-start;
}

#creditos-finales p {
    margin: 0px 0px 20px 0px;
}

#homenaje {
    text-align: center;
    color: white;
    font-size: 1.5rem;
    padding: 20px;
    position: absolute;
    top: calc(50% - 25px);
    bottom: -250px;
    opacity: 0;
    transition: all 3s;
}

#creditos-finales ul {
    list-style-type: none;
    margin: 0px 0px 20px 20px;
}

#creditos-finales p.sub {
    color: rgb(172, 113, 66);
}

#botones-despertar {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    opacity: 0;
    transition: all 2s;
}

#inicionuevo, #envioemail {
    transition: all 2s;
    animation-name: animacion-despertar;
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@media screen and (max-width: 430px) {
    #contenedor-despertar {
        transition: all 2s;
    }
    #creditos-finales {
        width: 95%;
    }
    #creditos-finales img {
        width: 310px;
    }
    #creditos-finales ul {
        list-style-type: none;
        margin: 0px 0px 20px 5px;
    }
}


