@charset "UTF-8";
@import "resets/normalize.css";
*,
*::before,
*::after {
  box-sizing: border-box;
}

*:focus {
  outline: none;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

button {
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0;
  cursor: pointer;
  font-weight: inherit;
}

figure {
  margin: 0;
}

input::-moz-focus-inner {
  border: 0;
  padding: 0;
  margin: 0;
}

input {
  font-weight: inherit;
}

ul, ol, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

p {
  margin: 0;
}

cite {
  font-style: normal;
}

fieldset {
  border-width: 0;
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

img {
  width: 100%;
  height: auto;
}

input {
  border-radius: 0;
}

code, pre {
  font-family: inherit;
  font-size: inherit;
  margin: 0;
}

::-moz-selection {
  background: #DBFF74;
}

::selection {
  background: #DBFF74;
}

html {
  font-size: 1px;
  color: unset;
}

body {
  background-color: #e0e0e0;
  transition: background-color 0.5s ease-in;
  color: #201737;
  overflow-x: hidden;
}
body nav .mobile {
  display: none;
}
@media (max-width: 820px) {
  body nav .mobile {
    display: block;
  }
  body.publications article .content {
    overflow-x: hidden;
  }
}
@media (hover: none) {
  body .tacho {
    pointer-events: none;
  }
}
body main {
  padding: 30rem;
}
body main section {
  margin-bottom: 30rem;
}
body main section.intro {
  margin-bottom: 90rem;
}
@media (min-width: 821px) {
  body main section.intro {
    margin-bottom: 30rem;
  }
}
@media (min-width: 821px) {
  body main {
    padding: 60rem;
  }
  body main section {
    margin-bottom: 60rem;
  }
}
@media (min-width: 1731px) {
  body .sitetitle {
    font-size: 130px;
  }
  body main {
    max-width: 1600px;
    margin: 0 auto;
  }
}

h1 {
  text-align: center;
  margin: 0;
  overflow-x: hidden;
  background: #bbb0ff;
  padding-top: 20rem;
}
@media (min-width: 821px) {
  h1 {
    overflow-x: unset;
    background: transparent;
    margin: 40rem 0;
    padding-top: 0;
  }
}
h1 a {
  flex-direction: column;
  align-items: center;
  display: inline-flex;
}
h1 span {
  display: block;
}
h1 span.subline {
  align-self: flex-end;
}

section.intro button {
  margin: 30rem 0;
}
@media (min-width: 821px) {
  section.intro button {
    margin: 60rem 0 0 60rem;
  }
}

#menu {
  position: sticky;
  top: 0;
  left: 0;
  background: #bbb0ff;
  width: 100%;
  height: 70rem;
  z-index: 999;
}
#menu span {
  display: block;
  width: 60rem;
  height: 60rem;
  margin-left: 20rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' aria-labelledby='title' aria-describedby='desc' role='img' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EMenu%3C/title%3E%3Cdesc%3EA line styled icon from Orion Icon Library.%3C/desc%3E%3Cpath data-name='layer2' fill='none' stroke='%23201737' stroke-miterlimit='10' stroke-width='2' d='M14 18h36M14 32h36' stroke-linejoin='round' stroke-linecap='round'%3E%3C/path%3E%3Cpath data-name='layer1' fill='none' stroke='%23201737' stroke-miterlimit='10' stroke-width='2' d='M14 46h36' stroke-linejoin='round' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E");
}
@media (min-width: 821px) {
  #menu {
    display: none;
  }
}

nav.main {
  position: fixed;
  z-index: 999;
}
nav.main #close {
  display: none;
  width: 60rem;
  height: 60rem;
  margin-left: auto;
  position: fixed;
  top: 8rem;
  left: 20rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' aria-labelledby='title' aria-describedby='desc' role='img' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Ctitle%3EClose%3C/title%3E%3Cdesc%3EA line styled icon from Orion Icon Library.%3C/desc%3E%3Cpath data-name='layer1' fill='none' stroke='%23201737' stroke-miterlimit='10' stroke-width='2' d='M41.999 20.002l-22 22m22 0L20 20' stroke-linejoin='round' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E");
}
@media (min-width: 821px) {
  nav.main {
    position: sticky;
    top: 0;
  }
}
nav.main.open {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
nav.main.open #close {
  display: block;
}
nav.main.open ul {
  height: 100%;
  display: flex;
  opacity: 1;
  visibility: visible;
}
nav.main ul {
  display: none;
  opacity: 0;
  visibility: hidden;
  padding: 60rem 60rem 60rem 84rem;
  background: #bbb0ff;
  transition: background 0.25s ease-in;
  flex-direction: column;
  justify-content: center;
}
@media (min-width: 821px) {
  nav.main ul {
    display: flex;
    opacity: 1;
    visibility: visible;
    padding: 7.5rem 120rem;
    flex-direction: row;
  }
}
nav.main ul:hover {
  background: #DBFF74;
}
nav.main ul:hover a:hover::before {
  background: #201737;
}
nav.main ul li a {
  margin: 10rem 0;
  position: relative;
  display: block;
  transition: font-variation-settings 0.25s ease-in, font-weight 0.25s ease-in;
}
@media (min-width: 821px) {
  nav.main ul li a {
    margin: 0 20rem;
    font-size: 22rem;
  }
}
@media (min-width: 1221px) {
  nav.main ul li a {
    margin: 0 30rem;
    font-size: inherit;
  }
}
@media (min-width: 1591px) {
  nav.main ul li a {
    margin: 0 60rem;
  }
}
nav.main ul li a:hover {
  font-variation-settings: "wght" 450;
  font-weight: 450;
}
nav.main ul li a.active::before {
  background: #DBFF74;
}
nav.main ul li a::before {
  content: "";
  width: 18rem;
  height: 18rem;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -44rem;
  transition: all 0.5s ease-in;
}
@media (min-width: 821px) {
  nav.main ul li a::before {
    width: 13rem;
    height: 13rem;
    left: -17rem;
  }
}
@media (min-width: 1221px) {
  nav.main ul li a::before {
    left: -30rem;
    width: 18rem;
    height: 18rem;
  }
}

