@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, input, select {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

body {
  line-height: 1;
  color: black;
  background: white;
}

ol, ul {
  list-style: none;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

@font-face {
  font-family: "Playfair Display";
  src: url("../fonts/PlayfairDisplay-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("../fonts/Poppins-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/*******************************************/
/*
/*  Mixins
*/
.shadow-inset {
  box-shadow: inset 0px 1px 4px rgba(0, 0, 0, 0.25);
}

:root {
  --c-copy: #212121;
  --c-corporate: #212121;
  --c-accent: #e30613;
  --c-background: #fef6ef;
  --c-card: #ffebde;
  --c-white: #ffffff;
  --c-whatsapp: #23b33a;
  --c-whatsapp-hover: #1a942b;
  --c-head: var(--c-corporate);
  --ff-copy: "Poppins", sans-serif;
  --ff-display: "Playfair Display", Georgia, serif;
  --ff-head: var(--ff-display);
  --ff-fixed: sans-serif;
  --fs-small: 0.75em;
  --fs-copy: 0.9375rem;
  --fs-large: 1.125rem;
  --fs-hl-small: 1.25rem;
  --fs-hl-medium: 1.625rem;
  --fs-hl-large: 2.625rem;
  --fs-medium: var(--fs-copy);
  --max-width: calc(100vw - 2rem);
  --width-margin: 1rem;
  --max-width-wide: min(1440px, 100vw);
  --max-width-info: min(1160px, calc(100vw - 4rem));
  --article-width: var(--max-width);
  --width-margin-article: calc(50vw - var(--article-width) * 0.5);
  --gap: 0.7rem;
  --m-vert: 4rem;
  --m-vert-slim: 2rem;
  --m-vert-2x: calc(2 * var(--m-vert));
  --gap-025x: calc(0.25 * var(--gap));
  --gap-05x: calc(0.5 * var(--gap));
  --gap-2x: calc(2 * var(--gap));
  --gap-3x: calc(3 * var(--gap));
  --gap-4x: calc(4 * var(--gap));
  --gap-6x: calc(6 * var(--gap));
  --radius: 0.5rem;
  --radius-small: 0.25rem;
  --shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.24);
  --shadow-flat: 0px 4px 4px rgba(0, 0, 0, 0.27);
}
@media (min-width: 1024px) {
  :root {
    --fs-small: 0.8125rem;
    --fs-copy: 1rem;
    --fs-large: 1.1875rem;
    --fs-hl-small: 1.375rem;
    --fs-hl-medium: 1.875rem;
    --fs-hl-large: 3.125rem;
  }
}
@media (min-width: 1280px) {
  :root {
    --fs-small: 0.875rem;
    --fs-copy: 1rem;
    --fs-large: 1.1875rem;
    --fs-hl-small: 1.5rem;
    --fs-hl-medium: 2.125rem;
    --fs-hl-large: 3.5rem;
  }
}
@media (min-width: 1440px) {
  :root {
    --fs-small: 0.875rem;
    --fs-copy: 1.0625rem;
    --fs-large: 1.25rem;
    --fs-hl-small: 1.625rem;
    --fs-hl-medium: 2.4375rem;
    --fs-hl-large: 3.75rem;
  }
}
@media (min-width: 1024px) {
  :root {
    --max-width: 960px;
    --width-margin: calc(50vw - var(--max-width) * 0.5);
  }
}
@media (min-width: 1280px) {
  :root {
    --max-width: 1160px;
  }
}
@media (min-width: 1440px) {
  :root {
    --max-width: 1280px;
  }
}
@media (min-width: 1280px) {
  :root {
    --article-width: 1160px;
  }
}
@media (min-width: 768px) {
  :root {
    --gap: 0.8rem;
  }
}
@media (min-width: 1024px) {
  :root {
    --m-vert: 7.3125rem;
    --m-vert-slim: 5.375rem;
  }
}

div.gap {
  width: var(--gap);
}

div.gap2x {
  width: var(--gap-2x);
}

div.gap4x {
  width: var(--gap-4x);
}

div.m-vert {
  width: var(--m-vert);
}

div.m-vert-slim {
  width: var(--m-vert-slim);
}

div.width-margin {
  width: var(--width-margin);
}

div.article-width {
  width: var(--article-width);
}

.ty b,
.ty strong,
.typography b,
article b,
.content b,
.typography strong,
article strong,
.content strong {
  font-weight: bold;
}
.ty i,
.ty em,
.typography i,
article i,
.content i,
.typography em,
article em,
.content em {
  font-style: italic;
}
.ty blockquote,
.ty pre,
.typography blockquote,
article blockquote,
.content blockquote,
.typography pre,
article pre,
.content pre {
  padding: 1rem 0;
}
.ty .wp-block-quote,
.ty blockquote,
.typography .wp-block-quote,
article .wp-block-quote,
.content .wp-block-quote,
.typography blockquote,
article blockquote,
.content blockquote {
  padding: 0;
  font-size: var(--fs-large);
  margin: var(--gap-2x) 0;
  border: none;
}
.ty .wp-block-quote p:last-child,
.ty blockquote p:last-child,
.typography .wp-block-quote p:last-child,
article .wp-block-quote p:last-child,
.content .wp-block-quote p:last-child,
.typography blockquote p:last-child,
article blockquote p:last-child,
.content blockquote p:last-child {
  margin-bottom: 0;
}
.ty .wp-block-pullquote,
.typography .wp-block-pullquote,
article .wp-block-pullquote,
.content .wp-block-pullquote {
  padding: var(--gap-2x);
  background: var(--c-copy);
  color: white;
  border: none;
  text-align: left;
  font-size: 1em;
}
@media (min-width: 1280px) {
  .ty .wp-block-pullquote,
  .typography .wp-block-pullquote,
  article .wp-block-pullquote,
  .content .wp-block-pullquote {
    transform: translateX(-4em);
    width: 86%;
  }
}
.ty .wp-block-pullquote blockquote,
.typography .wp-block-pullquote blockquote,
article .wp-block-pullquote blockquote,
.content .wp-block-pullquote blockquote {
  font-size: 1em;
  margin: 0;
}
.ty pre,
.typography pre,
article pre,
.content pre {
  font-family: var(--ff-fixed);
  line-height: 1.5;
  background: black;
  color: white;
}
.ty .p,
.typography .p,
article .p,
.content .p {
  font-size: 1em;
}
.ty .p,
.ty dd,
.ty dt,
.ty ul,
.ty ol,
.ty p,
.typography .p,
article .p,
.content .p,
.typography dd,
article dd,
.content dd,
.typography dt,
article dt,
.content dt,
.typography ul,
article ul,
.content ul,
.typography ol,
article ol,
.content ol,
.typography p,
article p,
.content p {
  margin-bottom: 1em;
  line-height: 1.7;
}
.ty .small,
.typography .small,
article .small,
.content .small {
  font-size: 0.75em;
}
.ty .is-style-abstract,
.ty .abstract,
.typography .is-style-abstract,
article .is-style-abstract,
.content .is-style-abstract,
.typography .abstract,
article .abstract,
.content .abstract {
  font-size: var(--fs-large);
}
.ty p:last-child,
.typography p:last-child,
article p:last-child,
.content p:last-child {
  margin-bottom: 0;
}
.ty ul:not(:first-child),
.typography ul:not(:first-child),
article ul:not(:first-child),
.content ul:not(:first-child) {
  margin-top: var(--gap-2x);
}
.ty ul:not(:last-child),
.typography ul:not(:last-child),
article ul:not(:last-child),
.content ul:not(:last-child) {
  margin-bottom: var(--gap-2x);
}
.ty ul li:not([class]),
.ty ul li.wp-block-list-item,
.typography ul li:not([class]),
article ul li:not([class]),
.content ul li:not([class]),
.typography ul li.wp-block-list-item,
article ul li.wp-block-list-item,
.content ul li.wp-block-list-item {
  padding: 0 0 0 1.2em;
  margin-left: 0;
  background: url("../images/Bullet.svg") no-repeat 0 0.4em;
}
.ty ul li:not([class]):not(:first-child),
.ty ul li.wp-block-list-item:not(:first-child),
.typography ul li:not([class]):not(:first-child),
article ul li:not([class]):not(:first-child),
.content ul li:not([class]):not(:first-child),
.typography ul li.wp-block-list-item:not(:first-child),
article ul li.wp-block-list-item:not(:first-child),
.content ul li.wp-block-list-item:not(:first-child) {
  margin-top: 0.3em;
}
.ty ul ul,
.typography ul ul,
article ul ul,
.content ul ul {
  margin-left: 1em;
}
.ty ul li,
.typography ul li,
article ul li,
.content ul li {
  list-style-type: none;
}
.ty ol li,
.typography ol li,
article ol li,
.content ol li {
  list-style-type: decimal;
  margin-left: 1em;
  margin-bottom: 1em;
}
.ty ul,
.ty ol,
.typography ul,
article ul,
.content ul,
.typography ol,
article ol,
.content ol {
  margin: 1em 0;
  line-height: 1.4;
}
.ty caption,
.ty .h1,
.ty h1,
.ty h2,
.ty h3,
.ty h4,
.ty h5,
.typography caption,
article caption,
.content caption,
.typography .h1,
article .h1,
.content .h1,
.typography h1,
article h1,
.content h1,
.typography h2,
article h2,
.content h2,
.typography h3,
article h3,
.content h3,
.typography h4,
article h4,
.content h4,
.typography h5,
article h5,
.content h5 {
  margin-top: 1em;
  margin-bottom: 1em;
  line-height: 1.2;
  font-family: var(--ff-head);
  font-weight: 800;
}
.ty caption a,
.ty .h1 a,
.ty h1 a,
.ty h2 a,
.ty h3 a,
.ty h4 a,
.ty h5 a,
.typography caption a,
article caption a,
.content caption a,
.typography .h1 a,
article .h1 a,
.content .h1 a,
.typography h1 a,
article h1 a,
.content h1 a,
.typography h2 a,
article h2 a,
.content h2 a,
.typography h3 a,
article h3 a,
.content h3 a,
.typography h4 a,
article h4 a,
.content h4 a,
.typography h5 a,
article h5 a,
.content h5 a {
  text-decoration: none;
}
.ty caption:first-child,
.ty .h1:first-child,
.ty h1:first-child,
.ty h2:first-child,
.ty h3:first-child,
.ty h4:first-child,
.ty h5:first-child,
.typography caption:first-child,
article caption:first-child,
.content caption:first-child,
.typography .h1:first-child,
article .h1:first-child,
.content .h1:first-child,
.typography h1:first-child,
article h1:first-child,
.content h1:first-child,
.typography h2:first-child,
article h2:first-child,
.content h2:first-child,
.typography h3:first-child,
article h3:first-child,
.content h3:first-child,
.typography h4:first-child,
article h4:first-child,
.content h4:first-child,
.typography h5:first-child,
article h5:first-child,
.content h5:first-child {
  margin-top: 0;
}
.ty .is-style-h1,
.ty .h1,
.ty h1,
.typography .is-style-h1,
article .is-style-h1,
.content .is-style-h1,
.typography .h1,
article .h1,
.content .h1,
.typography h1,
article h1,
.content h1 {
  font-family: var(--ff-head);
  font-size: var(--fs-hl-large);
  text-transform: uppercase;
  margin-bottom: 0.6em;
}
.ty .is-style-h2,
.ty .h2,
.ty h2,
.typography .is-style-h2,
article .is-style-h2,
.content .is-style-h2,
.typography .h2,
article .h2,
.content .h2,
.typography h2,
article h2,
.content h2 {
  font-family: var(--ff-copy);
  font-weight: 500;
  font-size: var(--fs-hl-medium);
  text-transform: uppercase;
}
.ty caption,
.ty .is-style-h3,
.ty .h3,
.ty h3,
.typography caption,
article caption,
.content caption,
.typography .is-style-h3,
article .is-style-h3,
.content .is-style-h3,
.typography .h3,
article .h3,
.content .h3,
.typography h3,
article h3,
.content h3 {
  font-size: var(--fs-hl-small);
}
.ty caption.copy,
.ty .is-style-h3.copy,
.ty .h3.copy,
.ty h3.copy,
.typography caption.copy,
article caption.copy,
.content caption.copy,
.typography .is-style-h3.copy,
article .is-style-h3.copy,
.content .is-style-h3.copy,
.typography .h3.copy,
article .h3.copy,
.content .h3.copy,
.typography h3.copy,
article h3.copy,
.content h3.copy {
  font-family: var(--ff-copy) !important;
  font-weight: 500 !important;
  font-size: var(--fs-hl-small) !important;
  text-transform: uppercase;
}
.ty .h4,
.ty .h5,
.ty h4,
.ty h5,
.typography .h4,
article .h4,
.content .h4,
.typography .h5,
article .h5,
.content .h5,
.typography h4,
article h4,
.content h4,
.typography h5,
article h5,
.content h5 {
  font-size: 1.2em;
}
.ty h1 + *,
.ty h2 + *,
.ty h3 + *,
.ty .coltop + h1,
.ty .coltop + h2,
.ty .coltop + h3,
.ty .coltop + h4,
.ty .coltop + h5,
.ty a[name=copytop] + h1,
.ty a[name=copytop] + h2,
.ty a[name=copytop] + h3,
.ty a[name=copytop] + h4,
.ty a[name=copytop] + h5,
.typography h1 + *,
article h1 + *,
.content h1 + *,
.typography h2 + *,
article h2 + *,
.content h2 + *,
.typography h3 + *,
article h3 + *,
.content h3 + *,
.typography .coltop + h1,
article .coltop + h1,
.content .coltop + h1,
.typography .coltop + h2,
article .coltop + h2,
.content .coltop + h2,
.typography .coltop + h3,
article .coltop + h3,
.content .coltop + h3,
.typography .coltop + h4,
article .coltop + h4,
.content .coltop + h4,
.typography .coltop + h5,
article .coltop + h5,
.content .coltop + h5,
.typography a[name=copytop] + h1,
article a[name=copytop] + h1,
.content a[name=copytop] + h1,
.typography a[name=copytop] + h2,
article a[name=copytop] + h2,
.content a[name=copytop] + h2,
.typography a[name=copytop] + h3,
article a[name=copytop] + h3,
.content a[name=copytop] + h3,
.typography a[name=copytop] + h4,
article a[name=copytop] + h4,
.content a[name=copytop] + h4,
.typography a[name=copytop] + h5,
article a[name=copytop] + h5,
.content a[name=copytop] + h5 {
  margin-top: 0;
}
.ty a:not([class]),
.typography a:not([class]),
article a:not([class]),
.content a:not([class]) {
  color: var(--c-copy);
  text-decoration: underline;
}
.ty a:not([class]):hover,
.typography a:not([class]):hover,
article a:not([class]):hover,
.content a:not([class]):hover {
  text-decoration: none;
}
.ty .wp-caption p,
.typography .wp-caption p,
article .wp-caption p,
.content .wp-caption p {
  font-size: 0.8em;
  margin: 0.5em 0 1em 0;
}

html {
  zoom: 100%;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
html * {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: var(--ff-copy);
  font-weight: 300;
  font-size: var(--fs-copy);
  -webkit-font-smoothing: antialiased;
  color: var(--c-copy);
  background: var(--c-background);
}
body.scroll-lock {
  overflow: hidden;
}

.wrap {
  width: var(--max-width);
  margin: 0 auto;
  position: relative;
}

#wrapall {
  margin: 0 auto;
}

main#content {
  display: block;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  padding: var(--gap-05x) var(--gap);
  background: var(--c-copy);
  color: var(--c-white);
}
.skip-link:focus {
  left: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

header#header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1999;
  background: linear-gradient(#212121, rgba(33, 33, 33, 0));
  padding: var(--gap) 0 var(--gap-2x) 0;
}
@media (max-width: 767px) {
  header#header {
    position: sticky;
    background: var(--c-copy);
    padding: var(--gap) 0;
  }
}
header#header a {
  text-decoration: none;
  color: var(--c-white);
}
header#header .logo svg {
  display: block;
  height: 3.125rem;
  width: auto;
}
header#header > div {
  width: var(--max-width-wide);
  display: flex;
  justify-content: center;
  align-items: center;
}
header#header nav {
  width: 100%;
}
header#header nav > ul {
  display: flex;
  justify-content: flex-end;
}
header#header nav > ul > li {
  position: relative;
}
header#header nav > ul > li > ul {
  position: absolute;
  left: 0;
  top: 1em;
  display: none;
}
header#header nav > ul > li:hover > ul {
  display: block;
}
header#header #mobile_menu {
  position: fixed;
  background-color: white;
  z-index: 2086;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: var(--gap-3x);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  font-size: 1.4em;
  transform: translateY(-100%);
  transition: transform 800ms;
  overflow: auto;
}
@media (min-width: 768px) {
  header#header #mobile_menu {
    display: none;
  }
}
header#header #mobile_menu.open {
  transition: transform 800ms;
  transform: translateY(0);
}
header#header #mobile_menu > div {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
header#header #mobile_menu > div > div > ul > li, header#header #mobile_menu > div > ul > li {
  margin: 1em 0;
}
header#header #mobile_menu > div > div > ul > li.kontakt, header#header #mobile_menu > div > div > ul > li.contact, header#header #mobile_menu > div > ul > li.kontakt, header#header #mobile_menu > div > ul > li.contact {
  font-weight: bold;
}
header#header #mobile_menu > div .footer {
  font-size: 0.86em;
}
header#header #trigger {
  cursor: pointer;
  position: fixed;
  right: var(--gap);
  top: var(--gap);
  z-index: 2089;
  width: 36px;
  height: 26px;
}
@media (min-width: 768px) {
  header#header #trigger {
    display: none;
  }
}
header#header #trigger > span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: black;
  position: absolute;
  left: 0;
}
header#header #trigger > span.ff1 {
  top: 0;
}
header#header #trigger > span.ff2 {
  top: 50%;
  transform: translateY(-1px);
}
header#header #trigger > span.ff3 {
  bottom: 0;
}
header#header #trigger.open > span.ff1 {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
header#header #trigger.open > span.ff2 {
  opacity: 0;
}
header#header #trigger.open > span.ff3 {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

