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

html, body {
    min-height: 100%;
    font-family: "Raleway", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 14px;
}

a {
    color: #465AE6;
    text-decoration: underline;
}
    a:hover {
        color: #E1213A;
        text-decoration: none;
    }

.popup-wrapper, .popup {
    display: none;
}

.popup-wrapper {
    position: fixed;
    z-index: 100;
    background-color: rgba(0,0,0,0.5);
    top: 0px;
    width: 100%;
    height: 100%;
}
.popup {
    position: fixed;
    top: 0%;
    margin: -50px auto 0px;
    transition: 300ms;
}
    .popup .cross {
        position: absolute;
        right: -20px;
        top: -20px;
    }
    .popup.show {
        display: block;
        top: 50%;
        z-index: 110;
    }
    .popup .searchform {
        background-color: white;
    }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 43px;
    padding: 0px 45px;
    background-color: #000000;
    color: #FFFFFF;
    text-transform: uppercase;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
    user-select: none;
    cursor: pointer;
    transition: 300ms;
    border: 0px;
}
    .button.red {
        background-color: #E1213A;
    }
    .button.blue {
        background-color: #465AE6;
    }
        .button.blue:hover {
            background-color: #000000;
            color: #ffffff
        }

    .button:hover {
        background-color: #ffffff;
        color: black;
    }
    .button > svg {
        margin-right: 10px;
    }
    .button.big {
        height: 60px;
        font-size: 16px;
    }

.mosbilet {
    position: fixed;
    z-index: 30;
    bottom: 30px;
    right: 22px;
    background-image: url('/upload/medialibrary/a2d/rjitxxa73lztir68ivlkdwb3pyy34mol.png');
    width: 175px;
    height: 74px;
    background-size: cover;
}

.header {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    transition: 200ms;
}
    .header .middle {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        gap: 15px;
        padding: 20px;
    }
    .header .msk, .header .button {
        display: none;
    }
        .header .button:hover {
            background-color: #465AE6;
            color: white;
        }
    .header .logo {
        flex-grow: 1;
        transition: 200ms;
    }
        .header .logo img {
            max-width: 130px;
        }
    .header .lang-selector {
        display: block;
        font-weight: 500;
        cursor: pointer;
        user-select: none;
        padding: 12px 26px 36px 16px;
        margin-bottom: -20px;
        margin-top: 0px;
        transition: 200ms;
    }
        .header .lang-selector a {
            display: none;
            color: black;
            text-decoration: none;
        }
        .header .lang-selector:after {
            content: "";
            position: absolute;
            width: 6px;
            height: 6px;
            transform: rotate(-45deg);
            border-left: 2px solid #465AE6;
            border-bottom: 2px solid #465AE6;
            top: 16px;
            right: 10px;
        }

        .header .lang-selector:hover {
            box-shadow: 0px 0px 16px 0px #00000012;
            border-radius: 16px;
            margin-top: -19px;
        }
            .header .lang-selector:hover a {
                display: block;
                position: absolute;
                top: 35px;
                left: 16px;
            }
                .header .lang-selector:hover a:hover {
                    color: #465AE6;
                }
            
            .header .lang-selector:hover:after {
                top: 16px;
            }

    .header .menu-button {
        cursor: pointer;
    }

.menu-inside {
    position: absolute;
    top: 1px;
    display:none;
    width: 100%;
    left: 0px;
    right: 0px;
    min-height: 300px;
    background-color: white;
    z-index: 10;
}
    .menu-inside .middle {
        max-width: 1600px;
    }
    .menu-inside .block {
        display:none;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 80px 0px 60px;
    }
    .menu-inside .title {
        font-weight: 600;
        font-size: 41px;
        color: #465AE6;
        width: 25%;
    }
    .menu-inside .links {
        width: 75%;
        display: flex;
        flex-direction: row;
    }
        .menu-inside .links .line {
            width: 33%;
            display: flex;
            flex-direction: column;
            padding: 0px 30px 0px 0px;
        }
        .menu-inside .links a {
            font-weight: 400;
            font-size: 16px;
            line-height: 30px;
            text-decoration: underline;
            color: #000000;
            margin-bottom: 20px;
        }
        .menu-inside .links a:hover {
            text-decoration: none;
            color: #465AE6;
        }

.blind-selector, .search {
    color: #465AE6;
    cursor: pointer;
}

.menu {
    display: none;
}

.mobile-menu {
    display: none;
    flex-direction: column;
    z-index: 20;
    background-color: #ffffff;
    top: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    position: fixed;
}
    .mobile-menu .cross svg {
        cursor: pointer;
    }
    .mobile-menu .top {
        margin: auto;
        width: 100%;
        max-width: 1600px;
        display: flex;
        flex-direction: column-reverse;
        padding: 40px 20px 20px;
        align-content: center;
        align-items: center;
        justify-content: flex-start;
    }
        .mobile-menu .top .logo {
            display: none;
        }
        .mobile-menu .top .cross {
            flex-grow: 1;
            text-align: right;
            margin-bottom: 30px;
        }
    .mobile-menu .menu-block {
        margin: auto;
        width: 100%;
        max-width: 1600px;
        display: flex;
        flex-direction: row;
    }
        .mobile-menu .links {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            text-align: center;
            justify-content: center;
        }
            .mobile-menu .links span {
                width: 100%;
                font-weight: 600;
                font-size: 14px;
                text-transform: uppercase;
                color: #8E8E8E;
            }
                .mobile-menu .links a {
                    padding: 10px 20px 0px 0px;
                }
        .mobile-menu .main {
            display: flex;
            flex-direction: column;
            padding: 20px 20px;
            flex-basis: 100%;
        }
            .mobile-menu .main a {
                font-weight: 600;
                font-size: 14px;
                color: #000000;
                padding: 20px;
                border-top: 1px solid #F2F2F2;
                position: relative;
                display: flex;
                justify-content: space-between;
            }
                .mobile-menu .main a[data-target]:after {
                    content: "";
                    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 11.7929C6 12.2384 6.53857 12.4614 6.85355 12.1465L10.6464 8.35356C10.8417 8.1583 10.8417 7.84172 10.6464 7.64646L6.85355 3.85356C6.53857 3.53858 6 3.76167 6 4.20712V11.7929Z' fill='%23465AE6'/%3E%3C/svg%3E");
                    background-size: 16px 16px;
                    background-repeat: no-repeat;
                    width: 16px;
                }
            .mobile-menu .main a:hover {
                color: #465AE6;
            }
        .mobile-menu .second {
            display: none;
            padding: 20px;
            max-width: 100%;
        }
            .mobile-menu .second a {
                display: flex;
                text-decoration: underline;
                width: 100%;
                padding: 20px;
                font-weight: 600;
                font-size: 14px;
                color: #000000;
                border-top: 1px solid #F2F2F2;
            }
            .mobile-menu .second a:hover {
                text-decoration: none;
            }
            .mobile-menu .second a.backlink {
                color: #465AE6;
            }
                .mobile-menu .second a.backlink svg {
                    margin-right: 5px;
                    top: 3px;
                }

