html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: 'Gotham';
    src: url('font/Gotham-Regular.eot'); /* IE9 Compat Modes */
    src: url('font/Gotham-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('font/Gotham-Regular.woff2') format('woff2'), /* Super Modern Browsers */
    url('font/Gotham-Regular.woff') format('woff'), /* Pretty Modern Browsers */
    url('Gotham-Regular.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('Gotham-Regular.svg#fontnameinfolder') format('svg');

}





@font-face {
    font-family: 'Gotham_bold';
    src: url('font/Gotham-Bold.eot'); /* IE9 Compat Modes */
    src: url('font/Gotham-Bold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('font/Gotham-Bold.woff2') format('woff2'), /* Super Modern Browsers */
    url('font/Gotham-Bold.woff') format('woff'), /* Pretty Modern Browsers */
    url('Gotham-Bold.ttf')  format('truetype'), /* Safari, Android, iOS */
    url('Gotham-Bold.svg#fontnameinfolder') format('svg');

}



body{

    margin: 0;
    padding: 0;
    box-sizing: border-box;
    width: 100vw;
    /*height: 100vh;*/
    /*background-image: url(img/fondo_large.jpg);*/
    background-color: #16c0f3;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-x: hidden;

}


.flex_center_row{

    display: flex;
    flex-direction: row;
    justify-content:center;
    align-items: center;

}

.flex_center_col{

    display: flex;
    flex-direction: column;
    justify-content:center;
    align-items: center;

}



.contenedor_sitio{

    width: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content:flex-start;
    align-items: center;

}

.header{

    margin-top:20px;
    width: 100%;
    height: 60px;

    display: flex;
    flex-direction: row;
    justify-content:space-between;
    align-items: center;

}
.footer {
    display: flex;
    position: absolute;
    
    height: 50px;
    bottom: 0;
    right: 0;
    padding: 0 20px;
}

.logo_abbot{

    width: 30%;
    height: 100%;
    z-index: 40;

}

    .logo_abbot img{
        margin: 0 auto;
        max-width: 50px;
        margin-left: 20px;
    }


@media screen and (max-width: 800px){
    .logo_abbot{
        width: 100%;
    }

    .logo_abbot img{
        margin: 0 auto;
        max-width: 35px;
    }
}



.botonera{
    width: 30%;
    height: auto;
    display: flex;
    gap: 15px;    
    opacity: 0;
}


.btn_verde {
    border: 0;
    border-radius: 0px;
    border: 0 solid;
    border-color: #c3122c;
    border-width: 1px;
    padding: 0.25rem 0.5rem;
    margin: 0.25rem;
    cursor: pointer;
    width: auto;
    height: 40px;
    margin-left: 0;
    margin-right: 0px;
    font-weight: 500;
    color: #ffffff;
    background-color: #c3122c;
}

.btn_verde a{

    text-decoration: none;
    color: #ffffff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 0.8vw;
    white-space: nowrap;
}


.btn_verde:hover, .btn_verde:hover a, .btn_verde a:hover {

    background: #ffffff;
    color: #c3122c !important;

}

.btn_verde_largo {
    border: 0;
    border-radius: 0px;
    border: 0 solid;
    border-color: #c3122c;
    border-width: 1px;
    padding: 0.25rem 0.5rem;
    margin: 0.25rem;
    cursor: pointer;
    width: auto;
    height: 40px;
    margin-left: 0;
    margin-right: 0px;
    font-weight: 500;
    color: #ffffff;
    background-color: #c3122c;
    margin-top: 20px;
}

.btn_verde_largo a{

    text-decoration: none;
    color: #000 !important;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    white-space: nowrap;
    color:  #fff;
}


.btn_verde_largo:hover {

    background: #c3122c;

}




.btn_linea {
    border: 0;
    border-radius: 0px;
    border: 0 solid;
    border-color: #c3122c;
    border-width: 1px;
    padding: 0.25rem 0.5rem;
    margin: 0.25rem;
    cursor: pointer;
    width: auto;
    height: 40px;
    margin-left: 0;
    margin-right: 0px;
    font-weight: 500;
    background-color: #fff;

}

.btn_linea a{

    text-decoration: none;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 0.8vw;
    white-space: nowrap;
    font-weight: 600;
    color: #c3122c;
    &:hover{
        color: #fff;
    }
}

.btn_linea:hover {
    color: #fff;
    background-color: #c3122c;

    a{
        color: #fff;
    }

}





.cerrar {
    border: 0;
    border-radius: 50%;
    background: #fff;
    padding: 0.25rem 0.5rem;
    margin: 0.25rem;
    cursor: pointer;
    width: 30px;
    height: 30px;
    margin-bottom: 30px;
    margin-top: 15px;
}

.cerrar a{

    text-decoration: none;
    color: #24326e;
    font-family: 'Gotham_bold';
    font-size: 1.5rem;
    white-space: nowrap;
}

.cerrar:hover {

    background: #24326e;

}

.cerrar:hover a{

    color: #fff;

}

.menu_hamburguesa{

    display:none;
}

#botonera_mobile{

    display: none;

}

.botonera_top{

    position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: #24326e;
    z-index: 120;
    top: 0;
}

.sin_margen{

    margin-left: 0px;
    margin-right: 0px;
}

.logo_evento{

/*margin-top: 70px;*/
width: 80%;
/*height: 150px;*/
z-index: 40;


}

.logo_evento img{

    width: 45%;
    max-width: 300px;
}


.logo_evento_02{


    width: 80%;
    height: 100px;
    z-index: 40;
    margin-bottom: 20px;
    
    
}

.logo_evento_02 img{

    width: 30%;
}


.muchas_gracias{


    width: 40%;
    ;

    font-family: "Montserrat", sans-serif;
    /*font-size: 4.3rem;*/
    font-size: 2.5vw;
    line-height: 2.5vw;
    color: #000;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 50px;


}

.muchas_gracias_02{

    margin-top: 45px;
    width: 40%;
    ;

    font-family: "Montserrat", sans-serif;
    /*font-size: 4.3rem;*/
    font-size: 2.5vw;
    line-height: 2.5vw;
    color: #ffffff;
    text-align: center;


}

.te_esperamos{
    margin-top: 20px;
    width: 40%;
    /*height: 35px;*/
    font-family: "Montserrat", sans-serif;
    font-size: 1.4vw;
    color: #fff;
    text-align: center;

}

.te_esperamos a{
    font-family: 'Gotham_bold';
    color: rgb(201 207 9);
}


.chico{

    font-size: 1.2vw;

}

.texto_spam{

    font-size: 1.1vw;


}


.horario{

    margin-top: 10px;
    width: 50%;
    /*height: 70px;*/
    display: flex;
    flex-direction: row;
    justify-content:center;
    align-items: center;

}

.reloj{

    flex-direction: row;
    justify-content:center;
    align-items: center;
    width: 7%;
    height: 80%;
    background-image: url(img/reloj.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;


}

.columna_horarios{
    width: 93%;
    height: 80%;
    display: block;
    flex-direction: column;
    justify-content:center;
    align-items:center;
    text-align: center;



}

.horario_01{

    font-family: "Montserrat", sans-serif;
    /*font-size: 0.9vw;*/
    color: #fff;
    text-align: center;
    height: 20px;
    padding-left: 5px;
    


}
.horario_01 a{
    font-family: "Montserrat", sans-serif;
    color: rgb(201 207 9);
}


.correccion_01{

    /*margin-top: 10px;*/
    margin-bottom: 10px;

}

.fecha, .recuerde{
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    color:rgb(201 207 9);

    width: 50%;
/*height: 35px;*/
text-align: center;
}


.fecha a{
    font-family: "Montserrat", sans-serif;

}
.recuerde{
    color: #fff;
    font-size: 1.1vw;
}

.izquierda, .condiciones{
    width: 100%;
    display: flex;
    justify-content: left;
    align-items: center;
}

#terminos{

    width: 25px;
}

.condiciones {

    font-family: "Gotham";
    font-size: 1vw;
    color:#ffffff;
    font-weight: 700;
    margin-bottom: 10px;
}



.condiciones a{

   font-family:'Gotham_bold';   
   color:rgb(201 207 9);
   font-weight: 900;
   text-decoration: none;
   margin-left: 8px;

}

.formulario{
/*margin-top: 25px;*/
width: 35%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;



}

form{

    width: 100%;

}
.titulo{
    font-family: 'Gotham_bold';
    font-size: 1.3vw;
    color:#fff;
    margin-top: 15px;
    margin-bottom: 5px;
    justify-content: flex-start;

}

input{

    width: 100%;
    height: 15px;
}
.campos_texto{



    border-radius: 10px;
    border: 4px solid #fff;
    padding: 14px; 
    margin-top: 15px;
    font-size: 1.1vw;
    font-family: "Gotham";
    font-weight: 800;
}
.campos_texto.error{
	border-color:#b91313;
}
.errorform {
	color:#c3122c;
	margin:3px 0 0 0;
}


input[type=text]:focus {
    border-color: #fff;
    outline: none;
}

.olvidaste{

    width: 100%;
    height: 50px;
    display: flex;
    justify-content: right;
    margin-top: 5px;


}

.olvidaste a{

    font-family: "Gotham";
    font-size: 1vw;
    font-weight: 800;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
}

.olvidaste a:hover{


    /*font-weight: 600;
    color: #fff;*/

}


.sino_puedes, .volver_session{

    width: 100%;
    height: 50px;
    display: flex
;
    justify-content: center;
    align-items: center;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #000;
    text-decoration: none;
    text-transform: uppercase;
    
    
}


.sino_puedes a, .volver_session a{

    /*font-size: 1vw;*/
    font-weight: 800;
    color: #000;
    text-decoration: none;
    margin-left: 6px;

}

.sino_puedes a:hover, .volver_session a:hover{


    /*font-weight: 600;
    color: #fff;*/

}
.volver_session a{


    color:rgb(201 207 9);


}

#popup_tyc{

    display: none;

}
.popup_terminos{
    position: absolute;
    top:0;
    width: 100vw;


        background-color: #c3122c;



}
.separador{
    position: relative;
    width: 100vw;    
    height:35vh;



}
.contenedor_terminos{

    width: 60%;
    background-color: #ffffff;
    padding: 2%;
    border: solid 4px #A48332;
    margin: auto;
    color: #24326e;

}

