/* Custom styles to complement Bootstrap */

/* Base styles */
* {
  -webkit-font-smoothing: antialiased;
  box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
}

body {
    font-family: "Raleway", sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: #05073C;
    background-color: #F7F8FD;
}

@media (max-width: 576px) {
    body {
        font-size: 16px;
    }
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
}

button {
    cursor: pointer;
}

button:focus-visible {
    outline: 2px solid #4a90e2;
    outline: -webkit-focus-ring-color auto 5px;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 15px;
}

@media (max-width: 1890px) {
    .container {
        padding-right: calc(var(--bs-gutter-x) * 1.5);
        padding-left: calc(var(--bs-gutter-x) * 1.5);
    }
}

@media (max-width: 576px) {
    .container {
        padding-right: 16px;
        padding-left: 16px;
    }
}

h2 {
    font-family: "RAYDIS", Helvetica;
    font-weight: 700;
    font-size: 40px;
    text-transform: uppercase;
    line-height: 130%;
}

@media (max-width: 576px) {
    h2 {
        font-size: 26px;
        word-break: break-word;
    }
}

.mr-1 {
    margin-right: 0.25rem !important;
}
.mr-2 {
    margin-right: 0.5rem !important;
}
.mr-3 {
    margin-right: 1rem !important;
}
.mr-4 {
    margin-right: 1.5rem !important;
}
.mr-5 {
    margin-right: 3rem !important;
}

.pt-6 {
    padding-top: 4.5rem !important;
}
.pb-6 {
    padding-bottom: 4.5rem !important;
}
.py-6 {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
}

/* btn */

.btn-big {
    --bs-btn-padding-y: 0.6rem;
    --bs-btn-padding-x: 2.0rem;
    --bs-btn-font-size: 1.5rem;
    --bs-btn-border-radius: 0.6rem;
}

.btn--white-filled, .btn--white-filled:hover {
    color: #0F33D3;
    background-color: #fff;
}

.btn--blue-filled{
    color: #fff;
    background-color: #0F33D3;
}
.btn--blue-filled:hover{
    color: #fff;
    background-color: #2745cb;
}

.btn-outline, .btn-outline:hover{
    color: #0F33D3;
    background-color: none;
    border: 2px solid #E3E9FF;
}
.btn-big, .btn-big:hover{
    font-weight: 600;
    border-radius: 15px;
    padding: 32px 42px;
}

.btn.btn-square-blue{
    background-color: #0F33D3;
    color: white;

    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    vertical-align: middle;

    border-radius: 8px;
    padding: 10px 24px;
    box-shadow: 2px 4px 0px 0px #B3C8FF;
}
.btn.btn-square-blue:hover{
    box-shadow: none;
    background-color: #0F33D3;
    color: white;
}

.btn-middle, .btn-middle:hover{
    font-weight: 600;
    border-radius: 15px;
    padding: 16px 42px;
}

/* upButton */

.upButton {
    transform: translateY(calc(100% + 64px));
    transition: transform 0.3s linear;
    position: fixed;
    bottom: 20px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
}

.upButton._scrolled {
    transform: translateY(0);
}

.upButton img {
    width: 56px;
    height: 56px;
}

/**/

main.home {
    background-image: url('assets/img/background-main.png');
    background-repeat: no-repeat;
    background-position: bottom center;
    background-size: 100% auto;
}

.modal-xl {
    max-width: 95%;
}

/* Картинка карточки увеличивается */

.hover-resize .hover-resize-img-container {
    overflow: hidden;
}

.hover-resize .hover-resize-img-container img {
    transition: transform 0.3s ease;
    object-fit: cover;
    object-position: center;
}

.hover-resize:hover .hover-resize-img-container img {
    transform: scale(1.05); /* Увеличиваем на 5% */
}

/* Sections */

.section-home {
    padding-top: 100px;
    padding-bottom: 100px;
    position: relative;
}

.section-yellow {
    background-color: rgba(255, 227, 190, 0.5);
}

.section-title-red{
    color: #FF3B00;
}

.section-title-blue{
    color: #0F33D3;
}

.section-title-orange{
    color: #FF7B00;
}

@media (max-width: 576px) {
    .section-home {
        padding-top: 48px;
        padding-bottom: 60px;
    }
}

/* Hero section */

.hero-section {
    /*height: 100vh;
    min-height: 600px;
    max-height: 900px;*/
}

.overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #FFF 80%, #F7F8FD 100%);
    z-index: -1;
}
body.is_index .overlay-gradient {
    background: linear-gradient(to bottom, rgba(249, 249, 249, 0.8) 80%, rgba(249, 249, 249, 0) 100%);
}


/* Header */
.header {
    position: relative;
    top: 0;
    left: 0;
    z-index: 100;
    padding: 15px 0;
}

.header-content {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}

.logo {
    display: block;
}

.logo-container {
    margin-left: 1.5rem !important;
}

