*, *::before, *::after {
  box-sizing: border-box;
}

body {
  margin: 0;
}

.carousel {
  width: 100vw;
  height: 100vh;
  position: relative;
}

.carousel > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.slide {
  position: absolute;

  opacity: 0;

	clip-path: circle(0% at 0% 50%);
	transition: 1.5s;
	transition-delay: 0s;
	background-position: left;
}

.slide > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.slide:nth-child(even) {
	clip-path: circle(0% at 100% 50%);
		background-position: right;
}
.slide[data-active] {
  opacity: 1;
  z-index: 1;
	clip-path: circle(150% at 50% 50%);
	transition-delay: 1s;
	background-position: center;
}

.carousel-button {
  position: absolute;
  z-index: 2;
  background: none;
  border: none;
  font-size: 5rem;
  top: 50%;
  transform: translateY(-50%);
  color: #e3190a;
  cursor: pointer;
  padding: 0 .5rem;

}

.carousel-button:hover,
.carousel-button:focus {
  color: #b5b6b8;
}

.carousel-button.prev {
  left: 1rem;
}

.carousel-button.next {
  right: 1rem;
}