/**********************/
/* FORMULARIO*/
/**********************/

.form_style{
	padding-top:0px !important;
}
.elementor-field-parent{
	display: flex !important;
	flex-wrap: wrap !important;
}
.form_style .elementor-field-group{
	padding-right: calc( 10px/2 ) !important;
	padding-left: calc( 10px/2 ) !important;
	margin-bottom: 20px !important;
	width: 100%;
	position: relative;
}
textarea::placeholder,
input::placeholder{
	opacity: 0 !important;
}

/* Campo numerico */
.form_style input[type=number]::-webkit-inner-spin-button,
.form_style input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.form_style input[type=number] {
	-moz-appearance:textfield;
}
/* Campo fecha */
.form_style input[type="date"]{
	background-image: url('');
	background-size: 16px 17px;
	background-position: calc(100% - 15px) 22px;/*=*/
	background-repeat: no-repeat;
}
.form_style input[type="date"]::-webkit-inner-spin-button,
.form_style input[type="date"]::-webkit-calendar-picker-indicator {
	opacity: 0;
	-webkit-appearance: none;
}
/* Validaciones y estados de input
.form_style input:invalid{
border-bottom-color: red !important;
}*/
*:focus,
input:invalid,
input:focus,
select:focus{
	box-shadow: none !important;
	outline: none !important;
	-webkit-box-shadow: none !important;
}
/* Estilo de fuente para input y label*/
.form_style *{
	text-transform: none !important;
	font-size: 16px !important;
	font-family: inherit !important;
	letter-spacing: 0px !important;
}
/*Select mobile*/
.form_style select{
	padding: 16px 50px 0 16px !important;
	background-repeat: no-repeat;
	background-position: calc(100% - 15px) 22px;/*=*/
	background-image: url('');
	background-size: 28px 28px;
}
.elementor-field-group .elementor-select-wrapper:before{
	display: none !important;
}
/* Mensaje de error */
.form_style .elementor-message{
	text-align: left;
	color: var( --e-global-color-text );
	font-family: inherit !important;
}
.form_style .elementor-message{
	margin: 30px 0 !important;
}
.form_style .elementor-message.elementor-help-inline{
	font-size: 11px !important;
	position: absolute;
	margin: 0px !important;
	padding: 0px !important;
	bottom: -16px !important;
	left: 10px !important;
	color: red !important;
}
/* Boton */
.form_style .elementor-field-type-submit{
	margin-top: 20px !important;
}
.form_style .elementor-button{
}
.form_style .elementor-field-type-submit .elementor-button-text{

}

/**********************/
/* CAMPOS INPUT-SELECT-TEXTAREA */
/**********************/

.custom-a11yselect-container .custom-a11yselect-btn,
.form_style .input,/*Input file*/
.form_style textarea,
.form_style input,
.form_style select{
	padding: 16px 10px 10px 10px !important;
	line-height: 20px !important;
	height: 50px !important;
	border-radius: 6px !important;
	border: 0px !important;
	border-bottom: none !important;
	background-color: white !important;
	width: 100% !important;
	text-align: left !important;
	box-shadow: none !important;
}
.form_style textarea{
	height: 110px !important;
}

/* Label normal*/
.form_style .input span,/*Input file*/
.form_style .elementor-field-label{
	position: absolute !important;
	line-height: 1em !important;
	bottom: 16px !important;
	left: calc( 10px/2 + 10px) !important;
	display: block !important;
	transition: all .2s linear;
	-webkit-transition: all .2s linear;
	pointer-events: none;
	opacity: 1;
}
.form_style textarea + label{
	bottom: inherit !important;
	top: 18px !important;
}
.form_style .input span{
	left: 10px;
}
/**********************/
/* selector dropdown*/
/**********************/

