/* FEA Header Top v2.15 */
/* Брендовые цвета KPI */
:root{
  --kpi-blue:#1C396E;        /* полоса навигации 1-го уровня */
  --kpi-deep:#004F7F;        /* hover/active и цвет текста подменю */
  --white:#ffffff;
  --black:#000000;
}

/* ===== Верхняя полоска шапки (НЕ навигация) ===== */
.fea-header{ background: var(--kpi-blue); color: var(--white); }
.fea-header__top{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
  gap:16px; padding:10px 20px;
}
.fea-header__logo img{ max-height:125px; height:auto; width:auto; display:block; }
.fea-header__title{ text-align:center; line-height:1.2; }
.fea-header__title .line-1{ font-weight:700; font-size:clamp(18px,2.2vw,28px); }
.fea-header__title .line-2{ font-weight:400; font-size:clamp(14px,1.6vw,20px); opacity:.95; }
.fea-header__social a{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; color:#fff; border:1px solid rgba(255,255,255,.3); text-decoration:none; margin-left:8px; }
.fea-header__social a:hover{ border-color:#fff; }
.fea-header__social a img{ width:20px; height:20px; display:block; }

/* ===================================================================== */
/* =========================  НАВИГАЦИОННОЕ МЕНЮ  ======================= */
/* ===================================================================== */
.fea-header__menu{ position:relative; z-index:1200; overflow:visible; border-top:1px solid rgba(255,255,255,.2); background: var(--kpi-blue); }

/* Верхний список (варианты Barrio) */
.fea-header__menu > nav > ul.menu,
.fea-header__menu > ul.menu,
.fea-header__menu .navbar-nav{
  display:flex; flex-wrap:wrap; gap:0; padding:0; margin:0; list-style:none;
  background: var(--kpi-blue);
  justify-content:center; /* центрируем пункты меню */
  width:100%;            /* чтобы центрирование работало корректно */
}

/* Иногда Bootstrap/Barrio добавляет авто-отступы — сбрасываем безопасно. */
.fea-header__menu .navbar-nav{ margin-left:0 !important; margin-right:0 !important; }

/* ===== 1 УРОВЕНЬ ===== */
.fea-header__menu > nav > ul.menu > li,
.fea-header__menu > ul.menu > li,
.fea-header__menu .navbar-nav > li{ position:relative; margin:0; }

.fea-header__menu > nav > ul.menu > li > a,
.fea-header__menu > ul.menu > li > a,
.fea-header__menu .navbar-nav > li > a{
  display:block; padding:12px 16px; width:100%;
  background: var(--kpi-blue) !important;
  color:#fff !important; text-decoration:none !important;
  box-shadow:none !important; outline:none !important;
}
.fea-header__menu > nav > ul.menu > li > a:hover,
.fea-header__menu > ul.menu > li > a:hover,
.fea-header__menu .navbar-nav > li > a:hover,
.fea-header__menu > nav > ul.menu > li.is-active > a,
.fea-header__menu > ul.menu > li.is-active > a,
.fea-header__menu .navbar-nav > li.is-active > a{
  background: var(--kpi-deep) !important; color:#fff !important;
}

/* ===== 2 И 3 УРОВНИ ===== */
/* Контейнер выпадашек */
.fea-header__menu ul ul,
.fea-header__menu .dropdown-menu{
  display:none; position:absolute; top:100%; left:0; min-width:280px;
  background:#fff !important;
  border:0 !important; padding:0 !important; margin:0 !important; box-shadow:none !important;
  list-style:none; z-index:3600; overflow:visible !important; visibility:visible !important; opacity:1 !important;
}

/* Показываем на любом уровне */
.fea-header__menu li:hover > ul,
.fea-header__menu li:hover > .menu,
.fea-header__menu li:hover > .dropdown-menu,
.fea-header__menu li:focus-within > ul,
.fea-header__menu li:focus-within > .menu,
.fea-header__menu li:focus-within > .dropdown-menu,
.fea-header__menu ul ul:hover,
.fea-header__menu .dropdown-menu:hover{
  display:block !important; opacity:1 !important; visibility:visible !important; pointer-events:auto !important;
}

/* 3-й уровень — вправо; .open-left — влево */
.fea-header__menu ul ul > li{ position:relative; }
.fea-header__menu ul ul > li > ul,
.fea-header__menu ul ul > li > .menu,
.fea-header__menu .dropdown-menu .dropdown-menu{
  position:absolute !important; top:0; left:100% !important;
  min-width:260px; z-index:4600;
  margin:0 !important; padding:0 !important; border:0 !important;
  background:#fff !important; overflow:visible !important;
}
.fea-header__menu ul ul > li > ul.open-left,
.fea-header__menu ul ul > li > .menu.open-left,
.fea-header__menu .dropdown-menu .dropdown-menu.open-left{
  left:auto !important; right:100% !important;
}

/* Полное гашение «внутренних боксов» */
.fea-header__menu ul ul > li,
.fea-header__menu .dropdown-menu > li,
.fea-header__menu ul ul *::before,
.fea-header__menu ul ul *::after{
  background:transparent !important; border:0 !important; box-shadow:none !important; content:none !important;
}

/* ===== ПУНКТЫ ПОДМЕНЮ (2–3 УРОВЕНЬ) ===== */
/* БАЗОВОЕ (НЕАКТИВНОЕ): белый фон, синий текст; линия снизу; компактные отступы */
.fea-header__menu ul ul a,
.fea-header__menu .dropdown-menu a,
.fea-header__menu .dropdown-menu .dropdown-item{
  position:relative; display:block; width:100%;
  padding:4px 14px !important; margin:0 !important;
  background:#fff !important; color: var(--kpi-deep) !important;
  text-decoration:none !important; line-height:1.22;
  border:0 !important; border-bottom:1px solid var(--black) !important;
  box-shadow:none !important; outline:none !important; box-sizing:border-box; white-space:normal;
}
/* вложенные узлы не рисуют подложек/подчёркиваний и наследуют синий */
.fea-header__menu ul ul a *,
.fea-header__menu .dropdown-menu .dropdown-item *,
.fea-header__menu .dropdown-menu a *{
  color: var(--kpi-deep) !important;
  background:transparent !important; border:0 !important;
  text-decoration:none !important; box-shadow:none !important;
}

/* Активность 2-го уровня должна сохраняться при раскрытии 3-го */
.fea-header__menu ul ul > li:hover > a,
.fea-header__menu ul ul > li:focus-within > a,
.fea-header__menu .dropdown-menu > li:hover > a,
.fea-header__menu .dropdown-menu > li:focus-within > a{
  background: var(--kpi-deep) !important;
  color:#fff !important;
}

/* Последний без разделителя */
.fea-header__menu ul ul li:last-child > a,
.fea-header__menu .dropdown-menu li:last-child > a,
.fea-header__menu .dropdown-menu .dropdown-item:last-child{
  border-bottom:none !important;
}

/* ===== ДОП. ПРИЦЕЛЬНО ДЛЯ 3-ГО УРОВНЯ ===== */
/* Базовое (неактивное) — белый фон, синий текст; НЕТ подчёркиваний/внутренних боксов */
.fea-header__menu ul ul ul a,
.fea-header__menu .dropdown-menu .dropdown-menu a,
.fea-header__menu .dropdown-menu .dropdown-menu .dropdown-item{
  display:block !important; width:100% !important;
  padding:4px 14px !important; margin:0 !important;
  background:#fff !important; color: var(--kpi-deep) !important;
  border-bottom:1px solid var(--black) !important;
  text-decoration:none !important; outline:none !important; box-shadow:none !important;
}
.fea-header__menu ul ul ul a *,
.fea-header__menu .dropdown-menu .dropdown-menu a *,
.fea-header__menu .dropdown-menu .dropdown-menu .dropdown-item *{
  color: var(--kpi-deep) !important; background:transparent !important; border:0 !important; text-decoration:none !important; box-shadow:none !important;
}

/* Убираем любые «подчёркивания»/линии у внутренних узлов 3-го уровня */
.fea-header__menu ul ul ul li,
.fea-header__menu ul ul ul li *{
  text-decoration:none !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background-image:none !important;
}

/* Hover/Active для всех уровней */
.fea-header__menu ul ul a:hover,
.fea-header__menu .dropdown-menu a:hover,
.fea-header__menu .dropdown-menu .dropdown-item:hover,
.fea-header__menu ul ul li.is-active > a,
.fea-header__menu .dropdown-menu li.is-active > a,
.fea-header__menu .dropdown-item.active,
.fea-header__menu .dropdown-item:active{
  background: var(--kpi-deep) !important; color:#fff !important;
}
.fea-header__menu ul ul ul a:hover,
.fea-header__menu .dropdown-menu .dropdown-menu a:hover{
  background: var(--kpi-deep) !important; color:#fff !important;
}
.fea-header__menu ul ul ul a:hover *,.fea-header__menu .dropdown-menu .dropdown-menu a:hover *{
  color:#fff !important; background:transparent !important;
}

/* На всякий случай: убрать divider'ы Bootstrap */
.fea-header__menu .dropdown-divider{ display:none !important; }

/* Общие ссылки */
a{ text-decoration:none; color:inherit; }
a:hover, a:focus{ color:#50AFDE; text-decoration:none; }

/* Заголовки материалов */
h1.page-title, h1.node__title, .node__title, .page-header h1, .view h2, h2.node__title a{
  color:var(--kpi-blue) !important; text-decoration:none;
}
h2.node__title a:hover, .view h2 a:hover{ color:#50AFDE !important; }

/* ===== v2.17: центрируем заголовок по вертикали, соц-иконки остаются наверху ===== */

.fea-header__top{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;            /* заголовок и логотип по центру по вертикали */
  gap: 16px;
  padding: 10px 20px;
}

.fea-header__title{ align-self: center; }
.fea-header__logo{  align-self: center; }

/* блок с иконками держим в ВЕРХНЕМ правом углу */
.fea-header__actions{
  align-self: start;              /* прижимаем сверху в своей ячейке */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  padding-top: 4px;
}

/* остальной блок иконок/языков оставляем, как в v2.16 */
.fea-header__social a,
.fea-header__langs a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px; height:32px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  margin-left:8px;
  text-decoration:none;
  background:transparent;
}
.fea-header__social a:hover,
.fea-header__langs a:hover{ border-color:#fff; }
.fea-header__social img{ width:20px; height:20px; }
.fea-header__langs  img{ width:18px; height:18px; }

/* ===================================================================== */
/* ====================== v3.4.0: WIDTH + RESPONSIVE =================== */
/* ===================================================================== */

/*
  Делаем шапку по ширине экрана (даже если блок лежит внутри .container).
  Трюк: width:100vw + отрицательные поля через calc().
  Подробнее о подходе "full-width inside": см. https://css-tricks.com/the-inside-problem/
*/
.fea-header--stretch{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: clip;
}
@supports not (overflow-x: clip){
  .fea-header--stretch{ overflow-x: hidden; }
}

/* Шапка: адаптация под планшеты/телефоны */
@media (max-width: 992px){
  .fea-header__top{
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "logo actions"
      "title title";
    padding: 10px 12px;
  }
  .fea-header__logo{ grid-area: logo; }
  .fea-header__actions{ grid-area: actions; }
  .fea-header__title{
    grid-area: title;
    padding-top: 6px;
    text-align: center;
  }
  .fea-header__logo img{ max-height: 72px; }

  .fea-header__title .line-1{ font-size: clamp(16px, 4.5vw, 22px); }
  .fea-header__title .line-2{ font-size: clamp(12px, 3.8vw, 18px); }

  .fea-header__social a,
  .fea-header__langs  a{
    width: 30px;
    height: 30px;
    margin-left: 6px;
  }
  .fea-header__social img{ width: 18px; height: 18px; }
  .fea-header__langs  img{ width: 16px; height: 16px; }
}

@media (max-width: 480px){
  .fea-header__actions{ gap: 6px; }
  .fea-header__social, .fea-header__langs{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}

/* Меню: кликабельное раскрытие на мобильных (без ховера) */
@media (max-width: 992px){
  /* верхний уровень в колонку */
  .fea-header__menu > nav > ul.menu,
  .fea-header__menu > ul.menu,
  .fea-header__menu .navbar-nav{
    flex-direction: column;
  }

  /* индикатор подменю */
  .fea-header__menu li.menu-item--expanded > a::after,
  .fea-header__menu li.dropdown > a::after{
    content: "▾";
    float: right;
    opacity: .85;
  }

  /* подменю в потоке документа */
  .fea-header__menu ul ul,
  .fea-header__menu .dropdown-menu{
    position: static !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  /* отключаем hover/focus-within показ (на тач-устройствах это мешает) */
  .fea-header__menu li:hover > ul,
  .fea-header__menu li:hover > .menu,
  .fea-header__menu li:hover > .dropdown-menu,
  .fea-header__menu li:focus-within > ul,
  .fea-header__menu li:focus-within > .menu,
  .fea-header__menu li:focus-within > .dropdown-menu,
  .fea-header__menu ul ul:hover,
  .fea-header__menu .dropdown-menu:hover{
    display: none !important;
  }

  /* раскрытие по клику через JS */
  .fea-header__menu li.fea-open > ul,
  .fea-header__menu li.fea-open > .menu,
  .fea-header__menu li.fea-open > .dropdown-menu{
    display: block !important;
  }

  /* отступы уровней */
  .fea-header__menu ul ul a,
  .fea-header__menu .dropdown-menu a,
  .fea-header__menu .dropdown-menu .dropdown-item{
    padding-left: 24px !important;
  }
  .fea-header__menu ul ul ul a,
  .fea-header__menu .dropdown-menu .dropdown-menu a,
  .fea-header__menu .dropdown-menu .dropdown-menu .dropdown-item{
    padding-left: 34px !important;
  }
}

/* ===================================================================== */
/* ====================== v3.5.2: OFF-CANVAS MENU ====================== */
/* ===================================================================== */

/* В одну строку языки + бургер на мобильных */
.fea-header__actions-row{
  display:flex;
  align-items:center;
  gap:10px;
}

/* Кнопка "бургер" */
.fea-burger{
  display:none; /* включаем ниже на mobile */
  width:42px;
  height:42px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
  padding:10px;
  cursor:pointer;

  /* На mobile кнопка становится flex-контейнером.
     Важно: колонка, иначе span без текста могут схлопнуться по ширине. */
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
  gap:6px;
}
.fea-burger:hover{ background:rgba(255,255,255,.12); }
.fea-burger:active{ background:rgba(255,255,255,.16); }
.fea-burger:focus-visible{ outline:2px solid rgba(255,255,255,.85); outline-offset:3px; }

.fea-burger span{
  display:block;
  height:2px;
  width:100%;
  background:#fff;
  border-radius:2px;
}

/* Offcanvas */
.fea-offcanvas-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:9980;
}

.fea-offcanvas{
  position:fixed;
  top:0;
  right:0;
  height:100vh;
  width:min(88vw, 420px);
  background:var(--kpi-blue);
  color:#fff;
  z-index:9990;
  transform:translateX(100%);
  transition:transform .22s ease;
  box-shadow:-8px 0 24px rgba(0,0,0,.25);
  display:flex;
  flex-direction:column;
}
.fea-offcanvas.is-open{ transform:translateX(0); }

.fea-offcanvas__header{
  display:flex;
  justify-content:flex-end;
  padding:12px 12px 0;
}
.fea-offcanvas__close{
  width:44px;
  height:44px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.35);
  background:transparent;
  color:#fff;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.fea-offcanvas__body{
  padding:12px 0 18px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}

/* Меню внутри offcanvas — вертикально */
.fea-offcanvas__nav nav,
.fea-offcanvas__nav > nav,
.fea-offcanvas__nav > ul.menu,
.fea-offcanvas__nav ul.menu,
.fea-offcanvas__nav .navbar-nav{
  display:block;
  margin:0;
  padding:0;
  list-style:none;
}

.fea-offcanvas__nav li{ list-style:none; }

.fea-offcanvas__nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  color:#fff !important;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.18);
}

/* Стрелка у пунктов с подменю */
.fea-offcanvas__nav li.menu-item--expanded > a::after,
.fea-offcanvas__nav li.expanded > a::after{
  content:"▾";
  opacity:.85;
  font-size:16px;
}

.fea-offcanvas__nav li.fea-open > a{ background:rgba(255,255,255,.08); }
.fea-offcanvas__nav li.fea-open > a::after{ content:"▴"; }

/* Подменю скрыты, открываются классом fea-open */
.fea-offcanvas__nav ul ul,
.fea-offcanvas__nav .dropdown-menu{
  display:none;
  position:static;
  background:transparent !important;
  padding:0;
  margin:0;
  border:0;
}

.fea-offcanvas__nav li.fea-open > ul,
.fea-offcanvas__nav li.fea-open > .dropdown-menu{ display:block; }

.fea-offcanvas__nav ul ul a,
.fea-offcanvas__nav .dropdown-menu a,
.fea-offcanvas__nav .dropdown-item{
  padding:12px 18px 12px 30px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:transparent !important;
  color:#fff !important;
  opacity:.92;
}

/* ===== Включаем бургер и offcanvas-логику на мобильных ===== */
@media (max-width: 992px){
  .fea-header__menu--desktop{ display:none; }
  .fea-burger{ display:inline-flex; }
}
