/* fira-sans-100 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-100.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-100.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-100italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-100italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-100italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-200 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-200.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-200.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-200italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-200italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-200italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-300 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-300.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-300.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-300italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-300italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-300italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-regular - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-regular.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-regular.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-500 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-500.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-500.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-500italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-500italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-500italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-600 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-600.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-600.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-600italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-600italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-600italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-700 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-700.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-700.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-700italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-700italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-700italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-800italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-800italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-800italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-800 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-800.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-800.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-900 - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-900.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-900.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* fira-sans-900italic - latin */
@font-face {
  font-family: "Fira Sans";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/fira-sans-v11-latin-900italic.woff2") format("woff2"), url("../fonts/fira-sans-v11-latin-900italic.woff") format("woff"); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
:root {
  --font-fallback-default: BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  --neutral-000: hsl(0, 0%, 100%);
  --neutral-050: hsl(0, 0%, 98%);
  --neutral-100: hsl(0, 0%, 96%);
  --neutral-200: hsl(0, 0%, 93%);
  --neutral-300: hsl(0, 0%, 88%);
  --neutral-400: hsl(0, 0%, 74%);
  --neutral-500: hsl(0, 0%, 62%);
  --neutral-600: hsl(0, 0%, 46%);
  --neutral-700: hsl(0, 0%, 38%);
  --neutral-800: hsl(0, 0%, 26%);
  --neutral-900: hsl(0, 0%, 13%);
  --neutral-1000: hsl(0, 0%, 0%);
  --primary-100: hsl(216, 75%, 95%);
  --primary-200: hsl(216, 75%, 82.5%);
  --primary-300: hsl(216, 75%, 70%);
  --primary-400: hsl(216, 75%, 60%);
  --primary-500: hsl(216, 75%, 50%);
  --primary-600: hsl(216, 75%, 40%);
  --primary-700: hsl(216, 75%, 30%);
  --primary-800: hsl(216, 75%, 17.5%);
  --primary-900: hsl(216, 75%, 7.5%);
  --accent-100: hsl(336, 75%, 95%);
  --accent-200: hsl(336, 75%, 82.5%);
  --accent-300: hsl(336, 75%, 70%);
  --accent-400: hsl(336, 75%, 60%);
  --accent-500: hsl(336, 75%, 50%);
  --accent-600: hsl(336, 75%, 40%);
  --accent-700: hsl(336, 75%, 30%);
  --accent-800: hsl(336, 75%, 17.5%);
  --accent-900: hsl(336, 75%, 7.5%);
}

@layer reset {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  body,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  figure,
  dl,
  dd {
    margin: 0;
  }
  ul:where([class]),
  ol:where([class]) {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  img,
  picture,
  svg {
    display: block;
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
    font: inherit;
  }
  html {
    scroll-behavior: smooth;
  }
  a {
    color: inherit;
  }
  button {
    all: unset;
    cursor: pointer;
    font: inherit;
  }
  button:focus {
    outline: 5px solid lime;
  }
  button:focus:not(:focus-visible) {
    outline: unset;
  }
  button:focus-visible {
    outline: 3px solid black;
    outline-offset: 3px;
    box-shadow: 0 0 0 9px white;
    border-radius: 0.125rem;
  }
}
.mce-content-body {
  margin: 0;
  padding: 0.5rem;
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--neutral-700);
}
.mce-content-body > * + * {
  margin-block-start: 1em;
}
.mce-content-body p {
  max-width: unset;
}

html {
  height: 100%;
  font-size: 100%;
  overflow-y: scroll;
}

body {
  min-height: 100vh;
  background-color: var(--neutral-000);
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 300;
  font-size: 1rem;
  color: var(--neutral-700);
  line-height: 1.4;
}
@media (width < 30em) {
  body {
    line-height: 1.3;
  }
}

a {
  color: var(--primary-600);
  text-decoration: underline;
  text-decoration-color: var(--primary-600);
  text-underline-offset: 3px;
}

a:is(:hover, :focus-visible) {
  color: #d24203;
  text-decoration-color: #d24203;
  text-decoration-thickness: 2px;
}

.content-text.orange h3 {
  color: #d24203;
}

.content-text.orange a:link,
.content-text.orange a:visited {
  color: hsl(0, 0%, 26%);
}

p {
  max-width: 71ch;
  hyphens: auto;
  overflow-wrap: break-word;
}
.text-align-center p {
  margin-inline: auto;
  max-width: unset;
}
p.more a {
  text-decoration-style: 1px solid hsl(205, 100%, 26%);
  text-underline-offset: 3px;
}
p.info, p.back, p.link-style, p.link-button-style {
  margin-block: 0.5lh;
}
p.info a, p.back a, p.link-style a, p.link-button-style a {
  display: inline-block;
  padding: var(--link-style-padding, 0.5em 1.25em);
  background-color: var(--link-style-background-color, var(--primary-100));
  border: var(--link-style-border, 1px solid transparent);
  border-radius: var(--link-style-border-radius, 0.5rem);
  font-family: var(--link-style-font-family, "Fira Sans", var(--font-fallback-default));
  font-weight: var(--link-style-font-weight, 300);
  font-size: var(--link-style-font-size, 0.875rem);
  color: var(--link-style-color, var(--neutral-700));
  text-decoration: var(--link-style-text-decoration, none);
  text-transform: var(--link-style-text-transform, none);
  transition: 275ms ease;
}
p.info a:is(:hover, :focus-visible), p.back a:is(:hover, :focus-visible), p.link-style a:is(:hover, :focus-visible), p.link-button-style a:is(:hover, :focus-visible) {
  background-color: var(--link-style-hover-background-color, var(--primary-200));
  color: var(--link-style-hover-color, var(--neutral-700));
}
p.info a:active, p.back a:active, p.link-style a:active, p.link-button-style a:active {
  transform: scale(0.98);
}
p.error {
  font-weight: 500;
  color: crimson;
}
p.error::before {
  content: "";
  display: inline-block;
  margin-inline-end: 0.25rem;
  margin-block-end: -0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='crimson' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' class='icon icon-alert lucide lucide-circle-alert-icon lucide-circle-alert'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' x2='12' y1='8' y2='12'/%3E%3Cline x1='12' x2='12.01' y1='16' y2='16'/%3E%3C/svg%3E");
  background-position: left 100%;
  background-repeat: no-repeat;
  color: crimson;
}

:where(.content-text) ul,
:where(.content-text) ol {
  padding-inline-start: 1rem;
  line-height: 1.4;
}
:where(.content-text) ul li,
:where(.content-text) ol li {
  max-width: 65ch;
  overflow-wrap: break-word;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: 500;
  text-wrap: balance;
}

h1 {
  font-size: clamp(1.5rem, 2vw + 1rem, 1.875rem);
  color: hsl(205, 66%, 42%);
  line-height: 1;
}

h2 {
  font-size: clamp(1.125rem, 2vw + 1rem, 1.5rem);
  color: #d24203;
  line-height: 1.2;
}

.subheadline {
  font-size: 1rem;
  font-weight: 300;
}

h3 {
  font-size: clamp(1.125rem, 1.028rem + 0.347vw, 1.25rem);
  line-height: 1.2;
}

h4, h5, h6 {
  line-height: 1.2;
}

@media (forced-colors: active) {
  svg {
    stroke: canvasText;
    fill: canvasText;
  }
}
.headline {
  margin-block-end: 0.75lh;
}

.rte :where(h1, h2, h3, h4, h5, h6),
[class^=content-] > .headline,
[class^=ce_rsce_] > .headline {
  margin-block-end: 0.75lh;
}

.mod_customnav.service :where(h1, h2, h3, h4, h5, h6) {
  margin-block-end: 0.75lh;
}

.rte p + p {
  margin-block-start: 0.625em;
}
.rte p + :where(h1, h2, h3, h4, h5, h6) {
  margin-block-start: 1.5lh;
}
.rte p.link-style,
.rte p.link-button-style {
  margin-block-start: 1lh;
}

.intro {
  font-size: 1.5rem;
}

.alert {
  font-weight: 500;
  color: crimson;
}

.orange {
  color: #d24203;
}

.blau {
  color: hsl(205, 100%, 32%);
}

b,
strong {
  font-weight: 500;
}

i,
em {
  font-style: italic;
}

code {
  padding-block: 0.125rem;
  padding-inline: 0.25em;
  border-radius: 0.25em;
  background-color: var(--neutral-700);
  color: var(--neutral-000);
  font-family: monospace;
  font-size: 0.75rem;
  white-space: nowrap;
}

small {
  font-size: 0.75rem;
}

figure {
  inline-size: fit-content;
}

figcaption {
  contain: inline-size;
  font-size: 0.75rem;
  font-style: italic;
}
.image_container figcaption {
  position: absolute;
  contain: unset;
  color: var(--neutral-100);
  text-shadow: 0.0625em 0.0625em 0.0625em hsla(0, 0%, 13%, 0.3), 0.1875em 0.1875em 0.4375em hsla(0, 0%, 13%, 0.8);
  transform: translate(0.5rem, -1.375rem);
}

hr {
  height: 1px;
  margin: 2em auto;
  margin-block-start: 2em;
  border: 0;
  background: var(--neutral-200);
}

sub,
sup {
  display: inline-block;
  line-height: 1;
  font-size: 0.625em;
}

sub {
  transform: translateY(0.25ex);
}

sup {
  transform: translateY(-0.25ex);
}

::selection {
  background-color: var(--accent-300);
  color: var(--accent-800);
}

.submit {
  display: inline-flex;
  justify-content: center;
  padding: var(--button-padding, 0.75em 2em);
  background-color: var(--button-background, var(--neutral-300));
  border: var(--button-border, 1px solid transparent);
  border-radius: var(--button-border-radius, 0.5rem);
  font-family: var(--button-font-family, "Fira Sans", var(--font-fallback-default));
  font-weight: var(--button-font-weight, 500);
  font-size: var(--button-font-size, 1rem);
  color: var(--button-color, var(--neutral-900));
  text-transform: var(--button-text-transform, uppercase);
  letter-spacing: var(--button-letter-spacing, none);
  cursor: pointer;
  transition: 275ms ease;
  background-color: var(--neutral-300);
  color: var(--neutral-900);
}
.submit a {
  color: var(--button-color, var(--neutral-900));
  text-decoration: none;
}
.submit:is(:hover, :focus-visible) {
  background-color: var(--neutral-500);
  color: var(--neutral-900);
}

.button {
  display: inline-flex;
  justify-content: center;
  padding: var(--button-padding, 0.75em 2em);
  background-color: var(--button-background, var(--neutral-300));
  border: var(--button-border, 1px solid transparent);
  border-radius: var(--button-border-radius, 0.5rem);
  font-family: var(--button-font-family, "Fira Sans", var(--font-fallback-default));
  font-weight: var(--button-font-weight, 500);
  font-size: var(--button-font-size, 1rem);
  color: var(--button-color, var(--neutral-900));
  text-transform: var(--button-text-transform, uppercase);
  letter-spacing: var(--button-letter-spacing, none);
  cursor: pointer;
}
.button a {
  color: var(--button-color, var(--neutral-900));
  text-decoration: none;
}
.button:is(:hover, :focus-visible) {
  background-color: var(--button-background-hover, var(--neutral-500));
  border: var(--button-border-hover, 1px solid transparent);
  color: var(--button-color-hover, var(--neutral-900));
}
.button:is(:hover, :focus-visible) strong.active {
  font-weight: normal;
  color: var(--button-color-hover, var(--neutral-900));
}
.button.primary {
  background-color: var(--primary-700);
  color: var(--neutral-100);
}
.button.primary:is(:hover, :focus-visible) {
  background-color: var(--primary-900);
  color: var(--neutral-100);
}
.button.accent {
  background-color: var(--accent-400);
  color: var(--neutral-100);
}
.button.accent:is(:hover, :focus-visible) {
  background-color: var(--accent-600);
  color: var(--neutral-100);
}
.button.outline {
  background-color: transparent;
  outline: 0.125rem solid var(--neutral-900);
  outline-offset: -0.125rem;
  color: var(--neutral-900);
}
.button.outline:is(:hover, :focus-visible) {
  background-color: var(--neutral-200);
  color: var(--neutral-900);
}

footer {
  background-color: hsl(22, 83%, 80%);
  font-size: 0.75rem;
  color: hsl(205, 100%, 26%);
}
footer .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding-block: 0.625rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
@media screen and (max-width: 75rem) {
  footer .inside {
    max-width: 100%;
    margin-inline: unset;
  }
}
footer a {
  color: hsl(205, 100%, 26%);
  text-decoration: none;
}
footer a:is(:hover, :focus-visible) {
  color: var(--accent-300);
  text-decoration: underline;
}
footer .nav_footer {
  display: flex;
  gap: 1rem;
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 400;
  font-size: 0.875rem;
  text-transform: uppercase;
}
footer .nav_footer .level_1 {
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}
footer .nav_footer a,
footer .nav_footer strong {
  display: inline-block;
  padding: 0.875rem 0.75rem;
}
@media (width > 62em) {
  footer .nav_footer a,
  footer .nav_footer strong {
    display: unset;
    padding: unset;
  }
}
footer .nav_footer a:is(:hover, :focus-visible, .active),
footer .nav_footer strong:is(:hover, :focus-visible, .active) {
  text-decoration: underline;
  text-underline-offset: 3px;
}
footer .social-links {
  margin-block-start: 0.25em;
  display: flex;
  gap: 1rem;
  align-items: center;
}
footer .social-links a {
  display: inline-block;
  width: 1rem;
  color: hsl(205, 100%, 26%);
}

.formbody {
  width: min(100%, 40rem);
  padding: 1rem;
  background-color: var(--neutral-100);
}
.formbody > *:where(:not(:nth-child(3))) {
  margin-block-start: 1.5rem;
}

label {
  display: block;
  margin-block-end: 0.375rem;
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 300;
  font-size: 1rem;
  color: var(--neutral-700);
}

label.select {
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 500;
  font-size: 1rem;
  color: var(--neutral-700);
}

input,
textarea,
select {
  padding-block: 0.25em;
  padding-inline: 0.4375em;
  background-color: var(--neutral-000);
  border: 1px solid var(--neutral-300);
  border-radius: 0.125rem;
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 300;
  font-size: 1rem;
  color: var(--neutral-700);
}

input.text,
textarea {
  width: 100%;
  margin: 0;
}

.widget-wrapper select {
  width: 100%;
}

[placeholder=placeholder] {
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 300;
  font-size: 1rem;
  color: var(--neutral-400);
}

fieldset {
  margin: unset;
  padding: unset;
  border: none;
}
fieldset.styled, fieldset.styled fieldset {
  padding: 0;
  border: none;
  border-radius: none;
}
fieldset legend {
  margin-block-end: 0.5rem;
  padding-inline: 0;
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 500;
  font-size: 1rem;
  color: var(--neutral-700);
  line-height: 1.1;
}
fieldset > *:not(:first-of-type) {
  margin-block-start: var(--paragraph-space, 0.625em);
}

.widget-captcha label {
  color: crimson;
}
.widget-captcha span.captcha_text {
  display: block;
  margin-top: 0.5em;
}

.widget-explanation > *:where(:not(:first-child)) {
  margin-top: var(--paragraph-space, 0.625em);
}

@media (width > 30em) {
  .widget-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 5%;
  }
  .widget-wrapper > * {
    width: 100%;
  }
}
@media (width < 29.9375em) {
  .widget-wrapper > * + * {
    margin-top: 2rem;
  }
}