body.menu_open nav.languages, body.showLang nav.languages {
  visibility: visible;
  opacity: 1;
}

nav.languages {
  position: absolute;
  top: 20rem;
  right: 20rem;
  z-index: 1000;
}
@media (max-width: 819px) {
  nav.languages {
    position: fixed;
    top: 25rem;
    visibility: hidden;
    opacity: 0;
  }
}
nav.languages ul {
  display: flex;
}
nav.languages ul li {
  text-transform: uppercase;
  padding-left: 0.5em;
  display: inherit;
}
nav.languages ul li:first-of-type:after {
  content: "/";
  padding-left: 0.5em;
}
nav.languages ul li a {
  display: inline-block;
}
nav.languages ul li.active a {
  cursor: default;
}
nav.languages ul li.active a, nav.languages ul li:hover a {
  color: #9A8AFF;
}

footer nav ul {
  padding: 30rem;
  background: #bbb0ff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 20rem;
}
footer nav ul li {
  margin-bottom: 15rem;
}
footer nav ul li:last-of-type {
  margin-bottom: 0;
}
@media (min-width: 821px) {
  footer nav ul {
    padding: 7.5rem 60rem;
    display: flex;
    justify-content: space-around;
    grid-template-columns: unset;
    grid-column-gap: unset;
  }
  footer nav ul li {
    margin-bottom: 0;
  }
}

.button, form input[type=submit] {
  padding: 10rem 30rem;
  display: inline-block;
}
.button.light, form input[type=submit].light {
  background: #fff;
}
.button.light:hover, form input[type=submit].light:hover {
  background: #DBFF74;
}
.button.dark, form input[type=submit].dark {
  border: 1px solid;
}
.button.dark:hover, form input[type=submit].dark:hover {
  background: #201737;
  color: white;
}

form input[type=submit] {
  background: #201737;
  color: white;
  border: 2px solid white;
}
form input[type=submit]:hover {
  background: #DBFF74;
  color: #201737;
}

.accordion button {
  display: grid;
  grid-template-columns: auto 60rem;
  text-align: left;
  align-items: center;
  width: 100%;
  padding: 30rem;
}
.accordion button svg path {
  stroke: #fff;
}
.accordion button:focus {
  outline: none;
}
.accordion button svg {
  transition: transform 0.25s ease-in;
}
.accordion.open svg {
  transform: rotate(90deg);
}
.accordion.open .accordioncontent {
  visibility: visible;
  display: block;
}
.accordion .accordioncontent {
  visibility: hidden;
  display: none;
}
.accordion .accordioncontent .text {
  padding: 20rem;
}
@media (min-width: 821px) {
  .accordion .accordioncontent .text {
    padding: 30rem;
    max-width: 50ch;
  }
}

html.with-fancybox nav, html.with-fancybox h1, html.with-fancybox main, html.with-fancybox footer {
  filter: blur(5px);
}
html.with-fancybox .fancybox__backdrop {
  background: #DBFF74;
  opacity: 0.95;
}
html.with-fancybox button.carousel__button.is-close {
  width: 40rem;
  height: 40rem;
  top: -60px;
  right: 0;
}
@media (min-width: 821px) {
  html.with-fancybox button.carousel__button.is-close {
    top: -50px;
    right: -50px;
  }
}
html.with-fancybox button.carousel__button.is-close svg {
  width: 40rem;
  height: 40rem;
  stroke: #201737;
  filter: none;
  stroke-width: 1.4px;
}

