/* compiled by scssphp v0.8.0 on Fri, 17 Apr 2026 12:10:01 +0000 (0.0288s) */

html {
  font-size: 62.5%; }

html, body {
  scroll-behavior: smooth; }

* {
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  font: inherit;
  font-weight: normal;
  position: relative; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

ol, ul {
  list-style: none;
  list-style-image: none; }

blockquote::before, blockquote::after, q::before, q::after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

span, a {
  color: inherit;
  font-size: inherit; }

a, span {
  line-height: inherit; }

.align-center, .align_center, p:has(img.align_center) {
  text-align: center; }

.align-right, .align_right {
  text-align: right; }

.hidden {
  display: none; }

img, video {
  height: auto;
  max-width: 100%; }

img.align_left {
  float: left;
  margin-right: 2rem; }

img.align_right {
  float: right;
  margin-left: 2rem; }

img.valign_bottom {
  display: inline-block;
  vertical-align: bottom; }

.splide__list > li {
  display: flex; }

.LoginRegisterPro .LoginRegisterMessage, .LoginRegisterPro .LoginRegisterNotice {
  border: none;
  padding: 0; }
  .LoginRegisterPro .LoginForm.InputfieldForm .Inputfield:not(.InputfieldSubmit) {
    background: none;
    border: none;
    padding: 0; }
    .LoginRegisterPro .LoginForm.InputfieldForm .LoginRegisterNotice, .LoginRegisterPro .LoginForm.InputfieldForm .LoginRegisterMessage {
      padding: 0;
      border: none; }
    .LoginRegisterPro .LoginForm.InputfieldForm .InputfieldSubmit {
      margin: 3rem 0 0 0; }

#skip-navigation {
  position: fixed;
  left: 0;
  top: 1rem;
  transform: translateX(-110%);
  padding: 2rem;
  z-index: 3000;
  border-radius: 4.2rem; }
  #skip-navigation:focus {
    transform: translateX(10%); }

.social-channels {
  display: flex;
  gap: 2rem; }
  .social-channels a, .social-channels img {
    display: block; }
  .social-channels img {
    height: 3.5rem !important;
    width: auto; }

.nowrap {
  white-space: nowrap; }
/**
 * InputfieldForm CSS file for FormBuilder with non-Legacy frameworks
 *
 */
.InputfieldForm textarea, .InputfieldForm .InputfieldMaxWidth {
  width: 100%; }
  .InputfieldForm input[type="text"], .InputfieldForm input[type="password"], .InputfieldForm input[type="date"], .InputfieldForm input[type="datetime"], .InputfieldForm input[type="datetime-local"], .InputfieldForm input[type="month"], .InputfieldForm input[type="week"], .InputfieldForm input[type="email"], .InputfieldForm input[type="number"], .InputfieldForm input[type="search"], .InputfieldForm input[type="tel"], .InputfieldForm input[type="time"], .InputfieldForm input[type="url"], .InputfieldForm input[type="color"], .InputfieldForm select, .InputfieldForm textarea {
    margin: 0; }
  .InputfieldForm, .InputfieldForm *, .InputfieldForm *:before, .InputfieldForm *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .InputfieldForm .Inputfields {
    height: auto;
    list-style: none;
    padding: 0; }
  .InputfieldForm .Inputfield {
    list-style: none;
    display: block; }
  .InputfieldForm .Inputfield {
    clear: both;
    margin: 0 0 1.5em 0; }
    .InputfieldForm .Inputfield:not(fieldset) {
      padding: 0; }
  .InputfieldForm fieldset, .InputfieldForm .InputfieldFieldset {
    margin: 0 0 1.5em 0;
    padding-bottom: 0; }
  .InputfieldForm .InputfieldFieldset:not(.InputfieldColumnWidth) {
    clear: both; }
  .InputfieldForm .InputfieldStateCollapsed .InputfieldHeader {
    opacity: 0.5; }
    .InputfieldForm .InputfieldStateCollapsed .InputfieldHeader:after {
      content: " \2026"; }
    .InputfieldForm .InputfieldStateCollapsed .InputfieldContent {
      display: none; }
  .InputfieldForm .InputfieldHidden {
    display: none; }
  .InputfieldForm .description, .InputfieldForm .notes {
    margin: 0.25em 0; }
  .InputfieldForm .Inputfield:not(.InputfieldStateCollapsed) > .InputfieldHeaderHidden > span {
    display: none; }
  .InputfieldForm .InputfieldSubmitPrev {
    float: left; }
    .InputfieldForm .InputfieldSubmitPrev + .InputfieldSubmit {
      clear: none;
      float: left;
      margin-left: 1em; }

