html {
    position: relative;
    min-height: 100%;
}

#bg-carousel.carousel {
    height: 100%;
    width: 100%;
    position: fixed;
}

#bg-carousel.carousel-fade .carousel-inner .item,
#bg-carousel.carousel-fade .carousel-inner .active {
    height: 100%;
}

#bg-carousel.carousel .carousel-inner {
    height: 100%;
}

#bg-carousel.carousel-fade .carousel-inner .item {
    opacity: 0;
    transition-property: opacity;
    background-size: cover ! important;
}

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

#bg-carousel.carousel-fade .carousel-inner .next.left,
#bg-carousel.carousel-fade .carousel-inner .prev.right {
    opacity: 1;
}

#bg-carousel.carousel-fade .carousel-control {
    z-index: 2;
}

@media all and (transform-3d),
(-webkit-transform-3d) {
    #bg-carousel.carousel-fade .carousel-inner > .item.next,
    #bg-carousel.carousel-fade .carousel-inner > .item.active.right {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    #bg-carousel.carousel-fade .carousel-inner > .item.prev,
    #bg-carousel.carousel-fade .carousel-inner > .item.active.left {
        opacity: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    #bg-carousel.carousel-fade .carousel-inner > .item.next.left,
    #bg-carousel.carousel-fade .carousel-inner > .item.prev.right,
    #bg-carousel.carousel-fade .carousel-inner > .item.active {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

#bg-carousel.carousel {
    z-index: -99;
}

#bg-carousel.carousel .item {
    position: absolute;
    width: 100%;
    height: 100%;
}