#contactform, #contactformtwo, #contactform--clone, #contactformtwo--clone, #subscribe-form {
  display: none;
  background: white;
  padding: 30rem;
  margin-top: 30rem;
  width: calc(100vw - 30rem);
  border-radius: 7.5rem;
}
@media (min-width: 821px) {
  #contactform, #contactformtwo, #contactform--clone, #contactformtwo--clone, #subscribe-form {
    width: unset;
    min-width: 50vw;
    padding: 60rem 60rem;
  }
}
#contactform h2, #contactformtwo h2, #contactform--clone h2, #contactformtwo--clone h2, #subscribe-form h2 {
  margin-bottom: 60rem;
}
#contactform .block, #contactformtwo .block, #contactform--clone .block, #contactformtwo--clone .block, #subscribe-form .block {
  margin-bottom: 0;
}
#contactform .data label, #contactform .form-block-field-radio label, #contactformtwo .data label, #contactformtwo .form-block-field-radio label, #contactform--clone .data label, #contactform--clone .form-block-field-radio label, #contactformtwo--clone .data label, #contactformtwo--clone .form-block-field-radio label, #subscribe-form .data label, #subscribe-form .form-block-field-radio label {
  display: block;
  cursor: pointer;
}
#contactform .datacheck, #contactform input[type=radio], #contactform input[type=checkbox], #contactformtwo .datacheck, #contactformtwo input[type=radio], #contactformtwo input[type=checkbox], #contactform--clone .datacheck, #contactform--clone input[type=radio], #contactform--clone input[type=checkbox], #contactformtwo--clone .datacheck, #contactformtwo--clone input[type=radio], #contactformtwo--clone input[type=checkbox], #subscribe-form .datacheck, #subscribe-form input[type=radio], #subscribe-form input[type=checkbox] {
  width: 15rem;
  height: 15rem;
  border: 1px solid;
  margin-bottom: 1px;
  transition: border-radius 0.25s ease-in;
}
#contactform .datacheck:checked, #contactform input[type=radio]:checked, #contactform input[type=checkbox]:checked, #contactformtwo .datacheck:checked, #contactformtwo input[type=radio]:checked, #contactformtwo input[type=checkbox]:checked, #contactform--clone .datacheck:checked, #contactform--clone input[type=radio]:checked, #contactform--clone input[type=checkbox]:checked, #contactformtwo--clone .datacheck:checked, #contactformtwo--clone input[type=radio]:checked, #contactformtwo--clone input[type=checkbox]:checked, #subscribe-form .datacheck:checked, #subscribe-form input[type=radio]:checked, #subscribe-form input[type=checkbox]:checked {
  background: #201737;
  border-radius: 100%;
}
#contactform .form-block-field-radio legend, #contactformtwo .form-block-field-radio legend, #contactform--clone .form-block-field-radio legend, #contactformtwo--clone .form-block-field-radio legend, #subscribe-form .form-block-field-radio legend {
  display: none;
}

#subscribe-result {
  margin-top: 30rem;
}

body > .fancybox__container .fancybox__nav {
  display: none;
}

form .form-block-field, form .mc-field-group, form h2, form .formfield__container {
  margin-bottom: 30rem;
}
form .form-block-field-select {
  margin-bottom: 60rem;
}
form label {
  display: none;
}
form [data-id=anrede], form [data-id=anliegen] {
  position: relative;
}
form [data-id=anrede] label, form [data-id=anliegen] label {
  display: block;
  position: absolute;
  left: 0;
  color: black;
}
form [data-id=anrede]::after, form [data-id=anliegen]::after {
  content: "↓";
  position: absolute;
  right: 0;
  top: -1px;
}
form [data-id=datenschutz] legend, form [data-id=anruf] legend {
  display: none;
}
form [data-id=datenschutz] label, form [data-id=anruf] label {
  display: grid;
  grid-template-columns: 20rem auto;
  grid-gap: 10rem;
  align-items: center;
}
form [data-id=datenschutz] label a, form [data-id=anruf] label a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}
form .formfield__select__chevron {
  display: block;
  position: absolute;
  pointer-events: none;
  top: 0;
  right: 0;
  border: 1px solid;
}
form *::-webkit-input-placeholder {
  color: #201737;
}
form *:focus {
  outline: none !important;
}
form fieldset {
  position: relative;
}
form fieldset legend {
  position: absolute;
  color: #201737;
  margin-bottom: 15rem;
}
form select {
  background: transparent;
  border: none;
  width: 100%;
  text-align: right;
  padding-right: 25rem;
  font-weight: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  direction: rtl;
  z-index: 1000;
  display: block;
}
form input, form textarea {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  padding: 0;
  border-bottom: 1px solid;
  font-weight: inherit;
}
form input[type=submit], form textarea[type=submit] {
  border-bottom: 0;
  margin-top: 60rem;
  text-transform: uppercase;
  cursor: pointer;
  width: auto;
}

:root {
  --step--2: clamp(3.13rem, 2.62rem + 2.51vw, 5.76rem);
  --step--1: clamp(3.75rem, 3.09rem + 3.29vw, 7.20rem);
  --step-0: clamp(4.50rem, 3.64rem + 4.29vw, 9.00rem);
}

