/*Pervye*/

@font-face {
    font-family: "font1";
    src: url("../fonts/Pervye_Book.otf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "font1";
    src: url("../fonts/Pervye_Extended-Bold.otf") format("truetype");
    font-style: normal;
    font-weight: bold;
}

.font1 {
    font-family: 'font1';
}

/*inter*/

@font-face {
    font-family: "font2";
    src: url("../fonts/Inter-Regular.otf") format("truetype");
    font-style: normal;
    font-weight: normal;
}

@font-face {
    font-family: "font2";
    src: url("../fonts/Inter-Bold.otf") format("truetype");
    font-style: normal;
    font-weight: bold;
}

.font2 {
    font-family: 'font2';
}


/* --- ГЛОБАЛЬНЫЕ НАСТРОЙКИ И БАЗОВЫЕ СТИЛИ --- */

body {
    margin: 0;
    font-family: 'font1', 'Arial', sans-serif;
    font-size: 16rem;
    background-color: #ffffff;
    color: #212529;
    line-height: 1.5;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
figure {
    margin: 0;
    padding: 0;
}

ul,
ol {
    list-style: none;
}

a {
    text-decoration: none;
    color: inherit;
}

button {
    padding: 0;
    border: none;
    background: none;
    font-family: inherit;
    color: inherit;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

.title {
    font-size: 24rem;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    border: 0;
    padding: 0;
    white-space: nowrap;
    clip-path: inset(100%);
    clip: rect(0 0 0 0);
    overflow: hidden;
}

/* --- ОБЩИЕ ЭЛЕМЕНТЫ СТРАНИЦЫ --- */
.btn {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1rem solid transparent;
    border-radius: 15rem;
    font-size: 21rem;
    font-weight: 600;
    line-height: 1;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    gap: 8rem;
    text-align: center;
}

.btn_long {
    font-size: 24rem;
    padding: 11rem 60rem;
    border-radius: 12rem;
}
.btn_blue {
    background-color: #3366cc;
    color: #fff;
}
.btn_bw {
    border-color: #BDBDBD;
    color: #000;
}

.btn_primary {
    background-color: #ED1B2E;
    color: #fff;
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 32rem;
    padding: 24rem 40rem;
    border-radius: 8rem;
}

.btn_primary:hover {
    background-color: #c81220;
}

.btn_secondary {
    border-color: #ED1B2E;
    color: #ED1B2E;
    padding: 10rem 20rem;
}

.btn_secondary:hover {
    background: #ED1B2E;
    color: #fff
}

.btn_secondary .btn__ico {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3333 8.00004C10.3333 8.23265 10.2428 8.45585 10.0827 8.61589C9.92262 8.77594 9.7 8.86641 9.46667 8.86641H2.46667C2.23333 8.86641 2.01014 8.77594 1.8501 8.61589C1.69005 8.45585 1.6 8.23265 1.6 8.00004C1.6 7.76743 1.69005 7.54424 1.8501 7.38419C2.01014 7.22415 2.23333 7.13367 2.46667 7.13367H9.46667C9.7 7.13367 9.92262 7.22415 10.0827 7.38419C10.2428 7.54424 10.3333 7.76743 10.3333 8.00004ZM14.4 8.00004L11.7333 5.33337V10.6667L14.4 8.00004Z' fill='%23212529'/%3E%3C/svg%3E%0A");
}

.btn_light {
    background-color: #fff;
    color: #ED1B2E;
    padding: 17rem 10rem;
    border-radius: 8rem;
    font-size: 24rem;
    text-align: center;
    width: 100%;
    max-width: 380rem;
}

.btn_light:hover {
    background-color: #f0f0f0;
}

.btn_outlined {
    border-color: #ED1B2E;
    color: #ED1B2E;
    padding: 4rem 12rem 3rem;
    border-radius: 8rem;
    font-size: 12rem;
    background-color: white;
}

.btn_outlined:hover {
    background-color: #ED1B2E;
    color: #fff;
}

.btn_secondary .btn__ico {
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.3333 8.00004C10.3333 8.23265 10.2428 8.45585 10.0827 8.61589C9.92262 8.77594 9.7 8.86641 9.46667 8.86641H2.46667C2.23333 8.86641 2.01014 8.77594 1.8501 8.61589C1.69005 8.45585 1.6 8.23265 1.6 8.00004C1.6 7.76743 1.69005 7.54424 1.8501 7.38419C2.01014 7.22415 2.23333 7.13367 2.46667 7.13367H9.46667C9.7 7.13367 9.92262 7.22415 10.0827 7.38419C10.2428 7.54424 10.3333 7.76743 10.3333 8.00004ZM14.4 8.00004L11.7333 5.33337V10.6667L14.4 8.00004Z' fill='%23212529'/%3E%3C/svg%3E%0A");
}

.btn_small {
    font-size: 16rem;
    padding: 4rem 8rem;
    border-radius: 8rem;
}

.btn_large {
    font-size: 24rem;
    padding: 16rem 40rem;
    border-radius: 7rem;
}

.btn_extra {
    font-size: 32rem;
    padding: 24rem 30rem;
    border-radius: 7rem;
    min-width: 438rem;
}

.btn_more {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 60rem;
}

/* --- ОБЩИЕ ОБЕРТКИ СТРАНИЦЫ --- */

html {
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
}


.body {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 20rem;
    background: #fff;
    line-height: 1.2;
    max-width: 2000rem;
    margin: 0 auto;
}

.page-wrapper {
    padding: 25rem 20rem;
    flex-grow: 1;
}

.box-page {
    max-width: 1880rem;
    width: 100%;
    margin: 0 auto;
}

.inner-padding {
    max-width: 1880rem;
    margin: 0 auto;
    padding: 0 58rem 0 80rem;
    width: 100%;
}

/* --- ШАПКА (HEADER) --- */

.header {
    color: #fff;
    margin: 0 0 20rem 0;
    height: 116rem;
}

.header .page-container {
    padding-top: 12rem;
    padding-bottom: 12rem;
    border-radius: 24rem;
    background-color: #ED1B2E;
}

.header__inner {
    display: flex;
    align-items: center;
    padding: 6rem 25rem 5rem 20rem;
    border-radius: 16rem;
    background-color: #D90912;
    backdrop-filter: blur(25px);
}

.header__left {
    display: flex;
    align-items: center;
    gap: 52rem;
}

.header__right {
    display: flex;
    align-items: center;
    gap: 32rem;
    flex-grow: 1;
    justify-content: right;
    padding-left: 30rem;
}

.header__joinBtn {
    flex-grow: 1;
    text-align: right;
}

.header__logo {
    display: flex;
    align-items: center;
    gap: 0rem;
    flex-shrink: 0;
}

.header__logo-img1 {
    height: 105rem;
}

.header__logo-img2 {
    height: 84rem;
    margin: 8rem 0 0 0;
}

.header-search {
    display: none;
}
.search_result__wrapper {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 591rem;
    background-color: white;
    border-radius: 12rem;
}

.search_result {
    max-height: 500px;
    overflow-y: auto;
    color: black;
    display: none;
    scrollbar-color: #B3BCCD #DAE3F4;
    scrollbar-width: thin;

}

.header-search:has(:focus-visible) .search_result {
    display: block;
}

.header-search:has(.header-search__label.active) .search_result {
    display: block;
}
.search_result::-webkit-scrollbar-thumb {
    background: #B3BCCD;
    border-radius: 4px;
}
.search_result::-webkit-scrollbar-track {
    background:#DAE3F4;
    border-radius: 4px;
}

.search_result::-webkit-scrollbar {
    width: 4px;
}


.search_result::-webkit-scrollbar-button {
    display: none !important; /* Добавляем !important */
    height: 0 !important; /* Дополнительная страховка */
    width: 0 !important;
}

.search_result:has(a)  {
    margin: 16rem 20rem;
}

.search_result a {
    display: block;
    margin-bottom: 24rem;
    font-size: 14rem;
}


.header-search__icon {
    display: block;
    width: 52rem;
    height: 52rem;
    border-radius: 12rem;
    background-image: url(../img/ico-search-white.svg);
    background-position: center;
    background-size: 20rem;
    background-repeat: no-repeat;
    background-color: rgba(245, 245, 245, 0.1);
    cursor: pointer;
}

.header-search__label {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    transition: all .3s linear;
    right: 0;
    top: 0;
    width: 591rem;
    height: 52rem;
}

.header-search__label:before {
    content: '';
    background-image: url(../img/ico-Search.svg);
    background-repeat: no-repeat;
    background-size: 20rem;
    width: 20rem;
    height: 20rem;
    display: block;
    position: absolute;
    left: 16rem;
    top: 16rem;
}

.header-search__input {
    border-radius: 12rem;
    background-color: rgba(249, 249, 251, 1);
    padding: 14rem 52rem;
    height: 100%;
    width: 100%;
    font-size: 12rem;
    line-height: 1.3;
    font-weight: bold;
    font-family: 'font1', 'Arial', sans-serif;
    border: none;
    outline: none;
    color: black;
}

.header-search__input::placeholder {
    font-family: 'font1', 'Arial', sans-serif;
    color: rgba(111, 111, 111, 1);
    font-weight: bold;
    font-size: 12rem;
    line-height: 1.3;
}

.header-search__btn {
    position: absolute;
    top: 10rem;
    right: 16rem;
    width: 32rem;
    height: 32rem;
    border-radius: 8rem;
    background: #e10b17 url(../img/ico-chevron-right.svg) no-repeat center;
}

.header-search__label.active {
    opacity: 1;
    pointer-events: unset;
    z-index: 11;
}

/* ----------MAIN------------ */

.main .header-search {
    display: block;
    position: relative;
}

.main .header {
    background-color: transparent;
    color: #fff;
    margin: 0 0 20rem 0;
    height: 130rem;
    position: absolute;
    left: 0;
    right: 0;
    padding: 0 20rem;
}

.main .header__right {
    gap: 16rem;
}

.main .header__inner {
    padding: 14rem 51rem 0 65rem;
    background-color: transparent;
    backdrop-filter: blur(0);
}

.main .header__logo-img1 {
    height: 125rem;
}


.main .main-nav__list {
    margin-top: -4rem;
}

.main-nav__item {
    display: flex;
    /* 2. Центрируем по горизонтали */
    justify-content: center;
    /* 3. Центрируем по вертикали */
    align-items: center;
}

.main .main-nav__link {
    font-weight: 600;
    font-size: 16rem;
    color: #fff;
    background-color: rgb(255 255 255 / 27%);
    transition: background-color 0.2s, color 0.2s;
    max-width: 223rem;
    height: 78rem;
    text-align: center;
    padding: 0rem 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 182rem;
    width: 100%;
    border-radius: 20rem;
}

.main .main-nav__item:last-child .main-nav__link {
    max-width: 320rem;
}

.main .header__joinBtn {
    display: none;
}


.bigPict {
    height: 958rem;
    background: url(../img/bigPict.png) no-repeat center;
    border-radius: 20rem;
    padding: 60rem;
    margin-bottom: 20rem;
    background-size: cover;
}

.bigPict__title {
    margin: 186rem 0 43rem;
    font-size: 100rem;
    font-weight: 600;
    color: #fff;
    max-width: 900rem;
    line-height: 1.2;
}

.bigPict__description {
    font-size: 32rem;
    color: #fff;
    font-weight: 600;
    max-width: 700rem;
    line-height: 1.2;
    margin-bottom: 115rem;
}

.bigPict__btn {
}

.about-portal {
}

.features-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32rem;
    margin-bottom: 60rem;
}

.feature-card {
    display: flex;
    align-items: center;
    gap: 36rem;
    background-color: #FEF7F7;
    border-radius: 20rem;
    padding: 50rem 43rem;
    height: 100%;
}

.feature-card__icon {
    width: 80rem;
    height: 80rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.feature-card__icon_resource {
    background-image: url("../img/ico-main1.png");
}

.feature-card__icon_info {
    background-image: url("../img/ico-main2.png");
}

.feature-card__icon_events {
    background-image: url("../img/ico-main3.png");
}

.feature-card__text {
    font-weight: bold;
    font-size: 22rem;
    line-height: 1;
}

.about-portal__description {
    font-size: 32.5rem;
    line-height: 1.2;
    text-align: justify;
    padding: 5rem 0 5rem 0;
    font-weight: 600;
    margin-bottom: 75rem;
}

.about-portal__accent {
    color: #ED1B2E;
}

.docs-preview {
    display: flex;
    grid-template-columns: 573rem 1fr;
    gap: 20rem;
    /* margin: 80rem 0; */
}

.docs-preview .document-card_mini.document-card {
    min-width: 461rem;
}

.docs-preview__promo {
    background-color: #fbeff1;
    border-radius: 20rem;
    padding: 50rem 48rem 37rem;
    display: flex;
    flex-direction: column;
    background: linear-gradient(90deg, rgb(248 244 245) 0%, rgb(254 236 236) 100%);
    max-width: 573rem;
    height: auto;
    aspect-ratio: 573 / 556;
}

.docs-preview__title {
    font-weight: bold;
    font-size: 44rem;
    margin-bottom: 38rem;
}

.docs-preview__desc {
    font-size: 32rem;
    line-height: 1.2;
    color: #4F4F4F;
    margin-bottom: 40rem;
}

.docs-preview__promo .btn_primary {
    margin: 0 -20rem;
    margin-top: auto;
}

.docs-preview__grid {
    flex-grow: 1;
}

.doc-cards-list {
    display: grid;
    gap: 16rem;
}

.doc-cards-list_2 {
    grid-template-columns: repeat(2, 1fr);
}

.doc-cards-list_3 {
    grid-template-columns: repeat(3, 1fr);
}

.doc-cards-list__item {
    border-radius: 20rem;
    transition: all .3s linear;
}


.doc-cards-list__item_gray .document-card {
    background: #f2f2f2;
}


.btn_small-outlined:hover {
}

.btn__ico {
    position: relative;
    display: inline-block;
    width: 24rem;
    height: 24rem;
    background-repeat: no-repeat;
    background-position: center;
}

.btn__ico::after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: no-repeat center;
    background-size: contain;
}

.btn:hover .btn__ico {
    filter: invert();
}

.btn:hover .btn__ico::after {
    filter: brightness(0);
}

.btn__ico_go::after {
    background-image: url(../img/ico-go.svg);
}

.btn__ico_download::after {
    background-image: url(../img/ico-download.svg);
}

.materials-preview {
    margin: 100rem 0 105rem;
}

.doc-cards-list__item:hover {
    background: #EDEDED;
}

.materials-preview__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 32rem;
    gap: 20rem;
}

.materials-preview__info {
}

.materials-preview__title {
    font-size: 52rem;
    margin-bottom: 26rem;
}

.materials-preview__subtitle {
    font-size: 31rem;
    margin-bottom: 11rem;
}

.materials-preview__btns {
    width: auto;
    max-width: 500rem;
    flex-grow: 1;
    min-width: 300rem;
}

.materials-preview__btns .btn {
    width: 100%;
    padding-left: 20rem;
    padding-right: 20rem;
}

/* --- Компонент: Календарь событий (events-calendar) --- */

.events-calendar {
    /* Общий контейнер */
}

.events-calendar__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 32rem;
}

