/**
 * Страница «Контакты» — Figma node 2058:29582.
 */

 .page-content--contacts .contacts-page__container {
	--color-white: #ffffff;
	--color-light-grey: #f7f7f7;
	--color-grey: #e5e5e5;
	--color-dark: #030a09;
	--color-muted: #8d989c;
	--color-green: #22a138;
	--font-montserrat: 'Montserrat', sans-serif;
	--container: 1394px;
	--commercial-width: 457px;
	--commercial-height: 651px;
	--departments-width: 926px;
	--departments-height: 651px;
	--dept-card-width: 224px;
	--dept-card-wide-width: 458px;
	--dept-card-height: 210px;
	--grid-gap: 10px;
	--main-gap: 9px;
	--other-card-wide: 458px;
	--other-card-narrow: 224px;
	--other-dev-height: 167px;
}

.page-content--contacts,
.page-content--contacts *,
.page-content--contacts *::before,
.page-content--contacts *::after {
	box-sizing: border-box;
}

.page-content--contacts .contacts-page {
	font-family: var(--font-montserrat);
	font-size: 16px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--color-dark);
}

.page-content--contacts .contacts-page__container {
	width: 100%;
	max-width: var(--container);
	margin: 162px auto 0;
	padding: 0;
}

.page-content--contacts .contacts-page__title {
	margin: 0 0 31px;
	font-size: 44px;
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--color-dark);
}

.page-content--contacts .contacts-page__main {
	display: grid;
	grid-template-columns: var(--commercial-width) var(--departments-width);
	gap: var(--main-gap);
	align-items: start;
}

.page-content--contacts .contacts-page__commercial {
	width: var(--commercial-width);
	height: var(--commercial-height);
	min-width: 0;
}

.page-content--contacts .contacts-page__commercial-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	gap: 30px;
	padding: 20px 30px 30px;
	border-radius: 20px;
	background: var(--color-light-grey);
}

.page-content--contacts .contacts-page__commercial-title {
	align-self: stretch;
	margin: 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--color-dark);
}

.page-content--contacts .contacts-page__offices {
	display: flex;
	flex-direction: column;
	align-self: stretch;
	gap: 20px;
	max-width: 350px;
}

.page-content--contacts .contacts-page__office {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.page-content--contacts .contacts-page__office-pin {
	flex: 0 0 19px;
	width: 19px;
	height: 30px;
	color: var(--color-green);
}

.page-content--contacts .contacts-page__office-pin svg {
	display: block;
	width: 19px;
	height: 30px;
}

.page-content--contacts .contacts-page__office-body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 358px;
	max-width: 100%;
}

.page-content--contacts .contacts-page__office-address {
	margin: 0;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--color-dark);
	overflow-wrap: anywhere;
}

.page-content--contacts .contacts-page__office-contacts {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.page-content--contacts .contacts-page__office-divider {
	width: 100%;
	height: 1px;
	background: var(--color-grey);
}

.page-content--contacts .contacts-page__contact-line {
	display: block;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--color-dark);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.page-content--contacts .contacts-page__commercial-card a[href^="mailto:"] {
	font-size: 15px;
	font-weight: 400;
	color: var(--color-dark);
}

.page-content--contacts .contacts-page__contact-line--green {
	color: var(--color-green);
}

@media (hover: hover) {
	.page-content--contacts .contacts-page__commercial-card a.contacts-page__contact-line:not(.contacts-page__contact-line--green):not([href^="mailto:"]):hover,
	.page-content--contacts .contacts-page__commercial-card a.contacts-page__contact-line:not(.contacts-page__contact-line--green):not([href^="mailto:"]):focus-visible {
		color: var(--color-green);
	}

	.page-content--contacts .contacts-page__commercial-card a[href^="mailto:"]:hover,
	.page-content--contacts .contacts-page__commercial-card a[href^="mailto:"]:focus-visible {
		color: var(--color-green);
		font-weight: 400;
	}

	.page-content--contacts .contacts-page__contact-line--green:hover,
	.page-content--contacts .contacts-page__contact-line--green:focus-visible {
		opacity: 0.85;
	}
}

.page-content--contacts .contacts-page__map-link {
	display: block;
	width: 340px;
	max-width: 100%;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--color-green);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: opacity 0.2s ease;
}

