/* stylelint-disable-next-line wrap-rem-on-px/wrap-rem-on-px */
/* stylelint-disable wrap-rem-on-px/wrap-rem-on-px */
/* stylelint-enable wrap-rem-on-px/wrap-rem-on-px */
/*
USAGE:
font-size: fluid(12, 62); : from rem(12)@380px to  rem(62)@1440px
gap: fluid(10, 33, 992);  : from rem(10)@991px to  rem(33)@1440px
margin-right: fluid(32, 65, 320, 2560);  : from rem(32)@320px to  rem(65)@2560px
*/
/*
AUTOFILL

USAGE:
@include mixin.autofill(background-color, text-color);
@include mixin.autofill;

Note: Call this mixin in the wrapper or container to where you intend to manipulate the
      default chrome autofill styles for input, textarea and select elements.
*/
/* stylelint-disable */
/* stylelint-enable */
/* Font */
/* GFIP color palette */
:root {
  --dark-green: #005600;
  --teal-green: #0f7557;
  --forest-green-60: rgba(39, 84, 28, 0.6);
  --green: #239600;
  --light-green: #5edc38;
  --lime-green: #97d83e;
  --light-green-bg: #dffcd6;
  --mint-green: #80DCC1;
  --bright-green: #009A00;
  --pastel-green: #0F7557;
  --yellow: #e9fa4c;
  --lime-yellow: #e6f410;
  --gold: #a1b500;
  --light-yellow-bg: #faffd4;
  --dark-blue: #1b5ea3;
  --medium-blue: #3b5faf;
  --blue: #04b7d9;
  --light-blue: #7df5f5;
  --powder-blue: #ADF4FF;
  --resource-blue: #7de5f5;
  --resource-yellow: #f1fc88;
  --resource-blue-tag: #adf4ff;
  --resource-green-tag: #a3ff87;
  --violet: #5578c4;
  --orange: #f2542d;
  --black: #000;
  --black-transparent: rgba(0, 0, 0, 0);
  --white: #fff;
  --white-70: rgba(255, 255, 255, 0.7);
  --red: #FC0404;
}