input[type=checkbox] + label,
input[type=radio] + label {
  display: inline;
}

.formbody span:not(.mandatory) {
  display: block;
}

.checkbox-single span {
  display: inline;
}

.checkbox-mandatory-agb span:not(.mandatory) {
  margin-block-start: -0.0625em;
  display: flex;
  align-items: flex-start;
}
.checkbox-mandatory-agb span:not(.mandatory) input {
  margin-block-start: 0.375em;
  margin-right: 0.5rem;
}
.checkbox-mandatory-agb span:not(.mandatory) label {
  margin-block-end: unset;
}
.checkbox-mandatory-agb span:not(.mandatory) .content-text {
  margin-block-end: unset;
}

.form-confirmation {
  width: fit-content;
  padding: 1.5rem;
  background-color: var(--neutral-100);
  border-inline-start: 3px solid var(--primary-400);
}
.form-confirmation h3 {
  margin-block-end: 0.75em;
}
.form-confirmation p:not(:last-of-type) {
  margin-block-end: 0.625em;
}

header {
  background-color: var(--neutral-000);
  border: 1px solid transparent;
  color: var(--neutral-700);
}
header .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding-top: 1.125em;
  padding-bottom: 0.875em;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
}
header .inside .logo {
  grid-row: 1/3;
}
@media screen and (max-width: 30rem) {
  header .inside .logo {
    width: 200px;
  }
}
header .inside .mod_search {
  grid-row: 1/2;
  justify-self: end;
  margin-top: -0.5em;
}
header .inside .mod_navigation {
  grid-row: 2/3;
  justify-self: end;
  align-self: end;
}

