.carousel-control {
  max-width: 75px;
}

@media (max-width: 767px) {
  .carousel-control .icon-next,
  .carousel-control .icon-prev {
    top: 65%;
  }
}
.carousel .carousel-item figure {
  background: #F5F5F5;
  display: flex;
  flex-direction: column-reverse;
}

.carousel .carousel-item img {
  width: 70%;
  height: auto;
  margin: 10px auto 0;
}

.carousel .carousel-item .caption {
  position: static;
  margin: 0 auto 10px;
  padding: 25px 20px 0;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.15;
}

.carousel .carousel-item .caption h2.display-1 {
  margin-bottom: .15rem;
  font-weight: 700;
  font-size: 1.4rem;
}

.carousel .carousel-item .caption .caption-description h3 {
  margin-bottom: 1rem;
  font-weight: 400;
  font-size: 1.25rem;
}

.carousel .carousel-item .caption .caption-description p {
  margin-bottom: 1rem;
  color: #000;
  font-size: .85rem;
  line-height: 1.2;
}

.carousel .carousel-item .caption .btn-primary {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background-color: #CF2020;
  border-radius: 2px;
  font-weight: 700;
  font-size: .9rem;
  line-height: 1.15;
}

.carousel .carousel-item .caption .btn-primary:hover,
.carousel .carousel-item .caption .btn-primary:focus {
  background-color: #b41f17;
  color: #fff;
  outline: none;
}

.carousel .carousel-item .caption .btn-primary::after {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-left: .25rem;
  background: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.975 12.6375C9.825 12.4875 9.753 12.3062 9.759 12.0937C9.7655 11.8812 9.84375 11.7 9.99375 11.55L12.1125 9.43125H3.75C3.5375 9.43125 3.35925 9.35925 3.21525 9.21525C3.07175 9.07175 3 8.89375 3 8.68125C3 8.46875 3.07175 8.2905 3.21525 8.1465C3.35925 8.003 3.5375 7.93125 3.75 7.93125H12.1125L9.975 5.79375C9.825 5.64375 9.75 5.4655 9.75 5.259C9.75 5.053 9.825 4.875 9.975 4.725C10.125 4.575 10.3032 4.5 10.5097 4.5C10.7157 4.5 10.8938 4.575 11.0438 4.725L14.475 8.15625C14.55 8.23125 14.6033 8.3125 14.6348 8.4C14.6658 8.4875 14.6813 8.58125 14.6813 8.68125C14.6813 8.78125 14.6658 8.875 14.6348 8.9625C14.6033 9.05 14.55 9.13125 14.475 9.20625L11.025 12.6562C10.8875 12.7937 10.7157 12.8625 10.5097 12.8625C10.3032 12.8625 10.125 12.7875 9.975 12.6375Z' fill='white'/%3E%3C/svg%3E") no-repeat center / contain;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .carousel .carousel-inner {
    height: 300px;
    overflow: hidden;
  }

  .carousel .carousel-item figure {
    flex-direction: row-reverse;
    justify-content: space-between;
    height: 300px;
    padding: 0 5% 0;
  }

  .carousel .carousel-item img {
    align-self: flex-end;
    margin: 0;
    width: auto;
    max-width: min(40%, 500px);
  }

  .carousel .carousel-item .caption {
    max-width: none;
    margin: 10px 25px 10px 15px;
    padding: 0;
    align-self: center;
    flex-grow: 1;
  }

  .carousel .carousel-item .caption h2.display-1 { font-size: 1.75rem; }

  .carousel .carousel-item .caption .caption-description h3 { margin-bottom: .75rem; }
}

@media (min-width: 992px) {
  .carousel .carousel-inner,
  .carousel .carousel-item figure {
    height: 430px;
  }
  .carousel .carousel-item .caption {
    max-width: 700px;
  }

  .carousel .carousel-item .caption h2.display-1 { font-size: 3.4rem; }
  .carousel .carousel-item .caption .caption-description h3 { font-size: 2.5rem; }
  .carousel .carousel-item .caption .caption-description p {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  .carousel .carousel-item .caption .btn-primary {
    padding: 14px 15px;
    font-size: .95rem;
  }
}