@media (max-width: 2000px) {
	.section-map {
		min-height: 1040px;
	}

	.about__map {
		top: -225px;
		left: calc(50% - 540px);
		width: 2585px;
	}
}

@media (max-width: 1850px) {
	.banner__logo img {
		max-width: 512px;
		max-height: 512px;
	}

	.banner__logo-description {
		font-size: 2rem;
	}

	.banner__card-0 {
		top: 110px;
		left: calc(50% - 660px);
	}

	.banner__card-1 {
		top: 110px;
		right: calc(50% - 660px);
	}

	.banner__card-2 {
		top: 280px;
		left: calc(50% - 676px);
	}

	.banner__card-3 {
		top: 280px;
		right: calc(50% - 676px);
	}
}

@media (max-width: 1399px) {
	.about__map {
		overflow: hidden;
		touch-action: none;
		user-select: none;
		cursor: grab;
		position: relative;
		width: 100%;
		left: unset;
		top: unset;
	}

	.about__map.is-dragging {
		cursor: grabbing;
	}

	.about__map::before,
	.about__map::after {
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: clamp(3rem, 8vw, 6.25rem);
		z-index: 3;
		pointer-events: none;
	}

	.about__map::before {
		top: 0;
		background: linear-gradient(to bottom, var(--white), transparent);
	}

	.about__map::after {
		bottom: 0;
		background: linear-gradient(to top, var(--white), transparent);
	}

	.about__map-controls {
		position: absolute;
		top: 1.5rem;
		right: 1.5rem;
		z-index: 4;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}

	.about__map-control {
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		border: 1px solid var(--red);
		border-radius: 50%;
		background: var(--white);
		color: var(--red);
		cursor: pointer;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
		transition: var(--transition);
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.about__map-control:hover {
		color: var(--white);
		background-color: var(--red);
		border-color: var(--red);
	}

	.banner__card {
		position: unset;
		width: 100%;
	}

	.banner__wrapper {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}

	.banner__logo {
		grid-column: 1 / -1;
	}

	.section-map__wrapper {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
		align-items: center;
		margin-bottom: 2rem;
	}

	.section-map__content {
		max-width: 100%;
		margin-bottom: 0;
	}

	.benefits-item__content {
		max-width: 100%;
	}

	.about__map svg .hide {
		display: block;
	}

	.section-map {
		min-height: unset;
	}

	.about__map-stage svg {
		height: 50dvh;
	}

	.header__logo {
		position: unset;
		width: 20px;
		height: 20px;
	}
}

@media (max-width: 1199px) {
	.about-cards {
		grid-template-columns: repeat(2, 1fr);
	}

	.page-head {
		min-height: 300px;
	}
}

@media (max-width: 991px) {
	.btn-mobile-menu {
		display: flex;
	}

	.header__menu {
		position: fixed;
		display: block;
		top: 58px;
		left: -335px;
		background-color: var(--red);
		width: 335px;
		overflow-y: auto;
		overflow-x: hidden;
		-webkit-transition: left .3s 0s;
		transition: left .3s 0s;
		z-index: 100;
		height: 100%;
		padding: 20px 25px 30px;
	}

	.header__menu.opened {
		left: 0;
	}

	.header__menu>ul {
		flex-direction: column;
	}

	.header__wrapper {
		justify-content: space-between;
	}

	.header__logo {
		width: 26px;
		height: 26px;
	}

	.banner__card-title {
		font-size: 1.5rem;
	}

	.banner__card-text {
		font-size: 1rem;
	}

	.benefits-item,
	.benefits,
	.benefits-list {
		gap: 1rem;
	}

	.section {
		padding: 50px 0;
	}

	.page-head {
		min-height: 200px;
		padding: 50px 0;
	}

	.benefits-item__content {
		padding: 1rem;
		border-radius: 1rem;
	}

	.rounded {
		border-radius: 1rem;
	}


	.footer__grid {
		display: grid;
		grid-template-columns: repeat(3, auto);
		gap: 1.5rem;
	}

	.footer__grid> :nth-child(1),
	.footer__grid> :nth-child(2) {
		grid-column: 1 / -1;
	}

	.footer__menu ul {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.footer__logo {
		text-align: center;
	}

	.about-advantages {
		grid-template-columns: repeat(1, 1fr);
	}

	.about-cards {
		padding: 1rem;
		border-radius: 1rem;
	}

	.benefits-item__img img {
		border-radius: 1rem;
	}

	.footer {
		padding: 50px 0;
	}

	.feedback__cols-3,
	.feedback__cols-2 {
		grid-template-columns: repeat(1, 1fr);
	}

	.form-item {
		grid-template-columns: 2fr 3fr;
	}

	.form-item.reverse {
		grid-template-columns: 3fr 2fr;
	}

	.form-item+.form-item {
		margin-top: 3rem;
	}
}

@media (min-width: 576px) and (max-width: 991px) {
	.about-advantage {
		display: flex;
		align-items: center;
	}

	.about-advantage__img {
		flex: 0 0 50%;
	}

	.about-advantage__title {
		margin-left: 48px;
		margin-top: 0;
		flex-grow: 1;
	}

	.about-advantage__title:before {
		height: 1px;
		width: 48px;
		left: -48px;
		bottom: 50%;
	}

	.about-advantage__title:after {
		left: -57px;
		bottom: calc(50% - 8px);
	}
}

@media (max-width: 767px) {
	.benefits-item {
		display: flex;
		flex-direction: column;
	}

	.benefits-item:nth-child(even) .benefits-item__content {
		order: 0;
	}

	.banner__logo-description {
		font-size: 1.5rem;
	}

	.btn {
		border-radius: 1rem;
	}

	.section-map__wrapper {
		grid-template-columns: repeat(1, 1fr);
	}

	.form-item__img {
		display: none;
	}

	.form-item,
	.form-item.reverse {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575px) {
	.footer__menu ul {
		flex-direction: column;
		align-items: center;
	}

	.footer__grid {
		grid-template-columns: repeat(1, 1fr);
		justify-content: center;
	}

	.footer__address {
		text-align: center;
	}

	.social {
		justify-content: center;
	}

	.header__menu {
		left: -100vw;
		width: 100vw;
	}

	.banner__wrapper {
		grid-template-columns: repeat(1, 1fr);
	}

	.benefits-item__title {
		margin-bottom: 0.5rem;
	}

	.about-cards {
		grid-template-columns: repeat(1, 1fr);
	}

	.form-job {
		width: auto;
		right: 1.5rem;
		left: 1.5rem;
	}

	.btn {
		font-size: 1rem;
		min-height: 3.375rem;
	}

	.banner__logo img {
		max-width: 200px;
		max-width: 200px;
	}

	.banner__logo-description {
		font-size: 1rem;
	}

	.banner__card-text {
		padding-top: 0;
	}

	.banner {
		padding-bottom: 1rem;
	}
}