

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPBold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPBoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPBook.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPLight.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPLightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
}

@font-face {
    font-family: 'HP';
    src: url('../../fonts/custom/HPRegular.woff2') format('woff2');
    font-weight: 401;
    font-style: normal;
}

html, body {
    height: 100%;
}

body {
    font-family: 'Open Sans','Mulish', 'HP', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.2;
    color: #002366;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

h1, h2, h3 {
    color: #002366;
    line-height: 1.2;
    font-weight: 400;
    font-family: HP;
}

h1 {
    font-size: 2.5em;
    border-bottom: 2px solid #002366;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

h2 {
    font-size: 2em;
    margin-top: 40px;
    border-bottom: 5px solid transparent;
    border-image: linear-gradient(to right, turquoise, mediumpurple);
    border-image-slice: 1;
    margin-bottom: 20px;
    padding-bottom: 5px;
}

h3 {
    font-size: 1.7em;
    margin-top: 30px;
    margin-bottom: 30px;
    font-weight: 300;
}

p {
    margin-bottom: 1.5em;
    font-size: larger;
    font-family: Mulish;
}

ul {
    padding-left: 20px;
    font-family: Mulish;
    font-size: large;
}

li {
    margin-bottom: 5px;
}

table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

tr>th {
    background-color: #e5e5e5;
    font-size: larger;
}

th, td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #ddd;
}

thead th {
    background-color: #3498db;
    color: #ffffff;
    font-weight: bold;
}

tbody tr:nth-of-type(even) {
    background-color: #f3f3f3;
}

tbody tr:hover {
    background-color: #eaf2f8;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px 0;
    border-radius: 5px;
}

.table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.footer-container {
    flex-shrink: 0;
}


/* Подсветка линков */
.lnk {
  text-decoration: none; /* Убираем стандартное подчеркивание */
  color: #333; /* Цвет текста */
  font-weight: bold;
  
  /* Настройки градиента */
  background-image: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
  background-repeat: no-repeat;
  background-size: 100% 40%; /* 40% - толщина подложки снизу */
  background-position: 0 88%; /* Смещение вниз */
  
  transition: background-size 0.25s ease-in; /* Плавная анимация */
}

.lnk:hover {
  background-size: 100% 100%; /* При наведении заливает весь текст */
  color: #000;
}


article section.mb-5 p {
  text-align: justify;
  text-align-last: left;
  
  /* Включаем автоматические переносы слов */
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}






/* Hub Card Styles */
.hub-card {
    position: relative;
    border: 1px solid #002366; /* Default border */
    background-clip: padding-box; /* Important for border pseudo-element */
    padding: 5px; /* Make space for the gradient border */
    background-color: white;
    display: flex;
    transition: border-color 0.7s ease-out;
}

.hub-card:hover {
    border-color: transparent;
}

.hub-card::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    margin: -5px; /* Border thickness */
    background: transparent;
    transition: background 0.3s ease-out;
}

.hub-card:hover::before {
    background: linear-gradient(to right, turquoise, mediumpurple);
}

.hub-card .card-body {
    text-align: left;
}

.hub-card-link .arrow {
    display: inline-block;
    transition: transform 0.3s ease-in-out;
}

.hub-card-link:hover .arrow {
    transform: translateX(10px);
}

/* Резервируем место под иконку, чтобы текст не прыгал, если иконки нет */
.icon-wrapper {
  height: 48px; /* Укажите здесь высоту вашей иконки */
  display: flex;
  align-items: center; /* Центрируем иконку внутри обертки */
}

.icon-wrapper .hub-card-icon {
    height: 25px;
}