.carousel {
  margin-bottom: 0;
  padding: 0 40px 30px 40px;
}

.carousel {
  margin-bottom: 0;
  padding: 0 40px 30px 40px;
}

@media (min-width: 768px) {
  .carousel-inner .active, .carousel-inner .active + .carousel-item, .carousel-inner .active + .carousel-item + .carousel-item, .carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
    display: block;
  }
}

@media (min-width: 768px) {
  .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left), .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item, .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item, .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item {
    transition: none;
  }
}

@media (min-width: 768px) {
  .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: absolute;
    top: 0;
    right: -25%;
    z-index: -1;
    display: block;
    visibility: visible;
  }
}

.image-wrapper {
  position: relative;
  display: inline-block;
}

.overlay-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.6);
  color: white;
  padding: 15px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.image-wrapper:hover .overlay-text {
  opacity: 1;
}

.image-wrapper {
  position: relative;
  display: inline-block;
}

.image-wrapper:hover .overlay-text {
  opacity: 1;
}

.overlay-text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.6);
  color: white;
  padding: 15px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}

