.carousel {
  /* Fix swiper's default styles */
  .flex {
    display: flex;
  }

  .relative {
    position: relative;
  }

  .swiper-button {
    width: 2.75rem;
  }

  .swiper-button-disabled {
    display: none;
  }

  .swiper-button:after {
    display: none;
  }

  .swiper-button-prev {
    left: -0.625rem;
  }

  .swiper-button-next {
    right: -0.625rem;
  }

  .swiper-pagination.swiper-pagination-bullets {
    bottom: 0;
    margin-top:  1.25rem;
  }

  .swiper-pagination-bullet {
    width: 2rem;
    height: 2rem;
    border: none;
    background-color: transparent;
    opacity: 100;
    position: relative;
    margin-left: 0.75rem;
    margin-right: 0.75rem;

    &:after {
      content: ' ';
      display: block;
      width: 0.75rem;
      height: 0.75rem;
      border-radius: 50%;
      border: 1px solid var(--primary-01);
      background-color: transparent;
      transition: all cubic-bezier(0.4, 0, 0.2, 1) 150ms;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    &.swiper-pagination-bullet-active {
      &:after {
        background-color: var(--primary-01);
      }
    }
  }
}

@media only screen and (min-width: 768px) {
  .carousel {
    .swiper-pagination.swiper-pagination-bullets {
      margin-top:  1.625rem;
    }

    .swiper-button-prev {
      left: -1.375em;
    }

    .swiper-button-next {
      right: -1.375rem;
    }
  }

  .carousel__item-vm--centered {
    .swiper-button-prev {
      left: 2.5rem;
    }

    .swiper-button-next {
      right: 2.5rem;
    }
  }
}

@media only screen and (min-width: 1080px) {
  .carousel {
    .swiper-pagination.swiper-pagination-bullets {
      margin-top:  2.25rem;
    }
  }
}

@media only screen and (min-width: 1440px) {
  .carousel__item-vm--centered {
    .swiper-button-prev {
      left: 6rem;
    }

    .swiper-button-next {
      right: 6rem;
    }
  }
}

.media--view-mode-carousel-centered {
  img {
    width: 100%;
  }
}

.carousel__item-vm--centered {
  .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;

    .slide__content {
      flex: 1;
    }
  }
}