/* Contact. */

.contact .bone._small {
	--bone_w: 1200px;	
}

.contact_title {
	font-size: 20px;
	font-weight: 700;
}

.contact_block {
	display: grid;
	grid-gap: 20px;
}

.contact_block:not(:first-child) {
	margin-top: 44px;
}

.contact_caption {
	font-size: 24px;
	font-weight: 700;
}

.contact_caption._small {
	margin-top: 10px;
	font-size: 19px;
}

.contact_phone {

}

.contact_time span {
	color: #666;
}

.contact_mail {
	color: var(--primary);
	font-size: 19px;
	font-weight: 500;
}

.contact_desc {
	margin-top: 10px;
	color: #505759;
}

.contact_map {
	overflow: hidden;

	margin: 36px 0 52px;
	border-radius: 20px;
}

.contact_form {
	margin-top: 52px;
}

.contact_form .hint {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 28px;
}

.contact_form form {
	width: 100% !important;	
}

.contact_form .form {
	display: grid;
	grid-gap: 32px;

	width: 100% !important;
}

.contact_form .element-row {
	position: relative;
}

.contact_form label {
	position: absolute;
	top: 100%;
	left: 22px;

	padding: 0 8px;
	color: #999;
	font-size: 15px;
	background-color: var(--bg);

	transform: translate3d(0, -50%, 0px);
}

.contact_form input,
.contact_form textarea {
	width: 100%;
	min-height: 70px;
	padding: 0 30px;
	border: 1px solid #D1D1D1;
	border-radius: 16px;

	transition: border-color .43s;
}

.contact_form input:hover,
.contact_form input:focus,
.contact_form textarea:hover,
.contact_form textarea:focus {
	border-color: #000;
}

.contact_form textarea {
	padding-top: 16px;
	height: 180px;
}

.contact_form input::placeholder {
	color: #CCC;
}

.contact_form input.error,
.contact_form textarea.error {
	border-color: #F4A499 !important;
}

.contact_form span.error {
	--size: 16px;

	position: absolute;
	top: calc(50% - var(--size) / 2);
	right: 24px;

	width: var(--size);
	height: var(--size);
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.8396 1.19043L8.71899 10.8853H7.16968L7.03979 1.19043H8.8396ZM6.98413 13.8354C6.98413 13.5571 7.06763 13.3221 7.23462 13.1304C7.4078 12.9386 7.66138 12.8428 7.99536 12.8428C8.32316 12.8428 8.57365 12.9386 8.74683 13.1304C8.92619 13.3221 9.01587 13.5571 9.01587 13.8354C9.01587 14.1014 8.92619 14.3302 8.74683 14.522C8.57365 14.7137 8.32316 14.8096 7.99536 14.8096C7.66138 14.8096 7.4078 14.7137 7.23462 14.522C7.06763 14.3302 6.98413 14.1014 6.98413 13.8354Z' fill='%23E31B00'/%3E%3C/svg%3E%0A");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	font-size: 0;
}

.contact_form button {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 60px;
	color: #fff;
	font-size: 17px;
	font-weight: 500;
	border-radius: 40px;
	background-color: var(--primary);
	cursor: pointer;

	transition: box-shadow .43s;
}

.contact_form button:hover {
	box-shadow: 0 0 32px var(--primary);
}
/* Contact. */

@media only screen and (max-width: 600px) {

	/* Contact. */

	.contact_title {
		font-size: 24px;
	}

	.contact_caption {
		font-size: 19px;
	}

	.contact_caption._small {
		margin-top: 10px;
		font-size: 17px;
	}

	.contact_form input,
	.contact_form textarea {
		min-height: 52px;
		border-radius: 8px;
	}

	.contact_form button {
		height: 40px;
	}

	.contact_form,
	.contact_block:not(:first-child) {
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #eee;
	}

	.contact_title + .contact_block {
		margin-top: 40px;
		padding-top: 0;
		border-top: 0 none;
	}

	.contact_map {
		margin-left: calc(var(--bone_size) * -1);
		margin-right: calc(var(--bone_size) * -1);
		border-radius: 0;
	}

	/* Contact. */

}