/*** Allianz One Breakpoints and Mixins ***/
h1,
h2,
h3,
h4 {
  margin-top: 32px;
  margin-bottom: 8px;
}
h1.no-top-margin,
h2.no-top-margin,
h3.no-top-margin,
h4.no-top-margin {
  margin-top: 0;
}
h1.no-bottom-margin,
h2.no-bottom-margin,
h3.no-bottom-margin,
h4.no-bottom-margin {
  margin-bottom: 0;
}

.heading {
  color: var(--semantic-color-on-surface-primary-resting);
}
.heading.accent--green em {
  color: var(--semantic-color-accent-large-text-green);
}
.heading.accent--teal em {
  color: var(--semantic-color-accent-large-text-teal);
}
.heading.accent--purple em {
  color: var(--semantic-color-accent-large-text-purple);
}
.heading.accent--red em {
  color: var(--semantic-color-accent-large-text-red);
}
.heading.accent--aqua em {
  color: var(--semantic-color-accent-large-text-aqua);
}
.heading .link {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
}

.theme--green .heading em {
  color: var(--semantic-color-accent-large-text-green);
}

.theme--teal .heading em {
  color: var(--semantic-color-accent-large-text-teal);
}

.theme--purple .heading em {
  color: var(--semantic-color-accent-large-text-purple);
}

.theme--red .heading em {
  color: var(--semantic-color-accent-large-text-red);
}

.theme--aqua .heading em {
  color: var(--semantic-color-accent-large-text-aqua);
}

.heading--inverted,
.theme--inverted .heading {
  color: var(--semantic-color-on-surface-primary-inverse-resting);
}
.heading--inverted .heading__link,
.theme--inverted .heading .heading__link {
  color: var(--semantic-color-on-surface-primary-inverse-resting);
}
.heading--inverted .heading__link:hover,
.theme--inverted .heading .heading__link:hover {
  color: var(--grey-5);
}
.heading--inverted .heading__link:active,
.theme--inverted .heading .heading__link:active {
  color: var(--grey-4);
}
.heading--inverted .heading__link:disabled, .heading--inverted .heading__link[aria-disabled],
.theme--inverted .heading .heading__link:disabled,
.theme--inverted .heading .heading__link[aria-disabled] {
  color: var(--semantic-color-on-surface-primary-inverse-disabled);
}

