@charset "UTF-8";

/*Медиа запросы*/
/*Hover*/
@media screen and (min-width: 1201px),
(hover) {
    a:hover {
        border-color: transparent;
    }

    .swiper-navigation .swiper-button-nav:hover .icon-svg {
        -webkit-transform: translateX(10px);
        -ms-transform: translateX(10px);
        transform: translateX(10px);
    }

    .swiper-navigation .swiper-button-prev:hover .icon-svg {
        -webkit-transform: translateX(-10px) scaleX(-1);
        -ms-transform: translateX(-10px) scaleX(-1);
        transform: translateX(-10px) scaleX(-1);
    }

    /* Ховер кнопки */
    .btn,
    .hover-reaction {
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    .btn span,
    .hover-reaction span {
        position: relative;
        pointer-events: none;
        text-align: center;
    }

    .btn:before,
    .hover-reaction:before {
        --size: 0;
        content: '';
        position: absolute;
        left: var(--x);
        top: var(--y);
        width: var(--size);
        height: var(--size);
        background: -o-radial-gradient(circle closest-side, rgba(255, 255, 255, 0.2), transparent);
        background: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.2), transparent);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        -webkit-transition: width .15s ease, height .15s ease;
        -o-transition: width .15s ease, height .15s ease;
        transition: width .15s ease, height .15s ease;
    }

    .btn:hover:before {
        --size: 400px;
    }

    .hover-reaction:hover:before {
        --size: 200px;
    }

    .btn.-border:hover {
        background-color: #222;
        color: #ffffff;
    }

    .btn.-border:hover .loader span {
        background-color: #fff;
    }

    /* Ховер кнопки */
    .search-item .btn:hover {
        background-color: #395FB8;
        border-color: #395FB8;
    }
}

/* Enable touch */
@media (hover: none) {
    body {
        cursor: pointer;
    }
}

@media screen and (max-width: 1198px) and (pointer: coarse) {
    .main-banner-section {
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100);
    }
}

/* FullHD */
@media screen and (max-width: 1600px) {
    body {
        font-size: 16px;
    }

    h1,
    .h1 {
        font-size: 42px;
    }

    h2,
    .h2 {
        font-size: 30px;
    }

    h3,
    .h3 {
        font-size: 20px;
    }

    h4,
    .h4 {
        font-size: 18px;
    }

    h5,
    .h5 {
        font-size: 16px;
    }

    h6,
    .h6 {
        font-size: 14px;
    }

    section {
        padding: 80px 0;
    }

    /*.logo {
        max-width: 140px;
    }*/

    .logo .logo-text {
        padding: 0 7px;
        height: 18px;
        line-height: 16px;
        font-size: 15px;
    }

    .menu li {
        margin-right: 70px;
    }

    .title-section {
        margin-bottom: 60px;
    }

    .title-section .h1 {
        font-size: 116px;
    }

    .title-section .h2 {
        font-size: 82px;
    }

    .title-section .h3 {
        font-size: 60px;
    }

    .title-section .h4 {
        font-size: 50px;
    }
    .main-banner-slider .title-section {
        min-height: auto;
    }
    .main-banner-slider .link-more {
        margin-top: 30px;
    }

    .schedule-info .open-time {
        font-size: 18px;
    }

    .main-banner-bottom {
        padding-bottom: 40px;
    }

    .main-banner-bottom .tel {
        font-size: 18px;
    }

    .header {
        height: 120px;
    }

    .header.active {
        height: 84px;
    }

    .header.no-bg {
        height: 120px;
    }

    .header.no-bg.active {
        height: 84px;
    }

    .footer-item .logo {
        margin-bottom: 40px;
    }

    .footer-item .search-field {
        margin-top: -13px;
    }

    .scroll-text-wrap {
        height: 100px;
    }

    .brands-photo .photo:nth-of-type(3) {
        margin-right: 30px;
    }

    .about-section .descr {
        padding: 80px 0 80px 80px;
        font-size: 20px;
    }

    .about-section .descr .img {
        margin-bottom: 50px;
    }

    .feat-item .icon {
        width: 80px;
        height: 80px;
        line-height: 80px;
        margin-bottom: 35px;
    }

    .descr-block .h2 {
        margin: 0 0 30px;
    }

    .descr-block .btn-wrap-size {
        margin-top: 40px;
    }

    .request-block {
        padding: 80px;
    }

    .request-block .h2 {
        margin: 0 0 30px;
    }

    .request-block .btn {
        margin-top: 35px;
    }

    .presentation-section+section {
        margin-top: 90px;
    }

    .promo-items .row {
        margin-left: -40px;
        margin-right: -40px;
    }

    .promo-items .row>div {
        padding-left: 40px;
        padding-right: 40px;
        margin-bottom: 100px;
    }

    .event-items>.row>div {
        margin-bottom: 100px;
    }

    .pagination {
        margin-top: 80px;
    }

    .pop_menu .header-links .language-choose {
        margin-right: 90px;
    }

    .pop_menu .pop-menu {
        font-size: 20px;
    }

    .pop_menu .pop-menu li {
        margin-right: 30px;
        margin-bottom: 20px;
    }

    .pop_menu .event-item .event-descr {
        padding: 20px;
        position: relative;
    }

    .pop_menu .event-item .event-descr .date {
        margin-bottom: 15px;
        font-size: 12px;
    }

    .pop_menu .event-item .event-descr .h4 {
        font-size: 16px;
        line-height: 1.5;
    }

    .pop_menu .promo-tab .event-item {
        height: 230px;
    }


    .pop-top-content {
        margin-bottom: 50px;
    }

    .pop-title {
        margin-bottom: 50px;
    }

    .pop-title .h4 {
        margin-top: 3px;
    }

    .pop-menu-tabs .tabs {
        font-size: 18px;
    }

    .contact-item .tel,
    .contact-item .mailto {
        font-size: 18px;
    }

    .map-directions {
        margin-top: 70px;
    }

    .categories-list {
        font-size: 18px;
    }

    .categories-list li {
        margin: 0 15px 20px;
    }

    .search-section-bottom {
        padding: 80px 0;
    }

    .ben-items {
        margin-top: 80px;
    }

    .ben-item .descr .h4 {
        min-height: 40px;
    }

    .search-hidden-results a {
        font-size: 18px;
    }

    .search-hidden-results .floor strong {
        font-size: 30px;
    }

    .full-calendar-wrap {
        height: 820px;
    }

    .full-calendar-wrap .fc-day-grid-event {
        padding-left: 16px !important;
    }

    .full-calendar-wrap .fc-day-grid-event:before {
        left: 6px;
    }

    .full-calendar-wrap .fc-content {
        height: 20px;
        line-height: 18px;
    }

    .full-calendar-wrap .fc-day-number {
        font-size: 20px;
    }

    .full-calendar-wrap .fc-title,
    .full-calendar-wrap .fc-time {
        font-size: 14px;
    }

    .gallery-item .img {
        height: 330px;
        margin-bottom: 30px;
    }

    .gallery-item .descr .h4 {
        margin-top: 15px;
    }

    .gallery-story-item .img {
        width: 80px;
        height: 80px;
        min-width: 80px;
        margin-right: 22px;
        padding: 5px;
    }

    .gallery-story-item .img:before {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        background-size: 24px 24px;
    }

    .gallery-story-item .count {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
    }

    .story-swiper-wrap {
        max-width: 90% !important;
    }

    .story-slider {
        /* max-height: calc(100vh - 112px); */
    }

    .story-slider-dots {
        padding: 10px !important;
    }

    .story-slider-dots .swiper-slide .img-wrap {
        padding: 5px;
    }

    .story-slider-dots .swiper-lazy-preloader {
        width: 30px;
        height: 30px;
        border-width: 3px;
        margin-left: -15px;
        margin-top: -15px;
    }

    .gallery-story-row .gallery-story-item {
        width: 80px;
        height: 80px;
        margin-left: -40px;
    }

    .gallery-top {
        margin-bottom: 80px;
    }

    .pop-app {
        max-width: 800px !important;
    }

    .pop-app .pop-top {
        padding: 50px 80px 40px;
    }

    .pop-app .pop-content {
        padding: 40px 80px 60px;
    }

    .pop-app .app-steps {
        margin: 0 -80px 40px;
        padding: 0 80px 20px;
    }

    .form-control {
        font-size: 30px;
        height: 50px;
    }

    .form-control+label {
        top: 12px;
    }

    .map-directions .label {
        margin-right: 20px;
    }

    .map-directions li {
        margin-right: 20px;
    }

    .main-banner-menu .icon-svg {
        font-size: 60px;
        min-width: 60px;
    }

    .menu-badge {
        width: 80px;
        height: 80px;
        font-size: 40px;
    }
}

