/**
 * Dynamic Slider 1.0.0 (https://codings.dev)
 * Copyright 2022 Codings
 */
:root .dynamic-slider.scheme-1 {
    --color-1: var(--black-color);
    --color-2: var(--black-color)
}

:root .dynamic-slider.scheme-2 {
    --color-1: var(--white-color);
    --color-2: #1e1e24
}

.dynamic-slider-open header {
    pointer-events: none
}

.dynamic-slider {
    overflow: hidden;
    height: 100vh;
    display: grid;
    grid-template-columns:45% 55%;
    grid-template-rows:25% 25% 25% 25%;
    grid-template-areas:"slide-index expander""... expander""... expander""slide-navigation expander"
}

.dynamic-slider .slide-info-menu {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    grid-area: expander;
    pointer-events: none
}

.dynamic-slider .slide-info-menu-close {
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none
}

.dynamic-slider .slide-info-open .slide-info-menu-close {
    pointer-events: auto
}

.dynamic-slider .slide-info-toggle {
    position: absolute;
    bottom: 4.5vw;
    left: 5vw;
    width: auto;
    height: auto;
    display: flex;
    align-items: flex-end;
    cursor: pointer;
    pointer-events: auto
}

.dynamic-slider .slide-info-toggle:before {
    content: '';
    position: absolute;
    left: -1.5vw;
    bottom: -4.5vw;
    width: 20vw;
    height: 8vw;
    background-color: var(--color-2);
    background: -webkit-linear-gradient(180deg, transparent 20%, var(--color-2) 50%);
    background: -o-linear-gradient(180deg, transparent 20%, var(--color-2) 50%);
    background: linear-gradient(180deg, transparent 20%, var(--color-2) 50%);
    -webkit-transition: all .8s ease;
    -o-transition: all .8s ease;
    -moz-transition: all .8s ease;
    transition: all .8s ease;
    pointer-events: none
}

.dynamic-slider .slide-info-toggle.disabled {
    cursor: pointer
}

.dynamic-slider .slide-info-toggle.disabled:active {
    pointer-events: none
}

.dynamic-slider-open .dynamic-slider .slide-info-toggle:before {
    height: 16vw
}

.dynamic-slider-open .dynamic-slider .slide-info-toggle {
    height: initial
}

.dynamic-slider .slide-info-open .slide-info-toggle {
    pointer-events: none
}

.dynamic-slider .slide-info-toggle .arrow-button {
    padding: 0
}

.dynamic-slider .slide-info-toggle .arrow-button .arrow {
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out
}

.dynamic-slider-open .dynamic-slider .slide-info-toggle .arrow-button .arrow {
    opacity: 0
}

.dynamic-slider .slide-index {
    position: relative;
    z-index: 1;
    top: 30px;
    right: 30px;
    width: auto;
    min-width: 120px;
    height: 22px;
    display: flex;
    align-self: center;
    justify-self: center;
    grid-area: 1 / 1 / span 2 / span 2;
    transform: rotate(-90deg);
    font-family: var(--secondary-font);
    font-size: .85rem;
    font-weight: 500;
    letter-spacing: 1px
}

.dynamic-slider .slide-index-current {
    position: relative;
    width: 50%;
    text-align: left
}

.dynamic-slider .slide-index-current::before {
    content: '';
    position: absolute;
    right: 0;
    bottom: 11px;
    width: 60%;
    height: 2px;
    background-color: var(--color-1)
}

.dynamic-slider .slide-index-inner {
    display: block
}

.dynamic-slider .slide-index-total {
    position: relative;
    width: 50%;
    text-align: right
}

.dynamic-slider .slide-index-total:before {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 11px;
    width: 60%;
    height: 2px;
    background-color: var(--color-1)
}

.dynamic-slider .slide-navigation {
    z-index: 2;
    padding: 0 5vw;
    display: block;
    grid-area: slide-navigation;
    text-align: right
}

.dynamic-slider .slide-navigation .slide-navigation-item-prev {
    margin-right: 5px
}

