.carousel {
  position:relative;
}

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

.carousel-item {
  position:relative;
  display:none;
  align-items:center;
  width:100%;
  transition:transform 0.6s ease;
  backface-visibility:hidden;
  perspective:1000px;
}

.carousel-item.active, .carousel-item-next, .carousel-item-prev {
  display:block;
}

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

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

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

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

.carousel-control-prev, .carousel-control-next {
  position:absolute;
  top:0;
  bottom:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:15%;
  color:#fff;
  text-align:center;
  opacity:0.5;
}

.carousel-control-prev:focus, .carousel-control-prev:hover, .carousel-control-next:focus, .carousel-control-next:hover {
  color:#fff;
  text-decoration:none;
  outline:0;
  opacity:.9;
}

.carousel-control-prev {
  left:0;
}

.carousel-control-next {
  right:0;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
  display:inline-block;
  width:20px;
  height:20px;
  background:transparent no-repeat center center;
  background-size:100% 100%;
}

.carousel-control-prev-icon {
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E");
}

.carousel-control-next-icon {
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E");
}

.carousel-indicators {
  position:absolute;
  right:0;
  bottom:10px;
  left:0;
  z-index:15;
  display:flex;
  justify-content:center;
  padding-left:0;
  margin-right:15%;
  margin-left:15%;
  list-style:none;
}

.carousel-indicators li {
  position:relative;
  flex:0 1 auto;
  width:30px;
  height:3px;
  margin-right:3px;
  margin-left:3px;
  text-indent:-999px;
  background-color:rgba(255, 255, 255, 0.5);
}

.carousel-indicators li::before {
  position:absolute;
  top:-10px;
  left:0;
  display:inline-block;
  width:100%;
  height:10px;
  content:"";
}

.carousel-indicators li::after {
  position:absolute;
  bottom:-10px;
  left:0;
  display:inline-block;
  width:100%;
  height:10px;
  content:"";
}

.carousel-indicators .active {
  background-color:#fff;
}

.carousel-caption {
  position:absolute;
  right:15%;
  bottom:20px;
  left:15%;
  z-index:10;
  padding-top:20px;
  padding-bottom:20px;
  color:#fff;
  text-align:center;
}

