:root {
  --rv-swipe-slide-size: 100%;
  --rv-swipe-track-offset: 0%;
  --rv-swipe-border-radius: 0;
  --rv-swipe-indicator-size: 12px;
  --rv-swipe-indicator-margin: var(--rv-padding-sm);
  --rv-swipe-indicator-active-opacity: 1;
  --rv-swipe-indicator-inactive-opacity: 0.3;
  --rv-swipe-indicator-active-background-color: var(--rv-white);
  --rv-swipe-indicator-inactive-background-color: var(--rv-border-color);
}

.rv-swiper {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
  border-radius: var(--rv-swipe-border-radius);
}

.rv-swiper--vertical .rv-swiper__track--allow-touch-move {
  touch-action: pan-x;
}

.rv-swiper--vertical .rv-swiper__track {
  transform: translateY(var(--rv-swipe-track-offset));
}

.rv-swiper--vertical .rv-swiper__track-inner {
  flex-direction: column;
  width: 100%;
  height: var(--rv-swipe-slide-width, var(--rv-swipe-slide-size));
}

.rv-swiper__track {
  width: 100%;
  height: 100%;
  padding: 0;
  white-space: nowrap;
  transform: translateX(var(--rv-swipe-track-offset));
}

.rv-swiper__track--allow-touch-move {
  cursor: grab;
  touch-action: pan-y;
}

.rv-swiper__track-inner {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  width: var(--rv-swipe-slide-width, var(--rv-swipe-slide-size));
  height: 100%;
  overflow: visible;
}

.rv-swiper__slide {
  position: relative;
  display: block;
  flex: none;
  width: 100%;
  height: 100%;
  white-space: unset;
}

.rv-swiper__indicator {
  position: absolute;
  bottom: var(--rv-swipe-indicator-margin);
  left: 50%;
  transform: translateX(-50%);
}

.rv-swiper__indicator--vertical {
  top: 50%;
  bottom: auto;
  left: var(--rv-swipe-indicator-margin);
  transform: translateY(-50%);
}

.rv-swiper-item {
  display: block;
  width: 100%;
  height: 100%;
  white-space: normal;
}

.rv-indicator {
  display: flex;
  width: fit-content;
}

.rv-indicator--vertical {
  flex-direction: column;
}

.rv-indicator--vertical .rv-indicator__dot:not(:last-child) {
  margin-right: 0;
  margin-bottom: var(--rv-swipe-indicator-size);
}

.rv-indicator__dot {
  display: block;
  width: var(--rv-swipe-indicator-size);
  height: var(--rv-swipe-indicator-size);
  margin-right: var(--rv-swipe-indicator-size);
  background-color: var(--rv-swipe-indicator-inactive-background-color);
  border-radius: 100%;
  opacity: var(--rv-swipe-indicator-inactive-opacity);
  transition: opacity var(--rv-animation-duration-fast), background-color var(--rv-animation-duration-fast);
}

.rv-indicator__dot:last-child {
  margin-right: 0;
}

.rv-indicator__dot--active {
  background-color: var(--rv-swipe-indicator-active-background-color);
  opacity: var(--rv-swipe-indicator-active-opacity);
}