@import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@300;400;500;700;900&display=swap');
html,body{
    font-family: 'League Spartan', sans-serif!important;
}
.banner,.bannerRecompensas{
    position: relative;
    width: 100%;
}
.banner > img{
   
    width: 100%;
    height: 800px;
    object-fit: cover;

}
.bannerRecompensas > img,.bannerservicio > img,.footer > img{
    width: 100%;
    object-fit: cover;
}
.banner .d-flex{
    width: 85%;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.banner .d-flex{
    transform: translate(-50%,-50%);
}
.banner .d-flex .texto h2,.formaPago .detalle h2{
    color: #CCAD52;
    font-size: 48px;
    font-weight: 700;

}
.banner .d-flex .texto span,.formaPago .detalle p{
    color:#4A4A4A;
    font-size: 30px;
    padding-bottom: 30px;
    display: block;
}
.banner .d-flex .texto a,form.formData #continua{
    color:white;
    background-color: #4A4A4A;
    font-size: 20px;
    box-shadow: 3px 16px 38px #00000029;
    border-radius: 48px;
    display: block;
    margin: 0 auto;
    text-decoration: none;
    width: max-content;
    padding: 10px 20px;
}
.banner .d-flex .texto a:hover,form.formData #continua:hover,form.formData #continua:active{
    background-color: #262525!important; 
    text-decoration: none;
    color: white!important;
}
.banner .d-flex .logo{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}
.banner .d-flex .logo img{
    width: 250px;
}
/* banner recompensas */
.bannerRecompensas .position-absolute{
    width: 85%;
    justify-content: space-around;
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p{
    color: #4A4A4A;
   font-size: 37px;
   font-weight: 500;
   letter-spacing: -2.12px;
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2){
    color: #4A4A4A;
    font-size: 160px;
    font-weight: 900;
    letter-spacing: -7px;
    line-height: 145px;
    position: relative;
    margin-left: 30px;
    margin-bottom: 0;
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span{
    font-size: 40px;
    font-weight: 500;
    letter-spacing: -2px;
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span:nth-child(1){
    display: block;
    position: absolute;
    top: 38%;
    left: -20px;
    transform: translateY(-50%);
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span:nth-child(2){
    display: block;
    position: absolute;
    top: -20px;
    right: -20px;
    line-height: 40px;
    display: block;
    right: -55px;
    font-weight: 700;
    font-size: 35px;

    
}
.bannerRecompensas .position-absolute .text-center:nth-child(2) p{
    font-size: 46px;
    font-weight: 500;
    color: #FFFFFF;
    line-height: 36px;
    letter-spacing: -2.63px;
    
}
.bannerRecompensas .position-absolute .text-center:nth-child(2){
    margin-left: 50px;
}
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(3),.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(4){
    font-size: 56px;
    line-height: 46px;
    letter-spacing: -3.5px;
    margin-bottom: 0;
}


.bannerRecompensas .position-absolute,.bannerbeneficios .position-absolute,.bannerservicio .position-absolute{
    transform: translate(-50%,-50%);
}
/* banner beneficios */
.bannerbeneficios .titulo h2{
    color: #4A4A4A;
    font-size: 54px;
    letter-spacing: -1.92px;
    margin-bottom: 4rem;
}
.bannerbeneficios > img{
    width: 100%;
    height: 800px;
    object-fit: cover;
}
.bannerbeneficios .position-absolute,.bannerservicio .position-absolute {
   width: 85%; 
}

.bannerbeneficios .position-absolute .beneficios div{
    width: 18%;

}
.bannerbeneficios .position-absolute .beneficios{
    justify-content: space-evenly
}
.bannerbeneficios .position-absolute .beneficios div div{
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;

}
.bannerbeneficios .position-absolute .beneficios div div img{
    height: 70px;
    object-fit: cover;
}
.bannerbeneficios .position-absolute .beneficios div p,
.bannerbeneficios .position-absolute .beneficios div span{
    font-size: 20px;
    color:#4A4A4A;
    font-weight: 700;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}
.bannerbeneficios .position-absolute .beneficios div span{
    font-weight: 400;
    margin-bottom: 1.5rem;
    display: block;
}

/* servicios  */
.bannerservicio .titulo h2{
    color: #FFFFFF;
    letter-spacing: -2.56px;
    font-size: 54px;
    margin-bottom: 6rem;
}
.bannerservicio .servicios div p{
    color: #FFFFFF;
    font-size: 27px;
   line-height: 35px;
}

.bannerservicio .servicios > div{
    width: 10%;
}

.bannerservicio .servicios div div img{
    height:85px;
    object-fit: contain;
}
.bannerservicio .servicios div div{
    height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* hoteles */
.hoteles > img{
    height: 2200px;
    object-fit: cover;
    width: 100%;
}
.hoteles .position-absolute{
    width: 70%;
    left: 50%;
    transform: translateX(-50%);
}
.hoteles .title h1{
    font-size: 53px;
    color: #4A4A4A;
    letter-spacing: -1.5px;
    line-height: 60px;
    font-weight: 500;
    margin-bottom: 4rem;
    margin-top: 4rem;
}
.hoteles .hotels{
    flex-wrap: wrap;
    background-color: initial;
}
.hoteles .hotels .d-flex{
    padding: 0;
    margin-bottom: 2rem;
    border-radius: 0px 0px 10px 10px;
}
.hoteles .hotels .d-flex h6{
    font-weight: 700;
    color:#4A4A4A;
    margin: 2rem 0;
    padding: 0 40px;
}
.hoteles .hotels .d-flex p{
    font-weight: 300;
    color:#4A4A4A; 
    font-size: 16px;
    padding: 0 40px;
    text-align: justify;
}
.hoteles .hotels > .d-flex{
    width: 48%!important;
}

.footer .position-absolute{
    transform: translate(-50%,-50%);

}
.footer .position-absolute .text-center p{
    font-size: 43px;
    color:#FFFFFF;
    font-weight: 500;
    line-height: 35px;
    margin-bottom: 10px;
 
}
.footer .position-absolute .text-center {
    margin: 1.8rem 0;
}

.footer .position-absolute > img{
    width: 120px;
}
.footer .position-absolute .d-flex img{
    height: 30px;
    object-fit: contain;
    margin: 0 30px;

}

/*  style pago */
section.header header{
    display: block;
    padding:3rem 0 2rem;
}
section.header header div{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}
section.header header div img{
    height: 80px;
    object-fit: contain;
}
div.principal {
    background-image: url("/img/fondo3.png");
    width: 100%;
    background-size: cover;
    background-position: center;
    padding-bottom: 4rem;
    padding-top: 1rem;

}
.formaPago .detalle p,.formaPago .detalle h2{
    text-align: center;
}
form.formData{
    padding: 2rem 3rem;
    background: #FFFFFF;
    border-radius: 24px;
    box-shadow: 0px 10px 10px 5px #00000021;
}
form.formData input,
form.formData select{
    border-color: #E6E6E6;
    border-radius: 8px;
    padding:8px 12px;

}

form.formData input::placeholder,
form.formData input,
form.formData select option,
form.formData select,
form.formData select:focus{
    color: #1A1A1A!important;
}
form.formData > p{
    color: white;
    text-align: center;
    font-size: 22px;
}
form.formData .mb-3 span{
    font-size: 16px;
    color: #1A1A1A;
    font-weight: 500;
}
form.formData #continua {
    display: block;
    background: #CCAD52;
    border-radius: 8px;
    color: #1A1A1A;
    font-size: 14px;
    font-weight: 500;
    margin: initial;
}
form.formData .alert{
    display:none
}
.formaPago .detalle h2 {
    font-size: 28px;
    color: #000000;
    margin-bottom: 5px;
    line-height: 28px;
}
.formaPago .detalle p{
    font-size: 16px;
    color: #808080;
}
.barra{
    display: block;
}
.barra .container div:after{
    content: "";
    display: inline-block;
    height: 0.5em;
    vertical-align: bottom;
    width: 100%;
    margin-right: -100%;
    margin-left: 0;
    border-top: 1px solid #E6E6E6;
      
}
.barra .container div{
    position: relative;
}
.barra .container div a{
    position: absolute;
    top: 18%;
    border: solid .5px #E6E6E6;
    /* padding: 0 8px; */
    border-radius: 40px;
    font-weight: 700;
    background: white;
    text-decoration: none;
    font-size: 12px;
    color: black;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 13px;
}
.barra .container div a:first-child{
    left: 0;
}
.barra .container div a:nth-child(3){
    right: 0;
    padding: 0 6px;
}
.barra .container div a:nth-child(2){
    left: 50%;
    transform: translateX(-50%);
    padding: 0 6px;
}
.barra .container div a.active{
    border-width: 2px !important;
    font-weight: 700 !important;
    background: #CCAD52;
    color: black;

}
section.pago{
    margin-top: 3rem;
}
.btns{
    text-align: center;
}
.btns a{
    display: none;
}

section.pago .formaPago .container .row .col-12:nth-child(3) p{
    font-size: 32px;
    color: #4A4A4A;
    
}
section.pago .formaPago .container .row .col-12:nth-child(3) p:nth-child(1){
    margin-bottom: 2rem;
}
section.pago .formaPago .container .row .col-12:nth-child(3) p b{
    font-size: 38px;
}
section.pago .formaPago .container .row .col-12:nth-child(2){
    display: none;
}
.formaPago .montopago{
    width: 32%;
    border: 1px solid #E6E6E6;
    background: white;
    padding: 30px;
    display: none;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 24px;
}
.mp-checkout-bricks__payment-form{
    border-radius: 0!important;
}
.formaPago .montopago div div{
    display: flex;
    justify-content: space-between;
}
.formaPago .montopago p{
    font-size: 24px;
    font-weight: 700;
    color: #1A1A1A;
    text-align: left;
}
.formaPago .montopago span{
    font-weight: 400;
    font-size: 20px;
}
.formaPago .montopago div div:nth-child(2){
    border-bottom: 2px solid;
    padding-bottom: 10px;
    border-color: #bfbfbf;

}
.formaPago .montopago div div:nth-child(2) span:first-child,
.formaPago .montopago div div:nth-child(2) span:nth-child(2){
    color: #1A1A1A;
    font-size: 14px;

}
.formaPago .montopago div div:nth-child(2) span:nth-child(2){
    font-weight: 700;
    font-size: 16px;

}
.formaPago .montopago div div:nth-child(3) span:first-child,
.formaPago .montopago div div:nth-child(3) span:nth-child(2){
    color: #1A1A1A;
    font-size: 14px;
    font-weight: 700;

}
.formaPago .montopago div div:nth-child(3) span:nth-child(2){
    font-size: 24px;

}
.formaPago .montopago div div:nth-child(3){
    padding-top: 5px;
}
section.pago .formaPago .formPagoconTotal{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.formPagoconTotal .containerFrom{
    width: 68%;
    margin-right: 15px;
}
.formPagoconTotal .containerFrom #paymentBrick_container form{
   box-shadow: 0px 3px 6px #00000029;
   border-radius: 24px!important;
}

/* mobile */

@media (max-width: 3000px) {
    .hoteles > img{
        height: 2400px;
    }
}
@media (max-width: 2000px) {
    .hoteles > img{
        height: 2000px;
    }
}
@media (max-width: 1800px) {
    .hoteles > img{
        height: 1850px;
    }
}
@media (max-width: 1600px) {
    .hoteles > img{
        height: 1650px;
    }
}
@media (max-width: 1400px) {
    .hoteles > img{
        height: 1500px;
    }
}
@media (max-width: 1200px) {
    .hoteles > img{
        height: 1400px;
    }
    .hoteles .hotels .d-flex p br{
        display: none;
    }

    .banner .d-flex .texto span{
        font-size: 25px;
    }
    .formaPago .detalle h2 {
    font-size: 45px;
    }
}

@media (max-width: 1025px) {
    .banner .d-flex .texto h2 {
        font-size: 38px;
    }
    .banner .d-flex .texto span{
        font-size: 20px;
    }

    .hoteles > img {
        height: 1300px;
    }

    .banner .d-flex .texto button,.bannerservicio .servicios div p{
        font-size: 16px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p{
        font-size: 27px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2){
        font-size: 90px;
        line-height: 70px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span:nth-child(2){
        font-size: 25px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(3), .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(4){
        font-size: 46px;
        line-height: 36px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(2) p{
        font-size: 36px;
        line-height: 26px;
    }
    .bannerbeneficios .titulo h2,.bannerservicio .titulo h2{
        font-size: 44px;
    }
    .bannerbeneficios .position-absolute .beneficios div{
        width: 20%;
    }
    .bannerservicio .servicios div p{
        line-height: 18px;
    }
    .bannerservicio .servicios div div img {
        height: 55px;
    }
    .bannerbeneficios .titulo h2, .bannerservicio .titulo h2 {
        margin-bottom: 3rem;
    }
    .hoteles .title{
        font-size: 35px;
        line-height: 45px;
    }
    .hoteles .hotels .d-flex p{
        padding: 0 20px;

    }
    .hoteles .hotels .d-flex p br{
        display: none;
    }
    
    .footer .position-absolute > img {
        width: 80px;
    }
    .footer .position-absolute .text-center p {
        font-size: 23px;
        line-height: 15px;
    }
    .footer .position-absolute .d-flex img {
        height: 20px;
    }

    form.formData {
        padding: 2rem 1rem;
    }
    .bannerbeneficios > img{
        height: 900px;
    }
}
@media (max-width: 992px) {
    .containerFrom {
        width: 65%;
    }
    .bannerbeneficios > img{
        height: 1100px;
    }
    .hoteles .title h1{
    font-size: 33px;
    line-height: 40px;
    margin-bottom: 2rem;
    margin-top: 2rem;
    }
}
@media (max-width: 769px) {
    .bannerbeneficios .position-absolute .beneficios {
        flex-wrap: wrap;
    }
    .bannerbeneficios .position-absolute .beneficios div {
        width: 40%;
    }
    .bannerbeneficios .position-absolute .beneficios div {
        width: 40%;
        margin-bottom: 4rem;
    }
    .bannerbeneficios > img {
        height: 1200px;
        object-fit: cover;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p {
        font-size: 20px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) {
        font-size: 70px;
        line-height: 50px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(3), .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(4) {
        font-size: 36px;
        line-height: 26px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(2) p {
        font-size: 26px;
        line-height: 12px;
        letter-spacing: -1.63px;
    }
    .bannerservicio .servicios > div {
        width: 33%;
    }
    .bannerservicio .servicios{
        flex-wrap: wrap;
        justify-content: center!important;

    }
    .bannerservicio > img{
        height: 550px;
    }

    .bannerRecompensas .position-absolute{
        width: 100%;
        flex-wrap: wrap;
    }
    .bannerRecompensas > img{
        height: 500px;
        object-fit: cover;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span:nth-child(2) {
        font-size: 15px;
    }
    .bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) span:nth-child(2) {
        right: -25px;
    }
    .hoteles .position-absolute .title h1{
        font-size: 30px;
    }

    .hoteles .hotels > .d-flex {
        width: 100% !important;
    }
    .bannerRecompensas > img, .footer > img {
        height: 480px;
        object-fit: cover;
    }
    .hoteles > img {
        height: 2950px;
    }
    section.pago .formaPago .formPagoconTotal{
        flex-wrap: wrap-reverse;
    }
    .formaPago .montopago,.containerFrom {
        width: 100%;
    }

    .formaPago .detalle h2 {
        margin-bottom: 15px;
    }

}
@media (max-width: 600px) {
    .hoteles > img {
        height: 2350px;
    }
    
}

@media (max-width: 576px) {
.bannerRecompensas .position-absolute .text-center:nth-child(1) p:nth-child(2) {
    line-height: 70px;
}
.bannerRecompensas .position-absolute .flex-column{
    margin-bottom: 3rem;
}
.bannerbeneficios > img {
    height: 1650px;
    object-fit: cover;
}
.bannerservicio > img {
    height: 650px;
}
.bannerRecompensas .position-absolute .text-center:nth-child(2) {
    margin-left: 0;
}
.hoteles > img {
    height: 2300px;
}
.footer .position-absolute .d-flex img {

    margin: 0 10px;
}

}
@media (max-width: 480px) {

    .hoteles > img {
        height: 2050px;
    }
}
@media (max-width: 400px) {

    .bannerbeneficios > img {
        height: 1900px;
        object-fit: cover;
    }
    .hoteles > img {
        height: 1750px;
    }
}