@media (max-width: 576px) {
    .logo-container {
        width: 62px;
        margin-left: 0px !important;
    }

}

.nav-container {
    display: flex;
    align-items: center;
}

.language-switcher {
    padding: 4px;
    display: flex;
    margin-right: 34px;
}

.glasses-icon {
    margin-right: 55px;
}
.glasses-icon img{
    min-width: 31px;
}

.right-section {
    position: absolute;
    right: 0px;
    display: flex;
    align-items: center;
}

.navigation {
    gap: 30px; /* Увеличиваем расстояние между элементами в правой части */
}


.language-button {
    padding: 2px 15px 0px 15px;
    border: none;
    background-color: transparent;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 16px;
    color: #5A7FFF;
    cursor: pointer;
    border-radius: 30px;
    transition: all 0.3s ease;
}

.language-button.active {
    background-color: #E3E9FF;
    color: #0f33d3;
    box-shadow: 0 2px 4px rgba(15, 51, 211, 0.1);
}

.header .social-icons {
    display: flex;
    align-items: center;
    margin-right: 84px;
}

.login-block{
    margin-right: 55px;
}

.header__search{
    margin-right: 55px;
}

.header .social-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0f33d3;
    transition: opacity 0.3s ease;
}

.header .social-icon:hover {
    opacity: 0.8;
}

.nav-item {
    text-decoration: none;
    color: #0f33d3;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 14px;
    transition: opacity 0.3s ease;
}

.nav-item:hover {
    opacity: 0.8;
}

@media (max-width: 992px) {
    .header-content {
        flex-wrap: wrap;
    }

    .nav-container {
        margin-top: 10px;
        width: 100%;
        justify-content: flex-end;
    }
}

@media (max-width: 768px) {
    .nav-container {
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .language-button{
        font-size: 12px;
        padding: 2px 13px 0px 13px;
    }
    .language-switcher{
        margin-right: 14px;
    }
    .glasses-icon {
        margin-right: 35px;
    }
}

.category-item {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    text-decoration: none;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
}

.category-item:hover {
    transform: translateY(-5px);
}


.category-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top,
    rgba(0, 0, 0, 0.8) 0%,
    rgba(0, 0, 0, 0) 50%);
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 48px;
}
@media (max-width: 576px) {
    .section-header {
        margin-bottom: 36px;
    }
}

.section-footer{
    margin-top: 26px;
}

.view-all {
    text-decoration: none;
    color: #ff3b00;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 18px;
    transition: opacity 0.3s ease;
}

.view-all:hover {
    opacity: 0.8;
}

.date-text {
    font-family: "Raleway", Helvetica;
    font-weight: 500;
    color: #232323;
    font-size: 14px;
}

/* Стили для стрелок (увеличенные и опущенные) */

.slider-button:hover {
    background-color: rgba(255, 59, 0, 0.2);
    transform: scale(1.05);
}

.slider-button:active {
    transform: scale(0.95);
}

.slider-button svg {
    transition: transform 0.2s ease;
}

/* Адаптация для планшетов */
@media (max-width: 991.98px) {
    .slider-button {
        width: 54px;
        height: 54px;
    }
}

