.dsis-slider {
  position: relative;
  height: auto;
  min-height: 0;
}

.dsis-slider.carousel,
.dsis-slider .carousel-inner,
.dsis-slider .carousel-item,
.dsis-slider.swiper,
.dsis-slider.swiper .swiper-wrapper,
.dsis-slider.swiper .swiper-slide {
  height: auto;
  min-height: 0;
}

.dsis-slider.swiper .swiper-wrapper {
  align-items: stretch;
}

.dsis-slide figure {
  margin: 0;
  position: relative;
}

.dsis-slide picture,
.dsis-slide img {
  display: block;
  width: 100%;
  height: auto;
}

.dsis-caption {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  box-sizing: border-box;
  color: #111;
}

.dsis-title {
  margin: 0 0 0.5rem;
}

.dsis-slider .carousel-control {
  width: auto;
  padding: 0 1rem;
}

.dsis-slider .icon-prev,
.dsis-slider .icon-next {
  font-size: 2.5rem;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

@media (min-width: 992px) {
  .dsis-slide[data-layout-desktop="left"] .dsis-caption { justify-content: flex-start; text-align: left; }
  .dsis-slide[data-layout-desktop="center"] .dsis-caption { justify-content: center; text-align: center; }
  .dsis-slide[data-layout-desktop="right"] .dsis-caption { justify-content: flex-end; text-align: right; }
  .dsis-slide[data-layout-desktop="bottom-left"] .dsis-caption { justify-content: flex-start; align-items: flex-end; text-align: left; }
  .dsis-slide[data-layout-desktop="bottom-center"] .dsis-caption { justify-content: center; align-items: flex-end; text-align: center; }
  .dsis-slide[data-layout-desktop="bottom-right"] .dsis-caption { justify-content: flex-end; align-items: flex-end; text-align: right; }
  .dsis-slide[data-layout-desktop="hidden"] .dsis-caption { display: none; }

  .dsis-slide[data-theme-desktop="dark"] .dsis-caption { color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,0.4); }
  .dsis-slide[data-theme-desktop="light"] .dsis-caption { color: #111; text-shadow: 0 2px 6px rgba(255,255,255,0.3); }
}

@media (min-width: 768px) and (max-width: 991px) {
  .dsis-slide[data-layout-tablet="left"] .dsis-caption { justify-content: flex-start; text-align: left; }
  .dsis-slide[data-layout-tablet="center"] .dsis-caption { justify-content: center; text-align: center; }
  .dsis-slide[data-layout-tablet="right"] .dsis-caption { justify-content: flex-end; text-align: right; }
  .dsis-slide[data-layout-tablet="bottom-left"] .dsis-caption { justify-content: flex-start; align-items: flex-end; text-align: left; }
  .dsis-slide[data-layout-tablet="bottom-center"] .dsis-caption { justify-content: center; align-items: flex-end; text-align: center; }
  .dsis-slide[data-layout-tablet="bottom-right"] .dsis-caption { justify-content: flex-end; align-items: flex-end; text-align: right; }
  .dsis-slide[data-layout-tablet="hidden"] .dsis-caption { display: none; }

  .dsis-slide[data-theme-tablet="dark"] .dsis-caption { color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,0.4); }
  .dsis-slide[data-theme-tablet="light"] .dsis-caption { color: #111; text-shadow: 0 2px 6px rgba(255,255,255,0.3); }
}

@media (max-width: 767px) {
  .dsis-slide[data-layout-mobile="left"] .dsis-caption { justify-content: flex-start; text-align: left; }
  .dsis-slide[data-layout-mobile="center"] .dsis-caption { justify-content: center; text-align: center; }
  .dsis-slide[data-layout-mobile="right"] .dsis-caption { justify-content: flex-end; text-align: right; }
  .dsis-slide[data-layout-mobile="bottom-left"] .dsis-caption { justify-content: flex-start; align-items: flex-end; text-align: left; }
  .dsis-slide[data-layout-mobile="bottom-center"] .dsis-caption { justify-content: center; align-items: flex-end; text-align: center; }
  .dsis-slide[data-layout-mobile="bottom-right"] .dsis-caption { justify-content: flex-end; align-items: flex-end; text-align: right; }
  .dsis-slide[data-layout-mobile="hidden"] .dsis-caption { display: none; }

  .dsis-slide[data-theme-mobile="dark"] .dsis-caption { color: #fff; text-shadow: 0 2px 6px rgba(0,0,0,0.4); }
  .dsis-slide[data-theme-mobile="light"] .dsis-caption { color: #111; text-shadow: 0 2px 6px rgba(255,255,255,0.3); }
}
