/* LAYOUT
---------------------------------------------------------------------------- */

* {
  --font-size-small: calc(11vw / 375 * 100);
  --font-size-default: calc(16vw / 375 * 100);
  --plyr-font-size-time: calc(16vw / 375 * 100);
  }

HTML {
  background: var(--blue);
  }  
  
BODY.menu MAIN {
  display: none;
  }

.is-root-container {
  padding: 0 20px 20px 20px;
  margin-bottom: 0;
  background: #fff;
  }
  
.is-root-container:before {
  left: 0;
  right: 0;
  }  
  
.is-root-container A { 
  transition: none;
  }  
  
.is-root-container P {
  font-size: var(--font-size-default);
  }  
  
.container {
  padding: 0 0px;
  }  
  
/* LAYOUT
---------------------------------------------------------------------------- */    

MAIN {
  padding-top: 20px;
  }
  
/* HEADLINES
---------------------------------------------------------------------------- */    
  
H2.wp-block-heading {
  font-size: 8vw;  
  }  
  
H3.wp-block-heading, 
.wp-block-group.head, 
.wp-block-group.head *, 
.wp-block-post-title,
.wp-block-group.head .wp-block-post-title  {
  font-size: 6.4vw;
  }  
  
H3.wp-block-heading:first-child,
.wp-block-lazyblock-breadcrumbs + H3.wp-block-heading {
  margin-top: 0px;
  }  
  
H3.wp-block-heading BR {
  display: none;
  }  
  
/* HEADER
---------------------------------------------------------------------------- */  
  
HEADER {
  padding: 20px;
  position: relative;
  width: auto;
  margin-left: -20px;
  margin-right: -20px;
  }  
  
HEADER #logo {
  font-size: 27.499vw;
  }  
  
HEADER #logo A {
  position: relative;
  }  
  
HEADER #logo I {  
  float: left;
  }
  
HEADER #search {
  position: absolute;
  height: 60px;
  width: 40px;
  text-align: center;
  line-height: 60px;
  top: 0;
  right: 50px;
  font-size: 18px;
  opacity: 0;
  transition: opacity 0.2s;
  } 
  
HEADER #search:hover {   
  color: #fff;
  }

BODY.menu HEADER #search {
  opacity: 1;
  }  
  
HEADER .wp-block-columns {
  flex-direction: column;
  gap: 10vw;
  margin-bottom: 0;
  }  
  
HEADER #nav {
  display: none;
  }  
  
HEADER NAV {
  margin: 0;
  } 
  
HEADER NAV > DIV > UL {
  transition: 0.2s;
  }  
  
HEADER NAV > DIV > UL:has(.hover){
  transform: translate(-100vw);
  }
  
HEADER NAV > DIV > UL > LI {
  float: none;
  display: block;
  }  
  
HEADER NAV > DIV > UL > LI.hover > A {
  display: block;
  position: absolute;
  top: 0;
  left: 100vw;
  width: calc(100vw - 40px) !important;
  }  
  
HEADER NAV > DIV > UL > LI.hover > A:before {
  font-family: icomoon;
  content: "\e905";
  font-size: 20px;
  display: block;
  transform: scale(-1);
  position: absolute;
  top: 0px;
  right: 0;
  }  
  
HEADER NAV > DIV > UL > LI > A {
  font-size: 8vw;
  font-weight: normal !important;
  width: auto !important;
  text-align: left;
  padding: 4vw 0;
  }  
  
HEADER NAV > DIV > UL > LI > UL {
  column-count: 1;
  position: absolute;
  top: 100px;
  left: 100vw;
  right: auto;
  padding: 0;
  margin: 0;
  width: 100vw;
  max-width: 100%;
  width: 0;
  background: var(--blue);
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.2s;
  }  
  
HEADER NAV > DIV > UL > LI.hover > UL {
  height: auto;
  width: 100vw;
  overflow: visible;
  opacity: 1;
  }  
  
HEADER NAV > DIV > UL > LI > UL > LI {
  width: 100%;
  }  
  