.events-calendar__title {
    font-weight: bold;
    font-size: 48rem;
    line-height: 1.4;
}

.events-calendar__body {
    display: grid;
    grid-template-columns: 772rem 1fr;
    align-items: stretch;
    gap: 20rem;
}

/* --- Левая колонка: Расписание (events-schedule) --- */

.events-schedule {
    background-color: #D90912;
    color: #fff;
    border-radius: 20rem;
    padding: 39rem 24rem;
    width: 100%;
    max-width: 773rem;
    font-family: "Inter", sans-serif;
    /* height: 1048rem; */
    aspect-ratio: 1048 / 773;
}

.events-schedule__wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.events-schedule__header {
    display: flex;
    align-items: center;
    gap: 41rem;
    padding-bottom: 20rem;
    margin-bottom: 38rem;
    height: 60rem;
}

.events-schedule__wrap:has(.events-schedule__no-events) .events-schedule__header {
    margin-bottom: 0;
    padding-bottom: 0;
}


.events-schedule__icon {
    width: 60rem;
    height: 60rem;
    background: url(../img/ico-calendar2.svg) no-repeat center;
    background-size: contain;
}

.events-schedule__month {
    font-weight: bold;
    font-size: 40rem;
}

.events-schedule__month input {
    padding: 0;
    background-color: transparent;
    font-size: 40rem;
    line-height: 1;
    font-weight: bold;
    font-family: "Inter", sans-serif;
    border: none;
    width: fit-content;
    color: white;
}

.events-schedule__list {
    padding: 0 142rem 0 17rem;
    overflow-y: auto;
    margin-right: -141rem;
    direction: rtl;

}

.events-schedule__list::-webkit-scrollbar {
    width: 8px;
    border-radius: 8px;
}

.events-schedule__list::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, .5);
    border-radius: 8px;
}

.events-schedule__list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 1);
    border-radius: 8px;
}

.events-schedule__day-group {
    display: flex;
    position: relative;
    padding-left: 60rem;
    /* Место для даты и линии */
}

.events-schedule__day-group {
    padding-bottom: 61rem;
    margin-bottom: 63rem;
    border-bottom: 1rem solid rgba(255, 255, 255, 1);
}

/* Вертикальная линия-таймлайн */
.events-schedule__day-group::before {
    content: '';
    position: absolute;
    left: 0;
    height: 8rem;
    bottom: -5rem;
    width: 8rem;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 50%;
}

.events-schedule__day-group::after {
    content: '';
    position: absolute;
    right: 0;
    height: 8rem;
    bottom: -5rem;
    width: 8rem;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 50%;
}


.events-schedule__item.active,
.events-schedule__item:hover {
    margin-right: -140rem;
}

.events-schedule__item.active .event-item {
    background-color: white;
}

.events-schedule:hover .events-schedule__item:not(:hover):not(.active) {
    margin-right: 0;
}

.events-schedule__no-events {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 36rem;
    font-weight: 700;
    font-family: 'font1', 'Arial', sans-serif;
}

.events-schedule__no-events p {
    margin-bottom: 60rem;
}

.events-calendar__no-events--img {
    width: 100%;
    height: 100%;
    border-radius: 16rem;
    border: 1px solid #D90912;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 39rem 24rem;
}

.events-calendar__no-events--img img {
    width: 300rem;
    height: 300rem;
}

@media (max-width: 700px) {
    .events-schedule__item:has(.active) {
        margin-right: 0;
    }

    .events-calendar__no-events--img img {
        width: 250rem;
        height: 250rem;
    }
}

.event-item.active {
    background-color: #fff;
    cursor: default;
}

.events-schedule__day-group:last-child {
    margin-bottom: 0;
    border-bottom: none;
}

.events-schedule__day-group:last-child::after, .events-schedule__day-group:last-child::before {
    display: none;
}

.events-schedule__date {
    position: absolute;
    left: 15rem;
    top: 6rem;
    text-align: center;
}

.events-schedule__day-number {
    font-weight: bold;
    font-size: 62rem;
    line-height: 1;
    display: block;
    margin-bottom: 10rem;
}

.events-schedule__day-week {
    font-size: 44rem;
    line-height: 1;
    display: block;
    text-transform: uppercase;
}

.events-schedule__items-list {
    display: flex;
    flex-direction: column;
    gap: 20rem;
    width: 100%;
    padding-left: 52rem;
}

.events-schedule__item {
    transition: margin 0.5s, padding 0.5s;
}


.event-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12rem 29rem 12rem 42rem;
    background-color: #fce8e9;
    border-radius: 12rem;
    color: #212529;
    transition: background-color 0.2s, color 0.2s, padding 0.5s;
    height: 80rem;
    direction: ltr;
    text-align: left;
    position: relative;
    z-index: 110;
}

.events-schedule__item.events-schedule__item_selected {
    margin-right: -140rem;
}

.events-schedule__item.events-schedule__item_selected .event-item {
    padding-right: 40rem;
}

.event-item:hover {
    background-color: #fff;
}

.event-item_active,
.event-item_active:hover {
    background-color: #fff;
    cursor: default;
}

.event-item__title {
    font-size: 24rem;
    font-weight: 500;
}

.event-item__time {
    font-size: 25rem;
    font-weight: 500;
    flex-shrink: 0;
    margin-left: 20rem;
}

/* --- Правая колонка: Анонс (event-announcement) --- */