body.home .logo {
  display: none;
}

.content ._brlbs-switch-consent, .content > .wp-block-columns, .content > .wp-block-file, .content > .wp-block-quote, .content > .wp-block-buttons, .content > .wp-block-buttons, .content > .wrapThis, .content > div.wp-block-group, .content > ul, .content > ol, .content > blockquote, .content > form, .content > p, .content > dd, .content > h1, .content > h2, .content > h3, .content > h4, .content > h5, .content > h6, .content > figure {
  max-width: var(--article-width);
  margin-left: var(--width-margin);
}
.content > h1:first-child {
  margin-top: var(--m-vert);
}
.content:not(:has(.wp-block-ff-hero)):before {
  content: "";
  display: block;
  height: var(--m-vert-slim);
  width: 100%;
  background: var(--c-copy);
}
.content li {
  background: none;
  padding-left: 0;
}
.content .wp-block-video:not(:first-child),
.content .wp-block-columns:not(:first-child) {
  margin-top: var(--m-vert-slim);
}
.content div.has-background {
  padding: var(--gap-2x);
}
.content div.has-background.wp-block-group {
  padding: var(--gap-2x) 0;
}
.content div.has-background.has-df-cream-background-color {
  border: solid 1px var(--c-copy);
}
.content div.has-background.wp-block-group {
  padding: var(--gap-2x);
}

