/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_banner_newsletter {
  overflow: hidden;
  position: relative;
  z-index: 1;
  background-color: #1D1D1B;
  color: #fbfdfe;
  --bs-heading-color: currentColor;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.sn_banner_newsletter:has(~ footer) {
  padding-bottom: 2.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter:has(~ footer) {
    padding-bottom: 0;
  }
}
.sn_banner_newsletter__bg {
  z-index: 1;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter__bg.__mobile {
    display: none;
  }
}
.sn_banner_newsletter__bg.__desktop {
  width: 100%;
  transform: scale3d(1.5, 1.5, 1.5);
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_banner_newsletter__bg.__desktop {
    display: none;
  }
}
.sn_banner_newsletter__ct {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.sn_banner_newsletter__intro {
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter__intro {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.sn_banner_newsletter__in {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter__in {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.sn_banner_newsletter__form {
  position: relative;
  z-index: 2;
  background: #fff;
  color: #4E4B48;
  border-radius: 0rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.sn_banner_newsletter__form form .form-group {
  margin-bottom: 0;
}
.sn_banner_newsletter__form form button {
  width: auto;
  min-height: 2.8125rem;
}
@media only screen and (min-width: 0em) and (max-width: 47.99em) {
  .sn_banner_newsletter__form form button {
    width: 100%;
  }
}
.sn_banner_newsletter ~ footer {
  margin-top: 0;
}

.sn_banner_newsletter {
  background: #fff;
  color: #000000;
  padding-top: 0;
  padding-bottom: 0;
}
.sn_banner_newsletter:has(~ footer) {
  padding-bottom: 0;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter:has(~ footer) {
    padding-bottom: 0;
  }
}
.sn_banner_newsletter__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: repeat;
}
.sn_banner_newsletter__ct {
  padding-top: 4rem;
  padding-right: 1.25rem;
  padding-bottom: 4rem;
  padding-left: 1.25rem;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter__ct {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem;
  }
}
.sn_banner_newsletter__ct__in {
  background: #fff;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media only screen and (min-width: 62em) {
  .sn_banner_newsletter__ct__in {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.sn_banner_newsletter__intro, .sn_banner_newsletter__in {
  padding-top: 0;
  padding-bottom: 0;
}
.sn_banner_newsletter__form {
  padding-top: 0;
  padding-bottom: 0;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_banner_newsletter__form {
    padding-left: 0;
    padding-right: 0;
  }
}