.event-announcement {
    display: none;
    flex-direction: column;
    background-color: #fff;
    border-radius: 20rem;
    overflow: hidden;
    height: 100%;
    border: 1px solid transparent;

    width: 100%;
    /* height: 1048rem; */
    gap: 20rem;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.event-announcement.active {
    display: flex;
    opacity: 1;
}

.event-announcement__image-wrapper {
    aspect-ratio: 1087 / 656;
    border-radius: 20rem;
    overflow: hidden;
    border: 1px solid transparent;
    transition: transform 0.3s ease-out, border-color 0.2s;
}

.event-announcement:hover .event-announcement__image-wrapper {
    /* transform: scale(1.05); */
    border-color: #c81220;
}

.event-announcement__image {
    width: 100%;
    height: 100%;
    object-fit: cover;

}

.event-announcement__content {
    padding: 32rem 39rem 45rem;
    flex-grow: 1;
    position: relative;
    background: #f0f0f0;
    border-radius: 20rem;
    /* border: 1px solid transparent; */
    transition: background-color 0.2s, border-color 0.2s;
}

.event-announcement:hover .event-announcement__content {
    background-color: #feeced;
    box-shadow: 0 10rem 30rem rgba(0, 0, 0, 0.08);
    border-color: #c81220;
}



.event-announcement__title {
    font-weight: bold;
    font-size: 32rem;
    margin: -10rem 0 14rem;
}

.event-announcement__desc {
    font-size: 20rem;
    margin-bottom: 45rem;
}

.event-announcement__date {
    margin-bottom: 17rem;
}

.event-announcement__location {
    font-size: 18rem;
    line-height: 1.5;
    color: #4F4F4F;
}


.adress-info {
    display: flex;
    align-items: center;
    gap: 4rem;
    font-size: 20rem;
    color: #212529;
    margin-left: 0;
}

.adress-info__icon {
    width: 35rem;
    height: 36rem;
    background-image: url(../img/ico-adress.svg);
    background-size: contain;
}

.adress-info__text {
}

.event-announcement__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.event-announcement__meta {
    width: 46rem;
    height: 46rem;
}

.event-announcement__arrow-icon {
    display: inline-block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-image: url(../img/ico-go2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}


/* --- Секция "Партнеры" (partners-section) --- */

.partners-section {
    padding: 44rem 0;
}

/* --- Список логотипов партнеров (partners-list) --- */


/* --- Промо-баннер (promo-banner) --- */

.promo-banner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60rem;
    /* Отступ между текстом и картинкой */
    align-items: center;
    background-color: rgba(51, 102, 204, 1);
    color: #fff;
    border-radius: 20rem;
    padding: 60rem;
    overflow: hidden;
    /* Скрываем вылезающую картинку */
}

.promo-banner__title {
    font-weight: bold;
    font-size: 60rem;
    margin-bottom: 25rem;
}

.promo-banner__subtitle {
    font-size: 32rem;
    opacity: 0.8;
    margin-bottom: 56rem;
    max-width: 710rem;
}

.promo-banner__image-wrapper {
    border-radius: 20rem;
    overflow: hidden;
    min-width: 0;
}

.promo-banner__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.promo-banner .btn img {
    width: 46rem;
    height: 63rem;
    flex-shrink: 0;
}

/* Календарное событие */

.calendar-event {
    display: flex;
    gap: 57rem;
    align-items: center;
    justify-content: space-between;
}

.calendar-event__info {
  flex-grow: 1;
}

.calendar-event__pict {
    width: 52.403%;
    height: auto;
    aspect-ratio: 905/585;
    border-radius: 16rem;
    overflow: hidden;
    flex-shrink: 0;
}

.calendar-event__pict img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-announcement__main {
   /* margin-bottom: 63rem;*/
}

.calendar-event__joinBtn {
     margin-top: 63rem;
}

.event-announcement__main_calendarPage .tags-list__item {
    padding: 6rem 20rem;
    border-radius: 7rem;
}

.event-announcement__main_calendarPage .tags-list {
    margin-bottom: 40rem;
}

.event-announcement__main_calendarPage .event-announcement__title {
    font-size: 36rem;
    margin: -5rem 0 87rem;
}

.event-announcement__main_calendarPage .event-announcement__date {
    display: flex;
    gap: 40rem;
    margin-bottom: 24rem;
}

.event-announcement__main_calendarPage .date-info {
    gap: 15rem;
    font-size: 28rem;
    color: #fff;
    margin-left: 0;
}

.event-announcement__main_calendarPage .date-info__icon {
    width: 44rem;
    height: 44rem;
    filter: invert(1);
}

.event-announcement__main_calendarPage .date-info__icon::after {
    filter: brightness(0);
}

.event-announcement__place {
}

.calendar-event__about {
    padding: 4rem 0 0;
    margin-bottom: 31rem;
}

.calendar-event__title {
    font-weight: 700;
    font-size: 48rem;
    margin-bottom: 20rem;
}

.calendar-event__desc {
    font-size: 32rem;
    line-height: 1.18;
}

.calendar-event__gallery {
    margin: 30rem 0;
    /* display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20rem;*/
}

.calendarPage__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40rem 0;
}

.calendarPage__header .breadcrumbs {
    margin: 0;
}

.calendar-event__watch {
    display: flex;
    align-items: center;
    gap: 12rem;
    font-size: 28rem;
    line-height: 1;
    font-weight: 300;
    font-family: 'font1', 'Arial', sans-serif;
}
.calendar-event__watch svg {
    width: 44rem;
    height: 44rem;
}

.calendar-event__gallery img {
    border-radius: 16rem;
}


.calendar-event-section {
    margin-bottom: 55rem;
}


.calendar-event-text-block {
    margin-bottom: 60rem;
    font-size: 32rem;
    line-height: 1.2;
}

.calendar-event-text-block h2 {
    font-weight: bold;
    font-size: 36rem;
    margin-bottom: 20rem;
}

.calendar-event-text-block__title {
    font-weight: bold;
    font-size: 36rem;
    margin-bottom: 16rem;
}

.calendar-event-text-block__paragraph {
    font-size: 32rem;
    line-height: 1.2;
}

.calendar-event-text-block ul {
    margin: 0 0 38rem 24rem;
    list-style: none;
}


.calendar-event-text-block li {
    font-size: 32rem;
    line-height: 1.2;
    color: #4F4F4F;
    padding-left: 24rem;
    position: relative;
}

.calendar-event-text-block li:not(:last-child) {
    margin-bottom: 1rem;
}


/* Кастомный маркер-кружок */
.calendar-event-text-block li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14rem;
    /* Примерное выравнивание по центру строки */
    width: 8rem;
    height: 8rem;
    background-color: #212529;
    border-radius: 50%;
}


/* --- Стилизованный список (styled-list) --- */

.styled-list {
    margin: 0 0 38rem 24rem;
    list-style: none;
}

.styled-list__item {
    font-size: 32rem;
    line-height: 1.2;
    color: #4F4F4F;
    padding-left: 24rem;
    position: relative;
}

.styled-list__item:not(:last-child) {
    margin-bottom: 1rem;
}

/* Кастомный маркер-кружок */
.styled-list__item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14rem;
    /* Примерное выравнивание по центру строки */
    width: 8rem;
    height: 8rem;
    background-color: #212529;
    border-radius: 50%;
}

.calendar-event-doc {
    margin-bottom: 108rem;
}

.calendar-event-doc .document-card__meta {
    margin-bottom: 0;
}
.calendar-evert-result__photos {
    margin-bottom: 50rem;
}

.calendar-evert-result__title {
    margin-bottom: 79rem;
    font-size: 48rem;
    font-weight: 700;
}

.calendar-evert-result__head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40rem;
    gap: 40rem;
}

.calendar-evert-result__head .calendar-evert-result__title {
    margin-bottom: 0;
    font-size: 50rem;
}

.calendar-evert-result__caption {
    font-size: 40rem;
    font-weight: 700;
    line-height: 1;
    font-family: 'font1', 'Arial', sans-serif;
}

.calendar-evert-result__btns {
  /*  margin-top: -15rem;*/
}

.video-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32rem;
    margin-bottom: 60rem;
}

.video-item {
    position: relative;
    display: block;
    width: 100%;
    /* Высота будет определяться пропорциями */
    aspect-ratio: 16 / 9;
    background-color: #FEF7F7;
    border-radius: 20rem;
    overflow: hidden;
    background-image: url('https://via.placeholder.com/800x450/cccccc/000000?text=Video+Thumbnail');
    background-size: cover;
    background-position: center;
    transition: transform 0.2s ease-out;
}

.video-item:hover {
    transform: scale(1.02);
}

.video-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.video-item:hover::after {
    opacity: 1;
}

.video-item__play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 64rem;
    height: 64rem;
    background-image: url("../img/doc-video.png");
    background-size: contain;
    z-index: 2;
    transition: transform 0.2s;
}

.video-item:hover .video-item__play-icon {
    transform: translate(-50%, -50%) scale(1.1);
}

.calendar-other {
    margin: 60rem 0;
}


.main-nav__list {
    display: flex;
    gap: 18rem;
}

.main-nav__link {
    cursor: pointer;
    display: block;
    padding: 6rem 10rem;
    border-radius: 7rem;
    font-weight: 500;
    font-size: 20rem;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.2);
    transition: background-color 0.2s, color 0.2s;
}

.main-nav__link:not(.main-nav__link_active):hover {
    background-color: rgba(0, 0, 0, 0.2);
}

.main-nav__link_active {
    background-color: #fff;
    color: #ED1B2E;
}

.burger-btn {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 45rem;
    height: 30rem;
}

.burger-btn__line {
    display: block;
    width: 100%;
    height: 4rem;
    background-color: #fff;
    border-radius: 2rem;
}

/* --- ОСНОВНОЙ КОНТЕНТ (MAIN) --- */

.main {
    /* Основной тег для семантики, может не иметь стилей */
}

.navigator {
    padding-bottom: 77rem;
}

.page-intro {
    background-color: #ED1B2E;
    background: linear-gradient(90deg, rgb(255 79 79) 0%, rgb(226 14 25) 50%);
    color: #fff;
    padding: 50rem 0 40rem;
    border-radius: 12rem;
    margin-bottom: 40rem;
    overflow: hidden;
}

.page-intro__wrap {
    display: flex;
    gap: 60rem;
    align-items: center;
    justify-content: space-between;
}

.page-intro__info {
    max-width: 990rem;
}


.page-intro__title {
    font-size: 80rem;
    font-weight: 600;
    margin-bottom: 14rem;
    overflow: hidden;
    line-height: 1.4;
}

.page-intro__description {
    font-size: 28rem;
    line-height: 1.3;
    margin-bottom: 40rem;
}

.page-intro__box-search {
    float: right;
    padding: 30rem 0rem 0 20rem;
    min-width: 500rem;
}


/* Элемент: кнопка "Назад" */
.breadcrumbs__back-btn {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40rem;
    height: 40rem;
    border: 1rem solid #ED1B2E;
    border-radius: 8px;
    transition: background-color 0.2s;
}

.breadcrumbs__back-btn:hover {
    background-color: #fce8e9;
}

.breadcrumbs__back-btn svg path {
    transition: stroke 0.2s;
}

.breadcrumbs__back-btn:hover svg path {
    /* Можно добавить эффект на иконку при наведении, если нужно */
}

/* Элемент: ссылка (стиль кнопки с обводкой) */
.breadcrumbs__link {
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 8rem 12rem;
    border: 1rem solid #ED1B2E;
    color: #ED1B2E;
    border-radius: 8px;
    font-size: 20rem;
    line-height: 1;
    font-weight: 500;
    transition: background-color 0.2s, color 0.2s;
    height: auto;
}

.breadcrumbs__link:hover {
    background-color: #ED1B2E;
    color: #fff;
}

/* Элемент: текущая страница (стиль залитой кнопки) */
.breadcrumbs__current {
    background-color: #ED1B2E;
    color: #fff;
}

.catalog-layout {
    display: grid;
    grid-template-columns: 527rem 1fr;
    gap: 40rem;
    align-items: flex-start;
}

.filter-card {
    background-color: #fff;
    border-radius: 12rem;
    padding: 24rem 23rem 31rem;
    margin-bottom: 53rem;
    border: 1px solid #e0e0e0;
}

.filter-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 22rem;
}

.filter-card__title {
    font-size: 24rem;
    font-weight: 700;
}

.filter-card__reset-btn {
    cursor: pointer;
    font-size: 20rem;
    color: #202020;
    display: flex;
    align-items: center;
    gap: 10rem;
    transition: color 0.2s;
    border-radius: 8rem;
    padding: 6rem 12rem;
    margin-bottom: -1rem;
    background: #FFFFFF;
    border: 1px solid #E9EDFC;
}

