@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/Inter/web/InterVariable.woff2") format("woff2");
}

body {
  font-family: InterVariable;
  /* src: url('../fonts/Inter/Inter.ttf') format('truetype'); */
}
.site-name {
  font-family: InterVariable;
  /* src: url('../fonts/Inter/Inter.ttf') format('truetype'); */
}

html {
  font-size: 16px; 
}

#page-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-top: 8rem;
}

.subfooter {
  margin-top: auto; /* прижмёт футер к низу */
}



html,
body {
  height: 100%;
  margin 0;
}
body {
  font-size: 1rem;
  line-height: 1.50;
  color: #333333;
  background-color: #ffffff;
  position: relative;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #333333;
}
h1 {
  font-size: 3rem; 
  font-weight: 500;
  margin-bottom: 1.75rem; /* 20px */
}
h2 {
  font-size: 2rem; /* 28px */
  font-weight: 500;
  margin-bottom: 0.9375rem; /* 15px */
}
h3 {
  font-size: 1.75rem; /* 22px */
}
h4 {
  font-size: 1.375rem; /* 18px */
  font-weight: 500;
}
h5 {
  font-size: 1rem; /* 16px */
  text-transform: uppercase;
  font-weight: 500;
}
h6 {
  font-weight: 500;
}
.lead {
  font-size: 1.5rem;
}
h1 span,
h2 span,
h3 span,
h4 span {
  color: #0066c5;
}
.text-colored {
  color: #0066c5;
}
a {
  color: #0066c5;
}
a:hover {
  color: #0066c5;
}
a:focus,
a:active {
  outline: none;
}
.large {
  font-size: 1.125rem; /* 18px */
}
img {
  display: block;
  max-height: 3.75rem; /* 60px */
  height: auto;
}

.list-unstyled li {
  padding: 0.3125rem 0; /* 5px */
}

.list-horizontal {
  padding: 0.9375rem 0; /* 15px */
}

.list-horizontal-item img {
  display: block;
  margin: 0 auto;
}

.list-icons {
  padding: 0;
  margin: 1.25rem 0; /* 20px */
  list-style: none;
  font-size: 1.125rem; /* 18px */
}

.list-icons li {
  padding: 0 0 0.9375rem 0; /* 15px */
}
blockquote {
  border-left: none;
  padding-left: 0;
  padding-right: 0;
}
.title {
  margin-top: 0;
}

/* Layout
 -*---------------------------------------------------------------------------- */
.header {
  color: #ffffff;
  background-color: rgba(0, 0, 0, 0.65);
  padding: 10px 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.banner {
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: relative;
  color: #fff;
}
.banner-image {
  vertical-align: middle;
  min-height: 100%;
  width: 100%;
  filter: blur(5px);
}
.banner:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.35);
  content: "";
}
.banner-caption {
  position: absolute;
  top: 35%;
  width: 100%;
  /* min-width: 75%; */
  height: 80%;
  z-index: 2;
}
.subfooter {
  background-color: #fff;
  border-top: 1px solid #f3f3f3;
  border-bottom: 1px solid #f3f3f3;
  padding: 40px 0;
}
.section {
  background-color: #ffffff;
  padding: 80px 0;
}

.tech-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  /* grid-template-columns: repeat(3, 1fr); /1* 3 столбца *1/ */
  gap: 30px;
  text-align: center;
  align-items: stretch; /* ВАЖНО: растягивает карточки до одинаковой высоты */
}

.tech-grid a {
  text-decoration: none;
}

.tech-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.10);
  padding: 20px;
  /* max-width: 320px; */
  width: 100%;
  height: 100%; /* тянется от родителя */
  transition: transform 0.3s ease;
  text-align: left;
}

.tech-card:hover {
  transform: translateY(-5px);
}

.tech-card img {
  border-radius: 4px;
  max-height: 20rem;
  object-fit: cover;
  width: 100%;

}

.value-card {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
  padding-top: 30px;
}

.value-card h3 {
  font-size: 2rem;
  font-weight: 500;
}

.value-card:hover {
  transform: translateY(-5px);
  /* box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1); */
}

.why-us-section h3 {
    font-size: 2rem; /* Настрой размер под себя */
}

.why-us-section p {
  margin: 0 auto;
  font-size: 1.2rem;
  font-weight: 300;
}

.icon-wrapper {
  width: 182px;
  height: 182px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #f0f4f8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  justify-items: center;
}

.team-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 16px rgba(0,0,0,0.05);
  padding: 20px;
  width: 100%;
  max-width: 260px;
  text-align: center;
  transition: transform 0.3s ease;
}

.team-card:hover {
  transform: translateY(-5px);
}

.team-card img {
  width: 100%;
  min-height: 250px;
  object-fit: cover;
  border-radius: 6px;
  display: block;
  margin: 0 auto 15px;
  max-width: 100%;
}

