* {
  --header-height: 65px;
  --padding-side: calc(16vw / 393 * 100);
  
  --wp--preset--spacing--xxxx-large: calc(75vw / 393 * 100);
  
  }
  
A {
  transition: none;
  }  
  
BODY {
  overflow-x: hidden;
  }  
  
#page {
  min-height: 0px;
  margin-bottom: 0;
  overflow: hidden;
  }  
  
MAIN {
  padding-top: calc(150vw / 393 * 100);
  padding-bottom: calc(var(--padding-side)*2);
  }  
  
.editor-styles-wrapper {
  font-size: calc(20vw / 393 * 100);
  line-height: 1.4;
  }  
  
.wp-block-post-content A {
  transition: 0 !important;
  }  
  
.wp-block-post-content P {
  max-width: 100% !important;
  }  
  
.wp-block-post-content > .wp-block-group {
  padding-left: var(--padding-side);
  padding-right: var(--padding-side);
  padding-top: 0;
  padding-bottom: 0;
  }  
  
/* HEADER
------------------------------------------------------------------------- */ 

HEADER {
  height: var(--header-height);
  padding: 19px var(--padding-side);
  position: fixed;
  background: #fff;
  display: flex;
  align-items: center;
  } 
  
HEADER #logo {
  position: static;
  }
  
HEADER #logo {
  display: block;
  position: relative;
  height: auto;
  left: 0;
  top: auto;
  }
  
HEADER #logo IMG {
  height: calc(27vw / 393 * 100);
  width: auto;
  float: left;
  }  
  
#title {
  position: static;
  flex-direction: column;
  align-items: flex-start;
  margin-top: calc(var(--header-height) + calc(55vw / 393 * 100));
  margin-bottom: calc(35vw / 393 * 100);
  padding: 0 var(--padding-side);
  }  
  
#title H3 {
  margin-top: 0;
  }  
  
#title + MAIN {
  padding-top: 0;
  }
  
/* BLOCK HEADING
------------------------------------------------------------------------- */   
  
H1.wp-block-heading {
  font-size: calc(33vw / 393 * 100);
  }
  
H2.wp-block-heading {
  font-size: calc(33vw / 393 * 100);
  }  

H3.wp-block-heading {
  font-size: calc(16vw / 393 * 100);
  line-height: calc(32vw / 393 * 100);
  margin-top: calc(25vw / 393 * 100);
  margin-bottom: calc(25vw / 393 * 100) !important;
  }
  
/* BURGER / MOBILE MENU
------------------------------------------------------------------------- */  

#burger {
  width: var(--header-height);
  height: var(--header-height);
  left: auto;
  right: 0;
  }
  
#burger SPAN {
  width: 39px;
  left: 12px;
  }  

#burger span:nth-child(1) {
  top: 15px;
  }

#burger span:nth-child(2), #burger span:nth-child(3) {
  top: 30px;
  }

#burger span:nth-child(4) {
  top: 45px;
  }

#burger.open span:nth-child(1) {
  top: 20px;
  }  
  
/* MOBILE MENU
------------------------------------------------------------------------- */   
  
#menu {
  left: 0;
  width: 100vw;
  padding-left: var(--padding-side);
  transition: 0.2s;
  }  
  
#menu NAV.main > DIV > UL > LI {
  padding: 0;
  }  
  
#menu NAV.main > DIV > UL > LI > A {
  font-size: calc(33vw / 393 * 100);
  }  
  
#menu NAV.main > DIV > UL > LI > A:before {
  margin-left: calc(33vw / 393 * -100);
  }  
  
#menu NAV.main UL LI:hover > A:after {
  left: calc(34vw / 393 * 100);
  }  
  
#menu NAV.main UL UL {
  float: none;
  clear: both;
  opacity: 1;
  margin-left: calc(100vw / 393 * 100);
  display: none;
  transition: none;
  }
  
#menu NAV.main UL UL LI {
  float: none;
  display: block;
  }
  
#menu NAV.main UL UL LI.mobile {
  display: block;
  }    
  
#menu NAV.main UL UL LI:first-child A { 
  padding-top: calc(20vw / 393 * 100);
  }
  
