input[type="text"], input[type="email"], input[type="number"], input[type="password"], textarea, select {
	font-family: 'Jost', sans-serif;
	position: relative;
	font-size: 1.7rem;
	display: inline-block;
	width: 100%;
	font-weight: 400;
	color: var(--font_dark);
	background-color: var(--bg_gray);
	border: 1px solid rgba(0,0,0,0.0);
	outline: none !important;
	-webkit-appearance: none;
	appearance: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;	
	transition: 0.15s;
}
form.center input, .form_container.center input {
	text-align: center;
}
input[class="form_error"], .form_error {
	border-color: var(--red);
}
select {
	background-image: url('../_gfx/form_select.svg');
	background-repeat: no-repeat;
	background-size: 6px 4px;
	background-position: right 12px center;
}
textarea {
	display: block;
	width: 100%;
	height: 100px;
	resize: none;
	margin: 0;
	overflow: auto;
	line-height: 1.6em;
}
input[type="text"], input[type="email"], input[type="number"], input[type="password"], select {
	height: 46px;
}
input[type="text"], input[type="email"], input[type="number"], input[type="password"] {
	padding: 0.8em;
}
select {
	padding: 0 0.8em;
}
textarea {
	padding: 5px 0.8em;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="password"]:focus, textarea:focus {
	border: 1px solid var(--prim) !important;
	color: var(--prim);
	-webkit-box-shadow: 0 0 15px rgba(0,0,0,0.10);
    box-shadow: 0 0 15px rgba(0,0,0,0.10);
	transition: 0.25s;
	background-color: #FFFFFF;
}












.form_container {
	margin: 0 -5px;
}
.input_container {
	position: relative;
	float: left;
	margin: 5px 0;
	padding: 0 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.input_container.full {
	width: 100%;
}
.input_container.half {
	width: 50%;
}
.input_container.third {
	width: 33.3333%;
}
.input_container.twothird {
	width: 66.6667%;
}
label {
	display: block;
    color: var(--grayblue);
    font-size: 1.3rem;
    font-weight: 400;
    padding: 3px 10px;
    letter-spacing: 0;
	margin-top: 7px;
	margin-bottom: 1px !important;
}
label:first-child {
	margin-top: 0;
}
.checkbox_mum {
	margin: 1em 0 0.4em 0 !important;
}
.submit_mum {
	margin-top: 1.75em !important;
}


label.cat {
    padding: 1em;
    margin-bottom: 1.15em;
    position: relative;
    display: inline-block;
    border-radius: 3px;
    border: 1px solid rgb(88 100 132 / 10%);
    background-color: rgb(83 101 236 / 3%);
}
.hl {
	margin: 0;
}



fieldset {
	margin: 0;
	padding: 1em 1.6em;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid var(--border_gray);
	border-radius: 2px;
}



input[type=checkbox], input[type=radio] {
	padding: 0;
	height: initial;
	width: initial;
	margin: 0;
	display: none;
	cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
label.option {
    width: 100%;
    padding: 0.45em 0;
	margin: 0;
}
.fieldset.small label.option {
	padding: 0.2em 0;
	border: none;	
}
label.option, label.option em {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
label.option, label.option em, label.option i {
	display: inline-block;
	position: relative;
	cursor: pointer;
}
label.option em {
    padding-left: 1.7em;
    line-height: 1.55em;
	font-size: 1.4rem;
	font-style: normal !important;
}
label.option i {
    width: 1.0em;
    height: 1.0em;
    position: absolute;
	top: 0.1em;
    left: 0;
    border: 1px solid var(--scnd);
    background-color: transparent;
    border-radius: 2px;
    -webkit-appearance: none;
    appearance: none;
}
.radio_mum label.option i {
	border-radius: 50%;
}
input[type=checkbox]:checked + em i:after {
	content: url('data:image/svg+xml; utf8, <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" stroke="black" stroke-width="1" fill="none"><polyline points="7.5,2.7 3.9,6.3 2.5,4.9"/></svg>');
    display: block;
    position: relative;
	line-height: 1em;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
input[type=radio]:checked + em i:after {
	content: "";
    position: absolute;
    width: 100%;
    height: 100%;
	left: 0;
    top: 0;
    border-radius: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: black;
    border: 0.32em solid white;
}
input[type=radio]:not(:checked) + em i:after, input[type=checkbox]:not(:checked) + em i:after {
	display: none;
}
fieldset.sidebyside {
	border: none;
	text-align: center;
}
fieldset.sidebyside label {
	width: auto;
	border: none;
	padding: 0.45em;
}











::-webkit-input-placeholder {
	color: rgba(0,0,0,0.4);
}
:-moz-placeholder { 
	color: rgba(0,0,0,0.4) ;
}
::-moz-placeholder {  
	color: rgba(0,0,0,0.4);
}
:-ms-input-placeholder {  
	color: rgba(0,0,0,0.4); 
}




@media (hover: hover) and (pointer: fine) {
select:hover {
	cursor: pointer;
}
input[type="text"]:hover, input[type="email"]:hover, input[type="number"]:hover, input[type="password"]:hover, textarea:hover, select:hover {
	border-color: rgba(0,0,0,0.35);
}
label.option:hover i {
    background-color: #EFF2F9;
}
label.option:hover {
    color: var(--scnd);
}
}


@media screen and (max-width: 506px) {
textarea {
	height: 120px;
}
.form_container {
	margin: 0 -4px;
}
.input_container {
	margin: 4px 0;
	padding: 0 4px;
}
.input_container.half {
	width: 100%;
}
}
@media screen and (max-width: 450px) {
.form_container {
	margin: 0 -3px;
}
.input_container {
	margin: 3px 0;
	padding: 0 3px;
}
}
@media screen and (max-width: 400px) {

}
@media screen and (max-width: 355px) {
input[type="text"], input[type="email"], input[type="number"], input[type="password"], select {
	height: 42px;
}
}