.filter-card__reset-ico {
    display: block;
    width: 24rem;
    height: 24rem;
    background-image: url("../img/ico-cross.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

.filter-card__reset-btn:hover {
    color: #ED1B2E;
}

.form-field {
    margin-bottom: 26rem;
}

.form-field:last-child {
    margin-bottom: 0;
}

.form-field__label {
    display: block;
    font-size: 20rem;
    font-weight: 500;
    margin-bottom: 7rem;
}

.form-field__input-wrapper {
    position: relative;
}

.form-field__input {
    width: 100%;
    height: 48rem;
    padding: 0 14rem;
    border-radius: 8rem;
    background-color: #f9f9f9;
    font-size: 20rem;
    border: none;
    font-weight: 400;
}


.form-field__input_large {
    height: 56rem;
    padding: 0 28rem;
}

.form-field__input_large::placeholder {
    font-family: 'font1', 'Arial', sans-serif;
    font-size: 24rem;
    font-weight: 300;
    color: rgba(0, 0, 0, 1);
}

.form-field__input_with-icon {
    padding-right: 62rem;
}

.form-field__icon {
    position: absolute;
    top: 50%;
    right: 9rem;
    transform: translateY(-50%);
    width: 35rem;
    height: 36rem;
    background-image: url(../img/ico-calendar.svg);
    background-size: contain;
}
.form-field__input:focus ~ .form-field__icon--arrow {
    transform: translateY(-50%)  rotate(180deg);
}

.form-field__icon--arrow {
    width: 12rem;
    height: 8rem;
    right: 27rem;
    background-repeat: no-repeat;
    background-position: center;
    transition: all 0.2s ease-out;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ED1B2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* --- Блок: Кастомный селект (custom-select) --- */

.custom-select {
    position: relative;
    font-family: 'font1', 'Arial', sans-serif;
}

.custom-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 40rem;
    padding: 0 20rem;
    background-color: #f9f9f9;
    border-radius: 10rem;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
}



.custom-select__trigger_large {
    height: 56rem;
    padding: 0 28rem;
}

.custom-select__trigger:hover {
    border-color: #BDBDBD;
}

.custom-select__value {
    font-size: 20rem;
    color: #212529;
}

.custom-select__value_count {
    font-weight: bold;
}

.custom-select__arrow {
    width: 12rem;
    height: 8rem;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ED1B2E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.2s ease-out;
    background-size: contain;
}

/* Состояние "открыт" */
.custom-select_is-open .custom-select__trigger {
    border-color: #ED1B2E;
}

.custom-select_is-open .custom-select__arrow {
    transform: rotate(180deg);
}

.custom-select__panel {
    position: absolute;
    top: calc(100% + 8rem);
    left: 0;
    right: 0;
    background-color: #fff;
    border: 1rem solid #E0E0E0;
    border-radius: 12rem;
    box-shadow: 0 10rem 30rem rgba(0, 0, 0, 0.1);
    padding: 8rem;
    z-index: 10;

    /* Скрываем по умолчанию */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10rem);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}

.custom-select_is-open .custom-select__panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.custom-select__list {
    display: flex;
    flex-direction: column;
    max-height: 250rem;
    /* Ограничение высоты с прокруткой */
    overflow-y: auto;
}

.custom-select__option {
    /* Обертка для одного пункта */
}

.custom-select__label {
    display: flex;
    align-items: center;
    padding: 12rem;
    cursor: pointer;
    border-radius: 8rem;
    transition: background-color 0.2s;
}

.custom-select__label:hover {
    background-color: #f9f9f9;
}

.custom-select__checkbox-box {
    flex-shrink: 0;
    width: 20rem;
    height: 20rem;
    border: 1.5rem solid #BDBDBD;
    border-radius: 4rem;
    margin-right: 12rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s, background-color 0.2s;
}

/* Стилизация чекнутого состояния */
.custom-select__checkbox-input:checked + .custom-select__label .custom-select__checkbox-box {
    background-color: #ED1B2E;
    border-color: #ED1B2E;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='11' viewBox='0 0 14 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5.5L5 9.5L13 1.5' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.custom-select__option-text {
    font-size: 20rem;
    line-height: 1.3;
}


.categories-nav__title {
    font-size: 32rem;
    font-weight: 700;
    margin-bottom: 30rem;
}

.categories-nav__list {
    display: flex;
    flex-direction: column;
}

.categories-nav__item:not(:last-child) {
    margin-bottom: 20rem;
}


.categories-nav__link {
    cursor: pointer;
    display: block;
    width: 100%;
    text-align: left;
    padding: 16rem 19rem;
    background-color: #fff;
    border: 1rem solid #E0E0E0;
    border-radius: 6rem;
    font-weight: 600;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    font-size: 24rem;
    line-height: 1.04;
}

.categories-nav__link:hover {
    border-color: #BDBDBD;
}

.categories-nav__link_active {
    background-color: #f2f2f2;
    border-color: transparent;
}

.categories-nav__caption {
    display: block;
    font-weight: 600;
    margin-bottom: 16rem;

}

.categories-nav__text {
    display: block;
    font-weight: 400;
}


.search-panel {
    background-color: #fff;
    border-radius: 12rem;
    margin-bottom: 77rem;
    position: relative;
    padding: 0 0 0 15rem;

}

.search-panel__form {
    position: relative;
    margin-bottom: 18rem;
    padding: 0 60rem 0 30rem;
    background-color: #F9F9FB;
    border-radius: 12rem;
    border: 1px solid #FCE7E8;
}

.search-panel__ico {
    background: url(../img/ico-Search.svg) no-repeat;
    background-size: contain;
    position: absolute;
    width: 22rem;
    height: 22rem;
    left: 14rem;
    top: 16rem;
}

.search-panel__input {
    width: 100%;
    height: 54rem;
    padding: 0 10rem 0 22rem;
    font-size: 15rem;
    background-color: #f5f5f7;
    border: none;
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
}

.search-panel__input::placeholder {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
}

@media (max-width: 700px) {
    .search-panel__input {
        font-size: 12px;
    }
}

.search-panel__submit-btn {
    cursor: pointer;
    position: absolute;
    top: 11rem;
    right: 12rem;
    width: 32rem;
    height: 32rem;
    background-image: url(../img/ico-Right_side.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    cursor: pointer;
}

.search-panel__desc-title {
    font-size: 23rem;
    font-weight: 700;
    margin-bottom: 15rem;
}

.search-panel__description {
    border-bottom: 1px solid #e9edfc;
    padding-bottom: 18rem;
}

.search-panel__desc-text p {
    font-size: 21rem;
    line-height: 1.2;
}

.search-panel__desc-text_large p {
    font-size: 32rem;
}

.search-panel__desc-text p:not(:last-child) {
    margin-bottom: 22rem;
}

.empty-message {
    transition: all .3s ease-in-out;
    font-size: 20rem;
    padding: 49rem;
    font-weight: 700;
    background: #FFFFFF;
    border: 1px solid #E8E8E8;
    border-radius: 16px;
    color: #D90912;
    text-align: center;
}


.empty-message__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 24rem;
    padding: 57rem 0;
}

.empty-message__content img {
    width: 151rem;
    height: 151rem;
}

.documents-list__item {
    padding: 32rem 0;
    border-bottom: 1rem solid #E9EDFC;
}

.documents-list__item:last-child {
    margin-bottom: 0;
}

/* КАРТОЧКА ДИКУМЕНТА */

.document-card {
    position: relative;
    padding: 0;
    transition: box-shadow 0.2s, transform 0.2s, border-color 0.2s;
}

.document-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24rem;
    margin-bottom: 26rem;
}

.document-card__icons {
    display: flex;
    justify-content: space-between;
    gap: 12rem;
}

.document-card__icons--mobile {
    display: none;
}

.document-card__icons-item {
    width: 47rem;
    height: 56rem;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.document-card__icons-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.document-card__icons-item__pdf {
    background-image: url("../img/ico-pdf.svg");
}


.document-card__icons-item__doc {
    background-image: url("../img/ico-doc.svg");
}

.document-card__icons-item__xls {
    background-image: url("../img/ico-xls.svg");
}

.document-card__icons-item__video {
    background-image: url("../img/doc-video.png");
}

.document-card__icons-item__derevo {
    background-image: url("../img/ico-derevo.svg");
}

.document-card__icons-item__tenis {
    background-image: url("../img/ico-tenis.svg");
}

.document-card__icons-item__comp {
    background-image: url("../img/ico-comp.svg");
}

.document-card__icons-item__block {
    background-image: url("../img/ico-block.svg");
}

.document-card__icons-item__tourism {
    background-image: url("../img/ico-tourism.svg");
}

.document-card__icons-item__patriot {
    background-image: url("../img/ico-patriot.svg");
}

.document-card__title {
    font-size: 24rem;
    font-weight: 700;
    word-break: break-word;
}

.document-card__meta {
   /* margin-bottom: 12rem;*/
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.document-card__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12rem;
    margin-top: auto;
}

.catalog-layout .document-card__footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 12rem;
}
.catalog-layout  .document-card {

}
.tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    margin-bottom: 15rem;
    font-family: "Inter", sans-serif;
}

.tags-list__item {
    padding: 8rem 20rem;
    background: linear-gradient(97.59deg, #FF4F4F 11.15%, #E10B17 93.66%);
    color: white;
    border-radius: 8rem;
    font-size: 20rem;
    line-height: 1;
    font-weight: 300;
    font-family: 'font1', 'Arial', sans-serif;
}

.tags-list_white .tags-list__item {
    background: #fff;
    color: #ED1B2E;
}

.tags-list_border .tags-list__item {
    border: 1px solid #D90912;
}

.tags-list_white .tags-list__item:hover {
}

.date-info {
    display: flex;
    align-items: center;
    gap: 12rem;
    font-size: 20rem;
    line-height: 1;
    color: #212529;
    margin-left: 0;
}

.date-info__icon {
    width: 35rem;
    height: 36rem;
}


.date-info__icon::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/ico-calendar.svg) no-repeat center;
    background-size: contain;
}

.date-info__icon_time::after {
    background-image: url(../img/ico-time.svg);
}

.date-info__icon_adress::after {
    background-image: url(../img/ico-adress.svg);
}

.date-info__text {
    margin-bottom: -2rem;
}

.button-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    margin: 0;
    gap: 10rem;
}

.document-card_pdf::after {
    background-image: url("../img/ico-pdf.svg");
}

.document-card_doc::after {
    background-image: url("../img/ico-doc.svg");
}

.document-card_xls::after {
    background-image: url("../img/ico-xls.svg");
}

.document-card_video::after {
    background-image: url("../img/doc-video.png");
}



/* модификатор уменьшеной карточки */
.document-card_mini.document-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    line-height: 1.1;
    /*  min-width: 461rem;*/
    padding: 40rem 29rem 40rem 40rem;
    border-radius: 16rem;
    border: 1rem solid #D8D8D8;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.1);
}


.document-card_mini .tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    margin-bottom: 34rem;
}

.document-card_mini .tags-list__item {
    background: #ED1B2E;
    background: linear-gradient(90deg, rgb(255 80 79) 0%, rgb(225 13 23) 100%);
    color: #fff;
    padding: 3rem 20rem;
    height: 36rem;
    line-height: 1.4;
    border-radius: 10rem;
}

.document-card_mini .date-info {
    margin-left: -6rem;
}

.document-card__btns {
    margin-bottom: 19rem;
}
.document-card__btns .button-group {
    justify-content: flex-start;
}
/* --- СТРАНИЦА КОНТАКТЫ --- */


.contacts-layout {
    display: grid;
    grid-template-columns: 553rem 1fr;
    gap: 40rem;
    align-items: flex-start;
    margin-bottom: 82rem;
}
.contacts-layout .btn {
    width: 340rem;
    padding: 24rem 39rem;
}

.contacts-layout__info {
    display: flex;
    flex-direction: column;
}

.contacts-layout__caption {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 52rem;
    margin-bottom: 84rem;
    line-height: 1.1;
}

.contact-list {
    margin-bottom: 43rem;
}

.contact-item:not(:last-child) {
    margin-bottom: 40rem;
}

.contact-item__link {
    display: inline-block;
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 28rem;
    color: #212529;
    transition: color 0.2s;
    margin-bottom: 8rem;
}

.contact-item__link:hover {
    color: #ED1B2E;
}

.contact-item__desc {
    font-size: 24rem;
    color: #000000;
}

.working-hours {
    font-size: 24rem;
    margin-bottom: 30rem;
    color: #000000;
}

.contact-slot {
}
.contact-list {
    display: flex;
    flex-direction: column;
}

