/* Reseteo básico */
body, h1, h2, p, ul, li, a, img, h3 {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@font-face {
    font-family: 'fontSalamanca';
    src: url('fonts/Universitas_Studii_Salamantini.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

h1, .salamanca {
    font-family: 'fontSalamanca', 'Times New Roman'; 
}

body {
    font-family: 'Times New Roman', Times, sans-serif;
    line-height: 1.6;
    background-color: #f4f4f4; /* Fondo blanco para el body */
    color: #333;
    overflow-x: hidden; /* Previene el desplazamiento horizontal */
}

.bandera {
    width: auto; /* Ajusta este valor según el tamaño deseado */
    height: 200px; /* Mantiene la relación de aspecto */
    display: flex;
    justify-content: center;
    padding: 20px;
}

/* Estilos generales para el cuerpo */
header {
    display: flex;
    z-index: 10; /* Mantiene el header encima del contenido */
    background-color: #660000; /* Fondo rojo vino tinto oscuro para el header */
    color: white;
    width: 100%; /* Asegura que el fondo rojo ocupe todo el ancho */
    padding: 10px 0; /* Espaciado vertical */
}

.nombre-asociacion {
    font-family: 'fontSalamanca', 'Times New Roman';
    font-size: 1.5em; /* Tamaño del texto */
    font-weight: bold; /* Texto en negrita */
    color: #d4b483; /* Color dorado */
    margin-left: 10px; /* Reducimos el margen para que esté más cerca del logo */
    align-self: center; /* Centrar verticalmente respecto al logo */
    white-space: nowrap; /* Evitar que el texto se divida en varias líneas */
}

.header-container {
    width: 1200px; /* Ancho máximo igual a las secciones */
    margin: 0 auto; /* Centrado */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px; /* Espaciado lateral dentro del contenedor */
}

.logo-nombre {
    display: flex;
    align-items: center; /* Alinear logo y texto verticalmente */
    gap: 10px; /* Espaciado entre logo y texto */
}

.logo img {
    width: 70px; /* Ajusta este valor según el tamaño deseado */
    height: auto; /* Mantiene la relación de aspecto */
}

/* Navegación */
.navigation ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.navigation ul li {
    display: flex; /* Alinea los íconos y el texto en fila */
    align-items: center; /* Centra verticalmente el texto con los íconos */
    gap: 10px; /* Espacio entre el ícono y el texto */
}

.navigation ul li span {
    font-size: 1em;
    font-weight: bold;
    color: white;
}

.navigation ul li span a {
    color: #d4b483;
    text-decoration: none;
}

.navigation ul li span a:hover {
    text-decoration: underline;
}

/* Íconos */
.icono-contacto {
    width: 30px; /* Ancho del ícono */
    height: 30px; /* Alto del ícono */
    object-fit: contain; /* Ajusta el ícono para que mantenga su proporción */
}

/* Espaciado entre los elementos en el contenedor principal */
.header-container .navigation ul {
    margin: 0;
    padding: 0;
}

/* Hero (sección bienvenida) */
/* Estilo para la sección hero */
.hero {
    position: relative;
    background-image: url('images/Imagen.jpg'); /* Imagen de fondo */
    background-size: cover; /* Asegura que la imagen cubra todo el espacio */
    background-position: center; /* Centra la imagen */
    height: 450px; /* Ajusta la altura de la sección hero según lo que necesites */
    display: flex;
    flex-direction: column;
    text-align: center; /* Centra el texto */
    max-width: 1240px; /* Ancho máximo igual a las secciones */
    margin: 0 auto; /* Centrado */
}

/* Contenedor para el h1 dentro de la imagen */
.hero-content {
    
    text-align: center;
    background-color: #e2ded0;
    border-top: 3px solid #d4b483;
    border-radius: 8px 8px 0 0;
    color:#660000; /* Color blanco para el texto */
    font-size: 3em; /* Tamaño de fuente del título */
    max-width: 1240px;
    display: flex; 
    justify-content: center; /* Centra el contenido horizontalmente dentro del contenedor */
    align-items: center; 
    margin: auto;
    
}


/* Estilo para el párrafo debajo de la imagen */
.texto-principal{
    
    text-align: center;
    background-color: #e2ded0;
    border-bottom: 3px solid #d4b483;
    border-radius: 0 0 8px 8px;
    max-width: 1240px; /* Ancho máximo igual a las secciones */
    margin: 0 auto; /* Centrado */
    font-size: 1.2em;
    font-style: italic;
    font-weight: 1000;
    display: flex; 
    justify-content: center; /* Centra el contenido horizontalmente dentro del contenedor */
    align-items: center; 
    word-wrap: break-word; /* Hace que el texto se divida para ajustarse al ancho */
    overflow-wrap: break-word; /* Compatibilidad cruzada con otros navegadores */
    hyphens: auto; /* Permite la separación automática de sílabas en algunos navegadores */
    font-size: 1.2em; /* Ajusta el tamaño del texto (puedes probar con valores menores para pantallas pequeñas) */
    line-height: 1.5; /* Mejora la legibilidad ajustando el interlineado */
    word-break: break-word; /* Asegura que las palabras largas se dividan correctamente */
    padding: 10px; /* Añadir algo de espacio alrededor del texto */
}

/* Centrar los textos en todas las secciones */
.hero h1, .hero p, 
#quienes-somos .content h2, #quienes-somos .content p,
#galeria .content h2, #galeria .content p,
#eventos .content h2, #eventos .content p,
#contacto .content h2, #contacto .content p {
    text-align: center;
    margin: 0 auto;
}

/* Opcional: centrar las imágenes si es necesario */
.hero img, .zigzag-container .image img {
    display: block;
    margin: 0 auto;
}

.imagen-index{
    max-width: 300px;
    max-height: 400px;
}

/* Zigzag layout */
.zigzag-container {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 20px 0;
}

.zigzag-container .content {
    flex: 1;
    padding: 10px;
}

.zigzag-container .image {
    flex: 1;
    text-align: center;
}

.zigzag-container img {
    width: 100%;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Reverse layout */
.zigzag-container .reverse {
    flex-direction: row-reverse;
}

/* Estilos para las secciones */
.section {
    padding: 20px;
    margin: 10px auto;
    max-width: 1200px;
    background-color: white;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Centrado del título h2 */
h2 {
    text-align: center; /* Centrar el texto del título */
    margin-bottom: 20px; /* Un pequeño margen para separar el título del contenido */
}

/* Cambios en los h2 para que los enlaces se vean bien */
h2 a {
    text-decoration: none;
    color: #333;
}

/* Estilo para el footer */
.main-footer {
    text-align: center;
    padding: 20px;
    background-color: #660000; /* Fondo rojo vino tinto oscuro para el pie de página */
    color: white;
    max-width: 100%; /* Hace que el fondo rojo ocupe todo el ancho */
    font-size: 1rem;
}

.footer-container {
    width: 50%; /* Centra el contenido y ajusta su ancho */
    margin: 0 auto;
    display: flex; /* Flexbox para alinear los elementos */
    justify-content: space-around; /* Espacio entre los elementos */
    align-items: flex-start; /* Alinea los elementos al principio (superior) */
    flex-wrap: wrap; /* Permite que los elementos se envuelvan en pantallas pequeñas */
}

.footer-info, .footer-social {
    display: flex;
    flex-direction: column;
    /*align-items: flex-start;*/
}

.footer-info ul, .footer-social ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-info ul li, .footer-social ul li {
    margin: 5px 0;
}

.footer-info ul li a, .footer-social ul li a {
    text-decoration: none;
    color: white;
    display: flex;
    align-items: center;
}

.footer-info ul li:hover, .footer-social ul li:hover {
    text-decoration: underline;
}

/* Estilos para los iconos de redes sociales */
.footer-social ul {
    display: flex; /* Coloca los elementos en una fila */
    flex-wrap: wrap;
    gap: 25px; /* Más espacio entre los iconos */
    justify-content: center; /* Centra los iconos horizontalmente */
}

.footer-social ul li a img {
    width: 40px; /* Ajusta el tamaño de los iconos */
    height: 40px;
    transition: transform 0.3s ease;
}

.footer-social ul li a:hover img {
    transform: scale(1.1); /* Efecto de agrandar al pasar el cursor */
}

/* Separación entre las redes sociales y el copyright */
.main-footer p {
    margin-top: 30px; /* Espacio adicional entre las redes sociales y el copyright */
    word-wrap: break-word; /* Otras propiedades que puedes usar: word-break: break-word; */
    text-align: center; /* Para centrar el texto (opcional) */
    width: 100%;
    padding: 0px 50px 0px 50px;
}

/* Estilo para los botones de navegación */
.nav-buttons {
    display: flex;
    justify-content: center; /* Centra los botones */
    gap: 20px; /* Espacio entre los botones */
    margin-top: 20px; /* Espacio por encima */
    margin-bottom: 20px; /* Espacio por debajo */
    flex-wrap: wrap; /* Permite que los botones se acomoden en una nueva línea cuando no quepan */
    
}

.nav-button {
    padding: 10px 20px;
    background-color: #660000; /* Rojo oscuro */
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1em;
    text-align: center;
    transition: background-color 0.3s, transform 0.3s;
    
}

.nav-button:hover {
    background-color: #d4b483; /* Cambiar a un color dorado en hover */
    transform: scale(1.05); /* Efecto de agrandado */
}

.nav-button.active {
    background-color: #d4b483; /* Color dorado para el botón activo */
}

/* Estilo para la sección de contenido */
a.btn-descargar {
    color: #d4b483;
    text-decoration: none;
    font-weight: bold;
}

a.btn-descargar:hover {
    text-decoration: underline; /* Opcional: subrayado al pasar el cursor */
}

/* General Styles */
/* Contenedor Flex para Imágenes */
.imagenes-flex {
    display: flex;
    flex-wrap: wrap; /* Para que las imágenes se acomoden en varias líneas si es necesario */
    gap: 10px; /* Espacio entre imágenes */
    justify-content: center;
    margin: 10px;
}

/* Imágenes del índice */
.imagen-index-alta {
    width: 350px; /* Ancho fijo */
    height: 500px; /* Alto fijo */
    object-fit: cover; /* Asegura que la imagen se ajuste a las dimensiones sin deformarse */
    border-radius: 8px; /* Bordes redondeados opcionales */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra opcional para estética */
}

.imagen-index {
    width: 500px; /* Ancho fijo */
    height: 300px; /* Alto fijo */
    object-fit: cover; /* Asegura que la imagen se ajuste a las dimensiones sin deformarse */
    border-radius: 8px; /* Bordes redondeados opcionales */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra opcional para estética */
}


.actividades-section {
    text-align: center;
    padding-top: 0px;
    background-color: #f5f5f5;
}

#actividades.section{
    padding-top: 0px;
}

.section-title {
    font-size: 2rem;
    color: #333;
    margin-bottom: 30px;
}

/* Carousel Container */
.carousel-container {
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 8px;
    padding: 30px;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
    will-change: transform;
}

/* Carousel Item */
.carousel-item {
    
    flex: 0 0 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

/* Carousel Image */
.carousel-image {
    position: relative;
    height: 300px; /* Height of the image container */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-item .salamanca{
    font-size: 1.2rem;
    color: #d4af37; 
    padding: 15px;
    background-color: #8B0000; /* Dark red background */
    border-top: 1px solid #8B0000;
    margin: 0;
    line-height: 1.5;
    border-radius: 8px 8px 0 0;
}

/* Description Text */
.carousel-item p {
    font-size: 1rem;
    color: white; 
    padding: 15px;
    background-color: #8B0000; /* Dark red background */
    border-top: 1px solid #8B0000;
    margin: 0;
    line-height: 1.5;
    border-radius: 0 0 8px 8px;
}

/* Arrows */
.arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #333;
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.5rem;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}



.left-arrow {
    left: 10px;
}

.right-arrow {
    right: 10px;
}

.arrow:hover {
    background-color: #d4af37;
}

/* Responsiveness */
@media (max-width: 768px) {
    .carousel-image {
        height: 200px;
    }

    .carousel-image h3 {
        font-size: 1.5rem;
    }

    .carousel-item p {
        font-size: 0.9rem;
    }
}


/* Eventos */

.event-list {
    display: flex;
    flex-direction: column;
    gap: 30px; /* Espacio entre los eventos */
    padding-top: 30px;
}

/* Estilo para cada evento */
.event {
    display: flex;
    justify-content: space-between; /* Alinea el texto y la imagen a los lados */
    gap: 20px; /* Espacio entre el texto y la imagen */
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #f9f9f9;
    max-height: 1000px;
}

.event h2{
    font-family: 'fontSalamanca', 'Times New Roman';
}

/* Estilo para el texto de los eventos */
.event-text {
    margin-left: 5%;
    width: 50%; /* Toma el 60% del espacio */
}

/* Estilo para las imágenes de los eventos */
.event-image {
    width: 35%; /* La imagen ocupa el 35% del espacio */
}

.event-image img {
    max-width:70%;
    max-height: 400px;
    border-radius: 10px;
    object-fit: cover; /* Para que la imagen se recorte correctamente */
    border: 1px solid black;
}

/* Sección del desplegable de eventos */

.eventos-container{
    margin: 20px 0;

}

.toggle-button {
    display: block;
    background-color: #d4b483;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 5px;
    text-align: center;
    margin: 0 auto;
}

.toggle-button:hover {
    background-color: #b78a5b;
}

.eventos-content {
    display: none; /* Oculto por defecto */
    margin-top: 10px;
    padding: 10px;
    background: #f4f4f4;
    border-radius: 8px;
    transition: max-height 0.3s ease-in-out;
}

.event {
    background: white;
    padding: 15px;
    border-radius: 5px;
    margin: 10px 0;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1);
}

/* Sección de Contacto */
.contact-section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin: 20px auto;
    background-color: #f4f4f4; /* Fondo neutro */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Imagen de contacto */
.contact-image {
    flex: 12; /* Ocupa 50% del ancho */
}

.contact-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Información de contacto */

.contact-info {
    flex: 9; /* Ocupa 50% del ancho */
    padding: 20px;
    background-color: #660000;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center; /* Centra los elementos dentro de la columna */
    text-align: center; /* Asegura que el texto dentro de los enlaces esté centrado */
}

/* Sección de texto */
.contact-info p {
    margin-bottom: 20px;
    font-size: 1.2em;
    line-height: 1.6;
}

/* Contenedor de los enlaces */
.contact-info ul {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column; /* Alinea los enlaces de manera vertical */
    align-items: self-start; /* Centra los enlaces */
    justify-content: space-evenly; /* Asegura que haya el mismo espacio entre cada enlace */
    height: 100%; /* Asegura que los enlaces ocupen todo el espacio disponible en el contenedor */
}

/* Los elementos de los enlaces */
.contact-info ul li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 1em;
}

/* Imagen dentro de los enlaces */
.contact-info ul li img {
    width: 40px;
    height: 40px;
    margin-right: 10px;
}

/* Enlaces */
.contact-info ul li a {
    color: #d4b483;
    text-decoration: none;
    font-weight: bold;
}

.contact-info ul li a:hover {
    text-decoration: underline;
}

/* Título principal de la sección */
@media (max-width: 768px) {
    .header-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .navigation ul {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .navigation ul li {
        width: 100%; /* Asegura que los elementos ocupen todo el ancho de la pantalla */
        text-align: center; /* Centra el contenido del texto */
    }

    .nav-buttons {
        justify-content: flex-start; /* Alinea los botones al inicio */
        gap: 15px; /* Ajusta el espacio entre los botones */
    }

    .nav-button {
        flex: 1 0 auto; /* Permite que los botones se ajusten en el espacio disponible */
        width: auto; /* Asegura que los botones mantengan su tamaño natural */
        margin-bottom: 10px; /* Espacio entre los botones */
    }

    .texto-principal {
        font-size: 1em; /* Ajusta el tamaño de la fuente para pantallas pequeñas */
        padding: 5px; /* Menos espacio alrededor en pantallas pequeñas */
    }

    .imagen-index-alta {
        max-width: 45%; /* Asegura que las imágenes se ajusten bien en pantallas pequeñas */
        margin-bottom: 10px; /* Espacio entre imágenes */
    }

    .contact-section {
        flex-direction: column; /* Cambiar a columna cuando la pantalla sea pequeña */
    }
    
    .contact-image, .contact-info {
        flex: 1 100%; /* Hace que tanto la imagen como el texto ocupen el 100% del ancho */
    }

    .bandera img{
        max-width: 80%;
        height: auto;
    }

    .zigzag-container {
        flex-direction: column;
        text-align: center;
    }

    .zigzag-container .content, 
    .zigzag-container .image {
        width: 100%;
    }


    .footer-info ul li, .footer-social ul li {
        font-size: 0.9rem; /* Reducir tamaño de la fuente */
        margin: 8px 0; /* Añadir más espacio entre los items */
    }

    /* Reducir el tamaño de la fuente en el footer */
    .main-footer p {
        font-size: 0.8rem; /* Reducir el tamaño del texto de copyright */
        padding: 0px 50px 0px 50px 
        
    }

    .event {
        flex-direction: column; /* Apila los elementos en columna */
        align-items: center;   /* Centra horizontalmente */
        text-align: center;    /* Centra el texto */
    }

    .event-text {
        width: 100%; /* Que ocupe todo el ancho */
        margin-left: 0; 
    }

    .event-image {
        width: 100%; /* Que la imagen use todo el ancho disponible */
        margin-bottom: 15px; /* Espacio entre la imagen y el texto */
        text-align: center;
    }

    .event-image img {
        max-width: 90%; /* Ajusta el tamaño en pantallas pequeñas */
        height: auto;
    }

}

@media (max-width: 650px) {
    .main-footer p {
        font-size: 0.8rem; /* Reducir el tamaño del texto de copyright */
        padding: 0px 50px 0px 50px 
        
    }
}