@media (hover: hover) {
	.page-content--contacts .contacts-page__map-link:hover,
	.page-content--contacts .contacts-page__map-link:focus-visible {
		opacity: 0.85;
		text-decoration: underline;
	}
}

.page-content--contacts .contacts-page__departments {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: var(--dept-card-height);
	grid-auto-flow: dense;
	gap: var(--grid-gap);
	width: var(--departments-width);
	height: var(--departments-height);
	min-width: 0;
}

.page-content--contacts .contacts-page__dept-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 0;
	min-width: 0;
	height: 100%;
	padding: 20px;
	border: 1px solid var(--color-grey);
	border-radius: 20px;
	background: var(--color-white);
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.page-content--contacts .contacts-page__dept-card--wide {
	grid-column: span 2;
}

.page-content--contacts .contacts-page__dept-title {
	margin: 0;
	min-width: 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
	overflow-wrap: normal;
	word-break: normal;
}

.page-content--contacts a.contacts-page__dept-line[href^="mailto:"] {
	white-space: nowrap;
}

.page-content--contacts .contacts-page__dept-line__part--mob {
	display: none;
}

.page-content--contacts .contacts-page__dept-contacts {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	margin-top: auto;
	flex-shrink: 0;
}

.page-content--contacts .contacts-page__dept-line {
	display: block;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	color: inherit;
	text-decoration: none;
	overflow-wrap: break-word;
}

@media (hover: hover) {
	.page-content--contacts .contacts-page__dept-card:hover,
	.page-content--contacts .contacts-page__dept-card:focus-within {
		border-color: var(--color-green);
		background: var(--color-green);
		color: var(--color-white);
	}

	.page-content--contacts .contacts-page__dept-card:hover .contacts-page__dept-line,
	.page-content--contacts .contacts-page__dept-card:focus-within .contacts-page__dept-line {
		color: var(--color-white);
	}

	.page-content--contacts .contacts-page__dept-card:hover a.contacts-page__dept-line:hover,
	.page-content--contacts .contacts-page__dept-card:hover a.contacts-page__dept-line:focus-visible,
	.page-content--contacts .contacts-page__dept-card:focus-within a.contacts-page__dept-line:focus-visible {
		font-weight: 500;
	}
}

.page-content--contacts .contacts-page__other {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	margin-top: 156px;
}

.page-content--contacts .contacts-page__subtitle {
	margin: 0 0 31px;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--color-dark);
}

.page-content--contacts .contacts-page__other-rows {
	width: 100%;
	max-width: var(--container);
}

.page-content--contacts .contacts-page__other-row {
	display: grid;
	gap: var(--grid-gap);
	align-items: stretch;
}

.page-content--contacts .contacts-page__other-row--leaders {
	grid-template-columns: repeat(3, var(--other-card-wide));
}

.page-content--contacts .contacts-page__other-row--bottom {
	grid-template-columns: var(--other-card-wide) var(--other-card-narrow) var(--other-card-narrow) var(--other-card-wide);
}

.page-content--contacts .contacts-page__other-row + .contacts-page__other-row {
	margin-top: var(--grid-gap);
}

.page-content--contacts .contacts-page__other-card.is-hidden {
	display: none;
}

.page-content--contacts .contacts-page__other-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	align-self: center;
	margin: 20px auto 0;
	padding: 0;
	border: 0;
	background: none;
	font-family: var(--font-montserrat);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--color-dark);
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.page-content--contacts .contacts-page__other-toggle-icon {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
	color: var(--color-dark);
	transition: transform 0.2s ease;
}

