.dui-carousel {
    position: relative;
}

.dui-carousel-indicators {
    width: 100%;
    text-align: center;
    position: absolute;
    bottom: var(--dui-carousel-indicators-bottom);
    z-index: var(--dui-carousel-indicators-z-inex);
    padding: var(--dui-carousel-indicators-padding);
}

.dui-slide-indicator {
    display: inline-block;
    width: var(--dui-carousel-indicator-size);
    height: var(--dui-carousel-indicator-size);
    margin: var(--dui-carousel-indicator-margin);
    cursor: pointer;
    background: none;
    border: var(--dui-carousel-indicator-border);
    border-radius: var(--dui-carousel-indicator-border-radius);
}

.dui-slide-indicator.dui-active {
    width: var(--dui-carousel-indicator-active-size);
    height: var(--dui-carousel-indicator-active-size);
    margin: var(--dui-carousel-indicator-active-margin);
    background: var(--dui-carousel-indicator-active-background);
}

.dui-carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    max-height: 100%;
}

.dui-carousel-inner>.dui-slide {
    position: relative;
    display: none;
    -webkit-transition: var(--dui-carousel-transition-duration) ease-in-out left;
    -o-transition: var(--dui-carousel-transition-duration) ease-in-out left;
    transition: var(--dui-carousel-transition-duration) ease-in-out left;
}

.dui-carousel-inner>.dui-slide>img.dui,
.carousel-inner>.item>a>img {
    line-height: 1;
}

@media all and (transform-3d),
(-webkit-transform-3d) {

    .dui-carousel-inner>.dui-slide {
        -webkit-transition: -webkit-transform var(--dui-carousel-transition-duration) ease-in-out;
        -o-transition: -o-transform var(--dui-carousel-transition-duration) ease-in-out;
        transition: transform var(--dui-carousel-transition-duration) ease-in-out;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        -webkit-perspective: 1000px;
        perspective: 1000px;
    }

    .dui-slide.dui-slide-next,
    .dui-slide.dui-active.dui-slide-right {
        left: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    .dui-slide.dui-slide-prev,
    .dui-slide.dui-active.dui-slide-left {
        left: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    .dui-slide.dui-slide-next.dui-slide-left,
    .dui-slide.dui-slide-prev.dui-slide-right,
    .dui-slide.dui-active {
        left: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.dui-carousel-inner>.dui-active,
.dui-carousel-inner>.dui-slide-next,
.dui-carousel-inner>.dui-slide-prev {
    display: block;
}

.dui-carousel-inner>.dui-active {
    left: 0;
}

.dui-carousel-inner>.dui-slide-next,
.dui-carousel-inner>.dui-slide-prev {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    margin: auto;
    object-fit: contain;
}

.dui-carousel-inner>.dui-slide-next {
    left: 100%;
}

.dui-carousel-inner>.dui-slide-prev {
    left: -100%;
}

.dui-carousel-inner>.dui-slide-next.dui-slide-left,
.dui-carousel-inner>.dui-slide-prev.dui-slide-right {
    left: 0;
}

.dui-carousel-inner>.dui-slide-active.dui-slide-left {
    left: -100%;
}

.dui-carousel-inner>.dui-slide-active.dui-slide-right {
    left: 100%;
}

.dui-carousel-inner>.dui-slide>img.dui,
.dui-carousel-inner>.dui-slide->a.dui>img.dui,
.dui-carousel-inner>.dui-slide->picture.dui img.dui,
.dui-carousel-inner>.dui-slide->a>picture.dui img.dui {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    border: 0;
    margin: auto;
    object-fit: contain;
}

.dui-carousel-control {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 15%;
    font-size: 20px;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
    background-color: rgba(0, 0, 0, 0);
    filter: alpha(opacity=50);
    opacity: .5;
    cursor: pointer !important;
}

.dui-carousel-control.dui-slide-left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
    background-repeat: repeat-x;
    color: #fff;
}

.dui-carousel-control.dui-slide-right {
    right: 0;
    left: auto;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
    background-repeat: repeat-x;
    color: #fff;
}

.dui-carousel-control:hover,
.dui-carousel-control:focus {
    text-decoration: none;
    filter: alpha(opacity=90);
    outline: 0;
    opacity: .9;
}

.dui-slide-caption {
    width: 100%;
    position: absolute;
    bottom: 20px;
    z-index: 10;
    padding: var(--dui-carousel-slide-caption-padding);
    color: var(--dui-carousel-slide-caption-color);
    text-align: center;
    text-shadow: var(--dui-carousel-slide-caption-text-shadow);
}

.dui-slide-caption .dui-btn {
    text-shadow: none;
}