@import url('https://fonts.googleapis.com/css2?family=Epilogue:ital,wght@0,100..900;1,100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Unbounded:wght@200..900&display=swap');

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;        
}
a {text-decoration: none; color: white;}
img {max-width: 100%;}
ul {list-style: none;}



/*-------------------NAVEGACION*/
.navegacion { 
  display: flex;
  flex-direction: column;
  justify-content: space-between;    
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem;
  margin-inline: auto;
  background-color: #6355ff;

}
header nav ul {
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1rem;
    font-family: "Epilogue", sans-serif;
    text-transform: uppercase;
    color: white;
}
header nav ul li a:hover {
    color: black;
}

/*-------------------FOOTER*/
footer {
    background-color: black;
    font-family: "Plus Jakarta Sans", sans-serif;
    color: white;
    padding-block: 2rem;
}
footer a {color: white;}


/*-------------------CUENTA REGRESIVA*/
.cuenta_regresiva {
    background-color: white;
    box-shadow: 0 4px 4px hsl(0 0% 0% / 25%);  
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 1em;
    font-family: "Plus Jakarta Sans", sans-serif; 
    position: sticky;
    top: 0;
    z-index: 10;  
}


/*
.boton {
    font-family: "Plus Jakarta Sans", sans-serif;
    color: white;
    background-color: black;
    border-radius: 1rem;
    padding-block:0.5em;
    padding-inline: 1em;
    font-size: 1rem;
}
*/
.fondo_negro {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(22em, 100%), 1fr));
    gap: 1rem; }

/*-------------------CALENDARIO*/

.calendario {
    background-color: black;
}
.scroll_calendario {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    overflow: scroll;
    padding: 2rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.scroll_calendario::-webkit-scrollbar{
    display:none
}
.calendario article {
   /* min-width: 115px;
    min-height: 80px;*/
    min-width: 8rem;
    max-width: 18rem;
    min-height: 8rem;
    border-radius: 2rem;
    font-size: 1.5rem;
    padding: 1.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center; 

}
.calendario h2 {
    font-family: "Epilogue", sans-serif;
    font-weight: 300;
    color: white;
    font-size: 2em;
    padding-block-start: 2rem;
    padding-inline-start: 2rem;
}
.calendario h4 {
    font-family: "Unbounded", sans-serif;
    font-size: 1.1em;
    text-transform: uppercase;
    color: black;
}
.calendario p {
    font-family: "Plus Jakarta Sans", sans-serif;
    font-size: 0.8em;
    color: black;
}
.dia_votacion {
    background-color: #da3ff2;   
}
.dia_funcion {
    background-color: #a56cff;
}
.dia_ganador {
    background-color: #5beb93;
}


/*-------------------PROXIMA FUNCION*/
#inicio {
    background-color: #5beb93;
    font-family: "Plus Jakarta Sans", sans-serif;
}
#proxima_funcion{
    background-color: white;
    border-radius:2rem;
    padding: 2rem;
    margin:2rem;
    display:flex;
    justify-content: center;
    align-items:center;
    flex-direction: column;
    gap:1em;

}
#proxima_funcion h2{
    font-size: 2em;
    font-weight: 700;
    font-family: "Epilogue", sans-serif;

}
#proxima_funcion h3{
    font-size:1.5em;
    font-weight: 700;
}
#proxima_funcion p{
    font-size:1em;
}
#entrada_libre{
    font-size: 2rem;
    font-weight: 700;
    background-color: #a56cff;
    color:white;
    padding:.5em;
    margin:1em;
}
#texto_proximafuncion{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:1em;
    margin:1em;
}
#texto_proximafuncion ul{
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 10em;
    margin: 1em;
}
#texto_proximafuncion ul li{
    font-weight:500;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    
}
#texto_proximafuncion ul li span{
    font-size:1.9em;
    font-weight:700;
    display:block;
}
#imagenes_proximafuncion{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
#imagenes_proximafuncion figure{
    width: 100%;
}
#imagenes_proximafuncion img{
    width: 100%;
}

#boton_rosa{
    background-color: #da3ff2;
}



/* BODY */
body{
    min-height: 100vh;
    font-family: 'Plus Jakarta Sans';
}
/* BODY */
/* INDEX INICIO */
.sala_libre {
background-color: #6355ff;
color: white;
font-family: "Plus Jakarta Sans", sans-serif;
padding: 2rem;
}
.sala_libre h1 {
    font-family: "Unbounded", sans-serif;
    text-transform: uppercase;
    font-size: 4em;
}

.sala_libre{
    background-image: url(../imagenes/fondo_inicio.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 2em;
    padding-top: 8em;
    padding-bottom:8em;
    display: flex;
    flex-direction: column;
    gap: 1em;
}
.sala_libre div{
    display:flex;
    align-items: center;
    justify-content: space-around;
}
@media screen and (min-width: 550px) {
    .sala_libre div{
    display: grid;
    grid-template-columns: .5fr 1fr;
    align-items: center;
    justify-content: space-around;
}
.sala_libre div figure{
    width: 40%;
}
    
}

#logo_salalibre{
    width: 150%;
    height: 100%;
    object-fit: cover;
}
.sala_libre a{
    color:white;
    font-family: "Epilogue", sans-serif;
    background-color: #000000;
    align-self: self-start;
    border-radius: 2rem;
    padding: .5em;
}
/* INDEX INICIO */

