/* 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;
    padding: 7px 86px 8px;
    background-color: #c03;
    border-radius: 0 0 25px 25px;
    margin: auto;
    z-index: 1000;
    position: relative;
    width: 95%;
}

.logo-header img.img-fluid {
    width: 256px;
    height: 50px;
    object-fit: contain;
    margin: 10px auto;
}

.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;
}

.banner-text {
    max-width: 60%;
    margin: auto 0 auto 0;
    position: relative;
    display: block;
}

.banner-text .text-style-1 {

    font-family: Montserrat;
    font-size:24px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: left;
    color: #333;
  }
  
  .banner-text  .text-style-2 {
    color: #c03;
  }



.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 {
    /* Estilos para las imágenes de los servicios */
}
.servicios-row .tex-servicios {
    /* width: 276px; */
    height: 69px;
    /* margin: 0 32px 32px; */
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.13);
    border-radius: 0 0 15px 15px;
    font-family: Montserrat;
    font-size: 16px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-align: center;
    color: #666;
    margin-bottom: 30px;
}

.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: #333;
    margin: auto;
  }
  .frase-title .text-style-1{
    color: #c03;
  }
  
.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;

}

.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;
}

.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: #666;
  }
  .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 {
    border-radius: 37px;
    height: 41px;
    opacity: 0.8;
    padding: 12px;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 13%);
}

.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;
}

.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;
}
.container.contacto-container form label {
    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;
}

.text-soporte{
    font-weight: bold;
}
.text-email{
    color: #c03;
    font-size: 13px;
    font-weight: 500;
}
.text-tel, .text-ws {
    font-size: 11px;
    font-weight: 500;
    color: #333;
    margin: auto;
}

.text-recomen-footer{
    font-size: 12px;
    font-weight: 500;
    text-align: left;
    color: #999;
}

.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: #333;
}
.content-text{
    text-align: left;
}
.content-telefonos img {
    width: 16px;
    height: 16px;
}
.container.container-copy-r {
    max-width: 100%;
}

.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;
}

/*     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: 767px) {
    .logo-header{
    }
    .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 (min-width: 768px) {
    .banner-text .text-style-1 {
        font-size: 36px;
    }
    .row.oferta-row {
        background-image: url(../img/fondo-blanco-servicios-sm.png);
        background-size: 120%;
        background-position-x: 31%;
    }
    section.frase.text-center {
        background-image: url(../img/fondo-servicos-xl.png);
        max-width: 1366px;
        margin: auto;
    }
    section.oferta.text-center {
        margin-top: -28px;
    }
    .oferta.text-center h2 {
        transform: translate(0, 50%);
        padding: 0;
    }
    .contacto-container {
        background-image: url(../img/fondo-formulario-xl.png);
        background-position-y: 50%;
    }
    .text-soporte.py-3, .text-email.py-3 {
        text-align: left;
    }
    .content-text .row {
        height: 16px;
    }
    .col-sm-12.d-flex.flex-column.flex-xl-row.justify-content-center.justify-content-xl-around {
        padding-bottom: 15px;
    }
    .col-img-footer img {
        max-width: 158px;
        }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .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 {
        max-width:90%;
        margin: auto;
    }
    .servicios h2 {
        padding: 0 10%;
        margin: auto;
    }
    section.frase.text-center{
        min-height: 217px;
    }

}

@media (min-width: 1025px) {
    .row.oferta-row {
        background-image: url(../img/fondo-blanco-servicios-xl.png);
        background-position-y: 101%;
        background-repeat: no-repeat;
        background-size: 105%;
    }
    .contacto-container {
        background-image: url(../img/fondo-formulario-xl.png);
        background-repeat: no-repeat;
        background-size: 100%;
        background-position-y: 50%;
    }
}
