@font-face {
    font-family: 'Helvetica';
    src: url('../fonts/Helvetica.ttf') format('truetype');
}
@font-face {
    font-family: 'Helvetica';
    src: url('../fonts/Helvetica-Bold.ttf') format('truetype');
    font-weight: 700;
}
@font-face {
    font-family: 'Schwarzenberg';
    src: url('../fonts/Schwarzenberg.ttf') format('truetype');
}
@font-face {
    font-family: 'stay winter';
    src: url('../fonts/stay\ winter.otf') format('truetype');
}
/* Personalización de la barra lateral para navegadores WebKit */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background-color: transparent;
}

::-webkit-scrollbar-track {
    background-color: transparent;
}
/* css principal */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Helvetica, Georgia;
    font-weight: 500;
}
img{
    object-fit: contain;
}

.container{
    max-width: 1200px;
    padding: 0 2rem;
    margin: 0 auto;
}

header{
    height: 4rem;
    background-color: #b60613;
}

header .container{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0rem;
}

header #logo{
    height: 60%;
    width: max-content;
}

header #logo img{
    height: 100%;
}

header nav{
    flex-grow: 1;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
header nav #btn_nav, #close_nav{
    display: none;
    border: 0;
    color: white;
    background-color: transparent;
    cursor: pointer;
}

header nav ul{
    display: flex;
    height: 100%;
    justify-content: space-between;    
    list-style: none;
    gap: .1rem;
}

header nav ul li{
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
}

header nav ul li a {
    color: white;
    background-color: transparent;
    text-decoration: none;
    font-size: 0.95rem;
    padding: 0.4rem 0.9rem;
    transition: background-color 0.2s ease;    
    border-radius: 0.5rem;
}
header nav ul li a:hover{
    background-color: white;
    color: #b60613;
}

header nav ul li a.selected{
    background-color: white;
    color: #b60613;
}

header .dropdown{
    position: absolute;
    top: 100%;
    left: 1%;
    background-color: #cccccc;
    display: none;
    flex-direction: column;
    width: 98%;
    height: auto;
    z-index: 10;
    gap: -1px;
}

header .dropdown li{
    border: 1px solid white;
    border-top: 0px solid transparent;
    padding: 0 0;
}

header .dropdown li a {
    color: #727272;
    text-decoration: none;
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    height: 100%;
    width: 100%;
    border-radius: 0;
}
header .dropdown li a:hover{
    background-color: white;
    color: #b60613;
}

.a_dropdown:hover .dropdown {
    display: block;
}

/* Estilos del slider */
.slider {
    overflow: hidden;
    width: 100%;
    position: relative;
}

.slider button{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    color: #363636a9;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;    
    transition: scale 0.2s ease;
}
.slider button:hover{
    background-color: rgba(255, 255, 255, 1);
    color: #363636ed;
    scale: 1.2;
}
.slider .btn_ant{
    left: 1%;
}
.slider .btn_sig{
    right: 1%;
}

.slider_container {
    display: flex;
    width: 400%;
    transition: transform 1s ease;
}

.slider_container img {
    width: 25%;
    cursor: pointer;
}

/* main */
main{
    background-image: url('../img/main/fondo_main_1.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.section_portafolio{
    padding: 3rem 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    scroll-behavior: smooth;
} 
.section_portafolio a{
    display: flex;
    align-items: center;
}

.section_portafolio img{
    width: 100%;
    height: max-content;
}


/* Footer */
footer{
    height: 4.5rem;
    background-color: #000000;
}

footer .container{
    display: flex;
    padding: 0 8rem;
    height: 100%;
    justify-content: space-between;
}

footer .container .footer_left{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 1.5rem;
}
footer .container .footer_left .logo_footer{
    height: 50%;
}
footer .container .footer_left .line{
    height: 50%;
    width: 2px;
    background-color: #fffffd6c;
}
footer .container .footer_left .logo_footer_simple{
    height: 50%;
}

footer .container .footer_left img{
    height: 100%;
}

footer .container .footer_right{
    color: rgb(214, 214, 214);
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 20px;
    gap: 1.5rem;
}
 
footer .container .footer_right .social_media_icons{
    display: flex;
    gap: 0.5rem;
}

footer .container .footer_right .social_media_icons img{
    width: 2rem;
    height: 2rem;
}


/* 
 * Grid categorias
 */

 #categorias{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 3rem 0;
    gap: 2rem 0;
}

