.carousel {
  position: relative;
  width: 80%;
  height: 600px;
  margin: 0 auto;

  overflow: hidden;
}

.carousel .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.carousel .track-container {
  position: relative;
  height: 100%;
}

.carousel .track {
  list-style: none;
  height: 100%;
}

.carousel .slide {
  position: absolute;
  width: 100%;

  top: 0;
  bottom: 0;
}

.carousel .carousel-btn {
  position: absolute;
  top: 50%;

  width: 50px;
  height: 50px;

  transform: translateY(-50%);
  z-index: 10;

  border: 0;
  border-radius: 50%;
  outline: 0;

  background-color: #00000044;
}

.carousel .carousel-btn:hover {
  cursor: pointer;
}

.carousel .carousel-btn:active {
  filter: brightness(0.9);
}

.carousel .carousel-btn-left {
  left: 10px;
}

.carousel .carousel-btn-right {
  right: 10px;
}

.carousel .carousel-btn img {
  width: 40px;
  height: 40px; 
}

.carousel .nav {
  position: absolute;
  left: 50%;
  bottom: 10px;

  transform: translateX(-50%);

  display: flex;
  justify-content: center;

  padding: 10px 0;
}

.carousel .indicator {
  background-color: rgba(255, 255, 255, 0.5);
  width: 15px;
  height: 15px;

  margin: 0 5px;

  border-radius: 50%;
  border: 0;
  outline: 0;

  transition: 200ms;
}

.carousel .indicator:hover {
  cursor: pointer;
}

.carousel .indicator:active {
  transform: scale(0.9);
}

.carousel .indicator.current-slide {
  background-color: rgba(255, 255, 255, 0.9);
}
