.ecl-banner,
.ecl-carousel .ecl-banner__image:before {
  border-radius: 0;
  box-shadow: none
}

.ecl-carousel .ecl-banner,
.ecl-carousel .ecl-banner .ecl-container {
  height: 100%
}

.ecl-carousel__container {
  background-color: #002f67;
  box-shadow: inset 0 -4px 12px -9px rgba(0, 0, 0, .6);
  width: calc(100% - 1.5rem)
}

.ecl-carousel__slides {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%
}

.ecl-carousel__slide {
  position: relative
}

.ecl-carousel__slide:before {
  background: #fff;
  content: "";
  display: block;
  height: 100%;
  left: -.25rem;
  position: absolute;
  top: 0;
  width: .25rem
}

.ecl-carousel__slide .ecl-banner__credit {
  -webkit-margin-end: .25rem;
  margin-inline-end: .25rem
}

.ecl-carousel__controls {
  background-color: #002f67;
  padding: .25rem 0
}

.ecl-carousel__controls .ecl-container {
  display: flex;
  justify-content: center
}

.ecl-carousel__controls .ecl-container,
.ecl-carousel__slides .ecl-banner .ecl-container {
  max-width: 1140px;
  width: 100%
}

.ecl-carousel-container--padded .ecl-banner .ecl-container {
  -webkit-margin-start: 100px;
  margin-inline-start: 100px
}

@media (min-width:480px) {
  .ecl-carousel__navigation {
    -webkit-margin-end: auto;
    align-items: center;
    display: flex;
    margin-inline-end: auto
  }
}

@media (min-width:768px) {
  .ecl-carousel__autoplay {
    display: flex;
    width: 140px
  }

  .ecl-carousel__navigation {
    -webkit-margin-start: auto;
    margin-inline-start: auto
  }
}

@media (min-width:996px) {

  .ecl-carousel .ecl-banner,
  .ecl-carousel .ecl-banner .ecl-container {
    height: auto
  }

  .ecl-carousel__container {
    width: 100%
  }

  .ecl-carousel__slide {
    position: relative
  }

  .ecl-carousel__slide:before {
    content: none
  }

  .ecl-carousel__slide .ecl-banner__credit {
    -webkit-margin-end: 0;
    margin-inline-end: 0
  }
}

@media (min-width:1140px) {
  .ecl-container .ecl-carousel:not(.ecl-carousel--full-width) .ecl-banner .ecl-container {
    -webkit-margin-start: 100px;
    margin-inline-start: 100px
  }

  .ecl-carousel__next,
  .ecl-carousel__prev {
    padding: .75rem;
    position: absolute;
    top: calc(50% - 22px);
    transform: translateY(-50%);
    z-index: 1
  }

  .ecl-carousel__next:focus-visible,
  .ecl-carousel__prev:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -4px
  }

  .ecl-carousel__prev {
    left: 0
  }

  .ecl-carousel__next {
    right: 0
  }

  .ecl-carousel__autoplay,
  .ecl-carousel__pagination {
    width: 10%
  }
}

.ecl-carousel--full-width {
  -webkit-margin-start: -50vw;
  left: 50%;
  margin-inline-start: -50vw;
  width: 100vw
}

.ecl-container .ecl-carousel--full-width .ecl-banner:not(.ecl-banner--full-width) .ecl-container {
  -webkit-padding-start: 1rem;
  -webkit-padding-end: 1rem;
  padding-inline-end: 1rem;
  padding-inline-start: 1rem
}

.ecl-banner {
  -webkit-margin-end: 0;
  align-items: center;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0;
  margin-inline-end: 0;
  margin-top: 0;
  overflow: hidden;
  position: relative
}

.ecl-banner__credit {
  background: rgba(0, 0, 0, .54);
  color: #fff;
  font: normal normal 400 .875rem/1rem arial, sans-serif;
  padding: .25rem .5rem;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1
}

.ecl-container .ecl-banner:not(.ecl-banner--full-width) .ecl-container {
  -webkit-padding-start: 1.5rem;
  -webkit-padding-end: 1.5rem;
  padding-inline-end: 1.5rem;
  padding-inline-start: 1.5rem
}

.ecl-banner__container {
  display: flex;
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
  width: 100%
}

.ecl-banner__content {
  align-items: start;
  box-sizing: content-box;
  display: inline-flex;
  flex-direction: column
}

.ecl-banner--centered .ecl-banner__container {
  justify-content: center
}

.ecl-banner--centered .ecl-banner__content {
  align-items: center;
  text-align: center
}

.ecl-banner__image {
  background-size: cover;
  position: relative;
  width: 100%
}

.ecl-banner__title {
  font: normal normal 400 1.75rem/2rem arial, sans-serif;
  font-weight: 700;
  margin: 0
}

.ecl-banner__description {
  font: normal normal 400 1.125rem/1.5rem arial, sans-serif;
  font-weight: 400;
  margin-bottom: 0;
  margin-top: .5rem
}