.df-blocks-upload-wrap {
  position: relative;
}
.df-blocks-upload-wrap .df-blocks-upload-button {
  cursor: pointer;
  position: absolute;
  color: white;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0.5em 1.5em;
  border: solid 1px white;
  border-radius: 8px;
}

/*******************************************/
/*
/*  Standard Blocks
*/
.wp-block-file {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  font-size: 1em !important;
  margin-bottom: 1em;
}
.wp-block-file a:not(.wp-block-file__button) {
  color: var(--c-copy);
  text-decoration: none;
}
.wp-block-file .wp-block-file__button {
  margin: 0 1em 0 0;
}

.wp-block-buttons {
  margin-bottom: 1em;
}

.wp-block-image {
  margin-bottom: 0;
  margin-top: 0;
}
.wp-block-image:not(:first-child) {
  margin-top: var(--gap-2x);
}
.wp-block-image:not(:last-child) {
  margin-bottom: var(--gap-2x);
}
.wp-block-image figcaption {
  opacity: 0.8;
  text-align: left;
  font-size: var(--fs-small);
  line-height: 1.2;
  margin: 1em 0 0 0;
}

.wp-block-gallery.wp-block-gallery {
  display: block;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: var(--gap);
       column-gap: var(--gap);
}
@media (min-width: 768px) {
  .wp-block-gallery.wp-block-gallery {
    -moz-column-count: 3;
         column-count: 3;
  }
}
@media (min-width: 1280px) {
  .wp-block-gallery.wp-block-gallery {
    -moz-column-count: 4;
         column-count: 4;
  }
}
.wp-block-gallery.wp-block-gallery .wp-block-image {
  display: block;
  width: 100% !important;
  margin: 0 0 var(--gap) 0 !important;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.wp-block-gallery.wp-block-gallery .wp-block-image img {
  display: block;
  width: 100%;
  height: auto !important;
  border-radius: var(--radius-small);
}

/*******************************************/
/*
/*  Eigene Blöcke
*/
.wp-block-ff-hero {
  position: relative;
  width: 100%;
}
.wp-block-ff-hero img.hero__image {
  display: block;
  width: 100%;
  height: 56vw;
  max-height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .wp-block-ff-hero img.hero__image {
    height: 100vw;
  }
}
.wp-block-ff-hero .hero__placeholder {
  width: 100%;
  height: 40vw;
  min-height: 15rem;
  background: var(--c-card);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-block-ff-hero .hero__subline {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50vw;
}
@media (min-width: 1024px) {
  .wp-block-ff-hero .hero__subline {
    width: 33%;
  }
}
.wp-block-ff-hero .hero__badge {
  position: absolute;
  left: var(--gap-2x);
  bottom: var(--gap-2x);
  max-width: 20vw;
  min-width: 6.25rem;
}

.wp-block-ff-event-slider {
  width: var(--max-width);
  margin: var(--m-vert-slim) auto;
  position: relative;
}
.wp-block-ff-event-slider .swiper {
  overflow: hidden;
  padding: var(--gap) 0 var(--gap-2x) 0;
}
.wp-block-ff-event-slider .swiper-wrapper {
  display: flex;
  align-items: stretch;
}
.wp-block-ff-event-slider .swiper-slide {
  display: block;
  text-decoration: none;
  color: var(--c-copy);
  padding: 0 var(--gap);
  height: auto !important;
}
.wp-block-ff-event-slider .event-card {
  background: var(--c-card);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.wp-block-ff-event-slider .event-card .event-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 680/462;
  -o-object-fit: cover;
     object-fit: cover;
}
.wp-block-ff-event-slider .event-card .event-card__body {
  padding: var(--gap-2x);
  display: flex;
  flex-direction: column;
  flex: 1;
}
.wp-block-ff-event-slider .event-card .event-card__body h3 {
  font-family: var(--ff-display);
  font-weight: 800;
  font-size: var(--fs-hl-small);
  margin: 0 0 0.5em 0;
  text-transform: uppercase;
}
.wp-block-ff-event-slider .event-card .event-card__body h3:has(+ .event-card__date) {
  margin-bottom: 0;
}
.wp-block-ff-event-slider .event-card .event-card__body .event-card__date {
  font-weight: 500;
  margin: 0 0 0.5em 0;
}
.wp-block-ff-event-slider .event-card .event-card__body .event-card__text {
  margin: 0 0 1em 0;
  line-height: 1.6;
}
.wp-block-ff-event-slider .event-card .event-card__body .button {
  margin-top: auto;
  align-self: flex-start;
}
.wp-block-ff-event-slider .swiper-button-prev,
.wp-block-ff-event-slider .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  padding: 0;
  background: none;
  color: inherit;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-block-ff-event-slider .swiper-button-prev svg,
.wp-block-ff-event-slider .swiper-button-next svg {
  width: 1.5rem;
  height: 1.5rem;
}
.wp-block-ff-event-slider .swiper-button-prev.swiper-button-disabled,
.wp-block-ff-event-slider .swiper-button-next.swiper-button-disabled {
  opacity: 0;
}
.wp-block-ff-event-slider .swiper-button-prev {
  left: calc(-2.5 * var(--gap));
}
.wp-block-ff-event-slider .swiper-button-prev svg {
  transform: scaleX(-1) translateX(1px);
}
.wp-block-ff-event-slider .swiper-button-next {
  right: calc(-2.5 * var(--gap));
}
.wp-block-ff-event-slider .swiper-button-next svg {
  transform: translateX(1px);
}
.wp-block-ff-event-slider.is-admin .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.wp-block-ff-event-slider.is-admin .swiper-button-prev,
.wp-block-ff-event-slider.is-admin .swiper-button-next {
  display: none;
}

.wp-block-ff-event-details {
  width: var(--max-width);
  margin: var(--m-vert-slim) auto;
}
.wp-block-ff-event-details .event-details__grid {
  display: grid;
  gap: var(--gap-4x);
}
@media (min-width: 1024px) {
  .wp-block-ff-event-details .event-details__grid {
    grid-template-columns: 3fr 2fr;
  }
}
.wp-block-ff-event-details .event-details__tickets {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2x);
  align-items: flex-start;
}
.wp-block-ff-event-details .event-details__tickets .ticket {
  display: flex;
  flex-direction: column;
  gap: var(--gap-05x);
}
.wp-block-ff-event-details .event-details__tickets .ticket h4 {
  margin: 0;
  font-family: var(--ff-copy);
  font-weight: 500;
  text-transform: uppercase;
}
.wp-block-ff-event-details .event-details__lounges {
  margin-top: var(--m-vert-slim);
  scroll-margin-top: 6.25rem;
}
.wp-block-ff-event-details .event-details__floormap {
  display: block;
  margin-bottom: var(--gap-2x);
}
.wp-block-ff-event-details .event-details__floormap img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
}