#categorias .items{
    flex-grow: 1;
    width: 50%;
}

#categorias .items img{
    height: 15rem;
}


/* 
 * Grid Subcategorrias
 */

#subcategorias{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem 3rem;
    margin-top: 2rem;
}

#subcategorias .items{
    display: flex;
    align-items: center;
}

#subcategorias img{
    width: 100%;
}


/* secciones nav */
.secciones_nav{
    background-color: #a6a7a4;
    height: 2rem;
    padding: 0 2rem;
}
.secciones_nav ul{
    height: 100%;
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    list-style: none;
}
.secciones_nav ul li a{
    text-transform: uppercase;
    font-size: .7rem;
    text-decoration: none;
    color: #363636;
    font-weight: 600;
}
.secciones_nav ul li a.selected_{
    text-decoration: underline;
}

/* 
 * Grid subsecciones
 */

#subsecciones{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 3rem 0;
    gap: 2rem 0;
}

#subsecciones .items{
    flex-grow: 1;
    width: 50%;
}

#subsecciones .items img{
    max-height: 12rem;
    max-width: 100%;
    height: auto;
}

/* grid productos */
.productos_{   
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 3rem 0;   
    padding-bottom: 4rem; 
    color: #363636;       
    min-height: 85vh; 
}

.productos_ ._title{
    text-transform: uppercase;
}
.productos_container{
    width: 100%;
    display: flex;
    justify-content: start;
}
.productos{
    height: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: start;
    margin: 2rem 0;
    gap: 1rem;
    width: 100%;
}
.productos a{
    width: calc(20%  - 0.8rem);
    height: auto;
}

.productos .items{
    background-color: rgba(255, 255, 255, 0.7);
    width: 100%;
    height: 100%;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    gap: 1rem;
    border-radius: 1rem;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.productos .items .img_container{
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.productos .items img{
    max-height: 11rem;
    max-width: 10rem;
}
.productos .items p{
    max-width: 10rem;
}
.productos a{
    text-decoration: none;
    color: #000000;
    font-weight: 300;
    font-size: .7rem;
    text-transform: uppercase;
    cursor: pointer;
}

.productos_title{
    width: 100%;
    text-align: start;
    color: white;
    text-transform: uppercase;
    font-weight: 700;
}

/* botones de paginacion seccion econimica */
.nav_paginacion{
    height: 2rem;
    width: 100%;
    padding-bottom: 4rem;
    display: flex;
    justify-content: center;
    gap: 1rem;
}
.nav_paginacion .btn{
    height: 2rem;
    width: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000000;
    color: white;
    border-radius: .8rem;
    cursor: pointer;
    font-weight: 700;
}
.nav_paginacion .btn.selected{    
    background-color: #c00613;
}
.nav_paginacion .btn{    
    transition: scale 0.2s ease;
}
.nav_paginacion .btn:hover{    
    scale: 1.2;
}

/* pop up */
.pop_up{    
    display: none;
    position: fixed;
    height: 100vh;
    width: 100vw;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
}
.pop_up_content{        
    background-color: rgba(255, 255, 255, 0.95);
    padding: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    border-radius: 1.5rem;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.pop_up_content button{
    border: 0;
    background-color: transparent;
    font-size: 3rem;
    color: #363636;
    cursor: pointer;
    transition: scale 0.2s ease;
}
.pop_up_content button:hover{
    scale: 1.2;
}
.pop_up_col{
    text-align: center;
    color: #363636;
    min-width: 35vw;
}
.pop_up_col h2{
    margin-bottom: .2rem;
    font-size: 1rem;
    text-transform: uppercase;
}
.pop_up_col h6{
    margin-bottom: 1rem;
    font-size: .7rem;
    text-transform: uppercase;
}
.pop_up_col img{
    max-height: 75vh;
}
#render_js_variantes{
    margin-top: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    gap: .5rem;
}
#render_js_variantes .item{
    height: 100%;
    cursor: pointer;
}
#render_js_variantes .item img{
    height: 100%;
}

