/***** Vistra Design System *****/
/************************************/
/* 16px */
/* 24px */
/***** START: New theme variables *****/
/************************************/
/***** END: New theme variables ******/
/************************************/
/* Anchor links within a wysiwyg on a dark background */
.bg-colour--coltype-dark .field--type-text-long a {
  color: #97E3FF;
  position: relative;
}
.bg-colour--coltype-dark .field--type-text-long a:hover:not(.btn) {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 1.5px;
}

p {
  margin-block: var(--spacing-default);
}

ul {
  padding-left: var(--spacing-loose);
}

.body-large {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
.body-large a {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
.body-large strong {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-large {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
  .body-large a {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
  .body-large strong {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
}

.body-medium {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
.body-medium a {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
.body-medium strong {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-medium {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
  .body-medium a {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
  .body-medium strong {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.body-small {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
.body-small a {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
.body-small strong {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-small {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
  .body-small a {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
  .body-small strong {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-xs {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
.body-xs a {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
.body-xs strong {
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-xs {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
  .body-xs a {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
  .body-xs strong {
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-large-link {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-large-link {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
}

.body-medium-link {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-medium-link {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.body-small-link {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-small-link {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-xs-link {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-xs-link {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.heading-large {
  font-weight: 400;
  font-size: 2.25rem;
  line-height: 2.75rem;
}
@media all and (min-width: 48em) {
  .heading-large {
    font-weight: 400;
    font-size: 3rem;
    line-height: 3.5rem;
  }
}

.heading-medium {
  font-weight: 400;
  font-size: 2rem;
  line-height: 2.5rem;
}
@media all and (min-width: 48em) {
  .heading-medium {
    font-weight: 400;
    font-size: 2.625rem;
    line-height: 3.125rem;
  }
}

.heading-small {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
}
@media all and (min-width: 48em) {
  .heading-small {
    font-weight: 400;
    font-size: 2rem;
    line-height: 2.5rem;
  }
}

.title-large {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
}
@media all and (min-width: 48em) {
  .title-large {
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 2.25rem;
  }
}

.title-medium {
  font-weight: 400;
  font-size: 1.25rem;
  line-height: 1.75rem;
}
@media all and (min-width: 48em) {
  .title-medium {
    font-weight: 400;
    font-size: 1.375rem;
    line-height: 1.875rem;
  }
}

.title-small {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
}
@media all and (min-width: 48em) {
  .title-small {
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
}

.body-large-default {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-large-default {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
}

.body-large-title {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-large-title {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
}

.body-large-link {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-large-link {
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 0.01em;
  }
}

.body-medium-default {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-medium-default {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.body-medium-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-medium-title {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.body-medium-link {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-medium-link {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.body-small-default {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-small-default {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-small-title {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-small-title {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-small-link {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-small-link {
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-xs-default {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-xs-default {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-xs-title {
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-xs-title {
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.body-xs-link {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.375rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .body-xs-link {
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1.375rem;
    letter-spacing: 0.01em;
  }
}

.label-large {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.02em;
}
@media all and (min-width: 48em) {
  .label-large {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.01em;
  }
}

.label-medium {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .label-medium {
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1rem;
    letter-spacing: 0.01em;
  }
}

.label-small {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.01em;
}
@media all and (min-width: 48em) {
  .label-small {
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1rem;
    letter-spacing: 0.01em;
  }
}

.display-small {
  font-weight: 300;
  font-size: 2.5rem;
  line-height: 3rem;
}
@media all and (min-width: 48em) {
  .display-small {
    font-weight: 300;
    font-size: 3.25rem;
    line-height: 3.75rem;
  }
}

.display-medium {
  font-weight: 300;
  font-size: 2.625rem;
  line-height: 3.125rem;
}
@media all and (min-width: 48em) {
  .display-medium {
    font-weight: 300;
    font-size: 4rem;
    line-height: 4.5rem;
  }
}

.display-large {
  font-weight: 300;
  font-size: 3rem;
  line-height: 3.5rem;
}
@media all and (min-width: 48em) {
  .display-large {
    font-weight: 300;
    font-size: 4.75rem;
    line-height: 5.375rem;
  }
}

[data-component-id="vistra2024:scroll-container"].geni-grouped-section {
  /* Geni Tile Styling */
  /* Gradient Fade Box Styling */
}
@media all and (min-width: 48em) {
  [data-component-id="vistra2024:scroll-container"].geni-grouped-section .title-text {
    max-width: 488px;
  }
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section.light-text {
  color: #FFF;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .accent-text {
  color: #97E3FF;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .geni-balanced-text {
  text-wrap: balance;
  max-width: 808px;
  margin-inline-start: auto;
  margin-inline-end: auto;
  margin-bottom: 3rem;
}
@media all and (max-width: 47.9375em) {
  [data-component-id="vistra2024:scroll-container"].geni-grouped-section .lottie-stack-item {
    z-index: 2;
  }
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .horizontal-slider__child {
  width: 100%;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .horizontal-slider__child lottie-player {
  width: 100%;
  height: auto;
}
@media all and (min-width: 48em) {
  [data-component-id="vistra2024:scroll-container"].geni-grouped-section .horizontal-slider__child lottie-player {
    padding-left: 3rem;
  }
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .geni-tile {
  height: 100%;
  padding: 1.5rem;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .gsap-animated-text-header {
  opacity: 0; /* Start invisible */
  transform: scale(0.75) translateY(24px); /* Start at 75% scale and move 24px down */
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .gsap-animated-text-wrapper p {
  margin: 0;
  opacity: 0; /* Start invisible */
  transform: scale(0.75) translateY(24px); /* Start at 75% scale and move 24px down */
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .gsap-animated-box-header {
  opacity: 0; /* Start invisible */
  transform: scale(0.75) translateY(24px); /* Start at 75% scale and move 24px down */
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .gsap-animated-box {
  opacity: 0; /* Start invisible */
  transform: scale(0.75); /* Start at 75% scale */
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .geni-tile__padded-small {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 1rem;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .geni-tile__padded-small > * {
  margin-block-start: 0;
  margin-block-end: 0;
}
[data-component-id="vistra2024:scroll-container"].geni-grouped-section .fade-grad-box {
  display: none;
  -ms-flex-pack: center;
  justify-content: center;
  overflow: hidden;
  opacity: 1;
}
@media all and (max-width: 47.9375em) {
  [data-component-id="vistra2024:scroll-container"].geni-grouped-section .fade-grad-box {
    display: -ms-flexbox;
    display: flex;
  }
}
[data-component-id="vistra2024:scroll-container"] .geni-flow > * + * {
  --geni-flow-space: 1em;
  margin-block-start: var(--geni-flow-space, 1em);
}
[data-component-id="vistra2024:scroll-container"] .box {
  padding: 5px;
  border: 1px solid goldenrod;
}
[data-component-id="vistra2024:scroll-container"] .box:nth-child(odd) {
  border-color: tomato;
}
[data-component-id="vistra2024:scroll-container"] .horizontal-slider__child.max-w-500 {
  max-width: 500px;
}
[data-component-id="vistra2024:scroll-container"].bg-color--blue-radial-grad {
  background-size: 100% 100%;
  background-position: 0px 0px;
  background-color: #0909B7;
  background-image: radial-gradient(80% 180% at 87% 12%, #97E3FF 0%, #0909B7 49%, #001A5B 100%);
}
@media all and (min-width: 48em) {
  [data-component-id="vistra2024:scroll-container"].bg-color--blue-radial-grad {
    background-image: radial-gradient(100% 100% at 83% 12%, #97E3FF 0%, #0909B7 49%, #001A5B 100%);
  }
}
[data-component-id="vistra2024:scroll-container"] .bg-color--blue-900 {
  background-color: #001A5B;
}
[data-component-id="vistra2024:scroll-container"] .centered-button {
  text-align: center;
  margin-top: 2rem;
}
[data-component-id="vistra2024:scroll-container"] .centered-button button {
  width: auto;
}
[data-component-id="vistra2024:scroll-container"] .geni-inner-section--padded-tb-top {
  padding-block-start: clamp(2.5rem, 1.8478rem + 3.2609vi, 4.375rem);
}
[data-component-id="vistra2024:scroll-container"] .geni-inner-section--padded-tb-bottom {
  padding-block-start: 1.5rem;
  padding-block-end: clamp(2.5rem, 1.8478rem + 3.2609vi, 4.375rem);
}
[data-component-id="vistra2024:scroll-container"] .geni-inner-section--padded-tb-last {
  padding-block-start: clamp(2.5rem, 1.8478rem + 3.2609vi, 4.375rem);
  padding-block-end: 1.5rem;
}
@media all and (min-width: 48em) {
  [data-component-id="vistra2024:scroll-container"] .geni-inner-section--padded-tb-last {
    padding-block-end: 7.5rem;
  }
}
[data-component-id="vistra2024:scroll-container"] .stack__item_relative {
  position: relative;
}
[data-component-id="vistra2024:scroll-container"] .stack__item_relative .geni-logo {
  margin-top: 4rem;
  margin-bottom: 2rem;
  position: relative;
  z-index: 2;
}
[data-component-id="vistra2024:scroll-container"] .stack__item_relative .geni-logo img {
  max-width: min(272px, 100%);
}
@media all and (min-width: 48em) {
  [data-component-id="vistra2024:scroll-container"] .stack__item_relative .geni-logo img {
    max-width: 350px;
  }
}
[data-component-id="vistra2024:scroll-container"] .stack__item_relative .text {
  position: relative;
  color: #FFF;
  z-index: 2;
}
[data-component-id="vistra2024:scroll-container"] .geni-background-image {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
}
[data-component-id="vistra2024:scroll-container"] .geni-background-image img {
  position: absolute;
  transform: translate(8.5%, 3%) rotate(45deg) scale(1.15);
  width: 100%;
  height: auto;
  object-fit: cover;
  opacity: 0.9;
}
/*# sourceMappingURL=scroll-container.css.map */