/* animations */
@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes marquee-r {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
/* scroller styles */
.marquee {
  font-size: var(--step-0);
  height: 94rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media (min-width: 821px) {
  .marquee {
    height: 114rem;
  }
}

.track {
  height: 100%;
  overflow: hidden;
  padding: 30rem 0;
  position: absolute;
  transition: background-color 300ms ease, color 300ms ease;
  white-space: nowrap;
}

.track .text {
  animation: marquee 50000ms linear infinite;
  align-items: center;
  display: inline-flex;
  will-change: transform;
}

.track .text.-r {
  animation-name: marquee-r;
}

* {
  -webkit-font-smoothing: antialiased;
}

@font-face {
  font-family: Cucina;
  src: url("./fonts/bretagne_cucina-neretta_web.woff") format("woff");
  font-weight: normal;
  font-display: swap;
}
@font-face {
  font-family: Inter;
  src: url("./fonts/Inter-VariableFont_slnt,wght.ttf") format("woff2");
  font-display: swap;
}
body {
  font-size: 18rem;
  font-family: "Inter", sans-serif;
  font-variation-settings: "wght" 300;
  font-weight: 300;
  font-style: normal;
}
@media (min-width: 821px) {
  body {
    font-size: 22rem;
  }
}

body.network .intro em {
  font-variation-settings: "slnt" -10;
  font-style: normal;
}

code {
  color: #9A8AFF;
}

.sitetitle {
  font-size: 7.5vw;
}
@media (min-width: 821px) {
  .sitetitle {
    font-size: 6vw;
  }
}
@media (max-width: 819px) {
  .sitetitle + .subline {
    font-size: 20rem;
  }
}

.superlarge {
  font-size: 80rem;
  line-height: 0.9;
}
@media (min-width: 821px) {
  .superlarge {
    font-size: 140rem;
  }
}

.etwasmehrlarge {
  font-size: 30rem;
}
@media (min-width: 821px) {
  .etwasmehrlarge {
    font-size: 50rem;
  }
}

.large, .block-type-heading h2 {
  font-size: 30rem;
}
@media (min-width: 821px) {
  .large, .block-type-heading h2 {
    font-size: 44rem;
  }
}

.bisselmehr {
  font-size: 24rem;
}
@media (min-width: 821px) {
  .bisselmehr {
    font-size: 32rem;
  }
}

.bissel {
  font-size: 24rem;
}
@media (min-width: 821px) {
  .bissel {
    font-size: 28rem;
  }
}

.liste {
  font-size: 20rem;
}

.tiny {
  font-size: 14rem;
}

.sans, .sans * {
  font-family: "Inter";
}

.sans-alt, .sans-alt * {
  font-family: "Inter", sans-serif;
  font-size: 80%;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.serif, .serif * {
  font-family: Cucina;
  font-weight: 500;
  letter-spacing: -0.0012em;
  letter-spacing: -0.002em;
}

.text, #contactform, #subscribe-form {
  line-height: 1.25;
}
.text a, #contactform a, #subscribe-form a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.supertext {
  line-height: 1.25;
}
@supports (-webkit-hyphenate-limit-before: 4) or (hyphenate-limit-chars: 8 4 4) {
  .supertext {
    hyphenate-limit-chars: 8 4 4;
    -webkit-hyphenate-limit-before: 4; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -webkit-hyphens: auto;
            hyphens: auto;
  }
}

.hasList ul {
  margin: 15rem 0;
}
.hasList li {
  position: relative;
  padding-left: 1em;
}
.hasList li:before {
  content: "";
  margin-left: -1em;
  position: absolute;
  width: 10rem;
  height: 10rem;
  border-radius: 100%;
  background: currentColor;
  margin-top: 0.45em;
}

body.home .bissel {
  line-height: 1.4;
}

body.home .tiles div.text {
  line-height: 1.25;
}

@media (max-width: 819px) {
  body.kurse .tacho p.bisselmehr,
  body.news .tacho p.bisselmehr {
    font-size: 30rem;
  }
  footer nav ul {
    font-variation-settings: "wght" 350;
  }
  nav.main.open.bissel {
    font-size: 28rem;
  }
}
body.legal .block-type-text {
  max-width: 55ch;
}

* .block {
  margin-bottom: 60rem;
}
* .block.block-type-video {
  margin-top: calc(60rem + 1.6em);
}
* .block.block-type-video .wrapper button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
}
* .block.block-type-video .wrapper button .button {
  white-space: nowrap;
}
* .block.block-type-video .wrapper button p:last-of-type {
  max-width: 39ch;
  padding: 10rem 30rem;
}
@media (min-width: 821px) {
  * .block.block-type-video .wrapper button p:last-of-type {
    margin-top: 10rem;
  }
}
* .block.block-type-video .wrapper.loaded button {
  display: none;
}
* .block.block-type-video iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border: none;
  background-color: #bbb0ff;
}
* .block.block-type-text {
  line-height: 1.3;
}
@media (min-width: 821px) {
  * .block.block-type-book.hasImage, * .block.block-type-networkperson.hasImage {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: 0.4fr 50ch;
  }
}
* .block.block-type-book div.text, * .block.block-type-book h2, * .block.block-type-networkperson div.text, * .block.block-type-networkperson h2 {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  * .block.block-type-book div.text, * .block.block-type-book h2, * .block.block-type-networkperson div.text, * .block.block-type-networkperson h2 {
    margin-bottom: 60rem;
  }
}
* .block.block-type-book > div .text, * .block.block-type-networkperson > div .text {
  max-width: 50ch;
}
* .block.block-type-networkperson.hasImage {
  grid-template-columns: 240rem auto;
}
* .block.block-type-networkperson figure {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  aspect-ratio: 16/9;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  * .block.block-type-networkperson figure {
    aspect-ratio: 9/12;
    margin-bottom: 0;
    width: 90%;
    margin-left: 5%;
  }
}
* .block.block-type-networkperson figure .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
* .block.block-type-networkperson figure .bg > div {
  background: #bbb0ff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
* .block.block-type-networkperson img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  z-index: 1;
  filter: grayscale(1);
}
* .block.block-type-book {
  margin-bottom: 120rem;
}
* .block.block-type-book.hasImage {
  grid-template-columns: 240rem auto;
}
* .block.block-type-book figure {
  position: relative;
  align-self: start;
  line-height: 0;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  * .block.block-type-book figure {
    margin-bottom: 0;
  }
}
* .block.block-type-book figure img {
  z-index: 1;
  position: relative;
  mix-blend-mode: lighten;
  filter: grayscale(1);
  transition: all 0.5s ease-in;
}
* .block.block-type-book figure img:hover {
  mix-blend-mode: normal;
  filter: none;
}
* .block.block-type-book figure::after {
  content: "";
  background: #7274B0;
  background: linear-gradient(#7274B0, #bbb0ff);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 821px) {
  body.vita section.intro, body.news section.intro, body.leistungen section.intro {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: auto 320rem;
    margin-bottom: 180rem;
  }
}
body.vita section.intro > .buttons, body.news section.intro > .buttons, body.leistungen section.intro > .buttons {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 80rem;
  align-self: start;
  margin-top: 30rem;
}
body.vita section.intro > .buttons button, body.news section.intro > .buttons button, body.leistungen section.intro > .buttons button {
  margin-left: 0;
  margin-top: 0;
}
@media (min-width: 821px) {
  body.vita section.intro > .buttons button, body.news section.intro > .buttons button, body.leistungen section.intro > .buttons button {
    margin-top: 30rem;
  }
}
body.vita section.intro > .buttons button:first-of-type, body.news section.intro > .buttons button:first-of-type, body.leistungen section.intro > .buttons button:first-of-type {
  margin-top: 0;
}
@media (min-width: 821px) {
  body.vita section.intro > .buttons, body.news section.intro > .buttons, body.leistungen section.intro > .buttons {
    margin-top: 0;
  }
}

body.legal main > h2 {
  margin-bottom: 60rem;
}

@media (min-width: 821px) {
  body.news section.subpages {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 60rem;
  }
}
body.news section.subpages > *:nth-of-type(4n + 1) .subpage {
  background: #bbb0ff;
  color: #3c374a;
}
body.news section.subpages > *:nth-of-type(4n + 2) .subpage {
  background: #7274B0;
  color: #e0e0e0;
}
body.news section.subpages > *:nth-of-type(4n + 3) .subpage {
  background: #9A8AFF;
  color: #3c374a;
}
body.news section.subpages > *:nth-of-type(4n + 4) .subpage {
  background: #3c374a;
  color: #bbb0ff;
}
body.news section.subpages > a {
  height: 100%;
  display: block;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.news section.subpages > a {
    margin-bottom: 0;
  }
}
body.news section.subpages > a > div {
  height: 100%;
}
body.news .subpage {
  height: 100%;
}
body.news .subpage > div {
  height: 100%;
  display: grid;
  grid-template-rows: 1em auto auto 46rem;
  grid-gap: 20rem;
  padding: 20rem;
}
@media (min-width: 821px) {
  body.news .subpage > div {
    padding: 30rem;
    grid-gap: 30rem;
  }
}
body.news .subpage > div .date {
  text-align: right;
}
body.news .subpage > div a.button, body.news .subpage > div span.button {
  margin-top: auto;
  margin-bottom: 0;
  align-self: start;
  justify-self: end;
}

@media (min-width: 821px) {
  body.kurse section.subpages {
    display: grid;
    grid-gap: 60rem;
    margin-top: 120rem;
  }
}
body.kurse section.subpages > * {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.kurse section.subpages > * {
    margin-bottom: 0;
  }
}
body.kurse section.subpages > *:nth-of-type(4n + 1) .subpage {
  background: #bbb0ff;
  color: #3c374a;
}
body.kurse section.subpages > *:nth-of-type(4n + 2) .subpage {
  background: #7274B0;
  color: #e0e0e0;
}
body.kurse section.subpages > *:nth-of-type(4n + 3) .subpage {
  background: #9A8AFF;
  color: #3c374a;
}
body.kurse section.subpages > *:nth-of-type(4n + 4) .subpage {
  background: #3c374a;
  color: #bbb0ff;
}
body.kurse section.subpages > a {
  height: 100%;
  display: block;
}
body.kurse section.subpages > a > div {
  height: 100%;
}
body.kurse .subpage {
  height: 100%;
}
body.kurse .subpage > div {
  height: 100%;
  grid-gap: 30rem;
  display: flex;
  flex-direction: column;
  padding: 20rem;
}
body.kurse .subpage > div .hasList ul {
  margin-top: 60rem;
}
@media (min-width: 821px) {
  body.kurse .subpage > div {
    padding: 30rem;
  }
  body.kurse .subpage > div .hasList ul {
    margin-top: inherit;
  }
  body.kurse .subpage > div .flexiheader {
    display: grid;
    grid-template-columns: auto auto;
    grid-gap: 60rem;
    margin-bottom: 60rem;
  }
  body.kurse .subpage > div .flexibox {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 60rem;
  }
  body.kurse .subpage > div .flexibox .text {
    max-width: 50ch;
  }
}
body.kurse .subpage > div .date {
  margin-top: 20rem;
  text-align: right;
}
@media (min-width: 821px) {
  body.kurse .subpage > div .date {
    margin-top: 0;
  }
}
body.kurse .subpage > div .date span {
  display: block;
}
body.kurse .subpage > div a.button, body.kurse .subpage > div span.button {
  margin-top: auto;
  margin-left: auto;
  margin-bottom: 0;
  align-self: start;
  justify-self: end;
  margin-top: 30rem;
}
@media (min-width: 821px) {
  body.kurse .subpage > div a.button, body.kurse .subpage > div span.button {
    margin-top: 60rem;
  }
}
body.kurse .subpage > div ul li {
  margin-bottom: 0.13em;
}

body.newsentry p.date {
  margin-bottom: 60rem;
}
@media (min-width: 821px) {
  body.newsentry section {
    display: grid;
    grid-gap: 120rem;
    grid-template-columns: 2fr 1.15fr;
  }
  body.newsentry section.hasVideo {
    grid-template-columns: 1.15fr 2fr;
  }
}
body.newsentry section > div {
  max-width: 70ch;
}
body.newsentry section > div > * {
  margin-bottom: 60rem;
}
body.newsentry section .media {
  align-self: start;
  position: sticky;
  top: 70rem;
}
body.newsentry .media figcaption {
  margin-top: 10rem;
  color: #9A8AFF;
}

@media (min-width: 821px) {
  body.vita article.vitacontainer {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: 1.25fr 1.75fr;
  }
}
body.vita article.vitacontainer .kurzvita {
  background: #7274B0;
  color: #fff;
  padding: 20rem;
}
@media (min-width: 821px) {
  body.vita article.vitacontainer .kurzvita {
    padding: 30rem;
  }
}
body.vita article.vitacontainer .kurzvita h2 {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.vita article.vitacontainer .kurzvita h2 {
    margin-bottom: 60rem;
  }
}
body.vita article.vitacontainer .kurzvita p {
  margin-bottom: 1em;
}
body.vita article.vitacontainer .kurzvita code {
  color: #bbb0ff;
}
body.vita article.vitacontainer .gallery {
  background: #bbb0ff;
  padding: 30rem;
  align-self: flex-start;
  position: sticky;
  top: 80rem;
}
body.vita article.vitacontainer .gallery, body.vita article.vitacontainer .swiper {
  width: 100%;
}
body.vita article.vitacontainer .swiper-slide {
  width: 100% !important;
  height: auto;
}
body.vita article.vitacontainer .swiper-slide figure {
  height: 100%;
}
body.vita article.vitacontainer .swiper-slide figure img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body.vita article.vitacontainer .swiperfooter {
  margin-top: 60rem;
  grid-gap: 60rem;
  display: grid;
  grid-template-columns: 60rem auto 60rem 60rem;
}
body.vita article.vitacontainer .swiperfooter .slide-captions {
  max-width: 25ch;
  justify-self: center;
}
body.vita article.vitacontainer .swiperfooter .swipeButton {
  cursor: pointer;
}
body.vita article.vitacontainer .swiperfooter .swiper-button-disabled {
  opacity: 0;
  cursor: default;
}

body.leistungen h2 {
  margin-bottom: 60rem;
}
body.leistungen .preintro {
  margin-bottom: 1.4em;
}
body.leistungen article .grid {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.leistungen article .grid {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 60rem;
  }
}
body.leistungen article .left > div {
  margin-bottom: 60rem;
}
body.leistungen article .left > div h3 {
  margin-bottom: 30rem;
}
body.leistungen article .left .text {
  max-width: 50ch;
}
body.leistungen .right {
  position: sticky;
  align-self: start;
  top: 80rem;
}
body.leistungen .right .marquee {
  width: 100%;
  height: 94rem;
}
@media (min-width: 821px) {
  body.leistungen .right .marquee {
    height: 114rem;
  }
}
body.leistungen .right .marquee span {
  margin-right: 20rem;
}
body.leistungen .right .accordion button {
  display: block;
  padding: 0;
}
body.leistungen .right .accordion:nth-of-type(1) {
  background: #bbb0ff;
  color: #3c374a;
}
@media (min-width: 821px) {
  body.leistungen .right .accordion:nth-of-type(1) {
    border-radius: 7.5rem 7.5rem 0 0;
  }
}
body.leistungen .right .accordion:nth-of-type(1) svg path {
  stroke: #3c374a;
}
body.leistungen .right .accordion:nth-of-type(2) {
  background: #7274B0;
  color: #e0e0e0;
}
body.leistungen .right .accordion:nth-of-type(2) svg path {
  stroke: #bbb0ff;
}
body.leistungen .right .accordion:nth-of-type(3) {
  background: #9A8AFF;
  color: #3c374a;
}
body.leistungen .right .accordion:nth-of-type(3) svg path {
  stroke: #3c374a;
}
body.leistungen .right .accordion:nth-of-type(4) {
  background: #3c374a;
  color: #bbb0ff;
}
body.leistungen .right .accordion:nth-of-type(4) svg path {
  stroke: #bbb0ff;
}
@media (min-width: 821px) {
  body.leistungen .right .accordion:nth-of-type(4) {
    border-radius: 0 0 7.5rem 7.5rem;
  }
}
body.leistungen .right > button {
  margin-top: 60rem;
}
@media (min-width: 821px) {
  body.leistungen .right .hasList ul {
    margin-left: 90rem;
    max-width: 34ch;
  }
}
body.leistungen .refs h2 {
  margin-top: 90rem;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.leistungen .refs h2 {
    margin-top: 0;
    margin-bottom: 30rem;
  }
}
body.leistungen .refs > div {
  margin-bottom: 120rem;
  max-width: 70ch;
}
body.leistungen .refs ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 0.5fr));
  grid-gap: 30rem;
}
@media (min-width: 821px) {
  body.leistungen .refs ul {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 60rem;
  }
}
body.leistungen .refs li {
  margin-bottom: 30rem;
}
body.leistungen .refs li img {
  height: auto;
  width: 90%;
  filter: grayscale(1);
}
body.leistungen .refs li img:hover {
  filter: grayscale(0);
}
@media (min-width: 821px) {
  body.leistungen .refs li img {
    height: 2em;
    width: auto;
  }
}