/*.contact-item:nth-child(1) {
    order: 2;
    margin-bottom: 0;
}

.contact-item:nth-child(2) {
    order: 0;
}

.contact-item:nth-child(3) {
   order: 1;
}

.contact-item:nth-child(4) {
    display: none;
    order: 3;
}

.contact-item:nth-child(5) {
    display: none;
    order: 4;
}*/

.contact-slot_soc {
    margin-top: 23rem;
    margin-bottom: 84rem;
}

.social-links_red .social-links__ico {
    /* Модификатор для красных иконок */
    /* Предполагается, что сюда будут вставлены SVG с красной заливкой */
}

.social-links {
    display: flex;
    align-items: center;
    gap: 20rem;
}

.social-links__ico {
    display: block;
    width: 40rem;
    height: 40rem;
    opacity: 0.8;
    transition: opacity 0.2s;
}

.social-links__ico:hover {
    opacity: 1;
}

.social-links__ico::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: no-repeat center;
    background-size: contain;
}

.social-links__ico_vk::after {
    background-image: url("../img/ico-vk.svg");
}

.social-links__ico_tg::after {
    background-image: url("../img/ico-tg.svg");
}

.social-links__ico_ok::after {
    background-image: url("../img/ico-ok.svg");
}


.contacts-layout__map {
    width: 100%;
    height: 100%;
    min-height: 500rem;
    background: #f6f0f0;
    background: linear-gradient(90deg, rgb(247 240 240) 0%, rgb(251 249 250) 100%);
    border-radius: 20rem;
    overflow: hidden;
}

.contacts-layout__map_placeholder {
    width: 100%;
    height: 100%;
    border-radius: 20rem;
    align-items: center;
    justify-content: center;
    background-image: url(../img/image-gallery.png);
    background-position: center;
    background-repeat: no-repeat;
}


/* --- СТРАНИЦА ДОКУМЕНТЫ --- */

.page-intro_with-search {
    padding-bottom: 44rem;
}

.page-intro__content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.page-intro {
    background-color: #ED1B2E;
    background: linear-gradient(90deg, rgb(255 79 79) 0%, rgb(226 14 25) 50%);
    color: #fff;
    padding: 50rem 0 40rem;
    border-radius: 12rem;
    margin-bottom: 40rem;
    overflow: hidden;
}

.page-intro__wrap {
    display: flex;
    gap: 60rem;
    align-items: center;
}

.page-intro__info {
    max-width: 990rem;
}

.page-intro__pict {
    border-radius: 20rem;
    overflow: hidden;
    background: no-repeat center;
    background-size: cover;
    width: 40.012%;
    height: auto;
    aspect-ratio: 691 / 447;
    flex-shrink: 0;
}


.page-intro__pict_methSupport {
    background-image: url(../img/methSupport.jpg);
}

.page-intro__pict_documents {
    background-image: url(../img/documents.jpg);
}

.page-intro__pict_nav {
    background-image: url(../img/pick-navigation.jpg);
}

.page-intro__pict_inoy {
    background-image: url(../img/inoy.jpg);
}

.page-intro__pict_sup {
    background-image: url(../img/support.jpg);
}

.page-intro__pict_library {
    background-image: url(../img/library.jpg);
}

.search-form {
    position: relative;
    width: 530rem;
    flex-shrink: 0;
}

.search-form__input {
    width: 100%;
    height: 56rem;
    padding: 0 60rem 0 56rem;
    border: none;
    border-radius: 8rem;
    background-color: #fff;
    font-size: 20rem;
    color: #212529;
}

.search-form__input::placeholder {
    color: #828282;
}

.search-form__input:focus {
    outline: 2rem solid rgba(255, 255, 255, 0.5);
}

.search-form::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20rem;
    transform: translateY(-50%);
    width: 24rem;
    height: 24rem;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 21C16.7467 21 21 16.7467 21 11.5C21 6.25329 16.7467 2 11.5 2C6.25329 2 2 6.25329 2 11.5C2 16.7467 6.25329 21 11.5 21Z' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 22L20 20' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
}

.search-form__submit {
    position: absolute;
    top: 12rem;
    right: 12rem;
    width: 32rem;
    height: 32rem;
    background-color: #ED1B2E;
    border-radius: 6rem;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 7L1 13' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.doc-sections-list {
    display: flex;
    flex-direction: column;
}

.doc-section {
    display: flex;
    gap: 60rem;
    padding: 65rem 0;
}

.doc-section:first-child {
    padding-top: 0;
}

.doc-section:last-child {
    border-bottom: none;
}

.doc-section__info {
    flex-grow: 1;
}

.doc-section__title {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 36rem;
    margin-bottom: 25rem;
    line-height: 1;
}

.doc-section__desc {
    font-size: 32rem;
    line-height: 1.2;
    color: #4F4F4F;
    max-width: 870rem;
}

.doc-section__widget {
    background-color: #f5f5f7;
    border-radius: 20rem;
    padding: 32rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 0;
    width: 41%;
}

.doc-section__widget_color1 {
    background: #eaedfc;
}

.doc-section__widget_color2 {
    background: #f9f5f5;
    background: linear-gradient(90deg, rgb(246 240 240) 0%, rgb(252 249 250) 100%);
}

.doc-section__widget_color3 {
    background: #fbf1f0;
    background: linear-gradient(90deg, rgb(248 244 245) 0%, rgb(254 237 237) 100%);
}

.doc-section__widget-title {
    font-weight: bold;
    font-size: 41rem;
    text-align: center;
    margin-bottom: 24rem;
    color: #000;
}

.widget-links-list {
    display: flex;
    flex-direction: column;
    gap: 16rem;
}

.widget-links-list__link {
    display: flex;
    align-items: left;
    padding: 16rem 24rem;
    border-radius: 12rem;
    transition: box-shadow 0.2s, transform 0.2s;
}

.widget-links-list__link:hover {
    transform: translateY(-2rem);
    box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.07);
}

.widget-links-list__text {
    font-size: 28rem;
    font-weight: 500;
}

.widget-links-list__icon {
    width: 44rem;
    height: 44rem;
    display: inline-block;
    vertical-align: middle;
    margin-left: 20rem;
}

.widget-links-list__icon::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url(../img/ico-go2.svg);
}

.btn_full-width {
    width: 100%;
}

.custom-select__trigger_white {
    background-color: #fff;
}


/* --- СТИЛИ СТРАНИЦЫ ДОКУМЕНТА --- */

.doc-controls {
    background-color: #fff;
    border-bottom: 1rem solid #E0E0E0;
    padding: 12rem 0;
    margin-bottom: 40rem;
}

.doc-controls__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.breadcrumbs {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 12rem;
    margin: 40rem 0;
}

.breadcrumbs_inline {
    margin-bottom: 0;
}


.breadcrumbs__link:hover .breadcrumbs__ico {
    filter: invert();
}

.breadcrumbs__link:hover .breadcrumbs__ico:after {
    filter: brightness(0);
}



.breadcrumbs__current {
    background-color: #ED1B2E;
    color: #fff;
    cursor: default;
}

.breadcrumbs__current:hover {
    background-color: #ED1B2E;
    color: #fff;
}

.search-form_in-doc {
    position: relative;
    width: 320rem;
}

.search-form_in-doc .search-form__input {
    width: 100%;
    height: 40rem;
    padding: 0 20rem 0 48rem;
    border: none;
    font-size: 16rem;
    background-color: #f5f5f7;
    border-radius: 6rem;
}

.search-form_in-doc::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 16rem;
    transform: translateY(-50%);
    width: 24rem;
    height: 24rem;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 21C16.7467 21 21 16.7467 21 11.5C21 6.25329 16.7467 2 11.5 2C6.25329 2 2 6.25329 2 11.5C2 16.7467 6.25329 21 11.5 21Z' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 22L20 20' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
}

.document-content {
    background-color: #fff;
    border: 1rem solid #E0E0E0;
    border-radius: 20rem;
    padding: 40rem;
}

.document-content__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 32rem;
    border-bottom: 1rem solid #E0E0E0;
    margin-bottom: 32rem;
}

.document-content__main-title {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 24rem;
    margin-bottom: 4rem;
}

.document-content__sub-title {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 32rem;
}

.document-content__actions {
    display: flex;
    gap: 16rem;
    flex-shrink: 0;
}

.action-btn {
    display: block;
    width: 48rem;
    height: 48rem;
    border-radius: 8rem;
    background-color: #f5f5f7;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-color 0.2s;
}

.action-btn:hover {
    background-color: #e0e0e0;
}

.action-btn_pdf {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.16992 2H14.8299C15.2299 2 15.6199 2.08 15.9799 2.24C18.4899 3.25 18.4899 5.31 15.9799 6.32C15.6199 6.48 15.2299 6.56 14.8299 6.56H9.16992C8.76992 6.56 8.37992 6.48 8.01992 6.32C5.50992 5.31 5.50992 3.25 8.01992 2.24C8.37992 2.08 8.76992 2 9.16992 2Z' fill='%23ED1B2E'/%3E%3Cpath d='M15.11 11.4504C14.16 11.4504 13.39 12.2204 13.39 13.1704C13.39 14.1204 14.16 14.8904 15.11 14.8904C16.06 14.8904 16.83 14.1204 16.83 13.1704C16.83 12.2204 16.06 11.4504 15.11 11.4504Z' fill='%23ED1B2E'/%3E%3Cpath d='M13.29 18.0098H16.93C18.03 18.0098 18.93 17.1098 18.93 16.0098V10.3498C18.93 9.24976 18.03 8.34976 16.93 8.34976H13.29C12.19 8.34976 11.29 9.24976 11.29 10.3498V16.0098C11.29 17.1098 12.19 18.0098 13.29 18.0098Z' fill='%23ED1B2E'/%3E%3Cpath d='M8.5 17.5102V9.61023H6C5.59 9.61023 5.25 9.95023 5.25 10.3602V17.5102C5.25 18.1702 5.79 18.7102 6.45 18.7102H8.5C9.05 18.7102 9.5 18.2602 9.5 17.7102V17.5102C9.5 17.5102 9.17 17.5102 8.5 17.5102Z' fill='%23ED1B2E'/%3E%3Cpath d='M22 13.2398C22 17.4298 21.09 21.9998 15.17 21.9998H8.83C2.91 21.9998 2 17.4298 2 13.2398V10.7598C2 6.56981 2.91 1.99982 8.83 1.99982H15.17C21.09 1.99982 22 6.56981 22 10.7598V13.2398Z' stroke='%23ED1B2E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.action-btn_download {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.00002 10.5C9.41002 10.5 9.75002 10.16 9.75002 9.75V4.25C9.75002 3.84 9.41002 3.5 9.00002 3.5C8.59002 3.5 8.25002 3.84 8.25002 4.25V9.75C8.25002 10.16 8.59002 10.5 9.00002 10.5Z' fill='%23ED1B2E'/%3E%3Cpath d='M12.53 13.47L10.47 15.53C10.18 15.82 9.79 16 9.38 16H8.62C8.21 16 7.82 15.82 7.53 15.53L5.47 13.47C5.18 13.18 5 12.79 5 12.38V11.62C5 11.21 5.18 10.82 5.47 10.53L7.53 8.47C7.82 8.18 8.21 8 8.62 8H9.38C9.79 8 10.18 8.18 10.47 8.47L12.53 10.53C12.82 10.82 13 11.21 13 11.62V12.38C13 12.79 12.82 13.18 12.53 13.47Z' fill='%23ED1B2E'/%3E%3Cpath d='M22 12V15.5C22 19.09 21.09 20.5 17.5 20.5H6.5C2.91 20.5 2 19.09 2 15.5V8.5C2 4.91 2.91 3.5 6.5 3.5H13' stroke='%23ED1B2E' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.document-content__body {
    padding-bottom: 40rem;
}

.text-content__title {
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: bold;
    font-size: 20rem;
    margin-bottom: 16rem;
}

.text-content__paragraph {
    font-size: 20rem;
    line-height: 1.6;
    color: #4F4F4F;
}

.text-content__paragraph:not(:last-child) {
    margin-bottom: 16rem;
}

.text-content__paragraph strong {
    font-weight: bold;
    color: #212529;
}

.pagination {
    display: flex;
    justify-content: center;
}

.pagination__list {
    display: flex;
    align-items: center;
    gap: 8rem;
}

.pagination__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40rem;
    height: 40rem;
    padding: 0 8rem;
    border-radius: 8rem;
    font-size: 16rem;
    font-weight: 500;
    color: #212529;
    background-color: #f5f5f7;
    transition: background-color 0.2s, color 0.2s;
}

