/*
	блоки форм и их элементов(select, input, textareas), их общие размеры и расположение содержимого внутри
	TODO: возможно перенести в компоненты или в блоки
*/
form .btn_container {
	display: flex;
	align-items: center;
}

.form_field {
	width: var(--column2);
}
.modal_dialog .form_field {
	width: calc((100% - var(--margin))/2);
}
.form_field.full_width {
	width: 100%;
}

.form_field .field_title {
	margin-bottom: 14px;
}

.captcha_error,
.form_field .error_text {
	display: none;
	font-family: Formular;
	font-style: normal;
	font-weight: normal;
	font-size: 12px;
	line-height: 22px;
	color: #CA2318;
}
.form_field.error .error_text {
	display: block;
}


.select_field_wrapper {
	border-bottom: 2px solid #cfd0d4;
	position: relative;
}
.select_field_wrapper:hover {
	border-color: #2A3143;
}
.bc_dark .select_field_wrapper:hover {
    border-color: #FFFFFF;
}
.select_field_wrapper.error .select2-container--default .select2-selection--single {
	border-color: #CA2318;
}
.select_field_wrapper .input_placeholder {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 11px 0;
}
.select_field_wrapper .input_placeholder .value,
.select_field_wrapper .select2-selection__rendered {
	font-style: normal;
	font-weight: bold;
	font-size: 16px;
	line-height: 22px;
	color: #2A3143;
	width: 100%;
	text-transform:lowercase;
}
.bc_dark .select_field_wrapper .input_placeholder .value {
    color: #FFFFFF;
}
.select_field_wrapper .input_placeholder .value:first-letter,
.select_field_wrapper .select2-selection__rendered::first-letter {
	text-transform: uppercase;
}
.select_field_wrapper .input_placeholder .value .count {
    color: #7f838e;
}
.select_field_wrapper .input_placeholder .btn_expand {
	background-size: 100%;
	background-repeat: no-repeat;
	height: 22px;
	width: 22px;
	content:'';
}
.select_field_wrapper .input_placeholder .btn_expand {
	background-image: url(/common/core/img/icons/plus-expand.svg);
	background-position: center;
	background-size: 100%;
}
.select_field_wrapper.expanded .input_placeholder .btn_expand {
	background-image: url(/common/core/img/icons/plus-expand.svg#expanded);
}
.bc_dark .select_field_wrapper .input_placeholder .btn_expand {
	background-image: url(/common/core/img/icons/plus-expand.svg#white);
}
.bc_dark .select_field_wrapper.expanded .input_placeholder .btn_expand {
    background-image: url(/common/core/img/icons/plus-expand.svg#white_expanded);
}
.select_field_wrapper .value_list_container {
	max-height: 0;
	width:100%;
	position: absolute;
	left: 0;
	background-color: #2A3143;
	color: white;
	overflow: hidden;
	z-index: 9999;
}
.select_field_wrapper.expanded .input_placeholder + .value_list_container  {
	max-height: 250px;
}
.select_field_wrapper .value_list_container .value_list {	
	padding: 18px 20px;
}
.select_field_wrapper .value_list_container .value_list .value_list {
    display: none;
    padding-right: 0; 
    padding-bottom: 0; 
}
.select_field_wrapper .value_list_container .value_list .value {
	font-style: normal;
	font-weight: normal;
	font-size: 16px;
	line-height: 24px;
	cursor: pointer;
}
.select_field_wrapper .value_list_container .value_list .value + .value {
	margin-top: 12px;
}
.select_field_wrapper .expand_children {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url(/common/core/img/icons/plus-expand.svg#white) no-repeat center;
    background-size: 1em;
    float: left;
}
.select_field_wrapper .expand_children.expanded {
    background: url(/common/core/img/icons/plus-expand.svg#white_expanded) no-repeat center;
}
.select_field_wrapper input[type="checkbox"] + label {
	display: flex;
    color: #7F838E;
    justify-content: space-between;
	cursor: pointer;
}
.select_field_wrapper input[type="checkbox"] + label:before {
    content: none;
}
.select_field_wrapper input[type="checkbox"] + label:after {
    content: '';
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	display: inline-block;
}
.select_field_wrapper input[type="checkbox"]:checked + label {
    color: white;
}
.select_field_wrapper input[type="checkbox"]:checked + label:after {
	background-image: url(/common/core/img/icons/ok.svg);
	background-position: center right;
	background-repeat: no-repeat;
	transition: none;
}



.radio_field_wrapper .value_list .value + .value {
	margin-top: 12px;
}





.text_field_wrapper {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: flex-end;
	border: none;
}

.text_field_wrapper input[name] {
	padding-bottom: 11px;
	width: 100%;
	border-bottom: 2px solid #D4D6D9;
}
.text_field_wrapper:hover input[name],
.text_field_wrapper input[name]:focus {
	border-color: #2A3143;
}
.text_field_wrapper.error input[name],
.captcha_field_wrapper.error input[name] {
	color: #CA2318;
	border-color: #CA2318;
}

.text_field_wrapper .input_placeholder {
	width: 100%;
}

.text_field_wrapper .input_placeholder .clear_btn {
	opacity: 0;
	width: 0;
	height: 1.5em;
	display: block;
	background: url(/common/core/img/icons/cancel.svg) no-repeat center;
	background-size: contain;
}
.text_field_wrapper.has_value .input_placeholder .clear_btn {
	opacity: 1;
	width: 1.5em;
}


.text_field_wrapper textarea[name] {
	width: 100%;
	resize: none;
	height: 48px;
	max-height: 168px;
	padding: 12px 0 11px;
	border: none;
	border-bottom: 2px solid #D4D6D9;
}
.text_field_wrapper.error textarea[name] {
	color: #CA2318;
	border-color: #CA2318;
}
.text_field_wrapper:hover textarea[name],
.text_field_wrapper textarea[name]:focus {
	border-color: #2A3143;
}


.text_field_wrapper .symbol_counter { 
	color: #7F838E;
}

@media all and (max-width: 1000px) {
	.form_field {
		width: calc(100% / 2 - var(--margin));
	}
	.modal_dialog .form_field {
		width: calc((100% - var(--margin))/2);
	}
	.form_field.full_width {
		width: 100%;
	}
}

@media all and (max-width: 750px){
	.form_field,
	.modal_dialog .form_field {
		width: 100%;
	} 
}



.agree_field_checkbox {
	display: flex;
	gap: 3px;
	flex-direction: column;
}
.agree_field_checkbox.error input[type="checkbox"] + label::before {
	border: 2px solid #CA2318;
}



.captcha_field_wrapper {
	display: flex;
	gap: var(--margin);
	width: var(--column4);
}

.captcha_field_wrapper input[name] {
	width: var(--column2);
	padding: 12px 0 11px;
	border-bottom: 2px solid #D4D6D9;
}
.captcha_field_wrapper:hover input[name],
.captcha_field_wrapper input[name]:focus {
	border-color: #2A3143;
}

.captcha_field_wrapper .captcha_image {
	max-width: var(--column2);
	width: 165px;
	height: 48px;
}

@media (max-width: 750px) {
	.form_block .form_captcha_text {
		width: 100%;
	}
}

.files_field_wrapper {
	border: none;
	display: flex;
	flex-direction: column;
	gap: 20px;
}
	.files_field_wrapper .form_file_select_block {
		background: #F8F8F8;
		padding: 34px 70px 40px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.files_field_wrapper .form_file_select_block .form_file_desc_logo {
		width: 56px;
		height: 56px;
		background: url(/common/core/img/icons/files.svg) no-repeat center;
		background-size: 100%;
	}

	.files_field_wrapper .form_file_select_block.dropable_place {
		border: 1px dashed rgba(0,0,0,0);
	}
	.dragging .files_field_wrapper .form_file_select_block.dropable_place {
		border-color: #D4D6D9;
	}
	.dragging .files_field_wrapper .form_file_select_block.dropable_place:hover,
	.dragging .files_field_wrapper .form_file_select_block.dropable_place.drag_hover {
		background: rgba(3, 166, 120, 0.06);
		border-color: rgba(3, 166, 120, 0.3);
	}

	.dragging .files_field_wrapper .form_file_select_block.dropable_place:hover .form_file_desc_logo,
	.dragging .files_field_wrapper .form_file_select_block.dropable_place.drag_hover .form_file_desc_logo {
		background-image: url(/common/core/img/icons/files.svg#rotated);
	}

	.files_field_wrapper .file_item + .file_item {
		margin-top: 5px;
	}
	.files_field_wrapper .file_item {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.files_field_wrapper .file_text {
		padding: 0 25px 0 28px;
		width: calc(100% - 54px);
	}
	.files_field_wrapper .file_text .file_title  {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.files_field_wrapper .file_description {
		color: #7F838E;
		margin-top: 1px;
	}
	.files_field_wrapper .file_loading {
		position: relative;
		background: #d4d6d9;
		width: 100%;
		height: 0;
	}
	.files_field_wrapper .loading .file_description {
		margin-top: 0;
	}
	.files_field_wrapper .loading .file_loading {
		height: 4px;
	}
	.files_field_wrapper .file_close_button {
		background-image: url(/common/core/img/icons/cancel.svg);
		background-repeat: no-repeat;
		background-size: 24px 24px;
		background-position: center;
		width: 24px;
		height: 24px;
	}

	.files_field_wrapper .add_input {
		display: none;
	}

	.files_field_wrapper .file_list {
		display: none;
	}
.select_field_wrapper .select2-container .select2-selection--single {
	height: auto;
}
.select_field_wrapper .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered {
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #2A3143;
}