.el-carousel {
    --el-carousel-arrow-font-size: 12px;
    --el-carousel-arrow-size: 36px;
    --el-carousel-arrow-background: rgba(31, 45, 61, .11);
    --el-carousel-arrow-hover-background: rgba(31, 45, 61, .23);
    --el-carousel-indicator-width: 30px;
    --el-carousel-indicator-height: 2px;
    --el-carousel-indicator-padding-horizontal: 4px;
    --el-carousel-indicator-padding-vertical: 12px;
    --el-carousel-indicator-out-color: var(--el-border-color-hover);
    position: relative
}

.el-carousel--horizontal,
.el-carousel--vertical {
    overflow: hidden
}

.el-carousel__container {
    height: 300px;
    position: relative
}

.el-carousel__arrow {
    align-items: center;
    background-color: var(--el-carousel-arrow-background);
    border: none;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font-size: var(--el-carousel-arrow-font-size);
    height: var(--el-carousel-arrow-size);
    justify-content: center;
    margin: 0;
    outline: none;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    transition: var(--el-transition-duration);
    width: var(--el-carousel-arrow-size);
    z-index: 10
}

.el-carousel__arrow--left {
    left: 16px
}

.el-carousel__arrow--right {
    right: 16px
}

.el-carousel__arrow:hover {
    background-color: var(--el-carousel-arrow-hover-background)
}

.el-carousel__arrow i {
    cursor: pointer
}

.el-carousel__indicators {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    z-index: calc(var(--el-index-normal) + 1)
}

.el-carousel__indicators--horizontal {
    bottom: 0;
    left: 50%;
    transform: translate(-50%)
}

.el-carousel__indicators--vertical {
    right: 0;
    top: 50%;
    transform: translateY(-50%)
}

.el-carousel__indicators--outside {
    bottom: calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);
    position: static;
    text-align: center;
    transform: none
}

.el-carousel__indicators--outside .el-carousel__indicator:hover button {
    opacity: .64
}

.el-carousel__indicators--outside button {
    background-color: var(--el-carousel-indicator-out-color);
    opacity: .24
}

.el-carousel__indicators--right {
    right: 0
}

.el-carousel__indicators--labels {
    left: 0;
    right: 0;
    text-align: center;
    transform: none
}

.el-carousel__indicators--labels .el-carousel__button {
    color: #000;
    font-size: 12px;
    height: auto;
    padding: 2px 18px;
    width: auto
}

.el-carousel__indicators--labels .el-carousel__indicator {
    padding: 6px 4px
}

.el-carousel__indicator {
    background-color: transparent;
    cursor: pointer
}

.el-carousel__indicator:hover button {
    opacity: .72
}

.el-carousel__indicator--horizontal {
    display: inline-block;
    padding: var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)
}

.el-carousel__indicator--vertical {
    padding: var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)
}

.el-carousel__indicator--vertical .el-carousel__button {
    height: calc(var(--el-carousel-indicator-width)/2);
    width: var(--el-carousel-indicator-height)
}

.el-carousel__indicator.is-active button {
    opacity: 1
}

.el-carousel__button {
    background-color: #fff;
    border: none;
    cursor: pointer;
    display: block;
    height: var(--el-carousel-indicator-height);
    margin: 0;
    opacity: .48;
    outline: none;
    padding: 0;
    transition: var(--el-transition-duration);
    width: var(--el-carousel-indicator-width)
}

.carousel-arrow-left-enter-from,
.carousel-arrow-left-leave-active {
    opacity: 0;
    transform: translateY(-50%) translate(-10px)
}

.carousel-arrow-right-enter-from,
.carousel-arrow-right-leave-active {
    opacity: 0;
    transform: translateY(-50%) translate(10px)
}

.el-transitioning {
    filter: url(#elCarouselHorizontal)
}

.el-transitioning-vertical {
    filter: url(#elCarouselVertical)
}

.el-carousel__item {
    display: inline-block;
    height: 100%;
    left: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    width: 100%
}

.el-carousel__item,
.el-carousel__item.is-active {
    z-index: calc(var(--el-index-normal) - 1)
}

.el-carousel__item--card,
.el-carousel__item.is-animating {
    transition: transform .4s ease-in-out
}

.el-carousel__item--card {
    width: 50%
}

.el-carousel__item--card.is-in-stage {
    cursor: pointer;
    z-index: var(--el-index-normal)
}

.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,
.el-carousel__item--card.is-in-stage:hover .el-carousel__mask {
    opacity: .12
}

.el-carousel__item--card.is-active {
    z-index: calc(var(--el-index-normal) + 1)
}

.el-carousel__item--card-vertical {
    height: 50%;
    width: 100%
}

.el-carousel__mask {
    background-color: var(--el-color-white);
    height: 100%;
    left: 0;
    opacity: .24;
    position: absolute;
    top: 0;
    transition: var(--el-transition-duration-fast);
    width: 100%
}