/* Reset CSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Estilos personalizados */
body {
    font-family: 'Libre Baskerville', serif;
}

/* ============ INICIO ESTILOS # NAVBAR # ============*/
.navbar {
    width: 100%;
    border-bottom: 2px solid #ffffff;
    padding-left: 3%; /* Reducido para acercar al borde */
    padding-right: 3%; /* Reducido para acercar al borde */
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.795); /* Sombra */
    border-bottom: 2px solid #ffffffc5; /* Borde en la parte inferior */
    background-color: rgb(255, 255, 255);
    position: fixed;
    top: 0;
    z-index: 1000; /* Asegura que el navbar esté siempre en la parte superior */
}

.navbar-container {
    height: 69px; /* Altura del navbar */
    width: 100%;
}

.navbar-dark .navbar-brand .navbar-logo {
    height: 69px;
    width: auto;
}

.navbar-dark .navbar-nav .nav-link {
    color: var(--primary-color);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
    color: #B8860B;
}

/* Añade separador | entre los enlaces de navegación */
.navbar-dark .navbar-nav .nav-link::after {
    content: '|';
    margin: 0 10px;
    color: var(--primary-color);
}

/* Elimina el separador después del último enlace */
.navbar-dark .navbar-nav .nav-item:last-child .nav-link::after {
    content: '';
}
/* ============ FIN ESTILOS # NAVBAR # ============*/

/* ============ INICIO ESTILOS # NAVBAR RESPONIVE # ============*/
/* Estilo para los enlaces en dispositivos móviles */
@media (max-width: 820px) {
    .navbar-dark .navbar-nav .nav-item a.nav-link {
        display: block;
        position: relative;
        padding-bottom: 10px;
    }

    /* Barra debajo de los enlaces */
    .navbar-dark .navbar-nav .nav-item a.nav-link::after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 0; /* Inicialmente no se muestra */
        height: 1px; /* Grosor de la barra */
        background-color: #B8860B; /* Color de la barra */
        transition: width 0.3s ease; /* Transición de ancho */
    }

    /* Muestra la barra al hacer clic o pasar el mouse sobre el enlace */
    .navbar-dark .navbar-nav .nav-item a.nav-link:hover::after,
    .navbar-dark .navbar-nav .nav-item a.nav-link:focus::after {
        width: 50%; /* Ajusta el ancho de la barra aquí */
    }
}


/* == ICONO HAMBURGUESA ==*/
.navbar-toggler {
    border: none; /* Elimina el borde del botón si lo deseas */
}

.navbar-toggler i {
    color: black; /* Cambia este color por el que desees */
    font-size: 1.5rem; /* Ajusta el tamaño del ícono */
}

/* ============ FIN ESTILOS # NAVBAR RESPONIVE # ============*/


/* ============ INICIO ESTILOS # HERO SECTION # ============*/
.hero-section {
    background-image: url('/img/hero_section/hero.jpeg');
    height: 75vh;
    width: 100%;
    background-size: cover;
    background-position: 0 0;
    padding: 0 3%; /* Alinea con el navbar */
    padding-top: 69px; /* Ajusta este valor a la altura del navbar */
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.text-column {
    position: relative; /* Asegura que el contenido esté encima de la imagen */
    z-index: 1;
    text-align: left;
    color: #ffffff;
    width: 100%; /* Ajusta el ancho para que tome en cuenta el padding */
}

/* Estilo personalizado para el botón */
.btn-custom {
    background-color: rgba(241, 241, 241, 0.932); /* Color de fondo */
    color: black; /* Color del texto */
    padding: 10px 20px; /* Espaciado interno */
    font-size: 16px; /* Tamaño de la fuente */
    font-weight: bold; /* Peso de la fuente */
    border: none; /* Sin borde */
    border-radius: 0; /* Bordes redondeados */
    text-decoration: none; /* Quitar subrayado */
    display: inline-block; /* Asegura que se comporte como un botón */
    transition: background-color 0.3s ease; /* Transición para el hover */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-custom:hover {
    background-color: rgb(255, 255, 255); /* Color de fondo al pasar el cursor */
    color: #B8860B; /* Color del texto al pasar el cursor */
    text-decoration: none; /* Asegura que no se subraye al hacer hover */
     transform: translateY(-10px); /* Levanta la card 10 píxeles */
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); /* Aumenta la sombra al pasar el cursor */
}

/* Ajusta el valor según la altura de tu encabezado fijo */
#inicio {
    scroll-margin-top: 70px; /* Ajusta según la altura de tu encabezado fijo */
}
#inicio::before {
    content: "";
    display: block;
    height: 70px; /* Ajusta según la altura de tu encabezado fijo */
    margin-top: -70px; /* Ajusta según la altura de tu encabezado fijo */
    visibility: hidden; /* Asegura que el espacio no sea visible */
}