.pagination__link:hover {
    background-color: #e0e0e0;
}

.pagination__link_active {
    background-color: #ED1B2E;
    color: #fff;
    cursor: default;
}

.pagination__link_active:hover {
    background-color: #ED1B2E;
}

.pagination__link_arrow {
    padding: 0;
}

.pagination__item_dots {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40rem;
    padding: 0 8rem;
    color: #828282;
}


/* calendar */
.calendar {
}

.calendar__btns {
    padding-top: 40rem;
    margin-bottom: 60rem;
}

.calendar__empty {
    background: #FFFFFF;
    border: 1px solid #D90912;
    border-radius: 16rem;
    color: #D90912;
    font-size: 36rem;
    line-height: 1;
    font-weight: bold;
    font-family: 'font1', 'Arial', sans-serif;
    padding: 49rem;
    text-align: center;
}

.calendar__empty-content {
    padding: 57rem 75rem 57rem 161rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24rem;
}

.calendar__empty-img {
    width: 151rem;
    height: 151rem;
}

.calendar__empty-img img {
    width: 100%;
    height: 100%;
}

.calendar__wrap {
    display: flex;
    gap: 14rem;
    align-items: stretch;
}

.calendar__wrap .dropdown {
    height: 100%;
}

.calendar__wrap .custom-select__trigger {
    height: 100%;
}

.calendar--category {
    width: 268rem;
}

.calendar--period {
    width: 288rem;
}

.calendar__wrap .search__box {
    flex-grow: 1;
}

.calendar__wrap .search-panel__form {
    margin-bottom: 0;
}

.calendar__header {
    height: 56rem;
    margin: 43rem 0 20rem;
}

.calendar__list {
}

/* --- Фильтры календаря --- */

.events-filter {
    margin-bottom: 40rem;
}

.events-filter__top {
    margin-bottom: 24rem;
}

.events-search-form {
    position: relative;
}

.events-search-form__input {
    width: 100%;
    height: 56rem;
    padding: 0 60rem 0 56rem;
    border: 1rem solid #E0E0E0;
    border-radius: 12rem;
    background-color: #fff;
    font-size: 16rem;
}

.events-search-form::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20rem;
    transform: translateY(-50%);
    width: 24rem;
    height: 24rem;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5 21C16.7467 21 21 16.7467 21 11.5C21 6.25329 16.7467 2 11.5 2C6.25329 2 2 6.25329 2 11.5C2 16.7467 6.25329 21 11.5 21Z' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M22 22L20 20' stroke='%23828282' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}

.events-search-form__submit {
    position: absolute;
    top: 12rem;
    right: 12rem;
    width: 32rem;
    height: 32rem;
    border-radius: 6rem;
    background-color: #ED1B2E;
    background-image: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 7L1 13' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
}

.events-filter__bottom {
    display: flex;
    align-items: center;
    gap: 20rem;
}

.month-filter__icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56rem;
    height: 56rem;
    background-color: #ED1B2E;
    border-radius: 7rem;
    flex-shrink: 0;
    flex-grow: 0;
    cursor: pointer;
}

.month-filter__ico {
    display: block;
    width: 100%;
    height: 100%;
    filter: invert();
}

.month-filter__ico::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/ico-calendar2.svg") no-repeat center;
    filter: brightness(0);
}

.month-filter__wrapper {
    display: flex;
    align-items: stretch;
    gap: 28rem;
    width: 100%;
    position: relative;
}


.month-filter__scroll-container {
    flex-grow: 1;
    overflow-x: auto;
    scrollbar-width: none; /* Hide scrollbar for Firefox */
    -ms-overflow-style: none; /* Hide scrollbar for IE/Edge */
}

.month-filter__scroll-container::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Chrome/Safari */
}

.month-filter__list {
    display: flex;
    align-items: center;
    gap: 28rem;
    width: max-content;
    list-style: none;
    margin: 0;
    scroll-behavior: smooth;
    height: 100%;
}

.month-filter__list li {
    height: 100%;
}
.month-filter__btn {
    padding: 12rem 20rem;
    font-size: 24rem;
    font-weight: 600;
    border-radius: 6rem;
    border: 1rem solid #ed1b2e;
    background-color: #fff;
    color: #212529;
    transition: all 0.2s;
    width: 100%;
    cursor: pointer;
    height: 100%;
}

.month-filter__scroll-btn {
    width: 56rem;
    flex-shrink: 0;
}

.month-filter__scroll-btn:disabled {
    opacity: 0.5;
    cursor: none;
    pointer-events: none;
}

.month-filter__scroll-btn svg {
    stroke: #D90912;
}

.month-filter__scroll-btn:hover svg {
    stroke: white;
}

.month-filter__btn:hover {
    /* color: #ED1B2E; */
    background-color: #fce8e9;
}

.month-filter__btn_active {
    background-color: #fce8e9;
    border-color: #fce8e9;
    cursor: default;
}

.custom-select_period-filter {
    width: 520rem;
    margin-left: auto;
}

/* Модификатор для селекта с серым фоном */
.custom-select__trigger_light {
    background-color: #f5f5f7;
    border-color: #f5f5f7;
    height: 56rem;
}

.custom-select__trigger_light:hover {
    border-color: #e0e0e0;
}

/* --- Сетка карточек --- */
.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20rem;
    margin-bottom: 20rem;
}

/* --- Кнопка "Загрузить еще" --- */

.load-more-wrapper {
    display: flex;
    justify-content: center;
}

.btn_outlined-gray {
    border: 1rem solid #E0E0E0;
    color: #212529;
    background-color: #fff;
    font-size: 16rem;
    font-weight: 500;
    padding: 12rem 24rem;
    border-radius: 12rem;
}

.btn_outlined-gray:hover {
    border-color: #BDBDBD;
}

/* --- Блок: Карточка мероприятия (event-card) --- */

.event-card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 20rem;
    border: 1px solid #fbe7e7;
    overflow: hidden;
    box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.05);
    height: 100%;
    /* Чтобы карточки в гриде были одной высоты */
}

.event-card__image-link {
    display: block;
    aspect-ratio: 400 / 260;
    overflow: hidden;
    border-radius: 20rem;
}

.event-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease-out;
}

.event-card__description {
    margin-bottom: 32rem;
    font-size: 20rem;
    font-weight: 300;
    line-height: 1;
}

.event-card:hover .event-card__image {
    transform: scale(1.05);
}

.event-card__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20rem;
}

.event-card__tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0 16rem;
}

.event-card__tag {
    display: inline-block;
    padding: 5rem 19rem;
    border: 1rem solid #ED1B2E;
    border-radius: 8rem;
    font-size: 20rem;
    color: #ED1B2E;
    align-self: flex-start;
    /* Чтобы тег не растягивался */
    margin-bottom: 16rem;
    font-weight: 300;
}

.event-card__title {
    font-weight: bold;
    font-size: 24rem;
    line-height: 1;
    margin-bottom: 16rem;
}

.event-card__title-link:hover {
    color: #ED1B2E;
}

.event-card__meta {
    margin-bottom: 37rem;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 16rem;
}

.event-card__meta-item {
    font-size: 22rem;
    color: rgba(0, 0, 0, 1);
    position: relative;
    font-weight: 300;
    display: flex;
    align-items: center;
    gap: 12rem;
}

/* Красный кружок-маркер */
.event-card__meta-item::before {
    content: '';
    width: 36rem;
    height: 36rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: block;
}

.event-card__meta-item_date::before  {
    background-image: url(../img/icon-calendar-event.svg);
}

.event-card__meta-item_location::before  {
    background-image: url(../img/icon-map-pin.svg);
}

.event-card__meta-item--clock {
    background-image: url(../img/icon-clock.svg);
    width: 36rem;
    height: 36rem;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: block;
}

/* Кнопка уже была ранее стилизована, здесь только для карточки*/
.event-card__btn.btn_primary {
    width: 100%;
    font-size: 26rem;
    padding: 16rem;
}


.docsPage .page-intro {
    background-color: #ED1B2E;
    background: linear-gradient(90deg, rgb(255 79 79) 0%, rgb(226 14 25) 50%);
    color: #fff;
    padding: 50rem 0 62rem;
    border-radius: 12rem;
    margin-bottom: 40rem;
    overflow: hidden;
}

.docsPage .page-intro__wrap {
    display: flex;
    gap: 62rem;
    align-items: center;
}


.docsPage .page-intro__pict_podrazdel {
    background-image: url(../img/podrazdel.jpg);
}

.docsPage .page-intro__title {
    font-size: 46rem;
    font-weight: 600;
    margin-bottom: 44rem;
    overflow: hidden;
    line-height: 1.4;
}

.docsPage .page-intro__description {
    font-size: 28rem;
    line-height: 1.2;
    margin-bottom: 40rem;
}


.docsPage .page-intro__info {
    max-width: 990rem;
}


.docsPage__list {
    margin-top: 47rem;
}

.docsPage__filters {
    display: flex;
    align-items: center;
    gap: 24rem;
}

.docsPage__filters .search-panel__form {
    flex-grow: 1;
    margin-bottom: 0;
    border: none;
}

.docsPage__filters--date {
    width: 314rem;
}

.docsPage__filters--date .form-field__input {
    font-weight: 300;
    color: rgb(33, 37, 41);
}


.docsPage__filters--date .form-field__input::placeholder {
    color: #212529;
    font-size: 24rem;
    font-family: 'font1', 'Arial', sans-serif;
}


.docsPage__filters--type {
    width: 294rem;
}

.docsPage__filters--type .custom-select__trigger {
    font-weight: 300;
    color: rgba(0, 0, 0, 1);
}

.docsPage__promo {
    margin-top: 60rem;
    padding-bottom: 53rem;
}

/* --- ПОДВАЛ (FOOTER) --- */

.footer__wrap {
    display: flex;
    padding: 46rem 0 30rem;
    gap: 73rem;
}


.footer__center {
    padding-top: 18rem;
}

.footer-btns {
    display: flex;
    gap: 20rem;
    margin-bottom: 48rem;
}

.footer__top {
    display: flex;
    flex-direction: column;
    gap: 31rem;
    padding-bottom: 34rem;
}

.footer-inn {
    font-size: 20rem;
}

.footer-inn--mobile {
    display: none;
}

.footer-nav__title {
    font-weight: bold;
    font-size: 24rem;
    margin-bottom: 20rem;
}

.footer-nav__list {
    display: flex;
    flex-direction: column;
    gap: 37rem;
}

.footer-nav__link {
    font-size: 24rem;
    font-weight: 600;
    opacity: 0.8;
    transition: opacity 0.2s;

}