#custom .inside {
  width: min(75rem, 100%);
  margin-inline: auto;
}

.skip-to-main {
  position: absolute;
  left: 0.5rem;
  padding: 0.5rem 1.5rem;
  background-color: var(--neutral-900);
  border-radius: 0 0 0.25rem 0.25rem;
  color: var(--neutral-000);
  text-decoration: none;
  transform: translateY(-100%);
  transition: 325ms ease-in;
}
.skip-to-main:focus-visible {
  color: var(--neutral-000);
  text-decoration: none;
  transform: translateY(0);
  transition: 325ms ease-in;
}

a[href*="#skip"].invisible:focus-visible,
a[href*="#skip"].visually-hidden:focus-visible {
  position: relative;
  width: inherit;
  height: auto;
  clip-path: inherit;
  overflow: inherit;
  white-space: inherit;
  z-index: 1;
  padding: 0.5rem;
  background-color: var(--neutral-900);
  border-radius: 0.25rem;
  color: var(--neutral-000);
  text-decoration: none;
}

@media (width > 62.0625em) {
  .mod_mobile_menu {
    display: none;
    position: relative;
  }
}
@media (width < 62em) {
  .nav_main,
  .nav_service {
    display: none;
  }
  .mod_mobile_menu {
    grid-column: 2/3;
    grid-row: 2/3;
    justify-self: end;
    align-self: end;
  }
  .mobile_menu_trigger {
    padding-inline-start: 1.5rem;
    background-image: url("/files/theme/img/feathericons/menu.svg");
    background-position: left center;
    background-repeat: no-repeat;
    font-weight: bold;
    font-size: 1.125rem;
    color: hsl(200, 100%, 35%);
    line-height: 1;
    cursor: pointer;
  }
}
.mobile_menu .inner {
  position: relative;
}
.mobile_menu .inner .closeLink {
  position: absolute;
  right: 1.5rem;
  top: 1rem;
}
.mobile_menu .inner .closeLink a {
  display: flex;
  align-items: center;
}
.mobile_menu .inner .closeLink a span {
  padding-inline-start: 0.25rem;
  font-size: 1.125rem;
}

