/* breakpoints */
.promo {
  background: #ffffff;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  box-sizing: border-box;
  margin-bottom: 3rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo {
    margin-bottom: 3rem;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.promo > .component-content {
  position: relative;
  height: calc(100% - 30px);
}

.promo > .component-content:after {
  content: "";
  display: table;
  clear: both;
}

.promo > .component-content > div {
  border-width: 1px;
  border-style: solid;
  border-color: transparent;
}

.promo .zg-height-fix .field-promoicon {
  margin-top: 100px;
}

.promo .field-promoicon {
  overflow: hidden;
  width: 100%;
}

.promo .field-promoicon img {
  width: 100%;
  height: calc(100% - 205px);
}

.promo .field-promolink {
  margin-top: 5px;
  padding-bottom: 10px;
}

.promo.image-full-size img {
  margin-bottom: 10px;
}

@supports (display: grid) {
  .promo.content-bottom .promo-box,
  .promo.content-bottom .promo-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .promo.content-bottom .field-promotext {
    -webkit-box-flex: 1;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .promo.content-bottom .field-promotext2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

.promo.content-top .promo-box,
.promo.content-top .promo-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.promo.content-top .field-promotext {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.promo.content-top .field-promotext2 {
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.promo.content-top .field-promolink {
  justify-self: flex-end;
}

.promo.promo-blue .component-content > .promo-box {
  background: #003798;
  border-color: #003798;
}

.promo.promo-blue .component-content > .promo-box > .field-promotext,
.promo.promo-blue .component-content > .promo-box > .field-promotext2 {
  color: #ffffff;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink {
  text-align: center;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media (prefers-reduced-motion) {
  .promo.promo-blue .component-content > .promo-box > .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a + [class*="button-"],
.promo.promo-blue .component-content > .promo-box > .field-promolink a + .button,
.promo.promo-blue .component-content > .promo-box > .field-promolink a + .promo.promo-blue .component-content > .promo-box > .field-promolink a {
  margin-left: 1rem;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a:disabled, .promo.promo-blue .component-content > .promo-box > .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-blue .component-content > .promo-box > .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-blue .component-content > .promo-box > .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-blue .component-content > .promo-box > .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-blue .component-content > .promo-box > .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-green .component-content > .promo-box {
  background: #009543;
  border-color: #009543;
}

.promo.promo-green .component-content > .promo-box > .field-promotext,
.promo.promo-green .component-content > .promo-box > .field-promotext2 {
  color: #ffffff;
}

.promo.promo-green .component-content > .promo-box > .field-promotext2 {
  font-weight: 600;
}

.promo.promo-green .component-content > .promo-box > .field-promolink {
  text-align: center;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media (prefers-reduced-motion) {
  .promo.promo-green .component-content > .promo-box > .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo.promo-green .component-content > .promo-box > .field-promolink a + [class*="button-"],
.promo.promo-green .component-content > .promo-box > .field-promolink a + .button,
.promo.promo-green .component-content > .promo-box > .field-promolink a + .promo.promo-green .component-content > .promo-box > .field-promolink a {
  margin-left: 1rem;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a:disabled, .promo.promo-green .component-content > .promo-box > .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo.promo-green .component-content > .promo-box > .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-green .component-content > .promo-box > .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-green .component-content > .promo-box > .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-green .component-content > .promo-box > .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-green .component-content > .promo-box > .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-image .component-content > .promo-box {
  position: relative;
  overflow: hidden;
  border-color: transparent;
  background: transparent;
  border-width: 0;
  height: 34.5rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box {
    padding: 0;
  }
}

.promo.promo-image .component-content > .promo-box:before {
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,939090+100&1+25,0.33+66,0+83 */
  /* FF3.6-15 */
  background: -webkit-linear-gradient(45deg, black 0%, #252424 25%, rgba(97, 95, 95, 0.33) 66%, rgba(122, 120, 120, 0) 83%, rgba(147, 144, 144, 0) 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(45deg, black 0%, #252424 25%, rgba(97, 95, 95, 0.33) 66%, rgba(122, 120, 120, 0) 83%, rgba(147, 144, 144, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#00939090',GradientType=1 );
  /* IE6-9 fallback on horizontal gradient */
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: .4;
  z-index: 1;
}

.promo.promo-image .component-content > .promo-box > .promo-text {
  position: relative;
  z-index: 10;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box > .promo-text {
    position: relative;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    margin: 1.25rem;
  }
}

.promo.promo-image .component-content > .promo-box .field-promotext {
  color: #ffffff;
  text-align: center;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box .field-promotext {
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.promo.promo-image .component-content > .promo-box .field-promotext2 {
  color: #ffffff;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box .field-promotext2 {
    color: #ffffff;
  }
}

.promo.promo-image .component-content > .promo-box .field-promolink {
  text-align: center;
}

.promo.promo-image .component-content > .promo-box .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
  margin: 0 4.1825rem;
}

@media (prefers-reduced-motion) {
  .promo.promo-image .component-content > .promo-box .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo.promo-image .component-content > .promo-box .field-promolink a + [class*="button-"],
.promo.promo-image .component-content > .promo-box .field-promolink a + .button,
.promo.promo-image .component-content > .promo-box .field-promolink a + .promo.promo-image .component-content > .promo-box .field-promolink a {
  margin-left: 1rem;
}

.promo.promo-image .component-content > .promo-box .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo.promo-image .component-content > .promo-box .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo.promo-image .component-content > .promo-box .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo.promo-image .component-content > .promo-box .field-promolink a:disabled, .promo.promo-image .component-content > .promo-box .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo.promo-image .component-content > .promo-box .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-image .component-content > .promo-box .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-image .component-content > .promo-box .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-image .component-content > .promo-box .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo.promo-image .component-content > .promo-box .field-promoicon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
}

.promo.promo-image .component-content > .promo-box .field-promoicon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.promo.promo-neutral .component-content > .promo-box {
  background: #ECECEC;
  border-color: #ECECEC;
}

.promo.promo-neutral .component-content > .promo-box .field-promotext2 {
  color: #000000;
}

.promo.text-dark .field-promotext,
.promo.text-dark .field-promotext2,
.promo.text-dark .promo-text > .field-promotext,
.promo.text-dark .promo-text > .field-promotext p,
.promo.text-dark .promo-text > .field-promotext2,
.promo.text-dark .promo-text > .field-promotext2 p,
.promo .text-dark .field-promotext,
.promo .text-dark .field-promotext2,
.promo .text-dark .promo-text > .field-promotext,
.promo .text-dark .promo-text > .field-promotext p,
.promo .text-dark .promo-text > .field-promotext2,
.promo .text-dark .promo-text > .field-promotext2 p {
  color: #000000 !important;
}

.promo.text-light .field-promotext,
.promo.text-light .field-promotext2,
.promo.text-light .promo-text > .field-promotext,
.promo.text-light .promo-text > .field-promotext p,
.promo.text-light .promo-text > .field-promotext2,
.promo.text-light .promo-text > .field-promotext2 p,
.promo .text-light .field-promotext,
.promo .text-light .field-promotext2,
.promo .text-light .promo-text > .field-promotext,
.promo .text-light .promo-text > .field-promotext p,
.promo .text-light .promo-text > .field-promotext2,
.promo .text-light .promo-text > .field-promotext2 p {
  color: #ffffff !important;
}

.promo.promo-white .component-content > .promo-box {
  background: #ffffff;
  border-color: #ffffff;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-white .component-content > .promo-box {
    height: auto;
  }
}

.promo.promo-white .component-content > .promo-box .field-promotext2 {
  color: #000000;
}

.promo h1, .promo h2, .promo h3, .promo h4, .promo h5, .promo h6 {
  color: #000000;
}

.promo h1, .promo h2 {
  margin: 1rem 0;
}

.promo h3, .promo h4 {
  margin: 0.5rem 0;
}

.promo h5, .promo h6 {
  margin: 0.5rem 0 0;
}

.promo p {
  margin: 0.5rem 0 inherit;
}

.promo strong {
  font-weight: 700;
}

.promo ul, .promo ol {
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 1.5em;
  margin-left: 0;
  margin-bottom: 1.25rem;
}

.promo li {
  font-size: 1.25rem;
  margin-left: 0;
  padding-left: 0;
}

.promo ul li {
  list-style: disc;
  list-style-position: inside;
  list-style-position: outside;
}

.promo ol li {
  list-style: decimal;
  list-style-position: inside;
  list-style-position: outside;
}

.promo a {
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, border-width, box-shadow;
  transition-property: background-color, color, border-color, border-width, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background-color: transparent;
  text-decoration: none;
  border-bottom-width: 0;
  border-bottom-style: solid;
  border-bottom-color: transparent;
  font-size: 1em;
  font-weight: 600;
  color: #003798;
  box-shadow: 0 0 0 0 transparent;
}

@media (prefers-reduced-motion) {
  .promo a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo a:hover, .promo a.hover {
  color: #03335F;
  background-color: rgba(0, 149, 67, 0.2);
  box-shadow: 0 0 0 4px rgba(0, 149, 67, 0.2);
  text-decoration: none;
  border-bottom-width: 3px;
  border-bottom-color: #009543;
}

.promo a:focus, .promo a.focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
}

.promo a:focus:hover, .promo a.focus.hover, .promo a.focus:hover, .promo a.hover:focus {
  color: #03335F;
  outline: 0;
  box-shadow: 0 0 0 2px #d7ffe9, 0 0 0 4px #009543;
  border-bottom-width: 0;
}

.promo table {
  height: auto !important;
  border: 2px solid #B2B2B2;
}

.promo table, .promo table tr, .promo table th, .promo table td {
  border: solid 2px #B2B2B2;
  background: #ffffff;
  border-collapse: collapse;
  vertical-align: middle;
}

.promo table tr, .promo table th, .promo table td {
  padding: 5px;
}

.promo table caption {
  background-color: #F7F7F7;
  overflow: hidden;
  padding: 10px;
  font-size: 1.5625rem;
  font-weight: bold;
  margin-left: 0;
}

.promo table tr {
  border: none;
}

.promo table th, .promo table td {
  border-width: 2px 0 0 2px;
}

.promo table th {
  background-color: white;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 7px;
}

.promo table th:first-child {
  border-left: 0;
}

.promo table td:first-child {
  border-left: 0;
}

.promo .line-clamp.line-clamp,
.promo [class^='line-clamp-'].line-clamp {
  overflow: hidden;
  line-height: 1.5;
  max-height: 4.5em;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

@supports (-webkit-line-clamp: 3) {
  .promo .line-clamp.line-clamp,
  .promo [class^='line-clamp-'].line-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.promo .line-clamp.line-clamp > p,
.promo .line-clamp.line-clamp > a,
.promo .line-clamp.line-clamp > *,
.promo [class^='line-clamp-'].line-clamp > p,
.promo [class^='line-clamp-'].line-clamp > a,
.promo [class^='line-clamp-'].line-clamp > * {
  font-size: inherit;
  line-height: 1.5;
  margin-bottom: 0;
}

.promo .line-clamp.line-clamp > p:empty,
.promo .line-clamp.line-clamp > a:empty,
.promo .line-clamp.line-clamp > *:empty,
.promo [class^='line-clamp-'].line-clamp > p:empty,
.promo [class^='line-clamp-'].line-clamp > a:empty,
.promo [class^='line-clamp-'].line-clamp > *:empty {
  display: none;
}

.promo .line-clamp.line-clamp-1,
.promo [class^='line-clamp-'].line-clamp-1 {
  overflow: hidden;
  line-height: 1.5;
  max-height: 1.5em;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

@supports (-webkit-line-clamp: 1) {
  .promo .line-clamp.line-clamp-1,
  .promo [class^='line-clamp-'].line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.promo .line-clamp.line-clamp-1 > p,
.promo .line-clamp.line-clamp-1 > a,
.promo .line-clamp.line-clamp-1 > *,
.promo [class^='line-clamp-'].line-clamp-1 > p,
.promo [class^='line-clamp-'].line-clamp-1 > a,
.promo [class^='line-clamp-'].line-clamp-1 > * {
  font-size: inherit;
  line-height: 1.5;
  margin-bottom: 0;
}

.promo .line-clamp.line-clamp-1 > p:empty,
.promo .line-clamp.line-clamp-1 > a:empty,
.promo .line-clamp.line-clamp-1 > *:empty,
.promo [class^='line-clamp-'].line-clamp-1 > p:empty,
.promo [class^='line-clamp-'].line-clamp-1 > a:empty,
.promo [class^='line-clamp-'].line-clamp-1 > *:empty {
  display: none;
}

.promo .line-clamp.line-clamp-2,
.promo [class^='line-clamp-'].line-clamp-2 {
  overflow: hidden;
  line-height: 1.5;
  max-height: 3em;
  margin-bottom: 1.25rem;
  font-size: 1.25rem;
}

@supports (-webkit-line-clamp: 2) {
  .promo .line-clamp.line-clamp-2,
  .promo [class^='line-clamp-'].line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.promo .line-clamp.line-clamp-2 > p,
.promo .line-clamp.line-clamp-2 > a,
.promo .line-clamp.line-clamp-2 > *,
.promo [class^='line-clamp-'].line-clamp-2 > p,
.promo [class^='line-clamp-'].line-clamp-2 > a,
.promo [class^='line-clamp-'].line-clamp-2 > * {
  font-size: inherit;
  line-height: 1.5;
  margin-bottom: 0;
}

.promo .line-clamp.line-clamp-2 > p:empty,
.promo .line-clamp.line-clamp-2 > a:empty,
.promo .line-clamp.line-clamp-2 > *:empty,
.promo [class^='line-clamp-'].line-clamp-2 > p:empty,
.promo [class^='line-clamp-'].line-clamp-2 > a:empty,
.promo [class^='line-clamp-'].line-clamp-2 > *:empty {
  display: none;
}

.promo .text-justify {
  text-align: justify !important;
}

.promo .text-nowrap {
  white-space: nowrap !important;
}

.promo .text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.promo .text-left {
  text-align: left !important;
}

.promo .text-right {
  text-align: right !important;
}

.promo .text-center {
  text-align: center !important;
}

.promo .text-lowercase {
  text-transform: lowercase !important;
}

.promo .text-uppercase {
  text-transform: uppercase !important;
}

.promo .text-capitalize {
  text-transform: capitalize !important;
}

.promo .font-weight-light, .promo .font-weight-light a {
  font-weight: 300 !important;
}

.promo .font-weight-book, .promo .font-weight-book a {
  font-weight: 300 !important;
}

.promo .font-weight-normal, .promo .font-weight-normal a {
  font-weight: 300 !important;
}

.promo .font-weight-medium, .promo .font-weight-medium a {
  font-weight: 400 !important;
}

.promo .font-weight-heavy, .promo .font-weight-heavy a {
  font-weight: 700 !important;
}

.promo .font-weight-black, .promo .font-weight-black a {
  font-weight: 800 !important;
}

.promo .font-italic, .promo .font-italic a {
  font-style: italic !important;
}

.promo .body-0 {
  font-size: 1.875rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo .body-0 {
    font-size: 1.5625rem;
  }
}

.promo .body-1 {
  font-size: 1.5625rem !important;
}

.promo .body-2 {
  font-size: 1.25rem !important;
}

.promo .body-3 {
  font-size: 0.9375rem !important;
}

.promo .context-primary {
  color: #003798;
}

.promo .context-success {
  color: #009543;
}

.promo .context-hint {
  color: #B2B2B2;
}

.promo .context-subtle {
  color: #4D4D4D;
}

.promo .context-danger {
  color: #f86e08;
}

.promo.promo-left {
  padding-right: 0;
}

@media only screen and (max-width: 48em) {
  .promo.promo-left {
    padding-right: 15px;
  }
}

.promo.promo-right {
  padding-left: 0;
}

@media only screen and (max-width: 48em) {
  .promo.promo-right {
    padding-left: 15px;
  }
}

.promo.absolute-bottom-link {
  position: relative;
}

.promo.absolute-bottom-link .field-promolink {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

.promo-double-wide .component-content {
  height: 100%;
  -ms-grid-rows: auto;
  grid-template-rows: auto;
  grid-template-areas: "header header" "sideA sideB";
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo-double-wide .component-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .promo-double-wide .component-content > div {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@supports (display: grid) {
  .promo-double-wide .component-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    grid-column-gap: 0;
    grid-row-gap: 0;
  }
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo-double-wide .component-content {
    grid-template-areas: "header header" "sideA sideA" "sideB sideB";
  }
}

@media only screen and (max-width: 48em) {
  .promo-double-wide .component-content {
    grid-template-areas: "header header" "sideA sideA" "sideB sideB";
  }
}

.promo-double-wide .component-content > div {
  border-width: 0;
  border-style: solid;
  border-color: transparent;
}

@media only screen and (-ms-high-contrast: active) and (min-width: 23.8125em) and (max-width: 61.9375em), only screen and (-ms-high-contrast: none) and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo-double-wide .component-content > div {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media only screen and (-ms-high-contrast: active) and (max-width: 48em), only screen and (-ms-high-contrast: none) and (max-width: 48em) {
  .promo-double-wide .component-content > div {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.promo-double-wide .component-content .field-promotext {
  text-align: center;
  grid-area: header;
}

.promo-double-wide .component-content .field-promotext + div {
  grid-area: sideA;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.promo-double-wide .component-content .field-promotext + div + div {
  grid-area: sideB;
}

.promo-double-wide .component-content .field-image {
  text-align: center;
  max-height: 25rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 25rem;
  flex: 0 1 25rem;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo-double-wide .component-content .field-image {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }
}

@media only screen and (max-width: 48em) {
  .promo-double-wide .component-content .field-image {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
  }
}

.promo-double-wide .component-content .field-image img {
  height: auto;
  width: auto;
  max-height: 100%;
  max-width: 100%;
}

.promo-double-wide .component-content .field-promotext2,
.promo-double-wide .component-content .field-promotext3 {
  font-size: 1.5625rem;
  text-align: center;
  margin: 1.25rem 4rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo-double-wide .component-content .field-promotext2,
  .promo-double-wide .component-content .field-promotext3 {
    font-size: 1.25rem;
  }
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box {
  background: #003798;
  border-color: #003798;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promotext,
.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promotext2 {
  color: #ffffff;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink {
  text-align: center;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media (prefers-reduced-motion) {
  .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a + [class*="button-"],
.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a + .button,
.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a + .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a {
  margin-left: 1rem;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a:disabled, .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo-double-wide .component-content:nth-of-type(1) .promo-box > .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box {
  background: #009543;
  border-color: #009543;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promotext,
.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promotext2 {
  color: #ffffff;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink {
  text-align: center;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media (prefers-reduced-motion) {
  .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a + [class*="button-"],
.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a + .button,
.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a + .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a {
  margin-left: 1rem;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a:disabled, .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo-double-wide .component-content:nth-of-type(2) .promo-box > .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-box {
  background: #ffffff;
  background: #ECECEC;
  border-color: #ECECEC;
  padding: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.promo-box .field-promotext {
  font-size: 2.8125rem;
  color: #000000;
  font-weight: 300;
  text-align: center;
  margin-top: 2rem;
  line-height: 1.2;
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promotext {
    font-size: 1.875rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promotext {
    margin-top: 1.25rem;
  }
}

.promo-box .field-promotext2 {
  font-size: 1.5625rem;
  color: #000000;
  text-align: center;
  margin: 1.25rem 4.1825rem 0;
  overflow: hidden;
  -webkit-box-flex: 1;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promotext2 {
    font-size: 1.25rem;
  }
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .promo-box .field-promotext2 {
    margin: 1.25rem 1.25rem 0;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promotext2 {
    height: auto;
  }
}

@media only screen and (max-width: 48em) {
  .promo-box .field-promotext2 {
    height: auto;
    margin: 1.25rem 1.25rem 0;
  }
}

.promo-box .field-promotext2:empty {
  display: none;
}

.promo-box .field-promolink {
  margin: 2rem 0 0;
  text-align: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.promo-box .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
  background-color: #003798;
  color: #ffffff;
  border-color: #003798;
  font-size: 1.5625rem;
}

@media (prefers-reduced-motion) {
  .promo-box .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo-box .field-promolink a + [class*="button-"],
.promo-box .field-promolink a + .button,
.promo-box .field-promolink a + .promo-box .field-promolink a {
  margin-left: 1rem;
}

.promo-box .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo-box .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo-box .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo-box .field-promolink a:disabled, .promo-box .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo-box .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-box .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo-box .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo-box .field-promolink a:hover {
  color: #ffffff;
  background-color: #3a87ce;
  border-color: #3a87ce;
}

.promo-box .field-promolink a:focus {
  color: #ffffff;
  border-color: transparent;
}

.promo-box .field-promolink a:active {
  background-color: #03335F;
  color: #ffffff;
  border-color: #03335F;
}

.promo-box .field-promolink a:disabled, .promo-box .field-promolink a.disabled {
  background-color: rgba(0, 55, 152, 0.67);
  color: rgba(255, 255, 255, 0.8);
  border-color: #B2B2B2;
}

@media only screen and (max-width: 61.9375em) {
  .promo-box .field-promolink a {
    font-size: 1.25rem !important;
  }
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .double-wide.container .promo {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media only screen and (min-width: 75em) {
  .double-wide.container .promo {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@supports (display: grid) {
  .double-wide.container .promo {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.double-wide.container .promo:nth-of-type(1) {
  grid-area: sideA;
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .double-wide.container .promo:nth-of-type(1) {
    padding-right: 0;
  }
}

@media only screen and (min-width: 75em) {
  .double-wide.container .promo:nth-of-type(1) {
    padding-right: 0;
  }
}

.double-wide.container .promo:nth-of-type(1) .promo-box > .field-promolink {
  text-align: center;
}

.double-wide.container .promo:nth-of-type(2) {
  grid-area: sideB;
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .double-wide.container .promo:nth-of-type(2) {
    padding-left: 0;
  }
}

@media only screen and (min-width: 75em) {
  .double-wide.container .promo:nth-of-type(2) {
    padding-left: 0;
  }
}

.double-wide.container .promo:nth-of-type(2) .promo-box > .field-promolink {
  text-align: center;
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .double-wide.container .promo:nth-of-type(2) .promo-box {
    border-left-color: transparent;
  }
}

@media only screen and (min-width: 75em) {
  .double-wide.container .promo:nth-of-type(2) .promo-box {
    border-left-color: transparent;
  }
}

.double-wide.container .promo-box {
  height: 34.5rem;
}

@media only screen and (max-width: 61.9375em) {
  .double-wide.container .promo-box {
    height: auto;
  }
}

.double-wide.container.equalized-content .promo-box.equal {
  height: auto;
}

/* breakpoints */
.promo.promo-full-width {
  overflow: hidden;
}

.promo.promo-full-width > .component-content {
  margin-left: 15px;
  margin-right: 15px;
  height: 100%;
  grid-template-areas: "promoTxt promoImg";
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-full-width > .component-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .promo.promo-full-width > .component-content > div {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@supports (display: grid) {
  .promo.promo-full-width > .component-content {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: auto;
    grid-column-gap: 0;
    grid-row-gap: 0;
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-full-width > .component-content {
    margin-left: 0;
    margin-right: 0;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-full-width > .component-content {
    grid-template-areas: "promoImg promoImg" "promoTxt promoTxt";
  }
}

@media only screen and (-ms-high-contrast: active) and (max-width: 61.9375em), only screen and (-ms-high-contrast: none) and (max-width: 61.9375em) {
  .promo.promo-full-width > .component-content > div {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.promo.promo-full-width > .component-content > .field-promoicon {
  position: relative;
  z-index: 0;
  padding: 0;
  border: 0 none;
  grid-area: promoImg;
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-full-width > .component-content > .field-promoicon {
    margin-bottom: -9.05px;
  }
}

.promo.promo-full-width > .component-content > .field-promoicon > img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@supports (display: grid) {
  .promo.promo-full-width > .component-content > .field-promoicon > img {
    position: absolute;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-full-width > .component-content > .field-promoicon > img {
    max-height: none;
    position: relative;
    width: 100%;
    height: auto;
  }
}

.promo.promo-full-width > .component-content .promo-box {
  grid-area: promoTxt;
  position: relative;
  z-index: 1;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo.promo-full-width > .component-content .promo-box {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
  }
}

.promo.promo-full-width > .component-content .promo-box .field-promotext,
.promo.promo-full-width > .component-content .promo-box .field-promotext2 {
  height: auto;
}

.promo.promo-full-width.promo-body-right > .component-content {
  grid-template-areas: "promoImg promoTxt";
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-full-width.promo-body-right > .component-content {
    grid-template-areas: "promoImg promoImg" "promoTxt promoTxt";
  }
}

.promo.promo-full-width.promo-body-left > .component-content {
  grid-template-areas: "promoTxt promoImg";
}

@media only screen and (max-width: 61.9375em) {
  .promo.promo-full-width.promo-body-left > .component-content {
    grid-template-areas: "promoImg promoImg" "promoTxt promoTxt";
  }
}

/* breakpoints */
.promo[class*="promo-hero"] {
  width: 100%;
  max-width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
  padding: 15px;
  max-width: 100% !important;
  position: relative;
  text-align: center;
  margin-bottom: 3rem;
  padding: 1.25rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] {
    background-color: #ECECEC;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.promo[class*="promo-hero"].promo-hero-half {
  float: left;
  width: 50%;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].promo-hero-half {
    float: none;
    width: 100%;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].promo-hero-half {
    float: none;
    width: 100%;
  }
}

.promo[class*="promo-hero"] .field-promoicon {
  border-width: 0;
  padding: 0;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .field-promoicon {
    max-height: 25rem;
    position: relative;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"] .field-promoicon {
    max-height: 25rem;
    position: relative;
  }
}

.promo[class*="promo-hero"] .field-promoicon > img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .field-promoicon > img {
    position: relative;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"] .field-promoicon > img {
    position: relative;
  }
}

.promo[class*="promo-hero"] .fixed-content {
  border: none;
}

.promo[class*="promo-hero"] .promo-text {
  z-index: 1;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-color: transparent;
  margin-top: 10rem;
  margin-bottom: 10rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text {
    width: 100%;
    height: auto;
    padding: 0 1.25rem 1.25rem;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
    margin: 0;
  }
  .promo[class*="promo-hero"] .promo-text .field-promotext,
  .promo[class*="promo-hero"] .promo-text .field-promotext2,
  .promo[class*="promo-hero"] .promo-text .field-promotext p,
  .promo[class*="promo-hero"] .promo-text .field-promotext2 p {
    color: #000000 !important;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promotext {
  display: inline-block;
}

.promo[class*="promo-hero"] .promo-text .field-promotext, .promo[class*="promo-hero"] .promo-text .field-promotext p {
  text-align: center;
  font-size: 2.8125rem;
  font-weight: 300;
  line-height: 1.2;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promotext, .promo[class*="promo-hero"] .promo-text .field-promotext p {
    font-size: 1.875rem;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promotext > a {
  color: inherit;
  text-decoration: none;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promotext {
    width: 100%;
    margin: 0;
    margin-top: 1.25rem;
  }
  .promo[class*="promo-hero"] .promo-text .field-promotext h1 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .promo[class*="promo-hero"] .promo-text .field-promotext h2, .promo[class*="promo-hero"] .promo-text .field-promotext h3, .promo[class*="promo-hero"] .promo-text .field-promotext h4 {
    font-size: 20px;
    font-size: 2rem;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"] .promo-text .field-promotext {
    width: 100%;
    margin: 0;
    margin-top: 1.25rem;
  }
  .promo[class*="promo-hero"] .promo-text .field-promotext h1 {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .promo[class*="promo-hero"] .promo-text .field-promotext h2, .promo[class*="promo-hero"] .promo-text .field-promotext h3, .promo[class*="promo-hero"] .promo-text .field-promotext h4 {
    font-size: 20px;
    font-size: 2rem;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promotext2 {
  margin-top: 1.25rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promotext2 {
    margin: 1.25rem 1.25rem 0;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promotext2, .promo[class*="promo-hero"] .promo-text .field-promotext2 p {
  text-align: center;
  font-size: 1.5625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promotext2, .promo[class*="promo-hero"] .promo-text .field-promotext2 p {
    font-size: 1.25rem;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promolink {
  margin-top: 2rem;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: inline-block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  vertical-align: middle;
  box-sizing: border-box;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding: 0.6rem 1.75rem 0.375rem;
  font-family: "Nunito Sans",Helvetica, Verdana, Tahoma, sans-serif;
  font-size: 1.25rem;
  line-height: 1.6875rem;
  text-transform: uppercase;
  font-weight: 300;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
  -webkit-transition-property: background-color, color, border-color, box-shadow;
  transition-property: background-color, color, border-color, box-shadow;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  background: #ffffff;
  color: #003798;
  border-width: 1px;
  border-style: solid;
  border-color: #B2B2B2;
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
  background-color: #003798;
  color: #ffffff;
  border-color: #003798;
}

@media (prefers-reduced-motion) {
  .promo[class*="promo-hero"] .promo-text .field-promolink a {
    -webkit-transition-duration: 0 !important;
    transition-duration: 0 !important;
    -webkit-transition-delay: 0 !important;
    transition-delay: 0 !important;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promolink a + [class*="button-"],
.promo[class*="promo-hero"] .promo-text .field-promolink a + .button,
.promo[class*="promo-hero"] .promo-text .field-promolink a + .promo[class*="promo-hero"] .promo-text .field-promolink a {
  margin-left: 1rem;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:hover {
  color: #003798;
  background: #F7F7F7;
  border-color: #4D4D4D;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:active {
  color: #003798;
  background: #ECECEC;
  border-color: #4D4D4D;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:focus {
  outline: 0;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #009543;
  position: relative;
  z-index: 100;
  color: #003798;
  border-color: transparent;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:disabled, .promo[class*="promo-hero"] .promo-text .field-promolink a.disabled {
  cursor: not-allowed;
  color: #ffffff;
  background: #B2B2B2;
  border-color: #B2B2B2;
  pointer-events: none;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a.large {
  font-size: 1.25rem;
  line-height: 1.8125rem;
  text-transform: uppercase;
  min-width: 16.75rem;
  min-height: 4.625rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promolink a.large {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promolink a.small {
  font-size: 1.25rem;
  line-height: 1.6875rem;
  min-width: auto;
  min-height: auto;
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .promo[class*="promo-hero"] .promo-text .field-promolink a {
    padding-top: 1.5rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"] .promo-text .field-promolink a {
    font-size: 1.25rem;
    min-width: auto;
  }
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:hover {
  color: #ffffff;
  background-color: #3a87ce;
  border-color: #3a87ce;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:focus {
  color: #ffffff;
  border-color: transparent;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:active {
  background-color: #03335F;
  color: #ffffff;
  border-color: #03335F;
}

.promo[class*="promo-hero"] .promo-text .field-promolink a:disabled, .promo[class*="promo-hero"] .promo-text .field-promolink a.disabled {
  background-color: rgba(0, 55, 152, 0.67);
  color: rgba(255, 255, 255, 0.8);
  border-color: #B2B2B2;
}

.promo[class*="promo-hero"].promo-hero-right .promo-text {
  margin-left: 50%;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].promo-hero-right .promo-text {
    margin-left: 0;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].promo-hero-right .promo-text {
    margin-left: 0;
  }
}

.promo[class*="promo-hero"].promo-hero-center .promo-text {
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].promo-hero-center .promo-text {
    margin-left: 0;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].promo-hero-center .promo-text {
    margin-left: 0;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom .field-promotext {
    margin-top: -2.5rem;
  }
}

.promo[class*="promo-hero"].curve-bottom .field-promoicon:after {
  content: '';
  background-color: transparent;
  position: absolute;
  bottom: 0rem;
  left: 0;
  right: 0;
  z-index: 0;
  background-image: url(../images/hero-curve-bottom-single.svg);
  background-position-y: 0%;
  background-position-x: center;
  background-size: 170vw;
  background-repeat: no-repeat;
  padding-top: 6rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom .field-promoicon:after {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTg5OHB4IiBoZWlnaHQ9IjM3OHB4IiB2aWV3Qm94PSIwIDAgMTg5OCAzNzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUzICg3MjUyMCkgLSBodHRwczovL3NrZXRjaGFwcC5jb20gLS0+CiAgICA8dGl0bGU+Y29udGVudC1oZXJvLWN1cnZlLWJvdHRvbSBzaW5nbGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iY29udGVudC1oZXJvLWN1cnZlLWJvdHRvbS1zaW5nbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjAwMDAwMCwgLTE1LjAwMDAwMCkiIGZpbGw9IiNlY2VjZWMiPgogICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTUyLjEyNzc4OSwgMjA0LjAzMzc3Nykgcm90YXRlKC0xLjAwMDAwMCkgdHJhbnNsYXRlKC05NTIuMTI3Nzg5LCAtMjA0LjAzMzc3NykgIiBjeD0iOTUyLjEyNzc4OSIgY3k9IjIwNC4wMzM3NzciIHJ4PSI5NDkiIHJ5PSIxODcuNSI+PC9lbGxpcHNlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+");
  }
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom .field-promoicon:after {
    background-size: 130vw;
    padding-top: 5rem;
    background-position-x: 40%;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].curve-bottom .field-promoicon:after {
    padding-top: 4rem;
    background-position-x: 20%;
  }
}

@media only screen and (max-width: 23.75em) {
  .promo[class*="promo-hero"].curve-bottom .field-promoicon:after {
    padding-top: 3rem;
  }
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promotext {
    margin-top: -2.5rem;
  }
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon {
    max-height: 30rem;
    position: relative;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon {
    max-height: 30rem;
    position: relative;
  }
}

.promo[class*="promo-hero"].curve-bottom-top .field-promoicon:before {
  content: '';
  background-color: transparent;
  position: absolute;
  top: 0rem;
  left: 0;
  right: 0;
  z-index: 1;
  background-image: url(../images/hero-curve-top.svg);
  background-position-y: 0%;
  background-position-x: center;
  background-size: 170vw;
  background-repeat: no-repeat;
  padding-top: 6rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon:before {
    content: '';
    background-size: 130vw;
    padding-top: 4rem;
  }
}

.promo[class*="promo-hero"].curve-bottom-top .field-promoicon:after {
  content: '';
  background-color: transparent;
  position: absolute;
  bottom: 0rem;
  left: 0;
  right: 0;
  z-index: 0;
  background-image: url(../images/hero-curve-bottom-single.svg);
  background-position-y: 0%;
  background-position-x: 70%;
  background-size: 170vw;
  background-repeat: no-repeat;
  padding-top: 6rem;
}

@media only screen and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon:after {
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTg5OHB4IiBoZWlnaHQ9IjM3OHB4IiB2aWV3Qm94PSIwIDAgMTg5OCAzNzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUzICg3MjUyMCkgLSBodHRwczovL3NrZXRjaGFwcC5jb20gLS0+CiAgICA8dGl0bGU+Y29udGVudC1oZXJvLWN1cnZlLWJvdHRvbSBzaW5nbGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iY29udGVudC1oZXJvLWN1cnZlLWJvdHRvbS1zaW5nbGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zLjAwMDAwMCwgLTE1LjAwMDAwMCkiIGZpbGw9IiNlY2VjZWMiPgogICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTUyLjEyNzc4OSwgMjA0LjAzMzc3Nykgcm90YXRlKC0xLjAwMDAwMCkgdHJhbnNsYXRlKC05NTIuMTI3Nzg5LCAtMjA0LjAzMzc3NykgIiBjeD0iOTUyLjEyNzc4OSIgY3k9IjIwNC4wMzM3NzciIHJ4PSI5NDkiIHJ5PSIxODcuNSI+PC9lbGxpcHNlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+");
  }
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon:after {
    background-size: 220vw;
    padding-top: 6rem;
    background-position-x: 90%;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon:after {
    background-size: 220vw;
    padding-top: 5rem;
    background-position-x: 90%;
  }
}

@media only screen and (max-width: 23.75em) {
  .promo[class*="promo-hero"].curve-bottom-top .field-promoicon:after {
    padding-top: 3.5rem;
  }
}

.promo[class*="promo-hero"].header-image {
  height: 32rem;
  overflow: hidden;
}

@media only screen and (min-width: 75em) {
  .promo[class*="promo-hero"].header-image {
    height: auto;
  }
}

.promo[class*="promo-hero"].header-image > .component-content {
  position: initial;
  height: 100%;
}

.promo[class*="promo-hero"].header-image img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center top;
  object-position: center top;
}

@media only screen and (min-width: 75em) {
  .promo[class*="promo-hero"].header-image img {
    height: auto;
    position: relative;
  }
}

@media only screen and (min-width: 62em) and (max-width: 74.9375em) {
  .promo[class*="promo-hero"].header-image {
    height: 23rem;
  }
}

@media only screen and (min-width: 23.8125em) and (max-width: 61.9375em) {
  .promo[class*="promo-hero"].header-image {
    height: 19rem;
  }
}

@media only screen and (max-width: 48em) {
  .promo[class*="promo-hero"].header-image {
    height: 14rem;
    padding-left: 0;
    padding-right: 0;
  }
}

/* breakpoints */
.promo-shadow {
  max-width: 960px;
  padding: 0;
  border-top-width: 3px;
  border-top-color: #B2B2B2;
  border-style: solid;
  overflow: visible;
  position: relative;
}

.promo-shadow.promo {
  float: left;
}

.promo-shadow > .component-content {
  padding: 15px;
  margin: 0 0 30px 0;
}

@media only screen and (max-width: 61.9375em) {
  .promo-shadow > .component-content {
    margin: 0 10px 30px 10px;
  }
}

.promo-shadow > .component-content:before, .promo-shadow > .component-content:after {
  opacity: 0.7;
  box-shadow: 0 17px 10px rgba(0, 0, 0, 0.7);
  position: absolute;
  z-index: -1;
  height: 20%;
  max-height: 100px;
  max-width: 460px;
  width: 47%;
  content: "";
  bottom: 10px;
}

.promo-shadow > .component-content:before {
  left: 2%;
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

.promo-shadow > .component-content:after {
  right: 2%;
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
}

.on-page-editor .promo span[scfieldtype="rich text"] {
  width: 100%;
}
