// Hero ==========================
.hero {
    &_slider {
        position: relative;
    }

    &_item {
        height: calc(100vh - 160px);
        width: 100%;
        position: relative;

        &.slick-active {
            .hero_item-link {
                opacity: 1;
            }
        }

        &-photo {
            height: calc(100vh - 160px);
            width: 100%;

            img {
                @include ImgCov;
            }
        }

        &-link {
            position: absolute;
            right: 80px;
            bottom: 60px;
            display: flex;
            align-items: center;
            padding: 15px 25px;
            background: rgba(0, 0, 0, .6);
            border-radius: 10px;

            font-weight: 700;
            font-size: 14px;
            line-height: 17px;
            color: #FFFFFF;
            letter-spacing: .8px;

            @include transition;
            opacity: 0;

            &:hover {
                color: #000;
                background: $yellow;

                span {
                    path {
                        fill: #000;
                    }
                }
            }

            span {
                display: block;
                position: relative;
                margin-left: 10px;
                width: 25px;
                height: 15px;

                svg {
                    @include ImgCon;

                    path {
                        @include transition;
                    }
                }
            }
        }
    }

    .slider {
        &__counter {
            position: absolute;
            left: 80px;
            bottom: 60px;
            padding: 10px 0;
            width: 215px;
            background: rgba(0, 0, 0, .6);
            border-radius: 10px;

            color: #fff;
            font-weight: 700;
            font-size: 20px;
            line-height: 24px;

            display: flex;
            align-items: center;
            justify-content: center;
        }
    }
}

// Hero end ======================

// Shops ==========================
.shops {
    padding: 80px 0;

    &_tab {
        display: flex;
        align-items: center;
        justify-content: center;

        margin-bottom: 50px;

        &-link {
            padding: 10px 25px;
            margin-right: 10px;
            font-weight: 700;
            font-size: 18px;
            line-height: 22px;
            text-transform: uppercase;
            color: rgba(23, 23, 23, 0.5);
            display: block;
            position: relative;
            cursor: pointer;
            border-radius: 10px;
            @include transition;

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

            &.active {
                background: $black;
                color: #fff;

                &:hover {
                    background: $black;
                    color: #fff;
                }
            }

            &:hover {
                background: $yellow;
                color: $black;
            }
        }
    }

    &_block {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: -5px auto;
        max-width: 1440px;

        &.active {
            display: flex !important;

            .shops_item {
                animation: fadeInUp .5s linear;

                &:nth-child(2) {
                    animation-delay: .1s;
                }

                &:nth-child(3) {
                    animation-delay: .15s;
                }

                &:nth-child(4) {
                    animation-delay: .2s;
                }

                &:nth-child(5) {
                    animation-delay: .25s;
                }

                &:nth-child(6) {
                    animation-delay: .3s;
                }

                &:nth-child(7) {
                    animation-delay: .35s;
                }

                &:nth-child(8) {
                    animation-delay: .4s;
                }

                &:nth-child(9) {
                    animation-delay: .45s;
                }
            }
        }
    }

    &_item {
        width: calc(33.33% - 10px);
        max-width: 480px;
        height: 480px;

        margin: 5px;
        position: relative;
        display: block;

        &:hover {
            .shops_item {
                &-info {
                    max-height: 100%;
                    // transition: all 650ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
                    // transform-origin: left;
                    // animation: shop-item 2s linear;
                    opacity: 1;
                }

                // &-name {
                //     max-width: 100%;
                //     overflow: visible;
                // }
            }
        }

        &-photo {
            width: 100%;
            height: 100%;
            position: relative;
            z-index: -1;

            &::after {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, .5);
            }

            img {
                @include ImgCov;
            }
        }

        &-label {
            font-weight: 700;
            font-size: 14px;
            line-height: 17px;
            text-transform: uppercase;
            color: $black;
            padding: 10px 20px;
            background: $yellow;
            border-radius: 10px;

            position: absolute;
            top: 30px;
            left: 30px;
        }

        &-info {
            position: absolute;
            top: 30px;
            right: 30px;

            // transition: all 650ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
            transform-origin: right;
            @include transition;

            max-width: 130px;
            max-height: 0;
            overflow: hidden;
            opacity: 0;

            text-align: center;
        }

        &-name {
            font-weight: 700;
            font-size: 18px;
            line-height: 1.3;
            text-transform: lowercase;
            color: $black;
            background: #fff;
            padding: 25px 20px;
            border-radius: 10px 10px 0 0;
            display: flex;
            align-items: center;
            justify-content: center;

            // max-height: 0;
            // overflow: hidden;
            // @include transition;
        }

        &-floor {
            font-weight: 700;
            font-size: 40px;
            line-height: 1.4;
            text-align: center;
            text-transform: lowercase;
            color: $black;
            background: $yellow;
            padding: 15px 35px;
            border-radius: 0 0 10px 10px;

            display: flex;
            align-items: center;
            justify-content: center;

            span {
                display: inline-block;
                font-weight: 700;
                font-size: 18px;
                line-height: 1.4;
                text-align: center;
                text-transform: lowercase;
                color: $black;
                writing-mode: vertical-rl;
                transform: rotate(180deg);
                margin-left: 5px;
            }
        }

        &-content {
            position: absolute;
            bottom: 30px;
            left: 30px;
            width: calc(100% - 60px);

            p {
                font-weight: 400;
                font-size: 14px;
                line-height: 17px;
                color: rgba(255, 255, 255, 0.7);

                display: flex;
                align-items: center;
                margin-bottom: 10px;

                span {
                    display: inline-block;
                    margin-right: 10px;
                    width: 15px;
                    height: 15px;

                    img {
                        @include ImgCon;
                    }
                }
            }

            &-txt {
                font-style: normal;
                font-weight: 700;
                font-size: 24px;
                line-height: 1.4;
                color: #fff;

                text-overflow: ellipsis;
                display: -webkit-box;
                -webkit-line-clamp: 3;
                -webkit-box-orient: vertical;
                overflow: hidden;
                text-overflow: ellipsis;
            }
        }
    }
}