.main-slider {
    width: 100%;
    color: white;
}
    .main-slider .slides {
        min-height: 560px;
    }
    .main-slider .slide {
        width: 100%;
        background-position: center;
        border-top-right-radius: 155px;
        border-bottom-left-radius: 155px;
        min-height: 560px;
        display: flex;
        font-weight: 700;
        line-height: 145%;
    }
        .main-slider .slide .inside {
            background-color: rgba(0, 0, 0, 0.4);
            display: flex;
            flex-direction: column;
            justify-content: center;
            padding: 30px;
            border-top-right-radius: 155px;
            border-bottom-left-radius: 155px;
            width: 100%;
        }
        .main-slider .slide .title {
            font-size: 34px;
            font-weight: 800;
            line-height: 100%;
            margin-bottom: 20px;
        }

        .main-slider .slide .buttons {
            margin-top: 40px;
            display: flex;
            flex-direction: row;
        }
            .main-slider .slide .button {
                height: 61px;
                font-size: 16px;
                font-weight: 800;
                flex-grow: 1;
            }
            .main-slider .slide .button:hover {
                background-color: #A10419;
                color: white;
            }
        .main-slider .slide .badge {
            display: inline-block;
            font-size: 16px;
            font-weight: 500;
            margin-left: 10px;
            vertical-align: top;
            top: -7px;
        }
        
    .main-slider .slides .slick-dots {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: end;
        padding: 20px;
    }
        .main-slider .slides .slick-dots li {
            list-style: none;
            border: 0px;
            margin: 0px 2px;
            background-color: #A29A92;
            height: 3px;
            width: 30px;
            cursor: pointer;
        }
            .main-slider .slides .slick-dots li.slick-active {
                background-color: #465AE6;
            }
            .main-slider .slides .slick-dots li button {
                display: none;
            }

.head-content {
    padding: 20px 0px 10px;
}
    .head-content h1 {
        padding: 20px 0px 0px 0px;
    }

    .head-content.image {
        padding: 0px;
        margin-bottom: 60px;
        background-size: cover;
        background-position: center;
    }
    .head-content.image .shadow {
        padding: 60px 0px;
        background-color: rgba(0,0,0,0.5);
    }

    .head-content.image h1 {
        color: white;
        font-weight: 700;
    }
    .head-content.image p {
        color: #ffffff;
        font-size: 18px;
    }

    .head-content .badge {
        margin-bottom: 0px;
    }

.breadcrumbs {
    color: #8E8E8E;
    text-decoration: none;
    font-size: 14px;
    line-height: 147%;
}
    .breadcrumbs div {
        display: inline-block;
    }
    .breadcrumbs a {
        color: #8E8E8E;
        text-decoration: underline;
    }
    .breadcrumbs .delimiter {
        color: #8E8E8E;
        padding: 0px 10px;
    }
    .head-content.image .breadcrumbs, .head-content.image .breadcrumbs a, .head-content.image .breadcrumbs .delimiter {
        color: white;
    }
        .head-content.image .breadcrumbs {
            margin-bottom: 90px;
        }


.subscribe {
    background-color: #465AE6;
    width: 100%;
    padding: 20px;
    color: white;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding-bottom: 155px;
}
    .subscribe .title {
        font-size: 27px;
        font-weight: 800;
    }

    .subscribe input[type='text'] {
        border: 1px solid white;
        color: white;
        background-color: #465AE6;
        font-size: 16px;
        line-height: 50px;
        height: 50px;
        padding: 0px 20px;
        border-radius: 8px;
    }

    .subscribe label {
        user-select: none;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
    }
    .subscribe input[type='checkbox'] {
        display: none;
    }
    .subscribe input[type='checkbox'] + span {
        display: inline-block;
        height: 19px;
        width: 19px;
        border: 6px solid white;
        background-color: #465AE6;
        vertical-align: center;
        border-radius: 4px;
        transition: background-color 300ms;
        flex-basis: 23px;
        margin-right: 10px;
    }
        .subscribe input[type='checkbox']:checked + span {
            background-color: white;
        }
    .subscribe .button {
        height: 51px;
    }

.footer {
    color: #FFFFFF;
    margin-top: -100px;
}
    .footer-gray {
        background-color: #353535;
        padding: 20px 20px 120px 20px;
        border-top-right-radius: 99px;
        border-bottom-left-radius: 99px;
        display: flex;
        flex-direction: column;
    }

    .footer .title {
        font-weight: 600;
        font-size: 14px;
        line-height: 146%;
        letter-spacing: 18%;
        text-transform: uppercase;
        margin: 30px 0px 10px;
    }
        .footer-gray a {
            color: #C7C7C7;
            font-weight: 400;
            font-size: 14px;
            text-decoration: underline;
            display: block;
            padding: 3px 0px;
        }
        
        .footer-gray .sp a {
            padding: unset;
        }
    .footer-gray .about {
        margin-top: 40px;
    }
        .footer-gray .about img {
            margin-bottom: 20px;
        }
        .footer-gray .about a {
            color: #ffffff;
            margin: 20px 0px;
    }
    .footer-gray .links span {
        text-transform: uppercase;
        color: #8E8E8E;
        font-weight: 600;
        font-size: 14px;
        line-height: 146%;
        letter-spacing: 18%;
    }
    .footer-gray .feedback div {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-top: 40px;
    }
        .footer-gray svg {
            margin-right: 20px;
        }
    
    .footer-white .blocks {
        color: #505050;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        padding: 20px;
    }
        .footer-white .block {
            width: 50%;
            padding: 20px 0px;
        }
            .footer-white .block img {
                max-width: 100%;
            }
        .footer-white .address {
            flex-grow: 1;
        }

.middle {
    max-width: 1440px;
    margin: 0px auto;
    padding: 0px 20px;
}