.footer-nav__link:hover {
    opacity: 1;
}

.footer__right {
    width: 379rem;
    flex-grow: 0;
    margin-left: auto;
}

.footer__right--mobile {
    display: none;
}

.footer__soc--mobile {
    display: none;
}
.contacts-block {
    background-color: #DCDCDC4D;
    border-radius: 16rem;
    padding: 40rem;
    min-width: 356rem;
}

.contacts-block__item {
    margin-bottom: 35rem;
}

.contacts-block__item:last-child {
    margin-bottom: 0;
}

.contacts-block__link {
    display: block;
    font-weight: bold;
    font-size: 24rem;
    margin-bottom: 0rem;
    line-height: 1.3;
}

.contacts-block__desc {
    font-size: 20rem;
    color: rgba(0, 0, 0, 0.7);
    line-height: 1.3;
}


.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 17rem;
    gap: 100rem;
}

.footer__logo {
    height: 131rem;
    display: block;
}

.footer__logo img {
    height: 100%;
}

.footer-copy {
    max-width: 130rem;
    align-items: center;
    gap: 24rem;
    font-size: 20rem;
    font-weight: 700;
}

.footer-policy {
    display: flex;
    gap: 68rem;
}

.footer-policy__link {
    font-size: 20rem;
    color: rgb(217 11 19);
    transition: opacity 0.2s;
    opacity: 0.8;
    max-width: 351rem;
}

.footer-policy__link:nth-child(1) {
    max-width: 186rem;
}

.footer-policy__link:nth-child(2) {
    max-width: 351rem;
}

.footer-policy__link:nth-child(3) {
    max-width: 180rem;
}

.footer-policy__link:hover {
    opacity: 1;
}

.complex_nav {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    padding: 20rem;
    opacity: 0;
    transition: all .5s ease;
    transform: translateY(-100%)
}


@media (max-width: 700px) {
    .complex_nav {
        width: 100%;
        max-width: 100%;
    }
}


.complex_nav.active {
    z-index: 9999;
    opacity: 1;
    transform: translateY(0)
}

.complex_nav__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.complex_nav__background:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
}

.complex_nav__background img {
    display: none;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.complex_nav__background-active:before {
    display: none
}

.complex_nav__background-active img {
    display: block
}

.complex_nav__container {
    position: relative;
    z-index: 9;
    padding: 82rem 108rem 42rem;
    border-radius: 16rem;
    box-shadow: 8px 8px 32px -4px #00133929;
    background-color: white;
}

@media (max-width: 1279px) {
    .complex_nav__container {
        padding: 40rem 20rem
    }
}

@media (max-width: 767px) {
    .complex_nav__container {
        overflow-y: auto;
        max-height: 100vh;
        padding: 24px 16px
    }
}

.complex_nav__footer {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 46rem;
}

button.complex_nav__close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52rem;
    height: 52rem;
    padding: 8rem;
    border: 1px solid #e10b17;
    border-radius: 12rem;
    position: absolute;
    top: 26rem;
    right: 27rem;
    z-index: 11;
    cursor: pointer;
}

.complex_nav__close img {
    width: 24rem;
    height: 24rem;
}

.complex_nav__list {
    display: grid;
    grid-template-columns:533rem 615rem;
    gap: 199rem;
}

@media (max-width: 1420px) {
    .complex_nav__list {
        gap: 40rem;
    }
}

@media (max-width: 700px) {
    .complex_nav__list {
        grid-template-columns:1fr;
    }
}

.complex_nav__item {
    display: flex;
    flex-direction: column;
    gap: 32rem;
}

.complex_nav__card h3 {
    margin-bottom: 24rem;
    font-size: 28rem;
    font-family: Pragmatica Extended, arial, sans-serif;
    line-height: 130%
}

.complex_nav__card a {
    display: block;
    margin-bottom: 16rem;
    color: #000000;
    font-size: 24rem;
    line-height: 140%;
    text-decoration: none
}

.complex_nav__card a:last-child h3 {
    margin: 0;
}

.complex_nav__card a:last-child {
    margin: 0
}

.complex_nav__card a.active {
    color: #e10b17
}

.complex_nav__social {
    display: flex;
    gap: 20rem;
    align-self: center;
}

.complex_nav__social img {
    flex-shrink: 0;
    width: 26rem;
    height: 26rem;
}


.complex_nav-menu ::-webkit-scrollbar {
    display: none
}

@media (max-width: 767px) {
    .complex_nav__card h3 {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .complex_nav__card a {
        font-size: 14px;
        margin-bottom: 12px;
    }
}

.air-datepicker-global-container {
    z-index: 111;
}

.air-datepicker {
    border-radius: 12rem;
    border: none;
    width: 380rem;
}

.air-datepicker-nav {
    border-bottom: none;
    padding: 16rem 8rem 0;
}

.air-datepicker--buttons {
    border-top: none;
}
.air-datepicker-cell.-year-.-other-decade-, .air-datepicker-cell.-day-.-other-month- {
    opacity: .4;
    color: rgba(37, 37, 37, 1);
}

.air-datepicker-button.-clear- {
    color: #fff !important;
    font-weight: 500;
    background-color: #d90b13 !important;
}

.air-datepicker-buttons .btn-clear:hover {
    color: black;
    opacity: .5;
    background-color: rgba(209, 209, 209, 1);
}

.air-datepicker-buttons .btn:hover {
    color: #fff ;
    background-color: #c81220;
}

.air-datepicker {
    --adp-day-cell-height: 48rem;
}
.air-datepicker-body--day-names {
    margin: 0;
    background-color: rgba(245, 245, 245, 1);
}
.air-datepicker-nav--title {
    font-size: 14rem;
    line-height: 1.4;
}

.air-datepicker--content {
    padding: 0 8rem;
}
.air-datepicker-nav--action path {
    stroke: rgba(225, 11, 23, 1);
}

.air-datepicker-nav--title i {
    color: rgba(37, 37, 37, 1);
}
.air-datepicker-body--day-name {
    color: rgba(111, 111, 111, 1);
    font-size: 12rem;
    font-weight: 500;
    font-family: 'font1', 'Arial', sans-serif;
    text-align: right;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 8rem 8rem 6rem;
    text-transform: capitalize;
}

.air-datepicker-cell {
    color: rgba(37, 37, 37, 1);
    border-right: 1rem solid rgba(245, 245, 245, 1);
    border-bottom: 1rem solid rgba(245, 245, 245, 1);
    font-size: 12rem;
    font-weight: 500;
    font-family: 'font1', 'Arial', sans-serif;
    text-align: right;
    align-items: flex-start;
    justify-content: flex-end;
    padding: 8rem 8rem 27rem 24rem;
    border-radius: 0;
}
.air-datepicker-cell:nth-child(7n) {
    border-right: none;
}



.air-datepicker-cell.-current- {
    background-color: transparent;
    color: rgba(37, 37, 37, 1);
}
.air-datepicker-cell.-selected- {
    background: rgba(240, 130, 130, 1);
    color: rgba(37, 37, 37, 1);
}

.air-datepicker-cell.-selected-.-current- {
    background: rgba(240, 130, 130, 1);
    color: rgba(37, 37, 37, 1);
}

.air-datepicker-cell.-selected-.-focus- {
    background: rgba(240, 130, 130, 1);
    color: rgba(37, 37, 37, 1);
}


.air-datepicker--buttons {
    padding: 23rem 28rem 28rem;
}

.air-datepicker-buttons {
    grid-auto-columns: 2fr;
    gap: 14rem;
}

.air-datepicker-buttons .btn {
    background-color: rgba(225, 11, 23, 1);
    border-radius: 8rem;
    font-size: 12rem;
    font-weight: bold;
    line-height: 1.1;
    font-family: 'font1', 'Arial', sans-serif;
}

.air-datepicker-button {
    background-color: rgba(209, 209, 209, 1);
    color: rgba(255, 255, 255, 1);
    font-size: 12rem;
    font-weight: bold;
    line-height: 1.1;
    font-family: 'font1', 'Arial', sans-serif;
    border-radius: 8rem;
}

.promo-banner__btn {
    max-width: 488px;
}


.dropdown {
    position: relative;
}

.dropdown.active .custom-select__arrow {
    transform: rotate(180deg);
}

.dropdown.active .dropdown__arrow {
    transform: rotate(180deg);
}

/*
.dropdown.active .dropdown__toggle {
   background-color: white;
}
*/


.dropdown__toggle.custom-select__trigger_white {
    border: none;
}

.dropdown.active .dropdown__toggle {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.dropdown .custom-select__value {
    font-size: 24rem;
    display: block;
    width: 200rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.custom-select__trigger_small .custom-select__value {
    font-size: 20rem;
    font-weight: 300;
}
.custom-select__value span {
    font-weight: 700;
}
.dropdown__menu {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 1000px;
    overflow-y: auto;
    background: #ffffff;
    border-bottom-left-radius: 16rem;
    border-bottom-right-radius: 16rem;
    z-index: 100;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.dropdown.active .dropdown__menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32rem;
    padding: 28rem 40rem;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 24rem;
    color: #000000;
    border-bottom: 1px solid #B3BCCD;
}

.dropdown__item.active {
    background-color: #E9EDFC;
}

.dropdown__item:hover {
    background: #E9EDFC;
}

.dropdown__item img {
    width: 40rem;
    height: 40rem;
}

.dropdown__item--checkbox {
    padding: 10rem 19rem;
    border-bottom: none;
    gap: 12rem;
    display: flex;
    align-items: center;
    font-size: 20rem;
    line-height: 1;
    cursor: pointer;
}

.dropdown--small .dropdown__toggle {
    background-color: #F3F3F3;
}

.dropdown--small .dropdown__item {
    padding: 20rem 28rem;
    border-bottom: 1px solid #C9C9C9;
}

.doc-card__ico__pdf {
    background-image: url(../img/ico-pdf.svg);
}

.doc-card__ico__doc {
    background-image: url(../img/ico-doc.svg);
}

.doc-card__ico__xls {
    background-image: url(../img/ico-xls.svg);
}


.filters-checkbox {
    display: flex;
    flex-direction: column;
}

.filters-type {
    display: flex;
    flex-wrap: wrap;
    gap: 12rem;
}

.filters-checkbox__label {
    padding: 8rem 11rem;
    border-radius: 8rem;
    font-size: 20rem;
    display: flex;
    align-items: center;
    gap: 12rem;
    cursor: pointer;
    position: relative;
}

.filters-checkbox__label:before {
    content: '';
    display: block;
    width: 18rem;
    height: 18rem;
    border: 2rem solid #D90912;
    border-radius: 4rem;
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
    background-position: center;
}

.filters-checkbox__label:has(input:checked):before {
    background-image: url(../img/checked.png);
    border: none;
}

.filters-type__input {
    z-index: -1;
    position: absolute;
    opacity: 0;
}

.filters-type__label {
    padding: 8rem 12rem;
    background-color: rgba(237, 237, 237, 1);
    font-size: 20rem;
    display: flex;
    align-items: center;
    gap: 12rem;
    cursor: pointer;
}
.filters-type__label--all {
    z-index: -1;
    pointer-events: none;
}

.filters-type__label:has(input:checked) {
    background-color: rgba(217, 9, 18, 1);
    color: white;
}

.filters-type__label:has(input:checked):before {
    background-color: rgba(151, 71, 255, 1);
}

.filters-type__label:before {
    content: '';
    display: block;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background-color: rgba(104, 102, 108, 1);
}

.filters-type__list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.filters-type__list .filters-type__label {
    background-color: transparent;
    padding: 10rem 28rem;
    border-bottom: 1px solid rgba(201, 201, 201, 1);
    font-size: 24rem;
}

.filters-type__list .filters-type__label:before {
    width: 20rem;
    height: 20rem;
    background-color: transparent;
    border: 1px solid rgba(217, 9, 18, 1);
    display: none;
}

.filters-type__label:has(input:checked) {
    background-color: rgba(233, 237, 252, 1);
    color: rgba(0, 0, 0, 1);
}

@media (hover: hover) {
    .filters-type__label:hover {
        background-color: rgba(233, 237, 252, 1);
        color: rgba(0, 0, 0, 1);
    }
}

.filters-type__list .filters-type__label:has(input:checked):before {
    background-color: transparent;
    background-image: url(../img/circle.svg);
    background-size: 9rem;
    background-repeat: no-repeat;
    background-position: center;
}

.dropdown__footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20rem 19rem 24rem;
}

.filters-type__btn {
    width: 100%;
    height: 53rem;
}

.filters-tags {
    margin-top: 24rem;
}

.filters-tags__label {
    margin-bottom: 12rem;
    font-size: 20rem;
    font-weight: 300;
    display: block;
}

.filters-tags__list {
    display: flex;
    flex-direction: column;
    gap: 12rem;
    color: white;
}
.filters-tags__item span {
    width: fit-content;
}
.filters-tags__item button{
    width: 24rem;
    height: 24rem;
}

.filters-tags__item {
    padding: 12rem;
    border-radius: 8rem;
    background-color: #EB3223;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 20rem;
    font-weight: 300;
}

.video__player {
    height: auto;
    aspect-ratio: 870 / 563;
    position: relative;
    overflow: hidden;
    border-radius: 16rem;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}


.video__player-icon {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 150rem;
    height: auto;
    aspect-ratio: 1;
    display: block;
    position: absolute;
    cursor: pointer;
}

.video__player iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
    border-radius: 16rem;
}


.video__player video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
    z-index: 1;
    border-radius: 16rem;
}



