:root{
    --verde:#a3bd31;
    --azul:#002e82;
    --fuente-ppal: 'Nunito Sans', sans-serif;
}
/*Globales*/
html {
    font-size: 62.5%; 
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
body {
    font-family: var(--fuente-ppal);
    font-size: 1.6rem;
    line-height: 1.8;
    padding: 0;
}
p {
    color: var(--bs-gray-700);
    /*font-size: 2rem;*/
    font-size: 1.8rem;
}
.contenedor {
    width: min(90%, 120rem);
    margin: 0 auto;
}

a:link, a:visited, a:active {
    text-decoration: none;
}

img,
picture {
    max-width: 100%;
    display: inline-block;
    height: auto;
}

h1, h2, h3, h4 {
    margin: 1rem;
    font-weight: bold;
}

h1 {
    /* font-size: 3.6rem; */
    /*font-size: 4.5rem;*/
    font-size: 4rem;
}
h2 {
    /*font-size: 3.4rem;*/
    font-size: 3.2rem;
}
h3 {
    font-size: 3rem;
}
h4 {
    font-size: 2.6rem;
}
/*logo*/
.logo{
    width: 20rem;
}
/*Navegacion*/
.header{
    background-color: var(--bs-white);
}
@media(min-width: 762px){
    .cont-nav{
        display: flex;
        justify-content: space-between;
    }
    .flex-end{
        justify-content: flex-end;
    }
    .navegacion{
        height: 10rem;
        margin: 0;
    }
}
.nav-enlaces{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media(min-width: 762px){
    .nav-enlaces{
        flex-direction: row;
        align-items: center;
        gap: 3rem;
    }
}
.nav-enlace{
    /*text-transform: uppercase;*/
    color: var(--bs-gray-800);
    font-size: 1.7rem;
    font-weight: 700;
}
.fijo{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    box-shadow: .1rem .2rem .3rem #333;
}
.body-scroll{
    padding-top: 10rem;
}
/*banner*/
.banner{
    background-image: url(/img/1.jpg);
    height: 40rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cont-banner{
    position: relative;
}

.hg-bvn{
    color: var(--verde);
    font-size: 5rem;
}

.hg-cont-bvn{
    color:var(--bs-gray-200);
    font-size: 3.5rem;
}

@media(min-width: 768px){
    .banner{
        height: 70rem;
    }
    .hg-bvn{
        font-size: 10rem;
    }
    
    .hg-cont-bvn{
        font-size: 5rem;
    }
}


/*Servicios*/
.servicio{
    padding: 2rem;
    display: grid;
    gap: 2rem;
}
.hg-services{
    margin: 0;
    padding: 2rem;
}
.icon-azul{
    color: var(--azul);
}
.icon-verde{
    color: var(--verde);
}
.cont-smart{
    width: 90%;
    margin: 0 auto;
    padding: 4rem 0;
}
.hg-smart{
    text-align: center;
    margin: 0;
    padding: 3rem 0;
}
@media(min-width:768px) {
    .servicio{
        
        grid-template-columns: repeat(2, 1fr);
    }
    .cont-servicio{
        display:flex;
        flex-direction: column;
        gap: 2rem;
        justify-content: center;
    }
    .segundo{
        grid-column: 2 / 3;
    }
    .primero{
        grid-row: 1 / 2;
    }
    .cont-smart {
        width: 70%;
    }
}

/*Contactenos banner*/
.bg-contactenos{
    background-image: url(/img/fondo-contactenos.jpg);
    height: 60rem;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}


/*Algunos de nuestros clientes*/
.nuestros-clientes{
    padding: 3rem;
}
.img-clientes{
    margin: 3rem 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    align-items: center;
    justify-content: center;
}

@media(min-width: 768px){
    .img-clientes{
        grid-template-columns: repeat(4, 1fr);
    }
}

/*Calidad, Servicio y Respaldo*/
.bg-workteam{
    background-image: url(/img/workteam.jpg);
    height: auto;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}
.hg-workteam{
    color: var(--bs-info);
}
.hg4-workteam{
    color: var(--bs-light);
}
@media(min-width: 768px){
    .bg-workteam{
        height: 60rem;
    }
}
/*Outsourcing*/
.cont-outsrc{
    display: flex;
    flex-direction: column;
    gap: 3rem;
    justify-content: center;
}

.hg-outsrc{
    font-size: 5rem;
    margin: 0;
    background-color: var(--bs-dark);
    padding: 2rem;
    color: var(--verde);
}
.p-outsrc{
    font-weight: bold;
}

/*Formularios de contactenos*/
.contactenos{
    padding: 2rem;
}
.hg-contactenos{
    font-size: 5rem;
}

.form{
    display: grid;
    gap: 2rem;
}
.obligatorio{
    color: var(--bs-danger);
}
textarea{
    display: block;
    width: 100%;
    height: 15rem;
}
label{
    font-size: 2.2rem;
}

.form-control{
    font-size: 1.7rem;
}
.btn{
    font-size: 2.5rem;
    margin: 3rem 0;
}
@media(min-width: 768px){
    .form {
        padding: 3rem;
        grid-template-columns: repeat(2, 1fr);
    }
    .comentarios{
        grid-column: 1 / 3;
    }
}
/* Nosotros */
.banner-nosotros {
    height: 30rem;
    background-image: url(/img/nosotros.jpg);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
}
.quienes-somos{
    padding: 3rem;
}
.mision{
    padding: 3rem;
} 
.icon-check{
    font-size: 3.5rem;
}
.alinear{
    display: flex;
    gap: 2rem;
}

@media(min-width: 768px){
    .banner-nosotros{
        height: 50rem;
    }
    .nosotros{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
    }
    .p-nosotros{
        margin-top: 3rem;
        padding: 2rem;
    }
    .alinear{
        align-items: center;
        gap: 2rem;
    }
    .contactenos{
        padding: 5rem;
    }
}
/* Trabaja con nosotros */
.tc-nosotros{
    padding: 3rem;
}
/*Footer*/
.footer{
    background-color: var(--bs-dark);
    padding: 3rem 3rem 1rem 3rem;
}

.cont-footer{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.campo-redes{
    color: var(--bs-gray-400);
}
.redes-sociales{
    display: flex;
    gap: 3rem;
    justify-content: center;
    align-items: center;
}
.social{
    text-decoration: none;
    font-size: 5rem;
    color: var(--bs-gray-400);
}
.derechos-reservados{
    margin: 0;
    text-align: center;
}
@media(min-width: 792px){
    .cont-footer{
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}