/* Estilos globales para las secciones */

.header {
    display: block;
    /* max-width: 1399px; */
    margin: auto;
    width: 100%;
    float: left;
    position: relative;
}

.logo-header {
    max-width: 1196px;
    height: 83px;
    margin: 0 2px 64px 85px;
    background-color: #22315D;
    border-radius: 0 0 25px 25px;
    margin: auto;
    z-index: 1000;
    position: relative;
    width: 95%;
    overflow: hidden;
    padding: 0%;
}

.logo-header img.img-fluid {
    width: 256px;
    height: 50px;
    object-fit: contain;
    margin: 10px auto;
}

.logo-header>img {
    width: 110%;
    margin-left: -2%;
    height: 100px;
}

.img-fluid {
    height: 70px;
    border-radius: 6px 6px 0 0;
}

.banner {
    margin: auto;
    max-width: 1366px !important;
    height: 435px;
    padding: 0;
    background-image: linear-gradient(98deg, rgba(255, 255, 255, 0) 20%, #fff 60%), url(../img/principal.png);
    background-position: top left;
    background-size: contain;
    transform: translateY(-83px);
    background-repeat: no-repeat;
    width: 100%;
}

.banner .container {
    padding: 0;
    margin: 0;
}

.container {
    min-width: 400px;
}

.banner-text {
    max-width: 60%;
    margin: auto 0 auto 0;
    position: relative;
    display: block;
}

.banner-text .text-style-1 {

    font-family: Montserrat;
    font-size: 35px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: left;
    color: #666666;
}

.banner-text .text-style-2 {
    color: #192D5B;
}



.banner-image {
    float: left;
    margin-left: 0;
    position: relative;
    display: block;
    height: 435px;
}

.servicios {
    /* Estilos para la sección de nuestros servicios para ti */
}

.servicios h2 {
    font-family: Montserrat;
    font-size: 24px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    text-align: left;
    padding: 0 15px;
}

.servicios img {
    width: 300px;
    /* Ajusta el tamaño según lo necesites */
    height: 120px;
    /* Mantiene la proporción */
    object-fit: cover;
    /* Asegura que la imagen se ajuste sin deformarse */


}

.servicios-row .col-md-4,
.servicios-row .col-md-6,
.servicios-row .col-sm-6 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 300px;
    /* Tamaño del cuadrado */
    height: 200px;
    /* Mantener la proporción */
    text-align: center;

}

.servicios-row .tex-servicios {
    /* width: 200px; */
    height: 69px;
    /* margin: 0 32px 32px; */
    font-family: Montserrat;
    font-size: 12px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    color: #666;
    margin-bottom: 30px;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.13);
    border-radius: 0 0 5px 5px;
}

.text-img {
    font-size: 12px;
    width: 100%;
    height: 50px;
    color: #192D5B;
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.13);
    border-radius: 0 0 5px 5px;
    font-weight: bold;
    padding: 8px 0 8px 0;

}

.frase {
    /* Estilos para la sección de frase */
}

.frase-title {
    width: 615px;
    height: 56px;
    font-family: Montserrat;
    font-size: 24px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    color: #666666;
    margin: auto;
}

.frase-title .text-style-1 {
    color: #192d5b;
}

.frase-title-contacto {
    color: #192d5b;
}

.oferta {
    /* Estilos para la sección de nuestra oferta incluyen */
}

.oferta-row p {
    font-family: Montserrat;
    font-size: 14px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: #333;
}

.oferta img {
    /* Estilos para las imágenes de la oferta */
}