.ecl-banner__cta {
  margin-top: 1.5rem
}

.ecl-banner__content>:first-child {
  margin-top: 0
}

@media (min-width:996px) {

  .ecl-banner--m:before,
  .ecl-banner:before {
    content: "";
    display: block;
    padding-top: 25%;
    width: 100%
  }

  .ecl-banner--s:before {
    content: "";
    display: block;
    padding-top: 20%;
    width: 100%
  }

  .ecl-banner--l:before {
    content: "";
    display: block;
    padding-top: 33%;
    width: 100%
  }

  .ecl-banner .ecl-container {
    position: absolute
  }

  .ecl-banner__content {
    max-width: 45.5rem
  }

  .ecl-banner__title {
    font: normal normal 400 2rem/2.5rem arial, sans-serif;
    font-weight: 700
  }

  .ecl-banner__description {
    font: normal normal 400 1.25rem/1.75rem arial, sans-serif;
    font-weight: 400
  }
}

.ecl-banner--full-width {
  -webkit-margin-start: -50vw;
  border-radius: 0;
  left: 50%;
  margin-inline-start: -50vw;
  width: 100vw
}

.ecl-banner--plain-background {
  background: #004494
}

.ecl-banner--plain-background .ecl-banner__description,
.ecl-banner--plain-background .ecl-banner__title {
  color: #fff
}

.ecl-banner--text-box .ecl-banner__image {
  border-bottom: 4px solid #ffd617
}

.ecl-banner--text-box .ecl-banner__image:before {
  content: "";
  display: block;
  padding-top: 25%;
  width: 100%
}

.ecl-banner--text-box .ecl-banner__description,
.ecl-banner--text-box .ecl-banner__title {
  color: #404040
}

@media (min-width:996px) {
  .ecl-banner--text-box .ecl-banner__container {
    padding-bottom: 0;
    padding-top: 0
  }

  .ecl-banner--text-box .ecl-banner__image {
    border-bottom-width: 0;
    height: auto;
    left: 0;
    position: absolute;
    top: 0
  }

  .ecl-banner--text-box .ecl-banner__image:before {
    height: 100%;
    padding-top: 0
  }

  .ecl-banner--text-box .ecl-banner__content {
    -webkit-border-start: 0 solid #ffd617;
    background: #fff;
    border-bottom: 4px solid #ffd617;
    border-inline-start: 0 solid #ffd617;
    border-radius: 0;
    padding: 1.5rem
  }
}

.ecl-banner--image-overlay {
  background: #003776
}

.ecl-banner--image-overlay .ecl-banner__image {
  border-bottom: 4px solid #ffd617
}

.ecl-banner--image-overlay .ecl-banner__image:before {
  background-color: rgba(0, 0, 0, .4);
  border-radius: 0 0 0 0;
  content: "";
  display: block;
  padding-top: 25%;
  width: 100%
}

.ecl-banner--image-overlay .ecl-banner__description,
.ecl-banner--image-overlay .ecl-banner__title {
  color: #fff
}

@media (min-width:996px) {
  .ecl-banner--image-overlay .ecl-banner__image {
    border-bottom-width: 0;
    height: auto;
    left: 0;
    position: absolute;
    top: 0
  }

  .ecl-banner--image-overlay .ecl-banner__image:before {
    border-radius: 0;
    height: 100%;
    padding-top: 0
  }

  .ecl-banner--image-overlay .ecl-banner__description,
  .ecl-banner--image-overlay .ecl-banner__title {
    text-shadow: 0 0 4px #000
  }
}

.ecl-banner--text-highlight {
  background: #003776
}

.ecl-banner--text-highlight .ecl-banner__image {
  border-bottom: 4px solid #ffd617
}

.ecl-banner--text-highlight .ecl-banner__image:before {
  border-radius: 0 0 0 0;
  content: "";
  display: block;
  padding-top: 25%;
  width: 100%
}

.ecl-banner--text-highlight .ecl-banner__description,
.ecl-banner--text-highlight .ecl-banner__title {
  color: #fff
}

@media (min-width:996px) {
  .ecl-banner--text-highlight .ecl-banner__image {
    border-bottom-width: 0;
    height: auto;
    left: 0;
    position: absolute;
    top: 0
  }

  .ecl-banner--text-highlight .ecl-banner__image:before {
    border-radius: 0;
    height: 100%;
    padding-top: 0
  }

  .ecl-banner--text-highlight .ecl-banner__description-text,
  .ecl-banner--text-highlight .ecl-banner__title-text {
    background: rgba(0, 0, 0, .72);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: .25rem .5rem
  }

  .ecl-banner--text-highlight .ecl-banner__title-text {
    line-height: 1.3
  }

  .ecl-banner--text-highlight .ecl-banner__description-text {
    line-height: 1.5
  }
}