#menu NAV.main UL UL LI:last-child A { 
  padding-bottom: calc(20vw / 393 * 100);
  }  
  
#menu NAV.main UL UL LI A {
  display: block;
  font-size: calc(16vw / 393 * 100);
  padding: calc(5vw / 393 * 100) 0;
  } 
  
#menu .bottom {
  left: var(--padding-side);
  bottom: var(--padding-side);
  flex-direction: column;
  align-items: flex-start;
  }  
  
#menu .bottom NAV LI {
  float: none;
  }  
  
#menu .bottom NAV A {
  font-size: calc(18vw / 393 * 100);
  }
  
#menu .bottom NAV.legal LI:after {
  display: none;
  }  
  
#menu .bottom .logo {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  height: calc(53vw / 393 * 100);
  overflow: hidden;
  }
  
#menu .bottom .logo svg {  
  width: calc(60vw / 393 * 100);
  }
  
/* HOME
------------------------------------------------------------------------- */    
  
BODY.home #page {
  min-height: 0px;
  }

BODY.home MAIN {
  margin-top: var(--header-height);
  padding-top: 0;
  padding-bottom: 0;
  position: static;
  }
  
BODY.home FOOTER {
  display: block;
  }   
  
BODY.home FOOTER .stripe {
  display: none;
  }  
  
/* HOME SLIDEDECK
------------------------------------------------------------------------- */ 

#slidedeck {
  display: grid;
  grid-auto-flow: row;
  grid-auto-rows: min-content;
  height: auto;
  padding-left: 0;
  padding-right: 0;
  }

#slidedeck .panel {
  display: grid;
  grid-template-rows: auto 1fr;
  grid-template-columns: 1fr;
  overflow: hidden;
  transition: grid-template-rows 0.7s cubic-bezier(.16, 1, .3, 1);
  z-index: 1;
  }

#slidedeck .panel:not(.active) {
  grid-template-rows: auto 0fr;
  }

#slidedeck .panel.active {
  grid-template-rows: auto 1fr;
  z-index: 10;
  }
  
#slidedeck .content {
  position: static;
  overflow: hidden;
  transition: opacity 0.3s ease, transform 0.4s cubic-bezier(.2, 1.2, .4, 1);
  width: 100%;
  padding: 0 var(--padding-side) !important;
  }

#slidedeck .panel:not(.active) .content {
  opacity: 0;
  transform: translateY(12px);
  }

#slidedeck .panel.active .content {
  opacity: 1;
  transform: translateY(0);
  }

/* Labels become horizontal headers */
#slidedeck .label,
#slidedeck .panel.active .label {
  position: relative;
  transform: none;
  white-space: nowrap;
  left: auto;
  top: auto;
  transform: none;
  font-family: "ABC Favorit";
  font-size: calc(33vw / 393 * 100);
  line-height: calc(40vw / 393 * 100);
  height: calc(40vw / 393 * 100);
  padding: 0;
  margin-top: 0 !important;
  }
  
#slidedeck .panel.active .label {
  color: #000;
  }
  
  
#slidedeck .label SPAN {
  left: var(--padding-side);
  }
  
#slidedeck .label:before {
  left: var(--padding-side);
  position: absolute;
  }  
  
#slidedeck .panel .label .hover {
  padding-left: 1.1em;
  }  
  
/* Last slide on top */
#slidedeck .panel {
  order: 1;
  }

#slidedeck .panel:last-child {
  order: 0;
  }
  
#slidedeck #intro .content {
  width: 100%;
  padding: 0;
  margin-top: calc(40vw / 393 * -100);
  }
  
#slidedeck #intro.panel .label {
  display: block;
  opacity: 0;
  }
  
#slidedeck #intro .content {
  padding: 0 !important;
  }
  
#slidedeck #intro .content VIDEO { 
  height: calc(100vh - var(--header-height) - calc(40vw / 393 * 100)*3) !important;
  object-size: 100% auto;
  object-position: center center;
  margin-top: 0;
  }
  
#slidedeck #intro .background .desktop {    
  display: none;
  }  

#slidedeck #intro .background .mobile {    
  display: block;
  }  
  
/* HOME SLIDES
------------------------------------------------------------------------- */      
    
