html.noScroll {
	overflow: hidden;
}

header.brand {
	--mainColor: var(--onAccentColor);
}
header.brand .logo svg, header.brand .logo svg path {
	fill: var(--mainColor) !important;
}

header a:not(.btn) {
	color: var(--mainColor);
	text-decoration: unset;
}

header a:hover {
	color: var(--accentHoverColor);
}

/* Заменил --accentColor */
header a:after {
	content: unset;
}

header {
	width: 100%;
	z-index: 999;
}

header.absolute {
	position: absolute;
}

header>div:not(.vc_row), header .vc_column_container {
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	gap: var(--gapX6);
	align-items: flex-end;
}
header>div:not(.vc_row), header .vc_column_container.logo-container {
	justify-content: unset;
	gap: var(--gapX3) var(--gapX4);
}

.logo {
	/* height: 48px; */
	flex-grow: 0;
	display: flex;
}

.logo a,
.logo :is(img,svg) {
	display: flex;
	height: 100%;
	width: auto;
}

.logo a:after,
.mobile-logo a:after {
	display: none;
}

.logo a:after {
	content: unset;
}

div.logo {
	cursor: default;
	/* Добавил, чтобы у неактивного лого был обычный курсор */
}

.logo span {
	display: flex;
	margin-top: var(--textMtopS);
	margin-bottom: var(--textMbottomS);
	font-weight: var(--titleWeight);
	letter-spacing: var(--titleXXSspacing);
	color: var(--mainColor);
}

header .region {
	display: flex;
	flex-direction: column;
	gap: var(--gapX2);
}

header .region p {
    font-size: var(--textSsize);
    margin-bottom: var(--textSbottomT);
    margin-top: var(--textStopT);
    line-height: var(--textSheightT);
}

menu ul {
	padding: unset;
}

:is(header, menu) .wrapper {
	position: relative;
}

:is(header, menu) .sub-menu {
	display: none;
	/* position: absolute; */
}

header ul#menu-sluzhebnoe {
	margin-left: 4rem;
	font-size: var(--smallSize);
	line-height: 4rem;
	gap: 2rem;
}

header .buttons {
	display: flex;
	gap: var(--gapX4);
	position: relative;
	margin-left: auto;
}

header .buttons a {
	display: flex;
}

header ul li a,
footer ul.menu li a {
	position: relative;
	transition: color ease 0.1s;
}

ul.menu,
ul.menu li {
	display: flex;
	padding: 0;
	max-width: unset;
	list-style: none;
	flex-flow: row;
}

ul.menu {
	gap: var(--gapX4);
}

:is(menu,header) ul.menu li:hover .sub-menu {
	display: block;
}

:is(menu,header) ul.menu li>.sub-menu>li {
	grid-column: span 3;
	flex-flow: column;
	gap: var(--gapX3);
	margin: 0;
}

:is(menu,header) ul.menu>li>.sub-menu>li>a {
	margin-top: var(--textMtopT);
	margin-bottom: var(--textMbottomT);
}

:is(menu,header) ul.menu li>.sub-menu>li .sub-menu {
	display: flex;
	flex-flow: column;
	gap: var(--gapX3);
}

:is(menu,header) ul.menu li>.sub-menu>li .sub-menu li {
	margin-top: var(--textStopT);
	margin-bottom: var(--textSbottomT);
}

:is(menu,header) ul.menu li:hover>.sub-menu>li .sub-menu a {
	font-size: var(--textSsize);
	line-height: var(--textSheightT);
}

ul.menu li:hover a {}

ul.menu li.current-menu-item>a {
	cursor: default;
}

ul.menu li.current-menu-item a:after {
	content: unset;
}

ul.menu li.current-menu-item a {
	color: inherit;
}

header.absolut~*:first-of-type {
	padding-top: 200px !important;
}

header ul li a:before {
	background: var(--accentColor);
	height: 1px;
	opacity: 0.66;
	content: " ";
	width: 0%;
	position: absolute;
	display: block;
	z-index: 0;
	bottom: 3px;
	transition: width ease 0.35s;
	display: none;
}

header ul li.current-menu-item a:before,
header ul li.current_page_item a:before,
header ul li:hover a:before,
header ul li.current-menu-item.menu-item-home:hover a:before,
footer ul.menu li.current-menu-item a:before,
footer ul.menu li.current_page_item a:before,
footer ul.menu li:hover a:before,
footer ul.menu li.current-menu-item.menu-item-home:hover a:before {
	width: 100%;
}

header ul li.current-menu-item.menu-item-home a:before,
footer ul.menu li.current-menu-item.menu-item-home a:before {
	width: 0%;
}

header ul li.current-menu-item.menu-item-home:hover a:before,
footer ul.menu li.current-menu-item.menu-item-home:hover a:before {
	width: 100%;
}

.breadcrumbs {
	display: flex;
}

.page-hero .breadcrumbs+.titleXL {
	margin-top: var(--gapX6);
}

.breadcrumbs span {
	display: flex;
	gap: 5px;
}