.custom-a11yselect-container .custom-a11yselect-menu {
	background: #fff;
	display:none;
	left: 0;
	margin: 0;
	max-width: 100%;
	padding: 14px 0;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 5;
	border-radius: 4px;
	box-shadow: 0px 4px 35px rgba(0, 0, 0, 0.35)
}
.custom-a11yselect-container .custom-a11yselect-menu .custom-a11yselect-option button {
	background:transparent;
	border:none;
	color: var( --e-global-color-text );
	font-family: inherit;
	text-transform: none !important;
	font-size: 15px !important;
	letter-spacing: 0px !important;
	font-weight: 500 !important;
	line-height: 21px;
	padding: 10px 18px;
	text-align: left;
	width: 100%;
	box-shadow: none !important;
	border-radius: 50px;
	position: relative;
	transition: all .3s linear;
}
.custom-a11yselect-container .custom-a11yselect-menu .custom-a11yselect-option.custom-a11yselect-focused {
	background: #E5E5E5 !important;
	border-radius: 50px;
	transition: all .3s linear;
}
.custom-a11yselect-container .custom-a11yselect-menu .custom-a11yselect-option.custom-a11yselect-selected button {
	background: transparent;
	width: auto;
}
.custom-a11yselect-container .custom-a11yselect-menu .custom-a11yselect-option.custom-a11yselect-selected button:before {
	content:'';
	position: absolute;
	bottom: 8px;
	left: 18px;
	width: calc(100% - 28px);
	height: 14px;
	background: #FFC400;
	z-index: -1;
}
.custom-a11yselect-container .custom-a11yselect-menu .custom-a11yselect-option.custom-a11yselect-disabled button {
	background:#fff;
	color:#666;
	cursor:default;
}
/* Icon de select*/
.custom-a11yselect-container .custom-a11yselect-btn:after{
	content:'';
	position: absolute;
	top: 2px;
	bottom: 0;
	margin: auto;
	right: 9px;
	width: 30px;
	height: 30px;
	background: #FFC400;
	z-index: 0;
	border-radius: 50%;
}
.custom-a11yselect-container i.custom-a11yselect-icon{
	z-index: 1;
}
.custom-a11yselect-container i.custom-a11yselect-icon.icon-carrat-down {
	border-top:6px solid var( --e-global-color-text );
	border-left:6px solid transparent;
	border-right:6px solid transparent;
}
.custom-a11yselect-container i.custom-a11yselect-icon.icon-carrat-up {
	border-bottom:6px solid var( --e-global-color-text );
	border-left:6px solid transparent;
	border-right:6px solid transparent;
}

/* CAMPOS ACTIVOS */
/******************/
.form_style input:focus,
.form_style select:focus,
.form_style textarea:focus{
	border-color: none !important;
}
.form_style .active input{
	border-color: none !important;
}

/* Se muestra el placeholder cunado está en focus*/
.form_style .active input::placeholder,
.form_style input:focus::placeholder{
	opacity: 0 !important;
}

/* Label */
.form_style .input span,/*Input file*/
.form_style .active label,
.form_style .elementor-field-type-select label,/*siempre activo*/
.form_style .elementor-field-type-select.active label,
.form_style textarea:focus + label,
.form_style input:focus + label{
	bottom: 45px !important;
	font-size: 14px !important;
	opacity: 1 !important;
	font-weigh: bold !important;
}
.form_style .active textarea + label,
.form_style textarea:focus + label{
	bottom: inherit !important;
	top: -11px !important;
}

/**********************/
/* CAMPOS RADIO - CHECKBOX - ACEPTANCE */
/**********************/

/* ocultar label del grupo */
.form_style .elementor-field-type-checkbox label.elementor-field-label,
.form_style .elementor-field-type-radio label.elementor-field-label,
.form_style .elementor-field-type-acceptance label.elementor-field-label{
	opacity: 0 !important;
	display: none;
}

/* ocultar input por defecto */
.form_style .elementor-field-option input{
	position: absolute !important;
	opacity: 0 !important;
}

/* Ordenar items */
.form_style .elementor-field-option{
	position: relative !important;
	margin: 10px 0 10px 0 !important;
	display: block  !important;
}
/* anular estilos de active de input normal en label de items */
.form_style .elementor-field-type-upload .elementor-field-label, /* Input file */
.form_style .elementor-field-type-upload.active .elementor-field-label,/* Input file */

.form_style .elementor-field-option label,
.form_style .elementor-field-option input:checked + label,
.form_style .active .elementor-field-option input + label{
	width: 100% !important;
	padding: 0 0 0 30px !important;
	display: block !important;
	position: relative !important;
	top: inherit !important;
	left: inherit !important;
	bottom: inherit !important;
	position: relative !important;
	opacity: 1 !important;
	font-size: 16px !important;
}

/* Link de radio o terminos */
.form_style .elementor-field-option label a{
	font-size: inherit !important;
	color: var( --e-global-color-primary ) !important;
	line-height: inherit !important;
	font-weight: inherit !important;
	text-transform: none !important;
	text-decoration: none !important;
}
.form_style .elementor-field-type-radio .elementor-field-option label a,
.form_style .elementor-field-type-acceptance .elementor-field-option label a{
	text-decoration: underline !important;
}

/* check inactivo */
.form_style .elementor-field-option label:before,
.form_style .elementor-field-option label:after{
	content: '' !important;
	border: 2px solid black  !important;
	position: absolute !important;
	border-radius: 2px !important;
	width: 18px !important;
	height: 18px !important;
	top: -1px !important;
	left: 0px !important;
	background-color: white !important;
	transition: all .3s linear;
	-webkit-transition: all .3s linear;
}
/* tipo radio es redondo */
.form_style .elementor-field-type-radio .elementor-field-option label:before,
.form_style .elementor-field-type-radio .elementor-field-option label:after{
	border-radius: 50px !important;
}
/* check */
.form_style .elementor-field-option label:after{
	opacity: 0;
	border: 0px solid white !important;
    border-right: 2px solid white !important;
    transform: rotate(45deg) translateX(4px) translateY(-4px);
    width: 7px !important;
    height: 15px !important;
    background: transparent !important;
    border-bottom: 2px solid white !important;
}
/* check activo o checked  */
.form_style .elementor-field-type-radio .elementor-field-option input:checked + label:before{
	border-color: var(--e-global-color-c7f9f89) !important;
}
.form_style .elementor-field-type-acceptance .elementor-field-option input:checked + label:before{
	background: #000 !important;
}
.form_style .elementor-field-type-acceptance .elementor-field-option input:checked + label:after{
	opacity: 1;
}
/* separacion final de check terminos */
.form_style .elementor-field-type-acceptance{
	margin-bottom: 0px !important;
}


