.form .form__input {
	width: 100%;
}
.form .form__textarea {
	line-height: 1.2;
	width: 100%;
	resize: vertical;
}
.form .form__select {
	width: 100%;
}
.form__group,
.form-group {
	position: relative;
}
.form__group + .form__group {
	/*margin-top: 10px;*/
	margin-top: 5px;
}
.form-group {
	margin-bottom: 10px;
}
.form-group input {
	width: 100%;
}
.form__field {
	position: relative;
}
.form__fieldset + .form__fieldset {
	margin-top: 2px;
}
.form__label,
.form-group label {
	color: #2c2c2c;
	display: block;
	margin-bottom: 5px;
	font-size: 1.2rem;
	font-weight: 400;
}
.form-group textarea {
	width: 100%;
	resize: vertical;
}

.form.form_send {
	position: relative;
}
.form.form_send:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #fff;
	opacity: .5;
}

.form.form_gray .form__input,
.form.form_gray .form__textarea,
.form.form_gray .form__select {
	border-color: #dedede;
}
.form.form_gray .form__input:focus,
.form.form_gray .form__textarea:focus,
.form.form_gray .form__select:focus {
	border-color: #22a0ef;
}
.form input[type='email'].error,
.form input[type='search'].error,
.form input[type='text'].error,
.form input[type='password'].error,
.form input[type='tel'].error,
.form textarea.error,
.form select.error {
	border-color: #e53524 !important;
	box-shadow: none !important;
}

input::-webkit-input-placeholder {
	color: #9f9f9f;
}
input::-moz-placeholder {
	color: #9f9f9f;
}
input:-ms-input-placeholder {
	color: #9f9f9f;
}
::-webkit-input-placeholder {
	color: #9f9f9f;
}
::-moz-placeholder {
	color: #9f9f9f;
}
:-ms-input-placeholder {
	color: #9f9f9f;
}

.form_horizontal .form__label {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
	width: 160px;
	padding-right: 10px;
}
.form_horizontal .form__field {
	display: inline-block;
	vertical-align: middle;
	width: calc(100% - 165px);
}

.form__hint {
	position: absolute;
	left: 100%;
	margin-left: 5px;
	color: #fff;
	background-color: #22a0ef;
	font-size: 1.1rem;
	padding: 4px 6px;
	z-index: 1;
	top: 0;
	width: 135px;
}
.form__hint:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -3px;
	margin: auto;
	width: 0;
	height: 0;
	border-top: 3px solid transparent;
	border-right: 3px solid #22a0ef;
	border-bottom: 3px solid transparent;
}
.form__hint.is-error {
	background-color: #ed4333;
}
.form__hint.is-error:after {
	border-right: 3px solid #ed4333;
}
@media (max-width: 991px) {
    .form__hint {
        bottom: 100%;
        top: auto;
        left: 0;
        right: 0;
        margin: 0 auto 5px;
    }
    .form__hint:after {
        left: 0;
        right: 0;
        top: auto;
        bottom: -3px;
        border-top: 3px solid #22a0ef;
        border-right: 3px solid transparent;
        border-left: 3px solid transparent;
        border-bottom: 0;
    }
    .form__hint.is-error:after {
        border-right: 3px solid transparent;
        border-top: 3px solid #ed4333;
    }
}
/*=================================*/
.b_auth {
	margin-top: 10px;
	color: #2c2c2c;
}
.b_auth__wrapper {
	padding: 10px;
	background: #fff;
}
.b_auth__title {
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 10px;
}
.b_auth p {
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0 0 30px !important;
}
.b_auth_form {
	width: 500px;
	margin: 0 auto;
}
.b_auth_form__button {
	width: 100%;
}
.b_auth_form__sub {
	text-align: right;
}
.b_auth_form__link {
	font-size: 1.2rem;
	color: #1f5ead;
}

.authorization {
	padding: 0 15px 20px;
}
.form_openid {
	margin-bottom: 10px;
}

