/*
 * Form Validation
 * ------------------------------------------------------------------------------------------------
*/
.error .msg_empty {
	display: none;
}
.form-col.field-error {
	position: relative;
}
.form-col.field-error .field-label {
	/* display: block; */
	/* margin-top: 10px; */
	/* margin-bottom: 4px; */
}
.form-col.processing .field-label:after {
	bottom: 16px;
}
.form-col .error,
.form-col .error-empty {
	display: none;
	background-color: #F44336;
	border-radius: 4px;
	color: white;
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
	text-align: left;
	position: absolute;
	left: 0;
	top: 0;
	top: -14px;
	bottom: auto;
	/* transform: translateY(-100%); */
	padding: 8px 15px 6px;
	margin-top: 0;
	margin-bottom: 0;
	width: max-content;
	z-index: 2;
}
.form_widget_style_a .form-col .error,
.form_widget_style_a .form-col .error-empty,
.form_pre_form .form-col .error,
.form_pre_form .form-col .error-empty,
.zipcodeform .form-col .error,
.zipcodeform .form-col .error-empty {
	top: auto;
	top: 7px;
	/* bottom: calc(50% + 16px); */
	bottom: 16px;
	bottom: auto;
	transform: translateY(-100%);
}
.col-textarea .form-col .error,
.col-textarea .form-col .error-empty {
	left: 0;
	top: 0;
	top: -20px;
	bottom: auto;
	/* transform: translateY(-100%); */
}
.form-col .error:after,
.form-col .error-empty:after {
	content: "";
	position: absolute;
	top: auto;
	left: 50%;
	bottom: -6px;
	width: 12px;
	height: 12px;
	background: #F44336;
	border-top: 1px solid #F44336;
	border-right: 1px solid #F44336;
	transform: translateX(-50%) rotate(-45deg);
	z-index: -1;
}
.form_page .col-radio .form-col.field-error .error {
	display: block;
	margin-top: -2px;
	margin-bottom: 5px;
}
.form-col.field-error-empty .error-empty {
	display: inline-block;
}
.form-col.field-error .radio-wrapper + p.error {
	margin-top: -7px;
}
.form-col.field-error .two_columns + p.error {
	margin-top: 7px;
}
.form-col abbr.required {
	color: #3772FF;
}

.form-col[class*="field-error"] .select2-selection--single,
.form-col[class*="field-error"] .radio + label:before,
.form-col[class*="field-error"] .field-radio + label,
.form-col[class*="field-error"] input,
.form-col[class*="field-error"] textarea,
.form-col[class*="field-error"] select,
.form-col[class*="field-error"] input:focus,
.form-col[class*="field-error"] textarea:focus,
.form-col[class*="field-error"] select:focus {
	border-color: #F44336 !important;
	background-color: #fff;
}
.form-col[class*="field-error"] input:focus,
.form-col[class*="field-error"] textarea:focus,
.form-col[class*="field-error"] select:focus {
	box-shadow: 0 0 0 1px #F44336;
}

.form_block .form-col.processing .field-label .select2-container--default .select2-selection--single .select2-selection__arrow b,
.form_block .form-col[class*="field-error"] .field-label [data-type] {
	background-image: none;
}

.form-col[class*="field-error"] textarea {
	padding-right: 37px;
}

.form-col input[data-type="zip"].valid {
	background-image: url('data:image/svg+xml,%3Csvg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Ccircle cx="10" cy="10" r="10" fill="%2303A700"/%3E%3Cpath d="M6 10L9 13L15 7" stroke="white" stroke-width="2"/%3E%3C/svg%3E');
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position-x: 94%;
	background-position-x: calc(100% - 15px);
	background-position-y: center;
	outline: none;
}
.zipcodeform .form-col input[data-type="zip"].valid {
	background-position-x: calc(100% - 15px);
}

.form-col.valid .field-label,
.form-col.processing .field-label {
	position: relative;
}
.form-col.processing .field-label input:disabled,
.form-col.processing .field-label select:disabled {
	background-color: #EAEAEA;
	background-image: none;
}
.form-col.processing .field-label:after {
	content: '';
	border: 3px solid #BFBFBF;
	border-radius: 15px;
	border-top: 3px solid #03A700;
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
	position: absolute;
	width: 20px;
	height: 20px;
	right: 11px;
	bottom: 17px;
	background-color: transparent;
}
form#form_page .form-col.processing .field-label:after {
	right: 8px;
	bottom: 7px;
}
.form-col.processing .select2-container--default .select2-selection--single,
.form-col.processing .select2-container--default .select2-selection--single:hover {
	background-color: #EAEAEA;
	border-color: #BFBFBF;
}
.form-col.processing .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #737373;
}

.form-col.processing .field-select,
.form-col.processing .select2-container--default .select2-selection--single .select2-selection__arrow b {
	background-image: none;
}
@-webkit-keyframes spin {
  	0% { -webkit-transform: rotate(0deg); }
  	100% { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
  	0% { transform: rotate(0deg); }
  	100% { transform: rotate(360deg); }
}


@media (max-width: 767px) {
	.form-col .error,
	.form-col .error-empty {
		top: -10px;
		top: -2px;
		transform: translateY(-100%);
	}
	.col-textarea .form-col .error,
	.col-textarea .form-col .error-empty {
		top: -10px;
	}
}