/* 
 * css para quienes solos 
 */
 .quienes_somoslogin{
    max-width: 2000px;
    margin: 0 auto;
    background-image: url('../img/about/about_fondo_2_0.png');
    background-position: left;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    width: 100%;
    height: 90vh;
}
.quienes_somos{
    max-width: 2000px;
    margin: 0 auto;
    background-image: url('../img/about/about_fondo_2_0.png');
    background-position: left;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    width: 100%;
    height: 90vh;
}
.quienes_somos::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: url('../img/about/about_fondo.jpg');
    background-position: center;
    background-repeat: no-repeat; 
    width: 100%;
    height: 100%;
    z-index: -2;
}
.quienes_somoslogin::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
 
    background-position: center;
    background-repeat: no-repeat; 
    width: 100%;
    height: 100%;
    z-index: -2;
}
.quienes_somos::after{
    content: '';
    position: absolute;
    top: 25%;
    left: 15%;
    background-image: url('../img/about/somos_2.png');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; 
    height: 15rem;
    width: 20rem;
    z-index: -1;
}
.quienes_somoslogin::after{
    content: '';
    position: absolute;
    top: 25%;
    left: 15%;

    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; 
    height: 15rem;
    width: 20rem;
    z-index: -1;
}
.quienes_somos_contenidologin{
    width: 100%;
    height: 100%;   
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
}
.quienes_somos_contenido{
    width: 100%;
    height: 100%;
    background-image: url('../img/about/about_fondo_2_1.png');
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
}

.mensaje{
    position: absolute;
    background-image: url('../img/about/Recurso_1.png');
    background-position: right;
    background-size: contain;
    background-repeat: no-repeat;
    top: 5%;
    left: 45%;
    height: 33rem;
    width: 33rem;
    padding: 5% 5%;
    padding-right: 5.8%;
    text-align: center;
    display: flex;
    flex-direction: column;
    
}
.mensaje img{
    height: 3.6rem;
    width: auto;
}
.mensaje p{
    margin-top: 1.2rem;
    font-size: 16px;
    color: #005a7e;
}
.mensaje p b{
    font-size: 36px;
    line-height: .1;
}

.cupon img{
    height: 7.6rem;
    width: auto;
}

.leer-mas{
    margin-top: 1rem;
    border: 0;
    background-color: transparent;
    color: #005a7e;
    cursor: pointer;
    text-decoration: underline;
}

.quienes_somos_popup{
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translate(-50%, 0);
    background-color: white;
    padding: 2rem 1rem;
    border-radius: 1rem;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    max-height: 80vh;
    overflow: scroll;
}
.quienes_somos_popup.hidden{
    display: none;
}
.quienes_somos_popup p{
    color: #005a7e;
    margin-top: 1.2rem;
    font-size: 16px;
}
.quienes_somos_popup button{
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: transparent;
    color: #005a7e;
    border: 0;
    cursor: pointer;
    height: 24px;
    width: 24px;
    line-height: 1;
    border-radius: 1rem;
    font-weight: 500;
}
.quienes_somos_popup button:hover{
    background-color: rgb(156, 156, 156);
    color: white;
}

/*
 * seccion comunidad
 */
 /* Aseguramos que el contenedor tenga el fondo */

.comunidad {
    background-image: url('../img/comunidad/FONDO_PAGINA.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    min-height: 100vh;
}


.container {
    display: flex; 
    justify-content: space-between; 
    gap: 20px; 
    margin-top: 0cm !important;
}
.row {
    display: flex;
    width: 100%; 
}


.columna.izquierda {
    flex: 0 0 33.33%; 
}
.columna.izquierda2 {
    flex: 0 0 40.33%; 
}


.columna.derecha {
    flex: 0 0 66.66%; 
}

.imagen_maestra1 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.imagen_maestra1 img {
    max-width: 100%;
    height: auto;
    margin-top: 6%;
}

.imagen_detalle10 {
    position: relative;
    margin: 0px;
    padding: 0;
}

.imagen_detalle10::before {
    content: "";
    position: absolute;
    top: 14%;
    left: 19%;
    width: 57%;
    height: 19%;
   /*  background-image: url(../img/comunidad/TITULO1.png); */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1.5;
}


@media (max-width: 1024px) {
    .imagen_detalle10::before {
        top: 10%; 
        left: 10%; 
        width: 60%; 
        height: 20%; 
    }
}

@media (max-width: 768px) {
    .row {
        flex-direction: column;
    }

    .columna.izquierda,
    .columna.derecha {
        flex: 0 0 100%;
        max-width: 100%;
    }
}


@media (max-width: 480px) {
    .imagen_detalle10::before {
        top: 5%; 
        left: 5%; 
        width: 80%;
        height: 30%; 
    }
}


/* ---------------------------mensajes alerta alumnos */
/* Estilo para la ventana emergente */
#mensajeAlerta, #mensajeSuccess {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-7%, 27%);
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    /* display: none; */
    width: 40%;
    text-align: center;
    animation: fadeOut 4s forwards; 
}
@keyframes fadeOut {
    0% {
        opacity: 1; 
    }
    99% {
        opacity: 1; 
    }
    100% {
        opacity: 0; 
        visibility: hidden; 
    }
}
/* Estilo para la alerta de advertencia */
#mensajeAlerta {
    background-color: #ee2042;
    color: #050505;
}