.heading__link {
  color: var(--interactive-text);
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  position: relative;
}
@media (max-width: 703px) {
  .heading__link {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
}
.heading__link:hover {
  color: var(--interactive-primary);
}
.heading__link:active {
  color: var(--active-primary);
}
.heading__link:focus {
  transition: color 0.2s ease, outline 0.2s ease;
  border-radius: 4px;
  outline: var(--semantic-border-width-focus) solid var(--semantic-color-border-focus);
  outline-offset: 2px;
}

.heading--tabs {
  margin: 40px 0 40px 0;
}
.heading--tabs--vertical {
  margin: 15px 0 20px 0;
}

h1,
.heading--h1,
one-heading[data-level=h1],
one-heading[data-override=h1] {
  font-family: var(--semantic-text-headline-4xl-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-4xl-font-size);
  line-height: var(--semantic-text-headline-4xl-line-height);
  font-weight: var(--semantic-text-headline-4xl-font-weight);
  letter-spacing: var(--semantic-text-headline-4xl-letter-spacing);
}
@media (min-width: 992px) {
  h1,
  .heading--h1,
  one-heading[data-level=h1],
  one-heading[data-override=h1] {
    font-family: var(--semantic-breakpoint-l-text-headline-4xl-font-family), Arial, Helvetica, sans-serif;
    font-size: var(--semantic-breakpoint-l-text-headline-4xl-font-size);
    line-height: var(--semantic-breakpoint-l-text-headline-4xl-line-height);
    font-weight: var(--semantic-breakpoint-l-text-headline-4xl-font-weight);
    letter-spacing: var(--semantic-breakpoint-l-text-headline-4xl-letter-spacing);
  }
}

h2,
.heading--h2,
one-heading[data-level=h2],
one-heading[data-override=h2] {
  font-family: var(--semantic-text-headline-3xl-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-3xl-font-size);
  line-height: var(--semantic-text-headline-3xl-line-height);
  font-weight: var(--semantic-text-headline-3xl-font-weight);
  letter-spacing: var(--semantic-text-headline-3xl-letter-spacing);
}
@media (min-width: 992px) {
  h2,
  .heading--h2,
  one-heading[data-level=h2],
  one-heading[data-override=h2] {
    font-family: var(--semantic-breakpoint-l-text-headline-3xl-font-family), Arial, Helvetica, sans-serif;
    font-size: var(--semantic-breakpoint-l-text-headline-3xl-font-size);
    line-height: var(--semantic-breakpoint-l-text-headline-3xl-line-height);
    font-weight: var(--semantic-breakpoint-l-text-headline-3xl-font-weight);
    letter-spacing: var(--semantic-breakpoint-l-text-headline-3xl-letter-spacing);
  }
}

h3,
.heading--h3,
one-heading[data-level=h3],
one-heading[data-override=h3] {
  font-family: var(--semantic-text-headline-2xl-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-2xl-font-size);
  line-height: var(--semantic-text-headline-2xl-line-height);
  font-weight: var(--semantic-text-headline-2xl-font-weight);
  letter-spacing: var(--semantic-text-headline-2xl-letter-spacing);
}
@media (min-width: 992px) {
  h3,
  .heading--h3,
  one-heading[data-level=h3],
  one-heading[data-override=h3] {
    font-family: var(--semantic-breakpoint-l-text-headline-2xl-font-family), Arial, Helvetica, sans-serif;
    font-size: var(--semantic-breakpoint-l-text-headline-2xl-font-size);
    line-height: var(--semantic-breakpoint-l-text-headline-2xl-line-height);
    font-weight: var(--semantic-breakpoint-l-text-headline-2xl-font-weight);
    letter-spacing: var(--semantic-breakpoint-l-text-headline-2xl-letter-spacing);
  }
}

h4,
.heading--h4,
one-heading[data-level=h4],
one-heading[data-override=h4] {
  font-family: var(--semantic-text-headline-xl-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-xl-font-size);
  line-height: var(--semantic-text-headline-xl-line-height);
  font-weight: var(--semantic-text-headline-xl-font-weight);
}
@media (min-width: 992px) {
  h4,
  .heading--h4,
  one-heading[data-level=h4],
  one-heading[data-override=h4] {
    font-family: var(--semantic-breakpoint-l-text-headline-xl-font-family), Arial, Helvetica, sans-serif;
    font-size: var(--semantic-breakpoint-l-text-headline-xl-font-size);
    line-height: var(--semantic-breakpoint-l-text-headline-xl-line-height);
    font-weight: var(--semantic-breakpoint-l-text-headline-xl-font-weight);
    letter-spacing: var(--semantic-breakpoint-l-text-headline-xl-letter-spacing);
  }
}

h5,
.heading--h5,
one-heading[data-level=h5],
one-heading[data-override=h5] {
  font-family: var(--semantic-text-headline-l-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-l-font-size);
  line-height: var(--semantic-text-headline-l-line-height);
  font-weight: var(--semantic-text-headline-l-font-weight);
}

h6,
.heading--h6,
one-heading[data-level=h6],
one-heading[data-override=h6] {
  font-family: var(--semantic-text-headline-m-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-m-font-size);
  line-height: var(--semantic-text-headline-m-line-height);
  font-weight: var(--semantic-text-headline-m-font-weight);
}

.heading--h7,
one-heading[data-level=h7],
one-heading[data-override=h7] {
  font-family: var(--semantic-text-headline-s-font-family), Arial, Helvetica, sans-serif;
  font-size: var(--semantic-text-headline-s-font-size);
  line-height: var(--semantic-text-headline-s-line-height);
  font-weight: var(--semantic-text-headline-s-font-weight);
}

.heading.no-margin {
  margin: 0;
}