HEADER NAV > DIV > UL > LI > UL > LI > A {
  margin-bottom: 0em;
  }  
  
HEADER NAV UL UL UL LI:last-child {
  padding-bottom: 2em;
  }  
  
HEADER NAV UL UL LI A {
  font-size: 4.1025641025641vw;
  font-size: 4.3vw;
  } 
  
BODY.menu HEADER {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  }
  
BODY.menu HEADER .container {  
  position: absolute;
  padding: 20px;
  width: 100vw;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  }
  
BODY.menu HEADER #nav {
  display: block;
  }  
  
BODY.menu FOOTER {
  position: fixed;
  z-index: 11;
  bottom: 0;
  background: none;
  transition: transform 0.2s;
  }  
  
BODY.menu FOOTER #lauterach {
  display: none;
  }
  
BODY.menu #info .col:last-child {
  display: none;
  }
  
BODY.menu .is-root-container:has(.hover) ~ FOOTER {
  transform: translateX(-100vw);
  }  
  
/* MOBILE MENU
------------------------------------------------------------ */   
  
#burger {
  z-index: 100; 
  width: 60px; 
  height: 60px;
  transform: rotate(0deg);
  transition: .5s ease-in-out;
  transition: position 0s;
  cursor: pointer;
  position: absolute;
  z-index: 3;
  top: 0px;
  right: 0px;
  }

#burger SPAN {
  display: block;
  position: absolute;
  width: 36px;
  height: 4px;
  background: var(--blue);
  opacity: 1;
  right: 20px;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
  }

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

#burger span:nth-child(2) {
  top: 32px;
  }
  
#burger span:nth-child(3) {
  top: 43px;
  }
  
BODY.menu #burger SPAN {  
  height: 2px;
  width: 20px;
  }

BODY.menu #burger span:nth-child(1) {
  transform: rotate(45deg);
  transform-origin: 50% 50%;
  top: 27px;
  }

BODY.menu #burger span:nth-child(2) {
  transform: rotate(-45deg);
  transform-origin: 50% 50%;
  top: 27px;
  }

BODY.menu #burger span:nth-child(3) {
  opacity: 0;
  }  
  
BODY.menu #burger SPAN {
  background: #fff;
  }  
  
/* MAIN
---------------------------------------------------------------------------- */  
  
.breadcrumbs {
  display: none;
  }
  
.suchbereich {
  margin-top: 1.5em;
  }  
  
/* SUCHE
---------------------------------------------------------------------------- */   

.search .results-count {
  font-size: 12px;
  } 

#page-suche MAIN > .wp-block-columns > .wp-block-column:first-child {
  order: 2;
  }
  
#page-suche MAIN > .wp-block-columns > .wp-block-column:last-child {
  order: 1;
  }  
  
BODY.search-results .wp-block-search {
  margin-bottom: 0;
  }
  
BODY.search-results .wp-block-lazyblock-related {
  display: none;
  } 
  
BODY.search-results H2 {
  display: none;
  }
  
/* BLOCK COLUMNS
---------------------------------------------------------------------------- */   

.wp-block-column {
  display: flex;
  flex-direction: column;
  }
  
.wp-block-column:first-child:empty {
  display: none;
  }  
  
BODY:not(.home) .wp-block-column H2:first-child {  
  order: 1;
  }

BODY:not(.home) .wp-block-column H2:first-child + .wp-block-image,
BODY:not(.home) .wp-block-column H2:first-child + .wp-block-slider {    
  order: 0;
  }
  
BODY:not(.home) .wp-block-column H2:first-child + .wp-block-image ~ *,
BODY:not(.home) .wp-block-column H2:first-child + .wp-block-slider ~ *,
BODY:not(.home) .wp-block-column H2:first-child ~ * {    
  order: 2;
  } 
  
.wp-block-columns:first-child .wp-block-column:first-child {
  padding-top: 0 !important;
  }

.wp-block-column:has(.breadcrumbs){
  order: 2;
  }  
  
.wp-block-column:has(.breadcrumbs) + .wp-block-column {  
  order: 1;
  }
  