.breadcrumbs {
	--linkDefaultLinkColor: var(--mainColor);
	--linkDefaultLinkColorHover: var(--primary500);
}

.breadcrumbs a,
.breadcrumbs .breadcrumb_separator,
.breadcrumbs .breadcrumb_last {
    font-size: var(--textMsize);
    line-height: var(--textMheightT);
    letter-spacing: var(--textMspacing);
    margin-top: var(--textMtopT);
    margin-bottom: var(--textMbottomT);
    text-decoration: unset;
}

.breadcrumbs a:after {
	content: unset;
}

.breadcrumbs+h1 {
	margin-top: calc(var(--titleXLtop) + 30px);
}

.feature-card {
	background: var(--white);
	border-radius: 18px;
	padding: 6rem 6rem 3rem 4rem;
}

.small-featured-card {
	padding: 11px 16px 13px 16px;
	background: #f5f5f7;
	font-weight: 400;
}

.small-featured-card .wpb-section-tagline {
	font-weight: 400;
	font-size: 12px;
	line-height: 16px;
	margin-bottom: 8px;
	color: #000;
}

.small-featured-card h2 {
	font-weight: 500;
	font-size: 32px;
	line-height: 36px;
}

.small-featured-card p {
	font-size: 14px;
	line-height: 16px;
	margin-bottom: 0;
}

@media (max-width: 1200px) {
	header {
		gap: var(--gapX6) var(--gapX5);
		max-width: 100%;
	}

	header ul#menu-sluzhebnoe {
		margin: 0;
	}

	header .menu-osnovnoe-container {
		position: relative;
		width: 100%;
	}

	header .menu-osnovnoe-container:before,
	header .menu-osnovnoe-container:after {
		content: "";
		position: absolute;
		width: 2rem;
		height: 4rem;
		z-index: 5;
		top: 0;
	}

	header .menu-osnovnoe-container ul#menu-osnovnoe {
		width: calc(100% + 4rem);
		flex-wrap: nowrap;
		padding: 0 2rem;
		overflow-x: scroll;
		margin: 0px -2rem;
		-ms-overflow-style: none;
		/* IE and Edge */
		scrollbar-width: none;
		/* Firefox */
	}

	header .menu-osnovnoe-container ul#menu-osnovnoe::-webkit-scrollbar {
		display: none;
	}

	header .menu-osnovnoe-container:before {
		left: -2rem;
		background: linear-gradient(to right, var(--bgColor), var(--bgOpacityColor));
	}

	header .menu-osnovnoe-container:after {
		right: -2rem;
		background: linear-gradient(to left, var(--bgColor), var(--bgOpacityColor));
		width: 6rem;
	}

	header .menu-osnovnoe-container ul#menu-osnovnoe::-webkit-scrollbar {
		-webkit-appearance: none;
	}

	header .menu-osnovnoe-container ul#menu-osnovnoe li:last-child {
		padding-right: 2rem;
	}

	header .menu-osnovnoe-container ul#menu-osnovnoe li a {
		white-space: nowrap;
	}

	.wpb_link .vc_custom_1632138316472 {
		background-image: unset !important;
	}
}