/*=================================*/
.oauth__title {
	font-size: 1.2rem;
	margin-bottom: 6px;
	color: #2c2c2c;
}
.oauth__social__link {
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: top;
	background: url(../img/icons_social.png) no-repeat;
}
.oauth__social__link + .oauth__social__link {
	margin-left: 2px;
}
.oauth__social__link.vk {
	background-position: 0 0;
}
.oauth__social__link.fb {
	background-position: -20px 0;
}
.oauth__social__link.tw {
	background-position: -40px 0;
}
.oauth__social__link.ok {
	background-position: -60px 0;
}
.oauth__social__link.mr {
	background-position: -80px 0;
}
.oauth__social__link.gp {
	background-position: -100px 0;
}
/*=================================*/
.order {
	margin-top: 10px;
}
.order__wrapper {
	padding: 10px;
	background: #fff;
}
.order .form__inner {
	/*width: 500px;*/
	/*margin: 0 auto;*/
	margin: 0 20px;
}
.order .form__inner-row + .form__inner-row {
	margin-top: 10px;
}

@media (min-width: 992px){
	.order .form__inner-row {
		display: flex;
		margin: 0 10px;
	}
	.order .form__inner-row .form__group {
		margin: 0;
		padding: 0 10px;
		flex: 1;
	}
}

.form__fieldset__title {
	font-size: 1.8rem;
	/*width: 500px;*/
	/*margin: 0 auto 10px;*/
	margin: 0 20px 10px;
	color: #2c2c2c;
}
.order_form__user .form__fieldset__title {
	width: 100%;
}
.order .form__field {
	padding-bottom: 15px;
}
.order_form__control {
	/*width: 500px;*/
	/*margin: 0 auto;*/
	margin: 0 20px;
	text-align: right;
}
.order div.error {
	font-size: 1.2rem;
	position: absolute;
	/*top: 40px;*/
	top: 30px;
	left: 0;
	color: #ed4233;
}


div#error {
	background: #f5d0d0;
	border: 1px solid #e69898;
	color: #cc3a37;
	padding: 10px;
	margin-bottom: 10px;
}
.form-informer {
	background: #cce8f5;
	border: 1px solid #a6d2e6;
	color: #35718c;
	padding: 10px;
	margin-bottom: 10px;
}
/* resp
===================================*/
@media (max-width: 767px) {
	.b_auth {
		text-align: center;
	}
	.b_auth_form {
		width: 100%;
		margin: 0;
	}
	.b_auth_form__sub {
		text-align: center;
	}
	.form__field {
		padding-bottom: 10px;
	}
	.oauth {
		padding: 20px 0 10px;
		text-align: center;
	}
	.auth_form__button {
		max-width: 300px;
	}
	.order {
		text-align: center;
	}
	.order .form__inner {
		width: 100%;
		margin: 0;
	}
	.form__fieldset__title {
		width: 100%;
		margin: 0 0 10px;
	}
	.order_form__control {
		width: 100%;
		text-align: center;
		margin: 0;
	}
	.order_form__button {
		width: 100%;
		max-width: 300px;
	}

	.form_horizontal .form__label {
		display: block;
		padding: 0;
		margin-bottom: 5px;
		vertical-align: top;
	}
	.form_horizontal .form__field {
		vertical-align: top;
		width: 100%;
	}
	.cabinet_form .form__control {
		padding: 0;
		text-align: center;
	}
}
.checkbox-item,
.checkbox {
	position: relative;
	display: flex;
	cursor: pointer;
	font-weight: 400;
}
.checkbox-item__input,
.checkbox__input{
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	width: 1px;
	height: 1px;
}

.checkbox-item__mark,
.checkbox__mark {
	position: relative;
	display: inline-block;
	vertical-align: top;
	border: 1px solid #b7bdcc;
	width: 16px;
	height: 16px;
	background: #fff;
	border-radius: 2px;
	box-shadow: none;
	transition: box-shadow 100ms linear;
}
.checkbox-item__text,
.checkbox__text{
	display: inline-block;
	vertical-align: top;
	font-size: 1.3rem;
	line-height: 16px;
	width: calc(100% - 20px);
	padding-left: 10px;
	user-select: none;
}
.checkbox-item__input:checked ~ .checkbox-item__mark,
.checkbox__input:checked ~ .checkbox__mark {
	box-shadow: inset 0 0 0 3px #fff, inset 0 0 0 8px #22a0ef !important;
}
.checkbox__input.error ~ .checkbox__mark {
	border-color: red;
}

.search_form .checkbox-item {
	padding: 7px 0;
	margin-bottom: 4px;
}

.form__row {
	display: flex;
	gap: 12px;
}
.form__row > .form__input {
	flex: 1;
	width: auto;
}
@media (max-width: 767px){
	.form__row {
		flex-wrap: wrap;
	}
	.form__row > * {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100%;
	}
}