.filter__input--date {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56rem;
    height: 56rem;
    background-color: #E10B17;
    flex-shrink: 0;
    flex-grow: 0;
    cursor: pointer;
    background-image: url(../img/ico-calendar2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 28rem;
    outline: none;
    border: none;
    border-radius: 8px;
    color: transparent;
}

.CalendarPage {
    margin-bottom: 57rem;
}

.CalendarPage .inner-padding {
    padding: 0 60rem;
}

/* деталка видео */
.video-page {
    width: 100%;
}

.video-page__wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 148rem;
}

h1.video-page__title {
    margin: 0 0 20rem;
    font-size: 24rem;
    font-weight: 700;
    color: #000000;
    font-family: 'font1', 'Arial', sans-serif;
}

.video-page__desc {
    font-size: 24rem;
    font-family: 'font1', 'Arial', sans-serif;
    font-weight: 300;
}


.inoy__wrap {
    margin-bottom: 40rem;
}

.inoy__wrap .form-field__input {
    height: 100%;
    background-color: rgba(243, 243, 243, 1);
    font-weight: 300;
}

.inoy__wrap .form-field__input::placeholder {
    font-weight: 300;
}

.inoy__wrap .dropdown {
    height: auto;
}

@media (max-width: 700px) {
    .video-page__wrapper {
        gap: 20rem;
        grid-template-columns: 1fr;
    }

    .video-page__player {
        order: -1;
    }

    .calendar__wrap {
        flex-wrap: wrap;
    }

    .calendar__wrap .search__box {
        width: 100%;
    }

    .calendar--category {
        flex-grow: 1;
        height: 56rem;
    }

    .inoy__wrap .form-field__input-wrapper {
        height: 56rem;
        width: calc(50% - 7rem);
    }

    .inoy__wrap .dropdown {
        width: calc(50% - 7rem);
    }
}

.justified-gallery {
    display: block !important;
}
.fancybox-button {
    padding: 10rem;
    width: 44rem;
    height: 44rem;
    background: #D90912;
}

.fancybox-navigation .fancybox-button {
    padding: 10rem 10rem;
    width: 56rem;
    height: 56rem;
    border-radius: 8rem;
    background: #D90912;
}

.fancybox-navigation .fancybox-button:disabled {
    opacity: .4;
}

.fancybox-button svg path {
    fill: white;
}
.fancybox-navigation .fancybox-button--arrow_left {
    left: 20rem;
}
.fancybox-navigation .fancybox-button--arrow_right {
    right: 20rem;
}

.fancybox-content {
    background-color: transparent;
    max-width: 90%;
}

.owl-carousel-video .owl-stage-outer {
    overflow-x: hidden;
}

.owl-carousel-video .owl-stage {
    display: flex;
    align-items: center;
}

.owl-carousel-video  .owl-item {
    max-height: 80vh;
}
.owl-carousel-video .item {
    max-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.owl-carousel-video video {
    max-height: 80vh;
    width: auto;
}

.owl-prev {
    padding: 10rem 10rem;
    width: 56rem;
    height: 56rem;
    border-radius: 8rem;
    background: #D90912;
    position: absolute;
    top: calc(50% - 50px);
    left: 20rem;
}


.owl-prev {
    padding: 10rem 10rem;
    width: 56rem;
    height: 56rem;
    border-radius: 8rem;
    background: #D90912;
    position: absolute;
    top: calc(50% - 50px);
    left: 20rem;
    font-size: 0;
}

.fancybox-navigation .fancybox-button div {
    padding: 0;
}

.owl-prev:before {
    content: '';
    display: block;
    background-image: url(../img/ico-arrow-w.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 36rem;
    height: 36rem;
    rotate: 180deg;
}

.owl-next:before {
    content: '';
    display: block;
    background-image: url(../img/ico-arrow-w.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 36rem;
    height: 36rem;
}

.owl-next {
    padding: 10rem 10rem;
    width: 56rem;
    height: 56rem;
    border-radius: 8rem;
    background: #D90912;
    position: absolute;
    top: calc(50% - 50px);
    right: 20rem;
    font-size: 0;
}
/* документы детальная */
.docs-detail {
    width: 100%;
}

.docs-detail .document-card__btns {
    margin-top: auto;
}
.docs-detail .document-card__footer {
    margin-top: 0;
}
.docs-detail .title {
    margin-bottom: 24rem;
}

.video-page__desc {
    margin-bottom: 0;
}
.docs-detail__date {
    font-size: 20rem;
}

.docs-detail__wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: 40% 1fr;
    gap: 148rem;
    margin-bottom: 25rem;
}

@media (max-width: 700px) {
    .docs-detail__wrapper {
        gap: 20rem;
        grid-template-columns: 1fr;
        margin-bottom: 40rem;
    }
}
.not-found {
    border: 1px solid #D90912;
    color: #D90912;
    padding: 49rem 20rem 52rem;
    font-size: 36rem;
    font-weight: bold;
    font-family: 'font1', 'Arial', sans-serif;
    line-height: 1;
    text-align: center;
    border-radius: 16rem;
}

.not-found__text {
    display: flex;
    align-items: center;
    justify-content: center;
}

.person-card {
    background-color: #fff;
    border: 1rem solid #BCBCBC;
    border-radius: 20rem;
    overflow: hidden;
    height: 100%;
}

@media (hover:hover) {
    .person-card:hover .person-card__image-wrapper {
        scale: 1.02;
    }
}
.person-card__image-wrapper {
    aspect-ratio: 1 / 1;
    transition: all .3s ease-out;
    /* Делаем фото квадратным */
}

.person-card__image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.person-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.person-card__info {
    padding: 28rem 22rem;
    margin-top: -55rem;
    border-radius: 20rem;
    background: #fff;
    position: relative;
}

.person-card__name {
    font-weight: bold;
    font-size: 18rem;
    margin-bottom: 14rem;
}

.person-card__position {
    font-size: 20rem;
    margin-bottom: 19rem;
}

.person-card__contacts {
    display: flex;
    flex-direction: column;
    gap: 12rem;
}

.person-card__contact-link {
    display: inline-flex;
    align-items: center;
    gap: 14rem;
    font-size: 20rem;
    color: #212529;
    transition: color 0.2s;
}

.person-card__contact-link:hover {
    color: #ED1B2E;
}

.person-card__contact-icon {
    width: 24rem;
    height: 24rem;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    background-size: contain;
}

.person-card__contact-link:hover .person-card__contact-icon {
    filter: invert(21%) sepia(85%) saturate(3443%) hue-rotate(345deg) brightness(96%) contrast(92%);
}

.person-card__contact-icon_telegram {
    background-image: url(../img/ico-tg2.svg);
}

.person-card__contact-icon_email {
    background-image: url(../img/ico-mail2.svg);
}

.reps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20rem;
}

.reps-grid__item {
    height: 100%;
    padding-bottom: 27rem;
}

.department-reps__title {
    font-weight: bold;
    font-size: 44rem;
    margin-bottom: 48rem;
}


.modal_connect {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    opacity: 0;
}
.modal_connect--active {
    z-index: 9999;
    opacity: 1;
    transition: all 0.35s ease-in-out;
}
.modal_connect__wrapper {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100%;
    padding: 64rem 50rem;
    background-color: #000c;
}
.modal_connect__close {
    width: 40rem;
    height: 40rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.modal_connect__close img {
    width: 24rem;
    height: 24rem;
}

@media (max-width: 767px) {
    .modal_connect__wrapper {
        padding: 24px 16px;
    }

    .modal_connect__close {
        width: 24px;
        height: 24px;
    }
    .modal_connect__close img {
        width: 24px;
        height: 24px;
    }
}
.modal_connect__container {
    display: flex;
    flex-direction: column;
    gap: 24rem;
    align-items: flex-start;
    position: relative;
    z-index: 9;
    width: 100%;
    height: 100%;
}
@media (max-width: 767px) {
    .modal_connect__container {
        gap: 16px;
    }
}
.modal_connect__container > iframe {
    border-radius: 20px;
}
.modal_connect__header {
    margin-right: 0;
    margin-left: auto;
}
.modal_connect .modal_connect__back {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
}


.calendar-event__play:after {
    background-image: url("../img/doc-video.png");
}

.checkbox {
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    position: relative;
    gap: 12rem;
    font-size: 16rem;
    font-weight: 400;
    font-family: Inter, sans-serif;
    line-height: 1.4;
}

.checkbox a {
    text-decoration: underline;
}

.checkbox input {
    position: absolute;
    width: 100%;
    height: 100%;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.checkmark {
    width: 18px;
    height: 18px;
    border-radius: 3px;
    background: #fff;
    transition: border-color .2s ease, background-color .2s ease;
    position: relative;
    flex-shrink: 0;
}

.checkmark:before {
    content: '';
    display: block;
    position: absolute;
    width: 6px;
    height: 11px;
    border: solid #36C;
    border-width: 0 3px 3px 0;
    opacity: 0;
    transition: opacity .2s ease;
    rotate: 45deg;
    left: 7px;
    top: 3px;
}

.checkbox:has(input:checked) .checkmark:before {
    opacity: 1;
}

.video-page__desc {
    margin-bottom: 24rem;
    font-size: 24rem;
}

.additional-info__list-header--nastavnik:before {
    background-image: url("../img/ico-nastavnik.svg");
}
.additional-info__list-header--org:before {
    background-image: url("../img/ico-org.svg");
}

.search-panel__description:has(.search-panel__desc-text:empty) {
    display: none;
}