/* General Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    position: relative; /* Asegura que el body esté posicionado correctamente */
    min-height: 100vh; /* Asegura que el body ocupe al menos el 100% de la altura de la ventana */
    display: flex;
    flex-direction: column;
}

/* Header Styles */
.header-bg {
    position: relative;
    text-align: center;
    height: 380px; /* Ajusta la altura según sea necesario */
    overflow: hidden; /* Asegura que los elementos hijos no se desborden */
    z-index: 1; /* Asegura que el header esté por encima de otros elementos */
}

.header-bg::before, .header-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover; /* Asegura que la imagen de fondo cubra todo el contenedor */
    background-position: center; /* Centra la imagen de fondo */
    transition: opacity 1s ease-in-out;
    z-index: -1; /* Asegura que las imágenes estén detrás del contenido */
}

.header-bg::before {
    background-image: url('../images/encabezado_free1.jpeg');
    animation: fade 10s infinite;
}

.header-bg::after {
    background-image: url('../images/encabezado2.jpeg'); /* Cambia esta ruta a la segunda imagen */
    animation: fade 10s infinite 5s; /* Inicia la animación 5 segundos después */
}

@keyframes fade {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}

.header-bg .content {
    position: relative;
    z-index: 1; /* Asegura que el contenido esté por encima de las imágenes */
    color: white; /* Color del texto */
    padding: 20px;
    display: flex;
    flex-wrap: wrap; /* Permite que los elementos hijos se envuelvan en múltiples líneas */
    justify-content: center; /* Centra los elementos hijos horizontalmente */
}

/* Custom Button Styles, botones menu */
.btn-custom {
    background-color: rgba(76, 102, 120, 0.8); /* Color de fondo con 20% de transparencia */
    color: white;
    border: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.381); /* Sombra para el botón */
    transition: box-shadow 0.3s ease; /* Transición suave para la sombra */
    position: relative; /* Asegura que el botón esté posicionado correctamente */
    z-index: 3; /* Asegura que el botón esté por encima de otros elementos */
    padding: 10px 20px; /* Ajusta el padding para un tamaño adecuado */
    font-size: 16px; /* Ajusta el tamaño de la fuente */
    margin: 5px; /* Añade margen para separación */
}

.btn-custom:hover {
    background-color: rgba(15, 112, 139, 0.8); /* Color de fondo con 20% de transparencia al pasar el ratón */
    box-shadow: 0 8px 16px rgba(246, 245, 245, 0.2); /* Sombra más intensa al pasar el ratón */
}

.btn-custom:focus,
.btn-custom:active {
    background-color: rgba(15, 112, 139, 0.8); /* Color de fondo con 20% de transparencia al pasar el ratón */
    box-shadow: 0 8px 16px rgba(244, 240, 240, 0.2);
    outline: none; /* Para eliminar el borde de enfoque predeterminado */

    
}

/* Media Queries for Mobile Devices */
@media (max-width: 767px) {
    .header-bg {
        height: auto; /* Ajusta la altura automáticamente según el contenido */
    }

    .header-bg .content {
        flex-direction: column; /* Coloca los elementos hijos en una columna */
        align-items: flex-start; /* Alinea los elementos hijos a la izquierda */
    }

    .btn-custom {
        width: auto; /* Ajusta el ancho del botón */
        padding: 15px; /* Ajusta el padding para un tamaño adecuado en móviles */
        font-size: 14px; /* Ajusta el tamaño de la fuente para móviles */
        position: relative; /* Mantiene la posición relativa */
        margin: 5px 0; /* Añade margen vertical para separación */
    }

    .whatsapp-button {
        width: 20px; /* Ajusta el tamaño del botón para dispositivos móviles */
        height: 20px; /* Ajusta el tamaño del botón para dispositivos móviles */
        bottom: 11px; /* Ajusta la posición desde la parte inferior */
        right: 15px; /* Ajusta la posición desde la parte derecha */
    }
}

.dropdown-menu-custom {
    background-color: rgba(76, 102, 120, 0.8); /* Color de fondo con 20% de transparencia */
    color: rgba(0, 0, 0, 0.381);
    border: none;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.381); /* Sombra para el botón */
    transition: box-shadow 0.3s ease; /* Transición suave para la sombra */
    position: relative; /* Asegura que el botón esté posicionado correctamente */
    z-index: 3; /* Asegura que el botón esté por encima de otros elementos */
    padding: 10px 20px; /* Ajusta el padding para un tamaño adecuado */
    font-size: 16px; /* Ajusta el tamaño de la fuente */
    margin: 5px; /* Añade margen para separación */
}