.InputfieldFormWidths {
  /** the following have to do with column widths **********************************************/ }
  .InputfieldFormWidths input[type=text], .InputfieldFormWidths input[type=email], .InputfieldFormWidths input[type=url], .InputfieldFormWidths select, .InputfieldFormWidths textarea {
    width: 100%; }
  .InputfieldFormWidths .InputfieldColumnWidth {
    /* an Inputfield that has a percentage width assigned to it */
    float: left;
    clear: none;
    margin-left: 0;
    margin-right: 0; }
    .InputfieldFormWidths .InputfieldColumnWidth > .InputfieldHeader, .InputfieldFormWidths .InputfieldColumnWidth > .InputfieldContent {
      padding-left: 1.5em; }
    .InputfieldFormWidths .InputfieldColumnWidth > .InputfieldHeaderHidden::before {
      display: inline-block;
      content: "\00a0 "; }
  .InputfieldFormWidths .InputfieldColumnWidthFirst, .InputfieldFormWidths .InputfieldColumnWidth + .InputfieldSubmit, .InputfieldFormWidths .InputfieldColumnWidthFirstTmp, .InputfieldFormWidths .InputfieldColumnWidthFirst.InputfieldStateHidden + .Inputfield {
    /* for dependencies */
    /* first Inputfield with a percent width... */
    /* ...or the last percentage-width Inputifeld before the submit button */
    clear: both; }
    .InputfieldFormWidths .InputfieldColumnWidthFirst > .InputfieldHeader, .InputfieldFormWidths .InputfieldColumnWidth + .InputfieldSubmit > .InputfieldHeader, .InputfieldFormWidths .InputfieldColumnWidthFirstTmp > .InputfieldHeader, .InputfieldFormWidths .InputfieldColumnWidthFirst.InputfieldStateHidden + .Inputfield > .InputfieldHeader, .InputfieldFormWidths .InputfieldColumnWidthFirst > .InputfieldContent, .InputfieldFormWidths .InputfieldColumnWidth + .InputfieldSubmit > .InputfieldContent, .InputfieldFormWidths .InputfieldColumnWidthFirstTmp > .InputfieldContent, .InputfieldFormWidths .InputfieldColumnWidthFirst.InputfieldStateHidden + .Inputfield > .InputfieldContent {
      padding-left: 0; }
  .InputfieldFormWidths .description {
    margin: 0.25em 0; }
  .InputfieldFormWidths .notes {
    margin: 0.25em 0; }
/*** state toggles *******************************************************/
.InputfieldStateToggle {
  cursor: pointer; }
  .InputfieldStateToggle i.toggle-icon {
    /* the open/close icon that goes with most Inputfields */
    float: right;
    padding-right: 0.25em; }
  .InputfieldStateToggle i.toggle-icon {
    padding-right: 0.5em;
    line-height: 1.7em; }
  .InputfieldStateToggle i + i {
    margin-right: 0.5em;
    margin-left: 0; }
/*** misc ******************************************************************/
.InputfieldStateRequired > .InputfieldHeader:first-child:after {
  /* Required state: Add asterisk to indicate field is required */
  content: '*';
  margin-left: 0.25em;
  color: red; }

.Inputfields > .Inputfield > .InputfieldContent:before, .Inputfields > .Inputfield > .InputfieldContent:after, .InputfieldForm:after {
  content: " ";
  display: table; }

.Inputfields > .Inputfield > .InputfieldContent:after, .InputfieldForm:after {
  clear: both; }

.InputfieldSelect ul, .InputfieldRadios ul, .InputfieldCheckboxes ul {
  margin: 0; }
  .InputfieldSelect ul li, .InputfieldRadios ul li, .InputfieldCheckboxes ul li {
    margin: 0; }

#wrap_Inputfield-, .wrap_Inputfield- {
  display: none; }

.InputfieldForm .InputfieldFormBuilderPageBreak {
  /*margin-bottom: 0;*/ }
/****************************************************************************
 * Render Value Mode 
 *
 * Used when only values are being rendered in the form (no inputs)
 *
 */
.InputfieldRenderValueMode .InputfieldSelect li, .InputfieldRenderValueMode .InputfieldRadios li, .InputfieldRenderValueMode .InputfieldCheckboxes li {
  margin: 0; }
  .InputfieldRenderValueMode .InputfieldSubmit, .InputfieldRenderValueMode .InputfieldButton {
    display: none; }

.pw-no-select {
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
  /* prevent selection of this element */ }

:root {
  --width-master: 192rem;
  --width-default: 140rem;
  --width-wide: 162rem;
  --width-xwide: 164rem;
  --width-narrow: 94rem;
  --space-default: clamp(4rem, 9vw, 9rem);
  --space-big: clamp(6rem, 18vw, 18rem);
  --space-bigger: clamp(12rem, 30vw, 34rem);
  --space-small: 4.5rem;
  --space-xsmall: 1rem; }

