/* Loaded only by the uncached manager preview in MODAL.MENU. */
header.header--menu-preview .header-project { margin-left: auto; width: max-content; }
header.header--menu-preview .header-project__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  padding: 0 14px;
  border: 0;
  border-radius: 100px;
  background: #7437f1;
  color: #fff;
  font-family: "Exo 2", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  white-space: nowrap;
  cursor: pointer;
}
header.header--menu-preview .header-project__button:hover { background: #854cf4; }
header.header--menu-preview .header-project__button:focus-visible { outline: 2px solid #c9b8ff; outline-offset: 3px; }
@media (min-width: 64em) {
  header.header--menu-preview > .row > .header_callback_btn:is(.column,.columns) { flex: 0 0 auto; width: auto; max-width: none; }
  header.header--menu-preview > .row > .header_menu:is(.column,.columns) { flex: 1 1 0; width: auto; max-width: none; }
}
header.header > .row > .header_menu:is(.column,.columns) li.has-mega { position: static; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega {
  position: absolute;
  inset: 100% 0 auto;
  z-index: 30;
  font-family: "Exo 2", Arial, sans-serif;
}
.nav-mega[hidden], .nav-mega [hidden], #offCanvas.mnav [hidden] { display: none !important; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__panel {
  display: flex;
  align-items: stretch;
  min-height: 396px;
  max-height: calc(100dvh - 120px);
  overflow: auto;
  border-radius: 20px;
  background: #1c1a25;
  color: #fff;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col { min-width: 0; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 { flex: 0 0 350px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--2 {
  flex: 0 0 398px;
  padding-left: 48px;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--3 { flex: 1 1 0; padding-left: 48px; padding-right: 24px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col + .nav-mega__col {
  position: relative;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col + .nav-mega__col::before {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  left: 24px;
  width: 1px;
  background: url("../img/elements/menu-divider.svg") center / 1px 100% no-repeat;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
  min-height: 64px;
  padding: 24px;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 > .nav-mega__head { padding-left: 44px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__head-title {
  color: #c9b8ff;
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
  overflow-wrap: anywhere;
}
/* Reset the legacy header's flyout lists and superscript link spans. */
header.header > .row > .header_menu:is(.column,.columns) .nav-mega ul.nav-mega__list {
  position: static;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  gap: 4px;
  width: 100%;
  margin: 0;
  padding: 0 0 24px;
  list-style: none;
  background: transparent;
  box-shadow: none;
  visibility: visible;
  opacity: 1;
  transition: none;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 > ul.nav-mega__list { padding: 0 24px 24px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega li.nav-mega__item { position: static; display: block; padding: 0; margin: 0; min-width: 0; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a.nav-mega__link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  padding: 16px 20px;
  border-radius: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  text-align: left;
  text-decoration: none;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a::before { display: none; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a > span {
  position: static;
  inset: auto;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  overflow-wrap: anywhere;
}
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a > .nav-mega__title { font-size: 14px; font-weight: 400; line-height: 16px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega .nav-mega__item--l1 > a > .nav-mega__title { font-size: 16px; font-weight: 500; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a > .nav-mega__desc { color: rgba(255,255,255,.6); font-size: 14px; line-height: 16px; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega .nav-mega__item:not(.nav-mega__item--l1) > a > .nav-mega__desc { display: none; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega .is-active > a.nav-mega__link,
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a.nav-mega__link:hover { background: #34294f; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega .is-active > a > .nav-mega__title,
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a.nav-mega__link:hover > .nav-mega__title { color: #c9b8ff; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega a.nav-mega__more {
  color: #9747ff;
  font-size: 14px;
  font-weight: 400;
  line-height: 16px;
  text-align: left;
  text-decoration: none;
}
.nav-mega__more::after, .mnav__more::after { content: " >"; }
header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--3 ul.nav-mega__list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--menu-rows, 4), auto);
  grid-template-columns: repeat(var(--menu-columns, 3), minmax(0, 1fr));
  align-items: stretch;
}
.nav-mega a:focus-visible, #offCanvas.mnav :is(a,button):focus-visible { outline: 2px solid #c9b8ff; outline-offset: -2px; }
@media (min-width: 64em) {
  header.header > .row > .header_menu:is(.column,.columns):has(.has-mega) .mobile_btn_wrapper { display: none; }
}
@media (min-width: 64em) and (max-width: 93.8125em) {
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 { flex-basis: 25%; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--2 { flex-basis: 27%; padding-left: 24px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--3 { padding-left: 24px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col + .nav-mega__col::before { left: 12px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__head { padding: 24px 16px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 > .nav-mega__head { padding-left: 32px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--1 > ul.nav-mega__list { padding-inline: 12px; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega__col--3 ul.nav-mega__list { grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(var(--menu-rows-compact,6),auto); }
}
@media (max-width: 63.999em) {
  header.header > .row > .header_menu:is(.column,.columns) .has-mega { display: none !important; }
  header.header > .row > .header_menu:is(.column,.columns) .nav-mega { display: none !important; }
}

#offCanvas.mnav {
  display: flex;
  flex-direction: column;
  width: min(100vw, 480px);
  height: 100%;
  background: #222124;
  color: #fff;
  font-family: "Exo 2", Arial, sans-serif;
}
#offCanvas.mnav .mnav__top { display: flex; flex: 0 0 auto; justify-content: space-between; align-items: center; padding-left: 20px; }
#offCanvas.mnav .mnav__phone { padding: 30px 0; font-size: 22px; line-height: 29.9px; font-weight: 400; color: #fff; text-decoration: none; }
#offCanvas.mnav .mnav__close { position: relative; display: flex; align-items: center; justify-content: center; flex: 0 0 90px; height: 90px; padding: 0; cursor: pointer; }
#offCanvas.mnav .mnav__close::before { content: ""; position: absolute; width: 38px; height: 38px; border-radius: 50%; background: #34294f; }
#offCanvas.mnav .mnav__close img { position: relative; }
#offCanvas.mnav .mnav__body { flex: 0 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
#offCanvas.mnav .mnav__screen { padding: 0 20px; }
#offCanvas.mnav .mnav__list { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
#offCanvas.mnav .mnav__item { margin: 0; padding: 0; }
#offCanvas.mnav .mnav__card { display: flex; flex-direction: column; gap: 10px; min-height: 48px; padding: 16px 20px; border-radius: 10px; color: #fff; text-decoration: none; }
#offCanvas.mnav .mnav__title { color: #fff; font-size: 16px; font-weight: 500; line-height: 16px; overflow-wrap: anywhere; }
#offCanvas.mnav .mnav__desc { color: rgba(255,255,255,.6); font-size: 14px; font-weight: 400; line-height: 16px; }
#offCanvas.mnav .mnav__item--l2 > a > .mnav__title,
#offCanvas.mnav .mnav__item--l3 > a > .mnav__title { font-size: 14px; font-weight: 400; }
#offCanvas.mnav .mnav__item--l2 > a > .mnav__desc,
#offCanvas.mnav .mnav__item--l3 > a > .mnav__desc { display: none; }
#offCanvas.mnav .mnav__card:hover { background: #34294f; }
#offCanvas.mnav .mnav__card:hover .mnav__title { color: #c9b8ff; }
#offCanvas.mnav .mnav__back { display: flex; align-items: center; gap: 12px; width: 100%; padding: 24px; color: #8c8a8d; font-family: inherit; font-size: 16px; font-weight: 500; line-height: 16px; text-align: left; cursor: pointer; }
#offCanvas.mnav .mnav__more, #offCanvas.mnav .mnav__section-link { display: block; margin: 0 20px 12px; color: #9747ff; font-size: 14px; line-height: 20px; text-decoration: none; }
#offCanvas.mnav .mnav__cta { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; margin: 30px 20px 24px; padding: 16px 22px; border-radius: 10px; background: #7437f1; color: #fff; font-family: inherit; font-size: 18px; line-height: 18px; text-align: center; cursor: pointer; }
@media (max-width: 47.999em) { #offCanvas.mnav { width: 100vw; } }
/* app.js sets display:table/none inline on every off-canvas anchor. */
#offCanvas.mnav a.mnav__card { display: flex !important; }
#offCanvas.mnav a.mnav__phone { display: block !important; }
#offCanvas.mnav .mnav__screen-head { display: flex; align-items: center; gap: 12px; padding: 24px; }
#offCanvas.mnav .mnav__screen-head .mnav__back { flex: 0 0 26px; width: 26px; padding: 0; }
#offCanvas.mnav .mnav__section-title { display: block !important; color: #8c8a8d; font-size: 16px; line-height: 16px; font-weight: 500; text-decoration: none; }
