/* 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; 
}

@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;
    }
    footer{
        font-size: 10px;
    }
}

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: 500px; /* Ajusta la altura según sea necesario */
    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-sobre-nos {
    display: flex; /* Utiliza flexbox */
    flex-direction: column; /* Apila los divisores verticalmente */
    align-items: center; /* Alinea los divisores en el centro horizontal */
}

/* Estilos para los divisores */
.tarjeta {
    display: flex; /* Utiliza flexbox para alinear imágenes horizontalmente */
    flex-direction:column; /* Apila los elementos verticalmente */
    background-color: #FFDE59; 
    border-radius: 20px;
    padding: 20px; 
    margin-bottom: 20px; 
    width: 90%; 
    box-sizing: border-box; 
    overflow: hidden; /* Oculta el contenido que desborda del divisor */
    align-items: center;
}

.tarjeta:first-of-type {
    margin-top: 20px; /* Añade espacio entre el primer divisor y el banner */
}

.texto{
    background-color:#ffffff;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    padding:10px; /* Añade espacio interno */
    margin: -40 px 0; /* Añade margen arriba y abajo */
    width: 98%; /* Ancho del divisor */
    box-sizing: border-box; /* Incluye el padding en el ancho */
    overflow: hidden; /* Oculta el contenido que desborda del divisor */
    color: #767272;
}
/* Estilos para el título h4 dentro de los divisores */
.tarjeta h4{
    font-size: 30px; 
    font-weight:bolder;
    color: #ffffff;
}

.tarjeta h5{
    font-size: 20px;
    font-style: italic;
    padding:0  10px;
}
/* Estilos para el párrafo p dentro de los divisores */
.texto p {
    font-size: 18px;
    padding: 0 10px;
    text-align: justify;
    align-self: center;
    align-self:baseline; /* Alinea el bloque de texto verticalmente */
    text-overflow: ellipsis; /* Agrega puntos suspensivos al final del texto que se desborda */
}

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;
}