/* Development - LLC "MephiPro" https://mephi.pro/*/
:root {
    --font-color: #2c2c2c;
    --light-color: #ffffff;
    --dark-color: #2c2c2c;
    --title-color: rgb(0, 40, 140);
    --body-bg: #ffffff;
    --accent-button: rgb(163, 0, 11);
    --logo: url(../img/logo.svg) center / contain no-repeat;
    --banner-bg: linear-gradient(40deg, rgb(0, 0, 0, 0.6) 50%, rgb(72, 71, 71, 0.2) 100%);
    --item-bg: #ffffff;
    --item-accent: #f6f6f6;
    --item-title: rgba(255, 255, 255, 0.7);
    --info-bg: rgba(248, 243, 243, 0.8);
    --slider-line: #615f5f;
    --arrow-up: url(../icons/arrow_up-bl.svg) center / contain no-repeat;
    --footer-bg: #000000;
    --rate-r3: #74df8b;
    --rate-r2: #fac031;
    --rate-r1: #f95721;
    --font-main: 'Century Gothic', sans-serif;
    --font-title: 'AA Bebas Neue', sans-serif;
    --font-hand: 'Lumios Marker', sans-serif;
    --font-date: 'AA Bebas Neue', sans-serif;
}

* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

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

html,
body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

body {
    font-family: var(--font-main);
    font-size: 20px;
    line-height: 25px;
    font-weight: 400;
    background: var(--body-bg);
    color: var(--font-color);
}

body.fixed {
    overflow: hidden;
}

.screen {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 20;
}

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

img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: optimizeQuality;
    image-rendering: -webkit-optimize-contrast;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: var(--font-title);
    font-weight: 700;
    overflow-wrap: break-word;
}

h1 {
    font-size: 60px;
    line-height: 65px;
    margin-bottom: 40px;
    letter-spacing: 5px;
    &.transparent {
        color: transparent;
    }
}

h2 {
    font-size: 70px;
    line-height: 75px;
    margin-bottom: 20px;
    letter-spacing: 5px;
}

h3 {
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 30px;
    padding: 5px 20px 5px 20px;
    border-left: 1px solid var(--title-color);
    border-bottom: 1px solid var(--title-color);
    display: inline-block;
    color: var(--title-color);
    letter-spacing: 2px;

    &.catalog_title {
        min-width: 525px;
        font-weight: 500;
    }

    &.flex_catalog_title {
        min-width: calc((100% / 3) - 20px);
        font-weight: 500;
    }
}

h4 {
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 30px;
    letter-spacing: 2px;
}

p:not(:last-child) {
    margin-bottom: 20px;
}

ul:not(.irregular) {
    padding-left: 20px;

    & li {
        &:not(:last-child) {
            margin-bottom: 15px;
        }
    }

    &:not(:last-child) {
        margin-bottom: 30px;
    }
}

ol:not(.irregular) {
    padding-left: 20px;

    & li {
        &:not(:last-child) {
            margin-bottom: 15px;
        }
    }

    &:not(:last-child) {
        margin-bottom: 30px;
    }
}

input[type="text"],
textarea {
    outline: none;
    width: 100%;
    font-family: var(--font-main);
    font-size: 20px;
    line-height: 25px;
    color: var(--title-color);
    background: none;
    border: 0;
}

textarea {
    resize: none;
    height: 120px;
}

.wrap_input {
    position: relative;
    padding: 13px 20px 15px 30px;
    border-top: 1px solid var(--title-color);
    border-right: 1px solid var(--title-color);
    border-bottom: 1px solid var(--title-color);

    &::before {
        position: absolute;
        content: "";
        width: 1px;
        height: calc(100% + 20px);
        left: 10px;
        top: -10px;
        border-left: 1px solid var(--title-color);
    }
}

@keyframes scale_banner {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(2);
    }
}

@keyframes slideIn_menu {
    0% {
        top: -100px;
    }

    100% {
        top: 0;
    }
}

.button, button {
    display: inline-block;
    transition: all 0.3s ease;
    text-align: center;
    border: 1px solid var(--title-color);
    outline: none;
    cursor: pointer;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    background: none;
    color: var(--title-color);
    &.big {
        padding: 11px 30px 14px 30px;
        min-width: 200px;
        font-size: 20px;
        line-height: 25px;
    }
    &.white {
        border: 1px solid var(--light-color);
        color: var(--light-color);
    }
    &.accent_button {
        border-color: var(--accent-button);
        color: var(--light-color);
        background: var(--accent-button);
    }
    &.file {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        & svg {
            width: 20px;
            height: 20px;
            margin-right: 10px;

            & path {
                transition: all 0.3s ease;
            }
        }
    }

    &:disabled {
        opacity: 0.2;
        cursor: default;
    }
    &.disabled_button {
    	cursor: default;
        background: var(--light-color);
    }
    &.disabled_ticket {
    	border-color: var(--dark-color);
    	color: var(--dark-color);
    }
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    left: 0;
    top: 0;
    border-bottom: 4px solid var(--dark-color);
    width: 100%;
    padding: 10px 70px;
    color: var(--font-color);
    font-size: 20px;
    line-height: 25px;
    z-index: 5;
    background: transparent;
    transition: background 0.5s ease;
    color: var(--light-color);

    &.fixed {
        background: var(--dark-color);

        & .logo {
            display: block;
            width: 170px;
            height: 60px;
            background: var(--logo);
        }

        & .button {
            border-color: var(--accent-button);
            background: var(--accent-button);
            color: var(--light-color);
        }
    }

    & .contacts_section {
        display: none;
    }

    & nav {
        display: flex;
        align-items: center;
        font-family: var(--font-title);
        letter-spacing: 2px;

        & a {
            display: block;
            transition: opacity 0.3s ease;

            &.blur {
                opacity: 0.6;
            }
        }

        & .item_menu {
            position: relative;
            padding: 10px 0;

            &:not(:last-child) {
                margin-right: 20px;
            }

            & .sub_menu {
                position: absolute;
                z-index: 4;
                left: -20px;
                top: 100%;
                white-space: nowrap;
                padding: 20px 20px 20px 40px;
                background: var(--dark-color);
                opacity: 0;
                visibility: hidden;
                transition: opacity 0.3s ease;

                & a {
                    opacity: 0.6;
                    transition: opacity 0.3s ease;

                    &:not(:last-child) {
                        margin-bottom: 15px;
                    }
                }

                &::before {
                    position: absolute;
                    content: "";
                    width: 1px;
                    height: 0;
                    left: 20px;
                    top: 20px;
                    border-left: 1px solid var(--light-color);
                    transition: all 0s 0s;
                }
            }
        }
    }

    & .logo {
        display: block;
        width: 240px;
        height: 85px;
        background: var(--logo);
        transition: all 0.5s ease;
    }

    & .wrap_logo {
        width: 240px;
    }

    & .wrap_buttons {
        display: flex;
        align-items: center;

        & .bvi-open {
            cursor: pointer;
            width: 35px;
            height: 35px;
            margin-right: 40px;

            & svg {
                width: 100%;
                height: 100%;
            }
        }

        & .mobile_menu_btn {
            display: none;
        }

        & .search_btn {
            width: 25px;
            height: 25px;
            margin-right: 25px;
            cursor: pointer;
            margin-bottom: -4px;

            & svg {
                width: 100%;
                height: 100%;
            }
        }
    }

    & .button {
        min-width: 150px;
    }

    & .indicator {
        position: absolute;
        width: 0;
        height: 4px;
        background: var(--slider-line);
        left: 0;
        top: 105px;
        z-index: 3;
        opacity: 1;
        transition: opacity 0.5s ease;

        &.fadeout_line {
            opacity: 0;
            visibility: hidden;
            transition: opacity 0s ease;
        }
    }
}

.main_banner {
    width: 100%;
    height: 100vh;
    min-height: 600px;
    margin-bottom: 120px;
    overflow: hidden;
    color: var(--light-color);
    background: var(--dark-color);
    position: relative;

    & .item_banner {
        height: 100%;
        min-height: 600px;
        width: 100%;
        position: absolute;
        left: 0;
        top: 0;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-end;
        padding: 90px 0;
        display: none;

        & .wrap_text_sl {
            position: relative;
            z-index: 1;
        }

        & .about_title {
            font-size: 18px;
            line-height: 20px;
            margin-bottom: 25px;
        }

        & .wrap {
            margin: 0;
        }

        &:first-child.active {
            display: flex;
        }

        &.active {
            & img {
                animation: scale_banner 130s linear;
            }
        }

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

        &.substrate .media_wrap::after {
            display: none;
        }

        &.substrate .media_wrap a::after {
            position: absolute;
            content: "";
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            background: var(--banner-bg);
        }

        & video {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        & img {
            object-fit: cover;
        }
    }

    & .arrow {
        position: absolute;
        bottom: 50px;
        right: 70px;
        transform: translateY(-50%);
        width: 50px;
        height: 50px;
        border-right: 1px solid var(--light-color);
        background: url(../icons/arrow_w.svg) right 0 center / contain no-repeat;
        background-size: 35px 35px;
        cursor: pointer;
        transition: all 0.3s ease;
        display: none;
    }
}

.wrap {
    margin: 0 auto;
    max-width: 1470px;
    padding: 0 70px;
}

.content {
    margin-bottom: 120px;

    &.border_top {
        position: relative;
        padding-top: 120px;
        border-top: 1px solid var(--dark-color);

        &::before {
            position: absolute;
            content: "";
            width: 140px;
            height: 140px;
            background: var(--light-color) url(../icons/drama.svg) center / contain no-repeat;
            left: 10px;
            top: -70px;
            padding: 20px;
        }
    }
}

.wrap_promo {
    text-align: center;
}

.promo_text {
    font-family: var(--font-hand);
    font-size: 60px;
    line-height: 65px;
    margin-bottom: 40px;
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--title-color);
    color: var(--title-color);
}

.item_catalog {
    display: flex;
    align-items: stretch;
    padding: 20px 0 20px 40px;
    background: var(--item-bg);
    margin-bottom: 40px;
    position: relative;
    border-bottom: 1px solid var(--font-color);
    width: calc(100% - 75px);

    & .wrap_number {
        padding: 10px 20px 10px 10px;
        background: var(--item-accent);
        text-align: center;
        align-content: center;
        min-width: 85px;
        width: 85px;

        & .num {
            font-family: var(--font-hand);
            font-size: 70px;
            line-height: 70px;
        }

        & .month {
            font-family: var(--font-date);
        }
    }

    & .wrap_image {
        width: 400px;
        min-height: 270px;
        margin-right: 50px;
        position: relative;
        display: block;
    }

    & .fade_list {
        position: absolute;
        left: 10px;
        top: 10px;
        z-index: 1;
        background: var(--info-bg);
        width: calc(100% - 20px);
        height: 0;
        padding: 0;
        font-family: var(--font-hand);
        font-size: 30px;
        line-height: 35px;
        transition: all 0.3s ease 0.3s, color 0.3s ease 0s;
        color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: space-between;

        &::after {
            position: absolute;
            content: "";
            width: 0;
            height: 1px;
            border-top: 1px solid var(--light-color);
            left: 0;
            top: 0;
            transition: all 0.3s ease 0.6s;
        }

        & .label {
            align-self: flex-end;
        }

        & .text {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -moz-box;
            display: -webkit-box;
            line-clamp: 5;
            box-orient: vertical;
            -moz-box-orient: vertical;
            -webkit-line-clamp: 5;
            -webkit-box-orient: vertical;
            user-select: none;
            padding-bottom: 5px;
        }
    }

    & .progressive {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;

        & img {
            display: block;
            height: 100%;
            object-fit: cover;
        }
    }

    & .wrap_text_item {
        align-self: flex-start;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin-right: 50px;
        width: calc(100% - 735px);
    }

    & .label_item {
        padding: 10px 15px;
        background: var(--light-color);
        display: inline-block;
        position: absolute;
        right: 0;
        bottom: 10px;
        font-size: 16px;
        line-height: 18px;
        transition: all 0.3s ease 0.6s;
    }

    & .name {
        font-family: var(--font-title);
        letter-spacing: 2px;
        display: block;
        margin-bottom: 15px;
        font-size: 40px;
        line-height: 40px;
        font-weight: 500;
        padding-left: 10px;
        padding-bottom: 2px;
        padding-right: 20px;
        position: relative;
        color: var(--title-color);
        border-left: 1px solid var(--title-color);

        &::before {
            position: absolute;
            content: "";
            width: 50px;
            height: 1px;
            left: 0;
            bottom: 0;
            border-bottom: 1px solid var(--title-color);
            transition: all 0.3s ease 0.3s;
        }

        &::after {
            position: absolute;
            content: "";
            width: 1px;
            height: 0;
            right: 10px;
            top: 0;
            border-left: 1px solid var(--title-color);
            transition: all 0.3s ease 0s;
        }
    }

    & .label_name {
        font-size: 18px;
        line-height: 20px;
        margin-bottom: 15px;
        font-weight: 600;
    }

    & .info {
        font-size: 18px;
        line-height: 20px;
    }

    & .item_info {
        margin-bottom: 5px;

        & span {
            font-weight: 600;
        }
    }

    &::before {
        position: absolute;
        content: "";
        width: 1px;
        height: 180px;
        border-left: 1px solid var(--font-color);
        left: 0;
        bottom: 0;
    }

    & .button {
        min-width: 150px;
        &:not(.accent_button, .disabled_ticket) {
            background: var(--light-color);
        }
        &::after {
            position: absolute;
            content: "";
            width: 1px;
            height: 100%;
            border-right: 1px solid var(--font-color);
            left: 50%;
            transform: translate(-50%, 50px);
            z-index: -1;
        }
    }

    & nav {
        transform: translateX(50%);
        position: relative;
        overflow: hidden;
        margin-bottom: -21px;
        padding-top: 35px;

        & .price {
            text-align: center;
            font-size: 18px;
            line-height: 20px;
            font-weight: 600;
            background: var(--body-bg);
            padding: 10px 0;
        }
    }
}