/* ============ FIN ESTILOS # HERO SECTION # ============*/

/* ============ INICIO ESTILOS # HERO SECTION RESPONSIVE# ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    .hero-section {
        height: 60vh; /* Reduce la altura en pantallas pequeñas */
        padding: 0 1rem; /* Reduce el padding */
        padding-top: 56px; /* Ajusta el padding superior si es necesario */
        background-position: center;
        display: flex;
        flex-direction: column;
    }

    .text-column {
        margin-top: -22vh; /* Ajusta el margen superior para subir el contenido */
    }

    .text-column h2 {
        text-align: flex-start; /* Centra el texto horizontalmente */
        font-size: 34px; /* Ajusta el tamaño de la fuente */
        margin-bottom: 2rem; /* Espacio debajo del título */
    }

    .text-column p {
        display: none; /* Oculta el párrafo en pantallas pequeñas */
    }

    .btn-custom {
        padding: 8px 16px; /* Ajusta el tamaño del padding en pantallas pequeñas */
        font-size: 14px; /* Reduce el tamaño de la fuente */
    }
}


/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    .hero-section {
        height: 70vh; /* Ajusta la altura para tabletas */
        padding: 0 2rem; /* Ajusta el padding */
        background-position: center;
    }

    .text-column {
        text-align: center; /* Centra el texto en pantallas medianas */
    }

    .btn-custom {
        padding: 9px 18px; /* Ajusta el tamaño del padding */
        font-size: 15px; /* Ajusta el tamaño de la fuente */
    }

    
}

/* Pantallas grandes (escritorios) */
@media (min-width: 769px) {
    .hero-section {
        height: 75vh; /* Altura predeterminada para pantallas grandes */
        padding: 0 3%; /* Padding predeterminado */
    }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 768px) {
    #inicio {
        scroll-margin-top: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        padding-top: 10px; /* Añade un margen superior adicional si es necesario */
    }
    #inicio::before {
        height: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        margin-top: -60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
    }
}

/* Estilos para pantallas aún más pequeñas */
@media (max-width: 576px) {
    #inicio {
        scroll-margin-top: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        padding-top: 15px; /* Añade un margen superior adicional si es necesario */
    }
    #inicio::before {
        height: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        margin-top: -50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
    }
}
/* ============ FIN ESTILOS # HERO SECTION RESPONSIVE# ============*/

/* ============ INICIO ESTILOS # VALORES SECTION # ============*/
.text-section {
    background-color: #f8f9fa; /* Color de fondo suave */
    padding: 40px 20px; /* Espaciado interno */
    display: flex;
    justify-content: center; /* Centra horizontalmente el contenido */
    align-items: center; /* Centra verticalmente el contenido */
    text-align: center; /* Centra el texto */
}

.text-section p {
    font-size: 18px; /* Tamaño de la fuente */
    color: #333; /* Color del texto */
    max-width: 800px; /* Ancho máximo del texto para controlar la longitud */
    margin: 0; /* Elimina márgenes adicionales */
    line-height: 1.6; /* Espaciado entre líneas */
}
/* ============ FIN ESTILOS # VALORES SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # VALORES SECTION # ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    .text-section {
        padding: 35px 10px; /* Reduce el espaciado interno en pantallas pequeñas */
        margin-right: 10px;
        margin-left: 10px;
    }

    .text-section p {
        font-size: 16px; /* Reduce el tamaño de la fuente en pantallas pequeñas */
        max-width: 100%; /* Ajusta el ancho máximo del texto */
        font-weight: bold 400;
    }
}

