.carousel {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

    .carousel-inner > .item {
        display: none;
        position: relative;
        -webkit-transition: 0.6s ease-in-out left;
        -moz-transition: 0.6s ease-in-out left;
        -o-transition: 0.6s ease-in-out left;
        transition: 0.6s ease-in-out left;
    }


@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-inner > .item {
        -webkit-transition: -webkit-transform 0.6s ease-in-out;
        -moz-transition: -moz-transform 0.6s ease-in-out;
        -o-transition: -o-transform 0.6s ease-in-out;
        transition: transform 0.6s ease-in-out;
    }

        .carousel-inner > .item.next,
        .carousel-inner > .item.active.right {
            -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
            left: 0;
        }

        .carousel-inner > .item.prev,
        .carousel-inner > .item.active.left {
            -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
            left: 0;
        }

            .carousel-inner > .item.next.left,
            .carousel-inner > .item.prev.right,
            .carousel-inner > .item.active {
                -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
                left: 0;
            }
}

.carousel-inner > .active, .carousel-inner > .next, .carousel-inner > .prev {
    display: block;
}

.carousel-inner > .active {
    left: 0;
}

.carousel-inner > .next, .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%;
}

.carousel-inner > .next {
    left: 100%;
}

.carousel-inner > .prev {
    left: -100%;
}

    .carousel-inner > .next.left, .carousel-inner > .prev.right {
        left: 0;
    }

.carousel-inner > .active.left {
    left: -100%;
}

.carousel-inner > .active.right {
    left: 100%;
}

.carousel-control {
    position: absolute;
    top: -100px;
    left: 0;
    bottom: 0;
    width: 5%;
    filter: alpha(opacity=50);
    font-size: 20px;
    text-align: center;
    text-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
    color: #ffffff;
}

    .carousel-control.right {
        left: auto;
        right: 0;
    }

    .carousel-control:hover, .carousel-control:focus {
        outline: 0;
        color: #c49404;
        text-decoration: none;
    }

    .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .fa-chevron-left, .carousel-control .fa-chevron-right {
        position: absolute;
        top: 50%;
        z-index: 5;
        display: inline-block;
    }

    .carousel-control .icon-prev, .carousel-control .fa-chevron-left {
        left: 50%;
        margin-left: -10px;
    }

    .carousel-control .icon-next, .carousel-control .fa-chevron-right {
        right: 50%;
        margin-right: -10px;
    }

    .carousel-control .icon-prev, .carousel-control .icon-next {
        width: 20px;
        height: 20px;
        margin-top: -10px;
        line-height: 1;
        font-family: serif;
    }

        .carousel-control .icon-prev:before {
            content: '\2039';
        }

        .carousel-control .icon-next:before {
            content: '\203a';
        }

@media screen and (min-width: 769px) {
    .carousel-control .fa-chevron-left, .carousel-control .fa-chevron-right, .carousel-control .icon-prev, .carousel-control .icon-next {
        width: 30px;
        height: 30px;
        margin-top: -15px;
        font-size: 30px;
    }

    .carousel-control .fa-chevron-left, .carousel-control .icon-prev {
        margin-left: -15px;
    }

    .carousel-control .fa-chevron-right, .carousel-control .icon-next {
        margin-right: -15px;
    }
}

.carousel-inner .active.left {
    left: -33%;
}

.carousel-inner .next {
    left: 33%;
}

.carousel-inner .prev {
    left: -33%;
}

.carousel-inner .active.quote.left {
    left: -100%;
}

.carousel-inner .quote.next {
    left: 100%;
}

.carousel-inner .quote.prev {
    left: -100%;
}

.carousel-inner .quote {
    text-align: left;
}

.carousel-control.left, .carousel-control.right {
    background-image: none;
}

.item:not(.prev) {
    visibility: visible;
}

.item.right:not(.prev) {
    visibility: hidden;
}

.rightest {
    visibility: visible;
}

.carousel-fade .carousel-inner .item {
    opacity: 0;
    transition-property: opacity;
}

.carousel-fade .carousel-inner .active {
    opacity: 1;
}

    .carousel-fade .carousel-inner .active.left,
    .carousel-fade .carousel-inner .active.right {
        left: 0;
        opacity: 0;
        z-index: 1;
    }

.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

.carousel-fade .carousel-control {
    z-index: 2;
}

/*
  WHAT IS NEW IN 3.3: "Added transforms to improve carousel performance in modern browsers."
  Need to override the 3.3 new styles for modern browsers & apply opacity
*/
@media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-fade .carousel-inner > .item.next,
    .carousel-fade .carousel-inner > .item.active.right {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .carousel-fade .carousel-inner > .item.prev,
    .carousel-fade .carousel-inner > .item.active.left {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

        .carousel-fade .carousel-inner > .item.next.left,
        .carousel-fade .carousel-inner > .item.prev.right,
        .carousel-fade .carousel-inner > .item.active {
            opacity: 1;
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
        }
}
