@import url('https://fonts.cdnfonts.com/css/minecraft-3');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --azul: #3498db;
    --gris: #95a5a6;
    --blanco: #ffffff;
    --negro: #000000;
    --gyb: #c9d2d3;
    --gyn: #4b5353;
}

html, body {
    font-family: 'Minecraft', sans-serif, monospace;
    background-color: var(--blanco);
}

/* cabecera */


header {
    background: var(--gris);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    border: 1px solid var(--negro);
    border-radius: 30px;
    margin: auto;
    margin-bottom: 50px;
    max-width: 95%;
    text-align: center;
}

/* logo de geometrixweb */
header img {
    height: 50px;
    width: 50px;
    margin: -20px;
    animation: deslizar 2s;
}

.logo {
    translate: 12.5%;
    font-size: 200%;
    color: var(--negro);
	text-shadow: 1px 1px 1px var(--azul);
    position: absolute;
    animation: deslizar 1.5s;
}

@keyframes deslizar {
    0% { transform: translate(-100%, 0); opacity: 0; }
    100% { transform: translate(0, 0); opacity: 1; }
}

.menu_titulo, .menu_item, .sub_menu_item {
    list-style-type: none;
    font-size: 20px;
    text-decoration: none;
    color: var(--negro);
    font-weight: bold;
    z-index: 1;
    height: auto;
}

.menu_titulo ul { list-style: none; }

.menu_item, .sub_menu_item { margin: -5%; }

.menu_item:hover, .sub_menu_item:hover { color: var(--azul); }


/* fin de la cabecera */

/* main de todas las páginas */

/* imagenes que alternan */
.slider {
    width: 90%;
    height: 45%;
    display: flex;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

.galeria {
    max-width: 90%;
    border-radius: 50px;
    box-shadow: 2px 2px 2px 2px var(--negro);
}

/* teórico - conceptos generales */
.cuadro {
    width: 80%;
    height: 80%;
    border: 2px solid var(--gyb);
    border-radius: 10px;
    margin: 20px auto;
    padding: 15px;
    box-shadow: 0 4px 8px var(--negro);
    display: grid;
    place-items: center;
}

.cuadro img {
    max-width: 100%;
    border-radius: 10px;
    margin-bottom: 10px;
    display: grid;
    place-items: center;
}

.cuadro h3, .lista li {
    font-size: 1.5em;
    margin-bottom: 10px;
    text-align: center;
}

.cuadro p, .gris, .lista p {
    font-size: 100%;
    color: var(--gyn);
}

.centro {
    display: flex;
    justify-content: center;
    align-items: center;
}

.botonesPresentacion {
    display: flex;
}

.iniciar, .reanudar, .detener, .avanzar, .retroceder, .salir, .mas-info {
    padding: 10px 20px;
    display: inline-flex;
    background-color: var(--azul);
    border: none;
    text-align: center;
    border-radius: 5px;
    margin: 20px auto;
    cursor: pointer;
    transition: background-color 2s ease;
    font-family: 'Minecraft', sans-serif;
}

.centrar-boton {
    display: flex;
}


.mas-info a {
    color: var(--negro);
}

.reanudar {
    display: none;
}

.iniciar:hover, .detener:hover, .avanzar:hover, .reanudar:hover, .retroceder:hover, .salir:hover, .mas-info:hover {
    transform: scale(1.1); /* Hace que el botón se agrande un poco al pasar el ratón por encima */
}

.cuadro a, .parrafo-juego a {
    color: var(--azul);
}

main h2 {
    text-align: center;
    margin-bottom: 20px;
    animation: aparecer 2s ease-in-out;
}

main p {
    text-align: center;
    font-size: large;
}

@keyframes aparecer {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateX(0); }
}

.wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contenedor {
    width: 90%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; /* Alinea los elementos */
}

.contenedor hr {
    border: 1.5px solid var(--gyn);
    margin-left: 5px;
    margin-right: 5px;
    box-shadow: 2.5px 2.5px 2.5px 2.5px var(--gyb);
}

.vertical {
    margin-top: 25px;
    margin-bottom: 25px;
}

.carta {
    margin-bottom: 20px; /* Espacio entre las cartas */
    border: 1px solid var(--gyn);
    box-shadow: 1px 1px 1px 1px var(--azul);
    border-radius: 8px;
    padding: 10px;
}

.carta h3 {
    text-align: center;
}

.carta img {
    width: 95%; /* O el ancho deseado para la imagen */
    height: auto;
    border-radius: 5px;
    margin: 10px;
}

main h4 {
    text-align: center;
}

.iframe-juego {
    display: flex;
    align-items: center;
    justify-content: center;
}

.juego-kahoot {
    width: 90%;
    height: 90%;
    border: none;
    border-radius: 50px;
    display: grid;
    place-items: center;
}

/* Aca tenemos que poner todo el relleno*/

/* Ocultar las flechas de subir y bajar en WebKit */
::-webkit-scrollbar-button {
    display: none;
  }
  
  /* Estilos adicionales para la barra de desplazamiento */
  ::-webkit-scrollbar {
    width: 12px; /* Ancho de la barra de desplazamiento */
  }
  
  ::-webkit-scrollbar-thumb {
    background-color: var(--azul); /* Color del pulgar de la barra de desplazamiento */
    border-radius: 6px; /* Borde redondeado del pulgar */
  }
  
  ::-webkit-scrollbar-track {
    background-color: #f1f1f1; /* Color de fondo de la barra de desplazamiento */
  }