/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    .text-section {
        padding: 30px 15px; /* Ajusta el espaciado interno para tabletas */
    }

    .text-section p {
        font-size: 17px; /* Ajusta el tamaño de la fuente */
        max-width: 90%; /* Ajusta el ancho máximo del texto */
    }
}

/* Pantallas grandes (escritorios) */
@media (min-width: 769px) {
    .text-section {
        padding: 40px 20px; /* Espaciado interno predeterminado para pantallas grandes */
    }

    .text-section p {
        font-size: 18px; /* Tamaño de la fuente predeterminado */
        max-width: 800px; /* Ancho máximo del texto */
    }
}
/* ============ FIN ESTILOS RESPONSIVOS # VALORES SECTION # ============*/

/* ============ INICIO ESTILOS # CARDS SECTION # ============*/

/* Estilo para el título de la sección DESCUBRE NUESTRAS AREAS */
.section-title {
    font-size: 28px;
    font-weight: bold;
    color: #333; /* Color del texto */
    margin-bottom: 30px; /* Espacio debajo del título */
    text-transform: uppercase; /* Convertir texto a mayúsculas */
    letter-spacing: 1.5px; /* Espaciado entre letras */
}

/* Asegura que todas las cards tengan la misma altura */
.card {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 0;
}

.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Mantiene el espacio entre los elementos */
}

/* Para igualar los márgenes internos y evitar que las cards colapsen */
.card-title {
    min-height: 30px; /* Ajusta este valor según el espacio necesario */
    margin-bottom: 0.5rem;
}


.card-text {
    margin-top: 0;
}

/* Asegura que el contenedor ocupa el 100% del ancho de la pantalla */
.container-fluid {
    padding: 0; /* Elimina el padding predeterminado del contenedor */
}

/* Ajusta el espaciado entre columnas y asegura que las tarjetas se alineen correctamente */
.row {
    margin-left: auto;
    margin-right: auto;
}

.row > [class^="col-"] {
    padding-left: 15px; /* Espacio entre tarjetas */
    padding-right: 15px; /* Espacio entre tarjetas */
}

/* Ajusta el espaciado entre tarjetas */
.card {
    border-radius: 0; /* Bordes rectos */
    margin-bottom: 5px; /* Espacio debajo de cada tarjeta */
    height: 100%; /* Asegura que todas las tarjetas tengan la misma altura */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Suaviza el efecto de transformación y la sombra */
}
.card:hover {
    transform: translateY(-10px); /* Levanta la card 10 píxeles */
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.25); /* Aumenta la sombra para hacer el efecto de elevación más pronunciado */
}
/* Centra las tarjetas dentro del contenedor */
.row {
    justify-content: center;
}

/* Ajusta el valor según la altura de tu encabezado fijo */
#servicios {
    scroll-margin-top: 70px; /* Ajusta según la altura de tu encabezado fijo */
}
#servicios::before {
    content: "";
    display: block;
    height: 70px; /* Ajusta según la altura de tu encabezado fijo */
    margin-top: -70px; /* Ajusta según la altura de tu encabezado fijo */
    visibility: hidden; /* Asegura que el espacio no sea visible */
}


/* ============ FIN ESTILOS # CARDS SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # CARDS SECTION # ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    .section-title {
        font-size: 24px; /* Reduce el tamaño de la fuente */
        margin-bottom: 20px; /* Reduce el espacio debajo del título */
    }

    .card {
        margin-bottom: 10px; /* Aumenta el espacio debajo de cada tarjeta */
    }

    .row > [class^="col-"] {
        padding-left: 10px; /* Reduce el espacio entre tarjetas */
        padding-right: 10px; /* Reduce el espacio entre tarjetas */
    }
}