#page-header {
  width: 100vw;
  max-width: var(--width-master);
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  display: grid;
  grid-template-columns: auto 1fr;
  padding: 1rem 2rem; }
  @media screen and (min-width: 75em) {
  #page-header {
    padding: 1.5rem 5rem; } }
  #page-header h1 {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  #page-header #home-link {
    display: block; }
    #page-header #home-link img {
      width: 38rem;
      max-width: 40vw;
      display: block; }
  #page-header #nav-bar {
    display: flex;
    align-items: center; }
  #page-header #nav-main {
    width: 100%; }
  #page-header #navi-main {
    display: flex;
    gap: 2rem;
    justify-content: flex-end;
    align-items: center; }
    @media screen and (min-width: 62.5em) {
  #page-header #navi-main {
    gap: 5rem; } }
    #page-header #navi-main a::before {
      display: none; }
    @media screen and (max-width: 75em) {
    #page-header #navi-main a span {
      display: none; }
    #page-header #navi-main a::before {
      display: block; } }
    @media screen and (min-width: 75em) {
    #page-header #navi-main a.kontakt {
      padding: 1rem 5rem;
      border-radius: 4rem; } }
  #page-header #navi-main-show {
    display: none; }

.TextformatterVideoEmbed {
  margin: 0 !important; }

main {
  padding-top: 5rem; }
  @media screen and (min-width: 62.5em) {
  main {
    padding-top: 8.5rem; } }

.ce {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat; }
  .ce.bg-rasen {
    background-position: bottom 50%; }
  .ce a.anchor {
    scroll-margin-top: 10rem; }

form input, form textarea {
  padding: 2rem;
  border-radius: 1rem; }
  form button {
    padding: 1rem 5rem;
    border-radius: 4rem;
    font-weight: normal; }

#page-footer div.wrapper {
  margin: auto;
  max-width: var(--width-narrow);
  display: grid;
  grid-template-columns: 1fr; }
  @media screen and (min-width: 62.5em) {
    #page-footer div.wrapper {
      grid-template-columns: auto 1fr; } }

body {
  background-color: lightgray; }

#master {
  background-color: black; }

#page-header, button:hover {
  background-color: #202020; }

a.kontakt, button {
  background-color: #f2a51d; }

.ce.style2, a.kontakt:hover {
  background-color: white; }

body, button {
  color: white; }

.ce.style2, a.kontakt:hover {
  color: #1c1c1c; }

a.kontakt, button {
  transition: all 0.3s; }

@font-face {
  font-family: "SourceSans Light";

  src: url(/site/templates/fonts/sourcesanspro/SourceSansPro-Light.woff2); }

@font-face {
  font-family: "SourceSans Bold";

  src: url(/site/templates/fonts/sourcesanspro/SourceSansPro-Bold.woff2); }

@font-face {
  font-family: "SourceSans SemiBold";

  src: url(/site/templates/fonts/sourcesanspro/SourceSansPro-SemiBold.woff2); }

@font-face {
  font-family: "Impact";

  src: url(/site/templates/fonts/impact/impact-webfont.woff); }

@font-face {
  font-family: "MDIF";

  src: url(/site/templates/fonts/mdi_filled/MaterialIcons-Regular.woff2); }

@font-face {
  font-family: "CI";

  src: url(/site/templates/fonts/customicons/iconsv1-Regular.woff2); }

body {
  font-family: "SourceSans Light", sans-serif; }

#navi-main, p.medium {
  font-family: "SourceSans SemiBold", sans-serif; }

h2, #navi-main a.kontakt, button, p.bigger, p.big {
  font-family: "Impact", sans-serif; }

strong {
  font-family: "SourceSans Bold", sans-serif; }

a::before {
  font-family: "MDIF";
  text-transform: none; }

.ce.style2 {
  font-size: clamp(1.6rem, 2vw, 2rem); }

#navi-main, #page-footer {
  font-size: clamp(2rem, 3vw, 3rem); }

body, #navi-main a.kontakt, button {
  font-size: clamp(2rem, 3.5vw, 3.5rem); }

p.medium {
  font-size: clamp(3rem, 4.5vw, 4.5rem); }

h2, p.big {
  font-size: clamp(6rem, 14vw, 14rem); }

p.bigger {
  font-size: clamp(6rem, 24vw, 24rem); }

#navi-main a:not(:hover) {
  text-decoration: none; }

h2, #navi-main, p.bigger, p.big, p.medium, button {
  text-transform: uppercase; }