section.frase.text-center {
    background-image: url(../img/fondo-servicos-mb.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 210px;

}

div.row.oferta-row {
    background-image: url(../img/fondo-blanco-servicios-xl.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 210px;

}


.oferta.text-center h2 {
    font-family: Montserrat;
    font-size: 22px;
    font-weight: bold;
}

.oferta.text-center .text-decoration-underline {}

.oferta.text-center .text-style-1 {
    padding: 10px 0;
}

.oferta .text-style-1 {
    color: #cc0033;
}

.text-decoration-underline {
    text-decoration: underline;
}

.contacto .text-center {
    font-family: Montserrat;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: normal;
    color: #333;
}

.oferta-row img {
    width: 90px;
    height: 90px;
}

.necesidades-contctanos {
    flex-grow: 0;
    opacity: 0.8;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: #666666;
}

.necesidades-contctanos .text-style-1 {
    font-weight: bold;
}

.contacto-container {
    /*background-image: url(../img/fondo-formulario-sm.png);*/
    max-width: 1366px;
    padding: 0 15px;
    background-size: 100%;
    background-repeat: repeat-y;
}

.contacto .form-control {
    height: 41px;
    opacity: 0.8;
    padding: 12px;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 13%);
}

.form-control {
    border-radius: 1.25rem;
}

.contacto button.btn.btn-primary {
    width: 95%;
    height: 50px;
    margin: auto;
    object-fit: contain;
    opacity: 0.8;
    border-radius: 6px;
    background-color: #ccc;
    border-color: initial;
    position: relative;
    display: block;
    max-width: 340px;
}

.btn-primary {
    width: 100%;
    height: 50px;
    margin: auto;
    opacity: 0.8;
    border-radius: 6px;
    background-color: #ccc;
    border-color: initial;
    position: relative;
    display: block;
    border-radius: 5px;
}

.aviso-privacidad {
    text-align: center;
}

.btn-aviso {
    font-weight: bold;
    text-decoration: underline;
    color: #67C9CA;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.btn-aviso:hover {
    color: #1E2C58;
}

.contacto button.btn.btn-primary:hover,
.btn-primary:hover {
    background-color: #1E2C58;
}

.contacto .form-control:focus {
    color: hsl(210, 9%, 31%);
    background-color: #fff;
    border-color: #cc0033;
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(204, 0, 51, 0.7);
}

.container.contacto-container form {
    max-width: 456px;
    margin: auto;
}

.footer {
    background-color: #f9fafe;
    background-color: #f9fafe;
    font-family: Montserrat;
    font-size: 14px;
    line-height: 1;
    text-align: left;
}

.footer img {
    /* Estilos para el logo en el footer */
}

.oferta-row {
    margin: auto;
    padding: 32px 65px 32px 63px;
    border-radius: 200px;
    background-color: #f6f6f6;
}

.oferta-row .oferta-fondo-img {
    position: absolute;
    z-index: 1;
}

.oferta-row .oferta-fondo-img-r {
    position: absolute;
    z-index: 1;
}

.text-soporte {
    font-weight: bold;
    color: #999999;
}

.text-email {
    color: #1E2C58;
    font-size: 13px;
    font-weight: 500;
}

.text-tel,
.text-ws {
    font-size: 11px;
    font-weight: 500;
    color: #999999;
    margin: 0; /* Cambiar el margen a 0 */
}

.numero {
    color: #22315d; /* Color de los números */
}

.text-recomen-footer {
    font-size: 12px;
    font-weight: 500;
    text-align: left;
    color: #999999;
}

.content-copy {
    background-color: #d9d9d9;
}

.content-copy img {
    width: 100px;
    margin: auto;
}

.content-copy span {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    color: #666;
}

.content-redes img {
    width: 24px;
}

.content-redes .text-social {
    height: 14px;
    font-family: Montserrat;
    font-size: 14px;
    font-weight: bold;
    color: #999999;
}

.content-text {
    text-align: left;
}

.content-telefonos img {
    width: 16px;
    height: 16px;
}

.container.container-copy-r {
    max-width: 100%;
}

.container-fluid {
    max-width: 1366px !important;
}

.col-sm-12.d-flex.flex-column.flex-xl-row.justify-content-center.justify-content-xl-around {
    border-bottom: 1px solid #cc0033;
    padding-bottom: 30px;
}

.modal-content .text-style-1 {
    font-family: Montserrat;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #333;
    width: 100%;
    text-align: center;
    display: block;
}

.modal-content .text-style-2 {
    font-family: Montserrat;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    color: #333;
    text-align: center;
    display: block;
}

.modal-dialog .modal-header {
    border: none;
}

.modal-dialog .modal-header button {
    background-image: url(../img/modal-cerrar.png);
    background-size: 24px;
    background-repeat: no-repeat;
    border: none;
    width: 24px;
    height: 24px;
    background-color: white;
}

.modal-registro {
    border-radius: 15px;
}

.modal-content.modal-registro button span {
    display: none;
}

.global {
    display: grid;
    grid-template-rows: repeat(2, auto);
}

/*     estolos para swiper    */
.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide {
    width: 80%;
}

.swiper-slide:nth-child(1n) {
    width: 80%;
}

.swiper-slide:nth-child(2n) {
    width: 80%;
}

.swiper-slide:nth-child(3n) {
    width: 80%;
}

/* Estilos para resoluciones hasta 428px */
@media (max-width: 750px) {
    .banner {
        background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, #fff 65%), url(../img/principal.png);
        margin: 0 auto auto auto;
        height: 300px;
        background-position: top;
    }

    .banner-text {
        font-size: 24px;
        width: 100%;
        max-width: 90%;
        margin: auto auto 0 auto;

    }

    .banner-image {
        max-width: 100%;
    }

    .oferta-row {
        width: 283px;
        border-radius: 200px;
        background-color: #f6f6f6;

    }

    .oferta-row .oferta-fondo-img {
        width: 120px;
        transform: translate(-80%, 0%);
        left: 0;
    }

    .oferta-row .oferta-fondo-img-r {
        width: 120px;
        transform: translate(80%, 0%);
        right: 0;
    }

    .contacto .form-control {
        margin: 15px 0;
    }

    .col-img-footer img {
        max-width: 147px;
    }

}

/* Estilos para resoluciones entre 429px y 768px 
@media (min-width: 429px) and (max-width: 768px) {
    .banner {
        flex-direction: column;
        text-align: center;
    }

    .banner-text {
        font-size: 1.75rem;
        
    }

    .banner-image {
        max-width: 100%;
    }

    .servicios img, .oferta img {
        
    }
}
*/
/* Estilos para resoluciones entre 769px y 1024 */


@media (max-width: 750px) {
    .banner {
        flex-direction: row;
        justify-content: space-between;
    }

    .banner-text {
        font-size: 2rem;
        max-width: 75%;
        text-align: right;
        padding-right: 15px;
    }

    .banner-image {
        max-width: 50%;
    }

    .row.servicios-row {
        width: calc(50% -20px);
        flex-wrap: 0;
    }

    .servicios h2 {
        padding: 0 10%;
        margin: auto;
    }

    section.frase.text-center {
        min-height: 217px;
    }


}

@media (max-width: 750px) {
    .row.oferta-row {
        background-image: url(../img/fondo-blanco-servicios-xl.png);
        background-position-y: 101%;
        background-repeat: no-repeat;
        background-size: 105%;
        width: calc(100% -20px);
    }

    .contacto-container {
        background-image: url(../img/fondo-formulario-xl.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position-y: 50%;
    }

    .logo-header {
        height: 50px;
    }

    .logo-header>img {
        height: 62px;
    }

}

h2.container {
    text-align: center;
}

/* Label dentro del input por defecto */
.hidden-label {
    position: absolute;
    top: -12px;
    left: 12px;
    transform: translateY(-50%);
    font-size: 14px;
    color: #6c757d;
    opacity: 1; /* Ahora es visible dentro del input */
    transition: all 0.3s ease-in-out;
    pointer-events: none; /* Evita que interfiera con la escritura */
}

/* Cuando el input está enfocado o tiene texto, sube el label */
input:focus + label,
input:not(:placeholder-shown) + label {
    top: -10px; /* Sube el label */
    font-size: 12px;
    color: #333;
    background: white;
    padding: 0 5px;
    opacity: 1;
}

.visible-label {
    opacity: 1;
    top: -10px;
    font-size: 12px;
    color: #333;
    background: white;
    padding: 0 5px;
}

.container.contacto-container form label {
    opacity: 0;
    pointer-events: none; /* Evita que interfiera con el input */
    transition: all 0.3s ease-in-out;
    height: 12px;
    font-family: Montserrat;
    font-size: 10px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #000;
}
.form-group{
    margin-bottom: 2rem;
}
.required-asterisk {
    color: red;
    margin-left: 5px;
}
.text-ws {
    margin-left: auto;
    text-align: right;
}

/*
.container.contacto-container form label {
    display: none;
    height: 12px;
    font-family: Montserrat;
    font-size: 10px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #000;
}
*/