@font-face {
  font-family: "Tusker Grotesk 3600";
  src: url("../../../../../wp-includes/fonts/TuskerGrotesk-3600Semibold.woff2") format("woff2"), url("../wp-includes/fonts/TuskerGrotesk-3600Semibold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: "Tusker Grotesk 5500";
  src: url("../../../../../wp-includes/fonts/TuskerGrotesk-5500Medium.woff2") format("woff2"), url("../wp-includes/fonts/TuskerGrotesk-5500Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

html {
  font-size: clamp(9px, 1.5625vw, 16px); }

#welcome-video-dialog {
  background-color: var(--nv-site-bg);
  border-radius: var(--r-1);
  opacity: 0;
  transform: scale(0.9);
  transition: all 0s;
  display: block !important;
  pointer-events: none;
  padding: 3vh; }
  #welcome-video-dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px); }
  #welcome-video-dialog[open] {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
    display: block !important;
    transition: all 0.2s; }
  #welcome-video-dialog form {
    display: flex;
    flex-direction: column;
    align-items: flex-end; }
  #welcome-video-dialog iframe {
    width: 75vw;
    height: calc((315 / 560) * 75vw);
    max-height: 69vh; }
  #welcome-video-dialog .close-button {
    display: flex; }
    #welcome-video-dialog .close-button svg {
      width: 5vh; }

#welcome-video-button {
  --c-white: rgba(255, 255, 255, 0.5); }
  #welcome-video-button svg {
    height: 10rem;
    max-width: 80vw; }
  #welcome-video-button:hover svg g {
    transition: all 0.2s;
    opacity: 1; }
  #welcome-video-button:hover svg circle {
    transition: all 0.2s;
    fill: var(--nv-primary-accent); }
  #welcome-video-button:hover svg path {
    transition: all 0.2s;
    fill: #fff; }
  #welcome-video-button:focus {
    outline: none; }

