@charset "UTF-8";
/*
Theme Name:  SPLENDID Nexus
Author:      Dr. Robert Lorenz
Author URI:  https://www.splendid-combination.de
Version:     1.0
Text Domain: splendid-nexus
Domain Path: /languages
*/
/*
z-index:
ebene_max:
	.sp-site-sliplink
	.sp-site-scrolltop-btn
ebene_4:
	.sp-site-sticky
ebene_3:
  .sp-site-footer
ebene_2:
  .sp-compo-webpage-slot-aside (-> footer-bg kann darunter durch laufen)
	.sp-site-body-shadow
*/
@font-face {
  /*=> erzeugt spezialisierten @font-face*/
  font-family: "vgrundschrift";
  src: url("data/fonts/Inter-Variable.woff2") format("woff2");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-stretch: 1% 200%;
  font-style: normal;
  font-weight: 1 999;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-SemiBold.woff2") format("woff2"), url("data/fonts/Inter-SemiBold.woff") format("woff"), url("data/fonts/Inter-SemiBold.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-SemiBoldItalic.woff2") format("woff2"), url("data/fonts/Inter-SemiBoldItalic.woff") format("woff"), url("data/fonts/Inter-SemiBoldItalic.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-Regular.woff2") format("woff2"), url("data/fonts/Inter-Regular.woff") format("woff"), url("data/fonts/Inter-Regular.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-Italic.woff2") format("woff2"), url("data/fonts/Inter-Italic.woff") format("woff"), url("data/fonts/Inter-Italic.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-Light.woff2") format("woff2"), url("data/fonts/Inter-Light.woff") format("woff"), url("data/fonts/Inter-Light.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "grundschrift";
  src: url("data/fonts/Inter-LightItalic.woff2") format("woff2"), url("data/fonts/Inter-LightItalic.woff") format("woff"), url("data/fonts/Inter-LightItalic.ttf") format("truetype");
  unicode-range: U+0020 -U7F, U+00A0 -U0FF, U+0100 -U17F;
  font-style: italic;
  font-weight: 300;
  font-display: swap;
}
.sp-clearfix {
  content: '';
  display: block;
  clear: both;
  line-height: 0;
  white-space: nowrap;
  word-wrap: normal !important;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  display: inline-block;
  position: absolute !important;
  position: static;
}

.sp-excla {
  display: inline-flex;
}
.sp-excla::before {
  content: '!';
  color: currentColor;
  opacity: 0;
  transition: all var(--MOTION-TRANS-FAST);
  transition: all .3s ease-out;
}
.sp-excla::after {
  content: '…';
  color: currentColor;
  opacity: 1;
  transition: all .3s ease-out;
  display: inline-block;
}

.sp-kontaktform-cta:focus ~ .sp-excla::before, .sp-kontaktform-cta:focus .sp-excla::before, .sp-kontaktform-cta:hover ~ .sp-excla::before, .sp-kontaktform-cta:hover .sp-excla::before,
.sp-link:focus ~ .sp-excla::before,
.sp-link:focus .sp-excla::before,
.sp-link:hover ~ .sp-excla::before,
.sp-link:hover .sp-excla::before {
  opacity: 1;
}
.sp-kontaktform-cta:focus ~ .sp-excla::after, .sp-kontaktform-cta:focus .sp-excla::after, .sp-kontaktform-cta:hover ~ .sp-excla::after, .sp-kontaktform-cta:hover .sp-excla::after,
.sp-link:focus ~ .sp-excla::after,
.sp-link:focus .sp-excla::after,
.sp-link:hover ~ .sp-excla::after,
.sp-link:hover .sp-excla::after {
  transform: translateX(var(--excla-trans-x, 0)) rotate(90deg);
  opacity: 0;
}

.sp-has-no-featured-img {
  --header-transp: 1;
}

.sp-pseudo-block-link {
  display: flex;
  position: static;
}
.sp-pseudo-block-link::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.sp-pseudo-block-link-container .sp-compo-headline {
  position: static;
}

.sp-skipper {
  background: var(--COLOR-ZERO);
  display: grid;
  grid-template-rows: 0;
  position: absolute;
  top: 1em;
}
.sp-skipper:focus-within {
  grid-template-rows: 1fr;
}

.sp-skipper-link {
  max-width: max-content;
  overflow: var(--skip-overflow, hidden);
}
.sp-skipper-link:active, .sp-skipper-link:focus {
  --skip-overflow: overflow;
}

.sp-transition-all {
  transition: all var(--MOTION-TRANS);
}

.sp-hide-visually-soft {
  opacity: 0;
}

.sp-show-visually-soft {
  opacity: 1;
}

.sp-uppercase {
  text-transform: uppercase;
}

.sp-utility-flex-wrap {
  display: flex;
  flex-wrap: wrap;
}

.sp-utility-order-1 {
  order: -1;
}

/*------------------------------------------------------------------------------
  ITEM-%%LOADER
------------------------------------------------------------------------------*/
.sp-item-loader:not([src$='gif']):not([src$='png']):not([src$='svg']):not([src$='webp']) {
  --ani-i: infinite;
  background: linear-gradient(to top, var(--color-akzent), var(--color-akzent) 0.5em) no-repeat center, repeating-linear-gradient(-45deg, transparent, transparent 0.75rem, var(--color-grau-hell) 0.75rem, var(--color-grau-hell) 1.5rem);
  background-size: 100% .5rem,100%;
  --ani-add: sp-background-expander 1.25s ease-out var(--ani-i);
}

.sp-item-loader-stop:not([src$='gif']):not([src$='png']):not([src$='svg']):not([src$='webp']) {
  --ani-i: 1;
  --ani-add: sp-background-fade 1s ease-out forwards,sp-show-soft 1.2s ease;
}

/*ENDE:item-loader------------------------------------------------------------------------------*/
* {
  padding: 0;
  margin: 0;
  box-sizing: inherit;
}
*:before, *::after {
  box-sizing: inherit;
}
*::selection {
  color: var(--selection-color, #fefefe);
  background-color: var(--selection-bg, var(--COLOR-PRIM));
}

html {
  font-size: 100%;
  text-size-adjust: none;
  scroll-behavior: smooth;
  box-sizing: border-box;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body {
  background-color: #fefefe;
  font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-weight: 400;
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  min-height: 100vh;
  animation: sp-opacity-in 1s forwards;
  position: relative;
}

a {
  color: inherit;
  text-decoration: var(--link-text-deco-color, transparent) var(--link-text-deco-type, none) var(--link-text-deco-width, 0.13em) var(--link-text-deco-style, var(--LINE-STYLE));
  text-underline-offset: var(--link-text-deco-offset, 0.3em);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
}

abbr[title] {
  cursor: help;
  text-decoration: none;
  display: inline-block;
}

address {
  font-style: normal;
}

blockquote::before {
  content: none;
}
blockquote::after {
  content: none;
}
blockquote::after, blockquote::before {
  color: var(--quotes-color);
}

q::before {
  content: "»";
}
q::after {
  content: "«";
}

cite, mark, small {
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  color: inherit;
  background-color: inherit;
}

button {
  cursor: pointer;
  appearance: none;
  background: transparent;
  font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  min-height: 44px;
  border: none;
  outline-color: transparent;
}
button::-moz-focus-inner {
  border: none;
}

details[open] {
  --icon-rotate: 90deg;
}

summary {
  /*&::before {
  	content:'';
  	color:var(--marker-color);
  	border:solid .5em $transp;
  	border-left-color:var(--color-full);
  	transform-origin:.25em 50%;
  	transform:rotate(var(--marker-rotate,0deg));
  	@include transition-all;
  	display:inline-block;
  }*/
}
summary::marker, summary::-webkit-details-marker {
  color: transparent;
}

figcaption {
  color: var(--img-meta-color, var(--content-color));
  font-size: var(--img-meta-font-size, inherit);
  font-style: var(--img-meta-font-style, inherit);
  font-weight: var(--img-meta-font-weight, inherit);
}

[hidden] {
  display: none !important;
}

b {
  font-weight: bold;
}

strong {
  font-weight: inherit;
}

i, em {
  font-style: italic;
}

[id] {
  scroll-margin-top: 2ex;
}

img {
  vertical-align: bottom;
  height: var(--img-height, auto);
  width: var(--img-width, auto);
  max-height: var(--img-max-height, 100%);
  max-width: var(--img-max-width, 100%);
  object-fit: var(--img-object-fit, contain);
  animation: sp-show-soft 1.2s ease, var(--ani-add, none);
}

input {
  caret-color: var(--COLOR-PRIM);
  color: inherit;
  font-family: inherit;
}
input::placeholder {
  color: var(--placeholder-color, var(--COLOR-GRAU-DARK));
  font-size: var(--placeholder-font-size, var(--TYPO-MARGINALIE-FONT-SIZE));
  font-style: var(--placeholder-font-style, italic);
}

label[for] {
  cursor: pointer;
}

template {
  display: none;
}

ul {
  list-style-type: none;
}

sub {
  font-feature-settings: 'subs' 1;
}

@supports (font-variant-position: sub) {
  sub {
    font-feature-settings: normal;
    font-variant-position: sub;
  }
}
@supports (font-variant-position: sub) or (font-feature-settings: "subs" 1) {
  sub {
    font-size: inherit;
    vertical-align: inherit;
  }
}
sup {
  font-feature-settings: 'sups' 1;
}

@supports (font-variant-position: super) {
  sup {
    font-feature-settings: normal;
    font-variant-position: super;
  }
}
@supports (font-variant-position: super) or (font-feature-settings: "sups" 1) {
  sup {
    font-size: inherit;
    vertical-align: inherit;
  }
}
[tabindex="-1"] {
  outline-color: transparent;
}

video {
  cursor: pointer;
  max-width: 100%;
}

audio::-webkit-media-controls-panel,
video::-webkit-media-controls-panel {
  background: #ebebeb;
  filter: invert(1);
}

audio, video,
audio::-webkit-media-controls,
video::-webkit-media-controls {
  color: #fefefe;
}

audio::-webkit-media-controls-enclosure,
video::-webkit-media-controls-enclosure {
  background-color: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: 0s !important;
  }

  html {
    scroll-behavior: auto;
  }
}
html {
  --sp: 1em;
  --spr: 1rem;
  --COLOR-GRAU-MIN: #f8f6f7;
  --COLOR-GRAU-HELL: #ede8eb;
  --COLOR-GRAU-MED: #a58d99;
  --COLOR-GRAU-DARK: #896c7a;
  --COLOR-AKZENT: #c9cf30;
  --COLOR-AKZENT-SEC: #f4fb37;
  --COLOR-AKZENT-HELL: #fafd9b;
  --COLOR-AKZENT-TERT: #a4ec13;
  --COLOR-AKZENT-CONTRAST: #1a1a1a;
  --COLOR-AKZENT-DARK: #979a42;
  --COLOR-DARK: #0a325c;
  --COLOR-DECO: #dee5ed;
  --COLOR-HELL: #b8cbe0;
  --COLOR-HELL-MED: #94b1d1;
  --COLOR-MIN: #f5f7fa;
  --COLOR-FULL: #000;
  --COLOR-ZERO: #fefefe;
  --COLOR-PRIM: #00438a;
  --COLOR-PRIM-CONTRAST: #fefefe;
  --COLOR-SEC: #4b7baf;
  --COLOR-TERT: #577ca2;
  --COLOR-META: #4b7baf;
  --COLOR-FOCUS: var(--COLOR-AKZENT-DARK);
  --COLOR-HIGHLIGHT: var(--COLOR-AKZENT-DARK);
  --COLOR-HIGHLIGHT-CONTRAST: #fff;
  --COLOR-HUE-PRIM: 211;
  --MOTION-EASE: ease-out;
  --MOTION-TIME: .3s;
  --MOTION-TRANS: var(--motion-time, var(--MOTION-TIME)) var(--motion-ease, var(--MOTION-EASE));
  --MOTION-TRANS-FAST: 0.15s var(--motion-ease, var(--MOTION-EASE));
  --SITE-CLIPSPACE: 3rem;
  --SITE-CONTENT-MAX: 56rem;
  --SITE-PADDING-H: var(--spr);
  --SITE-PADDING-H-META: var(--spr);
  --SITE-PADDING-LEFT: var(--SITE-PADDING-H);
  --SITE-RADIUS: .125rem;
  --LINE-STYLE: solid;
  --LINE-WIDTH-MIN: .125rem;
  --LINE-WIDTH-MED: .25rem;
  --LINE-WIDTH-MAX: .5rem;
  --TYPO-LINE-MAX: 56rem;
  --TYPO-GRUNDSCHRIFT-FONT-FAMILY: "vgrundschrift", sans-serif;
  --TYPO-GRUNDSCHRIFT-FONT-SIZE: 1.125rem;
  --TYPO-GRUNDSCHRIFT-FONT-WEIGHT: 380;
  --TYPO-GRUNDSCHRIFT-LINE-HEIGHT: 1.75;
  --TYPO-HEADLINE-FONT-FAMILY: "vgrundschrift", sans-serif;
  --TYPO-HEADLINE-FONT-SIZE-1: calc(1.1 * var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA));
  --TYPO-HEADLINE-FONT-WEIGHT-1: 600;
  --TYPO-HEADLINE-LINE-HEIGHT-1: 1.2;
  --TYPO-HEADLINE-FONT-SIZE-2: 120%;
  --TYPO-HEADLINE-FONT-WEIGHT-2: 560;
  --TYPO-HEADLINE-LINE-HEIGHT-2: 1.3;
  --TYPO-HEADLINE-FONT-SIZE-2-EXTRA: 2rem;
  --TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA: 600;
  --TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA: 1.4;
  --TYPO-HEADLINE-FONT-SIZE-3: 110%;
  --TYPO-HEADLINE-FONT-WEIGHT-3: 500;
  --TYPO-HEADLINE-LINE-HEIGHT-3: 1.3;
  --TYPO-HEADLINE-FONT-SIZE-ITEM: 1.25rem;
  --TYPO-HEADLINE-FONT-WEIGHT-ITEM: 560;
  --TYPO-HEADLINE-LINE-HEIGHT-ITEM: 1.2;
  --TYPO-HEADLINE-FONT-FAMILY-META: "grundschrift", sans-serif;
  --TYPO-HEADLINE-FONT-SIZE-META: var(--TYPO-MARGINALIE-FONT-SIZE);
  --TYPO-HEADLINE-FONT-WEIGHT-META: 500;
  --TYPO-HEADLINE-LINE-HEIGHT-META: 1.4;
  --TYPO-HEADLINE-TEXT-TRANSFORM: none;
  --TYPO-MARGINALIE-FONT-FAMILY: "grundschrift", sans-serif;
  --TYPO-MARGINALIE-FONT-SIZE: 1rem;
  --TYPO-MARGINALIE-FONT-WEIGHT: 400;
  --TYPO-MARGINALIE-LINE-HEIGHT: 1.5;
  --TYPO-FONT-SIZE-MIN: MIN(16px, 1rem);
  --TYPO-LINE-HEIGHT-MIN: 1.6;
  --TYPO-TITLE-FONT-SIZE-ITEM: MAX(1rem, 120%);
  --TYPO-TITLE-FONT-WEIGHT-ITEM: 540;
  --TYPO-TITLE-LINE-HEIGHT-ITEM: 1.3;
}

@media (max-width: 20em) {
  html {
    --TYPO-FONT-SIZE-MIN: 0.875em;
  }
}
@media (max-width: 45em) {
  html {
    --TYPO-GRUNDSCHRIFT-FONT-SIZE: 1.1rem;
    --TYPO-HEADLINE-FONT-SIZE-2-EXTRA: 1.5rem;
    --TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA: 1.3;
  }
}
@media (min-width: 64em) {
  html {
    --TYPO-GRUNDSCHRIFT-FONT-SIZE: calc(1.1rem + .2vmin);
    --TYPO-GRUNDSCHRIFT-LINE-HEIGHT: 1.7;
    --TYPO-MARGINALIE-FONT-SIZE: calc(.85 * var(--TYPO-GRUNDSCHRIFT-FONT-SIZE));
    --TYPO-HEADLINE-FONT-SIZE-1: 3rem;
    --TYPO-HEADLINE-LINE-HEIGHT-1: 1.2;
    --TYPO-HEADLINE-FONT-SIZE-2-EXTRA: calc( var(--TYPO-HEADLINE-FONT-SIZE-2) * 1.3 );
    --TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA: 1.2;
    --TYPO-HEADLINE-FONT-SIZE-2: calc(var(--TYPO-GRUNDSCHRIFT-FONT-SIZE) * 1.5);
    --SITE-PADDING-H: 2rem;
    --SITE-PADDING-H-META: 2rem;
    --SITE-PADDING-LEFT: calc( ( 100vw - var(--TYPO-LINE-MAX) ) / 2 );
    font-size: calc(1rem + .05vmin);
  }

  @supports (font-size: MAX(1px, 2px)) {
    html {
      --TYPO-MARGINALIE-FONT-SIZE: MAX(MIN(1rem, 18px), var(--TYPO-GRUNDSCHRIFT-FONT-SIZE) * .75);
    }
  }
}
@media (min-width: calc( 75rem + 8vw )) {
  html {
    --SITE-PADDING-H: 4vw;
    --SITE-PADDING-H-META: var(--SITE-PADDING-H);
  }
}
@media (min-width: 100em) {
  html {
    --TYPO-HEADLINE-FONT-SIZE-2-EXTRA: 2.4rem;
    font-size: calc(1rem + .1vmin);
  }
}
@media (min-width: calc( 120rem + 4vw )) {
  html {
    --SITE-PADDING-H: calc( (108vw - 120rem) * .5 );
  }
}
body {
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

.sp-headline {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.sp-block,
.sp-util-block {
  display: block;
}

.sp-max-line {
  max-width: var(--typo-line-max, --TYPO-LINE-MAX);
}

.sp-typo-kursiv {
  font-style: italic;
}

.sp-typo-uppercase {
  text-transform: uppercase;
}

.has-btn {
  --compo-cta-color: var(--color-zero);
  --compo-cta-bg-color: var(--color-sec);
}

/*
  => basis-konstrukte fuer den einsatz in (mehreren) spezifischen komponenten
*/
p.is-style-sp-default {
  max-width: 42em;
}

.sp-address-phone {
  letter-spacing: .125ch;
}

.sp-bold {
  font-weight: 600;
}

.sp-btn {
  --bg-base: var(--compo-master-bg, var(--btn-bg));
  --content-color-base: var(--compo-master-color, var(--btn-content-color));
  color: var(--content-color, var(--content-color-base));
  background: var(--bg, var(--bg-base));
  outline: var(--btn-outline-width, var(--LINE-WIDTH-MIN)) var(--btn-outline-style, var(--LINE-STYLE)) var(--btn-outline-color, transparent);
  outline-offset: var(--btn-outline-offset);
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-btn:focus {
  --bg: var(--btn-bg-focus);
  --btn-outline-color: var(--btn-outline-color-focus, var(--COLOR-FOCUS));
  --btn-text-deco-color: var(--btn-text-deco-color-focus);
  --content-color: var(--btn-content-color-focus);
}
.sp-btn:focus:hover {
  --btn-outline-offset: 0.0625em;
}
.sp-btn:hover, .sp-btn:active {
  --bg: var(--btn-bg-hover);
  --btn-text-deco-color: var(--btn-text-deco-color-hover);
  --content-color: var(--btn-content-color-hover);
}

.sp-btn-txt {
  text-decoration: var(--text-deco-color-master, var(--btn-text-deco-color, transparent)) var(--text-deco-width-master, var(--btn-text-deco-width, 0.0625em)) var(--text-deco-style-master, var(--btn-text-deco-style, underline));
  text-underline-offset: var(--compo-text-deco-offset, var(--btn-text-deco-offset, 0.25em));
  transition: all var(--MOTION-TRANS-FAST);
}

.sp-btn-close {
  --compo-icon-color: #fefefe;
  line-height: 1;
  filter: drop-shadow(0 0.125em 0.125em rgba(0, 0, 0, 0.5));
  padding: var(--btn-close-padding, 0.15em 0.22em 0.21em);
  transition: all .4s ease;
}
.sp-btn-close:hover {
  --compo-icon-color: var(--compo-icon-color-hover, var(--COLOR-AKZENT));
}
.sp-btn-close:hover .sp-icon-close {
  animation: .4s ease sp-spinner forwards;
}
.sp-btn-close.sp-btn-close-animate-closing {
  animation: .4s ease sp-scale;
}

.sp-deli {
  --icon-color: currentColor;
  color: var(--deli-color);
  margin: 0 var(--deli-margin-right, 1ch) 0 var(--deli-margin-left, 0.75ch);
}

.sp-deli-last {
  margin: 0 var(--deli-last-margin-right, var(--deli-margin-right, 1ch)) 0 var(--deli-last-margin-left, var(--deli-margin-left, 0.75ch));
}

.sp-error-icon {
  --icon-height: 3em;
  background: var(--COLOR-ZERO);
  padding: 2% 2% 1%;
  border-radius: 3em;
  box-shadow: 0 0 0.75em var(--color-grau-med);
  opacity: 0;
  animation: sp-blend-in 1.2s ease-out forwards;
  position: absolute;
  z-index: 1;
}

.sp-error-img {
  background: repeating-linear-gradient(-45deg, var(--COLOR-ZERO) 0.5em, var(--COLOR-ZERO) 1em, var(--COLOR-GRAU-HELL) 1em, var(--COLOR-GRAU-HELL) 2em);
  min-height: 6em;
  max-width: 10rem;
  opacity: 0;
  animation: sp-blend-in 1.2s ease-out forwards;
}

.sp-error-txt {
  color: #b71515;
  background-image: repeating-linear-gradient(135deg, #b71515, #b71515 1ch, #fefefe 1ch, #fefefe 1.75ch);
  background-size: 6ch;
  background-repeat: no-repeat;
  font-size: var(--typo-marginalie-font-size);
  font-weight: 400;
  line-height: 1.2;
  text-transform: uppercase;
  padding-left: 7ch;
  margin-bottom: 2em;
}

* + .sp-error-txt {
  margin-top: 1em;
}

.sp-featured-image {
  max-width: var(--post-img-max-width, var(--img-max-width, 100%));
  margin: var(--post-img-margin-top, 0) var(--post-img-margin-right, 0) var(--post-img-margin-bottom, 0) var(--post-img-margin-left, 0);
}

.sp-headline {
  --bg: var(--compo-bg-master, var(--headline-bg, var(--compo-bg)));
  --content-color: var(--compo-content-color-master, var(--headline-content-color, var(--compo-content-color)));
  background: var(--bg);
  color: var(--content-color);
  --font-family: var(--headline-font-family-master, var(--TYPO-HEADLINE-FONT-FAMILY));
  --font-size: var(--headline-font-size-master, var(--headline-font-size));
  --font-weight: var(--headline-font-weight-master, var(--headline-font-weight));
  --letter-spacing: var(--headline-letter-spacing-master, var(--headline-letter-spacing));
  --line-height: var(--headline-line-height-master, var(--headline-line-height, 1.2));
  --text-transform: var(--headline-text-transform-master, var(--headline-text-transform));
  font-family: var(--font-family, "grundschrift", sans-serif);
  font-size: var(--font-size, 150%);
  font-style: var(--font-style, normal);
  font-weight: var(--font-weight, 700);
  letter-spacing: var(--letter-spacing, initial);
  line-height: var(--headline-line-height);
  text-transform: var(--text-transform, none);
  flex: 100%;
}

.sp-headline-txt {
  color: var(--headline-txt-color);
  background: var(--headline-txt-bg);
}

.sp-icon {
  background: var(--icon-bg);
  fill: var(--icon-color, var(--compo-content-color));
  height: var(--icon-height, 1em);
  width: var(--icon-width, auto);
  margin: 0 var(--icon-space-right, 0) 0 var(--icon-space-left, 0);
  transition: all var(--MOTION-TRANS-FAST);
  opacity: var(--icon-opacity);
}

.sp-icon-button {
  outline: solid var(--icon-button-outline-color, transparent);
}
.sp-icon-button:focus:not(:hover) {
  --icon-button-outline-color: var(--icon-button-outline-color-focus, var(--COLOR-ZERO));
}

.sp-icon-checkup {
  animation: var(--icon-link-checkup-ani);
}

.sp-icon-compass {
  --motion-trans: .4s ease-out;
  transform: rotate(var(--icon-rotate, 0deg));
}

.sp-icon-contact {
  animation: var(--icon-link-contact-ani);
}

.sp-icon-download {
  animation: var(--download-icon-ani);
}

.sp-icon-email {
  --ani-fade-horz: 1.25em;
  --ani-fade-vert: 0;
  animation: var(--link-ani-email);
}

.sp-icon-facebook {
  --social-color: #3c5a9a;
}

.sp-icon-instagram {
  --social-color: #231f20;
}

.sp-icon-linkedin {
  --social-color: #0074b3;
}

.sp-icon-pinterest {
  --social-color: #bb071c;
}

.sp-icon-twitter {
  --social-color: #1ca0f2;
}

.sp-icon-xing {
  --social-color: #00686b;
}

.sp-icon-youtube {
  --social-color: red;
}

.sp-icon-txt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.sp-img {
  display: block;
}

.sp-input {
  outline: var(--input-outline-style, var(--LINE-STYLE)) var(--input-outline-color, transparent) var(--input-outline-width, var(--LINE_WIDTH_MED));
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-input:focus {
  outline-color: var(--input-outline-color-focus, var(--COLOR-FOCUS));
}

.sp-mark {
  color: var(--mark-content-color);
  background: var(--mark-bg);
  outline: var(--mark-outline);
  display: var(--mark-display);
}
.sp-mark::selection {
  color: var(--mark-selection-color, var(--selection-color));
  background-color: var(--mark-selection-bg, var(--selection-bg));
}

.sp-post-title-txt {
  font-weight: var(--title-font-weight);
}

.sp-post-moderation-titles,
.sp-post-urheber-titles {
  --deli-last-margin-left: .75ch;
  --deli-margin-left: 0;
  font-size: var(--post-urheber-titles-font-size, var(--TYPO-MARGINALIE-FONT-SIZE));
  font-style: var(--post-urheber-titles-font-style, italic);
  line-height: var(--post-urheber-titles-line-height, 2);
  display: flex;
  flex-wrap: wrap;
}

.sp-small {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
}

.sp-spinner {
  --dur: infinite;
  background: rgba(255, 255, 255, 0.75);
  animation: sp-spinner 0.9s linear var(--dur);
}

.sp-spinner-fade-out {
  --dur: 10;
  opacity: 0;
}

.sp-subtitle {
  color: var(--subtitle-color);
  font-size: var(--subtitle-font-size, var(--font-size));
  font-style: var(--subtitle-font-style, var(--font-style));
  font-weight: var(--subtitle-font-weight, var(--font-weight));
  line-height: var(--subtitle-line-height, var(--line-height));
}

.sp-title {
  color: var(--compo-title-content-color-master, var(--title-content-color, var(--content-color)));
  background: var(--compo-bg-master, var(--title-bg, var(--compo-bg)));
  font-family: var(--title-font-family, var(--font-family));
  font-size: var(--title-font-size, var(--font-size));
  font-style: var(--title-font-style, var(--font-style));
  font-weight: var(--title-font-weight, var(--font-weight));
  letter-spacing: var(--title-letter-spacing, var(--letter-spacing));
  line-height: var(--title-line-height, var(--line-height));
  text-transform: var(--title-text-transform, var(--text-transform));
}

.sp-title-main {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.sp-title-major {
  color: var(--compo-title-content-color-master, var(--major-title-content-color, var(--compo-content-color)));
  background: var(--compo-bg-master, var(--major-title-bg, var(--compo-bg)));
  font-family: var(--major-title-font-family, var(--font-family));
  font-size: var(--major-title-font-size, var(--font-size));
  font-style: var(--major-title-font-style, var(--font-style));
  font-weight: var(--major-title-font-weight, var(--font-weight));
  letter-spacing: var(--major-title-letter-spacing, var(--letter-spacing));
  line-height: var(--major-title-line-height, var(--line-height));
  text-transform: var(--major-title-text-transform, var(--text-transform));
}

.sp-titles {
  --img-height: var(--titles-img-height, 6em);
  --img-width: var(--titles-img-height);
}

.sp-titles-item-wrapper {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--titles-items-gap);
}

.sp-titles-item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--titles-item-gap, 0.25ch);
}
.sp-titles-item[data-sp-surro] {
  gap: calc(var(--titles-item-gap,1em) * .5);
}

.sp-titles-img {
  border-radius: var(--titles-img-border-radius, 0.5em);
  order: -1;
}

.sp-titles-surro {
  --icon-height: var(--titles-surro-height, var(--img-height, 1em));
  --icon-stroke-width: .3em;
  --icon-width: var(--titles-surro-width, var(--img-width, auto));
}

.sp-verlag-img {
  background: #fefefe;
  outline: 1ch solid #fefefe;
}

.sp-zusatz {
  margin-left: var(--zusatz-space-left, 0.25ch);
}

/*------------------------------------------------------------------------------
  %%SORT-FORM
------------------------------------------------------------------------------*/
.sp-sort {
  --bg: var(--compo-bg);
  --content-color: var(--compo-content-color);
  --cta-padding: .75em;
  background: var(--bg);
  color: var(--content-color);
  padding: var(--sp);
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

@media (max-width: 45em) {
  .sp-sort {
    font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
    padding-top: 2em;
    padding-bottom: 3em;
  }
}
* + .sp-sort {
  margin-top: calc(4 * var(--spr));
}

.sp-sort-select-wrapper {
  --select-padding-top: 1em;
  z-index: 1;
}

.sp-sort-select-query {
  cursor: pointer;
  background: var(--select-bg-master, var(--select-bg, transparent));
  font-size: var(--select-font-size, var(--TYPO-MARGINALIE-FONT-SIZE));
  font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  font-weight: 300;
  line-height: 1.3;
  height: 100%;
  width: 100%;
  min-width: 17ch;
  padding: var(--select-padding-top) 1.25em 1.5em 0.75em;
  margin-right: calc(1.5 * var(--sp));
  border-color: var(--color-tert);
  border: none;
  outline: var(--select-outline-width, var(--LINE-WIDTH-MED)) var(--select-outline-style, var(--LINE-STYLE)) var(--select-outline-color, transparent);
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-sort-select-query:focus {
  --select-outline-color: var(--select-outline-color-focus);
}
.sp-sort-select-query:hover, .sp-sort-select-query:active {
  --select-bg-master: var(--select-bg-hover, var(--select-bg));
  --select-outline-color: var(--select-outline-color-hover);
}

.sp-sort-option {
  font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
}

.sp-sort-select-icon {
  display: none;
}

.sp-sort-btn {
  text-decoration: var(--cta-text-deco-color) var(--cta-text-deco-style, underline) var(--cta-text-deco-width, 0.125em);
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none) {
  .sp-sort-select-wrapper {
    position: relative;
  }

  .sp-sort-select-query {
    background-image: url("data/img/sp-icon-select.svg");
    background-repeat: no-repeat;
    background-position: calc(100% - var(--icon-width,.7em)) calc(var(--select-padding-top) + var(--select-icon-shift,.55em));
    line-height: 1.3;
    -webkit-appearance: none;
  }

  .sp-sort-option {
    padding-right: var(--icon-width, 1em);
  }

  .sp-sort-select-icon {
    display: inline;
    position: absolute;
    top: var(--select-padding-top);
    right: calc(.5em + var(--icon-width,1em));
  }
}
/*ENDE:sort-form------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
  %%WP-%%BLOCK-%%STYLES
------------------------------------------------------------------------------*/
.is-style-sp-column-01 {
  --compo-max-width: none;
}
.is-style-sp-column-01 .wp-block-group__inner-container {
  display: flex;
  flex-flow: column;
  gap: 2em;
}

@media (min-width: 64em) {
  .is-style-sp-column-01 .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: 30% 1fr;
    gap: 3em;
  }
  .is-style-sp-column-01 .sp-block-cta-wrapper ~ * {
    order: -1;
  }
  .is-style-sp-column-01 .sp-block-cta {
    max-width: none;
  }
}
.is-style-sp-column-02 {
  --compo-max-width: none;
}
.is-style-sp-column-02 .wp-block-group__inner-container {
  --insert-padding-h: 2em;
  display: flex;
  flex-flow: column;
}
.is-style-sp-column-02 .wp-block-group__inner-container > .sp-insert {
  --compo-title-font-size: 2rem;
}
.is-style-sp-column-02 .wp-block-group__inner-container > .sp-insert:nth-of-type(odd) {
  --compo-bg: var(--COLOR-GRAU-DARK);
  --compo-content-color-master: #fefefe;
}
.is-style-sp-column-02 .wp-block-group__inner-container > .sp-insert:nth-of-type(even) {
  --compo-bg: var(--COLOR-AKZENT-HELL);
  --compo-content-color-master: #333333;
  clip-path: polygon(0 var(--clipspace), 100% 0%, 100% 100%, 0 100%);
}
.is-style-sp-column-02 .wp-block-group__inner-container .sp-insert-subwrapper-is-child {
  --compo-title-font-size: 1.1rem;
  --insert-label-font-size: 1rem;
}
.is-style-sp-column-02 .wp-block-group__inner-container .sp-list {
  max-width: 24rem;
}

@media (min-width: 64em) {
  .is-style-sp-column-02 {
    gap: 2em;
  }
  .is-style-sp-column-02 .wp-block-group__inner-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3em;
  }
  .is-style-sp-column-02 .wp-block-group__inner-container > .sp-insert:nth-of-type(even) {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - var(--clipspace)));
  }
  .is-style-sp-column-02 .sp-block-cta-wrapper ~ * {
    order: -1;
  }
  .is-style-sp-column-02 .sp-block-cta {
    max-width: none;
  }
}
.is-style-sp-column-03 .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}

@media (min-width: 64em) {
  * + .is-style-sp-column-03 {
    --insert-content-space: 2em;
  }
}
.is-style-sp-column-04 {
  --vspace-factor: 5;
}
.is-style-sp-column-04 .wp-block-group__inner-container {
  display: grid;
  gap: 4em;
}

@media (min-width: 45em) {
  .is-style-sp-column-04 {
    --compo-max-width: 100%;
  }
  .is-style-sp-column-04 .wp-block-group__inner-container {
    display: flex;
    gap: MAX(2em, 10%);
  }

  * + .is-style-sp-column-04 {
    --insert-content-space: 2em;
  }
}
.is-style-sp-content-image-group {
  --grid-max: MIN(100%, 20rem);
  --grid-min: 1rem;
  --image-space-bottom: 0;
}
.is-style-sp-content-image-group .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 20rem), var(--grid-max, 1fr)));
  gap: 2em;
}
.is-style-sp-content-image-group .sp-compo-image-figure {
  flex: 1;
}
.is-style-sp-content-image-group img {
  aspect-ratio: 3/1;
  object-position: left;
}

.is-style-sp-footnotes {
  color: var(--COLOR-SEC);
  max-width: var(--typo-line-max, var(--TYPO-LINE-MAX));
  width: 100%;
}
.is-style-sp-footnotes h2, .is-style-sp-footnotes h3, .is-style-sp-footnotes h4 {
  margin-bottom: 1em;
  opacity: .8;
}
.is-style-sp-footnotes p {
  font-size: var(--typo-marginalie-font-size);
  margin-bottom: var(--space-abs);
  display: flex;
}
.is-style-sp-footnotes p a {
  line-height: 1;
}
.is-style-sp-footnotes p a:first-of-type {
  margin-right: var(--space-abs);
  min-width: 2em;
  align-self: flex-start;
}

* + .is-style-sp-footnotes {
  padding-top: 3em;
  border-top: var(--LINE-STYLE) 0.25em var(--COLOR-GRAU-MED);
  margin-top: calc( 3 * var(--space-abs) );
}

.is-style-sp-headline-style-akzent {
  color: var(--COLOR-SEC);
}

.is-style-sp-headline-section-title {
  --headline-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --headline-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  margin-bottom: 2em;
}

* + .is-style-sp-headline-section-title {
  margin-top: calc( 2 * var(--space-abs,1rem) );
}

.is-style-sp-headline-style-extra-dezent {
  font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  text-transform: var(--TYPO-HEADLINE-TEXT-TRANSFORM);
}

* + .is-style-sp-headline-style-extra-dezent {
  margin-top: calc( 1.5 * var(--space-abs,1rem) );
}

.is-style-sp-img-upright img {
  width: auto;
}

.is-style-sp-image-hero,
.sp-compo-image-style-hero {
  --img-width: 100%;
  --img-max-width: none;
  padding: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 3em;
}

.is-style-sp-content-biblio .wp-block-group__inner-container {
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  display: grid;
  gap: 1em;
}

* + .is-style-sp-content-biblio,
* + .is-style-sp-content-info,
* + .is-style-sp-content-info-02 {
  margin-top: calc( 2 * var(--space-abs,2em) );
}

.is-style-sp-content-cta-wrapper .wp-block-group__inner-container {
  margin-top: 3em;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.is-style-sp-content-cta-wrapper .wp-block-group__inner-container .sp-compo-cta-wrapper + .sp-compo-cta-wrapper {
  margin-top: 0;
  margin-left: 0;
}

.is-style-sp-content-info {
  background: var(--COLOR-TERT);
}
.is-style-sp-content-info .wp-block-group__inner-container {
  background: var(--COLOR-GRAU-HELL);
  padding: 3em 3em 5em;
  display: grid;
  gap: var(--space-abs, 1em);
}
.is-style-sp-content-info + * {
  --space-abs: 3em;
}

.is-style-sp-content-info-02 .wp-block-group__inner-container {
  --post-content-padding-right: 4em;
  color: #fefefe;
  background: var(--COLOR-PRIM);
  padding: 2em var(--post-content-padding-right) 3em;
  position: relative;
}
.is-style-sp-content-info-02 .wp-block-group__inner-container::before {
  content: '';
  background: var(--COLOR-AKZENT-HELL);
  height: 100%;
  width: calc(1em + 2%);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}
.is-style-sp-content-info-02 .wp-block-group__inner-container > * + * {
  margin-top: var(--space-abs, 1rem);
}

.is-style-sp-content-link {
  margin-bottom: 6em;
}
.is-style-sp-content-link .wp-block-group__inner-container {
  --cta-bg: var(--COLOR-SEC);
  --cta-content-color: #fefefe;
  --cta-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --link-outline-color-focus: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--gap, 1em);
}
.is-style-sp-content-link .wp-block-group__inner-container > * {
  margin-bottom: 0;
}
.is-style-sp-content-link .wp-block-group__inner-container > p {
  min-width: 25%;
  flex: 1;
}
.is-style-sp-content-link .wp-block-group__inner-container > p .sp-cta {
  margin-bottom: 2.5em;
}
.is-style-sp-content-link .wp-block-group__inner-container > p .sp-cta:hover {
  --cta-bg: var(--COLOR-HIGHLIGHT);
}
.is-style-sp-content-link .wp-block-group__inner-container > .sp-compo-cta-wrapper {
  width: 100%;
  flex: 1;
}
.is-style-sp-content-link .wp-block-group__inner-container > .sp-compo-cta-wrapper .sp-compo-cta {
  min-width: 14rem;
}

.is-style-sp-style_list-01 {
  --box-sizing: border-box;
  --compo-max-width: 90%;
  --list-item-margin: 0 4ch 0 0;
  background: var(--list-bg);
  padding: var(--list-padding, calc(1em + 2ex) 0 calc(2em + 2ex));
  border-radius: 0 var(--SITE-RADIUS) var(--SITE-RADIUS) 0;
}
.is-style-sp-style_list-01 > li {
  display: flex;
  align-items: baseline;
  margin-left: 0;
}
.is-style-sp-style_list-01 > li::before {
  content: '';
  background: var(--COLOR-AKZENT);
  height: 1ch;
  width: 1ch;
  min-width: 1ch;
  margin-right: 1ch;
  border-radius: 1em;
  display: inline-block;
}
.is-style-sp-style_list-01 + :where(h2,h3,h4,p) {
  --vspace-factor: 2;
}

.sp-compo-webpage-post-content :where(h2,h3,h4) + .is-style-sp-style_list-01 {
  --vspace-factor: 0;
  margin-top: -1rem;
}

@media (min-width: 56em) {
  .is-style-sp-style_video-01 {
    --video-max-width: 56em;
  }
}
@media (max-width: 45em) {
  .is-style-sp-content-link .wp-block-group__inner-container {
    flex-flow: column;
  }
  .is-style-sp-content-link .sp-compo-posts {
    width: 100%;
  }
  .is-style-sp-content-link .sp-compo-post-card {
    --compo-post-card-max-width: none;
  }
}
/*------------------------------------------------------------------------------
  %%WP-ELEMENTE
------------------------------------------------------------------------------*/
.wp-block-audio audio {
  width: var(--audio-width, 100%);
}

.wp-block-gallery figure {
  flex-wrap: wrap;
}
.wp-block-gallery img {
  flex-basis: 100% !important;
}
.wp-block-gallery .sp-error {
  position: absolute;
  bottom: 0;
  z-index: 1;
}

.wp-block-group {
  --compo-padding-h: 0;
}

.wp-block-group__inner-container {
  width: var(--wp-group-inner-width, 100%);
}

.wp-block-media-text > * {
  align-self: flex-start;
}

.wp-block-video {
  --vspace: 3em;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
}
.wp-block-video figcaption {
  color: var(--video-caption-color);
  max-width: var(--video-max-width, 100%);
  margin-top: var(--video-caption-space-top, 1em);
  flex: 100%;
}
.wp-block-video video {
  max-width: var(--video-max-width, 100%);
  flex: 100%;
}

@media (max-width: 45em) {
  .wp-block-video {
    font-size: var(--TYPO-FONT-SIZE-MIN);
    line-height: var(--TYPO-LINE-HEIGHT-MIN);
  }
}
/*ENDE:wp-elemente------------------------------------------------------------------------------*/
a {
  transition: all var(--MOTION-TRANS-FAST), --link-text-deco-width var(--MOTION-TRANS-FAST), --link-text-deco-width-master var(--MOTION-TRANS-FAST);
}

a,
.sp-link {
  --_link-text-deco-width-hover: 0.25em;
  --link-icon-trans: var(--LINK-TRANS);
  --link-txt-trans: var(--LINK-TRANS);
  color: var(--link-content-color-master, var(--link-content-color));
  background: var(--link-bg-master, var(--link-bg));
  text-decoration: var(--link-text-deco-type, underline) var(--link-text-deco-color-master, var(--link-text-deco-color, transparent)) var(--link-text-deco-style, var(--LINE-STYLE));
  text-decoration-thickness: var(--link-text-deco-width-master, var(--link-text-deco-width, 0.125em));
  text-underline-offset: var(--link-text-deco-offset-master, var(--link-text-deco-offset, 0.25em));
  border: var(--link-border-width, 0) var(--link-border-color-master, var(--link-border-color, transparent)) var(--link-border-style, var(--LINE-STYLE));
  outline: var(--link-outline-width, var(--LINE-WIDTH-MED)) var(--link-outline-color-master, var(--link-outline-color, transparent)) var(--link-outline-style, var(--LINE-STYLE));
  outline-offset: var(--link-outline-offset-master, var(--link-outline-offset, 0.4em));
}
a:focus,
.sp-link:focus {
  --link-bg-master: var(--link-bg-focus-master, var(--link-bg-focus, var(--link-bg)));
  --link-border-color-master: var(--link-border-color-focus-master, var(--link-border-color-focus, var(--COLOR-FOCUS)));
  --link-content-color-master: var(--link-content-color-focus-master, var(--link-content-color-focus));
  --link-outline-color-master: var(--link-outline-color-focus-master, var(--link-outline-color-focus, var(--COLOR-FOCUS)));
  --link-text-deco-color-master: var(--link-text-deco-color-focus-master, var(--link-text-deco-color-focus, transparent));
}
a:focus:hover, a:focus:active,
.sp-link:focus:hover,
.sp-link:focus:active {
  --link-border-color-master: var(--link-outline-color-focus, var(--COLOR-FOCUS));
  --link-outline-color-master: var(--link-outline-color-focus, var(--COLOR-FOCUS));
}
a:focus, a:hover, a:active,
.sp-link:focus,
.sp-link:hover,
.sp-link:active {
  --icon-link-ext-ani: sp-ani-img 1s infinite;
}
a:focus .sp-icon-rss, a:hover .sp-icon-rss, a:active .sp-icon-rss,
.sp-link:focus .sp-icon-rss,
.sp-link:hover .sp-icon-rss,
.sp-link:active .sp-icon-rss {
  animation: sp-fade-out 1.4s infinite;
}
a:hover, a:active,
.sp-link:hover,
.sp-link:active {
  --link-bg: var(--link-bg-hover-master, var(--link-bg-hover, transparent));
  --link-border-color-master: var(--link-border-color-hover-master, var(--link-border-color-hover));
  --link-content-color-master: var(--link-content-color-hover-master, var(--link-content-color-hover));
  --link-outline-color-master: var(--link-outline-color-hover-master, var(--link-outline-color-hover));
  --link-text-deco-color-master: var(--link-text-deco-color-hover-master, var(--link-text-deco-color-hover, currentColor));
  --link-text-deco-width-master: var(--link-text-deco-width-hover, var(--_link-text-deco-width-hover));
}
a:hover .sp-link-txt, a:active .sp-link-txt,
.sp-link:hover .sp-link-txt,
.sp-link:active .sp-link-txt {
  --link-text-deco-color-master: var(--link-text-deco-color-hover-master, var(--link-text-deco-color-hover, currentColor));
  --link-text-deco-width-master: var(--link-text-deco-width-hover, var(--_link-text-deco-width-hover));
}

.sp-link-icon {
  --icon-color: var(--link-content-color-master, var(--link-icon-color, currentColor));
  --link-icon-trans: var(--MOTION-TRANS-FAST);
}

.sp-link-txt {
  --_link-text-deco-width-hover: 0.25em;
  color: var(--link-content-color-master, var(--link-txt-content-color));
  background: var(--link-bg-master, var(--link-txt-bg));
  text-decoration: var(--link-text-deco-type, underline) var(--link-text-deco-color-master, var(--link-text-deco-color, transparent)) var(--link-text-deco-style, var(--LINE-STYLE));
  text-decoration-thickness: var(--link-text-deco-width-master, var(--link-text-deco-width, 0.125em));
  text-underline-offset: var(--link-text-deco-offset-master, var(--link-text-deco-offset, 0.25em));
  transition: all var(--link-txt-trans, var(--MOTION-TRANS-FAST)), --link-text-deco-width var(--MOTION-TRANS-FAST), --link-text-deco-width-master var(--MOTION-TRANS-FAST);
  display: inline-block;
}

.sp-link-has-icon:hover, .sp-link-has-icon:active {
  --link-ani-email: sp-element-fade infinite 1s;
}

.sp-link-has-icon:hover,
.sp-link-has-icon-txt:hover {
  --link-icon-color: var(--link-icon-color-hover, currentColor);
}
.sp-link-has-icon:hover .sp-compo-icon,
.sp-link-has-icon-txt:hover .sp-compo-icon {
  --compo-icon-color: var(--compo-icon-color-hover, currentColor);
}
.sp-link-has-icon:hover .sp-compo-icon-sub,
.sp-link-has-icon-txt:hover .sp-compo-icon-sub {
  --compo-icon-sub-color: var(--compo-icon-sub-color-hover, currentColor);
}
.sp-link-has-icon .sp-icon,
.sp-link-has-icon-txt .sp-icon {
  transition: all var(--link-icon-trans, var(--link-trans));
}

.sp-link-has-icon-txt {
  display: inline-flex;
  align-items: center;
  gap: .5ch;
}

.sp-link-has-icon:focus {
  --link-icon-bg-master: var(--link-icon-bg-focus-master, var(--link-icon-bg-focus));
  --link-icon-color-master: var(--link-icon-color-focus-master, var(--link-icon-content-color-focus));
}
.sp-link-has-icon:hover, .sp-link-has-icon:active {
  --link-icon-bg-master: var(--link-icon-bg-hover-master, var(--link-icon-bg-hover));
  --link-icon-color-master: var(--link-icon-color-hover-master, var(--link-icon-color-hover));
}

.sp-icon + .sp-link-txt {
  margin-left: var(--icon-space-right, 1ch);
}

.sp-link-has-txt-icon .sp-icon {
  align-self: center;
}

.sp-link-ext-arrow,
.sp-link .sp-link-ext-arrow-link-icon {
  --ani-opacity-start: 1;
  --ani-opacity-end: 0;
  --ani-transform-start: translate(0, 0);
  --ani-transform-end: translate(1em, -1em);
  animation: var(--icon-link-ext-ani);
  transition: all var(--MOTION-TRANS-FAST);
}

.sp-cta {
  --_cta-border-radius: .25em;
  --_cta-max-width: 24rem;
  --_cta-min-width: 8rem;
  --_cta-padding: .95em 2em 1em;
  --_cta-text-align: center;
  --bg: var(--compo-bg-master, var(--cta-bg));
  --icon-color: currentColor;
  --link-content-color: currentColor;
  --link-bg: var(--bg);
  --link-icon-color: var(--cta-icon-color, currentColor);
  color: var(--compo-content-color-master, var(--cta-content-color, var(--content-color, #fefefe)));
  background: var(--bg);
  font-size: var(--cta-font-size, var(--font-size));
  font-style: var(--cta-font-style, var(--font-style));
  font-weight: var(--cta-font-weight, var(--font-weight));
  line-height: var(--cta-line-height, var(--line-height, var(--TYPO-LINE-HEIGHT-MIN)));
  text-align: var(--cta-text-align, var(--_cta-text-align));
  text-transform: var(--cta-text-transform, var(--text-transform));
  overflow-wrap: anywhere;
  cursor: pointer;
  max-width: var(--cta-max-width, var(--_cta-max-width));
  min-width: var(--cta-min-width, var(--_cta-min-width));
  width: var(--cta-width);
  padding: var(--cta-padding, var(--_cta-padding));
  border: var(--cta-border-width, var(--border-width, 0)) var(--cta-border-style, var(--border-style, solid)) var(--cta-border-color, var(--border-color, transparent));
  border-radius: var(--cta-border-radius, var(--_cta-border-radius));
  outline: var(--cta-outline-width, var(--outline-width, 0.125em)) var(--cta-outline-style, var(--outline-style, solid)) var(--cta-outline-color, var(--outline-color, transparent));
  outline-offset: var(--outline-offset-master, var(--cta-outline-offset, 0.4em));
  margin-right: var(--cta-margin-right);
  margin-left: var(--cta-margin-left);
  transition: all var(--MOTION-TRANS-FAST);
  display: var(--cta-display, inline-flex);
  gap: var(--cta-gap, 0.75ch);
  justify-content: var(--cta-justify-content, center);
  align-items: var(--cta-align-items, center);
  align-self: var(--cta-align-self, flex-end);
}
.sp-cta[class*='-has-icon']:focus {
  --icon-bg: var(--link-icon-bg-focus-master, var(--cta-icon-bg-focus));
  --icon-color: var(--link-icon-color-focus-master, var(--cta-icon-color-focus, currentColor));
  --link-icon-bg: var(--icon-color);
  --link-icon-color: var(--icon-color);
}
.sp-cta[class*='-has-icon']:hover, .sp-cta[class*='-has-icon']:active {
  --icon-bg: var(--link-icon-bg-hover-master, var(--cta-icon-bg-hover, transparent));
  --icon-color: var(--link-icon-color-hover-master, var(--cta-icon-color-hover, currentColor));
  --link-icon-bg: var(--icon-bg);
  --link-icon-color: var(--icon-color);
}
.sp-cta:focus {
  --bg: var(--cta-bg-focus, var(--cta-bg));
  --cta-border-color: var(--cta-border-color-focus, var(--COLOR-FOCUS));
  --cta-outline-color: var(--cta-outline-color-focus, var(--COLOR-FOCUS));
  --cta-text-deco-color: var(--cta-text-deco-color-focus);
  --content-color: var(--cta-content-color-focus);
  --link-bg-master: var(--linkg-bg-focus-master, var(--bg));
  --link-border-color-master: var(--link-border-color-focus-master, var(--cta-border-color));
  --link-content-color-master: var(--link-content-color-focus-master, var(--currentColor));
  --link-text-deco-color-master: var(--link-text-deco-color-focus-master, var(--cta-text-deco-color));
  --link-outline-color-master: var(--link-outline-color-focus-master, var(--cta-outline-color));
}
.sp-cta:focus:hover, .sp-cta:focus:active {
  --cta-outline-color: var(--cta-outline-color-focus, var(--COLOR-FOCUS));
  --cta-outline-offset: 0.0625em;
  --link-border-color-master: var(--link-outline-color-focus-master, var(--cta-outline-color));
  --link-outline-color-master: var(--link-outline-color-focus-master, var(--cta-outline-color));
}
.sp-cta:hover, .sp-cta:active {
  --bg: var(--cta-bg-hover);
  --cta-border-color: var(--cta-border-color-hover);
  --cta-outline-color: var(--cta-outline-color-hover);
  --cta-text-deco-color: var(--cta-text-deco-color-hover, currentColor);
  --content-color: var(--cta-content-color-hover);
  --link-bg: var(--link-bg-hover-master, var(--bg));
  --link-border-color-master: var(--link-border-color-hover-master, var(--cta-border-color-hover));
  --link-content-color-master: var(--link-content-color-hover-master, var(--content-color));
  --link-outline-color-master: var(--link-outline-color-hover-master, var(--cta-outline-color));
  --link-text-deco-color-master: var(--link-text-deco-color-hover-master, var(--cta-text-deco-color));
  --link-text-deco-width-master: var(--link-text-deco-width-hover, 0.0625em);
}

.sp-cta-txt {
  text-decoration: var(--cta-text-deco-color, transparent) var(--cta-text-deco-width, 0.0625em) var(--cta-text-deco-style, underline);
  text-underline-offset: var(--cta-text-deco-offset, 0.5ex);
  transition: all var(--MOTION-TRANS-FAST);
  display: inline-block;
}

.sp-cta-txt-prepend {
  overflow-wrap: initial;
  margin-right: var(--icon-space-right, 0.5ch);
}

/*
	=> komponenten (bspw. tag-row, button etc.), bestehend aus einem oder mehreren elementen (bspw. headline, content, tax)
*/
/*------------------------------------------------------------------------------
  COMPO-GENS
------------------------------------------------------------------------------*/
.sp-compo {
  --bg: var(--compo-bg-master, var(--compo-bg));
  --content-color: var(--compo-content-color-master, var(--compo-content-color));
  background: var(--bg);
  color: var(--content-color);
}

.sp-compo-slot {
  --_vspace: var(--vspace, calc(1rem + 1ex));
}

.sp-compo-slot-aside {
  grid-area: aside;
}

.sp-compo-slot-content {
  grid-area: content;
}

.sp-compo-slot-footer {
  grid-area: footer;
}

.sp-compo-slot-header {
  grid-area: header;
  gap: var(--compo-header-gap);
}

.sp-compo-title {
  color: var(--compo-content-color-master, var(--compo-title-content-color, var(--content-color)));
  background: var(--compo-bg-master, var(--compo-title-bg));
  font-family: var(--compo-title-font-family, var(--font-family));
  font-size: var(--compo-title-font-size, var(--font-size));
  font-style: var(--compo-title-font-style, var(--font-style));
  font-weight: var(--compo-title-font-weight, var(--font-weight));
  letter-spacing: var(--compo-title-letter-spacing, var(--letter-spacing));
  line-height: var(--compo-title-line-height, var(--line-height, 1.2));
  text-transform: var(--compo-title-text-transform, var(--text-transform));
  margin-bottom: var(--compo-title-space-bottom);
}

.sp-compo-title-txt {
  max-width: var(--compo-title-line-max, var(--TYPO-LINE-MAX));
  display: inline-block;
}

.sp-compo-content {
  color: var(--compo-content-color-master, var(--compo-content-content-color, var(--content-color)));
  background: var(--compo-content-bg-master, var(--compo-content-bg, var(--bg)));
  font-size: var(--compo-content-font-size, var(--font-size));
  font-style: var(--compo-content-font-style, var(--font-style));
  font-weight: var(--compo-content-font-weight, var(--font-weight));
  line-height: var(--compo-content-line-height, var(--line-height));
}

.sp-compo-excerpt {
  color: var(--compo-excerpt-content-color, var(--content-color));
  background: var(--compo-bg-master, var(--compo-excerpt-bg, var(--bg)));
  font-size: var(--compo-excerpt-font-size, var(--font-size));
  font-style: var(--compo-excerpt-font-style, var(--font-style));
  font-weight: var(--compo-excerpt-font-weight, var(--font-weight));
  line-height: var(--compo-excerpt-line-height, var(--line-height));
}

.sp-compo-icon {
  --icon-bg: var(--compo-bg-master, var(--compo-icon-bg, var(--bg)));
  --icon-color: var(--compo-content-color-master, var(--compo-icon-color, var(--content-color)));
  height: var(--compo-icon-height, var(--icon-height));
  width: var(--compo-icon-width, var(--icon-width));
  align-self: var(--compo-icon-align-self, var(--icon-align-self));
  order: var(--compo-icon-order, var(--icon-order));
}

.sp-compo-icon-sub {
  --icon-bg: var(--compo-bg-master, var(--compo-icon-sub-bg, var(--bg)));
  --icon-color: var(--compo-content-color-master, var(--compo-icon-sub-color, var(--content-color)));
  height: var(--compo-icon-sub-height, var(--icon-sub-height, 1em));
  width: var(--compo-icon-sub-width, var(--icon-sub-width, auto));
  align-self: var(--compo-icon-sub-align-self, var(--icon-sub-align-self));
  order: var(--compo-icon-sub-order, var(--icon-sub-order));
}

.sp-compo-slot-img {
  grid-area: img;
}

/*ENDE:compo-gens------------------------------------------------------------------------------*/
.sp-compo-social-item {
  --compo-icon-color: var(--social-color);
  --compo-icon-sub-color: var(--social-color);
  --link-icon-color: var(--social-color);
}

.sp-scheme-facebook {
  --social-color: #3c5a9a;
}

.sp-scheme-instagram {
  --social-color: #231f20;
}

.sp-scheme-linkedin {
  --social-color: #0074b3;
}

.sp-scheme-pinterest {
  --social-color: #bb071c;
}

.sp-scheme-twitter {
  --social-color: #1ca0f2;
}

.sp-scheme-xing {
  --social-color: #00686b;
}

.sp-scheme-youtube {
  --social-color: red;
}

/*------------------------------------------------------------------------------
  COMPO ADDRESS
------------------------------------------------------------------------------*/
.sp-address {
  --icon-space-right: 1ch;
  --link-text-deco-width: 0.125em;
  color: var(--compo-content-color);
  max-width: max-content;
  display: flex;
  flex-flow: column;
  gap: 1ex;
  position: relative;
}

.sp-address-item .sp-link-has-icon-txt {
  gap: 0;
}

.sp-address-email {
  --address-item-align: center;
}
.sp-address-email .sp-icon-email {
  order: -1;
}
.sp-address-email .sp-link:hover .sp-icon, .sp-address-email .sp-link:active .sp-icon {
  --ani-fade-horz: 1.25em;
  --ani-fade-vert: 0;
  animation: sp-element-fade infinite 1s;
}

.sp-address-txt-wrap {
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: flex;
  flex-wrap: wrap;
  align-items: var(--address-item-align, baseline);
  justify-content: var(--address-item-justify);
}

.sp-address-icon-tel {
  animation: var(--tel-ani);
}

.sp-address-tel-app {
  --link-outline-offset: .5em;
}
.sp-address-tel-app:hover {
  --tel-ani: sp-icon-shaker 3 .15s;
}

.sp-address-org:first-child,
.sp-address-org-meta:first-child,
.sp-address-person:first-child {
  font-size: var(--address-promi-font-size, inherit);
  font-weight: var(--address-promi-font-weight, 500);
}

.sp-address-label {
  display: inline-flex;
}

.sp-compo-webpage-address {
  --link-text-deco-color: var(--COLOR-TERT);
  --link-text-deco-color-hover: var(--COLOR-AKZENT);
}
.sp-compo-webpage-address .sp-address-url {
  --address-item-align: center;
  --address-item-justify: space-between;
  --icon-height: 1.5em;
  --icon-space-right: 0;
  width: 100%;
}
.sp-compo-webpage-address .sp-address-txt-wrap {
  flex: 1;
}
.sp-compo-webpage-address .sp-compo-link-icon {
  order: 1;
}

/*ENDE:address------------------------------------------------------------------------------*/
@media (min-width: 64em) {
  .sp-address-style-01 {
    --address-item-align: flex-end;
    --address-promi-font-size: 110%;
    --compo-icon-sub-color: var(--COLOR-TERT);
    --compo-icon-sub-height: 2em;
    --icon-space-right: 1em;
    font-weight: inherit;
    gap: 0;
  }
  .sp-address-style-01 .sp-has-icon {
    margin-left: -3em;
  }
}
.sp-compo-webpage-address-style-site-footer {
  --link-text-deco-color-hover: var(--COLOR-AKZENT-HELL);
  gap: 0;
}

@media (max-width: 45em) {
  .sp-address-style-site-footer {
    --link-text-deco-color: var(--COLOR-MIN);
    --link-text-deco-color-hover: var(--COLOR-AKZENT-HELL);
    --link-text-deco-width: 0.125em;
  }
}
@media (min-width: 45em) {
  .sp-address-style-site-footer {
    --link-text-deco-color: transparent;
  }
}
@media (min-width: 64em) {
  .sp-address-style-site-footer {
    --link-text-deco-color: transparent;
  }
  .sp-address-style-site-footer .sp-address-item:not(.sp-has-icon) + .sp-has-icon {
    margin-top: .5ex;
  }
  .sp-address-style-site-footer .sp-address-item.sp-has-icon {
    --address-item-align: flex-end;
    --compo-icon-sub-height: 2em;
    --compo-icon-sub-color: var(--COLOR-SEC);
    --icon-stroke-width: 10;
    --link-outline-width: 0;
    --link-text-deco-color: transparent;
    font-size: 2em;
  }
  .sp-address-style-site-footer .sp-address-item.sp-has-icon .sp-address-txt-wrap {
    padding: 1ex;
    border-radius: .25em;
    border: var(--LINE-STYLE) rgba(255, 255, 255, 0.08);
  }
  .sp-address-style-site-footer .sp-address-item.sp-has-icon .sp-address-txt-wrap:active {
    border-color: var(--COLOR-AKZENT-HELL);
  }
  .sp-address-style-site-footer .sp-address-item.sp-has-icon .sp-address-txt-wrap:focus {
    border-color: var(--link-outline-color-focus);
  }
}
.sp-blockquote {
  --compo-max-width: none;
  --quote-meta-color: var(--COLOR-SEC);
  --quotes-color: var(--quote-meta-color);
  --vspace: 3em;
  background: var(--COLOR-GRAU-MIN);
  padding-top: calc(1em + 1ex);
  padding-bottom: calc(2em + 1ex);
  display: grid;
  gap: 1ex;
}
.sp-blockquote > * {
  max-width: var(--TYPO-LINE-MAX);
}
.sp-blockquote + * {
  --vspace: 4em;
}

.sp-blockquote-quote {
  position: relative;
}
.sp-blockquote-quote::before {
  content: "»";
}
.sp-blockquote-quote::after {
  content: "«";
}
.sp-blockquote-quote .sp-block + * {
  margin-top: calc(1em + 1ex);
}

.sp-blockquote-quelle {
  color: var(--quote-meta-color);
  font-size: var(--TYPO-FONT-SIZE-MIN);
}

.sp-blockquote-cite {
  color: var(--quote-cite-color);
  font-style: italic;
}

.sp-blockquote-urheber {
  color: var(--quote-urheber-color);
}

.sp-blockquote-style-01 {
  padding-top: 2em;
}
.sp-blockquote-style-01 .sp-blockquote-quote {
  font-size: 120%;
  padding-top: 2em;
}
.sp-blockquote-style-01 + .sp-blockquote-style-01 {
  --vspace: 1em;
}

@media (min-width: 64em) {
  .sp-blockquote-style-01 {
    padding-right: 3em;
  }
}
.sp-kontakt-style-site-footer {
  --icon-stroke-width: .9em;
  text-align: var(--footer-text-align);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  grid-area: address;
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--footer-justify-content);
}
.sp-kontakt-style-site-footer .sp-kontakt-title {
  flex: 100%;
}

.sp-kontakt-style-01 {
  --compo-bg: #fefefe;
  --link-text-deco-color: var(--COLOR-HELL);
  position: relative;
}
.sp-kontakt-style-01::before {
  content: '';
  opacity: .75;
  width: var(--SITE-PADDING-H);
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1.5em;
}

.sp-kontaktform-wrapper {
  --compo-bg: var(--color-bg-content, var(--COLOR-ZERO));
  background: var(--compo-bg);
  padding: 1.75em 0 5em;
  width: 100%;
  box-shadow: 0 0 0 200vmax #000000c9;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  overflow-y: scroll;
}

.sp-kontaktform {
  --btn-text-deco-color-hover: currentColor;
  --compo-icon-offset: 15rem;
  --compo-title-font-size: 2rem;
  --compo-title-font-weight: 600;
  --compo-title-line-height: 1.1;
  --compo-title-space-bottom: 1em;
  --cta-bg: var(--COLOR-PRIM);
  --cta-bg-hover: var(--COLOR-AKZENT);
  --cta-content-color: #fefefe;
  --cta-content-color-hover: var(--COLOR-ZERO);
  --cta-outline-color-focus: var(--COLOR-FOCUS);
  --cta-outline-width: .25em;
  --form-input-font-size: var(--TYPO-FONT-SIZE-MIN);
  --form-input-max-width: 22em;
  --form-placeholder-color: var(--COLOR-GRAU-DARK);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  padding-top: 2.2em;
  padding-right: var(--SITE-PADDING-H);
  padding-left: var(--SITE-PADDING-H);
  margin-bottom: 3rem;
  position: relative;
}

.sp-kontaktform-js {
  margin-bottom: 0;
}

.sp-kontaktform-btn-close {
  --compo-icon-color: var(--COLOR-GRAU-MED);
  --icon-button-outline-color-focus: var(--COLOR-FOCUS);
  font-size: 150%;
  filter: none;
  outline-width: var(--LINE-WIDTH-MED);
  position: fixed;
  top: 1em;
  right: var(--SITE-PADDING-H);
}
.sp-kontaktform-btn-close:focus {
  --compo-icon-color: var(--COLOR-AKZENT);
}

.sp-kontaktform-icon {
  --icon-color: var(--COLOR-TERT);
  --icon-height: auto;
  --icon-opacity: .1;
  --icon-width: var(--compo-icon-offset, 0);
  position: absolute;
  top: 1em;
  left: 1em;
  z-index: -1;
}

.sp-kontaktform-input-wrapper {
  background: var(--compo-bg);
}

.sp-kontaktform-item {
  display: flex;
  flex-wrap: wrap;
  gap: .75ex;
}

.sp-kontaktform-label {
  color: var(--form-label-color, var(--COLOR-SEC));
  margin-bottom: .5ex;
  flex: 100%;
}

.sp-kontaktform-input {
  background: var(--form-input-bg-color, var(--COLOR-GRAU-MIN));
  font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  font-size: var(--form-input-font-size, var(--TYPO-GRUNDSCHRIFT-FONT-SIZE));
  padding: 1em;
  width: 100%;
  max-width: var(--form-input-max-width);
  border-radius: var(--SITE-RADIUS);
  border: solid 0.125em var(--COLOR-HELL-MED);
  box-shadow: 0 0 1em 0 var(--COLOR-GRAU-HELL) inset;
  outline: 0.25em solid transparent;
  margin-bottom: 2em;
}
.sp-kontaktform-input::placeholder {
  color: var(--form-placeholder-color, var(--content-color));
  opacity: 1;
}

.sp-kontaktform-cta {
  max-width: var(--form-input-max-width);
  min-width: 12em;
  width: 100%;
  margin: 1em 0;
}

.sp-kontaktform-descr {
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  max-width: var(--form-input-max-width);
}

.sp-kontaktform-info {
  --content-color: var(--COLOR-SEC);
  --link-content-color: currentColor;
  --link-text-deco-color: currentColor;
  color: var(--content-color);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  max-width: var(--form-input-max-width);
  margin-top: 2em;
}

.sp-formfehler-wrapper {
  --content-color: var(--COLOR-ZERO);
  --color-headline: var(--content-color);
  --link-content-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  background: var(--COLOR-PRIM);
  color: var(--compo-content-color, var(--content-color));
  padding: 1em 2em 1em;
}

.sp-formfehler-list {
  margin-bottom: 2em;
}

* + .sp-formfehler-list-item {
  margin-top: 1em;
}

.sp-formfehler-error {
  font-weight: 500;
  text-decoration: underline 0.125em;
  text-underline-offset: .5ch;
}

@media (max-width: 45em) {
  .sp-kontaktform {
    --compo-icon-offset: 0;
  }

  .sp-kontaktform-subwrapper {
    position: static;
  }

  .sp-kontaktform-icon {
    --icon-opacity: .05;
    --icon-width: 75%;
    top: initial;
    bottom: 1em;
  }
}
@media (min-width: 40em) and (max-width: 64em) {
  .sp-kontaktform-icon {
    --icon-width: 30%;
    right: 4em;
    bottom: initial;
    left: initial;
    z-index: 0;
  }
}
@media (min-width: 64em) {
  .sp-kontaktform-subwrapper,
  .sp-kontaktform-title {
    padding-left: calc(3rem + var(--compo-icon-offset,0));
  }
}
/*------------------------------------------------------------------------------
  COMPO: POST-CARD
------------------------------------------------------------------------------*/
.sp-compo-posts {
  --_compo-padding-h: var(--SITE-PADDING-H);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  max-width: var(--compo-max-width);
  gap: 1em;
}
.sp-compo-posts[data-sp-block='insert'] .sp-compo-post-card {
  --excla-before-opacity-action: 0;
  --excla-after-opacity-action: 1;
  --excla-after-transform: none;
  --link-outline-color-focus: var(--COLOR-FOCUS);
}

* + .sp-compo-posts-style-personal_01 {
  margin-top: 3em;
}

.sp-compo-posts-title {
  grid-column: 1/-1;
}

.sp-compo-posts-list {
  --_posts-grid-gap: 1em;
  display: var(--posts-list-display, grid);
  grid-template-columns: var(--posts-grid-columns, repeat(auto-fill, minmax(var(--grid-min, MIN(24rem, 100%)), var(--grid-max, 1fr))));
  justify-items: var(--posts-justify-items);
  gap: var(--posts-grid-gap, var(--_posts-grid-gap));
}

.sp-compo-post-card {
  --_post-card-grid-template-areas: "header" "img" "content";
  --compo-bg: var(--post-card-bg, var(--COLOR-ZERO));
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-size: 150%;
  --compo-title-font-weight: 700;
  --compo-title-line-height: 1.2;
  --cta-bg: var(--COLOR-PRIM);
  --cta-content-color: #fefefe;
  --cta-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --cta-padding: .75em 1.5em;
  --featured-image-max-width: 14em;
  --img-width: 100%;
  --link-outline-color-focus: transparent;
  background: transparent;
  height: 100%;
  width: var(--post-card-width);
  max-width: var(--post-card-max-width, 56rem);
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-compo-post-card[data-sp-post-type='video'] .sp-compo-post-card-cta {
  --icon-stroke-width: 1em;
}
.sp-compo-post-card.sp-has-no-img {
  --_post-card-grid-template-areas: "header" "content";
}
.sp-compo-post-card:hover {
  --cta-text-deco-color: currentColor;
}
.sp-compo-post-card:focus-within .sp-excla::before, .sp-compo-post-card:hover .sp-excla::before, .sp-compo-post-card:active .sp-excla::before {
  opacity: var(--excla-before-opacity-action, 1);
}
.sp-compo-post-card:focus-within .sp-excla::after, .sp-compo-post-card:hover .sp-excla::after, .sp-compo-post-card:active .sp-excla::after {
  transform: var(--excla-after-transform, translateX(var(--excla-trans-x, 0)) rotate(90deg));
  opacity: var(--excla-after-opacity-action, 0);
}
.sp-compo-post-card .sp-cta-animate:focus, .sp-compo-post-card .sp-cta-animate:focus-within, .sp-compo-post-card .sp-cta-animate:hover, .sp-compo-post-card .sp-cta-animate:active {
  --excla-before-opacity-action: 1;
  --excla-after-opacity-action: 0;
  --excla-after-transform: translateX(var(--excla-trans-x, 0)) rotate(90deg);
}
.sp-compo-post-card .sp-post-excerpt {
  max-width: 56rem;
  display: flex;
  flex-flow: column;
}
.sp-compo-post-card .sp-post-label {
  --list-display: flex;
  --list-gap: 0;
  --list-item-margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-post-card .sp-post-label .sp-compo-post-card-post-type-label,
.sp-compo-post-card .sp-post-label .sp-compo-post-card-publikationsform {
  text-transform: uppercase;
}
.sp-compo-post-card .sp-post-label .sp-post-type {
  text-transform: uppercase;
}
.sp-compo-post-card .sp-title {
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: transparent;
  overflow-wrap: anywhere;
  grid-area: title;
  position: initial;
}
.sp-compo-post-card .sp-post-title-link::after {
  --stretch-zone: calc( -1 * var(--post-card-border-width) );
  content: '';
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  z-index: 1;
}
.sp-compo-post-card .sp-subtitle {
  color: var(--post-card-subtitle-color);
  font-size: var(--post-card-subtitle-font-size, var(--TYPO-GRUNDSCHRIFT-FONT-SIZE));
  font-style: var(--post-card-subtitle-font-style);
  font-weight: var(--post-card-subtitle-font-weight, var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT));
  text-transform: none;
  flex: 100%;
}
.sp-compo-post-card * + .sp-subtitle {
  margin-top: var(--post-card-subtitle-space-top, 0.5ex);
}
.sp-compo-post-card .sp-moderation,
.sp-compo-post-card .sp-post-urheber-titles {
  --deli-margin-left: 0;
  --deli-last-margin-left: 1ch;
  font-style: var(--post-card-urheber-titles-font-style);
}
.sp-compo-post-card .sp-compo-post-card-titles-item-wrapper {
  --deli-margin-left: 0;
  --deli-margin-right: .5ch;
  gap: 0;
}
.sp-compo-post-card .sp-moderation,
.sp-compo-post-card .sp-post-urheber-titles,
.sp-compo-post-card .sp-post-label,
.sp-compo-post-card .sp-post-terms {
  --content-color: var(--post-card-meta-color, var(--COLOR-META));
  color: var(--content-color);
  font-size: var(--post-card-meta-font-size, var(--TYPO-FONT-SIZE-MIN));
  line-height: var(--post-card-meta-line-height, var(--TYPO-LINE-HEIGHT-MIN));
  order: -1;
}
.sp-compo-post-card .sp-post-urheber-titles {
  order: initial;
}
.sp-compo-post-card * + .sp-post-urheber-titles {
  margin-top: 1ex;
}
.sp-compo-post-card .sp-post-excerpt {
  max-width: var(--post-card-txt-max-width, var(--TYPO-LINE-MAX));
}
.sp-compo-post-card .sp-post-terms {
  --compo-title-font-size: 1em;
  --compo-title-font-weight: normal;
}
.sp-compo-post-card .sp-post-terms-item {
  display: inline-block;
}
.sp-compo-post-card .sp-post-img-publikation .sp-featured-image {
  box-shadow: 0.125em 0.125em 0.125em var(--COLOR-GRAU-HELL), -0.125em 0 0.125em var(--COLOR-GRAU-HELL);
}

.sp-compo-post-card-article {
  background: var(--compo-bg);
  height: 100%;
  padding: var(--post-card-padding, 1.5em 1em 2em);
  border: var(--post-card-border-width, 0) var(--post-card-border-color, var(--COLOR-GRAU-HELL)) var(--post-card-border-style, var(--LINE-STYLE));
  border-radius: var(--post-card-border-radius, var(--SITE-RADIUS));
  transition: all var(--MOTION-TRANS-FAST);
  display: var(--post-card-display, grid);
  position: relative;
  grid-template-areas: var(--post-card-grid-template-areas, var(--_post-card-grid-template-areas));
  grid-template-columns: var(--post-card-grid-template-columns);
  grid-template-rows: var(--post-card-grid-template-rows);
  gap: var(--post-card-gap, 1em);
  justify-content: var(--post-card-justify);
  justify-items: var(--post-card-justify);
}

.sp-compo-post-card-article-style-00 {
  --cta-content-color: #fefefe;
}

.sp-compo-post-card-slot-content {
  font-size: var(--post-card-content-font-size, var(--TYPO-FONT-SIZE-MIN));
  line-height: var(--post-card-content-line-height, var(--TYPO-LINE-HEIGHT-MIN));
  display: flex;
  flex-flow: column;
  gap: var(--post-card-content-gap);
}

.sp-compo-post-card-slot-img {
  max-width: var(--post-card-img-max-width, 18em);
  grid-area: img;
}

.sp-compo-post-card-meta {
  max-width: var(--post-card-meta-max-width);
  flex-flow: var(--post-card-meta-flex-flow);
}

.sp-compo-post-card-meta-title {
  font-size: var(--meta-title-font-size);
  font-weight: var(--meta-title-font-weight);
  line-height: var(--meta-title-line-height);
  text-transform: var(--meta-title-text-transform);
}

.sp-compo-post-card-slot-header {
  max-width: var(--post-card-header-max-width, 34rem);
  display: flex;
  flex-flow: column;
  align-items: var(--post-card-justify);
}

.sp-compo-post-card .sp-block-cta-wrapper,
.sp-compo-post-card-cta {
  --icon-height: 2.5em;
  --icon-opacity: .75;
  --icon-space-right: 1ch;
  margin-top: auto;
  grid-area: cta;
  justify-content: center;
  gap: 0;
}
.sp-compo-post-card .sp-block-cta-wrapper .sp-cta-txt,
.sp-compo-post-card-cta .sp-cta-txt {
  display: inline-block;
}

* + .sp-compo-post-card .sp-block-cta-wrapper,
* + .sp-compo-post-card-cta {
  margin-top: var(--post-card-cta-margin-top, 1em);
}

.sp-post-card-frontfile-append {
  flex: 100%;
}

.sp-compo-post-card-obj-meta {
  --post-card-meta-flex-flow: column;
  grid-area: obj-meta;
}

@media (max-width: 45em) {
  .sp-compo-posts {
    --post-card-max-width: 17em;
    grid-template-columns: 1fr;
  }
  .sp-compo-posts .sp-title {
    hyphens: auto;
  }

  .sp-compo-post-card {
    --img-max-width: MIN(100%, 16em);
  }
  .sp-compo-post-card[data-sp-post-type='publikation'] .sp-featured-image {
    box-shadow: 0.2em 0.2em 0.05em #e6e6e6, 0.4em 0.4em 0.25em #cccccc, 0.125em 0.125em 0.125em #e6e6e6;
  }

  .sp-compo-post-card-personal-archive {
    --post-card-max-width: 90%;
  }
}
/*ENDE:compo_post-card------------------------------------------------------------------------------*/
.sp-compo-posts-style-00 {
  --compo-item-padding-h: 1.25rem;
  --compo-padding-right: var(--SITE-PADDING-LEFT);
  --compo-padding-left: var(--SITE-PADDING-LEFT);
  --compo-title-bg: var(--COLOR-MIN);
  --compo-title-content-color: var(--COLOR-FULL);
  --compo-title-font-size: var(--TYPO-TITLE-FONT-SIZE-ITEM);
  --compo-title-font-weight: var(--TYPO-TITLE-FONT-WEIGHT-ITEM);
  --compo-title-line-height: var(--TYPO-TITLE-LINE-HEIGHT-ITEM);
  --posts-grid-columns: 1fr;
  --posts-grid-gap: 0.25em;
  --posts-list-display: grid;
  display: grid;
  gap: var(--posts-grid-gap);
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] {
  --compo-bg: var(--COLOR-MIN);
  --compo-item-padding-h: 3rem;
  --icon-right: 0;
  --posts-grid-gap: 0.125em;
  background-clip: content-box;
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] > *:first-child {
  padding-top: 3rem;
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] .sp-compo-posts-list-style-00 {
  background: var(--COLOR-DECO);
  background-clip: content-box;
  padding: 0 var(--compo-item-padding-h) 3rem;
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] .sp-compo-posts-list-style-00:first-child {
  padding-top: 2rem;
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] .sp-compo-post-card-style-00 {
  --post-card-padding: 1em 2em 1em 0;
  outline-offset: 1em;
}
.sp-compo-posts-style-00[data-sp-intent-tone='neutral'] .sp-compo-post-card-article-style-00 {
  border-radius: 0;
}
.sp-compo-posts-style-00[data-sp-intent-mood='dunkel'][data-sp-intent-tone='loud'] {
  --compo-title-bg: var(--COLOR-PRIM);
  --compo-title-content-color: var(--COLOR-PRIM-CONTRAST);
  --post-card-border-radius: 0;
  --posts-grid-gap: .1em;
}
.sp-compo-posts-style-00[data-sp-intent-mood='dunkel'][data-sp-intent-tone='loud'] > *:first-child {
  border-radius: 1em 1em 0 0;
}
.sp-compo-posts-style-00[data-sp-intent-mood='dunkel'][data-sp-intent-tone='loud'] .sp-compo-posts-list {
  background: #fefefe;
}
.sp-compo-posts-style-00[data-sp-intent-mood='dunkel'][data-sp-intent-tone='loud'] .sp-compo-post-card-style-00 {
  --compo-content-color: var(--COLOR-PRIM-CONTRAST);
  --post-card-bg: var(--COLOR-SEC);
}
.sp-compo-posts-style-00[data-sp-intent-mood='hell'] .sp-compo-post-card-article-style-00:focus-within {
  outline-color: currentColor;
}
.sp-compo-posts-style-00[data-sp-intent-mood='hell'][data-sp-intent-tone='loud'] {
  --compo-title-bg: transparent;
  --compo-title-content-color: var(--COLOR-FULL);
  --posts-grid-gap: 1em;
}
.sp-compo-posts-style-00[data-sp-intent-mood='hell'][data-sp-intent-tone='loud'] .sp-compo-post-card-style-00 {
  --compo-content-color: var(--COLOR-AKZENT-CONTRAST);
  --post-card-bg: var(--COLOR-AKZENT);
}
.sp-compo-posts-style-00[data-sp-intent-mood='hell'][data-sp-intent-tone='loud'] .sp-compo-post-card-article-style-00 {
  border-radius: var(--post-card-border-radius, 1em);
}
.sp-compo-posts-style-00[data-sp-intent-mood='hell'][data-sp-intent-tone='loud'] .sp-compo-posts-title {
  padding: 0 var(--compo-item-padding-h);
}
.sp-compo-posts-style-00 .sp-compo-posts-title {
  padding: 1em var(--compo-item-padding-h);
}

.sp-compo-post-card-style-00 {
  --compo-content-color: var(--COLOR-PRIM);
  --compo-title-font-size: var(--TYPO-HEADLIINE-FONT-SIZE-ITEM);
  --compo-title-font-wight: var(--TYPO-HEADLIINE-FONT-WEIGHT-ITEM);
  --compo-title-line-height: var(--TYPO-HEADLIINE-LINE-HEIGHT-ITEM);
  --post-card-bg: var(--COLOR-MIN);
  --post-card-display: flex;
  --post-card-gap: .5ex;
  --post-card-max-width: 100%;
  --post-card-padding: 1em 3em 1em var(--compo-item-padding-h);
}

.sp-compo-post-card-article-style-00 {
  --link-content-color-hover: initial;
  --link-text-deco-color-hover-master: currentColor;
  --link-text-deco-width-hover: 0.15625em;
  outline: 0.25em var(--LINE-STYLE) transparent;
  flex-flow: column;
}
.sp-compo-post-card-article-style-00:focus-within {
  outline-color: var(--COLOR-AKZENT-CONTRAST);
  z-index: 1;
}
.sp-compo-post-card-article-style-00:hover .sp-compo-webpage-posts-list-item-icon, .sp-compo-post-card-article-style-00:active .sp-compo-webpage-posts-list-item-icon {
  animation: sp-element-fade 1.2s infinite;
}
.sp-compo-post-card-article-style-00 .sp-compo-webpage-posts-list-item-icon {
  --ani-fade-horz: 1em;
  --ani-fade-vert: 0;
  --icon-stroke-width: 1.5rem;
  --icon-height: 1.25rem;
  position: absolute;
  right: var(--icon-right, 1rem);
}

.sp-insert .sp-compo-posts-style-card-01 {
  padding-top: var(--vspace, 1em);
}

.sp-compo-posts-style-card-01 {
  --compo-max-width: none;
  --compo-padding-left: var(--SITE-PADDING-LEFT);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-space-bottom: var(--posts-grid-gap);
  --content-max-width: var(--SITE-CONTENT-MAX);
  --cta-text-align: left;
  --grid-max: 24rem;
  --post-card-display: flex;
  --posts-grid-gap: 3rem;
  --post-card-grid-template-areas: "img" "header" "content" "footer";
  --post-card-max-width: MIN(100%, 24rem);
  --posts-list-display: flex;
  --vspace-factor-master: 8;
  background: var(--COLOR-MIN);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  padding-top: 4em;
  padding-bottom: 6em;
}
.sp-compo-posts-style-card-01[data-sp-intent-mood='dunkel'] {
  background: var(--COLOR-DECO);
}
.sp-compo-posts-style-card-01.sp-has-no-img .sp-insert-content {
  justify-content: flex-end;
}
.sp-compo-posts-style-card-01.sp-has-no-img .sp-compo-post-card-article-style-card-01 {
  padding-top: 1em;
}
.sp-compo-posts-style-card-01.sp-compo-posts-serp {
  padding-bottom: 10em;
}
.sp-compo-posts-style-card-01 .sp-post-title-txt {
  hyphens: none;
}
.sp-compo-posts-style-card-01 .sp-compo-leistungen-descr {
  font-weight: calc( var(--TYPO-TITLE-FONT-WEIGHT-ITEM) * 1.2 );
}
.sp-compo-posts-style-card-01 .sp-compo-post-card-leistungen-liste {
  display: flex;
  flex-wrap: wrap;
  gap: .5ch;
}
.sp-compo-posts-style-card-01 .sp-compo-post-card-leistungen-item {
  display: contents;
}
.sp-compo-posts-style-card-01 .sp-compo-post-card-post-meta {
  --compo-title-font-size: 1em;
  --compo-title-font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  --compo-title-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  --compo-title-text-transform: uppercase;
  color: var(--COLOR-META);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-posts-style-card-01 .sp-compo-post-card-video-meta-video {
  --icon-height: 1.25em;
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
}
.sp-compo-posts-style-card-01 .sp-compo-post-card-dauer-video {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5ch;
}
.sp-compo-posts-style-card-01[data-sp-block='insert'] {
  --cta-margin-top: auto;
}
.sp-compo-posts-style-card-01:not([data-sp-block]) {
  --compo-title-space-bottom: calc(1em + 1ex);
}
.sp-compo-posts-style-card-01 + .sp-compo-posts-style-card-01 {
  --vspace: 0;
}

.sp-compo-posts-artikel-archive {
  --compo-max-width: 64em;
}

@media (min-width: 48em) {
  .sp-compo-posts-list-style-card-01 {
    --grid-max: 32%;
    --grid-min: 0;
    --post-card-max-width: none;
    --posts-grid-gap: 2rem 1rem;
    --posts-list-display: grid;
  }
  .sp-compo-posts-list-style-card-01.sp-compo-posts-list-serp {
    --grid-max: 40%;
    --img-height: 12rem;
    --img-object-fit: cover;
  }
}
.sp-compo-posts-list-style-card-01 {
  flex-wrap: wrap;
}
.sp-compo-posts-list-style-card-01.sp-compo-posts-list-serp .sp-compo-post-card-slot-footer-style-card-01 {
  --link-text-deco-color: transparent;
  display: flex;
}

.sp-compo-post-card-style-card-01 {
  --img-max-width: 100%;
  --link-text-deco-color: var(--COLOR-META);
  --post-card-border-color: var(--COLOR-GRAU-MIN);
  --post-card-border-style: none;
  --post-card-border-width: var(--LINE-WIDTH-MIN);
  --post-card-content-gap: 1em;
  --post-card-cta-margin-top: auto;
  --post-card-gap: 1em 1.5em;
  --post-card-img-max-width: 100%;
  --post-card-padding: 0 0 2em;
  --post-card-subtitle-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --post-card-subtitle-space-top: 0;
  --post-card-urheber-titles-font-style: italic;
  --title-font-size: var(--TYPO-TITLE-FONT-SIZE-ITEM);
  --title-font-weight: var(--TYPO-TITLE-FONT-WEIGHT-ITEM);
  --title-line-height: var(--TYPO-TITLE-LINE-HEIGHT-ITEM);
  flex: 100%;
}
.sp-compo-post-card-style-card-01[data-sp-post-type='insert'] .sp-compo-post-card-slot-img-style-card-01 {
  padding: 0;
}
.sp-compo-post-card-style-card-01[data-sp-post-type='insert'] .sp-featured-image {
  border-radius: var(--img-border-radius, var(--SITE-RADIUS) var(--SITE-RADIUS) 0 0);
}
.sp-compo-post-card-style-card-01.sp-has-no-img .sp-compo-post-card-article-style-card-01 {
  padding-top: 1em;
}

@media (max-width: 45em) {
  .sp-compo-post-card-style-01.sp-compo-post-card-404 {
    --img-max-width: 100%;
    --post-card-img-max-width: 100%;
    flex: 100%;
  }
}
.sp-compo-post-card-article-style-card-01 {
  --cta-bg: transparent;
  --cta-bg-hover-master: transparent;
  --cta-border-color: transparent;
  --cta-border-width: var(--LINE-WIDTH-MIN);
  --cta-content-color: var(--COLOR-PRIM);
  --cta-content-color-neutral: var(--COLOR-PRIM);
  --cta-margin-right: auto;
  --cta-margin-top: 1em;
  --cta-max-width: 18rem;
  --cta-outline-color-hover: transparent;
  --cta-padding: 0;
  --cta-text-transform: uppercase;
  border-style: none;
  border-top-style: var(--post-card-border-style);
  box-shadow: 0 -0.0625em 0.0625em #ede8eb, 0 0.125em 0.125em #ede8eb, 0 0.25em 0.25em #ede8eb;
  outline: var(--LINE-STYLE) var(--post-card-outline-color, transparent) 0.5em;
  align-content: flex-start;
  flex-flow: column;
}
.sp-compo-post-card-article-style-card-01 > * {
  padding-right: var(--post-card-padding-items-h, 1em);
  padding-left: var(--post-card-padding-items-h, 1em);
}
.sp-compo-post-card-article-style-card-01 .sp-compo-slot-header {
  gap: 1ex;
}
.sp-compo-post-card-article-style-card-01 .sp-compo-slot-header + .sp-compo-post-card-slot-img-style-card-01 {
  margin-bottom: .25em;
}
.sp-compo-post-card-article-style-card-01 .sp-compo-post-card-cta {
  min-height: 4em;
}
.sp-compo-post-card-article-style-card-01 .sp-post-excerpt {
  gap: var(--post-card-content-gap, 0);
  flex: 1;
}
.sp-compo-post-card-article-style-card-01 .sp-compo-urheber-titles {
  order: initial;
}
.sp-compo-post-card-article-style-card-01 .sp-post-terms {
  text-transform: uppercase;
}
.sp-compo-post-card-article-style-card-01 .sp-post-terms ~ .sp-post-label {
  display: none;
}
.sp-compo-post-card-article-style-card-01 .sp-block-cta-wrapper.left {
  align-self: flex-start;
}
.sp-compo-post-card-article-style-card-01 .sp-block-cta-wrapper.center {
  align-self: center;
}
.sp-compo-post-card-article-style-card-01 .sp-block-cta-wrapper.right {
  align-self: flex-end;
}
.sp-compo-post-card-article-style-card-01 .sp-block-cta.sp-cta-has-icon:not(.sp-cta-animate) {
  padding-left: 0;
}

.sp-compo-post-card-slot-content-style-card-01 {
  display: var(--post-card-content-display, flex);
  flex-wrap: wrap;
  flex: 1;
}
.sp-compo-post-card-slot-content-style-card-01 * + .sp-compo-post-card-obj-meta {
  margin-top: 1em;
}

.sp-compo-post-card-slot-img-style-card-01 {
  --icon-color: var(--COLOR-SEC);
  --icon-height: auto;
  --icon-opacity: .4;
  --icon-width: 100%;
  --icon-stroke-width: 0.0625em;
  padding: 0;
  width: 100%;
  order: -1;
}
.sp-compo-post-card-slot-img-style-card-01 .sp-featured-image {
  border-radius: var(--post-card-img-radius, var(--SITE-RADIUS) var(--SITE-RADIUS) 0 0);
}

.sp-compo-post-card-slot-footer-style-card-01 {
  color: var(--COLOR-META);
  margin-top: auto;
  display: grid;
  gap: 1ex;
}
.sp-compo-post-card-slot-footer-style-card-01 .sp-url-objekt-link,
.sp-compo-post-card-slot-footer-style-card-01 .sp-url-visit-link {
  --icon-height: 1.5em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1ch;
}

@media (min-width: 64em) {
  .sp-compo-posts-style-card-01 .sp-compo-posts-title {
    --compo-title-line-max: none;
    hyphens: none;
  }
}
.sp-compo-webpage-post-content .sp-compo-posts-style-card-02 {
  padding-bottom: 6em;
  margin-right: auto;
  margin-left: auto;
}
.sp-compo-webpage-post-content * + .sp-compo-posts-style-card-02 {
  padding-top: 3em;
}

.sp-compo-posts-style-card-02 {
  --post-card-bg: #fefefe;
  --post-card-max-width: 100%;
  --posts-grid-gap: 1em;
  --grid-max: 100%;
  hyphens: none;
  box-sizing: initial;
}
.sp-compo-posts-style-card-02 .sp-compo-posts-title {
  margin-bottom: 1ex;
  margin-left: var(--compo-posts-title-margin-left, 2.5rem);
}
.sp-compo-posts-style-card-02 .sp-compo-title-txt .sp-block {
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-style: var(--TYPO-GRUNDSCHRIFT-FONT-STYLE);
  font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  font-weight: 300;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] {
  padding: 0;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-compo-post-card-style-card-02 {
  position: relative;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-compo-post-card-article-style-card-02 {
  --compo-bg: transparent;
  --compo-content-color: var(--COLOR-PRIM-CONTRAST);
  --cta-bg-focus: var(--COLOR-AKZENT-DARK);
  --img-object-fit: cover;
  --img-width: 100%;
  --post-card-header-max-width: 100%;
  --post-card-meta-color: var(--compo-content-color);
  --title-content-color: var(--compo-content-color);
  --link-content-color-hover: currentColor;
  --post-card-border-width: 0em;
  background: rgba(0, 67, 138, 0.9);
  color: var(--compo-content-color);
  border-width: 0em;
  border-left-width: 2ch;
  outline: var(--LINE-STYLE) var(--LINE-WIDTH-MAX) transparent;
  outline-offset: var(--post-card-outline-offset);
  position: initial;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-compo-post-card-article-style-card-02:focus-within {
  outline-color: var(--COLOR-DARK);
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-title {
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width-hover: 0.09375em;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-compo-post-card-slot-img-style-card-02 {
  --cta-bg-focus: var(--COLOR-AKZENT-DUNKEL);
  max-width: 100%;
  overflow: hidden;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  left: 2ch;
  z-index: -1;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-compo-post-card-post-img {
  height: 100%;
  width: 100%;
  position: relative;
}
.sp-compo-posts-style-card-02[data-sp-intent-mood='dunkel'] .sp-featured-image {
  min-height: 100%;
  min-width: 100%;
}

@media (max-width: 100em) {
  .sp-compo-posts-style-card-02 {
    --post-card-outline-offset: -.4em;
  }
}
.sp-compo-posts-list-style-card-02 {
  box-sizing: border-box;
  border-radius: var(--SITE-RADIUS);
}

.sp-compo-post-card-style-card-02 {
  --cta-bg: var(--COLOR-TERT);
  --cta-bg-hover: var(--COLOR-HIGHLIGHT);
  --cta-bg-focus: var(--COLOR-AKZENT);
  --cta-min-width: MIN(100%, 12em);
  --insert-icon-opacity: .5;
  --link-content-color-hover: var(--cta-bg-hover);
  --link-text-deco-color: transparent;
  --meta-title-font-weight: 400;
  --meta-title-text-transform: uppercase;
  --post-card-border-color: var(--COLOR-HELL);
  --post-card-border-radius: var(--SITE-RADIUS);
  --post-card-border-style: solid;
  --post-card-border-width: var(--LINE-WIDTH-MED);
  --post-card-content-font-size: 1.1rem;
  --post-card-content-line-height: 1.4;
  --post-card-grid-template-areas: "img" "header" "content" "footer";
  --post-card-grid-template-columns: 100%;
  --post-card-gap: 1em;
  --post-card-meta-max-width: 28em;
  --title-content-color: #333333;
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --title-font-weight: 500;
  --title-line-height: 1.3;
  --title-text-transform: none;
}
.sp-compo-post-card-style-card-02.sp-has-no-img {
  --post-card-grid-template-areas: "header" "content" "footer";
}

.sp-compo-post-card-article-style-card-02 {
  border-left-width: 1em;
}
.sp-compo-post-card-article-style-card-02:focus-within {
  --cta-bg: var(--cta-bg-focus);
  border-color: var(--COLOR-HIGHLIGHT);
  border-color: var(--COLOR-HIGHLIGHT);
}
.sp-compo-post-card-article-style-card-02:hover, .sp-compo-post-card-article-style-card-02:active {
  --cta-bg: var(--cta-bg-hover);
  border-color: var(--COLOR-HIGHLIGHT);
}

.sp-compo-post-card-slot-header-style-card-02 {
  display: flex;
  flex-flow: column;
  gap: 1ex;
}

.sp-compo-post-card-slot-img-style-card-02 {
  --icon-height: 4em;
}

.sp-compo-post-card-slot-footer-style-card-02 {
  width: 100%;
  justify-self: flex-end;
}

@media (min-width: 45em) {
  .sp-compo-post-card-slot-img-style-card-02 {
    --icon-color: var(--COLOR-TERT);
    --icon-height: 8em;
  }
}
@media (min-width: calc($break_vast + 1px)) {
  .sp-compo-posts-style-card-02 {
    --compo-posts-title-margin-left: 0;
  }
}
.sp-compo-posts-style-card-03 {
  --compo-title-space-bottom: 1em;
  --posts-grid-gap: 0.125em;
}
.sp-compo-posts-style-card-03 .sp-compo-title-txt i {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
}
.sp-compo-posts-style-card-03 .sp-compo-post-card-url {
  --stretch-zone: 0.0625em;
  outline: 0;
}
.sp-compo-posts-style-card-03 .sp-compo-post-card-url:focus {
  --outline-color: var(--outline-color-focus);
}
.sp-compo-posts-style-card-03 .sp-compo-post-card-url::before {
  content: '';
  outline: solid var(--outline-color, transparent) 0.1875em;
  transition: all var(--MOTION-TRANS-FAST);
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
}

.sp-compo-post-card-style-card-03 {
  --link-outline-color-focus: currentColor;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-offset: .4em;
  --link-text-deco-width-hover: 0.1875em;
  --outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
  color: var(--COLOR-AKZENT-CONTRAST);
  background: var(--COLOR-AKZENT);
  hyphens: auto;
  padding: 1em 1.3em 1em;
  border-radius: var(--SITE-RADIUS);
  display: flex;
  gap: 1ch;
  position: relative;
}
.sp-compo-post-card-style-card-03[aria-current] {
  --link-text-deco-color: transparent;
  color: var(--COLOR-PRIM-CONTRAST);
  background: var(--COLOR-SEC);
}

.sp-compo-post-card-style-card-04 {
  --compo-header-gap: 1ex;
  --post-card-content-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --post-card-content-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  --post-card-padding: 2em 2em 3em;
  --title-font-size: 1.3em;
  --title-font-weight: 600;
  --title-line-height: 1.1;
  border-radius: var(--SITE-RADIUS);
  box-shadow: var(--box-shadow-x, 0) var(--box-shadow-y, 0) var(--box-shadow-blur, 1em) var(--box-shadow-spread, 0) var(--box-shadow-color, rgba(102, 102, 102, 0.2));
}
.sp-compo-post-card-style-card-04 .sp-post-excerpt > * + * {
  margin-top: var(--vspace, 1em);
}
.sp-compo-post-card-style-card-04 .sp-post-excerpt {
  max-width: 42rem;
}

.sp-compo-post-card-article-style-card-04 {
  align-content: flex-start;
}

.sp-compo-posts-style-card-05 {
  --compo-padding-left: var(--SITE-PADDING-LEFT);
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.sp-compo-post-card-style-card-05 {
  --cta-bg: transparent;
  --cta-content-color: var(--COLOR-FULL);
  --cta-text-align: left;
  --post-card-img-max-width: 16em;
  --post-card-padding: 0;
}
.sp-compo-post-card-style-card-05 .sp-title-main {
  white-space: nowrap;
  word-wrap: normal !important;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  display: inline-block;
  position: absolute !important;
}
.sp-compo-post-card-style-card-05 .sp-compo-post-card-img-surro-wrapper {
  --icon-color: var(--COLOR-META);
  --icon-height: auto;
  --icon-width: 75%;
  display: flex;
  justify-content: center;
}
.sp-compo-post-card-style-card-05 .sp-compo-post-card-obj-meta {
  color: var(--COLOR-META);
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-post-card-style-card-05 .sp-compo-post-card-cta {
  padding: 0;
  width: 100%;
  display: block;
}
.sp-compo-post-card-style-card-05 .sp-compo-post-card-cta .sp-icon {
  display: none;
}
.sp-compo-post-card-style-card-05 .sp-post-img {
  transition: all var(--MOTION-TRANS-FAST);
  transform: var(--post-img-transform);
}
.sp-compo-post-card-style-card-05 .sp-post-img .sp-icon {
  transform: var(--post-surro-transform);
}

.sp-compo-post-card-article-style-card-05 {
  outline: solid 0.25em transparent;
  outline-offset: 1.5em;
}
.sp-compo-post-card-article-style-card-05:focus-within {
  outline-color: var(--COLOR-HIGHLIGHT);
}
.sp-compo-post-card-article-style-card-05:hover:not(:focus) {
  --post-img-transform: scale(1.1);
  --post-surro-transform: scale(1.3);
}

@media (max-width: 20em) {
  .sp-compo-post-card-article-style-card-05 {
    outline-offset: 0;
  }
  .sp-compo-post-card-article-style-card-05:hover:not(:focus) {
    --post-img-transform: scale(1.05);
    --post-surro-transform: sclae(1.2);
  }
}
.sp-compo-posts-style-archive_01 {
  --cta-padding: 1em 3em;
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card {
  height: initial;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-article-style-archive_01 .sp-compo-webpage-pubform {
  flex: 100%;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-style-card_01 {
  --compo-title-line-height: var(--TYPO-LINE-HEIGHT-MIN);
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-style-card_01[data-sp-post-type='publikation'] {
  --order-terms: -1;
}
.sp-compo-posts-style-archive_01 .sp-post-title {
  --compo-title-font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
}
.sp-compo-posts-style-archive_01 .sp-post-excerpt {
  flex: 100%;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-slot-content {
  gap: 1em;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-slot-content > * {
  max-width: 38rem;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-slot-content > .sp-cta-wrapper {
  max-width: none;
}
.sp-compo-posts-style-archive_01 .sp-compo-post-card-slot-header {
  max-width: 38rem;
  gap: 1ex;
}
.sp-compo-posts-style-archive_01 .sp-wrap-meta {
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  text-transform: uppercase;
  margin-top: .25em;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  flex: 100%;
  order: -1;
}
.sp-compo-posts-style-archive_01 .sp-post-terms {
  --compo-title-font-size: 1em;
  --compo-title-font-weight: normal;
  --compo-title-text-transform: uppercase;
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  order: var(--order-terms, 0);
}
.sp-compo-posts-style-archive_01 .sp-post-urheber-titles {
  color: initial;
  flex: 100%;
}

.sp-compo-post-card-compo-terms-hier-list-style-archive_01 {
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-post-card-compo-terms-hier-list-style-archive_01 .sp-compo-terms-item,
.sp-compo-post-card-compo-terms-hier-list-style-archive_01 .sp-compo-terms-list {
  display: inline-block;
}

.sp-compo-posts-list-style-archive_01 {
  max-width: 42rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2em;
}
.sp-compo-posts-list-style-archive_01 .sp-post-urheber-titles {
  margin-top: -.4em;
}
.sp-compo-posts-list-style-archive_01 .sp-post-date {
  text-transform: none;
}

.sp-compo-post-card-style-archive_01 {
  --border-width: 0;
  --compo-post-card-max-width: 100%;
  --compo-post-card-padding: 0;
  flex: 100%;
}
.sp-compo-post-card-style-archive_01 + .sp-compo-post-card-style-archive_01 {
  padding-top: 1em;
}
.sp-compo-post-card-style-archive_01 + .sp-compo-post-card-style-archive_01::before {
  content: '';
  background: var(--COLOR-GRAU-HELL);
  height: var(--LINE-WIDTH-MED);
  width: 100%;
  border-radius: 1em;
  margin-bottom: 3em;
  display: block;
}
.sp-compo-post-card-style-archive_01[data-sp-post-type='personal'] .sp-featured-image {
  aspect-ratio: 1/1;
  border-radius: 50%;
}

.sp-compo-post-card-article-style-archive_01 {
  --cta-content-color: #fefefe;
  --cta-display: inline-flex;
  --featured-image-max-width: 10em;
  --stretch-zone: 0;
  height: initial;
  display: grid;
  grid-template: "header" "content";
  grid-template-rows: max-content 1fr;
  gap: 1em 2em;
}
.sp-compo-post-card-article-style-archive_01 .sp-compo-post-card-slot-content {
  display: flex;
  flex-wrap: wrap;
}

.sp-compo-post-card-style-personal_01 {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: 400;
  --cta-bg: var(--compo-bg);
  --cta-font-size: var(--TYPO-FONT-SIZE-MIN);
  --icon-space-right: .25ch;
  --link-border-color: var(--COLOR-HELL);
  --link-border-color-focus: var(--COLOR-FOCUS);
  --link-border-color-hover: var(--link-text-deco-color-hover);
  --link-content-color: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color: var(--compo-bg);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --post-card-max-width: 42em;
}
.sp-compo-post-card-style-personal_01:active, .sp-compo-post-card-style-personal_01:focus-within, .sp-compo-post-card-style-personal_01:hover {
  --border-color: initial;
  --cta-bg: initial;
  --cta-text-deco-color: initial;
}
.sp-compo-post-card-style-personal_01 .sp-compo-post-card-article {
  display: grid;
  grid-template-rows: minmax(2em, max-content) min-content min-content;
  grid-template-areas: "header" "img" "content" "footer";
  gap: 1em 1em;
}
.sp-compo-post-card-style-personal_01 .sp-cta-wrapper {
  --link-border-width: var(--LINE-WIDTH-MIN);
  --link-outline-color-focus: transparent;
  --icon-height: 2.5ex;
  --link-bg: var(--compo-bg);
  border-radius: var(--SITE-RADIUS);
  min-width: 8em;
  display: flex;
  justify-content: flex-end;
  flex: 100%;
  gap: 1ch;
}
.sp-compo-post-card-style-personal_01 .sp-cta-wrapper:focus:hover {
  --cta-text-deco-color: var(--link-border-color-hover);
  --link-outline-color: transparent;
}
.sp-compo-post-card-style-personal_01 * + .sp-compo-post-card-cta {
  margin-top: 0;
}
.sp-compo-post-card-style-personal_01 .sp-post-title-link {
  --link-border-color: var(--compo-bg);
  --link-border-color-focus: var(--compo-bg);
  --link-border-color-hover: var(--compo-bg);
  --link-content-color: var(--COLOR-FULL);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --link-text-deco-width: .05ex;
  --link-outline-color-focus: var(--COLOR-FOCUS);
  display: block;
}
.sp-compo-post-card-style-personal_01 .sp-post-title-link::after {
  display: none;
}
.sp-compo-post-card-style-personal_01 .sp-featured-image {
  aspect-ratio: 1/1;
  border-radius: 100%;
}
.sp-compo-post-card-style-personal_01 .sp-compo-post-card-img-surro-wrapper {
  background: var(--COLOR-GRAU-HELL);
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
}
.sp-compo-post-card-style-personal_01 .sp-compo-post-card-image-surro {
  --icon-color: rgba(165, 141, 153, 0.3);
  --icon-height: auto;
  --icon-width: 100%;
  transform: translateY(15%);
}
.sp-compo-post-card-style-personal_01 .sp-compo-post-card-slot-content {
  color: var(--COLOR-SEC);
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-post-card-style-personal_01 .sp-compo-schwerpunkte-descr {
  font-weight: 500;
}

* + .sp-compo-post-card-style-personal_01 {
  margin-top: var(--card-margin-top, 2.5rem);
}

.sp-compo-post-card-slot-footer-style-personal_01 {
  --cta-margin-left: 0;
  --cta-padding: 1ex 1.5em;
  row-gap: 0;
}
.sp-compo-post-card-slot-footer-style-personal_01 .sp-cta-wrapper {
  row-gap: 0;
}
.sp-compo-post-card-slot-footer-style-personal_01 .sp-cta {
  min-width: 8em;
}

@media (min-width: 24em) {
  * + .sp-compo-posts-style-personal_01 {
    margin-top: 5em;
  }

  .sp-compo-post-card-style-personal_01 .sp-compo-post-card-article {
    grid-template-columns: 30% 1fr;
    grid-template-areas: "img    header" "img   content" "footer footer";
  }
}
.sp-compo-posts-style-podcast-01 {
  --link-content-color-hover: var(--COLOR-AKZENT-CONTRAST);
  --link-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
  --post-card-grid-template-columns: 25% 1fr;
  --post-card-grid-template-areas: "img header" "img content" "... footer";
  --post-card-meta-color: var(--COLOR-AKZENT-CONTRAST);
  --post-card-padding: 2em 2em 4em;
  --post-card-width: 100%;
  --posts-grid-columns: 1fr;
  --posts-grid-gap: 3em;
  --posts-justify-items: center;
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  font-weight: 200;
}
.sp-compo-posts-style-podcast-01 audio {
  background: #161616;
  border-radius: 10em;
  border: 0.6em solid #161616;
  box-sizing: initial;
}

.sp-compo-post-card-article-style-podcast-01 {
  --compo-bg: #0d0d0d;
  --compo-content-color: #fefefe;
  --cta-bg: transparent;
  --cta-border-color: #fefefe;
  --cta-border-width: 0.0625em;
  --link-text-deco-width-hover: .12em;
  --link-txt-content-color: #fff;
  --post-card-grid-template-rows: min-content 1fr auto;
  background: var(--compo-bg);
  color: var(--compo-content-color);
}
.sp-compo-post-card-article-style-podcast-01:focus-within, .sp-compo-post-card-article-style-podcast-01:hover {
  --excla-after-opacity-action: 1;
  --excla-after-transform: none;
  --excla-before-opacity-action: 0;
  --link-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
}
.sp-compo-post-card-article-style-podcast-01 .sp-compo-post-card-cta-podcast {
  --icon-color: rgba(255, 255, 255, 0.5);
  --icon-height: 2em;
  --link-bg-hover: var(--COLOR-AKZENT-SEC);
  --link-content-color-hover: #fefefe;
  --link-border-color: #292929;
  --link-border-color-hover: var(--link-bg-hover);
  --link-border-width: 0.125em;
  --link-outline-offset: 0;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width: 0.0625em;
  max-width: max-content;
  margin-left: auto;
}

.sp-compo-post-card-slot-header-style-podcast-01 {
  gap: 1ex;
}
.sp-compo-post-card-slot-header-style-podcast-01 .sp-post-title-link {
  --link-text-deco-color-hover: currentColor;
  display: block;
}
.sp-compo-post-card-slot-header-style-podcast-01 .sp-post-title-link::after {
  content: initial;
}

.sp-compo-post-card-slot-content-style-podcast-01 {
  gap: 1ex;
}

.sp-compo-post-card-slot-footer-style-podcast-01 {
  font-size: var(--post-card-content-font-size, var(--TYPO-FONT-SIZE-MIN));
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1ex;
}

.sp-compo-webpage-post-card-frontfile-append {
  flex: 100%;
}

.sp-compo-post-card-frontfile-podcast {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.sp-compo-post-card-frontfile-podcast ~ .sp-compo-post-card-cta-podcast {
  margin-left: initial;
}

.sp-compo-post-card-slot-img-style-podcast-01 {
  --icon-color: var(--COLOR-AKZENT);
  --icon-height: auto;
  --icon-width: 100%;
  opacity: .4;
}

@media (max-width: 45em) {
  .sp-compo-posts-style-podcast-01 {
    --post-card-gap: 2em;
    --post-card-max-width: none;
  }

  .sp-compo-post-card-article-style-podcast-01 {
    --post-card-grid-template-areas: "header      img" "content content" "footer   footer";
    --post-card-grid-template-columns: 1fr calc(1rem + 20%);
  }

  .sp-compo-post-card-slot-footer-style-podcast-01 {
    gap: 1em;
  }
}
@media (max-width: 28em) {
  .sp-compo-posts-podcast-archive {
    --post-card-max-width: calc(100% - 2 * var(--SITE-PADDING-H));
  }

  .sp-compo-post-card-article-style-podcast-01 {
    --post-card-grid-template-areas: "header" "img" "content" "footer";
    --post-card-grid-template-columns: 1fr;
  }

  .sp-compo-post-card-slot-img-style-podcast-01 {
    --icon-width: 50%;
  }
  .sp-compo-post-card-slot-img-style-podcast-01 .sp-img-surro-wrapper {
    text-align: center;
  }
}
@media (min-width: 64em) {
  .sp-compo-post-card-article-style-podcast-01 {
    --title-font-size: 1.4rem;
  }
}
.sp-compo-post-card-article-style-podcast-02 {
  --compo-bg: #fefefe;
  --compo-content-color: #000;
  --cta-align-self: flex-start;
  --cta-bg: transparent;
  --cta-border-color: #fefefe;
  --cta-border-width: 0.0625em;
  --link-content-color-hover: var(--COLOR-HIGHLIGHT);
  --link-outline-color-focus: var(--COLOR-HIGHLIGHT);
  --link-text-deco-width-hover: .12em;
  --post-card-grid-template-areas: "img header" "img content" "... footer";
  --post-card-grid-template-columns: 25% 1fr;
  --post-card-grid-template-rows: min-content 1fr auto;
  --post-card-meta-color: var(--COLOR-AKZENT-SEC);
  --post-card-padding: 2em 2em 3em;
  --post-card-width: 100%;
  --posts-grid-columns: 1fr;
  --posts-grid-gap: 3em;
  --posts-justify-items: center;
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  background: var(--compo-bg);
  color: var(--compo-content-color);
}
.sp-compo-post-card-article-style-podcast-02:focus-within, .sp-compo-post-card-article-style-podcast-02:hover {
  --excla-after-opacity-action: 1;
  --excla-after-transform: none;
  --excla-before-opacity-action: 0;
  --link-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
}
.sp-compo-post-card-article-style-podcast-02 audio {
  background: #161616;
  border-radius: 10em;
  border: 0.6em solid #161616;
  box-sizing: initial;
  width: 100%;
}
.sp-compo-post-card-article-style-podcast-02 audio::-webkit-media-controls-panel,
.sp-compo-post-card-article-style-podcast-02 video::-webkit-media-controls-panel {
  background: #ebebeb;
  filter: invert(1);
}
.sp-compo-post-card-article-style-podcast-02 audio, .sp-compo-post-card-article-style-podcast-02 video,
.sp-compo-post-card-article-style-podcast-02 audio::-webkit-media-controls,
.sp-compo-post-card-article-style-podcast-02 video::-webkit-media-controls {
  color: #fefefe;
}
.sp-compo-post-card-article-style-podcast-02 audio::-webkit-media-controls-enclosure,
.sp-compo-post-card-article-style-podcast-02 video::-webkit-media-controls-enclosure {
  background-color: inherit;
}
.sp-compo-post-card-article-style-podcast-02 .sp-descr {
  color: var(--COLOR-AKZENT);
  font-weight: 400;
}
.sp-compo-post-card-article-style-podcast-02 .sp-frontfile-podcast {
  flex: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.sp-compo-post-card-article-style-podcast-02 .sp-frontfile-podcast ~ .sp-compo-post-card-cta-podcast {
  margin-left: initial;
}

.sp-compo-post-card-cta-serp {
  --link-border-color: var(--COLOR-GRAU-HELL);
  --link-border-width: var(--LINE-WIDTH-MIN);
  --link-text-deco-color: transparent;
}

.sp-compo-post-card-slot-header-style-podcast-02 {
  gap: 1ex;
}
.sp-compo-post-card-slot-header-style-podcast-02 .sp-post-title-link {
  --link-text-deco-color-hover: currentColor;
  display: block;
}
.sp-compo-post-card-slot-header-style-podcast-02 .sp-post-title-link::after {
  content: initial;
}

.sp-compo-post-card-cta-podcast {
  --icon-color: #cccccc;
  --icon-height: 2em;
  --link-bg-hover: var(--COLOR-AKZENT-SEC);
  --link-border-color: var(--COLOR-GRAU-HELL);
  --link-border-color-hover: var(--link-bg-hover);
  --link-border-width: .125em;
  --link-content-color: #000;
  --link-content-color-hover: #fefefe;
  --link-outline-offset: 0;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width: 0.0625em;
  max-width: max-content;
  margin-left: auto;
}

.sp-compo-post-card-slot-content-style-podcast-01 {
  gap: 1ex;
}

.sp-compo-post-card-slot-footer-style-podcast-02 {
  font-size: var(--post-card-content-font-size, var(--TYPO-FONT-SIZE-MIN));
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: calc(1em + 1ex);
}

.sp-compo-webpage-post-card-frontfile-append-style-podcast-02 {
  color: var(--COLOR-AKZENT-SEC);
  font-weight: 400;
  line-height: 1.1;
}

.sp-compo-post-card-slot-img-style-podcast-02 {
  --icon-color: var(--COLOR-AKZENT-CONTRAST);
  --icon-height: auto;
  --icon-width: 100%;
}
.sp-compo-post-card-slot-img-style-podcast-02 .sp-compo-post-card-img-surro-wrapper {
  transform: translateX(-0.75em);
}

.sp-compo-post-card-slot-footer-style-podcast-02 .sp-cta {
  margin-left: auto;
}

@media (max-width: 45em) {
  .sp-compo-posts-style-podcast-02 {
    --post-card-gap: 2em;
    --post-card-max-width: none;
  }

  .sp-compo-post-card-article-style-podcast-02 {
    --post-card-grid-template-areas: "header      img" "content content" "footer   footer";
    --post-card-grid-template-columns: 1fr calc(1rem + 20%);
  }

  .sp-compo-post-card-slot-footer-style-podcast-02 {
    gap: 1em;
  }
}
@media (max-width: 28em) {
  .sp-compo-post-card-article-style-podcast-02 {
    --post-card-grid-template-areas: "header" "img" "content" "footer";
  }
}
@media (min-width: 64em) {
  .sp-compo-post-card-article-style-podcast-02 {
    --title-font-size: 1.4rem;
  }
}
.sp-compo-posts-style-pub_01 {
  --cta-border-radius: 2em;
  --cta-padding: 3% 2em 3.25% 1.75em;
  --cta-max-width: max-content;
}
.sp-compo-posts-style-pub_01 .sp-compo-posts-title {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
}
.sp-compo-posts-style-pub_01 .sp-compo-posts-list {
  max-width: 44rem;
  grid-template-columns: 1fr;
}

* + .sp-compo-posts-style-pub_01 {
  margin-top: 2rem;
}

.sp-compo-post-card-style-pub_01 {
  --cta-content-color: #fefefe;
}
.sp-compo-post-card-style-pub_01 .sp-post-urheber-titles {
  margin-top: var(--card-margin-top, -0.5ex);
}
.sp-compo-post-card-style-pub_01 .sp-cta-wrapper {
  display: flex;
}

.sp-compo-post-card-article-style-pub_01 {
  display: grid;
  grid-template-areas: "header" "img" "content" "footer";
  gap: 1em;
}
.sp-compo-post-card-article-style-pub_01 .sp-compo-post-card-pub-meta-publikation {
  color: var(--COLOR-SEC);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1ch 0;
}

@media (min-width: 45em) {
  .sp-compo-post-card-style-pub_01.has-no-img .sp-compo-post-card-article-style-pub_01 {
    grid-template-rows: 1fr;
    grid-template-areas: "header" "content" "footer";
    gap: 2ex 1em;
  }

  .sp-compo-post-card-article-style-pub_01 {
    grid-template-rows: 0fr 1fr;
    grid-template-areas: "img header" "img content" "... footer";
    gap: 2ex 1em;
  }
  .sp-compo-post-card-article-style-pub_01 .sp-compo-post-card-img {
    max-width: 10em;
    grid-area: img;
  }
  .sp-compo-post-card-article-style-pub_01 .sp-compo-post-card-cta {
    margin-left: auto;
    display: inline-flex;
    flex-flow: row;
  }

  .sp-compo-post-card-article-style-pub_01-publikation-archive .sp-compo-slot-content {
    display: flex;
    flex-wrap: wrap;
  }
  .sp-compo-post-card-article-style-pub_01-publikation-archive .sp-compo-post-card-cta {
    min-width: initial;
    margin-left: auto;
    display: inline-flex;
  }

  .sp-style-pub_01-slot-content {
    display: flex;
    flex-wrap: wrap;
  }

  .sp-style-pub_01-slot-header {
    grid-area: header;
  }
}
@media (min-width: 64em) {
  .sp-compo-post-card-style-pub_01.sp-compo-post-card-publikation-archive {
    --post-card-max-width: none;
  }
  .sp-compo-post-card-style-pub_01.sp-compo-post-card-publikation-archive .sp-compo-cta {
    display: inline-flex;
  }
}
.sp-compo-posts-list-style-pub_02 {
  grid-column: span 2;
}

.sp-compo-post-card-article-style-pub_02 {
  --cta-content-color: #fefefe;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "header" "content";
  gap: 1em;
}

.sp-style-pub_02-slot-content {
  display: flex;
  flex-wrap: wrap;
}
.sp-style-pub_02-slot-content .sp-compo-post-card-cta {
  align-self: flex-end;
}

.sp-compo-post-card-style-text_01 {
  --compo-post-card-padding: 2em 2em 3em;
  --compo-title-font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: 500;
  --cta-content-color: #fefefe;
  --cta-display: inline-flex;
  --cta-padding: 1.5ex 2em;
}
.sp-compo-post-card-style-text_01 .sp-compo-title {
  margin-bottom: 1em;
}
.sp-compo-post-card-style-text_01 .sp-post-excerpt {
  margin-bottom: 2em;
}
.sp-compo-post-card-style-text_01 .sp-compo-post-card-post-urheber-titles-artikel {
  margin-bottom: 1.5em;
  order: initial;
}
.sp-compo-post-card-style-text_01 .sp-compo-post-card-post-excerpt-artikel {
  margin-bottom: 1em;
}
.sp-compo-post-card-style-text_01 .sp-compo-post-card-post-meta {
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.sp-compo-post-card-slot-footer-style-text_01 {
  margin-top: 3em;
}

.sp-compo-posts-style-video-01 {
  --compo-max-width: 100%;
  --post-card-width: 100%;
  --posts-grid-columns: 1fr;
  --posts-justify-items: center;
}
.sp-compo-posts-style-video-01 .sp-frontfile-file {
  width: 100%;
}
.sp-compo-posts-style-video-01 .sp-compo-post-card-wrap-meta-video {
  color: var(--COLOR-META);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: flex;
  flex-wrap: wrap;
}
.sp-compo-posts-style-video-01 .sp-compo-post-card-dauer-video {
  --icon-stroke-width: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75ch;
}
.sp-compo-posts-style-video-01 .sp-compo-post-card-url-video {
  margin-left: auto;
}

.sp-compo-post-card-style-video-01 {
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --post-card-max-width: var(--TYPO-LINE-MAX);
}

.sp-compo-post-card-article-style-video-01:focus-within, .sp-compo-post-card-article-style-video-01:hover {
  --excla-after-opacity-action: 1;
  --excla-after-transform: none;
  --excla-before-opacity-action: 0;
  --link-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
}

.sp-compo-post-card-slot-header-style-video-01 {
  gap: 1ex;
}

.sp-compo-post-card-slot-content-style-video-01 {
  gap: 1em;
}

@media (min-width: 64em) {
  .sp-compo-post-card-style-video-01 {
    --title-font-size: 1.4em;
  }
}
.sp-block-cta-wrapper {
  --border-color-focus: transparent;
  --compo-bg: var(--cta-bg, var(--COLOR-SEC));
  --cta-outline-offset: .5ex;
  --cta-outline-width: var(--LINE-WIDTH-MED);
  --icon-height: 1.75em;
  --icon-stroke-width: .5em;
  --link-bg: inherit;
  --link-bg-hover: var(--cta-bg-hover);
  --link-content-color: var(--cta-content-color, inherit);
  --link-content-color-hover: var(--cta-content-color-hover);
  --link-outline-color-focus: transparent;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width: 0.0625em;
  --vspace-factor: 1;
  text-align: var(--cta-align, center);
}
.sp-block-cta-wrapper.center {
  --cta-align: center;
}
.sp-block-cta-wrapper.left {
  --cta-align: left;
}
.sp-block-cta-wrapper.right {
  --cta-align: right;
}
.sp-block-cta-wrapper .sp-block-cta-txt {
  transition: none;
}
.sp-block-cta-wrapper + * {
  --vspace-factor: 3;
}

.sp-block-cta {
  --_cta-max-width: none;
  color: var(--compo-content-color-master, var(--cta-content-color, var(--content-color, #fefefe)));
  background: var(--compo-bg-master, var(--cta-bg, var(--bg)));
  padding: var(--cta-padding, var(--_cta-padding));
  width: var(--cta-width);
  position: relative;
}
.sp-block-cta.sp-cta-has-icon:not(.sp-cta-animate) {
  padding-left: 1.85em;
}
.sp-block-cta:focus-within {
  --cta-outline-color: var(--cta-outline-color-focus, var(--COLOR-HIGHLIGHT));
  --link-content-color-master: var(--cta-content-color-focus, var(--cta-content-color));
}
.sp-block-cta:hover:not(:focus-within) {
  --compo-bg-master: var(--cta-bg-hover);
  --compo-content-color-master: var(--cta-content-color-hover);
  --icon-link-checkup-ani: sp-scale .8s;
  --icon-link-contact-ani: sp-wave-hand 1.2s alternate infinite;
  outline-color: var(--cta-outline-color-hover, var(--cta-outline-color));
}
.sp-block-cta:focus .sp-icon-download, .sp-block-cta:hover .sp-icon-download, .sp-block-cta:active .sp-icon-download {
  transform: translateY(0.5ex);
}

.sp-cta-animate {
  position: relative;
}

.sp-block-cta-link {
  --stretch-zone: 0;
  background: transparent;
  flex: 1;
}
.sp-block-cta-link::before {
  content: '';
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  z-index: 2;
}
.sp-block-cta-link:focus:hover {
  --link-text-deco-color-master: var(--link-text-deco-color-hover);
}

.sp-block-cta-subtxt {
  color: var(--cta-subtxt-content-color, var(--COLOR-GRAU-DARK));
  font-size: var(--cta-subtxt-font-size, var(--TYPO-FONT-SIZE-MIN));
  line-height: var(--cta-subtxt-line-height, var(--TYPO-LINE-HEIGHT-MIN));
  max-width: var(--TYPO-LINE-MAX);
  order: var(--cta-subtxt-order);
}

* + .sp-block-cta-subtxt {
  margin-top: var(--cta-subtxt-space-top, 1em);
}

.sp-block-cta-wrapper-style-loud {
  --border-color: transparent;
  --border-width: var(--LINE-WIDTH-MIN);
  --compo-bg: var(--cta-bg-loud, var(--COLOR-HIGHLIGHT));
  --cta-bg-hover: var(--cta-bg-hover-master, var(--COLOR-AKZENT));
  --cta-content-color: var(--cta-content-color-loud, #fefefe);
  --cta-content-color-hover: #fefefe;
  --cta-font-weight: 300;
  --link-bg: var(--compo-bg);
}

.sp-block-cta-wrapper-style-neutral {
  --cta-bg-hover: var(--cta-bg-hover-master, var(--COLOR-PRIM));
  --cta-content-color: var(--cta-content-color-neutral, #fefefe);
}

.sp-block-cta-wrapper-style-quiet {
  --border-color: var(--COLOR-GRAU-HELL);
  --border-width: var(--LINE-WIDTH-MIN);
  --cta-bg: var(--cta-bg-quiet, transparent);
  --cta-bg-hover: var(--cta-bg-hover-master, var(--COLOR-SEC));
  --cta-content-color: var(--cta-content-color-quiet, var(--COLOR-FULL));
  --cta-content-color-focus: red;
  --cta-content-color-hover: var(--cta-content-color-hover-quiet, var(--COLOR-ZERO));
  --cta-outline-color-focus: var(--COLOR-HIGHLIGHT);
  --cta-outline-color-hover: transparent;
  --icon-opacity: .7;
}

.sp-block-cta-style-quiet:hover:not(:focus-within) {
  --border-color: var(--cta-bg-hover);
}
.sp-block-cta-style-quiet .sp-block-cta-link:focus:active {
  --link-content-color-master: var(--cta-content-color-quiet, var(--COLOR-FULL));
}

.sp-details {
  --compo-max-width: var(--TYPO-LINE-MAX);
}
.sp-details[open] {
  --details-border-radius: .4em .4em 0 0;
  --details-content-ani: sp-ani-details .4s forwards;
  --details-content-children-ani: sp-show-soft 2s forwards;
  --icon-rotate-master: 90deg;
}
.sp-details + .sp-details {
  --vspace-factor-master: 2;
}

.sp-details-summary {
  --icon-height: 1.3em;
  color: var(--details-summary-content-color, var(--content-color));
  background: var(--details-summary-bg, var(--COLOR-GRAU-HELL));
  font-weight: 400;
  padding: 1em 1em 1em 1.25em;
  border-radius: var(--details-border-radius, 0.4em);
  outline: var(--details-outline-color, var(--COLOR-GRAU-HELL)) var(--details-outline-width, var(--LINE-WIDTH-MIN)) var(--details-outline-style, var(--LINE-STYLE));
  outline-offset: calc( -1 * var(--details-outline-width,var(--LINE-WIDTH-MIN)) );
  transition: all var(--MOTION-TRANS-FAST);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.sp-details-summary:focus {
  --details-outline-color: var(--COLOR-FOCUS);
}
.sp-details-summary:hover {
  --details-outline-color: var(--COLOR-SEC);
  --icon-color: var(--COLOR-HIGHLIGHT);
  --icon-rotate: 45deg;
  cursor: pointer;
}

.sp-details-title {
  display: inline-block;
  flex: 1;
}

.sp-details-icon {
  transform: rotate(var(--icon-rotate-master, var(--icon-rotate)));
  transition: all var(--MOTION-TRANS-FAST);
  margin-right: 1ch;
  display: inline-block;
}

.sp-details-content {
  padding: 1.5em 1em 2.5em;
  border: var(--details-outline-color, var(--COLOR-GRAU-HELL)) var(--details-outline-width, var(--LINE-WIDTH-MIN)) var(--details-outline-style, var(--LINE-STYLE));
  border-top: 0;
  transform-origin: top left;
  animation: var(--details-content-ani);
}
.sp-details-content > * {
  animation: var(--details-content-children-ani);
}

@keyframes sp-ani-details {
  0% {
    transform: scale(1, 0);
  }
  100% {
    transform: scale(1);
  }
}
.sp-block-event {
  --compo-max-width: 42em;
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-weight: bold;
  --compo-title-font-size: 110%;
  --compo-title-line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  --icon-color: var(--COLOR-TERT);
  --icon-height: 1.2em;
  --link-content-color: var(--COLOR-HIGHLIGHT);
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
}
.sp-block-event .sp-compo {
  font-style: normal;
  margin-top: 1em;
}
.sp-block-event .sp-details {
  --compo-title-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --compo-title-line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  --details-summary-bg: transparent;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
}

* + .sp-block-event {
  --event-spacer: calc( 1.5 *  var(--space-abs,1.5em) );
  margin-top: var(--event-spacer);
}

.sp-block-event-subwrapper {
  display: flex;
  flex-wrap: wrap;
}

.sp-block-event-subwrapper-style-00 {
  padding: 1.5em 2em 2em;
  border-radius: var(--SITE-RADIUS);
  border: solid var(--COLOR-AKZENT-HELL) 0.125em;
  border-left: 4ch solid var(--COLOR-AKZENT-HELL);
}

.sp-block-event-title {
  flex: 100%;
}

.sp-block-event-content {
  color: var(--event-content-color);
  font-style: var(--event-content-font-style, italic);
  flex: 100%;
}

.sp-block-event-label {
  color: var(--evbent-label-color, var(--COLOR-PRIM));
  font-size: var(--TYPO-FONT-SIZE-MIN);
  flex: 100%;
  text-transform: uppercase;
  order: var(--event-order-label, -1);
}

.sp-block-event-link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1ch;
  flex: 100%;
}

.sp-block-event-name {
  --link-content-color: currentColor;
  color: var(--event-name-color, var(--COLOR-AKZENT-SEC));
  flex: 100%;
  order: var(--event-order-name, -1);
}
.sp-block-event-name::after {
  content: ':';
}
.sp-block-event-name a {
  margin-bottom: var(--link-text-deco-width, 0.5ex);
  display: inline-block;
}

.sp-block-event-termin {
  color: var(--event-termin-color, var(--COLOR-META));
  font-weight: var(--event-termin-font-weight, bolder);
  margin-right: 1ch;
}

.sp-file {
  --_file-item-bg: var(--file-item-bg, var(--COLOR-ZERO));
  --_file-item-padding: 1em 1em 1.5em;
  --_files-gap: 1em;
  --_files-sep: var(--LINE-STYLE) var(--COLOR-GRAU-HELL) var(--LINE-WIDTH-MIN);
  --border-color: var(--COLOR-DECO);
  --compo-bg-master: transparent;
  --compo-icon-sub-color: var(--COLOR-META);
  --compo-icon-sub-height: 5em;
  --cta-outline-width: var(--LINE-WIDTH-MIN);
  --cta-text-deco-color: transparent;
  --cta-text-deco-color-hover: currentColor;
  --file-item-cta-bg: var(--COLOR-DECO);
  --file-item-cta-bg-hover: var(--COLOR-HIGHLIGHT);
  --file-item-cta-content-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --file-item-cta-border-radius: 1em;
  --files-sep: 0;
  --headline-content-color: var(--COLOR-FULL);
  --headline-line-height: 1.3;
  --link-item-bg-hover: var(--COLOR-AKZENT-HELL);
  --link-outline-color-focus: var(--COLOR-FOCUS);
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: transparent;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  position: relative;
}
.sp-file + .sp-file {
  padding-top: calc( var(--files-gap,var(--_files-gap)) + .25ex );
  border-top: var(--files-sep, var(--_files-sep));
  margin-top: var(--files-gap, var(--_files-gap));
}

.sp-file-item {
  background: var(--file-item-bg-master, var(--_file-item-bg));
  padding: var(--file-item-padding, var(--_file-item-padding));
  min-height: calc( 1.5 * var(--icon-sub-height) );
  --stretch-zone: calc( -1 * var(--border-width, var(--LINE-WIDTH-MED)) );
  border: var(--border-width, var(--LINE-WIDTH-MED)) var(--border-style, var(--LINE-STYLE)) var(--border-color, var(--COLOR-HELL));
  border-radius: var(--border-radius, var(--SITE-RADIUS));
  transition: background-color .5s ease-out;
  display: var(--file-item-display, flex);
  flex-wrap: wrap;
  gap: var(--file-item-gap, 1em);
  grid-template-areas: var(--file-item-grid-areas);
  position: relative;
}
.sp-file-item.sp-has-icon {
  grid-template-columns: var(--file-item-grid-columns);
}
.sp-file-item:focus-within {
  --cta-outline-color: var(--COLOR-FOCUS);
  --link-outline-color-focus: transparent;
}
.sp-file-item:focus-within, .sp-file-item:hover, .sp-file-item:active {
  --cta-text-deco-color: var(--cta-text-deco-color-hover);
  --file-item-bg-master: var(--file-item-bg-hover);
  --file-item-cta-bg: var(--file-item-cta-bg-hover);
  --file-item-cta-content-color: var(--file-item-cta-content-color-hover);
  --file-item-cta-icon-color: var(--file-item-cta-icon-color-hover, var(--file-item-cta-content-color));
  --icon-file-line-transform: translateY(1.5em);
  --icon-file-line-transition: all .4s ease-out;
  --icon-file-polyline-transform: translateY(1.5em);
  --icon-file-polyline-transition: all .4s ease-out;
  --link-content-color-hover: currentColor;
}
.sp-file-item:hover, .sp-file-item:active {
  --link-text-deco-color: var(--COLOR-HIGHLIGHT);
}

.sp-file-meta-wrap {
  color: var(--file-item-meta-color, var(--COLOR-META));
  display: grid;
  gap: var(--file-item-meta-gap, 0);
  grid-area: meta;
  align-content: flex-start;
}
.sp-file-meta-wrap > * {
  overflow-wrap: anywhere;
}

.sp-file-icon {
  opacity: var(--file-icon-opacity, 0.5);
  position: initial;
  align-self: var(--icon-align, start);
}

.sp-file-title-link {
  --link-bg: transparent;
  --link-bg-hover: transparent;
  display: block;
}
.sp-file-title-link::before {
  content: '';
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
}

.sp-file-cta {
  --icon-height: 1.5em;
  color: var(--file-item-cta-content-color);
  background: var(--file-item-cta-bg);
  border-radius: var(--file-item-cta-border-radius, var(--SITE-RADIUS));
  outline: var(--LINE-STYLE) var(--LINE-WIDTH-MED) var(--cta-outline-color, transparent);
  max-width: max-content;
  margin-left: auto;
  grid-area: cta;
}

.sp-file-cta-icon {
  --icon-color: var(--file-item-cta-icon-color, inherit);
  grid-area: icon;
}

@media (max-width: 45em) {
  .sp-file-cta {
    width: 100%;
    max-width: none;
  }
}
@media (min-width: 45em) {
  .sp-file {
    --file-item-grid-columns: min-content minmax(10rem, 1fr) minmax(4rem, 14rem);
    grid-template-columns: 1fr 16rem;
    align-items: center;
  }

  .sp-file-cta {
    max-width: none;
  }
}
.sp-compo-webpage-file,
.sp-file-style-01 {
  --border-width: var(--LINE-WIDTH-MIN);
  --compo-max-width: var(--TYPO-LINE-MAX);
  --cta-padding: 1.5ex;
  --cta-text-deco-color-hover: currentColor;
  --file-icon-opacity: .3;
  --file-item-bg: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));
  --file-item-cta-bg: #fefefe;
  --file-item-cta-bg-hover: var(--COLOR-HIGHLIGHT);
  --file-item-cta-content-color-hover: #fefefe;
  --file-item-cta-icon-color: var(--COLOR-META);
  --file-item-grid-areas: "icon meta" "...   cta";
  --file-item-grid-columns: min-content minmax(10rem, 1fr);
  --headline-font-size: var(--TYPO-FONT-SIZE-MIN);
  --headline-font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  --headline-line-height: var(--TYPO-LINE-HEIGHT-MIN);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  font-weight: 400;
}
.sp-compo-webpage-file .sp-file-cta,
.sp-file-style-01 .sp-file-cta {
  font-weight: 320;
  min-width: 10em;
  flex-flow: row-reverse;
}
.sp-compo-webpage-file .sp-file-title,
.sp-file-style-01 .sp-file-title {
  margin-top: .5ex;
}
.sp-compo-webpage-file + .sp-file-style-01,
.sp-file-style-01 + .sp-file-style-01 {
  --vspace-factor-master: 1;
}

@media (min-width: 64em) {
  .sp-file-style-01 {
    --file-item-grid-areas: "icon   meta ..." "icon  meta  cta";
    --file-item-grid-columns: min-content minmax(10rem, 1fr) max-content;
  }
}
.sp-files {
  max-width: var(--files-max-width);
}
.sp-files .sp-file {
  --_files-gap: '';
}
.sp-files .sp-file-item {
  height: 100%;
}

.sp-files-list {
  display: var(--files-list-display, grid);
  grid-template-columns: var(--files-list-grid-template-columns);
  gap: var(--files-list-gap, 2em);
}

.sp-compo-webpage-slot-aside .sp-compo-webpage-files-list {
  max-width: none;
}

/*------------------------------------------------------------------------------
  COMPO: IMAGE
------------------------------------------------------------------------------*/
.sp-compo-image,
.wp-block-image {
  --deli-margin-left: 0;
  max-width: var(--image-max-width, var(--TYPO-LINE-MAX));
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--justify-img, flex-start);
}
.sp-compo-image.sp-compo-image-style-full,
.wp-block-image.sp-compo-image-style-full {
  --image-meta-padding-right: var(--SITE-PADDING-H);
  --image-meta-padding-left: var(--SITE-PADDING-H);
  --img-width: 100%;
  padding-right: 0;
  padding-left: 0;
  max-width: none;
}
.sp-compo-image + *,
.wp-block-image + * {
  --vspace-factor: 3;
}

.sp-compo-image-center {
  --justify-img: center;
}

.sp-compo-image-right {
  --justify-img: flex-end;
}

.sp-compo-image-style-50 {
  --compo-max-width: calc( var(--TYPO-LINE-MAX) * .5 );
  --image-wrapper-width: 50%;
}

.sp-compo-image-style-75 {
  --compo-max-width: calc( var(--TYPO-LINE-MAX) * .75 );
  --image-wrapper-width: 75%;
}

.sp-compo-image-style-100 {
  --compo-max-width: var(--TYPO-LINE-MAX);
  --image-wrapper-width: 100%;
}

.sp-compo-image-style-full {
  --compo-max-width: 100%;
}
.sp-compo-image-style-full .sp-compo-image-meta {
  padding-right: var(--SITE-PADDING-LEFT);
  padding-left: var(--SITE-PADDING-LEFT);
}

* + .sp-compo-image,
* + .wp-block-image {
  margin-top: var(--image-space-bottom, 2em);
}

.sp-compo-image-figure,
.wp-block-image {
  max-width: var(--image-wrapper-width, 100%);
  flex: 100%;
}

.sp-compo-image-link {
  display: block;
}
.sp-compo-image-link:hover, .sp-compo-image-link:active {
  transform: scale(1.05);
}

.sp-compo-image-img {
  width: var(--img-width, 100%);
}

.sp-compo-image-meta,
figcaption:not([class]) {
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  padding-right: var(--image-meta-padding-right, 0);
  padding-left: var(--image-meta-padding-left, 0);
  display: flex;
  flex-wrap: wrap;
  flex: 100%;
}

* + .sp-compo-image-meta,
* + figcaption:not([class]) {
  margin-top: 1em;
}

/*ENDE:compo-image------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
  COMPO: INSERT
------------------------------------------------------------------------------*/
.sp-insert {
  --clipspace: var(--SITE-CLIPSPACE, 3rem);
  --clipspace-padding-bottom: calc(3em + var(--clipspace) );
  --compo-max-width: none;
  --compo-padding-h: var(--insert-padding-h, var(--SITE-PADDING-H));
  --compo-title-content-color: var(--COLOR-FULL);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --img-max-width: 100%;
  --order-content: 3;
  --order-img: 2;
  --order-label: 0;
  --order-title: 1;
  --typo-font-size-loud: 2em;
  --typo-line-height-loud: 1.2;
  background: var(--compo-bg-master, var(--compo-bg, #fefefe));
  padding: var(--insert-padding-top, 0) var(--compo-padding-h) var(--insert-padding-bottom, 0);
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.sp-insert.center {
  --insert-sub-justify: center;
}
.sp-insert.sp-rule-stack-items .sp-insert-content-nested {
  grid-template-columns: 1fr;
}
.sp-insert .sp-compo-posts {
  background: var(--compo-bg);
  --compo-padding-right: 0;
  --compo-padding-left: 0;
}
.sp-insert .sp-compo-posts[data-sp-block='insert'] {
  padding: 0;
  margin: 0;
  max-width: var(--post-card-max-width-master, var(--post-card-max-width));
}

.sp-insert-is-nested {
  --insert-content-space: 0;
}
.sp-insert-is-nested .sp-insert {
  --compo-padding-h: 0;
}

.sp-insert-bgimg-wrapper {
  --img-height: 100%;
  --img-width: 100%;
  --stretch-zone: 0;
  opacity: var(--insert-bgimg-opacity, 0.08);
  overflow: hidden;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  animation: none;
}
.sp-insert-bgimg-wrapper ~ * {
  z-index: 1;
}

.sp-insert-subwrapper {
  max-width: var(--insert-sub-max-width);
  display: var(--insert-sub-display, flex);
  flex-wrap: wrap;
  align-content: var(--insert-sub-align-items, flex-start);
  justify-content: var(--insert-sub-justify, flex-start);
  grid-template-areas: var(--insert-grid-template-areas);
  grid-template-columns: var(--insert-grid-template-columns);
  grid-template-rows: var(--insert-grid-template-rows);
  gap: var(--insert-gap, 0);
  flex: 100%;
}

.sp-insert-title {
  hyphens: var(--insert-title-hyphens, auto);
  margin-bottom: var(--insert-title-margin-bottom);
  grid-area: title;
  order: var(--order-title);
}

.sp-insert-main-title .sp-compo-title-txt {
  text-decoration: var(--insert-title-text-deco-style, none) var(--insert-title-text-deco-color, HSL(var(--COLOR-HUE-PRIM), 50%, 90%)) var(--insert-title-text-deco-width, 0.0625em);
  text-underline-offset: var(--insert-title-text-deco-offset, 0.125em);
}

.sp-insert-content {
  max-width: var(--content-max-width, var(--TYPO-LINE-MAX));
  order: var(--order-content, 3);
  grid-area: content;
}
.sp-insert-content > * + * {
  margin-top: var(--insert-content-space, 1em);
}
.sp-insert-content * + .sp-block-cta-wrapper {
  margin-top: var(--cta-margin-top, var(--insert-content-space, calc(1em + 1ex)));
}
.sp-insert-content .wp-block-heading {
  --insert-content-space: calc(1em + 1ex);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
}

.sp-insert-content-nested {
  --_grid-min: var(--grid-min, MIN(24rem, 100%));
  width: 100%;
  max-width: var(--content-max-width, 100%);
  display: var(--insert-content-nested-display, grid);
  grid-template-columns: var(--insert-content-nested-grid-template-columns, repeat(auto-fit, minmax(var(--_grid-min), var(--grid-max, 1fr))));
  justify-content: var(--insert-content-nested-justify-content);
  gap: var(--insert-content-nested-gap, 1em);
  flex-wrap: wrap;
}

* + .sp-insert-content {
  margin-top: var(--insert-content-margin-top);
}

.sp-insert-img-wrapper {
  order: var(--order-img);
  grid-area: img;
}

.sp-insert-label {
  color: var(--insert-label-color);
  font-size: var(--insert-label-font-size, var(--TYPO-MARGINALIE-FONT-SIZE));
  font-style: var(--insert-label-font-style);
  letter-spacing: var(--insert-letter-spacing, 0.1ex);
  text-transform: var(--insert-label-text-transform, uppercase);
  max-width: var(--insert-label-max-width, var(--TYPO-LINE-MAX));
  order: var(--order-label, -1);
  grid-area: label;
}

.sp-insert-icon {
  opacity: var(--insert-icon-opacity, 0.75);
}

.sp-insert-img-link:hover, .sp-insert-img-link:active {
  transform: scale(1.05);
}

@media (max-width: 45em) {
  .sp-insert-content-nested {
    --_grid-min: var(--grid-min, 1fr);
  }
}
@media (min-width: 64em) {
  .sp-insert {
    --typo-font-size-loud: 3em;
  }

  .sp-insert-main-title {
    hyphens: var(--insert-title-hyphens, none);
  }
}
/*ENDE:compo-insert------------------------------------------------------------------------------*/
.sp-insert-style-00 {
  --compo-padding-left: var(--SITE-PADDING-H);
  --compo-padding-right: var(--SITE-PADDING-H);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --insert-content-nested-display: flex;
  --insert-content-nested-gap: 0 1em;
  --insert-gap: 1ex;
  --insert-grid-template-areas: "label" "title" "content";
  --insert-label-color: var(--COLOR-PRIM);
  --insert-sub-bg: #fefefe;
  --insert-title-margin-bottom: 1ex;
  --list-bg: transparent;
  --list-padding: 1em 0 0;
  justify-content: center;
}
.sp-insert-style-00[data-sp-intent-mood='dunkel'] {
  --compo-bg: var(--COLOR-DARK);
  --compo-content-color: #fefefe;
  --insert-label-color: #fefefe;
  padding-top: 3em;
  padding-bottom: 8em;
}
.sp-insert-style-00[data-sp-intent-mood='dunkel'] .sp-compo-post-card-article-style-card-01 {
  box-shadow: none;
}
.sp-insert-style-00[data-sp-intent-mood='dunkel'] .sp-insert-style-06 {
  --icon-color: var(--COLOR-TERT);
  --insert-label-color: var(--COLOR-TERT);
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.15));
  padding: 1em 2em 2em 0;
  border-radius: var(--SITE-RADIUS);
}
.sp-insert-style-00[data-sp-intent-mood='dunkel'] .sp-compo-post-card-slot-img-style-card-01 {
  --post-card-img-radius: 0;
}
.sp-insert-style-00[data-sp-intent-mood='hell'] {
  --compo-bg: #fefefe;
}
.sp-insert-style-00[data-sp-intent-tone='neutral'] {
  --compo-bg: var(--COLOR-DECO);
  padding-top: 4em;
  padding-bottom: 7em;
}
.sp-insert-style-00.sp-compo-has-bg {
  --compo-bg: transparent;
  background: var(--COLOR-SEC);
}
.sp-insert-style-00.sp-compo-has-bg[data-sp-intent-mood='dunkel'] {
  --compo-title-content-color: var(--COLOR-PRIM-CONTRAST);
  background: var(--COLOR-PRIM);
}
.sp-insert-style-00.sp-compo-has-bg[data-sp-intent-mood='dunkel'] .sp-compo-posts {
  --compo-content-color: #333333;
}
.sp-insert-style-00.sp-compo-has-bg[data-sp-intent-mood='hell'] {
  background: var(--COLOR-DECO);
}
.sp-insert-style-00.sp-compo-has-bg .sp-compo-post-card-slot-img-style-card-01 {
  --post-card-img-radius: var(--SITE-RADIUS) var(--SITE-RADIUS) 0 0;
  padding: .3em .3em 0;
}
.sp-insert-style-00.sp-compo-has-img {
  --insert-grid-template-areas: "label" "title" "img" "content";
}
.sp-insert-style-00.sp-rule-stack-items {
  --insert-title-margin-bottom: 1em;
  --insert-wrap-gap: 2.5em;
  --post-card-max-width-master: 100%;
  --posts-max-width: none;
}
.sp-insert-style-00.sp-rule-stack-items .sp-compo-posts {
  --post-card-max-width: 100%;
}
.sp-insert-style-00.sp-rule-stack-items .wp-block-group__inner-container {
  justify-content: center;
}
.sp-insert-style-00.sp-rule-stack-items .sp-compo-post-card-article-style-card-01 {
  --post-card-display: grid;
  --post-card-img-radius: 0;
}
.sp-insert-style-00.sp-rule-stack-items .sp-compo-post-card-slot-header-style-card-01 {
  margin-top: -.2em;
}
.sp-insert-style-00.sp-rule-stack-items .sp-compo-post-card-slot-img-style-card-01 {
  --post-card-img-radius: 0;
}
.sp-insert-style-00.sp-insert-is-child {
  --compo-bg: #fefefe;
  --compo-title-font-size: 2em;
  --insert-title-margin-bottom: .3em;
}
.sp-insert-style-00.sp-insert-is-nested {
  --insert-content-space: calc(var(--vspace,1em) + 1ex);
  --insert-label-color: var(--COLOR-META);
}
.sp-insert-style-00 .is-style-sp-insert-wrap-02 {
  --insert-content-space: 2em;
}
.sp-insert-style-00 .sp-insert-bgimg-wrapper {
  --img-object-fit: cover;
}
.sp-insert-style-00 .sp-insert-style-06 {
  --compo-bg: #fefefe;
  padding: 1.5em 2em 2em 1.5em;
  border-radius: var(--SITE-RADIUS);
  box-shadow: 0 0 0.5em 0 var(--COLOR-GRAU-HELL);
}
.sp-insert-style-00 .sp-compo-posts-style-card-04 {
  --insert-content-space: 0;
}
.sp-insert-style-00 .sp-compo-post-card-style-card-04 {
  --post-card-meta-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --post-card-meta-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
}

.sp-insert-subwrapper-style-00 {
  max-width: 79.2rem;
}
.sp-insert-subwrapper-style-00 > .sp-insert-content {
  max-width: var(--main-insert-content-max-width, none);
  flex-flow: column;
  flex: 100%;
}
.sp-insert-subwrapper-style-00 > .sp-insert-content > * {
  flex: 100%;
}
.sp-insert-subwrapper-style-00 > .sp-insert-content > *:not(.wp-block-group, .sp-insert, [data-sp-block='insert']) {
  max-width: var(--TYPO-LINE-MAX);
}
.sp-insert-subwrapper-style-00 > .sp-insert-content > .sp-compo-posts {
  max-width: var(--posts-max-width, MIN(100%, 24rem));
  flex: initial;
}

@media (min-width: 45em) {
  .sp-insert-style-00 {
    --compo-padding-left: calc( (100% - var(--TYPO-LINE-MAX) ) / 2);
    --compo-padding-right: calc( (100% - var(--TYPO-LINE-MAX) ) / 2);
  }
  .sp-insert-style-00.sp-compo-has-img {
    --compo-padding-right: var(--SITE-PADDING-H);
    --insert-grid-template-areas: "label 		 ." "title   img" "content img";
    --insert-grid-template-columns: MIN(var(--TYPO-LINE-MAX), 60%) 1fr;
    --insert-sub-max-width: none;
  }
}
@media (min-width: 45em) {
  .sp-insert-style-00 {
    --compo-padding-right: calc( var(--SITE-PADDING-H) );
    --compo-padding-left: calc( var(--SITE-PADDING-H) );
  }
  .sp-insert-style-00.sp-rule-stack-items {
    --main-insert-content-max-width: calc( var(--TYPO-LINE-MAX) * 1.2 );
    --post-card-padding-items-h: 0;
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-insert-subwrapper-style-00 {
    max-width: var(--main-insert-content-max-width);
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-compo-posts-style-card-01 {
    --insert-content-space: 0;
    font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
    font-style: var(--TYPO-GRUNDSCHRIFT-FONT-STYLE);
    font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
    line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-compo-posts-style-card-01 .sp-compo-post-card-article-style-card-01 {
    --post-card-padding: 1.5em 1.5em;
    --title-font-size: 130%;
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-compo-posts-style-card-01 .sp-compo-post-card-slot-img-style-card-01 {
    padding: 0;
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-compo-posts-style-card-01.sp-has-img {
    --post-card-grid-template-areas: "img header" "img content";
    --post-card-grid-template-columns: 1fr 1fr;
    --post-card-grid-template-rows: min-content 1fr;
  }
  .sp-insert-style-00.sp-rule-stack-items .sp-compo-posts-style-card-01 .sp-block-cta-wrapper {
    margin-top: auto;
    margin-left: auto;
  }
}
.sp-insert-style-01 {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --insert-content-margin-top: 1em;
  --insert-gap: 0 2em;
}
.sp-insert-style-01[data-sp-intent-mood='dunkel'] {
  --compo-bg: var(--COLOR-DECO);
  --compo-padding-right: var(--SITE-PADDING-H);
  --compo-padding-left: var(--SITE-PADDING-H);
  padding-top: 3em;
  padding-bottom: 5em;
}
.sp-insert-style-01 .sp-insert-main-title {
  margin-bottom: calc(1rem + 1ex);
}

@media (min-width: 45em) {
  .sp-insert-style-01 {
    --compo-padding-right: var(--SITE-PADDING-H);
    --compo-padding-left: var(--SITE-PADDING-LEFT);
    --insert-grid-template-columns: 1fr;
    --insert-content-margin-top: 0;
    --insert-sub-display: grid;
    --insert-grid-template-areas: "title  " "content";
  }
  .sp-insert-style-01[data-sp-intent-mood='dunkel'] {
    padding-top: 4em;
    padding-bottom: 7em;
  }
  .sp-insert-style-01.sp-compo-has-img {
    --insert-grid-template-areas: "title   img" "content img";
    --insert-grid-template-columns: 1fr calc(60% - 3em);
    --insert-grid-template-rows: min-content 1fr;
  }
  .sp-insert-style-01:not(.sp-compo-has-img) {
    --content-max-width: none;
  }
  .sp-insert-style-01:not(.sp-compo-has-img) .sp-insert-main-title {
    max-width: calc(60% - 3em);
  }
  .sp-insert-style-01:not(.sp-compo-has-img) .sp-compo-content {
    display: flex;
    flex-wrap: wrap;
    gap: var(--insert-gap);
  }
  .sp-insert-style-01:not(.sp-compo-has-img) .sp-compo-content > * {
    max-width: calc(60% - 3em);
  }
  .sp-insert-style-01:not(.sp-compo-has-img) .sp-compo-image {
    --insert-content-space: 0;
    max-width: 40%;
    margin-top: 1ex;
  }
  .sp-insert-style-01 + .sp-insert-style-01 {
    --insert-grid-template-areas: "img title" "img content";
  }
  .sp-insert-style-01 + .sp-insert-style-01:not(.sp-compo-has-img) .sp-insert-main-title {
    max-width: 40%;
  }
  .sp-insert-style-01 + .sp-insert-style-01:not(.sp-compo-has-img) .sp-compo-content > * {
    max-width: 40%;
  }
  .sp-insert-style-01 + .sp-insert-style-01:not(.sp-compo-has-img) .sp-compo-image {
    --insert-content-space: 0;
    max-width: calc(60% - 3em);
  }
}
.sp-insert-style-03 {
  --compo-content-color: #d9d9d9;
  --compo-title-text-transform: uppercase;
  --insert-label-color: var(--COLOR-HELL);
  --insert-title-margin-bottom: 1em;
  --link-content-color-hover: var(--COLOR-AKZENT-HELL);
  --link-outline-color-focus: var(--link-content-color-hover);
  --link-text-deco-color: var(--COLOR-TERT);
  --link-text-deco-color-hover: var(--COLOR-AKZENT-HELL);
  --list-bg: transparent;
  --list-marker-width: 0.0625em;
  --selection-bg: var(--COLOR-AKZENT-HELL);
  --selection-color: var(--COLOR-PRIM);
}

.sp-insert-subwrapper-style-03 {
  background: #21033a;
  border-radius: 1em;
  border: #fefefe solid 0.5em;
  max-width: MAX(var(--TYPO-LINE-MAX), 80%);
  padding: 2em 2em 3em;
  box-shadow: 0.25em 0.25em 0.5em 0.25em var(--COLOR-GRAU-HELL);
  margin: auto;
}

.sp-insert-style-04 {
  --compo-bg: var(--COLOR-PRIM);
  --compo-content-color: #fefefe;
  --grid-max: 20rem;
  --grid-min: 0;
  --icon-height: 3em;
  --icon-opacity: .25;
  --insert-content-margin-top: 0;
  --insert-content-nested-gap: 5em;
  --insert-content-nested-justify-content: center;
  --insert-grid-template-areas: "img   title" "... content";
  --insert-sub-justify: center;
  --insert-title-margin-bottom: 0;
  text-align: center;
  max-width: 24rem;
  padding-top: 3em;
  padding-bottom: 9em;
}
.sp-insert-style-04 .sp-insert-content-nested > p {
  grid-column: 1/-1;
}
.sp-insert-style-04 .sp-insert-main-title {
  margin-bottom: 1em;
}
.sp-insert-style-04 .sp-insert-is-child {
  --compo-bg: inherit;
  --compo-content-font-size: var(--TYPO-FONT-SIZE-MIN);
  --compo-content-font-weight: 400;
  --compo-title-font-size: calc( 1.3 * var(--TYPO-FONT-SIZE-MIN) );
  --compo-title-line-height: 1.6;
  --compo-title-font-weight: 600;
  --compo-title-letter-spacing: .1ch;
  --insert-gap: 0;
  --insert-grid-template-areas: "img" "label" "title" "content";
  --insert-grid-template-columns: 1fr;
  --insert-icon-opacity: .8;
  --insert-label-color: var(--COLOR-TERT);
  --insert-label-font-size: var(--TYPO-FONT-SIZE-MIN);
  --insert-sub-justify: center;
  background: inherit;
  font-weight: 200;
  padding: 0;
  border: 0;
}
.sp-insert-style-04 .sp-insert-is-child .sp-insert-label {
  font-weight: 400;
}
.sp-insert-style-04 .sp-insert-is-child .sp-insert-title {
  min-height: 2em;
}

.sp-insert-style-05 {
  --compo-padding-left: 0;
  --compo-title-font-size: 280%;
  --content-max-width: none;
  --insert-content-nested-gap: 5em;
  --insert-content-nested-grid-template-columns: 100%;
}
.sp-insert-style-05 .sp-insert-main-title,
.sp-insert-style-05 .sp-insert-content-nested > p {
  padding-left: var(--SITE-PADDING-H);
}
.sp-insert-style-05 .sp-insert-main-label {
  padding-left: var(--SITE-PADDING-H);
}
.sp-insert-style-05 * + .sp-insert-content-nested {
  margin-top: 2em;
}
.sp-insert-style-05 p + .sp-insert {
  margin-top: 2em;
}
.sp-insert-style-05 .sp-insert-is-child {
  --compo-bg: inherit;
  --compo-title-bg: var(--COLOR-PRIM);
  --compo-title-content-color: var(--COLOR-PRIM-CONTRAST);
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-size: 240%;
  --insert-grid-template-areas: "title" "content";
  --insert-sub-max-width: none;
  padding: 0;
  border: 0;
}
.sp-insert-style-05 .sp-insert-is-child .sp-insert-title {
  --box-sizing: content-box;
  padding: 1.5rem 2em 3em var(--SITE-PADDING-H);
}
.sp-insert-style-05 .sp-insert-is-child .sp-insert-content {
  padding-top: 1.5rem;
  padding-left: var(--SITE-PADDING-H);
}
.sp-insert-style-05 .sp-insert-is-child .sp-insert-img-wrapper {
  --icon-color: var(--compo-title-content-color);
  --icon-height: 50%;
  --insert-icon-opacity: .15;
  grid-area: title;
  position: relative;
}
.sp-insert-style-05 .sp-insert-is-child .sp-insert-icon {
  position: absolute;
  right: 0;
  bottom: 0;
}
.sp-insert-style-05 .sp-insert-main-label {
  --box-sizing: content-box;
}

@media (min-width: 64em) {
  .sp-insert-style-05 {
    --insert-content-nested-gap: 0.125em;
  }
  .sp-insert-style-05 .sp-insert.sp-insert {
    --insert-gap: 0 3em;
    --insert-grid-template-areas: "title content";
    --insert-grid-template-columns: initial;
  }
  .sp-insert-style-05 .sp-insert.sp-insert .sp-compo-title {
    min-width: 20rem;
  }
  .sp-insert-style-05 .sp-insert.sp-insert .sp-insert-content {
    padding-left: 0;
  }
}
.sp-insert-style-06 {
  --compo-bg: transparent;
  --insert-gap: 0;
  --insert-grid-template-areas: "img label" "img title" "img content";
  --insert-icon-opacity: .6;
  --insert-padding-h: 1em;
  --insert-sub-display: grid;
  --insert-title-margin-bottom: 1rem;
  font-weight: 300;
}

.sp-insert-subwrapper-style-06 {
  --compo-title-font-size: 160%;
  --compo-title-font-weight: 600;
  --compo-title-line-height: 1.3;
  --compo-title-text-transform: none;
  --outline-color-focus: var(--COLOR-FOCUS);
  line-height: 1.6;
  height: 100%;
  min-width: 14rem;
  max-width: 100%;
}
.sp-insert-subwrapper-style-06 .sp-compo-insert-content {
  display: flex;
  flex-wrap: wrap;
}
.sp-insert-subwrapper-style-06 .sp-compo-cta-wrapper {
  width: 100%;
  justify-content: flex-end;
}
.sp-insert-subwrapper-style-06 .sp-insert-label {
  margin-bottom: 1ex;
}

.sp-insert-img-wrapper-style-06 {
  --icon-height: 2em;
  margin-right: 1em;
}

.sp-insert-style-07 {
  --grid-max: 100%;
  --insert-gap: 1em 4em;
  --insert-label-max-width: none;
  --insert-title-hyphens: auto;
  --list-item-width: 100%;
}
.sp-insert-style-07[data-sp-intent-mood='dunkel'] {
  --insert-padding-bottom: 5em;
  --insert-padding-top: 2em;
  color: #fefefe;
  background: var(--COLOR-DARK);
}
.sp-insert-style-07[data-sp-intent-mood='hell'] {
  --compo-content-bg: #fefefe;
  --compo-title-bg: #fefefe;
}
.sp-insert-style-07.sp-compo-has-bg {
  --compo-content-bg-master: transparent;
  padding-top: 3em;
  padding-bottom: 5em;
}
.sp-insert-style-07.sp-compo-has-bg .sp-insert-main-title {
  background: transparent;
}
.sp-insert-style-07.sp-compo-has-bg .sp-insert-main-title .sp-compo-title-txt {
  background: rgba(0, 0, 0, 0.7);
  outline: solid 0.25em rgba(0, 0, 0, 0.7);
}
.sp-insert-style-07 .sp-compo-posts {
  --post-card-max-width: none;
}
.sp-insert-style-07 .sp-insert-label {
  flex: 100%;
}
.sp-insert-style-07 .sp-compo-posts-style-card-04 {
  --compo-bg-master: transparent;
  --compo-content-color-master: #333333;
}
.sp-insert-style-07 .sp-insert-content {
  max-width: var(--TYPO-LINE-MAX);
}

@media (min-width: 64em) {
  .sp-insert-style-07 {
    --compo-content-font-size: 1.2em;
    --compo-content-line-height: 1.5;
    --compo-title-content-color: var(--COLOR-SEC);
    --compo-title-font-size: 3em;
  }
  .sp-insert-style-07 .sp-insert-content {
    margin-top: 1ex;
    flex: 1;
  }
  .sp-insert-style-07 .sp-insert-title {
    max-width: 30%;
    flex: 1;
  }
  .sp-insert-style-07 .sp-compo-title-txt {
    position: sticky;
    top: 2em;
  }
}
.sp-insert-style-08 {
  --compo-bg: var(--COLOR-AKZENT-HELL);
  --compo-title-content-color: #000;
  --compo-title-font-size: var(--typo-font-size-loud);
  --compo-title-font-weight: 300;
  --compo-title-line-height: var(--typo-line-height-loud);
  --compo-title-line-max: none;
  --compo-title-text-transform: uppercase;
  --cta-bg: #000;
  --cta-bg-hover-master: #000;
  --cta-border-radius: 2em;
  --cta-content-color-neutral: var(--COLOR-AKZENT-HELL);
  --cta-margin-top: 2rem;
  --cta-outline-color-focus: #000;
  --cta-outline-color-hover: #000;
  --insert-gap: 2rem;
  --insert-padding-top: 4em;
  --insert-padding-bottom: 8em;
  --insert-title-text-deco-color: transparent;
  --link-text-deco-width-hover: 0.125em;
}
.sp-insert-style-08 .sp-block-cta-icon {
  display: none;
}
.sp-insert-style-08 .sp-insert-label {
  font-weight: 400;
}
.sp-insert-style-08 .sp-list-style-00[data-sp-intent-tone='loud'] {
  font-size: inherit;
  font-weight: 500;
}
.sp-insert-style-08 .sp-list-list {
  margin-bottom: 3em;
}

.sp-insert-style-09 {
  --details-border-radius: var(--SITE-RADIUS);
  --details-outline-color: var(--details-summary-bg);
  --details-summary-bg: var(--COLOR-HELL);
  --insert-content-space: 2em;
  --insert-gap: 2em;
}
.sp-insert-style-09 .sp-insert-content {
  flex: 1;
}
.sp-insert-style-09 .sp-details {
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --compo-title-font-weight: 300;
  --compo-title-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  --icon-color: var(--COLOR-TERT);
  --icon-opacity: .9;
  flex: 1;
}

.sp-insert-subwrapper-style-09 {
  max-width: var(--TYPO-LINE-MAX);
  margin: auto;
}

@media (min-width: 45em) {
  .sp-insert-style-09 {
    --compo-title-font-size: var(--typo-font-size-loud);
    --compo-title-line-height: var(--typo-line-height-loud);
    --insert-title-margin-bottom: 1ex;
  }
}
.sp-insert-style-10 {
  --compo-bg: var(--COLOR-HELL);
  --list-item-gap: 2em;
  --list-item-bg: #fefefe;
  --list-item-border-radius: var(--SITE-RADIUS);
  --list-item-padding: 1em;
  --list-item-max-width: 100%;
  padding-top: 2em;
  padding-bottom: 2.5em;
}
.sp-insert-style-10 .sp-list {
  --icon-color: var(--COLOR-HELL);
  --icon-height: auto;
  --icon-width: calc(1em + 20%);
  line-height: 1.5;
  padding-right: 1em;
}
.sp-insert-style-10 .sp-list strong {
  font-weight: 500;
}
.sp-insert-style-10 h2 {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  margin-bottom: 1em;
}

@media (min-width: 64em) {
  .sp-insert-style-10 {
    --content-max-width: none;
    --list-space-top: 1.25ex;
  }
  .sp-insert-style-10 .sp-insert-content > h2 {
    max-width: 50%;
    float: right;
  }
  .sp-insert-style-10 .sp-insert-content > .sp-list {
    width: 100%;
    max-width: 45%;
    margin-right: 5%;
    float: left;
  }
  .sp-insert-style-10 .sp-insert-content > .wp-block-group {
    max-width: 50%;
    margin-left: auto;
  }
}
.sp-insert-style-11 {
  --compo-bg: HSL(220, 100%, 4%);
  --compo-content-color: HSL(160, 40%, 80%);
  --compo-title-font-size: 300%;
  --compo-title-font-weight: 900;
  --compo-title-line-height: 1.2;
  --mark-bg: var(--COLOR-AKZENT-HELL);
  --mark-content-color: var(--compo-bg);
  --mark-outline: solid 0.25em var(--mark-bg);
  --mark-selection-bg: var(--COLOR-PRIM);
  --mark-selection-color: #fefefe;
  --insert-title-margin-bottom: 1em;
  --selection-bg: var(--COLOR-AKZENT-HELL);
  --selection-color: var(--compo-bg);
  padding-top: 3em;
  padding-bottom: 6em;
}
.sp-insert-style-11 .sp-list-style-01 {
  --compo-bg: transparent;
  --icon-height: 3.5em;
  --list-item-content-color: HSL(220, 100%, 8%);
  --list-spacer: 2em;
  --list-item-max-width: 100%;
}
.sp-insert-style-11 .sp-list-item-style-01 {
  padding-right: 3em;
}
.sp-insert-style-11 .sp-list-item-style-01 .sp-list-item-icon {
  top: 1ex;
  right: 0;
  bottom: initial;
}

@media (min-width: 45em) {
  .sp-insert-style-11 .sp-list-style-01 {
    --icon-height: 5em;
    --list-item-gap: 1em;
  }
  .sp-insert-style-11 .sp-list-style-01 .sp-list-item-icon {
    margin-top: -1ex;
    margin-left: -1ex;
    position: static;
  }
  .sp-insert-style-11 .sp-list-item-style-01 {
    align-items: flex-start;
  }
  .sp-insert-style-11 .sp-list-item-content-style-01 {
    max-width: 90%;
  }
}
.sp-insert-style-12 {
  --box-shadow-color: var(--COLOR-GRAU-HELL);
  --compo-bg: #fefefe;
  --compo-content-color: var(--COLOR-SEC);
  --compo-title-font-size: 1.3em;
  --compo-title-line-height: 1.3;
  --img-max-width: 12em;
  --insert-gap: 1em;
  --insert-grid-template-areas: "title" "img" "content" "label";
  --insert-sub-display: grid;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  padding: 2em 3em 3em;
  border-radius: var(--SITE-RADIUS);
  box-shadow: var(--box-shadow-x, 0) var(--box-shadow-y, 0) var(--box-shadow-blur, 1em) var(--box-shadow-spread, 0) var(--box-shadow-color, rgba(102, 102, 102, 0.2));
}
.sp-insert-style-12 .sp-insert-main-title .sp-block {
  font-size: 90%;
  font-weight: normal;
}
.sp-insert-style-12 h4 {
  color: var(--COLOR-META);
  font-style: italic;
  font-weight: 300;
  grid-area: subheadline;
}
.sp-insert-style-12 .sp-blockquote {
  --compo-content-color: #333333;
  --quote-meta-color: var(--COLOR-GRAU-MED);
  --quote-quote-color: #333333;
  background: transparent;
  padding: 0 0 0 1em;
  border-left: solid 1em var(--COLOR-HELL);
  border-radius: var(--SITE-RADIUS);
  grid-area: quote;
}

.sp-insert-img-style-12[src*='cover'] {
  border-left: solid 0.0625em var(--COLOR-GRAU-HELL);
  box-shadow: 0.2em 0.2em 0.05em #e6e6e6, 0.4em 0.4em 0.25em #cccccc, 0.125em 0.125em 0.125em #e6e6e6;
}

@media (min-width: 64em) {
  .sp-insert-style-12 {
    --compo-title-font-size: 1.4em;
    --insert-grid-template-areas: "img   title" "img   content" "label content" "...   content";
  }

  .sp-rule-stack-items .sp-insert-style-12 {
    --insert-gap: 3em;
    --insert-grid-template-columns: calc( var(--img-max-width) + 3em ) 1fr;
  }
}
.sp-insert-style-13 {
  --compo-title-font-size: 1.2em;
  --icon-color: var(--COLOR-META);
  --icon-height: 3.5em;
  --icon-space-left: -1ch;
  --insert-gap: 1ex;
  --insert-grid-template-areas: "img" "title" "content";
  --insert-icon-opacity: .6;
  --insert-sub-display: grid;
  min-width: MIN(20em, 100%);
  padding: 0;
  flex: 1;
}
.sp-insert-style-13 .sp-insert-title {
  max-width: 100%;
}

.sp-insert-subwrapper-style-13 {
  padding: 1em 1.5em 2em;
  border-radius: var(--SITE-RADIUS);
}
.sp-insert-subwrapper-style-13[data-sp-intent-mood='dunkel'] {
  background: rgba(0, 0, 0, 0.2);
}
.sp-insert-subwrapper-style-13[data-sp-intent-mood='hell'] {
  color: #333333;
  background: #fefefe;
  box-shadow: var(--box-shadow-x, 0) var(--box-shadow-y, 0) var(--box-shadow-blur, 1em) var(--box-shadow-spread, 0) var(--box-shadow-color, rgba(102, 102, 102, 0.2));
}

.sp-insert-style-cta-01 {
  --compo-content-color-master: #fefefe;
  --compo-max-width: 100%;
  --compo-padding-right: var(--SITE-PADDING-H);
  --cta-margin-top: 2em;
  --cta-max-width: none;
  --cta-min-width: MIN(16em, 100%);
  --cta-subtxt-content-color: #fefefe;
  --insert-content-margin-top: 1em;
  --insert-gap: 0 2em;
  --insert-grid-template-areas: "label" "title" "content";
  --insert-label-font-size: 1em;
  --insert-sub-max-width: var(--TYPO-LINE-MAX);
  --insert-title-margin-bottom: 1ex;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  justify-content: center;
}
.sp-insert-style-cta-01[data-sp-intent-tone='neutral'] {
  --compo-content-color: #fefefe;
}
.sp-insert-style-cta-01.sp-compo-has-img {
  --insert-grid-template-areas: "label img" "title img" "content img";
}
.sp-insert-style-cta-01 .sp-block-cta-wrapper {
  text-align: center;
  min-width: 50%;
  display: inline-grid;
}

.sp-insert-subwrapper-style-cta-01 {
  padding: 1em 1em 3em;
  border-radius: var(--SITE-RADIUS);
  box-shadow: var(--box-shadow-x, 0) var(--box-shadow-y, 0) var(--box-shadow-blur, 1em) var(--box-shadow-spread, 0) var(--box-shadow-color, rgba(102, 102, 102, 0.2));
}
.sp-insert-subwrapper-style-cta-01[data-sp-intent-tone='loud'] {
  background: linear-gradient(-180deg, var(--COLOR-AKZENT-HELL), var(--COLOR-AKZENT-HELL));
}
.sp-insert-subwrapper-style-cta-01[data-sp-intent-tone='neutral'] {
  background: linear-gradient(-180deg, var(--COLOR-SEC), var(--COLOR-PRIM));
}

@media (min-width: 64em) {
  .sp-insert-style-cta-01 {
    --insert-sub-display: grid;
  }
  .sp-insert-style-cta-01 .sp-insert-label ~ .sp-insert-img-wrapper-style-cta-01 {
    margin-top: .3em;
  }
}
.sp-insert-style-info-01 {
  --compo-bg: var(--COLOR-AKZENT-HELL);
  --compo-content-color: #000;
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --cta-margin-top: calc( var(--insert-content-space) + 2ex );
  --cta-max-width: none;
  --insert-bgimg-opacity: 1;
  --insert-content-space: 1em;
  --insert-label-color: var(--COLOR-META);
  --insert-padding-top: 4em;
  --insert-title-margin-bottom: 1em;
  padding-top: var(--insert-padding-top);
  padding-bottom: calc(var(--insert-padding-top) * 2);
}
.sp-insert-style-info-01 .sp-insert-bgimg-wrapper {
  --img-object-fit: cover;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
}
.sp-insert-style-info-01 .sp-insert-bgimg-wrapper ~ .sp-insert-subwrapper-style-info-01 {
  padding: 0 calc(1em + 5%) 4em 2em;
}

.sp-insert-subwrapper-style-info-01 {
  max-width: 75%;
}
.sp-insert-subwrapper-style-info-01 > * {
  max-width: 100%;
}

.sp-insert-img-wrapper-style-info-01 {
  --icon-height: 10em;
  opacity: .6;
  position: absolute;
  top: calc( var(--insert-padding-top) * .75 );
  right: 1em;
}

@media (max-width: 45em) {
  .sp-insert-subwrapper-style-info-01 {
    --cta-text-align: right;
    max-width: 90%;
  }
  .sp-insert-subwrapper-style-info-01 .sp-block-cta-icon {
    --icon-height: 100%;
    opacity: .08;
    flex: 1;
    position: absolute;
    top: 0;
    left: 0;
  }
  .sp-insert-subwrapper-style-info-01 .sp-block-cta-txt {
    flex: 6;
  }
}
@media (min-width: 64em) {
  .sp-insert-style-info-01 .sp-insert-bgimg-wrapper ~ .sp-insert-subwrapper-style-info-01 {
    padding: 0 calc(2em + 10%) 5em 4em;
  }

  .sp-insert-subwrapper-style-info-01 {
    --box-sizing: content-box;
    max-width: var(--TYPO-LINE-MAX);
  }
}
.sp-insert-style-info-02 {
  --compo-content-color: #fefefe;
  --compo-title-content-color: var(--COLOR-HELL);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --cta-border-width: 0.125em;
  --cta-margin-top: 2em;
  --cta-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
  --cta-outline-color-hover: var(--COLOR-AKZENT-CONTRAST);
  --insert-title-margin-bottom: 2em;
  --selection-bg: var(--COLOR-AKZENT-CONTRAST);
  --selection-color: var(--COLOR-PRIM);
  font-weight: 300;
  padding-top: 5em;
  padding-bottom: 10em;
}
.sp-insert-style-info-02 .sp-block-cta {
  --icon-height: 2.25em;
  width: 100%;
}
.sp-insert-style-info-02 .sp-block-cta-style-loud {
  --cta-border-color: #fefefe;
}

.sp-insert-subwrapper-style-info-02 {
  max-width: var(--TYPO-LINE-MAX);
  padding: 3em 3em 5em;
  margin-left: auto;
  position: relative;
}
.sp-insert-subwrapper-style-info-02 > * {
  position: relative;
  z-index: 1;
}
.sp-insert-subwrapper-style-info-02::before {
  content: '';
  background: var(--COLOR-PRIM);
  border-radius: var(--insert-border-radius, var(--SITE-RADIUS));
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  opacity: .8;
}

@media (max-width: 45em) {
  .sp-insert-style-info-02 {
    --_compo-padding-h: 0;
    --cta-justify-content: space-between;
    --insert-border-radius: 0;
    font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
    font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
    font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
    line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
    padding-top: 6em;
    padding-bottom: 9em;
  }

  .sp-insert-subwrapper-style-info-02 {
    padding-top: 4em;
    padding-bottom: 8em;
  }
}
.sp-insert-style-list-01 {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --insert-title-margin-bottom: calc( 1rem + 1ex );
}

/*
	--insert-content-margin-top
	--insert-padding-right
	--insert-img-position
	--insert-img-width
*/
.sp-insert-style-lp01 {
  --link-outline-color-focus: var(--COLOR-TERT);
  --compo-bg: transparent;
  --compo-content-bg: transparent;
  --compo-content-color-master: var(--COLOR-PRIM-CONTRAST);
  --compo-padding-left: 0;
  --compo-padding-right: 0;
  --compo-title-font-size: 2.1rem;
  --compo-title-font-weight: 600;
  --compo-title-letter-spacing: .05ch;
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-1);
  --compo-title-line-max: none;
  --content-max-width: var(--TYPO-LINE-MAX);
  --cta-bg-master: var(--COLOR-AKZENT);
  --cta-bg-loud: var(--COLOR-AKZENT);
  --cta-bg-hover-master: var(--COLOR-PRIM);
  --cta-content-color-neutral: #fefefe;
  --cta-content-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --cta-margin-top: 3em;
  --cta-max-width: 100%;
  --cta-outline-color-focus: var(--link-outline-color-focus);
  --cta-width: 100%;
  --grid-min: 100%;
  --img-object-fit: cover;
  --insert-bgimg-opacity: 1;
  --insert-content-margin-top: 2em;
  --insert-label-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --insert-label-text-transform: none;
  --insert-grid-template-areas: "text-content" "img";
  --insert-grid-template-columns: 1fr;
  --insert-img-width: 24rem;
  --insert-title-hyphens: none;
  --insert-title-text-deco-color: transparent;
  --list-item-margin: 0;
  position: relative;
}
.sp-insert-style-lp01[data-sp-intent-tone='loud'] {
  --compo-content-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  min-height: initial;
}
.sp-insert-style-lp01.sp-compo-has-bg {
  --compo-padding-right: 0;
  display: grid;
}
.sp-insert-style-lp01 li {
  display: flex;
  gap: 1ch;
}
.sp-insert-style-lp01 li::before {
  content: '';
  background: var(--COLOR-DECO);
  height: .7em;
  width: .7em;
  aspect-ratio: 1;
  border-radius: 1em;
  margin-top: .4em;
  display: block;
}
.sp-insert-style-lp01 .sp-insert-content-wrap {
  background: rgba(0, 67, 138, 0.8);
  padding: 2em var(--SITE-PADDING-H) 3em var(--SITE-PADDING-H);
  display: flex;
  flex-flow: column;
  grid-area: text-content;
}
.sp-insert-style-lp01 .sp-insert-content-wrap > * {
  max-width: var(--TYPO-LINE-MAX);
}
.sp-insert-style-lp01 .sp-insert-label {
  line-height: 1.5;
  letter-spacing: .05ch;
  max-width: none;
  margin-bottom: 1ex;
  flex: 1;
}
.sp-insert-style-lp01 .sp-insert-bgimg-wrapper {
  --img-max-height: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  grid-column: 1/-1;
  grid-row: 1/-1;
  position: initial;
}

.sp-insert-subwrapper-style-lp01 {
  display: grid;
  align-items: start;
  grid-column: 1/-1;
  grid-row: 1/-1;
}

.sp-insert-img-wrapper-style-lp01 {
  --img-height: 100%;
  height: 100%;
  max-width: var(--insert-img-width);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: flex-end;
  position: var(--insert-img-position);
  top: 0;
  right: 0;
}

.sp-insert-bgimg-style-lp01 {
  object-position: right;
}

@media (min-width: 45em) {
  .sp-insert-style-lp01 {
    --cta-max-width: initial;
    --cta-width: auto;
  }
}
@media (min-width: 64em) {
  .sp-insert-style-lp01 {
    --compo-content-font-size: 1.5rem;
    --compo-content-line-height: 1.5;
    --compo-title-font-size: 3.4rem;
    --insert-grid-template-areas: "text-content img";
    --insert-label-font-size: 1.35rem;
    --insert-img-width: 36rem;
    hyphens: none;
  }
  .sp-insert-style-lp01.sp-compo-has-bg {
    --insert-padding-right: 0;
  }
  .sp-insert-style-lp01 .sp-insert-content-wrap {
    padding-top: 2.5em;
    padding-bottom: 5em;
  }
  .sp-insert-style-lp01 .sp-insert-content {
    margin-right: 0.125em;
  }
}
.sp-insert-style-menu {
  --compo-padding-left: var(--SITE-PADDING-H);
  --insert-content-nested-grid-template-columns: 1fr;
  --insert-content-nested-gap: 3em 2em;
  --insert-grid-template-columns: auto 1fr;
  --link-text-deco-offset: .25ex;
  --link-text-deco-width: 0.1875rem;
  padding-bottom: 5em;
}
.sp-insert-style-menu.sp-insert-home {
  --vspace-factor-master: 0;
}

.sp-insert-style-menu-item {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --compo-title-font-weight: 100;
  --compo-title-text-transform: uppercase;
  --cta-align-items: flex-start;
  --cta-bg: transparent;
  --cta-content-color: var(--COLOR-PRIM);
  --cta-font-size: var(--TYPO-FONT-SIZE-MIN);
  --cta-line-height: var(--TYPO-LINE-HEIGHT-MIN);
  --cta-gap: 1ch;
  --cta-margin-top: 1.5em;
  --cta-padding: 0;
  --cta-text-align: left;
  --cta-text-transform: uppercase;
  --insert-content-space: 0;
  --insert-gap: 0 1em;
  --insert-grid-template-areas: "title img" "label img" "content img";
  --insert-letter-spacing: .1ex;
  --insert-label-text-transform: none;
  --insert-sub-display: grid;
  --insert-title-margin-bottom: 0;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  line-height: 1.5;
  max-width: 32em;
}
.sp-insert-style-menu-item .sp-insert-subwrapper {
  grid-template-rows: auto max-content 1fr;
}
.sp-insert-style-menu-item .sp-insert-title {
  min-height: 2.5em;
}
.sp-insert-style-menu-item .sp-insert-title a {
  display: flex;
  flex-wrap: wrap;
  gap: .6ch;
}
.sp-insert-style-menu-item .sp-insert-label {
  font-weight: 500;
  margin-bottom: 0;
  order: 1;
  flex: 100%;
}
.sp-insert-style-menu-item .sp-insert-content {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.sp-insert-style-menu-item .sp-block-cta-style-neutral {
  --cta-bg-hover: var(--COLOR-AKZENT-CONTRAST);
  --cta-border-color: transparent;
  --cta-content-color: var(--COLOR-PRIM);
  --cta-outline-color-hover: var(--cta-bg-hover);
  --cta-padding: 2ex 3ex;
  margin-bottom: -2ex;
  margin-left: -3ex;
}
.sp-insert-style-menu-item .sp-block-cta-style-quiet {
  --cta-bg-hover: var(--COLOR-AKZENT-CONTRAST);
  --cta-content-color: var(--COLOR-PRIM);
  --cta-outline-color: var(--COLOR-TERT);
  --cta-outline-color-hover: var(--cta-bg-hover);
  --cta-outline-width: 0.125em;
  --cta-padding: 2ex 3ex;
}
.sp-insert-style-menu-item .sp-block-cta-style-loud {
  --cta-bg: var(--COLOR-TERT);
  --cta-bg-hover: var(--COLOR-AKZENT-CONTRAST);
  --cta-border-width: 0;
  --cta-content-color: var(--COLOR-PRIM);
  --cta-content-color-hover: var(--COLOR-PRIM);
  --cta-padding: 2ex 3ex;
}
.sp-insert-style-menu-item .sp-block-cta {
  outline-offset: 0;
  opacity: .75;
}
.sp-insert-style-menu-item .sp-block-cta.sp-cta-has-icon {
  padding: var(--cta-padding, 0);
}

.sp-insert-style-menu-item::before {
  content: var(--insert-menu-item-before, "");
  height: 0.125em;
  width: 100%;
  margin-bottom: 3em;
  opacity: .15;
  display: block;
}
.sp-insert-style-menu-item:not(:first-child)::before {
  background: var(--COLOR-PRIM);
}

.sp-insert-img-wrapper-style-menu-item {
  --icon-color: currentColor;
  --icon-height: 6em;
  --icon-stroke-width: .3em;
  color: var(--COLOR-PRIM);
  text-align: right;
  opacity: .3;
  align-self: flex-start;
}

@media (min-width: 58em) {
  .sp-insert-style-menu {
    --insert-content-nested-grid-template-columns: 1fr 1fr;
    --insert-content-nested-gap: 4em 2em;
    padding-top: 3em;
  }

  .sp-insert-style-menu-item {
    margin-left: 12%;
  }
  .sp-insert-style-menu-item::before {
    height: 100%;
    width: 0.125em;
    position: absolute;
    top: 0;
    left: -12%;
  }
  .sp-insert-style-menu-item:nth-child(odd)::before {
    background: transparent;
  }
}
@media (min-width: 75em) {
  .sp-insert-style-menu {
    --insert-content-nested-grid-template-columns: 1fr 1fr 1fr;
  }

  .sp-insert-style-menu-item:not(:first-child)::before {
    background: transparent;
  }
  .sp-insert-style-menu-item:nth-of-type(3n+2)::before, .sp-insert-style-menu-item:nth-of-type(3n+2) + *::before {
    background: var(--COLOR-PRIM);
  }
}
.sp-insert-style-perso-01 {
  --compo-bg: #fefefe;
  --insert-content-margin-top: 1em;
  --insert-gap: 1em;
  --insert-label-color: var(--COLOR-AKZENT);
  --vspace-factor: 8;
  max-width: 25rem;
}
.sp-insert-style-perso-01 .sp-insert-label {
  font-weight: 500;
  align-self: flex-end;
}

@media (min-width: 45em) {
  .sp-insert-style-perso-01 {
    --compo-title-font-size: var(--typo-font-size-loud);
    --compo-title-line-height: var(--typo-line-height-loud);
    --insert-content-margin-top: 0;
    --insert-gap: 1em calc(1em + 4%);
    --insert-grid-template-rows: max-content;
    --insert-label-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
    --insert-sub-display: grid;
    --insert-title-margin-bottom: 1ex;
    --insert-grid-template-areas: "img label" "img title" "img content";
    max-width: none;
  }
  .sp-insert-style-perso-01 .sp-insert-content {
    margin-bottom: -1ex;
    align-self: flex-end;
  }
  .sp-insert-style-perso-01 .sp-insert-label {
    margin-top: 28%;
  }
  .sp-insert-style-perso-01 + .sp-insert-style-perso-01 {
    --insert-grid-template-areas: "label img" "title img" "content img";
  }

  .is-style-sp-column-04 .sp-insert-style-perso-01 {
    max-width: 24rem;
    --compo-padding-h: 0;
    --compo-title-font-size: 2em;
    --insert-content-margin-top: 1em;
    --insert-content-space: 1em;
    --insert-gap: 1ex;
    --insert-sub-display: flex;
  }
  .is-style-sp-column-04 .sp-insert-style-perso-01 .sp-insert-label {
    margin-top: 0;
  }
}
.sp-insert-style-posts-01 {
  --compo-padding-right: var(--SITE-PADDING-H);
  --compo-padding-left: var(--SITE-PADDING-H);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --img-object-fit: cover;
  --insert-bgimg-opacity: 1;
  --insert-content-margin-top: 1em;
  --post-card-max-width: 1rem;
  background: var(--COLOR-HELL);
}
.sp-insert-style-posts-01[data-sp-intent-tone='loud'] .sp-compo-post-card-wrapper {
  --post-card-display: grid;
  --post-card-grid-template-areas: "img" "header" "content";
  --post-card-img-radius: 0;
  --post-card-max-width: 100%;
}
.sp-insert-style-posts-01[data-sp-intent-tone='loud'] .sp-compo-post-card-article-style-card-01 {
  --post-card-padding: 1em;
  --post-card-padding-items-h: 0;
}
.sp-insert-style-posts-01[data-sp-intent-tone='loud'] .sp-compo-posts-title {
  max-width: var(--post-card-max-width);
}
.sp-insert-style-posts-01 * + .sp-compo-posts {
  margin-top: 2em;
}
.sp-insert-style-posts-01 .sp-insert-title {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
}
.sp-insert-style-posts-01 .sp-compo-posts-title {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  margin: 3em 0 2em;
}

.sp-insert-subwrapper-style-posts-01 {
  font-weight: 300;
  padding-top: 4em;
  padding-bottom: 8em;
  justify-content: center;
}
.sp-insert-subwrapper-style-posts-01[data-sp-intent-tone='loud'] > * {
  max-width: var(--SITE-CONTENT-MAX);
}

@media (min-width: 45em) {
  .sp-insert-style-posts-01[data-sp-intent-tone='loud'] .sp-compo-post-card-wrapper {
    --post-card-grid-template-areas: "img header" "img content";
  }
}
.sp-insert-style-posts-02 {
  --compo-content-color: #fefefe;
  --cta-margin-top: 3em;
  --insert-bg: url(data/img/metall-01-med.jpg);
  background: var(--COLOR-AKZENT-TERT);
  padding-top: 3em;
  padding-bottom: 6em;
}
.sp-insert-style-posts-02::before {
  content: '';
  background: var(--insert-bg), linear-gradient(#000, #000);
  background-size: cover;
  height: calc(20em + 20% );
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.sp-insert-style-posts-02 > * {
  z-index: 1;
}
.sp-insert-style-posts-02 .sp-compo-posts {
  --compo-content-color: #000;
}
.sp-insert-style-posts-02 * + .sp-compo-posts {
  margin-top: 3em;
}
.sp-insert-style-posts-02 .sp-insert-content {
  flex: 1;
}
.sp-insert-style-posts-02 .sp-insert-title {
  --headline-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --headline-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --headline-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  margin-bottom: 2em;
}

@media (min-width: 64em) {
  .sp-insert-style-posts-02 {
    --insert-bg: url(data/img/metall-01-max.jpg);
  }
}
.sp-insert-style-posts-03 {
  --compo-bg: var(--COLOR-GRAU-MIN);
  --compo-title-font-size: 3.5rem;
  --grid-max: 22em;
  --grid-min: 0;
  --insert-content-nested-gap: 3em;
  --insert-content-nested-justify-content: center;
  --insert-title-margin-bottom: 2em;
  --post-card-bg: transparent;
  padding-top: 4em;
  padding-bottom: 8em;
}

@supports (clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - var(--clipspace)), 0% 100%)) {
  .sp-insert-style-posts-03 {
    --clipspace: 3em;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--clipspace)), 0 100%);
  }
}
.sp-insert-style-posts-04 {
  --compo-bg: var(--COLOR-GRAU-MIN);
  --compo-title-font-size: 3.5rem;
  --grid-max: 22em;
  --grid-min: 0;
  --insert-content-nested-gap: 3em;
  --insert-content-nested-justify-content: center;
  --insert-title-margin-bottom: 2em;
  --post-card-bg: transparent;
  padding-top: 4em;
  padding-bottom: 8em;
}
.sp-insert-style-posts-04 .sp-insert-is-child {
  --compo-bg: #fefefe;
  padding: 1.5em 2em 3em 1.5em;
  border-radius: var(--SITE-RADIUS);
}
.sp-insert-style-posts-04 .sp-insert-is-child .sp-insert-subwrapper {
  --compo-title-font-size: 1.2em;
  --compo-title-font-weight: 700;
  --insert-label-color: #ff4747;
}
.sp-insert-style-posts-04 .sp-insert-is-child .sp-insert-img-wrapper {
  --icon-height: 2.75em;
}
.sp-insert-style-posts-04 .sp-insert-style-06 {
  --compo-bg-master: #fefefe;
  --compo-content-color-master: #333333;
  max-width: 38em;
}
.sp-insert-style-posts-04 .sp-icon-fail {
  --icon-color: #ff4747;
}

@supports (clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - var(--clipspace)), 0% 100%)) {
  .sp-insert-style-posts-04 {
    --clipspace: 3em;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--clipspace)), 0 100%);
  }
}
.is-style-sp-insert-wrap-01 {
  max-width: none;
  flex: initial;
}
.is-style-sp-insert-wrap-01 .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.is-style-sp-insert-wrap-01 .wp-block-group__inner-container > .sp-insert {
  --compo-bg: #fefefe;
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-ITEM);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-ITEM);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-ITEM);
  --cta-font-size: var(--TYPO-FONT-SIZE-MIN);
  --cta-line-height: var(--TYPO-LINE-HEIGHT-MIN);
  --cta-max-width: 100%;
  --cta-width: 100%;
  --insert-label-font-size: var(--TYPO-FONT-SIZE-MIN);
  --insert-sub-align-items: flex-end;
  padding: 1.5em;
  max-width: MIN(100%, 18rem);
  border-radius: var(--SITE-RADIUS);
}
.is-style-sp-insert-wrap-01 .wp-block-group__inner-container .sp-insert-title {
  margin-top: -.5ex;
}

* + .is-style-sp-insert-wrap-01 {
  margin-top: var(--vspace, 2em);
}

.is-style-sp-insert-wrap-02 {
  max-width: none;
  flex: initial;
}
.is-style-sp-insert-wrap-02 .wp-block-group__inner-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--insert-wrap-gap, 1em);
}
.is-style-sp-insert-wrap-02 .sp-compo-posts {
  max-width: var(--posts-max-width, MIN(100%, 24rem));
}

.sp-list {
  --compo-title-font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
  --icon-height: 1.75em;
  --list-spacer: var(--list-item-gap, 1ex);
}

* + .sp-list {
  margin-top: var(--list-space-top, calc(var(--list-spacer) + 1ex));
}

.sp-list-subwrapper {
  display: flex;
  flex-flow: column;
}

.sp-list-label {
  color: var(--list-label-content-color, var(--compo-content-color));
  text-transform: var(--list-label-text-transform);
  margin-bottom: var(--list-label-space-bottom);
  order: -1;
}

.sp-list-list {
  margin-bottom: calc(2 * var(--list-spacer) + 1ex);
  display: flex;
  flex-flow: var(--list-flex-flow, column);
  gap: var(--list-spacer);
}
.sp-list-list.sp-rule-stack-items {
  --list-item-max-width: var(--TYPO-LINE-MAX, 100%);
  --list-item-width: 100%;
  display: grid;
  grid-template-columns: initial;
}
.sp-list-list.sp-rule-stack-items .sp-insert {
  width: 100%;
}

.sp-list-item {
  color: var(--list-item-content-color-master, var(--list-item-content-color));
  background: var(--list-item-bg-master, var(--list-item-bg));
  border-radius: var(--list-item-border-radius);
  padding: var(--list-item-padding);
  width: var(--list-item-width);
  max-width: var(--list-item-max-width, var(--TYPO-LINE-MAX));
  min-width: var(--list-item-min-width);
  display: flex;
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  gap: var(--list-item-gap, 1ch);
  position: relative;
}

.sp-list-item-content {
  align-self: var(--list-content-align-self, flex-start);
  flex: 1;
}

.sp-list-item-icon {
  align-self: var(--list-icon-align-self, flex-start);
}

.sp-list-style-00 {
  --compo-title-font-size: var(--TYPO-TITLE-FONT-SIZE-ITEM);
  --compo-title-font-weight: var(--TYPO-TITLE-FONT-WEIGHT-ITEM);
  --compo-title-line-height: var(--TYPO-TITLE-LINE-HEIGHT-ITEM);
  --compo-title-space-bottom: 1rem;
  --list-main-bg: var(--COLOR-MIN);
  --list-spacer: .1em;
}
.sp-list-style-00.align-center {
  padding-top: 5em;
  padding-bottom: 6em;
}
.sp-list-style-00.align-center .sp-list-subwrapper-style-00 {
  max-width: var(--TYPO-LINE-MAX);
  margin-right: auto;
  margin-left: auto;
}
.sp-list-style-00[data-sp-intent-tone='loud'] {
  --compo-content-color: var(--COLOR-AKZENT-CONTRAST);
  --compo-title-bg: var(--COLOR-AKZENT-SEC);
  --compo-title-content-color: var(--COLOR-AKZENT-CONTRAST);
  --list-bg: #fefefe;
  --list-main-bg: var(--COLOR-AKZENT-HELL);
}
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-subwrapper-style-00 {
  padding: 0;
}
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-subwrapper-style-00 > *:first-child {
  border-radius: var(--SITE-RADIUS) var(--SITE-RADIUS) 0 0;
}
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-item,
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-label,
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-title {
  padding: 1.5ex 2rem;
}
.sp-list-style-00[data-sp-intent-tone='loud'] .sp-list-item:last-child {
  padding-bottom: 3ex;
}
.sp-list-style-00[data-sp-intent-tone='loud'][data-sp-intent-mood='dunkel'] {
  --compo-content-color: var(--COLOR-PRIM-CONTRAST);
  --compo-title-bg: var(--COLOR-PRIM);
  --compo-title-content-color: var(--COLOR-PRIM-CONTRAST);
  --list-content-color: var(--COLOR-PRIM-CONTRAST);
  --list-main-bg: var(--COLOR-SEC);
}
.sp-list-style-00[data-sp-intent-tone='neutral'] {
  --compo-title-space-bottom: 2em;
}

.sp-list-subwrapper-style-00 {
  background: var(--list-main-bg);
  border-radius: var(--SITE-RADIUS);
  padding: 2em 3em 5em;
  display: flex;
  flex-flow: column;
  gap: var(--list-subwrapper-gap, 0);
}

.sp-list-list-style-00 {
  color: var(--list-content-color, var(--COLOR-PRIM));
  background: var(--list-bg, var(--COLOR-DECO));
  margin-bottom: 0;
  display: grid;
}

.sp-list-item-style-00 {
  background: var(--list-main-bg);
  padding-bottom: 1.6ex;
}
.sp-list-item-style-00 + .sp-list-item-style-00 {
  padding-top: 1.6ex;
}

.sp-list-style-01 {
  --compo-max-width: none;
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --compo-title-font-weight: 600;
  --compo-title-space-bottom: 1em;
  --icon-color: var(--COLOR-META);
  --icon-opacity: .5;
  --list-flex-flow: wrap;
  --list-flex-flow: wrap;
  --list-item-bg: var(--COLOR-HELL);
  --list-item-border-radius: var(--SITE-RADIUS);
  --list-item-content-color: #333333;
  --list-item-max-width: MIN(100%, 36rem);
  --list-item-min-width: MIN(100%, 24rem);
  --list-item-padding: calc(2em - 1ex) 2em 3.5em;
  --list-label-space-bottom: 1em;
  --list-label-text-transform: uppercase;
  --list-label-content-color: var(--COLOR-META);
  --vspace-factor: 10;
  font-weight: 300;
  line-height: 1.5;
}
.sp-list-style-01.sp-is-akzent {
  --compo-bg: var(--COLOR-HELL);
  --list-item-bg: #fefefe;
  --list-item-content-color: #000;
  padding-top: 3em;
  padding-bottom: 4em;
}
.sp-list-style-01 p {
  margin-bottom: 1ex;
}
.sp-list-style-01 strong {
  font-weight: 600;
}
.sp-list-style-01 .sp-list-item {
  padding-right: calc( 1.25 * var(--icon-height) );
}
.sp-list-style-01 .sp-list-item-icon {
  position: absolute;
  right: 1em;
  bottom: 1em;
}

.sp-list-list-style-01 {
  display: grid;
  grid-template-columns: 100%;
}

ol.sp-list-list-style-01 .sp-list-item-style-01 {
  counter-increment: inset;
}
ol.sp-list-list-style-01 .sp-list-item-style-01::before {
  content: counters(inset,"");
  color: var(--COLOR-GRAU-DARK);
  font-size: var(--insert-counter-font-size, var(--compo-title-font-size));
  font-weight: 100;
  line-height: 1.3;
  text-align: var(--insert-counter-text-align, left);
  min-width: 2ch;
  margin-top: -.25ex;
  opacity: .5;
  grid-area: counter;
  align-self: flex-start;
}

.sp-list-style-01a {
  --icon-color: #df2020;
  --list-item-bg-master: #ffcccc;
}

@media (min-width: 45em) {
  .sp-list-list-style-01.sp-rule-stack-items {
    --icon-height: auto;
    --icon-opacity: .2;
    --icon-stroke-width: 0.1875em;
    --icon-width: 6em;
  }
  .sp-list-list-style-01.sp-rule-stack-items .sp-list-item-style-01 {
    padding-right: 1em;
  }
  .sp-list-list-style-01.sp-rule-stack-items .sp-list-item-icon {
    margin-top: -1.2ex;
    order: 1;
    position: static;
  }
}
@media (min-width: 64em) {
  .sp-list-list-style-01 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.sp-list-style-02 {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --compo-title-space-bottom: 2em;
  --list-item-gap: 2em 1em;
  counter-reset: list-02;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  font-weight: 400;
}

ol.sp-list-list-style-02 .sp-list-item-style-02 {
  --headline-font-size: 110%;
}
ol.sp-list-list-style-02 .sp-list-item-style-02::before {
  counter-increment: list-02;
  content: counter(list-02);
  font-size: var(--headline-font-size);
  font-weight: 600;
  display: block;
  align-self: start;
}
ol.sp-list-list-style-02 h2, ol.sp-list-list-style-02 h3, ol.sp-list-list-style-02 h4 {
  font-size: var(--headline-font-size);
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 1ex;
}
ol.sp-list-list-style-02 h2 .sp-small, ol.sp-list-list-style-02 h3 .sp-small, ol.sp-list-list-style-02 h4 .sp-small {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  font-weight: normal;
}

@media (min-width: 64em) {
  .sp-list-style-02 {
    --compo-title-space-bottom: 1em;
  }
  .sp-list-style-02[data-sp-intent-tone='quiet'] {
    color: var(--COLOR-SEC);
  }
  .sp-list-style-02[data-sp-intent-tone='quiet'] p {
    color: var(--COLOR-GRAU-DARK);
  }
}
.sp-list-style-03 {
  --compo-title-font-size: 2em;
  --compo-title-font-weight: 600;
  --compo-title-space-bottom: 1em;
  --list-spacer: 2em;
}
.sp-list-style-03 .sp-insert {
  height: 100%;
}

.sp-list-list-style-03 {
  --grid-min: MIN(38rem, 100%);
  --grid-max: 1fr;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, MIN(24rem, 100%)), var(--grid-max, 1fr)));
}

.sp-list-item-content-style-03 {
  display: flex;
  flex-wrap: wrap;
  align-self: stretch;
}

@media (min-width: 64em) {
  .sp-list-style-03 {
    --compo-max-width: none;
    border-radius: 0 var(--SITE-RADIUS) var(--SITE-RADIUS) 0;
  }
}
.sp-list-style-footer-01 {
  --compo-title-font-weight: 500;
  --compo-title-space-bottom: 1ex;
}

@media (min-width: 64em) {
  .sp-list-list-style-footer-01 {
    padding-left: 1.6ch;
    border-left: solid var(--COLOR-SEC) 0.0625em;
  }
}
/*------------------------------------------------------------------------------
  COMPO: %%PERSONALIEN
------------------------------------------------------------------------------*/
.sp-personalien {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --compo-title-font-weight: 700;
  --compo-title-line-height: 1.3;
  --link-content-color: var(--perso-color-meta);
  --link-content-color-hover: #000;
  --link-text-deco-color: var(--COLOR-AKZENT-SEC);
  --link-text-deco-color-hover: var(--COLOR-AKZENT);
  --link-text-deco-offset: 1ex;
  --link-text-deco-width: 0.125em;
  --link-text-deco-offset: 0.25em;
  --perso-color-meta: var(--COLOR-META);
  --title-font-weight: 500;
  --vspace-factor: 5;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  flex: 100%;
}
.sp-personalien a:not([class*='sp-personalien-item-']) {
  --link-border-width: .125em;
  text-underline-offset: 0.25em;
  outline: 0;
}

.sp-personalien-subwrapper {
  background: var(--perso-bg);
  background-size: 100%;
  padding: var(--perso-padding);
  border-radius: var(--perso-compo-border-radius, var(--SITE-RADIUS));
}

.sp-personalien-title {
  hyphens: none;
}

.sp-personalien-prolog {
  max-width: var(--perso-content-max-width, 32rem);
  margin-bottom: var(--perso-prolog-space-bottom, 3em);
}

.sp-personalien-items {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--perso-item-gap, 2em);
}

.sp-personalien-item {
  background: var(--perso-item-bg);
  max-width: var(--perso-item-max-width);
  min-width: var(--perso-item-min-width);
}
.sp-personalien-item .sp-icon {
  min-width: min-content;
}

.sp-personalien-item-subwrapper {
  display: var(--perso-display, grid);
  grid-template-areas: var(--perso-grid-template-areas);
  grid-template-columns: var(--perso-grid-template-columns);
  grid-template-rows: var(--perso-grid-template-rows);
  gap: var(--perso-grid-gap, 0 1em);
}

.sp-personalien-item-content-wrap {
  display: grid;
  grid-area: content;
  grid-template-areas: var(--perso-content-grid-template-areas);
}

.sp-personalien-item-meta-wrap {
  display: grid;
  grid-area: meta;
  grid-template-areas: var(--perso-meta-grid-template-areas);
}

.sp-personalien-item-txt {
  max-width: var(--perso-content-max-width, 32rem);
}

.sp-personalien-item-title {
  margin-bottom: var(--title-space-bottom);
  grid-area: title;
}

.sp-personalien-item-content {
  grid-area: content;
}

.sp-personalien-item-descr {
  grid-area: descr;
}

.sp-personalien-item-details {
  color: var(--perso-color-meta);
}

.sp-personalien-item-details-summary {
  --icon-height: 1.5rem;
}

.sp-personalien-item-img-wrapper {
  max-width: var(--perso-img-max-width, 12em);
  grid-area: img;
}

.sp-personalien-item-status {
  color: var(--perso-color-meta);
  grid-area: status;
}

.sp-personalien-item-tel {
  grid-area: tel;
}

.sp-personalien-item-links {
  grid-area: links;
  gap: 1em;
}

.sp-personalien-item-email,
.sp-personalien-item-link {
  --link-txt-underline-offset: 0.25em;
}
.sp-personalien-item-email:focus, .sp-personalien-item-email:hover, .sp-personalien-item-email:active,
.sp-personalien-item-link:focus,
.sp-personalien-item-link:hover,
.sp-personalien-item-link:active {
  --icon-link-ext-ani: sp-ani-img 1s infinite;
}

.sp-personalien-item-tel {
  --icon-space-right: .5ch;
}

.sp-personalien-item-tel-sub {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.sp-personalien-item-tel-icon {
  --icon-height: 1.5rem;
  --icon-stroke-width: .8em;
  animation: var(--tel-ani);
}

.sp-personalien-item-tel-app:focus, .sp-personalien-item-tel-app:hover, .sp-personalien-item-tel-app:active {
  --tel-ani: sp-icon-shaker 3 .16s;
}

@media (max-width: 64em) {
  .sp-personalien {
    --perso-compo-border-radius: 0;
    --compo-max-width: none;
    --compo-padding-right: 0;
    --compo-padding-left: 0;
  }

  .sp-personalien-subwrapper {
    padding-right: var(--SITE-PADDING-H);
    padding-left: var(--SITE-PADDING-H);
  }

  .sp-personalien-item-links {
    margin-top: 1em;
    display: block;
  }
}
/*ENDE:compo-personalien------------------------------------------------------------------------------*/
.sp-personalien-style-perso-01 {
  --compo-max-width: none;
  --compo-padding-right: var(--SITE-PADDING-H);
  --compo-padding-left: var(--SITE-PADDING-H);
  --compo-title-font-size: 160%;
  --compo-title-font-weight: 700;
  --compo-title-space-bottom: 1ex;
  --content-top-child-space-top: 0;
  --details-outline-color: transparent;
  --details-summary-bg: transparent;
  --link-outline-width: .125em;
  --link-text-deco-color: transparent;
  --perso-bg: transparent;
  --perso-content-grid-template-areas: "title" "content";
  --perso-display: flex;
  --perso-grid-gap: 0;
  --perso-icon-gap: .5rem;
  --perso-item-bg: #fff;
  --perso-item-gap: 2em MAX(2em, 3%);
  --perso-item-grid-template-columns: repeat(auto-fit, minmax(MIN(16rem, 100%), 23.25rem));
  --perso-item-max-width: 23.25rem;
  --perso-item-meta-font-weight: 300;
  --perso-item-min-width: MIN(100%, 16rem);
  --perso-padding: 0;
  background: var(--COLOR-MIN);
  padding-top: 1em;
  padding-bottom: 7em;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='neutral'] {
  --perso-img-max-width: 100%;
  --perso-img-space-bottom: 2em;
  --perso-img-space-bottom-expanded: 4em;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] {
  --perso-display: flex;
  --perso-grid-gap: 1em;
  --perso-img-space-bottom-expanded: 1em;
  --perso-img-space-bottom-expanded: 1em;
  --perso-item-grid-template-columns: initial;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-content-wrap {
  min-height: 3rem;
  display: flex;
  flex-flow: column;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-img-wrapper {
  align-self: start;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-links,
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-tel {
  order: 6;
}
.sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-status {
  margin-bottom: 0;
}
.sp-personalien-style-perso-01 + .sp-personalien-style-perso-01 {
  --_vspace: 0;
  padding-top: 0;
}
.sp-personalien-style-perso-01 .sp-personalien-items {
  grid-template-columns: var(--perso-item-grid-template-columns);
}
.sp-personalien-style-perso-01 .sp-personalien-item-subwrapper {
  padding-bottom: 2em;
  flex-wrap: wrap;
}
.sp-personalien-style-perso-01 .sp-personalien-item-subwrapper > * {
  padding-right: 1rem;
  padding-left: 1rem;
  flex: 100%;
}
.sp-personalien-style-perso-01 .sp-personalien-item {
  width: 100%;
}
.sp-personalien-style-perso-01 .sp-personalien-item:not(.sp-has-img)::before {
  content: '';
  background-image: url(./data/img/koris-kugeln.svg);
  background-position: 30% 65%;
  background-repeat: no-repeat;
  background-size: auto 50%;
  padding: 1ex;
  width: 100%;
  max-width: 90%;
  margin-bottom: var(--perso-img-space-bottom);
  transform: rotate(-82deg);
  aspect-ratio: 1/1.11;
  opacity: .5;
  display: block;
}
.sp-personalien-style-perso-01 .sp-personalien-item:not(.sp-has-status) {
  --perso-img-space-bottom: var(--perso-img-space-bottom-expanded);
}
.sp-personalien-style-perso-01 .sp-personalien-item-content {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  order: 3;
}
.sp-personalien-style-perso-01 .sp-personalien-item-content strong {
  font-weight: 550;
}
.sp-personalien-style-perso-01 .sp-personalien-item-descr {
  @typo-marginalie;
  line-height: 1.4;
  margin-bottom: 1.5em;
  order: -7;
}
.sp-personalien-style-perso-01 .sp-personalien-item-descr ~ * {
  margin-bottom: 1em;
}
.sp-personalien-style-perso-01 * + .sp-personalien-item-descr {
  margin-top: .75em;
}
.sp-personalien-style-perso-01 .sp-personalien-item-details {
  font-weight: var(--perso-item-meta-font-weight);
  margin-bottom: 0;
}
.sp-personalien-style-perso-01 .sp-personalien-item-details .sp-personalien-item-content {
  padding: 1ex 1ex 0;
}
.sp-personalien-style-perso-01 .sp-personalien-item-details-summary {
  font-weight: inherit;
  padding: 0;
  border-radius: 0;
  outline-offset: .125em;
  gap: var(--perso-icon-gap);
}
.sp-personalien-style-perso-01 .sp-personalien-item-details-summary:hover {
  --icon-color: currentColor;
  color: var(--COLOR-FULL);
  outline-color: transparent;
}
.sp-personalien-style-perso-01 .sp-personalien-item-details-icon {
  margin: 0;
}
.sp-personalien-style-perso-01 .sp-personalien-item-links {
  font-weight: var(--perso-item-meta-font-weight);
  display: grid;
  order: -6;
}
.sp-personalien-style-perso-01 .sp-personalien-item-link {
  --icon-height: 1.5em;
  --link-content-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color-hover: currentColor;
  margin-right: auto;
  display: inline-flex;
  flex-flow: row-reverse;
  flex-flow: row-reverse;
  justify-content: flex-end;
}
.sp-personalien-style-perso-01 * + .sp-personalien-item-link {
  margin-top: var(--perso-item-link-space-top, 0);
}
.sp-personalien-style-perso-01 .sp-personalien-item-meta-wrap {
  justify-content: flex-start;
}
.sp-personalien-style-perso-01 .sp-personalien-item-email {
  --icon-height: 1.5em;
  --icon-stroke-width: .8em;
  margin-right: auto;
  flex-flow: row-reverse;
  gap: var(--perso-icon-gap);
}
.sp-personalien-style-perso-01 .sp-personalien-item-img-wrapper {
  max-width: none;
  padding: 0;
  margin-bottom: var(--perso-img-space-bottom);
  align-self: end;
  order: -10;
  flex: 100%;
}
.sp-personalien-style-perso-01 .sp-personalien-item-status {
  text-transform: uppercase;
  margin-bottom: 1ex;
  order: -9;
}
.sp-personalien-style-perso-01 .sp-personalien-item-tel {
  font-weight: var(--perso-item-meta-font-weight);
  gap: var(--perso-icon-gap);
  order: -5;
}
.sp-personalien-style-perso-01 .sp-personalien-item-title {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-ITEM);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-ITEM);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-ITEM);
  order: -8;
  flex: 100%;
}

@media (min-width: 52.125em) {
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] {
    --perso-grid-template-columns: 1fr 2fr;
    --perso-img-space-bottom: 0;
    --perso-img-space-bottom-expanded: 0;
    --perso-item-grid-template-columns: repeat(4, minmax(0, 23.25rem));
    --perso-item-max-width: 74.5rem;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-img-wrapper {
    margin-top: -2em;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item {
    --img-max-width: 22.75rem;
    display: grid;
    grid-column: span 4;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item.sp-has-img {
    --perso-display: grid;
    --perso-grid-template-areas: "img status" "img title" "img content" "img links" "img tel";
    --perso-grid-template-rows: min-content min-content 1fr;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item.sp-has-img .sp-personalien-item-subwrapper {
    padding-bottom: 0;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item.sp-has-img .sp-personalien-item-content-wrap {
    grid-area: title;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item.sp-has-img .sp-personalien-item-content {
    padding-bottom: 2em;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item.sp-has-img .sp-personalien-item-status {
    margin-bottom: 0;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item:not(.sp-has-img) {
    grid-template-columns: 1fr 2fr;
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item:not(.sp-has-img)::before {
    background-size: 75% 75%;
    max-width: var(--img-max-width);
  }
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item-subwrapper {
    padding-top: 2em;
    padding-right: 1em;
    align-content: flex-start;
  }
  .sp-personalien-style-perso-01 .sp-personalien-item-links,
  .sp-personalien-style-perso-01 .sp-personalien-item-tel {
    margin-bottom: 2em;
  }
}
@media (min-width: 64em) {
  .sp-personalien-style-perso-01[data-sp-intent-tone='loud'] .sp-personalien-item {
    --perso-content-max-width: 38rem;
    max-width: 100%;
    grid-column: span 3;
  }
}
.sp-personalien-style-perso-02 {
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --perso-content-grid-template-areas: "title" "content";
  --perso-grid-template-areas: "status    ..." "content links" "meta 	 links";
  --perso-grid-template-columns: 1fr max-content;
  --perso-item-max-width: 38em;
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  width: 100%;
}
.sp-personalien-style-perso-02 .sp-personalien-item-subwrapper {
  background: #fefefe;
  padding: 1.5em 2em 2em;
  border-radius: var(--SITE-RADIUS);
  justify-content: space-between;
  gap: 0 2em;
}
.sp-personalien-style-perso-02 .sp-personalien-item.sp-has-img {
  --perso-grid-template-areas: "status    ..." "content   img" "meta 	 links";
}
.sp-personalien-style-perso-02 .sp-personalien-item-img-wrapper {
  margin-bottom: 1em;
}
.sp-personalien-style-perso-02 .sp-personalien-item-img {
  border-radius: var(--SITE-RADIUS);
}
.sp-personalien-style-perso-02 .sp-personalien-item-content-wrap {
  align-content: flex-start;
}
.sp-personalien-style-perso-02 .sp-personalien-item-status {
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  font-weight: 400;
  text-transform: uppercase;
}
.sp-personalien-style-perso-02 .sp-personalien-item-title {
  margin-bottom: 1.25ex;
}
.sp-personalien-style-perso-02 .sp-personalien-item-content {
  margin-bottom: 2ex;
}
.sp-personalien-style-perso-02 .sp-personalien-item-meta-wrap {
  align-content: flex-end;
  grid-template-areas: "descr" "tel";
}
.sp-personalien-style-perso-02 .sp-personalien-item-descr {
  color: var(--COLOR-AKZENT-SEC);
  font-style: italic;
  margin-bottom: 1ex;
}
.sp-personalien-style-perso-02 .sp-personalien-item-tel {
  --link-content-color-master: var(--COLOR-AKZENT-SEC);
  --link-content-color-hover: var(--COLOR-AKZENT);
  --link-text-deco-color: transparent;
  --link-text-deco-width-hover: 0.125em;
  color: var(--COLOR-AKZENT-SEC);
}
.sp-personalien-style-perso-02 .sp-personalien-item-tel .sp-link {
  border-radius: .5em;
}
.sp-personalien-style-perso-02 .sp-personalien-item-tel {
  align-self: flex-end;
}
.sp-personalien-style-perso-02 .sp-personalien-item-links {
  --link-content-color: var(--COLOR-AKZENT-SEC);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: grid;
  justify-content: flex-end;
}
.sp-personalien-style-perso-02 .sp-personalien-item-email.sp-link:focus .sp-personalien-item-email-icon, .sp-personalien-style-perso-02 .sp-personalien-item-email.sp-link:hover .sp-personalien-item-email-icon, .sp-personalien-style-perso-02 .sp-personalien-item-email.sp-link:active .sp-personalien-item-email-icon {
  --email-icon-ani: sp-element-fade infinite 1.2s;
}
.sp-personalien-style-perso-02 .sp-personalien-item-email,
.sp-personalien-style-perso-02 .sp-personalien-item-link {
  --icon-height: 2em;
  --link-border-color: currentColor;
  --link-border-width: 0.0625em;
  --link-content-color: var(--COLOR-AKZENT-SEC);
  --link-content-color-hover: var(--COLOR-AKZENT);
  --link-text-deco-color: transparent;
  --link-text-deco-width: 0.0625em;
  --link-text-deco-width-hover: 0.125em;
  line-height: 1.1;
  text-transform: uppercase;
  border-radius: var(--SITE-RADIUS);
  padding: 1ex 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.sp-personalien-style-perso-02 .sp-personalien-item-email-icon {
  --ani-fade-horz: 1.25em;
  --ani-fade-vert: 0;
  animation: var(--email-icon-ani);
}

@media (max-width: 45em) {
  .sp-personalien-style-perso-02 {
    --perso-content-grid-template-areas: "title" "content";
    --perso-grid-template-areas: "status" "content" "meta" "links";
    --perso-grid-template-columns: 100%;
  }
  .sp-personalien-style-perso-02 .sp-personalien-item.sp-has-img {
    --perso-content-grid-template-areas: "title" "content";
    --perso-grid-template-areas: "status" "content" "img" "meta" "links";
  }
  .sp-personalien-style-perso-02 .sp-personalien-item .sp-personalien-item-img-wrapper {
    margin-top: 2em;
  }
}
@media (min-width: 64em) {
  .sp-personalien-style-perso-02 {
    --title-font-size: 1.4rem;
    --title-line-height: 1.3;
  }
}
.sp-block-projekt-style-00 {
  --compo-max-width: var(--TYPO-LINE-MAX);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
}

.sp-block-projekt-subwrapper-style-00 {
  --compo-padding-h: 1rem;
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --headline-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --headline-font-weight: 500;
  --headline-line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  position: relative;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-link,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-title {
  padding: 2rem var(--compo-padding-h);
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-txt,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-title-txt,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-subtitle {
  max-width: 38em;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-title,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-link,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-tags {
  --link-content-color-hover: var(--COLOR-AKZENT-CONTRAST);
  --link-outline-color-focus: var(--COLOR-AKZENT-CONTRAST);
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width-hover: 0.125em;
  --selection-bg: var(--COLOR-AKZENT-CONTRAST);
  --selection-color: var(--COLOR-PRIM);
  background: var(--COLOR-PRIM);
  color: #fefefe;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-leistungen,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-zielgruppen {
  background: var(--COLOR-SEC);
  color: #fefefe;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-leistungen + .sp-block-projekt-item-zielgruppen {
  padding-top: 1.5em;
  position: relative;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-leistungen + .sp-block-projekt-item-zielgruppen::before {
  content: '';
  height: 2em;
  width: 90%;
  border-top: solid 0.125em rgba(255, 255, 255, 0.3);
  display: block;
  position: absolute;
  top: 0;
  left: var(--compo-padding-h);
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-link {
  --icon-height: 5em;
  --icon-stroke-width: .15em;
  --link-font-weight: 200;
  padding-top: 0;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-content,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-kontakt,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-org {
  border: var(--LINE-WIDTH-MIN) var(--LINE-STYLE) var(--COLOR-TERT);
  border-top: 0;
  border-bottom: 0;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-content,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-kontakt,
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-org {
  --icon-color: var(--COLOR-META);
  padding-bottom: 0;
}
.sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-tags {
  padding-top: 0;
}
.sp-block-projekt-subwrapper-style-00 > *:first-child {
  border-radius: 1rem 1rem 0 0;
}
.sp-block-projekt-subwrapper-style-00 > *:last-child {
  padding-bottom: 5em;
  border: var(--LINE-WIDTH-MIN) var(--LINE-STYLE) var(--COLOR-TERT);
  border-top: 0;
  border-radius: 0 0 1rem 1rem;
}

.sp-block-projekt-item {
  display: grid;
  grid-template-areas: var(--proj-item-grid-areas, "icon title" "... txt");
  grid-template-columns: var(--proj-item-grid-columns, max-content 1fr);
  gap: var(--proj-item-gap, 0 1.5em);
}

.sp-block-projekt-item-icon {
  --icon-height: 2em;
  grid-area: icon;
}

.sp-block-projekt-item-title {
  grid-area: title;
}

.sp-block-projekt-item-txt {
  grid-area: txt;
}

@media (min-width: 45em) {
  .sp-block-projekt-subwrapper-style-00 {
    --compo-padding-h: 2rem;
  }
  .sp-block-projekt-subwrapper-style-00 .sp-block-projekt-title,
  .sp-block-projekt-subwrapper-style-00 .sp-block-projekt-item-tags {
    padding-right: calc(2rem + 25%);
  }
  .sp-block-projekt-subwrapper-style-00 .sp-block-projekt-link {
    --icon-height: 6em;
    background: transparent;
    padding-top: 1ex;
    padding-bottom: 0;
    border-radius: 0 1rem 0 0;
    width: calc(2rem + 25%);
    display: block;
    position: absolute;
    top: 0;
    right: var(--compo-padding-h);
  }
}
/*------------------------------------------------------------------------------
  %%SOCIAL %%SHARE
------------------------------------------------------------------------------*/
.sp-share-holder {
  --compo-icon-sub-color: var(--share-icon-color, var(--COLOR-GRAU-MED));
  --compo-icon-sub-color-hover: var(--share-icon-color-hover, var(--social-color));
  --compo-icon-sub-height: var(--share-icon-height, 3em);
  --content-color-hover: var(--social-color);
  --link-content-color: var(--compo-color-highlight, var(--COLOR-HIGHLIGHT));
  --link-icon-trans: .15s ease-out;
  --link-outline-offset: .25em;
  --link-outline-width: var(--LINE-WIDTH-MED);
  --link-trans: .05s ease-out;
  padding-bottom: 1em;
}

.sp-share-list {
  max-width: var(--share-list-max-width, 100%);
  display: flex;
  flex-wrap: wrap;
  gap: var(--share-item-gap, 1.5ch);
}

.sp-share-list-link {
  --link-content-color-hover: var(--social-color);
  display: inline-block;
}
.sp-share-list-link:focus, .sp-share-list-link:focus:active {
  --link-outline-color: var(--compo-color-focus, var(--COLOR-FOCUS));
}
.sp-share-list-link:hover, .sp-share-list-link:active {
  transform: var(--share-icon-transform, scale(1.15));
}
.sp-share-list-link:hover .sp-icon, .sp-share-list-link:active .sp-icon {
  --share-border-color: var(--share-link-border-color-hover, var(--social-color));
}

.sp-share-link-icon {
  line-height: 1;
}
.sp-share-link-icon .sp-icon-sub {
  padding-bottom: .25em;
  border-bottom: 0.25em solid var(--share-link-border-color, transparent);
  display: inline-block;
}

.sp-compo-webpage {
  --compo-bg: transparent;
  --pageheader-space-bottom: 3rem;
  max-width: 100%;
  padding: 0;
  flex: 100%;
  display: grid;
  grid-template-areas: "img" "header" "intro" "content" "aside" "footer";
  grid-template-columns: 100%;
}

.sp-compo-webpage-slot {
  padding-right: var(--main-padding-right, var(--_main-padding-right));
  position: relative;
  z-index: 1;
}

.sp-compo-webpage-slot-header {
  --_main-padding-right: var(--SITE-PADDING-H, 0);
  --clip-space: 0rem;
  --compo-bg: var(--COLOR-PRIM);
  --compo-content-color: var(--COLOR-PRIM-CONTRAST);
  --link-outline-color-focus: var(--COLOR-HIGHLIGHT);
  --link-outline-offset: .25em;
  --link-text-deco-color: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color-focus: transparent;
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-offset: .45em;
  --link-text-deco-width: 0.125em;
  --post-header-padding-top: 3rem;
  --post-meta-space-top: 1em;
  --selection-bg: var(--COLOR-AKZENT-HELL);
  --selection-color: var(--COLOR-PRIM);
  --subtitle-margin-top: 0;
  --terms-flow: wrap;
  --terms-gap: 1ch;
  --title-font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-1);
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-1);
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-1);
  background: var(--compo-bg);
  color: var(--compo-content-color);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--clip-space)), 0 100%);
  min-height: 10rem;
  padding: var(--post-header-padding-top) var(--SITE-PADDING-LEFT) 4em;
  margin-top: -0.0625em;
  position: initial;
  display: flex;
  flex-flow: column;
  flex: 100%;
  grid-column: span 2;
}
.sp-compo-webpage-slot-header.sp-has-icon {
  --post-icon-left: calc(-1.75 * var(--icon-height,1.25em));
  --post-icon-position: absolute;
  margin-left: 6em;
}

.sp-compo-webpage-pageheader-pseudo {
  background: var(--COLOR-PRIM);
  background-image: var(--pageheader-gradient, linear-gradient(to top, transparent, rgba(0, 0, 0, 0.4) var(--post-header-shadow-offset, 3rem), rgba(0, 0, 0, 0.6) 31.46%, rgba(0, 0, 0, 0.5) 97.2%)), var(--post-header-img, var(--post-header-img-src-2, var(--post-header-img-src)));
  background-attachment: scroll,fixed;
  background-repeat: no-repeat,repeat;
  background-size: 100% 80%, var(--pageheader-bg-sizing, auto 50rem);
  max-height: var(--pageheader-height, 70rem);
  height: 100%;
  width: 100%;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  z-index: -1;
}

.sp-compo-webpage-slot-header-subwrapper {
  height: 100%;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}
.sp-compo-webpage-slot-header-subwrapper > * {
  --header-image-padding: 0;
  max-width: var(--main-header-txt-max-width, var(--SITE-CONTENT-MAX));
  box-sizing: initial;
}
.sp-compo-webpage-slot-header-subwrapper .sp-archive-sort {
  --cta-bg: var(--COLOR-PRIM);
  --cta-bg-focus: var(--COLOR-HIGHLIGHT);
  --cta-bg-hover: var(--COLOR-HIGHLIGHT);
  --cta-border-color: var(--cta-bg);
  --cta-border-color-focus: var(--COLOR-HIGHLIGHT);
  --cta-outline-color-focus: var(--COLOR-HIGHLIGHT);
  --select-outline-color-focus: var(--cta-outline-color-focus);
  --spr: .5rem;
  background: var(--COLOR-SEC);
  font-weight: 400;
  border: 0;
  padding: 1em;
  flex-flow: column;
}

@media (min-width: 45em) {
  .sp-compo-webpage-slot-header-subwrapper .sp-archive-sort {
    flex-flow: row;
  }
}
.sp-compo-webpage-header-image {
  --img-width: 100%;
  --image-max-width: 100%;
  background: var(--COLOR-DARK);
  width: 100%;
  max-height: 14rem;
  max-width: none;
  padding: var(--header-image-padding);
  margin-top: calc( -1 * var(--post-header-padding-top) );
  margin-bottom: 4em;
  overflow: hidden;
  grid-area: header-img;
  order: -10;
}

.sp-compo-webpage-post-label {
  --link-text-deco-color: currentColor;
  color: var(--COLOR-AKZENT);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  letter-spacing: .1ex;
  text-transform: uppercase;
  margin-bottom: 1ex;
  display: flex;
  flex-wrap: wrap;
  order: -2;
  grid-area: label;
}
.sp-compo-webpage-post-label .sp-post-terms {
  --compo-title-font-weight: inherit;
  --deli-margin-right: 0;
  display: flex;
  align-items: baseline;
  gap: .5ch;
}

.sp-compo-webpage-post-title {
  --icon-height: 1.25em;
  max-width: 60rem;
  display: flex;
  flex-wrap: wrap;
  flex: 100%;
  gap: 1ex;
  order: var(--order-title);
  grid-area: title;
  position: relative;
  overflow-wrap: anywhere;
}
.sp-compo-webpage-post-title.sp-longtext {
  hyphens: auto;
}
.sp-compo-webpage-post-title .sp-post-title-txt {
  max-width: var(--main-title-txt-max-width, var(--main-header-txt-max-width));
  display: block;
}
.sp-compo-webpage-post-title + .sp-compo-webpage-post-excerpt-archive::before {
  content: '';
  background: var(--COLOR-AKZENT);
  height: var(--LINE-WIDTH-MIN);
  width: 100%;
  max-width: 12em;
  margin-top: 1em;
  margin-bottom: 1.3em;
  display: block;
}

.sp-compo-webpage-subtitle {
  font-size: MAX(var(--TYPO-GRUNDSCHRIFT-FONT-SIZE), 0.5em);
  line-height: 1.6;
  font-weight: 300;
  max-width: var(--main-header-text-max-width);
  margin-bottom: 1ex;
  display: block;
  flex: 100%;
}

* + .sp-compo-webpage-subtitle {
  margin-top: var(--subtitle-margin-top, 0.75em);
}

.sp-compo-webpage-subtitle-landingpage-single {
  order: -1;
}

@media (min-width: 45em) {
  .sp-compo-webpage-subtitle {
    font-size: 1.5rem;
  }
}
.sp-compo-webpage-post-icon {
  color: var(--COLOR-TERT);
  border-radius: 100%;
  outline: solid var(--LINE-WIDTH-MIN);
  outline-offset: .25em;
  position: var(--post-icon-position, absolute);
  top: calc( var(--icon-height,1em) * .05 );
  left: var(--post-icon-left, -2.5em);
}

.sp-compo-webpage-post-img {
  grid-area: img;
}
.sp-compo-webpage-post-img .sp-featured-image {
  object-position: 0 0;
}

.sp-compo-webpage-img-meta-itemwrapper {
  --link-text-deco-color: currentColor;
  --link-text-deco-width: 0.0625em;
  color: var(--COLOR-SEC);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  text-align: right;
  padding-bottom: 1em;
  max-width: var(--TYPO-LINE-MAX);
  margin-right: 1.125ch;
}
.sp-compo-webpage-img-meta-itemwrapper .sp-img-meta-item {
  display: inline-block;
}

.sp-compo-webpage-post-date-mod {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  margin-top: 1em;
}

.sp-compo-webpage-post-intro,
.sp-compo-webpage-slot-intro {
  --compo-max-width: var(--TYPO-LINE-MAX);
  --compo-title-font-size: 160%;
  --compo-title-font-weight: 200;
  --compo-title-text-transform: uppercase;
  --compo-content-color: var(--compo-terms-content-color, var(--COLOR-META));
  --compo-title-content-color: var(--COLOR-META);
  --share-icon-height: 2em;
  --_vspace: var(--vspace, 1em);
  color: var(--compo-content-color);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  padding-right: var(--SITE-PADDING-LEFT);
  padding-left: var(--SITE-PADDING-LEFT);
  box-sizing: content-box;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: calc( 2 * var(--_vspace) );
  /*> *:last-child::after {
  	content:'';
  	height:2em;
  	width:7em;
  	border-bottom:1em dotted var(--COLOR-SEC);
  	margin:calc( var(--_vspace) * 2 ) auto calc( var(--_vspace) * 2.5 );
  	opacity:.3;
  	display:block;
  }*/
}
.sp-compo-webpage-post-intro > *,
.sp-compo-webpage-slot-intro > * {
  max-width: var(--compo-max-width);
  flex: 1;
}
.sp-compo-webpage-post-intro + *,
.sp-compo-webpage-slot-intro + * {
  padding-top: var(--page-content-space-top, 5rem);
}
.sp-compo-webpage-post-intro .sp-headline,
.sp-compo-webpage-slot-intro .sp-headline {
  margin-bottom: .5ex;
}
.sp-compo-webpage-post-intro .sp-compo-webpage-post-excerpt,
.sp-compo-webpage-slot-intro .sp-compo-webpage-post-excerpt {
  padding-right: var(--compo-padding-right, var(--SITE-PADDING-LEFT));
  padding-left: var(--compo-padding-left, var(--SITE-PADDING-LEFT));
}
.sp-compo-webpage-post-intro .sp-compo-webpage-share-holder,
.sp-compo-webpage-slot-intro .sp-compo-webpage-share-holder {
  --headline-font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --headline-line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  --headline-font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  --compo-max-width: none;
  background: var(--COLOR-GRAU-MIN);
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
.sp-compo-webpage-post-intro .sp-compo-webpage-share-holder .sp-compo-share-icon-wrap,
.sp-compo-webpage-slot-intro .sp-compo-webpage-share-holder .sp-compo-share-icon-wrap {
  display: none;
}

.sp-compo-webpage-post-info {
  --deli-margin-left: 0;
  --deli-last-margin-left: 1ch;
  color: var(--compo-content-color-master, var(--post-info-content-color));
  font-size: var(--post-info-font-size, var(--TYPO-FONT-SIZE-META));
  font-weight: var(--post-info-font-weight);
  line-height: var(--post-info-line-height);
  text-transform: var(--post-info-text-transform);
  padding-bottom: 1em;
  display: flex;
  flex-flow: column;
  order: var(--order-post-info);
  grid-area: info;
}

* + .sp-compo-webpage-post-info {
  margin-top: var(--post-info-space-top, 2em);
}

.sp-compo-webpage-post-meta {
  --post-urheber-titles-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --post-urheber-titles-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  color: var(--COLOR-TERT);
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-style: italic;
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  display: flex;
  flex-wrap: wrap;
  flex: 100%;
  order: var(--order-post-meta);
  gap: .25em;
}
.sp-compo-webpage-post-meta > * {
  flex: 100%;
}

* + .sp-compo-webpage-post-meta {
  margin-top: var(--post-meta-space-top, 1em);
}

.sp-compo-webpage-tags {
  --link-content-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color: currentColor;
  --link-text-deco-width: 0.0625em;
  --terms-gap: 0 2ex;
  --terms-flow: wrap;
  padding: 0 var(--SITE-PADDING-H);
  grid-area: terms;
  order: var(--order-post-terms);
}
.sp-compo-webpage-tags.sp-terms-many {
  --terms-flow: wrap;
  --terms-gap: calc( 1ex + .75ex ) 1em;
}
.sp-compo-webpage-tags.sp-terms-many .sp-headline {
  margin-bottom: 1ex;
}

.sp-compo-webpage-post-terms-term-list {
  display: flex;
  flex-wrap: wrap;
  flex-flow: var(--terms-flow, column);
  gap: var(--terms-gap, 0);
  position: relative;
  z-index: 1;
}
.sp-compo-webpage-post-terms-term-list .sp-compo-post-terms-term-link {
  display: block;
  flex: 1;
}
.sp-compo-webpage-post-terms-term-list .sp-compo-post-terms-item {
  --icon-space-right: .75ch;
  --link-outline-offset: .5ex;
  display: flex;
  flex-wrap: wrap;
}

.sp-compo-webpage-img-meta {
  --link-text-deco-color: currentColor;
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  max-width: 42em;
}
.sp-compo-webpage-img-meta .sp-compo-descr {
  color: var(--COLOR-SEC);
}

.sp-compo-webpage-fronts {
  --icon-height: 2.5em;
  --icon-opacity: .8;
  --icon-space-right: 0;
  --icon-stroke-width: .5em;
  --link-bg: var(--COLOR-PRIM);
  --link-bg-hover: var(--COLOR-AKZENT);
  --link-border-color: var(--COLOR-TERT);
  --link-border-color-focus: var(--link-bg);
  --link-border-width: .125em;
  --link-content-color-hover: var(--COLOR-PRIM);
  --link-outline-offset: 0;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width-hover: 0.125em;
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

* + .sp-compo-webpage-fronts {
  margin-top: 3em;
}

.sp-compo-webpage-frontfile-link,
.sp-compo-webpage-frontlink-link {
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  hyphens: auto;
  text-transform: uppercase;
  padding: 1em 1em 1.125em .75em;
  max-width: 100%;
  border-radius: var(--SITE-RADIUS);
  justify-content: space-evenly;
  gap: 1ch;
}
.sp-compo-webpage-frontfile-link:focus, .sp-compo-webpage-frontfile-link:hover, .sp-compo-webpage-frontfile-link:active,
.sp-compo-webpage-frontlink-link:focus,
.sp-compo-webpage-frontlink-link:hover,
.sp-compo-webpage-frontlink-link:active {
  --ani-fade-vert: calc( var(--icon-height) * .75 );
  --download-icon-ani: sp-element-fade infinite 1.2s;
}

.sp-compo-webpage-themen {
  --compo-title-content-color: currentColor;
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --compo-title-space-bottom: calc(1em + 1ex);
  --link-bg-hover: var(--COLOR-HIGHLIGHT);
  --link-content-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --link-border-color: #b0a7be;
  --link-border-color-focus: transparent;
  --link-border-color-hover: var(--link-bg-hover);
  --link-border-width: 0.125em;
  --link-outline-offset: 0;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-width-hover: 0.0625em;
  --terms-gap: 2em 1ch;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
}
.sp-compo-webpage-themen .sp-compo-webpage-post-terms-link {
  padding: 1ex 2ex;
  border-radius: var(--SITE-RADIUS);
}

.sp-compo-webpage-slot-intro {
  grid-area: intro;
}

.sp-compo-webpage-slot-content {
  --link-content-color-hover: var(--COLOR-AKZENT-DARK);
  --link-text-deco-color: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color-focus: transparent;
  --link-text-deco-color-hover: var(--COLOR-AKZENT-DARK);
  min-height: 32rem;
  padding-top: var(--page-content-space-top, 0);
}

.sp-compo-webpage-post-content {
  --_compo-padding-h: var(--SITE-PADDING-LEFT);
  background: var(--compo-bg, #fefefe);
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  hyphens: auto;
  overflow-wrap: anywhere;
}
.sp-compo-webpage-post-content > * {
  --_vspace: calc( calc( var(--vspace-factor,1) * 1rem ) + 1ex );
  padding-right: var(--compo-padding-right, var(--_compo-padding-h));
  padding-left: var(--compo-padding-left, var(--_compo-padding-h));
  max-width: var(--compo-max-width, var(--TYPO-LINE-MAX));
  box-sizing: var(--box-sizing, content-box);
}
.sp-compo-webpage-post-content > * * {
  box-sizing: var(--box-sizing, border-box);
}
.sp-compo-webpage-post-content > :not([class]) {
  background: var(--COLOR-ZERO);
  background-clip: content-box;
}
.sp-compo-webpage-post-content > .sp-compo,
.sp-compo-webpage-post-content .size-full {
  max-width: var(--compo-max-width);
}
.sp-compo-webpage-post-content > * + * {
  margin-top: var(--vspace, var(--_vspace));
}
.sp-compo-webpage-post-content > * + .sp-compo {
  --vspace-factor: var(--vspace-factor-master, 3);
}
.sp-compo-webpage-post-content > * + .sp-insert {
  --vspace-factor: var(--vspace-factor-master, 5);
}
.sp-compo-webpage-post-content > .sp-compo + * {
  --vspace-factor: var(--vspace-factor-master, 4);
}
.sp-compo-webpage-post-content > *:first-child:not(.sp-insert, .sp-compo-posts) {
  margin-top: var(--content-top-child-space-top, 6rem);
}
.sp-compo-webpage-post-content > h2 {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
}
.sp-compo-webpage-post-content > h2,
.sp-compo-webpage-post-content > h3 {
  --vspace-factor: var(--vspace-factor-master, 3);
  line-height: 1.4;
}
.sp-compo-webpage-post-content > h3 {
  --headline-line-thickness: .075em;
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-3);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-3);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-3);
}
.sp-compo-webpage-post-content a[id^='_ftnref'] {
  --link-bg-hover: var(--COLOR-HIGHLIGHT);
  --link-content-color: var(--COLOR-META);
  --link-content-color-hover: var(--COLOR-ZERO);
  --link-outline-color-hover: var(--link-bg-hover);
  --link-text-deco-color-hover: transparent;
  min-width: max-content;
  margin-right: .75ch;
  margin-left: .3ch;
  display: inline-block;
}
.sp-compo-webpage-post-content a[id^='_ftnref']:hover, .sp-compo-webpage-post-content a[id^='_ftnref']:active {
  --link-outline-offset: 0;
  transform: scale(1.2);
  transition: all var(--MOTION-TRANS-FAST), outline-offset 0s;
}
.sp-compo-webpage-post-content a:not([class]) {
  --link-border-width: .125em;
  --link-outline-width: 0;
}
.sp-compo-webpage-post-content ol:not([class]), .sp-compo-webpage-post-content ol[class*='is-style-'], .sp-compo-webpage-post-content ul:not([class]), .sp-compo-webpage-post-content ul[class*='is-style-'] {
  display: var(--list-display, grid);
  gap: var(--list-gap, 1em);
}
.sp-compo-webpage-post-content li:not([class]) {
  margin: var(--list-item-margin, 0 2ch);
}
.sp-compo-webpage-post-content .sp-compo-image {
  max-width: 100%;
}
.sp-compo-webpage-post-content .wp-block-audio {
  --vspace-factor: 2;
  background: var(--COLOR-DARK);
  padding-top: 2em;
  padding-bottom: 4em;
  display: flex;
  flex-wrap: wrap;
  transition: all var(--MOTION-TRANS-FAST);
  max-width: none;
  gap: 1em;
}
.sp-compo-webpage-post-content .wp-block-audio:focus-within {
  --audio-caption-color: var(--COLOR-PRIM);
  background: var(--COLOR-AKZENT);
}
.sp-compo-webpage-post-content .wp-block-audio audio {
  max-width: var(--TYPO-LINE-MAX);
}
.sp-compo-webpage-post-content .wp-block-audio figcaption {
  color: var(--audio-caption-color, var(--COLOR-AKZENT));
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  font-weight: 400;
  transition: all var(--MOTION-TRANS-FAST);
  flex: 100%;
  order: -1;
}
.sp-compo-webpage-post-content .wp-block-audio + *:not(.wp-block-audio) {
  --vspace-factor: var(--vspace-factor-master, 5);
}
.sp-compo-webpage-post-content .wp-block-audio + .wp-block-audio {
  --vspace: .25em;
  --vspace-factor: var(--vspace-factor-master, 0);
}
.sp-compo-webpage-post-content > .sp-block-cta-wrapper {
  --compo-max-width: none;
  --vspace-factor: 2;
  --vspace-factor-master: 2;
}

.sp-compo-webpage-post-excerpt {
  --vspace: 1em;
  max-width: var(--main-header-txt-max-width, var(--TYPO-LINE-MAX));
  box-sizing: initial;
  flex: 100%;
  grid-area: excerpt;
  order: var(--order-post-excerpt);
}
.sp-compo-webpage-post-excerpt * + .sp-content-abs {
  margin-top: var(--vspace);
}

* + .sp-compo-webpage-post-excerpt {
  padding-top: 1rem;
}

.sp-compo-webpage-slot-aside {
  --compo-icon-color: var(--COLOR-GRAU-MED);
  --compo-icon-height: 6em;
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT);
  --share-icon-height: 2.5em;
  width: 100%;
  padding-top: var(--page-content-space-top, 5rem);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  padding-right: var(--SITE-PADDING-H);
  padding-left: var(--SITE-PADDING-H);
  padding-bottom: 5em;
  display: flex;
  flex-flow: column;
  grid-area: aside;
  align-content: flex-start;
  justify-content: flex-end;
  gap: var(--sidebar-gap, 3em);
  align-self: flex-start;
  z-index: 2;
}
.sp-compo-webpage-slot-aside * + .sp-compo-webpage-share {
  margin-top: 3em;
}
.sp-compo-webpage-slot-aside .sp-share {
  position: relative;
}
.sp-compo-webpage-slot-aside .sp-compo-icon {
  opacity: .05;
  z-index: -1;
  position: absolute;
  top: 0;
  left: calc(-1 * var(--compo-icon-height));
}
.sp-compo-webpage-slot-aside .sp-compo-webpage-kontaktperson {
  --compo-title-content-color: var(--COLOR-GRAU-DARK);
  color: var(--COLOR-GRAU-DARK);
  background: var(--COLOR-GRAU-MIN);
  padding: 1.5em 2em 2em;
  border-radius: var(--SITE-RADIUS);
}
.sp-compo-webpage-slot-aside .sp-compo-webpage-address {
  --icon-sub-height: 1.2em;
  --link-text-deco-color: currentColor;
  max-width: 100%;
  gap: 0;
}

.sp-compo-webpage-files {
  position: relative;
}

.sp-compo-webpage-files-list {
  max-width: max-content;
}

.sp-compo-webpage-slot-img {
  --img-width: 100%;
  background: transparent;
  max-width: 100%;
  order: -1;
}

.sp-compo-webpage-post-img {
  max-height: 32rem;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap-reverse;
}

@media (max-height: 62em) {
  .sp-featured-image {
    max-height: 24rem;
    object-fit: cover;
  }
}
.sp-compo-webpage-img-meta {
  --compo-title-font-family: var(--TYPO-MARGINALIE-FONT-FAMILY);
  color: var(--COLOR-META);
  font-family: var(--compo-title-font-family);
  font-style: italic;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  max-width: MIN(100%, calc( var(--TYPO-LINE-MAX) + var(--SITE-PADDING-LEFT) ));
  padding-left: var(--SITE-PADDING-LEFT);
  margin-top: 1ex;
  display: flex;
  flex-wrap: wrap;
  gap: .3ex 1ch;
  align-items: center;
}

.sp-compo-webpage-img-meta-compo-title {
  flex: initial;
}

.sp-compo-webpage-info {
  --link-text-deco-color: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color-hover: var(--COLOR-PRIM);
  font-style: italic;
  white-space: pre-wrap;
}

* + .sp-compo-webpage-info {
  margin-top: 1ex;
}

.sp-compo-webpage-postreihe {
  --link-outline-color-focus: currentColor;
  --link-text-deco-color: currentColor;
  padding: 1em 2em 2em;
  border-radius: .5em;
}

.sp-compo-webpage-post-urheber {
  --compo-max-width: 64rem;
  --cta-padding: 1.5ex 3ex;
  --img-max-width: MIN(100%, 12em);
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  --title-font-weight: 400;
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2);
  --title-text-transform: uppercase;
  background: var(--COLOR-HELL);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  padding: 2em var(--SITE-PADDING-H) 4em;
  max-width: var(--compo-max-width);
  display: flex;
  flex-flow: column;
  gap: var(--footer-title-space-bottom, 2em);
}

* + .sp-compo-webpage-post-urheber {
  margin-top: 5em;
}

.sp-compo-webpage-post-urheber-item {
  --compo-bg: #fefefe;
  --img-width: clamp(0, 100%, 16em);
  --title-content-color: var(--COLOR-FULL);
  --title-font-weight: 700;
  padding: 1.5em 2em;
  max-width: var(--post-urheber-item-max-width, var(--compo-max-width));
  box-sizing: border-box;
  border-radius: var(--SITE-RADIUS);
  display: grid;
  grid-template-areas: "header" "img" "content";
  gap: var(--post-urheber-items-gap, 1em 0);
}

.sp-compo-webpage-post-urheber-item-slot-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .5ex;
}

.sp-compo-webpage-post-urheber-item-status {
  color: var(--COLOR-META);
  text-transform: uppercase;
}

.sp-compo-webpage-post-urheber-item-slot-content {
  display: flex;
  flex-flow: column;
  gap: 1.5em;
}

.sp-compo-webpage-post-urheber-item-img-surro-wrapper {
  --icon-color: var(--COLOR-HELL);
  --icon-height: auto;
  --icon-width: 100%;
  margin-top: -1em;
}

.sp-compo-webpage-post-urheber-item-cta-wrapper {
  --cta-border-color: var(--COLOR-HELL);
  --cta-border-color-hover: var(--COLOR-TERT);
  --cta-border-width: var(--LINE-WIDTH-MED);
  --cta-content-color: var(--COLOR-META);
  --cta-outline-style: none;
  --cta-text-deco-color: transparent;
  --cta-text-deco-width-hover: .25ex;
  --icon-height: 1.75em;
  --icon-stroke-width: .75em;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1em;
}

.sp-compo-webpage-post-urheber-item-cta {
  text-transform: uppercase;
  width: 100%;
}

.sp-compo-webpage-post-urheber-item-social {
  margin-left: auto;
}

@media (min-width: 45em) {
  .sp-compo-webpage-post-urheber {
    --cta-max-width: 10em;
  }

  .sp-compo-webpage-post-urheber-item {
    text-align: right;
    grid-template-areas: "img header" "img content";
    grid-template-columns: 40% 1fr;
  }
}
.sp-compo-webpage-slot-footer {
  --compo-max-width: var(--footer-sections-max-width);
  --compo-title-content-color: var(--COLOR-SEC);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: 200;
  --compo-title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  --compo-title-text-transform: uppercase;
  --footer-title-space-bottom: 1rem;
  --headline-font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  --headline-text-transform: uppercase;
  --terms-flow: row;
  --terms-gap: 1ch;
  padding-top: 5em;
  display: flex;
  flex-flow: column;
  gap: 1em;
}
.sp-compo-webpage-slot-footer > * {
  padding-right: var(--SITE-PADDING-H);
  padding-left: var(--SITE-PADDING-H);
  box-sizing: initial;
}
.sp-compo-webpage-slot-footer > .sp-compo-webpage-img-meta {
  --compo-title-font-size: var(--TYPO-FONT-SIZE-MIN);
  --compo-title-font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  --compo-title-line-height: var(--TYPO-LINE-HEIGHT-MIN);
  --deli-margin-right: 0;
  --deli-margin-left: 0;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  padding-left: var(--SITE-PADDING-LEFT);
}
.sp-compo-webpage-slot-footer .sp-compo-webpage-share-holder,
.sp-compo-webpage-slot-footer .sp-compo-webpage-tags {
  --compo-title-space-bottom: var(--footer-title-space-bottom);
  color: var(--COLOR-GRAU-MED);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  padding-left: var(--SITE-PADDING-LEFT);
  min-height: 8em;
  max-width: var(--footer-sections-max-width);
  width: var(--footer-sections-width);
  position: relative;
}
.sp-compo-webpage-slot-footer .sp-compo-webpage-share-holder .sp-compo-icon,
.sp-compo-webpage-slot-footer .sp-compo-webpage-tags .sp-compo-icon {
  --icon-height: 6em;
  --icon-stroke-width: .3em;
  position: absolute;
  top: 1em;
  right: 1em;
  opacity: .1;
}
.sp-compo-webpage-slot-footer .sp-compo-webpage-share-holder {
  --compo-title-font-size: 120%;
  --compo-title-text-transform: none;
}

.sp-compo-webpage-social-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.sp-compo-webpage-alert-no-posts-txt {
  font-style: italic;
}

.sp-compo-webpage-share-holder {
  --compo-title-content-color: var(--COLOR-META);
  --compo-title-font-weight: 400;
  --compo-icon-color: var(--COLOR-GRAU-HELL);
  --compo-icon-height: 4em;
  --compo-icon-sub-height: 2em;
  max-width: 35rem;
  position: relative;
}
.sp-compo-webpage-share-holder .sp-compo-icon {
  position: absolute;
  left: calc( var(--SITE-PADDING-H) - 2em );
  display: none;
}

* + .sp-compo-webpage-share-holder {
  margin-top: calc( var(--vspace,3em) * var(--vspace-factor,1) );
}

.sp-compo-webpage-share-list {
  position: relative;
  z-index: 1;
}

* + .sp-compo-webpage-share-list {
  margin-top: var(--vspace, 1em);
}

.sp-post-neighbor {
  position: relative;
}

.sp-compo-webpage-post-neighbors {
  --compo-title-content-color: var(--COLOR-SEC);
  --compo-title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --compo-title-font-weight: 250;
  --grid-max: 22em;
  --grid-min: 0;
  --link-outline-color-focus: transparent;
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --post-card-max-width: var(--grid-max);
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  --title-text-transform: none;
  background: var(--COLOR-GRAU-MIN);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  padding-top: 3em;
  padding-bottom: 6em;
}
.sp-compo-webpage-post-neighbors .sp-compo-post-card-wrapper-title {
  margin-bottom: 2em;
}

* + .sp-compo-webpage-post-neighbors {
  margin-top: var(--vspace, 1rem);
}

.sp-compo-webpage-post-neighbors-sub {
  max-width: calc(var(--TYPO-LINE-MAX) * 1.2);
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, MIN(24rem, 100%)), var(--grid-max, 1fr)));
  gap: 1em;
}

.sp-compo-webpage-post-neighbors-compo-title {
  margin-bottom: calc(1em + 1ex);
  grid-column: 1/-1;
}

.is-style-sp-content-footnotes {
  --vspace-factor: 5;
  box-sizing: border-box;
}
.is-style-sp-content-footnotes .wp-block-group__inner-container > * + p {
  margin-top: var(--fn-vspace, 2em);
}
.is-style-sp-content-footnotes .wp-block-group__inner-container > p {
  background: var(--fn-bg);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  padding: var(--fn-padding);
  max-width: 68ch;
  border-radius: var(--fn-border-radius);
  flex-flow: var(--fn-flex-flow);
  position: relative;
}
.is-style-sp-content-footnotes a[id^='_ftn'] {
  --link-bg: var(--fn-bg);
  --link-content-color: var(--COLOR-SEC);
  --link-text-deco-color-hover: transparent;
  min-height: 4.5ch;
  min-width: 4.5ch;
  padding: 1ex;
  margin-right: 1ch;
  margin-bottom: var(--fn-number-vspace, 0);
  border-radius: 100%;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  position: absolute;
  top: -2ex;
  left: -1ex;
}
.is-style-sp-content-footnotes a[id^='_ftn']:hover, .is-style-sp-content-footnotes a[id^='_ftn']:active {
  --link-outline-offset: 0;
  transform: scale(1.2);
  transition: all var(--MOTION-TRANS-FAST), outline-offset 0s;
}

.sp-compo-webpage-titles {
  --link-text-deco-color: currentColor;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.sp-compo-webpage-titles[data-sp-deli='hidden'] {
  --titles-items-gap: 2em;
}
.sp-compo-webpage-titles.sp-has-img .sp-titles-descr {
  flex: 100%;
}
.sp-compo-webpage-titles.sp-has-img .sp-titles-item {
  gap: 1ch;
}
.sp-compo-webpage-titles .sp-titles-img {
  aspect-ratio: 1/1;
  object-fit: cover;
}

.sp-compo-webpage-verlag {
  --headline-font-weight: 400;
  --icon-height: 3em;
  --link-icon-color: var(--COLOR-TERT);
  --link-icon-color-focus: var(--COLOR-HIGHLIGHT);
  --link-icon-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-width-hover: 0.125em;
  position: relative;
}
.sp-compo-webpage-verlag .sp-compo-link-icon {
  position: absolute;
  top: -.5em;
  right: var(--icon-pos-right, 0);
  left: var(--icon-pos-left, initial);
  z-index: -1;
}

* + .sp-compo-webpage-verlag {
  margin-top: var(--vspace, calc(1em + 1ex));
}

.sp-compo-webpage-verlag-title {
  margin-bottom: 1ex;
}

.sp-compo-webpage-verlag-link {
  display: block;
}
.sp-compo-webpage-verlag-link:hover .sp-verlag-img, .sp-compo-webpage-verlag-link:active .sp-verlag-img {
  transform: scale(1.06);
}

.sp-compo-webpage-verlag-img-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--justify-content);
}
.sp-compo-webpage-verlag-img-wrapper .sp-verlag-img {
  max-height: 6em;
  object-position: var(--text-align);
  transition: all var(--MOTION-TRANS-FAST);
}

* + .sp-compo-webpage-verlag-txt-wrap {
  margin-top: 1ex;
}

@media (max-width: 45em) {
  .sp-compo-webpage-slot-header {
    padding-bottom: 3rem;
  }

  .sp-compo-webpage-slot-content {
    --content-top-child-space-top: 3rem;
  }

  .sp-compo-webpage-post-intro .sp-compo-webpage-share-icon,
  .sp-compo-webpage-slot-intro .sp-compo-webpage-share-icon {
    display: none;
  }

  .sp-compo-webpage-post-intro,
  .sp-compo-webpage-slot-intro {
    flex-flow: column;
  }

  .sp-compo-webpage-slot-footer {
    --terms-flow: column;
  }

  .is-style-sp-content-footnotes {
    --fn-bg: var(--COLOR-HELL);
    --fn-flex-flow: column;
    --fn-number-vspace: 1ex;
    --fn-padding: 2em var(--SITE-PADDING-H) 2em;
    --fn-vspace: 1em;
  }

  .sp-compo-webpage-verlag {
    --icon-pos-left: auto;
    --icon-pos-right: 0;
    padding-right: var(--icon-height);
  }
}
@media (max-width: 45em) {
  .sp-compo-webpage-slot-header.sp-has-icon {
    margin-left: 0;
  }
  .sp-compo-webpage-slot-header.sp-has-icon .sp-title-main {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
  }

  .sp-compo-webpage-post-icon {
    order: -1;
    position: static;
  }
}
@media (min-width: 45em) {
  .sp-compo-webpage-post-content > .sp-compo + * {
    --vspace-factor: var(--vspace-factor-master, 6);
  }
  .sp-compo-webpage-post-content > .sp-kontakt-style-01 + * {
    --vspace-factor: 3;
  }
  .sp-compo-webpage-post-content > .sp-insert-style-01 + * {
    --vspace-factor: var(--vspace-factor-master, 3);
  }
  .sp-compo-webpage-post-content > *:first-child:not(.sp-compo) {
    margin-top: 5rem;
  }
  .sp-compo-webpage-post-content a[id^='_ftnref'] {
    --link-outline-width: 0.25em;
    font-variant-position: super;
    border: 0;
  }

  .sp-compo-webpage-frontfile-link {
    min-width: 14em;
  }

  .is-style-sp-content-footnotes {
    --compo-max-width: none;
    --fn-bg: var(--COLOR-ZERO);
    --fn-border-radius: .5em;
    --fn-padding: calc(1em + 1ex) 2em calc(2em + 1ex) calc(1em + 1ex);
    --fn-vspace: 0;
    --vspace-factor: 5;
    background: var(--COLOR-HELL);
    background-size: 1.25em 1.25em;
    padding-top: calc( .8 * var(--_vspace) );
    padding-bottom: calc( 1.5 * var(--_vspace) );
  }
  .is-style-sp-content-footnotes .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
  }
  .is-style-sp-content-footnotes .wp-block-group__inner-container > *[id*='bereich'] {
    flex: 100%;
  }
  .is-style-sp-content-footnotes .wp-block-group__inner-container > p {
    width: 100%;
  }
}
@media (min-width: 75rem) {
  .sp-compo-webpage {
    --compo-max-width: var(--TYPO-LINE-MAX);
    --header-space-right: 0;
    grid-template-columns: 2fr 1fr;
  }

  .sp-compo-webpage-slot {
    grid-column: 1/-1;
  }

  .sp-compo-webpage-post-intro .sp-compo-webpage-post-terms {
    padding-right: 0;
  }

  .sp-compo-webpage-slot-header {
    --main-header-txt-max-width: var(--TYPO-LINE-MAX);
    padding-right: 0;
  }

  .sp-compo-webpage-slot-header-subwrapper {
    background: transparent;
  }

  .sp-compo-webpage-slot-aside {
    max-width: 100%;
    padding-left: var(--sidebar-space-left, 3rem);
    grid-column: 2/-1;
  }
  .sp-compo-webpage-slot-aside > * {
    max-width: var(--sidebar-content-max-width, 28rem);
  }
  .sp-compo-webpage-slot-aside > *:first-child {
    border-radius: var(--SITE-RADIUS) 0 0 0;
  }
  .sp-compo-webpage-slot-aside > *:last-child {
    border-radius: 0 0 0 var(--SITE-RADIUS);
  }

  .sp-compo-webpage-slot-footer {
    --footer-sections-max-width: var(--TYPO-LINE-MAX);
    --footer-sections-width: 100%;
  }
  .sp-compo-webpage-slot-footer > * {
    padding-right: 3em;
  }
}
@media (min-width: 120em) {
  .sp-compo-webpage {
    --compo-max-width: var(--TYPO-LINE-MAX);
    grid-template-columns: calc(var(--SITE-PADDING-LEFT) + var(--SITE-CONTENT-MAX)) 1fr;
  }

  .sp-compo-webpage-slot-header {
    max-width: 100%;
  }

  .sp-compo-webpage-post-intro {
    --compo-max-width: var(--TYPO-LINE-MAX);
  }

  .sp-compo-webpage-post-neighbors {
    --grid-max: 26em;
  }
}
.sp-compo-webpage-slot-aside {
  --address-promi-font-weight: normal;
  --link-text-deco-color: var(--COLOR-META);
  --post-img-max-width: MIN(22rem, 100%);
  display: flex;
  flex-flow: column;
  align-items: flex-end;
}
.sp-compo-webpage-slot-aside > * {
  width: 100%;
  max-width: var(--post-img-max-width);
}
.sp-compo-webpage-slot-aside .sp-compo-webpage-file {
  width: 100%;
}
.sp-compo-webpage-slot-aside .sp-skipper {
  max-width: 10%;
  min-width: max-content;
  right: var(--SITE-PADDING-H);
}

.sp-compo-webpage-slot-aside,
.sp-compo-webpage-slot-aside .sp-compo-title {
  --compo-title-content-color: var(--COLOR-META);
  --compo-title-font-size: 1.2rem;
  --compo-title-font-weight: 600;
  --compo-title-line-height: 1.4;
  --compo-title-space-bottom: 1em;
}

.sp-compo-webpage-posts-list {
  --compo-title-space-bottom: 1em;
}

.sp-compo-webpage-posts-list-item {
  --link-outline-color-focus: currentColor;
  --link-text-deco-color: transparent;
  --link-text-deco-color-hover: currentColor;
  --link-text-deco-offset: .4em;
  --link-text-deco-width-hover: 0.125em;
  color: var(--COLOR-AKZENT-CONTRAST);
  background: var(--COLOR-AKZENT);
  hyphens: auto;
  padding: 1em 1.3em 1.1em;
  border-radius: var(--SITE-RADIUS);
  display: flex;
  gap: 1ch;
  position: relative;
}
.sp-compo-webpage-posts-list-item.sp-is-current {
  --link-outline-color-focus: var(--COLOR-DARK);
  --link-text-deco-width: 0.0625em;
  --link-text-deco-width-hover: 0.1875em;
  color: var(--COLOR-PRIM-CONTRAST);
  background: var(--COLOR-SEC);
  font-weight: 500;
  padding-bottom: 1.2em;
}

.sp-compo-webpage-posts-list-title-label {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  font-weight: normal;
  text-transform: uppercase;
  display: block;
}

.sp-compo-webpage-posts-list-list {
  display: grid;
  gap: 0.125em;
}

.sp-compo-webpage-posts-list-item-link {
  outline: 0;
}
.sp-compo-webpage-posts-list-item-link:focus {
  --outline-color: var(--link-outline-color-focus, currentColor);
}
.sp-compo-webpage-posts-list-item-link::before {
  content: '';
  border-radius: var(--SITE-RADIUS);
  outline: solid var(--outline-color, transparent) 0.1875em;
  transition: all var(--MOTION-TRANS-FAST);
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
}

@media (max-width: 64em) {
  .sp-compo-webpage-slot-aside {
    align-items: center;
  }
}
@media (min-width: 45em) and (max-width: 75rem) {
  .sp-compo-webpage-slot-aside {
    grid-template-columns: repeat(auto-fit, minmax(0, 45%));
  }
}
@media (min-width: 64em) {
  .sp-compo-webpage-has-sidebar {
    grid-template-areas: "img img" "header header" "content aside" "footer footer";
    grid-template-columns: 2fr 1fr;
    display: grid;
  }
  .sp-compo-webpage-has-sidebar .sp-compo-webpage-slot-content {
    grid-column: initial;
  }
  .sp-compo-webpage-has-sidebar .sp-compo-webpage-post-content > * {
    padding-right: 0;
  }
  .sp-compo-webpage-has-sidebar .sp-compo-webpage-post-content > .is-style-sp-content-footnotes {
    padding-right: 1em;
    border-radius: 0 var(--SITE-RADIUS) 0 0;
  }
}
.sp-compo-webpage-home {
  --page-content-space-top: 0;
}

.sp-compo-webpage-post-excerpt-home {
  background: rgba(0, 0, 0, 0.4);
  color: var(--compo-content-color);
  padding: 1.5em 1.5em 3em;
  border-radius: var(--SITE-RADIUS);
  max-width: var(--TYPO-LINE-MAX);
  margin-bottom: 3em;
}

* + .sp-compo-webpage-post-excerpt-home {
  margin-top: var(--post-excerpt-space-top, -2em);
}

@media (max-width: 45em) {
  .sp-compo-webpage-post-excerpt-home {
    margin-bottom: 5em;
  }
}
@media (min-width: 100em) {
  .sp-compo-webpage-post-excerpt-home {
    --post-excerpt-space-top: 0;
    margin-left: -1ch;
  }
}
.sp-compo-shortmenu {
  --grid-min: 20rem;
  font-size: 1.75rem;
  margin-bottom: 5em;
}
.sp-compo-shortmenu.has-many-items {
  --item-min-height: 5.5em;
  --item-padding: .5em 1em;
}
.sp-compo-shortmenu.has-many-chars.has-many-items {
  font-size: 1.5rem;
}

.sp-compo-shortmenu-home {
  background: var(--COLOR-GRAU-HELL);
  padding-top: 3em;
  padding-bottom: 3em;
}

.sp-compo-shortmenu-bgimg-wrapper {
  --img-width: 100%;
  --stretch-zone: 0;
  border-radius: inherit;
  overflow: hidden;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  opacity: .1;
}

.sp-compo-shortmenu-list {
  color: #fefefe;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 20rem), var(--grid-max, 1fr)));
  gap: 1em;
}

.sp-compo-shortmenu-item {
  --link-content-color: currentColor;
  --link-outline-color-focus: currentColor;
  --link-text-deco-color: currentcolor;
  --link-text-deco-color-hover: currentColor;
  background: var(--COLOR-PRIM);
  max-width: 32rem;
  min-height: var(--item-min-height, 6.5em);
  padding: var(--item-padding, 1em 1.5em);
  border-radius: 1em;
  position: relative;
}

.sp-compo-shortmenu-link {
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .05ch;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  position: relative;
  z-index: 1;
}
.sp-compo-shortmenu-link::before {
  content: '';
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
}

@supports (isolation: isolate) {
  .sp-compo-shortmenu-link {
    isolation: isolate;
    position: initial;
  }
}
.sp-social {
  --compo-icon-sub-color: var(--COLOR-META);
  --compo-icon-sub-height: 2.2em;
  --icon-opacity: .8;
}

.sp-social-list {
  display: flex;
  flex-flow: var(--social-flex-flow, wrap);
  gap: var(--social-items-gap, 1em);
}

.sp-social-link {
  --link-content-color-hover: var(--social-color);
  display: inline-block;
}
.sp-social-link .sp-compo-icon-sub {
  padding-bottom: .25em;
  border-bottom: 0.25em solid var(--social-border-color, transparent);
  display: inline-block;
}
.sp-social-link:focus, .sp-social-link:focus:active {
  --link-outline-color: var(--COLOR-FOCUS);
}
.sp-social-link:hover, .sp-social-link:active {
  transform: scale(1.15);
}
.sp-social-link:hover .sp-icon, .sp-social-link:active .sp-icon {
  --compo-icon-sub-color-hover: var(--social-color);
  --social-border-color: var(--social-border-color-hover, var(--social-color));
}

/*------------------------------------------------------------------------------
  WEBSITE
------------------------------------------------------------------------------*/
.sp-site-body-shadow::after {
  content: '';
  background: transparent linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.55)) repeat 0 0;
  height: 4vmin;
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 2;
}

.sp-site-scrolltop-btn {
  --compo-content-color: var(--COLOR-GRAU-DARK);
  --link-bg: var(--COLOR-GRAU-HELL);
  --link-bg-hover: var(--COLOR-AKZENT);
  --link-focus-color: var(--COLOR-HIGHLIGHT-CONTRAST);
  --link-outline-color-focus: var(--COLOR-AKZENT);
  --link-outline-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  --link-outline-offset: -0.0625em;
  font-size: calc(1.5rem + .25vmin);
  height: 1.5em;
  width: 1.5em;
  padding: .75em .51em .25em;
  border-radius: 100%;
  border: solid #fefefe;
  box-sizing: initial;
  display: flex;
  justify-content: center;
  position: fixed;
  right: var(--SITE-PADDING-H-META);
  bottom: var(--SITE-PADDING-H-META);
  z-index: 5;
}
.sp-site-scrolltop-btn:focus {
  --link-outline-offset: 0.125em;
}
.sp-site-scrolltop-btn:hover, .sp-site-scrolltop-btn:active {
  --icon-color: #fefefe;
}

.sp-site-skiplink {
  --link-text-deco-color-focus: currentColor;
  --link-text-deco-width: 0.125em;
  --link-text-deco-offset: .35em;
  color: var(--COLOR-PRIM-CONTRAST);
  background: var(--COLOR-PRIM);
  padding: 1.75em 1em 1em;
  border: var(--LINE-WIDTH-MED) solid var(--COLOR-HIGHLIGHT);
  border-radius: 0 0 1em 1em;
  outline: var(--LINE-WIDTH-MED) solid transparent;
  transform: translateY(-150%);
  opacity: 0;
  display: inline-block;
  position: fixed;
  top: .135em;
  left: calc(50vw - (17.656rem / 2));
  z-index: 5;
}
.sp-site-skiplink:focus {
  transform: translateY(-1rem);
  opacity: 1;
}
.sp-site-skiplink:hover, .sp-site-skiplink:active {
  --motion-trans: .15s ease-out;
  transform: scale(1.1);
}

.sp-site-page-part {
  flex: 100%;
}

.sp-site-sitewrapper {
  background: transparent;
  max-width: var(--SITE-MAX-WIDTH, 100%);
}

.sp-site-pagewrapper {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
}

.sp-site-contentwrapper {
  padding-bottom: 5rem;
  max-width: 100%;
  transition: all var(--MOTION-TRANS-FAST);
}

.sp-kontakt-style-site-header {
  margin-left: auto;
  grid-area: contact;
}

.sp-address-style-site-header {
  --address-item-align: center;
  --address-item-justify: flex-end;
  --compo-content-color: var(--COLOR-META);
  --compo-icon-sub-height: 1.9em;
  --icon-opacity: .8;
  --link-content-color: var(--compo-content-color);
  --link-text-deco-color: transparent;
  --link-text-deco-width-hover: 0.125em;
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  letter-spacing: .1ch;
  flex-flow: initial;
  display: flex;
  flex-flow: column;
  justify-content: var(--site-header-justify-content, flex-end);
  gap: 0;
}

@media (max-width: 45em) {
  .sp-address-style-site-header {
    font-size: .875rem;
  }
}
.sp-site-pageheader {
  --compo-content-color: var(--COLOR-PRIM);
  --header-vspace: 1em;
  --link-content-color: var(--compo-content-color);
  --link-outline-color-focus: var(--COLOR-META);
  --link-outline-color-focus-master: var(--COLOR-META);
  --link-text-deco-color-hover: transparent;
  --logo-space-bottom: 0;
  --selection-bg: var(--COLOR-AKZENT);
  --selection-color: var(--COLOR-PRIM);
  --site-padding-top: calc(1rem + var(--padding-top-factor,1vmin));
  background: var(--compo-bg);
  padding-top: var(--site-padding-top);
  padding-right: var(--SITE-PADDING-H-META);
  padding-bottom: var(--post-header-shadow-offset, 0);
  padding-left: var(--SITE-PADDING-H-META);
  margin-top: -0.0625em;
  margin-bottom: var(--header-vspace);
  z-index: 3;
}
.sp-site-pageheader ~ .sp-site-contentwrapper {
  --webpage-header-space-top: 0;
}
.sp-site-pageheader .is-style-sp-site-header-misc {
  --compo-bg: transparent;
  --compo-content-color: var(--pageheader-misc-content-color, #fefefe);
  --link-content-color-hover: var(--COLOR-HIGHLIGHT);
  --link-text-deco-color: currentColor;
  --link-text-deco-width: 0.0625em;
  color: var(--compo-content-color);
  background: rgba(255, 255, 255, 0.1);
  padding: 0;
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-style: var(--TYPO-GRUNDSCHRIFT-FONT-STYLE);
  font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  font-weight: 200;
  text-align: right;
  margin-bottom: 1em;
  grid-area: misc;
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo,
.sp-site-pageheader .is-style-sp-site-header-logo {
  --_logo-max-height: 8em;
  --img-height: 100%;
  --img-max-height: var(--_logo-max-height);
  --img-width: auto;
  --link-content-color: var(--compo-content-color);
  --link-text-deco-color: transparent;
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-style: var(--TYPO-GRUNDSCHRIFT-FONT-STYLE);
  font-weight: var(--TYPO-GRUNDSCHRIFT-FONT-WEIGHT);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  color: var(--COLOR-META);
  font-weight: 400;
  letter-spacing: .03ch;
  text-transform: uppercase;
  transition: margin .4s ease-out;
  max-width: max-content;
  margin-bottom: var(--logo-space-bottom, 1.5em);
  grid-area: brand;
  flex: 100%;
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo a,
.sp-site-pageheader .is-style-sp-site-header-logo a {
  --link-outline-width: var(--LINE-WIDTH-MED);
  text-decoration: none;
  display: block;
  position: relative;
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo a::after,
.sp-site-pageheader .is-style-sp-site-header-logo a::after {
  content: '';
  background: var(--link-text-deco-color-master, var(--link-text-deco-color, transparent));
  height: var(--LINE-WIDTH-MED);
  width: 100%;
  transition: all var(--MOTION-TRANS-FAST);
  display: inline-block;
  position: absolute;
  bottom: -1em;
  left: 0;
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo a:hover, .sp-site-pageheader .sp-compo-image-style-site-header-logo a:active,
.sp-site-pageheader .is-style-sp-site-header-logo a:hover,
.sp-site-pageheader .is-style-sp-site-header-logo a:active {
  --link-text-deco-color-master: var(--link-text-deco-color-hover, var(--COLOR-HIGHLIGHT));
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo .sp-uppercase,
.sp-site-pageheader .is-style-sp-site-header-logo .sp-uppercase {
  font-weight: 400;
}
.sp-site-pageheader .sp-compo-image-style-site-header-logo .sp-compo-image-figure,
.sp-site-pageheader .is-style-sp-site-header-logo .sp-compo-image-figure {
  max-height: var(--logo-main-max-height, var(--_logo-max-height));
  max-width: var(--logo-main-max-width, none);
}
@media (min-width: 128em) {
  .sp-site-pageheader .sp-compo-image-style-site-header-logo,
  .sp-site-pageheader .is-style-sp-site-header-logo {
    margin-left: -3rem;
  }
}
.sp-site-pageheader .is-style-sp-site-header-logo-sec {
  max-width: var(--logo-sec-max-width, 16em);
  margin-left: var(--logo-sec-margin-left);
  grid-area: logo-sec;
}

.sp-site-pageheader-sub {
  --lang-margin-bottom: 1em;
  display: grid;
  column-gap: 1em;
  row-gap: var(--header-vspace);
  grid-template-columns: 1fr;
  grid-template-areas: "search-btn menu-btn" "brand brand" "contact contact";
}
.sp-site-pageheader-sub .sp-site-searchform {
  width: initial;
  max-width: none;
  margin-right: auto;
  margin-left: initial;
}
.sp-site-pageheader-sub .sp-site-searchform.sp-blend-in ~ .sp-site-searchform-input-btn-expand {
  opacity: 0;
}
.sp-site-pageheader-sub .sp-site-searchform-input-btn-expand {
  --compo-icon-sub-color: var(--COLOR-SEC);
  font-size: 1.75rem;
  grid-area: search-btn;
  justify-self: end;
  position: relative;
  top: var(--search-btn-expand-top, 0.125rem);
  right: var(--search-btn-expand-right, 0);
}
.sp-site-pageheader-sub .sp-site-searchform-input-btn-expand::after {
  content: '';
  background: var(--COLOR-MIN);
  padding: 1em;
  border-radius: 100%;
  display: block;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  z-index: -1;
}
.sp-site-pageheader-sub .is-style-sp-site-header-logo-sec {
  margin-bottom: var(--logo-sec-margin-bottom, 1em);
}
.sp-site-pageheader-sub figure,
.sp-site-pageheader-sub img {
  margin: 0;
}

@media (min-width: 16em) {
  .sp-site-small-device-menu-btn-wrapper {
    margin-right: -.75rem;
    margin-left: 1ch;
  }

  .sp-site-pageheader-sub {
    --search-btn-expand-top: -.25em;
    --search-btn-expand-right: -.25em;
    grid-template-areas: "brand menu-btn" "brand search-btn" "contact contact";
  }
}
@media (min-width: 32em) {
  .sp-site-pageheader-sub {
    --search-btn-expand-top: 0;
    grid-template-areas: "brand search-btn menu-btn" "brand contact contact" ". contact contact";
    grid-template-columns: 1fr 1fr min-content;
  }

  .sp-site-nav-main-holder a::before,
  .menu-hauptmenue-container a::before {
    content: '';
    background: var(--nav-link-icon-bg, transparent);
    height: 1em;
    width: 1em;
    margin-right: 1ch;
    border-radius: 100%;
    display: block;
    transition: all var(--MOTION-TRANS-FAST);
  }
  .sp-site-nav-main-holder a:focus, .sp-site-nav-main-holder a:hover, .sp-site-nav-main-holder a:active,
  .menu-hauptmenue-container a:focus,
  .menu-hauptmenue-container a:hover,
  .menu-hauptmenue-container a:active {
    --nav-link-icon-bg: var(--COLOR-AKZENT);
  }
}
@media (min-width: 64em) {
  .sp-site-pageheader {
    padding-top: .75em;
  }

  .sp-site-pageheader-sub {
    --logo-sec-margin-bottom: 0;
    grid-template-columns: max-content 1fr min-content;
    grid-template-areas: "brand . search-btn" "brand contact contact" "nav-main nav-main nav-main";
    column-gap: 3em;
    align-items: end;
  }
  .sp-site-pageheader-sub .is-style-sp-site-header-logo {
    flex: initial;
  }
  .sp-site-pageheader-sub .sp-site-nav-main-holder,
  .sp-site-pageheader-sub .menu-hauptmenue-container {
    --link-text-transform: none;
    margin: auto 0 0;
    z-index: 3;
    align-self: start;
    flex: 1;
  }
  .sp-site-pageheader-sub .sp-site-nav-main-holder[data-sp-status='open'] ~ .sp-site-searchform,
  .sp-site-pageheader-sub .menu-hauptmenue-container[data-sp-status='open'] ~ .sp-site-searchform {
    --searchform-btn-zindex: 0;
  }
  .sp-site-pageheader-sub .sp-site-searchform {
    grid-column: 1/-1;
    flex: 100%;
  }
  .sp-site-pageheader-sub .sp-site-searchform-input-wrapper ~ .sp-site-searchform-btn {
    z-index: var(--searchform-btn-zindex, 3);
  }
  .sp-site-pageheader-sub .sp-site-searchform-input {
    margin-bottom: 0;
    transition-delay: .08s;
  }
  .sp-site-pageheader-sub .sp-site-searchform-input:focus {
    z-index: 3;
  }
  .sp-site-pageheader-sub .sp-site-searchform-input:focus ~ .sp-site-searchform-placeholder {
    z-index: 3;
  }
  .sp-site-pageheader-sub .sp-site-nav-main {
    font-weight: 500;
    z-index: 3;
  }
}
@media (min-width: 110em) {
  .sp-site-pageheader-sub {
    grid-template-areas: "brand . search-btn" "brand nav-main contact";
    grid-template-columns: max-content 1fr max-content;
  }
}
@media (min-width: 100em) {
  .sp-site-pageheader-sub .menu-hauptmenue-container {
    margin-bottom: 0;
  }
}
.site-small-device-menu-title {
  color: var(--COLOR-AKZENT);
  font-size: 160%;
  text-align: right;
  text-transform: uppercase;
  margin-bottom: .8em;
  flex: 100%;
  display: none;
}

.sp-site-small-device-menu-btn-wrapper {
  --icon-stroke-width: 0.5em;
  color: var(--COLOR-META);
  text-align: right;
  grid-area: menu-btn;
  display: flex;
  flex-wrap: wrap;
  align-self: flex-start;
  flex: 100%;
}

@media (min-width: 36em) {
  .sp-site-small-device-menu-btn-wrapper {
    order: 1;
  }
}
.sp-site-small-device-menu-btn {
  --border-color: var(--color-zero);
  --btn-bg: transparent;
  --btn-outline-offset: .25em;
  --content-color-hover: var(--COLOR-HIGHLIGHT);
  --icon-height: auto;
  --icon-width: 4.2em;
  font-size: 0.75em;
  height: 4rem;
  width: 3.5rem;
  border-radius: var(--SITE-RADIUS);
  padding: 0.5em;
  margin: 0 0.5em 0 auto;
  transition: all var(--MOTION-TRANS);
  min-width: 0;
  display: flex;
  flex-flow: column;
  justify-content: center;
  position: relative;
}
.sp-site-small-device-menu-btn:hover {
  --content-color: var(--content-color-hover);
  transform: scale(1.2);
}
.sp-site-small-device-menu-btn .sp-icon-menu {
  margin-bottom: .5em;
  position: absolute;
  top: 0;
  right: -0.125em;
}

.sp-site-small-device-menu-btn-txt {
  color: var(--btn-txt-color, --content-color);
  letter-spacing: .1ch;
  text-transform: uppercase;
  padding-left: .125em;
  transform: var(--btn-transform);
  transition: all var(--MOTION-TRANS-FAST);
  display: block;
  flex: 100%;
  order: 1;
  position: absolute;
  bottom: 0;
  right: .25em;
}

.sp-site-brand {
  --content-color: var(--brand-color, var(--compo-content-color));
  color: var(--content-color);
  letter-spacing: 0.05ex;
  word-spacing: 0.1ex;
  margin-bottom: var(--spr);
  align-self: center;
  grid-area: brand;
}

.sp-site-brand-txt {
  font-size: var(--brand-font-size, 1.5em);
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  padding-bottom: .25em;
  display: inline-block;
  position: relative;
}
.sp-site-brand-txt::after {
  content: '';
  transition: all var(--MOTION-TRANS-FAST);
  border-bottom: var(--style-line-style) 0.25em var(--link-txt-border-color, transparent);
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
}

a.sp-site-brand-txt:hover, a.sp-site-brand-txt:active, a.sp-site-brand-txt:hover:focus:active {
  --link-txt-border-color: currentColor;
}
a.sp-site-brand-txt:focus:active {
  --link-txt-border-color: transparent;
}

.sp-site-breadcrumbs {
  --content-color: var(--COLOR-META);
  --deli-margin-right: .5em;
  --deli-margin-left: .25em;
  --link-border-width: 0;
  --link-bg-hover: var(--COLOR-SEC);
  --link-content-color: var(--compo-content-color);
  --link-content-color-hover: #fff;
  --link-focus-color-master: var(--color-zero);
  --link-outline-color-hover: var(--link-bg-hover);
  --link-outline-offset: 0;
  --link-outline-width: var(--LINE-WIDTH-MED);
  --link-text-deco-color: var(--COLOR-TERT);
  --link-text-deco-color-focus: transparent;
  --link-text-deco-color-hover: var(--link-content-color-hover);
  --link-text-deco-offset: .8ex;
  --link-text-deco-width: 0.125em;
  color: var(--content-color);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: italic;
  padding: .5em 0;
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  grid-area: bc;
  grid-column: 1/-1;
  flex: 100%;
  gap: 2ex 0;
}

@media (min-width: 36em) {
  .sp-site-breadcrumbs {
    flex: auto;
  }
}
.sp-site-breadcrumb-link {
  padding-right: .125em;
  padding-bottom: .125em;
}
.sp-site-breadcrumb-link:focus {
  --link-outline-offset: .25em;
}
.sp-site-breadcrumb-link:focus:hover {
  --link-bg-hover: transparent;
  --link-content-color-master: currentColor;
  --link-text-deco-color-master: currentColor;
}
.sp-site-breadcrumb-link:focus, .sp-site-breadcrumb-link:hover, .sp-site-breadcrumb-link:active {
  --link-border-color: var(--bg-color);
}

.sp-site-breadcrumb-link-txt {
  --link-txt-font-style: italic;
}
.sp-site-breadcrumb-link-txt:hover {
  text-decoration-style: solid;
}

.sp-site-breadcrumb-current {
  margin-left: -.3ch;
}

.sp-site-searchform {
  --btn-outline-width: .25em;
  --compo-bg: transparent;
  --compo-icon-sub-width: 2.5em;
  --compo-icon-sub-height: 2em;
  --search-input-translate-y: 2.35em;
  --searchform-input-width: 100%;
  max-width: 100%;
  padding-bottom: 1em;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  flex: 100%;
  grid-area: search;
  position: relative;
}
.sp-site-searchform[data-sp-status='closed'] .sp-site-searchform-input-wrapper {
  width: 0;
  overflow: hidden;
  opacity: 0;
}
.sp-site-searchform[data-sp-status='closed'] ~ .sp-btn-close {
  opacity: 0;
}
.sp-site-searchform:focus-within {
  --search-icon-transform: rotate(-18deg) scale(1.2);
}

.sp-site-searchform-default .sp-site-searchform-input:focus::placeholder, .sp-site-searchform-default .sp-site-searchform-input:active::placeholder {
  opacity: 0;
}

.sp-site-searchform-compact {
  --icon-button-outline-color-focus: var(--COLOR-META);
  --placeholder-color: transparent;
  --search-input-translate-y: 3.25em;
  --searchform-placeholder-color: var(--COLOR-META);
  --searchform-placeholder-opacity: 1;
  background: var(--COLOR-ZERO);
  padding-left: 1ch;
  padding-bottom: 0;
  border-radius: var(--SITE-RADIUS);
  grid-area: none;
  position: absolute;
  top: initial;
  right: calc( var(--SITE-PADDING-H-META) - .3rem );
  z-index: 3;
}
.sp-site-searchform-compact .sp-site-searchform-input {
  margin-bottom: 1ex;
}
.sp-site-searchform-compact .sp-site-searchform-input:focus + .sp-input-placeholder-hide, .sp-site-searchform-compact .sp-site-searchform-input:active + .sp-input-placeholder-hide {
  transition: opacity 0.1s 0.25s, transform 0.3s 0.6s ease-out, box-shadow var(--MOTION-TRANS);
}
.sp-site-searchform-compact .sp-searchform-input-btn-close {
  --bg: transparent;
  --compo-icon-color: var(--COLOR-META);
  --compo-icon-height: 2rem;
  padding: .25em 1ex 0;
  margin-right: .5ex;
  filter: none;
  position: relative;
  bottom: .25em;
}

@media (min-width: 36em) {
  .sp-site-searchform {
    flex: auto;
    align-self: flex-start;
  }
}
@media (min-width: 64em) {
  .sp-site-searchform {
    --search-icon-transform: translateY(0.125em);
  }
}
.sp-site-searchform-input-wrapper {
  text-align: right;
  width: 100%;
  max-width: var(--searchform-input-width, 100%);
  display: inline-block;
  position: relative;
}

.sp-site-searchform-default .sp-site-searchform-input-wrapper:focus-within {
  --searchform-input-width: var(--searchform-input-width-focus, 24rem);
}

.sp-site-searchform-input {
  background: var(--COLOR-GRAU-HELL);
  color: var(--COLOR-PRIM);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  letter-spacing: 0.05ex;
  word-spacing: 0.05ex;
  height: 2.75em;
  max-width: var(--searchform-input-width);
  width: 100%;
  padding: 0.25em calc(var(--compo-icon-sub-width) + 2ch) 0.3125em 0.75em;
  border-radius: .75em;
  border: var(--search-border-width, 0.125em) solid var(--search-border-color, transparent);
  box-sizing: border-box;
  outline: var(--LINE-WIDTH-MIN) solid transparent;
  outline-offset: 0;
  margin: 0 -.0625em 1.25rem 0;
  transition-delay: .25s;
  position: relative;
  z-index: 1;
}
.sp-site-searchform-input:focus {
  --search-border-color: transparent;
  outline-color: var(--COLOR-HIGHLIGHT);
}
.sp-site-searchform-input:focus + .sp-site-searchform-placeholder, .sp-site-searchform-input:active + .sp-site-searchform-placeholder {
  opacity: 1;
  transition: opacity 2s 0.2s, transform 0.4s 0.2s ease-out, box-shadow var(--MOTION-TRANS);
}

.sp-site-searchform-btn {
  --btn-bg-color: transparent;
  --btn-color-highlight: var(--COLOR-HIGHLIGHT);
  --btn-content-color: var(--COLOR-TERT);
  --btn-bg-color-highlight: transparent;
  --btn-highlight-focus: var(--COLOR-HIGHLIGHT-CONTRAST);
  --btn-outline-offset: -.125em;
  --compo-icon-sub-color: var(--COLOR-GRAU-MED);
  --content-color: var(--color-tert);
  --motion-trans: var(--MOTION-TRANS-FAST);
  font-size: var(--search-btn-font-size, 1em);
  min-width: 0;
  padding: 0 .5em;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  position: absolute;
  top: var(--search-btn-top);
  z-index: 1;
}
.sp-site-searchform-btn:focus:hover, .sp-site-searchform-btn:active:hover, .sp-site-searchform-btn:focus:hover:active {
  transform: none;
}
.sp-site-searchform-btn:hover, .sp-site-searchform-btn:active {
  --search-icon-transform: rotate(-18deg) scale(1.2);
}

.sp-site-searchform-icon {
  outline: 0.125rem solid transparent;
  outline-offset: .5em;
  transform: var(--search-icon-transform);
  animation: var(--search-icon-ani);
}

.sp-site-searchform-placeholder {
  color: var(--searchform-placeholder-color, var(--compo-content-color));
  background: var(--compo-bg);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: italic;
  text-align: left;
  transform: translateY(var(--search-input-translate-y));
  transition: opacity .4s .05s ease-out,transform .4s ease-out;
  opacity: var(--searchform-placeholder-opacity, 0);
  position: absolute;
  top: var(--searchform-placeholder-top, 1ex);
  bottom: var(--searchform-placeholder-bottom, initial);
  left: .75em;
}

@media (min-width: 64em) {
  .sp-site-searchform-placeholder {
    right: calc(var(--searchform-input-width,0) + .35rem);
  }
}
.sp-input-placeholder-hide {
  transition: opacity .1s ease-out,transform .4s .3s ease-out;
}

.sp-search-scale-reverse:focus, .sp-search-scale-reverse:active {
  width: 145%;
  transform: translateX(-33%);
  animation: sp-search-scale-reverse .4s .5s forwards;
}

.sp-site-small-device-menu-btn-close {
  padding-right: 0;
  margin-right: -.5em;
  margin-bottom: 1rem;
  outline-width: var(--LINE-WIDTH-MED);
  outline-offset: .25em;
}
.sp-site-small-device-menu-btn-close:focus {
  outline-color: var(--COLOR-AKZENT);
}
.sp-site-small-device-menu-btn-close:hover, .sp-site-small-device-menu-btn-close:active {
  --compo-icon-color: var(--COLOR-AKZENT);
}

.sp-site-nav-main-holder,
.menu-hauptmenue-container {
  --ani-slide-in: .3s .1s;
  --ani-slide-out: .2s;
  --compo-bg: var(--COLOR-PRIM);
  --compo-icon-height: calc( (var(--spr) * 1.5) + 2vmin);
  --compo-icon-sub-height: 2em;
  --content-color: var(--compo-content-color);
  --icon-color: var(--COLOR-SEC);
  --icon-height: calc(2rem + 65vh);
  --link-content-color: var(--content-color);
  --link-text-deco-color-hover: transparent;
  --link-text-deco-offset: 1ex;
  color: var(--content-color);
  transform: translateX(200vw);
  margin-top: auto;
  margin-left: auto;
  overflow: hidden;
  grid-area: nav-main;
  align-self: flex-end;
  align-self: end;
}
.sp-site-nav-main-holder.sp-slide-in,
.menu-hauptmenue-container.sp-slide-in {
  --ani-add: sp-show-shadow .3s forwards;
  --content-color: #fefefe;
  --link-content-color: #fefefe;
  --link-content-color-hover: var(--COLOR-AKZENT-HELL);
  --link-outline-color-focus-master: var(--link-content-color-hover);
  --link-text-deco-width-hover: 0.125em;
  width: 100%;
  max-width: 98vw;
  padding-right: 0;
  border-bottom: var(--border-style, none) #fefefe 0.5rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
.sp-site-nav-main-holder.sp-slide-in .menu-item-has-children a + .sub-menu,
.menu-hauptmenue-container.sp-slide-in .menu-item-has-children a + .sub-menu {
  margin-top: 1em;
}
.sp-site-nav-main-holder.sp-slide-in .sp-site-nav-main,
.menu-hauptmenue-container.sp-slide-in .sp-site-nav-main {
  padding: 1.5em 2em 2em;
  min-height: 100vh;
  max-width: 100%;
}
.sp-site-nav-main-holder.sp-slide-in .sp-site-nav-main-deco-img,
.menu-hauptmenue-container.sp-slide-in .sp-site-nav-main-deco-img {
  display: block;
}
.sp-site-nav-main-holder.sp-slide-in .site-small-device-menu-title,
.menu-hauptmenue-container.sp-slide-in .site-small-device-menu-title {
  display: block;
}
.sp-site-nav-main-holder:not(.sp-slide-in) .menu-item::after,
.menu-hauptmenue-container:not(.sp-slide-in) .menu-item::after {
  content: '|';
  color: var(--COLOR-GRAU-HELL);
  font-weight: lighter;
  position: absolute;
  top: 0;
  right: -1.5em;
}
.sp-site-nav-main-holder:not(.sp-slide-in) .menu-item:last-child::after,
.menu-hauptmenue-container:not(.sp-slide-in) .menu-item:last-child::after {
  content: initial;
}

.sp-site-nav-main {
  background: var(--compo-bg);
  font-weight: 300;
  letter-spacing: .1ex;
  display: flex;
  flex-wrap: wrap;
  align-content: start;
  align-self: flex-end;
  justify-content: flex-end;
  position: relative;
}
.sp-site-nav-main a {
  text-align: right;
  justify-content: flex-end;
}

.sp-site-nav-main-deco-img {
  --img-width: 56rem;
  background: transparent;
  overflow: hidden;
  opacity: .14;
  display: none;
  position: absolute;
  right: -22rem;
  bottom: -29rem;
}

.sp-site-nav-main-icon {
  position: absolute;
  bottom: -30%;
  left: -30%;
  z-index: 0;
}

.sp-site-nav-main-list, #menu-hauptmenue {
  display: grid;
  grid-auto-flow: column;
  grid-gap: var(--menu-item-gap, 2em);
  flex: 100%;
  justify-content: var(--pageheader-nav-justify-content, flex-end);
  z-index: 1;
}

.sp-site-nav-main-item,
.menu-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--link-text-align, flex-end);
  flex: 100%;
  position: relative;
}
.sp-site-nav-main-item span,
.menu-item span {
  text-transform: none;
}

.sp-site-nav-main-link,
.menu-item > a {
  --compo-icon-sub-color: var(--COLOR-TERT);
  --compo-icon-sub-color-hover: var(--COLOR-HIGHLIGHT);
  --link-focus-color: var(--COLOR-HIGHLIGHT-CONTRAST);
  --link-txt-border-width: .125em;
  --link-txt-master-border-color: rgba(255, 255, 255, 0.25);
  font-size: var(--nav-link-font-size, var(--TYPO-FONT-SIZE-MIN));
  font-weight: var(--nav-link-font-weight, 400);
  text-transform: var(--nav-link-text-transform, uppercase);
  display: flex;
  align-items: center;
  flex: 100%;
}
.sp-site-nav-main-link[aria-current],
.menu-item > a[aria-current] {
  --link-text-deco-color: var(--COLOR-TERT);
  --link-text-deco-color-hover: var(--COLOR-TERT);
  --nav-link-icon-bg: var(--COLOR-DECO);
  border-bottom: var(--LINE-WIDTH-MED) rgba(255, 255, 255, 0.75);
}
.sp-site-nav-main-link[aria-current]:hover, .sp-site-nav-main-link[aria-current]:active,
.menu-item > a[aria-current]:hover,
.menu-item > a[aria-current]:active {
  --link-txt-master-border-color: transparent;
}
.sp-site-nav-main-link:hover:focus,
.menu-item > a:hover:focus {
  --link-txt-color-hover: #fefefe;
}
.sp-site-nav-main-link:hover, .sp-site-nav-main-link:active,
.menu-item > a:hover,
.menu-item > a:active {
  --link-txt-master-border-color: #fefefe;
}

.sub-menu {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
}
.sub-menu a {
  text-transform: none;
}
.sub-menu .menu-item {
  padding-bottom: 1em;
}

@media (max-width: 45em) {
  body:not(.sp-js) {
    --pageheader-height: none;
  }
  body:not(.sp-js) .sp-site-nav-main-holder,
  body:not(.sp-js) .menu-hauptmenue-container {
    --compo-bg: transparent;
    --compo-bg: transparent;
    --link-outline-color: transparent;
    --menu-item-gap: 1em;
    overflow: visible;
    transform: none;
  }
  body:not(.sp-js) .sp-site-nav-main-holder a,
  body:not(.sp-js) .menu-hauptmenue-container a {
    text-align: right;
    justify-content: flex-end;
  }
  body:not(.sp-js) .sp-site-nav-main-holder .sub-menu,
  body:not(.sp-js) .menu-hauptmenue-container .sub-menu {
    display: none;
  }

  body.sp-js .sp-site-nav-main-holder .menu > .menu-item,
  body.sp-js .menu-hauptmenue-container .menu > .menu-item {
    padding-right: 1ch;
    border-right: solid 0.125em currentColor;
  }

  .sp-site-searchform {
    --compo-icon-sub-width: 1.5em;
    --search-btn-font-size: 1.2rem;
    --search-btn-top: 0;
    --searchform-input-width: MAX(24rem, 50%);
    --searchform-input-width-focus: MAX(24rem, 50%);
    flex: 100%;
  }

  .sp-site-searchform-input {
    font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  }
}
@media (max-width: 32em) {
  .sp-site-searchform {
    --searchform-input-width: 100%;
    --searchform-input-width-focus: 100%;
  }
}
@media (max-width: 64em) {
  .sp-site-main-nav {
    --content-color: #fefefe;
  }

  .sp-site-nav-main-list, #menu-hauptmenue {
    --compo-icon-sub-color: var(--COLOR-AKZENT-HELL);
    --link-bg: transparent;
    display: flex;
    flex-wrap: wrap;
  }

  .sp-site-nav-main-link, #menu-hauptmenue > .menu-item > a {
    align-items: center;
  }
}
@media (min-width: 64em) {
  .sp-site-pageheader-sub .sp-site-nav-main-holder,
  .sp-site-pageheader-sub .menu-hauptmenue-container {
    margin-bottom: .9rem;
  }

  .sp-address-style-site-header {
    --compo-icon-sub-height: 1.7em;
    margin-bottom: 1rem;
  }

  .sp-compo-image-style-site-header-logo,
  .is-style-sp-site-header-logo {
    font-size: 130%;
    opacity: .9;
  }

  .sp-site-small-device-menu-btn-wrapper {
    display: none;
  }

  .sp-site-nav-main-holder,
  .menu-hauptmenue-container {
    --nav-link-font-weight: 600;
    --link-text-align: flex-start;
    animation: var(--MOTION-TRANS) sp-blend-in forwards;
    position: static;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']),
  .menu-hauptmenue-container:not([data-sp-status='open']) {
    --compo-bg: transparent;
    --link-outline-width: .2em;
    min-height: 0;
    overflow: initial;
    top: .25em;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .sp-site-small-device-menu-btn-close,
  .menu-hauptmenue-container:not([data-sp-status='open']) .sp-site-small-device-menu-btn-close {
    display: none;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .sub-menu,
  .menu-hauptmenue-container:not([data-sp-status='open']) .sub-menu {
    --link-content-color: currentColor;
    background: #fefefe;
    color: var(--COLOR-AKZENT);
    line-height: 1.3;
    min-width: 16rem;
    padding: 1em 1.5em 3em 3em;
    border-right: var(--LINE-STYLE) 1ch var(--COLOR-MIN);
    border-radius: 0 0 var(--SITE-RADIUS) var(--SITE-RADIUS);
    transform-origin: top center;
    opacity: var(--submenu-opacity, 0);
    visibility: hidden;
    transition: all var(--MOTION-TRANS-FAST);
    position: absolute;
    top: 3ex;
    right: -1.5ch;
    z-index: 1;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .sub-menu > .menu-item,
  .menu-hauptmenue-container:not([data-sp-status='open']) .sub-menu > .menu-item {
    padding: 1em 0 0;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .menu-item:focus-within, .sp-site-nav-main-holder:not([data-sp-status='open']) .menu-item:hover,
  .menu-hauptmenue-container:not([data-sp-status='open']) .menu-item:focus-within,
  .menu-hauptmenue-container:not([data-sp-status='open']) .menu-item:hover {
    --submenu-opacity: 1;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .menu-item:focus-within .sub-menu, .sp-site-nav-main-holder:not([data-sp-status='open']) .menu-item:hover .sub-menu,
  .menu-hauptmenue-container:not([data-sp-status='open']) .menu-item:focus-within .sub-menu,
  .menu-hauptmenue-container:not([data-sp-status='open']) .menu-item:hover .sub-menu {
    --ani-scale-start: 1,0;
    --ani-scale: 1,1;
    visibility: visible;
    animation: sp-scale .8s forwards;
  }
  .sp-site-nav-main-holder:not([data-sp-status='open']) .menu-item a,
  .menu-hauptmenue-container:not([data-sp-status='open']) .menu-item a {
    position: relative;
    z-index: 1;
  }
  .sp-site-nav-main-holder.sp-utility-structural-hide,
  .menu-hauptmenue-container.sp-utility-structural-hide {
    display: block;
  }
  .sp-site-nav-main-holder .sp-site-nav-delay,
  .menu-hauptmenue-container .sp-site-nav-delay {
    transition-delay: .8s;
  }

  .sp-site-nav-main-item, #menu-hauptmenue > .menu-item {
    padding-bottom: 0;
  }

  .sp-site-nav-main-link, #menu-hauptmenue > .menu-item > a {
    --link-focus-color: var(--compo-focus-color);
  }

  .sp-site-searchform {
    --search-btn-font-size: .9em;
  }
}
@media (min-width: 90em) {
  .sp-site-pageheader-sub {
    --logo-space-bottom: 0;
    --menu-item-gap: calc(2ch + 1%);
  }

  .sp-site-nav-main-holder:not([data-sp-status='open']),
  .menu-hauptmenue-container:not([data-sp-status='open']) {
    padding: 0;
    align-self: flex-start;
  }

  .sp-site-nav-main-list,
  #menu-hauptmenue {
    display: flex;
    flex-wrap: wrap;
  }
  .sp-site-nav-main-list .sp-site-nav-main-item,
  .sp-site-nav-main-list .menu-item,
  #menu-hauptmenue .sp-site-nav-main-item,
  #menu-hauptmenue .menu-item {
    flex: initial;
  }

  .is-style-sp-site-header-misc {
    margin-left: 3em;
  }
}
.sp-site-main {
  padding-bottom: calc( 3rem + 5vmin );
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--site-main-justify-content);
}

.sp-site-notes {
  --trans-y: 200%;
  background: rgba(255, 255, 255, 0.75);
  padding: .5em;
  outline: solid var(--color-zero);
  transform: translateY(var(--trans-y));
  position: fixed;
  bottom: 0;
  z-index: 5;
}

.sp-site-notes-show {
  --trans-y: 0;
}

.sp-site-notes-hide {
  --motion-trans: .4s ease-in;
  --trans-y: 200%;
}

.sp-site-pagination {
  --content-color: var(--COLOR-SEC);
  --link-content-color-hover: var(--COLOR-HIGHLIGHT);
  --pagination-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  color: var(--pagination-color, var(--content-color, inherit));
  font-size: var(--pagination-font-size, inherit);
  font-weight: var(--pagination-font-weight, inherit);
  padding-right: var(--SITE-PADDING-LEFT);
  padding-left: var(--SITE-PADDING-LEFT);
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.sp-site-pagination .sp-link {
  --ani-fade-vert: 0;
}
.sp-site-pagination .sp-link.prev {
  --ani-fade-horz: -1.5em;
  --pagination-icon-left: -0.5ch;
}
.sp-site-pagination .sp-link.next {
  --ani-fade-horz: 1.5em;
  --pagination-icon-right: -0.5ch;
}
.sp-site-pagination .sp-link:hover, .sp-site-pagination .sp-link:active {
  --pagination-icon-ani: sp-element-fade 1s infinite;
}

* + .sp-site-pagination {
  margin-top: var(--pagination-margin-top, calc( var(--vspace,1rem) * var(--vspace-factor,3) ));
}

.sp-site-pagination-number {
  border-radius: .35em;
  display: inline-block;
  position: relative;
}
.sp-site-pagination-number.current {
  --content-color: var(--COLOR-FULL);
  background: var(--COLOR-GRAU-HELL);
  font-weight: bold;
  outline: 0.25em var(--style-line-style) var(--outline-color-current, var(--link-outline-color));
}

.sp-site-pagination-direction {
  animation: var(--pagination-icon-ani, none);
  display: inline-block;
  position: absolute;
  right: var(--pagination-icon-right);
  left: var(--pagination-icon-left);
}

@media (max-width: 45em) {
  .sp-site-pagination {
    text-align: right;
    padding-top: 4rem;
    border-top: var(--LINE-WIDTH-MAX) var(--LINE-STYLE) var(--COLOR-GRAU-HELL);
    margin-top: calc( 4rem + var(--LINE-WIDTH-MAX) );
  }
  .sp-site-pagination .sp-link {
    --link-outline-offset: 0;
  }

  .sp-site-pagination-dots {
    text-align: right;
    transform: rotate(90deg);
    margin-left: auto;
    flex: 0;
  }

  .sp-site-pagination-number {
    margin-bottom: 1rem;
  }
  .sp-site-pagination-number:not(.sp-site-pagination-dots) {
    padding: 2ex;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex: 100%;
  }
  .sp-site-pagination-number.current {
    color: #fefefe;
    background: var(--COLOR-SEC);
  }

  .sp-site-pagination-direction {
    position: initial;
  }
}
@media (min-width: 45em) {
  .sp-site-pagination-number {
    --link-outline-offset: 0;
    text-align: center;
    min-width: 4.5ch;
    padding: .5em;
    display: block;
  }
  .sp-site-pagination-number.current {
    outline-color: var(--COLOR-TERT);
  }
}
.sp-site-select-lang {
  --link-content-color: var(--COLOR-SEC);
  color: var(--COLOR-GRAU-MED);
  text-align: var(--lang-text-align, right);
  margin-bottom: var(--lang-margin-bottom, 0);
  grid-area: lang;
}

html[lang^='en'] .sp-site-select-lang a:not([href*='/en/']) {
  --link-content-color: var(--COLOR-GRAU-MED);
}

.sp-site-svg-symbols {
  display: none;
}

/*ENDE:website------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
  SITE: FOOTER
------------------------------------------------------------------------------*/
.sp-site-footer {
  --_footer-links-item-gap: 1.5ex;
  --address-item-justify: var(--footer-text-align);
  --compo-bg: transparent;
  --compo-content-color: #e6e6e6;
  --cta-bg-loud: var(--COLOR-AKZENT-HELL);
  --cta-content-color-loud: #333333;
  --cta-content-color-hover-loud: #fefefe;
  --cta-min-width: 100%;
  --cta-outline-color-focus: var(--link-outline-color-focus);
  --link-content-color: var(--compo-content-color);
  --link-icon-color-hover: var(--COLOR-AKZENT-HELL);
  --link-outline-color-focus: var(--COLOR-AKZENT-HELL);
  --link-text-deco-color-focus: transparent;
  --link-text-deco-color-hover: var(--COLOR-AKZENT-HELL);
  --logos-max-width: MIN(20rem, 100%);
  color: var(--compo-content-color);
  background: var(--COLOR-PRIM);
  min-height: 24rem;
  padding-top: 3.5em;
  padding-bottom: 8em;
  padding-right: var(--SITE-PADDING-H-META);
  padding-left: var(--SITE-PADDING-H-META);
  overflow: hidden;
  position: relative;
  z-index: 3;
  align-self: flex-end;
  display: grid;
  grid-template-columns: 100%;
  grid-template-areas: "link-lists" "cta" "meta-links" "address" "adressen" "logos" "socials" "info" "deco-bg";
}
.sp-site-footer figure,
.sp-site-footer img {
  margin: 0;
}
.sp-site-footer > * {
  text-align: var(--footer-text-align);
}
.sp-site-footer > .sp-block-cta-wrapper {
  --cta-bg-hover: var(--COLOR-AKZENT);
  --cta-border-radius: var(--SITE-RADIUS);
  --cta-content-color-hover: #333333;
  --cta-display: grid;
  --cta-outline-color-hover: transparent;
  --cta-subtxt-content-color: var(--compo-content-color);
  --cta-subtxt-order: -1;
  --cta-subtxt-space-top: 0;
  --font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  --font-weight: 300;
  --icon-height: auto;
  --icon-width: calc(1em + 50%);
  --link-text-deco-width-hover: 0.125em;
  max-width: var(--logos-max-width);
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--footer-justify-content);
  grid-area: cta;
  align-self: start;
  justify-self: var(--footer-justify-content);
  gap: 1ex;
}
.sp-site-footer > .sp-block-cta-wrapper .sp-block-cta {
  padding-right: 1.5em;
  padding-left: 1.5em;
  grid-template-columns: max-content 1fr;
  gap: 1ch;
}

.is-style-sp-site-footer-bg,
.sp-compo-image-style-footer-bg {
  --image-max-width: none;
  --img-object-fit: cover;
  --image-space-bottom: 0;
  --img-width: 100%;
  position: absolute;
  top: var(--stretch-zone, 0);
  right: var(--stretch-zone, 0);
  bottom: var(--stretch-zone, 0);
  left: var(--stretch-zone, 0);
  z-index: -1;
}
.is-style-sp-site-footer-bg .sp-compo-image-figure,
.sp-compo-image-style-footer-bg .sp-compo-image-figure {
  display: flex;
  flex-wrap: wrap;
}
.is-style-sp-site-footer-bg img,
.sp-compo-image-style-footer-bg img {
  object-position: top left;
}

.is-style-sp-site-footer-block-01 {
  grid-area: adressen;
}
.is-style-sp-site-footer-block-01 .wp-block-group__inner-container {
  display: flex;
  flex-flow: column;
  gap: 1.5em;
}
.is-style-sp-site-footer-block-01 h2,
.is-style-sp-site-footer-block-01 h3 {
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  margin-bottom: -.5ex;
}

* + .is-style-sp-site-footer-block-01 {
  margin-top: 2em;
}

.is-style-sp-compo-social-style-footer {
  --link-outline-offset: .125em;
  margin-top: 2em;
  grid-area: socials;
}
.is-style-sp-compo-social-style-footer .wp-block-social-links.is-style-pill-shape {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.is-style-sp-compo-social-style-footer .wp-block-social-links.is-style-pill-shape .wp-social-link .wp-block-social-link-anchor {
  font-size: 1.5em;
  padding: .15em;
}

.sp-style-footer-compo-social {
  --compo-icon-sub-height: 2em;
  --link-bg: #fefefe;
  --link-bg-hover: #fefefe;
  margin-top: 3em;
  grid-area: socials;
}
.sp-style-footer-compo-social .sp-compo-social-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5ch;
}
.sp-style-footer-compo-social .sp-compo-icon-sub {
  --icon-color: var(--social-color);
  padding: 0;
  border: 0;
}

.sp-compo-social-prepend-style-footer {
  margin-bottom: 1em;
}

.sp-style-footer-compo-social-link {
  border-radius: 4em;
  height: 4em;
  width: 4em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.sp-site-compo-social-link-icon-style-footer {
  line-height: 1;
  padding: 0;
}

.sp-site-footer-compo-social {
  --compo-icon-color: var(--compo-bg-icon-color);
  max-width: var(--footer-section-width);
  position: relative;
}

.sp-site-footer-compo-social-list {
  display: inline-block;
}
.sp-site-footer-compo-social-list:focus-within ~ .sp-compo-social-meta-icon, .sp-site-footer-compo-social-list:hover ~ .sp-compo-social-meta-icon {
  transform: rotate(-0.05turn);
}

.sp-site-footer-compo-social-headline {
  --compo-headline-color: inherit;
  --compo-headline-font-weight: var(--typo-grundschrift-font-weight);
  margin-bottom: 0;
}

.sp-site-footer-compo-social-item {
  position: relative;
}
.sp-site-footer-compo-social-item:not(:last-child) {
  margin-bottom: calc(.75 * var(--sp));
}

.sp-site-footer-compo-social-link-icon {
  --compo-icon-sub-width: 1.35em;
  margin-right: .75ch;
}

.sp-site-footer-compo-social-link-txt {
  top: -.5ch;
}

.is-style-sp-site-footer-link-lists {
  --gap: var(--footer-links-list-gap, calc( 4 * var(--_footer-links-item-gap) ));
  --grid-max: 18rem;
  --grid-min: 16rem;
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  overflow-wrap: break-word;
  margin-bottom: calc( var(--gap) * 1.5);
  grid-area: link-lists;
  z-index: 1;
}
.is-style-sp-site-footer-link-lists .wp-block-group__inner-container {
  text-align: var(--footer-text-align);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--grid-min, 0), var(--grid-max, 1fr)));
  justify-content: var(--footer-links-justify-content, var(--footer-justify-content, flex-end));
  gap: var(--gap);
}
.is-style-sp-site-footer-link-lists .wp-social-link-feed .wp-block-social-link-anchor {
  --ani-opacity-end: 0;
  --ani-opacity-start: 1;
}
.is-style-sp-site-footer-link-lists .wp-social-link-feed .wp-block-social-link-anchor:hover, .is-style-sp-site-footer-link-lists .wp-social-link-feed .wp-block-social-link-anchor:active {
  --social-icon-ani: sp-ani-img 1.2s infinite;
}
.is-style-sp-site-footer-link-lists .wp-block-social-link-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 1ch;
}
.is-style-sp-site-footer-link-lists .wp-block-social-link-anchor svg {
  fill: currentColor;
  animation: var(--social-icon-ani);
}

.is-style-sp-site-footer-link-list {
  margin-bottom: 0;
  display: grid;
  align-items: flex-start;
  gap: var(--footer-links-item-gap, var(--_footer-links-item-gap));
}
.is-style-sp-site-footer-link-list a {
  display: block;
}
.is-style-sp-site-footer-link-list + .wp-block-social-links {
  margin: -0 0 5em;
}

@media (min-width: 45em) {
  .is-style-sp-site-footer-link-list li {
    display: grid;
    grid-template-columns: min-content 1fr;
    gap: .5ch;
  }
  .is-style-sp-site-footer-link-list li::before {
    content: '›';
    height: .8em;
    width: .8em;
    display: block;
    order: var(--footer-link-icon-order);
  }
}
.is-style-sp-site-footer-logos {
  --image-space-bottom: 0;
  --image-wrapper-width: 100%;
  --img-max-width: var(--logos-max-width);
  --link-outline-color-focus: var(--COLOR-FOCUS);
  background: var(--footer-logos-bg, var(--compo-bg));
  max-width: var(--footer-logos-max-width, MAX(100%, 20%));
  max-width: var(--img-max-width);
  border-radius: var(--SITE-RADIUS);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-self: var(--footer-logos-justify, var(--footer-justify-content, flex-end));
  grid-area: logos;
}
.is-style-sp-site-footer-logos .wp-block-group__inner-container {
  display: flex;
  flex-flow: column;
  align-items: var(--footer-logos-justify, var(--footer-justify-content, flex-end));
  gap: var(--footer-logos-gap, 2em);
  flex: 1;
}
.is-style-sp-site-footer-logos a {
  display: block;
}
.is-style-sp-site-footer-logos a:hover, .is-style-sp-site-footer-logos a:active {
  transform: scale(1.05);
}
.is-style-sp-site-footer-logos .wp-block-image {
  width: 100%;
}
.is-style-sp-site-footer-logos .wp-block-image a {
  border-radius: .25em;
}

.is-style-sp-site-footer-logo-bg {
  --link-bg: #fefefe;
  --link-outline-color-focus: var(--COLOR-HIGHLIGHT);
  border-radius: .5em;
}

.is-style-sp-site-footer-meta-link-list {
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  display: flex;
  flex-wrap: wrap;
  gap: 1ex 1em;
  grid-area: meta-links;
  justify-content: var(--footer-metalinks-justify, var(--footer-justify-content, flex-end));
  align-self: end;
}

* + .is-style-sp-site-footer-meta-link-list {
  margin-top: 4em;
}

.sp-site-footer-info {
  --deli-color: var(--COLOR-TERT);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--footer-justify-content);
  align-self: end;
  grid-area: info;
}

* + .sp-site-footer-info {
  margin-top: var(--footer-info-margin-top, 3em);
}

.sp-site-footer-info-item {
  text-align: var(--footer-text-align);
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--footer-justify-content);
}

.sp-site-footer-meta-nav {
  text-transform: uppercase;
}

.sp-site-footer-meta-link-list-item {
  margin-bottom: calc(.75 * var(--sp));
}

.sp-site-compo-share-list-link-footer {
  --link-master-outline-width: .25em;
}
.sp-site-compo-share-list-link-footer .sp-icon {
  --compo-icon-sub-color-hover: initial;
  --share-border-color-hover: var(--compo-icon-sub-color);
}

@media (max-width: 45em) {
  .sp-site-footer {
    --footer-justify-content: flex-end;
    --footer-logos-justify: flex-end;
    --footer-text-align: right;
    gap: 2em;
  }
  .sp-site-footer li {
    flex: 100%;
  }
  .sp-site-footer li a:not(.sp-social-link) {
    --link-outline-width: 0;
    padding: 2ex 1.5ch;
    border-radius: .75em;
    border: var(--LINE-STYLE) var(--LINE-WIDTH-MIN) rgba(255, 255, 255, 0.1);
    display: block;
  }
  .sp-site-footer li a:not(.sp-social-link):focus {
    border-color: var(--link-outline-color-focus);
  }
  .sp-site-footer .is-style-sp-site-footer-meta-link-list {
    text-align: var(--footer-text-align);
    max-width: 16rem;
    margin-left: auto;
  }

  .sp-site-address-style-site-footer {
    margin-left: auto;
  }

  .sp-compo-social-prepend-style-footer {
    text-align: right;
  }

  .sp-style-footer-compo-social-link {
    margin-left: auto;
  }

  .is-style-sp-site-footer-logos {
    margin-top: 3em;
  }

  .is-style-sp-site-footer-link-list {
    --footer-link-icon-order: 1;
  }
  .is-style-sp-site-footer-link-list li {
    grid-template-columns: 1fr min-content;
  }
}
@media (min-width: 45em) {
  .sp-site-footer {
    padding-bottom: 3em;
    grid-template-columns: 1fr max-content var(--logos-max-width);
    grid-template-areas: "link-lists       .         cta" "address          address logos" "adressen         adressen logos" "adressen adressen meta-links";
    gap: 0 1em;
  }

  .is-style-sp-site-footer-link-lists {
    --footer-links-justify-content: flex-start;
    --grid-max: 1fr;
    --grid-min: initial;
    max-width: 32rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
  }

  .is-style-sp-site-footer-meta-link-list li:not(:last-child)::after {
    content: '|';
    color: var(--COLOR-TERT);
    margin-left: 1em;
  }
}
@media (min-width: 100em) {
  .sp-site-footer {
    grid-template-columns: 1fr 1fr var(--logos-max-width);
    grid-template-areas: "address     link-lists cta" "adressen  link-lists logos" "adressen .	  logos" "adressen . meta-links";
  }
}
/*ENDE:site-footer-------------------------------------------------------------*/
.sp-site-sticky {
  --compo-bg-master: transparent;
  --compo-content-color-master: var(--COLOR-TERT);
  --cta-bg-loud: var(--COLOR-SEC);
  --cta-font-size: var(--TYPO-FONT-SIZE-MIN);
  --cta-outline-color-hover: var(--link-text-deco-color-hover-master);
  --link-text-deco-color-hover-master: var(--COLOR-AKZENT);
  --link-text-deco-offset: .8ex;
  --link-text-deco-width-hover: 0.125em;
  --site-header-justify-content: flex-end;
  background: rgba(0, 0, 0, 0.9);
  color: var(--compo-content-color-master);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  line-height: var(--TYPO-LINE-HEIGHT-MIN);
  font-weight: 300;
  padding: 1em var(--SITE-PADDING-H);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1em;
  position: sticky;
  top: 0;
  z-index: 4;
}
.sp-site-sticky .is-style-sp-site-header-logo {
  color: #fefefe;
  margin-right: auto;
}
.sp-site-sticky .is-style-sp-site-header-logo .sp-block {
  color: var(--COLOR-TERT);
  font-size: 75%;
  font-weight: 400;
  text-transform: uppercase;
}
.sp-site-sticky .sp-block-cta {
  --compo-bg-master: initial;
  --cta-outline-color-hover: transparent;
  --link-content-color-master: #fefefe;
  font-weight: 400;
  padding: 1.15ex 1.75ex;
}
.sp-site-sticky .sp-block-cta:hover {
  transform: scale(1.1);
}
.sp-site-sticky .sp-block-cta.sp-cta-has-icon:not(.sp-cta-animate) {
  padding-left: 1.75ex;
}

@media (min-width: 45em) {
  .sp-site-sticky {
    box-shadow: 0 1em 6em 0em HSLA(var(--COLOR-HUE-PRIM), 10%, 8%, 0.5);
    gap: 1em 2em;
  }
}
.sp-site-contentwrapper-404-system {
  padding-top: 0;
}
.sp-site-contentwrapper-404-system [class*='sp-compo-posts-style'] {
  background: transparent;
  padding-top: 0;
}

.sp-site-pageheader-sub-404-system {
  margin-bottom: 0;
}

@media (max-width: 45em) {
  .sp-compo-webpage-slot-header-404-system {
    padding-top: 1em;
  }
}
.sp-site-main-404-system {
  --headline-text-transform: uppercase;
}

.sp-404-wrapper {
  --link-text-deco-color: var(--COLOR-SEC);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT-CONTRAST);
  width: 100%;
}

.sp-404-title {
  --headline-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --headline-font-weight: 900;
  --headline-line-height: 1;
  --subtitle-color: var(--COLOR-MIN);
  --subtitle-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --subtitle-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --subtitle-line-height: 1.2;
  color: var(--COLOR-HELL);
}

.sp-404-title-char-3 {
  display: inline-block;
  transform-origin: 15% 72%;
  animation: sp-404-error 2s .5s forwards;
}

@keyframes sp-404-error {
  0% {
    filter: drop-shadow(0.25em -0.125em 0.125em transparent);
    transform: rotate(0);
  }
  25% {
    filter: drop-shadow(0.25em -0.125em 0.125em transparent);
    transform: rotate(2deg);
  }
  50% {
    filter: drop-shadow(0.25em -0.125em 0.125em transparent);
    transform: rotate(0);
  }
  75% {
    filter: drop-shadow(0.25em -0.125em 0.125em var(--color-grau-hell));
    transform: rotate(8deg);
  }
  100% {
    filter: drop-shadow(0.15em -0.1em 0.05em var(--color-grau-dark));
    transform: rotate(90deg);
  }
}
@media (min-width: 64em) {
  .sp-404-title {
    display: inline-block;
  }
}
.sp-404-number {
  font-size: 250%;
  margin-bottom: .4em;
  display: block;
}

@media (min-width: 64em) {
  .sp-404-number {
    font-size: 400%;
  }
}
.sp-404-subtitle {
  margin-bottom: 1em;
  display: block;
}

.sp-404-highlight {
  font-weight: 600;
}

.sp-404-headline-2 + * {
  margin-top: 0;
}

.sp-404-descr {
  --headline-content-color: var(--COLOR-SEC);
  --headline-font-size: 1em;
  --headline-font-weight: 500;
  color: var(--COLOR-TERT);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-weight: 400;
  max-width: none;
  padding-bottom: 2.25em;
  margin: 0 0 2.5em;
}

.sp-404-descr-title {
  font-size: 110%;
}

.sp-404-descr-list {
  --list-display: block;
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
}

.sp-404-descr-list-item {
  --list-item-margin: 0;
}

.sp-404-explore {
  --headline-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --headline-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  background: var(--COLOR-MIN);
  padding-top: 3em;
  padding-bottom: 6em;
  margin-top: 1em;
  max-width: none;
}

.sp-404-explore-item {
  margin-top: 1em;
}

.sp-404-explore-item-1 {
  margin-bottom: 2em;
}

.sp-404-explore-item-2 {
  margin: 3em 0 2em;
}

.sp-compo-posts-404 {
  --cta-width: 100%;
  --link-text-deco-color: transparent;
  --post-card-display: grid;
  --post-card-padding: 1.5em 1em;
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-ITEM);
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-ITEM);
  max-width: 56em;
}
.sp-compo-posts-404 .sp-compo-post-card-article:hover {
  --cta-bg: var(--COLOR-HIGHLIGHT);
}

.sp-compo-post-card-post-label-404-system {
  text-transform: uppercase;
}

.sp-compo-webpage-post-meta-beitrag-single {
  gap: 2em;
}

.sp-compo-webpage-post-content-beitrag-single > p:first-child::first-letter {
  color: var(--COLOR-META);
  font-weight: 100;
  font-size: 400%;
  line-height: 0;
  padding-right: .25ex;
  opacity: .8;
}

.sp-compo-webpage-serp .sp-compo-post-card-style-card_01 {
  --compo-post-card-max-width: none;
  min-height: 16rem;
}

.sp-serp-keyword {
  color: #fefefe;
  text-transform: none;
}

.sp-serp-results {
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, MIN(24rem, 100%)), var(--grid-max, 1fr)));
  gap: 2em;
}

.sp-serp-error {
  font-style: italic;
}

@media (max-width: 45em) {
  .sp-serp-results {
    display: flex;
    flex-wrap: wrap;
  }
  .sp-serp-results .sp-compo-post-card-style-card_01 {
    flex: 1;
  }
  .sp-serp-results .sp-compo-post-card-article {
    min-height: 15rem;
  }
}
.sp-archive .sp-compo-webpage-post-content {
  max-width: none;
}
.sp-archive .sp-compo-post-card-style-card_01 {
  --compo-post-card-max-width: none;
}
.sp-archive .sp-archive-section-title {
  --title-content-color: var(--COLOR-FULL);
  --title-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  --title-font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-2-EXTRA);
  --title-line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
  margin-bottom: var(--space-abs, 1rem);
}
.sp-archive .sp-archive-register-title {
  text-transform: none;
}
.sp-archive * + .sp-archive-register-title {
  margin-top: 2em;
}

.tax-sp1808_pubreihe .sp-compo-post-card-style-card_01 .sp-featured-image,
.tax-sp1808_publikationsform .sp-compo-post-card-style-card_01 .sp-featured-image {
  max-height: 14rem;
  object-position: top left;
}

.sp-archive-descr {
  background: var(--COLOR-HELL);
  max-width: none;
  padding-top: 2em;
  padding-right: var(--SITE-PADDING-H);
  padding-bottom: 3em;
  margin-bottom: 2em;
}
.sp-archive-descr * + p {
  margin-top: var(--space-abs, 1rem);
}

.sp-archive-section-title {
  margin-bottom: var(--space-abs, 1rem);
}

.sp-archive-descr-title {
  margin-bottom: calc(.75 * var(--space-abs,1rem));
}

.sp-archive-sort {
  --btn-bg-hover: var(--COLOR-AKZENT-HELL);
  --btn-content-color-hover: var(--COLOR-PRIM);
  --cta-align-self: stretch;
  --cta-border-color: var(--COLOR-TERT);
  --cta-border-width: var(--LINE-WIDTH-MIN);
  --cta-font-size: var(--TYPO-FONT-SIZE-MIN);
  --cta-outline-color: transparent;
  --cta-outline-color-focus: var(--COLOR-FOCUS);
  --cta-outline-width: var(--LINE-WIDTH-MED);
  --select-bg: #e6e6e6;
  --select-bg-hover: #f2f2f2;
  --select-outline-color-focus: var(--COLOR-FOCUS);
  max-width: var(--TYPO-LINE-MAX);
  border: solid var(--COLOR-SEC) 0.125em;
  border-radius: var(--SITE-RADIUS);
  box-sizing: border-box;
  align-items: stretch;
}

.sp-archive-sort-btn {
  border-radius: .5em;
}
.sp-archive-sort-btn:focus {
  --cta-outline-color: var(--cta-outline-color-focus);
}

.sp-archive-sort-select-query {
  border-radius: .5em;
  outline-offset: .25em;
}
.sp-archive-sort-select-query:focus, .sp-archive-sort-select-query:hover, .sp-archive-sort-select-query:active {
  --select-icon-shift: 1.75ex;
}

.sp-compo-webpage-post-title-archive {
  --compo-title-text-transform: none;
}

.sp-archive-label,
.sp-serp-label {
  color: var(--COLOR-AKZENT);
  font-weight: 300;
}

.sp-compo-posts-title-archive {
  --space-abs: 3rem;
}

.sp-compo-webpage-slot-content-archive {
  flex: 1;
}

.sp-compo-webpage-register {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min, MIN(24rem, 100%)), var(--grid-max, 1fr)));
  gap: 2em;
}

.sp-register-personal {
  --grid-max: none;
}

.sp-compo-webpage-post-content-archive > h2 {
  font-family: var(--TYPO-HEADLINE-FONT-FAMILY);
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2-EXTRA);
  line-height: var(--TYPO-HEADLINE-LINE-HEIGHT-2-EXTRA);
}
.sp-compo-webpage-post-content-archive > * + h2 {
  margin-top: 3em;
}

.sp-archive-years {
  font-size: 120%;
  padding-right: var(--SITE-PADDING-H);
  padding-left: var(--SITE-PADDING-H);
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
.sp-archive-years .sp-archive-years-item {
  justify-content: initial;
  gap: 1ch;
}

@media (min-width: 64em) {
  .sp-register-personal {
    --card-margin-top: 0;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 45em) {
  .sp-register-archive {
    --grid-max: 24rem;
  }
}
@media (max-width: 64em) {
  .sp-register-personal {
    --grid-max: none;
  }
  .sp-register-personal .sp-compo-post-card {
    --compo-post-card-max-width: 42rem;
  }

  .sp-archive-sort {
    padding-right: 0;
    justify-content: flex-end;
  }
}
.sp-compo-webpage-slot-content-podcast-archive .sp-compo-posts-style-podcast-01 {
  --compo-max-width: 100%;
  --posts-grid-columns: 1fr;
  --posts-justify-items: center;
  background-size: cover;
  background-attachment: fixed;
  padding-top: 6em;
  padding-bottom: 8em;
  position: relative;
}
.sp-compo-webpage-slot-content-podcast-archive .sp-compo-posts-style-podcast-01::before {
  content: '';
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.sp-compo-webpage-slot-content-podcast-archive .sp-compo-posts-style-podcast-01 .sp-compo-post-card-article-podcast-style-podcast-01 {
  box-shadow: .25em .25em 1em #000;
}

@media (max-width: 45em) {
  .sp-compo-posts-podcast-archive {
    --post-card-max-width: calc(100% - 2 * var(--SITE-PADDING-H));
  }
}
.sp-compo-webpage-post-content-publikation-archive {
  --cta-margin-left: auto;
  padding-right: 0;
  padding-left: 0;
}
.sp-compo-webpage-post-content-publikation-archive > h2 {
  color: #fefefe;
  background: var(--COLOR-PRIM);
  text-transform: none;
  padding-top: calc(1em + .5ex);
  padding-bottom: calc(1em + .5ex);
  border-radius: 0 .75em .75em 0;
  margin-bottom: 2em;
  max-width: none;
}
.sp-compo-webpage-post-content-publikation-archive > * + h2 {
  margin-top: 4em;
}
.sp-compo-webpage-post-content-publikation-archive * + .sp-compo-posts {
  margin-top: 6em;
  margin-bottom: 6em;
}

.sp-compo-webpage-slot-aside-publikation-archive .sp-compo-webpage-meta-headline {
  margin-bottom: .75ex;
}

.sp-compo-webpage-pub-jahre-publikation {
  --link-text-deco-color-focus: transparent;
}

.sp-compo-webpage-pub-jahre-item {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (min-width: 45em) {
  .sp-compo-webpage-slot-aside-publikation-archive {
    --link-text-deco-color: transparent;
    text-align: right;
  }
}
.sp-site-contentwrapper-video-archive,
.sp-site-main-video-archive {
  padding-bottom: 0;
}

.sp-compo-webpage-slot-content-video-archive {
  background: var(--COLOR-TERT);
  padding-bottom: 6em;
}

.sp-compo-webpage-event-meta-event {
  display: grid;
  gap: 1em;
}
.sp-compo-webpage-event-meta-event .sp-descr {
  font-weight: 500;
  display: block;
}

.sp-compo-webpage-datum-full-event {
  display: grid;
}

.sp-compo-webpage-ort-event {
  white-space: pre-wrap;
}

.sp-site-pageheader-landingpage {
  padding-top: 0;
}

.sp-compo-webpage-landingpage-single {
  --page-content-space-top: 0;
}

.sp-compo-webpage-slot-header-landingpage {
  padding-top: 2em;
}

@media (min-width: 64em) {
  .sp-compo-webpage-slot-header-landingpage-single {
    --post-header-img: var(--post-header-img-src-1, var(--post-header-img-src));
    min-height: 20rem;
  }
}
.sp-compo-webpage-personal-single.sp-has-img .sp-compo-webpage-slot-header-personal-single {
  --post-img-max-width: MIN(24rem, 100%);
  --max-image-height: 36rem;
  min-height: var(--max-image-height);
  position: relative;
}
.sp-compo-webpage-personal-single.sp-has-img .sp-compo-webpage-slot-header-subwrapper {
  max-width: var(--slot-header-sub-max-width);
}

.sp-compo-webpage-slot-header-subwrapper-personal {
  --header-space-left: var(--SITE-PADDING-H);
  display: grid;
  grid-template-areas: "header-img" "label" "title" "img" "excerpt";
}

.sp-compo-webpage-fachbereich-personal-single {
  --headline-font-family-master: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --headline-font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  padding-right: var(--SITE-PADDING-H);
  padding-left: var(--SITE-PADDING-H);
}
.sp-compo-webpage-fachbereich-personal-single .sp-compo-descr {
  margin-bottom: 1ex;
}

.sp-compo-webpage-statusgruppe-personal-single {
  --link-text-deco-color: transparent;
  margin: 0 0 1ex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  order: -1;
}

.sp-compo-webpage-post-img-personal-single {
  margin: 2em 0 1em;
}
.sp-compo-webpage-post-img-personal-single .sp-featured-image {
  border-radius: 100%;
}

.sp-compo-webpage-schwerpunkte-personal {
  max-width: var(--TYPO-LINE-MAX);
}

.sp-compo-webpage-post-content-personal-single {
  --space-abs: 1em;
}
.sp-compo-webpage-post-content-personal-single > h2 {
  font-size: var(--TYPO-HEADLINE-FONT-SIZE-2);
  margin-bottom: var(--space-abs);
}
.sp-compo-webpage-post-content-personal-single > h2 + * {
  margin-top: 0;
}

* + .sp-compo-webpage-post-content-personal-single {
  margin-top: 4em;
}

.sp-compo-webpage-slot-aside-personal-single {
  --featured-image-max-width: 34rem;
  --img-width: 100%;
}
.sp-compo-webpage-slot-aside-personal-single .sp-headline {
  margin-bottom: 1ex;
}
.sp-compo-webpage-slot-aside-personal-single .sp-kontakt-item {
  font-size: var(--TYPO-FONT-SIZE-MIN);
}

.sp-compo-webpage-kontakt-post-personal-single .sp-tel-app {
  --link-text-deco-color: transparent;
}

.sp-compo-webpage-personal-projekte-list {
  line-height: 1.6;
  margin-top: 1ex;
  display: grid;
  gap: 1ex;
}

.sp-compo-webpage-personal-projekte-item-link {
  --link-text-deco-width: 0.0625em;
  display: block;
}
.sp-compo-webpage-personal-projekte-item-link:hover, .sp-compo-webpage-personal-projekte-item-link:active {
  --link-text-deco-width: .5ex;
}

.sp-compo-webpage-img-personal-single {
  margin-top: .35em;
}

.sp-compo-webpage-url-personal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1ch;
}
.sp-compo-webpage-url-personal .sp-icon-link-ext {
  --icon-height: 1.25em;
}
.sp-compo-webpage-url-personal:hover, .sp-compo-webpage-url-personal:active {
  --icon-link-ext-ani: sp-ani-img 1.1s infinite;
}

@media (max-width: 34rem) {
  .sp-compo-webpage-slot-aside-personal-single {
    padding-right: 0;
    padding-left: 0;
  }
  .sp-compo-webpage-slot-aside-personal-single > * {
    padding-right: var(--SITE-PADDING-H);
    padding-left: var(--SITE-PADDING-H);
  }
}
@media (max-width: 64em) {
  .sp-compo-webpage-personal-single {
    display: flex;
    flex-wrap: wrap;
  }
  .sp-compo-webpage-personal-single > * {
    flex: 100%;
  }

  .sp-compo-webpage-slot-content-personal-single,
  .sp-compo-webpage-slot-content-personal-footer {
    order: 2;
  }

  .sp-compo-webpage-slot-aside-personal-single {
    order: 1;
  }
}
@media (min-width: 64em) {
  .sp-compo-webpage-personal-single.sp-has-img .sp-compo-webpage-slot-header-subwrapper-personal {
    --header-space-left: 0;
    grid-template-areas: "header-img header-img" "img label" "img title" "img excerpt";
    grid-template-columns: var(--SITE-PADDING-LEFT) 1fr;
    grid-template-rows: min-content min-content min-content 1fr;
  }
  .sp-compo-webpage-personal-single.sp-has-img .sp-compo-webpage-post-img-personal-single {
    padding-right: 2em;
    padding-left: var(--SITE-PADDING-H);
  }
  .sp-compo-webpage-personal-single.sp-has-no-img .sp-compo-webpage-slot-header-subwrapper-personal {
    --header-space-left: var(--SITE-PADDING-LEFT);
    grid-template-areas: "header-img" "label" "title" "excerpt";
    grid-template-columns: 1fr;
    grid-template-rows: min-content min-content min-content 1fr;
  }

  .sp-compo-webpage-post-img-personal-single {
    margin-top: 0;
    grid-row: 2/-1;
    bottom: calc( var(--clip-space) * -1 );
  }
}
@media (min-width: 90em) {
  .sp-compo-webpage-slot-header-personal-single {
    --slot-header-sub-max-width: none;
  }
}
.sp-compo-webpage-slot-header-podcast-single,
.sp-compo-webpage-slot-header-video-single {
  --post-urheber-titles-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --post-urheber-titles-font-style: normal;
  --post-urheber-titles-line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
}

.sp-compo-webpage-post-info-podcast-single,
.sp-compo-webpage-post-info-video-single {
  grid-template-columns: repeat(auto-fit, minmax(12em, 1fr));
  display: grid;
  gap: 2em;
}
.sp-compo-webpage-post-info-podcast-single .sp-descr,
.sp-compo-webpage-post-info-video-single .sp-descr {
  color: var(--COLOR-AKZENT-CONTRAST);
  font-size: var(--TYPO-MARGINALIE-FONT-SIZE);
  font-style: var(--TYPO-MARGINALIE-FONT-STYLE);
  font-weight: var(--TYPO-MARGINALIE-FONT-WEIGHT);
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
  font-style: normal;
  text-transform: uppercase;
  display: block;
}

@media (min-width: 64em) {
  .sp-compo-webpage-post-info-podcast-single,
  .sp-compo-webpage-post-info-video-single {
    grid-template-columns: 2fr 1fr max-content;
  }
}
.sp-compo-webpage-post-content-projekt-single {
  max-width: none;
}
.sp-compo-webpage-post-content-projekt-single .sp-compo-personalien {
  --compo-max-width: none;
  padding-right: var(--SITE-PADDING-H);
}
.sp-compo-webpage-post-content-projekt-single .sp-compo-webpage-personalien-group-list {
  display: grid;
  gap: 2em;
}

.sp-compo-webpage-post-excerpt-projekt-single {
  font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  max-width: var(--header-text-max-width);
}

.sp-compo-webpage-post-excerpt-title-projekt-single {
  --compo-title-font-family: var(--TYPO-GRUNDSCHRIFT-FONT-FAMILY);
  --compo-title-font-size: var(--TYPO-GRUNDSCHRIFT-FONT-SIZE);
  --compo-title-font-weight: normal;
  --compo-title-line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  --compo-title-text-transform: uppercase;
  margin: 5em 0 1ex;
}

.sp-compo-webpage-slot-aside-projekt-single {
  --aside-gap: 2rem;
  --link-text-deco-color: var(--COLOR-TERT);
}
.sp-compo-webpage-slot-aside-projekt-single .sp-compo-title {
  margin-bottom: 1ex;
}
.sp-compo-webpage-slot-aside-projekt-single .sp-compo-share-list {
  margin-top: 0;
}
.sp-compo-webpage-slot-aside-projekt-single .sp-compo-webpage-files-file-title {
  font-weight: 500;
}

.sp-compo-webpage-personalien-projekt-single {
  border-radius: 0 var(--SITE-RADIUS) var(--SITE-RADIUS) 0;
  max-width: 56rem;
  margin-top: .5em;
}
.sp-compo-webpage-personalien-projekt-single .sp-compo-post-card {
  --compo-post-card-max-width: 32rem;
}
.sp-compo-webpage-personalien-projekt-single .sp-compo-webpage-personalien-group-title {
  --headline-content-color: var(--COLOR-SEC);
  --headline-font-weight: normal;
}

* + .sp-compo-webpage-personalien-projekt-single {
  margin-top: calc( var(--space-abs,1em) * 4 );
}

.sp-compo-webpage-associate-item-projekt-single {
  display: grid;
  gap: 1em;
  --headline-font-weight: normal;
}
.sp-compo-webpage-associate-item-projekt-single .sp-compo-address-url {
  text-decoration: none;
}
.sp-compo-webpage-associate-item-projekt-single .sp-compo-address-url a {
  text-decoration: none;
}
.sp-compo-webpage-associate-item-projekt-single .sp-associate-img {
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-compo-webpage-associate-item-projekt-single .sp-associate-img:first-child {
  margin-top: .5em;
}
.sp-compo-webpage-associate-item-projekt-single .sp-associate-img + .sp-compo-address,
.sp-compo-webpage-associate-item-projekt-single .sp-associate-img-link + .sp-compo-address {
  margin-top: 1em;
}

.sp-compo-webpage-post-meta-projekt-single {
  line-height: var(--TYPO-MARGINALIE-LINE-HEIGHT);
}

.sp-compo-webpage-post-meta-item-projekt-single .sp-compo-descr {
  font-family: var(--TYPO-HEADLINE-FONT-FAMILY-META);
  font-weight: var(--TYPO-HEADLINE-FONT-WEIGHT-META);
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  display: block;
}
.sp-compo-webpage-post-meta-item-projekt-single + .sp-compo-webpage-post-meta-item-projekt-single {
  margin-top: 1em;
}

.sp-associates-projekt-single .sp-associate-name {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.sp-associates-projekt-single .sp-associate-title-link {
  --link-text-deco-color: transparent;
  line-height: var(--TYPO-GRUNDSCHRIFT-LINE-HEIGHT);
  margin-bottom: 1ex;
}
.sp-associates-projekt-single .sp-associate-title-link .sp-associate-img {
  grid-column: 1/-1;
}
.sp-associates-projekt-single .sp-associate-image-link,
.sp-associates-projekt-single .sp-associate-title-link {
  display: grid;
  grid-template-columns: 1fr max-content;
  justify-content: space-between;
  align-items: start;
  gap: 1em 1ch;
}
.sp-associates-projekt-single .sp-associate-image-link:hover, .sp-associates-projekt-single .sp-associate-image-link:active,
.sp-associates-projekt-single .sp-associate-title-link:hover,
.sp-associates-projekt-single .sp-associate-title-link:active {
  --icon-link-ext-ani: sp-ani-img 1.1s infinite;
}
.sp-associates-projekt-single .sp-associate-image-link:hover .sp-associate-img, .sp-associates-projekt-single .sp-associate-image-link:active .sp-associate-img,
.sp-associates-projekt-single .sp-associate-title-link:hover .sp-associate-img,
.sp-associates-projekt-single .sp-associate-title-link:active .sp-associate-img {
  transform: scale(1.025);
}

.sp-compo-webpage-share-projekt-single {
  padding-bottom: 0;
}

@media (max-width: 45em) {
  .sp-compo-webpage-personalien-projekt-single .sp-compo-post-card {
    --compo-post-card-max-width: 100%;
  }
  .sp-compo-webpage-personalien-projekt-single .sp-compo-post-card .sp-cta-wrapper {
    flex-wrap: wrap;
    gap: 1em;
  }
}
@media (min-width: 64em) {
  .sp-compo-webpage-personalien-projekt-single .sp-compo-webpage-personalien-title {
    --compo-title-font-size: calc( var(--TYPO-HEADLINE-FONT-SIZE-2) + 1.75ex );
  }
}
.sp-compo-webpage-publikation-single .sp-compo-title {
  text-align: var(--text-align);
}
.sp-compo-webpage-publikation-single .sp-compo-webpage-slot-header {
  background: var(--COLOR-ZERO);
}
.sp-compo-webpage-publikation-single .sp-compo-webpage-slot-header .sp-titles-item {
  font-weight: inherit;
}
.sp-compo-webpage-publikation-single .sp-compo-webpage-slot-intro {
  padding-top: var(--page-content-space-top, 5rem);
}

.sp-compo-webpage-slot-aside-publikation-single .sp-compo-webpage-share-holder {
  text-align: var(--text-align);
}
.sp-compo-webpage-slot-aside-publikation-single .sp-compo-webpage-share-list-publikation-single {
  justify-content: var(--justify-content);
}

.sp-compo-webpage-post-img-publikation-single .sp-featured-image {
  border: solid 0.0625em var(--COLOR-GRAU-HELL);
  box-shadow: 0.2em 0.2em 0.05em #e6e6e6, 0.4em 0.4em 0.25em #cccccc, 0.125em 0.125em 0.125em #e6e6e6;
}

.sp-compo-webpage-pub-meta-publikation {
  --link-text-deco-color: var(--COLOR-AKZENT-CONTRAST);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT);
  text-align: var(--text-align);
}
.sp-compo-webpage-pub-meta-publikation + * {
  margin-top: 3em;
}

.sp-compo-webpage-pubreihe {
  --link-text-deco-color: var(--COLOR-AKZENT-CONTRAST);
  --link-text-deco-color-hover: var(--COLOR-HIGHLIGHT);
  --terms-gap: 1ex;
  text-align: var(--text-align);
}

/*------------------------------------------------------------------------------
  SPLENDID LIGHTBOX
------------------------------------------------------------------------------*/
.sp-lightbox-modul {
  height: 1000vh;
  width: 100vw;
  transition: opacity 0.8s ease-out;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: absolute;
  top: 0;
  z-index: 99;
}

.sp-lightbox-loader {
  --compo-icon-color: var(--COLOR-AKZENT);
  --dur: 1.75s;
  position: absolute;
  top: 0;
  left: 0;
}

.sp-lightbox-layer {
  background: rgba(4, 7, 21, 0.95);
  height: 100%;
  width: 100%;
  transition: all .4s ease-out;
  z-index: 99;
}

.sp-lightbox-wrapper {
  margin-top: calc(1rem + 5vh);
  transform: translateX(-2.5vmin);
  position: absolute;
  top: 0;
  z-index: 99;
}

.sp-lightbox {
  --content-color: var(--COLOR-ZERO);
  --link-content-color: var(--COLOR-SEC);
  --link-content-color-hover: #fefefe;
  --link-highlight-color: var(--link-content-color);
  --link-highlight-color-contrast: var(--COLOR-AKZENT);
  --link-focus-color: #fefefe;
  color: var(--content-color);
  background: #000;
  height: calc(75vh - 3rem);
  width: calc(95vw - 2rem);
  max-width: 100%;
  border: .25rem solid #d1d1d1;
  opacity: 0;
  transition: opacity 0.8s ease-out;
  position: relative;
  z-index: 100;
}
.sp-lightbox::-moz-focus-inner {
  border: 0;
}

.sp-lightbox-show-slow {
  opacity: 1;
}

.sp-lightbox-hide-slow {
  opacity: 0;
}

.sp-lightbox-interactive {
  transition: all var(--MOTION-TRANS), outline-offset 0s, outline-color 0s;
}

.sp-lightbox-btn-react {
  outline: 0.25rem solid transparent;
}
.sp-lightbox-btn-react:focus:not(:hover) {
  outline-color: var(--link-focus-color);
}

.sp-lightbox-close-btn {
  color: var(--COLOR-ZERO);
  background: transparent;
  font-size: 1.5em;
  padding: 0 .15em .15em;
  position: absolute;
  top: -.75rem;
  right: -3.5rem;
  z-index: 2;
}
.sp-lightbox-close-btn:hover:not(:focus) {
  animation: spinner .4s forwards;
}
.sp-lightbox-close-btn::-moz-focus-inner {
  border: 0;
}

.sp-lightbox-nav-btn {
  --MOTION-TRANS: var(--MOTION-TRANS-FAST);
  color: var(--COLOR-ZERO);
  background: transparent;
  font-size: 6em;
  padding: 0;
  position: absolute;
  bottom: -6rem;
}
.sp-lightbox-nav-btn::-moz-focus-inner {
  border: 0;
}
.sp-lightbox-nav-btn:hover {
  transform: scale(1.5);
}

.sp-lightbox-prev-btn {
  left: 0;
}

.sp-lightbox-next-btn {
  right: 0;
}

.sp-lightbox-img-wrapper {
  color: var(--COLOR-ZERO);
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  z-index: 1;
}

.sp-lightbox-img {
  object-fit: contain;
  max-height: 100%;
  max-width: 100%;
  opacity: 0;
  transition: all var(--MOTION-TRANS-FAST);
  position: absolute;
  top: 0;
  animation: none;
}

.sp-lightbox-hide-img {
  opacity: 0;
}

.sp-lightbox-show-img {
  opacity: 1;
}

.sp-lightbox-content-meta {
  color: var(--COLOR-ZERO);
  padding-top: 6rem;
  flex: 100%;
}

.sp-lightbox-content-meta-subwrapper {
  margin-top: .75em;
}

.sp-lightbox-content-meta-item-txt-title {
  font-size: 150%;
  font-weight: 700;
}

.splendid-bg-loader {
  background: linear-gradient(to right, var(--COLOR-TERT), var(--COLOR-SEC)) no-repeat center;
  background-position: 0 0;
  animation: background-expander 2s infinite ease-in-out;
}

.sp-lightbox-load-info {
  color: var(--COLOR-ZERO);
  animation: impuls-short var(--MOTION-TRANS-fast) infinite;
  position: absolute;
  top: -2rem;
  z-index: 1;
}

.archiv .splendid-bg-loader .sp-img {
  display: block;
}

.sp-lightbox-compo-share-holder {
  --compo-content-color: var(--COLOR-SEC);
}

.sp-lightbox-compo-share-list-item:not(:last-child) {
  margin-right: 1ch;
}

.sp-lightbox-compo-share-list-link {
  --link-content-color: var(--content-color);
  --compo-icon-sub-color: var(--link-content-color);
  --link-highlight-color: var(--COLOR-AKZENT);
  --link-highlight-color-contrast: var(--content-color);
  --link-outline-offset: 0;
  line-height: 1;
  outline: solid var(--link-outline-color) 0.25em;
}
.sp-lightbox-compo-share-list-link:focus {
  --link-outline-offset: .125em;
}
.sp-lightbox-compo-share-list-link:focus:hover {
  background: transparent;
  --link-outline-color: var(--link-focus-color);
}
.sp-lightbox-compo-share-list-link:hover, .sp-lightbox-compo-share-list-link:active {
  --link-content-color: var(--link-highlight-color);
  --link-outline-color: var(--link-highlight-color-contrast);
  background: var(--link-highlight-color-contrast);
}

* + .sp-lightbox-compo-share-holder {
  margin-top: var(--sp);
}

/*------------------------------------------------------------------------------
  %%GALLERY
------------------------------------------------------------------------------*/
.sp-compo-gallery {
  position: relative;
}

.sp-compo-gallery-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.sp-compo-gallery-album .sp-compo-gallery-item-image {
  max-height: 16rem;
}

.sp-compo-gallery-album-info {
  text-align: right;
}

.sp-compo-gallery-album-img-wrap {
  height: 12rem;
  overflow: hidden;
  position: relative;
}
.sp-compo-gallery-album-img-wrap .sp-compo-gallery-item-image {
  height: 100%;
}
.sp-compo-gallery-album-img-wrap .sp-img {
  height: 100%;
  object-fit: cover;
}
.sp-compo-gallery-album-img-wrap .sp-icon {
  height: 12rem;
}

.sp-compo-gallery-tooltip-parent::-moz-focus-inner {
  border: 0;
}
.sp-compo-gallery-tooltip-parent .tooltip-child-txt {
  border: 0.0625em solid var(--COLOR-ZERO);
  z-index: 2;
}

.sp-compo-gallery-item {
  width: 100%;
  box-sizing: border-box;
  padding: .75em .75em 3.5em;
  margin: 0 0 3rem 0;
  margin-right: 1%;
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
}

.sp-compo-gallery-item-subwrapper {
  align-self: flex-end;
}
.sp-compo-gallery-item-subwrapper .sp-utility-list {
  justify-content: flex-start;
}
.sp-compo-gallery-item-subwrapper .tooltip-child-txt {
  right: auto;
  left: 0;
}

.sp-compo-gallery-item-download-link {
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: var(--download-align);
}
.sp-compo-gallery-item-download-link:hover {
  --link-outline-width: .5em;
  --ani-fade-vert: 1em;
  --icon-ani: sp-element-fade 1s infinite;
}

.sp-compo-gallery-item-icon-download {
  animation: var(--icon-ani);
}

.sp-compo-gallery-item-download-subwrapper {
  width: auto;
  display: inline-block;
}

.sp-compo-gallery-item-download-btn {
  position: relative;
  z-index: 2;
}

.sp-compo-gallery-album {
  max-height: none;
  padding-bottom: 1.5rem;
}
.sp-compo-gallery-album:focus, .sp-compo-gallery-album:hover, .sp-compo-gallery-album:active {
  background: var(--COLOR-ZERO);
}
.sp-compo-gallery-album:focus .sp-btn-face {
  text-decoration-color: var(--COLOR-ZERO);
  text-decoration: underline;
}

.sp-compo-gallery-album-more {
  text-align: right;
  margin-top: 2em;
}

.sp-compo-gallery-item-title {
  line-height: 1.1;
}
.sp-compo-gallery-item-title + * {
  margin-bottom: calc(1em + 1ex);
}

.sp-compo-gallery-item-footer {
  --content-color: var(--COLOR-GRAU-MED);
  color: var(--COLOR-GRAU-MED);
  font-size: var(--TYPO-FONT-SIZE-MIN);
  display: grid;
  gap: 1em;
}

* + .sp-compo-gallery-item-footer {
  margin-top: 1em;
}

.sp-compo-gallery-item-download-btn {
  text-align: var(--download-align);
  grid-area: download;
}

.sp-compo-gallery-item-share-holder {
  --compo-icon-sub-height: 3em;
  grid-area: share;
}

.sp-compo-gallery-item-share-title {
  margin-bottom: 1ex;
}

.sp-compo-gallery-item-img {
  opacity: var(--gallery-img-opacity, 1);
  transition: all .25s ease-out;
}

.sp-compo-gallery-item-link {
  --compo-icon-color: var(--COLOR-SEC);
  --compo-icon-height: 4em;
  max-height: 16rem;
  width: 100%;
  overflow: hidden;
  display: block;
  position: relative;
  align-self: flex-start;
  order: -1;
  transition: all var(--MOTION-TRANS-FAST);
}
.sp-compo-gallery-item-link:focus, .sp-compo-gallery-item-link:hover, .sp-compo-gallery-item-link:active {
  --compo-icon-bg: transparent;
  --compo-icon-color: var(--COLOR-AKZENT);
  --compo-icon-height: 100%;
  --compo-icon-opacity: .75;
  --gallery-img-opacity: .25;
  --zoom-pos-right: 1%;
  --zoom-pos-bottom: 3%;
  background: #1a1a1a;
}

.sp-compo-gallery-item-icon-zoom {
  padding: .35em .35em .25em .45em;
  transition: all .35s ease-out;
  opacity: var(--compo-icon-opacity, 1);
  position: absolute;
  right: var(--zoom-pos-right, 0);
  bottom: var(--zoom-pos-bottom, 0);
}

* + .sp-compo-gallery-item-content {
  margin-top: .25em;
}

* + .sp-compo-gallery-item-caption {
  margin-top: .25em;
}

* + .sp-compo-gallery-item-lizenz {
  margin-top: .25em;
}

.sp-compo-gallery-item-vtooltip {
  right: -130%;
  bottom: -3em;
}

@media (min-width: 45em) {
  .sp-compo-gallery-item-footer {
    --download-align: right;
    width: 100%;
    grid-template-columns: max-content 1fr;
    grid-template-areas: 'share download';
    gap: 2em;
  }
}
@media (max-width: 20em) {
  html {
    --TYPO-GRUNDSCHRIFT-FONT-SIZE: 1rem;
    --TYPO-HEADLINE-FONT-SIZE-1: 1.4rem;
    --TYPO-HEADLINE-FONT-WEIGHT-1: 600;
    --TYPO-HEADLINE-FONT-SIZE-2: 1.2rem;
    --TYPO-HEADLINE-FONT-SIZE-2-EXTRA: 1.3rem;
  }

  .sp-compo-post-card-cta .sp-icon {
    display: none;
  }

  .sp-compo-webpage-slot-aside {
    --compo-title-font-size: 1.2rem;
    --footer-sections-max-width: 100%;
    --sidebar-content-max-width: 100%;
  }

  .sp-compo-webpage-share-list {
    --compo-icon-sub-height: 2.25em;
  }

  .sp-file {
    --file-item-gap: 1em 0;
    display: flex;
    flex-wrap: wrap;
  }
  .sp-file .sp-compo-icon-sub {
    display: none;
  }
  .sp-file .sp-file-cta {
    width: 100%;
    max-width: 100%;
  }

  .sp-site-nav-main {
    padding-right: 1ch;
    padding-left: 1ch;
  }
}
@media (max-width: 45em) {
  .sp-compo-webpage-post-title {
    word-break: break-word;
  }

  .sp-site-skiplink {
    left: 2rem;
  }
}
@media (min-width: 45em) {
  .sp-site-sitewrapper {
    --padding-top-factor: 1vmin;
  }
}
@media (min-width: 64em) {
  .sp-site-sitewrapper {
    margin: 0 auto;
  }
}
@media (min-width: 100em) {
  html {
    line-height: 1.8;
  }

  .sp-site-scrolltop-btn {
    bottom: calc(1.5rem + 2vmin);
  }
}
@media (min-width: 130em) {
  .sp-site-scrolltop-btn {
    right: calc(var(--SITE-PADDING-H) - 7rem);
  }
}
/*
//[^= px_em]
@import 'tweakpoints-max';
@import 'tweak-min384_24';
@import 'break-512_32';
@import 'tweak-min640_40';
@import 'tweak-min688_43';
@import 'tweak-min768_48';
@import 'tweak-min864_54';
@import 'tweak-min1007_62';
@import 'break-1024_64';
@import 'tweak-min1312_82';
@import 'tweak-min1520_95';
@import 'tweak-min1792_112';
*/
/*------------------------------------------------------------------------------
  ANIMATIONSBIBLIOTHEK
------------------------------------------------------------------------------*/
@keyframes sp-ani-advance {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(150%);
  }
}
@keyframes sp-ani-img {
  0% {
    opacity: var(--ani-opacity-start, 0);
    transform: var(--ani-transform-start, scale(1));
  }
  100% {
    opacity: var(--ani-opacity-end, 1);
    transform: var(--ani-transform-end, scale(1.5));
  }
}
@keyframes sp-txt-shine {
  0% {
    background-size: 0% 100%;
  }
  100% {
    background-size: 100% 100%;
  }
}
@keyframes sp-background-expander {
  0% {
    background-size: 0% 10%,0% 0%;
  }
  100% {
    background-size: 100% 10%,0% 0%;
  }
}
@keyframes sp-background-fade {
  0% {
    background-size: 100%,100%;
  }
  100% {
    background-size: 0% .5rem,100% 100%;
  }
}
@keyframes sp-blend-in {
  0% {
    transform: none;
  }
  75% {
    opacity: 1;
    transform: none;
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes sp-opacity-in {
  0% {
    opacity: var(--ani-opacity-start, 0);
  }
  100% {
    opacity: var(--ani-opacity-end, 1);
  }
}
@keyframes sp-fade-out {
  0% {
    opacity: 1;
  }
  95% {
    opacity: 0;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0);
  }
}
@keyframes sp-icon-shaker {
  0% {
    transform: translate(0);
  }
  30% {
    transform: translate(0.05em, -0.05em);
  }
  60% {
    transform: translate(0.05em, -0.05em);
  }
  90% {
    transform: translate(-0.05em, 0.05em);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes sp-search-scale {
  0% {
    transform: translateX(0);
  }
  33% {
    transform: translateX(-33%);
    width: 140%;
  }
  100% {
    transform: translateX(-33%);
    width: 145%;
  }
}
@keyframes sp-search-scale-reverse {
  0% {
    transform: translateX(-33%) scaleX(var(--input-width));
  }
  100% {
    transform: translateX(0) scaleX(0);
  }
}
@keyframes sp-set-text-shadow {
  0% {
    text-shadow: 0 0 0 transparent;
  }
  100% {
    text-shadow: var(--text-shadow);
  }
}
@keyframes sp-slide-in {
  0% {
    opacity: 1;
    transform: translate(var(--ani-value-x, 200vw), var(--ani-value-y, 0));
  }
  100% {
    opacity: 1;
    transform: translate(var(--ani-value-x-end, 0), var(--ani-value-y-end, 0));
  }
}
@keyframes sp-slide-out {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(var(--ani-value, 200vw));
  }
}
@keyframes sp-scale {
  0% {
    transform: scale(var(--ani-scale-start, 1));
  }
  50% {
    transform: scale(var(--ani-scale, 1.5));
  }
  100% {
    transform: scale(var(--ani-scale-end, 1));
  }
}
@keyframes sp-show-shadow {
  0% {
    box-shadow: 0 0 1em 500vmax transparent;
  }
  100% {
    box-shadow: 0 0 1em 500vmax rgba(0, 0, 0, 0.8);
  }
}
@keyframes sp-show-soft {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes sp-spinner {
  0% {
    transform: rotate(var(--ani-spinner-start, 0deg));
  }
  100% {
    transform: rotate(var(--ani-spinner-end, 1turn));
  }
}
@keyframes sp-element-fade {
  0% {
    transform: translate(0, 0);
    opacity: 1;
  }
  50% {
    opacity: .1;
  }
  100% {
    transform: translate(var(--ani-fade-horz, 0), var(--ani-fade-vert, 30rem));
    opacity: 0;
  }
}
@keyframes sp-transformer {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(var(--ani-transform-med));
  }
  100% {
    transform: scale(var(--ani-transform-max));
  }
}
@keyframes sp-wave-hand {
  0%,60% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(30deg);
  }
}
.sp-ani-fade-out {
  animation: sp-fade-out var(--dur, 0.4s) forwards;
}

.sp-ani-scale {
  animation: var(--ani-el, var(--MOTION-TRANS)) sp-scale;
}

.sp-ani-spinner {
  animation: sp-spinner var(--MOTION-TRANS) forwards;
}

.sp-ani-top-fade {
  --ani-fade-vert: -30rem;
  animation: sp-element-fade 0.6s var(--ani-state, forwards);
}

.sp-blend-in {
  animation: var(--MOTION-TRANS) sp-blend-in forwards;
}

.sp-slide-in {
  animation: sp-slide-in var(--ani-slide-in, 0.8s) ease-out forwards, var(--ani-add, none);
}

.sp-slide-out {
  animation: sp-slide-out var(--ani-slide-out, 0.8s) ease-in forwards;
}

.sp-hide-visually {
  white-space: nowrap;
  word-wrap: normal !important;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  display: inline-block;
  position: absolute !important;
}

.sp-utility-structural-hide {
  display: none;
}

.sp-utility-zero-index {
  z-index: 0;
}

@media (max-width: 20em) {
  .sp-headline {
    overflow-wrap: anywhere;
  }
}
