@font-face {
  font-family: 'Open Sans';
  src: url('OpenSans-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  src: url('Montserrat-Regular.ttf') format('truetype');
}

/* Основные стили для десктопа */
.active {
  background-color: transparent !important;
}
body {
  font-family: "Montserrat", sans-serif !important;
}
@media (min-width: 992px) {
  .dropdown-menu {
      display: none !important;
      position: absolute !important;
      top: 100% !important;
      left: 0 !important;
      z-index: 1000 !important;
      min-width: 160px !important;
      background-color: #020202 !important;
      padding: 10px 0 !important;
  }
  
  .dropdown-menu.show {
      display: block !important;
  }
  
  .dropdown:hover .dropdown-menu {
      display: block !important;
  }
  
  .menu-content {
      display: flex !important;
      align-items: center !important;
  }
  
  .dropdown-menu a:hover {
      background-color: rgba(255, 255, 255, 0.1) !important;
  }
}

/* Мобильные стили */
@media (max-width: 991px) {
  .dropdown-menu {
      display: none !important;
      position: static !important;
      width: 100% !important;
      padding: 0 !important;
      background-color: #02020254 !important;
  }
  
  .dropdown-menu.show {
      display: block !important;
  }
  
  .dropdown > a {
      display: block !important;
      width: 100% !important;
      padding: 10px 0 !important;
      color: white !important;
  }
  
  .dropdown-menu a {
      padding: 10px 20px !important;
      color: white !important;
  }
  
  .menu-content .col-md {
      width: 100% !important;
  }
}

/* Скрываем содержимое меню на мобильных устройствах по умолчанию */
.menu-content {
  display: none !important;

}

.menu-content.show {
  display: block !important;
}

.navbar-toggler {
  display: block !important;
  background-color: #000 !important;
  border: none !important;
  font-size: 24px !important;
  color: #fff !important;
  cursor: pointer !important;
}

@media (min-width: 600px) {
  .menu-content {
      display: flex !important;
  }
  
  .navbar-toggler {
      display: none !important;
  }
}

/* Фиксируем меню вверху */
.sticky-top {
  background-color: rgba(47, 46, 46, 0.629) !important;
  backdrop-filter: blur(10px) !important;
  z-index: 1020 !important;
  transition: top 0.3s !important;
}

/* Общий стиль для всех ссылок в меню */
.nav__link a {
  margin-top: 22px;
  position: relative; /* Чтобы стрелка позиционировалась относительно ссылки */
 /* Дополнительное пространство для стрелки */
  display: inline-block; /* Чтобы padding работал корректно */
}

.nav__link a::after {
  content: ">" /* Стрелка вправо */;
  position: absolute;
/* Позиционирование стрелки справа */
  top: 50%; /* Вертикальное центрирование относительно текста */
  transform: translateY(-50%) rotate(90deg) scaleX(0); /* Поворот стрелки на 90 градусов и скрытие */
  transform-origin: center center;
  transition: transform 0.3s ease;
  font-size: 25px; /* Размер стрелки */
  font-weight: 100;
  color: #ffffff; /* Цвет стрелки */
}

.nav__link a:hover::after,
.nav__link a:focus::after {
  transform: translateY(-50%) rotate(90deg) scaleX(1); /* Показ стрелки при наведении и нажатии */
}


/* Убираем подчеркивание и изменяем цвет ссылок */
a {
  text-decoration: none !important;
  /* color: #000000 ; */
}

a:hover {
  color: #E80703 !important;
}

a:hover svg path {
  fill: #E80703 !important;
}

/* Стили для h1 */
h1 {
  padding-top: 4rem;
  padding-bottom: 2rem;
}

/* Стили для различных элементов */
.bf__line_black {
  color: #000 !important;
  --bs-border-width: 1px;
  border-width: var(--bs-border-width);
  opacity: 1 !important;
}

.header-inpage {
  position: relative !important; /* Обычное позиционирование для внутренних страниц */
  z-index: 1; /* Низкий z-index для внутренних страниц */
  background-color: #52565a9b;
  filter: blur(0px) !important;
  font-weight: 600;
}

.header-inpage::before {
  filter: blur(0px) !important;
}

/* Стили хедера для внутренних страниц */
.header-main {
  position: absolute !important; /* или fixed */
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10; /* Высокий z-index только для главной страницы */
}

.bg-blur {
  position: relative;
}

.bg-blur::before {
  content: "";
  position: absolute;
  overflow: hidden;
  top: 10;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(26, 27, 27, 0.762);
  filter: blur(95px);
  mask-image: linear-gradient(circle, rgb(0, 0, 0) 30%, rgba(255, 0, 0, 0.5) 80%);
  pointer-events: none;
}

.my-glide {
  position: relative;
  z-index: 1;
}

.header_contacts{
     z-index: 1;
}


.bg-blur a {
  position: relative;
  color: #fff4f4 ;
  text-decoration: none;
  /* z-index: 222222; */
}
.bg-blur span {
  position: relative;
  color: #fff4f4 ;
  text-decoration: none;
  /* z-index: 222222; */
}


.bg-blur .dropdown-item {
  position: relative;
  color: #ffffff ;
  text-decoration: none;
}

.img__hover:hover {
  /* filter: contrast(40%); */
}
.custom-item {
  background-color: transparent !important;

  font-size: 1rem !important;
  padding: 10px 20px !important;
}

/* Приоритетное удаление синих фонов и оформления при наведении */
.custom-item:hover,
.custom-item:focus,
.custom-item:active {
  background-color: transparent !important;
  text-decoration: none !important;
}

.custom-item:focus {
  outline: none !important;
}
/* Кнопки */
.about_button {
  background-color: #e80703;
  color: white;
  border: none;
  width: 32vh;
  height: 8vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3vh;
  cursor: pointer;
  font-weight: 700;
  text-decoration: none; /* Убирает подчеркивание у ссылки */
}

.about_button:hover {
  background-color: #d10603; /* Изменение цвета фона при наведении */
  color: #000 !important; /* Изменение цвета текста при наведении */
}

.about_button a {
  color: inherit; /* Наследование цвета текста от родителя */
  text-decoration: none; /* Убирает подчеркивание у ссылки */
}

.about_button a:hover {
  color: inherit; /* Оставляем цвет текста таким же, как у родителя, чтобы не было изменений при наведении на ссылку внутри кнопки */
}


.service {
  background-color: #e80703;
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3vh;
  padding: 1em;
}

.traectory {
  background-color: #e80703;
  color: white;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3vh;
  padding: 1em;
}

.traectory {
  width: 22em;
  height: 151px;
}

.service {
  width: 24em;
  height: 151px;
  /* position: relative; */
  top: 110px;
}

@media (max-width: 1430px) {
  .service {
      position: static;
  }
}

.services_directions {
  height: 410px;
}

.services_text {
  background-color: rgba(0, 0, 0, 0.562);
  color: #ffffff;
  height: 125px;
  display: flex;
  font-size: 24px;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-weight: 600;
}

.awards_block {
  margin-top: -10em;
}

.news_block {
  margin-top: 2em;
}

.awards {
  background-color: #e80703;
  color: white;
  border: none;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5rem;
  font-weight: 700;
}

.awards_img {
  height: 420px;
}

.gallery__text {
  font-weight: 600;
  font-size: 3vh;
}

.title_text {
  font-family: "Open Sans", sans-serif;
  font-size: 3.5vh;
}

.contact_text,
.contact__us a {
  font-weight: 600;
}

.copyryting {
  margin-left: 52px;
}

.glide {
  position: relative;
  height: 420px;
}

.glide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.glide__slide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.glide__arrows {
  position: relative;
  display: flex;
  justify-content: right;
  gap: 12px;
  /* margin-top: -40px; */
}


.glide__arrow {
  background-color: rgb(255, 255, 255);
  color: rgb(0, 0, 0);
  border: solid 2px #000000;
  font-size: 2rem;
  width: 60px;
  height: 60px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .glide {
      height: 300px;
  }

  .glide__arrow {
      font-size: 1.5rem;
      width: 50px;
      height: 50px;
  }

  .awards p {
      font-size: 1.5rem;
  }
}

@media (max-width: 576px) {
  .glide {
      height: 250px;
  }
  .my-glide {
    max-height: 300px !important;
  }

  .about_button{
    margin-bottom: 22px;
  }
  .glide__arrows {
    margin-top: -436px;
    justify-content: center;
  }

  .glide__arrow {
      font-size: 2.2rem;
      width: 70px;
      height: 70px;
  }

  .awards p {
      font-size: 1.2rem;
  }
}

.read_more {
  color: #000000 !important;
  text-decoration: underline !important;
  font-size: 24px;
}

.text_news {
  font-size: 20px;
}

.news {
  height: 540px;
}

.accept_info {
  color: #ffffff !important;
  font-size: 16px;
}

.inpage_main_text {
  font-family: "Open Sans", sans-serif;
  font-size: 2.5vw;
}

@media (max-width: 800px) {
  .inpage_main_text {
      font-size: 2rem;
  }
  .awards_block{
    margin-top: 0px;
  }
}

.inpage_text p {
  font-size: 3vh;
  font-weight: 500 !important;
  color: #000 !important;
}

.inpage_text img {
  height: 400px;
}

.text__up{
  font-size: 1.6vh;
}
.nav__text {
  font-size: 2.1vh;
  white-space: nowrap;
}


.arrow__head {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.arrow__head::after {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAALCAYAAAByF90EAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgSURBVHgBpc6LCcAgDATQjNAROoIbdzRH6AjXs4gE8ZPEgwNB76EIA+CWYNqWh8S+7CPOlA2bf0xB8GAVQd2m/lcmbIioSxO2RKyYCdlhLmSGhZAJFkM6LB8hCrtKd+8+7WP2N8Y4W0YAAAAASUVORK5CYII=');
  width: 14px; /* Размер иконки */
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  margin-top: 7px;
  margin-left: 5px; /* Отступ слева от текста */
  display: inline-block; /* Важно для выравнивания */
  vertical-align: middle; /* Для корректного выравнивания */
}









input[type="text"]::placeholder,
input[type="tel"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
  color: #fff;
}
input[type="text"],
input[type="tel"],
input[type="email"]:focus {
  outline: none;
}

::selection {
  background-color: #e80703;
  color: #ffffff;
}

[type="checkbox"] {
  appearance: none;
  border: 1px solid #ffffff;
  aspect-ratio: 1;
  box-sizing: border-box;
  font-size: 14px;
  width: 24px;
  height: 24px;
  background-color: transparent;
  cursor: pointer;
  position: relative;
  margin-right: 0.5em;
}

[type="checkbox"]:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 7px;
  width: 8px;
  height: 16px;
  border-right: 3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform: rotate(45deg);
}


.noselect {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

input[type="text"],
input[type="tel"],
input[type="email"],
textarea {
  border: 2px solid #ffffff;
  background: transparent;
  width: 100%;
  color: #ffffff;
  margin: 1rem;
  padding: 1rem;
}


textarea {
  border: 1px solid #ffffff;
  height: 172px;
}
.my-glide {
  position: relative;
  overflow: hidden;
}

.my-glide__track {
  height: 40%;
  width: 100%;
}

.my-glide__slides {
  display: flex;
  flex-wrap: nowrap; /* Избегаем переноса слайдов */
}

.my-glide__slide {
  flex: 0 0 auto;
  width: 33.33%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.my-glide__slide img {
  width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain; /* Полностью помещаем картинку в контейнер */
  display: block;
}
@media (max-width: 1000px) {
  .awards {
    height: inherit !important; /* Увеличиваем ширину для более крупных слайдов на меньших экранах */
  }
}


/* Адаптивные стили для разных экранов */
@media (max-width: 1024px) {
  .my-glide__slide {
    width: 50%; /* Увеличиваем ширину для более крупных слайдов на меньших экранах */
  }
}

@media (max-width: 768px) {
  .my-glide__slide {
    width: 100%; /* Один слайд на экран для мобильных устройств */
  }
}


.my-glide__arrow {
  width: 50px;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.5);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
  cursor: pointer;
  z-index: 1000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.my-glide__arrow--left {
  left: 10px;
}

.my-glide__arrow--right {
  right: 10px;
}

.my-glide__arrows {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
}
.slide-content {
  position: absolute;
  width: 50%;  /* Ширина зависит от экрана */
  top: 20px;  /* Расположение по вертикали */
  left: 5%;  /* Отступ от левого края */
  color: white;  
  background: rgba(0, 0, 0, 0.5);
  padding: 10px;
  border-radius: 5px;  
  max-width: 90%;  /* Максимальная ширина блока не больше 90% экрана */
}

.slide-content h6 {
  margin: 0;
  font-size: 1.2em;  /* Размер шрифта заголовка адаптируется */
}

.slide-content p {
  margin: 5px 0 0;
  font-size: 1.7rem;  /* Описание также станет гибким */
}

/* Медиазапросы для адаптации на меньших экранах */
@media (max-width: 768px) {
  .slide-content {
    width: 100%;
    left: 0;
    padding: 8px;
  }

  .slide-content h6 {
    font-size: 1.1em;  /* Меньший шрифт для заголовка */
  }

  .slide-content p {
    font-size: 1.4em;  /* Меньший шрифт для описания */
  }
}

@media (max-width: 900px) {
  .slide-content {
    top: 10px;
    padding: 5px;
  }

  .slide-content h6 {
    font-size: 1em;  /* Ещё меньше на маленьких экранах */
  }

  .slide-content p {
    font-size: 0.8em;
  }
}

table {
  margin-top: 20px !important;
  font-weight: 500;
  /* font-size: 3vh; */
  /* border: 1px solid #040404 !important; */
  width: 100% !important;
  overflow-x: auto; /* Enable horizontal scrolling */
  display: block; /* Allow table to scroll */
}

table thead th {
  color: #333 !important;
  font-weight: bold !important;
  text-align: left !important;
  border: 1px solid #000000 !important;
}

table tbody td {
  color: #333 !important;
  vertical-align: middle !important;
  border: 1px solid #000000 !important;
  padding: 43px !important;
}

table td,
table th {
  padding: 12px !important;
  border-color: #dee2e6 !important;
}

/* Responsive Adjustments */
@media (max-width: 1200px) {
  table {
    /* font-size: 2.5vh; */
  }
  table tbody td {
    padding: 35px !important;
  }
}

@media (max-width: 992px) {
  table {
    /* font-size: 2.2vh; */
  }
  table tbody td {
    padding: 30px !important;
  }
}

@media (max-width: 768px) {
  table {
    /* font-size: 2vh; */
  }
  table tbody td {
    padding: 25px !important;
  }
}

@media (max-width: 576px) {
  table {
    /* font-size: 1.8vh; */
  }
  table tbody td {
    padding: 20px !important;
  }
  table td,
  table th {
    padding: 8px !important;
  }
}

@media (max-width: 400px) {
  table {
    /* font-size: 1.5vh; */
  }
  table tbody td {
    padding: 15px !important;
  }
}

.post .post-content .post-img img {
  max-height: 400px;
  width: 100%;
  object-fit: cover; /* или можно использовать contain, если нужно вписать изображение полностью */
  margin-top: 15px;
  margin-bottom: 25px;
}




ul.pagination {
  display: flex;
  justify-content: center; /* Центрирование по горизонтали */
  list-style: none;
  padding: 0;
  margin: 20px 0; /* Отступы сверху и снизу для удобства */
}

ul.pagination li {
  margin: 0 5px;
}

ul.pagination li a, 
ul.pagination li span {
  display: block;
  padding: 8px 12px;
  color: #292c2f;
  text-decoration: none;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  transition: background-color 0.3s;
}

ul.pagination li a:hover {
  background-color: #e9ecef;
}

ul.pagination li.active a {
  background-color: #292c2f;
  color: white;
  border-color: #292c2f;
}

ul.pagination li.disabled span {
  color: #6c757d;
  background-color: #e9ecef;
  border-color: #dee2e6;
  cursor: not-allowed;
}

ul.pagination li.prev a, 
ul.pagination li.next a {
  font-weight: bold;
}

ul.pagination li.prev.disabled span,
ul.pagination li.next.disabled span {
  background-color: #f8f9fa;
  color: #adb5bd;
}

.about__block{
  margin-top: -11vh;
}