/* Стили для карточки «Присоединяйтесь» */
.team-card.join-card {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f8f9fa;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.team-card.join-card .join-content {
  padding: 40px 20px;
}

.team-card.join-card h4 {
  margin-bottom: 0.5rem;
  color: #333;
}

.team-card.join-card p {
  margin: 0;
  color: #0d6efd;
  font-weight: 600;
}


/* .container { */
/*   max-width: 1200px; */
/*   margin: auto; */
/*   padding: 40px 20px; */
/* } */

.section-title {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 40px;
}

.knowledge-grid {
  top: 40%;
  display: grid;
  grid-template-columns: repeat(3, minmax(300px, 1fr));
  gap: 30px 20px;
  /* justify-items: center; */
}

.knowledge-card {
  text-decoration: none;
  color: #fff;
  padding: 20px;
  border-radius: 12px;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.knowledge-card:hover {
  transform: translateY(-5px);
}

.icon-wrap {
  width: 182px;
  height: 182px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.icon-wrap img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

.knowledge-card h3 {
  margin: 0 0 10px;
  font-size: 1.25rem;
  font-weight: 600;
  color: white;
}

.knowledge-card p {
  margin: 0;
  font-size: 14px;
}

.knowledge-grid a:hover, a:focus {
  text-decoration: none;
  color: white;
}

.knowledge-grid a {
  text-decoration: none;
}

.analytics-tile {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.analytics-list {
  list-style: none;
  padding: 0;
  margin: 15px 0;
}

.analytics-list li {
  margin-bottom: 12px;
}

.analytics-list .date {
  font-size: 12px;
  color: #888;
  margin: 0 0 4px;
}

.analytics-list li a {
  font-size: 14px;
  color: #333;
  text-decoration: none;
  line-height: 1.4;
  display: block;
}

.analytics-list li a:hover {
  color: #0066c5;
  text-decoration: underline;
}


.view-all-link {
  font-size: 13px;
  color: #0066c5;
  font-weight: 500;
  cursor: pointer;
}


        .article-section {
            padding-top: 5rem; /* Отступ от фиксированного хедера */
            padding-bottom: 60px;
            background-color: #f8f9fa;
        }
        .article-container {
            max-width: 62.5rem; /* Ограничиваем ширину для лучшей читаемости */
            margin: auto;
            background-color: #ffffff; /* Белый фон для самой статьи */
            padding: 40px 50px;
            border-radius: 8px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.10);
        }
        @media (max-width: 767px) {
            .article-container {
                padding: 30px 25px;
            }
        }

        .btn-back {
            display: inline-flex;
            align-items: center;
            font-family: 'InterVariable', sans-serif;
            font-size: 16px;
            color: #555;
            text-decoration: none;
            transition: color 0.3s ease;
            font-weight: 500;
        }
        .btn-back:hover, .btn-back:focus {
            color: #000;
            text-decoration: none;
        }
        .btn-back .fa {
            margin-right: 8px;
        }

        .article-header {
            margin-top: 2rem;
            margin-bottom: 2rem;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid #e9ecef;
        }
        .article-date {
            font-family: 'InterVariable', sans-serif;
            font-size: 14px;
            color: #6c757d;
            margin-bottom: 0.5rem;
            display: block;
        }
        .article-title {
            font-family: 'InterVariable', sans-serif;
            font-size: 2.5rem;
            font-weight: 700;
            line-height: 1.2;
            color: #212529;
            margin: 0;
        }
        @media (max-width: 767px) {
            .article-title {
                font-size: 2rem;
            }
        }
        
        .article-body {
            color: #333;
            font-family: 'InterVariable', sans-serif;
        }
        .article-body .lead {
            font-size: 1.25rem;
            line-height: 1.6;
            font-weight: 400;
            color: #555;
            border-left: none; /* Более современный синий */
            padding-left: 25px;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
        .article-body p:not(.lead) {
            font-size: 1.2rem;
            line-height: 1.6;
            font-weight: 400;
            padding-left: 25px;
            margin-top: 2rem;
            margin-bottom: 2rem;
        }
         /* === Стили для таблицы === */
        .table-container {
            margin: 2.5rem 0;
            overflow-x: auto; /* Для адаптивности на мобильных */
        }
        .rates-table {
            width: 100%;
            border-collapse: collapse;
            font-family: 'InterVariable', sans-serif;
        }
        .rates-table th, .rates-table td {
            padding: 12px 15px;
            text-align: left;
            border-bottom: 1px solid #dee2e6;
            vertical-align: middle;
        }
        .rates-table th {
            font-weight: 500;
            font-size: 0.9rem;
            color: #6c757d;
            text-transform: uppercase;
            background-color: #f8f9fa;
        }
        .rates-table td {
            font-size: 1rem;
            color: #333;
        }
        .rates-table tbody tr:last-child td {
            border-bottom: none;
        }

        /* === Стили для блока "овернайт" === */
        .overnight-rates-block {
            margin-top: -1px; /* Примкнуть к таблице */
            padding: 20px 15px;
            background-color: #f8f9fa;
            border-top: 2px solid #dee2e6;
        }
        .overnight-rates-block .title {
            font-weight: 500;
            font-size: 14px;
            color: #6c757d;
            text-transform: uppercase;
            margin-bottom: 15px;
        }
        .overnight-rates-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
            gap: 15px;
        }
        .overnight-rate {
            font-size: 16px;
        }
        .overnight-rate strong {
            font-weight: 500;
            margin-right: 8px;
            color: #333;
        }


/* Backgrounds
 -*---------------------------------------------------------------------------- */
.default-bg {
  background-color: #222222;
  color: #ffffff;
}
.default-bg.blue {
  background-color: #55acee;
}
.translucent-bg {
  color: #ffffff;
}
.default-bg h1,
.default-bg h2,
.default-bg h3,
.default-bg h4,
.default-bg h5,
.default-bg h6,
.translucent-bg h1,
.translucent-bg h2,
.translucent-bg h3,
.translucent-bg h4,
.translucent-bg h5,
.translucent-bg h6 {
  color: #ffffff;
}
.default-bg blockquote footer,
.translucent-bg blockquote footer {
  color: #cccccc;
}
.default-bg a,
.translucent-bg a {
  color: #ffffff;
  text-decoration: underline;
}
.default-bg a:hover,
.translucent-bg a:hover {
  text-decoration: none;
}
.translucent-bg {
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position: 50% 0;
  background-repeat: no-repeat;
  z-index: 1;
  position: relative;
}
.translucent-bg .translucent-bg {
  margin-top: 80px;
  z-index: 3;
}
.translucent-bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.translucent-bg.blue:after {
  background-color: rgba(85, 172, 238, 0.7);
}
.translucent-bg .container {
  z-index: 3;
  position: relative;
}
.bg-image-1 {
  background: url("../images/bg-image-1.jpg") no-repeat center center;
  background-size: cover;
}
.bg-image-2 {
  background: url("../images/bg-image-2.jpg") 50% 0px no-repeat;
}

/* Misc
 -*---------------------------------------------------------------------------- */
.object-non-visible {
  opacity: 0;
  filter: alpha(opacity=0);
}
.object-visible,
.touch .object-non-visible {
  opacity: 1 !important;
  filter: alpha(opacity=100) !important;
}

/* Targeting only Firefox for smoothest animations */
@-moz-document url-prefix() {
  .object-visible,
  .touch .object-non-visible {
	-webkit-transition: opacity 0.6s ease-in-out;
	-moz-transition: opacity 0.6s ease-in-out;
	-o-transition: opacity 0.6s ease-in-out;
	-ms-transition: opacity 0.6s ease-in-out;
	transition: opacity 0.6s ease-in-out;
  }
}
.space {
  padding: 40px 0;
}
.pr-10 {
  padding-right: 10px;
}
.pl-10 {
  padding-left: 10px;
}
.pb-clear {
  padding-bottom: 0;
}

/* Sections
 -*---------------------------------------------------------------------------- */
.banner-caption h1,
.banner-caption h2,
.banner-caption h3,
.banner-caption h4,
.banner-caption h5,
.banner-caption h6 {
  color: #ffffff;
}
.banner-caption h1 {
  font-size: 5rem;
  font-weight: 500;
}
.banner-caption p {
  /* font-size: 1.7rem; */
  font-weight: 350;
  line-height: 1.2;

}
.subfooter p {
  margin-bottom: 0;
}


.subfooter {
  margin-top: auto; /* прижмёт футер к низу */
}


/* Template Components
 -*---------------------------------------------------------------------------- */
/* Buttons
 -*--------------------------------- */
.btn {
  padding: 10px 15px;
    font-size: 1.1rem;
    font-weight: 550;
  line-height: 1.2;
  min-width: 160px;
  text-align: center;
  border-radius: 0;
  text-transform: uppercase;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border-radius: 20px;
}
.btn-default {
  color: #333;
  border: 2px solid #cccccc;
}
.btn-default:hover {
  color: #ffffff;
  background-color: #0066c5;
  border-color: #0066c5;
}
.btn-default:focus {
  color: #333;
  background-color: #fff;
  border: 2px solid #cccccc;
}

/* Добавь это в конец style.css */
#banner .btn-default {
    background-color: transparent;     /* Фирменный синий */
    border: 1px solid #fff;
    color: #ffffff;
}

#banner .btn-default:hover {
    /* background-color: #0066c5;     /1* При наведении становится белой *1/ */
    /* color: #ffffff;                /1* Текст становится синим *1/ */
    transform: translateY(-5px);   /* Легкое всплытие */
}
.space-top {
    margin-top: 60px; /* Увеличили отступ в два раза (было 30px) */
}

/* Кнопка "Наверх" */
.scrollToTop {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: white; /* Твой фирменный синий */
    color: #333;
    border-radius: 50%;
    text-align: center;
    line-height: 50px; /* Центрируем иконку по вертикали */
    font-size: 1rem;
    cursor: pointer;
    display: none; /* Скрыта по умолчанию */
    z-index: 9999;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.scrollToTop:hover {
    transform: translateY(-5px); /* Легкий эффект при наведении */
}

/* Иконка внутри (если не подхватится автоматически) */
.scrollToTop i {
    font-style: normal;
}

/* Collapse
 -*--------------------------------- */
.panel-group .panel {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  border: none;
}
.panel-default > .panel-heading {
  padding: 0;
  outline: none;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  width: 100%;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border: 1px solid #f0f0f0;
  border-top: none;
  background-color: #fafafa
}
.panel-heading a {
  font-weight: 400;
  padding: 12px 35px 12px 15px;
  display: inline-block;
  width: 100%;
  background-color: #55acee;
  color: #ffffff;
  position: relative;
  text-decoration: none;
}
.panel-heading a.collapsed {
  color: #ffffff;
  background-color: #333333;
}
.panel-heading a:after {
  font-family: "FontAwesome";
  content: "\f147";
  position: absolute;
  right: 15px;
  font-size: 14px;
  font-weight: 300;
  top: 50%;
  line-height: 1;
  margin-top: -7px;
}
.panel-heading a.collapsed:after {
  content: "\f196";
}
.panel-heading a:hover {
  text-decoration: none;absolute
  background-color: #55acee;
  color: #ffffff;
}
.panel-title a i {
  padding-right: 10px;
  font-size: 20px;
}

/* Pills
 -*--------------------------------- */
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus,
.nav-pills > li > a:hover {
  background-color: #55acee;
  border-color: #55acee;
  color: #ffffff;
}
.nav-pills > li > a {
  border-radius: 0;
  padding: 8px 20px;
  border: 1px solid #cacaca;
  color: #666666;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 300;
}

/* Forms
 -*--------------------------------- */
.form-control {
  height: 45px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 5px;
}
.form-control-feedback {
  color: #cccccc;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 15px;
}
textarea {
  resize: vertical;
}

/* Modals
 -*--------------------------------- */
.modal-content {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
}
.modal-header {
  background-color: #55acee;
  color: #ffffff;
}
.modal-header h4 {
  color: #ffffff;
}
.modal-header .close {
  font-weight: 300;
  color: #FFFFFF;
  text-shadow: none;
  filter: alpha(opacity=100);
  opacity: 1;
}

/* Large devices (Large desktops 1200px and up) */
@media (min-width:1200px) {
  .modal-lg {
	width: 1140px;
  }
}

/* Media
 -*--------------------------------- */
.media .fa {
  font-size: 24px;
  width: 40px;
  height: 25px;
  line-height: 25px;
  padding: 0 5px;
  text-align: center;
}

/* Navigations
 -*---------------------------------------------------------------------------- */
.header .navbar {
  margin-bottom: 0;
}
.main-navigation .navbar-default {
  background-color: transparent;
  border: none;
}
.main-navigation .navbar-default .navbar-nav > li > a {
  color: #fff;
  padding: 10px 20px;
  font-size: 1.25rem;
  font-weight: 400;
}
.main-navigation .navbar-default .navbar-nav > li.active > a {
  background-color: transparent;
  color: #55acee;
}
.main-navigation .navbar-default .navbar-nav > li > a:hover,
.main-navigation .navbar-default .navbar-nav > li.active > a:hover {
  color: #55acee;
}
@media (min-width:768px) {
  .main-navigation .navbar-default .navbar-nav > li > a {
	padding-top: 30px;
	padding-bottom: 30px;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
  }
  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }
:
}
@media (min-width:768px) and (max-width:991px) {
  .main-navigation .container-fluid {
	padding-left: 0;
	padding-right: 0;
  }
  .navbar-nav {
	float: left !important;
  }
  
  #page-wrapper {
    padding-top: 14rem;
  }

  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }

  .banner-caption {
	top: 25%;
  }
  .banner-caption h1 {
	font-size: 3rem;
  }


}
@media (max-width:767px) {
  .full-name,
	.full-slogan {
		display: none !important;
	}
  #page-wrapper {
    padding-top: 8rem;
  }
  .tech-grid {
    grid-template-columns: repeat(1, 1fr); 
}

  .short-name,
	.short-slogan {
		display: block !important;
	}
  .header.navbar-fixed-top {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	transition: top 0.3s ease-in-out;
  }

  /* Исправление выравнивания header'а в мобильном режиме */
  .header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	padding-left: 15px;
	padding-right: 15px;
	max-width: 100%;
	position: relative;
  }

