
/*
 * Partially extracted from
 *
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

.carousel {
    position: relative;
}

@media screen and (min-width: 768px)
    .carousel-indicators {
        bottom: 20px;
    }

    .carousel-indicators {
        position: absolute;
        bottom: 10px;
        left: 50%;
        z-index: 15;
        width: 60%;
        padding-left: 0;
        margin-left: -30%;
        text-align: center;
        list-style: none;
    }

    .carousel-inner {
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    .carousel-control.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;
    }

    .carousel-control {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 15%;
        font-size: 20px;
        color: #fff;
        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;
    }

    @media screen and (min-width: 768px)
        .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
            margin-left: -10px;
        }

        @media screen and (min-width: 768px)
            .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev {
                width: 30px;
                height: 30px;
                margin-top: -10px;
                font-size: 30px;
            }

            .carousel-control .glyphicon-chevron-left, .carousel-control .icon-prev {
                left: 50%;
                margin-left: -10px;
            }

            .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next, .carousel-control .icon-prev {
                position: absolute;
                top: 50%;
                z-index: 5;
                display: inline-block;
                margin-top: -10px;
            }

            .glyphicon {
                position: relative;
                top: 1px;
                display: inline-block;
                font-family: 'Glyphicons Halflings';
                font-style: normal;
                font-weight: 400;
                line-height: 1;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

            .glyphicon-chevron-left:before {
                content: "«";
                font-size: larger;
            }

            .carousel-control.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;
            }

            .carousel-control .glyphicon-chevron-right, .carousel-control .icon-next {
                right: 50%;
                margin-right: -10px;
            }

            .glyphicon-chevron-right:before {
                content: "»";
                font-size: larger;
            }

            .carousel-inner {
                position: relative;
                width: 100%;
                overflow: hidden
            }

            .carousel-inner > .item {
                position: relative;
                display: none;
                -webkit-transition: .6s ease-in-out left;
                -o-transition: .6s ease-in-out left;
                transition: .6s ease-in-out left
            }

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

            @media all and (transform-3d),(-webkit-transform-3d) {
                .carousel-inner > .item {
                    -webkit-transition: -webkit-transform .6s ease-in-out;
                    -o-transition: -o-transform .6s ease-in-out;
                    transition: transform .6s ease-in-out;
                    -webkit-backface-visibility: hidden;
                    backface-visibility: hidden;
                    -webkit-perspective: 1000px;
                    perspective: 1000px
                }

                .carousel-inner > .item.active.right, .carousel-inner > .item.next {
                    left: 0;
                    -webkit-transform: translate3d(100%, 0, 0);
                    transform: translate3d(100%, 0, 0)
                }

                .carousel-inner > .item.active.left, .carousel-inner > .item.prev {
                    left: 0;
                    -webkit-transform: translate3d(-100%, 0, 0);
                    transform: translate3d(-100%, 0, 0)
                }

                .carousel-inner > .item.active, .carousel-inner > .item.next.left, .carousel-inner > .item.prev.right {
                    left: 0;
                    -webkit-transform: translate3d(0, 0, 0);
                    transform: translate3d(0, 0, 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%
            }
