@media (min-width: 1024px) { /* Только для ПК */

#banner-swiper {
  min-height: 77px;
  max-height: 860px; /* если баннер содержит изображение */
  overflow: hidden;
  transition: min-height 0.35s ease, padding 0.3s ease;
}

#banner-swiper.scrolled {
  min-height: 0px;
  padding: 0;
}


}

/* До загрузки страницы все fade-in элементы невидимы */
.fade-in {
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(.44,1.26,.72,1.01);
}
.fade-in.visible {
  opacity: 1;
}
/*
body * {
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(.44,1.26,.72,1.01);
}
body.visible * {
  opacity: 1;
}*/

.mod-languages_list li a {
  display: inline-block; /* важно! */
  transition: transform 0.22s cubic-bezier(.44,1.26,.72,1.01), 
              box-shadow 0.22s cubic-bezier(.44,1.26,.72,1.01),
              background 0.2s;
  will-change: transform, box-shadow, background;
}
.mod-languages_list li:hover a,
.mod-languages_list li:focus-within a {
  transform: scale(1.12);
  box-shadow: 0 4px 16px #2297d3b8;
  background: #eaf6ff;
  border-radius: 7px;
}


.brand-logo img {
    width: 110px;       /* или сколько нужно по дизайну */
    height: auto;       /* сохраняет пропорции! */
    max-width: 100%;    /* чтобы не вылезал за контейнер */
    display: block;     /* убрать лишние отступы */
    margin: 0 auto;     /* по центру */
}
.brand-logo {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center; /* если нужно */
}
.grid-child {
max-width: 1340px;
}
.mod-languages {
  margin-left: 150px;
}

/*подвал*/
/* --- FOOTER STYLE (merged and optimized) --- */

.footer-style {
  width: 100%;
  background: #0077a2;
  box-shadow: 0 -8px 32px 0 rgba(20,40,80,0.13);
  position: relative;
  margin: 0;
  padding: 0;
  color: #f7faff;
  font-family: 'Inter', Arial, sans-serif;
  letter-spacing: 0.01em;
  user-select: none;
}

.footer-style .footer-inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 44px 26px 10px 26px;
  display: flex;
  flex-direction: column;
}

.footer-style .footer-columns {
  display: flex;
  gap: 200px;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: -30px;
}

.footer-style .footer-block {
  min-width: 200px;
  flex: 1 1 250px;
  margin-bottom: 14px;
}

.footer-style .brand-block {
  flex: 0 1 300px;
}

.footer-style .brand-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.09em;
  font-size: 1.08rem;
}

.footer-style .logo-circle {
  width: 42px; height: 42px;
  background: #fff2;
  color: #ffe87d;
  font-size: 2.1rem;
  border-radius: 50%;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 18px 0 #001b4c21;
  letter-spacing: 0;
}

.footer-style .brand-name {
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.02em;
}

.footer-style .brand-desc {
  font-size: 1.01rem;
  color: #cbe6fa;
  margin-bottom: 8px;
}

.footer-style .footer-block h4 {
  font-size: 1.08rem;
  color: #fff;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
}
.footer-style .contacts-list h4 {
  font-size: 1.08rem;
  color: #fff;
  margin-bottom: 10px;
  font-weight: 700;
  letter-spacing: 0.09em;
}

.footer-style .nav-block ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-style .nav-block ul li {
  margin-bottom: 7px;
}
.footer-style .nav-block ul li a {
  color: #e9f6ff;
  text-decoration: none;
  font-weight: 500;
  font-size: 1.08rem;
  opacity: 0.91;
  transition: color 0.18s, background 0.18s;
  padding: 6px 0;
  border-radius: 4px;
  display: inline-block;
}
.footer-style .nav-block ul li a:hover {
  color: #000;
  background: #ffffffa3;
  opacity: 1;
}