.btn_corto{
    margin-top: 30px;
    width: 60% ;
}

.inactivo {
    pointer-events: none;
    /*opacity: 0.4;*/
}


.activo{

    opacity: 1;
    pointer-events: auto;

}
.menu_hamburguesa {
    order: 2;
}
.menu_hamburguesa img{
    max-width: 50px;
}
.condiciones {
    margin-top:15px;
}
@media screen and (max-width: 800px){




    .btn_verde a, .btn_linea a{
        font-size: 1.3vw;

    }

    .logo_evento{
        order: 3;
        width: 60%;
    }

    .logo_evento img{

        width: 85%;
    }
    

    .fecha{
        font-family: "Montserrat", sans-serif;
        font-size: 2vw;
        
        
        width: 80%;
        /*height: 100px;*/
        margin-bottom: 10px;
        text-align: center;
    }
    .fecha a{
     display: block;
 }

 .muchas_gracias{

    width: 60%;
        /*font-size: 240px;
        line-height: 30px;*/
        margin-top: 40px;
        margin-bottom: 40px;
    }

    .te_esperamos{

        width: 60%; 
        /*font-size: 20px;*/

    }
    .horario{

        width: 80%;
    }

    .horario_01{

        font-size: 1.2vw;
    }

    .formulario{
        max-width: 450px;
        width: 60%;
    }

    .campos_texto{

        font-size: 1.2vw;   
    }

    .btn_verde_largo a{


        font-size: 1.2vw; 
    }
    .olvidaste a, .volver_session a{

        font-size: 1.2vw;
    }

    .sino_puedes, .volver_session{

        font-size: 1.2vw;
    }

    .condiciones {
        margin-top:15px;
    }

    .condiciones, .recuerde {


        /*font-size: 11px;*/

    }

    .separador{

        height:30vh;

    }

}