.wp-block-post-content > .wp-block-columns:last-child .wp-block-column:first-child {
  padding-bottom: 20px;
  }
  
/* BLOCK LIST
---------------------------------------------------------------------------- */   
  
UL.wp-block-list LI {
  padding-left: 4vw;
  }
  
/* BLOCK QUOTE
---------------------------------------------------------------------------- */    
  
.wp-block-quote {
  margin-bottom: 1.5em !important;
  }  
  
.wp-block-quote P {
  font-size: 5.8vw !important;
  hyphens: auto;
  }
  
/* BLOCK IMAGE
---------------------------------------------------------------------------- */    

FIGCAPTION {
  font-size: var(--font-size-small) !important;
  padding: 7px 20px !important;
  }
  
.wp-block-gallery.has-nested-images figure.wp-block-image FIGCAPTION {
  padding-top: 7px !important;
  }  
  
.wp-block-image {
  margin-left: -20px;
  margin-right: -20px;
  }
  
/* BLOCK MEDIA TEXT
---------------------------------------------------------------------------- */    

.wp-block-media-text {
  padding: 20px 0;
  }
  
.wp-block-media-text > .wp-block-media-text__content {
  padding: 15px 0 0 0 !important;
  }  
  
.wp-block-media-text__media IMG {
  margin-bottom: 0;
  }  
  
/* BLOCK GALLERY
---------------------------------------------------------------------------- */   
  
.wp-block-gallery.has-nested-images FIGURE {
  width: 100% !important;
  }  
  
/* BLOCK IFRAME
---------------------------------------------------------------------------- */      
  
IFRAME {
  margin-left: -20px;
  margin-right: -20px;
  width: 100vw;
  height: 100vw;
  margin-bottom: 1.5em;
  }  
  
/* LAZYBLOCK DOWNLOAD
---------------------------------------------------------------------------- */   
  
.wp-block-file A {
  padding-left: 26px;
  }
  
.wp-block-file A I.icon-download {
  line-height: 1.4;
  }  
  
.wp-block-file .meta,
.wp-block-file .date,
.wp-block-file .tags SPAN {
  font-size: var(--font-size-small) !important;
  }  

.wp-block-file .tags {  
  margin-bottom: 0.75vw;  
  }
  
.wp-block-file .tags SPAN {
  padding: 0 1.8vw;
  padding-bottom: 0.3vw;
  } 
  
/* LAZYBLOCK EVENTS
---------------------------------------------------------------------------- */   
  
.wp-block-lazyblock-events FIGURE {
  margin-top: 1vw;
  }
  
/* BLOCK ACCORDION
---------------------------------------------------------------------------- */  
  
.wp-block-getwid-accordion {
  margin-bottom: 2em;
  font-size: calc(10vw / 375 * 100);
  }

.wp-block-getwid-accordion .wp-block-getwid-accordion__header {
  font-size: 18px;
  }  
  
.wp-block-getwid-accordion__content {
  padding-top: 10px !important;
  } 
  
.wp-block-getwid-accordion__content P:empty {   
  display: none !important;
  }
  
.wp-block-getwid-accordion__icon I:before {
  font-size: 12px;
  }  
  
.accordion-head:not(.empty):after {
  font-size: 12px;
  }  
  
.ui-accordion-header .right H3 {
  font-size: var(--font-size-default);
  }  
  
.ui-accordion-header .right .excerpt {
  font-size: 12px;
  line-height: 1.25;
  } 
  
.ui-accordion-header .bottom {
  font-size: 12px;
  }
  
.ui-accordion-header .item {
  gap: 20px;
  }  

.ui-accordion-header .item .text .top {
  padding-right: 0;
  margin-bottom: 1em;
  }
  
/* LAZYBLOCK VERWANDTE THEMEN
---------------------------------------------------------------------------- */   
  
.wp-block-lazyblock-related {
  font-size: var(--font-size-default);
  margin-top: 30px;
  margin-bottom: 10px;
  position: static !important;
  }
  
.wp-block-lazyblock-related UL {
  margin-top: 8px;
  }  
  
.wp-block-lazyblock-related UL LI A {
  padding: 8px 0;
  }  
  