.fixed_buttons {
    text-align: right;

    & .scroll_top {
        position: fixed;
        width: 50px;
        height: 50px;
        cursor: pointer;
        border-left: 1px solid var(--title-color);
        border-top: 1px solid var(--title-color);
        bottom: 50px;
        right: 10px;
        display: inline;
        opacity: 0;
        transition: opacity 0.3s ease;
        z-index: -4;

        & svg {
            width: 40px;
            height: 40px;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            stroke: var(--title-color);
        }

        &.active {
            opacity: 1;
            visibility: visible;
            z-index: 4;
        }

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            height: 10px;
            right: 0;
            top: 0;
            border-right: 1px solid var(--title-color);
            transition: height 0.3s ease 0.3s;
        }

        &::after {
            position: absolute;
            content: "";
            width: 0;
            height: 1px;
            right: 0;
            bottom: 0;
            border-bottom: 1px solid var(--title-color);
            transition: width 0.3s ease 0s;
        }

        &.color_switch {
            border-left: 1px solid var(--light-color);
            border-top: 1px solid var(--light-color);

            &::before {
                border-right: 1px solid var(--light-color);
            }

            &::after {
                border-bottom: 1px solid var(--light-color);
            }

            & svg {
                stroke: var(--light-color);
            }
        }
    }
}

.flex_catalog {
    display: flex;

    &:not(.main_flex_catalog) {
        flex-wrap: wrap;
        margin-right: -30px;

        & .item_flex_catalog {
            width: calc((100% / 3) - 30px);
            margin-bottom: 60px;

            &:last-child {
                margin-right: 30px;
            }
        }
    }
}

.item_flex_catalog {
    display: block;
    margin-right: 30px;
    width: calc((100% / 3) - 20px);

    &:last-child {
        margin-right: 0;
    }

    & .wrap_image {
        position: relative;
        margin-bottom: 20px;
        padding: 10px;
        background: var(--item-accent);

        &::after {
            display: block;
            content: "";
            padding-top: calc(100% - 130px);
        }
    }

    & .progressive {
        position: absolute;
        left: 20px;
        top: 20px;
        width: calc(100% - 40px);
        height: calc(100% - 40px);

        & img {
            height: 100%;
            object-fit: cover;
        }
    }

    & .name {
        font-family: var(--font-title);
        color: var(--title-color);
        letter-spacing: 1px;
        text-transform: uppercase;
        font-weight: 500;
        margin-bottom: 15px;
        font-size: 25px;
        line-height: 30px;
    }

    & .info {
        display: flex;
        align-items: flex-end;
        font-size: 18px;
        line-height: 20px;
    }

    & .date {
        padding: 0 15px 5px 0;
        position: relative;

        &::after {
            position: absolute;
            content: "";
            width: 100%;
            height: 1px;
            border-bottom: 1px solid var(--font-color);
            right: 0;
            bottom: 0;
            transition: width 0.6s ease;
        }
    }

    & .time {
        padding: 0 0 5px 15px;
        border-left: 1px solid var(--font-color);
        position: relative;
        white-space: nowrap;
        display: flex;
        flex-wrap: wrap;

        &::after {
            position: absolute;
            content: "";
            width: 10px;
            height: 1px;
            border-bottom: 1px solid var(--font-color);
            left: 0;
            bottom: 0;
            transition: width 0.4s ease;
        }

        & .num {
            padding-right: 5px;
        }
    }
}

.main_flex_catalog .item_flex_catalog {
    &:nth-child(2) {
        & .wrap_image {
            &::after {
                display: block;
                content: "";
                padding-top: calc(100% + 50px);
            }
        }
    }
}

.news_list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -30px;
    margin-bottom: -50px;
}

.item_news {
    display: block;
    width: calc((100% / 3) - 30px);
    margin-right: 30px;
    margin-bottom: 50px;

    & .wrap_image {
        margin-bottom: 15px;
        position: relative;

        &::after {
            display: block;
            content: "";
            padding-top: calc(100% - 150px);
        }
    }

    & .progressive {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        & img {
            height: 100%;
            object-fit: cover;
            transition: scale 0.5s ease;
        }
    }

    & .title {
        margin-bottom: 10px;
        font-weight: 500;
        font-family: var(--font-title);
        color: var(--title-color);
        letter-spacing: 1px;
        font-size: 25px;
        line-height: 30px;
    }

    & .introtext {
        font-style: italic;
        margin-bottom: 20px;
        font-size: 18px;
        line-height: 20px;

        & span {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -moz-box;
            display: -webkit-box;
            line-clamp: 3;
            box-orient: vertical;
            -moz-box-orient: vertical;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            user-select: none;
        }
    }

    & .more {
        display: inline-block;
        text-transform: uppercase;
        font-weight: 500;
        padding-left: 10px;
        padding-right: 10px;
        position: relative;

        &::after {
            position: absolute;
            content: "";
            width: 40px;
            height: 1px;
            left: 0;
            bottom: 0;
            border-bottom: 1px solid var(--font-color);
            transition: all 0.3s ease;
        }
    }

    & .label {
        position: relative;
        z-index: 1;
        padding: 5px 10px;
        background: var(--item-accent);
        display: inline-block;
        font-size: 16px;
        line-height: 18px;
        top: -1px;
    }

    & .date {
        font-size: 16px;
        line-height: 18px;
        margin-bottom: 10px;
    }
}

footer {
    padding: 40px 0;
    background: var(--footer-bg);
    min-height: calc(100vh - 84px);
    color: var(--light-color);
    display: flex;
    flex-direction: column;

    & .wrap {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
    }
}

.footnote_footer {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 20px;

    & .copyright {
        padding: 0 15px 10px 15px;
        border-right: 1px solid var(--light-color);
        position: relative;

        &::before {
            position: absolute;
            content: "";
            left: 0;
            bottom: 0;
            height: 1px;
            width: 100%;
            border-bottom: 1px solid var(--light-color);
        }
    }

    & .dev_info {
        padding: 0 0 10px 15px;
        position: relative;

        &::before {
            position: absolute;
            content: "";
            left: 0;
            bottom: 0;
            height: 1px;
            width: 15px;
            border-bottom: 1px solid var(--light-color);
        }
    }
}