footer {
    display: grid;
    background: var(--negro); 
    place-items: center;
    padding: 20px;
    border-radius: 20px;
    transform: translateY(50%);
    width: 75%;
    margin: auto;
    text-align: center;
    align-items: center;
    justify-content: center;
}

footer ul, footer li { display: flex; }

footer li { color: var(--blanco); }

footer ul li a {
    text-decoration: none;
    color: var(--azul);
    font-weight: bold;
}


footer hr {
    width: 100%; 
    background-color: var(--blanco); 
    height: 2px;
	width: 100%; 
    margin: 10px 0; 
}

@media screen and (max-width: 768px) {

    body { min-width: 350px; }

    #menu_toggle { opacity: 0; }

    #menu_toggle:checked + .menu_btn > span { transform: rotate(45deg); }
    
    #menu_toggle:checked + .menu_btn > span::before {
        top: 0;
        transform: rotate(0deg);
    }
    
    #menu_toggle:checked + .menu_btn > span::after {
        top: 0;
        transform: rotate(90deg);
    }
    
    #menu_toggle:checked ~ .menu_box { left: 50% !important; }
    
    .menu_btn {
        display: flex;
        position: sticky;
        top: 50px;
        right: 75px;
        width: 30px;
        height: 30px;
        cursor: pointer;
        z-index: 1;
        animation: deslizar 1.5s;
    }
    
    .menu_btn > span, .menu_btn > span::before, .menu_btn > span::after {
        display: flex;
        position: absolute;
        width: 100%;
        height: 3.5px;
        background-color: var(--gyn);
        transition-duration: .75s;
    }
    
    .menu_btn > span::before {
        content: '';
        top: -8px;
    }
    
    .menu_btn > span::after {
        content: '';
        top: 8px;
    }
    
    .menu_box {
        border-radius: 25px;
        display: block;
        position: absolute;
        top: 10%;
        right: 100%;
        min-width: 50%;
        min-height: 50%;
        padding: 10% 0;
        list-style: none;
        background-color: var(--gyb);
        z-index: 1;
    }
    
    .menu_item {
        display: inline-block;
        color: var(--negro);
        width: 90%;
    }

    .menu_item:hover, .sub_menu_item:hover {
        background-color: var(--gyn);
        transition-duration: 1s;
        border-radius: 40px;
        width: 90%;
    }

    .sub_menu_box {
        display: inline-block;
        max-width: 90%;
        background: var(--blanco);
        border-radius: 40px;
        text-align: center;
        align-items: center;
        align-content: center;
        justify-content: center;
    }

    .sub_menu_box li {
        display: inline-flex;
        transform: translateY(10%);
        min-width: 100%;
        text-align: center;
        align-items: center;
        align-content: center;
        justify-content: center;
}

    .sub_menu_item {
        color: var(--negro);
        max-width: 90%;
    }

    .menu_item, .sub_menu_item { margin: 5%; }

    .carta {
        width: calc(50% - 10px); /* 50% del ancho del contenedor - espaciado */
        min-width: 100px;
    }

    footer {
        display: block;
        text-align: center;
        align-items: center;
        justify-content: center;
        align-content: center;
    }

    footer ul, footer li { display: inline-flex; }

    footer li, footer ul li {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    }

    .botonesPresentacion {
        flex-direction: column;
        display: block; /* Cambiar a bloque para dispositivos móviles */
        text-align: center; /* Alinear al centro */
        position: fixed; /* Fijar en la parte inferior */
        bottom: 0; /* Colocar en la parte inferior */
        width: 100%; /* Ancho completo */
        z-index: 1000;
    }
}

@media screen and (min-width: 769px) {

    header img { position: relative; }

    #menu_toggle, .menu_btn, span { opacity: 0; }

    .menu_box, .menu_item, .sub_menu_box, .sub_menu_item, summary {
    list-style: none;
    list-style-type: none;
    display: inline-flex;
    }

    .menu_item {
        color: var(--negro);
        margin: 10px;
    }

    .menu_item:hover, .sub_menu_item:hover {
        background-color: var(--gyn);
        transition-duration: 1s;
        border-radius: 30px;
    }

    .sub_menu_box li, .sub_menu_item { padding: 5%; }

    .sub_menu_box {
        display: grid;
        background: var(--gyb);
        border-radius: 30px;
        position: absolute;
        transform: translateY(15%);
        right: 5%;
        top: 5%;
    }

    .cuadro h3 {
        font-size: 1.75em;
        margin-bottom: 10px;
        text-align: center;
    }
    
    .cuadro p, .gris {
        font-size: 125%;
        color: var(--gyn);
    }

    .carta {
        width: calc(33.33% - 10px); /* 25% del ancho del contenedor - espaciado */
    }

    
    footer {
        display: block;
        text-align: center;
        align-items: center;
    }

    footer ul, footer li { display: inline-flex; }

    footer li, footer ul li {
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    }
}