@media screen and (max-width: 1440px) {
    section {
        padding: 80px 0;
    }

    /*.logo {
        max-width: 130px;
    }*/

    .logo .logo-text {
        padding: 0 5px;
        height: 16px;
        line-height: 14px;
        font-size: 14px;
    }

    .menu {
        font-size: 16px;
    }

    .menu li {
        margin-right: 50px;
    }

    /*.header-links {
        margin-left: -50px;
    }*/

    .header-links .language-choose {
        margin-left: 20px;
        margin-right: 30px;
    }

    .title-section {
        margin-bottom: 50px;
    }

    .title-section .h1 {
        font-size: 100px;
    }

    .title-section .h2 {
        font-size: 60px;
    }

    .title-section .h3 {
        font-size: 50px;
    }

    .title-section .h4 {
        font-size: 40px;
    }

    .header {
        height: 100px;
    }

    .header.active {
        height: 70px;
    }

    .header.no-bg {
        height: 100px;
    }

    .header.no-bg.active {
        height: 70px;
    }

    .main-banner-bottom {
        padding-bottom: 30px;
    }

    .scroll-text-wrap {
        height: 86px;
    }

    .brands-photo .photo:nth-of-type(1) {
        width: 250px;
        height: 291px;
    }

    .brands-photo .photo:nth-of-type(2),
    .brands-photo .photo:nth-of-type(3) {
        display: none;
    }

    .fancybox-calendar .pop_calendar {
        padding: 50px !important;
    }

    .fancybox-calendar .pop_calendar .h1 {
        margin-bottom: 50px;
    }

    .fancybox-calendar .calendar-top {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .fancybox-calendar .calendar-top .month {
        font-size: 30px;
    }

    .pop_menu .pop-menu {
        font-size: 18px;
    }

    .pop_menu .pop-menu li {
        margin-bottom: 15px;
    }

    .map-directions {
        font-size: 12px;
        margin-bottom: 20px;
        margin-top: 65px;
    }

    .map-directions .label {
        margin-right: 20px;
    }

    .map-directions li {
        margin-right: 15px;
    }

    .gallery-item .img {
        height: 270px;
    }

    .pop-menu-tabs .tabs li {
        margin-right: 20px;
    }

    .pop_menu .promo-tab .event-item {
        height: 230px;
    }

    .pop_menu {
        padding: 28px 0 !important;
    }

    .pop_menu .header-links .language-choose {
        margin-right: 45px;
    }
}

/*Tablet landscape */
@media screen and (max-width: 1200px) {
    .wrap-big {
        padding: 0 30px;
    }

    .menu {
        font-size: 14px;
    }

    .menu li {
        margin-right: 30px;
    }

    .events-carousel .swiper-slide {
        width: 900px;
    }

    .event-item .event-descr {
        padding: 40px 50px 45px;
        min-height: 290px;
    }

    .promo-carousel .swiper-slide {
        width: 220px;
    }

    .promo-item .promo-img {
        height: 300px;
    }

    .cinema-carousel .swiper-slide {
        width: 220px;
    }

    /*.cinema-item .cinema-img {
        height: 325px;
    }*/

    .brands-alphabet {
        margin-top: 40px;
    }

    .brands-alphabet>div>ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .brands-alphabet>div>ul>li>.letter {
        display: block;
        width: 65px;
        height: 65px;
        line-height: 65px;
        text-align: center;
    }

    .brands-alphabet .hidden {}

    .inst-carousel .swiper-slide {
        width: 220px;
    }

    .inst-item .inst-img {
        height: 220px;
    }

    .footer-item {
        max-width: none;
    }

    .footer-item .search-field~.link-icon {
        display: inline-block;
        position: relative;
        margin-top: 20px;
    }

    .footer-bottom {
        margin-top: 50px;
    }

    .pop_schedule {
        padding: 30px !important;
    }

    .fullscreen .fancybox-close-small {
        right: 30px !important;
        top: 50px !important;
    }

    .title-section .h3 {
        font-size: 46px;
    }

    .main-banner-section {
        min-height: 500px;
    }

    .banner-section .main-banner-slider .descr {
        padding-top: 180px;
    }

    .events-calendar {
        line-height: 80px;
        min-height: 80px;
    }

    .events-calendar .icon {
        width: 80px;
        height: 80px;
        line-height: 78px;
    }

    .events-calendar .icon+.descr {
        padding-left: 110px;
    }

    .events-calendar .descr .link {
        font-size: 14px;
    }

    .header-links {
        margin-left: -30px;
    }

    .pop_menu {
        padding: 25px 0 !important;
    }

    .pop_menu .header-links .language-choose {
        margin-right: 70px;
    }

    .pop_menu .footer-menu {
        display: block;
    }

    .pop-title {
        margin-bottom: 30px;
    }

    .contacts-section .title-section {
        margin-bottom: 50px !important;
    }

    .contact-item {
        margin-bottom: 30px;
    }

    .map-directions {
        margin-top: 0;
        font-size: 16px;
    }

    #map {
        width: calc(100% + 60px);
        margin-left: -30px;
        height: 600px;
        min-height: 1px;
    }

    .search-items .btn-wrap {
        margin-top: 60px;
    }

    .full-calendar-wrap .fc-title {
        font-size: 12px;
    }

    .full-calendar-wrap .fc-time {
        font-size: 12px;
    }

    .full-calendar-wrap .fc-content {
        height: 20px;
        line-height: 20px;
    }

    .fancybox-slide--html .fancybox-close-small {
        top: 0 !important;
    }

    .pop-app .fancybox-close-small {
        top: 10px !important;
    }

    .footer-item .social-wrap {
        display: flex;
        justify-content: space-between;
    }

    .footer-item .social-wrap .link-icon {
        position: relative;
    }

    .promo-items .promo-item .promo-img {
        height: auto;
    }

    .pop-alphabet {
        cursor: auto;
        opacity: 0;
        visibility: hidden;
        width: max-content;
        background-color: #fff !important;
        -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
        box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
        border: 1px solid #EFEFEF;
        font-size: 20px;
        padding: 30px 0px 30px 30px !important;
        z-index: 100;
        color: #ffffff;
        overflow: visible !important;
        -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
        transform: scale(0.8);
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    .fancybox-slide--current .pop-alphabet {
        opacity: 1;
        visibility: visible;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    .pop-alphabet li {
        position: relative;
        margin-bottom: 25px;
    }

    .pop-alphabet li:last-child {
        margin-bottom: 0;
    }

    .pop-alphabet li a {
        color: #222;
        border: 0;
        padding-right: 150px;
        white-space: nowrap;
    }

    .pop-alphabet .floor {
        position: absolute;
        right: 0;
        top: 0;
        width: 140px;
        text-align: center;
        z-index: 10;
    }

    .pop-alphabet:after {
        content: '';
        position: absolute;
        right: 0;
        top: 0;
        width: 140px;
        background-color: #F8F8F8;
        height: 100%;
    }

    .pop-alphabet .fancybox-close-small {
        top: -10px !important;
        color: #ffffff !important;
    }

    .main-banner-menu-wrap {
        margin-left: 0;
    }

    .menu-badge {
        display: none;
    }

}

/*Tablet portrait*/
@media screen and (max-width: 900px) {
    section {
        padding: 60px 0;
    }
    
    .logo {
        max-width: 140px;
    }
    .logo a {        
        padding: 14px 10px 11px;
        max-width: 129px;
    }
    .header.active .logo {margin-left: 11px;}

    .menu {
        display: none;
    }

    .header-links {
        margin-left: 0;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .header.active .link-search .icon-svg {
        color: #222;
    }

    .link-search.active .icon-svg {
        color: #ffffff;
    }

    .header-search {
        right: 0;
        left: auto;
    }

    .header-search.active {
        width: calc(100vw - 60px);
    }

    .search-hidden-results {
        width: calc(100vw - 60px);
        right: 0;
        left: auto;
    }

    .title-section .h1 {
        font-size: 80px;
    }

    .title-section .h2 {
        font-size: 50px;
    }

    .events-carousel .swiper-slide {
        width: 600px;
    }

    .event-item .event-descr {
        min-height: 190px;
        padding: 30px 40px 35px;
    }

    .event-item .event-descr .text {
        display: none;
    }

    .swiper-navigation.-relative {
        margin-top: 30px;
    }

    .scroll-text-wrap {
        height: 70px;
    }

    .footer-item {
        margin-bottom: 40px;
        height: auto;
    }

    .footer-item .h4 {
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

    .footer-item .h4 .icon-svg {
        display: inline-block;
        -webkit-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }

    .footer-item.-third .h4 {
        margin-bottom: 15px;
    }

    .footer-menu-wrap.active .h4 .icon-svg {
        -webkit-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        transform: rotate(-180deg);
    }

    .footer-item .logo {
        margin-bottom: 20px;
    }

    .footer-links {
        max-width: 300px;
    }

    .footer-bottom {
        margin-top: 20px;
    }

    .schedule-item-time {
        max-width: 200px;
    }

    .fullscreen .fancybox-close-small {
        top: 40px !important;
    }

    .pop_schedule .title-section .h2 {
        font-size: 50px;
    }

    .about-gray-block:after {
        content: none;
    }

    .feat-items>.row {
        margin-bottom: -50px;
    }

    .feat-items>.row>div {
        margin-bottom: 50px;
    }

    .presentation-section+section {
        margin-top: 0;
    }

    .presentation-section .presentation-img {
        display: none;
    }

    .main-banner-slider .title-section~.text {
        font-size: 20px;
    }

    .article-section .text_block {
        font-size: 20px;
    }

    .photo-slider-descr {
        padding-bottom: 30px;
    }

    .photo-slider-descr .tags {
        display: none;
    }

    .photo-slider-descr .swiper-banner-pagination {
        left: auto;
        right: 0;
    }

    .swiper-photo-wrap {
        margin-top: 50px;
    }

    .filters-list {
        margin-bottom: 30px;
    }

    .promo-items .row>div {
        margin-bottom: 80px;
    }

    .banner-section .main-banner-slider .descr {
        padding-bottom: 120px;
        padding-right: 0;
    }

    .banner-section .main-banner-bottom {
        padding-bottom: 40px;
    }

    .event-items>.row>div {
        margin-bottom: 80px;
    }

    .events-top {
        display: block;
    }

    .events-top .filters-list {
        margin-top: 30px;
    }

    .header.no-bg+section .main-banner-bottom {
        position: relative;
        margin-top: 50px;
    }

    .events-top {
        margin-bottom: 80px;
    }

    .fancybox-calendar .fancybox-slide--html {
        padding: 0;
    }

    .fancybox-calendar .pop_calendar {
        -webkit-box-shadow: none;
        box-shadow: none;
        border: 0;
        padding: 30px !important;
    }

    .pop_menu {
        padding: 30px 0 0 !important;
    }

    .search-section-top,
    .search-section-bottom {
        padding: 60px 0;
    }

    .search-section-top .h1 {
        margin-top: 50px;
        margin-bottom: 30px;
    }

    .search-item .btn {
        padding: 0 15px;
    }

    .search-item .btn .icon-svg {
        margin-left: 10px;
    }

    .brand-item-wrap {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }

    .error-section .search-field {
        margin-top: 50px;
    }

    .ben-items {
        margin-top: 60px;
    }

    .full-calendar-wrap {
        height: 600px;
    }

    .gallery-items>.row>div {
        margin-bottom: 80px;
    }

    .gallery-top {
        margin-bottom: 40px;
    }

    .gallery-story-item {
        margin-bottom: 20px;
    }

    .partners-befenits {
        margin-bottom: 20px;
    }

    .partner-ben-item {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
        margin-bottom: 50px;
    }

    .presentation-section.pb-big {
        padding-bottom: 60px;
    }

    .event-detail-info {
        margin-top: 30px;
        height: auto;
    }

    .tag-list {
        margin-top: 30px;
    }
    .renter-about {
        padding: 0;
        background: #f2f2f2;
    }
    .renter-about .about-section {
        position: static;
    }

    body:not(.main-page) .main-banner-section {
        min-height: 1px;
        height: auto;
    }

    body:not(.main-page) .main-banner-slider .swiper-slide .wrap-big {
        min-height: 100px;
        padding: 100px 15px 50px;
    }

    body:not(.main-page) .main-banner-section .main-banner-bottom {
        position: relative;
        color: #222222;
        margin-top: 10px;
        padding-bottom: 0;
        font-size: 12px;
    }

    body:not(.main-page) .main-banner-section .main-banner-bottom a {
        color: #222222;
    }

    body:not(.main-page) .main-banner-section .main-banner-bottom .schedule-info .open-time,
    body:not(.main-page) .main-banner-section .main-banner-bottom .tel {
        font-size: 12px;
    }

    body:not(.main-page) .main-banner-section .main-banner-bottom .h2 {
        font-size: 18px;
    }

    body:not(.main-page) .main-banner-section .title-section+.h2 {
        font-size: 18px;
    }

    body:not(.main-page) .main-banner-floor .link-more  {
        margin-top: 5px;
    }

    body:not(.main-page) .main-banner-floor .link-more .icon-svg {
        font-size: 20px;
        margin-left: 10px;
    }

    .main-banner-menu-wrap {
        margin-top: 30px;
    }

    .main-banner-menu {
        height: 52px;
        display: block;
        background-color: #395FB8;
        color: #ffffff;
        width: 100%;
    }

    .main-banner-menu a {
        color: #ffffff !important;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    .main-banner-menu .icon-svg {
        font-size: 35px;
        min-width: 35px;
        margin-right: 10px;
    }

    .main-banner-menu .h2:before {
        height: 1px;
    }

    .event-detail-article.-badge .event-detail-info {
        padding-top: 0px;
    }
    .text-section {
        padding: 50px 0;
    }
    .text-section--img:after {
        opacity: 1;
        visibility: visible;
    }
    .more-links .h3 {
        width: 100%;
        margin-bottom: 10px;
    }
}

/*Smartphone*/
@media screen and (max-width: 600px) {
    section {
        padding: 40px 0;
    }
    
    .wrap,
    .wrap-big {
        padding: 0 15px;
    }

    .fancybox-slide--video {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .text_block .row {
        margin-bottom: 15px;
    }

    .text_block .row>div {
        margin-bottom: 15px;
    }

    /** WTF???? */
    /*.text_block br {
        display: none;
    }*/

    h1,
    .h1 {
        font-size: 30px;
    }

    h2,
    .h2 {
        font-size: 24px;
    }

    h3,
    .h3 {
        font-size: 20px;
    }

    h4,
    .h4 {
        font-size: 16px;
    }

    h5,
    .h5 {
        font-size: 14px;
    }

    h6,
    .h6 {
        font-size: 14px;
    }

    .title-section {
        margin-bottom: 30px;
    }

    .title-section h1,
    .title-section .h1 {
        font-size: 40px;
        line-height: 1.2;
    }

    .title-section h2,
    .title-section .h2 {
        font-size: 36px;
    }

    .title-section .h3 {
        font-size: 30px;
    }

    .title-section .h4 {
        font-size: 24px;
    }

    .header {
        height: 80px;
        min-width: 320px;
    }

    .header.active {
        height: 80px;
    }

    .header.no-bg {
        height: 80px;
    }

    .header.no-bg.active {
        height: 80px;
    }

    .header-links .language-choose {
        display: none;
    }

    .header-search.active {
        width: calc(100vw - 30px);
    }

    .search-hidden-results {
        width: calc(100vw - 30px);
        padding: 10px 15px 15px;
    }

    .search-hidden-results .link-hidden {
        display: none;
    }

    .search-hidden-results a {
        font-size: 16px;
        padding-left: 36px;
    }
    .search-hidden-results a i {
        left: 0;
    }

    .search-hidden-results .floor strong {
        font-size: 24px;
    }

    .main-banner-slider .link-more {
        margin-top: 20px;
    }

    .main-banner-arrow {
        position: absolute;
        left: 15px;
        bottom: 0;
        font-size: 32px;
    }

    .main-banner-arrow .icon-svg {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .events-carousel .swiper-slide {
        width: 100%;
    }

    .events-carousel .swiper-wrapper {
        -webkit-transform: none !important;
        -ms-transform: none !important;
        transform: none !important;
        display: block !important;
    }

    .event-item {
        margin-bottom: 5px;
    }

    .event-item .event-descr {
        padding: 15px 15px 20px;
        min-height: 120px;
    }

    .event-item .event-descr .date {
        font-size: 12px;
        margin-bottom: 5px;
    }

    .event-item .event-descr .h4 {
        margin-bottom: 0;
    }

    .link-spacing {
        font-size: 18px;
    }

    .promo-carousel .swiper-slide {
        margin-top: 0 !important;
    }

    .promo-carousel .swiper-navigation {
        width: 100%;
        z-index: initial;
    }

    .promo-carousel .swiper-navigation.-relative {
        margin-top: 0;
        position: absolute;
        top: 120px;
        left: 0;
    }

    .promo-carousel .swiper-navigation.-relative .swiper-navigation-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .promo-carousel .swiper-navigation.-relative .swiper-button-prev {
        margin-left: -15px;
    }

    .promo-carousel .swiper-navigation.-relative .swiper-button-next {
        margin-right: -15px;
    }

    .promo-item .descr {
        margin-top: 20px;
    }

    .promo-item .h4 {
        margin-top: 15px;
    }

    .swiper-navigation .swiper-button-nav {
        background-color: #fff;
    }

    .brands-photo-wrap {
        display: none;
    }

    .brands-section {
        margin-top: 0;
    }

    .brands-search input[type="search"] {
        padding-left: 50px;
    }

    .brands-categories .h4,
    .brands-alphabet .h4 {
        display: block;
        font-weight: 500;
        margin: 0 0 20px;
    }

    .brands-alphabet {
        margin-top: 20px;
    }

    .brands-alphabet>div {
        margin-top: 0;
    }

    .brands-alphabet>div>ul>li {
        margin-left: -10px;
        margin-right: -10px;
    }

    .inst-carousel .swiper-slide {
        width: 160px;
    }

    .inst-item .inst-img {
        height: 160px;
    }

    .footer {
        padding: 40px 0;
    }

    .footer .h4 {
        font-size: 20px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .footer-bottom {
        margin-top: 0;
    }

    .schedule-item {
        position: relative;
        padding: 15px 0;
    }

    .schedule-item:first-child .schedule-item-time {
        top: 0;
    }

    .schedule-item .row>div {
        position: static;
    }

    .schedule-item .icon {
        position: relative;
        width: 40px;
        height: 40px;
        line-height: 38px;
    }

    .schedule-item .icon+.descr {
        padding-left: 0;
        margin-top: 15px;
    }

    .schedule-item .descr {
        font-size: 14px;
    }

    .schedule-item-info {
        min-height: 40px;
        line-height: normal;
    }

    .schedule-item-time {
        position: absolute;
        right: 0;
        top: 12px;
        font-size: 14px;
        width: 100%;
        max-width: 180px;
    }

    .fullscreen .fancybox-close-small {
        top: 14px !important;
        right: 15px !important;
    }

    .pop_schedule {
        padding: 60px 15px 15px !important;
    }

    .pop_schedule .title-section .h2 {
        font-size: 30px;
    }

    .main-banner-slider .title-section~.text {
        font-size: 16px;
    }

    .main-banner-slider .title-section+.text {
        margin-top: 20px;
    }

    .main-banner-slider .btn {
        width: 100%;
        padding: 0;
    }

    .banner-section .main-banner-slider .descr {
        padding-top: 0px;
        padding-bottom: 30px;
    }

    .banner-section .main-banner-bottom {
        padding-bottom: 20px;
    }

    .btn {
        font-size: 16px;
        letter-spacing: 0.25em;
    }

    .about-section .descr {
        padding: 20px;
        font-size: 16px;
    }

    .about-section .descr .img {
        margin-bottom: 30px;
    }

    .feat-item {
        text-align: center;
    }

    .feat-item .icon {
        width: 50px;
        height: 50px;
        line-height: normal;
        margin-bottom: 20px;
        margin-left: auto;
        margin-right: auto;
    }

    .title-section .h3 {
        font-size: 32px;
    }

    .feat-items>.row {
        margin-bottom: -30px;
    }

    .feat-items>.row>div {
        margin-bottom: 30px;
    }

    .request-block {
        padding: 20px;
    }

    .cinema-carousel .swiper-slide {
        width: 150px;
    }

    /*.cinema-item .cinema-img {
        height: 222px;
    }*/

    .cinema-item .category {
        margin-top: 12px;
    }

    .cinema-item .h4 {
        margin-top: 10px;
    }

    .cinema-schedule {
        margin-top: 15px;
        font-size: 12px;
    }

    .cinema-schedule ul li {
        margin-right: 10px;
    }

    .cinema-schedule ul li.closest a {
        border-width: 1px;
    }

    .article-section .text_block {
        font-size: 16px;
    }

    .photo-slider-descr {
        padding-bottom: 15px;
    }

    .photo-slider-descr .link-icon {
        font-size: 14px;
        letter-spacing: 0.3em;
    }

    .swiper-photo-wrap {
        margin-top: 30px;
    }

    .photo-slider {
        margin-left: -15px !important;
        margin-right: -15px !important;
    }

    .photo-slider-wrap {
        height: 300px;
    }

    .photo-pagination {
        margin-left: -10px !important;
        margin-right: -10px !important;
    }

    .photo-pagination .swiper-slide {
        height: 75px;
        width: 120px;
    }

    .filters-list {
        margin-bottom: 20px;
    }

    .promo-items .row>div {
        margin-bottom: 5px;
    }

    .promo-items .promo-item {
        max-width: none;
    }

    .promo-items .promo-item a {
        position: relative;
        min-height: 120px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .promo-items .promo-item .promo-img {
        height: 100%;
        margin-right: 15px;
    }

    .promo-items .promo-item .date {
        margin-top: 0;
        margin-bottom: 5px;
        font-size: 12px;
    }

    .promo-items .promo-item .h4 {
        margin: 0;
    }

    .promo-items .promo-item .descr {
        margin-top: 0;
        padding-top: 15px;
        padding-bottom: 15px;
        width: 100%;
    }

    .promo-items~.btn-wrap .btn {
        width: 100%;
    }

    .promo-items+.btn-wrap {
        margin-top: 50px;
    }

    .pagination {
        margin-top: 50px;
    }

    .pagination li {
        margin: 0;
    }

    .pagination li a {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

    .header.no-bg+section {
        padding-top: 100px;
    }

    .header.no-bg+section .main-banner-bottom {
        margin-top: 40px;
        padding-bottom: 0;
    }

    .events-top {
        margin-bottom: 40px;
    }

    .event-items>.row>div {
        margin-bottom: 0px;
    }

    .event-items+.btn-wrap {
        margin-top: 50px;
    }

    .event-items+.btn-wrap .btn {
        width: 100%;
    }

    .events-calendar {
        display: none;
        min-height: 50px;
        line-height: 50px;
    }

    .events-calendar .icon {
        width: 50px;
        height: 50px;
        line-height: 50px;
    }

    .events-calendar .icon img {
        padding: 12px;
    }

    .events-calendar .icon+.descr {
        padding-left: 70px;
    }

    .events-calendar .descr .h2 {
        margin-bottom: 0px;
    }

    .events-calendar .descr .link {
        display: none;
    }

    .fancybox-calendar .pop_calendar {
        -webkit-box-shadow: none;
        box-shadow: none;
        border: 0;
        padding: 50px 15px 15px !important;
    }

    .fancybox-calendar .pop_calendar .h1 {
        margin-bottom: 20px;
    }

    .fancybox-calendar .fancybox-close-small {
        right: 5px !important;
        top: 0 !important;
    }

    .fancybox-calendar .calendar-top {
        font-size: 12px;
        margin-bottom: 10px;
    }

    .fancybox-calendar .calendar-top .link-nav {
        font-size: 0;
        width: 40px;
        height: 40px;
    }

    .fancybox-calendar .calendar-top .link-nav .icon-arrow {
        position: absolute;
        left: 0;
        top: 26px;
        width: 24px !important;
    }

    .fancybox-calendar .calendar-top .link-next .icon-arrow {
        left: auto;
        right: 0;
    }

    .fancybox-calendar .calendar-top .month {
        font-size: 18px;
    }

    .pop_menu {
        padding: 15px 0 0 !important;
    }

    .pop_menu .search-field {
        margin-top: 20px;
    }

    .pop_menu .pop-menu {
        font-size: 14px;
        margin-top: 20px;
    }

    .pop_menu .pop-menu ul {
        margin-right: 0;
        margin-bottom: -10px;
    }

    .pop_menu .pop-menu li {
        margin-right: 20px;
        margin-bottom: 10px;
    }

    .pop_menu .event-item .event-descr {
        padding: 15px 15px 20px;
        min-height: 120px;
    }

    .pop_menu .event-item .event-descr .date {
        margin-bottom: 5px;
    }

    .pop_menu .event-item .event-descr .h4 {
        line-height: 1.1;
    }

    .pop_menu .header-links .language-choose {
        display: block;
        margin-right: 20px;
        margin-left: 0;
    }

    .pop_menu .social {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .pop_menu .pop-menu-wrap .footer-menu {
        display: none;
    }

    .pop_menu .footer-menu {
        padding: 0;
        font-size: 18px;
    }

    .pop_menu .footer-menu li {
        min-height: 1px;
        margin-bottom: 6px;
    }

    .pop_menu .link-icon .icon-svg {
        margin-right: 4px;
    }

    .pop_menu .footer-menu a {
        font-weight: normal;
    }

    .pop_menu .search-field {
        margin-bottom: 30px;
    }

    .pop_menu .footer-info .schedule-info {
        margin-top: 5px;
    }

    .pop_menu .footer-info .schedule-info .open-time {
        font-size: 16px;
    }

    .pop_menu .footer-info .tel {
        position: relative;
        padding-left: 30px;
        display: inline-block;
    }
    .pop_menu .footer-info .tel .icon-svg {
        width: 16px;
        height: 16px;
        position: absolute;
        left: 1px;
        top: 3px;
        z-index: 10;
        display: block;
    }
    /*.pop_menu .footer-info .tel:before {
        content: '';
        background: url(../img/icons/phone.svg) no-repeat 50% 50%/contain;
        
    }*/

    .pop_menu .footer-info .open-time {
        position: relative;
        padding-left: 23px;
    }

    .pop_menu .footer-info .open-time .icon-svg {
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        left: 0;
        top: 8px;
        z-index: 10;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .pop_menu .footer-info .address {
        position: relative;
        padding-left: 23px;
    }

    .pop_menu .footer-info .address:before,
    .pop_menu .footer-info .address .icon-svg {
        /*content: '';*/
        /*background: url(../img/icons/pin.svg) no-repeat 50% 50%/contain;*/
        display: block;
        width: 16px;
        height: 16px;
        position: absolute;
        left: 0;
        top: 5px;
        z-index: 10;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    .pop_menu .search-hidden-results {
        padding-top: 0px;
        padding-bottom: 30px;
    }

    .pop-top-content {
        margin-bottom: 20px;
    }

    .pop-bottom-content {
        padding-bottom: 15px;
    }

    .pop-menu-tabs .pop-title {
        display: block;
    }

    .pop-menu-tabs .pop-title .link-dashed {
        display: none;
    }

    .pop-title {
        display: none;
        margin-bottom: 15px;
    }

    .contacts-section .title-section {
        margin-bottom: 30px !important;
    }

    .contact-item {
        margin-bottom: 20px;
    }

    .contact-item .h4 {
        margin-bottom: 5px;
    }

    .contact-item .tel,
    .contact-item .mailto {
        font-size: 14px;
    }

    .map-directions {
        display: block;
        margin-bottom: 10px;
    }

    .map-directions .label {
        margin: 0 0 5px;
    }

    .map-directions li {
        margin-bottom: 5px;
    }

    #map {
        height: 400px;
        width: calc(100% + 30px);
        margin-left: -15px;
    }

    .search-section-top,
    .search-section-bottom {
        padding: 40px 0;
    }

    .search-section-top .h1 {
        margin: 30px 0 20px;
    }

    .categories-list {
        font-size: 16px;
    }

    .categories-list li {
        margin: 0 10px 10px;
    }

    .search-item {
        padding: 20px 20px 25px;
        margin-bottom: 5px;
    }

    .search-item .top {
        margin-bottom: 20px;
    }

    .search-item .btn {
        margin-top: 20px;
    }

    .search-categories-list {
        margin-top: 20px;
    }

    .search-items {
        margin-bottom: -5px;
    }

    .search-items .btn-wrap {
        margin-top: 30px;
    }

    .brand-items {
        margin-top: 30px;
        margin-left: -3px;
        margin-right: -3px;
    }

    .brand-item-wrap {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 6px;
        padding-left: 3px;
        padding-right: 3px;
    }

    .brand-item-wrap .brand-item {
        height: 150px;
        line-height: 150px;
    }

    .brand-item-wrap .brand-item.-letter .letter-front {
        font-size: 100px;
    }

    .brand-item-wrap .brand-item.-letter .letter-behind {
        font-size: 100px;
    }

    .error-section .search-field {
        margin-top: 20px;
    }

    .feat-block .feat-list {
        margin-bottom: 20px;
    }

    .feat-list li {
        margin-bottom: 20px;
    }

    .feat-section .img {
        margin-top: 30px;
    }

    .ben-items {
        margin-top: 40px;
    }

    .ben-item {
        height: 120px;
        margin-bottom: 10px;
    }

    .ben-item .img:before {
        content: none;
    }

    .ben-item .descr {
        color: #ffffff;
        padding: 0 15px 15px;
    }

    .ben-item .descr .h4 {
        margin-top: 10px;
    }

    .article-bg {
        margin-top: 20px;
        margin-bottom: 30px;
    }

    .event-detail-article .text_block {
        margin-top: 30px;
    }

    .event-detail-article {
        margin: 20px 0 0px;
    }

    .date-event {
        font-size: 12px;
        padding: 5px 15px 10px;
        top: 0;
        position: relative;
    }

    figcaption {
        font-size: 12px;
        margin-top: 5px;
    }

    .slider-standart~.swiper-banner-pagination {
        bottom: auto;
        top: 10px;
        right: 10px;
    }

    .slider-standart .h4 {
        margin-top: 10px;
    }

    .shops-content {
        margin-top: 30px;
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .shops-content .link-wrap {
        margin-top: 30px;
    }

    .shops-list+.tag-list {
        margin-top: 0;
    }

    .tag-list {
        margin-top: 30px;
    }

    .calendar-events-list {
        display: none;
    }

    .full-calendar-wrap {
        height: 400px;
    }

    .full-calendar-wrap .fc-day-number {
        font-size: 14px;
    }

    .full-calendar-wrap .fc-content {
        height: 16px;
        line-height: 16px;
    }

    .full-calendar-wrap .fc-more {
        font-size: 12px;
    }

    .full-calendar-wrap .fc-day-grid-event {
        margin-left: 0;
        margin-right: 0;
        padding-left: 10px !important;
    }

    .full-calendar-wrap .fc-day-grid-event:before {
        width: 3px;
        height: 3px;
        margin-top: -1px;
        left: 3px;
    }

    .full-calendar-wrap .fc-more-popover .fc-event-container {
        padding: 5px;
    }

    .gallery-items>.row>div {
        margin-bottom: 40px;
    }

    .gallery-item .img {
        height: auto;
        margin-bottom: 10px;
    }

    .gallery-item .img img {
        max-height: 300px;
    }

    .gallery-item .descr .h4 {
        margin-top: 5px;
    }

    .gallery-top {
        margin-bottom: 20px;
    }

    .gallery-story-item {
        margin-bottom: 10px;
    }

    .story-slider {
        /* max-height: calc(100vh - 112px); */
        /* max-height: calc(var(--vh, 1vh) * 100 - 112px); */
    }

    .title-pop {
        margin-bottom: 20px;
    }

    .title-pop .h2 {
        font-size: 18px;
    }

    .title-pop .h2 br {
        display: none;
    }

    .pop {
        vertical-align: top !important;
    }

    .pop .promo-items {
        margin-bottom: 30px;
    }

    .pop .promo-items>.row>div {
        margin-bottom: 5px;
    }

    .form-subscription .input-field button {
        position: relative;
        width: 100%;
    }

    .pop {
        padding-bottom: 30px !important;
    }

    .promo-item .promo-img:before,
    .promo-item .promo-img:after {
        content: none;
    }

    .fancybox-story .fancybox-slide {
        padding-right: 50px !important;
        padding-left: 6px !important;
    }

    .pop-app .pop-top {
        padding: 50px 15px 30px;
    }

    .pop-app .pop-top .h2 {
        margin-bottom: 20px;
    }

    .pop-app .pop-content {
        padding: 30px 15px 30px;
    }

    .pop-app .app-steps {
        margin-left: -15px;
        margin-right: -15px;
        padding-left: 15px;
        padding-right: 15px;
        padding-bottom: 10px;
        margin-bottom: 20px;
        overflow-y: hidden;
        overflow-x: auto;
    }

    .pop-app .app-steps ul {
        min-width: 400px;
    }

    .pop-app .app-steps li.divider {
        margin-left: 10px;
        margin-right: 10px;
    }

    .pop-app .app-steps-btns {
        margin-top: 40px;
        display: block;
    }

    .pop-app .app-steps-btns .btn {
        width: 100%;
    }

    .pop-app .app-steps-btns .btn+.btn {
        margin-top: 10px;
    }

    .input-field {
        margin-bottom: 20px;
    }

    .form-control {
        font-size: 20px;
        height: 46px;
    }

    .form-control+label {
        font-size: 14px;
        top: 14px;
    }

    #pop-subscription-events .fancybox-close-small {
        top: 0px !important;
    }

    .footer-item .social-wrap {
        margin-top: 30px;
        display: block;
    }

    .footer-item .social {
        margin-bottom: 20px;
        display: flex;
    }

    .partners-befenits {
        margin-top: 50px;
        margin-bottom: 0px;
    }

    .partner-ben-item {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 50px;
    }

    .partner-ben-item .icon {
        margin-bottom: 20px;
    }

    .presentation-section.pb-big {
        padding-bottom: 40px;
    }

    .footer-item {
        margin-bottom: 30px;
    }

    .footer-item .logo {
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
    }

    .categories-footer-list .count {
        height: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
        margin-left: 3px;
        background-color: #fff;
        color: #222222;
        width: 20px;
    }

    .footer .footer-menu {
        display: none;
    }

    .footer .footer-menu li {
        margin-bottom: 10px;
    }

    .footer .footer-menu a {
        font-size: 16px;
        text-transform: none;
        letter-spacing: 0;
    }

    .footer-menu-wrap+.footer-menu-wrap {
        margin-top: 15px;
    }

    .title-section .logo-shop img {
        max-height: 40px;
    }

    .events-top .filters-list {
        margin-top: 0;
    }

    .shops-list {
        display: block;
    }

    .shops-list li {
        margin-right: 0;
        display: block;
    }

    .shops-list li a {
        display: flex;
    }

    .shops-list li .link-icon {
        margin-left: auto;
    }

    .pop-alphabet {
        width: 100% !important;
        font-size: 16px;
        padding: 15px 0 15px 15px !important;
    }

    .pop-alphabet li {
        margin-bottom: 15px;
    }

    .pop-alphabet li a {
        padding-right: 100px;
        white-space: normal;
        line-height: normal;
        display: block;
    }

    .pop-alphabet .floor {
        width: 100px;
    }

    /*.fancybox-slide--html .fancybox-close-small {
        top: auto !important;
        bottom: 100% !important;
        right: -10px !important;
        left: auto !important;
    }*/

    .pop-alphabet:after {
        width: 100px;
    }

    .pop_menu .pop-menu-wrap .footer-info.-middle {
        margin: 0;
    }

    .main-banner-menu-wrap {
        margin-top: 15px;
    }
    .text-section {
        padding: 40px 0;
    }
    
    .promo-bubble {
        max-width: 50%;
        bottom: 10px;
        right: 20px;
    }
    .promo-bubble__close {
        right: -10px;
        width: 34px;
        height: 34px;
    }
    .promo-bubble__close svg {
        max-width: 40%;
        max-height: 40%;
    }
    .promo-bubble__picture-info {
        top: 20px;
        font-size: 15px;
    }
}

@media screen and (max-width: 320px) {
    body {
        width: 320px;
    }
}

/*Медиа запросы*/