.mobile_menu .inner {
  background-color: white;
  padding: 1rem;
}
.mobile_menu .inner .logo {
  width: 75%;
  padding: 1.125em 1rem;
}
.mobile_menu .inner .mod_search {
  display: block;
  padding-block-end: 1.5rem;
}
.mobile_menu .inner .nav_main_mobile ul li {
  padding-block: 1rem;
  border-top: 1px solid var(--neutral-200);
}
.mobile_menu .inner .nav_main_mobile ul li > a,
.mobile_menu .inner .nav_main_mobile ul li > span,
.mobile_menu .inner .nav_main_mobile ul li > strong {
  display: block;
  width: 100%;
  color: var(--neutral-700);
  text-decoration: none;
}
.mobile_menu .inner .nav_main_mobile ul li > a:hover, .mobile_menu .inner .nav_main_mobile ul li > a.active,
.mobile_menu .inner .nav_main_mobile ul li > span:hover,
.mobile_menu .inner .nav_main_mobile ul li > span.active,
.mobile_menu .inner .nav_main_mobile ul li > strong:hover,
.mobile_menu .inner .nav_main_mobile ul li > strong.active {
  color: #d24203;
}
.mobile_menu .inner .nav_main_mobile ul li ul.level_2 {
  padding-top: 1em;
  padding-left: 1em;
  font-size: inherit;
}
.mobile_menu .inner .nav_main_mobile ul li ul.level_2 ul.level_3 {
  padding-top: 0.5em;
  padding-left: 1em;
}
.mobile_menu .inner .nav_main_mobile li.submenu_hide > a {
  background-image: url("/files/theme/img/feathericons/chevron-right.svg");
  background-repeat: no-repeat;
  background-position: 95% center;
}
.mobile_menu .inner .nav_main_mobile li.submenu_show > a {
  background-image: url("/files/theme/img/feathericons/chevron-down.svg");
  background-repeat: no-repeat;
  background-position: 95% center;
}
.mobile_menu .inner .nav_service_mobile li {
  padding-block: 1rem;
  border-top: 1px solid var(--neutral-200);
}
.mobile_menu .inner .nav_service_mobile li > a,
.mobile_menu .inner .nav_service_mobile li > span,
.mobile_menu .inner .nav_service_mobile li > strong {
  color: var(--neutral-700);
  text-decoration: none;
}
.mobile_menu .inner .nav_service_mobile li > a:hover, .mobile_menu .inner .nav_service_mobile li > a.active,
.mobile_menu .inner .nav_service_mobile li > span:hover,
.mobile_menu .inner .nav_service_mobile li > span.active,
.mobile_menu .inner .nav_service_mobile li > strong:hover,
.mobile_menu .inner .nav_service_mobile li > strong.active {
  color: var(--accent-400);
}
.mobile_menu .inner .nav_service_mobile li li.active strong {
  font-weight: inherit;
  color: var(--accent-400);
  cursor: default;
}
.mobile_menu .inner .nav_service_mobile li a:hover,
.mobile_menu .inner .nav_service_mobile li a:hover span {
  color: var(--accent-400);
}
.mobile_menu .inner .nav_service_mobile li:last-of-type {
  border-bottom: 1px solid var(--neutral-200);
}

@media (width >= 62em) {
  .nav_main {
    display: flex;
    align-items: center;
    gap: 1rem;
    isolation: isolate;
    z-index: 2;
  }
}

.nav_main {
  font-family: "Fira Sans", var(--font-fallback-default);
  font-weight: 500;
  font-size: 1rem;
}
.nav_main .level_1 {
  margin-block-start: 1rem;
  padding-block: 1rem;
  width: fit-content;
  display: flex;
  gap: 2rem;
}
.nav_main .level_1 > li > a,
.nav_main .level_1 > li > strong {
  padding: 1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 400;
}
.nav_main a,
.nav_main strong {
  color: hsl(205, 66%, 42%);
  text-decoration: none;
}
.nav_main a:is(:hover, :focus-visible, .trail, .active),
.nav_main strong:is(:hover, :focus-visible, .trail, .active) {
  font-weight: 500;
  color: hsl(205, 66%, 42%);
}

.nav_main .level_2 {
  width: auto;
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.012), 0px 22px 18px rgba(0, 0, 0, 0.018), 0px 100px 80px rgba(0, 0, 0, 0.03);
}
.nav_main .submenu {
  position: relative;
}
.nav_main .submenu .level_2 {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}
.nav_main .submenu:focus-within > .level_2, .nav_main .submenu:hover .level_2 {
  position: relative;
  width: inherit;
  height: auto;
  clip-path: inherit;
  overflow: inherit;
  white-space: inherit;
  z-index: 1;
  position: absolute;
}
.nav_main .submenu:last-of-type .level_2 {
  right: 0;
}
.nav_main .submenu:nth-last-of-type(2) .level_2 {
  right: 0;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  nav.nav_main ul.level_2 {
    display: none;
  }
  nav.nav_main li:hover ul.level_2 {
    display: block;
  }
}
.nav_main .level_2 {
  width: auto;
  background-color: var(--neutral-100);
  transform: translateY(0.75rem);
}
.nav_main .level_2 > li {
  padding: 0;
  white-space: nowrap;
}
.nav_main .level_2 > li:last-of-type {
  padding-bottom: 1rem;
}
.nav_main .level_2 > li a,
.nav_main .level_2 > li strong {
  display: block;
  margin: 0;
  padding: 0.625em 1rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: hsl(205, 100%, 32%);
  border-bottom: 1px solid hsl(22, 83%, 80%);
}
.nav_main .level_2 > li a:hover,
.nav_main .level_2 > li a.trail,
.nav_main .level_2 > li strong.active {
  background-color: hsla(205, 100%, 26%, 0.1);
}
.nav_main .level_2 > li.last {
  border-bottom: 3px solid hsl(205, 100%, 32%);
}
.nav_main .level_3 {
  position: relative;
}
.nav_main .level_3 li > a,
.nav_main .level_3 li > strong {
  padding-inline: 2rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  color: hsl(205, 100%, 32%);
}

