/*!****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/index.js??ruleSet[1].rules[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./cartridges/app_custom_basicfit/cartridge/client/default/scss/pages/homepageherobanner.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************/
.herobanner {
  background: radial-gradient(39.4% 80.03% at 50.49% 49.62%, #343434 0%, #313136 100%);
  overflow: hidden;
  position: relative;
}
.herobanner__bg-media-content {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  height: 100%;
  width: 100%;
}
.herobanner__paragraph {
  font-family: headingprodouble-regular, sans-serif;
  font-size: 22px;
  line-height: 28px;
  color: #fff;
  display: block;
  max-width: 340px;
  font-style: normal;
}
@media only screen and (max-width: 1024px) {
  .herobanner__paragraph {
    max-width: 340px;
    padding-bottom: 20px;
    font-size: 16px;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1680px) {
  .herobanner__paragraph {
    max-width: 240px;
    font-size: 16px;
  }
}
.herobanner__paragraph span {
  font-family: headingprotreble-extrabold, sans-serif;
  color: #7adec9;
}
.herobanner__bottom-wrap {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .herobanner__bottom-wrap {
    padding-left: 21px;
    padding-left: 0;
    justify-content: center;
    align-items: center;
    display: flex;
  }
}
@media only screen and (max-width: 1024px) {
  .herobanner__promo-img {
    max-width: 175px;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner__promo-img {
    max-width: 135px;
  }
}
.herobanner__promo {
  background: #2d2d2d;
  padding: 12px 0;
  white-space: nowrap;
  display: flex;
  transform: rotate(-4deg);
  opacity: 0.6;
  width: 110%;
  position: absolute;
  left: -6%;
  bottom: 17px;
  height: 76px;
  z-index: 1;
}
.herobanner__promo .promo__text {
  font-family: headingprotreble-heavy, sans-serif;
  font-size: 38px;
  line-height: 38px;
  text-transform: uppercase;
  padding: 0 20px;
  margin: 0;
}
@media only screen and (max-width: 1024px) {
  .herobanner__promo .promo__text {
    font-size: 21px;
    line-height: 21px;
    padding: 0 8px;
  }
}
.herobanner__promo .promo__text--main {
  -webkit-text-stroke: 1px #7adec9;
  color: transparent;
}
.herobanner__promo .promo__text--opposite {
  -webkit-text-stroke: 1px #7adec9;
  color: #7adec9;
}
.herobanner__promo.mint .promo__text--main {
  animation: blinking 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.mint .promo__text--opposite {
  animation: blinkingOpposite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.orange {
  opacity: 0.7;
}
.herobanner__promo.orange .promo__text--main {
  -webkit-text-stroke: 1px #fe7000;
  color: transparent;
  animation: blinkingOrange 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.orange .promo__text--opposite {
  -webkit-text-stroke: 1px #fe7000;
  color: #fe7000;
  animation: blinkingOrangeOpposite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.black {
  opacity: 0.7;
}
.herobanner__promo.black .promo__text--main {
  -webkit-text-stroke: 1px #2d2d2d;
  color: transparent;
  animation: blinkingBlack 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.black .promo__text--opposite {
  -webkit-text-stroke: 1px #2d2d2d;
  color: #2d2d2d;
  animation: blinkingBlackOpposite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.white {
  opacity: 0.7;
}
.herobanner__promo.white .promo__text--main {
  -webkit-text-stroke: 1px #fff;
  color: transparent;
  animation: blinkingWhite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.white .promo__text--opposite {
  -webkit-text-stroke: 1px #fff;
  color: #fff;
  animation: blinkingWhiteOpposite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.black-white {
  opacity: 0.7;
}
.herobanner__promo.black-white .promo__text--main {
  -webkit-text-stroke: 1px #2d2d2d;
  animation: blinkingBlackWhite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.black-white .promo__text--opposite {
  -webkit-text-stroke: 1px #fff;
  color: #fff;
  animation: blinkingBlackWhiteOpposite 2s infinite;
  animation-delay: 0s;
  animation-timing-function: steps(1, end);
}
.herobanner__promo.promo-bg {
  opacity: 0.9;
}
@media only screen and (max-width: 1024px) {
  .herobanner__promo {
    bottom: 20px;
    left: -3%;
    height: 42px;
    padding: 10px 0;
  }
}
.herobanner__promo-wrap {
  position: relative;
  white-space: nowrap;
  left: 0;
  display: flex;
  align-items: center;
  animation: disclamer-animation-pagewide 20s linear infinite;
  animation-delay: 0s;
  width: 4179px;
}
.herobanner__bg-mobile {
  display: none;
}
@media only screen and (max-width: 767px) {
  .herobanner__bg-mobile {
    padding-top: 230px;
    padding-left: 20px;
    display: block;
  }
}
.herobanner.promo-banner .herobanner__title--bottom .herobanner__title--last {
  padding: 0 8px 0 40px;
}
@media only screen and (max-width: 1024px) {
  .herobanner.promo-banner .herobanner__title--bottom .herobanner__title--last {
    font-size: 82px;
    line-height: 82px;
    padding: 0 8px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner.promo-banner .herobanner__title--bottom .herobanner__title--last {
    font-size: 70px;
    white-space: nowrap;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media only screen and (max-width: 1024px) {
  .herobanner.promo-banner .herobanner__title--bottom {
    flex-direction: row;
  }
}
.herobanner.promo-banner .disclaimer-text {
  font-family: headingprotreble-heavy, sans-serif;
}
@media only screen and (max-width: 1024px) {
  .herobanner.promo-banner .disclaimer-text {
    font-size: 30px;
    line-height: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner.promo-banner .disclaimer-text {
    font-size: 20px;
  }
}
.herobanner .promo-duration {
  color: #fff;
  font-family: headingprotreble-regular, sans-serif;
  font-size: 20px;
  text-transform: uppercase;
  display: flex;
}
@media only screen and (max-width: 1024px) {
  .herobanner .promo-duration {
    font-size: 16px;
    line-height: 22px;
  }
  .herobanner .promo-duration .promo-duration-text {
    word-break: break-word;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner .promo-duration {
    font-size: 14px;
  }
}
.herobanner .quantity {
  font-size: 100px;
}
@media only screen and (max-width: 1024px) {
  .herobanner .quantity {
    font-size: 77px;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner .quantity {
    font-size: 67px;
    padding-top: 2px;
  }
}
.herobanner .disclaimer {
  background: #2d2d2d;
  padding: 25px 24px;
  white-space: nowrap;
  display: flex;
  position: relative;
  width: 4179px;
}
@media only screen and (max-width: 767px) {
  .herobanner .disclaimer {
    padding: 17px 24px;
  }
}
.herobanner .disclaimer-wrapper {
  position: relative;
  white-space: nowrap;
  left: 0;
  display: flex;
  animation: disclamer-animation-pagewide 20s linear infinite;
  animation-delay: 0s;
  width: 4179px;
}
.herobanner .disclaimer-text {
  font-family: headingprotreble-extrabold, sans-serif;
  font-size: 38px;
  line-height: 16px;
  font-style: normal;
  color: #7adec9;
  margin: 0 10px;
  text-transform: uppercase;
}
@media only screen and (max-width: 767px) {
  .herobanner .disclaimer-text {
    font-size: 21px;
    line-height: 4px;
  }
}
.herobanner .disclaimer-text-opposite {
  color: #fff;
}

@media only screen and (min-width: 768px) {
  .herobanner__content-wrap {
    padding: 36px 15px 46px;
    flex: 1 1 50%;
    max-width: 50%;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__content-wrap {
    flex: 1 1 39%;
    max-width: 39%;
    padding: 45px 0 30px;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner__content--with-background .herobanner__content-wrap {
    margin: auto auto 0;
    padding: 0 20px;
    text-align: center;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
  }
}

.herobanner__content {
  display: flex;
  flex-direction: row;
  height: 100%;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1440px;
  padding: 23px 16px;
  position: relative;
  width: 100%;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .herobanner__content {
    padding: 57px 21px;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__content {
    padding: 64px;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner__content {
    height: calc(100vh - 102px);
  }
}

.herobanner__bg-media {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.herobanner__quantity--wrap {
  align-items: baseline;
  display: flex;
}

.herobanner__modal {
  align-items: center;
  display: flex;
  justify-content: center;
  min-height: 250px;
}
@media only screen and (min-width: 768px) {
  .herobanner__modal {
    flex: 1 1 50%;
    max-width: 50%;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__modal {
    flex: 1 1 61%;
    max-width: 61%;
    padding-left: 50px;
  }
}

.herobanner__modal-img {
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  min-height: 246px;
}

.herobanner__image2 {
  position: relative;
  margin-top: -60px;
}
@media only screen and (max-width: 767px) {
  .herobanner__image2 {
    position: absolute;
    right: 0;
    margin-top: -80px;
  }
}

.herobanner__title {
  margin: 14px 0;
}
@media only screen and (min-width: 768px) {
  .herobanner__title {
    margin: 16px 0 7px;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__title {
    margin: 19px 0 0;
  }
}

.herobanner__title--bottom {
  display: flex;
  padding-bottom: 20px;
}
@media only screen and (max-width: 1024px) {
  .herobanner__title--bottom {
    flex-direction: column;
    padding: 0;
  }
}
@media only screen and (max-width: 767px) {
  .herobanner__title--bottom {
    justify-content: space-between;
    padding: 0;
  }
}

.herobanner__title--main,
.herobanner__title--opposite,
.herobanner__title--last {
  display: block;
  font-family: headingprotreble-heavy, sans-serif;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
}

.herobanner__title--main,
.herobanner__title--last {
  color: #fff;
}

.herobanner__title--main {
  font-size: 46px;
}
@media only screen and (min-width: 768px) {
  .herobanner__title--main {
    font-size: 55px;
    line-height: 1.05;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__title--main {
    font-size: 70px;
    line-height: 1;
  }
}

.herobanner__title--opposite {
  -webkit-text-stroke: 1px #fff;
  color: transparent;
  font-size: 41px;
}
@media only screen and (min-width: 1025px) {
  .herobanner__title--opposite {
    font-size: 62px;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 900px) {
  .herobanner__title--opposite {
    position: relative;
    white-space: nowrap;
    font-size: 49px;
    margin-bottom: 6px;
  }
}

.herobanner__title--last {
  font-size: 58px;
  line-height: 0.95;
}
@media only screen and (min-width: 768px) {
  .herobanner__title--last {
    font-size: 71px;
  }
}
@media only screen and (min-width: 1025px) {
  .herobanner__title--last {
    font-size: 91px;
    line-height: 0.75;
    margin-top: 8px;
  }
}

.herobanner__link {
  font-style: normal;
  min-width: 310px;
  padding: 10px 24px;
}
@media only screen and (min-width: 1025px) {
  .herobanner__link {
    min-width: none;
    padding: 14px 28px;
  }
}

.herobanner__lines {
  max-width: 200px;
  position: absolute;
  right: 0;
  transform: translate(25%, -25%);
}
.herobanner__lines.topRight {
  top: 0;
}
.herobanner__lines.bottomRight {
  bottom: 0;
}
@media only screen and (min-width: 1025px) {
  .herobanner__lines {
    z-index: 2;
  }
}

@keyframes disclamer-animation-pagewide {
  0% {
    left: 0;
  }
  100% {
    left: -2080px;
  }
}
@keyframes blinking {
  0% {
    -webkit-text-stroke: 1px #7adec9;
    color: transparent;
  }
  50% {
    -webkit-text-stroke: 0;
    color: #7adec9;
  }
  100% {
    -webkit-text-stroke: 1px #7adec9;
    color: transparent;
  }
}
@keyframes blinkingOpposite {
  0% {
    -webkit-text-stroke: 0;
    color: #7adec9;
  }
  50% {
    -webkit-text-stroke: 1px #7adec9;
    color: transparent;
  }
  100% {
    -webkit-text-stroke: 0;
    color: #7adec9;
  }
}
@keyframes blinkingOrange {
  0% {
    -webkit-text-stroke: 1px #fe7000;
    color: transparent;
  }
  50% {
    -webkit-text-stroke: 0;
    color: #fe7000;
  }
  100% {
    -webkit-text-stroke: 1px #fe7000;
    color: transparent;
  }
}
@keyframes blinkingOrangeOpposite {
  0% {
    -webkit-text-stroke: 0;
    color: #fe7000;
  }
  50% {
    -webkit-text-stroke: 1px #fe7000;
    color: transparent;
  }
  100% {
    -webkit-text-stroke: 0;
    color: #fe7000;
  }
}
@keyframes blinkingBlack {
  0% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
  50% {
    -webkit-text-stroke: 0;
    color: #2d2d2d;
  }
  100% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
}
@keyframes blinkingBlackOpposite {
  0% {
    -webkit-text-stroke: 0;
    color: #2d2d2d;
  }
  50% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
  100% {
    -webkit-text-stroke: 0;
    color: #2d2d2d;
  }
}
@keyframes blinkingWhite {
  0% {
    -webkit-text-stroke: 1px #fff;
    color: transparent;
  }
  50% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
  100% {
    -webkit-text-stroke: 1px #fff;
    color: transparent;
  }
}
@keyframes blinkingWhiteOpposite {
  0% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
  50% {
    -webkit-text-stroke: 1px #fff;
    color: transparent;
  }
  100% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
}
@keyframes blinkingBlackWhite {
  0% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
  50% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
  100% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
}
@keyframes blinkingBlackWhiteOpposite {
  0% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
  50% {
    -webkit-text-stroke: 1px #2d2d2d;
    color: transparent;
  }
  100% {
    -webkit-text-stroke: 0;
    color: #fff;
  }
}
@media only screen and (max-width: 767px) {
  .mt-mobile {
    margin-top: -16px;
  }
}

@media only screen and (max-width: 767px) {
  .desktop-display {
    display: none;
  }
}

.mobile-display {
  display: none;
}
@media only screen and (max-width: 767px) {
  .mobile-display {
    display: flex;
  }
}

@media only screen and (max-width: 767px) {
  .flex-center-mobile {
    padding: 0;
    align-items: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
  }
}

@media only screen and (max-width: 767px) {
  .video-hero-banner__video--mobile-video {
    width: 350px;
    height: 247px;
  }
}

@media only screen and (max-width: 767px) {
  .bg-mobile-flex {
    display: flex;
    flex-direction: column;
  }
}

/*# sourceMappingURL=homepageherobanner.css.map*/