.impact-header {
  background-color: #f2bf49bf;
  background-image: url('../images/hero-pattern.svg');
  background-position: 50% 50%;
  background-size: 27px;
  padding: var(--wp--preset--spacing--minus-2);
}
.impact-header-columns {
  display: flex;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 576px) and (max-width: 991px) {
  .impact-header-columns.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column,
  .impact-header-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child) {
    flex-basis: 65% !important;
  }
  .impact-header-columns.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column:first-child,
  .impact-header-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:not(:only-child):first-child {
    flex-basis: 30% !important;
  }
}
.network-diagram {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  max-width: 250px;
  margin: 0 auto;

  --line-duration: 700ms;
  --line-ease: cubic-bezier(.22, 1, .36, 1);

  --node-duration: 420ms;
  --node-ease: cubic-bezier(.22, 1, .36, 1);

  --node-size: 24px;
  --node-gap: 10px;
}
@media (min-width: 576px) {
  .network-diagram {
    max-width: 250px;
  }
}
@media (min-width: 992px) {
  .network-diagram {
    max-width: 100%;
  }
}
.network-diagram .network-bg {
  fill: #fff;
}
.network-diagram .network-line {
  fill: none;
  stroke: var(--line-color);
  stroke-width: var(--line-width);
  stroke-linecap: round;
  stroke-miterlimit: 10;

  stroke-dasharray: 1;
  stroke-dashoffset: 1;

  transition: stroke-dashoffset var(--line-duration) var(--line-ease);
}
.network-diagram .network-node {
  transform-box: fill-box;
  transform-origin: center;
}
.network-diagram .node-bg {
  fill: #fff;
}
.network-diagram .node-fill {
  fill: var(--node-color);
}
.network-diagram .node-top,
.network-diagram .node-left,
.network-diagram .node-right,
.network-diagram .node-bottom {
  opacity: 1;
  transform: scale(0.65);
  transition: transform var(--node-duration) var(--node-ease);
}
.network-diagram .node-center {
  transform: scale(1);
}
.network-diagram.is-visible .line-top {
  stroke-dashoffset: 0;
  transition-delay: 350ms;
}
.network-diagram.is-visible .node-top {
  transform: scale(1);
  animation: nodePop 700ms ease 1050ms 1 both;
}
.network-diagram.is-visible .line-left {
  stroke-dashoffset: 0;
  transition-delay: 1200ms;
}
.network-diagram.is-visible .node-left {
  transform: scale(1);
  animation: nodePop 700ms ease 1900ms 1 both;
}
.network-diagram.is-visible .line-right {
  stroke-dashoffset: 0;
  transition-delay: 2050ms;
}
.network-diagram.is-visible .node-right {
  transform: scale(1);
  animation: nodePop 700ms ease 2750ms 1 both;
}
.network-diagram.is-visible .line-bottom {
  stroke-dashoffset: 0;
  transition-delay: 2900ms;
}
.network-diagram.is-visible .node-bottom {
  transform: scale(1);
  animation: nodePop 700ms ease 3600ms 1 both;
}
.network-diagram.is-visible .node-center {
  animation:
    centerPulse 900ms ease 0ms 1,
    centerPulse 900ms ease 140ms 1;
}
.network-diagram .node-fill,
.network-diagram .node-bg {
  transform-origin: center;
  transform-box: fill-box;
}
.network-diagram .network-node:hover .node-fill,
.network-diagram .network-node:hover .node-bg {
  animation: hoverPulseChild 700ms ease 1;
  transform-origin: center;
  transform-box: fill-box;
}
@keyframes centerPulse {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.14); }
  100% { transform: scale(1); }
}
@keyframes nodePop {
  0%   { transform: scale(0.65); }
  60%  { transform: scale(1.12); }
  100% { transform: scale(1); }
}
@keyframes hoverPulseChild {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .network-diagram .network-line,
  .network-diagram .network-node {
    transition: none !important;
    animation: none !important;
  }

  .network-diagram .network-line {
    stroke-dashoffset: 0 !important;
  }

  .network-diagram .network-node {
    transform: none !important;
  }
}
.stat-header.has-background {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  padding: var(--wp--preset--spacing--minus-3) var(--wp--preset--spacing--plus-1);
}
@media (min-width: 400px) {
  .stat-header.has-background {
    font-size: clamp(25.984px, 1.624rem + ((1vw - 3.2px) * 1.408), 44px);
  }
}
.stat-group {
  padding-top: var(--gap);
  padding-bottom: var(--wp--preset--spacing--minus-2);
}
.stat-columns {
  gap: var(--gap);
  align-items: stretch;
  margin-bottom: var(--gap);
}
@media (min-width: 768px) {
  .stat-group {
    --gap: 5rem;
  }
}
.stat-column {
  display: flex;
  flex-direction: column;
  flex-basis: 0;
  flex-grow: 1;
  position: relative;
}
.stat-columns .stat-column.is-visible {
  --draw: 1;
}
.stat-columns .stat-column:before {
  content: '';
  position: absolute;
  width: var(--line-width);
  background: var(--line-color);
  left: 50%;
  top: calc(-1 * var(--gap) + var(--content-gap));
  height: calc(var(--gap) - var(--content-gap) * 2);

  transform-origin: top center;
  transform: scaleY(var(--draw));

  transition-property: transform;
  transition-duration: var(--line-duration);
  transition-timing-function: var(--line-ease);
  transition-delay: var(--line-delay);
}
#altimpact-data .stat-columns .stat-column:before {
  display: none;
}
@media (min-width: 992px) {
  .stat-columns .stat-column:not(:first-child):after {
    content: '';
    position: absolute;
    height: var(--line-width);
    background: var(--line-color);
    top: 50%;
    left: calc(-1 * var(--gap) + var(--content-gap));
    width: calc(var(--gap) - var(--content-gap) * 2);

    transform-origin: left center;
    transform: translateY(-50%) scaleX(var(--draw));

    transition-property: transform;
    transition-duration: var(--line-duration);
    transition-timing-function: var(--line-ease);
    transition-delay: var(--line-delay);
  }
}
.stat-wrapper {
  --draw-stats: 0;

  border: 1px var(--wp--preset--color--border) solid;
  border-top: 0;
  font-size: clamp(19px, 1.188rem + ((1vw - 3.2px) * 0.547), 26px);
  height: 100%;
  padding: var(--wp--preset--spacing--minus-3);
}
@media (min-width: 768px) {
  .stat-wrapper {
    padding: var(--wp--preset--spacing--minus-1);
  }
}
.stat-major {
  --draw-stats: 0;
  position: relative;
}
.stat-major.is-visible {
  --draw-stats: 1;
}
.stat-major:not(:last-child):before {
  content: '';
  position: absolute;
  left: 11.5px;
  top: 25px;
  bottom: calc(-0.5em + 6px);
  width: var(--line-width);
  background: var(--line-color);

  transform-origin: top center;
  transform: scaleY(var(--draw-stats));

  transition-property: transform;
  transition-duration: calc(var(--sb-duration, 700ms) + 700ms);
  transition-timing-function: var(--sb-ease, cubic-bezier(.22,1,.36,1));
  transition-delay: calc(var(--sb-delay, 700ms) + 1400ms);
}
.stat-row {
  display: flex;
}
.stat-wrapper p.is-visible, .stat-wrapper li.is-visible {
  --draw-stats: 1;
}
.stat-wrapper p, .stat-wrapper li {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}
.stat-wrapper p {
  margin-top: 0;
  margin-bottom: 1rem;
  position: relative;
}
.stat-wrapper p:last-child {
  margin-bottom: 0;
}
.dot-stat-large {
  content: '';
  display: inline-block;
  height: 24px;
  width: 24px;
  border: 5px solid var(--wp--preset--color--primary);
  border-radius: 50%;
  vertical-align: text-top;
  position: relative;
  margin-right: calc(var(--content-gap) * 3);
  flex-shrink: 0;
  top: .125rem;
}
@media (min-width: 768px) {
  .dot-stat-large {
    top: .25rem;
  }
}
.stat-major:nth-of-type(1) .dot-stat-large {
  border-color: var(--wp--preset--color--primary);
}
.stat-major:nth-of-type(2) .dot-stat-large {
  border-color: var(--wp--preset--color--blue);
}
.stat-major:nth-of-type(3) .dot-stat-large {
  border-color: var(--wp--preset--color--green);
}
.stat-columns:first-child .stat-column:last-child .stat-major:nth-of-type(1) .dot-stat-large {
  border-color: var(--wp--preset--color--yellow);
}
.stat-columns:first-child .stat-column:last-child .stat-major:nth-of-type(2) .dot-stat-large {
  border-color: var(--wp--preset--color--purple);
}
.dot-stat-large:after {
  content: '';
  position: absolute;
  height: var(--line-width);
  background: var(--line-color);
  top: 50%;
  left: 19px;
  width: calc(var(--content-gap) * 2);

  transform-origin: left center;
  transform: translateY(-50%) scaleX(var(--draw-stats));

  transition-property: transform;
  transition-duration: calc(var(--sb-duration, 700ms) + 700ms);
  transition-timing-function: var(--sb-ease, cubic-bezier(.22,1,.36,1));
  transition-delay: calc(var(--sb-delay, 700ms) + 700ms);;
}
.stat-subgroup {
  padding-top: 0;
  padding-bottom: 0.75rem;
  padding-left: 1.5rem;
}
@media (min-width: 768px) {
  .stat-subgroup {
    padding-left: 2.75rem;
  }
}
.stat-subgroup.single-column {
  display: flex;
}
.stat-subgroup.double-column {
  display: none;
}
@media (min-width: 1400px) {
  .stat-subgroup.single-column {
    display: none;
  }
  .stat-subgroup.double-column {
    display: flex;
  }
}
@media (min-width: 600px) and (max-width: 991px) {
  .stat-subgroup.single-column {
    display: none;
  }
  .stat-subgroup.double-column {
    display: flex;
  }
}
.stat-subgroup ul {
  font-size: 1.25rem;
  margin: 0;
  padding-left: 24px;
}
.stat-subgroup ul li {
  list-style: none;
  padding-bottom: 0.425em;
  position: relative;
  padding-left: 0;
}
.stat-subgroup ul li:before {
  content: '';
  position: absolute;
  left: -18px;
  top: calc(0.425em + 12px);
  bottom: calc(-0.425em - 12px);
  width: var(--line-width);
  background: var(--line-color);

  transform-origin: top center;
  transform: scaleY(var(--draw-stats));

  transition-property: transform;
  transition-duration: calc(var(--sb-duration, 700ms) + 700ms);
  transition-timing-function: var(--sb-ease, cubic-bezier(.22,1,.36,1));
  transition-delay: calc(var(--sb-delay, 700ms) + 2000ms);
}
.stat-subgroup ul li:last-child:before {
  display: none;
}
.stat-subgroup ul li:after {
  content: '';
  position: absolute;
  left: -24px;
  top: 0.425em;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--wp--preset--color--contrast);
}
.stat-subgroup ul li:hover:after {
  animation: pulseBackgroundColor 2s ease;
  background-color: var(--wp--preset--color--secondary);
}
@keyframes pulseBackgroundColor {
  0% {
    background-color: var(--wp--preset--color--contrast);
    transform: scale(1);
  }
  50% {
    background-color: var(--wp--preset--color--secondary);
    transform: scale(1.2);
  }
  100% {
    background-color: var(--wp--preset--color--contrast);
    transform: scale(1);
  }
}