/* ENCABEZADOS GENERALES */
.encabezado{
    background-color: black;
    font-family: "Epilogue", sans-serif;
    font-weight: 100;
    color: white;
    font-size: 2em;
    padding: 2rem;
    display: block;
}
/* ENCABEZADOS GENERALES */

.fondo_rosa{
    background-color: #da3ff2;
    font-family: "Plus Jakarta Sans", sans-serif;
    display:flex;
    flex-direction: column;
    justify-content: center;
}
.fondo_rosa div{
    background-color: black;
    color:white;
    font-family: "Epilogue", sans-serif;
    padding: 3em;
    margin:2em;
    border-radius: 2rem;    
}
.fondo_rosa div p{
    font-size: 1em;
    line-height: 1.2em;
}
.fondo_rosa div figure{
    width: 100%;
    overflow: hidden;
}
.fondo_rosa div img{
    width: 40%;
    height: 100%;
    object-fit: cover;
    margin-top: 1em;
    margin-bottom: 1em;
    display: block;
    justify-self: center;
}
.divisiones_bloques{
    display:grid;
    grid-template-columns: repeat(auto-fill, minmax(min(22em, 100%), 1fr));
    gap: 1rem;
    justify-content: center;
}

#redireccionamiento{
    color:white;
    font-size:1em;
    margin:2em;
    text-align: center;
}
/*FOOTER*/
footer{
    background-color: black;
    font-family: "Plus Jakarta Sans", sans-serif;
    color: white;
    padding: 2em;
    display:flex;
    flex-wrap: wrap;
    gap: 1.4em;
}
footer .boton{
    margin-top:1em;
}
footer .boton a{
    font-family: "Epilogue" sans-serif;
    background-color: #da3ff2;
    border-radius: 3rem;
    align-self: self-end;
    padding: .5em;
}
footer figure{
    width: 100%;
    overflow: hidden;
    display:flex;
    flex-direction: column;
    margin-top: 1em;
}
footer img{
    width: 20%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin-top:1em;
}
footer figcaption{
    font-size: 1em;
    font-weight: 800;
}
/*FOOTER*/

/* Estilos del menú móvil */
.menu-btn {
    display: none;
    background: #6355ff;
    border-radius: 50%;
    box-shadow: -5px 5px 5px hsl(180 100% 4% / 0.2);
    padding: .75rem;
    width: 3rem;
    aspect-ratio: 1;
    cursor: pointer;
    transition: all 0.3s ease-out;
    border: 0;
}

.menu-btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

@media screen and (max-width: 550px) {
            .menu-btn {
            display: flex;
            position: fixed;
            bottom: 2em;
            width: 4rem;
            margin: 0 auto;
            left: 0;
            right: 0;
            align-items: center;
            justify-content: center;
            z-index: 9000;
        }

    nav ul {
        background-color: hsl(210 92% 10% / 95%);
        display: grid;
        place-items: center;
        place-content: center;
        position: fixed;
        inset: 0;
        z-index: 8000;
        translate: 100%;
        transition: all .6s ease;
    }

    .menuVisible ul {
        background-color: hsla(0, 0%, 0%, 0.95);
        transition: all .3s ease;
        translate: 0;
    }

    nav ul li a {
        border-bottom: solid 3px hsl(0 0% 100% / 0.1);
        color: white;
        display: block;
        font-size: 1.5rem;
        margin-block-end: .5rem;
        width: min(70vw, 20rem);
        text-align: center;
        padding: .5rem;
        text-decoration: none;
    }

    nav ul li a:hover {
        border-bottom: solid 3px hsl(0 0% 100% / 0.5);
        transition: all .3s;
    }
}

header{
    background-color:#000000;
    display: flex;
    justify-content: space-around;
    align-items: center;
    gap: 5em;
    padding: 1rem;
}
/* Estilos del menú móvil */