.dynamic-slider .slide-item {
    display: grid;
    grid-area: 1 / 1 / 5 / 4;
    grid-template-columns:50% 22% 28%;
    grid-template-rows:26% 54% 20%;
    grid-template-areas:"... slide-image-wrapper slide-image-wrapper""slide-content slide-image-wrapper slide-image-wrapper""... ... more";
    pointer-events: none
}

.dynamic-slider .slide-item:not(.current-slide) {
    pointer-events: none
}

.dynamic-slider .current-slide {
    pointer-events: auto
}

.dynamic-slider .slide-content {
    width: 100%;
    max-width: 100%;
    padding: 0 5vw;
    grid-area: slide-content
}

.dynamic-slider .slide-title {
    overflow: hidden;
    position: relative
}

.dynamic-slider .slide-title span {
    display: inline-block
}

.dynamic-slider .slide-item:not(.current-slide) .slide-title span {
    opacity: 0
}

.dynamic-slider .slide-description {
    overflow: hidden;
    position: relative;
    margin-right: 5vw
}

.dynamic-slider .slide-item:not(.current-slide) .slide-description {
    opacity: 0
}

.dynamic-slider mark.active:before {
    animation: none
}

.dynamic-slider .current-slide mark.active:before {
    animation: width-animation .5s forwards
}

.dynamic-slider .slide-image-wrapper {
    overflow: hidden;
    z-index: 2;
    height: auto;
    grid-area: slide-image-wrapper;
    pointer-events: none
}

.dynamic-slider .slide-item:fist-of-type .slide-image-wrapper {
    background-color: var(--success-color)
}

.dynamic-slider .slide-image-inner {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 50%
}

.dynamic-slider .slide-item:not(.current-slide) .slide-image-inner {
    opacity: 0
}

.dynamic-slider .slide-image-inner .slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dynamic-slider .slide-info {
    position: relative;
    z-index: 3;
    left: -5vw;
    width: calc(100% + 5vw);
    margin: 0;
    padding: 4.5vw 5vw;
    list-style: none;
    grid-area: 1 / 2 / 4 / 3;
    background-color: transparent
}

.dynamic-slider-open .dynamic-slider .current-slide .slide-info {
    overflow-y: auto;
    overflow-x: hidden;
    pointer-events: auto;
    padding-bottom: 9vw
}

.dynamic-slider-open .dynamic-slider .current-slide .slide-info::-webkit-scrollbar {
    display: none
}

.dynamic-slider .slide-info-item {
    display: block;
    margin: 0 0 2.2rem 0 !important;
    cursor: pointer;
    transition: initial
}

.dynamic-slider .slide-item:not(.current-slide) .slide-info-item {
    opacity: 0
}

.dynamic-slider .slide-info-item.fix {
    max-height: 59px
}

.dynamic-slider .current-slide .slide-info-item {
    pointer-events: auto
}

body:not(.dynamic-slider-open) .dynamic-slider .slide-info-item.disabled {
    pointer-events: none
}

.dynamic-slider .slide-info-button {
    position: relative;
    width: 100%;
    max-width: 200px;
    margin: 4rem 0 2rem 0;
    display: block;
    cursor: pointer;
    color: var(--white-color)
}

.dynamic-slider .slide-info-title {
    margin: 0 0 .5rem;
    font-size: 1rem;
    font-weight: 400;
    color: var(--white-color)
}