/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    .section-title {
        font-size: 26px; /* Ajusta el tamaño de la fuente */
        margin-bottom: 25px; /* Ajusta el espacio debajo del título */
    }

    .card {
        margin-bottom: 10px; /* Ajusta el espacio debajo de cada tarjeta */
    }

    .row > [class^="col-"] {
        padding-left: 15px; /* Ajusta el espacio entre tarjetas */
        padding-right: 15px; /* Ajusta el espacio entre tarjetas */
    }
}

/* Pantallas grandes (escritorios) */
@media (min-width: 769px) {
    .section-title {
        font-size: 28px; /* Tamaño de fuente predeterminado */
        margin-bottom: 30px; /* Espacio debajo del título */
    }

    .card {
        margin-bottom: 5px; /* Espacio debajo de cada tarjeta */
    }

    .row > [class^="col-"] {
        padding-left: 15px; /* Espacio entre tarjetas */
        padding-right: 15px; /* Espacio entre tarjetas */
    }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 768px) {
    #servicios {
        scroll-margin-top: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        padding-top: 10px; /* Añade un margen superior adicional si es necesario */
    }
    #servicios::before {
        height: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        margin-top: -60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
    }
}

/* Estilos para pantallas aún más pequeñas */
@media (max-width: 576px) {
    #servicios {
        scroll-margin-top: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        padding-top: 15px; /* Añade un margen superior adicional si es necesario */
    }
    #servicios::before {
        height: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        margin-top: -50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
    }
}


/* ============ FIN ESTILOS RESPONSIVOS # CARDS SECTION # ============*/

/* ============ INICIO ESTILOS # CARDS VISTA DETALLES # ============*/
.bg-light-gray {
    background-color: #f0f0f0;
}
.card ul {
    list-style: none; /* Elimina las viñetas predeterminadas */
    padding-left: 0; /* Elimina el padding izquierdo */
}

.card ul li {
    position: relative; /* Posiciona el pseudo-elemento */
    padding-left: 30px; /* Espacio para la viñeta */
    margin-bottom: 0.5rem; /* Espacio entre elementos */
}

.card ul li::before {
    content: "\2022"; /* Caracter Unicode para la viñeta (puedes cambiarlo a otro símbolo o imagen) */
    font-size: 1.5rem; /* Tamaño de la viñeta */
    color: #B8860B; /* Color de la viñeta */
    position: absolute; /* Posiciona la viñeta en relación al <li> */
    left: 0; /* Posición a la izquierda */
    top: 50%; /* Centra verticalmente */
    transform: translateY(-50%); /* Ajusta la posición verticalmente */
}
/* ============ FIN ESTILOS # CARDS VISTA DETALLES # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # CARDS VISTA DETALLES # ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    .card ul li {
        padding-left: 20px; /* Reduce el espacio para la viñeta */
    }

    .card ul li::before {
        font-size: 1.2rem; /* Reduce el tamaño de la viñeta */
    }
}

/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    .card ul li {
        padding-left: 25px; /* Ajusta el espacio para la viñeta */
    }

    .card ul li::before {
        font-size: 1.3rem; /* Ajusta el tamaño de la viñeta */
    }
}

/* Pantallas grandes (escritorios) */
@media (min-width: 769px) {
    /* Mantiene el estilo predeterminado para pantallas grandes */
}
/* ============ FIN ESTILOS RESPONSIVOS # CARDS VISTA DETALLES # ============*/

/* ============ INICIO ESTILOS # NOSOTROS SECTION # ============*/
#nosotros {
    background-color: #f8f9fa;
    padding: 40px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
}

#nosotros:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

#nosotros p {
    text-align: justify;
    
}
.img-fluid {
    height: 23vh;
    margin-top: 2rem;
}

