body {
    font-family: 'Nunito', sans-serif;
}

.display-4 {
    font-weight: 700; /* Grueso para los textos principales */
}

.lead {
    font-weight: 400; /* Regular para los textos normales */
}

.text-primary, .text-secondary {
    font-weight: 600; /* Semigrueso para los textos de color */
}

.card-title, .card-text {
    font-weight: 600; /* Semigrueso para los textos dentro de las tarjetas */
}


/* Texto principal (negrita) */
h1, h2, h3, h4, h5, h6, .font-weight-bold {
    font-weight: bold;
}

/* Texto normal (regular o delgado) */
p, .text-normal {
    font-weight: normal;
}

/* Para los encabezados en el contacto */
#contact h2 {
    font-weight: bold;
}

/* En el formulario de contacto */
#contact label {
    font-weight: normal;
}

/* Para los textos de los servicios */
#services h4, #services p {
    font-weight: normal;
}

/* Para los títulos de los proyectos */
#projects .card-title {
    font-weight: bold;
}

.bg-primary {
    background-color: #1C3C70 !important;
}

.bg-secondary {
    background-color: #E4301D !important;
}

.text-primary {
    color: #1C3C70 !important;
}

.text-secondary {
    color: #E4301D !important;
}

#hero {
    background: url('img/hero.jpg') no-repeat top center/cover;
    height: 80vh;
}


.card {
    border: none;
    transition: transform 0.3s ease-in-out;
}

.card:hover {
    transform: translateY(-5px);
}

.card-img-top {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

footer {
    background-color: #1C3C70; /* Color de fondo del footer */
    color: white; /* Color del texto */
}

footer a {
    color: white; /* Color del texto de los enlaces */
    transition: color 0.3s ease; /* Transición para cambio de color */
}

footer a:hover {
    color: #cce5ff; /* Color del texto en hover */
}

footer .social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

footer .social-icons a {
    font-size: 20px; /* Tamaño de los íconos */
    transition: color 0.3s ease;
}

footer .social-icons a:hover {
    color: #cce5ff; /* Color de los íconos en hover */
}


.section-padding {
    padding: 4rem 0;
}



/* Efecto Parallax */
#parallax {
    position: relative;
    background: url('img/para.jpg') no-repeat center center fixed;
    background-size: cover;
    height: 400px;
    width: 100%;
}

#parallax::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255,0); /* Opacidad del fondo */
    z-index: 1;
}

/* Sección de Servicios */
#services {
    padding: 60px 0;
    background-color: #f8f9fa; /* Fondo claro */
    color: #1C3C70; /* Color primario para los textos */
}

.service-box {
    background: #1C3C70; /* Fondo primario */
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    color: #fff; /* Texto en blanco para buen contraste */
}

.service-box i {
    color: #17a2b8;
}

#contact form {
    background-color: #1C3C70;
    color: white;
    padding: 30px;
    border-radius: 10px;
}

#contact label,
#contact select,
#contact input,
#contact textarea {
    color: #ffffff;
}

#contact .form-control {
    background-color: transparent;
    border: 1px solid #ffffff;
    color: #ffffff;
}

#contact .btn-primary {
    background-color: #ffffff;
    color: #1C3C70;
    border: none;
}


#gallery {
    background-color: #f8f9fa;
}

/* Contenedor de la galería */
.gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 15px; /* Espacio entre las imágenes */
}

/* Estilo de los elementos de la galería */
.gallery-item {
    flex: 1 1 calc(33.333% - 15px); /* Tres imágenes por fila menos el espacio entre ellas */
    box-sizing: border-box;
    overflow: hidden; /* Asegura que el contenido que sobresale se oculte */
    position: relative; /* Necesario para el efecto de zoom */
}

/* Estilo de la imagen para el efecto de zoom */
.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que la imagen cubra el contenedor */
    transition: transform 0.5s ease; /* Animación suave para el zoom */
}

/* Efecto de zoom al pasar el mouse */
.gallery-item:hover img {
    transform: scale(1.1); /* Aumenta la imagen en un 10% */
}

/* Estilo para mantener el contenedor cuadrado */
.gallery-item {
    aspect-ratio: 1; /* Mantiene una proporción 1:1 para un contenedor cuadrado */
}