.dynamic-slider .slide-info-title .icon {
    position: relative;
    top: 0;
    left: 5px;
    font-size: 12px;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

.dynamic-slider .slide-info-item:hover .slide-info-title .icon {
    left: 10px
}

.dynamic-slider .slide-info-detail {
    overflow: hidden;
    width: 100%;
    max-width: 35vw;
    height: 50px;
    display: block;
    font-size: 1rem;
    color: var(--gray-color);
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    transition-delay: .2s
}

.dynamic-slider .slide-info-detail.show {
    height: 120px
}

.dynamic-slider .slide-info-detail .hide {
    height: 0;
    transform: translateY(100%);
    opacity: 0;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
    transition-delay: .5s
}

.dynamic-slider-open .dynamic-slider .slide-info-detail .hide {
    height: auto;
    transform: translateY(0);
    opacity: 1
}

.dynamic-slider .slide-info-detail span {
    opacity: 1;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    transition: all .4s ease-in-out;
    transition-delay: .2s
}

.dynamic-slider-open .dynamic-slider .slide-info-detail {
    height: 100px
}

.dynamic-slider-open .dynamic-slider .slide-info-detail.fix {
    height: 100%
}

.dynamic-slider-open .dynamic-slider .slide-info-detail .ellipse {
    font-size: 0
}

.dynamic-slider .slide-action {
    grid-area: more;
    overflow: hidden;
    display: flex;
    align-items: stretch
}

.dynamic-slider .slide-action-inner {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.dynamic-slider .slide-item:not(.current-slide) .slide-action-inner {
    opacity: 0
}

.dynamic-slider .slide-action-title {
    margin: 0 0 .5rem 0;
    display: block;
    color: var(--gray-color)
}

.dynamic-slider .slide-item:not(.current-slide) .slide-action-title {
    opacity: 0
}

.dynamic-slider .slide-item:not(.current-slide) .slide-action-link {
    opacity: 0
}

.dynamic-slider .slide-item .slide-action-link {
    display: flex;
    align-items: center
}

.dynamic-slider .slide-action .icon {
    margin-left: 5px;
    font-size: 14px;
    -webkit-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out
}

.dynamic-slider .slide-expander {
    position: relative;
    right: 5vw;
    z-index: 2;
    width: 100%;
    grid-area: 1 / 2 / 4 / 4;
    transform-origin: 0 0;
    background-color: var(--color-2)
}

@media (max-width: 1199px) {
    .dynamic-slider .slide-content {
        padding: 0 3vw
    }
}

@media (max-width: 991px) {
    .dynamic-slider {
        overflow: initial;
        height: auto;
        display: grid;
        grid-template-columns:100%;
        grid-template-rows:100%;
        grid-template-areas:"slide-navigation";
        align-items: flex-start
    }

    .dynamic-slider .slide-index {
        display: none
    }

    .dynamic-slider .slide-navigation {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 2rem
    }

    .dynamic-slider.is-banner .slide-navigation {
        display: none
    }

    .dynamic-slider .slide-info-menu {
        display: none
    }

    .dynamic-slider .slide-expander {
        display: none
    }

    .dynamic-slider .slide-item {
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 44px
    }

    .dynamic-slider.is-banner .slide-item {
        padding-bottom: 0
    }

    .dynamic-slider .slide-content {
        width: 100%;
        margin-bottom: 2rem;
        padding: 1rem 2rem 2rem 2rem;
        flex: 0 0 auto;
        order: 2
    }

    .dynamic-slider.is-banner .slide-content {
        margin-bottom: 0
    }

    .dynamic-slider .slide-description {
        margin-right: 0
    }

    .dynamic-slider .slide-image-wrapper {
        width: 100%;
        height: 25vh;
        flex: 0 0 auto;
        order: 1
    }

    .dynamic-slider .slide-action {
        width: 100%;
        padding: 2rem 2rem 0;
        display: block;
        flex: 0 0 auto;
        order: 1;
        font-size: .95rem
    }

    .dynamic-slider .slide-action-inner {
        padding: 0;
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        align-items: center
    }

    .dynamic-slider .slide-action-title {
        margin: 0 1rem 0 0;
        display: block
    }

    .dynamic-slider .slide-info {
        display: none
    }

    .dynamic-slider .slide-info-item {
        transform: none !important;
        opacity: 1 !important
    }

    .dynamic-slider .slide-gallery {
        display: none
    }
}

@media (max-width: 424px) {
    .dynamic-slider .slide-action-inner {
        display: block
    }
}