.wp-block-lazyblock-related UL LI A:after {
  font-size: calc(14vw / 375 * 100);
  line-height: 6vw;
  }  
  
/* SLICK SLIDER
---------------------------------------------------------------------------- */  

.wp-block-getwid-images-slider {
  margin-bottom: 1em;
  }

.slick-slider {
  margin-left: -20px;
  margin-right: -20px;
  }
  
/* LAZYBLOCK FILTER + SEARCH
---------------------------------------------------------------------------- */   
  
.wp-block-lazyblock-filter SELECT {
  background-size: auto 8px;
  height: 42px;
  }
  
.wp-block-search {
  margin-bottom: 30px;
  }  
  
.wp-block-search INPUT {
  height: 42px;
  }
  
.wp-block-column:last-child .wp-block-lazyblock-filter {
  margin-top: 30px;
  }
  
.wp-block-column:last-child .wp-block-search {
  margin-bottom: 0;
  }  
  
.wp-block-column:last-child .wp-block-search INPUT {
  font-size: var(--font-size-default);
  height: 42px;
  }
  
.wp-block-column:last-child .wp-block-search .wp-element-button:after {
  font-size: var(--font-size-default);
  }  
  
/* LAZYBLOCK NEWS
---------------------------------------------------------------------------- */   
  
#news .grid {
  display: block;
  }
  
#news .post {
  margin-top: 10px;
  }
  
#news .slick-slide.post {
  margin-top: 0;
  }    

#news .post .date {
  font-size: 14px;
  }  
  
#news .post .text {
  padding: 20px;
  font-size: 22px;
  }
  
#news .post .title {
  font-size: 18px;
  }
  
#news .post .excerpt {  
  font-size: var(--font-size-default);
  }
  
/* NEWS TEMPLATE 
---------------------------------------------------------------------------- */    

.single-post .wp-block-post-content > .wp-block-columns > .wp-block-column:first-child {
  display: none;
  }
  
.single-post .wp-block-image.size-large,
.single-post .wp-block-image.size-full {
  margin-bottom: 20px !important;
  }   
  
.single-post .wp-block-gallery .wp-block-image {
  margin-bottom: 0px !important;
  }     

  
/* HOME GRID
---------------------------------------------------------------------------- */   
  
.home H2 {
  padding-right: 20px;
  }
  
.home MAIN {
  padding-top: 0;
  }

#home-grid {
  margin-top: 30px;
  margin-bottom: 30px;
  }  
 
#home-grid H3 {
  margin-bottom: 15px;
  }   
  
#home-grid .grid {
  display: block;
  }
  
#home-grid .wp-block-group {
  gap: 0px;
  }  
  
#home-grid .tile {
  padding: 20px;
  }
  
#home-grid #announcements {
  width: 50% !important;
  }
  
#home-grid .tile I {
  font-size: 32vw;
  }
  
#home-grid .tile H3 {
  font-size: 32px;
  }  
  
#home-grid .grid .tile {
  margin-bottom: 10px;
  }  
  
#home-grid .grid .squares .tile,
#home-grid .grid .colspan2 .tile:last-child {
  margin-bottom: 0;
  }  
  
#home-grid .tile .bottom {
  margin-top: 20px;
  font-size: var(--font-size-default);
  }  
  
#home-grid #emergency,
#home-grid #map {
  font-size: 18px;
  }  
  
#home-grid .wp-block-group.squares {
  flex-direction: row;
  gap: 10px;
  }  
  
#home-grid .wp-block-group.squares .tile {
  font-size: 18px;
  aspect-ratio: 1 / 1;
  width: 50%;
  }
  
#home-grid .grid .tile.colspan2 {
  aspect-ratio: 2 / 1;
  }  
  
#home-grid .grid .tile.colspan2 I {
  margin-right: 20px;
  }
  
#home-grid .more {
  font-size: 50px;
  }  
  
/* BLOCK GROUP
---------------------------------------------------------------------------- */    
  
.wp-block-group.is-content-justification-space-between {
  display: block;
  text-align: center;
  }
  