.footer-style .contacts-list .phones {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.footer-style .contacts-list .phones a {
  white-space: nowrap;
  font-size: 1.04rem;
  font-weight: 500;
  color: #e9f6ff;
  text-decoration: underline dotted;
  margin: 0;
  transition: color 0.13s;
}
.footer-style .contacts-list .phones a {
  white-space: nowrap;
  font-size: 1.04rem;
  font-weight: 500;
  color: #e9f6ff;
  text-decoration: underline dotted;
  margin: 0;
  transition: color 0.13s;
}
.footer-style .contacts-list .phones a:hover {
  color: #fff;
  text-shadow: 0 0 5px rgba(255, 232, 125, 0.6);
  text-decoration: none;
}

.footer-style .contacts-list .phones .phone-sep {
  color: #8ed1fc;
  margin: 0 7px;
  font-size: 1.16rem;
  opacity: 0.6;
  font-weight: bold;
}
.footer-style .contacts-block .contacts-list > div {
  display: flex;
  align-items: center;
  margin-bottom: 7px;
  gap: 7px;
}
.footer-style .footer-icon {
  color: #8ed1fc;
  font-size: 1.18em;
}
.footer-style .contacts-block .contacts-list a {
  color: #e9f6ff;
  text-decoration: underline dotted;
  font-size: 1.04rem;
  font-weight: 500;
  margin-right: 7px;
  transition: color 0.13s;
}
.footer-style .contacts-block .contacts-list a:hover {
  color: #ffe87d;
}
.footer-style .contacts-block .contacts-list span {
  font-size: 1.03rem;
}
.footer-style .footer-made {
  color: #ffe87d;
  font-size: 0.97rem;
  font-weight: 500;
  opacity: 0.77;
}

/* --- ADAPTIVE / RESPONSIVE --- */

/* <= 900px */
@media (max-width: 900px) {
  .footer-style .footer-columns {
    flex-direction: column;
    gap: 18px;
    align-items: stretch;
    margin-bottom: 12px;
  }
  .footer-style .footer-block { min-width: 0; }
  .footer-style .footer-bottom { flex-direction: column; gap: 5px; }
}

@media (max-width: 700px) {
  .footer-style {
    padding: 0 !important;
    background: linear-gradient(180deg, #0c91bc 80%, #0077a2 100%);
    box-shadow: 0 -4px 16px 0 #141c3433;
    border-radius: 24px 24px 0 0;
    margin-bottom: 0;
  }
  .footer-style .footer-inner {
    padding: 0 !important;
    width: 100vw;
    max-width: 100vw;
  }
  .footer-style .footer-columns {
    flex-direction: column !important;
    gap: 0 !important;
    margin-bottom: 0;
  }
  .footer-style .footer-block {
    background: #fff1;
    border-radius: 16px;
    box-shadow: 0 2px 8px #00203b08;
    margin: 18px 3vw 0 3vw;
    padding: 18px 13px 10px 15px;
    min-width: unset;
  }
  .footer-style .brand-block {
    margin-top: 5px;
    margin-bottom: 0;
    flex: none !important;
    background: transparent;
    box-shadow: none;
    padding: 15px 15px 6px 18px;
    border-radius: 20px;
  }
  .footer-style .brand-logo {
    gap: 8px;
    margin-bottom: 2px;
  }
  .footer-style .logo-circle {
    width: 34px;
    height: 34px;
    font-size: 1.2rem;
  }
  .footer-style .brand-name {
    font-size: 1.01rem;
  }
  .footer-style .brand-desc {
    font-size: 0.95rem;
    color: #e8f9ff;
    margin-bottom: 2px;
  }
  .footer-style .footer-block h4 {
    font-size: 1rem;
    margin-bottom: 5px;
    margin-top: 4px;
  }
  .footer-style .nav-block ul li {
    margin-bottom: 5px;
  }
  .footer-style .nav-block ul li a {
    font-size: 0.97rem;
    padding: 4px 0;
  }
  .footer-style .contacts-block .contacts-list > div {
    margin-bottom: 4px;
  }
  .footer-style .contacts-block .contacts-list a,
  .footer-style .contacts-block .contacts-list span {
    font-size: 0.95rem;
  }
  .footer-bottom, .footer-style .footer-made {
    font-size: 0.89rem;
    opacity: 0.75;
    margin-top: 13px;
    padding-bottom: 3vw;
    color: #bde8f8;
  }
}




/* <= 570px (smaller mobile) */
@media (max-width: 570px) {
  .footer-style .footer-inner { padding: 18px 4vw 3px 4vw; }
  .footer-style .brand-logo { gap: 6px; }
  .footer-style .brand-name { font-size: 1.07rem; }
}

/* <= 400px (super small screens) */
@media (max-width: 400px) {
  .footer-style .footer-inner { padding: 10px 2vw 4px 2vw; }
  .footer-style .brand-logo .logo-circle {
    width: 32px;
    height: 32px;
    font-size: 1.3rem;
  }
  .footer-style .brand-name { font-size: 1rem; }
}



.footer-bottom {
  width: 100%;
  text-align: center;
  padding: 10px 0;
}
.footer-webzo-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: rgba(255,255,255,0.10);
  box-shadow: 0 1px 5px rgba(0,0,0,0.09);
  margin-right: 5px;
  text-decoration: none;
  position: relative;
  transition: background 0.18s, box-shadow 0.18s;
  opacity: 0.7;
  outline: none;
}
.footer-webzo-link:hover,
.footer-webzo-link:focus {
  background: rgba(16, 180, 255, 0.15);
  box-shadow: 0 0 7px 3px #49e2ff88, 0 2px 9px 0 #2bb6f233;
  opacity: 1;
}
.webzo-icon {
  font-family: 'Inter', Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 1px;
  user-select: none;
  text-shadow:
    0 0 2px #11d1ff90,
    0 0 6px #10e9ff11;
  transition: text-shadow .2s;
  pointer-events: none;
}

/* Tooltip */
.webzo-tooltip {
  visibility: hidden;
  opacity: 0;
  background: #313c52;
  color: #fff;
  font-size: 13px;
  border-radius: 8px;
  padding: 4px 12px;
  position: absolute;
  left: 38px;
  top: 50%;
  transform: translateY(-50%);
  white-space: nowrap;
  z-index: 2;
  box-shadow: 0 2px 8px #141c3440;
  transition: opacity 0.18s, visibility 0.18s;
  pointer-events: none;
}

.footer-webzo-link:hover .webzo-tooltip,
.footer-webzo-link:focus .webzo-tooltip {
  visibility: visible;
  opacity: 1;
}

.footer {
  color: #fdfdfd78;
}
/*подвал*/


/* Базовые стили подменю */
.mod-menu__sub {
  display: none !important;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #0077a2e0; /* тёмно-синий */
  padding: 0;
  margin: 0;
  list-style: none;
  min-width: 220px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.25s ease-in-out;
  border-radius: 2px;
  z-index: 9999;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* Появление при наведении */
li.nav-item:hover > .mod-menu__sub {
  display: block !important;
  opacity: 1;
  transform: translateY(0);
}

/* Элементы подменю */
.mod-menu__sub li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Последний без линии */
.mod-menu__sub li:last-child {
  border-bottom: none;
}

/* Ссылки внутри */
.mod-menu__sub a {
  display: block;
  padding: 10px 15px;
  color: #fff;
  font-size: 14px;
  font-family: "Segoe UI", sans-serif;
  text-decoration: none;
  transition: background-color 0.2s ease, padding-left 0.2s ease;
}

/* Эффект при наведении */
.mod-menu__sub a:hover {
  background-color: rgba(255, 255, 255, 0.15);
  padding-left: 20px;
}



/* 1. Белый фон с логотипом */
.container-header {
 align-items: center;
  justify-content: flex-start;
  transition: height 0.4s, opacity 0.4s, padding 0.4s;
  height: auto; 
  opacity: 1;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  overflow: hidden;
  height: auto;*/
  
}




/* Логотип и текст */
.navbar-brand {
  display: flex;
  align-items: center;
  gap: 20px;
  transition: opacity 0.4s, visibility 0.4s;
}
.navbar-brand img {
  height: 50px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 14;
  max-height: 145px;
  width: auto;
  display: block;
  margin-top: 12px;
}
.container-header .navbar-brand {
  position: relative; /* чтобы абсолютный img знал откуда считать */
  height: 145px; /* или auto, но с min-height */
}

.site-description {
  font-size: 14px;
  color: #777;
}


.container-nav {
  position: fixed;
  top: 15px;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
  background-color: #0077a2;
  display: flex;
  padding: 10px 0;

  /* Вот эта строчка — вся магия! */
  transition: background-color 0.5s cubic-bezier(.44,1.26,.72,1.01), top 0.35s cubic-bezier(.44,1.26,.72,1.01);
}

.container-nav.nav--solid {
  background-color: #0077a287; /* Обычный, непрозрачный */
  top:-7px;
}



 /* @media (max-width: 767px) {
  .container-nav {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    z-index: auto !important;
    width: 100% !important;
   фон оставляем прежним, если нужен 
  }
}*/
@media (max-width: 767px) {
  .container-nav {
    position: relative !important;
    z-index: 2001 !important; /* ставь больше чем у баннера! */
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }
}





ul.mod-menu > li > a {
  color: #ffffff !important;
  padding: 0 10px;
  display: inline-block;
  font-weight: bold;
  text-decoration: none;
  font-size: 14px;
  transition:
    box-shadow 0.26s cubic-bezier(.44,1.26,.72,1.01),
    transform 0.22s cubic-bezier(.44,1.26,.72,1.01),
    color 0.17s,
    background 0.18s;
}

ul.mod-menu > li > a:hover {
  box-shadow: 0 8px 24px -4px rgba(0,128,200,0.22),
              0 1.5px 8px 0 rgba(0,70,120,0.12);
  transform: scale(1.05); /* Только увеличение, без прыжка */
  color: #fff;
  background: rgba(0,125,180,0.12);
}







.mod-menu__separator {
  display: inline-block;
  padding: 0 10px;
  color: #ffffff;
  font-weight: bold;
  cursor: pointer;
  font-size: 14px;
  transition:
    box-shadow 0.26s cubic-bezier(.44,1.26,.72,1.01),
    transform 0.26s cubic-bezier(.44,1.26,.72,1.01),
    color 0.17s,
    background 0.18s;
}

.mod-menu__separator:hover {
  box-shadow: 0 8px 24px -4px rgba(0,128,200,0.22),
              0 1.5px 8px 0 rgba(0,70,120,0.12);
  transform: scale(1.05); /* Увеличение без подъёма */
  color: #fff;
}



ul.mod-menu > li > span.mod-menu__separator::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
}

/*Общие стили*/
.mod-menu li{
  position:relative; /*делаем position relative для позиционирования sub menu */
}

/* Выравнивание пунктов меню (включая separator) */
.container-nav .mod-menu > li {
  display: flex; /* Используем flexbox для выравнивания */
  align-items: center; /* Выравниваем элементы по вертикали по центру */
}

/* Стили для separator, чтобы занимал всю высоту родителя */
.mod-menu__separator {
  display: flex; /*тоже делаем flex*/
  align-items: center; /*выравниваем по вертикали*/
  padding: 0 10px; /* Еще немного уменьшаем отступы */
  color: #ffffff;
  font-weight: bold;
  cursor: pointer;
  text-decoration: none; /* Убираем подчеркивание, если это ссылка */
}





/* Важно:  Сброс стилей ссылок, если separator используется как ссылка (<a>) */
.mod-menu__separator:visited,
.mod-menu__separator:link,
.mod-menu__separator:active {
    text-decoration: none;
    color: #ffffff; /* Возвращаем цвет текста */
}
/* Подменю второго уровня (вложенное) */
.mod-menu__sub li:hover > .mod-menu__sub {
  display: block !important;
  opacity: 1;
  transform: translateX(0);
  top: 0;
  left: 100%;
  margin-left: 1px;
  transition: all 0.25s ease-in-out;
}

/* Начальное состояние вложенного подменю */
.mod-menu__sub .mod-menu__sub {
  display: none !important;
  opacity: 0;
  transform: translateX(10px);
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 9999;
}

.card img {
  border-radius: 8px;
  margin-bottom: 1em;
}


@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* использование шрифтов */
body {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  position: static;
  margin-top: 40px !important;
  padding-top: 92px !important;
}
@media (max-width: 767px) {
  body {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  position: static;
  margin-top: 0px !important;
  padding-top: 0px !important;
}
}

h1, h2, h3 {
  font-weight: 600;
}

.breadcrumbs, .breadcrumb, .mod-breadcrumbs {
  display: none !important;
}
.com-content-category-blog__item {
  background: ##0077a2;
  position: relative;
  cursor: pointer;
  /*overflow: hidden;*/
}
.com-content-category-blog__item .readmore a:hover {
  background: #005b80;
}





/* Растянутая ссылка поверх 
.com-content-category-blog__item .readmore a::before {
  content: "";
  position: absolute;
  inset: 0; /* top: 0; left: 0; bottom: 0; right: 0 */
  z-index: 1;
}
*/