/**********************/
/* CAMPOS HTML */
/**********************/

.form_style .elementor-field-type-html h4{
	text-transform: uppercase !important;
	margin: 20px 0px 0px 0px  !important;
	padding: 10px 0px !important;
	font-weight: bold !important;
	font-size: 20px !important;
	color: var(--e-global-color-primary) !important;
	display: block !important;
	background: transparent;
	border-radius: 0px;
}
.form_style .elementor-field-type-html h5{
	text-transform: uppercase;
	font-weight: bold !important;
	margin: 20px 0 20px 0 !important;
}

.form_style .elementor-field-type-html p{
	font-size: 13px !important;
}

/**********************/
/* CAMPOS ADJUNTAR ARCHIVO */
/**********************/

/* ocultar input por defecto*/
.form_style .elementor-field-type-upload input{
	position: absolute !important;
	opacity: 0 !important;
	width: 100% !important;
	top: 0 !important;
	height: 0px !important;
}
/* ocultar label por defecto*/
.form_style .elementor-field-type-upload.active .elementor-field-label,
.form_style .elementor-field-type-upload .elementor-field-label{
	padding: 0px !important;
	font-size: 10px !important;
	pointer-events: inherit !important;
}
.form_style .elementor-field-type-upload .input{
	width: 100%;
	vertical-align: middle;
	font-weight: normal !important;
	height: 50px !important;
	line-height: 30px !important;
	overflow: hidden;
	display: block  !important;
	position: relative;
	padding-right: 30px !important;
}
/* boton de subir archivo */
.form_style .elementor-field-type-upload .elementor-field-label icon{
	background-color: transparent !important;
	background-image: url('');
	background-repeat: no-repeat !important;
	background-size: 100% 100% !important;
	width: 17px !important;
	height: 18px !important;
	position: absolute !important;
	display: block !important;
	transition: all .3s linear;
	-webkit-transition: all .3s linear;
	font-size: 0px;
	right: 15px;
	bottom: 10px;
}

/*******************************/
/* Form Home B */
/*******************************/

.HBForm .input, 
.HBForm textarea, 
.HBForm input, 
.HBForm select{
	border: 1px solid #000 !important;
	border-radius: 0px !important;
}

.HBForm .input span, 
.HBForm .elementor-field-label{
	background: white !important;
	padding: 0 4px !important;
}
.HBForm .elementor-field-type-radio .elementor-field-option label:before, 
.HBForm .elementor-field-type-radio .elementor-field-option label:after{
	width: 100% !important;
	height: 100% !important;
	top: 0px !important;
	left: 0px !important;
	background-color: transparent !important;
}
.HBForm .elementor-field-option{
	margin: 0px 2px 12px 2px !important;
}
.HBForm .elementor-field-type-radio .elementor-field-option label, 
.HBForm .elementor-field-type-radio .elementor-field-option input:checked + label, 
.HBForm .active.elementor-field-type-radio .elementor-field-option input + label{
	padding: 6px 20px 6px 20px !important;
	cursor: pointer;
}
.HBForm .elementor-field-type-radio .elementor-field-option input:checked + label{
	font-weight: bold !important;
}

.HBForm .elementor-field-type-radio .elementor-field-option input:checked + label:after{
	border-color: #6400FF !important;
}
.HBForm .elementor-button{
	border: none !important;
	position: relative !important;
	background: var(--e-global-color-secondary) !important;
}
.HBForm .elementor-button:hover .elementor-button-text{
	transition: all .2s ease;
    -webkit-transition: all .2s ease;
}
.HBForm .elementor-button:before{
	content: '' !important;
    position: absolute !important;
    top: -7px !important;
    left: -7px !important;
    width: 100% !important;
    height: 100% !important;
    border: 2px solid black !important;
    z-index: -1 !important;
    transition: all .2s ease;
    -webkit-transition: all .2s ease;
}
.HBForm .elementor-button:hover .elementor-button-text{
	color: white !important;
}
.HBForm .elementor-button:hover:before{
    top: 0px !important;
    left: 0px !important;
}

.HBForm .elementor-field-type-submit{
	justify-content: center !important;
}