.news {
    width: 100%;
    padding: 10px 0px 75px;
}
    .news h2 {
        font-size: 30px;
        font-weight: 800;
        margin-bottom: 20px;
    }
    .news .items {
        line-height: 145%;
    }
        .news .items .item {
            margin-bottom: 40px;
        }
    .news .preview {
        border-top-right-radius: 24px;
        border-bottom-left-radius: 24px;
        aspect-ratio: 1.4/1;
        background-size: cover;
        background-position: center;
        transition: 400ms;
    }
        .news .item:hover .preview {
            border-top-right-radius: 99px;
            border-bottom-left-radius: 99px;
        }
    .badge {
        display: inline-block;
        color: white;
        background-color: black;
        font-size: 13px;
        font-weight: 600;
        height: 26px;
        line-height: 26px;
        padding: 0px 10px;
        border-radius: 100px;
        margin: 15px 10px 20px 0px;
    }
    .news .date {
        display: inline-block;
        font-weight: 700;
        color: #465AE6;
    }
        .news.news-page .date {
            display: flex;
            padding-bottom: 20px;
        }
        .news.news-page .date svg {
            margin-right: 7px;
        }
    .news a.title {
        display: block;
        color: black;
        font-size: 20px;
        font-weight: 700;
        text-decoration: none;
        transition: 200ms;
        line-height: 105%;
        margin-bottom: 15px
    }
        .news .item:hover a.title {
            color: #465AE6;
        }

    .news .links {
        display: flex;
        flex-direction: column;
        border: 1px solid black;
    }
        .news .links a {
            text-transform: uppercase;
            font-weight: 800;
            font-size: 16px;
            color: black;
            text-decoration: none;
            text-align: center;
            height: 60px;
            align-content: center;
            transition: 200ms;
        }
            .news .links a:nth-child(2) {
                border-top: 1px solid black;
            }
            .news .links a:hover {
                background-color: black;
                color: white;
            }

    .tags {
        width: 100%;
        color: #A29A92;
        font-weight: 600;
        font-size: 16px;
        line-height: 147%;
    }
        .tags a {
            color: #A29A92;
            margin-right: 22px;
        }
            .tags a.active, .tags a:hover {
                color: #465AE6;
            }

    .years {
        font-size: 16px;
        display: flex;
        font-weight: 600;
        border: 1px solid transparent;
        margin: 22px 0px 45px;
    }
        .years a {
            color: #ffffff;
            margin-right: 15px;
            background-color: #F5F5F5;
            color: #8E8E8E;
            padding: 7px 16px;
            border-radius: 99px;
            text-decoration: none;
            transition: 200ms;
        }
            .years a.active, .years a:hover {
                color: #ffffff;
                background-color: #000000;
            }

    .sections {
        font-size: 16px;
        display: flex;
        font-weight: 400;
        margin: 22px 0px 45px;
    }
        .sections a {
            color: #585858;
            margin-right: 15px;
            background-color: #F5F5F5;
            color: #8E8E8E;
            padding: 7px 16px;
            border-radius: 99px;
            text-decoration: none;
            transition: 200ms;
        }
            .sections a.active, .sections a:hover {
                color: #ffffff;
                background-color: #465AE6;
                font-weight: 600;
            }

    .pagination {
        margin: 10px auto;
        display: flex;
        justify-content: center;
        gap: 10px;
            font-variant-numeric: lining-nums;
    }
        .pagination a, .pagination span {
            color: #8E8E8E;
            font-size: 16px;
            font-weight: 600;
            text-decoration: none;
            border-radius: 99px;
            background-color: #F5F5F5;
            width: 43px;
            height: 43px;
            display: inline-flex;
            justify-content: center;
            align-items: center;
            transition: 200ms;
        }
            .pagination a:hover, .pagination span {
                background-color: #465AE6;
                color: white;
            }
            .pagination .back, .pagination .forward {
                margin: 0px 10px;
                background-color: transparent;
                text-decoration: underline;
                width: unset;
                height: unset;
            }
                .pagination .back:hover, .pagination .forward:hover {
                    background-color: transparent;
                    color: #8E8E8E;
                    text-decoration: none;
                }

.main-exposition {
    width: 100%;
    background-color: #A29A92;
    padding: 40px 0px 70px;
}
.main-exposition .inside {
    display: flex;
    flex-direction: column;
    color: white;
}
    .main-exposition h2 {
        font-weight: 800;
        font-size: 30px;
        margin-bottom: 25px;
        padding: 0px 20px
    }
    .main-exposition .select {
        display: none;
    }
    .main-exposition .lines {
        flex-grow: 1;
    }
    .main-exposition .more {
        flex-grow: 1;
    }

    .main-exposition .lines {
        overflow: hidden;
        display: flex;
        flex-direction: row;
        gap: 20px;
    }
        .main-exposition .line {
            display: flex;
            flex-direction: row;
            gap: 20px;
        }

    
    /* эксперимент! */
    .main-exposition .lines {
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
        overflow: hidden;
    }

    .main-exposition .line {
        width: 100%;
        overflow: hidden;
    }

    .main-exposition .line-track {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 24px;

        width: max-content;

        animation: moveLineLeft 90s linear infinite;
        will-change: transform;
    }

    .main-exposition .line-track--slow {
        animation-duration: 140s;
    }

    .main-exposition .line-track img {
        display: block;
        flex: 0 0 auto;
        height: 200px;
        object-fit: contain;
    }

    @keyframes moveLineLeft {
        from {
            transform: translateX(0);
        }

        to {
            transform: translateX(-50%);
        }
    }
    /* эксперимент! */


    .main-exposition .more {
        text-transform: uppercase;
        font-weight: 800;
        font-size: 16px;
        color: white;
        text-decoration: none;
        text-align: center;
        height: 60px;
        align-content: center;
        transition: 200ms;
        border: 1px solid white;
        margin: 35px 20px 0px;
    }
        .main-exposition .more:hover {
            background-color: white;
            color: black;
        }

.about-gallery {
    width: 100%;
    padding: 40px 20px;
    line-height: 147%;
}
    .about-gallery h1 {
        font-weight: 800;
        font-size: 30px;
        margin-bottom: 20px;
        line-height: 110%;
    }
    .about-gallery p {
        margin-bottom: 15px;
    }

    .player-preview {
        width: 100%;
        background-position: center;
        background-size: cover;
        aspect-ratio: 1.63/1;
        border-radius: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
        flex-grow: 1;
        max-width: 700px;
        margin: 0px auto;
    }
        .player-preview .play-button {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 70px;
            height: 70px;
            background-color: rgba(70, 90, 230, 0.7);
            border-radius: 50%;
            transition: 700ms;
        }
            .player-preview .play-button svg {
                max-width: 25px;
                right: -3px;
            }
            .player-preview:hover .play-button {
                width: 140px;
                height: 140px;
            }
    .about-gallery span {
        font-weight: 600;
        font-size: 16px;
        display: block;
        flex-grow: 1;
        padding: 20px 0px;
    }
    .about-gallery a {
        font-weight: 600;
        font-size: 16px;
        display: block;
        flex-grow: 1;
        color: #465AE6;
    }

.middle > .date {
    display: flex;
    color: #676767;
    margin: 5px 0px 35px;
}
    .middle > .date svg {
        margin-right: 5px;
    }

    .middle p {
        margin-bottom: 27px;
        line-height: 147%;
        font-size: 14px;
    }
        .middle p.big {
            font-size: 16px;
        }
        .middle p img {
            max-width: 100%
        }

.space {
    padding: 20px 0px;
}

.ticket-side {
    display: flex;
    flex-direction: column;
    min-width: 360px;
    flex-basis: 360px;
    box-shadow: 0px 7px 37.8px 0px #0000001A;
    padding: 33px 30px;
    border-radius: 21px;
    background-color: #ffffff;
    color: #676767
}
    .ticket-side > span {
        display: flex;
        margin-bottom: 15px
    }
        .ticket-side > .button.big {
            margin-bottom: 20px;
        }
        .ticket-side > .button.big:hover {
            background-color: #A10419;
            color: white
        }
        .ticket-side > span svg {
            margin-right: 7px;
        }
    .ticket-side .ticket-image {
        width: 100%;
        aspect-ratio: 0.7/1;
        background-position: center;
        background-size: cover;
        margin-top: 10px;
    }

    .middle:has(.content-side) {
        display: flex;
        flex-direction: column;
        align-self: flex-start;
    }

    .middle .content-side {
        flex-basis: auto;
        padding-right: 60px;
    }

    .middle .left {
        margin-top: 20px;
    }
        .middle .left + .content-side {
            margin-top: 20px;
            padding-right: 0px;
        }

.left-menu {
    padding: 0px 56px 0px 0px;
}
    .left-menu a {
        display: flex;
        color: black;
        text-decoration: underline;
        padding: 0px 27px;
        border-radius: 8px;
        margin-bottom: 2px;
        transition: 200ms;
        min-height: 40px;
        align-items: center;
        width: 280px;
        font-size: 14px;
    }    
        .left-menu a.active, .left-menu a:hover {
            background-color: black;
            color: white;
            text-decoration: none;
            font-weight: 700;
        }

