
/* $FORMS
^input ^label
____________________________________*/

.form_group {
	margin: 5px 0 20px;
	padding: 0;
}

.input_group,
.input {
	position: relative;
	border: 1px solid #ccc;
	margin-top: -1px;
	position: relative;
	background: #fff;
}
.input_group {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	padding: 0;
}
	.input_group > div {
		width: 50%;
	}
	.input_group .input {
		margin: 0;
		border: none;
		margin: 0;
	}

	.input input[type="text"],
	.input input[type="password"],
	.input input[type="tel"],
	.input input[type="email"],
	.input input[type="url"] ,
	.input input[type="number"],
	.input textarea,
	.input select {
		position: relative;
		border: 0;
		width: 100%;
		padding: 12px 20px;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-appearance: none;
		background: #fff;
		z-index: 1;
		border-radius: 0;
		font-size: 14px;
		background: none;
	}
	.input input::placeholder {
		opacity: 0;
		transition: opacity .2s;
	}

	.input input:focus,
	.input textarea:focus,
	.input select:focus {
		outline: none;
		box-shadow: 0 0 5px rgba(0,0,0,.2);
		z-index: 2;
	}
	.input input:focus::placeholder {
		opacity: 0.5;
	}
	.input input:invalid,
	.input textarea:invalid,
	.input select:invalid {
		background: #fff;
	}
	.input_info {
		position: relative;
		color: rgba(0, 0, 0, .26);
		z-index: 2;
		font-size: .9em;
		margin-top: -5px;
		padding: 0 20px 15px 20px;
		line-height: 1.3em;
	}
	.input label {
		position: absolute;
		z-index: 3;
		top: 12px;
		left: 15px;
		padding: 0px 5px;
		text-align: left;
		pointer-events: none;
		width: auto;
		background: #fff;
		color: rgba(0, 0, 0, .26);
		transition: linear .2s all;
		transform-origin: top left;
	}
	label .req {
		color:#eb2a2e;
		font-size: .6em;
		vertical-align: top;
	}
	.input__is_active label	{
		transform: scale(.9) translate(0, -24px);
	}
	.input__filled label {
		opacity: 0;
	}
	.input select {
		opacity: 0;
	}
	.input__filled select,
	.input__is_active select {
		opacity: 1;
	}
		.input_select:after{
			content: '';
			position: absolute;
			border: 3px solid #ccc;
			border-top: 0;
			border-left: 0;
			pointer-events: none;
			width: 8px;
			height: 8px;
			right: 20px;
			top: 15px;
			z-index: 2;
			transform: rotate(45deg);
		}

.specialclass {
	width: 0;
	border: 0;
	visibility: hidden;
}

.inline {
	position: relative;
}

.inline > * {
	display: inline-block !important;
}

/*fancy input checkoxes*/
.input_radio,
.input_checkbox {
	display: block;
	position: relative;
	margin: 12px 0;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* Hide the browser's default checkbox */
.input_radio input,
.input_checkbox input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}
.input_radio label,
.input_checkbox label {
	 display: block;
	 padding: 0 0 0 30px;
}

/* Create a custom checkbox */
.input_radio label:before,
.input_checkbox label:before {
	position: absolute;
	top: 2px;
	left: 0;
	height: 15px;
	width: 15px;
	border-radius: 3px;
	border: 1px solid #ddd;
	background-color: #efefef;
	content: '';
}
.input_radio label:before {
	border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.input_radio:hover label:before,
.input_radio:focus input:focus ~ label:before,
.input_checkbox:hover label:before,
.input_checkbox input:focus ~ label:before {
	background-color: #ccc;
}

.input_radio:focus input:focus ~ label:before,
.input_checkbox input:focus ~ label:before {
	box-shadow: 0 0 4px var(--primary-color);
}

/* When the checkbox is checked, add a blue background */
.input_radio input:checked ~ label:before,
.input_checkbox input:checked ~ label:before {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

.input_radio input:checked ~ label:before {
	border-width: 3px;
	margin: -2px 0 0 -2px;
}

/* Create the checkmark/indicator (hidden when not checked) */
.input_radio label:after,
.input_checkbox label:after {
	content: '';
	position: absolute;
	display: none;
}

/* Show the checkmark when checked */
.input_radio input:checked ~ label:after,
.input_checkbox input:checked ~ label:after {
	display: block;
}

/* Style the checkmark/indicator */
.input_checkbox label:after {
	left: 5px;
	top: 4px;
	width: 5px;
	height: 9px;
	border: solid white;
	border-width: 0 2px 2px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.input_radio label:after {
	left: 1px;
	top: 3px;
	width: 11px;
	height: 11px;
	border: 2px solid #fff;
	border-radius: 50%;
}

.form_small {
	max-width: 350px;
	margin: 0 auto;
}


/*
errors.
 */
.error-msg {
	display: block;
	padding: 0 20px 5px;
	color: #e02929;
}
	.error-msg:before {
		content: '';
		display: block;
		float: left;
		background: url(/images/icons/info-icons.png);
		background-size: 18px auto;
		height: 18px;
		width: 18px;
		margin: 4px 5px 0 0;
	}