/* Адаптация для мобильных */
@media (max-width: 767.98px) {
    .slider-button {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 575.98px) {

    .view-all {
        font-size: 16px;
    }

    .slider-button {
        width: 44px;
        height: 44px;
    }

    .slider-button svg {
        width: 20px;
        height: 20px;
    }
}

.category-text {
    position: relative;
    z-index: 1;
    padding: 20px;
    font-family: "RAYDIS", Helvetica;
    font-weight: 700;
    color: #f9f9f9;
    font-size: 20px;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: flex-end;
    min-height: 100%;
}

.category-text {
    position: relative;
    z-index: 1;
    padding: 20px;
    font-family: "RAYDIS", Helvetica;
    font-weight: 700;
    color: #f9f9f9;
    font-size: 20px;
    width: 100%;
    margin: 0;
}

.view-all {
    text-decoration: none;
    color: #ff3b00;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 18px;
}

.advertising-banner-home{
    padding-top: 18px;
}

/* Featured Categories */

.banners-most-home{
    background-image: url('assets/img/background-banners-most-home.png');
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;
}

@media (max-width: 576px) {
    .banners-most-home .section-header {
        margin-bottom: 21px;
    }
}

.banners-most-home .card{
    min-height: 240px;
    margin-bottom: 0px;
}

/* Routes section */
.routes-section {
    background-color: #e9efff;

    background-image: url('assets/img/background-routes-section-home.png');
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;

    padding-bottom: 150px;
}

.view-all-routes {
    text-decoration: none;
    color: #0f33d3;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 18px;
}

.duration-text {
    font-family: "Raleway", Helvetica;
    font-weight: 500;
    color: #232323;
    font-size: 16px;
}

@media (max-width: 992px) {
    .routes-section {
        padding-top: 80px;
        padding-bottom: 130px;
    }
}

@media (max-width: 576px) {
    .routes-section {
        padding-top: 60px;
        padding-bottom: 50px;
    }
}

/* events-section */

.events-section {
    padding-bottom: 150px;
}

@media (max-width: 768px) {
    .events-section {
        padding-top: 80px;
        padding-bottom: 106px;
    }
}

@media (max-width: 576px) {
    .events-section {
        padding-top: 60px;
        padding-bottom: 45px;
    }
}

/* services-section */

.services-section{
    background-image: url('assets/img/background-services-section-home.png');
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;

    padding-top: 100px;
    padding-bottom: 188px;
}

@media (max-width: 992px) {
    .services-section{
        padding-top: 80px;
        padding-bottom: 169px;
    }
}

@media (max-width: 576px) {
    .services-section{
        padding-top: 58px;
        padding-bottom: 120px;
    }
    .services-section .section-header {
        margin-bottom: 30px;
    }
}

/* About region section */
.about-region {
    position: relative;
    padding-top: 92px;
    padding-bottom: 0px;
}

.about-region .video-container {
    background-size: cover;
    background-position: center;
    height: fit-content;
    overflow: hidden;
    position: relative;
}

.about-region .video-container video{
    object-fit: cover;
}


.about-region .articles-overlay {
    position: absolute;
    bottom: 68px;
    left: 0;
    right: 0;
    z-index: 3;
    padding: 0 45px;
}

.about-region .article-card {
    background: rgba(199, 198, 198, 0.8);
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    min-height: 215px; /* Фиксированная высота */
}

.about-region .article-title {
    font-family: "Raleway", Helvetica;
    font-weight: 700 !important; /* Жирный шрифт */
    color: #232323;
    font-size: 19px;
    line-height: 24px;
    margin-bottom: 10px; /* Уменьшен отступ */
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Ограничение в 2 строки */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 48px; /* Фиксированная высота под 2 строки */
    text-transform: uppercase;
    white-space: normal;
}

@media (max-width: 1400px) {
    .about-region .articles-overlay {
        padding: 0px;
        margin-top: 30px;
    }
    .about-region .article-card{
        padding: 20px !important;
        background: #AFAFAF00;
        min-height: unset;
        box-shadow: 0px 48px 64px 0px #0000000A;
    }
    .about-region .article-category{
        margin-bottom: 11px;
    }
}

@media (max-width: 768px) {
    .about-region {
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .container.about-region-container{
        padding-right: 0px;
        padding-left: 0px;
    }
}

@media (max-width: 576px) {
    .about-region {
        padding-top: 60px;
        padding-bottom: 78px;
    }
    .about-region .section-header {
        margin-bottom: 20px;
    }
}


/* .article-card::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1.17px;
  border-radius: 24px;
  background: linear-gradient(314deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.49) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: 1;
  pointer-events: none;
} */
.article-card:hover {
    transform: translateY(-5px);
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.1),
    0px 6px 6px rgba(0, 0, 0, 0.05);
}

.article-image {
    width: 166px;
    height: 175px;
    border-radius: 16px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: inline-block;
    margin-right: 15px;
}

.article-details {
    padding: 15px 0px;
    display: inline-block;
    vertical-align: top;
    position: relative;
}

.category-indicator {
    width: 6px;
    height: 6px;
    background-color: #ff3b00;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: 0px;
}

.slider-button
.article-title {
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    color: #232323;
    font-size: 19px;
    line-height: 24px;
    margin-bottom: 36px;
}

.read-more {
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    color: #232323;
    font-size: 14px;
    text-decoration: none;
    margin-top: auto; /* Прижимаем к низу */
    padding-top: 10px; /* Отступ сверху */
    display: flex;
    align-items: center;
}


.read-more img {
    width: 11px;
    height: 11px;
}

.read-more:hover {
    color: #0f33d3;
}

.article-category {
    font-family: "Raleway", Helvetica;
    font-weight: 600;
    color: rgba(35, 35, 35, 0.83);
    font-size: 14px;
    margin-bottom: 24px;
    padding-left: 16px;
    position: relative;
}

@media (max-width: 1640px) {
    .article-image {
        width: 166px;
        height: 175px;
        margin-bottom: 15px;
    }
    .article-details{
        max-width: calc(100% - 186px);
    }
}

/* Адаптация для ноутбуков (992px - 1400px) */
/* About region section - адаптация */
@media (max-width: 1400px) {

    .about-region .articles-overlay {
        position: initial;
    }

    .about-region-content {
        display: flex;
        flex-direction: column;
    }

    .articles-overlay {
        position: static;
        padding: 0;
    }

    .article-card {
        margin-bottom: 5px;
        width: 100%;
    }

    .article-image {
        width: 166px;
        height: 175px;
        margin-bottom: unset;
    }

    .article-details {
        padding: 0px;
        max-width: calc(100% - 140px);
    }

    .about-region .article-title {
        min-height: unset;
    }

}

@media (max-width: 991.98px) {
    .video-container {
        height: 400px;
    }
}

@media (max-width: 767.98px) {
    .video-container {
        height: 350px;
    }

    .article-image {
        width: 133px;
        height: 140px;
    }
}

@media (max-width: 575.98px) {
    .video-container {
        height: 250px;
    }

    .play-button {
        width: 45px;
        height: 45px;
    }

    .play-button img {
        width: 15px;
        height: 15px;
    }
}

/* Statistics section */

.statistics-section{
    padding-top: 90px;
    padding-bottom: 80px;
}

@media (max-width: 992px) {
    .statistics-section{
        padding-top: 60px;
        padding-bottom: 24px;
    }
}
@media (max-width: 576px) {
    .statistics-section {
        padding-top: 60px;
        padding-bottom: 60px;
    }
}


/* History section */
.history-section {
    background-color: #ff9270;
    border-radius: 20px;
    color: #ffffff;
    padding: 40px;

    background-image: url('assets/img/background-history-section-home.png');
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-origin: border-box;
    background-clip: border-box;
}

.history-title {
    font-family: "RAYDIS", Helvetica;
    font-weight: 700;
    font-size: 32px;
    line-height: 120%;
}

.history-text {
    font-family: "Raleway", Light;
    font-size: 18px;
    line-height: 1.5;
}

.history-highlight {
    font-weight: 700;
}

.history-number {
    font-weight: 900;
    font-size: 22px;
}

.history-text-normal {
    font-weight: 500;
}

/* News section */
section.news {
    padding-top: 100px;
    padding-bottom: 120px;
}

@media (max-width: 768px) {
    section.news {
        padding-top: 80px;
        padding-bottom: 125px;
    }
}

@media (max-width: 767px) {
    section.news .section-header {
        flex-direction: column;
        align-items: flex-start;
    }
}

.section-link {
    display: flex;
    align-items: center;
    color: #ff3b00;
    text-decoration: none;
    font-weight: 700;
    font-family: "Raleway", Helvetica;
}

.section-link-blue {
    color: #0F33D3;
}

.section-link img {
    margin-left: 8px;
}

@media (max-width: 576px) {
    section.news {
        padding-top: 60px;
        padding-bottom: 60px;
    }
    section.news .section-header {
        margin-bottom: 18px;
    }
    section.news .section-link{
        margin-top: 46px;
    }
}

/* Главная новость */
.main-news {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    height: 570px;
    margin-right: 40px;
}
@media (max-width: 992px) {
    .main-news {
        margin-right: 0px !important;
    }
}

.main-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
    color: white;
}