.direction {
    display: flex;
    flex-direction: column;
    margin: 20px auto 60px;
    gap: 20px;
    color: #1D1D1B;
    line-height: 180%;
}
    .direction .section {
        display: flex;
        flex-direction: column;
       /*  border-top: 1px solid #D9D9D9; */
    }
        .direction .section:nth-child(1) .item:nth-child(1)  {
            border-top: 0px;
        }
        .direction .section .item {
            padding: 20px 0px;
            border-top: 1px solid #D9D9D9;
        }
    .direction img {
        max-width: 100%;
        margin-bottom: 20px
    }
    .direction .name {
        margin-bottom: 13px;
        display: block;
        font-size: 18px;
        font-weight: 700;
        color: #000000;
    }
    .direction .title {
        color: #585858;
        display: block;
        font-size: 16px;
        margin-bottom: 13px;
    }
    .direction a {
        color: #1D1D1B;
    }

.nobility {
    padding: 40px 0px;
}
    .nobility .item {
        display: flex;
        flex-direction: column;
        margin-bottom: 50px;
        flex-wrap: wrap;
    }
    .nobility .image {
        width: 100%;
        max-width: 400px;
        aspect-ratio: 1.4/1;
        background-size: 110%;
        background-position: center;
        border-top-right-radius: 24px;
        border-bottom-left-radius: 24px;
        transition: 400ms;
    }
        .nobility .item:hover .image {
            border-top-right-radius: 64px;
            border-bottom-left-radius: 64px;
            background-size: 120%;
        }
        .nobility .name {
            font-weight: 700;
            font-size: 24px;
            padding: 20px 0px
        }
        .nobility .descr {
            padding: 0px 0px 20px;
            font-size: 16px;
        }
        .nobility .link {
            font-size: 18px;
            color: #465AE6;
            font-weight: 700;
            text-align: right;
        }
            .nobility .link svg {
                transition: 400ms;
            }
            .nobility .item:hover .link svg {
                margin-left: 20px;
            }

    .nobility h2 {
        font-weight: 800;
        font-size: 30px;
        margin-bottom: 25px;
        padding: 0px
    }

    .nobility .pre-title {
        color: #465AE6;
        font-weight: 700;
        font-size: 18px;
        display: block;
        width: 100%;
        margin-bottom: 13px;
    }

.categories {
    display: flex;
    flex-direction: column;
}
    .category {
        color: white;
        transition: 400ms;
        text-decoration:none;
        font-weight: 700;
        font-size: 24px;
        text-align: center;
        transition: 400ms;
        background-size: 110%;
        background-position: center;
    }
        .category:hover {
            color: #E2B900;
            background-size: 120%;
        }
    .category .badge {
        position: absolute;
        top: 20px;
        right: 20px;
        background-color: #465AE6;
        border-radius: 0px
    }
        .virt .category {
            font-weight: 700;
            font-size: 24px;
            line-height: 117%;
            background-size: cover;
        }
    .category .shadow {
        padding: 60px 20px;
        background-color: rgba(0,0,0,0.4);
        transition: 400ms;
    }
        .categories.virt .category .shadow {
            text-align: left;
            padding: 80px 20px;
            font-size: 16px
        }
        .category:hover .shadow {
            background-color: rgba(0,0,0,0.7);
        }

.cats .middle {
    max-width: 2000px;
    padding: 0px;
}

.category-page {
    font-size: 20px;
    font-weight: 500;
    margin-top: 20px;
}
    .category-page img {
        margin-bottom: 20px;
    }
    .category-page .item {
        color: #000000;
        text-decoration: none;
        font-size: 20px;
        display: flex;
        flex-direction: column;
        padding-bottom: 40px;
        width: 100%;
    }
        .category-page .item span {
            color: #465AE6;
            text-decoration: none;
            font-size: 14px;
            font-weight: 600;
            margin-top: 20px;
            margin-bottom: 25px;
        }
    .category-page .item:after {
        display: block;
        content: "";
        width: 50%;
        height: 1px;
        background-color: #C4C4C4;
    }

.once {
    text-align: center;
    margin-bottom: 80px;
}
    .once img {
        margin: 40px 0px 40px; 
        max-width: 100%;
    }
    .once .tools {
        display: flex;
        max-width: 650px;
        margin: 0px auto 30px;
    }
        .once .tools svg {
            margin-right: 17px;
            color: #465AE6;
            transition: 200ms;
        }
            .once .tools > *:hover svg {
                color: black;
            }
        .once .tools > div {
            cursor: pointer;
        }

        .tools .share .ya-share2 {
            display: none;
            position: absolute;
            z-index: 20;
            min-width: 140px;
        }
            .tools .share:hover .ya-share2, .tools .share:hover .ya-share2:hover, .tools .share .ya-share2:hover {
                display: block;
            }

    .once .description {
        max-width: 650px;
        margin: auto;
        text-align: left;
        font-size: 16px;
    }
        .once .description h1 {
            font-weight: 700;
            font-size: 36px;
        }
        .once .description .year {
            color: #8E8E8E;
            display: block;
            margin-bottom: 15px;
            font-size: 16px;
        }
        .once .description .author {
            font-weight: 700;
            color: #000000;
            display: block;
            margin-bottom: 15px;
            font-size: 16px;
        }
        .once .description p {
            font-size: 16px;
        }

.middle > .gray {
    color: #8E8E8E;
}