.item-content p {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* иконку в кнопку */
.readmore a::after {
  content: " →";
  font-weight: bold;
  margin-left: 6px;
}


/* размеры лого 
.navbar-brand img {
  max-height: 60px;
  height: auto;
  width: auto;
  display: block;
  margin: 0 auto;
  object-fit: contain;
}
*/
.mod-menu.mod-list {
  opacity: 1;
  transition: opacity 0.21s cubic-bezier(.44,.13,.48,.87);
  flex-direction: row;

}

.mod-menu.mod-list.menu-fade {
  opacity: 0;
}



/* Скрыть кнопку-меню на десктопе */
@media (min-width: 768px) {
  #mobile-nav {
    display: none !important;
  }
}

/* Скрыть десктопное меню на мобилках */
@media (max-width: 767px) {
  .mod-menu.mod-list.nav {
    display: none !important;
  }
}

/* 📱 Мобилка: прячем флаги, показываем dropdown */
@media (max-width: 767px) {
  .mod-languages__list.lang-inline {
    display: none !important;
  }

  .mod-languages__select.btn-group {
    display: flex !important;
  }
}

/* 🖥️ Десктоп: прячем dropdown, показываем флаги */
@media (min-width: 768px) {
  .mod-languages__list.lang-inline {
    display: flex !important;
    justify-content: center;
    gap: 10px;
  }

  .mod-languages__select.btn-group {
    display: none !important;
  }
}



