.carousel {
    text-align: center;
    position: relative;
    opacity: 0;
    margin: 0 auto;
    transition: opacity 0.5s;
}

    .carousel .carousel-container-inner {
        margin: 0 auto;
        position: relative;
    }

    .carousel .carousel-viewport {
        overflow: hidden;
        white-space: nowrap;
        text-align: left;
    }

    .carousel .carousel-arrow-default {
        border: 3px solid !important;
        border-radius: 50%;
        color: rgba(255, 255, 255, 0.9);
        height: 32px;
        width: 32px;
        font-weight: 900;
        background: rgba(0, 0, 0, 0.15);
    }

    .carousel .carousel-arrow {
        position: absolute;
        z-index: 1;
        bottom: 23px;
        padding: 0;
        cursor: pointer;
        border: none;
    }

        .carousel .carousel-arrow:focus {
            outline: none;
        }

        .carousel .carousel-arrow:before {
            font-size: 19px;
            display: block;
            margin-top: -2px;
        }

        .carousel .carousel-arrow:disabled {
            cursor: not-allowed;
            opacity: 0.5;
        }

    .carousel .carousel-left-arrow {
        left: 23px;
    }

    .carousel .carousel-right-arrow {
        right: 23px;
    }

    .carousel .carousel-left-arrow.carousel-arrow-default:before {
        content: '<';
        padding-right: 2px;
    }

    .carousel .carousel-right-arrow.carousel-arrow-default:before {
        content: '>';
        padding-left: 2px;
    }

    .carousel .carousel-top-arrow {
        top: 75px;
    }

    .carousel .carousel-bottom-arrow {
        bottom: 75px;
    }

    .carousel .carousel-top-arrow.carousel-arrow-default:before {
        content: '\1431';
        padding-bottom: 2px;
    }

    .carousel .carousel-bottom-arrow.carousel-arrow-default:before {
        content: '\142F';
        padding-top: 2px;
    }

    .carousel .carousel-track {
        list-style: none;
        padding: 0;
        margin: 0;
        touch-action: pan-y pinch-zoom;
    }

        .carousel .carousel-track .carousel-slide {
            display: inline-block;
            opacity: 0.7;
            transition: opacity 0.5s ease-in-out;
        }

            .carousel .carousel-track .carousel-slide > * {
                display: block;
                white-space: normal;
            }

            .carousel .carousel-track .carousel-slide.carousel-slide-loading {
                background: rgba(204, 204, 204, 0.7);
            }

            .carousel .carousel-track .carousel-slide.carousel-slide-fade {
                position: absolute;
                left: 50%;
                transform: translateX(-50%);
                opacity: 0;
            }

            .carousel .carousel-track .carousel-slide.carousel-slide-selected {
                opacity: 1;
                z-index: 1;
            }

    .carousel.loaded {
        opacity: 1;
    }

    .carousel .carousel-dots {
        list-style: none;
        padding: 0;
        margin: 0;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -30px;
        text-align: center;
    }

        .carousel .carousel-dots li {
            display: inline-block;
        }

        .carousel .carousel-dots button {
            border: 0;
            background: transparent;
            font-size: 1.1em;
            cursor: pointer;
            color: #CCC;
            padding-left: 6px;
            padding-right: 6px;
        }

            .carousel .carousel-dots button.selected {
                color: black;
            }

            .carousel .carousel-dots button:focus {
                outline: none;
            }

[dir="rtl"] .carousel .carousel-viewport {
    text-align: right;
}

[dir="rtl"] .carousel .carousel-left-arrow {
    left: unset;
    right: 23px;
}

[dir="rtl"] .carousel .carousel-right-arrow {
    right: unset;
    left: 23px;
}

[dir="rtl"] .carousel .carousel-left-arrow.carousel-arrow-default:before {
    padding-left: 2px;
    padding-right: unset;
}

[dir="rtl"] .carousel .carousel-right-arrow.carousel-arrow-default:before {
    padding-right: 2px;
    padding-left: unset;
}
