/*@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap');
/*@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300&family=Montserrat:wght@300;400;700&display=swap');*/

@font-face{
    font-family: familiagibson;
    src: url(../fonts/Gibson/Gibson-SemiBold.ttf);
}

* {
	margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
	/*font-family: 'Montserrat', sans-serif;*/
	
	
    width: 100%;
    display: flex;
    min-height: 20vh;
}


/*PRELOADER*/

#containers {
	display: flex;

	background-color: white;
	width: 100%;
	height: 100%;
	position: fixed;
	-webkit-transition: all 600ms ease;
	-o-transition: all 600ms ease;
	transition: all 600ms ease;
	z-index: 10000;
	top: 0;
}


#containers .wrapper {

	position: absolute;
	display: flex;
	margin-left: 46%;
	margin-top: 18%;

	/*transform: scale(1.5);*/
}


.loader{
    width: 65px;
    height: 65px;
	position: relative;
    border-radius: 50%;
    border: 7px solid #004aad;
	border-top-color: white;
    animation: spin 1.2s linear infinite;
}

@keyframes spin{

    to{
        transform: rotate(360deg);
    }
}

.cerrar {
	opacity: 0;
	visibility: hidden;



}

/*FIN PRELOADER*/




.formulario {
	width: 100%;
    max-width: 400px;
    margin: auto;
    border-radius: 1em;
    padding: 3.5em 1.5em;
}

.form-container{
    width: 100%;
    display: grid;
    gap: 1em;
    grid-auto-columns: 100%;
}

#relative_caja{
	width: 100%;
	position: relative;
	border: none;
	margin: 0 auto;
	
    
}


.formulario__grupo-input {
	position: relative;

}

.formulario__input {
	width: 100%;
	font-family: 'Poppins', sans-serif;
    font-size: 1rem;
	
    padding: .8em 1em;
    outline: none;
    border: none;
    border: 1px solid #bbb0b0;
    border-radius: 0.2em;
}

.formulario__input:focus {
	border: 1px solid #0075FF;
	outline: none;
	
}

.formulario__input-error {
	font-size: 12px;
	margin-top: 3px;
	display: none;
	color: rgb(238, 0, 4);
	font-family: 'Poppins', sans-serif;
}

.formulario__input-error-activo {
	display: block;
}

.formulario__validacion-estado {
	position: absolute;
	right: 10px;
	bottom: 15px;
	z-index: 100;
	font-size: 16px;
	opacity: 0;
}

.formulario__checkbox {
	margin-right: 10px;
	
}

/*.formulario__grupo-terminos, 
.formulario__mensaje,
.formulario__grupo-btn-enviar {
	grid-column: span 2;
}*/

.formulario__mensaje {
	height: 45px;
	line-height: 45px;
	background:  rgb(238, 0, 4);
	padding: 0 15px;
	border-radius: 3px;
	display: none;
	color: white;
	font-size: 15px;
	text-align: center;
}

.formulario__mensaje-activo {
	display: block;
}

.formulario__mensaje p {
	margin: 0;
}

/*ICONO TELEFONO*/




/*CHECK ANIMADO*/

.formulario__label {
  display: initial;
  width: 25px;
  height: 25px;
  cursor: pointer;
  position: relative;
  text-align: justify;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  color: #004aad;
	
}


/*NUMERO 2*/

.formulario__label {
  display: flex;
  align-items: center;
  gap: 1px;
  font-weight: 500;
  font-family: 'Poppins', sans-serif;
  color: #004aad;
  cursor: pointer;
  white-space: nowrap; /* Evita que el texto se divida en varias líneas */
}