/* Анимация иконки */
.rotate-180 {
  transform: rotate(180deg);
}

.bi-chevron-down {
  transition: transform 0.2s ease;
}

/* ✅ Основа для мобильного меню */
.only-mobile {
  font-family: "Inter", Arial, sans-serif;
  background: transparent;
  color: #003366;
}

/* Стили для каждого пункта меню */
.only-mobile .list-group-item {
  border: none;
  padding: 10px 18px;
  background: none;
  color: #003366;
  font-size: 12px;
  transition: background 0.15s;
}

/* Ссылки меню */
.only-mobile .list-group-item a {
  color: #003366;
  text-decoration: none;
  display: block;
  font-weight: 500;
  transition: color 0.15s;
}

/* Активный пункт (Главная и т.п.) */
.only-mobile .list-group-item .fw-bold,
.only-mobile .list-group-item.active,
.only-mobile .list-group-item:focus {
  color: #0d6efd; /* bootstrap primary */
}

/* Кнопки-родители с подменю */
.only-mobile button[data-bs-toggle="collapse"] {
  background: none;
  border: none;
  color: #003366;
  font-weight: 600;
  font-size: 16px;
  width: 100%;
  padding: 10px 18px;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Иконка стрелки */
.only-mobile .bi-chevron-down {
  font-size: 20px;
  transition: transform 0.25s;
}

/* Вращение при открытии */
.only-mobile .rotate-180 {
  transform: rotate(180deg);
}

/* Подменю — отступ влево */
.only-mobile .collapse .list-group-item {
  font-size: 12px;
}

/* Hover эффекты */
.only-mobile .list-group-item:hover,
.only-mobile .list-group-item:focus-within,
.only-mobile button[data-bs-toggle="collapse"]:hover {
  background: #e6f0ff;
  color: #0d6efd;
}

.only-mobile .list-group-item a:hover {
  color: #0d6efd;
}

/* Убрать border с подменю */
.only-mobile .list-group-flush .list-group-item {
  border: none;
}

/* Адаптивность (можно подправить под дизайн) */
@media (max-width: 400px) {
  .only-mobile .list-group-item,
  .only-mobile button[data-bs-toggle="collapse"] {
    font-size: 15px;
    padding: 8px 8px;
  }
}





/* Контейнер новостей */
.news-grid ul.mod-articles-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}