@media screen and (max-width: 1366px) and (max-height: 800px) {
  nav.nav_main ul.level_2 > li a,
  nav.nav_main ul.level_2 > li strong {
    padding: 0.375em 1rem;
  }
}
.mod_customnav.nav_tile ul.level_1 {
  display: flex;
  flex-wrap: wrap;
}
.mod_customnav.nav_tile ul.level_1 li {
  width: 25%;
}
@media screen and (max-width: 36.875rem) {
  .mod_customnav.nav_tile ul.level_1 li {
    width: 50%;
  }
}
.mod_customnav.nav_tile ul.level_1 li:not(:last-of-type) {
  border-right: 1px solid white;
}
@media screen and (max-width: 36.875rem) {
  .mod_customnav.nav_tile ul.level_1 li:nth-of-type(1),
  .mod_customnav.nav_tile ul.level_1 li:nth-of-type(2) {
    border-block-end: 1px solid white;
  }
  .mod_customnav.nav_tile ul.level_1 li:nth-of-type(2) {
    border-right: none;
  }
}
.mod_customnav.nav_tile ul.level_1 > li > a,
.mod_customnav.nav_tile ul.level_1 > li > strong {
  width: 100%;
  height: 100%;
  padding: 0.5em 0.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: hsl(23, 84%, 60%);
  font-weight: 400;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  color: white;
}
@media screen and (max-width: 42.5rem) {
  .mod_customnav.nav_tile ul.level_1 > li > a,
  .mod_customnav.nav_tile ul.level_1 > li > strong {
    font-size: 0.875rem;
    letter-spacing: unset;
  }
}
.mod_customnav.nav_tile ul.level_1 > li > a:hover,
.mod_customnav.nav_tile ul.level_1 > li > strong.active {
  background-color: hsl(205, 66%, 42%);
}
.mod_customnav.nav_tile + .mod_article,
.mod_customnav.nav_tile + .mod_pageimage {
  margin-block-start: 0;
}

nav.nav_sub {
  height: fit-content;
  padding: 1rem;
  background-color: hsla(207, 100%, 75%, 0.1);
}
@media screen and (max-width: 62em) {
  nav.nav_sub {
    width: fit-content;
  }
}
nav.nav_sub ul.level_1 > li {
  margin-block-end: 0.5em;
  line-height: 1.2;
}
nav.nav_sub ul.level_1 a,
nav.nav_sub ul.level_1 strong {
  font-size: 0.875rem;
  text-decoration: none;
  color: var(--neutral-700);
}
nav.nav_sub ul.level_1 a:hover,
nav.nav_sub ul.level_1 strong.active {
  color: hsl(205, 100%, 32%);
}
nav.nav_sub ul.level_2 {
  margin-inline-start: 0.5rem;
}
nav.nav_sub ul.level_2 > li {
  padding-block: 0.25em;
}
nav.nav_sub ul.level_2 li.special > a,
nav.nav_sub ul.level_2 li.special > strong {
  color: #d24203;
}
.teaser > *:where(:not(:first-child)) {
  margin-top: var(--paragraph-space, 0.625em);
}

.layout_latest {
  position: relative;
}
.layout_latest h2 a,
.layout_latest h3 a {
  color: #d24203;
  text-decoration: none;
  line-height: 1.2;
}
.layout_latest p.more {
  margin-block-start: 1rem;
}
.layout_latest p.more a::after {
  content: "";
  inset: 0;
  position: absolute;
}
.layout_latest:focus-within {
  outline: 3px solid black;
  outline-offset: 3px;
  box-shadow: 0 0 0 9px white;
  border-radius: 0.125rem;
}
.layout_latest:focus-within a:focus-visible {
  outline: unset;
  outline-offset: unset;
  box-shadow: unset;
}