.header .row {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0;
    height: 5rem;
  }

  .header .col-md-4,
  .header .col-md-8 {
	padding: 0;
	width: auto;
	flex: none;
  }

  .header .col-md-4 {
	flex: 1;
	min-width: 0; /* позволяет flex-элементу сжиматься */
	overflow: hidden;
  }

  .header .col-md-8 {
	flex: none;
	position: relative; /* Добавляем для позиционирования выпадающего меню */
  }

  .navbar-header {
	display: flex;
	align-items: center;
	justify-content: flex-end;
  margin-left: auto;
  }

  /* Убираем лишние отступы у логотипа и названия */
  /* .logo-and-title { */
	/* margin: 0; */
	/* min-width: 0; */
	/* overflow: hidden; */
	/* display: flex; */
	/* align-items: center; */
	/* flex-wrap: nowrap; */
  /* } */

  .logo {
	margin: 5px 8px 5px 0;
	flex-shrink: 0;
  }

  .logo img {
	max-height: 40px;
  display: block;
  }

  .site-name-and-slogan {
    display: flex;
    flex-direction: column;
	min-width: 0;
	overflow: hidden;
	flex: 1;
  }

  /* .site-slogan { */
	/* font-size: 0.65rem; */
	/* white-space: nowrap; */
	/* overflow: hidden; */
	/* text-overflow: ellipsis; */
	/* margin: 0; */
	/* line-height: 1.2; */
  /* } */

  /* Стили для burger кнопки */
  .navbar-toggle {
	margin: 0;
	padding: 9px 10px;
	border: 1px solid transparent;
	border-radius: 4px;
	background-color: transparent;
	flex-shrink: 0;
  }

  .navbar-toggle:hover,
  .navbar-toggle:focus {
	background-color: rgba(255, 255, 255, 0.1);
  }

  .navbar-toggle .icon-bar {
	background-color: #fff;
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 1px;
	margin: 4px 0;
  }

  /* ИСПРАВЛЕНИЕ ПОЗИЦИОНИРОВАНИЯ ВЫПАДАЮЩЕГО МЕНЮ */
  .main-navigation {
	position: relative;
  }

  .navbar-collapse {
	/* position: absolute; */
	top: 100%;
	left: -15px; /* Выравниваем с левым краем контейнера */
	right: -15px; /* Выравниваем с правым краем контейнера */
	width: auto;
	background-color: rgba(0, 0, 0, 0.95);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	z-index: 1000;
	margin: 0;
	border-radius: 0;
	border: none;
	/* Добавляем анимацию */
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	/* Скрываем по умолчанию */
	max-height: 0;
	overflow: hidden;
	opacity: 0;
  }

  .navbar-collapse.in {
	display: block !important;
	max-height: 300px; /* Достаточно для всех пунктов меню */
	opacity: 1;
  }

  .navbar-collapse.collapsing {
	display: block !important;
	overflow: hidden;
  }

  .main-navigation .navbar-default .navbar-nav {
	margin: 0;
	padding: 0;
	float: none;
  }

  .main-navigation .navbar-default .navbar-nav > li {
	display: block;
	width: 100%;
	float: none;
  }

  .main-navigation .navbar-default .navbar-nav > li > a {
	display: block;
	padding: 15px 30px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	text-align: left;
	font-size: 16px;
	color: #fff;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
  }

  .main-navigation .navbar-default .navbar-nav > li:last-child > a {
	border-bottom: none;
  }

  .main-navigation .navbar-default .navbar-nav > li > a:hover,
  .main-navigation .navbar-default .navbar-nav > li.active > a {
	background-color: rgba(85, 172, 238, 0.2);
	color: #55acee;
  }

  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }
  .banner-caption {
	top: 25%;
  }
  .banner-caption h1 {
	font-size: 3rem;
  }

}