.category-tag {
    display: inline-block;
    background: rgba(255, 255, 255, 0.9);
    color: #222;
    padding: 5px 15px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 15px;
}

.main-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
    line-height: 1.3;
}

.main-excerpt {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 15px;
    font-family: "Raleway", sans-serif;
    font-weight: 200;

}

.main-title_1 {
    font-size: 75px;
    font-weight: 700;
    line-height: 100px;
    font-family: 'RAYDIS', Helvetica, Arial, sans-serif;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin: 0;
    padding: 0;
    word-break: break-word;
}


@media (max-width: 1200px) {
    .main-title_1 {
        font-size: 60px;
        line-height: 80px;
    }
}

@media (max-width: 992px) {
    .main-title_1 {
        font-size: 50px;
        line-height: 70px;
    }
}

@media (max-width: 768px) {
    .main-title_1 {
        font-size: 36px;
        line-height: 48px;
    }
}

@media (max-width: 576px) {
    .main-title_1 {
        font-size: 28px;
        line-height: 36px;
        word-break: normal;
    }
}

@media (max-width: 400px) {
    .main-title_1 {
        font-size: 24px;
        line-height: 32px;
    }
}

.history-text-bold {
    font-family: "Raleway", sans-serif;
    font-weight: 600;
    /* Black */
    font-size: 20px;
    line-height: 1.5;
}

.news-date {
    font-size: 14px;
    opacity: 0.9;
}

/* Footer */
.site-footer {
    background-color: #0f33d3;
    color: #ffffff;
    background-position: top left;
    background-repeat: no-repeat;
    background-size: auto;
    position: relative;
    background-image: url(assets/img/background-footer-map.svg);
}
@media (max-width: 767px) {
    .site-footer {
        text-align: center;
    }
}
@media (max-width: 576px) {
    .footer {
        background-size: 100vw auto;
    }
}

.footer-logo {
    max-width: 185px;
}

.footer-heading {
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 16px;
    color: #ffffff;
    text-transform: uppercase;
}

.contact-label {
    color: #95acf7;
}

.contact-value {
    text-decoration: underline;
    color: #ffffff;
}

.email-label {
    color: #b2c8ff;
}

.email-link {
    color: #ffffff;
    text-decoration: none;
}

.footer-links a {
    color: #b2c8ff;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.footer-links a.footer-heading {
    color: #ffffff;
}