.dropdown-menu-custom .dropdown-item {
    color: white; /* Color de la letra de los elementos de la lista */
}

.dropdown-menu-custom:hover {
    background-color: rgba(15, 112, 139, 0.8); /* Color de fondo con 20% de transparencia al pasar el ratón */
    box-shadow: 0 8px 16px rgb(73, 72, 72); /* Sombra más intensa al pasar el ratón */
}

.dropdown-menu-custom .dropdown-item:hover {
    color: #000000; /* Color de la letra al pasar el ratón */
}


.logo-container {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: 15px;
}

.footer-logo-container {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Alinear a la izquierda */
}

/* Estilo para el footer fijo */
.custom-footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: rgba(52, 58, 64, 0.7); /* Color de fondo con 30% de transparencia */
    color: white; /* Color del texto */
    text-align: center; /* Centrar el texto */
    padding: 1rem 0; /* Espaciado vertical */
    z-index: 1000; /* Asegurar que el footer esté por encima de otros elementos */
    display: flex;
    justify-content: center; /* Centra el contenido horizontalmente */
    align-items: center; /* Centra el contenido verticalmente */
}

/* Navigation Styles */
.navbar {
    position: relative;
    z-index: 4; /* Asegura que el menú esté por encima del encabezado */
}

.navbar-nav .nav-item .nav-link {
    display: flex;
}

/* WhatsApp Button Styles */
.whatsapp-button {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000; /* Asegura que el botón esté por encima de otros elementos */
    width: 60px;
    height: 60px;
    background-color: #25d366; /* Color de fondo de WhatsApp */
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para el botón */
    display: flex;
    align-items: center;
    justify-content: center;
}

.whatsapp-button img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.whatsapp-popup {
    position: fixed;
    bottom: 90px; /* Adjust this value based on the size of the button */
    right: 20px;
    background-color: #27b3a2;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-size: 14px;
    z-index: 1001;
}
/* Personalización del tooltip */
.custom-tooltip .tooltip-inner {
    background-color: #2b4f5e; /* Color de fondo */
    color: #fcfbfb; /* Color de la letra */
    border-radius: 10px; /* Forma redondeada */
    padding: 10px; /* Espaciado interno */
}
.custom-tooltip .arrow::before {
    border-top-color: #333; /* Color de la flecha */
}

/* Ajustar el tamaño del iframe */
.small-iframe {
     width: 50vw; 
     height: 50vw; 
}

 main {
    margin-bottom: 50px; /* Ajusta este valor según sea necesario */
    padding-bottom: 50px; /* Ajusta este valor según sea necesario */
}

/* fondo de textos personalizados-index */
.text-background-custom {
    background-color: #3fc9b8;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom1 {
    background-color: #2eb1c9;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}
/* fondo de textos personalizados-about-us */
.text-background-custom2 {
    background-color: #3fc9b8;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom3 {
    background-color: #2eb1c9;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom4 {
    background-color: #45ba85;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

/* fondo de textos personalizados-servicios */

.text-background-custom5 {
    background-color: #3fc9b8;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom6 {
    background-color: #2eb1c9;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom7 {
    background-color: #45ba85;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

.text-background-custom8 {
    background-color: #d4894b;
    color: white;
    padding: 20px;
    border-radius: 5px;
    font-family: Georgia, serif;
}

/* Media Query para dispositivos móviles */
@media (max-width: 768px) {
    .text-background-custom,
    .text-background-custom1,
    .text-background-custom2,
    .text-background-custom3,
    .text-background-custom4,
    .text-background-custom5,
    .text-background-custom6,
    .text-background-custom7,
    .text-background-custom8 {
        padding: 15px;
        margin-bottom: 20px;
    }
}

.swiper-container {
    width: 100%;
    max-width: 500px; /* Ajusta este valor según el tamaño deseado */
    height: auto;
    overflow: hidden;
}

.swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.laboratory_title_1 {
    position: relative;
    margin: 2rem 0;
    text-align: center;
    color: #fff;
    background: linear-gradient(90deg, #005b96, #4facfe);
    padding: 1rem 0;
}
.laboratory_title_1::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #005b96, #4facfe);
    z-index: -1;
}

.laboratory_title_2 {
    position: relative;
    margin: 2rem 0;
    text-align: center;
    color: #fff;
    background: linear-gradient(90deg, #005b96, #4facfe);
    padding: 1rem 0;
}
.laboratory_title_2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #005b96, #4facfe);
    z-index: -1;
}