/* Карточка статьи */
.news-grid .mod-articles-item {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 280px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
  max-width: 75ch; /* или 65ch — зависит от вкуса */
}

/* Ховер эффект */
.news-grid .mod-articles-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Заголовок */
.news-grid .mod-articles-title {
  text-transform: none;
  letter-spacing: 0.3px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #0d6efd;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

/* Вводный текст */
.news-grid p {
  font-size: 0.95rem;
  color: #333;
  margin-bottom: 1rem;
  line-height: 1.5;
  flex-grow: 1;
}

/* Подробнее */
.news-grid .readmore {
  margin-top: auto;
}

.news-grid .readmore a {
  background: #0077a2;
  color: white;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.85rem;
  text-decoration: none !important;
  transition: background 0.2s, transform 0.2s;
  display: inline-block;
}

.news-grid .readmore a:hover {
  background-color: #005b80;
  transform: scale(1.05);
}

/* Мобильная адаптация */
@media (max-width: 768px) {
  .news-grid ul.mod-articles-items {
    grid-template-columns: 1fr;
  }
}









/*кнопки*/
.news-button .news-button-link {
  display: inline-block;
  padding: 10px 20px;
  background-color: #007bff;
  color: white;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
  font-weight: 500;
  font-family: inherit;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.news-button .news-button-link:hover {
  background-color: #f70000;
}
@media (max-width: 768px) {
  .news-button .news-button-link {
    display: block;
    text-align: center;
    width: 100%;
  }
}



.language-switcher-simple a {
  display: inline-block;
  padding: 4px 16px;
  border: 1.5px solid #0d6efd;
  border-radius: 18px;
  font-weight: 600;
  color: #0d6efd;
  background: #fff;
  text-decoration: none;
  transition: all 0.2s;
  opacity: 0.9;
}

.language-switcher-simple a:not(:last-child) {
  margin-right: 8px;
}

.language-switcher-simple a:hover {
  background: #0d6efd;
  color: #fff;
  opacity: 1;
}

.language-switcher-simple a.active {
  background: #003b50;
  color: #fff;
  cursor: default;
  pointer-events: none;
  opacity: 1;
  border-color: #0d6efd;
}









.contacts_style .box-section {
  background: #fff;
  border: 1px solid #d9e0ea;
  padding: 24px;
  margin-bottom: 2rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.contacts_style .box-section p {
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.6;
}

.contacts_style .box-section a {
  color: #007bff;
  text-decoration: none;
}
.contacts_style .box-section {
  opacity: 0;
  transform: translateY(60px);
  transition: opacity 0.7s cubic-bezier(.44,.13,.48,.87), transform 0.7s cubic-bezier(.44,.13,.48,.87);
}
.contacts_style .box-section.md-visible {
  opacity: 1;
  transform: translateY(0);
}







.mod-menu.hide {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-30px);
}




/* --- СТИЛЬ КРАСИВОЙ КНОПКИ --- */
a.btn.btn-secondary {
  display: inline-block;
  padding: 0.5em 1.5em;
  background: #0077a2;               /* основной фон */
  color: #fff !important;            /* белый текст */
  border-radius: 0.65em;             /* плавные углы */
  font-weight: 600;                  /* жирный шрифт */
  border: none;                      /* без рамки */
  box-shadow: 0 4px 16px #24488413;  /* лёгкая тень */
  transition: background 0.2s, box-shadow 0.2s;
  text-decoration: none !important;  /* убрать подчёркивание */
  margin-top: 0.6em;
  margin-bottom: 0.6em;              /* чуть воздуха снизу */
}

/* Ховер и фокус — темнее, глубже */
a.btn.btn-secondary:hover,
a.btn.btn-secondary:focus {
  background: #3d8bfd;
  color: #fff !important;
  box-shadow: 0 8px 32px #24488426;
  text-decoration: none !important;
}

/* --- УБИРАЕМ ВСЁ ЛИШНЕЕ В КНОПКЕ --- */

/* 1. Убрать ВСЕ span внутри кнопки (стрелки, точки, мусор) */
a.btn.btn-secondary span {
  display: none !important;
}

/* 2. Убрать стрелки любых популярных библиотек (подстраховка) */
a.btn.btn-secondary .icon-chevron-right,
a.btn.btn-secondary .icon-chevron-left,
a.btn.btn-secondary .bi-chevron-right,
a.btn.btn-secondary .bi-chevron-left,
a.btn.btn-secondary .fa-chevron-right,
a.btn.btn-secondary .fa-chevron-left {
  display: none !important;
}

/* 3. Если вдруг в шаблоне стрелки или точки через псевдоэлементы */
a.btn.btn-secondary::after,
a.btn.btn-secondary::before {
  content: "" !important;
  display: none !important;
}

/* 4. На всякий случай, если кто-то решил добавить точки в текст через класс */
a.btn.btn-secondary .dots,
a.btn.btn-secondary .ellipsis {
  display: none !important;
}



.spoiler {
  margin: 12px 0 24px 0;
  border-radius: 7px;
  border: 1px solid #e2e2e2;
  background: #f7f7f7;
  overflow: hidden;
  max-width: 650px;
  box-shadow: 0 3px 12px #0001;
}
.spoiler-title {
  cursor: pointer;
  padding: 10px 22px;
  font-weight: bold;
  background: #eaf0fa;
  transition: background 0.2s;
  user-select: none;
  font-size: 1.08em;
}
.spoiler-title:hover {
  background: #dbe6fa;
}
.spoiler-content {
  display: none;
  padding: 14px 22px;
  border-top: 1px solid #eee;
  font-size: 1em;
  background: #fff;
}
.spoiler.open .spoiler-content {
  display: block;
  animation: fadeIn .25s;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-8px);}
  to { opacity: 1; transform: none;}
}