/* Fixed Header
 -*---------------------------------------------------------------------------- */
.fixed-header-on .header {
  background-color: rgba(0, 0, 0, 0.65);
  padding: 5px 0;
}
.fixed-header-on .site-name {
  font-size: 20px;
}
.fixed-header-on .logo {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width:768px) {
  .fixed-header-on .navbar-default .navbar-nav > li > a {
	padding-top: 20px;
	padding-bottom: 20px;
  }
}
@media (max-width:991px) {
  .fixed-header-on .logo,
  .fixed-header-on .site-name,
  .fixed-header-on .site-slogan {
	display: none;
  }
  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }
  .banner-caption {
	top: 25%;
  }
  .banner-caption h1 {
	font-size: 3rem;
  }
}

/* Blocks/Widgets
 -*---------------------------------------------------------------------------- */
/* Logo, Site Name, Site Slogan
 -*--------------------------------- */
.logo {
  margin: 10px 10px 10px 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.logo,
.logo-and-title {
  display: flex;
  align-items: center; /* выравнивание по вертикали */
  /* gap: 10px; /1* расстояние между логотипом и текстом *1/ */
  flex-wrap: nowrap; /* не переносить на новую строку */
}
.site-name-and-slogan {
  display: flex;
  flex-direction: column;
  white-space: nowrap; /* запрет на перенос строк */
}
.site-name {
  font-size: 1.8rem;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.site-name a {
  color: #ffffff;
}
.site-name a:hover {
  text-decoration: none;
}

.short-name,
.short-slogan {
	display: none;
}

/* Testimonials
 -*--------------------------------- */
.testimonial .media-left {
  width: 60px;
}

/* Social Links
 -*--------------------------------- */
.social-links {
  padding: 0;
  list-style: none;
  margin: 15px 0;
}
.social-links li {
  margin: 10px 25px 10px 0;
  display: inline-block;
  font-size: 36px;
}
.social-links li a {
  color: #333333;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.social-links li.twitter a:hover {
  color: #55acee;
}
.social-links li.skype a:hover {
  color: #00aff0;
}
.social-links li.linkedin a:hover {
  color: #0976b4;
}
.social-links li.googleplus a:hover {
  color: #dd4b39;
}
.social-links li.youtube a:hover {
  color: #b31217;
}
.social-links li.flickr a:hover {
  color: #ff0084;
}
.social-links li.facebook a:hover {
  color: #3b5998;
}
.social-links li.pinterest a:hover {
  color: #cb2027;
}

.filters {
  margin: 0 0 30px 0;
}
.filters .nav-pills > li {
  margin-right: 2px;
  margin-bottom: 2px;
}
.filters .nav-pills > li + li {
  margin-left: 0px;
}
.text-center.filters .nav-pills > li {
  margin-right: 2px;
  margin-left: 2px;
  margin-bottom: 2px;
  display: inline-block;
  float: none;
}
.isotope-container {
  overflow: hidden;
}
.isotope-item {
  margin-bottom: 20px;
}
.isotope-item .btn-default {
  color: #999999;
}
.isotope-item .btn-default:hover {
  color: #ffffff;
}
@media (max-width:480px) {
  .filters .nav-pills > li {
	width: 100%;
	display: block;
  }
}

.overlay-container {
  position: relative;
  display: block;
  overflow: hidden;
}
.overlay {
  position: absolute;
  top: 0;
  bottom: -1px;
  left: 0;
  right: -1px;
  background-color: rgba(85, 172, 238, 0.9);
  cursor: pointer;
  overflow: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: all linear 0.2s;
  -moz-transition: all linear 0.2s;
  -ms-transition: all linear 0.2s;
  -o-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.overlay:hover {
  text-decoration: none;
}
.overlay span {
  position: absolute;
  display: block;
  bottom: 10px;
  text-align: center;
  width: 100%;
  color: #ffffff;
  font-size: 13px;
  font-weight: 300;
}
.overlay i {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 18px;
  line-height: 1x;
  color: #ffffff;
  margin-top: -8px;
  margin-left: -8px;
  text-align: center;
}
.overlay-container:hover .overlay {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  transform: scale(1);
}

@keyframes fadeInUp-expand {
  from {
    opacity: 0;
    transform: translateY(20px); /* Начинаем чуть ниже */
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: translateY(0); /* Заканчиваем в исходной позиции */
    max-height: 9999px; /* Используем большое значение для высоты */
  }
}

.my-expand-enter {
  animation-name: fadeInUp-expand;
  animation-duration: 0.6s;
  animation-fill-mode: both; /* Сохраняет конечное состояние анимации */
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1); /* Более плавная функция времени */
  overflow: hidden;
  will-change: transform, opacity, max-height; /* Подсказка браузеру для оптимизации */
}

/* Анимация для "сворачивания" элемента (плавное исчезание со сдвигом вниз) */
@keyframes fadeOutDown-collapse {
  from {
    opacity: 1;
    transform: translateY(0); /* Начинаем в исходной позиции */
    max-height: 9999px;
  }
  to {
    opacity: 0;
    transform: translateY(20px); /* Заканчиваем чуть ниже */
    max-height: 0;
  }
}

.my-collapse-leave {
  animation-name: fadeOutDown-collapse;
  animation-duration: 0.5s; /* Чуть быстрее, чтобы казалось отзывчивее */
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  will-change: transform, opacity, max-height;
}
/* --- Стили для сворачиваемого контейнера в Базе Знаний --- */

/* Правила для основного контейнера, в котором лежат видимые карточки и обертка */
.knowledge-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; /* Отступ между карточками */
}

/* Правила для нашей обертки, которая содержит скрытые элементы */
.knowledge-hidden-wrapper {
  /* 1. Позиционирование внутри родительской сетки:
     Эта команда растягивает обертку на всю ширину родителя. */
  grid-column: 1 / -1;

  /* 2. Делаем саму обертку сеткой для карточек ВНУТРИ нее. */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px; /* Точно такой же отступ, как у родителя, для единообразия. */

  /* 3. Стили для анимации сворачивания/разворачивания */
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

    <style>
/* ... (существующие стили, которые уже есть в твоем файле) ... */

/* Стили для кнопки "Назад" */
.btn-back {
    display: inline-flex; /* Используем flexbox для выравнивания иконки и текста */
    align-items: center; /* Выравниваем элементы по центру по вертикали */
    gap: 8px; /* Отступ между иконкой и текстом */
    padding: 10px 15px;
    background-color: #f8f9fa; /* Светлый фон */
    border: 1px solid #dee2e6; /* Тонкая рамка */
    border-radius: 5px;
    text-decoration: none;
    color: #333;
    transition: all 0.3s ease;
    margin-bottom: 20px; /* Отступ снизу, когда кнопка сверху */
}

.btn-back i {
    margin-right: 5px; /* Отступ справа для иконки */
}

.btn-back:hover {
    background-color: #e2e6ea;
    border-color: #cdd2d6;
    color: #000;
}

/* Класс для позиционирования кнопки внизу */
.btn-back-bottom {
    position: sticky; /* Делаем кнопку "липкой" */
    bottom: 20px; /* Отступ от нижнего края */
    left: 50%; /* Сдвигаем на 50% влево */
    transform: translateX(-50%); /* Компенсируем сдвиг, центрируем */
    width: auto; /* Ширина по содержимому */
    margin-top: 20px; /* Отступ сверху, когда кнопка снизу */
    margin-bottom: 0; /* Убираем нижний отступ */
    z-index: 1050; /* Чтобы кнопка была поверх содержимого модального окна */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1); /* Небольшая тень для выделения */
    white-space: nowrap; /* Чтобы текст не переносился */
}


/* --- Адаптивность --- */
@media (max-width: 991px) {
  .knowledge-grid,
  .knowledge-hidden-wrapper {
    grid-template-columns: repeat(1, 1fr);  
  }
  .modal-body { padding: 10px 20px ; min-height: 150px; padding-bottom: 20px; }
}

@media (max-width: 767px) {
  .knowledge-grid,
  .knowledge-hidden-wrapper {
    grid-template-columns: 1fr; /* 1 колонка на мобильных */
  }
  .modal-body { padding: 0px ; min-height: 150px; padding-bottom: 20px; }

}
      
      
      /* --- Основные стили для новых секций --- */
      .article-container {
    display: flex;
    flex-direction: column; /* Элементы внутри контейнера располагаются вертикально */
}
      .analytics-list-section, .knowledge-section {
          padding-top: 60px;
          padding-bottom: 60px;
          font-family: 'InterVariable';
      }
      .article-preview-item, .knowledge-card {
          margin-bottom: 2rem;
          /* Убираем transition отсюда, чтобы он не конфликтовал с JS-анимацией */
      }
      .article-preview-item {
          background-color: #fff;
          padding: 25px 30px;
          border-radius: 8px;
          box-shadow: 0 4px 15px rgba(0,0,0,0.05);
          transition: box-shadow 0.3s ease; /* Оставляем только для hover-эффекта */
      }
      .article-preview-item:hover {
          box-shadow: 0 6px 20px rgba(0,0,0,0.08);
      }
      .article-preview-item .article-date {
          font-size: 14px;
          color: #6c757d;
          margin-bottom: 0.5rem;
          display: block;
      }
      .article-preview-item .article-title {
          font-size: 1.8rem;
          font-weight: 400;
          margin-top: 0;
          margin-bottom: 1rem;
      }
      .article-preview-item .article-title a {
          text-decoration: none;
          color: #212529;
          transition: color 0.3s ease;
      }
      .article-preview-item .article-title a:hover {
          color: #0d6efd;
      }
      .article-preview-item .article-excerpt {
          font-size: 1.1rem;
          line-height: 1.7;
          color: #555;
          margin-bottom: 1.5rem;
      }
      .article-preview-item .btn-read-more {
          font-weight: 500;
          text-decoration: none;
          color: #0066c5;
          transition: color 0.3s ease;
      }
      .article-preview-item .btn-read-more:hover {
          color: #0b5ed7;
      }
/* Контейнер для кнопки закрытия - ВСЕГДА ВНИЗУ */
.custom-close-button-container {
    position: absolute; /* Позиционируем относительно modal-content */
    bottom: 20px; /* Всегда снизу */
    left: 50%; /* Смещаем к центру */
    right: auto; /* Отменяем правое позиционирование */
    transform: translateX(-50%); /* Центрируем по горизонтали */
    z-index: 1060; /* Выше содержимого модального окна */
    background-color: rgba(255, 255, 255, 0.9); /* Полупрозрачный фон для кнопки */
    border-radius: 50%; /* Круглая форма */
    width: 40px; /* Фиксированный размер */
    height: 40px;
    display: flex; /* Для центрирования крестика внутри круга */
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2); /* Тень для выделения */
    transition: all 0.3s ease; /* Плавный переход, если вдруг изменится что-то */
}

