
/* Basics */


.bare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.carousel { overflow: hidden; }

.carousel-slides-wrapper,
.carousel-slide { will-change: transform, opacity; }

.carousel-slides-wrapper:after {
  content: " ";
  display: table;
  clear: both;
}

.carousel-slide { float: left; }

.carousel-pagination-item {
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  display: inline-block;
  border: 0;
  padding: 0;
  background: transparent;
  outline: 0;
  -webkit-appearance: none;
  appearance: none;
}

.carousel-pagination-item:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
 width: .375rem;
 height: .375rem;
 margin-left: -.1875rem;
 margin-top: -.1875rem;
  background-color: #000;
  border-radius: 50%;
  opacity: .2;
  transition: .3s;
}

.carousel-pagination-selected:after {
  opacity: 1;
  -webkit-transform: scale(1.75);
  transform: scale(1.75);
}

.carousel-transition,
.carousel-transition .carousel-slide { transition: .5s; }

/* Example */


body { background-color: #222; }

.carousel {
  position: relative;
  margin: 2em 0;
}

.carousel-slide {
  box-sizing: border-box;
  -webkit-transform: scale(.9);
  transform: scale(.9);
  opacity: .5;
}

.slide-wrapper {
  padding-top: 56.25%;
  background-color: #111;
  background-position: center center;
  background-size: cover;
  color: #333;
  font-size: 20em;
  text-align: center;
}

.carousel-slide-selected {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.carousel-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 10%;
  border: 0;
  opacity: .5;
  background: transparent;
  outline: 0;
  text-indent: -9999px;
  overflow: hidden;
}

.carousel-arrow-prev { left: 0; }

.carousel-arrow-next { right: 0; }

.carousel-pagination {
  text-align: center;
  margin-top: 1em;
}

.carousel-pagination-item:after { background-color: #ddd; }