/* Estilo para la alerta de éxito */
#mensajeSuccess {
    background-color: #d4edda;
    color: #155724;
}

/* Estilo de fondo oscuro al mostrar la alerta */
#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 9998;
}

/* --------------------------- */
.center-button {
    display: flex;
    justify-content: center;
    align-items: center;
}


.cupons1 {   
    position: relative;
    top: -459px;
    max-width: 50%;
    height: auto;
    margin-left: -52px;
}



.imagen_reducida4 {
    width: 143%;
    height: auto;
    margin-left: -30%;
    margin-top: -24%;
}
.imagen_reducida3 {
    width: 60%;
    height: auto;
    margin-left: 15%;
    margin-top: 14%;
}
.imagen_reducida {
    width: 100%;
    height: auto;
}
.imagen_reducida2 {
    width: 50%;
    height: auto;
    margin-left: 3%;
    margin-top: 0%; 
}
@media screen and (max-width: 768px) {
    .imagen_reducida2 {
        width: 100%;
        margin-left: 0;
    }
}
.botones {
    display: flex;
    justify-content: space-around;
    margin-top: 0.5cm;
}

.boton_imagen {
    width: 100%;
    height: auto;
}

.imagenes_adicionales {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 0.5cm;
}
.imagenes_adicionales2 {
 /*    display: flex; */
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 0.5cm;
    margin-right: 31%;
}
.imagen_extra {
    width: 16%;
    height: auto;
}


.btn {
    display: inline-block;
    text-decoration: none;
   /*  border: 2px solid #007bff; */
    padding: 10px 20px;
   /*  background-color: #007bff; */
    color: white;
    border-radius: 5px;
    text-align: center;
  }
  
  .btn:hover {
    background-color:none;
  }



@media (max-width: 768px) {
   
    .container {
        flex-direction: column; 
        gap: 15px; 
    }

    .columna {
        width: 100%;
    }

    .boton_imagen {
        width: 70%;
    }

    .imagen_extra {
        width: 30%;
    }
}

@media (max-width: 480px) {
    .boton_imagen {
        width: 90%;
    }

    .imagen_extra {
        width: 50%;
    }
}


/* ALUMNOS*/