// @keyframes shop-info {
//     0% {
//         opacity: 0;
//     }
//     100% {
//         opacity: 1;
//     }
// }

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

// Shops end ======================

// Movie ==========================
.movie {
    padding: 80px 0;
    background: url("../images/movie-bg.png") no-repeat center;
    background-size: cover;
    animation: movie-bg 40s infinite ease-in-out;

    &_wrap {
        overflow: hidden;
    }

    &_row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 30px;
    }

    .slick {
        &-track {
            display: flex !important;
        }

        &-slide {
            height: unset !important;
        }
    }

    &_logo {
        display: flex;
        align-items: center;

        font-weight: 700;
        font-size: 24px;
        line-height: 29px;
        color: #FFFFFF;

        span {
            width: 75px;
            height: 75px;
            margin-right: 30px;
            display: block;

            img {
                @include ImgCon;
            }
        }
    }

    &_link {
        display: flex;
        align-items: center;

        font-weight: 700;
        font-size: 18px;
        line-height: 22px;
        text-decoration-line: underline;
        color: $yellow;

        span {
            display: block;
            width: 20px;
            height: 20px;
            margin-right: 15px;

            svg {
                @include ImgCon;
            }
        }
    }

    &_slider {
        display: flex;
        margin: 0 -10px;
    }

    &_item {
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        position: relative;

        width: calc(16.66% - 20px);
        margin: 0 10px;

        &-photo {
            height: 360px;
            width: 100%;

            img {
                @include ImgCon;
            }
        }

        &-title {
            margin: 15px 0 8px;
            font-weight: 700;
            font-size: 20px;
            line-height: 1.4;
            color: $yellow;
        }

        &-genre {
            font-weight: 400;
            font-size: 16px;
            line-height: 1.3;
            color: #FFFFFF;
        }

        &-link {
            margin-top: 30px;
            background: $yellow;
            color: $black;

            display: flex;
            align-items: center;
            justify-content: center;
            padding: 15px 10px;
            width: calc(100% - 20px);
            border-radius: 10px;

            font-weight: 700;
            font-size: 12px;
            line-height: 15px;
            cursor: pointer;
            @include transition;

            &:hover {
                background: $black;
                color: $yellow;

                span {
                    path {
                        fill: $yellow;
                        ;
                    }
                }
            }

            span {
                width: 15px;
                height: 15px;
                margin-left: 15px;

                svg {
                    @include ImgCon;
                }
            }
        }
    }

    &_all {
        display: flex;
        align-items: center;
        justify-content: center;

        h6 {
            display: flex;
            align-items: center;

            background: $yellow;
            color: $black;
            padding: 15px 25px;
            cursor: pointer;
            font-weight: 700;
            font-size: 12px;
            line-height: 15px;
            border-radius: 10px;
            margin-top: 140px;

            span {
                width: 15px;
                height: 15px;
                display: block;
                margin-left: 10px;

                svg {
                    @include ImgCon;

                    path {
                        @include transition;
                    }
                }
            }
        }
    }

    &_poster {
        .inner {
            width: calc(100% - 30px);
            max-width: 510px;
            height: unset;
            max-height: calc(100% - 20px);
            background: unset;
        }

        &-photo {
            width: 100%;

            img {
                @include ImgCon;
                display: block;
            }
        }
    }

}

