@charset "UTF-8";
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.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: var(--gapX2);
  align-items: baseline;
}

.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 rgba(0, 0, 0, 0.05), 0 16px 32px rgba(0, 0, 0, 0.05);
    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 rgba(0, 0, 0, 0.2);
  }
  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;
}
