.carousel-fade .carousel-inner .item {
  -moz-transition: opacity ease-in-out 2.5s;
  -o-transition: opacity ease-in-out 2.5s;
  -webkit-transition: opacity ease-in-out 2.5s;
  transition: opacity ease-in-out 2.5s;
  left: 0 !important;
  opacity: 0;
  top:0;
  position:absolute;
  width: 100%;
  display:block !important;
  z-index:1;
}

.carousel-fade .carousel-inner .active {
  opacity: 1;
  -moz-transition: opacity ease-in-out 2.5s;
  -o-transition: opacity ease-in-out 2.5s;
  -webkit-transition: opacity ease-in-out 2.5s;
  transition: opacity ease-in-out 2.5s;
  z-index:2;
}

.carousel-fade .carousel-inner .item:first-child {
  top:auto;
  position:relative;
}

.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."
now 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);
    }
}