

.carousel-item {
  position: relative;
  display: none;
  -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
          align-items: center;
  width: 100%;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
       backface-visibility: hidden;
  -webkit-perspective: 1000px;
  -moz-perspective: 1000px;
       perspective: 1000px;
}

.carousel-item-next, .carousel-item-prev, .carousel-item.active {
  display: block;
  transition: -webkit-transform .6s ease;
  -webkit-transition:-webkit-transform .6s ease;
  -o-transition:-o-transform .6s ease;
  -moz-transition:transform .6s ease, -moz-transform .6s ease;
  transition:transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease, -moz-transform .6s ease, -o-transform .6s ease;
  transition: transform .6s ease,-webkit-transform .6s ease;
}

@media screen and (prefers-reduced-motion: reduce) {
  .carousel-item-next, .carousel-item-prev, .carousel-item.active {
    -webkit-transition:none;
    -o-transition:none;
    -moz-transition:none;
    transition: none;
  }
}

.carousel-item-next, .carousel-item-prev {
  position: absolute;
  top: 0;
}

.carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
   -ms-transform: translateX(0);
    -o-transform: translateX(0);
       transform: translateX(0);
}

@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
  .carousel-item-next.carousel-item-left, .carousel-item-prev.carousel-item-right {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}

.active.carousel-item-right, .carousel-item-next {
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
   -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
       transform: translateX(100%);
}

@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
  .active.carousel-item-right, .carousel-item-next {
    -webkit-transform: translate3d(100%, 0, 0);
    -moz-transform: translate3d(100%, 0, 0);
         transform: translate3d(100%, 0, 0);
  }
}

.active.carousel-item-left, .carousel-item-prev {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
   -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
       transform: translateX(-100%);
}

@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
  .active.carousel-item-left, .carousel-item-prev {
    -webkit-transform: translate3d(-100%, 0, 0);
    -moz-transform: translate3d(-100%, 0, 0);
         transform: translate3d(-100%, 0, 0);
  }
}

.carousel-fade .carousel-item {
  opacity: 0;
  -webkit-transition-duration: .6s;
     -moz-transition-duration: .6s;
       -o-transition-duration: .6s;
          transition-duration: .6s;
  -webkit-transition-property:opacity;
  -o-transition-property:opacity;
  -moz-transition-property:opacity;
  transition-property: opacity;
}

.carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right, .carousel-fade .carousel-item.active {
  opacity: 1;
}

.carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right {
  opacity: 0;
}

.carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-prev, .carousel-fade .carousel-item-next, .carousel-fade .carousel-item-prev, .carousel-fade .carousel-item.active {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
   -ms-transform: translateX(0);
    -o-transform: translateX(0);
       transform: translateX(0);
}

@supports ((-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d)) {
  .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-prev, .carousel-fade .carousel-item-next, .carousel-fade .carousel-item-prev, .carousel-fade .carousel-item.active {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
         transform: translate3d(0, 0, 0);
  }
}