/*PAGINA LUGARES DISPONIBLES*/
.mapa_lugares{
    background-image: url(../imagenes/mapa_lugares.jpg);
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mapa_lugares ul{
    
    background-color: #a56cff;
    font-family: "Plus Jakarta Sans", sans-serif;
    color:white;
    padding: 2em;
    margin: 2em;
    display: flex;
    flex-direction: column;
    gap: 1.5em;
}
#boton_lugar{
        display:flex;
        position: relative;
        width: 3.6rem;
        left: .2rem;
        top:2em;
        align-items: center;
        justify-content: center; 
        background: transparent;
        cursor: pointer;
        transition: all 0.3s ease-out;
        border: 0; 
}
#opiniones_lugar {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    width: 90%;
    max-width: 600px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.mapa_lugares ul span{
    font-weight: 800;
}
.mapa_lugares #vermas{
  color:#000000;
}
.mapa_lugares ul figure{
    width: 100%;
    overflow: hidden;
}
.mapa_lugares ul img{
    width: 50%;
    height: 100%;
    object-fit: cover;
    margin: 1em;
}
/*
.mapa_lugares .boton a{
    background-color: #5beb93;
    font-family:"Epilogue" sans-serif;
    border-radius: 2rem;
    color:#000000;
    align-self: self-end;
    padding: 1em;
    position: absolute;
    transform: translate(-50%, -50%);
    bottom: 1em;
    left: 50%;
    
}
*/
#boton_lugares{
        position: absolute;
        top: 40rem;

}
/*PAGINA LUGARES DISPONIBLES*/

/*COLABORACIONES Y PROPUESTAS*/
.fondo_violeta{
    background-color: #a56cff;
    color:#000000;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.fondo_violeta .encabezado{
    font-size: 1rem;
}
.formulario{
    display: flex;
    flex-wrap:wrap;
    place-content: center;
    align-items: center;
    gap:1em;

}
.fondo_violeta h2{
    color: white;
    font-size: 3.2rem;
    margin: 1rem;
    text-align: center;
    font-weight: 700;
    display:block;
}
.formulario h3{
    font-family: "Epilogue", sans-serif;
    font-size: 2.5rem;
    font-weight:500;
    text-align: center;
}
.formulario div{
    display: flex;
    flex-direction: column;
    place-content: center;
    place-items: center;
    gap: 1rem;
    width: 90%;
    min-width: 300px;
    max-width: 800px;
    background-color: white;
    border-radius: 2rem;
    padding: 2rem;
    margin: 1rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 1024px) {
    .formulario div {
        width: 70%;
        padding: 3rem;
    }
    
    .formulario form {
        width: 80%;
        margin: 0 auto;
    }
}

.formulario div h4{
    background-color: white;
    border-radius: 2rem;
    padding: 1rem;
    margin: 1rem;
    width: 90%;
}
.formulario form{
    background-color: white;
    border-radius: 2rem;
    padding: 1rem;
    margin: 1rem;
    font-size: 1.5rem;
    font-weight: 500;
}
.formulario form input{
    border-color:#000000;
    border-radius: 2rem;
    padding: .5rem;
    margin: 1rem;
}
.formulario form #enviar{
    background-color: #da3ff2;
    border-color: transparent;
    color: white;
    font-size: 1.5rem;
    font-weight: 500;
    padding: .5rem;
    margin-top: 3rem;
    display:block;
    position:relative;
    left: 45%;
    transform: translate(-50%, -50%);
  
}
.formulario form textarea{
    border-color:#000000;
    border-radius: 1rem;
    padding:.5rem;
}

.fondo_celeste{
    background-color: #6355ff;
    font-family: "Plus Jakarta Sans", sans-serif;
    display: flex;
    flex-direction: column;
}
#encabezadoproponer{
    color: rgb(0, 0, 0);
    font-size: 3.2rem;
    margin: 1rem;
    text-align: center;
    font-weight: 700;
    display: block;
}

/*COLABORACIONES Y PROPUESTAS*/

/*BOTONES VERDES*/
.formulario .boton{
    background-color: #5beb93;
    border-radius: 2rem;
    align-self: self-end;
    padding: .5em;
    margin: .5em;
}
.formulario .boton a{
    color:#000000;
    font-size:.8em;
}
/*BOTONES VERDES*/

/*VOTACION*/
.votacion h2{
    color:white;
    font-family: "Epilogue", sans-serif;
    font-size: 3em;
    font-weight: 500;
    text-align: center;
    margin:3rem;
}
.votacion h4{
    color:#000000;
    font-family: "Epilogue", sans-serif;
    font-size: 2.5em;
    font-weight: 500;
    text-align: center;
    margin:3rem;
}
.votacion img{
    width:100%;
}
#opcionvotacion{
    background-color: white;
    color:#000000;
}
#opcionvotacion h2{
    font-family: "Epilogue", sans-serif;
    font-size: 2.5rem;
    font-weight:500;
    text-align: center;
    line-height: 3rem;
}
#opcionvotacion h3{
    font-family: "Epilogue", sans-serif;
    font-size: 2rem;
    font-weight:500;
    text-align: center;
    line-height: 3rem;
}
#opcionvotacion img{
    width: 100%;
}
#mapa_votacion img{
    width: 100%;
}
.listo_votar .boton{
    margin-top:3em;
    margin-bottom: 3em;
}
.listo_votar a{
    background-color:#000000;
    border-radius: 2rem;
    font-size:2rem;
    margin-top: 3em;
    align-self: self-end;
    padding:.5em;
    position:relative;
    bottom: 1em;
    left: 45%;
    transform: translate(-50%, -50%);
}
#votacion_lista{
    height: 100vh;
    display:flex;
    flex-direction: column;
    
}
/*VOTACION*/