body .glightbox-container,
body .glightbox-container * {
  opacity: 1 !important;
  transition: none !important;
}






.gslide-inner-content,
.ginner-container,
.gslide-media {
  background: transparent !important;
  box-shadow: none !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.gslide-media::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #000; /* Или любой фон, который ты хочешь */
  z-index: 0;
}
.gslide-media img {
  position: relative;
  z-index: 1;
  max-width: 100vw !important;
  max-height: 90vh !important;
  width: auto !important;
  height: 100vh !important;
  margin: 0 auto !important;
  display: block !important;
  background: none !important;
  box-shadow: none !important;
  object-fit: cover !important; /* Растягиваем, сохраняя заполнение */
}




.container-banner.full-width,
#banner-swiper {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  left: 0;
  position: relative;
  margin-top: -62px !important;
}











.site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 10;
  background: rgba(33, 114, 255, 0.95); /* или любой свой цвет */
  box-shadow: 0 2px 24px #0002;
  /* Можно добавить blur для стеклянного эффекта: */
  backdrop-filter: blur(8px);
}
.hero-banner {
  width: 100vw;
  min-height: 440px; /* Высота баннера, как нужно */
  position: relative;
  z-index: 1;
  overflow: hidden;
  /* Слайдер внутри */
}





.dividends-corp-block {
    background: #f8fbff;
    border-radius: 22px;
    box-shadow: 0 6px 32px #23386818, 0 0 0 1px #e0e7ef;
    padding: 32px 28px 28px 28px;
    max-width: 920px;
    margin: 40px auto;
    font-family: 'Segoe UI', 'Tahoma', 'Geneva', Verdana, sans-serif;
    font-size: 15px;
    color: #16304b;
}
.dividends-corp-block h2,
.dividends-corp-block h3,
.dividends-corp-block h4 {
    margin-top: 0;
    margin-bottom: 10px;
}
.dividends-corp-block table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px #14427512;
    margin-bottom: 20px;
    font-size: 1em;
}
.dividends-corp-block th,
.dividends-corp-block td {
    padding: 10px 7px;
    border: 1px solid #e7ebf1;
    text-align: center;
}
.dividends-corp-block tr:nth-child(even) {
    background: #f4f8fb;
}
.dividends-corp-block thead tr {
    background: #e5edf5;
    font-weight: bold;
}
.dividends-corp-block ul {
    margin: 0 0 0 20px;
    padding: 0;
}
.dividends-corp-block li {
    margin-bottom: 5px;
}
.dividends-corp-block .notice {
    background: #fff8e5;
    border-left: 6px solid #e9b018;
    border-radius: 10px;
    padding: 14px 18px 10px 18px;
    margin: 17px 0 10px 0;
    color: #634a10;
    font-size: 1.04em;
}
.dividends-corp-block .contact-block {
    background: #e5edf5;
    border-radius: 8px;
    padding: 13px 16px;
    margin: 18px 0 8px 0;
    font-size: 1em;
    color: #18315b;
}
.dividends-corp-block .updated {
    font-size: 0.96em;
    color: #666;
    margin-top: 14px;
    text-align: right;
}
.dividends-corp-block p, .dividends-corp-block span, .dividends-corp-block strong, .dividends-corp-block em {
    font-family: 'Times New Roman', Times, serif;
    font-size: 15px;
}
@media (max-width: 650px) {
    .dividends-corp-block {
        padding: 10px 2vw 18px 2vw;
        font-size: 13px;
    }
    .dividends-corp-block table, .dividends-corp-block th, .dividends-corp-block td {
        font-size: 12px;
    }
}





