.form{
	display: flex;
	flex-direction: row;
	padding: 3.47vw;
	gap: 5.21vw;
	border-radius: 20px;
	background: var(--blue-200);
}

.form__column{
	flex: 1 1;
	display: flex;
	flex-direction: column;
	gap: 1.74vw;
}

.form__field{
	flex: 1 1;
	display: flex;
	justify-content: space-between;
	gap: 1.74vw;
}

.form__field label{
	font-family: Montserrat, sans-serif;
	font-size: 1.25vw;
	line-height: 1.94vw;
	font-weight: 400;
	align-content: flex-start;
	padding: 1.04vw 0px;
	white-space: nowrap;
}

textarea{
	resize: vertical;
	outline: none;
}

.field__file{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.74vw;
	width: 100%;
	height: 100%;
}

.file{
	position: relative;
	flex: 1 1;
	width: 100%;
	border-radius: 8px;
	border: 1px dashed var(--brand-400);
}

.file.error{
	border: 1px dashed var(--red);
}

.file div {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.file div p{
	color: var(--black);
	text-align: center;
	font-family: Montserrat, sans-serif;
	font-size: 1.25vw;
	font-style: normal;
	font-weight: 400;
	line-height: 1.94vw;
}

.file span:nth-child(1){
	text-transform: uppercase;
}

input[type='file']{
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	cursor: pointer;
}

.file__upload{
	padding: 0 1.4vw;
	display: flex;
	align-items: center;
	gap: 1.4vw;
}

.file__upload img:nth-child(1){
	width: 2.43vw;
	height: 3.13vw;
}

.file__upload img:nth-child(3){
	width: 2.08vw;
	height: 2.08vw;
	cursor: pointer;
}

.file__data{
	flex: 1 1;
	font-family: Montserrat, sans-serif;
	font-size: 1.25vw;
	line-height: 1.94vw;
	font-style: normal;
	font-weight: 400;
}

.file__name{
	color: var(--brand);
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	max-width: 28.47vw;
}

.file__size{
	color: var(--brand-400);
}

.form__field input:not([type='file']), .form__field textarea{
	border-radius: 4px;
	padding: 1.04vw 1.39vw;
	border: 1px solid var(--input-border);
	background: var(--white);
	width: 100%;
	
	color: var(--black);
	font-family: Montserrat, sans-serif;
	font-size: 1.25vw;
	line-height: 1.94vw;
	font-style: normal;
	font-weight: 400;
}

.form__field input:not([type='file']):hover, .form__field textarea:hover{
	border: 1px solid var(--brand-400);
}

.form__field input:not([type='file']):active, 
.form__field textarea:active, 
.form__field input:not([type='file']):focus, 
.form__field textarea:focus{
	border: 2px solid var(--brand);
}

.form__field input:not([type='file']):disabled, .form__field textarea:disabled{
	border: 1px solid var(--input-border);
	opacity: 0.5;
	background: var(--blue-200);
}

.form__field input:not([type='file']).error, .form__field textarea.error{
	border: 2px solid var(--red);
}

.box__input, .box__input_file{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.69vw;
	width: 100%;
}

.box__input_file{
	height: 100%;
}

.error__message{
	display: none;
	color: var(--red);
	font-family: Montserrat, sans-serif;
	font-size: 1.25vw;
  line-height: 1.94vw;
	font-style: normal;
	font-weight: 400;
}

.error__message_display{
	display: block;
}

@media (max-width: 992px) {
	.form{
		padding: 5.05vw;
		gap: 5.05vw;
	}
	
	.form__column, .form__field{
		gap: 2.52vw;
	}
	
	.form__field label{
		font-size: 1.82vw;
		line-height: 2.83vw;
		padding: 1.51vw 0px;
	}
	
	.field__file{
		gap: 2.52vw;
	}
	
	.file div p{
		font-size: 1.82vw;
		line-height: 2.83vw;
	}
	
	.file__upload{
		padding: 0 2.02vw;
		gap: 2.02vw;
	}
	
	.file__upload img:nth-child(1){
		width: 3.53vw;
		height: 4.54vw;
	}
	
	.file__upload img:nth-child(3){
		width: 3.03vw;
		height: 3.03vw;
	}
	
	.file__data{
		font-size: 1.82vw;
		line-height: 2.83vw;
	}

	.file__name{
		max-width: 22.4vw;
	}

	.form__field input:not([type='file']), .form__field textarea{
		padding: 1.51vw 2.02vw;

		font-size: 1.82vw;
		line-height: 2.83vw;
	}

	.box__input, .box__input_file{
		gap: 1vw;
	}

	.error__message{
		font-size: 1.82vw;
    line-height: 2.83vw;
	}
}

@media (max-width: 641px) {
	.form{
		flex-direction: column;
		padding: 6.67vw 5.33vw;
		gap: 6.67vw;
	}
	
	.form__column{
		gap: 4vw;
	}
	
	.form__field{
		flex-direction: column;
		gap: 1.33vw;
	}
	
	.form__field label{
		font-size: 4.27vw;
		line-height: 6.4vw;
		padding: 0;
	}
	
	.field__file{
		gap: 2.67vw;
	}
	
	.file{
		padding: 6.67vw 0;
	}
	
	.file div p{
		font-size: 4.27vw;
		line-height: 6.4vw;
	}
	
	.file__upload{
		padding: 2.67vw 4vw;
		gap: 2.67vw;
	}
	
	.file__upload img:nth-child(1){
		width: 6.67vw;
		height: 8.53vw;
	}
	
	.file__upload img:nth-child(3){
		width: 8vw;
		height: 8vw;
	}
	
	.file__data{
		font-size: 4.27vw;
		line-height: 6.4vw;
	}
	
	.file__name{
		max-width: 52.8vw;
	}

	.form__field input:not([type='file']), .form__field textarea{
		padding: 2.67vw 4vw;
	
		font-size: 4.27vw;
		line-height: 6.4vw;
	}

	.box__input, .box__input_file{
		gap: 1.33vw;
	}

	.error__message{
		font-size: 4.27vw;
    line-height: 6.4vw;
	}
}