.page-content--contacts .contacts-page__other-toggle-icon svg {
	display: block;
	width: 7px;
	height: 6px;
}

.page-content--contacts .contacts-page__other--expanded .contacts-page__other-toggle-icon {
	transform: rotate(180deg);
}

.page-content--contacts .contacts-page__other-toggle[hidden] {
	display: none;
}

@media (hover: hover) {
	.page-content--contacts .contacts-page__other-toggle:hover,
	.page-content--contacts .contacts-page__other-toggle:focus-visible {
		opacity: 0.85;
	}
}

.page-content--contacts .contacts-page__other-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 0;
	height: var(--other-dev-height);
	padding: 20px;
	border: 1px solid var(--color-grey);
	border-radius: 20px;
	background: var(--color-white);
	color: var(--color-dark);
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.page-content--contacts .contacts-page__other-card--person,
.page-content--contacts .contacts-page__other-card--department,
.page-content--contacts .contacts-page__other-card--development {
	gap: 12px;
}

.page-content--contacts .contacts-page__other-card-head {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.page-content--contacts .contacts-page__other-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	gap: 20px;
	min-width: 0;
	min-height: 0;
}

.page-content--contacts .contacts-page__other-card-title {
	margin: 0;
	min-width: 0;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.35;
	color: inherit;
	overflow-wrap: anywhere;
}

.page-content--contacts .contacts-page__other-card-name {
	margin: 0;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: inherit;
	overflow-wrap: anywhere;
}

.page-content--contacts .contacts-page__other-card-text {
	margin: 0;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--color-muted);
	overflow-wrap: anywhere;
}