.biography {
    font-size: 14px;
}
    .biography .period {
        font-weight: 700;
        font-size: 36px;
        color: #E2B900;
        text-align: center;
    }
        .biography .spoiler {
            box-shadow: 0px 0px 9.8px 0px #A9A9A933;
            padding: 30px 30px 40px;
            margin: 75px auto;
            border-radius: 16px;
        }
            .biography .spoiler .visible {
                font-size: 16px;
                line-height: 147%;
            }
            .biography .spoiler .hidden {
                display: none;
            }
                .biography .spoiler.expanded .hidden {
                    display: block;
                }
            
            .biography .spoiler .year {
                color: #465AE6;
                display: block;
                font-size: 20px;
                font-weight: 700;
                line-height: 147%;
            }
            .biography .spoiler p {
                margin-bottom: unset;
                margin-top: 27px;
                line-height: 147%;
            }
            .biography .toggler {
                position: absolute;
                width: 50px;
                height: 50px;
                border-radius: 50%;
                background-color: #465AE6;
                bottom: -25px;
                left: 50%;
                margin-left: -25px;
                display: flex;
                z-index: 6;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                transition: 400ms;
            }
                .biography .toggler:hover {
                    background-color: black;
                }
                .biography .spoiler.expanded .toggler svg {
                    transform: rotate(180deg);
                }

        .biography .spoiler:before {
            position: absolute;
            content: "";
            display: block;
            width: 1px;
            height: 75px;
            background: linear-gradient(180deg, #FFFFFF 0%, #8E8E8E 74.52%);
            top: -74px;
            left: 50%;
        }

        .biography .spoiler:after {
            position: absolute;
            content: "";
            display: block;
            width: 1px;
            height: 75px;
            background: linear-gradient(180deg, #8E8E8E 0%, #FFFFFF 85%);
            bottom: -88px;
            left: 50%;
        }
        
            .biography .spoiler:last-child:after {
                display: none;
            }

    .biography img {
        max-width: 100%;
        margin-bottom: 10px;
    }
        .biography img:first-child {
            margin-top: 40px;
        }
    .biography small {
        display: block;
        max-width: 100%;
        color: #585858;
        font-size: 12px;
        margin-bottom: 60px;
        text-align: center;
        padding: 0px 15px;
    }

.photo-cat {
    width: 100%;
}
    .photo-cat:last-child {
        border-bottom: 1px solid #D9D9D9;
        padding: 0px 0px 20px;
        margin-bottom: 80px;
    }
    .photo-cat .years {
        color: #E2B900;
        font-size: 24px;
        font-weight: 700;
        border-top: 1px solid #D9D9D9;
        padding: 20px 0px 0px;
        margin-bottom: 0px;
        display: flex;
        flex-direction: row;
        align-items: center;
        cursor: pointer;
        user-select: none;
    }
        .photo-cat .years svg {
            top: 3px;
            left: 5px;
            min-width: 20px;
            transition: 300ms;
        }
        .photo-cat.expanded .years svg {
            transform: rotate(180deg)
        }
    .photo-cat .category-page {
        display: none;
        margin-top: 40px;
    }
    .photo-cat.expanded .category-page {
        display: block;
    }

.media {
    display: flex;
    flex-direction: column;
}
    .media .item {
        width: 100%;
        font-size: 16px;
        padding-bottom: 40px;
    }
        .media .item .description {
            color: #676767;
            font-size: 14px;
        }
        .media .item .year {
            color: #8E8E8E;
            font-size: 14px;
            line-height: 30px;
        }
    .media .player {
        padding-top: 15px;
    }
    .media .player iframe {
        width: 100%;
        max-width: 700px;
        aspect-ratio: 16 / 9;
    }

.excursions {
    width: 100%;
}
    .excursions .items {
        display: flex;
        flex-direction: column;
    }
        .excursions .item {
            font-size: 16px;
            transition: 300ms;
            margin: -10px 0px;
        }
        .excursions .item .title {
            display: block;
            font-weight: 700;
            font-size: 20px;
            color: black;
            text-decoration: none;
            margin-bottom: 10px;
        }
        .excursions .item .preview {
            display: block;
            aspect-ratio: 1.4/1;
            width: 100%;
            background-size: cover;
            background-position: center;
            border-top-right-radius: 24px;
            border-bottom-left-radius: 24px;
            transition: 300ms;
            margin-bottom: 20px;
            position: relative;
        }
            .excursions .item:hover .preview {
                border-top-right-radius: 99px;
                border-bottom-left-radius: 99px;
            }
            .excursions .item .adult {
                display: block;
                position: absolute;
                bottom: 12px;
                right: 12px;
                font-size: 14px;
                color: #465AE6;
                background-color: white;
                padding: 5px;
                border-radius: 99px;
            }
        .excursions .more {
            display: block;
            font-size: 16px;
            color: #465AE6;
            text-align: right;
            font-weight: 700;
            margin-top: 20px;
        }
            .excursions .more svg {
                top: 5px;
            transition: 300ms;
            }
            .excursions .item:hover .more svg {
                margin-left: 5px;
            }

.gallery-insert {
    width: 100%;
    position: relative;
    margin: 40px 0px;
    background-color: black;
}
    .gallery-insert img {
        max-height: 650px;
        opacity: 0.4;
        transition: 200ms;
    }
    .gallery-insert img.slick-current {
        opacity: 1;
    }
    .gallery-insert .prev, .gallery-insert .next {
        position: absolute;
        top: 50%;
        left: 45px;
        width: 50px;
        height: 50px;
        margin-top: -25px;
        border-radius: 100%;
        background-color: black;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
    }
        .gallery-insert .next {
            position: absolute;
            top: 50%;
            left: unset;
            right: 45px;
            transform: rotate(180deg);
        }

.prices {
    width: 100%;
}
    .prices .section {
        margin-bottom: 40px;
    }
    .prices h2 {
        padding-bottom: 20px;
    }
    .prices h3 {
        padding-bottom: 10px;
    }
    .prices table {
        width: 100%;
        border-radius: 24px;
        border-collapse: separate;
        overflow: hidden;
    }
        .prices table tr:first-child {
            background-color: #A29A92;
            color: white;
            border-top-left-radius: 24px;
            border-top-right-radius: 24px;
        }
            .prices table tr td {
                padding: 30px;
                vertical-align: top;
                line-height: 130%;
            }
        .prices table tr:nth-child(odd) {
            background-color: #F5F5F5;
            
        }
            .prices table tr:first-child td {
                padding: 20px 30px;
                background-color: #A29A92;
                color: white;
                vertical-align: middle;
                text-wrap: nowrap;
            }
    .price.links {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
        .price.links span {
            width: 100%;
            font-weight: 600;
            font-size: 14px;
            text-transform: uppercase;
            color: #8E8E8E;
        }
            .price.links a {
                padding: 10px 20px 0px 0px;
            }

.contacts {
    display: flex;
    flex-direction: column;
    font-size: 16px;
    line-height: 150%
}
    .contacts .line {
        margin-bottom: 20px;
    }
    .contacts span {
        color: #465AE6;
        padding-top: 3px;
    }
    .contacts .line a[href^="mailto"] {
        color: #000000;
    }

.maps {
    width: 100%;
    background-color: #FBFBFB;
    display: flex;
    flex-direction: column;
}
    .maps .addresses {
        padding: 40px;
    }
    .maps .address {
        margin-bottom: 40px;
        line-height: 160%;
        cursor: pointer;
        transition: 200ms;
        max-width: 250px;
    }
        .maps .address.active, .maps .address:hover {
            margin-left: 30px;
        }
        .maps .address a {
            color: black;
        }
        .maps .address b {
            display: block
        }
            .maps .address b:before {
                display: block;
                top: 0px;
                left: -24px;
                content: "";
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' viewBox='0 0 32 32' style='enable-background:new 0 0 512 512' xml:space='preserve' class=''%3E%3Cg%3E%3Cpath d='M16 32C13.166 32 4 18.82 4 12.065 4 5.413 9.383 0 16 0s12 5.413 12 12.065C28 18.82 18.834 32 16 32zm0-30C10.486 2 6 6.515 6 12.065c0 6.088 8.074 16.967 10 17.904 1.926-.937 10-11.816 10-17.904C26 6.515 21.514 2 16 2zm0 15.147c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.244 5 5-2.243 5-5 5zm0-8c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.345 3-3-1.346-3-3-3z' fill='%23465ae6' opacity='1' data-original='%23000000' class=''%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
                width: 20px;
                height: 20px;
                position: absolute;
            }
            .maps .address.active b:before {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' viewBox='0 0 32 32' style='enable-background:new 0 0 512 512' xml:space='preserve' class=''%3E%3Cg%3E%3Cpath d='M16 32C13.166 32 4 18.82 4 12.065 4 5.413 9.383 0 16 0s12 5.413 12 12.065C28 18.82 18.834 32 16 32zm0-30C10.486 2 6 6.515 6 12.065c0 6.088 8.074 16.967 10 17.904 1.926-.937 10-11.816 10-17.904C26 6.515 21.514 2 16 2zm0 15.147c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.244 5 5-2.243 5-5 5zm0-8c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.345 3-3-1.346-3-3-3z' fill='%23E1213A' opacity='1' data-original='%23000000' class=''%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
            }
    .maps .map {
        display: none;
    }
        .maps .map.active {
            display: block;
        }
    .maps .map > div {
        width: 100%;
        height: 100%;
        min-height: 500px;
    }

.searchform {
    width: 100%;
    background-color: #F2F2F2;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    border-radius: 16px;
    padding: 7px;
    margin-bottom: 40px;
    align-items: center;
    justify-content: space-between;
}
    .searchform input[type="text"] {
        border: 0px;
        outline: 0px;
        background-color: transparent;
        height: 60px;
        line-height: 60px;
        padding: 0px 10px;
        flex-grow: 1;
    }
    .searchform .button.blue {
        flex-grow: 1;
    }

    .searchform .reset {
        cursor: pointer;
    }

    .search-empty {
        text-align: center;
        margin: 50px 0px;
    }

.donate {
    display: flex;
    flex-direction: column;
}
    .donate h2 {
        margin-bottom: 20px;
    }
    .donate .big {
        font-weight: 700;
        font-size: 16px;
        line-height: 150%;
        margin-top: 40px;
    }

    .donate label {
        user-select: none;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        margin: 20px 0px;
    }
    .donate input[type='checkbox'] {
        display: none;
    }
    .donate input[type='checkbox'] + span {
        display: inline-block;
        height: 22px;
        width: 18px;
        border: 6px solid #F5F5F5;
        background-color: #465AE6;
        vertical-align: center;
        border-radius: 4px;
        transition: background-color 300ms;
        flex-basis: 23px;
        margin-right: 10px;
    }
        .donate input[type='checkbox']:checked + span {
            background-color: white;
        }

    
    .donate input[type='radio'] {
        display: none;
    }
    .donate .summs {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
    }
        .donate label.radio {
            width: 45%;
            display: block;
            border: 4px solid #F2F2F2;
            display: flex;
            border-radius: 16px;
            padding: 10px 20px;
            font-family: Raleway;
            font-weight: 700;
            font-size: 16px;
            text-align: center;
            color: #585858;
            margin: unset;
        }
    .donate input[type='radio'] + span {
        width: 100%;
    }
        .donate label.radio:has(input[type='radio']:checked) {
            border: 4px solid #465AE6;
        }
    
        .donate form > input {
            border: 1px solid black;
            outline: 0px;
            margin: 10px 0px;
            border-radius: 8px;
            display: block;
            height: 50px;
            line-height: 50px;
            width: 100%;
            padding: 0px 18px;
        }
        .donate form {
            margin-bottom: 60px;
        }

    .donate .button {
        width: 100%;
        border-color: transparent;
    }

.souveneers {
    display: flex;
    flex-direction: column;
    text-align: center;
    color: black;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 80px;
}
    .souveneers .item .preview {
        aspect-ratio: 1/1;
        width: 100%;
        background-size: 90%;
        background-position: center;
        background-color: rgba(0,0,0,0.1);
        margin-bottom: 10px;
        background-repeat: no-repeat;
        transition: 300ms;
    }
        .souveneers .item:hover .preview {
            background-size: 100%;
            background-color: rgba(0,0,0,0.2);
        }
    .souveneers .price {
        color: #A29A92;
        font-size: 15px;
        margin-top: 10px;
        transition: 300ms;
    }
    .souveneers .item {
        margin-bottom: 40px;
        color: black;
        text-decoration: none;
    }
        .souveneers .item:hover span {
            text-decoration: underline;
        }
        .souveneers .item:hover .price {
            text-decoration: none;
            color: #465AE6
        }

.souveneer {
    display: flex;
    flex-direction: column;
    margin-bottom: 80px;
}
    .souveneer .preview {
        aspect-ratio: 1/1;
        width: 100%;
        background-size: 90%;
        background-position: center;
        background-color: rgba(0,0,0,0.1);
    }

    .souveneer .price {
        color: #465AE6;
        font-size: 20px;
        font-weight: 700;
        margin: 20px 0px;
        display: flex;
        flex-direction: row;
    }
        .souveneer .price span {
            flex-grow: 1;
        }
        .souveneer .price svg {
            margin: 0px 5px;
            cursor: pointer;
        }

    .souveneer .delimiter {
        width: 70%;
        height: 1px;
        background-color: black;
        margin: 40px 0px 40px;
    }

@media all and (min-width: 768px) {
    
    .middle {
        padding: 0px 20px;
    }

    h1 {
        font-weight: 800;
        font-size: 53px;
        line-height: 100%;
        padding: 35px 0px 20px;
    }
        .head-content.image h1 {
            font-weight: 700;
            font-size: 36px;
        }
        .head-content.image p {
            font-size: 21px;
            margin-top: 15px;
        }

    .mobile-menu {
        display: none;
        flex-direction: column;
        z-index: 20;
        background-color: #ffffff;
        top: -1000px;
        left: 0px;
        right: 0px;
        width: 100%;
        position: fixed;
    }
        .mobile-menu .cross svg {
            cursor: pointer;
        }
        .mobile-menu .top {
            margin: auto;
            width: 100%;
            max-width: 1600px;
            display: flex;
            flex-direction: row;
            padding: 40px 40px;
            align-content: center;
            align-items: center;
            border-bottom: 1px solid #D9D9D9;
            justify-content: flex-start;
        }
            .mobile-menu .top .logo {
                width: 30%;
                min-width: 300px;
                display: block;
            }
            .mobile-menu .top .cross {
                flex-grow: 1;
                text-align: right;
                margin-bottom: 0px;
            }
        .mobile-menu .menu-block {
            margin: auto;
            width: 100%;
            max-width: 1600px;
            display: flex;
            flex-direction: row;
        }
            .mobile-menu .links {
                display: flex;
                flex-direction: row;
                flex-wrap: wrap;
            }
                .mobile-menu .links span {
                    width: 100%;
                    font-weight: 600;
                    font-size: 14px;
                    text-transform: uppercase;
                    color: #8E8E8E;
                }
                    .mobile-menu .links a {
                        padding: 10px 20px 0px 0px;
                    }
            .mobile-menu .main {
                display: flex;
                flex-direction: column;
                padding: 20px 40px;
                flex-basis: 350px;
            }
                .mobile-menu .main a {
                    font-size: 18px;
                    line-height: 46px;
                    text-transform: uppercase;
                    color: #000000;
                    text-decoration: none;
                    padding: unset;
                    border: 0px;
                    font-weight: 400;
                }
                    .mobile-menu .main a:after {
                        opacity: 0
                    }
                .mobile-menu .main a:hover {
                    color: #465AE6;
                }
            .mobile-menu .second {
                display: none;
                padding: 20px 40px;
                max-width: calc(100% - 350px);
            }
                .mobile-menu .second a {
                    display: inline-block;
                    font-size: 16px;
                    text-decoration: underline;
                    color: #676767;
                    width: 100%;
                    max-width: 33%;
                    vertical-align: top;
                    padding: 0px 20px 40px 0px;
                    font-weight: 400;
                    border: 0px;
                }
                .mobile-menu .second a:hover {
                    text-decoration: none;
                }
        

    .header .button {
        display: flex;
    }
    .header .msk {
        display: none;
    }
    
    .header .logo img {
        max-width: 200px;
    }
    
    .header.mobile .menu-button {
        margin-right: 50px;
    }

    .footer-gray .footer-menu {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
        .footer-gray .footer-menu .block {
            width: 50%;
        }

    .breadcrumbs {
        font-size: 16px;
        margin-bottom: 25px;
    }

    .news .items {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 20px;
    }
        .news .items .item {
            width: calc(50% - 20px);
        }

    .news.news-page .items {
        flex-direction: column;
    }
        .news.news-page .items .item {
            width: 100%;
            display: flex;
            flex-direction: row;
            margin-bottom: 20px;
        }
        .news.news-page .items .preview {
            min-width: 340px
        }
        .news.news-page .items .body {
            padding: 0px 30px;
            display: flex;
            flex-direction: column;
        }
        .news.news-page .items .badge {
            margin: 0px 10px 24px 0px;
            align-self:flex-start;
        }

    .news-page .tags {
        font-size: 20px;
    }

    
    .middle p.big {
        font-size: 20px;
    }
    .middle p.sbig {
        font-size: 27px;
    }

    .middle:has(.content-side) {
        flex-direction: row;
    }
        .middle .ticket-side {
            align-self: flex-start;
            top: -100px;
        }

    .middle .left {
        margin-top: 40px;
    }
        .middle .left + .content-side {
            margin-top: 40px;
            padding-right: 0px;
        }

    .left-menu {
        padding: 0px 56px 0px 0px;
    }
        .left-menu a {
            min-height: 53px;
            font-size: 16px;
        }

    .direction .section {
        flex-direction: row;
        font-size: 16px;
    }
        .direction img {
            max-width: 265px;
            margin-right: 40px;
        }
        .direction .section {
            border-top: 0px;
            border-top: 1px solid #D9D9D9;
            padding: 40px 0px;
        }
            .direction .section:nth-child(1)  {
                border-top: 0px;
            }
        .direction .section .item {
            border-top: 0px;
            width: 50%;
            padding-right: 60px;
        }

        .direction .name {
            font-size: 24px;
        }

    .nobility .description {
        padding-left: 40px;
        width: calc(100% - 400px);
    }
    .nobility .item {
        display: flex;
        flex-direction: row;
    }
    .nobility .name {
        font-size: 30px;
    }
    .nobility .link {
        font-size: 24px;
    }
    .nobility .image {
        min-width: 400px;
    }
    

    .categories {
        flex-direction: row;
        flex-wrap: wrap;
        padding: 40px 0px 0px;
    }
        .years + .categories {
            margin-top: -40px;
        }
        .category {
            font-size: 36px;
            min-height: 350px;
            width: 50%;
            background-position: center;
            aspect-ratio: 2.16/ 1;
        }
        .category .shadow {
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .categories.virt .category .shadow {
            text-align: left;
            padding: 60px 60px;
            font-size: 24px
        }

    .category-page {
    }
        .category-page .item {
            width: 33%;
            padding-right: 100px;
            font-size: 20px;
        }
        .category-page img {
            width: 100%;
        }
        .category-page span {
            font-size: 14px;
        }

    .once img {
        margin: 40px 0px 40px; 
        max-width: 100%;
    }
    .once .tools {
        margin: auto;
    }
    
    .biography .period {
        font-size: 48px;
    }
    .biography .spoiler.expanded .hidden {
        display: flex;
        flex-direction: row;
    }
        .biography .spoiler.expanded .hidden div:first-child {
            flex-grow: 1;
            padding-right: 60px;
        }
        .biography .spoiler.expanded .hidden div:last-child {
            padding: 0px 60px;
        }
    .biography .spoiler .hidden img {
        max-width: 280px;
    }
    .biography .spoiler .hidden small {
        max-width: 280px;
    }

    .media .item {
        font-size: 20px;
    }
        .media .item .description {
            font-size: 16px;
        }
        .media .item .year {
            font-size: 16px;
        }

    .excursions {
        width: 100%;
    }
        .excursions h2, .nobility h2 {
            font-weight: 700;
            font-size: 36px;
            margin: 20px 0px;
        }
        .excursions .items {
            flex-direction: row;
            flex-wrap: wrap;
            gap: 60px;
        }
            .excursions .item {
                max-width: 30%;
                font-size: 16px;
                line-height: 147%;
            }
            .excursions .item .title {
                font-weight: 700;
                font-size: 30px;
                line-height: 100%
            }
                .excursions .item .adult {
                    font-weight: 500;
                    font-size: 18px;
                    padding: 2px 10px;
                }
            .excursions .more {
                font-weight: 700;
                font-size: 20px;
                line-height: 100%;
            }
                .excursions .more svg {
                    top: 5px;
                    transition: 300ms;
                }
                .excursions .item:hover .more svg {
                    margin-left: 5px;
                }

    
    .prices {
        width: 100%;
    }
        .prices .section {
            margin-top: 20px;
            margin-bottom: 70px;
        }
        .prices h2 {
            font-weight: 700;
            font-size: 36px;
            line-height: 100%;
        }
        .prices h3 {
            font-weight: 700;
            font-size: 20px;
            line-height: 100%;
            margin-bottom: 16px;
        }

    
    .contacts {
        display: flex;
        flex-direction: row;
        font-size: 20px;
        line-height: 150%;
        margin-top: 40px;
    }
        .contacts p {
            font-size: 20px;
            line-height: 150%
        }
        .contacts .line {
            margin-bottom: 20px;
            margin-right: 200px;
        }
        .contacts span {
            color: #465AE6;
            padding-top: 3px;
        }
        .contacts .line a {
            font-size: 14px;
        }
        .contacts .line a[href^="mailto"] {
            color: #000000;
            font-size: 20px;
        }

    .maps {
        flex-direction: row;
        justify-content: right;
    }
        .maps .addresses {
            width: 30%;
        }
        .maps .layouts {
            width: 60%;
        }
        .maps .map {
            width: 100%;
            height: 100%;
        }
        .maps .map > div {
            min-width: 100%
        }

    .searchform {
        flex-direction: row;
        margin-top: 20px;
    }
        .searchform .button.blue {
            flex-grow: 0;
        }
        .searchform .reset {
            padding: 0px 20px;
            top: 3px;
        }
        
        .searchform input[type="text"] {
            font-size: 16px;
            line-height: 100%;
            color: #676767;
        }

    .search-empty {
        margin: 100px 0px;
    }

    .search-results h2 {
        font-weight: 700;
        font-size: 36px;
        line-height: 100%;
        margin-bottom: 20px;
    }

    .search-results a {
        font-weight: 700;
        font-size: 20px;
        line-height: 147%;
    }

    .search-results .section {
        margin-bottom: 60px;
    }

    .popup {
        width: 750px;
        left: 50%;
        margin-left: -375px;
    }

    .donate {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
        .donate h2 {
            font-size: 36px;
            margin-top: 40px;
        }
            .donate .line:nth-child(2) {
                margin-top: 40px;
            }
        .donate .line:first-child {
            max-width: 60%;
            padding-right: 100px;
        }
        .donate form {
            max-width: 500px
        }
        .donate label.radio {
            width: 48%;
            font-size: 20px;
        }
        .donate .summs {
            margin-bottom: 20px;
        }

    .souveneers {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
    }
        .souveneers .item {
            width: 335px;
        }
        .souveneers .preview {
            aspect-ratio: 1/1;
            width: 335px;
        }
        .souveneers .price {
            color: #A29A92;
            font-size: 15px;
            margin-top: 10px;
        }
        .souveneers .item {
            margin-bottom: 40px;
        }

    .souveneer {
        flex-direction: row;
        margin-top: 40px;
    }
        .souveneer p {
            line-height: 160%
        }
        .souveneer .preview {
            width: 45%;
            min-width: 500px;
            margin-right: 80px;
        }
        .souveneer .price {
            font-weight: 700;
            font-size: 37px;
            margin-top: 0px;
        }
            .souveneer .price svg {
                margin: 0px 7px;
            }
        .souveneer .delimiter { 
            max-width: 170px;
        }

}

@media all and (min-width: 1200px) {
    
    .mosbilet {
        bottom: 36px;
        right: 32px;
        background-image: url('/upload/medialibrary/4e5/uflrzi51w361wcfgm829nek3yriwtocd.png');
        width: 291px;
        height: 74px;
    }

    .header {
        gap: 20px;
        padding: 30px 20px;
        height: 115px;
        position: fixed;
        width: 100%;
        z-index: 20;
        background-color: #fff;
        left: 0px;
        right: 0px;
        margin: unset;
        top: 0px;
        max-width: unset;
    }
        .header .middle {
            max-width: 1600px;
        }
        .header.mobile {
            padding: 0px 20px;
            height: 80px;
        }
        
            .header .msk {
                display: flex;
            }
                .header.mobile .msk {
                    display: none;
                }
            .header.mobile .menu-button {
                display: flex;
            }
            .header.mobile .logo img {
                max-width: 200px;
            }
        
        .header .lang-selector {
            margin-right: 20px;
        }
        .header .search {
            margin-right: 20px;
        }
        .header .msk {
            margin-right: 60px;
            transition: 200ms;
        }
    
        .header .logo img {
            max-width: 260px;
        }

    .middle {
        padding: 0px 20px;
    }
        .middle p img {
            max-width: 1000px
        }

    .head-content h1 {
        padding: 20px 0px 0px 0px;
    }
        .head-content.image h1 {
            font-size: 36px;
            max-width: 70%
        }

    .menu-button {
        display: none;
    }

    .menu {
        display: flex;
        max-width: 1600px;
        margin: 115px auto 0px;
        border-top: 1px solid #F4F4F4;
        padding: 30px 20px;
    }
        .menu .menu-item, .menu a {
            font-size: 16px;
            color: #000000;
            font-weight: 600;
            text-decoration: none;
            transition: 200ms;
        }
        .menu .menu-item {
            flex-grow: 1;
            cursor: pointer;
            user-select: none;
        }
            .menu .menu-item:hover, .menu a:hover {
                color: #465AE6;
            }

    .main-slider .slides {
        min-height: 740px;
    }
        .main-slider .slide {
            background-position: center;
            border-top-right-radius: 360px;
            border-bottom-left-radius: 360px;
            min-height: 740px;
            font-weight: 700;
            line-height: 145%;
            font-size: 20px;
        }
        .main-slider .slide .inside {
            border-top-right-radius: 360px;
            border-bottom-left-radius: 360px;
            padding: 0px 250px;
        }
        .main-slider .slide .title {
            font-size: 53px;
            margin-bottom: 40px;
            max-width: 50%;
        }
        .main-slider .slide .buttons {
            margin-top: 50px;
        }
            .main-slider .slide .button {
                flex-grow: 0;
                padding: 0px 80px;
            }

    .main-slider .slides .slick-dots {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: end;
        padding: 20px 30% 20px 20px;
    }

    .subscribe {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding-bottom: 135px;
        padding-top: 30px;
    }
        .subscribe input[type='text'] {
            width: 410px;
        }
        .subscribe label {
            max-width: 360px;
        }

    .footer-gray .blocks {
        max-width: 1400px;
        margin: 0px auto;
        flex-direction: row;
        display: flex;
        justify-content: space-between;
    }
        .footer-gray .blocks .block {
            max-width: 30%;
        }

    .footer-gray .footer-menu {
        flex-wrap: nowrap;
        max-width: 1400px;
        margin: 30px auto;
    }
        .footer-gray .footer-menu .block {
            padding: 0px 30px 0px 0px;
            display: flex;
            flex-direction: column;
        }
        .footer-gray .title {
            margin-bottom: 20px;
        }
        .footer-gray .footer-menu .block a {
            margin-bottom: 10px;
            display: inline;
        }
        .footer-gray a:hover {
            text-decoration: none;
        }

    .footer-gray .about {
        margin-top: 0px
    }
        .footer-gray .block.links {
            margin-top: 40px;
        }

    .footer-white .blocks {
        display: flex;
        max-width: 1400px;
        margin: 0px auto;
    }
        .footer-white .block {
            width: 25%;
        }
        .footer-white .block.address {
            flex-grow: 0
        }
        .footer-white .block:nth-child(1) {
            max-width: 18%;
        }


    .news .items {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 3%;
    }
        .news h2 {
            font-size: 53px;
            margin-top: 25px;
            margin-bottom: 35px;
        }
        .news .items .item {
            width: 31%;
            margin-bottom: 70px;
        }
        
        .news .badge {
            margin: 38px 10px 24px 0px;
        }
        .news .links {
            flex-direction: row;
            width: 100%
        }
            .news .links a {
                width: 50%;
            }
            .news .links a:nth-child(2) {
                border-top: 0px;
                border-left: 1px solid black;
            }
     .news.news-page .items .body {
        line-height: 157%;
    }
     .news.news-page .items .item {
        margin-bottom: 50px;
    }

    .years {
        font-size: 20px;
    }

    .pagination a, .pagination span {
        font-size: 18px;
    }

    .main-exposition .inside {
        max-width: 1400px;
        margin: 0px auto;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .main-exposition h2 {
        font-size: 53px;
        margin-bottom: 40px
    }
    .main-exposition .select {
        display: block;
        color: white;
        font-size: 20px;
        font-weight: 700;
    }
        .main-exposition .select svg {
            margin-left: 10px;
            transition: 400ms;
        }
        .main-exposition .select:hover svg {
            margin-left: 15px;
        }
    .main-exposition .lines {
        flex-direction: column;
    }
    .main-exposition .more {
        margin: 55px 20px 0px;
    }
        .main-exposition .line-track img {
            height: 330px;
        }

    .about-gallery {
        max-width: 1400px;
        margin: 0px auto;
        display: flex;
        padding: 100px 20px;
    }
        .about-gallery .text {
            flex-basis: calc(100% - 450px);
            padding-right: 100px;
        }
        .about-gallery .player {
            width: 450px;
            flex-basis: 450px;
        }
        .about-gallery h1 {
            font-weight: 800;
            font-size: 53px;
            margin-bottom: 25px;
        }
        .about-gallery p {
            margin-bottom: 20px;
        }
        .about-gallery .player {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
        }
            .about-gallery .player-preview {
                flex-grow: 1;
            }
            .about-gallery .player span {
                max-width: 70%;
                padding-left: 30px;
            }
            .about-gallery .player a {
                max-width: 30%;
                padding: 20px 0px;
                text-align: center;
            }

}