.layout_short {
  padding-left: 1.75rem;
  background-image: url("/files/theme/img/lipu.jpg");
  background-repeat: no-repeat;
  background-position: left center;
}
.layout_short + .layout_short {
  margin-block-start: 0.5rem;
}
.layout_short .subheadline {
  color: hsl(205, 100%, 26%);
}
.layout_short h3 {
  display: inline;
  font-size: 1rem;
  font-weight: 300;
}
.layout_short h3 a {
  color: var(--neutral-700);
  text-decoration: none;
}
.layout_short p {
  display: inline;
}
.layout_short p span.more.small {
  padding-inline-start: 0.5rem;
  font-size: 1rem;
  color: var(--neutral-500);
}
.layout_short p span.more.small a {
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

.layout_latest.aktuelles {
  display: flex;
  gap: 1rem;
  margin-block: 1.25rem;
  padding-block-end: 1rem;
}
.layout_latest.aktuelles:not(:last-of-type) {
  border-bottom: 1px solid #cecece;
}
.layout_latest.aktuelles h3 a {
  color: var(--neutral-700);
}

.content-accordion h1:has(+ h2), .content-accordion h2:has(+ h3), .content-accordion h3:has(+ h4), .content-accordion h4:has(+ h5), .content-accordion h5:has(+ h6) {
  margin-block-end: 0.75em;
}
.content-accordion .handorgel__header svg {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  vertical-align: sub;
  stroke-width: 2;
  transition: transform 0.125s ease-out;
}
.content-accordion .handorgel__header--open svg {
  transition: transform 0.125s ease-out;
  transform: rotate(90deg);
}

.content-download a,
.content-downloads a {
  min-inline-size: fit-content;
  display: inline flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5em 0.5rem;
  background-color: var(--primary-100);
  border-radius: 0.125rem;
  font-size: 0.875rem;
  color: var(--neutral-700);
  text-decoration: none;
}
.content-download a svg,
.content-downloads a svg {
  flex-shrink: 0;
  stroke-width: 1.5;
  stroke: currentColor;
}
.content-download a:is(:hover, :focus-visible),
.content-downloads a:is(:hover, :focus-visible) {
  background-color: var(--primary-800);
  color: var(--primary-200);
}
.content-download a:is(:hover, :focus-visible) svg,
.content-downloads a:is(:hover, :focus-visible) svg {
  stroke: var(--primary-200);
}

.content-downloads ul {
  padding-inline-start: unset;
  list-style-type: none;
}
.content-downloads ul li + li {
  margin-block-start: var(--flow-spacer, 1rem);
}

.content-gallery--cols-5 ul {
  list-style-type: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 0.375rem;
}
@media (width < 53.625em) {
  .content-gallery--cols-5 ul {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }
}
@media (width < 33.375em) {
  .content-gallery--cols-5 ul {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  }
}
.content-gallery--cols-5 ul img {
  width: 100%;
}
.content-gallery--cols-5 ul figcaption {
  display: none;
}

.content-gallery--cols-1 ul,
.content-gallery--cols-2 ul,
.content-gallery--cols-3 ul,
.content-gallery--cols-4 ul {
  list-style-type: none;
  padding: 0;
  display: flex;
  gap: 0.5rem 0.5em;
}

@media (width < 25em) {
  .content-gallery--cols-4 ul {
    flex-wrap: wrap;
    gap: 0.375em 2%;
  }
  .content-gallery--cols-4 ul li {
    flex: 0 1 48%;
  }
}

.content-toplink {
  border-block-end: 1px solid var(--neutral-200);
  display: flex;
  justify-content: flex-end;
}
.content-toplink a {
  color: var(--neutral-700);
  text-decoration: none;
  cursor: pointer;
}
.content-toplink a svg {
  display: inline-block;
  width: 1.75rem;
  height: 1.75rem;
  padding-inline-end: 0.5rem;
  transform: translateY(0.375rem);
}
.content-toplink a:hover svg {
  stroke: var(--accent-500);
}

.content-player audio {
  max-width: 100%;
}
.content-player video {
  width: min(100%, 60rem);
  height: auto;
}

.content-youtube,
.content-vimeo {
  margin-block-end: 3rem;
}
.content-youtube figure.aspect,
.content-vimeo figure.aspect {
  position: relative;
  width: min(100%, 60rem);
  height: auto;
}
.content-youtube figure.aspect.aspect--16\:9,
.content-vimeo figure.aspect.aspect--16\:9 {
  aspect-ratio: 16/9;
}
.content-youtube figure.aspect.aspect--16\:10,
.content-vimeo figure.aspect.aspect--16\:10 {
  aspect-ratio: 16/10;
}
.content-youtube figure.aspect.aspect--21\:9,
.content-vimeo figure.aspect.aspect--21\:9 {
  aspect-ratio: 21/9;
}
.content-youtube figure.aspect.aspect--4\:3,
.content-vimeo figure.aspect.aspect--4\:3 {
  aspect-ratio: 4/3;
}
.content-youtube figure.aspect.aspect--2\:3,
.content-vimeo figure.aspect.aspect--2\:3 {
  aspect-ratio: 2/3;
}
.content-youtube figure.aspect iframe,
.content-vimeo figure.aspect iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--neutral-200);
  background-color: var(--neutral-100);
}
.content-youtube figure.aspect figcaption,
.content-vimeo figure.aspect figcaption {
  margin-block-start: unset;
  position: absolute;
  left: 0.25rem;
  bottom: -1.5rem;
  contain: unset;
}

.content-swiper {
  width: min(75rem, 100%);
}
.content-swiper .swiper {
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  grid-template-rows: auto 3rem;
}
.content-swiper .swiper .swiper-wrapper {
  grid-area: 1/4/2/1;
}
.content-swiper .swiper .swiper-button-prev {
  grid-area: 2/2/3/1;
}
.content-swiper .swiper .swiper-button-next {
  grid-area: 2/4/3/3;
}
.content-swiper .swiper .swiper-pagination {
  grid-area: 2/3/3/2;
}
.content-swiper .swiper-button-prev,
.content-swiper .swiper-button-next {
  margin: unset;
  top: 20%;
  text-decoration: none;
  background-color: unset;
  border-radius: 0.25rem;
  box-shadow: none;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--neutral-800);
}
.content-swiper .swiper-button-prev.active, .content-swiper .swiper-button-prev:hover,
.content-swiper .swiper-button-next.active,
.content-swiper .swiper-button-next:hover {
  background-color: #d24203;
  cursor: pointer;
}
.content-swiper .swiper-button-prev.active::before, .content-swiper .swiper-button-prev.active::after, .content-swiper .swiper-button-prev:hover::before, .content-swiper .swiper-button-prev:hover::after,
.content-swiper .swiper-button-next.active::before,
.content-swiper .swiper-button-next.active::after,
.content-swiper .swiper-button-next:hover::before,
.content-swiper .swiper-button-next:hover::after {
  color: white;
}
.content-swiper .swiper-button-prev::before, .content-swiper .swiper-button-prev::after,
.content-swiper .swiper-button-next::before,
.content-swiper .swiper-button-next::after {
  font-size: 1.5rem;
  font-weight: 500;
  color: #d24203;
}
.content-swiper .swiper-pagination-bullets {
  top: 30%;
}
.content-swiper .swiper-pagination-bullet-active, .content-swiper .swiper-pagination-bullet:hover {
  background: #d24203;
}