.page-content--contacts .contacts-page__other-card-email {
	display: block;
	min-width: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.45;
	color: inherit;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.page-content--contacts .nh-section--aboutus-form .cont-about {
	max-width: var(--container);
	padding-left: 0;
	padding-right: 0;
}

.page-content--contacts .nh-section--aboutus-form .aboutus__form {
	margin-top: 180px;
	margin-bottom: 180px;
	min-height: 430px;
}

.page-content--contacts .aboutus__form-text p {
	font-size: 20px;
	line-height: 1.35;
}

.page-content--contacts .contacts-page__form-title--mob,
.page-content--contacts .contacts-page__form-text--mob {
	display: none;
}

@media only screen and (max-width: 1399px) {
	.page-content--contacts .contacts-page__container {
		padding-left: 40px;
		padding-right: 40px;
	}

	.page-content--contacts .contacts-page__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.page-content--contacts .contacts-page__commercial {
		width: 100%;
		height: auto;
	}

	.page-content--contacts .contacts-page__commercial-card {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	.page-content--contacts .contacts-page__departments {
		width: 100%;
		height: auto;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: minmax(var(--dept-card-height), auto);
	}

	.page-content--contacts .contacts-page__dept-card--wide {
		grid-column: span 2;
	}

	.page-content--contacts .contacts-page__other-row--leaders {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-content--contacts .contacts-page__other-row--leaders .contacts-page__other-card--third:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.page-content--contacts .contacts-page__other-row--bottom {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-content--contacts .contacts-page__other-row--bottom .contacts-page__other-card--wide {
		grid-column: span 2;
	}
}

@media only screen and (max-width: 767px) {
	.page-content.page-content--contacts {
		padding-left: 0;
		padding-right: 0;
		box-sizing: border-box;
	}

	.page-content--contacts .contacts-page__container {
		margin-top: 132px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.page-content--contacts .contacts-page__title {
		margin-bottom: 20px;
		font-size: 24px;
		line-height: 1.15;
	}

	.page-content--contacts .contacts-page__main {
		display: flex;
		flex-direction: column;
		gap: 40px;
	}

	.page-content--contacts .contacts-page__commercial,
	.page-content--contacts .contacts-page__departments {
		width: 100%;
		height: auto;
	}

	.page-content--contacts .contacts-page__commercial-card {
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		height: auto;
		padding: 20px;
		gap: 20px;
	}

	.page-content--contacts .contacts-page__commercial-title {
		font-size: 20px;
		line-height: 1.35;
	}

	.page-content--contacts .contacts-page__offices {
		gap: 16px;
	}

	.page-content--contacts .contacts-page__office-body {
		width: 100%;
	}

	.page-content--contacts .contacts-page__contact-line {
		color: var(--color-green);
	}

	.page-content--contacts .contacts-page__contact-line--green {
		color: var(--color-green);
	}

	.page-content--contacts .contacts-page__map-link {
		width: 100%;
	}

	.page-content--contacts .contacts-page__departments {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.page-content--contacts .contacts-page__dept-card {
		width: 100%;
		height: auto;
		min-height: 0;
		gap: 30px;
	}

	.page-content--contacts .contacts-page__dept-title {
		font-size: 20px;
	}

	.page-content--contacts .contacts-page__departments a.contacts-page__dept-line {
		color: var(--color-green);
		white-space: nowrap;
	}

	.page-content--contacts .contacts-page__dept-line__part--desk {
		display: none;
	}

	.page-content--contacts .contacts-page__dept-line__part--mob {
		display: inline;
	}

	.page-content--contacts .contacts-page__dept-line--email-split-desk {
		display: none;
	}

	.page-content--contacts .contacts-page__other-card-email {
		color: var(--color-green);
	}

	.page-content--contacts .contacts-page__other {
		margin-top: 80px;
	}

	.page-content--contacts .contacts-page__subtitle {
		margin-bottom: 20px;
		font-size: 20px;
		line-height: 1.15;
	}

	.page-content--contacts .contacts-page__other-row,
	.page-content--contacts .contacts-page__other-rows {
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.page-content--contacts .contacts-page__other-row + .contacts-page__other-row {
		margin-top: 0;
	}

	.page-content--contacts .contacts-page__other-card {
		width: 100%;
		height: auto;
		min-height: 0;
		gap: 20px;
	}

	.page-content--contacts .contacts-page__other-card--development {
		gap: 12px;
	}

	.page-content--contacts .contacts-page__other-card-title {
		font-size: 20px;
	}

	.page-content--contacts .contacts-page__other-card-name {
		font-size: 15px;
		line-height: 1.45;
		color: var(--color-dark);
	}

	.page-content--contacts .contacts-page__form-title--desk,
	.page-content--contacts .contacts-page__form-text--desk {
		display: none;
	}

	.page-content--contacts .contacts-page__form-title--mob,
	.page-content--contacts .contacts-page__form-text--mob {
		display: block;
	}

	.page-content--contacts .nh-section--aboutus-form .cont-about {
		padding-left: 0;
		padding-right: 0;
	}

	.page-content--contacts .nh-section--aboutus-form .aboutus__form {
		margin-top: 80px;
		margin-bottom: 60px;
		min-height: 0;
	}

	.page-content--contacts .aboutus__form-text p {
		font-size: 16px;
		line-height: 1.45;
	}
}

@media (hover: hover) {
	.page-content--contacts .contacts-page__other-card:hover,
	.page-content--contacts .contacts-page__other-card:focus-within {
		border-color: var(--color-green);
		background: var(--color-green);
		color: var(--color-white);
	}

	.page-content--contacts .contacts-page__other-card:hover .contacts-page__other-card-text,
	.page-content--contacts .contacts-page__other-card:focus-within .contacts-page__other-card-text {
		color: var(--color-white);
	}

	.page-content--contacts .contacts-page__other-card:hover .contacts-page__other-card-email:hover,
	.page-content--contacts .contacts-page__other-card:hover .contacts-page__other-card-email:focus-visible,
	.page-content--contacts .contacts-page__other-card:focus-within .contacts-page__other-card-email:focus-visible {
		font-weight: 500;
	}
}