.embla {
  overflow: hidden;
}

.embla__viewport {
  overflow: hidden;
  cursor: grab;
}

.embla__viewport.is-dragging {
  cursor: grabbing;
}

.embla__container {
  display: flex;
  touch-action: pan-y pinch-zoom;
  margin-left: calc(var(--slide-spacing) * -1);
  align-items: stretch;
  box-sizing: border-box;
}

.embla__slide {
  flex: 0 0 var(--slide-size);
  min-width: 0;
  padding-left: var(--slide-spacing);
  box-sizing: border-box;
}

.embla__slide > article {
  flex: 1;
  width: 100%;
  min-height: 100%;
}

.embla--cards .embla__slide,
.embla--cards .embla__slide > article {
  display: flex;
  height: auto;
}

.embla--compact .embla__slide {
  display: flex;
  height: auto;
}

.embla--cards {
  --slide-spacing: 16px;
  --slide-size: calc((100% - 1rem) / 1.3);
}

@media (min-width: 640px) {
  .embla--cards {
    --slide-size: calc((100% - var(--slide-spacing) * 1.2) / 2.2);
  }
}

@media (min-width: 1024px) {
  .embla--cards {
    --slide-spacing: 20px;
    --slide-size: calc((100% - var(--slide-spacing) * 2.2) / 3.2);
  }
}

@media (min-width: 1280px) {
  .embla--cards {
    --slide-size: calc((100% - var(--slide-spacing) * 3.1) / 4.1);
  }
}

.embla--compact {
  --slide-spacing: 12px;
  --slide-size: calc((100% - var(--slide-spacing) * 0.1) / 1.1);
}

@media (min-width: 480px) {
  .embla--compact {
    --slide-size: calc((100% - var(--slide-spacing) * 0.5) / 1.5);
  }
}

@media (min-width: 640px) {
  .embla--compact {
    --slide-size: calc((100% - var(--slide-spacing) * 1.2) / 2.2);
  }
}

@media (min-width: 1024px) {
  .embla--compact {
    --slide-spacing: 20px;
    --slide-size: calc((100% - var(--slide-spacing) * 2.2) / 3.2);
  }
}

@media (min-width: 1280px) {
  .embla--compact {
    --slide-size: calc((100% - var(--slide-spacing) * 3.1) / 4.1);
  }
}

.embla-pagination__dot {
  width: 8px;
  height: 8px;
  border-radius: 9999px;
  background: #d4dedc;
  opacity: 1;
  transition: width 0.3s, background 0.3s;
  cursor: pointer;
  display: inline-block;
  margin: 0 4px;
  padding: 0;
  border: none;
}

.embla-pagination__dot.is-active {
  width: 20px;
  background: #6dc3c8;
}