a.was::before {
  content: "question_mark"; }

a.wo::before {
  content: "location_on"; }

a.wann::before {
  content: "event"; }

a.kontakt::before {
  content: "mail"; }

[data-cols]:not([data-slideshow="1"]) {
  gap: 1rem; }
  [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"]) {
    display: grid;
    grid-template-columns: 1fr; }
  @media screen and (min-width: 60em) {
    [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"]):not([data-cols="1"]) {
      grid-template-columns: repeat(2, 1fr); } }
  @media screen and (min-width: 94em) {
    [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="2"] {
      grid-template-columns: repeat(2, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="3"] {
        grid-template-columns: repeat(3, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="4"] {
        grid-template-columns: repeat(4, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="5"] {
        grid-template-columns: repeat(5, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="6"] {
        grid-template-columns: repeat(6, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="7"] {
        grid-template-columns: repeat(7, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="8"] {
        grid-template-columns: repeat(8, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="9"] {
        grid-template-columns: repeat(9, 1fr); }
      [data-cols]:not([data-slideshow="1"]):not([data-cols="inline"])[data-cols="10"] {
        grid-template-columns: repeat(10, 1fr); } }
  [data-cols]:not([data-slideshow="1"])[data-cols="inline"] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  [data-cols]:not([data-slideshow="1"])[data-gap="0"] {
    gap: 0; }
  @media screen and (min-width: 60em) {
  [data-cols]:not([data-slideshow="1"])[data-gap="5"] {
    gap: 0.5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="10"] {
    gap: 1rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="15"] {
    gap: 1.5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="20"] {
    gap: 2rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="30"] {
    gap: 3rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="40"] {
    gap: 4rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="50"] {
    gap: 5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="60"] {
    gap: 6rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="75"] {
    gap: 7.5rem; }
  [data-cols]:not([data-slideshow="1"])[data-gap="100"] {
    gap: clamp(4rem, 4vw, 10rem); } }
  [data-cols]:not([data-slideshow="1"]) img {
    max-width: 100%;
    height: auto; }

dialog[open] {
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex; }
  dialog[open] > div {
    width: auto;
    min-width: 100%;
    height: 100dvh;
    overflow: auto;
    padding: 13rem 0 5rem; }
  dialog[open] div.wrapper {
    margin: auto;
    max-width: var(--width-default); }
  dialog[open] header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 2.5rem 2rem;
    display: flex;
    justify-content: space-between; }
  dialog[open] header img {
    order: 1;
    width: 12rem; }
  dialog[open] header button {
    order: 2; }
  dialog[open] button {
    background: none;
    border: none;
    text-transform: none;
    min-width: 0;
    padding: 0;
    width: auto;
    border-radius: 0;
    border: none;
    color: white;
    display: flex;
    align-items: center;
    gap: 1rem;
    z-index: 100; }
  dialog[open] button::after {
    font-family: "MDIF";
    content: "close";
    font-size: 2rem;
    border-radius: 50%;
    line-height: 100%;
    padding: 0.3rem;
    border: 2px solid white; }
  dialog[open] ul#navi-main-mobile {
    margin-bottom: 6.5rem; }
  dialog[open] ul#navi-main-mobile a {
    display: flex;
    padding: 2rem 4.5rem 1rem;
    text-decoration: none; }
  dialog[open] ul#navi-main-mobile a[aria-expanded="true"] span, dialog[open] ul#navi-main-mobile a:hover span {
    border-bottom: 1px solid white; }
  dialog[open] ul#navi-main-mobile a[aria-expanded] span {
    padding: 1rem 3rem 0.5rem 0; }
    dialog[open] ul#navi-main-mobile a[aria-expanded] span::after {
      content: "\E000";
      transform-origin: center;
      transform: translateY(-50%) rotate(-90deg);
      position: absolute;
      top: 50%;
      right: 0rem; }
  dialog[open] ul#navi-main-mobile a[aria-expanded="true"] span::after {
    transform: translateY(-50%) rotate(90deg); }
  dialog[open] ul#navi-main-mobile li ul a::after {
    content: "";
    position: absolute;
    left: 2.5rem;
    right: 2.5rem;
    bottom: 0;
    border-bottom: 1px solid white; }
  dialog[open] ul#navi-main-mobile a:not([aria-expanded="true"]) + ul {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  dialog[open] ul#navi-service-mobile {
    margin: 0 0 0 2.5rem !important;
    padding: 0 !important;
    display: block !important; }
  dialog[open] ul#navi-service-mobile span {
    font-size: 1.2rem; }
  dialog[open] ul#navi-service-mobile li {
    margin-bottom: 2rem; }

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%); }

  100% {
    transform: translateX(0%); } }

