


.p-hero {
  text-align: center;
  max-width: 60vw;
  font-size: 1.1rem;
}
.p-hero.typo-left { text-align: left; }


.page-navigation {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: wrap;
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
}
.onpage-navigation {
  border: 1px solid #000;
  padding: 10px;
  font-family: "Space Mono", monospace;
  text-decoration: none;
}


.paragraph-large {
  flex-flow: column;
  font-family: "Space Mono", monospace;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5em;
  display: block;
  position: sticky;
}


.dyn-content-centered { flex-flow: column; display: flex; }
.dyn-content-elements-centered {
  order: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}
.code-embed-18 { width: 80%; }


.margin-bottom.margin-large { margin-bottom: 1rem; }
.margin-left.margin-large { margin-left: 5rem; }
.margin-bottom.centered-heading.about-page { margin-bottom: 0; }
.padding-section-large.padding-bottom-8-rem { padding-bottom: 8rem; }
.padding-section-large.top-padding-off.bottom-padding-off { padding-bottom: 0; }


.section-bottom {  }

@media screen and (min-width: 1920px) {
  .padding-section-large.padding-bottom-8-rem { margin-left: auto; margin-right: auto; }
}

@media screen and (max-width: 991px) {
  .paragraph-small.text-content-14 { margin-bottom: 0; }
  .padding-section-large.bottom-padding-off { padding-bottom: 0; }
  .margin-bottom.margin-large { margin-bottom: 3rem; }
  .service-heading-wrapper.text-content-15 { padding-bottom: 40px; }
  .margin-left.margin-large { margin-left: 0; }
  .dyn-content-centered { width: auto; }
}

@media screen and (max-width: 767px) {
  .margin-bottom.margin-large { margin-bottom: 2.5rem; }
  .dyn-content-centered {
    justify-content: flex-start;
    align-self: center;
    align-items: center;
    display: block;
  }
}

@media screen and (max-width: 479px) {
  .paragraph-large { font-size: .9rem; }
  .padding-section-large.padding-bottom-8-rem { padding-bottom: 0; }
  .margin-bottom.margin-large { margin-bottom: 2rem; }
  .p-hero { max-width: none; font-size: .9rem; }
  .page-navigation { display: none; }
  .section-bottom { margin-bottom: 60px; }
  .dyn-content-centered {
    justify-content: flex-start;
    align-self: flex-start;
    align-items: flex-start;
    margin-top: 20px;
    display: flex;
  }
}


@media screen and (max-width: 767px) {
  .mh-timeline { margin-top: var(--sp-lg); padding-left: 48px; }
  .mh-timeline-dot { left: -48px; }
  .mh-timeline-dot.mh-timeline-dot-check { left: -50px; }
  .mh-timeline::before { left: 10px; }
}