/* Стили для самой кнопки закрытия (крестик) - ВСЕГДА ТЕМНЫЙ */
.custom-close {
    font-size: 2rem;
    color: #333; /* Более темный цвет для крестика на светлом фоне */
    opacity: 1; /* Полная непрозрачность */
    padding: 0; /* Убрать лишний padding, если есть */
    margin: 0; /* Убрать лишний margin, если есть */
    background: none;
    border: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.close {
  font-weight: 400;
}
.custom-close:hover,
.custom-close:focus {
  opacity: 0.8; /* Чуть менее прозрачный при наведении */
  color: #000;
  outline: none; /* Убрать синюю рамку при фокусе */
}
      
      /* --- Стили для модальных окон --- */
      .modal-dialog { width: 800px; max-width: 95%; }
      .modal-content { border: none; border-radius: 8px; box-shadow: 0 4px 25px rgba(0,0,0,0.1); font-family: 'InterVariable', sans-serif; position: relative; }
      .modal-header { position: relative; padding: 25px 40px; border-bottom: 1px solid #e9ecef; background: none; }
      .modal-header .top-close {
    /* Эти стили могут остаться, если у тебя где-то еще есть кнопки с этим классом */
    /* Но для модальных окон они больше не используются */
    position: absolute;
    top: 20px;
    right: 25px;
    font-size: 2rem;
    color: #aaa;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    z-index: 2;
}
      .modal-header .top-close:hover {
    opacity: 1;
    color: #000;
}
      .modal-title { font-family: 'InterVariable', sans-serif; font-size: 2.2rem; font-weight: 500; line-height: 1.3; display: block !important; color: #212529 !important; }
.modal-body {
    overflow-y: auto; /* Добавляем прокрутку, если содержимое превышает высоту */
    max-height: calc(100vh - 180px); /* Пример: высота окна минус хедер/футер/кнопка. Можно настроить. */
    /* Дополнительный отступ снизу, чтобы содержимое не перекрывалось кнопкой, когда она снизу */
    padding-bottom: 60px; /* Отступ больше, чем высота кнопки + нижний отступ */
}
.modal-body p {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 400;
  padding-left: 25px;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.modal-body lead {
  font-size: 1.2rem;
}
      @media (max-width: 576px) {
        .modal-dialog { margin: 20px auto; }
        .modal-header { padding: 16px 20px 10px; }
        .modal-body { padding: 16px 20px; font-size: 0.95rem; }
        .modal-header .top-close { font-size: 1.5rem; top: 12px; right: 16px; }
        .modal-title { font-size: 1.3rem; }
      }

/* --- Единые отступы для секций --- */

/* 1. Настраиваем стандартный отступ для всех основных блоков */
section, 
.section, 
.main-container,
.gray-bg, 
.white-bg {
    padding-top: 80px !important;    /* Отступ сверху */
    padding-bottom: 80px !important; /* Отступ снизу */
    margin-top: 0 !important;        /* Убираем внешние отступы, чтобы они не мешали */
    margin-bottom: 0 !important;
}

/* 2. Исключение для первого блока (баннера), если он есть */
/* Обычно баннеру нужны свои размеры, поэтому сбрасываем стандарт */
.banner, 
.header-top {
    padding-top: initial !important; 
    padding-bottom: initial !important;
}

/* 3. Адаптивность: уменьшаем отступы на мобильных устройствах */
@media (max-width: 768px) {
    section, 
    .section, 
    .main-container,
    .gray-bg, 
    .white-bg {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
}

/* --- Новая сетка для аналитики --- */
#analytics-articles-container {
    display: grid;
    /* На мобильных 1 колонка, на экранах от 768px - 2 колонки */
    grid-template-columns: 1fr; 
    gap: 30px; /* Расстояние между карточками */
}

@media (min-width: 768px) {
    #analytics-articles-container {
        grid-template-columns: 1fr 1fr; /* Две равные колонки */
    }
}

/* --- Новая плавная анимация --- */
@keyframes smoothFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px); /* Слегка выезжает снизу */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Класс, который мы будем добавлять через JS */
.article-fade-in {
    animation: smoothFadeUp 0.5s ease-out forwards;
}

/* Корректировка высоты карточек, чтобы они были одинаковыми */
.article-preview-item {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 0; /* Убираем старый отступ, так как теперь есть gap у сетки */
}

.article-preview-item .btn-read-more {
    margin-top: auto; /* Прижимает кнопку "Читать далее" к низу карточки */
}

/* Анимация исчезновения */
@keyframes smoothFadeDown {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(20px); /* Уезжает вниз и растворяется */
    }
}

.article-fade-out {
    animation: smoothFadeDown 0.5s ease-out forwards;
    pointer-events: none; /* Чтобы нельзя было кликнуть, пока исчезает */
}