.gfip.hero-banner {
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 80vh;
  flex-direction: column;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner {
    display: grid;
    min-height: 100vh;
  }
}
.gfip.hero-banner::after {
  position: absolute;
  display: block;
  background: linear-gradient(180deg, var(--black) -50%, var(--black-transparent) 100%);
  content: "";
  inset: 0;
  pointer-events: none;
}
.gfip.hero-banner video,
.gfip.hero-banner picture {
  position: relative;
  width: 100%;
  max-height: 27.625rem;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner video,
  .gfip.hero-banner picture {
    grid-area: 1/1;
    z-index: 0;
    height: 100%;
    max-height: unset;
  }
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__media--mobile {
    display: none;
  }
}
.gfip.hero-banner .hero-banner__media--desktop {
  display: none;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__media--desktop {
    display: block;
  }
}
.gfip.hero-banner video,
.gfip.hero-banner picture img {
  object-fit: cover;
  object-position: center;
}
.gfip.hero-banner img {
  width: 100%;
  height: 100%;
}
.gfip.hero-banner .hero-banner__credit {
  position: relative;
  z-index: 2;
  height: 0;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__credit {
    position: absolute;
    bottom: 0.6875rem;
    left: 0.9375rem;
    max-width: calc(50% - 1.875rem);
    height: auto;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__credit {
    bottom: 0.7638888889vw;
    left: 1.0416666667vw;
    max-width: calc(50% - 2.0833333333vw);
  }
}
.gfip.hero-banner .hero-banner__credit p {
  position: absolute;
  right: 0.9375rem;
  bottom: 0.6875rem;
  left: 0.9375rem;
  margin: 0;
  text-align: right;
  color: var(--white);
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5;
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__credit p {
    font-size: 0.8333333333vw;
  }
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__credit p {
    position: static;
    text-align: left;
  }
}
.gfip.hero-banner .hero-banner__content {
  position: relative;
  z-index: 1;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content {
    grid-area: 1/1;
    z-index: 1;
    display: flex;
    width: 50%;
    height: fit-content;
    flex-direction: row;
    align-items: stretch;
    align-self: end;
    justify-self: end;
  }
}
.gfip.hero-banner .hero-banner__content article {
  padding: 3.5625rem 1.25rem 3.75rem;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content article {
    flex: 1 1 auto;
    min-width: 0;
    padding: 4.1875rem 3.75rem 3.9375rem;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content article {
    padding: 4.6527777778vw 4.1666666667vw 4.375vw;
  }
}
.gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
  color: var(--white);
  font-weight: 500;
  font-family: "PT Serif Caption", serif;
  font-size: clamp(1.875rem, 0.57803vw + 1.72976875rem, 2.25rem);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.27;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
    line-height: 1.11;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
    font-size: 2.5vw;
  }
}
@media screen and (min-width:991px) {
  .gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
    font-size: 2.125rem;
  }
}
@media screen and (min-width:991px) and (max-width: 1198.98px) {
  .gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
    line-height: 1.2;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
    font-size: 2.3611111111vw;
  }
}
.gfip.hero-banner .hero-banner__content h1:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content h2:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content b:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content strong:has(+ .hero-banner__description) {
  margin-bottom: 1.5rem;
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content h1:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content h2:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content b:has(+ .hero-banner__description), .gfip.hero-banner .hero-banner__content strong:has(+ .hero-banner__description) {
    margin-bottom: 1.6666666667vw;
  }
}
.gfip.hero-banner .hero-banner__content h1, .gfip.hero-banner .hero-banner__content h2, .gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
  font-family: "PT Serif Caption", serif;
}
.gfip.hero-banner .hero-banner__content b, .gfip.hero-banner .hero-banner__content strong {
  color: var(--light-green);
  font-weight: 400;
}
.gfip.hero-banner .hero-banner__content p {
  color: var(--white);
  font-family: "PT Serif Caption", serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content p {
    font-size: 1.1111111111vw;
  }
}
.gfip.hero-banner .hero-banner__content p b, .gfip.hero-banner .hero-banner__content p strong, .gfip.hero-banner .hero-banner__content p a {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
}
.gfip.hero-banner .hero-banner__content p a {
  text-decoration: underline;
}
.gfip.hero-banner .hero-banner__content p a:hover {
  text-decoration: none;
}
.gfip.hero-banner .hero-banner__content picture,
.gfip.hero-banner .hero-banner__content .hero-banner__decorative {
  position: relative;
  display: flex;
  width: auto;
  max-height: unset;
  flex-direction: column;
  align-self: stretch;
}
.gfip.hero-banner .hero-banner__content picture::after,
.gfip.hero-banner .hero-banner__content .hero-banner__decorative::after {
  display: none;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content picture,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative {
    position: relative;
    min-width: 8.4375rem;
    height: auto;
    flex: 0 0 8.4375rem;
    inset: unset;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content picture,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative {
    min-width: 9.375vw;
    flex-basis: 9.375vw;
  }
}
.gfip.hero-banner .hero-banner__content picture img,
.gfip.hero-banner .hero-banner__content picture canvas,
.gfip.hero-banner .hero-banner__content picture svg,
.gfip.hero-banner .hero-banner__content .hero-banner__decorative img,
.gfip.hero-banner .hero-banner__content .hero-banner__decorative canvas,
.gfip.hero-banner .hero-banner__content .hero-banner__decorative svg {
  max-height: 8.4375rem;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content picture img,
  .gfip.hero-banner .hero-banner__content picture canvas,
  .gfip.hero-banner .hero-banner__content picture svg,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative img,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative canvas,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative svg {
    width: 100%;
    max-width: 8.4375rem;
    height: 100%;
    min-height: 100%;
    max-height: unset;
    flex: 1 1 auto;
    object-fit: cover;
    object-position: bottom right;
  }
}
@media screen and (min-width:1700px) {
  .gfip.hero-banner .hero-banner__content picture img,
  .gfip.hero-banner .hero-banner__content picture canvas,
  .gfip.hero-banner .hero-banner__content picture svg,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative img,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative canvas,
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative svg {
    max-width: 9.375vw;
  }
}
.gfip.hero-banner .hero-banner__content .hero-banner__decorative--lottie {
  height: 8.4375rem;
}
@media screen and (min-width:1199px) {
  .gfip.hero-banner .hero-banner__content .hero-banner__decorative--lottie {
    height: auto;
  }
}
.gfip.hero-banner .hero-banner__content .hero-banner__decorative--lottie canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
}
.gfip.hero-banner .hero-banner__content:not(.is-dark-green) article b, .gfip.hero-banner .hero-banner__content:not(.is-dark-green) article strong {
  color: var(--dark-green);
}
.gfip.hero-banner .hero-banner__content:not(.is-dark-green) article h1, .gfip.hero-banner .hero-banner__content:not(.is-dark-green) article h2, .gfip.hero-banner .hero-banner__content:not(.is-dark-green) article p, .gfip.hero-banner .hero-banner__content:not(.is-dark-green) article p b, .gfip.hero-banner .hero-banner__content:not(.is-dark-green) article p strong {
  color: var(--black);
}
.gfip.hero-banner .hero-banner__content.is-green article b, .gfip.hero-banner .hero-banner__content.is-green article strong {
  color: var(--light-green-bg);
}

/*# sourceMappingURL=hero-banner.css.map */