/* ===== Debug: Показываем где меню и шапка ===== */
header.header .container-header {
  background: #fff;
  box-shadow: 0 6px 16px #0001;
  transition: opacity 0.4s, height 0.4s, padding 0.4s;
  opacity: 1;
  height: 92px;
  padding: 20px 0 0 0;
  z-index: 100;
  overflow: hidden;
  /* Для отладки: */
  border-bottom: 2px solid #2196f3;
}

header.header.header--solid .container-header {
  opacity: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  pointer-events: none;
}

/* ===== Сама "полоса" меню ===== */
header.header .container-nav {
  background: rgb(255, 0, 0); /* debug: видно на любом фоне */
  transition: background 0.3s;
  z-index: 2000 !important;
  position: relative;
  min-height: 50px;
  border-bottom: 2px solid #f44336; /* debug: красная линия снизу, потом уберёшь */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ===== При скролле меню становится синим ===== */
header.header.header--solid .container-nav {
  background: #0077a2 !important;
}

.mod-menu {
flex-direction: column;
flex-direction: revert-layer;
margin-left: 150px;
}

/* ===== Меню и пункты меню ===== */
header.header .container-nav .mod-menu {
  display: flex;
  flex-direction: row; /* вот он — горизонт! */
  justify-content: center;
  align-items: center;
  gap: 20px;        /* промежутки между пунктами */
  padding: 0;
  margin: 0;
  list-style: none;
  background: none !important;
header.header .container-nav .mod-menu > li {
  display: flex;
  align-items: center;
}
header.header .container-nav .mod-menu > li > a {
  color: #003366 !important;  /* тёмный цвет для debug */
  font-size: 16px;
  font-weight: bold;
  background: none !important;
  padding: 6px 18px;
  border-radius: 8px;
  transition: background 0.2s, color 0.2s;
}

header.header.header--solid .container-nav .mod-menu > li > a {
  color: #fff !important; /* белый когда меню синее */
  background: none !important;
}
header.header .container-nav .mod-menu > li > a:hover {
  background: #eee !important;
  color: #0077a2 !important;
}
header.header.header--solid .container-nav .mod-menu > li > a:hover {
  background: #005f84 !important;
  color: #fff !important;
}

/* ===== Sticky header ===== */
header.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3000;
  background: transparent; /* если надо "плавающий" эффект */
  transition: all 0.3s ease-in-out;
}




/* ===== Прозрачный хедер на самом верху ===== */
header.header.header--transparent {
  background: rgba(255,255,255,0.00) !important;
  box-shadow: none !important;
}






@media (min-width: 768px) {
  /* Самое главное — только верхний уровень! */
  .mod-menu.mod-menu--desktop {
    display: flex !important;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0.5em;
    padding: 0;
    margin: 0;
    list-style: none;
    width: 100%;
    background: transparent;
  }

  /* Каждый пункт на верхнем уровне */
  .mod-menu.mod-menu--desktop > li {
    display: flex !important;
    align-items: center;
    position: relative;
    padding: 0;
    margin: 0 2px;
  }

  .mod-menu.mod-menu--desktop > li > a {
    display: block;
    padding: 12px 26px;
    color: #fff;
    font-weight: bold;
    font-size: 17px;
    border-radius: 8px;
    text-decoration: none;
    background: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
  }

  .mod-menu.mod-menu--desktop > li > a:hover,
  .mod-menu.mod-menu--desktop > li.active > a {
    background: #005f84;
    color: #fff;
  }

  /* Вложенные подменю — пусть остаются вертикально! */
  .mod-menu.mod-menu--desktop ul {
    display: block !important;
    position: absolute;
    left: 0;
    top: 100%;
    background: #005f84;
    min-width: 210px;
    z-index: 99;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 10px 30px #002b4920;
    padding: 0.6em 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
  }
  .mod-menu.mod-menu--desktop li:hover > ul {
    opacity: 1;
    pointer-events: auto;
  }

  .mod-menu.mod-menu--desktop ul li {
    display: block !important;
    margin: 0;
    padding: 0;
  }
  .mod-menu.mod-menu--desktop ul li a {
    padding: 10px 20px;
    color: #fff;
    font-size: 16px;
    border-radius: 0;
    background: none;
    font-weight: normal;
    text-align: left;
  }
  .mod-menu.mod-menu--desktop ul li a:hover {
    background: #0077a2;
    color: #fff;
  }
}
.mod-menu.only-desktop {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center;
    align-items: center;
    gap: 5px;
}






.container-component {
  padding-top: 50px;
}

.site-grid .container-component{
  padding-top: 50px;
  padding-top: 100px !important;
  background: #00ff00 !important;
}
.com-content-article.item-page {
  margin-top: 50px;
}
.container-component::after {
  content: "";
  display: table;
  clear: both;
}
main {
  padding-top: 50px;
}
.container-component > main:nth-child(3) {
  border-top-width: 12px;
  border-top-style: solid;
  margin-top: 5em;
}
.com-content-article.item-page {
  margin-top: 110px !important;
  position: relative;
  z-index: 1;
  background: #f9f9f9; /* для отладки, потом уберёшь */
}
.com-content-article.item-page::before {
  content: "== ОТСТУП ==";
  display: block;
  height: 70px;
  background: #ff0;
  color: #000;
  font-weight: bold;
}
.site-grid > .container-component > main > .com-content-article.item-page {
  margin-top: 80px !important;
}
.div.grid-child{
  padding-top: 50px;
}

.com-content-article__body {
  margin-top: 80px !important;
}
.com-content-article__body {
  margin-top: 100px !important;
  background: #ff00ff !important; /* ярко-розовый, сразу видно */
  border: 6px solid #000 !important;
  color: #fff !important;
}
.com-content-article__body::before {
  content: "ОТСТУП";
  display: block;
  height: 80px;
  background: #ff0;
  color: #000;
  font-size: 32px;
  font-weight: bold;
}

#banner-swiper, .mod-banners, .bannergroup {
  min-height: 380px; /* или сколько у тебя занимает баннер */
  background: #eaeaea; /* светлый фон пока грузится баннер */
}
.banner-loader {
  min-height: 380px;
  background: #eaeaea;
  display: flex;
  align-items: center;
  justify-content: center;
}