pre.mermaid {
  background-color: transparent;
  margin: 0;
  padding: 0;
  font-size: 0px;
  transition: all 0.2s ease-in-out; }
  pre.mermaid a:hover {
    opacity: 1 !important; }
  pre.mermaid svg {
    max-width: 95vw;
    min-width: 45ch;
    margin-top: -2rem; }
    pre.mermaid svg rect,
    pre.mermaid svg polygon,
    pre.mermaid svg circle {
      transition: all 0.2s ease-in-out; }
  pre.mermaid .nodeLabel {
    font-family: var(--fontFamily, var(--bodyFontFamily));
    color: var(--c-1);
    display: inline-block;
    line-height: 1.5em !important;
    padding-top: 0.3em; }
  pre.mermaid .edgeLabel {
    display: block;
    font-family: var(--fontFamily, var(--bodyFontFamily));
    color: var(--c-1);
    line-height: 1.1em;
    font-size: 0.9em !important;
    text-align: left !important;
    background-color: rgba(255, 255, 255, 0.2) !important; }
  pre.mermaid .node.flowchart-label.hover rect,
  pre.mermaid .node.flowchart-label.hover polygon,
  pre.mermaid .node.flowchart-label.hover circle {
    fill: var(--nv-secondary-accent) !important;
    stroke: var(--nv-secondary-accent) !important;
    transform: scale(1.1) !important; }
  pre.mermaid .node.flowchart-label circle {
    fill: #fff !important;
    stroke: #fff !important;
    stroke-width: 1rem !important; }
  pre.mermaid .node.flowchart-label rect,
  pre.mermaid .node.flowchart-label polygon {
    fill: #fff !important;
    stroke: transparent !important; }
  pre.mermaid .node.flowchart-label polygon {
    fill: var(--nv-primary-accent) !important; }
  pre.mermaid .flowchart-link {
    stroke: #fff !important; }
  pre.mermaid .arrowMarkerPath {
    fill: #fff;
    stroke: none !important; }

.homepage__content {
  --r-1: 2rem;
  --c-1-code: 44, 71, 125;
  --c-1: rgb(var(--c-1-code));
  --c-1-1: rgba(var(--c-1-code), 0.10);
  --c-1-2: rgba(var(--c-1-code), 0.20);
  --c-1-3: rgba(var(--c-1-code), 0.30);
  --c-1-4: rgba(var(--c-1-code), 0.40);
  --grid-space: 0.5rem;
  margin-top: 7rem;
  --horizon: 32rem;
  --surface: 30vh;
  display: flex;
  flex-direction: column;
  gap: var(--grid-space); }
  .homepage__content .homepage__button {
    transition: all 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--nv-text-color);
    gap: 1rem; }
    .homepage__content .homepage__button:hover {
      transform: scale(1.05); }
    .homepage__content .homepage__button img {
      max-height: 15rem;
      object-fit: contain; }
    .homepage__content .homepage__button p {
      align-self: flex-start;
      margin: 0; }
  .homepage__content .homepage__row.row--hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
    margin-bottom: 40vh; }
    .homepage__content .homepage__row.row--hero h1 {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin-top: 5.2rem;
      /* 6.2 is nicely overlapped */ }
      .homepage__content .homepage__row.row--hero h1 span.hero__header__row-1 {
        font-family: "Tusker Grotesk 5500";
        font-style: normal;
        font-weight: 500;
        font-size: 4.69548rem;
        line-height: 1.2em;
        text-transform: uppercase;
        color: #ffffff;
        opacity: 0.6; }
      .homepage__content .homepage__row.row--hero h1 span.hero__header__row-2 {
        font-family: "Tusker Grotesk 3600";
        font-style: normal;
        font-weight: 600;
        font-size: 6.42875rem;
        line-height: 1em;
        text-transform: uppercase;
        color: var(--c-1);
        opacity: 0.9; }
    .homepage__content .homepage__row.row--hero .img-top {
      position: absolute;
      top: -1rem;
      transform: rotateY(180deg);
      width: 47rem; }
    .homepage__content .homepage__row.row--hero .img-bottom {
      position: absolute;
      top: -1rem;
      transform: rotateY(180deg);
      width: 47rem;
      z-index: -1;
      background-blend-mode: multiply;
      --gradient: linear-gradient(#fff 60%, transparent 76%);
      -webkit-mask-image: var(--gradient);
      mask-image: var(--gradient); }
    .homepage__content .homepage__row.row--hero .img-reflection {
      transform: rotateY(180deg) rotateX(180deg);
      object-position: bottom;
      object-fit: cover;
      background-blend-mode: multiply;
      --gradient: linear-gradient(transparent 50%, white 90%);
      -webkit-mask-image: var(--gradient);
      mask-image: var(--gradient);
      top: 30.2rem;
      z-index: -1;
      opacity: 0.5;
      position: absolute;
      width: 47rem;
      height: 10rem; }
  .homepage__content .row--video {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0; }
    .homepage__content .row--video button {
      background-color: transparent;
      padding: 0;
      transition: all 0.2s ease-in-out; }
      .homepage__content .row--video button:hover {
        transform: scale(1.03); }
  .homepage__content h2 {
    font-size: 1.3125rem;
    font-weight: 400;
    line-height: 1.96875rem;
    width: 17.1875rem; }
    .homepage__content h2 strong {
      font-weight: 700; }
  .homepage__content p {
    width: 15.625rem;
    font-size: 0.875rem;
    line-height: 1.3125rem; }
  .homepage__content .homepage__row {
    padding: 1rem; }
  .homepage__content .homepage__col {
    padding: 3rem; }
  .homepage__content .col__text {
    margin-bottom: -1.875rem; }
  .homepage__content .col__image img {
    border-radius: 2rem; }
  .homepage__content .bkg-sky {
    /*content: "";*/
    position: absolute;
    top: 0;
    left: 0;
    height: var(--horizon);
    right: 0;
    background-color: #318bb8;
    background-image: url("/wp-content/uploads/2023/05/bkg-sky.png");
    background-size: cover;
    background-position-x: center;
    background-position-y: top;
    background-repeat: no-repeat;
    z-index: -1; }
  .homepage__content .bkg-surface {
    /*content: "";*/
    position: absolute;
    top: calc(var(--horizon) - 0.5rem);
    left: 0;
    height: calc(var(--surface) + 0.5rem);
    right: 0;
    background-color: #318bb8;
    background-image: url("/wp-content/uploads/2023/05/bkg-surface.png");
    background-size: cover;
    background-position-x: center;
    background-position-y: top;
    background-repeat: no-repeat;
    z-index: -1; }
  .homepage__content .bkg-depths {
    /*content: "";*/
    position: absolute;
    top: calc(var(--horizon) + var(--surface) - 3px);
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #318bb8;
    background-image: url("/wp-content/uploads/2023/05/bkg-depths.png");
    background-size: auto 100vh;
    background-position-x: center;
    background-position-y: top;
    background-repeat: no-repeat;
    background-attachment: fixed;
    z-index: -1; }
  .homepage__content .bkg-sky2 {
    /*content: "";*/
    position: absolute;
    top: 0;
    left: 0;
    height: var(--horizon);
    right: 0;
    object-fit: cover;
    object-position: center top;
    z-index: -1; }
  .homepage__content .bkg-surface2 {
    /*content: "";*/
    position: absolute;
    top: calc(var(--horizon) - 0.5rem);
    left: 0;
    height: calc(var(--surface) + 0.5rem);
    right: 0;
    object-fit: cover;
    object-position: center top;
    z-index: -1; }
  .homepage__content .bkg-depths2 {
    /*content: "";*/
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #318bb8;
    background-size: auto 100vh;
    object-position: center top;
    background-repeat: no-repeat;
    z-index: -2;
    height: 100vh; }
  .homepage__content .col--full {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: center; }
  .homepage__content .col--float {
    display: flex;
    align-items: center;
    position: relative; }
    .homepage__content .col--float .col__image {
      position: absolute;
      left: 35%;
      z-index: -1;
      width: 19.125rem;
      display: flex; }
  .homepage__content .col--post a {
    display: flex;
    gap: 1rem;
    transition: all 0.2s ease-in-out;
    color: var(--nv-text-color); }
    .homepage__content .col--post a:hover {
      transform: scale(1.05); }
    .homepage__content .col--post a h2 date {
      font-family: "Tusker Grotesk 5500";
      font-style: normal;
      font-weight: 500;
      font-size: 1.875rem;
      line-height: 1.2em;
      text-transform: uppercase;
      color: #ffffff;
      display: block;
      text-align: right;
      opacity: 0.5; }
    .homepage__content .col--post a h2 span {
      font-family: "Tusker Grotesk 5500";
      font-style: normal;
      font-weight: 500;
      font-size: 1.525rem;
      line-height: 1.2em;
      text-transform: uppercase;
      color: #ffffff;
      display: block;
      text-align: right; }
    .homepage__content .col--post a .col__image {
      width: 28.6875rem; }
  .homepage__content .homepage__row {
    position: relative; }
    .homepage__content .homepage__row.row--from-right::before {
      position: absolute;
      top: 0;
      left: 10%;
      bottom: 0;
      right: -100vw;
      /*calc(-1 * (100vw -  var(--container)) / 2);*/
      z-index: -1;
      content: "";
      background-color: var(--c-1-1);
      border-radius: var(--r-1) 0 0 var(--r-1); }
    .homepage__content .homepage__row.row--from-left::before {
      position: absolute;
      top: 0;
      right: 10%;
      bottom: 0;
      left: -100vw;
      /*calc(-1 * (100vw -  var(--container)) / 2);*/
      z-index: -1;
      content: "";
      background-color: var(--c-1-3);
      border-radius: 0 var(--r-1) var(--r-1) 0; }
    .homepage__content .homepage__row.row--post::before {
      background-color: var(--c-1-4); }
    .homepage__content .homepage__row.row--boxes {
      padding: 0; }
      .homepage__content .homepage__row.row--boxes .row__content {
        padding: 0;
        gap: var(--grid-space); }
      .homepage__content .homepage__row.row--boxes .homepage__col {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center; }
        .homepage__content .homepage__row.row--boxes .homepage__col::before {
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          z-index: -1;
          content: "";
          background-color: var(--c-1);
          border-radius: var(--r-1) var(--r-1) var(--r-1) var(--r-1); }
        .homepage__content .homepage__row.row--boxes .homepage__col:nth-child(1)::before {
          background-color: var(--c-1-2); }
        .homepage__content .homepage__row.row--boxes .homepage__col:nth-child(2)::before {
          background-color: var(--c-1-3); }
        .homepage__content .homepage__row.row--boxes .homepage__col:nth-child(3)::before {
          background-color: var(--c-1-1); }
    .homepage__content .homepage__row .col--half {
      width: 50%; }
    .homepage__content .homepage__row .col--third {
      width: 33.33%; }
  .homepage__content .row__content {
    display: flex;
    width: 100%;
    gap: 2rem; }

footer.site-footer {
  background: var(--nv-site-bg);
  padding-top: 5rem;
  margin-top: 5rem; }

@media screen and (max-width: 550px) {
  .hero__header__row-1 {
    font-size: 7.9vw !important; }
  .hero__header__row-2 {
    font-size: 10.9vw !important; }
  .img-bottom {
    top: auto;
    bottom: -35rem;
    width: 150vw;
    max-width: none; }
  .img-top {
    display: none; }
  .row__content {
    flex-direction: column; }
    .row__content .homepage__col {
      width: 100%; }
      .row__content .homepage__col .col__image {
        position: relative; }
        .row__content .homepage__col .col__image img {
          width: 100%;
          max-width: none;
          min-width: 35vw; }
      .row__content .homepage__col .homepage__button p {
        align-self: center;
        text-align: center; }
  .homepage__content {
    --surface: 20vh; }
  .homepage__content .homepage__row.row--from-right::before {
    left: -1rem; }
  .homepage__content .homepage__row.row--from-left::before {
    right: -1rem; }
  .homepage__content .homepage__col {
    padding: 2rem; }
  .homepage__content h2 {
    width: auto; }
  .col--half {
    width: 100% !important;
    justify-content: center; }
  .col--third {
    width: 100% !important; }
  pre.mermaid svg {
    min-width: 100%; }
  .homepage__content .col--float .col__image {
    left: auto; }
  .homepage__content .col--post a .col__image {
    width: 100%; }
  .homepage__content .homepage__row.row--hero {
    margin-bottom: 27vh; } }