.contact-button {
    display: inline-block;
    padding: 12px 36px;
    border: 1px solid #ffffff;
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    font-family: "Raleway", Helvetica;
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
}

.copyright {
    font-family: "Raleway", Helvetica;
    font-weight: 500;
    font-size: 14px;
    color: #B3C8FF;
}

/* Responsive adjustments */
@media (max-width: 992px) {
    .header .navigation {
        display: none;
    }
}


@import url('https://fonts.googleapis.com/css2?family=Michroma&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto+Slab:wght@100..900&family=Roboto:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&family=Tektur:wght@400..900&display=swap');

/* Custom font for RAYDIS */
@font-face {
    font-family: 'RAYDIS';
    src: url('/fonts/ofont.ru_Raydis.ttf');
    src: url("/fonts/ofont.ru_Raleway.ttf");
    src: url("/fonts/RAYDIS.ttf");
    font-weight: 700;
    font-style: normal;
}

/* Стили для стрелок */
.main-slider-controls {
    position: absolute;
    bottom: -96px;
    right: 0px;
    z-index: 10;
}

.main-slider-controls .slider-button {
    width: 60px;
    height: 60px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: rgba(15, 51, 211, 0.1);
    backdrop-filter: blur(2px);
}

.main-slider-controls .slider-button:hover {
    background-color: rgba(15, 51, 211, 0.2);
    transform: scale(1.05);
}

.main-slider-controls .slider-button:active {
    transform: scale(0.95);
}

/* Адаптация для планшетов */
@media (max-width: 991.98px) {
    .section-title {
        font-size: 32px;
        line-height: 38px;
    }

    .main-slider-controls {
        bottom: -64px;
    }

    .main-slider-controls .slider-button {
        width: 54px;
        height: 54px;
    }
}

/* Адаптация для мобильных */
@media (max-width: 767.98px) {

    .main-slider-controls {
        bottom: -50px;
        gap: 16px;
    }

    .main-slider-controls .slider-button {
        width: 48px;
        height: 48px;
    }
}

@media (max-width: 575.98px) {
    .section-title {
        font-size: 28px;
        line-height: 34px;
    }

    .main-slider-controls .slider-button {
        width: 44px;
        height: 44px;
    }

    .main-slider-controls .slider-button svg {
        width: 20px;
        height: 20px;
    }
}



.red-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #ff3b00;
    border-radius: 50%;
    margin-right: 7px;
    margin-bottom: 2px;
}

.text_1 {
    font-size: 10px;
}

@media (max-width: 767.98px) {
    .category-text {
        font-size: 18px;
        padding: 15px;
    }
}

@media (max-width: 768px) {

    .header .social-icons {
        display: none;
    }

    .section-title {
        font-size: 32px;
        line-height: 38px;
    }

    .statistic-number {
        font-size: 48px;
    }
}

@media (max-width: 576px) {

    .category-item {
        height: 200px;
    }

    .article-image {
        width: 120px;
        height: 120px;
    }

    .article-title {
        font-size: 18px;
    }

    .statistic-number {
        font-size: 36px;
    }

    .statistic-unit,
    .statistic-description {
        font-size: 16px;
    }
}