@media screen and (max-width: 800px){


    body{
 
        
    }



    .botonera{
        display: none ;
    }


    .menu_hamburguesa{

        display:flex;
        justify-content: flex-start;
        width: 30%;
        height: 50%;
        margin-right: 0;
        margin-left: auto;
        
    }

    .menu_hamburguesa img{


        width: 70%;

    }

    .logo_evento{

        width: 100%;
        grid-column: 1 / -1; /* ocupa todo el ancho */
        grid-row: 2; 

    }

    .muchas_gracias{

        width: 70%;
        font-size: 24px;
        line-height: 30px;
    }

    .te_esperamos{

        width: 700%; 
        font-size: 2.6vw;

    }

    .fecha{

        font-size: 3vw;
    }
    .titulo{
        font-size: 14px; 
    }

    .reloj{

        width: 10%;

    }
    .horario{
        margin-top: 0px;
        width: 80%;
        /*height: 100px;*/

    }
    
    .horario_01{

        font-size: 1.5vw;
            /*height: 32%;
            margin-bottom: 5px;*/
            
        }
        .horario_01 span{

            display: block;
            margin-top: 3px;


        }

        .horario_01 c{

            display: none;
        }

        .formulario{

            width: 80%;
        }

        .campos_texto{

            font-size: 14px;   
        }

        .btn_verde_largo a{


            font-size: 14px; 
        }
        .olvidaste a{

            font-size: 11px;
        }

        .sino_puedes, .volver_session{

            font-size: 11px;
        }
        .sino_puedes a, .volver_session a{

            font-size: 2.5vw;
        }


        .logo_evento_02 img{

            width: 50%;
        }
        .recuerde{

            /*width: 80%;*/
            font-size: 2.2vw;
        }
        .condiciones {


            font-size: 11px;

        }

        .separador{

            height:30vh;

        }

        .btn_corto a{
            font-size: 1.5vw;
        }

    }

    @media screen and (max-width: 800px){

        body{


            background-image: url(img/fondo_large.jpg);
            background-color: #006efe;
            background-position: center;
            background-repeat: no-repeat;
            background-size: cover;

        }

        .recuerde{

            width: 80%;
            font-size: 3.2vw;
        }

        .header{

            height: 60px;
        }

        


        .botonera{
            display: none ;
        }


        .menu_hamburguesa{

            display:flex;
            justify-content: flex-start;
            width: 20%;
            height: 70%;
            margin-top: 20px;

        }


        .menu_hamburguesa img{
            width: 50%;
        }



        .muchas_gracias{
            margin-top: 30px;
            margin-bottom: 30px;
            width: 90%;
            font-size: 27px;
            line-height: 29px;
        }

        .te_esperamos{
            margin-top: 30px;

            width: 90%; 
            /*height: 50px;*/
            font-size: 5vw;


        }
        .te_esperamos a{

         display:block;
         font-size: 5vw;




     }
     .texto_spam {
        font-size: 3.1vw;
    }
    .reloj{

        width: 10%;

    }
    .horario{
        margin-top: 0px;
        width: 80%;
        /*height: 80px;*/
        
    }

    .horario_01{

        font-size: 2.5vw;
        /*height: 32%;
        margin-bottom: 10px;*/
        
    }
    .horario_01 spam{

        display: block;
        margin-top: 3px;


    }

    .horario_01 c{

        display: none;
    }

    .fecha{

        margin-top:20px;
        /*height: 60px;*/
    }

    .olvidaste, .olvidaste.a{

        height: 25px;
    }

    .btn_verde a, .btn_linea a, .volver_session a{

        font-size: 3vw;
    }

    .sino_puedes a{

/*color:#fff;*/


}

.condiciones{
    margin-top: 10px;
    width: 100%;
}
.condiciones a{

    /*color: #ffffff;*/
    font-size: 11px;
    font-weight: 800;
    text-decoration: underline;
}

.contenedor_terminos{

    width: 90%;
}


.separador{
    height: 800;
}

.btn_corto{

    width: 80%;
}

.separador{

    height:25vh;

}

.btn_corto a{
    font-size: 2vw;
}

}