.checkbox-wrapper-15 {
  display: flex;
  align-items: center;
  flex-wrap: nowrap; /* Evita que el contenido se envuelva */
  width: auto; /* Ajusta el ancho según el contenido */
}


  .checkbox-wrapper-15 .cbx {
    display: flex;
    align-items: center;
    gap: 1px; /* Espacio entre el checkbox y el texto */
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    position: relative;
    
  }
  .checkbox-wrapper-15 .cbx span {
    display: inline-block;
    vertical-align: middle;
    transform: translate3d(0, 0, 0);
  }
  .checkbox-wrapper-15 .cbx span:first-child {
    position: relative;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    
    /*border-radius: 50%;*/
    transform: scale(1);
    vertical-align: middle;
    border: 2px solid #336cd5;
    border-radius: 3PX;
    transition: all 0.2s ease;
  }
  .checkbox-wrapper-15 .cbx span:first-child svg {
    position: absolute;
    z-index: 1;
    top: 5px;
    left: 4px;
    fill: none;
    stroke: #f9f9f9;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
    transition: all 0.3s ease;
    transition-delay: 0.1s;
    transform: translate3d(0, 0, 0);
  }
  .checkbox-wrapper-15 .cbx span:first-child:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #336cd5;
    display: block;
    transform: scale(0);
    opacity: 1;
    border-radius: 50%;
    transition-delay: 0.2s;
  }
  .checkbox-wrapper-15 .cbx:hover span:first-child {
    border-color:  #336cd5;
  }
  
  .checkbox-wrapper-15 .inp-cbx:checked + .cbx span:first-child {
    border-color: #336cd5;
    background: #336cd5;
    animation: check-15 0.6s ease;
  }
  .checkbox-wrapper-15 .inp-cbx:checked + .cbx span:first-child svg {
    stroke-dashoffset: 0;
  }
  .checkbox-wrapper-15 .inp-cbx:checked + .cbx span:first-child:before {
    transform: scale(2.2);
    opacity: 0;
    transition: all 0.6s ease;
  }
  .checkbox-wrapper-15 .inp-cbx:checked + .cbx span:last-child {
    color: rgb(255 255 255 / 10%);
    transition: all 0.3s ease;
  }
  .checkbox-wrapper-15 .inp-cbx:checked + .cbx span:last-child:after {
    transform: scaleX(1);
    transition: all 0.3s ease;
  }
  
  @keyframes check-15 {
    50% {
      /*transform: scale(1.2);*/
    }
  }

/*FIN CHECKBOX2*/

/*ANIMACION BOTON*/

.button{
  width: 100%;

  margin-bottom: 20px;	
  
  padding: .7em 0;	
  font-size: 1rem;	
  position: relative;
  height: 55px;
  border: none;
  color: white;
  background: #336cd5 !important;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  overflow: hidden;
  font-family: 'Poppins',sans-serif;
}

.button::before{
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	height: 100%;
	width: 100%;
	background: #336cd5;
	border-radius: 6px;
	
}

.button.progress::before{
	animation: progress 6s ease-in-out forwards;
}

@keyframes progress {
	0%{
	  left: -100%;
	}
	10%{
	  left: -97%;
	}
	20%{
	  left: -92%;
	}
	30%{
	  left: -82%;
	}
	30%{
	  left: -62%;
	}
	40%{
	  left: -38%;
	}
	50%{
	  left: -18%;
	}
	60%{
	  left: -14%;
	}
	80%{
	  left: -7%;
	}
	90%{
	  left: -3%;
	}
	100%{
	  left: 0%;
	}
}

.button .text-icon{
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.button .text-icon i,
.button .text-icon span{
	position: relative;
	color: #fff;
	font-size: 26px;
}

.button .text-icon span{
	font-size: 20px;
	font-weight: 400;
	margin-left: 8px;
	z-index: 2;
}

/*FIN ANIMACION BOTON*/

/*BOTON DISABLED*/

#formulario #button:disabled {
    background-color: rgb(156, 127, 173);
    border: none;
	box-shadow: none;
   
}


.form-title{
    text-align: center;
    font-size: 22px;
    margin-bottom: .4em;
    color: #333333;
	font-family: familiagibson, sans-serif;
	letter-spacing: 0lvh;
    
}


.formulario__mensaje-exito {
	
	position: absolute;
	top: 0;
	font-size: 15px;
	padding: 8px;
	text-align: center;
	background-color: #119200;
	border-radius: 2px;
	color: white;
	display: none;
}

.formulario__mensaje-exito-activo {
	display: block;
}

.conditions{
  text-align: justify;
  font-size: 11px;
	font-family: 'Poppins',sans-serif;
}

/* ----- -----  Estilos para Validacion ----- ----- */
.formulario__grupo-correcto .formulario__validacion-estado {
	color: #1ed12d;
	line-height: 19px;
	opacity: 1;
}

.formulario__grupo-incorrecto .formulario__label {
	color:  rgb(238, 0, 4);
	
}

.formulario__grupo-incorrecto .formulario__validacion-estado {
	color:  rgb(238, 0, 4);
	line-height: 19px;
	opacity: 1;
	
}

.formulario__grupo-incorrecto .formulario__input {
	border: 1px solid  rgb(238, 0, 4);
}


.formulario .sdo_msj{
	display: none;
}



/*RESPONSIVE*/

@media (max-width:450px){
    .form{
        padding: 3.5em 1em;
    }

	#containers .wrapper{
        margin-left: 42%;
        margin-top: 68%;
    }
}

@media (max-width:650px){
    #containers .wrapper{
        margin-left: 42%;
        margin-top: 68%;
        
    }
}

