/* Helpers */

.mr-4 {
	margin-right: 4px;
}

.ml-4 {
	margin-left: 4px;
}

._non-scroll {
	overflow: hidden;
}

.offices-wrap {
	display: grid;
	grid-template-columns: 368px auto;
	column-gap: 20px;
	width: 1136px;
	margin: 0 auto 20px;
}

.offices-map {
	position: relative;
}

.offices-map__close {
	position: absolute;
	right: 8px;
	top: 11px;
	cursor: pointer;
}

.sale-offices {
	border-radius: 8px;
	border: 1px solid #BFC1C7;
	padding: 16px 16px 0 16px;
	margin-bottom: 8px;
	min-height: 598px;
	overflow: hidden;
}

.sale-offices__wrap {
	max-height: 436px;
}

.offices-districts__title {
	margin-bottom: 8px;
	font-size: 20px;
	font-weight: 600;
	line-height: 28px;
}

.offices-districts__offices {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
	margin-bottom: 16px;
}

.offices-districts__offices-best,
.offices-districts__offices-furniture {
	padding: 8px 6px;
	border-radius: 4px;
	border: 1px solid #C2C6D1;
	font-size: 14px;
	line-height: normal;
	display: flex;
	align-items: center;
	cursor: pointer;
}

.offices-districts__offices-best.active,
.offices-districts__offices-furniture.active {
	border: 1px solid #008CDB;
}

.offices-districts__offices-ask {
	cursor: pointer;
}

.district:not(:last-child) {
	margin-bottom: 16px;
}

.district__title {
	font-size: 13px;
	font-weight: 600;
	line-height: 18px;
	margin-bottom: 8px;
	border-radius: 4px;
	background: #F3F4F6;
	padding: 8px;
}

.district-item {
	border-radius: 4px;
	border: 1px solid #C2C6D1;
	padding: 8px;
	cursor: pointer;
	transition: 0.3s;
}

.district-item__address {
	display: flex;
}

.district-item__address svg {
	flex: 0 0 16px;
}

.district-item__job {
	color: #919399;
	font-size: 13px;
	line-height: 18px;
}

.district-item__best {
	margin-left: auto;
}

.district-item._selected,
.district-item:hover {
	border: 1px solid #30C2FF;
}

.district-item:not(:last-child) {
	margin-bottom: 8px;
}

.online-office {
	background-image: url(../images/online-office.png);
	background-position: right;
	background-repeat: no-repeat;
	padding: 8px;
	border-radius: 8px;
	border: 1px solid #BFC1C7;
}

.online-office-block {
	margin-top: 16px;
	display: none;
}

.online-office__title {
	font-size: 17px;
	font-weight: 600;
	line-height: 32px;
}

.online-office__links a {
	color: #008CDB;
	font-size: 13px;
	line-height: 24px;
	margin-right: 8px;
}

#offices-map {
	height: 100%;
	border-radius: 8px;
	overflow: hidden;
}

.detail-office {
	padding: 16px;
	border-radius: 8px;
	border: 1px solid #BFC1C7;
	background: #FFF;
	width: 100%;
	max-width: 504px;
	position: absolute;
	left: 12px;
	bottom: 16px;
	display: none;
}

.detail-office-holiday {
	border-radius: 8px;
	border: 1px solid #BFC1C7;
	background: #FFF;
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 100%;
	max-width: 200px;
	display: none;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
}

.detail-office-holiday__wrap {
	padding: 16px 16px 0 16px;
}

.detail-office-holiday__title {
	margin-bottom: 4px;
	font-size: 13px;
	font-family: HelveticaNeueCyr-Medium;
	line-height: 16px;
}

.detail-office-holiday__item {
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 4px;
}

.detail-office-holiday__item span {
	color: #E31E24;
}

.detail-office-holiday__item b {
	font-family: HelveticaNeueCyr-Medium;
	font-weight: 550;
}

.detail-office-holiday__offset {
	margin-bottom: 16px;
}

.schedule-holiday {
	padding: 16px 12px;
	border-radius: 8px;
	border: 1px solid #E31E24;
	display: none;
	margin-top: 16px;
}

.schedule-holiday__left {
	margin-right: 5px;
	padding-right: 5px;
	border-right: 1px solid #BFC1C7;
	flex: 1;
}

.schedule-holiday__right {
	flex: 1;
}

.schedule-holiday__left.full {
	margin: 0;
	padding: 0;
	border: none;
	width: 100%;
}

.schedule-holiday__title {
	font-size: 13px;
	font-family: HelveticaNeueCyr-Medium;
	line-height: 16px;
	margin-bottom: 6px;
}

.schedule-holiday__item {
	font-size: 11px;
	line-height: 18px;
	margin-bottom: 4px;
}

.schedule-holiday__item span {
	color: #E31E24;
}

.schedule-holiday__item b {
	font-family: HelveticaNeueCyr-Medium;
	font-weight: 550;
}

.detail-office__title {
	font-size: 15px;
	font-weight: 600;
	line-height: 150%;
}

.detail-office__job {
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 18px
}

.detail-office__job span {
	color: #E31E24;
}

.detail-office__job-title {
	font-size: 13px;
	font-weight: 600;
	line-height: 20px
}

.detail-office__path-title {
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
}

.detail-office__path-item {
	font-size: 12px;
	line-height: 18px;
}

.detail-office__path-item span {
	font-weight: 600;
}

.detail-office__labels {
	display: flex;
	margin-bottom: 8px;
}

.detail-office__labels-item {
	display: flex;
	align-items: center;
	white-space: nowrap;
	font-size: 14px;
	line-height: normal;
}

.detail-office__labels-item:not(:last-child) {
	border-right: 1px solid #BFC1C7;
	margin-right: 8px;
	padding-right: 8px;
}