.wp-block-group.is-content-justification-space-between .wp-block-group {
  margin-bottom: 20px;
  }  
  
/* LAZYBLOCK KONTAKTPRESON
---------------------------------------------------------------------------- */   
  
.home .wp-block-image {
  margin-left: 0;
  margin-right: 0;
  }
  
.wp-block-columns.home .wp-block-lazyblock-related {
  margin-bottom: 30px;
  }  
  
/* LAZYBLOCK KONTAKTPERSON
---------------------------------------------------------------------------- */  
  
.contactperson {
  font-size: var(--font-size-default);
  }  
  
.wp-block-lazyblock-team .contactperson .title {
  font-size: 14px !important;
  padding: 3px 0;
  }  
  
/* LAZYBLOCK TEAM
---------------------------------------------------------------------------- */  
  
#team H3 {
  margin: 20px 0;
  }
  
#team .contactperson {
  display: block;
  margin-bottom: 30px;
  }  
  
#team .text .title {
  margin-bottom: 0px;
  }  
  
.contactperson FIGURE {
  width: 100%;
  margin-bottom: 10px;
  }
  
/* PODCASTS
---------------------------------------------------------------------------- */  
  
#podcasts .podcast {
  display: block;
  border-bottom: none;
  margin-bottom: 20px;
  }
  
#podcasts .podcast FIGURE {
  margin-bottom: 10px;
  width: 100%;
  }  
  
#podcasts .podcast .audio {
  margin-bottom: 20px;
  } 
  
/* EVENTS DETAILSEITE
------------------------------------------------------------------------------ */     
  
.single-event .breadcrumbs {
  display: block;
  font-size: var(--font-size-small) !important;
  }

.single-event MAIN > .wp-block-columns > .wp-block-column:first-child {
  order: 1;
  padding-bottom: 0 !important;
  }
  
.single-event MAIN > .wp-block-columns > .wp-block-column:last-child {
  order: 2;
  }  
  
.single-event MAIN > .wp-block-columns > .wp-block-column:last-child H2:first-child {
  display: none;
  }
  
.single-event MAIN .wp-block-image {
  margin-bottom: 5vw;
  }

/* GRAVITY FORMS
---------------------------------------------------------------------------- */   
  
.gform_title {
  font-size: 24px !important;
  }
  
.gfield INPUT,
.gfield TEXTAREA,
.gform_button {
  font-size: var(--font-size-default) !important;
  height: auto !important;
  }  
  
.gform_button {
  font-size: var(--font-size-default) !important;
  padding: 11px 20px !important;
  border-radius: 16px !important;
  }  
  
.gfield--type-html {
  font-size: var(--font-size-small) !important;
  line-height: 1.3;
  margin-top: 10px;
  }  
  
/* FANCYBOX
---------------------------------------------------------------------------- */    
  
.fancybox__slide {
  padding: 46px 0 !important;
  }
  
/* FOOTER
---------------------------------------------------------------------------- */  

FOOTER, #push {
  height: auto;
  }  
  
FOOTER {
  padding: 30px 0;
  }

FOOTER .container {
  padding: 0 20px;
  font-size: 12px;
  }
  
FOOTER .wp-block-columns {
  margin-bottom: 0;
  }  
  
FOOTER .wp-block-column {
  font-size: 3.2vw;
  flex-direction: row;
  }
  
FOOTER #lauterach {
  position: absolute;
  bottom: 0px;
  }  

FOOTER #footer-logo {
  margin-top: 0;
  font-size: 20vw;
  }
  
FOOTER H4 {
  margin-top: 0;
  }  
  
FOOTER #info {
  display: block;
  }  
  
FOOTER #info .col {
  width: 50%;
  float: left;
  }  
  
FOOTER #info .col:first-child {
  margin-top: 30vw;
  margin-top: 0;
  }   
  
FOOTER #info .col:last-child {
  float: right;
  margin-top: 30px;
  }     
  
FOOTER #edit-page { 
  display: none;
  }  
  
FOOTER UL LI.space {
  margin-top: 0;
  }  
  
  