/* Opcional: Asegura un espacio adecuado entre párrafos */
#nosotros p + p {
    margin-top: 1em;
}
/* Ajusta el valor según la altura de tu encabezado fijo */
#nosotros {
    scroll-margin-top: 70px; /* Ajusta según la altura de tu encabezado fijo */
}
#nosotros::before {
    content: "";
    display: block;
    height: 70px; /* Ajusta según la altura de tu encabezado fijo */
    margin-top: -70px; /* Ajusta según la altura de tu encabezado fijo */
    visibility: hidden; /* Asegura que el espacio no sea visible */
}
/* ============ FIN ESTILOS # NOSOTROS SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # NOSOTROS SECTION # ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    #nosotros {
        padding: 20px; /* Reduce el padding */
    }

    .img-fluid {
        height: 13vh; /* Reduce la altura de la imagen */
        margin-top: 1rem; /* Ajusta el margen superior de la imagen */
    }

    #nosotros p {
        font-size: 14px; /* Reduce el tamaño de la fuente para una mejor legibilidad */
    }

    /* Opcional: Ajusta el espacio entre párrafos en pantallas pequeñas */
    #nosotros p + p {
        margin-top: 0.5em;
    }
}

/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    #nosotros {
        padding: 30px; /* Ajusta el padding para tabletas */
    }

    .img-fluid {
        height: 15vh; /* Ajusta la altura de la imagen */
        margin-top: 1.5rem; /* Ajusta el margen superior de la imagen */
    }

    #nosotros p {
        font-size: 16px; /* Ajusta el tamaño de la fuente para pantallas medianas */
    }

    /* Opcional: Ajusta el espacio entre párrafos */
    #nosotros p + p {
        margin-top: 0.75em;
    }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 768px) {
    #nosotros {
        scroll-margin-top: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        padding-top: 10px; /* Añade un margen superior adicional si es necesario */
    }
    #nosotros::before {
        height: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        margin-top: -60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
    }
}

/* Estilos para pantallas aún más pequeñas */
@media (max-width: 576px) {
    #nosotros {
        scroll-margin-top: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        padding-top: 15px; /* Añade un margen superior adicional si es necesario */
    }
    #nosotros::before {
        height: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        margin-top: -50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
    }
}

/* ============ FIN ESTILOS RESPONSIVOS # NOSOTROS SECTION # ============*/

/* ============ INICIO ESTILOS  # EQUIPO SECTION # ============*/
#equipo {
    scroll-margin-top: 70px; /* Ajusta según la altura de tu encabezado fijo */
}
#equipo::before {
    content: "";
    display: block;
    height: 70px; /* Ajusta según la altura de tu encabezado fijo */
    margin-top: -70px; /* Ajusta según la altura de tu encabezado fijo */
    visibility: hidden; /* Asegura que el espacio no sea visible */
}
/* ============ FIN ESTILOS  # EQUIPO SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # EQUIPO SECTION # ============*/
/* Estilos responsivos */
@media (max-width: 768px) {
    #equipo h2 {
        font-size: 2rem; /* Reduce el tamaño de la fuente en pantallas pequeñas */
        margin-bottom: 1rem; /* Ajusta el margen inferior */
    }

    #equipo .col-md-4 {
        flex: 0 0 100%; /* Hace que cada columna ocupe el 100% del ancho en pantallas pequeñas */
        max-width: 100%; /* Ajusta el ancho máximo */
    }

    #equipo img {
        width: 120px; /* Reduce el tamaño de las imágenes en pantallas pequeñas */
    }

    #equipo h5 {
        font-size: 1.1rem; /* Ajusta el tamaño de la fuente para nombres */
    }

    #equipo p {
        font-size: 0.9rem; /* Ajusta el tamaño de la fuente para roles */
    }
}

@media (max-width: 576px) {
    #equipo h2 {
        font-size: 1.75rem; /* Reduce aún más el tamaño de la fuente en pantallas muy pequeñas */
        margin-bottom: 0.75rem; /* Ajusta el margen inferior */
    }

    #equipo img {
        width: 100px; /* Reduce el tamaño de las imágenes en pantallas muy pequeñas */
    }

    #equipo h5 {
        font-size: 1rem; /* Ajusta el tamaño de la fuente para nombres */
    }

    #equipo p {
        font-size: 0.85rem; /* Ajusta el tamaño de la fuente para roles */
    }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 768px) {
    #equipo {
        scroll-margin-top: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        padding-top: 10px; /* Añade un margen superior adicional si es necesario */
    }
    #equipo::before {
        height: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        margin-top: -60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
    }
}

