/* Estilos para el cuerpo de la página */
body {
    background-color: #dddddd; /* Color de fondo gris */
    margin: 0; /* Eliminar margen predeterminado del cuerpo */
    font-family: sans-serif;
}

header {
    background-color: #ffffff;
    width: 100%; /* Ancho completo */
    overflow: hidden;
    padding: 0px; /* Añadido espacio alrededor de la barra de navegación */
    z-index: 1;
}

/* Estilos para la barra de navegación */
.barra-navegacion {
    display: flex; /* Utilizamos flexbox para alinear elementos */
    align-items: center; /* Centramos verticalmente los elementos */
    justify-content: space-between; /* Espacio uniforme entre los elementos */
    padding: 10px 10px; /* Espaciado interno */
}

.izquierda {
    display: flex;
    align-items: center; /* Centramos verticalmente los elementos */
}

.barra-navegacion img {
    height: 80px; /* Altura del logo */
    padding: 10px; /* Espaciado alrededor del logo */
    border-radius: 70%;
}

.hamburger {
    display: none;
}


.menuppal {
    display: flex;
}


.botones {
    display: flex;
    align-items: center; /* Centramos verticalmente los elementos */
    line-height: 50px;
    color: #F5F5F5;
    font-size: 30px; /* Tamaño del botón */
    list-style: none;
}

.botones a {
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    color: #ffffff; 
    padding: 20px 20px; 
    background-color: #fcdc5c; 
    border-radius: 10px;
    margin-right: 10px; 
    box-shadow: 0 2px 4px #ffffffb0; 
}

main {
    flex: 1; /* El contenedor principal toma todo el espacio disponible */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra el contenido horizontalmente */
}

.banner {
    position: relative;
    width: 100%;
    height: auto; /* Ajusta la altura según sea necesario */
    min-height: 500px;
    overflow: hidden;
}

.banner img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ajusta la imagen para cubrir el contenedor */
    z-index: -1; /* Para que la imagen de fondo esté detrás del contenido */
    position: absolute;
    top: 0;
    left: 0;
}

/* Estilos para el contenedor de los elementos */
.contenido-principal {
    color: white; /* Color de texto blanco */
    text-align: center; /* Centrar el texto horizontalmente */
    position: absolute; /* Posicionamiento absoluto para colocarlos encima de la imagen */
    top: 50%; /* Ajustado para centrar verticalmente en dispositivos móviles */
    left: 50%; /* Ajusta la posición horizontal al centro */
    transform: translate(-50%, -50%); /* Centra vertical y horizontalmente */
    width: 90%; /* Ancho del contenedor */
    max-width: 800px; /* Ancho máximo para el contenido */
    padding: 20px; /* Espaciado interno */
    box-sizing: border-box; /* Incluye el padding en el ancho */
}

/* Estilos para los títulos */
.contenido-principal h1,
.contenido-principal h2,
.contenido-principal h3 {
    position: relative; /* Cambiado a relativo */
    z-index: 1; /* Asegura que los títulos estén sobre el fondo */
    display: block; /* Mostrar como bloque en línea para ajustarse al contenido */
    width: fit-content; /* Ajustar el ancho al contenido del texto */
    padding: 10px 5px; /* Ajustar el padding según sea necesario */
    background-color: rgba(59, 59, 59, 0.685); /* Color de fondo */
    color: white; /* Color de texto */
    margin: 30px auto; /* Añadir margen arriba y abajo para separar los títulos */
    text-align: center;

}
.contenido-principal h1 {
    font-size: 30px; /* Tamaño de fuente para h1 */
}
.contenido-principal h2 {
    font-size: 50px; /* Tamaño de fuente para h2 */
    font-style: italic;
}
.contenido-principal h3 {
    font-size: 25px; /* Tamaño de fuente para h3 */
    font-weight: 200;
}
/* Estilos para el contenedor sobre nosotros */
.contenido {
    display: flex; /* Utiliza flexbox */
    flex-direction: column; /* Apila los divisores verticalmente */
    align-items: center; /* Alinea los divisores en el centro horizontal */
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.imagenes {
    display: flex;
    flex-wrap: wrap; /* Permite que las imágenes se ajusten a la pantalla */
    justify-content: center; /* Centra las imágenes horizontalmente */
    align-items: center; /* Centra las imágenes verticalmente */
}

.imagenes img {
    max-width: 250px;
    padding: 10px; /* Espaciado alrededor de las imágenes */
    border-radius: 50%;
    height: auto; /* Mantiene la proporción de las imágenes */
}

.texto {
    background-color: #FFDE59;
    display: flex; /* Utiliza flexbox para alinear imágenes horizontalmente */
    flex-direction: column; /* Apila los elementos verticalmente */
    border-radius: 20px; /* Borde redondeado */
    padding: 20px; /* Añade espacio interno */
    margin: 20px 0; /* Añade margen arriba y abajo */
    width: 90%; /* Ancho del divisor */
    max-width: 800px; /* Máximo ancho para centrado en grandes pantallas */
    box-sizing: border-box; /* Incluye el padding en el ancho */
    overflow: hidden; /* Oculta el contenido que desborda del divisor */
    color: #ffffff;
    align-items: center;
}

.texto p {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}

.texto ol {
    font-size: 1rem;
    line-height: 1.6;
}

.texto ol {
    font-size: 20px;
    line-height: 1.6; /* Aumenta el interlineado de los elementos de la lista */
}

footer {
    background-color: #ffffff;
    display: flex; /* Utiliza flexbox para alinear los elementos en fila */
    justify-content: space-around; /* Espacio igual entre los elementos */
    text-align: center; /* Centrar el texto dentro de cada p */
    padding: 5px 0;
    width: 100%; /* Asegura que el footer ocupe el ancho completo */
    font-size: 14px; /* Ajustar el tamaño de la letra si es necesario */
    color: #525252;
}


/* Mostrar el ícono de hamburguesa en dispositivos móviles */
@media (max-width: 768px) {
    .hamburger {
        display: block;
        background-color: transparent;
        left: 0;
        top: 0;
        height: 30px;
        width: 30px;
        padding: 20px;
        transform: translate3d(0, 0, 0);
        transition: transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
        z-index: 1002;
        cursor: pointer;
        user-select: none;
    }
    .hamburger.is_active {
        background-color: none;
    }
    ._layer {
        margin-bottom: 4px;
        border-radius: 2px;
        width: 28px;
        height: 4px;
        opacity: 1;
        background-color: #fcdc5c;
    }
    .menuppal {
        display: none;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #fcfcd7;
        align-items: center;
        justify-content: center;
        z-index: 1001;
        transform: translate3d(0px, -100%, 0px);
        transition: transform 0.35s cubic-bezier(0.05, 1.04, 0.72, 0.98);
    }
    .menuppal.is_active {
        display: flex;
        transform: translate3d(0px, 0px, 0px);
    }
    .botones {
        flex-direction: column;
        align-items: center;
        justify-content: top;
        margin: 0;
        padding: 0;
    }
    .menuppal ul li {
        list-style: none;
        text-align: center;
        font-size: 1.5rem;
        line-height: 3em;
        height: 3em;
        color: #ffffff;
        text-transform: none;
        font-weight: bold;
    }
    .imagenes {
        flex-direction: column; /* Apila las imágenes verticalmente en pantallas pequeñas */
    }
    .imagenes img {
        max-width: 100%; /* Asegura que las imágenes no se desborden del contenedor */
        max-height: 400px; /* Altura máxima de las imágenes en pantallas pequeñas */
    }

    footer{
        font-size: 10px;
    }
}