@keyframes fadeIn {
  0% {
    opacity: 0; }

  100% {
    opacity: 1; } }

.ce .wrapper, .ce header.default {
  margin: auto;
  max-width: var(--width-default); }
  .ce.xwide .wrapper, .ce header.xwide .wrapper {
    max-width: var(--width-xwide); }
  .ce.wide .wrapper, .ce header.wide .wrapper {
    max-width: var(--width-wide); }
  .ce.narrow .wrapper, .ce header.narrow .wrapper {
    max-width: var(--width-narrow); }
  .ce.full .wrapper, .ce header.full .wrapper {
    max-width: var(--width-master); }
  @media screen and (max-width: 120em) {
    .ce.full .wrapper, .ce header.full .wrapper {
      max-width: 100vw; } }
  .ce header span {
    display: block; }
  .ce header > .wrapper {
    padding: 0 2rem; }
  .ce > .wrapper {
    padding-left: 2rem;
    padding-right: 2rem;
    padding-top: var(--space-default);
    padding-bottom: var(--space-default); }
  .ce.header, .type-columns .ce {
    padding-top: var(--space-default); }
  .ce.after-none > .wrapper, .ce.type-stopper {
    padding-bottom: 0; }
  .ce.type-stopper {
    padding-bottom: 0; }
  .ce.before-none.header, .ce.before-none > .wrapper, .type-columns .ce.before-none {
    padding-top: 0; }
  .ce.before-xsmall.header, .ce.before-xsmall > .wrapper, .type-columns .ce.before-xsmall {
    padding-top: var(--space-xsmall); }
  .ce.after-xsmall > .wrapper {
    padding-bottom: var(--space-xsmall); }
  .ce.before-small.header, .ce.before-small > .wrapper, .type-columns .ce.before-small {
    padding-top: var(--space-small); }
  .ce.after-small > .wrapper {
    padding-bottom: var(--space-small); }
  .ce.before-big.header, .ce.before-big > .wrapper, .type-columns .ce.before-big {
    padding-top: var(--space-big); }
  .ce.after-big > .wrapper {
    padding-bottom: var(--space-big); }
  .ce.before-bigger.header, .ce.before-bigger > .wrapper, .type-columns .ce.before-bigger {
    padding-top: var(--space-bigger); }
  .ce.after-bigger > .wrapper {
    padding-bottom: var(--space-bigger); }
  .ce.type-columns .ce .wrapper, .ce.type-text_image .element:not(.under):not(.above) .text header .wrapper {
    padding-left: 0;
    padding-right: 0; }
  .ce.full > .wrapper {
    padding-left: 0;
    padding-right: 0; }
  .accordion details > *:last-child {
    margin-bottom: 3rem !important; }
  .accordion details summary {
    list-style: none;
    padding: 3rem 6rem 3rem 0;
    cursor: pointer;
    border-top-style: solid;
    border-top-width: 2px; }
  .accordion details summary::-webkit-details-marker {
    display: none; }
  .accordion details summary h2, .accordion details summary h3, .accordion details summary h4 {
    text-align: left;
    margin-bottom: 0; }
  .accordion details summary::after {
    font-family: "MDIF";
    content: "add";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 3.5rem; }
  .accordion details[open] summary::after {
    content: "remove"; }
  .accordion details:last-of-type {
    border-bottom-style: solid;
    border-bottom-width: 2px; }
  .accordion details section.ce {
    padding: 0 !important; }

.tabbed {
  width: 100%;
  position: relative;
  justify-content: center;
  display: flex;
  flex-wrap: wrap; }
  .tabbed details {
    display: contents; }
  .tabbed details > div {
    order: 1;
    width: 100%; }
  .tabbed summary {
    position: sticky;
    top: 0;
    list-style: none;
    padding: 2rem 2rem 1.5rem;
    min-width: 30rem;
    cursor: pointer;
    text-align: center;
    margin: 0 0.5rem; }
  .tabbed summary::-webkit-details-marker {
    display: none; }