.content-text.media .contentwrapper {
  display: flex;
  flex-direction: column;
  gap: 1rem 1.25rem;
}
@media (width > 48em) {
  .content-text.media--left .contentwrapper, .content-text.media--right .contentwrapper {
    flex-direction: row;
  }
  .content-text.media--left .contentwrapper figure, .content-text.media--right .contentwrapper figure {
    flex: 0 0 auto;
  }
  .content-text.media--left .contentwrapper .rte, .content-text.media--right .contentwrapper .rte {
    flex: 0 1 auto;
  }
}
@media (width > 48em) {
  .content-text.media--right .contentwrapper {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
}

.mod_search.searchfield .formbody {
  display: flex;
  padding: 0;
  background-color: unset;
}
.mod_search.searchfield .formbody > * + * {
  margin-top: 0;
}
.mod_search.searchfield .formbody .widget-text {
  border-bottom: 1px solid hsl(22, 83%, 72%);
}
.mod_search.searchfield .formbody .widget-text input {
  padding: 0.5em 1rem;
  border: 1px solid white;
  color: #d24203;
  font-size: 0.875rem;
}
.mod_search.searchfield .formbody .widget-submit {
  display: flex;
  align-items: center;
}
.mod_search.searchfield .formbody .widget-submit button.submit {
  padding: 0.675em 1rem;
  background: url("/files/theme/img/feathericons/search.svg") no-repeat bottom left;
}
.mod_search.searchfield .formbody .widget-submit button.submit span.button-label {
  display: none;
}

@media screen and (max-width: 61.9375em) {
  .mod_search {
    display: none;
  }
}
.mod_article.hero--light .inside .content-rsce-hero {
  display: grid;
  grid-template-columns: 1fr minmax(auto, 75rem) 1fr;
  grid-column-gap: 1rem;
  isolation: isolate;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_image {
  grid-row: 1/2;
  grid-column: 1/4;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_image figure {
  inline-size: unset;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_image img {
  width: 100%;
  height: 70vh;
  object-fit: cover;
  background-color: var(--neutral-100);
}
@media (width < 40em) {
  .mod_article.hero--light .inside .content-rsce-hero .hero_image img {
    height: 50vh;
  }
}
@media (width < 30em) {
  .mod_article.hero--light .inside .content-rsce-hero .hero_image img {
    height: 40vh;
  }
}
.mod_article.hero--light .inside .content-rsce-hero .hero_image figcaption {
  display: none;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text {
  grid-row: 1/2;
  grid-column: 2/3;
  margin-block-end: clamp(1.5rem, 0.333rem + 4.167vw, 3rem);
  text-shadow: 0px 0px 1px rgba(3, 7, 18, 0.02), 1px 2px 4px rgba(3, 7, 18, 0.03), 3px 4px 8px rgba(3, 7, 18, 0.05), 5px 8px 14px rgba(3, 7, 18, 0.06), 8px 12px 22px rgba(3, 7, 18, 0.08);
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text.left {
  justify-self: start;
  align-self: flex-end;
  text-align: left;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text.center {
  justify-self: center;
  align-self: flex-end;
  text-align: center;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text.right {
  justify-self: end;
  align-self: flex-end;
  text-align: right;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text.center-vh {
  justify-self: center;
  align-self: center;
  text-align: center;
  margin-block-end: unset;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text h1 {
  margin-block-end: unset;
  font-size: clamp(2.5em, 8.5vw, 4em);
  font-weight: 500;
  color: var(--neutral-000);
  line-height: 1.1;
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text p {
  margin-block-end: unset;
  max-width: unset;
  font-weight: 500;
  font-size: clamp(1rem, 0.611rem + 1.389vw, 1.5rem);
  color: var(--neutral-000);
}
.mod_article.hero--light .inside .content-rsce-hero .hero_text p a {
  color: white;
}
@supports (text-wrap: balance) {
  .mod_article.hero--light .inside .content-rsce-hero .hero_text p {
    text-wrap: balance;
  }
}

.mod_article.hero.slim .inside .hero_image img {
  height: 40vh;
}

.mod_article.hero .inside .content-rsce-hero::after {
  grid-row: 1/2;
  grid-column: 1/4;
  content: "";
  background: linear-gradient(hsla(0, 0%, 13%, 0.3), hsla(0, 0%, 13%, 0.3));
}
.mod_article.hero .inside .content-rsce-hero .hero_text {
  position: relative;
  z-index: 1;
}

.ce_rsce_team .team {
  display: flex;
  align-items: center;
}
.ce_rsce_team .team .portrait img {
  width: 150px;
  border-radius: 50%;
  box-shadow: 0 0.0625em 0.125em rgba(0, 0, 0, 0.07), 0 0.125em 0.25em rgba(0, 0, 0, 0.07), 0 0.25em 0.5em rgba(0, 0, 0, 0.07), 0 0.5em 1em rgba(0, 0, 0, 0.07);
}
.ce_rsce_team .team .team_box {
  height: 100%;
  margin-inline-start: 1rem;
  padding: 0.75em 0.75rem;
  background-color: var(--neutral-100);
}
.ce_rsce_team .team .team_box p {
  font-size: 0.875rem;
}
.ce_rsce_team .team .team_box p a {
  text-decoration: none;
}

.content-rsce-text-in-bild {
  display: grid;
  grid-template-columns: 1fr minmax(auto, 75rem) 1fr;
}
.content-rsce-text-in-bild .tib_image {
  grid-row: 1/2;
  grid-column: 1/4;
}
.content-rsce-text-in-bild .tib_image img {
  width: 100%;
  object-fit: cover;
  background-color: var(--neutral-100);
}
.content-rsce-text-in-bild .tib_image figcaption {
  display: none;
}
.content-rsce-text-in-bild .tib_text {
  padding-inline: 2rem;
  grid-row: 1/2;
  grid-column: 2/3;
  margin-block-end: clamp(1.5rem, 1.0556rem + 1.5873vw, 3rem);
  color: white;
  text-shadow: 0px 0px 1px rgba(3, 7, 18, 0.02), 1px 2px 4px rgba(3, 7, 18, 0.03), 3px 4px 8px rgba(3, 7, 18, 0.05), 5px 8px 14px rgba(3, 7, 18, 0.06), 8px 12px 22px rgba(3, 7, 18, 0.08);
}
.content-rsce-text-in-bild .tib_text.left {
  justify-self: start;
  align-self: flex-end;
  text-align: left;
}
.content-rsce-text-in-bild .tib_text.center {
  justify-self: center;
  align-self: flex-end;
  text-align: center;
}
.content-rsce-text-in-bild .tib_text.right {
  justify-self: end;
  align-self: flex-end;
  text-align: right;
}
.content-rsce-text-in-bild .tib_text.center-vh {
  justify-self: center;
  align-self: center;
  text-align: center;
  margin-block-end: unset;
}
.content-rsce-text-in-bild .tib_text h1, .content-rsce-text-in-bild .tib_text h2, .content-rsce-text-in-bild .tib_text h3 {
  margin-block-end: unset;
  color: white;
}
.content-rsce-text-in-bild .tib_text h1 {
  font-size: clamp(3rem, 2.4074rem + 2.1164vw, 5rem);
  line-height: 1.1;
}
.content-rsce-text-in-bild .tib_text p {
  margin-block-end: unset;
  font-weight: 500;
  font-size: clamp(1.25rem, 1.1759rem + 0.2646vw, 1.5rem);
}
@supports (text-wrap: balance) {
  .content-rsce-text-in-bild .tib_text p {
    text-wrap: balance;
  }
}

.sdb-desc {
  display: none;
}

.sdb-card {
  padding-block: 0.5rem 1rem;
}
.sdb-card:not(:last-of-type) {
  margin-block-end: 1rem;
  border-block-end: 1px solid var(--neutral-500);
}

section.semCat ul {
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: flex;
  gap: 1rem;
}
section.semCat ul button {
  padding: 0.5rem;
  border: 1px solid hsl(20, 77%, 49%);
  background-color: white;
  color: hsl(20, 77%, 49%);
  font-weight: 500;
}
section.semCat ul button.selected {
  background-color: hsl(20, 77%, 49%);
  color: white;
}
section.semCat ul button:is(:hover, :focus-visible) {
  background-color: hsl(20, 77%, 49%);
  color: white;
}

ul#seminare {
  list-style-type: none;
  display: grid;
  gap: 1.5rem;
}

div.seminar.red {
  background-color: tomato;
}

li.hide {
  display: none;
}

.mod_article:not(.hero, .slider) {
  padding-block: clamp(2rem, 1.6273rem + 1.3311vw, 3rem);
}

.mod_article:not(.hero, .full-bleed) .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
}

.mod_article.background-color {
  background-color: var(--accent-500);
}
.mod_article.background-color .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  color: var(--neutral-000);
}
.mod_article.background-color .inside .headline {
  color: inherit;
}

.mod_article.background-color-inside {
  margin-block: 2rem;
  padding-block: unset;
}
.mod_article.background-color-inside .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  padding-block: clamp(2rem, 1.6273rem + 1.3311vw, 3rem);
  padding-inline: 1rem;
  background-color: var(--primary-100);
  color: var(--neutral-800);
}
.mod_article.background-color-inside .inside .headline {
  color: inherit;
}

.mod_article.full-bleed {
  background-color: var(--primary-200);
}
.mod_article.full-bleed .inside {
  --padding: 1rem * 2;
  width: min(100% - var(--padding));
  margin-inline: auto;
  color: var(--neutral-800);
}
.mod_article.full-bleed .inside .headline {
  color: inherit;
}

.mod_article.flow .inside > *:where(:not(:first-child)) {
  margin-block-start: var(--flow-space, 3rem);
}
.mod_article.flow-x .inside > *:where(:not(:first-child)) {
  --flow-space: x;
  margin-block-start: var(--flow-space, 3rem);
}

.grid-2c .gridcontainer,
.grid-2c .group-inside {
  display: grid;
  gap: var(--gap, 1.5rem);
}
@media (width > 40em) {
  .grid-2c .gridcontainer,
  .grid-2c .group-inside {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-3c .inside,
.grid-3c .gridcontainer,
.grid-3c .group-inside {
  --gap: 2.25rem;
  display: grid;
  gap: var(--gap, 1.5rem);
}
@media (width > 40em) {
  .grid-3c .inside,
  .grid-3c .gridcontainer,
  .grid-3c .group-inside {
    grid-template-columns: 1fr 1fr;
  }
}
@media (width > 53em) {
  .grid-3c .inside,
  .grid-3c .gridcontainer,
  .grid-3c .group-inside {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.grid-u-1-1 .inside {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  column-gap: 2.25em;
  row-gap: 2.25em;
}
.grid-u-1-1 .inside :first-child {
  grid-column: 1/3;
}
@media (width > 48em) {
  .grid-u-1-1 .inside {
    grid-template-columns: 48% 48%;
  }
}

body#top.article-fullwidth main .inside {
  margin-block-start: unset;
  grid-template-columns: 1fr;
}
body#top.article-fullwidth main .inside .mod_article {
  grid-column: 1/2;
}

body#top.veranstaltungen-seminare main .inside {
  display: block;
}

body#top.veranstaltungen-seminare .mod_article .vs {
  display: grid;
  grid-template-columns: 76% 20%;
  grid-column-gap: 4%;
}
body#top.veranstaltungen-seminare .mod_article .vs .mod_newslist {
  grid-column: 1/2;
}
body#top.veranstaltungen-seminare .mod_article .vs .mod_newscategories {
  grid-column: 2/3;
}
@media screen and (max-width: 59.9375rem) {
  body#top.veranstaltungen-seminare .mod_article .vs {
    grid-template-columns: 1fr;
  }
  body#top.veranstaltungen-seminare .mod_article .vs .mod_newslist {
    order: 1;
  }
  body#top.veranstaltungen-seminare .mod_article .vs .mod_newscategories {
    grid-column: 1/2;
  }
  body#top.veranstaltungen-seminare .mod_article .vs .mod_newscategories ul.level_1 {
    flex-direction: column;
  }
}

body#top.aside main .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
}
body#top.aside .mod_article {
  padding-block-start: 0;
}
body#top.aside .mod_article .inside {
  margin-inline: unset;
}