.wp-block-group.home.slide {
  padding-top: calc(54vw / 393 * 100) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: calc(40vw / 393 * 100) !important;
  min-height: 0 !important;
  }
  
.wp-block-group.home.slide .wp-block-columns {
  max-width: 100% !important;
  }
    
.wp-block-group.home.slide .wp-block-image {
  margin-left: 0 !important;
  float: none;
  }
  
/* BLOCK COLUMNS
------------------------------------------------------------------------- */   

.wp-block-group.is-style-default .wp-block-columns {
  gap: calc(20vw / 393 * 100);
  }
  
.wp-block-group.is-style-default .wp-block-columns {
  margin-top: calc(30vw / 393 * 100);
  }  
  
.wp-block-group.is-style-default .wp-block-column {
  order: 2;
  }
  
.programm .wp-block-group.is-style-default .wp-block-column:has(.wp-block-image),
.programm .wp-block-group.is-style-default .wp-block-column:has(.wp-block-lazyblock-slider) {
  order: 1;
  } 
  
/* BLOCK IMAGE
------------------------------------------------------------------------- */     
  
.wp-block-column:first-child .is-style-edge {
  margin-left: 0;
  }
  
/* BLOCK GROUP
------------------------------------------------------------------------- */    
  
.wp-block-group.is-style-grid {
  padding: 0;
  }
  
.wp-block-group.is-style-grid > .wp-block-columns > .wp-block-column.has-darker-background-color,
.wp-block-group.is-style-grid > .wp-block-columns > .wp-block-column.has-violett-background-color {
  order: 2;
  }    

.wp-block-group.is-style-grid > .wp-block-columns > .wp-block-column.has-darker-background-color + .wp-block-column,
.wp-block-group.is-style-grid > .wp-block-columns > .wp-block-column.has-violett-background-color + .wp-block-column {
  order: 1;
  }    
  
.wp-block-group.is-style-grid .wp-block-group {
  padding: 0;
  }
  
.wp-block-group.is-style-grid .wp-block-group.has-violett-background-color {
  padding-right: 0 !important;
  }  
  
.wp-block-group.is-style-grid .wp-block-group.has-dark-background-color, {
  padding: var(--padding-side);
  }  
  
.wp-block-group.is-style-grid .wp-block-group.has-dark-background-color H2.wp-block-heading,
.wp-block-group.is-style-grid .wp-block-group.has-darker-background-color H2.wp-block-heading,
.wp-block-group.is-style-grid .wp-block-group.has-violett-background-color H2.wp-block-heading {  
  margin-bottom: calc(70vw / 393 * 100);
  }
  
.wp-block-group.has-dark-background-color P,
.wp-block-group.has-darker-background-color P,
.wp-block-group.has-violett-background-color P {
  max-width: 100%;
  }  
  
wp-block-group has-dark-background-color  
  
.wp-block-group.is-style-grid .wp-block-group * {  
  max-width: 100%;
  }
  
.wp-block-group.is-style-grid .wp-block-group.has-white-background-color {
  padding: var(--padding-side);
  padding-bottom: calc(25vw / 393 * 100);
  padding-top: 0;
  }
  
.wp-block-group.is-style-grid .wp-block-group.has-white-background-color .wp-block-heading {
  color: var(--red) !important;
  }   
  
.wp-block-group.is-style-grid .wp-block-image {
  margin-bottom: calc(40vw / 393 * 100);
  }
  
.wp-block-group.is-style-grid .wp-block-columns {  
  margin-bottom: 0;
  }
  
.wp-block-group.is-style-grid .wp-block-lazyblock-slider {  
  margin-top: 0;
  margin-bottom: calc(var(--padding-side) * -2);
  } 
  
.wp-block-column.has-darker-background-color,
.wp-block-column.has-violett-background-color {
  padding: calc(20vw / 393 * 100) var(--padding-side);
  padding-top: 0;
  }
  
.wp-block-buttons.is-content-justification-right {
  justify-content: flex-start !important;
  padding-left: 0 !important;
  }  
  
.wp-block-group.has-lighter-background-color {
  padding: var(--padding-side) !important;
  min-height: 0 !important;
  }

