.bd-placeholder-img {
    font-size: 1.125rem;
    text-anchor: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

@media (min-width: 768px) {
    .bd-placeholder-img-lg {
    font-size: 3.5rem;
    }
}

.b-example-divider {
    height: 3rem;
    background-color: rgba(0, 0, 0, .1);
    border: solid rgba(0, 0, 0, .15);
    border-width: 1px 0;
    box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
    flex-shrink: 0;
    width: 1.5rem;
    height: 100vh;
}

.bi {
    vertical-align: -.125em;
    fill: currentColor;
}

.nav-scroller {
    position: relative;
    z-index: 2;
    height: 2.75rem;
    overflow-y: hidden;
}

.nav-scroller .nav {
    display: flex;
    flex-wrap: nowrap;
    padding-bottom: 1rem;
    margin-top: -1px;
    overflow-x: auto;
    text-align: center;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}

.bg-light {
    background-image: linear-gradient(90deg, #ffffff, #ffffff);
}

.nav-link {
    color: #000000 !important;
}

.nav-link {
    position: relative;
    display: inline-block;
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: #007bff; /* Cambia el color del texto al pasar el mouse */
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 50%;
    background-color: #007bff; /* Color del subrayado */
    transition: all 0.3s ease;
    transform: translateX(-50%);
}

.nav-link:hover::after {
    width: 100%; /* Expande el subrayado al ancho completo */
}

.navbar-light {
    -webkit-box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
    -moz-box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
    box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
}

.navbar-toggler {
    color: #FFFFFF !important;
    background-color: #3097c0 !important;
}

.navbar-text {
    color: #000000 !important;
}

.footer {
    background-color: #395da3 !important;
}

.img-zoom {
    transform:scale(1);
    -ms-transform:scale(1);
    -moz-transform:scale(1);
    -webkit-transform:scale(1);
    -o-transform:scale(1);
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    -ms-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
}

.img-zoom:hover {
    transform:scale(1.2);
    -ms-transform:scale(1.2);
    -moz-transform:scale(1.2);
    -webkit-transform:scale(1.2);
    -o-transform:scale(1.2);
}

.img-rotate {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -webkit-transition: all 500ms ease-in-out;
    -moz-transition: all 500ms ease-in-out;
    -ms-transition: all 500ms ease-in-out;
    -o-transition: all 500ms ease-in-out;
}

.img-rotate:hover{
    transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    -moz-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
}

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

.background-gradient {
    background-image: linear-gradient(#000000, #0732a2);
}

.background-gradient-invert {
    background-image: linear-gradient(135deg, #d8d8d8, #0085b9, #0080b3, #d8d8d8);
}

.background-gray {
    background-color: #EEE;
}

.background-blue {
    background-color: #0732a2;
}

.background-black {
    background-color: #000000;
}

.btn-blue {
    background-color: #395da3 !important;
}

.text-grad {
    font-size: 72px;
    background: -webkit-linear-gradient(left, #EB9916, #FFFFFF);
    background: linear-gradient(to right, #EB9916, #FFFFFF); /* Propiedad estándar */
    -webkit-background-clip: text;
    background-clip: text; /* Propiedad estándar */
    -webkit-text-fill-color: transparent;
}

hr {
    color: gray;
}

.btn-grad {
    background-image: linear-gradient(to right, #b77900, #b77900);
    padding: 10px 25px;
    text-align: center;
    transition: 0.5s;
    background-size: 200% auto;
    color: #FFFFFF;
    border-radius: 10px;
}

.btn-grad:hover {
    background-image: linear-gradient(to right, #b77900, #3097c0);
    background-position: right center; /* change the direction of the change here */
    color: #FFFFFF;
    text-decoration: none;
}

/****************/
/* Custom Fonts */
/****************/

/* section-1 */
@font-face {
    font-family: "OpenSans-Bold";
    src: url("../../fonts/OpenSans-Bold.ttf");
}
/* section-2 */
@font-face {
    font-family: "OpenSans-BoldItalic";
    src: url("../../fonts/OpenSans-BoldItalic.ttf");
}
/* section-3 */
@font-face {
    font-family: "OpenSans-ExtraBold";
    src: url("../../fonts/OpenSans-ExtraBold.ttf");
}
/* section-4 */
@font-face {
    font-family: "OpenSans-ExtraBoldItalic";
    src: url("../../fonts/OpenSans-ExtraBoldItalic.ttf");
}
/* section-5 */
@font-face {
    font-family: "OpenSans-Italic";
    src: url("../../fonts/OpenSans-Italic.ttf");
}
/* section-6 */
@font-face {
    font-family: "OpenSans-Light";
    src: url("../../fonts/OpenSans-Light.ttf");
}
/* section-7 */
@font-face {
    font-family: "OpenSans-LightItalic";
    src: url("../../fonts/OpenSans-LightItalic.ttf");
}
/* section-8 */
@font-face {
    font-family: "OpenSans-Regular";
    src: url("../../fonts/OpenSans-Regular.ttf");
}
/* section-9 */
@font-face {
    font-family: "OpenSans-SemiBold";
    src: url("../../fonts/OpenSans-SemiBold.ttf");
}
/* section-10 */
@font-face {
    font-family: "OpenSans-SemiBoldItalic";
    src: url("../../fonts/OpenSans-SemiBoldItalic.ttf");
}
@font-face {
    font-family: "OpenSans-SemiBold";
    src: url("../../fonts/OpenSans-SemiBold.ttf");
}
@font-face {
    font-family: "CustomFont";
    src: url("../../fonts/Mentalis.otf");
    /*
    src: url("https://yoursite.com/css/fonts/CustomFont.eot");
    src: url("https://yoursite.com/css/fonts/CustomFont.woff") format("woff"),
    url("https://yoursite.com/css/fonts/CustomFont.otf") format("opentype"),
    url("https://yoursite.com/css/fonts/CustomFont.svg#filename") format("svg");
    */
}
.section-1 {
    font-family: "OpenSans-Bold", sans-serif;
}
.section-2 {
    font-family: "OpenSans-BoldItalic", sans-serif;
}
.section-3 {
    font-family: "OpenSans-ExtraBold", sans-serif;
}
.section-4 {
    font-family: "OpenSans-ExtraBoldItalic", sans-serif;
}
.section-5 {
    font-family: "OpenSans-Italic", sans-serif;
}
.section-6 {
    font-family: "OpenSans-Light", sans-serif;
}
.section-7 {
    font-family: "OpenSans-LightItalic", sans-serif;
}
.section-8 {
    font-family: "OpenSans-Regular", sans-serif;
}
.section-9 {
    font-family: "OpenSans-SemiBold", sans-serif;
}
.section-10 {
    font-family: "OpenSans-SemiBoldItalic", sans-serif;
}

.title-font {
    font-family: 'CustomFont', Arial, sans-serif;
    font-weight:normal;
    font-style:normal;
}

/*****************/
/* Media queries */
/*****************/

/* Pantallas grandes (escritorio) */
@media (min-width: 992px) {
    .col-2 {
        display: block;
    }
    .col-4 {
        width: 33.3333%;
    }
    .title-font {
        margin-top: 100px;
        font-size: 3rem;
        background: -webkit-linear-gradient(left, #ffffff, #ffffff);
        background: linear-gradient(to left, #ffffff, #ffffff); /* versión estándar */
        -webkit-background-clip: text; /* versión con prefijo */
        background-clip: text; /* versión estándar */
        -webkit-text-fill-color: transparent;
    }
}

/* Tablets */
@media (min-width: 768px) and (max-width: 991px) {
    .col-2 {
        display: none;
    }
    .col-4 {
        width: 50%;
    }
    .col-4 img {
        width: 100%;
    }
    .title-font {
        font-size: 3rem;
        background: -webkit-linear-gradient(left, #ffffff, #ffffff);
        background: linear-gradient(to left, #ffffff, #ffffff); /* versión estándar */
        -webkit-background-clip: text; /* versión con prefijo */
        background-clip: text; /* versión estándar */
        -webkit-text-fill-color: transparent;
    }
    .nuestros_servicios_title {
        margin-bottom: 55px;
    }
    .servicios-derecha {
        margin-top: 10px;
    }
}

/* Móviles */
@media (max-width: 767px) {
    .col-2 {
        display: none;
    }
    .col-4 {
        width: 100%;
    }
    .mq-col-4 {
        /*border: ridge 1px green;*/
        margin-left: 15px;
        margin-top: -30px;
    }
    .mq-about-us {
        margin-top: 55px;
    }
    .col-4 img {
        width: 90%;
        margin: 0 auto;
        display: block;
        margin-top: 15px;
    }
    .mapswrapper iframe {
        width: 100%;
        height: auto;
    }
    .title-font {
        font-size: 2rem;
        background: -webkit-linear-gradient(left, #ffffff, #ffffff);
        background: linear-gradient(to left, #ffffff, #ffffff); /* versión estándar */
        -webkit-background-clip: text; /* versión con prefijo */
        background-clip: text; /* versión estándar */
        -webkit-text-fill-color: transparent;
    }
    .carousel {
        margin: 0 auto;
    }
    .nuestros_servicios_title {
        margin-bottom: 55px;
    }
    .servicios-derecha {
        margin-top: 10px;
    }
}

/* Efecto aparición de las secciones */
section {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    -webkit-box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
    -moz-box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
    box-shadow: inset 0px 1px 15px -9px rgba(0,0,0,1);
}

.visible {
    opacity: 1;
    transform: translateY(0);
}

.text-decoration-none:hover {
    color: lightgray !important;
}

.carousel {
    max-width: 600px;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.carousel-images {
    display: flex;
    transition: transform 1s ease-in-out;
}

.carousel-images img {
    width: 100%;
    flex-shrink: 0;
    object-fit: cover;
}

/* Barra de progreso */
#progressBar {
    position: fixed;
    top: 0;
    left: 0;
    height: 5px; /* Altura de la barra */
    background-color: rgb(183, 121, 0); /* Color de la barra */
    width: 0%; /* Ancho inicial */
    z-index: 1000; /* Aparece encima de todo */
}

.img-brand {
    border: ridge 1px black;
}

.fa-check {
    color: #0085b9;
}

.fa-check-circle {
    color: #FFFFFF;
}

.ml-5 {
    margin-left: 5px;
}