/* Общие стили для всех кнопок */
.routes-slider-controls .slider-button {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Ховер-эффекты */
.routes-slider-controls .slider-button:hover {
    transform: scale(1.05);
}

.routes-slider-controls .slider-button:active {
    transform: scale(0.95);
}

/* Общие стили для кнопок */
.slider-button_next_1,
.main-slider-controls .slider-button,
.routes-slider-controls .slider-button {
    width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    display: inline-block;
    margin-left: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(2px);
}

.routes-slider-controls .slider-button {
    background-color: rgba(15, 51, 211, 0.3);
}
.routes-slider-controls .slider-button:hover {
    background-color: rgba(15, 51, 211, 0.9);
}

.main-slider-controls.main-slider-controls-red .slider-button{
    background-color: rgba(255, 59, 0, 0.1);
}

.main-slider-controls.main-slider-controls-red .slider-button:hover {
    background-color: #FF3B00;
    transform: scale(1.05);
}

.main-slider-controls.main-slider-controls-red .slider-button:active {
    transform: scale(0.95);
    background-color: #FF3B00;
}

.main-slider-controls.main-slider-controls-orange .slider-button{
    background-color: rgba(255, 123, 0, 0.2);
}
.main-slider-controls.main-slider-controls-orange .slider-button:hover {
    background-color: #FF7B00;
}
.main-slider-controls.main-slider-controls-orange .slider-button:active {
    background-color: #FF7B00;
}

/* Ховер-эффекты */
.main-slider-controls .slider-button:hover,
.routes-slider-controls .slider-button:hover {
    transform: scale(1.05);
}

.main-slider-controls .slider-button:active,
.routes-slider-controls .slider-button:active {
    transform: scale(0.95);
}


/* Адаптация для мобильных */
@media (max-width: 767.98px) {
    .main-slider-controls,
    .routes-slider-controls {
        bottom: -50px;
        gap: 12px;
    }

    .slider-button_next_1,
    .main-slider-controls .slider-button,
    .routes-slider-controls .slider-button {
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 575.98px) {
    .main-slider-controls,
    .routes-slider-controls {
        bottom: -64px;
    }

    .slider-button_next_1,
    .main-slider-controls .slider-button,
    .routes-slider-controls .slider-button {
        width: 48px;
        height: 48px;
    }
}

/* popup */

.popup {
    z-index: -100;
    -webkit-transition: opacity .4s, z-index 0s .4s;
    -o-transition: opacity .4s, z-index 0s .4s;
    transition: opacity .4s, z-index 0s .4s;
    opacity: 0;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsla(0, 0%, 100%, .96);
    overflow-y: auto
}

.popup.active {
    -webkit-transition: opacity .4s, z-index 0s 0s;
    -o-transition: opacity .4s, z-index 0s 0s;
    transition: opacity .4s, z-index 0s 0s;
    opacity: 1;
    display: inherit;
    z-index: 1500
}

.popup-inner {
    position: relative
}

.popup-inner.container {
    padding-top: 120px
}

@media (max-width: 659px) {
    .popup-inner.container {
        padding-top: 70px
    }
}

.popup-close {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 41px;
    top: 48px;
    cursor: pointer
}

@media (max-width: 659px) {
    .popup-close {
        right: 28px;
        top: 14px
    }
}

.popup-close:focus, .popup-close:hover {
    opacity: .7
}

.popup-close__line {
    width: 46px;
    height: 4px;
    position: absolute;
    top: 50%;
    left: -10%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: #0F33D3;
    border-radius: 2px
}

.popup-close__line:last-child {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.popup form {
    width: 100%;
    max-width: 540px;
    margin: 40px auto
}

@media (max-width: 659px) {
    .popup form {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

.popup form h2 {
    text-align: center
}

.popup form .formGroup {
    width: 100%;
    text-align: center;
    position: relative;
    margin: 0 0 40px
}

.popup form .formGroup-inner {
    width: 100%
}

.popup form input, .popup form select, .popup form textarea {
    width: 100%;
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 10px 10px 0;
    border-width: 0;
    border-bottom: 1px solid rgba(10, 27, 89, .3);
    background-color: rgba(0, 0, 0, 0)
}

.popup form input::-webkit-input-placeholder, .popup form select::-webkit-input-placeholder, .popup form textarea::-webkit-input-placeholder {
    color: #0F33D3;
    opacity: .8
}

.popup form input::-moz-placeholder, .popup form select::-moz-placeholder, .popup form textarea::-moz-placeholder {
    color: #0F33D3;
    opacity: .8
}

.popup form input:-ms-input-placeholder, .popup form select:-ms-input-placeholder, .popup form textarea:-ms-input-placeholder {
    color: #0F33D3;
    opacity: .8
}

.popup form input::-ms-input-placeholder, .popup form select::-ms-input-placeholder, .popup form textarea::-ms-input-placeholder {
    color: #0F33D3;
    opacity: .8
}

.popup form input::placeholder, .popup form select::placeholder, .popup form textarea::placeholder {
    color: #0F33D3;
    opacity: .8
}

.popup form textarea {
    resize: none;
    padding-bottom: 10px;
    border: 1px solid rgba(10, 27, 89, .3);
    height: 250px
}

@media (max-width: 659px) {
    .popup form textarea {
        height: 180px
    }
}

.popup form .form-error {
    position: absolute;
    top: 100%;
    padding: 0 10px;
    color: #820505;
    left: 0;
    text-align: left;
    font-size: 70%
}

.errorMes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative
}

@media (max-width: 659px) {
    .errorMes {
        display: block
    }
}

.errorMes-left {
    padding: 0 50px 0 0
}

@media (max-width: 659px) {
    .errorMes-left {
        padding-right: 0;
        padding-top: 20px
    }
}

@media (max-width: 659px) {
    .errorMes-right {
        position: absolute;
        top: 0;
        right: 0
    }
}

@media (max-width: 659px) {
    .errorMes-right svg {
        width: 47px;
        height: 54px
    }
}

.errorMes a {
    color: #0F33D3;
    text-decoration: underline
}

/* Окно Поиск */

.header__searchForm .form-control {
    border-radius: 8px 0 0 8px;
    height: 48px;
}

.header__searchForm .btn {
    border-radius: 0 8px 8px 0;
    height: 48px;
    padding: 0 20px;
}

/* Адаптация для мобильных */
@media (max-width: 576px) {
    .modal-xl {
        max-width: 98%;
    }
    .header__searchForm .btn {
        font-size: 0.875rem;
    }
}

@media (max-width: 768px) {
    #searchModal .modal-dialog{
        top: -20vh;
    }
}

/* Пагинация */

.sectpr-pagination__single{
    text-decoration: none !important;
    flex-direction: revert;
    width: 40px;
    height: 40px;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
}

.sectpr-pagination__single.selected{
    border-radius: 4px;
    background-color: #0F33D3;
    color: #ffffff;
}

.sectpr-pagination__single.disabled svg path {
    fill: #B0B4BF;
}

/* Каталог */

.sectpr-list__item{
    font-size: 14px;
    position: relative;
}
.sectpr-list__item-img {
    display: block;
    border-radius: 12px;
    margin: 0 0 16px 0;
    position: relative;
    overflow: hidden;
}
.sectpr-list__item-img img{
    width: 100%;
}
.sectpr-list__item-geo {
    display: inline-flex;
    align-items: center;
    background-color: #E3E9FF;
    border-radius: 4px;
    padding: 4px 10px;
    position: absolute;
    top: 8px;
    left: 8px;
}
.sectpr-list__item-geo-img {
    width: 13px;
    height: 13px;
    color: #FF3B00;
    margin: 0 6px 0 0;
}
.sectpr-list__item-geo-text{
    display: inline-block;
    color: #0F33D3;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}
.sectpr-list__item-title{
    color: #0F33D3;
    font-size: 18px;
    font-weight: 700;
    line-height: 130%;
}
.sectpr-list__item-title a{
    color: inherit;
}

        
.sectpr-filters{
    background-color: #ECF0FF;
    padding: 15px;
    border-radius: 12px;
}

.sectpr-list__item-age_marker{
    font-weight: 500;
    font-size: 14px;
    line-height: 120%;
    border-radius: 999px;
    padding-top: 7px;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 8px;
    right: 9px;
    width: 30px;
    height: 30px;
    text-align: center;
}

.btn.sectpr-side__link, .btn.sectpr-side__link:hover{
    width: 100%;
    padding-top: 22px;
    padding-bottom: 22px;
}

.sectpr-side__link-text{
    font-size: 14px;
    vertical-align: middle;
}

.product-age_marker{
    display: inline-block;
    width: 40px;
    height: 40px;
    padding-left: 2px;
    font-weight: 500;
    font-size: 18px;
    line-height: 40px;
    text-align: center;
    border-radius: 999px;
    background-color: #ffffff;
}

/* checkbox-custom */

.custom-checkbox{
    color: #0F33D3;
}

/* Скрываем оригинальный чекбокс */
.custom-checkbox input {
    position: absolute !important;
    opacity: 0;
    cursor: pointer;
    height: 20px;
    width: 20px;
    top: 7px !important;
}

/* Контейнер иконки */
.checkbox-icon {
    display: block;
    position: absolute;
    top: 10px;
    width: 20px;
    height: 20px;
    background-image: url(assets/img/checkbox-custom.svg);
    background-size: contain;
    background-repeat: no-repeat;
    transition: all 0.2s ease;
}

/* При checked — меняем иконку */
.custom-checkbox input:checked ~ .checkbox-icon {
    background-image: url(assets/img/checkbox-custom-checked.svg);
}

.custom-checkbox label{
    display: inline-block !important;
}

.custom-checkbox .bx_filter_param_text{
    margin-left: 30px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

/* Карта */

/* map */
.mapContainer{
    position: relative;
    padding-top: 50px;
    font-size: 1rem;
}

.conventionsMap{
    max-width: 285px;
    max-height: 300px;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    color: #000000;
    font-size: 14px;
    line-height: 18px;
    border: 1px solid #D3D2CC;
    border-radius: 10px;
    box-shadow: 0 4px 6px #D3D2CC;
    bottom: 45px;
    left: 18px;
    z-index: 80;
    padding: 14px 20px 14px 20px;
}

@media (max-width: 550px) {
    .conventionsMap{
        left: 4px;
        font-size: 14px;
        padding: 14px 10px 14px 10px;
    }
}

.conventionsMap__content{
    display: flex;
    margin-bottom: 5px;
}

.conventionsMap__content:last-child{
    margin-bottom: 0;
}

.conventionsMap__img{
    margin-top: -1px;
    margin-right: 4px;
}

@media (max-width: 550px) {
    .conventionsMap__img{
        margin-top: -3px;
    }
}

.conventionsMap__content-text{
    margin-left: 4px;
}

@media (max-width: 460px) {
    .conventionsMap__content-text{
        max-width: 90px;
    }
}

/* conventionsPage -- end */


/* adaptive-products-page -- end */

.map-baloon-content{
    text-align: center;
}

.mapTitleLink{
    font-weight: bold;
    color: #0F33D3;
}

.mapImg{
    margin-top: 13px;
}

.buildRoute{
    background-color: #091D64;
    padding: 5px 8px;
    color: #fff;
    border: 1px solid #000;
    cursor: pointer;
    transition: all .4s;
}

.buildRoute:hover{
    opacity: 0.7;
}

.map-buttons {
    width: 100%;
    text-wrap: nowrap;
    margin-top: 10px;
}

.map-buttons .map-button-route{
    display: inline-block;
    vertical-align: top;
    height: 32px;
}

.map-buttons .map-resident-card-discount{
    display: inline-block;
    vertical-align: top;
    margin: 0px 5px 0px 0px;
    padding: 6px 7px 7px 34px;
    border: 1px #b9b9b9 solid;
    height: 32px;
    position: relative;
}

.map-buttons .map-resident-card-discount img{
    height: 22px;
    position: absolute;
    left: 5px;
    top: 3px;
}
.map-buttons .map-resident-card-discount span{

}

.resetCoordBtn{
    border: none;
    background-color: inherit;
    margin: 12px 0 0 1px;
    cursor: pointer;
    transition: all .4s;
}

.resetCoordBtn:hover{
    opacity: 0.7;
}

.catalogLinkContent{
    margin: 16px 0 5px 0;
}

.catalogLinkBtn{
    color: #091D64;
    padding: 4px 0 4px 0;
    transition: all .4s;
}

.catalogLinkBtn:hover{
    opacity: .7;
}


.interactiveMapBtn{
    padding: 5px 10px;
    background-color: #0F33D3;
    border: 1px solid #0F33D3;
    color: #fff;
    transition: all .4s;
    cursor: pointer;
    margin-right: 20px;
}

.interactiveMapBtn:last-child{
    margin-right: 0;
}

.interactiveMapBtn:hover{
    /*background-color: #fff;*/
    /*color: #000;*/
    /*border: 1px solid #000;*/
    opacity: .7;
}

#map{
    width: 100%;
    height: 600px;
}

#map .ymaps-2-1-79-controls__control_toolbar{
    margin-bottom: 12px;
}
#map .ymaps-2-1-79-controls__toolbar_left{
    max-width: calc(100% - 110px);
}


#map .map-reset-all-filters{
    box-sizing: border-box !important;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    background-clip: border-box;
    color: #ffffff;
    vertical-align: middle;
    text-decoration: none;
    font-family: Arial,Helvetica,sans-serif;
    cursor: pointer;
    display: inline-block;
    text-align: left;
    height: 28px;
    white-space: nowrap;
    background-color: #2099ff;
    border-color: transparent;
    box-shadow: 0 1px 2px 1px rgba(0,0,0,.15),0 2px 5px -3px rgba(0,0,0,.15);
    padding: 2px 5px 0px 5px;
    user-select: none;
    line-height: 1.4rem;
}
/* Внутренние секции */

.inner-section{
    padding-top: 2.0rem !important;
    padding-bottom: 3rem !important;
}

.inner-section-white{
    background-color: white;
}

.background-picture-wave{
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-image: url('/local/templates/tic-bootstrap-25/assets/img/background-main.png');
    background-position: top center;
    background-size: 100% auto;
}

.inner-section h1{
    font-family: "RAYDIS", Helvetica;
    text-transform: uppercase;
    line-height: 130%;
    font-weight: 700;
    font-size: 46px;
    vertical-align: middle;
}

@media (max-width: 576px) {
    .inner-section h1{
        font-size: 26px;
        word-break: break-word;
    }
}

.inner-section h3{
    font-weight: 700;
    font-size: 32px;
    line-height: 150%;
    vertical-align: middle;
}

@media (max-width: 576px) {
    .inner-section h3{
        font-size: 26px;
        word-break: break-word;
    }
}

.rounded-12px {
    border-radius: 12px !important;
}

/* */

.inner-section .visual-block-row iframe{
    border-radius: 12px !important;
}

/* documents-links */
.documents-links .card{
    background: #E3E9FF;
    padding-left: 54px;
    display: flex;
    align-items: center;
    min-height: 80px;
}
.documents-links .card-body {
    display: flex;
    align-items: center;
    padding: 1rem;
    width: 100%;
}
.documents-links .filesList__img-tag{
    position: absolute;
    top: calc(50% - 24px);
    left: 5px;
}
.documents-links .card-title{
    font-weight: 600;
    font-size: 17.72px;
    line-height: 27px;
    margin-bottom: 0px;
}
/* */


/*Список тегов.*/
.sectpr-filters_select .sectpr-filters_select-label {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
}
.tags-list__item_title {
    position: relative;
    top: -2px;
}
.tags-list__item.btn {
    font-weight: 600;
    font-size: 14px;
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 10px;
}
.tags-list__close {
    color: #98A0B4;
    font-weight: 600;
    font-size: 14px;
    top: 3px;
    position: relative;
}
.tags-list__item.tags-more-hide {
    display: none;
}
.tags-list__more {
    color: #0F33D3;
    margin-left: 10px;
    top: -4px;
    position: relative;
    font-weight: 600;
    font-size: 14px;
    padding-left: 6px;
    margin-bottom: 10px;
}
@media (max-width: 576px) {
    .tags-list__item.btn {
        font-size: 12px;
    }
}