h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-heading);
  line-height: 1.2;
  color: var(--foreground-01);
  font-weight: var(--font-weight-heading);
}

.header-img-heading h1 {
  font-family: var(--font-family-heading);
  color: var(--background-05);
  font-size: var(--headline-xxl);
  line-height: 1.2;
  font-weight: var(--font-weight-heading);
  text-align: center;
  text-shadow: 0 2px 15px hsla(var(--color-foreground-values), 0.2);
}

.header-img-heading h1 .header-img-heading-subline {
  font-size: var(--headline-m);
  color: var(--accent-02);
  line-height: 1.2;
  display: block;
  font-weight: 400;
}

.header-img-heading.headline-color-foreground h1 {
  color: var(--foreground-01);
}
.header-img-heading.headline-color-background h1 {
  color: var(--background-05);
}
.contrast-wb .header-img-heading.headline-color-foreground h1 {
  color: var(--background-05);
}
.contrast-wb .header-img-heading.headline-color-background h1 {
  color: var(--foreground-01);
}

.header-img-heading.subline-color-accent h1 .header-img-heading-subline {
  color: var(--accent-02);
}
.header-img-heading.subline-color-foreground h1 .header-img-heading-subline {
  color: var(--foreground-01);
}
.header-img-heading.subline-color-background h1 .header-img-heading-subline {
  color: var(--background-05);
}
.contrast-bw .header-img-heading.subline-color-accent h1 .header-img-heading-subline {
  color: var(--background-05);
}
.contrast-bw .header-img-heading.subline-color-foreground h1 .header-img-heading-subline {
  color: var(--background-05);
}

body:not(.home) .header-img-heading h1 {
  hyphens: auto;
}

.mta-theme-1 .header-img-heading h1 {
  text-align: left;
  color: var(--foreground-01);
  text-shadow: none;
}


p {
  font-family: var(--font-family-text);
  color: var(--foreground-02);
}

h1 {
  font-size: var(--headline-xl);
}

h2 {
  font-size: var(--headline-l);
}

.mta-theme-1 h2 {
  font-size: var(--headline-xl);
}

.mta-theme-1:not(.home) h2 {
  font-size: var(--headline-m);
}
body:not(.home) h2, body:not(.home) h3, body:not(.home) h4 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

h3 {
  font-size: var(--headline-s);
}

h4 {
  font-size: var(--headline-xs);
}

h5 {
  font-size: var(--headline-xs);
}

h6 {
  font-size: var(--headline-xs);
}


.page-start-text p,
.left-content-column p {
  margin-top: 1em;
  margin-bottom: 1em;
}

.page-start-text p:last-child,
.left-content-column p:last-child {
  margin-bottom: 0;
}


@media (width < 768px) {
  .header-img-heading h1 {
    text-align: left;
  }
}