@keyframes movie-bg {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0 0;
    }
}

@-webkit-keyframes movie-bg {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 100% 100%;
    }

    100% {
        background-position: 0 0;
    }
}

// Movie end ======================

// Restaurant ==========================
.rest {
    padding: 80px 0;
    background: url("../images/restaurant-bg.png") no-repeat center;
    background-size: cover;

    &.page {
        background: #fff;

        .rest {
            &_block {
                max-width: unset;
            }

            &_item {
                width: calc(25% - 28px);
                margin: 15px 12px;
            }
        }
    }

    &_tabs {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 50px;

        &-link {
            display: block;
            position: relative;
            padding: 12px 25px;
            border-radius: 10px;
            @include transition;
            cursor: pointer;
            margin-right: 10px;

            color: rgba(23, 23, 23, 0.5);
            font-weight: 700;
            font-size: 18px;
            line-height: 1.3;
            text-transform: uppercase;

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

            &.active {
                background: $black;
                color: #fff;

                &:hover {
                    background: $black;
                    color: #fff;
                }
            }

            &:hover {
                background: $yellow;
                color: $black;
            }
        }
    }

    &_block {
        display: flex;
        // justify-content: center;
        flex-wrap: wrap;
        max-width: 1350px;
        margin: 0 auto;
        position: relative;

        &.active {
            display: flex !important;
            animation: tabActive .3s linear;
        }
    }

    &_item {
        width: calc(33.33% - 54px);
        // max-width: 400px;
        margin: 25px;
        border: 2px solid rgba(41, 41, 41, 0.5);
        border-radius: 5px 5px 0px 0px;
        background: #fff;
        display: block;
        position: relative;

        @include transition;
        // max-height: 0;
        // overflow: hidden;

        &-photo {
            width: 100%;
            height: 290px;
            display: block;

            img {
                @include ImgCov;
                display: block;
            }
        }

        &-info {
            background: $black;
            padding: 25px 20px;
        }

        &-title {
            font-weight: 700;
            font-size: 18px;
            line-height: 1.3;
            text-transform: uppercase;
            color: #FFFFFF;

            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        &-txt {
            font-weight: 400;
            font-size: 14px;
            line-height: 1.2;
            color: #FFFFFF;
            margin: 10px 0 25px;
            min-height: 34px;

            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        &-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        &-floor {
            padding: 10px 15px;
            background: $yellow;
            color: $black;
            font-size: 15px;
            font-weight: 700;
            line-height: 1.2;
            border-radius: 5px;
            text-transform: uppercase;
        }

        &-link {
            font-weight: 700;
            font-size: 15px;
            line-height: 1.2;
            color: $gray;
            background: $yellow;
            padding: 10px;
            border-radius: 4px;

            display: flex;
            align-items: center;
            @include transition;
            border: 1px solid transparent;

            &:hover {
                background: transparent;
                border-color: $yellow;
                color: $yellow;

                path,
                rect {
                    stroke: $yellow;
                }
            }

            span {
                display: block;
                margin-left: 7px;
                width: 16px;
                height: 16px;

                svg {
                    @include ImgCon;

                    path,
                    rect {
                        @include transition;
                        stroke: $gray;
                    }
                }
            }
        }
    }
}

.pag {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 50px;

    &_group {
        display: flex;
        align-items: center;

        input {
            font-weight: 700;
            font-size: 18px;
            line-height: 25px;
            text-align: center;
            color: #1C1717;
            width: 90px;
            margin: 0 7px;
        }
    }

    &_btn {
        display: block;
        width: 45px;
        height: 45px;

        svg {
            @include ImgCon;
        }
    }

    &_txt {
        font-weight: 400;
        font-size: 18px;
        line-height: 25px;
        color: #7D7D7D;
    }
}

@keyframes tabActive {
    0% {
        top: 40px;
        opacity: .3;
    }

    100% {
        top: 0;
        opacity: 1;
    }
}

// Restaurant end ======================


.tabItem {
    display: none;

    &.active {
        display: block;
    }
}

.tabInfo {
    display: none;

    &.active {
        display: block;
    }
}

.heroItem {
    display: none;

    &.active {
        display: block;
    }
}