@media screen and (max-width: 800px){
    .condiciones a{

        /*color: #ffffff;*/
        font-size: 2.1vw;
        font-weight: 800;
        text-decoration: underline;
    }


}


.header{
    background-color: #ffe401;
    background-image: url('img/bkg-celeste.jpg');
    margin: 0;
    height: 100%;
    display: block;
    padding: 20px 0px;
}

@media screen and (max-width: 800px){
    .header{
        padding-top: 0;
    }
}

.header .container{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-around;
    padding: 0 12px;
}

@media screen and (max-width: 800px){
    .header .container{
        display: grid;
          grid-template-columns: 1fr 1fr; /* dos columnas iguales */
          grid-template-rows: auto auto; /* dos filas */
          gap: 10px; /* opcional */
    }
}

.header h1{
    font-weight: 700;
    font-family: "Montserrat", sans-serif;
    text-align: center;
    color: #c3122c;
    font-size: 40px;
    margin-bottom: 0;
    margin-top: 0;
}


.header{

}


.edit-form-section{
    position: relative;
    float: left;
    width: 100%;
    padding: 40px 0;
    background-color: #ffe401;
    background-image: url('img/bkg-amarillo.jpg');
}

section .container{
    max-width: 980px;
    margin: 0 auto;
    padding: 0 20px;
    width: 80%;
}