body#top.no-submenu main .inside .nav_sub {
  display: none;
}

#custom .mod_article {
  padding-block: unset;
}

main > .inside {
  --padding: 1rem * 2;
  --max-width: 75rem;
  width: min(100% - var(--padding), var(--max-width));
  margin-inline: auto;
  margin-block-start: clamp(2rem, 1.6273rem + 1.3311vw, 3rem);
  display: grid;
  grid-template-columns: 16% 80%;
  grid-column-gap: 4%;
}
main > .inside .nav_sub {
  grid-column: 1/2;
}
main > .inside .mod_article {
  grid-column: 2/3;
}
@media screen and (max-width: 75rem) {
  main > .inside {
    max-width: 100%;
    margin-inline: unset;
  }
}
@media screen and (max-width: 62.5rem) {
  main > .inside {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-row-gap: 3em;
  }
  main > .inside .mod_article {
    grid-column: 1/2;
  }
}

[id=wrapper] {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

[id=container] {
  flex: 1 0 auto;
}

*:focus {
  outline: 5px solid lime;
}

*:focus:not(:focus-visible) {
  outline: unset;
}

*:focus-visible {
  outline: 3px solid black;
  outline-offset: 3px;
  box-shadow: 0 0 0 9px white;
  border-radius: 0.125rem;
}

.invisible:not(:focus):not(:active),
.visually-hidden:not(:focus):not(:active) {
  position: absolute;
  width: 1px;
  height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
  white-space: nowrap;
}

@layer reset, defaults, theme;

/*# sourceMappingURL=main.css.map */