.imagen_Alumno {
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.imagen_Alumno img {
    max-width: 100%;
    height: auto;
    margin-top: 8%;
}





/* Estilos del formulario en la columna derecha */
.imagen_detalle11 {
    margin-top: 17vh;
    display: flex;
    justify-content: center;
    align-items: center;

    flex-direction: column;
    background-color: transparent;
    padding: 50px;
border-radius: 10px;
/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}

.imagen_detalle11::before {
    content: "";
    position: absolute;
    top: 10%;
    left: 60%;
    width: 24%;
    height: 15%;
   /*  background-image: url(../img/comunidad/TITULO2.png); */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1.5;
}



@media (max-width: 1024px) {
    .imagen_detalle11::before {
        top: 19%;
        left: 65%;
        width: 19%;
        height: 7%; 
    }
}

@media (max-width: 768px) {
    .imagen_detalle11::before {
        top: 57%;
        left: 48%;
        width: 31%;
        height: 3%;
    }
}

@media (max-width: 480px) {
    .imagen_detalle11::before {
        top: 5%; 
        left: 5%; 
        width: 80%;
        height: 30%; 
    }
}


.imagen_detalle12 {
    margin-top: 17vh;
    display: flex;
    justify-content: center;
    align-items: center;

    flex-direction: column;
    background-color: transparent;
    padding: 50px;
border-radius: 10px;
/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
}

.imagen_detalle12::before {
    content: "";
    position: absolute;
    top: 10%;
    left: 60%;
    width: 24%;
    height: 15%;
   /*  background-image: url(../img/comunidad/TITULO4.png); */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1.5;
}



@media (max-width: 1024px) {
    .imagen_detalle12::before {
        top: 19%;
        left: 65%;
        width: 19%;
        height: 7%; 
    }
}

@media (max-width: 768px) {
    .imagen_detalle12::before {
        top: 57%;
        left: 48%;
        width: 31%;
        height: 3%;
    }
}

@media (max-width: 480px) {
    .imagen_detalle12::before {
        top: 5%; 
        left: 5%; 
        width: 80%;
        height: 30%; 
    }
}



/* Ajustes de estilo para el formulario */
form {
    max-width: 423px;
    margin: auto;
    padding: 25px;
    background-color: transparent;
    border-radius: 10px;
   /*  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); */
    margin-left: 13px;
}

/* Estilos para los labels y los campos del formulario */
form .form-label {
    font-weight: bold;
    margin-bottom: 5px;
    font-family: 'Burbank Big Condensed Black 700-Bold', sans-serif; /* Usa el nombre correcto de la fuente */

    color: #7d2983;;
}

form .form-control, form .form-select {
    border-radius: 25px;
    border: 1px solid #ccc;
    padding: 10px;
    margin-bottom: 10px;
    width: 100%; /* El ancho se ajusta al 100% del contenedor */
    height: 40px; /* Puedes ajustar la altura a lo que prefieras */
    color: gray;
}

/* Estilos para los botones */
form .btn-primary {
    background-color: #007bff;
    border-color: #007bff;
    padding: 10px 113px;
    font-size: 16px;
    border-radius: 5px;
}

form .btn-secondary {
    background-color: #9af10e;
    border-color: #6c757d;
    padding: 12px 35px;
    font-size: 16px;
    border-radius: 5px;
    margin-top: 10px;
}
form .btn-warning {
    background-color: #ec4b1a;
    border-color: #6c757d;
    padding: 12px 35px;
    font-size: 16px;
    border-radius: 5px;
    margin-top: 10px;
}

/* Botones transparentes */
.btn-transparent {
    background-color: transparent;
    border: transparent; /* Borde de color azul (o puedes cambiarlo a otro color si prefieres) */
    color: #007bff; /* Color del texto en azul */
    font-size: 16px; /* Ajusta el tamaño de la fuente si es necesario */
    padding: 10px 15px; /* Ajusta el padding del botón */
    border-radius: 5px; /* Redondeo de bordes */
    width: 30%; /* Ancho completo */
    text-align: center; /* Alineación del texto */
}

.btn-transparent:hover {
    background-color: #007bff; /* Fondo azul en hover */
    color: white; /* Color del texto cambia a blanco cuando se pasa el ratón */
}



/* Media query para pantallas más pequeñas */
@media (max-width: 768px) {
    .comunidad {
        padding-top: 0cm;
    }

    /* Asegura que las columnas se apilen en pantallas pequeñas */
    .row {
        flex-direction: column;
        align-items: center;
    }

    .col-md-4, .col-md-8 {
        width: 100%;
    }



}


/* seccion PROFESORES */


.imagen_Profesor {
    margin-left: 7vw; /* Unidades relativas a la anchura de la ventana */
    margin-top: 17vh; /* Unidades relativas a la altura de la ventana */
    display: flex;
    justify-content: center;
    align-items: center;
}

.imagen_Profesor img {
    max-width: 100%;
    height: auto;
}

/* Estilos del formulario en la columna derecha */
.mensaje_comunidad {
    margin-top: 25vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}







/* seccion contactos */
.contactos{    
    max-width: 2000px;
    margin: 0 auto;
    padding: 4rem 7rem;
    padding-bottom: 2rem;
    height: auto;
    background: linear-gradient(to bottom right, #bbd7ff, #4d8fff);
    position: relative;
}
.contactos::before{
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    height: 12rem;
    width: 28rem;
    background-image: url('../img/contactos/fondo1_1.png');
    background-position: 20px 0 ;
    background-repeat: no-repeat;
    background-size: auto 100%;
}
.contactos_main h1{
    font-family: 'Schwarzenberg';
    margin-bottom: .5rem;
    font-size: 48px;
    color: white;
}
.contactos_main h1 b{
    font-family: 'Schwarzenberg';
    color: #476bb6;
}
.contactos_main{
    background-image: url('../img/contactos/fondo_mapa.png');
    background-position: right;
    background-repeat: no-repeat;
    background-size: auto 60%;
}
.contactos_main iframe{
    width: 45%;
}
.contactos_footer{
    margin-top: 6rem;
    height: auto;
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 3rem;
    text-align: center;
}
.contactos_footer_contactos{
    background-color: rgba(255, 255, 255, 0.7);
    padding: 1rem 2rem;
    font-size: .7rem;
    border-radius: 2rem;
}
.contactos_footer_contactos h4{
    font-weight: 700;
    margin-bottom: .5rem;
}
.contactos_footer img{
    width: 5rem;
}
/* ------------------ */

/* Contenedor del login */
.login-container {
    background-color: #fff;
    padding: 40px 30px;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0,0,0,0.1);
    width: 100%;
    max-width: 400px;
    text-align: center;

    /* Centrado en la página */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
/* Título */
.login-container h2 {
    margin-bottom: 20px;
    color: #333;
}

/* Inputs */
.login-container input[type="email"],
.login-container input[type="password"] {
    width: 100%;
    padding: 12px;
    margin: 10px 0 20px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 16px;
}

/* Botón */
.login-container button {
    background-color: #3498db;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
    width: 100%;
    transition: background-color 0.3s ease;
}

.login-container button:hover {
    background-color: #2980b9;
}

/* Error */
.error {
    color: #e74c3c;
    margin-bottom: 20px;
    font-weight: bold;
}

/* Estilo personalizado para el botón */
.btn-personalizado {
    background-color: white; /* Color de fondo azul */
    color: white;
    border: 2px solid white; /* Borde azul */
    border-radius: 50%; /* Hacer el botón circular */
    width: 36px; /* Asegúrate de que el botón sea lo suficientemente grande para el ícono */
    height: 36px; /* Asegúrate de que el botón sea lo suficientemente grande para el ícono */
    display: flex;
    justify-content: center; /* Centra el ícono horizontalmente */
    align-items: center; /* Centra el ícono verticalmente */
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    padding: 0; /* Eliminar padding para mantener el tamaño */
    text-align: center;
    margin-top: 19px;
    margin-left: 12px;

    /* Imagen de la lupa como fondo */
    background-image: url('/img/comunidad/lupa.png');
    background-size: 18px 18px; /* Ajusta el tamaño de la imagen */
    background-repeat: no-repeat; /* Evita que se repita la imagen */
    background-position: center; /* Centra la imagen dentro del botón */
}

.btn-personalizado-rojo {
    background-color: #dc3545; /* color rojo tipo Bootstrap */
    color: white;
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    margin-left: 40px;

}
.btn-personalizado-rojo:hover {
    background-color: #c82333;

}




/* Pantalla de verificación de códigos de AGP */

        .verificar-container {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 80vh;
        padding: 20px;
        box-sizing: border-box;
    }

    .verificar-box {
        background-color: #fff;
        border: 2px solid #b60613;
        border-radius: 12px;
        padding: 30px 20px;
        max-width: 400px;
        width: 100%;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
        text-align: center;
    }

    .verificar-box h1 {
        color: #b60613;
        font-size: 24px;
        margin-bottom: 25px;
    }

    .codigo-box {
        background-color: #f9f9f9;
        border: 1px solid #b60613;
        border-radius: 10px;
        padding: 20px;
    }

    .codigo-box h2 {
        font-size: 18px;
        margin-bottom: 10px;
        color: #b60613;
    }

    .codigo-box p.codigo {
        font-size: 28px;
        font-weight: bold;
        margin-bottom: 15px;
        color: #000;
    }

    .codigo-box p.msg {
        font-size: 16px;
        font-weight: 500;
        color: #b60613;
        margin: 0;
    }

    /* Responsive */
    @media (max-width: 480px) {
        .verificar-box {
            padding: 25px 15px;
        }

        .verificar-box h1 {
            font-size: 20px;
        }

        .codigo-box h2 {
            font-size: 16px;
        }

        .codigo-box p.codigo {
            font-size: 24px;
        }

        .codigo-box p.msg {
            font-size: 14px;
        }
    }