.type-persons span {
  line-height: normal; }
  .type-persons [itemprop="name"] {
    display: block; }
  .type-persons [itemprop="sameAs"], .type-persons [itemprop="address"], .type-persons [itemprop="telephone"], .type-persons [itemprop="email"] {
    margin-left: 3rem;
    display: block; }
  .type-persons [itemprop="sameAs"]::before, .type-persons [itemprop="address"]::before, .type-persons [itemprop="telephone"]::before, .type-persons [itemprop="email"]::before {
    position: absolute;
    left: -3rem;
    top: 0.5rem; }
  .type-persons figure {
    margin: auto;
    text-align: center;
    display: block; }
  .type-persons img {
    width: 30rem;
    border-radius: 50%;
    margin: auto; }
  .type-persons ul.highlight [itemprop="name"], .type-persons ul.highlight [itemprop="jobTitle"], .type-persons ul.highlight .title {
    text-align: center;
    width: 100%;
    display: inline-block; }
  .type-persons ul.highlight .title {
    margin-top: 3rem; }
  .type-persons ul.highlight [itemprop="jobTitle"] {
    display: block; }
  .type-persons ul.highlight [itemprop="jobTitle"] {
    margin-bottom: 4rem; }
  .type-persons ul.card li {
    border-radius: 1.5rem;
    padding: 3rem; }
  .type-persons [itemprop="memberOf"] {
    display: flex;
    width: min-content;
    gap: 1rem;
    /*
     &::before {
     content: "";
     position: absolute;
     left: 1rem;
     top: .5rem;
     bottom: .5rem;
     border-left: 2px solid black;
     }
     */ }
  .type-persons [itemprop="memberOf"] span {
    display: grid;
    width: 2.4rem;
    height: 2.4rem;
    justify-content: center;
    align-content: center;
    background-color: black;
    color: white;
    border-radius: 50%; }
  .type-persons div.group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: -2rem; }
  .type-persons div.group > * {
    width: 100%; }
  .type-persons div.comm {
    margin-top: 2.4rem; }
  .type-persons div.comm br {
    display: none; }
  .type-persons div.comm span br {
    display: block; }
  .type-persons div.comm a, .type-persons div.comm span, .type-persons div.comm div {
    margin-bottom: 2rem; }
  .type-persons ul.ra-list, .type-persons ul.ni-list {
    display: flex;
    gap: 6rem; }
  .type-persons ul.ra-list li::before, .type-persons ul.ni-list li::before {
    transform: translateX(-120%);
    content: attr(data-id);
    text-align: center;
    color: white; }

.map {
  height: 40vh; }

form .Inputfield {
  margin: 0 0 3rem; }
  form label {
    display: block;
    margin-bottom: 0.5rem; }
  form input:not([type="checkbox"]), form select, form textarea {
    width: 100%;
    display: block;
    border: 1px solid black; }
  form .InputfieldCheckbox > label {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  form .InputfieldCheckbox .InputfieldContent label {
    padding-left: 3rem; }
  form .InputfieldCheckbox .InputfieldContent label input {
    position: absolute;
    left: 0;
    top: 0.8rem;
    transform: scale(2); }

.ce.type-menu ul {
  margin-bottom: 0;
  margin-left: 0 !important;
  list-style-type: none !important;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr; }
  @media screen and (min-width: 75em) {
  .ce.type-menu ul[data-items="2"] {
    grid-template-columns: repeat(2, 1fr); }
  .ce.type-menu ul[data-items="3"] {
    grid-template-columns: repeat(3, 1fr); }
  .ce.type-menu ul[data-items="4"] {
    grid-template-columns: repeat(4, 1fr); }
  .ce.type-menu ul[data-items="5"] {
    grid-template-columns: repeat(5, 1fr); } }
  .ce.type-menu ul li {
    margin-bottom: 0 !important; }
  #page-footer .ce.type-menu ul {
    border: none; }

.type-gallery img {
  display: block;
  width: 100%;
  max-width: none; }
  .type-gallery.logos li, .type-gallery.logos a {
    display: flex; }
  .type-gallery.logos img {
    width: auto !important;
    max-width: 75vw; }
  .type-gallery.logos a {
    padding: 2rem; }
  .type-gallery a {
    text-decoration: none; }

