﻿body {
    font-family: 'Arial', sans-serif;
    background-color: #f8f9fa;
    margin: 0;
    padding: 0;
}

.navbar {
    background-color: #ffffff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    padding: -100px 0;
    animation: fadeIn 1s ease-in-out;
}

.container-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.logo {
    max-width: 150px;
    margin-left: 15px;
}

.navbar-nav {
    margin: 0 auto; /* Centra los elementos <li> horizontalmente */
    display: flex;
    align-items: center;
}

    .navbar-nav .nav-item {
        margin: 0 20px;
    }

    .navbar-nav .nav-link {
        color: #333333;
        transition: color 0.3s ease;
        font-weight: 500;
        opacity: 0;
        animation: fadeIn 1s forwards;
        font-size: 1.1vw;
    }

        .navbar-nav .nav-link:hover {
            color: #007bff;
            text-decoration: underline;
        }

.icons {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
}

    .icons i {
        font-size: 18px; /* Tamaño de los iconos */
        margin-left: 10px; /* Espaciado entre los iconos */
        color: #333333; /* Color de los iconos */
        transition: all 0.3s ease;
    }

        /* Estilos adicionales para hacer los iconos más legibles y entendibles */
        .icons i.fa-search {
            font-size: 16px; /* Reducir el tamaño del icono de búsqueda */
        }

/* Estilos para hacer los iconos responsivos */
@media (max-width: 768px) {
    .icons {
        display: flex;
        flex-wrap: wrap; /* Permite que los iconos se muevan a la siguiente línea */
        align-items: center;
        justify-content: flex-end;
    }

        .icons i {
            margin-left: 15px;
            font-size: 20px;
        }

    .navbar-toggler-icon {
        font-size: 28px; /* Tamaño del icono del botón del menú desplegable en pantallas pequeñas */
    }
}
/* Estilos para hacer los iconos interactivos */
.icons i:hover {
    color: #007bff; /* Cambia el color al pasar el ratón por encima */
    cursor: pointer; /* Muestra el cursor de la mano al pasar el ratón por encima */
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}



/* Agrega un nuevo estilo para los enlaces activos */
.navbar-nav .nav-item.active .nav-link {
    color: #007bff; /* Cambia el color del texto al seleccionar un enlace */
    font-weight: bold; /* Peso de la fuente en el enlace activo */
    text-decoration: underline; /* Subraya el enlace activo */
}

/* Agrega un estilo para la animación de fondo al seleccionar un enlace */
.nav-item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px; /* Grosor de la línea de fondo */
    background-color: #007bff; /* Color de fondo al seleccionar un enlace */
    transform: scaleX(0); /* Inicialmente, la línea de fondo está oculta */
    transform-origin: bottom right;
    transition: transform 0.3s ease-in-out;
}

.nav-item.active::before {
    transform: scaleX(1); /* Muestra la línea de fondo al seleccionar un enlace */
    transform-origin: bottom left;
}

.row{
    margin-right:0;
    margin-left:0;
}

/****************************************************/
/********************** FOOTER **********************/
/****************************************************/




footer {
    background-color: white;
    width: 100%;
    height: auto;
    padding: 10px 100px;
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.3);
}

.container-footer {
    width: 100%;
    display: grid;
    grid-template-columns: 2fr;
}

.row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.col {
    min-width: 390px;
    color: black;
    font-family: sans-serif;
    padding: 5px;
}

    .col .logo {
        width: 150px;
        height: auto;
        margin-bottom: 5px;
    }

    .col h3 {
        margin-bottom: 20px;
        position: relative;
        cursor: pointer;
        color: #0164a6;
    }

    /* Dar forma a los iconos que esta por el logo */

    .col .red-social {
        position: flex;
        transform: translate(5%, -10%)
    }

        .col .red-social a i {
            color: rgb(40, 39, 104);
            transition: 0.3s ease;
            font-size: 25px;
            padding: 10px;
        }

            .col .red-social a i:hover {
                transform: scale(1.5);
                filter: grayscale(25);
            }

    /* Parte del contacto */

    .col .contact-details {
        display: grid;
        grid-template-columns: 30px 1fr;
        margin-bottom: 20px;
    }

        .col .contact-details i {
            margin-left: 5px;
            transition: 0.3s ease;
            color: #0164a6;
        }

            .col .contact-details i:hover {
                transform: scale(1.5);
                filter: grayscale(25);
            }

        .col .contact-details p {
            color: #4e4b4b;
        }

    .col .suscript p {
        color: #4e4b4b;
    }

/*Apartado de la parte de enviar el correo*/

.forms {
    display: flex;
    justify-content: left;
    align-items: center;
    padding: 1rem;
}

    .forms input {
        background-color: rgb(240, 229, 229);
        border: 0;
        outline: none;
        padding: 10px 10px;
        border-radius: 1px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }

    .forms button {
        padding: 10px 10px;
        border: 0;
        border-radius: 6px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        background-color: #83c0e9;
        cursor: pointer;
        transition: 0.3s ease;
    }

        .forms button:hover {
            transform: scale(1.2);
            filter: grayscale(20);
        }

/* Copy right*/

.copy {
    width: 100%;
    background: white;
    padding: 5px;
    text-align: center;
    color: black;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}


@media (max-width: 767px) {
    footer {
        padding: 10px 20px; /* Ajusta el relleno para dispositivos móviles */
    }

    .container-footer {
        grid-template-columns: 1fr; /* Una sola columna para dispositivos móviles */
    }

    .col {
        min-width: unset; /* Elimina el ancho mínimo para adaptarse a pantallas pequeñas */
        text-align: center; /* Centra el contenido en dispositivos móviles */
        margin-bottom: 20px; /* Agrega espacio entre las columnas en dispositivos móviles */
    }
}

footer {
    font-size: 14px; /* Ajusta el tamaño del texto para dispositivos móviles */
}