.has-darker-background-color .has-lighter-background-color,
.has-violett-background-color .has-lighter-background-color {  
  margin-left: calc(var(--padding-side) * -1);
  margin-right: calc(var(--padding-side) * -1);  
  margin-bottom: calc(25vw / 393 * 100) !important;
  }
  
/* BLOCK COLUMNS
------------------------------------------------------------------------- */    

.wp-block-column.has-background .wp-block-image {
  margin-bottom: 0;
  }
  
.wp-block-column:last-child .wp-block-image,
.wp-block-column:last-child .wp-block-group {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  }  
  
.wp-block-column.inserted {
  margin-left: -5vw !important;
  margin-right: -5vw !important;
  }  
  
/* LAZYBLOCK KÜNSTLER:INNEN
------------------------------------------------------------------------- */   
  
.wp-block-lazyblock-artists #artists {
  display: block;
  }
  
.wp-block-lazyblock-artists #artists .artist {
  margin-bottom: calc(60vw / 393 * 100);
  } 
  
.wp-block-lazyblock-artists #artists .artist:last-child {   
  margin-bottom: 0;
  }
  
.wp-block-lazyblock-artists #artists .artist H2 {
  min-height: 0;
  color: var(--red);
  }  
  
.wp-block-lazyblock-artists #artists .artist FIGURE {
  margin: calc(30vw / 393 * 100) 0;
  }  
  
/* BLOCK BUTTONS
------------------------------------------------------------------------- */   
  
.wp-block-buttons {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  }
  
/* SEITE UNTERSTÜTZER
------------------------------------------------------------------------- */   

#page.unterstuetzer .wp-block-group {
  padding-bottom: 0 !important;
  }
  
#page.unterstuetzer .sponsoren,
#page.unterstuetzer .wp-block-buttons {
  padding-left: var(--padding-side) !important;
  }

#page.unterstuetzer .sponsoren .wp-block-column {
  padding: 20px 0 !important;
  }

#page.unterstuetzer .sponsoren .wp-block-image {
  float: none !important;
  text-align: center;
  width: 100%;
  margin: 0;
  padding: 0 10vw;
  }
  
#page.unterstuetzer .sponsoren .wp-block-image IMG {
  max-height: 33vw;
  max-width: 80% !important;
  width: auto;
  }  
 
/* FOOTER
------------------------------------------------------------------------- */   

FOOTER {
  margin-top: 0 !important;
  position: relative;
  z-index: 1;
  }
  
FOOTER .stripe {
  height: calc(20vw / 393 * 100);
  }  
  
FOOTER .stripe.o30 {
  background: var(--lighter);
  opacity: 1;
  }  
  
FOOTER .stripe.o60 {
  background: var(--light);
  opacity: 1;
  }    
  
FOOTER .left {
  flex-direction: column;
  align-items: flex-start;
  gap: calc(15vw / 393 * 100); 
  }  
  
FOOTER .content {
  padding: 16px;
  }  
  
FOOTER NAV {
  flex-direction: column;
  gap: 0;
  order: 1;
  }  
  
FOOTER NAV A {
  font-size: calc(18vw / 393 * 100);
  } 
  
FOOTER NAV UL {   
  display: flex;
  flex-direction: column;
  }
  
FOOTER NAV UL #menu-item-182 {
  order: 2;
  }  
  
FOOTER NAV UL #menu-item-27 {
  order: 1;
  }    
  
FOOTER ADDRESS,
FOOTER .email {
  padding: 0;
  font-size: calc(14vw / 393 * 100);
  }
  
FOOTER ADDRESS {
  order: 3;
  }
  
FOOTER ADDRESS BR.desktop {
  display: none;
  }  
  
FOOTER .email {
  font-size: calc(16vw / 393 * 100);
  color: var(--darker);
  order: 2;
  }
  
FOOTER .right .logo {
  display: block;
  }  
  
FOOTER .right .logo svg {
  height: calc(42vw / 393 * 100);
  }  
  
BODY.home FOOTER,
BODY.home FOOTER .content {
  background: var(--darker);
  }  
  
BODY.home FOOTER .email {
  color: var(--red);
  }
  
BODY.home FOOTER .email:hover {
  color: #fff;
  }  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