.type-text_image div.element {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
  /*
   &.right,
   &.under {
   div.media {
   order: 2;
   }
   }
   */ }
  .type-text_image div.element[data-gap="0"] {
    gap: 0; }
  .type-text_image div.element div.media {
    display: block; }
  .type-text_image div.element div.media * {
    width: 100%; }
  .type-text_image div.element div.media img, .type-text_image div.element div.media a {
    display: block; }
  .type-text_image div.element div.media p {
    margin-bottom: 1.5rem; }
  .type-text_image div.element div.media {
    order: 2; }
  @media screen and (min-width: 60em) {
    .type-text_image div.element {
      grid-template-columns: repeat(10, 1fr); }
      .type-text_image div.element div.media, .type-text_image div.element div.text {
        grid-column: span 10; }
      .type-text_image div.element.left div.media, .type-text_image div.element.before div.media {
        order: 1; }
        .type-text_image div.element.left div.text, .type-text_image div.element.before div.text {
          order: 2; }
      .type-text_image div.element.left.r5050 div.media, .type-text_image div.element.right.r5050 div.media, .type-text_image div.element.left_inline.r5050 div.media, .type-text_image div.element.right_inline.r5050 div.media, .type-text_image div.element.left.r5050 div.text, .type-text_image div.element.right.r5050 div.text, .type-text_image div.element.left_inline.r5050 div.text, .type-text_image div.element.right_inline.r5050 div.text {
        grid-column: span 5; }
        .type-text_image div.element.left.r4060 div.media, .type-text_image div.element.right.r4060 div.media, .type-text_image div.element.left_inline.r4060 div.media, .type-text_image div.element.right_inline.r4060 div.media {
          grid-column: span 4; }
          .type-text_image div.element.left.r4060 div.text, .type-text_image div.element.right.r4060 div.text, .type-text_image div.element.left_inline.r4060 div.text, .type-text_image div.element.right_inline.r4060 div.text {
            grid-column: span 6; }
        .type-text_image div.element.left.r3070 div.media, .type-text_image div.element.right.r3070 div.media, .type-text_image div.element.left_inline.r3070 div.media, .type-text_image div.element.right_inline.r3070 div.media {
          grid-column: span 3; }
          .type-text_image div.element.left.r3070 div.text, .type-text_image div.element.right.r3070 div.text, .type-text_image div.element.left_inline.r3070 div.text, .type-text_image div.element.right_inline.r3070 div.text {
            grid-column: span 7; }
        .type-text_image div.element.left.r2080 div.media, .type-text_image div.element.right.r2080 div.media, .type-text_image div.element.left_inline.r2080 div.media, .type-text_image div.element.right_inline.r2080 div.media {
          grid-column: span 2; }
          .type-text_image div.element.left.r2080 div.text, .type-text_image div.element.right.r2080 div.text, .type-text_image div.element.left_inline.r2080 div.text, .type-text_image div.element.right_inline.r2080 div.text {
            grid-column: span 8; }
        .type-text_image div.element.left.r6040 div.media, .type-text_image div.element.right.r6040 div.media, .type-text_image div.element.left_inline.r6040 div.media, .type-text_image div.element.right_inline.r6040 div.media {
          grid-column: span 6; }
          .type-text_image div.element.left.r6040 div.text, .type-text_image div.element.right.r6040 div.text, .type-text_image div.element.left_inline.r6040 div.text, .type-text_image div.element.right_inline.r6040 div.text {
            grid-column: span 4; }
        .type-text_image div.element.left.r7030 div.media, .type-text_image div.element.right.r7030 div.media, .type-text_image div.element.left_inline.r7030 div.media, .type-text_image div.element.right_inline.r7030 div.media {
          grid-column: span 7; }
          .type-text_image div.element.left.r7030 div.text, .type-text_image div.element.right.r7030 div.text, .type-text_image div.element.left_inline.r7030 div.text, .type-text_image div.element.right_inline.r7030 div.text {
            grid-column: span 3; }
        .type-text_image div.element.left.r8020 div.media, .type-text_image div.element.right.r8020 div.media, .type-text_image div.element.left_inline.r8020 div.media, .type-text_image div.element.right_inline.r8020 div.media {
          grid-column: span 8; }
          .type-text_image div.element.left.r8020 div.text, .type-text_image div.element.right.r8020 div.text, .type-text_image div.element.left_inline.r8020 div.text, .type-text_image div.element.right_inline.r8020 div.text {
            grid-column: span 2; }
      .type-text_image div.element[data-gap="5"] {
        gap: 0.5rem; }
      .type-text_image div.element[data-gap="10"] {
        gap: 1rem; }
      .type-text_image div.element[data-gap="15"] {
        gap: 1.5rem; }
      .type-text_image div.element[data-gap="20"] {
        gap: 2rem; }
      .type-text_image div.element[data-gap="30"] {
        gap: 3rem; }
      .type-text_image div.element[data-gap="50"] {
        gap: 5rem; }
      .type-text_image div.element[data-gap="100"] {
        gap: 10rem; } }
  @media screen and (min-width: 60em) {
  .type-text_image.img-right div.element div.media {
    justify-content: flex-end;
    align-items: center; } }
  .type-text_image .TextformatterVideoEmbed {
    width: 100%; }

.type-stopper div.element {
  text-align: center;
  opacity: 0.1; }
  .type-stopper div.element img {
    width: 20rem;
    padding: 0 2rem; }
  .type-stopper div.element::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 3px dashed black;
    transform: translateY(-50%); }

