textarea,
input[type=text],
input[type=button],
input[type=submit],
.input-checkbox {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
select::-ms-expand {
	/* For IE10 */
	display: none;
}
::placeholder {
	/* Chrome, Firefox, Opera, Safari 10.1+ */
	color: #272A33;
	opacity: 1;
	/* Firefox */
	font-family: Nanito-Sans;
}
:-ms-input-placeholder,
::-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	/* Microsoft Edge */
	color: #272A33;
	font-family: Nanito-Sans;
}
/*
input[type=date]::-webkit-inner-spin-button,
input[type=date]::-webkit-calendar-picker-indicator {
	display: none;
	-webkit-appearance: none;
}
*/
.form-cont {
	width: 100%;
	display: inline-flex;
	gap: 32px;
}
.form-cont__main {
	width: 544px;
	max-width: 544px;
}
.form-cont__main.single-column {
	margin: auto;
}
@media (max-width: 768px) {
	.form-cont__main {
		width: 100%;
	}
}
.form {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	width: 100%;
}
.form__devider {
	border-bottom: 1px solid #E3E3E3;
	margin: 16px 0;
	width: 100%;
}
.form__body {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	width: 100%;
}
.form__footer {
	display: flex;
	justify-content: center;
	gap: 32px;
	width: 100%;
}
@media (max-width: 768px) {
	.form__footer {
		flex-wrap: wrap;
	}
}
.form__footer .button-cont {
	width: unset;
	justify-content: right;
	align-content: start;
}
@media (max-width: 768px) {
	.form__footer .button-cont {
		width: 100%;
		justify-content: center;
	}
}
@media (max-width: 768px) {
	.form__footer .button {
		width: 100%;
	}
}
.input-group {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
	width: 100%;
	max-width: 544px;
}
.input-group .span-2 {
	grid-column: span 2;
}
.input-group .check-cont {
	grid-column: span 2;
}
@media (max-width: 768px) {
	.input-group .input-cont-wr {
		grid-column: span 2;
	}
}
.input-group__description {
	display: flex;
	flex-wrap: wrap;
	grid-column: span 2;
	width: 100%;
	gap: 4px;
}
.input-group__title {
	width: 100%;
	font-family: Nanito-Sans-bold;
	font-size: 22px;
	line-height: 28px;
}
@media (max-width: 768px) {
	.input-group__title {
		font-size: 18px;
		line-height: 23px;
	}
}
.input-group__subtitle {
	width: 100%;
	font-family: Nanito-Sans;
	font-size: 16px;
	line-height: 20px;
	color: #5D6066;
}
@media (max-width: 768px) {
	.input-group__subtitle {
		font-size: 15px;
		line-height: 20px;
	}
}
.input-cont {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	height: 64px;
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	background-color: #F5F5F7;
	padding: 20px 46px 0 16px;
	cursor: text;
	outline: 1px solid transparent;
	transition: outline 0.1s, background-color 0.1s, filter 0.1s;
}
.input-cont:hover {
	filter: brightness(0.98);
}
.input-cont.filled .input-cont__input + .input-cont__name {
	padding: 12px 46px 0 16px;
	font-size: 12px;
	line-height: 14px;
}
.input-cont.focus {
	outline: 1px solid #7E9AE5;
	background-color: #fff;
}
form .focus:hover {
	filter: unset;
}
.input-cont.error {
	background-color: #FDF0EE;
}
.input-cont.error.focus {
	background-color: #fff;
	outline: 1px solid #D59990;
}
.input-cont.error ~ .input-message {
	color: #A6635A;
}
.input-cont.success {
	background-color: #F2F6FF;
	background-image: url(../images/check-lblue.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 25px) center;
}
/*
@media (max-width: 768px) {
	.input-cont.success {
		background-position: 96% center;
	}
}
*/
.input-cont_textarea {
	height: unset;
	padding: 32px 24px 16px 24px;
}
.input-cont_textarea .input-cont__input {
	white-space: unset;
	overflow: unset;
	resize: vertical;
	min-height: 72px;
}
@media (max-width: 768px) {
	.input-cont_textarea .input-cont__input {
		resize: none;
	}
}
.input-cont_date {
	cursor: pointer;
	/*background-image: url(../images/calendar.svg);*/
	background-repeat: no-repeat;
	background-position: 91% center;
}
@media (max-width: 768px) {
	.input-cont_date {
		background-position: 96% center;
	}
}
.input-cont_date input[type=date] {
	color: #5A5D64;
}
.input-cont_file {
	cursor: pointer;
}
.input-cont_file .input-cont__name {
	cursor: pointer;
	pointer-events: all;
}
.input-cont_select {
	cursor: pointer;
	padding: 0;
}
.input-cont_select select {
	cursor: pointer;
	padding: 16px 0px 16px 24px;
	margin-right: 24px;
}
.input-cont__input {
	padding: 0;
	width: 100%;
	height: 100%;
	position: relative;
	outline: none;
	display: inline-flex;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	border: none;
	color: #272A33;
	font-family: Nanito-Sans;
	font-size: 16px;
	line-height: 150%;
	background: none;
	border-radius: 0;
	cursor: text;
}
.input-cont__input::placeholder {
	color: #969696;
}
.input-cont__name {
	position: absolute;
	padding: 24px 16px 0px 16px;
	font-size: 16px;
	line-height: 16px;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: 0.3s;
	color: #5A5D64;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	pointer-events: none;
	cursor: text;
}
@media (max-width: 768px) {
	.input-cont__name {
		font-size: 15px;
		line-height: 15px;
	}
}
.input-message {
	display: block;
	margin-top: 8px;
	padding: 0 16px;
	font-size: 13px;
	line-height: 17px;
	max-width: 640px;
	color: #5A5D64;
}
.check {
	display: inline-flex;
	cursor: pointer;
}
.check-cont {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 8px 0;
}
.check__text {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	user-select: none;
	margin-left: 8px;
}
.check__area {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: relative;
	user-select: none;
}
.check__area:hover input[type=checkbox]:not(:checked) ~ .check__mark, .check__area:hover input[type=radio]:not(:checked) ~ .check__mark {
	filter: brightness(0.95);
}
.check__area input[type=checkbox],
.check__area input[type=radio] {
	display: none;
}
.check__area input[type=checkbox] ~ .check__mark,
.check__area input[type=radio] ~ .check__mark {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 24px;
	width: 24px;
	background: #f1f4f8;
	transition: border 0.1s, background-color 0.1s, filter 0.1s;
}
.check__area input[type=checkbox] ~ .check__mark::after,
.check__area input[type=radio] ~ .check__mark::after {
	transition: border 0.1s, background-color 0.1s, filter 0.1s;
}
.check__area input[type=checkbox]:checked ~ .check__mark,
.check__area input[type=radio]:checked ~ .check__mark {
	background: #f1f4f8;
}
.check__area input[type=checkbox] ~ .check__mark {
	border-radius: 4px;
}
.check__area input[type=checkbox]:checked ~ .check__mark {
	background: url("../images/form-checkbox.svg") no-repeat center center #0F46DC;
	background-size: 14px;
}
.check__area input[type=radio] ~ .check__mark {
	border-radius: 100%;
}
.check__area input[type=radio]:checked ~ .check__mark {
	border: 8px solid #0F46DC;
}
.check__area input[type=radio]:checked ~ .check__mark::after {
	visibility: visible;
}