:root {
  --esl-slide-initial-size: 100%;
  --esl-carousel-side-space: 5px;
  --esl-carousel-step-duration: 250ms;
}
esl-carousel {
  position: relative;
  display: block;
  max-width: 100%;
  box-sizing: content-box;
  margin: calc(var(--esl-carousel-side-space, 0) * -1);
  padding: var(--esl-carousel-side-space, 0);
  /* stylelint-disable */
  overflow: hidden;
  overflow: clip;
  /* stylelint-enable */
}
esl-carousel:not(.esl-carousel) [esl-carousel-slide] {
  max-width: 100%;
  max-height: 100%;
}
esl-carousel.esl-carousel-vertical {
  touch-action: pan-x;
}
esl-carousel.esl-carousel-vertical [esl-carousel-slides] {
  flex-direction: column;
}
esl-carousel.esl-carousel-horizontal {
  touch-action: pan-y;
}
esl-carousel.esl-carousel-horizontal [esl-carousel-slides] {
  flex-direction: row;
}
esl-carousel[dragging] {
  cursor: grabbing;
}
esl-carousel[animating] {
  padding-inline: 0;
  margin-inline: 0;
}
esl-carousel[dragging] [esl-carousel-slides],
esl-carousel[animating] [esl-carousel-slides] {
  user-select: none;
  pointer-events: none;
}
esl-carousel[empty] {
  --esl-carousel-side-space: 0;
}
esl-carousel[empty] [esl-carousel-slides] {
  display: none;
}
/* Default carousel area styles */
[esl-carousel-slides] {
  position: relative;
  width: 100%;
  margin: 0;
  display: flex;
  gap: 20px;
  z-index: 0;
  transform: translate3d(0px, 0px, 0px);
}
/* Default carousel slide styles */
[esl-carousel-slide] {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  list-style: none;
}
.esl-carousel-no-extra-space {
  --esl-carousel-side-space: 0;
}
.esl-carousel-default-renderer [esl-carousel-slides] {
  display: flex;
  flex-wrap: nowrap;
  transition: none;
  max-width: 100%;
  max-height: 100%;
}
.esl-carousel-default-renderer.esl-carousel-horizontal [esl-carousel-slide] {
  width: var(--esl-slide-size, var(--esl-slide-initial-size));
}
.esl-carousel-default-renderer.esl-carousel-vertical [esl-carousel-slide] {
  height: var(--esl-slide-size, var(--esl-slide-initial-size));
}
.esl-carousel-grid-renderer {
  /* stylelint-disable-next-line */
  /* stylelint-disable-next-line */
}
.esl-carousel-grid-renderer [esl-carousel-slides] {
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  transition: none;
  max-width: 100%;
  max-height: 100%;
}
.esl-carousel-grid-renderer.esl-carousel-vertical [esl-carousel-slides] {
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
  grid-auto-flow: row;
}
.esl-carousel-grid-renderer.esl-carousel-horizontal :is([esl-carousel-slide], [esl-carousel-fake-slide]) {
  width: var(--esl-slide-size, --esl-slide-initial-size, 100%);
}
.esl-carousel-grid-renderer.esl-carousel-vertical :is([esl-carousel-slide], [esl-carousel-fake-slide]) {
  height: var(--esl-slide-size, --esl-slide-initial-size, 100%);
}
.esl-carousel-css-renderer [esl-carousel-slides] {
  display: grid;
  grid-template-areas: 'slide';
  position: relative;
  width: 100%;
}
.esl-carousel-css-renderer [esl-carousel-slide] {
  grid-area: slide;
  z-index: 0;
  position: relative;
  backface-visibility: hidden;
  top: 100%;
  visibility: hidden;
}
.esl-carousel-css-renderer [esl-carousel-slide]:is([active], [pre-active]) {
  top: 0;
  visibility: visible;
}
.esl-carousel-css-renderer [esl-carousel-slide][active] {
  z-index: 1;
}
.esl-carousel-css-renderer.esl-carousel-css-fade[animating] [esl-carousel-slide] {
  transition: opacity var(--esl-carousel-step-duration) linear;
}
.esl-carousel-css-renderer.esl-carousel-css-fade [esl-carousel-slide] {
  opacity: 0;
}
.esl-carousel-css-renderer.esl-carousel-css-fade [esl-carousel-slide][active] {
  opacity: 1;
}
.esl-carousel-css-renderer.esl-carousel-css-fade[animating] [esl-carousel-slide][pre-active] {
  z-index: 2;
  opacity: 1;
}
.esl-carousel-css-renderer.esl-carousel-css-fade[shifted] [esl-carousel-slide][pre-active] {
  z-index: 2;
  opacity: var(--esl-carousel-offset-ratio, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide[animating] :is([esl-carousel-slide], [esl-carousel-slides]) {
  transition: transform var(--esl-carousel-step-duration) linear;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slides] {
  transform: translate3d(var(--esl-carousel-offset, 0), 0, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slides].forward {
  transform: translate3d(-100%, 0, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slides].backward {
  transform: translate3d(100%, 0, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slide] {
  top: 0;
  left: 100%;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slide][pre-active][next] {
  left: 100%;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slide][active] {
  left: 0;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-horizontal [esl-carousel-slide][pre-active][prev] {
  left: -100%;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slides] {
  transform: translate3d(0, var(--esl-carousel-offset, 0), 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slides].forward {
  transform: translate3d(0, -100%, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slides].backward {
  transform: translate3d(0, 100%, 0);
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slide][pre-active][next] {
  top: 100%;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slide][active] {
  top: 0;
}
.esl-carousel-css-renderer.esl-carousel-css-slide.esl-carousel-vertical [esl-carousel-slide][pre-active][prev] {
  top: -100%;
}