.footer_flex {
    display: flex;
    flex-wrap: wrap;
    font-size: 16px;
    line-height: 20px;

    & .col {
        &:first-child {
            width: 400px;
            padding-right: 50px;
            border-right: 1px solid var(--light-color);
        }

        &:last-child {
            padding-left: 50px;
            width: calc(100% - 400px);
        }
    }

    & .item_col {
        display: block;
        padding-left: 30px;

        &:not(:last-child) {
            margin-bottom: 10px;
        }

        &.address {
            background: url(../icons/pin.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.schedule {
            background: url(../icons/clock.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.phone {
            background: url(../icons/phone.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.mail {
            background: url(../icons/mail.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }
    }

    & .wrap_menu:not(:last-child) {
        margin-bottom: 20px;
    }

    & .title_menu {
        display: block;
        text-transform: uppercase;
        font-family: var(--font-title);
        letter-spacing: 1px;
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 5px;
    }

    & .list {
        display: flex;
        flex-wrap: wrap;
        margin-right: -10px;

        & a {
            opacity: 0.9;
            display: block;
            margin: 0 10px 10px 0;
            transition: all 0.3s ease;
        }
    }
}

.social_links {
    display: flex;
    flex-wrap: wrap;

    & a {
        display: block;
        width: 40px;
        height: 40px;
        margin: 0 25px 20px 0;
        padding: 5px;
        border-left: 1px solid var(--light-color);
        border-bottom: 1px solid var(--light-color);
        position: relative;

        &.vk {
            background: url(../icons/vk.svg) center / contain no-repeat;
            background-size: 32px 32px;
        }

        &.rutube {
            background: url(../icons/rutube.svg) center / contain no-repeat;
            background-size: 32px 32px;
        }

        &.youtube {
            background: url(../icons/youtube.svg) center / contain no-repeat;
            background-size: 32px 32px;
        }

        &.telegram {
            background: url(../icons/telegram.svg) center / contain no-repeat;
            background-size: 30px 30px;
        }

        &.max {
            background: url(../icons/max.svg) center / contain no-repeat;
            background-size: 30px 30px;
        }

        &.ok {
            background: url(../icons/ok.svg) center / contain no-repeat;
            background-size: 30px 30px;
        }

        /*&.gosuslugi {*/
        /*	 background: url(../img/gosuslugi.jpg) center / contain no-repeat;*/
        /*	 background-size: 34px 34px;*/
        /* }*/
        &::before {
            position: absolute;
            content: "";
            height: 1px;
            width: 0;
            left: 0;
            top: 0;
            border-top: 1px solid var(--light-color);
            transition: all 0.3s ease 0.3s;
        }

        &::after {
            position: absolute;
            content: "";
            width: 1px;
            height: 0;
            right: 0;
            top: 0;
            border-right: 1px solid var(--light-color);
            transition: all 0.3s ease 0s;
        }
    }
}

.social-banner{
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: start;
}

.social-banner .gosuslugi img {
    width: 170px;
}

.social-banner .culture img {
    height: 36px;
    max-width: 170px;
}

.links {
    margin-bottom: 20px;
    padding-top: 20px;

    & a {
        display: block;
        margin-bottom: 5px;
    }
}

.page_banner {
    position: relative;
    min-height: 400px;
    margin-bottom: 120px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    & .media_wrap {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        &::after {
            position: absolute;
            content: "";
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
            background: linear-gradient(153.43deg, rgb(0, 0, 0, 0.5) 50%, rgb(72, 71, 71, 0.2) 100%);
        }
    }

    & video {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        object-fit: cover;
        opacity: 0;
        visibility: hidden;

        &.active {
            opacity: 1;
            visibility: visible;
        }
    }

    & img {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        object-fit: cover;
        transition: opacity 0.3s ease;

        &.disabled {
            opacity: 0;
        }
    }
}

.item_banner {
    position: relative;
    margin-bottom: 60px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    & .media_wrap {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        &.dark {
            background: var(--footer-bg);
        }
    }

    & video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    & .banner_content_wrap {
        padding-top: 135px;
    }

    &.substrate .media_wrap::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background: var(--banner-bg);
    }
}

.banner_content_wrap {
    width: 100%;
    position: relative;
    z-index: 1;
    color: var(--light-color);
    padding: 200px 0 20px 0;
}

.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    font-size: 18px;
    line-height: 20px;

    & li {
        list-style: none;
        margin: 0 10px 10px 0;

        & a {
            display: block;
            padding-right: 30px;
            background: url(../icons/arrow_w.svg) right 0 center / contain no-repeat;
            background-size: 20px 20px;
            transition: color 0.3s ease;
            position: relative;
        }

        &:first-child {
            margin-right: 30px;
        }

        &:first-child {
            padding-right: 30px;
            position: relative;

            &::before {
                position: absolute;
                content: "";
                width: 1px;
                height: 20px;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                border-right: 1px solid var(--light-color);
            }
        }
    }

    & .home_page {
        width: 30px;
        height: 30px;
        padding-right: 0;
        background: none;
        transition: transform 0.8s ease;

        & svg {
            width: 30px;
            height: 30px;
        }
    }
}

.filter {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;

    & a {
        display: block;
        padding: 9px 30px 11px 30px;
        border-left: 1px solid var(--font-color);
        border-bottom: 1px solid var(--font-color);
        margin: 0 30px 20px 0;
        position: relative;

        &.active {
            border-top: 1px solid var(--font-color);
            border-right: 1px solid var(--font-color);
        }

        &:not(.active) {
            &::before {
                position: absolute;
                content: "";
                height: 1px;
                width: 0;
                left: 0;
                top: 0;
                border-top: 1px solid var(--font-color);
                transition: all 0.3s ease 0.3s;
            }

            &::after {
                position: absolute;
                content: "";
                width: 1px;
                height: 0;
                right: 0;
                top: 0;
                border-right: 1px solid var(--font-color);
                transition: all 0.3s ease 0s;
            }
        }
    }

    &.doc_menu {
        & a {
            width: calc((100% / 3) - 30px);
        }
    }
}

.nav_page {
    & a {
        display: flex;
        align-items: center;
        padding: 20px 0 50px 50px;
        position: relative;

        & .wrap_media {
            width: 40%;
            position: relative;
            min-height: 270px;
            filter: grayscale(1);
            transition: all 1s ease;

            & video {
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
                opacity: 0;
                visibility: hidden;

                &.active {
                    opacity: 1;
                    visibility: visible;
                }
            }

            & img {
                display: block;
                position: absolute;
                left: 0;
                top: 0;
                object-fit: cover;
            }
        }

        & .title {
            width: 60%;
            padding: 30px;
            background: var(--item-title);
            margin-left: -70px;
            position: relative;
            font-family: var(--font-title);
            font-size: 45px;
            line-height: 50px;
            letter-spacing: 2px;

            & span {
                padding: 0 10px 5px 0;
                position: relative;

                &::before {
                    position: absolute;
                    content: "";
                    width: 1px;
                    height: 0;
                    right: 0;
                    top: 0;
                    border-right: 1px solid var(--font-color);
                    transition: all 0.5s ease 2.5s;
                }

                &::after {
                    position: absolute;
                    content: "";
                    height: 1px;
                    width: 0;
                    right: 0;
                    bottom: 0;
                    border-bottom: 1px solid var(--font-color);
                    transition: all 0.5s ease 2s;
                }
            }
        }

        &:not(:last-child) {
            margin-bottom: 30px;
        }

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            height: calc(50% - 12px);
            border-left: 1px solid var(--font-color);
            left: 0;
            bottom: 0;
        }

        &::after {
            position: absolute;
            content: "";
            width: 200px;
            height: 1px;
            border-bottom: 1px solid var(--font-color);
            left: 0;
            bottom: 0;
            transition: all 2s ease;
        }
    }
}

.label_main_title {
    margin-bottom: 15px;
    font-family: var(--font-hand);
    font-size: 30px;
    line-height: 35px;
    padding-left: 10px;
}

.wrap_title {
    margin-bottom: 15px;

    & h1.main_title {
        margin-bottom: 0;
        display: block;
    }

    & .inf {
        padding-left: 40px;
        font-size: 16px;
        line-height: 18px;

        &:not(:last-child) {
            margin-bottom: 5px;
        }

        span {
            font-weight: 600;
        }
    }
}

.label_premiere {
    display: inline-block;
    padding: 5px;
    border-right: 1px solid var(--dark-color);
    border-bottom: 1px solid var(--dark-color);
    position: absolute;
    left: 40px;
    top: 20px;
    z-index: 4;
    background: var(--info-bg);
}

h1.main_title {
    padding: 0 20px 5px 40px;
    display: inline-block;
    border-bottom: 1px solid var(--dark-color);
    position: relative;

    &::before {
        position: absolute;
        content: "";
        width: 1px;
        height: calc(100% + 10px);
        left: 10px;
        top: 0;
        border-left: 1px solid var(--dark-color);
    }
}

h1.main_title.block {
    display: block;
}

.footnote_main_title {
    padding: 10px 0 0 40px;
    font-size: 30px;
    line-height: 35px;
    margin-bottom: 10px;
}

.wrap_item_page {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    & .wrap_nav {
        width: 350px;
        padding-top: 50px;
        position: relative;
        & .image {
            border-radius: 5px;
            overflow: hidden;
            cursor: pointer;
            & img {
                display: block;
            }
        }
        & .close {
            display: none;
        }
    }
    & nav {
        width: 350px;
        padding-left: 20px;
        border-left: 1px solid var(--dark-color);
        & .item_nav {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            position: relative;
            padding-bottom: 20px;
            &:not(:last-child) {
                margin-bottom: 20px;
            }
            &::after {
                position: absolute;
                content: "";
                height: 1px;
                width: calc(100% - 85px);
                bottom: 0;
                right: 0;
                border-bottom: 1px solid var(--dark-color);
            }
        }
        & .num {
            width: 85px;
            font-size: 13px;
            line-height: 18px;
            font-weight: 600;
            padding-right: 5px;

            & span {
                display: block;
                font-family: var(--font-hand);
                font-size: 40px;
                line-height: 30px;
                font-weight: 400;
            }
        }
        & .col_wrap {
            width: calc(100% - 85px);
            font-size: 18px;
            line-height: 20px;
            margin-bottom: 10px;
            & .item_col {
                padding-left: 22px;
                &:not(:last-child) {
                    margin-bottom: 5px;
                }
            }
        }
        & .time {
            background: url(../icons/time_icon.svg) left 0 top 0 / contain no-repeat;
            background-size: 18px 18px;
        }
        & .label {
            background: url(../icons/pushkincard.svg) left 0 top 0 / contain no-repeat;
            background-size: 18px 18px;
        }
        & .info {
            background: url(../icons/info.svg) left 0 top 0 / contain no-repeat;
            background-size: 18px 18px;
        }
        & .button {
            margin-left: 85px;
        }
        & .price {
            background: url(../icons/rubel_icon.svg) left 0 top 0 / contain no-repeat;
            background-size: 18px 18px;
        }
        &.fixed {
            position: fixed;
            top: 124px;
            &.sticky {
                position: absolute;
                top: unset;
                bottom: 0;
            }
        }
    }
}

.item_page {
    width: calc(100% - 400px);

    & .wrap_item_slider {
        margin-bottom: 40px;
        height: 400px;
        padding: 20px 30px 0 40px;
        border-top: 1px solid var(--dark-color);
        position: relative;

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            height: calc(100% + 10px);
            left: 10px;
            bottom: 0;
            border-left: 1px solid var(--dark-color);
        }

        & .arrow {
            position: absolute;
            right: -20px;
            top: 50%;
            transform: translateY(-50%);
            width: 45px;
            height: 45px;
            border-right: 1px solid var(--dark-color);
            background: url(../icons/arrow_d_r.svg) right 0 center / contain no-repeat;
            background-size: 30px 30px;
            cursor: pointer;
            transition: all 0.3s ease;
        }
    }

    & .item_slider {
        width: 100%;
        height: 100%;
        position: relative;
        overflow: hidden;

        & .progressive {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            cursor: pointer;
            transition: filter 0.8s ease;

            &:not(:first-child) {
                display: none;
                z-index: 1;
            }

            &.current {
                z-index: 2;
            }

            &.dark {
                filter: brightness(0.4);
            }
        }

        & img {
            display: block;
            object-fit: cover;
            height: 100%;
        }

        &.one_image {
            & .progressive {
                margin-right: 0;
            }
        }
    }

    & .image_team {
        display: none;
    }
}

.text_item {
    margin-bottom: 40px;
    padding-left: 40px;

    & a {
        color: var(--title-color);
    }
}

.wrap_team_list {
    hyphens: auto;

    &:not(:last-child) {
        margin-bottom: 40px;
    }

    & .team_title {
        font-family: var(--font-title);
        letter-spacing: 2px;
        font-size: 30px;
        line-height: 30px;
        margin-bottom: 15px;
    }

    & .list {
        display: flex;
        flex-wrap: wrap;
    }

    & .item_list {
        display: flex;
        flex-wrap: wrap;

        &:not(:last-child) {
            margin-bottom: 5px;
        }
    }

    & .list_title {
        display: block;
        position: relative;
        padding-right: 15px;
        margin-right: 15px;
        padding-bottom: 5px;
        font-weight: 600;

        &::after {
            position: absolute;
            content: "";
            right: 0;
            top: 7.5px;
            border-right: 2px solid var(--dark-color);
            width: 2px;
            height: 15px;
        }
    }

    & .val {
        margin-right: 10px;
        display: block;
        padding-bottom: 5px;
        position: relative;

        &:not(:last-child)::after {
            display: inline;
            content: ",";
        }
    }

    & .group {
        display: flex;
        margin-right: 10px;

        & .val:not(:last-child):after {
            display: inline;
            content: "/";
            padding-left: 10px;
        }

        &:not(:last-child) a:last-child {
            margin-right: 0;

            &::after {
                display: inline;
                content: ",";
            }
        }
    }

    & a.val::before {
        position: absolute;
        content: "";
        width: 0;
        height: 1px;
        left: 0;
        bottom: 0;
        border-bottom: 1px solid var(--dark-color);
        transition: all 0.3s ease;
    }

    & a.list_title::before {
        position: absolute;
        content: "";
        width: 0;
        height: 1px;
        left: 0;
        bottom: 0;
        border-bottom: 1px solid var(--dark-color);
        transition: all 0.3s ease;
    }
}

.pagination {
    display: flex;
    align-items: center;
    padding-top: 40px;
}

.pagination .arrow {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    transition: all 0.3s ease;

    &.prev {
        border-left: 1px solid var(--dark-color);
        background: url(../icons/arrow_d_l.svg) left 0 center / contain no-repeat;
        background-size: 30px 30px;
        margin-right: 10px;
    }

    &.next {
        border-right: 1px solid var(--dark-color);
        background: url(../icons/arrow_d_r.svg) right 0 center / contain no-repeat;
        background-size: 30px 30px;
    }
}

.pagination .to_page {
    height: 45px;
    min-width: 45px;
    margin-right: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    transition: all 0.3s ease;
    border-bottom: 1px solid var(--dark-color);

    &.active {
        border: 1px solid var(--dark-color);
    }
}

.prev_image_team {
    position: fixed;
    display: none;
    width: 160px;
    height: 190px;
    padding: 5px;
    background: var(--body-bg);
    z-index: 1;

    & img {
        display: block;
        object-fit: cover;
    }
}

.flex_slider {
    display: flex;
    overflow: hidden;
    position: relative;

    & .item_flex_slider {
        cursor: pointer;
        margin-right: 20px;
        width: calc((100% / 3) - 20px);
        min-width: calc((100% / 3) - 20px);
        height: 180px;
        position: relative;

        & img {
            height: 100%;
            object-fit: cover;
        }

        & .more_items {
            position: absolute;
            height: 100%;
            width: 100%;
            top: 0;
            right: 0;
            z-index: 1;
            display: flex;
            align-items: flex-end;
            justify-content: flex-end;
            padding: 20px;
            background: var(--banner-bg);
            color: var(--light-color);
        }
    }
}

.page_image {
    margin-bottom: 40px;
    padding: 0 20px 25px 40px;
    border-bottom: 1px solid var(--dark-color);
    position: relative;

    & img {
        display: block;
        object-fit: cover;
    }

    &::before {
        position: absolute;
        content: "";
        width: 1px;
        height: calc(100% + 10px);
        left: 10px;
        top: 0;
        border-left: 1px solid var(--dark-color);
    }
}

.inner_page {
    width: 70%;
    margin-bottom: 40px;
}

.team_section {
    padding-top: 20px;

    &:not(:last-child) {
        margin-bottom: 40px;
    }

    & .title_team_list {
        font-weight: 600;
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 30px;
        text-decoration: underline;
    }
}

.team_list {
    display: flex;
    flex-wrap: wrap;
    margin-right: -30px;

    & .item_team {
        display: block;
        margin: 0 30px 40px 0;
        width: calc(25% - 30px);
    }

    & .image {
        margin-bottom: 20px;
        position: relative;
        overflow: hidden;
        border-radius: 5px;
        transition: filter 0.3s ease;
        width: 100%;

        &::after {
            display: block;
            content: "";
            padding-top: calc(100% + 110px);
        }
    }

    & .progressive {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        display: block;

        & img {
            height: 100%;
            object-fit: cover;
            filter: grayscale(1);
            transition: filter 0.3s ease;
        }
    }

    & .name {
        font-family: var(--font-title);
        letter-spacing: 1px;
        font-size: 25px;
        line-height: 30px;
    }

    & .inf {
        font-size: 18px;
        line-height: 20px;
    }
}

.gallery_popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--info-bg);
    z-index: 5;
    backdrop-filter: blur(5px);
    padding: 15px 0;
    display: none;

    & .wrap_slider {
        position: relative;
        margin: 0 auto;
        height: 100%;
    }

    & .close {
        position: absolute;
        width: 40px;
        height: 40px;
        top: 15px;
        right: 15px;
        cursor: pointer;
        z-index: 1;
        border: 1px solid var(--dark-color);

        &::before,
        &::after {
            position: absolute;
            content: "";
            width: 20px;
            height: 1px;
            border-bottom: 1px solid var(--dark-color);
            left: 50%;
            top: 50%;
            transition: all 0.3s ease;
        }

        &::before {
            transform: translate(-50%, -50%) rotate(-45deg);
        }

        &::after {
            transform: translate(-50%, -50%) rotate(45deg);
        }
    }

    & .slider {
        height: calc(100% - 110px);
        overflow: hidden;
        padding: 0 80px;
        position: relative;

        & img {
            display: none;
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            width: calc(100% - 160px);
        }

        &:last-child {
            height: 100%;
        }
    }

    & .nav_slider {
        overflow: hidden;
        display: flex;
        align-items: center;
        overflow-x: auto;
        max-width: 100%;
        padding: 10px 15px;

        & .item_nav {
            width: 140px;
            min-width: 140px;
            height: 80px;
            margin-right: 5px;
            cursor: pointer;
            padding: 5px;
            border: 1px solid transparent;

            & img {
                display: block;
                object-fit: cover;
            }

            &.active {
                border: 1px solid var(--dark-color);
            }
        }
    }

    & .arrow {
        position: absolute;
        top: calc(50% - 55px);
        cursor: pointer;
        transform: translateY(-50%);
        width: 40px;
        height: 40px;
        z-index: 1;
        transition: all 0.3s ease;
        display: none;

        &.prev {
            left: 40px;
            border-left: 1px solid var(--dark-color);
            background: url(../icons/arrow_d_l.svg) left 0 center / contain no-repeat;
            background-size: 30px 30px;
        }

        &.next {
            right: 40px;
            border-right: 1px solid var(--dark-color);
            background: url(../icons/arrow_d_r.svg) right 0 center / contain no-repeat;
            background-size: 30px 30px;
        }
    }
}

.search_secton {
    margin-bottom: 60px;

    & .search_flex {
        display: flex;

        & .wrap_input {
            flex-grow: 1;
            margin-right: 30px;
        }
    }

    & .search_btn {
        min-width: 200px;
    }
}

.search_wrap {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    width: 100%;
    z-index: 3;
    background: var(--light-color);
    box-shadow: 0 0 20px 0 var(--dark-color);
    padding: 20px 70px;
    display: none;

    & .flex {
        display: flex;
    }

    & .wrap_input {
        flex-grow: 1;
        margin-right: 30px;
    }

    & .search_btn {
        min-width: 200px;
    }
}

.contacts_section_wrap {
    & .contacts_list {
        margin-bottom: 45px;
    }

    & .title {
        font-family: var(--font-title);
        letter-spacing: 1px;
        margin-bottom: 10px;
        font-size: 25px;
        line-height: 30px;
    }

    & .item_col {
        display: block;
        padding-left: 30px;

        &:not(:last-child) {
            margin-bottom: 10px;
        }

        &.schedule {
            background: url(../icons/clock_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.phone {
            background: url(../icons/phone_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.mail {
            background: url(../icons/mail_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.address {
            background: url(../icons/pin_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.vk {
            background: url(../icons/vk_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.telegram {
            background: url(../icons/telegram_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }

        &.ok {
            background: url(../icons/ok_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }
        
        &.max {
            background: url(../icons/max_b.svg) left 0 center / contain no-repeat;
            background-size: 20px 20px;
        }
    }

    & .map_section {
        width: 100%;
        height: 400px;
        padding: 20px 90px 0 0;
        border-top: 1px solid var(--dark-color);
        position: relative;

        & #ya_map {
            width: 100%;
            height: 100%;
        }

        &::before {
            position: absolute;
            content: "";
            right: 70px;
            bottom: 0;
            width: 1px;
            height: calc(100% + 20px);
            border-left: 1px solid var(--dark-color);
        }
    }
}

.tickets_btn {
    display: none;
}

.popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--info-bg);
    z-index: 5;
    backdrop-filter: blur(5px);
    display: none;
    align-items: center;
    justify-content: flex-end;

    & .wrap_popup {
        padding: 10px 70px 10px 15px;
        height: 100%;
        position: relative;

        &::before {
            position: absolute;
            content: "";
            width: 15px;
            height: calc(100% - 80px);
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            border-left: 1px solid var(--dark-color);
            border-top: 1px solid var(--dark-color);
            border-bottom: 1px solid var(--dark-color);
        }
    }

    & .content_popup {
        width: 500px;
        background: var(--light-color);
        height: 100%;
        padding: 40px 10px 40px 60px;

        & .scroll_content {
            overflow: hidden;
            overflow-y: auto;
            padding-right: 30px;
            max-height: 100%;
            height: 100%;
        }
    }

    & .close {
        position: absolute;
        width: 40px;
        height: 40px;
        top: 15px;
        right: 15px;
        cursor: pointer;
        z-index: 1;
        border: 1px solid var(--dark-color);

        &::before,
        &::after {
            position: absolute;
            content: "";
            width: 20px;
            height: 1px;
            border-bottom: 1px solid var(--dark-color);
            left: 50%;
            top: 50%;
            transition: all 0.3s ease;
        }

        &::before {
            transform: translate(-50%, -50%) rotate(-45deg);
        }

        &::after {
            transform: translate(-50%, -50%) rotate(45deg);
        }
    }

    & .title {
        font-family: var(--font-title);
        letter-spacing: 2px;
        font-size: 35px;
        line-height: 40px;
        margin-bottom: 20px;
        padding-left: 5px;
    }

    & .wrap_input {
        margin-bottom: 20px;
        padding: 0;

        &::before {
            top: -5px;
            left: 5px;
            height: calc(100% + 10px);
        }

        & input[type="text"],
        & textarea {
            padding: 10px 15px 12px 20px;
        }
    }

    & button {
        display: block;
        width: 100%;
        margin-top: 40px;
    }

    &#review_show .content_popup {
        width: 50vw;

        & .top {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            margin-bottom: 40px;

            & .date {
                font-size: 18px;
                line-height: 20px;
                font-weight: 600;
            }
        }

        & .text {
            margin-bottom: 40px;
        }

        & .name {
            font-family: var(--font-hand);
            font-size: 40px;
            line-height: 45px;
            padding-left: 20px;
        }
    }

    & .drop_list {
        & .list {
            background: var(--light-color);
        }
    }
}

#intickets-overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--info-bg)!important;
    z-index: 5;
    backdrop-filter: blur(5px)!important;
    display: flex!important;
    align-items: center;
    justify-content: flex-end;
    padding: 10px 70px 10px 15px!important;
    & #intickets-wrapper {
        width: 80vw;
        height: 100%;
        margin: 0!important;
        position: relative!important;
        &::before {
            position: absolute;
            content: "";
            width: 15px;
            height: calc(100% - 150px);
            left: -14px;
            top: 50%;
            transform: translateY(-50%);
            border-left: 1px solid var(--dark-color);
            border-top: 1px solid var(--dark-color);
            border-bottom: 1px solid var(--dark-color);
        }
    }
}

.item_doc {
    display: block;
    padding: 20px;
    background: var(--item-accent);
    width: calc((100% / 3) * 2 - 30px);
    border-radius: 4px;

    &:not(:last-child) {
        margin-bottom: 30px;
    }

    & .name_f {
        display: block;
        font-family: var(--font-title);
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 5px;
    }

    & .text {
        font-size: 16px;
        line-height: 18px;
        margin-bottom: 20px;
    }

    & .button {
        margin-bottom: 20px;
    }

    & .date {
        font-size: 16px;
        line-height: 18px;
    }
}

.slide_list {
    &:not(:last-child) {
        margin-bottom: 40px;
    }

    & .name {
        font-family: var(--font-title);
        font-size: 25px;
        line-height: 30px;
        cursor: pointer;
        padding: 10px 40px 5px 0;
        display: inline-block;
        border-bottom: 1px solid var(--dark-color);
        position: relative;

        &::after {
            position: absolute;
            content: "";
            width: 20px;
            height: 20px;
            right: 0;
            top: 50%;
            transform: translateY(-50%) rotate(90deg);
            background: url(../icons/arrow_d_r.svg) center / contain no-repeat;
        }

        &.active {
            &::after {
                transform: translateY(-50%) rotate(-90deg);
            }
        }
    }

    & .list {
        padding: 20px 0 20px 0;
        display: none;
    }
}

.zoom {
    position: relative;

    &::before {
        position: absolute;
        content: "";
        width: 30px;
        height: 30px;
        left: 20px;
        bottom: 20px;
        background: url(../icons/zoom.svg) center / contain no-repeat;
        z-index: 2;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.8s ease;
    }
}

.flex_top {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 15px;
}

.date_articles {
    padding-left: 40px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    text-decoration: underline;
}

.share {
    position: relative;

    & .name {
        padding: 2px 5px 5px 30px;
        cursor: pointer;
        border-bottom: 1px solid var(--dark-color);
        border-left: 1px solid var(--dark-color);
        background: url(../icons/share.svg) left 5px center / contain no-repeat;
        background-size: 20px 20px;
    }

    & .list {
        position: absolute;
        top: 100%;
        right: 0;
        background: var(--light-color);
        z-index: 1;
        font-size: 16px;
        line-height: 18px;
        font-weight: 600;
        padding-top: 10px;
        display: none;
    }

    & .icons {
        display: flex;
        flex-wrap: nowrap;
        padding: 10px;
        box-shadow: 0 0 2px 0 var(--dark-color);

        & a {
            display: block;
            width: 40px;
            height: 40px;
            border: 1px solid var(--dark-color);
            margin-right: 10px;
        }

        & .telegram {
            background: url(../icons/telegram_b.svg) center / contain no-repeat;
            background-size: 20px 20px;
        }

        & .vk {
            background: url(../icons/vk_b.svg) center / contain no-repeat;
            background-size: 20px 20px;
        }

        & .ok {
            background: url(../icons/ok_b.svg) center / contain no-repeat;
            background-size: 20px 20px;
        }

        & .copy_link {
            cursor: pointer;
            width: 40px;
            height: 40px;
            border: 1px solid var(--dark-color);
            background: url(../icons/copy_b.svg) center / contain no-repeat;
            background-size: 20px 20px;
        }
    }
}

.flex_end {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 40px;
}

.rev_text {
    margin-bottom: 40px;

    & .wrap_button {
        text-align: right;

        & .button {
            min-width: 250px;
        }
    }

    & .text {
        padding: 0 0 25px 40px;
        border-bottom: 1px solid var(--dark-color);
        margin-bottom: 30px;
        position: relative;

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            height: calc(100% + 10px);
            left: 10px;
            top: 0;
            border-left: 1px solid var(--dark-color);
        }
    }
}

.reviews_list {
    width: 70%;
    padding-left: 40px;

    & .item_rev {
        margin-bottom: 40px;
        padding-bottom: 30px;
        border-bottom: 1px solid var(--dark-color);
        cursor: pointer;

        & .top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 20px;
            font-weight: 600;
            line-height: 18px;
        }

        & .date {
            font-size: 14px;
        }

        & .wrap_text {
            margin-bottom: 10px;
        }

        & .text {
            overflow: hidden;
            text-overflow: ellipsis;
            display: -moz-box;
            display: -webkit-box;
            line-clamp: 5;
            box-orient: vertical;
            -moz-box-orient: vertical;
            -webkit-line-clamp: 5;
            -webkit-box-orient: vertical;
            user-select: none;
        }

        & .name {
            font-family: var(--font-hand);
            font-size: 30px;
            line-height: 35px;
        }
    }
}

.rating {
    font-size: 16px;
    padding: 8px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;

    & .icon {
        width: 20px;
        height: 20px;
        margin-right: 10px;
    }

    &.r3 {
        color: var(--rate-r3);
        border: 1px solid var(--rate-r3);

        & .icon {
            background: url(../icons/like.svg) center / contain no-repeat;
        }
    }

    &.r2 {
        border: 1px solid var(--rate-r2);
        color: var(--rate-r2);
    }

    &.r1 {
        border: 1px solid var(--rate-r1);
        color: var(--rate-r1);

        & .icon {
            transform: rotate(180deg);
            background: url(../icons/dislike.svg) center / contain no-repeat;
        }
    }
}

.drop_list {
    position: relative;
    margin-bottom: 20px;

    & .name {
        cursor: pointer;
        padding: 10px 15px 12px 20px;
        position: relative;
        border-top: 1px solid var(--title-color);
        border-right: 1px solid var(--title-color);
        border-bottom: 1px solid var(--title-color);
        white-space: nowrap;
        text-overflow: ellipsis;
        color: var(--title-color);

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            top: -5px;
            left: 5px;
            height: calc(100% + 10px);
            border-left: 1px solid var(--title-color);
        }

        &::after {
            position: absolute;
            content: "";
            width: 20px;
            height: 20px;
            right: 15px;
            top: 50%;
            transform: translateY(-50%) rotate(90deg);
            background: url(../icons/arrow_d_r_b.svg) center / contain no-repeat;
        }

        &.active {
            &::after {
                transform: translateY(-50%) rotate(-90deg);
            }
        }
    }

    & .list {
        position: absolute;
        display: none;
        left: 10px;
        top: calc(100% + 5px);
        background: var(--item-accent);
        width: calc(100% - 10px);
        z-index: 1;
        box-shadow: 0 0 5px 0px var(--dark-color);
    }

    & .item_list {
        cursor: pointer;
        padding: 5px 40px 5px 15px;
        margin-bottom: 10px;

        &.active {
            background: url(../icons/check.svg) right 15px center / contain no-repeat;
            background-size: 20px 20px;
        }
    }
}

.agree {
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 20px;
    padding-left: 5px;

    & input[type="checkbox"] {
        display: none;

        &:checked+label::after {
            position: absolute;
            content: "";
            width: 20px;
            height: 20px;
            background: var(--title-color);
            left: 0;
            top: 6px;
        }
    }

    & label {
        cursor: pointer;
        padding-left: 30px;
        position: relative;
        display: block;

        &::after {
            position: absolute;
            left: 0;
            top: 6px;
            content: "";
            width: 20px;
            height: 20px;
            border: 1px solid var(--title-color);
        }

        & a {
            text-decoration: underline;
            color: var(--title-color);
        }
    }
}

.hidden_inputs {
    display: none;
}

.wrap_feedback {
    width: calc((100% / 3) * 2 - 30px);

    & a {
        color: var(--title-color);
    }
}

.feedback_content {
    padding: 30px;
    background: var(--item-accent);
    margin-bottom: 40px;

    & .top_nav {
        display: flex;
        align-items: center;
        justify-content: space-between;

        & .wrap_drop {
            width: calc(50% - 10px);

            & .drop_list {
                margin-bottom: 0;
            }
        }
    }
}

.wrap_drop {
    & .label {
        font-size: 16px;
        line-height: 18px;
        padding-left: 10px;
        margin-bottom: 5px;
    }
}

.flex_tab_nav {
    display: flex;
    align-items: center;
    margin-bottom: 40px;

    & .name_nav {
        margin-right: 20px;
    }

    & .item_nav {
        cursor: pointer;
        padding-left: 30px;
        position: relative;
        color: var(--title-color);

        &:not(:last-child) {
            margin-right: 20px;
        }

        &::before {
            position: absolute;
            content: "";
            left: 0;
            top: 4px;
            width: 20px;
            height: 20px;
            border: 1px solid var(--title-color);
        }

        &.active {
            &::after {
                position: absolute;
                content: "";
                width: 15px;
                height: 15px;
                background: var(--title-color);
                left: 8px;
                top: 2px;
            }
        }
    }
}

.wrap_tab {
    & .tab_form {
        &:not(:first-child) {
            display: none;
        }

        & button {
            min-width: 300px;
        }
    }

    & .wrap_fields {
        margin-bottom: 40px;
    }

    & .wrap_input {
        padding: 0;
        margin-bottom: 20px;

        & input[type="text"],
        & textarea {
            padding: 10px 15px 12px 20px;
        }
    }

    & .label {
        padding-left: 15px;
        margin-bottom: 5px;
        font-size: 16px;
        line-height: 18px;
        font-weight: 600;
    }

    & .footnote_message {
        font-size: 14px;
        line-height: 18px;
        padding-left: 15px;
        margin-bottom: 40px;
    }

    & .agree {
        margin-bottom: 30px;

        & label {
            &::before {
                top: 2px;
            }
        }

        & input[type="checkbox"] {
            &:checked+label::after {
                top: 0;
            }
        }
    }
}

.wrap_input.wrap_file {
    padding: 23px 20px 20px 30px;

    & input[type="file"] {
        display: none;
    }

    & label {
        display: inline-block;
        text-align: center;
        border: 1px solid var(--title-color);
        outline: none;
        cursor: pointer;
        padding: 12px 40px 12px 20px;
        font-weight: 600;
        font-size: 16px;
        line-height: 20px;
        color: var(--title-color);
        background: url(../icons/add.svg) right 10px center / contain no-repeat;
        background-size: 20px 20px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;

        &.active {
            background: none;
            padding-right: 20px;
        }
    }
}

.form_message {
    display: none;
}

.result_section {
    padding-left: 10px;

    & .item_result {
        display: block;
        padding: 20px;
        background: var(--item-accent);
        border-radius: 4px;

        &:not(:last-child) {
            margin-bottom: 30px;
        }
    }

    & .cat {
        font-size: 16px;
        line-height: 18px;
        font-weight: 600;
        margin-bottom: 10px;
    }

    & .title {
        font-family: var(--font-title);
        letter-spacing: 2px;
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 10px;
    }

    & .simplesearch-highlight {
        font-weight: 600;
    }
}

.wrap_search_title {
    margin-bottom: 80px;
}

.video_section {
    position: relative;
    height: 350px;
    margin-bottom: 40px;
    background: var(--item-accent);

    & .play {
        position: absolute;
        cursor: pointer;
        width: 50px;
        height: 50px;
        top: 20px;
        right: 20px;
        z-index: 2;
        border-left: 1px solid var(--light-color);
        border-top: 1px solid var(--light-color);
        background: url(../icons/play.svg) center / contain no-repeat;
        background-size: 35px 35px;
        transition: background 0.3s ease 0.6s;

        &::before {
            position: absolute;
            content: "";
            width: 1px;
            height: 10px;
            right: 0;
            top: 0;
            border-right: 1px solid var(--light-color);
            transition: height 0.3s ease 0.3s;
        }

        &::after {
            position: absolute;
            content: "";
            width: 0;
            height: 1px;
            right: 0;
            bottom: 0;
            border-bottom: 1px solid var(--light-color);
            transition: width 0.3s ease 0s;
        }
    }

    & img {
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        object-fit: cover;
        z-index: 1;
    }

    & video {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }

    &::after {
        position: absolute;
        content: "";
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(153.43deg, rgb(0, 0, 0, 0.5) 50%, rgb(72, 71, 71, 0.2) 100%);
        z-index: 1;
        opacity: 1;
        transition: opacity 0.3s ease;
    }

    &.active::after {
        opacity: 0;
        visibility: hidden;
    }
}

.feedback_list {
    & .item_feedback {
        display: flex;
        padding: 40px 20px;
        background: var(--item-accent);
        border-radius: 4px;
        font-weight: 600;
    }

    & .wrap_inf:not(:last-child) {
        margin-right: 30px;
    }

    & .label {
        font-size: 16px;
        line-height: 18px;
        margin-bottom: 5px;
        font-weight: 400;
    }
}

.error_page {
    padding-top: 250px;
    color: var(--light-color);
    background: var(--slider-line) url(../icons/drama.svg) right 70px center / contain no-repeat;
    background-size: 30% auto;
    padding-bottom: 250px;
    min-height: 100vh;

    & a {
        text-decoration: underline;
    }
}

.text_section {
    padding-left: 40px;
}

:root {
    .bvi-active {
        --font-hand: 'Century Gothic', sans-serif;

        & .map_section {
            display: none;
        }

        & .nav_page {
            & a {
                & .wrap_media {
                    display: none;
                }
            }
        }

        .bvi-body[data-bvi-theme="green"] {
            --title-color: #A9E44D;
            --dark-color: #A9E44D;

            & .share {
                & .icons {
                    & .telegram {
                        background: #ffffff url(../icons/telegram_b.svg) center / contain no-repeat !important;
                        background-size: 20px 20px;
                    }

                    & .vk {
                        background: #ffffff url(../icons/vk_b.svg) center / contain no-repeat !important;
                        background-size: 20px 20px;
                    }

                    & .ok {
                        background: #ffffff url(../icons/ok_b.svg) center / contain no-repeat !important;
                        background-size: 20px 20px;
                    }

                    & .copy_link {
                        background: #ffffff url(../icons/copy_b.svg) center / contain no-repeat !important;
                        background-size: 20px 20px;
                    }
                }
            }
        }

        .bvi-body[data-bvi-theme="white"] {
            --logo: url(../img/logo_dark.svg) center / contain no-repeat;
        }

        .bvi-body[data-bvi-theme="brown"] {
            --logo: url(../img/logo_dark.svg) center / contain no-repeat;
        }

        .bvi-body[data-bvi-theme="black"] {
            --title-color: #ffffff;
            --dark-color: #ffffff;
        }
    }
}

.bvi-active {
    & header {
        position: relative;
    }

    & .main_banner {
        min-height: auto;

        & .item_banner {
            & .wrap_text_sl {
                padding: 30px;
            }
        }
    }

    & .item_catalog {
        & .fade_list {
            display: none;
        }
    }

    & .bvi-body[data-bvi-theme="white"],
    .bvi-body[data-bvi-theme="blue"],
    .bvi-body[data-bvi-theme="brown"] {
        & .social_links {
            & a {
                &.rutube {
                    background: url(../icons/rutube_b.svg) center / contain no-repeat;
                    background-size: 32px 32px;
                }

                &.youtube {
                    background: url(../icons/youtube_b.svg) center / contain no-repeat;
                    background-size: 32px 32px;
                }

                &.vk {
                    background: url(../icons/vk_b.svg) center / contain no-repeat;
                    background-size: 32px 32px;
                }

                &.telegram {
                    background: url(../icons/telegram_b.svg) center / contain no-repeat;
                    background-size: 30px 30px;
                }
            }
        }
    }

    & .social_links {
        & a {
            &::before {
                width: 100%;
            }

            &::after {
                height: 100%;
            }
        }
    }
}

.item_contact {
    padding-left: 20px;
    border-left: 1px solid var(--dark-color);
    position: relative;
    padding-bottom: 20px;

    &::after {
        position: absolute;
        content: "";
        width: 40px;
        height: 1px;
        border-bottom: 1px solid var(--dark-color);
        bottom: 0;
        left: 0;
    }

    &:not(:last-child) {
        margin-bottom: 20px;
    }

    & .name {
        font-weight: 600;
        margin-bottom: 5px;
        padding-top: 10px;
        display: block;
        position: relative;
        width: fit-content;

        &::before {
            position: absolute;
            content: "";
            width: 0;
            height: 1px;
            left: -20px;
            top: 0;
            border-bottom: 1px solid var(--dark-color);
            transition: all 0.3s ease;
        }
    }

    & .job_title {
        margin-bottom: 15px;
        padding-left: 10px;
    }
}

.doc_list {
    & h4 {
        padding-left: 40px;
    }
}

.wrap_docs:not(:last-child) {
    margin-bottom: 40px;
}

@media (min-width: 992px) {
    .button:not(:disabled, .disabled_button):hover, button:not(:disabled, .disabled_button):hover {
        &:not(.white, .accent_button) {
            background: var(--title-color);
            color: var(--light-color);
        }
        &.white {
            background: var(--light-color);
            color: var(--dark-color);
        }
        &.accent_button {
            background: var(--light-color);
            color: var(--accent-button);
        }
        &.file svg path {
            fill: var(--light-color);
        }
    }

    .scroll_top:hover {
        &::before {
            height: 100%;
            transition: height 0.3s ease 0s;
        }
        &::after {
            width: 100%;
            transition: width 0.3s ease 0.3s;
        }
    }

    .play:hover {
        background: url(../icons/play.svg) right 0px center / contain no-repeat;
        background-size: 40px 40px;
        transition: background 0.3s ease 0.6s;

        &::before {
            height: 100%;
            transition: height 0.3s ease 0s;
        }

        &::after {
            width: 100%;
            transition: width 0.3s ease 0.3s;
        }
    }

    .item_flex_catalog:hover {
        & .time::after {
            width: 100%;
        }

        & .date::after {
            width: 10px;
        }
    }

    .item_news:hover {
        & .progressive img {
            scale: 1.1;
        }

        & .more::after {
            width: 100%;
        }
    }

    .item_catalog .name:hover {
        &::before {
            width: 100%;
            transition: all 0.3s ease 0s;
        }

        &::after {
            height: calc(100% + 10px);
            transition: all 0.3s ease 0.3s;
        }
    }

    .item_catalog .wrap_image:hover {
        & .fade_list {
            transition: all 0.3s ease 0.3s, color 0.3s ease 0.6s;
            height: calc(100% - 20px);
            padding: 15px;
            color: var(--dark-color);

            &::after {
                width: 100%;
                transition: all 0.3s ease 0s;
            }
        }

        & .label_item {
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease 0s;
        }
    }

    header.fixed .button:hover {
        color: var(--accent-button);
    }

    .footer_flex .list a:hover {
        opacity: 1;
        text-shadow: 0 0 4px var(--light-color);
    }

    .social_links a:hover {
        &::before {
            width: 100%;
            transition: all 0.3s ease 0s;
        }

        &::after {
            height: 100%;
            transition: all 0.3s ease 0.3s;
        }
    }

    .filter a:not(.active):hover {
        &::before {
            width: 100%;
            transition: all 0.3s ease 0s;
        }

        &::after {
            height: 100%;
            transition: all 0.3s ease 0.3s;
        }
    }

    .nav_page a:hover {
        & .wrap_media {
            filter: grayscale(0);
        }

        &::after {
            width: 100%;
        }

        & .title span {
            &::before {
                height: 100%;
                transition: all 0.5s ease 2s;
            }

            &::after {
                width: 100%;
                transition: all 0.5s ease 2.5s;
            }
        }
    }

    .breadcrumbs {
        & .home_page:hover {
            transform: rotate(-5deg);
        }

        & a:not(.home_page):hover {
            color: var(--info-bg);
        }
    }

    .wrap_team_list a.val:hover::before {
        width: 100%;
    }

    .wrap_team_list a.list_title:hover::before {
        width: calc(100% - 15px);
    }

    .wrap_item_slider .arrow:hover {
        background: url(../icons/arrow_d_r.svg) right -5px center / contain no-repeat;
        background-size: 30px 30px;
    }

    .team_list .item_team:hover .image {
        filter: drop-shadow(0 0 8px var(--dark-color));

        & img {
            filter: grayscale(0);
        }
    }

    .gallery_popup {
        & .nav_slider {
            &::-webkit-scrollbar-thumb {
                height: 10px;
                border-radius: 10px;
                background: var(--slider-line);
            }

            &::-webkit-scrollbar {
                height: 10px;
                background: none;
            }
        }
    }

    .scroll_content {
        overscroll-behavior: auto;

        &::-webkit-scrollbar-thumb {
            width: 5px;
            border-radius: 5px;
            background: var(--slider-line);
        }

        &::-webkit-scrollbar {
            width: 5px;
            background: none;
        }
    }

    @-moz-document url-prefix() {
        .gallery_popup {
            & .nav_slider {
                scrollbar-color: var(--slider-line) transparent;
            }
        }

        .scroll_content {
            scrollbar-color: var(--slider-line) transparent;
        }
    }

    .close:hover {

        &::before,
        &::after {
            width: 30px;
        }
    }

    .gallery_popup .arrow.next:hover {
        background: url(../icons/arrow_d_r.svg) right -5px center / contain no-repeat;
        background-size: 30px 30px;
    }

    .gallery_popup .arrow.prev:hover {
        background: url(../icons/arrow_d_l.svg) left -5px center / contain no-repeat;
        background-size: 30px 30px;
    }

    .pagination a.arrow:hover {
        &.next {
            background: url(../icons/arrow_d_r.svg) right -5px center / contain no-repeat;
            background-size: 30px 30px;
        }

        &.prev {
            background: url(../icons/arrow_d_l.svg) left -5px center / contain no-repeat;
            background-size: 30px 30px;
        }
    }

    .zoom:hover::before {
        opacity: 1;
        visibility: visible;
    }

    /* .item_contact .name:hover::before {
		width: calc(100% + 20px);
	} */
    .main_banner .arrow:hover {
        background: url(../icons/arrow_w.svg) right -5px center / contain no-repeat;
        background-size: 35px 35px;
    }

    header nav .item_menu:hover {
        & .sub_menu {
            opacity: 1;
            visibility: visible;

            &::before {
                transition: all 0.3s ease 0.3s;
                height: calc(100% - 40px);
            }
        }
    }

    header nav .item_menu .sub_menu a:hover {
        opacity: 1;
    }
}

@media (max-width: 1270px) {
    h1 {
        margin-bottom: 25px;
    }

    h2 {
        font-size: 60px;
        line-height: 65px;
        margin-bottom: 10px;
    }

    h3 {
        font-size: 35px;
        line-height: 40px;
        margin-bottom: 20px;
    }

    .wrap {
        padding: 0 40px;
    }

    header {
        padding-left: 40px;
        padding-right: 40px;
        font-size: 15px;
        line-height: 18px;

        & .wrap_logo {
            width: 180px;
        }

        & .logo {
            height: 65px;
            width: 180px;
        }

        &.fixed {
            & .logo {
                height: 50px;
                width: 140px;
            }
        }

        & .indicator {
            top: 85px;
        }
    }

    .main_banner {
        margin-bottom: 60px;

        & .arrow {
            right: 40px;
        }
    }

    .content {
        margin-bottom: 60px;

        &.border_top {
            padding-top: 60px;

            &::before {
                width: 100px;
                height: 100px;
                top: -50px;
            }
        }
    }

    .promo_text {
        font-size: 40px;
        line-height: 45px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .nav_page {
        & a {
            & .wrap_media {
                width: 50%;
            }

            & .title {
                width: calc(50% + 70px);
            }
        }
    }

    .page_banner {
        min-height: 400px;
        margin-bottom: 60px
    }

    .banner_content_wrap {
        padding-top: 200px;
    }

    .inner_page {
        width: auto;
    }

    .wrap_item_page {
        & nav {
            &.fixed {
                top: 104px;
            }
        }
    }

    .item_doc {
        width: 100%;
    }

    .reviews_list {
        width: auto;
    }

    .wrap_feedback {
        width: auto;
    }

}

@media (max-width: 992px) {
    body {
        font-size: 20px;
        line-height: 22px;
    }

    h1 {
        font-size: 32px;
        line-height: 38px;
        margin-bottom: 5px;
    }

    h2 {
        font-size: 50px;
        line-height: 55px;
        margin-bottom: 5px;
    }

    h3 {
        font-size: 30px;
        line-height: 35px;
        padding: 2px 10px 0px 10px;
        margin-bottom: 30px;

        &.catalog_title {
            min-width: 100%;
        }

        &.flex_catalog_title {
            min-width: 100%;
        }
    }

    h4 {
        font-size: 30px;
        line-height: 35px;
        margin-bottom: 15px;
    }

    p:not(:last-child) {
        margin-bottom: 12px;
    }

    .wrap {
        padding: 0 20px;
    }

    .button,
    button {
        padding: 9px 20px;
        font-size: 15px;
        line-height: 18px;
        display: block;

        &.big {
            font-size: 16px;
            line-height: 20px;
            padding: 9px 30px 9px 30px;
            text-transform: uppercase;
        }
    }

    header {
        padding-left: 20px;
        padding-right: 20px;
        position: absolute;
        transition: all 0s;

        & .main_menu {
            position: fixed;
            right: 0;
            top: 0;
            height: 100%;
            width: calc(100% - 40px);
            background: var(--dark-color);
            z-index: 5;
            padding: 30px 0 30px 30px;
            display: none;

            & .scroll_wrap {
                max-height: calc(100% - 250px);
                overflow: hidden;
                overflow-y: auto;
                height: calc(100% - 250px);
                padding-right: 20px;
            }

            &::before {
                position: absolute;
                content: "";
                width: 40px;
                height: 100%;
                z-index: -1;
                left: -40px;
                top: 0;
                background: var(--light-color);
                opacity: 0.6;
            }

            &::after {
                position: absolute;
                content: "";
                width: 40px;
                height: 60px;
                background: var(--dark-color) url(../icons/arrow_w.svg) center left 0 / contain no-repeat;
                background-size: 30px 30px;
                top: 50%;
                transform: translateY(-50%);
                left: -22px;
                border-left: 1px solid var(--light-color);
                border-bottom: 1px solid var(--light-color);
                opacity: 0;
                transition: opacity 0s ease 0s;
            }

            & .contacts_section {
                display: block;
                font-size: 16px;
                line-height: 18px;
                padding-right: 20px;

                & .social_links {
                    padding-top: 10px;

                    & a {
                        width: 35px;
                        height: 35px;
                        margin-bottom: 0;

                        &:last-child {
                            margin-right: 0;
                        }

                        &.rutube {
                            background-size: 27px 27px;
                        }

                        &.youtube {
                            background-size: 27px 27px;
                        }

                        &.vk {
                            background-size: 27px 27px;
                        }

                        &.telegram {
                            background-size: 25px 25px;
                        }
                    }
                }

                & .title_menu {
                    margin-bottom: 10px;
                    font-weight: 600;
                    font-size: 18px;
                    line-height: 20px;
                }

                & .wrap_menu:not(:last-child) {
                    margin-bottom: 10px;
                }

                & .item_col {
                    margin-bottom: 5px;
                    display: block;
                    padding-left: 24px;

                    &.schedule {
                        background: url(../icons/clock.svg) left 0 top 0 / contain no-repeat;
                        background-size: 18px 18px;
                    }

                    &.phone {
                        background: url(../icons/phone.svg) left 0 top 0 / contain no-repeat;
                        background-size: 18px 18px;
                    }

                    &.mail {
                        background: url(../icons/mail.svg) left 0 top 0 / contain no-repeat;
                        background-size: 18px 18px;
                    }

                    &.address {
                        background: url(../icons/pin.svg) left 0 top 0 / contain no-repeat;
                        background-size: 18px 18px;
                    }
                }
            }

            & .wrap_list_menu {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                height: 100%;
            }

            &.active {
                &::after {
                    opacity: 1;
                    transition: opacity 0.3s ease 0.4s;
                }
            }
        }

        & nav {
            display: block;
            font-size: 25px;
            line-height: 30px;

            & .item_menu {
                margin-bottom: 15px;
                padding: 0;

                &:not(:last-child) {
                    margin-right: 0;
                }

                & .sub_menu {
                    display: none;
                    position: static;
                    padding: 0 0 0 10px;
                    background: none;
                    opacity: 1;
                    visibility: visible;
                    font-family: var(--font-main);
                    font-size: 18px;
                    line-height: 20px;
                    white-space: unset;
                }
            }
        }

        & .button {
            position: absolute;
            left: 20px;
            top: 50%;
            transform: translateY(-50%);
            min-width: unset;
            transition: all 0s;
        }

        & .wrap_logo {
            width: 110px;
        }

        & .logo {
            position: absolute;
            width: 250px;
            height: 90px;
            top: 80px;
            transition: all 0s;
        }

        & .wrap_buttons {
            & .bvi-open {
                width: 35px;
                height: 35px;
                margin-right: 25px;
            }

            & .search_btn {
                margin-right: 20px;
            }

            & .mobile_menu_btn {
                display: block;
                width: 40px;
                height: 40px;
                cursor: pointer;
                position: relative;
                overflow: hidden;
                border: 1px solid var(--light-color);
                background: url(../icons/menu_1.svg) center / contain no-repeat;
                background-size: 90% 90%;
            }
        }

        &.menu_active {
            z-index: 5;
        }

        &.fixed {
            position: fixed;
            animation: slideIn_menu 0.5s forwards;

            & .button {
                display: none;
            }

            & .logo {
                position: static;
                width: 110px;
                height: 40px;
                margin-bottom: -6px;
            }
        }

        & .indicator {
            position: absolute;
            top: 60px;
        }
    }

    .main_banner {
        height: 100%;

        & .item_banner {
            padding: 180px 0 30px 0;
            height: 100%;
        }

        & .arrow {
            width: 40px;
            height: 40px;
            right: 20px;
            bottom: unset;
            top: 50%;
            transform: translateY(-50%);
            z-index: 2;
        }
    }

    .wrap_promo {
        & .button {
            width: 100%;
        }
    }

    .promo_text {
        font-size: 30px;
        line-height: 35px;
        margin-bottom: 20px;
        padding-bottom: 20px;

    }

    .fixed_buttons {
        & .scroll_top {
            right: 20px;
            bottom: 20px;
            border-bottom: 1px solid var(--title-color);
            border-right: 1px solid var(--title-color);

            &::before {
                display: none;
            }

            &.color_switch {
                border-bottom: 1px solid var(--light-color);
                border-right: 1px solid var(--light-color);
            }
        }
    }

    .item_catalog {
        flex-direction: column;
        align-items: flex-start;
        padding: 0 20px 20px 20px;
        width: 100%;
        border-left: 1px solid var(--font-color);
        border-right: 1px solid var(--font-color);

        & .wrap_number {
            order: 1;
            min-width: unset;
            padding: 0 5px;
            background: var(--light-color);
            width: unset;
            display: inline-block;
            margin-bottom: 10px;
            margin-top: -70px;
            position: relative;

            & .num {
                line-height: 45px;
            }
        }

        & .wrap_image {
            width: 100%;
            margin-right: 0;
            min-height: 200px;
            order: 3;
        }

        & .wrap_text_item {
            width: 100%;
            margin-right: 0;
            order: 2;
            margin-bottom: 20px;
            padding-top: 10px;
        }

        & nav {
            width: 100%;
            transform: unset;
            margin-bottom: 0;
            display: flex;
            align-items: end;
            justify-content: center;
            flex-direction: column;
            padding-top: 0;

            & .price {
                font-size: 16px;
                line-height: 18px;
                padding: 5px 20px 0 0;
                min-height: 23px;
            }
        }

        & .name {
            display: inline-block;
            padding-bottom: 0;
            padding-right: 25px;
            font-size: 30px;
            line-height: 35px;

            &::before {
                width: 100%;
            }

            &::after {
                height: calc(100% + 10px);
            }
        }

        &::before {
            width: 100%;
            height: 1px;
            border-right: 0;
            border-bottom: 1px solid var(--font-color);
            bottom: unset;
            top: 18.8px;
        }

        & .button {
            &::after {
                display: none;
            }
        }

        & .label_item {
            bottom: 15px;
            font-weight: 600;
            padding: 7px 15px 8px 15px;
        }
    }

    footer {
        padding: 30px 0 0 0;
        display: block;

        & .wrap {
            display: block;
        }
    }

    .footer_flex {
        display: block;
        margin-bottom: 40px;

        & .col {
            &:first-child {
                width: 100%;
                padding-right: 0;
                border-right: 0;
                margin-bottom: 50px;
            }

            &:last-child {
                padding-left: 0;
                width: 100%;
            }
        }

        & .list {
            display: block;
            margin-right: 0;

            & a {
                margin-right: 0;
            }
        }
    }

    .links {
        padding-top: 0;
    }

    .footnote_footer {
        flex-direction: column;
        font-size: 13px;
        line-height: 18px;
        margin-left: -20px;
        margin-right: -20px;
        align-items: flex-end;

        & .copyright {
            padding: 0 20px 10px 20px;
            border-right: 0;
            text-align: left;
            width: 100%;
        }

        & .dev_info {
            padding: 10px 20px 15px 20px;

            &::before {
                width: 1px;
                height: calc(100% + 10px);
                bottom: unset;
                top: -10px;
                border-bottom: 0;
                border-left: 1px solid var(--light-color);
            }
        }
    }

    .flex_catalog {
        display: block;

        &:not(.main_flex_catalog) {
            margin-right: 0;

            & .item_flex_catalog {
                width: auto;
                margin-bottom: 0;

                &:not(:last-child) {
                    margin-bottom: 30px;
                }

                &:last-child {
                    margin-right: 0;
                }
            }
        }
    }

    .item_flex_catalog {
        width: 100%;
        margin-right: 0;

        &:not(:last-child) {
            margin-bottom: 30px;
        }

        & .wrap_image {
            margin-left: -20px;
            margin-right: -20px;
            margin-bottom: 15px;
            padding: 20px;
        }

        & .name {
            font-size: 25px;
            line-height: 25px;
            margin-bottom: 10px;
        }
    }

    .news_list {
        margin-bottom: 0;
        margin-right: 0;
    }

    .news_list.main_news {
        overflow: hidden;
        overflow-x: auto;
        flex-wrap: nowrap;
        margin-right: -20px;
        margin-left: -20px;
        padding-left: 20px;

        & .item_news {
            width: calc(85vw - 20px);
            min-width: calc(85vw - 20px);
            margin-right: 20px;
            margin-bottom: 0;

            &:not(:last-child) {
                margin-right: 20px;
            }
        }
    }

    .news_list.main_news::-webkit-scrollbar-thumb {
        height: 0;
        background: transparent;
    }

    .news_list.main_news::-webkit-scrollbar {
        height: 0;
        background: transparent;
    }

    .item_news {
        width: 100%;
        margin-right: 0;

        & .label {
            top: unset;
            bottom: -1px;
            position: absolute;
            right: -1px;
        }

        & .wrap_image {
            &::after {
                padding-top: calc(100% - 100px);
            }
        }

        & .more {
            padding-bottom: 5px;

            &::after {
                width: 100%;
            }
        }

        &:last-child {
            margin-bottom: 0;
        }
    }

    .banner_content_wrap {
        padding-top: 210px;
    }

    .breadcrumbs {
        flex-wrap: nowrap;
        overflow: hidden;
        overflow-x: auto;
        margin-right: -20px;
        margin-left: -20px;
        padding-left: 20px;
        white-space: nowrap;

        & li {
            margin-right: 15px;
            margin-bottom: 0;

            &:first-child {
                padding-right: 20px;
                margin-right: 20px;
            }
        }
    }

    .breadcrumbs::-webkit-scrollbar-thumb {
        height: 0;
        background: transparent;
    }

    .breadcrumbs::-webkit-scrollbar {
        height: 0;
        background: transparent;
    }

    @-moz-document url-prefix() {
        .news_list.main_news {
            scrollbar-color: transparent transparent;
        }

        .breadcrumbs {
            scrollbar-color: transparent transparent;
        }

        .filter {
            scrollbar-color: transparent transparent;
        }

        .item_slider {
            scrollbar-color: transparent transparent;
        }

        .flex_slider {
            scrollbar-color: transparent transparent;
        }

        .gallery_popup .slider {
            scrollbar-color: transparent transparent;
        }
    }

    .nav_page {
        & a {
            display: block;
            padding: 20px 0 0 25px;
            margin-right: -20px;
            text-align: right;

            & .wrap_media {
                width: 100%;
                min-height: 230px;
                margin-bottom: -35px;
            }

            & .title {
                display: inline-block;
                width: calc(100% - 20px);
                margin-left: 0;
                padding: 20px 20px 10px 20px;
                font-size: 30px;
                line-height: 35px;
                background: var(--light-color);

                & span {
                    padding: 0;
                }
            }

            &.start_video {
                & .wrap_media {
                    filter: grayscale(0);
                }
            }
        }
    }

    .filter {
        flex-wrap: nowrap;
        margin-right: -20px;
        margin-left: -20px;
        padding-left: 20px;
        overflow: hidden;
        overflow-x: auto;
        margin-bottom: 40px;
        white-space: nowrap;

        & a {
            margin-bottom: 0;
            margin-right: 20px;
            padding: 10px 25px;
        }

        &.doc_menu {
            overflow: unset;
            display: block;
            margin: 0 0 40px 0;
            padding-left: 0;
            white-space: unset;

            & a {
                margin: 0 0 20px 0;
                width: auto;
                padding: 15px 25px;
            }
        }
    }

    .filter::-webkit-scrollbar-thumb {
        height: 0;
        background: transparent;
    }

    .filter::-webkit-scrollbar {
        height: 0;
        background: transparent;
    }

    .wrap_item_page {
        display: block;
        margin-bottom: 40px;

        & .wrap_nav {
            display: none;
            position: fixed;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            z-index: 5;
            background: var(--light-color);
            padding-top: 60px;
            padding-bottom: 20px;
            overflow: hidden;
            overflow-y: auto;

            & nav {
                width: 100%;
                border-left: 0;
                padding: 0 20px;

                & .item_nav {
                    &::after {
                        width: 100%;
                    }
                }
            }

            & .close {
                display: block;
                position: fixed;
                width: 30px;
                height: 30px;
                top: 20px;
                right: 20px;
                cursor: pointer;
                z-index: 2;
                border: 1px solid var(--dark-color);

                &::before,
                &::after {
                    position: absolute;
                    content: "";
                    width: 20px;
                    height: 1px;
                    border-bottom: 1px solid var(--dark-color);
                    left: 50%;
                    top: 50%;
                    transition: all 0.3s ease;
                }

                &::before {
                    transform: translate(-50%, -50%) rotate(-45deg);
                }

                &::after {
                    transform: translate(-50%, -50%) rotate(45deg);
                }
            }
        }
    }

    .item_page {
        width: auto;

        & .wrap_item_slider {
            height: auto;
            padding: 15px 0 0 10px;
            margin-right: -20px;
            margin-left: -20px;
            margin-bottom: 30px;

            & .arrow {
                display: none;
            }
        }

        & .item_slider {
            padding-right: 20px;
            padding-left: 15px;
            display: flex;
            overflow: hidden;
            overflow-x: auto;

            & .progressive {
                position: relative;
                width: 85vw;
                min-width: 85vw;
                margin-right: 15px;
                height: 200px;

                &:not(:first-child) {
                    display: block;
                }
            }
        }

        & .item_slider::-webkit-scrollbar-thumb {
            height: 0;
            background: transparent;
        }

        & .item_slider::-webkit-scrollbar {
            height: 0;
            background: transparent;
        }

        & .image_team {
            display: block;
            margin-bottom: 10px;
        }
    }

    .item_banner {
        margin-bottom: 40px;

        & .banner_content_wrap {
            padding-top: 200px;
        }
    }

    h1.main_title {
        padding: 0 20px 0 25px;
        margin-left: -20px;
        margin-right: -20px;
    }

    .wrap_title {
        margin-right: -20px;
        margin-left: -20px;

        & .inf {
            padding: 0 20px 0 25px;
        }

        h1.main_title {
            margin-left: 0;
            margin-right: 0;
        }
    }

    .footnote_main_title {
        padding: 5px 20px 0 25px;
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 5px;
    }

    .wrap_team_list {
        & .list_title {
            flex: 1;

            &::after {
                display: none;
                padding-bottom: 0;
            }
        }

        & .list {
            flex: 1;
            display: block;
        }

        & .val {
            margin-right: 0;
            padding-bottom: 0;

            &:not(:last-child) {
                margin-bottom: 10px;

                &::after {
                    display: none;
                }
            }
        }

        & .group {
            display: block;
            margin-right: 0;
            margin-bottom: 10px;
            position: relative;

            & .val:not(:last-child):after {
                display: none;
            }

            &:after {
                position: absolute;
                display: block;
                content: "";
                width: 5px;
                height: calc(100% - 20px);
                border-left: 1px solid var(--font-color);
                left: -10px;
                border-top: 1px solid;
                border-bottom: 1px solid;
                top: 50%;
                transform: translateY(-50%);
            }

            &:not(:last-child) a:last-child {
                &::after {
                    display: none;
                }
            }
        }

        & .item_list {
            padding-bottom: 10px;
            border-bottom: 1px solid var(--dark-color);

            &:not(:last-child) {
                margin-bottom: 10px;
            }
        }
    }

    .pagination {
        justify-content: center;
    }

    .pagination .arrow {
        width: 35px;
        height: 35px;
    }

    .pagination .to_page {
        height: 35px;
        min-width: 35px;
    }

    .page_image {
        margin-left: -20px;
        margin-right: -20px;
        padding: 5px 0 10px 25px;
        margin-bottom: 10px;

        &::before {
            top: 5px;
            height: calc(100% + 5px);
        }
    }

    .flex_slider {
        overflow-x: auto;
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;

        & .item_flex_slider {
            width: calc(100vw - 60px);
            min-width: calc(100vw - 60px);
        }
    }

    .flex_slider::-webkit-scrollbar-thumb {
        height: 0;
        background: transparent;
    }

    .flex_slider::-webkit-scrollbar {
        height: 0;
        background: transparent;
    }

    .team_section {
        padding-top: 0;

        & .title_team_list {
            font-size: 22px;
            line-height: 28px;
            margin-bottom: 25px;
        }
    }

    .team_list {
        display: block;
        margin-right: 0;

        & .item_team {
            margin: 0 0 30px 0;
            width: 100%;
        }

        & .image {
            margin-bottom: 15px;

            & img {
                filter: grayscale(0);

                &.preview {
                    filter: grayscale(1) blur(2vw);
                }
            }
        }

        & .name {
            font-size: 22px;
            line-height: 25px;
        }
    }

    input[type="text"],
    textarea {
        font-size: 18px;
        line-height: 20px;

        &::placeholder {
            font-size: 18px;
            line-height: 20px;
        }
    }

    .wrap_input {
        padding: 8px 15px 10px 25px;
    }

    .search_wrap {
        padding: 20px;

        & .flex {
            display: block;
        }

        & .wrap_input {
            margin-right: 0;
            margin-bottom: 30px;
            margin-left: -10px;
        }

        & .search_btn {
            width: 100%;
        }
    }

    .search_secton {
        & .search_flex {
            display: block;

            & .wrap_input {
                margin-right: -20px;
                margin-bottom: 30px;
                margin-left: -10px;
                border-right: 0;
                padding-right: 20px;
            }
        }

        & .search_btn {
            width: 100%;
        }
    }

    .tickets_btn {
        display: block;
        position: fixed;
        left: 0;
        bottom: 20px;
        z-index: 2;
    }

    .gallery_popup {
        padding-top: 80px;

        & .close {
            width: 30px;
            height: 30px;
            top: 20px;
            right: 20px;
        }

        & .slider {
            display: flex;
            flex-wrap: nowrap;
            overflow: hidden;
            overflow-x: auto;
            padding: 0;

            & .image {
                margin-right: 20px;
                width: calc(100vw - 40px);
                min-width: calc(100vw - 40px);
            }

            & img {
                display: block;
                position: static;
                width: 100%;
                transform: unset;
                left: 0;
                top: 0;
            }

            &::-webkit-scrollbar-thumb {
                height: 0;
                background: transparent;
            }

            &::-webkit-scrollbar {
                height: 0;
                background: transparent;
            }
        }
    }

    .item_doc {
        & .name_f {
            font-size: 20px;
            line-height: 25px;
        }

        & .button {
            width: 100%;
        }
    }

    .doc_list {
        margin-left: -20px;
        margin-right: -20px;
    }

    .contacts_section_wrap {
        & .map_section {
            padding-right: 40px;
            padding-top: 18px;
            height: 250px;

            &::before {
                right: 20px;
            }
        }
    }

    .slide_list {
        &:not(:last-child) {
            margin-bottom: 30px;
        }

        & .name {
            display: block;
            font-size: 22px;
            line-height: 28px;
        }
    }

    .text_item {
        padding-left: 5px;
    }

    .zoom {
        &::before {
            width: 25px;
            height: 25px;
            left: 15px;
            bottom: 15px;
            opacity: 0.8;
            visibility: visible;
        }
    }

    .date_articles {
        padding-left: 5px;
    }

    .label_main_title {
        padding-left: 5px;
    }

    .rev_text {
        margin-left: -20px;
        margin-right: -20px;
        margin-bottom: 60px;

        & .text {
            padding: 0 20px 10px 25px;
        }

        & .wrap_button {
            padding: 0 20px;
        }
    }

    .reviews_list {
        padding-left: 5px;

        & .item_rev {
            padding-bottom: 15px;

            & .top {
                margin-bottom: 15px;
            }
        }
    }

    .popup {
        & .wrap_popup {
            padding: 0;

            &::before {
                display: none;
            }
        }

        & .content_popup {
            width: 100%;
            padding: 70px 0 20px 20px;
        }

        & .close {
            width: 30px;
            height: 30px;
            top: 20px;
            right: 20px;
        }

        &#review_show .content_popup {
            width: 100%;

            & .top {
                margin-bottom: 20px;
                align-items: center;

                & .date {
                    font-size: 16px;
                    line-height: 18px;
                }
            }

            & .text {
                margin-bottom: 20px;
            }

            & .name {
                padding-left: 0;
            }
        }
    }

    .result_section {
        padding-left: 0;
        margin-left: -20px;
        margin-right: -20px;

        & .item_result {
            border-radius: 0;
        }
    }

    .video_section {
        height: auto;
        margin-left: -20px;
        margin-right: -20px;
        min-height: 220px;

        &::before {
            display: block;
            content: "";
            padding-top: calc(100% - 350px);
        }

        & .play {
            width: 45px;
            height: 45px;

            &::before {
                height: 100%;
            }

            &::after {
                width: 100%;
            }
        }
    }

    .content {
        &.border_top {
            &::before {
                left: unset;
                right: 5px;
            }
        }
    }

    .feedback_list {
        margin-left: -20px;
        margin-right: -20px;

        & .item_feedback {
            display: block;
            padding: 30px 20px;
            background: var(--item-accent);
            border-radius: 4px;
            font-weight: 600;
        }

        & .wrap_inf:not(:last-child) {
            margin-right: 0;
            margin-bottom: 20px;
        }

        & .label {
            font-size: 16px;
            line-height: 18px;
            margin-bottom: 5px;
            font-weight: 400;
        }
    }

    .error_page {
        padding-top: 200px;
        padding-bottom: 60px;
        background-position: center bottom 0;
        background-size: 60% auto;
    }

    .text_section {
        padding-left: 0;
    }

    .feedback_content {
        margin-left: -20px;
        margin-right: -20px;
        padding: 20px;

        & .top_nav {
            display: block;
            margin-left: -10px;

            & .wrap_drop {
                width: 100%;

                &:not(:last-child) {
                    margin-bottom: 20px;
                }
            }
        }
    }

    .flex_tab_nav {
        display: block;

        & .name_nav {
            margin-right: 0;
            margin-bottom: 20px;
        }

        & .item_nav {
            &:not(:last-child) {
                margin-right: 0;
                margin-bottom: 15px;
            }
        }
    }

    .wrap_tab {
        & .wrap_fields {
            margin-left: -10px;
        }

        & .footnote_message {
            margin-bottom: 30px;
        }
    }

    .wrap_input.wrap_file {
        padding: 20px 20px 18px 30px;

        & label {
            display: block;
        }
    }

    .bvi-active {
        header {
            &.fixed {
                position: relative;
            }
        }

        .item_catalog {
            & .wrap_number {
                position: static;
                border: 1px solid;
                margin-top: 0;
            }
        }
    }

    .label_premiere {
        left: 25px;
        top: 15px;
    }

    .wrap_tab {
        & .tab_form {
            & button {
                min-width: unset;
                width: 100%;
            }
        }
    }

    .item_contact {
        &::after {
            width: 100%;
        }
    }

    .simplesearch-paging {
        padding: 0 20px;
    }

    .doc_list {
        & h4 {
            padding: 10px 0 0 20px;
        }
    }
}

.feedback_section_wrap {
    & .feedback_content {
        background: none;
        padding: 0;
    }

    & .wrap .feedback_content {
        margin-left: 0;
        margin-right: 0;
    }

    & .feedback_form {
        border: 1px solid rgb(118, 118, 118);
        padding: 20px;
        margin-bottom: 20px;
    }

    .feedback_form .sent-message {
        color: green;
        font-weight: 600;
    }

    & .feedback_form input[type="text"],
    & .feedback_form input[type="phone"],
    & .feedback_form input[type="email"] {
        height: 38px;
        line-height: 38px;
        width: 100%;
        padding: 10px;
        font-size: 20px;
        color: rgb(0, 40, 140);
        font-weight: 300;
        font-family: "Century Gothic", sans-serif;
        border: 1px solid #000;
        flex-basis: 85%;
    }

    & .feedback_form input[type="text"]::placeholder,
    & .feedback_form input[type="phone"]::placeholder,
    & .feedback_form input[type="email"]::placeholder {
        display: none;
    }

    & .feedback_form textarea {
        border: 1px solid rgb(118, 118, 118);
        padding: 10px;
        /*margin-bottom: 10px;*/
        flex-basis: 85%;
    }

    & form div {
        margin-bottom: 20px;
        display: flex;
        flex-wrap: wrap;
    }

    & form div.agree {
        display: flex;
        flex-basis: 100%;
    }

    & form div.agree:before {
        content: "";
        flex-basis: 15%;
    }

    & form div.agree label {
        width: 100%;
        margin-left: -5px;
        flex-basis: 85%;
    }

    & form div.agree label::before {
        top: 6px;
    }

    & form label {
        /*width: 200px;*/
        display: inline-block;
        flex-basis: 15%;
        margin-bottom: 5px;
    }

    & form .button-block {
        display: flex;
        flex-basis: 100%;
    }

    & form .button-block:before {
        content: "";
        flex-basis: 15%;
    }

    & form .error {
        font-size: 16px;
        color: red;
        font-style: italic;
        display: flex;
        flex-basis: 100%;
    }

    & form .error:before {
        content: "";
        flex-basis: 15%;
    }

    & form input[name="agree"]:checked {
        display: none;
    }

    & form input[name="agree"]:checked~label.agree::after {
        background: #00ff80;
    }
}

.faq_list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px 20px;

    & .faq_item {
        & .faq_item_title {
            margin-bottom: 10px;
            font-weight: 500;
            font-family: var(--font-title);
            color: var(--title-color);
            letter-spacing: 1px;
            font-size: 25px;
            line-height: 30px;
        }

        & .faq_item_content a {
            color: var(--title-color);
            text-decoration: underline;
        }
    }
}

#disclaimer {
	/* background-color: rgba(255, 255, 255, 0.9) !important; */
	position: fixed;
	bottom: 10px;
	left: 0;
	width: 100%;
	z-index: 1000;

	display: flex;
	justify-content: center;
}

.disclaimer .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #2c2c2c;
	border-radius: 6px;
	color: #fff;
	font-weight: 400;
	padding: 30px 40px;
	max-width: 1200px;
}

.disclaimer-button {
	display: flex;
	justify-content: center;
	color: #687180;
	background: #fff;
	margin-left: 40px;
	height: 44px;
	border-radius: 10px;
}

.disclaimer-content{
    font-size: 16px;
    line-height: 22px;
}

.disclaimer-content a {
	color: #fff;
	font-weight: 600;
	/* font-size: 20px; */
}

.disclaimer-button .button2 {
	height: 46px;
	border: 1px solid #2c2c2c;
	display: inline-block;
	padding: 0 40px;
	text-align: center;
	line-height: 46px;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 13px;
	font-family: "Inter-Regular", sans-serif;
}

@media(max-width: 992px) {
    .feedback_section_wrap {
        & form div span.error:before {
            display: none;
        }
    }

    & .feedback_form input[type="text"],
    & .feedback_form input[type="phone"],
    & .feedback_form input[type="email"] {
        flex-basis: 100% !important;
    }

    & .feedback_form textarea {
        flex-basis: 100% !important;
    }

    & form div.agree:before {
        display: none;
    }

    & form div.agree label {
        flex-basis: 100% !important;
    }

    & .feedback_form input[type="text"]::placeholder,
    & .feedback_form input[type="phone"]::placeholder,
    & .feedback_form input[type="email"]::placeholder {
        display: inline-block;
    }

    & form div.agree label::before {
        top: 0 !important;
    }

    & form .button-block:before {
        display: none;
    }

    & form .button-block {
        flex-basis: 100% !important;
    }

    .faq_list {
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
    
    .social-banner{
        justify-content: start;
        margin-bottom: 10px;
    }

}

@media (max-width: 767px) {
	.disclaimer .container {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	.disclaimer-button {
		margin-left: 0;
	}
}

@media(max-width: 576px) {
    & form .button-block button {
        width: 100%;
    }

    .faq_list {
        grid-template-columns: 1fr;
        /*gap: 50px;*/

    }
    
    .social-banner{
        flex-wrap: wrap;
    }

    .social-banner .gosuslugi img {
        /*margin-bottom: 10px;*/
    }
}

@media(max-width: 420px) {
    .social-banner{
        gap: 5px;
    }
    
    .social-banner .culture img {
        width: 170px;
        height: auto;
    }
}