/* Estilos para pantallas aún más pequeñas */
@media (max-width: 576px) {
    #equipo {
        scroll-margin-top: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        padding-top: 15px; /* Añade un margen superior adicional si es necesario */
    }
    #equipo::before {
        height: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        margin-top: -50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
    }
}

/* ============ INICIO ESTILOS RESPONSIVOS # EQUIPO SECTION # ============*/


/* ============ INICIO ESTILOS # CONTACTO SECTION # ============*/
#contacto {
    background-color: #f8f9fa; /* Color de fondo suave */
}

#contacto h2 {
    font-size: 36px;
    font-weight: bold;
    color: #333;
    margin-bottom: 30px;
}

#contacto h3 {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
}
textarea {
    width: 100%; /* Ocupa todo el ancho disponible del contenedor */
    max-width: 600px; /* Ancho máximo */
    min-width: 300px; /* Ancho mínimo */
    max-height: 200px; /* Altura máxima */
    min-height: 100px; /* Altura mínima */
    padding: 10px;
    border-radius: 4px;
    border: 1px solid #ced4da;
    resize: vertical; /* Permite ajustar la altura solo verticalmente */
}


.form-group {
    margin-bottom: 15px;
}

.form-control {
    width: 100%; /* Ocupa todo el ancho del contenedor */
    max-width: 600px; /* Ancho máximo */
    min-width: 300px; /* Ancho mínimo */
    padding: 10px; /* Espaciado interno */
    border-radius: 4px; /* Bordes redondeados */
    border: 1px solid #ced4da; /* Borde */
}


.btn-primary {
    background-color: #007bff;
    border: none;
    border-radius: 0;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.btn-primary:hover {
    background-color: #0056b3;
}

.map-container {
    position: relative;
    height: 400px; /* Ajusta la altura según tu preferencia */
    margin-top: 20px;
}

.map-container iframe {
    border: 0;
    width: 100%;
    height: 100%;
}

#contacto {
    scroll-margin-top: 70px; /* Ajusta según la altura de tu encabezado fijo */
}
#contacto::before {
    content: "";
    display: block;
    height: 70px; /* Ajusta según la altura de tu encabezado fijo */
    margin-top: -70px; /* Ajusta según la altura de tu encabezado fijo */
    visibility: hidden; /* Asegura que el espacio no sea visible */
}

/* ============ FIN ESTILOS # CONTACTO SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # CONTACTO SECTION # ============*/
/* Pantallas pequeñas (móviles en vertical) */
@media (max-width: 576px) {
    #contacto h2 {
        font-size: 28px; /* Reduce el tamaño de la fuente */
        margin-bottom: 20px; /* Ajusta el margen inferior */
    }

    #contacto h3 {
        font-size: 20px; /* Reduce el tamaño de la fuente */
        margin-bottom: 15px; /* Ajusta el margen inferior */
    }

    textarea {
        max-width: 100%; /* Ocupa todo el ancho disponible en pantallas pequeñas */
        min-width: 100%; /* Ocupa todo el ancho disponible en pantallas pequeñas */
    }

    .form-control {
        max-width: 100%; /* Ocupa todo el ancho disponible en pantallas pequeñas */
        min-width: 100%; /* Ocupa todo el ancho disponible en pantallas pequeñas */
    }

    .map-container {
        height: 250px; /* Ajusta la altura del mapa en pantallas pequeñas */
    }
}

/* Pantallas medianas (tabletas en vertical) */
@media (min-width: 577px) and (max-width: 768px) {
    #contacto h2 {
        font-size: 32px; /* Ajusta el tamaño de la fuente */
        margin-bottom: 25px; /* Ajusta el margen inferior */
    }

    #contacto h3 {
        font-size: 22px; /* Ajusta el tamaño de la fuente */
        margin-bottom: 18px; /* Ajusta el margen inferior */
    }

    textarea {
        max-width: 100%; /* Ocupa todo el ancho disponible en tabletas */
        min-width: 100%; /* Ocupa todo el ancho disponible en tabletas */
    }

    .form-control {
        max-width: 100%; /* Ocupa todo el ancho disponible en tabletas */
        min-width: 100%; /* Ocupa todo el ancho disponible en tabletas */
    }

    .map-container {
        height: 300px; /* Ajusta la altura del mapa en tabletas */
    }
}