div.contacts {
  border-radius: 1.5rem;
  padding: 2.5rem 4rem; }
  @container (width > 70rem) {
  div.contacts {
    display: grid; }
  div.contacts {
    grid-template-columns: repeat(2, 1fr); } }
  div.contacts > div {
    margin-bottom: 3.5rem; }
  div.contacts p {
    display: flex;
    gap: 2rem; }
  div.contacts p::before {
    transform: translateY(0.7rem); }
  div.contacts p span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  div.contacts .social {
    grid-column: 1 / span 2; }
  div.contacts ul {
    grid-column: 1 / span 2;
    display: flex;
    gap: 2rem;
    margin-left: 0;
    list-style-type: none; }
  div.contacts ul span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px; }
  div.contacts ul img {
    height: 3.5rem !important;
    width: auto; }

ul.downloads {
  margin-left: 0 !important; }
  ul.downloads li {
    list-style-type: none;
    list-style-image: none;
    margin-bottom: 2rem; }
  ul.downloads li a {
    margin-top: 0; }
  ul.downloads li a::before {
    background-image: url(/site/templates/images/icons/arrow-download.svg);
    transform: none; }
  ul.downloads li a:hover::before {
    background-image: url(/site/templates/images/icons/arrow-download-hover.svg); }
  ul.downloads li a span span {
    white-space: nowrap; }

.type-timeline div.element {
  padding: 5rem 0; }
  .type-timeline div.element::before, .type-timeline div.element::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    border-left: 5px dashed var(--color-accent-1);
    z-index: 0; }
  @media screen and (min-width: 60em) {
    .type-timeline div.element::before, .type-timeline div.element::after {
      left: 50%;
      transform: translateX(-50%); } }
  .type-timeline dl {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 2rem 0;
    z-index: 10; }
  .type-timeline dl dt {
    display: flex;
    align-items: flex-end; }
  .type-timeline dl dt span {
    width: 100%;
    border-bottom: 5px solid black;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    text-align: right;
    padding-right: 5rem; }
    .type-timeline dl dt span::after {
      content: "";
      position: absolute;
      bottom: 0;
      transform: translateY(50%);
      width: 3.4rem;
      height: 3.4rem;
      border: 5px solid black;
      border-radius: 50%;
      background-color: white;
      right: 0; }
  .type-timeline dl dd {
    margin-bottom: 8rem; }
  .type-timeline dl dd p {
    padding-left: 2rem; }
  .type-timeline dl img {
    max-width: 28rem; }
  .type-timeline dl::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background-color: black; }
  @media screen and (min-width: 60em) {
    .type-timeline dl {
      grid-template-columns: repeat(2, 1fr);
      padding: 6rem 0; }
      .type-timeline dl::before {
        left: 50%;
        transform: translateX(-50%); }
      .type-timeline dl dt:not(:first-child) {
        margin-top: -15rem; }
        .type-timeline dl dt span {
          padding-bottom: 2rem;
          margin-bottom: 5rem; }
      .type-timeline dl dd {
        margin-bottom: 0; }
      .type-timeline dl dt:nth-of-type(odd), .type-timeline dl dd:nth-of-type(odd) {
        grid-column: 2 / span 1; }
        .type-timeline dl dt:nth-of-type(odd) p, .type-timeline dl dd:nth-of-type(odd) p, .type-timeline dl dt:nth-of-type(odd) span, .type-timeline dl dd:nth-of-type(odd) span {
          padding-left: 6rem;
          text-align: left; }
          .type-timeline dl dt:nth-of-type(odd) p::after, .type-timeline dl dd:nth-of-type(odd) p::after, .type-timeline dl dt:nth-of-type(odd) span::after, .type-timeline dl dd:nth-of-type(odd) span::after {
            right: 0;
            left: auto; }
      .type-timeline dl dt:nth-of-type(even), .type-timeline dl dd:nth-of-type(even) {
        grid-column: 1 / span 1; }
        .type-timeline dl dt:nth-of-type(even) p:has(img), .type-timeline dl dd:nth-of-type(even) p:has(img), .type-timeline dl dt:nth-of-type(even) span, .type-timeline dl dd:nth-of-type(even) span {
          text-align: right; }
          .type-timeline dl dt:nth-of-type(even) p:has(img)::after, .type-timeline dl dd:nth-of-type(even) p:has(img)::after, .type-timeline dl dt:nth-of-type(even) span::after, .type-timeline dl dd:nth-of-type(even) span::after {
            left: 0;
            right: auto; }
        .type-timeline dl dt:nth-of-type(even) p, .type-timeline dl dd:nth-of-type(even) p, .type-timeline dl dt:nth-of-type(even) span, .type-timeline dl dd:nth-of-type(even) span {
          padding-right: 6rem; } }

#master {
  max-width: var(--width-master);
  min-height: 100vh;
  margin: auto;
  display: grid;
  grid-template-rows: 1fr auto; }
