.tr-headline {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  margin-block: 0 var(--tr-headline-margin-bottom, 2.5rem);
  color: #000;
  font-family: var(--tr-font-family-base, "Noto Sans", Arial, sans-serif);
  text-align: center;
}

.tr-headline,
.tr-headline * {
  font-style: normal !important;
}

.tr-headline--align-left {
  align-items: flex-start;
  text-align: left;
}

.tr-headline--align-left .tr-headline__topline,
.tr-headline--align-left .tr-headline__title,
.tr-headline--align-left .tr-headline__text {
  text-align: left;
}

.tr-headline--align-center {
  align-items: center;
  text-align: center;
}

.tr-headline--align-center .tr-headline__topline,
.tr-headline--align-center .tr-headline__title,
.tr-headline--align-center .tr-headline__text {
  text-align: center;
}

.tr-headline--align-right {
  align-items: flex-end;
  text-align: right;
}

.tr-headline--align-right .tr-headline__topline,
.tr-headline--align-right .tr-headline__title,
.tr-headline--align-right .tr-headline__text {
  text-align: right;
}

.tr-headline__topline,
.tr-headline__title,
.tr-headline__text {
  margin-block: 0;
}

.tr-headline__topline {
  margin-block-end: var(--tr-space-xs, 0.5rem);
  font-size: var(--tr-font-overline-size, 1.125rem);
  font-weight: 500;
  line-height: var(--tr-font-overline-line-height, 1.53225rem);
  letter-spacing: 0;
  text-transform: uppercase;
}

.tr-headline__topline--blue {
  color: var(--tr-color-brand-kwmk-blue, #00519e) !important;
}

.tr-headline__topline--white {
  color: #fff !important;
}

.tr-headline__topline--tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.75rem;
  padding: 0.25rem 0.75rem;
  border-radius: 0;
  font-size: var(--tr-font-label-size, 0.875rem);
  font-weight: 600;
  line-height: var(--tr-font-label-line-height, 1.19175rem);
  letter-spacing: 0;
  text-transform: none;
}

.tr-headline__topline--tag-blue {
  background-color: var(--tr-color-brand-kwmk-blue, #00519e);
  color: #fff !important;
}

.tr-headline__topline--tag-white {
  background-color: #fff;
  color: var(--tr-color-text-headline-positive, #000) !important;
}

.tr-headline--color-white .tr-headline__topline,
.tr-headline--color-white .tr-headline__title,
.tr-headline--color-white .tr-headline__text,
.tr-headline--color-white .tr-headline__text a {
  color: #fff !important;
}

.tr-headline__title {
  max-width: 100%;
  margin-block-end: var(--tr-space-l, 2rem);
  color: var(--tr-section-headline-color, #000) !important;
  font-size: var(--tr-font-headline-size, 2.8125rem);
  font-weight: 700;
  line-height: var(--tr-font-headline-line-height, 3.375rem);
  letter-spacing: 0;
}

.tr-headline--size-small .tr-headline__title {
  font-size: 1.9375rem;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
}

.tr-headline--size-medium .tr-headline__title {
  font-size: 3.75rem;
  font-style: normal;
  font-weight: 700;
  line-height: 4.5rem;
}

.tr-headline--size-large.tr-headline--level-4 .tr-headline__title,
.tr-headline--size-large.tr-headline--level-5 .tr-headline__title,
.tr-headline--size-large.tr-headline--level-6 .tr-headline__title {
  font-size: 1.9375rem;
  line-height: 1.2;
}

.tr-headline__text {
  width: 100%;
  max-width: 100%;
  margin-block-end: 0;
  color: var(--tr-section-text-color, #000) !important;
  font-size: var(--tr-font-body-size, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
}

.tr-headline__text p,
.tr-headline__text ul,
.tr-headline__text ol {
  margin: 0;
}

.tr-headline__text > :last-child {
  margin-bottom: 0;
}

.tr-headline__text ul,
.tr-headline__text ol {
  padding-left: 1.25rem;
}

.tr-headline__text ul {
  list-style: disc;
}

.tr-headline__text ol {
  list-style: decimal;
}

.tr-headline__text a {
  color: var(--tr-color-brand-kwmk-blue, #00519e);
  text-decoration: underline;
}

@media (min-width: 48rem) {
  .tr-headline__text {
    padding-inline: var(--tr-headline-text-padding-inline, 0);
  }
}

@media (max-width: 47.9375rem) {
  .tr-headline {
    margin-block-end: var(--tr-headline-mobile-margin-bottom, var(--tr-headline-margin-bottom, 2.5rem));
  }

  .tr-headline__text {
    padding-inline: 0;
  }

  .tr-headline__title {
    font-size: var(--tr-font-headline-mobile-size, 2.25rem);
    line-height: var(--tr-font-headline-mobile-line-height, 2.7rem);
    letter-spacing: 0;
  }

  .tr-headline--size-small .tr-headline__title {
    font-size: 1.9375rem;
    line-height: 1.2;
  }

  .tr-headline--size-medium .tr-headline__title {
    font-size: 2.25rem;
    line-height: 2.7rem;
  }

  .tr-headline__text {
    font-size: var(--tr-font-body-size, 1.125rem);
    line-height: 1.6;
  }
}