.detail-office__row {
	display: flex;
	margin-bottom: 16px;
}

.detail-office__row-item:first-child {
	max-width: 300px;
	width: 100%;
}

.detail-office-slider .swiper {
	margin-bottom: 8px;
	height: 180px;
}

.detail-office-slider .detail-office-slider__scrollbar.swiper-scrollbar {
	position: static;
	height: 2px;
	margin-bottom: 8px;
}

.detail-office-slider .swiper-scrollbar-drag {
	background: #008CDB;
}

.detail-office-slider__nav {
	display: flex;
}

.detail-office-slider__prev,
.detail-office-slider__next {
	cursor: pointer;
	margin-right: 16px;
	display: flex;
}

.offices-show {
	display: none;
	border-radius: 5px;
	border: 2px solid #008CDB;
	margin-bottom: 16px;
}

.offices-districts-mobile {
	display: none;
}

.offices-show__item {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	line-height: normal;
	padding: 8px;
	color: #2C2D2E;
	position: relative;
}

.offices-show__item>svg {
	margin-right: 8px;
	display: none;
	position: absolute;
	left: 8px;
}

.offices-show__item._selected {
	background: #008CDB;
	color: #fff;
}

.offices-show__item._selected>svg {
	display: block;
}

.mobile-dropdown-icon {
	display: none;
}

.detail-office__job_mobile {
	display: none;
}

.custom-select_mobile {
	display: none;
}

.ymaps-2-1-79-gototech {
	display: none;
}

.ymaps-2-1-79-copyrights-pane {
	top: 40px !important;
}

.modal-call {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
}

.modal-call__layer {
	background: rgba(42, 47, 54, 0.48);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.modal-call__wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-call__content {
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
	max-width: 384px;
	width: 100%;
	overflow: auto;
	max-height: 100vh;
	position: relative;
	margin: 16px;
	z-index: 1;
	position: relative;
}

.modal-call__title {
	border-radius: 8px 8px 0 0;
	background: #F7F7FA;
	padding: 16px;
	color: #323C47;
	text-align: center;
	font-size: 18px;
	line-height: 20px;
	margin-bottom: 16px;
}

.modal-call__subtitle {
	color: #323C47;
	text-align: center;
	font-size: 18px;
	line-height: 20px;
	margin-bottom: 16px;
}

.modal-call__schedule {
	padding-bottom: 24px;
}

.modal-call__schedule-date {
	color: #E31E24;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
}

.modal-call__schedule-time {
	margin-bottom: 8px;
	color: #323C47;
	text-align: center;
	font-size: 15px;
	line-height: 20px;
}

.modal-call__close {
	position: absolute;
	top: 8px;
	right: 8px;
	cursor: pointer;
}

@media (max-width: 1200px) {

	.offices-wrap__sidebar,
	.offices-districts,
	.district-item__job,
	.detail-office-slider__nav {
		display: none;
	}

	.sale-offices {
		min-height: auto;
		padding: 16px 0 0 0;
		border-radius: 0;
		border: none;
		margin-bottom: 0;
	}

	.offices-map {
		height: 564px;
	}

	.offices-map.full {
		height: 800px;
	}

	.mobile-dropdown-icon {
		display: block;
	}

	.offices-show,
	.schedule-holiday {
		display: flex;
	}

	.offices-districts-mobile {
		display: grid;
		margin-bottom: 0;
	}

	.sale-offices__wrap {
		max-height: none;
	}

	.offices-wrap {
		grid-template-columns: 1fr;
		width: 100%;
	}

	#offices-map {
		border-radius: 0;
	}

	.district__title {
		padding: 0;
		background: #fff;
		font-size: 14px;
		line-height: 16px;
	}

	.district-item__address .district-item__address-name {
		order: 1;
		margin-left: 4px;
	}

	.district-item__best {
		margin-left: 0;
	}

	.detail-office {
		left: 0;
		bottom: 0;
		top: auto;
		border: none;
		border-radius: 0;
		max-width: 100%;
		width: 100%;
	}

	.detail-office-slider .swiper {
		height: auto;
	}

	.offices-map .detail-office__row {
		margin: 0;
		display: block;
	}

	.offices-map .detail-office__row-item {
		margin-bottom: 8px;
	}

	.offices-map .detail-office-slider {
		display: none;
	}

	.detail-office-mobile .offices-map__close {
		display: none;
	}

	.detail-office-mobile {
		position: relative;
		padding: 0;
	}

	.detail-office__row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		margin-bottom: 8px;
		margin-top: 8px;
	}

	.detail-office__path {
		margin-bottom: 8px;
	}

	.district-item__head {
		display: flex;
		justify-content: space-between;
	}

	.district-item__head._open .mobile-dropdown-icon {
		transform: rotate(180deg);
	}

	.detail-office__job_desktop {
		display: none;
	}

	.detail-office__job_mobile {
		display: block;
	}

	.detail-office__row-item_jobs {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 24px;
		margin-top: 16px;
	}

	.offices-wrap__sidebar,
	.office-container-sticky__wrap,
	.online-container {
		width: 100%;
		max-width: 720px;
		margin: 0 auto;
	}

	.office-container-sticky {
		width: 100%;
		position: sticky;
		top: 121px;
		background: #fff;
		z-index: 1;
		box-shadow: 0px 3px 4px 0px rgba(0, 0, 0, 0.10);
		padding: 16px 0;
	}

	.online-office {
		display: none;
	}

	.online-office-block {
		display: block;
	}
}

@media (max-width: 744px) {

	.offices-wrap__sidebar,
	.office-container-sticky__wrap,
	.online-container {
		max-width: 344px;
	}

	h1 {
		margin: 0;
	}
}