.wp-block-ff-lounges {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
}

.wp-block-ff-event-details .lounges-grid,
.wp-block-ff-lounges .lounges-grid {
  display: grid;
  gap: 1em;
}
@media (min-width: 375px) {
  .wp-block-ff-event-details .lounges-grid,
  .wp-block-ff-lounges .lounges-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.wp-block-ff-event-details .lounge,
.wp-block-ff-lounges .lounge {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.wp-block-ff-event-details .lounge.lounge_not_available,
.wp-block-ff-lounges .lounge.lounge_not_available {
  pointer-events: none;
  opacity: 0.5;
}
.wp-block-ff-event-details .lounge > span,
.wp-block-ff-lounges .lounge > span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}
.wp-block-ff-event-details .lounge > span > span:not(.button),
.wp-block-ff-lounges .lounge > span > span:not(.button) {
  color: var(--c-white);
  display: flex;
  justify-content: space-between;
  font-weight: bold;
  width: 100%;
}
.wp-block-ff-event-details .lounge > span > span:not(.button):not(.button),
.wp-block-ff-lounges .lounge > span > span:not(.button):not(.button) {
  padding: 1em;
}
.wp-block-ff-event-details .lounge > span > span:not(.button) .nr,
.wp-block-ff-lounges .lounge > span > span:not(.button) .nr {
  font-weight: bold;
  font-size: 1.3em;
}
.wp-block-ff-event-details .lounge > span .button,
.wp-block-ff-lounges .lounge > span .button {
  width: calc(100% - 2em);
  margin: 0 1em 1em 1em;
  background: var(--c-white);
  color: var(--c-copy);
  border-color: var(--c-white);
}
.wp-block-ff-event-details .lounge > span .button.is-disabled,
.wp-block-ff-lounges .lounge > span .button.is-disabled {
  background: transparent;
  color: var(--c-white);
  opacity: 1;
}

.wp-block-ff-strahlen {
  position: relative;
  padding: var(--m-vert-slim) var(--width-margin);
}
.wp-block-ff-strahlen .strahlen__signet {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.wp-block-ff-strahlen .strahlen__signet svg {
  display: block;
  width: 12.25rem;
  height: auto;
}
@media (min-width: 1024px) {
  .wp-block-ff-strahlen .strahlen__signet svg {
    width: 17.5rem;
  }
}
.wp-block-ff-strahlen .strahlen__content {
  position: relative;
  max-width: 45rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.wp-block-ff-strahlen .strahlen__content h1,
.wp-block-ff-strahlen .strahlen__content h2 {
  font-family: var(--ff-display);
  font-weight: 800;
  text-transform: uppercase;
}

.wp-block-ff-intro {
  position: relative;
  padding: var(--m-vert-slim) var(--width-margin);
}
.wp-block-ff-intro .intro__signet {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.wp-block-ff-intro .intro__signet svg {
  display: block;
  width: 13.75rem;
  height: auto;
}
@media (min-width: 1024px) {
  .wp-block-ff-intro .intro__signet svg {
    width: 20rem;
  }
}
.wp-block-ff-intro .intro__content {
  position: relative;
  max-width: 45rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.wp-block-ff-intro .intro__content h1,
.wp-block-ff-intro .intro__content h2 {
  font-family: var(--ff-display);
  font-weight: 800;
  text-transform: uppercase;
}

article {
  clear: both;
  margin: 0 auto;
}
article figure {
  margin: 0;
}

table {
  width: 100%;
  background: white;
}

td, th {
  border-top: solid 1px #dddddd;
  border-left: solid 1px #dddddd;
  padding: 0.5em 0.7em;
}

th {
  background: #474747;
  color: white;
  font-family: var(--ff-head);
}

th:first-child,
td:first-child {
  border-left: none;
}

tbody tr:nth-child(odd) td {
  background-color: #eeeeee;
}

.error404 form p,
.search form p,
.block-editor-block-list__block form p,
.home form p,
.post form p,
.page form p {
  margin: 0;
}
.error404 label,
.search label,
.block-editor-block-list__block label,
.home label,
.post label,
.page label {
  display: inline-block;
}
.error404 textarea,
.error404 input[type=email],
.error404 input[type=search],
.error404 input[type=text],
.search textarea,
.search input[type=email],
.search input[type=search],
.search input[type=text],
.block-editor-block-list__block textarea,
.block-editor-block-list__block input[type=email],
.block-editor-block-list__block input[type=search],
.block-editor-block-list__block input[type=text],
.home textarea,
.home input[type=email],
.home input[type=search],
.home input[type=text],
.post textarea,
.post input[type=email],
.post input[type=search],
.post input[type=text],
.page textarea,
.page input[type=email],
.page input[type=search],
.page input[type=text] {
  font-family: var(--ff-copy);
  padding: 0.8em;
  background: grey;
  margin: 0;
  width: 100%;
  border: none;
  font-size: 1em;
  border-radius: var(--radius-small);
}
.error404 input[type=checkbox],
.error404 input[type=radio],
.error404 input[type=submit],
.error404 input[type=button],
.error404 select,
.search input[type=checkbox],
.search input[type=radio],
.search input[type=submit],
.search input[type=button],
.search select,
.block-editor-block-list__block input[type=checkbox],
.block-editor-block-list__block input[type=radio],
.block-editor-block-list__block input[type=submit],
.block-editor-block-list__block input[type=button],
.block-editor-block-list__block select,
.home input[type=checkbox],
.home input[type=radio],
.home input[type=submit],
.home input[type=button],
.home select,
.post input[type=checkbox],
.post input[type=radio],
.post input[type=submit],
.post input[type=button],
.post select,
.page input[type=checkbox],
.page input[type=radio],
.page input[type=submit],
.page input[type=button],
.page select {
  cursor: pointer;
}
.error404 .gform_wrapper,
.search .gform_wrapper,
.block-editor-block-list__block .gform_wrapper,
.home .gform_wrapper,
.post .gform_wrapper,
.page .gform_wrapper {
  margin-bottom: var(--m-vert);
}
.error404 .gform_wrapper .gform_fields,
.search .gform_wrapper .gform_fields,
.block-editor-block-list__block .gform_wrapper .gform_fields,
.home .gform_wrapper .gform_fields,
.post .gform_wrapper .gform_fields,
.page .gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: var(--gap);
}
.error404 .gform_wrapper .gform_fields > *,
.search .gform_wrapper .gform_fields > *,
.block-editor-block-list__block .gform_wrapper .gform_fields > *,
.home .gform_wrapper .gform_fields > *,
.post .gform_wrapper .gform_fields > *,
.page .gform_wrapper .gform_fields > * {
  grid-column: span 6;
}
.error404 .gform_wrapper .gform_fields .gfield--width-half,
.search .gform_wrapper .gform_fields .gfield--width-half,
.block-editor-block-list__block .gform_wrapper .gform_fields .gfield--width-half,
.home .gform_wrapper .gform_fields .gfield--width-half,
.post .gform_wrapper .gform_fields .gfield--width-half,
.page .gform_wrapper .gform_fields .gfield--width-half {
  grid-column: span 3;
}
.error404 .gform_wrapper .gform_fields .gfield--width-third,
.search .gform_wrapper .gform_fields .gfield--width-third,
.block-editor-block-list__block .gform_wrapper .gform_fields .gfield--width-third,
.home .gform_wrapper .gform_fields .gfield--width-third,
.post .gform_wrapper .gform_fields .gfield--width-third,
.page .gform_wrapper .gform_fields .gfield--width-third {
  grid-column: span 2;
}
.error404 .gform_wrapper .ginput_container,
.search .gform_wrapper .ginput_container,
.block-editor-block-list__block .gform_wrapper .ginput_container,
.home .gform_wrapper .ginput_container,
.post .gform_wrapper .ginput_container,
.page .gform_wrapper .ginput_container {
  margin: 0;
}
.error404 .gform_wrapper .gfield_label,
.search .gform_wrapper .gfield_label,
.block-editor-block-list__block .gform_wrapper .gfield_label,
.home .gform_wrapper .gfield_label,
.post .gform_wrapper .gfield_label,
.page .gform_wrapper .gfield_label {
  margin: 0.5em 0;
}
.error404 .gform_wrapper .gform_fields .gfield,
.search .gform_wrapper .gform_fields .gfield,
.block-editor-block-list__block .gform_wrapper .gform_fields .gfield,
.home .gform_wrapper .gform_fields .gfield,
.post .gform_wrapper .gform_fields .gfield,
.page .gform_wrapper .gform_fields .gfield {
  margin: 0 0 1em;
}
.error404 .gform_wrapper .hidden_label label,
.search .gform_wrapper .hidden_label label,
.block-editor-block-list__block .gform_wrapper .hidden_label label,
.home .gform_wrapper .hidden_label label,
.post .gform_wrapper .hidden_label label,
.page .gform_wrapper .hidden_label label {
  display: none;
}
.error404 .gform_wrapper .hidden_label input,
.search .gform_wrapper .hidden_label input,
.block-editor-block-list__block .gform_wrapper .hidden_label input,
.home .gform_wrapper .hidden_label input,
.post .gform_wrapper .hidden_label input,
.page .gform_wrapper .hidden_label input {
  margin-top: 0;
}

a.button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-copy);
  font-weight: 500;
  font-size: 1em;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  padding: 0.64em 1.6em;
  background: transparent;
  color: var(--c-copy);
  text-decoration: none;
  border: solid 1px var(--c-copy);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
a.button svg,
.button svg {
  margin-right: 0.5em;
}
a.button:hover,
.button:hover {
  background: var(--c-copy);
  color: var(--c-white);
}
a.button--solid,
.button--solid {
  background: var(--c-copy);
  color: var(--c-white);
}
a.button--solid:hover,
.button--solid:hover {
  background: transparent;
  color: var(--c-copy);
}
a.button--whatsapp,
.button--whatsapp {
  background: var(--c-whatsapp);
  color: var(--c-white);
  border-color: var(--c-whatsapp);
}
a.button--whatsapp:hover,
.button--whatsapp:hover {
  background: var(--c-whatsapp-hover);
  border-color: var(--c-whatsapp-hover);
  color: var(--c-white);
}
a.button.is-disabled,
.button.is-disabled {
  pointer-events: none;
  opacity: 0.5;
}

.is-style-whatsapp a {
  background: var(--c-whatsapp);
  color: var(--c-white);
  border-color: var(--c-whatsapp);
}
.is-style-whatsapp a:hover {
  background: var(--c-whatsapp-hover);
  border-color: var(--c-whatsapp-hover);
  color: var(--c-white);
}

.upload {
  position: relative;
}
.upload button {
  position: absolute;
  top: 2em;
  right: 2em;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  padding: 0.5em 1em;
  border: solid 1px white;
  cursor: pointer;
}
.upload button:hover {
  background: var(--c-copy);
}

.is-soldout {
  position: relative;
  overflow: hidden;
}
.is-soldout::after {
  content: "Ausgebucht";
  position: absolute;
  top: 1.4em;
  right: -3em;
  transform: rotate(25deg);
  background: var(--c-accent);
  color: var(--c-white);
  font-family: var(--ff-copy);
  font-weight: 600;
  font-size: 0.625rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 0.4em 4em;
  pointer-events: none;
  z-index: 2;
}

/*
/* Formate
*/
article.format-video iframe {
  max-width: 100%;
}

.credits {
  color: var(--c-copy);
}
.credits p {
  font-size: 1em;
  margin: 0;
  float: left;
  margin: 0 20px 0 0;
}
.credits a {
  text-decoration: none;
}
.credits ul {
  font-size: 1em;
  float: left;
  margin: 0 20px 0 0;
}
.credits ul li {
  float: left;
  background: none;
  padding: 0;
  margin: 0;
}
.credits ul li:after {
  content: ", ";
}
.credits ul li:first-child, .credits ul li:last-child {
  content: "";
}
.credits ul li:first-child:after, .credits ul li:last-child:after {
  content: "";
}

.event-gallery {
  max-width: var(--max-width);
  margin: var(--m-vert) auto;
  padding: 0 0.625rem;
  -moz-columns: 5;
       columns: 5;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}
@media (max-width: 1179px) {
  .event-gallery {
    -moz-columns: 3;
         columns: 3;
  }
}
@media (max-width: 767px) {
  .event-gallery {
    -moz-columns: 2;
         columns: 2;
  }
}
.event-gallery__item {
  display: block;
  margin-bottom: 0.625rem;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.event-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
}

@media (min-width: 550px) {
  .f-left,
  .alignleft {
    float: left;
  }
}

@media (min-width: 550px) {
  .f-right,
  .alignright {
    float: right;
  }
}

.aligncenter,
.alignright,
.alignleft {
  display: block;
  margin: 0 auto;
}
@media (min-width: 550px) {
  .aligncenter,
  .alignright,
  .alignleft {
    display: inline;
    margin: 0 10px 10px 0;
  }
}

@media (min-width: 550px) {
  .alignright {
    display: inline;
    margin: 0 0 10px 10px;
  }
}

.a-left,
.text-left {
  text-align: left;
}

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

#searchform {
  display: flex;
}
#searchform input {
  flex-grow: 1;
}
#searchform button {
  flex-shrink: 0;
}