/* Estilos para pantallas pequeñas */
@media (max-width: 768px) {
    #contacto {
        scroll-margin-top: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        padding-top: 10px; /* Añade un margen superior adicional si es necesario */
    }
    #contacto::before {
        height: 60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
        margin-top: -60px; /* Ajusta según la altura de tu encabezado fijo en pantallas pequeñas */
    }
}

/* Estilos para pantallas aún más pequeñas */
@media (max-width: 576px) {
    #contacto {
        scroll-margin-top: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        padding-top: 15px; /* Añade un margen superior adicional si es necesario */
    }
    #contacto::before {
        height: 50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
        margin-top: -50px; /* Ajusta según la altura de tu encabezado fijo en pantallas muy pequeñas */
    }
}


/* ============ FIN ESTILOS RESPONSIVOS # CONTACTO SECTION # ============*/

/* ============ INICIO ESTILOS # FOOTER SECTION # ============*/
.footer {
    background-color: rgb(255, 255, 255); /* Color de fondo blanco */
    color: black; /* Color del texto */
    padding: 2rem 3%; /* Ajusta el padding */
    text-align: center; /* Alinea todo el texto al centro */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra sutil */
    border-top: 1px solid #ddd; /* Línea superior */
}

.footer .row {
    display: flex; /* Usa Flexbox para alinear las columnas */
    justify-content: center; /* Centra las columnas horizontalmente */
    align-items: center; /* Alinea las columnas al centro verticalmente */
    flex-wrap: wrap; /* Permite que las columnas se ajusten en caso de falta de espacio */
}

.footer .row .col-md-3 {
    display: flex; /* Usa Flexbox en las columnas */
    flex-direction: column; /* Organiza el contenido verticalmente */
    align-items: center; /* Centra el contenido horizontalmente dentro de la columna */
    padding: 0 10px; /* Ajusta el padding horizontal si es necesario */
    position: relative; /* Posiciona el pseudo-elemento correctamente */
}

.footer-logo {
    max-width: 150px; /* Ajusta el tamaño del logo */
    height: auto;
    margin-bottom: 1rem; /* Espacio debajo del logo */
    display: inline-block; /* Asegura que el logo se alinee correctamente */
}

.footer .row .col-md-3 h5 {
    margin-bottom: 0.5rem; /* Espacio debajo del título */
    text-align: center; /* Alinea el título al centro */
    color: black;
}

.footer .row .col-md-3 p, .footer .row .col-md-3 span {
    text-align: center; /* Alinea el texto al centro */
}

.footer .row .col-md-3:not(:last-child)::after {
    content: '';
    width: 2px; /* Ancho del separador */
    height: 50px; /* Altura del separador */
    background-color: #B8860B; /* Color del separador */
    position: absolute;
    top: 50%;
    right: 0; /* Posición a la derecha */
    transform: translateY(-50%);
}

.footer a {
    color: black; /* Color del texto de los enlaces */
    text-decoration: none; /* Quitar subrayado */
}

.footer a:hover {
    text-decoration: none;
}

.footer p,span {
    margin-bottom: 0.5rem; /* Quitar margen inferior */
    color: black;
}

/* Información de contacto */
.contact-info {
    display: flex;
    flex-direction: column; /* Cambia a columna para centrar los elementos */
    align-items: center; /* Alinea los elementos al centro */
    gap: 15px; /* Espacio entre el correo y el número */
}

/* Estilo del correo electrónico */
.contact-email {
    color: var(--white-color);
    text-decoration: none;
    font-weight: normal;
    display: flex;
    align-items: center;
    gap: 5px; /* Espacio entre el ícono y el texto */
    transition: color 0.3s, transform 0.3s; /* Transición suave para el color y la transformación */

}

.contact-email:hover {
    color: #B8860B; /* Cambia el color en hover si deseas */
    transform: scale(1.05); /* Efecto de escala en hover */
}