@media (min-width: 768px) {

	header :is(
	.mobile-logo,
	.menu-button,
	.buttons a svg,
	.buttons a i,
	.buttons .menu-sluzhebnoe-container,
	.menu-icon) {
		display: none;
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu {
		background: var(--white);
		top: calc(100% + var(--gapX2));
		border-radius: var(--roundedS);
		padding: var(--gapX4) var(--gapX6) var(--gapX4) var(--gapX4);
		margin: 0px -16px;
		display: flex;
		row-gap: var(--gapX5);
		box-shadow: 0 8px 16px rgb(0 0 0 / 5%), 0 16px 32px rgb(0 0 0 / 5%);
		position: absolute;
		z-index: 272;
		--mainColor: var(--black);
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu:has(.menu-item-has-children) {
		/* background: red; */
		display: unset !important;
		column-count: 3;
		gap: var(--columnGap);
		left: 0;
		right: 0;
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu:has(.menu-item-has-children)>li:not(.menu-item-has-children) {
		margin-bottom: var(--gapX6);
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu:has(.menu-item-has-children)>li.menu-item-has-children {
		margin-bottom: var(--gapX6);
		break-inside: avoid-column;
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu:has(.menu-item-has-children)>li.menu-item-has-children:not(:first-child) {
		margin-top: var(--gapX6);
	}

	:is(menu,header) ul.menu>li:hover>.sub-menu:has(.menu-item-has-children)>li>a {
		/* font-weight: var(--titleWeight); */
	}

	header .buttons a {
		white-space: nowrap;
		margin-top: var(--textMtopS);
		margin-bottom: var(--textMbottomS);
	}
}

@media (max-width: 767px) {
	.menu-button {
		padding: 4px 0 4px 4px;
	}

	header .menu-sluzhebnoe-container ul#menu-sluzhebnoe li a::before {
		right: 0;
	}

	.default-bg {
		padding-top: 16rem;
		padding-bottom: 1rem !important;
		margin-bottom: 4rem;
	}

	.wpcf7-form .agreement,
	.modal-content .wpcf7-submit {
		margin-left: 0 !important;
	}

	.wpcf7 form .wpcf7-response-output {
		margin: 2rem 0 0;
	}

	header>div {
		z-index: 100;
		gap: 10px;
	}

	.wpb-image-block .wpb-image-block-text,
	.wpb-image-block .wpb-image-block-text.normal-indent {
		margin-top: 0rem !important;
	}

	.wpb-image-block p {
		font-size: var(--smallSize);
		margin-top: 0.5rem;
	}

	h3 {
		/* font-size: var(--textSize) !important; */
		/* margin-bottom: 0rem; */
	}

	.breadcrumbs+h1 {
		margin-top: calc(var(--titleXLtop) + 20px);
	}

	:is(menu,header) ul.menu li:hover>.sub-menu {
		display: flex;
		flex-flow: column;
		gap: var(--gapX3);
		padding-left: var(--gapX5);
		padding-bottom: var(--gapX3);
		padding-top: var(--gapX2);
	}

	header .menu-icon {
		position: relative;
		display: block;
		width: 30px;
		height: 28px;
		margin: 0 auto;
	}

	header .mobile-logo {
		display: block;
		width: auto;
		height: 60px;
		padding: 10px 0;
	}

	header .buttons {
		gap: var(--gapX2);
		align-self: flex-start;
	}

	header .buttons a:after {
		content: unset;
	}

	header .buttons a svg {
		display: unset;
		width: 36px;
	}

	header .buttons a i {
		font-size: 36px;
	}

	header .buttons a svg,
	header .buttons a svg * {
		fill: var(--mainColor);
	}

	header .buttons .contact,
	header .nav:not(.open) {
		display: none;
	}

	header .nav.open {
		position: absolute;
		background: #fff;
		right: calc(-1 * var(--outsideGap));
		top: 52px;
		width: 100vw;
		min-height: calc(100vh - 68px);
		min-height: calc(var(--vh, 1vh) * 100 - 64px);
		display: flex;
		flex-flow: column;
		padding: var(
		--gapX5) var(--outsideGap);
	}

	header .menu-icon .line {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 3px;
		background: var(--mainColor);
		transition: background-color 0.35s, transform 0.175s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.175s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.175s cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translateY(0) translateZ(0);
		border-radius: 0.5px;
	}

	header .menu-icon .line-1 {
		top: 3px;
	}

	header .menu-icon .line-2 {
		top: 14px;
	}

	header .menu-icon .line-3 {
		top: 25px;
	}

	header .opened .line-1 {
		-webkit-transform: translateY(10px) rotate(45deg);
		-ms-transform: translateY(10px) rotate(45deg);
		transform: translateY(10px) rotate(45deg) scale(1.2, 0.9);
	}

	header .opened .line-2 {
		opacity: 0;
	}

	header .opened .line-3 {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		-ms-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-12px) rotate(-45deg) scale(1.2, 0.9);
	}

	header .menu-sluzhebnoe-container {
		display: flex;
		background: #fff;
		color: var(--black);
		position: absolute;
		right: 0;
		top: -228px;
		border-radius: 1rem;
		padding: 1rem 0 1rem;
		opacity: 0;
		transition: opacity 0.15s ease, top 0.15s ease;
	}

	header .menu-sluzhebnoe-container.open {
		opacity: 1;
		z-index: 100;
		top: 5rem;
		box-shadow: 0px 1px 10px 1px #0003;
	}

	header .menu-sluzhebnoe-container ul#menu-sluzhebnoe {
		flex-direction: column;
		margin: 0;
		gap: 0;
		line-height: unset;
	}

	header .menu-sluzhebnoe-container ul#menu-sluzhebnoe li a {
		font-size: var(--textSize);
		line-height: var(--textLineHeight);
		padding: 1rem 4rem 1rem 2rem;
		display: block;
	}

	ul.menu,
	ul.menu li {
		flex-flow: column;
	}

}

@media (max-width: 767px) {
	header {
		padding-top: var(--gapX3);
		padding-bottom: var(--gapX4);
	}

	.logo :is(img, svg) {
		height: 36px;
		align-self: flex-end;
		width: auto;
	}

	header .open .menu {
		flex-direction: column;
		gap: var(--gapX8);
		/* padding-top: var(--gapX5); */
	}

	header li a {
		font-size: var(--titleLsize);
		line-height: var(--titleLheightT);
		margin-top: var(--titleLtopT);
		margin-bottom: var(--titleLbottomT);
		letter-spacing: var(--titleLspacing);
	}

	.logo span {
		font-size: var(--titleSsize);
		line-height: var(--titleSheightT);
		letter-spacing: var(--titleSspacing);
	}
}

@media (min-width: 768px) {
	header {
		padding-top: var(--gapX5);
		padding-bottom: var(--gapX6);
	}

	.logo :is(img, svg) {
		height: 28px;
		width: auto;
	}
}

header.sticky {
	position: sticky;
	top: 0;
}