.carousel-widget-main {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.carousel-widget-main .carousel-slider-controls {
  position: absolute;
  background-color: rgba(0,0,0,.30);
  border-bottom-left-radius: 5px;
  box-shadow: 0px 0px 5px 5px rgba(0,0,0,0.30);
  right: 0;
  top: 0;
  padding: 5px;
  z-index: 2000;
}

.carousel-widget-main .carousel-slider-controls .btn {
  color: #eee;
  text-shadow: 0px 0px 10px rgba(0,0,0,.70);
  background-color: transparent;
  border: none;
  outline-style: none;
  padding-left: 10px;
  padding-right: 10px;
}

.carousel-widget-main .carousel-slider-controls .btn:hover {
  color: white;
  text-shadow: 0px 0px 15px black;
}

.carousel-widget-main .carousel-slider-controls .btn > a{
  outline-style: none;
}

.carousel-widget-main > .carousel-slider-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-1x1 {
  padding-bottom: 100%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-4x3 {
  padding-bottom: 75%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-3x2 {
  padding-bottom: 66.67%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-8x5 {
  padding-bottom: 62.5%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-5x3  {
  padding-bottom: 60%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-16x9 {
  padding-bottom: 56.25%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-3x1 {
  padding-bottom: 33.33%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-none,
.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-2x1 {
  padding-bottom: 50%;
}


.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer {
  position: absolute;
  width: 100%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-1x1 > .carousel-slider-image-helper-outer {
  padding-top: 100%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-4x3 > .carousel-slider-image-helper-outer {
  padding-top: 75%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-3x2 > .carousel-slider-image-helper-outer {
  padding-top: 66.67%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-8x5 > .carousel-slider-image-helper-outer {
  padding-top: 62.5%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-5x3 > .carousel-slider-image-helper-outer {
  padding-top: 60%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-16x9 > .carousel-slider-image-helper-outer {
  padding-top: 56.25%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-3x1 > .carousel-slider-image-helper-outer {
  padding-top: 33.33%;
}

.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-none > .carousel-slider-image-helper-outer,
.carousel-widget-main  > .carousel-slider-viewport.aspect-ratio-2x1 > .carousel-slider-image-helper-outer {
  padding-top: 50%;
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 15px;
  padding-top: 30px;
  width: 100%;
  z-index: 1000;
  color: white;
  background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.30), rgba(0,0,0,.45), rgba(0,0,0,.55), rgba(0,0,0,.63), rgba(0,0,0,.70), rgba(0,0,0,.75), rgba(0,0,0,.79), rgba(0,0,0,.83), rgba(0,0,0,.87), rgba(0,0,0,.9));
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > h1 {
  margin: 0px;
  margin-bottom: 10px;
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text  a {
  color: white;
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > h1 > a {
  text-decoration: none;
}

.carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > p {
  margin-bottom: 0px;
}

@media screen and (max-width: 768px) {
  .carousel-widget-main .carousel-slider-controls {
    
  }
  .carousel-widget-main .carousel-slider-controls .btn {
    font-size: 14px;
  }
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > h1 {
    font-size: 1.75em;
    margin-bottom: 5px;
  }
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > p {
    font-size: .85em;
  }
}

@media screen and (max-width: 480px) {
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text {
    padding-top: 20px;
    padding-bottom: 10px;
  }
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > *{

  }
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > h1 {
    font-size: 1.4em;
    margin-bottom: 5px;
  }
  .carousel-widget-main  > .carousel-slider-viewport > .carousel-slider-image-helper-outer > .carousel-slider-image-helper-inner > .carousel-slider-image-text > p {
    font-size: .70em;
  }
}