.hidefaq {
  max-width: 950px;
  margin: 35px auto 35px auto;
  padding: 28px 28px 16px 28px;
  background: #fafcff;
  border-radius: 18px;
  box-shadow: 0 2px 18px 0 #c6daee44;
  font-family: "Segoe UI", "Tahoma", Arial, sans-serif;
  color: #1b2533;
  font-size: 1.08rem;
}
.hidefaq h1, .hidefaq h2, .hidefaq h3, .hidefaq h4 {
  color: #2166a8;
  margin-top: 0.7em;
  margin-bottom: 0.5em;
}
.hidefaq ol {
  margin: 1em 0 1.4em 2em;
  padding-left: 1em;
}
.hidefaq li {
  margin-bottom: 0.75em;
}
.hidefaq table.pretty-table {
  border-collapse: collapse;
  width: 100%;
  background: #f5f9fd;
  margin: 12px 0 10px 0;
}
.hidefaq table.pretty-table th,
.hidefaq table.pretty-table td {
  border: 1px solid #c2d3e3;
  padding: 7px 7px;
  text-align: center;
  font-size: 1em;
}
.hidefaq ul {
  margin-left: 2em;
  margin-bottom: 0.7em;
}
.hidefaq p {
  margin-bottom: 0.7em;
}
@media (max-width: 680px) {
  .hidefaq { padding: 10px 2vw; font-size: 0.98rem; }
  .hidefaq table { min-width: 440px !important; font-size: 0.97em; }
}

  

}
.mod-list li a:hover {
  text-decoration: none !important;
}










#preloader {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  width: 100vw; height: 100vh;
  background: #fff; /* или любой фон */
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.7s cubic-bezier(.44,1.26,.72,1.01);
}
#preloader.hide {
  opacity: 0;
  pointer-events: none;
}
.preloader-inner img {
  width: 320px; /* подгони под себя */
  height: auto;
  animation: fade-in 1s cubic-bezier(.44,1.26,.72,1.01);
}
@keyframes fade-in {
  from { opacity: 0; transform: scale(0.9);}
  to { opacity: 1; transform: scale(1);}
}

/* Мобильная адаптация */
@media (max-width: 768px) {
  .mod-banners {
  margin-top: 180px;
}
}