@media screen and (max-width: 800px){
    section .container{
        padding: 0 20px;
        width: 100%;
    }
}

.formulario-section{

}

.formulario-section .titulo,
.edit-form-section .recuerde{
    color: #000000;
    text-align: center;
    width: 100%;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    text-transform: uppercase;
}

.formulario-section .titulo{
    font-weight: 600;
}

.formulario-section .campos_texto{
    border-radius: 0;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 14px;
    padding: 14px 14px;
}

.condiciones {    
    font-family: "Montserrat", sans-serif;
    color: #000;
    display: flex;
    justify-content: center;
    
    font-weight: 400 !important;
    font-size: 12px;
    padding: 0 0 0;
    margin: 20px 0 20px 0;
        text-transform: uppercase;
}
.condiciones a{
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    
    color: #000;
}

.btn_red{
    padding: 5px 15px;
    background-color: #c3122c;
    width: 100%;
    font-weight: 400;
    margin-top: 20px;
}
.btn_red.activo {}
.btn_red a{
    font-size: 14px;
    font-weight: 500;
    font-family: "Montserrat", sans-serif;
    width: 100%;
    text-align: center;
    padding: 5px 5px;
    cursor: pointer;
}

.celeste-background{
    position: relative;
    float: left;
    width: 100%;
    min-height: 140px;
    background-color: #16c0f3;
    background-image: url('img/bkg-celeste.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    align-items: center;
    display: flex;
    overflow: hidden; /* evita que se salga el pseudo */
}


.celeste-background .container{
    /*width: 100%;*/
}

.logo-footer {
    display: block;
    margin-top: 20px;
    text-align: center;

}
.logo-footer img {
    max-width: 100px;
        margin-left: auto;
    margin-right: auto;
}

footer{
    position: relative;
    float: left;
    width: 100%;
    background-color: #c3122c;
}
footer .container{
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 12px;
}
footer .container a{
    margin: 0 auto;
    display: table;
}