*,
body {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

@font-face {
    font-family: Euclid-circular-bold;
    src: url(../fuentes/Euclid\ Circular\ A\ Bold.ttf);
}

@font-face {
    font-family: Euclid-circular-regular;
    src: url(../fuentes/Euclid\ Circular\ A\ Regular.ttf);
}

.font_euclid_circular_bold {
    font-family: Euclid-circular-bold;
}

.font_euclid_circular_regular {
    font-family: Euclid-circular-regular;
}

.font-01rem {
    font-size: calc(1.2rem + .5vw);
}

.bg-main-info {
    position: absolute;
    margin-top: 10%;
    left: 15%;
    z-index: 4;
    width: 100%;
}

.bg-main-info-2 {
    position: absolute;
    bottom: 5%;
    right: 5%;
    z-index: 4;
    width: 100%;
}

.bg-main-info-3 {
    position: absolute;
    bottom: 10%;
    left: 10%;
    z-index: 4;
    width: 100%;
}

.bg-main-1 {
    background: url(../img/main/BANNER-1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 100vh;
}

.bg-main-2 {
    background: url(../img/main/BANNER-2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-main-3 {
    background: url(../img/main/BANNER-3.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-main-nc {
    background: url(../img/main/NUESTROS\ CLIENTES\ .jpg);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-main-foot {
    background: url(../img/main/CONTACTO.jpg);
    background-position: right;
    background-size: cover;
    background-repeat: no-repeat;
}

.bg-nosotros-header {
    background: url(../img/nosotros/BANNER\ 1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
    padding-left: 10%;
    padding-bottom: 2%;
    z-index: 4;
}

.bg-nosotros-1 {
    background: url(../img/nosotros/IMAGEN\ 2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-servicios-header {
    background: url(../img/servicios/BANNER\ 1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-servicios-1 {
    background: url(../img/servicios/IMAGEN\ 1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 80vh;
}

.bg-servicios-2 {
    background: url(../img/servicios/BANNER\ 2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-pryectos-header {
    background: url(../img/proyectos/BANNER.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
    padding-left: 10%;
    padding-bottom: 2%;
}

.bg-proyectos-1 {
    background: url(../img/proyectos/IMAGEN.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100vh;
}

.bg-contacto-header {
    background: url(../img/contacto/BANNER\ .jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    min-height: 100vh;
}

.bg-contacto-1 {
    background: url(../img/contacto/IMAGEN.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 130vh;
}

.bg-white-transparent {
    background: rgba(255, 255, 255, 0.404);
}

.bg-gray {
    background: rgb(224, 224, 224);
}

.color-blue {
    color: rgb(2, 0, 112) !important;
}

.color-orange {
    color: orangered !important;
}

.bg-blue {
    background: rgb(2, 0, 112) !important;
}

.height {
    height: 40px;
}

.color-orangered {
    color: orangered !important;
}

.txt-decoration {
    text-decoration: underline orangered solid 1px !important;
    text-underline-offset: 6px;
}

.txt-justify {
    text-align: justify;
}

.border-organered {
    text-decoration: underline orangered solid 3px !important;
    text-underline-offset: 10px;
}

.offset-underline {
    text-underline-offset: 2px !important;
}

.top-left-0 {
    top: 0;
    left: 0;
}

.btn-ver-mas {
    width: 100px;
    height: 30px;
    left: 0%;
    right: 0%;
    bottom: 8%;
    margin: 0 auto;
    background: rgb(0, 0, 124);
}

.btn-ver-menos {
    width: 100%;
    height: 50px;
    left: 0%;
    bottom: 0%;
    font-size: 50px;
    background: rgba(255, 255, 255, 0.144);
}

.top-left-0-nosotros {
    top: 0;
    left: 0;
}

.map iframe {
    width: 100%;
    height: 200px;
}

.font-social {
    height: 30px;
    width: 30px;
}

.barra-orange {
    width: 15px;
    background: orangered;
}

.m-service {
    margin-top: 200px;
    margin-left: 130px;
}

.m-coma {
    margin-bottom: 10%;
}

.traslateY-info {
    transform: translateY(400%);
    transition: all .5s ease-in-out;
}

.traslateY {
    transform: translateY(-400%);
    transition: all .5s ease-in-out;
}

.traslateY-btn-ver {
    transform: translateY(500px);
    transition: all .5s ease-in-out;
}

.traslateY-btn-ver-2 {
    transform: translateY(500px);
    transition: all .5s ease-in-out;
}

.aclarar-img {
    filter: blur(2px);
}

.p-6 {
    padding: 10%;
}

.traslate {
    transition: all .5s ease-in-out;
}

.input-contacto {
    background: rgba(207, 207, 207, 0.9);
    height: 80px !important;
    margin-top: 15px;
}

.input-contacto-txt {
    background: rgba(207, 207, 207, 0.9);
    height: 270px !important;
    margin-top: 15px;
}

.padding-img {
    padding-top: 5%;
}

.img-contact {
    height: calc(28rem + 2.5vw);
}

.b-0 {
    bottom: 10%;
    left: 0;
}

.contact {
    position: absolute;
    bottom: 18%;
    left: 20%;
}

.bg-modal-1 {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 300px;
}

.bg-modal-2 {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 450px;
}

.bg-modal-3 {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 500px;
}

.bg-modal-4 {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 350px;
}

.bg-modal-container {
    background: url(../img/proyectos/CUADRO\ AZUL.png);
    background-position: top;
    background-size: 100% 70%;
    background-repeat: no-repeat;
}

.anchor {
    position: absolute;
    top: -105px;
    display: block;
    height: 105px;
    visibility: hidden;
}

.borde_form {
    border: 2px dashed #c3c3c3 !important;
    padding: 40px;
}

.icon i {
    font-size: 3rem;
    text-align: center;
    color: #696767;
    background-color: #dfdddd;
    height: 100px;
    width: 100px;
    margin-bottom: 20px;
    border-radius: 50%;
    padding: 25px 20px;
}

.note {
    color: #40405b;
}

.scale {
    max-width: 100px;
    height: auto;
}

.lh {
    line-height: 2rem;
}

.top-b {
    bottom: 0;
    left: 0;
}

.scroll_top {
    position: fixed;
    bottom: -100%;
    right: calc(2rem + 1.5vw);
    width: 70px;
    height: 70px;
    filter: invert(20%);
    z-index: 3;
    transition: all .5s ease-in-out;
}

.transition-scroll {
    bottom: calc(2.5rem + 1.5vw) !important;
}

.scroll_top img:hover {
    filter: invert(30%);
}

@media (max-width: 992px) {
    .bg-main-info {
        margin-top: 40%;
        left: 5%;
    }
    .bg-main-info-3 {
        bottom: 5%;
        left: 5%;
    }
    .bg-servicios-header {
        background-position: 45%;
    }
    .top-left-0 {
        position: relative !important;
    }
    .top-left-0-nosotros {
        background: rgba(2, 0, 112, 0.856) !important;
        position: relative !important;
    }
    .height {
        height: 70px;
    }
    .bg-nosotros-header {
        padding-left: 5%;
        padding-bottom: 2%;
    }
    .m-service {
        margin-left: 0px;
        margin-top: 0px;
    }
    .txt-shadow {
        text-shadow: 1px 2px 10px #000000;
    }
    .input-contacto {
        height: 40px !important;
        margin-top: 10px;
    }
    .input-contacto-txt {
        height: 120px !important;
        margin-top: 10px;
    }
    .bg-contacto-header {
        height: 120vh;
    }
    .img-contact {
        height: calc(22rem + 2.5vw);
    }
    .contact-font {
        font-size: calc(1rem + .5vw) !important;
    }
    .contact {
        top: 25%;
        left: 20%;
    }
    .b-0 {
        left: 10%;
    }
    .bg-contacto-header {
        min-height: 145vh;
    }
}