/* 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;
    }
}


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 {
    display: flex; /* Utiliza flexbox para alinear imágenes horizontalmente */
    flex-wrap: wrap;
    margin: 50px;
    gap: 10px; /* Espacio entre los elementos */
    justify-content: center; /* Centra los elementos horizontalmente */
}

.tarjeta {
    background-color: #ffffff;
    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 */
    width: calc(30% - 10px); /* Ancho del divisor */
    box-sizing: border-box; /* Incluye el padding en el ancho */
    overflow: hidden; /* Oculta el contenido que desborda del divisor */
    color: #525252;
    align-items: center;
    margin: 10px; /* Añade margen alrededor de cada tarjeta */
    text-align: center;
    font-size: 20px;
}

.tarjeta img {
    max-width: 60%; /* Asegura que la imagen no se salga del contenedor */
}

/* Estilos para el párrafo dentro de cada tarjeta */
.tarjeta p {
    margin: 0; 
    font-weight: bolder; 
    text-align: center;
    font-size: 20px;
}

/* Estilos para los enlaces dentro de cada tarjeta */
.tarjeta a {
    color: #007bff; 
    text-decoration: none; 
    font-weight: bold; 
}

/* Media query para dispositivos móviles */
@media screen and (max-width: 768px) {
    .contenido {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .tarjeta {
        width: 90%;
    }
    footer{
        font-size: 10px;
    }
}

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;
}