footer {
  margin-top: var(--m-vert);
}
footer #map {
  position: relative;
  height: 32.0625rem;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer #map .map__marker {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translate(-50%, -100%);
  width: 3rem;
}
footer #map .map__card {
  background: var(--c-card);
  border-radius: var(--radius);
  box-shadow: var(--shadow-flat);
  padding: var(--gap-2x) var(--gap-3x);
  text-align: center;
  line-height: 1.6;
  transform: translateY(60%);
}
footer #sponsors {
  background: var(--c-copy);
  padding: var(--m-vert-slim) 0;
}
footer #sponsors .sponsors {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  animation-timing-function: linear !important;
}
footer #sponsors .sponsors .sponsors__list {
  display: flex;
  align-items: stretch !important;
  animation-timing-function: linear !important;
  transition-timing-function: linear !important;
}
footer #sponsors .sponsors .sponsors__item {
  height: auto !important;
}
@media (min-width: 1024px) {
  footer #sponsors .sponsors {
    width: var(--max-width);
  }
  footer #sponsors .sponsors .sponsors__list {
    display: flex;
    align-items: stretch !important;
    justify-content: space-between;
    gap: var(--gap-4x);
    transform: none !important;
  }
  footer #sponsors .sponsors .sponsors__item {
    width: auto;
    height: auto !important;
  }
}
footer #sponsors .sponsors__item {
  display: flex;
  align-items: center;
  justify-content: center;
}
footer #sponsors .sponsors__item img {
  max-width: 12.5rem;
  max-height: 7.5rem;
  width: auto;
  height: auto;
}
footer #info {
  background: var(--c-card);
  padding: var(--m-vert) 0 var(--m-vert-slim) 0;
}
footer #info .info__grid {
  width: var(--max-width-info);
  margin: 0 auto;
  display: grid;
  gap: var(--gap-4x);
}
@media (min-width: 1024px) {
  footer #info .info__grid {
    grid-template-columns: 2fr 1fr 1fr;
  }
}
footer #info .info__grid h2 {
  font-family: var(--ff-display);
  font-weight: 800;
  text-transform: uppercase;
}
footer #info .info__socials {
  display: flex;
  gap: var(--gap);
  align-items: flex-start;
}
footer #info .info__socials a {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
}
footer #info .info__socials a img {
  width: 100%;
  height: 100%;
}
footer #info .info__contact {
  text-transform: uppercase;
}
footer #info nav#footer {
  width: var(--max-width-info);
  margin: var(--m-vert-slim) auto 0 auto;
}
footer #info nav#footer ul {
  display: flex;
  gap: var(--gap-2x);
}
footer #info nav#footer ul a {
  color: var(--c-copy);
  text-decoration: none;
}
footer #info nav#footer ul a:hover {
  text-decoration: underline;
}

.hidemove {
  position: absolute;
  left: -9999px;
  top: 0;
  height: 1px;
}

.pr {
  position: relative;
}
.pr.pa1 {
  width: 100%;
  padding-bottom: 100%;
}
.pr.pa1.wide {
  padding-bottom: 56%;
}

.pa {
  position: absolute;
}
.pa.l0 {
  left: 0;
}
.pa.t0 {
  top: 0;
}
.pa.r0 {
  right: 0;
}
.pa.b0 {
  bottom: 0;
}

.pa1 {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.pa1.of {
  -o-object-fit: cover;
     object-fit: cover;
}

.fxc {
  display: flex;
  justify-content: center;
  align-items: center;
}

.fxsb {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fxsb.afs {
  align-items: flex-start;
}
.fxsb.afe {
  align-items: flex-end;
}

.txc {
  text-align: center;
}

.hideMove {
  position: fixed;
  top: -5000px;
}

.clear {
  clear: both;
}

.printonly {
  display: none;
}

.wp-caption,
img {
  max-width: 100%;
  height: auto;
}

.text-center {
  text-align: center;
}

.blur-50 {
  filter: url("#sharpBlur");
}

.hideSvgSoThatItSupportsFirefox {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

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