@media (min-width: 821px) {
  body.publications article {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: auto 320rem;
  }
  body.publications article .intro {
    margin-bottom: 180rem;
  }
}

body.network article .buttons.mob, body.publications article .buttons.mob {
  display: block;
}
body.network article .buttons:not(.mob), body.publications article .buttons:not(.mob) {
  display: none;
}
@media (min-width: 821px) {
  body.network article, body.publications article {
    display: grid;
    grid-gap: 60rem;
    grid-template-columns: auto 320rem;
  }
  body.network article .intro, body.publications article .intro {
    margin-bottom: 180rem;
  }
  body.network article .buttons.mob, body.publications article .buttons.mob {
    display: none;
  }
  body.network article .buttons:not(.mob), body.publications article .buttons:not(.mob) {
    display: flex;
  }
}
body.network article > .buttons, body.publications article > .buttons {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 80rem;
  align-self: start;
}
body.network article > .buttons button, body.publications article > .buttons button {
  margin-top: 30rem;
  margin-left: 0;
}
body.network article > .buttons button:first-of-type, body.publications article > .buttons button:first-of-type {
  margin-top: 0;
}

body.home main {
  overflow-x: hidden;
}
body.home section {
  margin: 90rem 0;
}
@media (min-width: 821px) {
  body.home section {
    margin: 120rem 0;
  }
}
body.home section > h2 {
  margin-bottom: 60rem;
}
body.home section.intro {
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
body.home section.intro figure {
  order: 1;
  margin-bottom: 30rem;
}
body.home section.intro > div {
  order: 2;
}
@media (min-width: 821px) {
  body.home section.intro {
    margin-top: 60rem;
    display: grid;
    justify-content: space-between;
    grid-template-columns: auto 400px;
    grid-gap: 60rem;
  }
  body.home section.intro figure {
    order: unset;
    margin-bottom: 0;
  }
  body.home section.intro > div {
    order: unset;
  }
}
body.home section.intro > div {
  max-width: 70ch;
}
body.home section.intro > div > * {
  margin-bottom: 60rem;
}
body.home section.intro > div > div.cta {
  margin-bottom: 0;
}
body.home section.intro > div > div.cta button, body.home section.intro > div > div.cta a {
  margin-top: 60rem;
  margin-left: 0;
}
body.home section.intro > div > div.cta button:hover, body.home section.intro > div > div.cta a:hover {
  transform: translateY(-10%);
}
body.home section.intro figure {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  position: relative;
}
body.home section.intro figure img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  object-fit: cover;
}
@media (min-width: 821px) {
  body.home section.tiles > div {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 60rem;
  }
}
body.home section.tiles > div a {
  display: block;
}
body.home section.tiles > div a > div {
  height: 100%;
}
body.home section.tiles > div .tacho .button {
  transition: transform 0.25s ease-in;
  visibility: hidden;
}
body.home section.tiles > div .tacho .button:hover {
  transform: translateY(-10%);
}
body.home section.tiles > div .tacho:hover .inner {
  background: #DBFF74;
}
body.home section.tiles > div .tacho:hover .button {
  visibility: visible;
}
body.home section.tiles > div .tile {
  height: 100%;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.home section.tiles > div .tile {
    margin-bottom: 0;
  }
}
body.home section.tiles > div .tile .inner {
  display: block;
  transition: background 0.25s ease-in;
  border-radius: 7.5rem;
  background: #bbb0ff;
  height: 100%;
  padding: 20rem 20rem 50rem 20rem;
}
@media (min-width: 821px) {
  body.home section.tiles > div .tile .inner {
    padding: 30rem 30rem 60rem 30rem;
  }
}
body.home section.tiles > div .tile .inner > div:first-of-type {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.home section.tiles > div .tile .inner > div:first-of-type {
    margin-bottom: 60rem;
  }
}
@supports (-webkit-hyphenate-limit-before: 4) or (hyphenate-limit-chars: 8 4 4) {
  body.home section.tiles > div .tile .inner > div:last-of-type {
    hyphenate-limit-chars: 8 4 4;
    -webkit-hyphenate-limit-before: 4; /* For Safari */
    -webkit-hyphenate-limit-after: 4; /* For Safari */
    -webkit-hyphens: auto;
            hyphens: auto;
  }
}
body.home section.theExpandables > div {
  width: calc(100% + 60rem);
  margin-left: -30rem;
}
@media (min-width: 821px) {
  body.home section.theExpandables > div {
    width: calc(100% + 120rem);
    margin-left: -60rem;
  }
}
body.home section.theExpandables > div:nth-of-type(1) a, body.home section.theExpandables > div:nth-of-type(1) button, body.home section.theExpandables > div:nth-of-type(1) .accordioncontent {
  background: #bbb0ff;
  color: #3c374a;
}
body.home section.theExpandables > div:nth-of-type(2) a, body.home section.theExpandables > div:nth-of-type(2) button, body.home section.theExpandables > div:nth-of-type(2) .accordioncontent {
  background: #7274B0;
  color: #e0e0e0;
}
body.home section.theExpandables > div:nth-of-type(3) a, body.home section.theExpandables > div:nth-of-type(3) button, body.home section.theExpandables > div:nth-of-type(3) .accordioncontent {
  background: #9A8AFF;
  color: #3c374a;
}
body.home section.theExpandables > div:nth-of-type(4) a, body.home section.theExpandables > div:nth-of-type(4) button, body.home section.theExpandables > div:nth-of-type(4) .accordioncontent {
  background: #3c374a;
  color: #bbb0ff;
}
body.home section.theExpandables > div:last-of-type {
  margin-bottom: 0;
}
body.home section.theExpandables > div button {
  display: block;
  transition: background 0.25s ease-in;
  padding: 0;
  background: #7274B0;
  color: #fff;
  width: calc(100% + 120rem);
  margin-left: -60rem;
}
body.home section.theExpandables > div button .text {
  margin-right: 60rem;
}
@media (min-width: 821px) {
  body.home section.theExpandables > div button {
    width: calc(100% + 240rem);
    margin-left: -120rem;
  }
}
body.home section.theExpandables > div button:hover {
  background: #DBFF74;
  color: #201737;
}
body.home section.theExpandables .accordioncontent > div {
  padding: 30rem;
}
@media (min-width: 821px) {
  body.home section.theExpandables .accordioncontent > div {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-gap: 60rem;
    padding: 30rem 90rem 60rem 90rem;
  }
}
body.home section.theExpandables .accordioncontent > div .text {
  padding: 0;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.home section.theExpandables .accordioncontent > div .text {
    margin-bottom: 0;
  }
}
body.home section.theExpandables .accordioncontent > div a {
  justify-self: end;
}
@media (min-width: 821px) {
  body.home section.news .grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 60rem;
  }
}
body.home section.news .grid a {
  display: block;
  height: 100%;
}
body.home section.news .grid a > div {
  height: 100%;
}
body.home section.news .grid a:hover .button {
  background: #201737;
  color: white;
}
body.home section.news .grid .tacho {
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.home section.news .grid .tacho {
    margin-bottom: 0;
  }
}
body.home section.news .grid .tacho:nth-of-type(4n + 1) .atropos-inner > div {
  background: #bbb0ff;
  color: #3c374a;
}
body.home section.news .grid .tacho:nth-of-type(4n + 2) .atropos-inner > div {
  background: #7274B0;
  color: #e0e0e0;
}
body.home section.news .grid .tacho:nth-of-type(4n + 3) .atropos-inner > div {
  background: #9A8AFF;
  color: #3c374a;
}
body.home section.news .grid .tacho:nth-of-type(4n + 4) .atropos-inner > div {
  background: #3c374a;
  color: #bbb0ff;
}
body.home section.news .grid .atropos-inner > div {
  background: #9A8AFF;
  position: relative;
  transition: 0.25s transform ease-in;
  height: 100%;
  padding: 20rem;
}
@media (min-width: 821px) {
  body.home section.news .grid .atropos-inner > div {
    padding: 30rem;
  }
}
body.home section.news .grid .atropos-inner > div > .inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
body.home section.news .grid .atropos-inner > div > .inner > div {
  margin-bottom: 30rem;
}
body.home section.news .grid .atropos-inner > div > .inner .button {
  margin-top: auto;
  align-self: flex-end;
}
body.home section.news .grid .atropos-inner > div > .inner > p:first-of-type {
  letter-spacing: -0.05em;
  margin-bottom: 30rem;
}
@media (min-width: 821px) {
  body.home section.news .grid .atropos-inner > div > .inner > p:first-of-type {
    margin-bottom: 60rem;
  }
}
body.home section.news .grid .atropos-inner > div > .inner > p:nth-of-type(2) {
  margin-bottom: 30rem;
}
body.home section.news .grid .atropos-inner > div.current:after {
  content: "";
  width: 20rem;
  height: 20rem;
  position: absolute;
  top: 20rem;
  right: 20rem;
  background: #DBFF74;
  box-shadow: 0 0 11px #DBFF74;
  border-radius: 100%;
  animation: heartbeat 1.5s ease-in-out infinite both;
}

@keyframes heartbeat {
  from {
    transform: scale(1);
    transform-origin: center center;
    animation-timing-function: ease-out;
  }
  10% {
    transform: scale(0.91);
    animation-timing-function: ease-in;
  }
  17% {
    transform: scale(0.98);
    animation-timing-function: ease-out;
  }
  33% {
    transform: scale(0.87);
    animation-timing-function: ease-in;
  }
  45% {
    transform: scale(1);
    animation-timing-function: ease-out;
  }
}/*# sourceMappingURL=index.css.map */