/* Estilo del número de contacto */
.contact-number {
    color: var(--white-color);
    text-decoration: none;
    font-weight: normal;
    display: flex;
    align-items: center;
    gap: 5px; /* Espacio entre el ícono y el texto */
    transition: color 0.3s, transform 0.3s; /* Transición suave para el color y la transformación */
}

.contact-number:hover {
    color: #B8860B; /* Cambia el color en hover si deseas */
    transform: scale(1.05); /* Efecto de escala en hover */
}

/* Íconos de Font Awesome */
.contact-email .fa-envelope,
.contact-number .fa-whatsapp {
    font-size: 1.25rem; /* Ajusta el tamaño del ícono */
    margin-right: 5px; /* Espacio entre el ícono y el texto */
    color: var(--white-color); /* Color de los íconos */
}

/* Animación de WhatsApp */
.contact-number .fa-whatsapp  {
    animation: pulse 1.3s infinite;
}

@keyframes slidepulseIn {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.7;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
/* Animación de correo electrónico */
.contact-email .fa-envelope {
    animation: pulse 1.3s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.7;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}
/* ============ FIN ESTILOS # FOOTER SECTION # ============*/

/* ============ INICIO ESTILOS RESPONSIVOS # FOOTER SECTION # ============*/
/* Medios de comunicación */
@media (max-width: 768px) {
    .footer .row .col-md-3 {
        flex: 1 1 100%; /* Coloca las columnas en una sola fila */
        margin-bottom: 1rem; /* Espacio debajo de las columnas */
    }
    .footer .row .col-md-3:not(:last-child)::after {
        display: none; /* Oculta el separador en pantallas más pequeñas */
    }

    .footer .row .col-md-3 h5::after {
        content: '';
        display: block; /* Muestra la barra como un bloque */
        width: 50%; /* Ajusta el ancho de la barra aquí */
        height: 2px; /* Grosor de la barra */
        background-color: #B8860B; /* Color de la barra */
        margin: 0.5rem auto; /* Espacio encima y debajo de la barra, centra horizontalmente */
    }

    .contact-info {
        gap: 10px; /* Ajusta el espacio entre los elementos de contacto */
    }
}

@media (max-width: 576px) {
    .footer .row .col-md-3 {
        flex: 1 1 100%; /* Asegura que cada columna ocupe toda la fila */
        margin-bottom: 1rem; /* Espacio debajo de las columnas */
    }

    .footer .row .col-md-3 h5::after {
        width: 70%; /* Ajusta el ancho de la barra para pantallas más pequeñas */
    }

    .footer-logo {
        max-width: 100px; /* Ajusta el tamaño del logo para pantallas más pequeñas */
    }

    .footer {
        padding: 1rem; /* Ajusta el padding del footer */
    }
}
/* ============ FIN ESTILOS RESPONSIVOS # FOOTER SECTION # ============*/

/* ============ INICIO ESTILOS # BTN FLOTANTE WHATSAP # ============*/
.whatsapp-button {
    position: fixed; /* Mantiene el botón en una posición fija */
    bottom: 20px; /* Espacio desde el borde inferior de la pantalla */
    right: 20px; /* Espacio desde el borde derecho de la pantalla */
    background-color: #25D366; /* Color de fondo verde de WhatsApp */
    color: #FFFFFF; /* Color del ícono */
    border-radius: 50%; /* Hace que el botón sea redondo */
    width: 60px; /* Tamaño del botón */
    height: 60px; /* Tamaño del botón */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra para efecto de elevación */
    font-size: 1.5rem; /* Tamaño del ícono */
    text-decoration: none; /* Elimina el subrayado del enlace */
    transition: background-color 0.3s, transform 0.3s; /* Transición suave para efectos de hover */
}

.whatsapp-button:hover {
    background-color: #128C7E; /* Color de fondo en hover */
    transform: scale(1.1); /* Efecto de escala en hover */
}

.whatsapp-button i {
    color: #FFFFFF; /* Color del ícono dentro del botón */
}

/* ============ FIN ESTILOS # BTN FLOTANTE WHATSAP # ============*/

