* {
  --header-height: 90px;
  --wp--preset--font-size--large: 16px !important;
  }
  
BODY {
  overflow-x: hidden;
  }  
  
.wp-block-group__inner-container, 
.container {
  padding: 0 20px;
  }
  
#page {
  min-height: 0px;
  margin-bottom: 0;
  overflow: hidden;
  }  
  
#push {
  display: none;
  }  
  
MAIN {
  padding-bottom: 0;
  }
  
.columns.c3 .column {
  width: 100%;
  float: none;
  }
  
.columnize {
  column-count: 1;
  }  
  
.intro {
  margin-bottom: 30px;
  }

.intro BR {
  display: none;
  }  

/* HEADER
----------------------------------------------------------------------- */    

HEADER {
  transition: 0.2s;
  overflow: hidden;
  }
  
HEADER .container {
  height: 100%;
  }

HEADER #logo {
  padding: 20px 0;
  }

HEADER #logo IMG {
  height: 50px;
  width: auto;
  }

HEADER NAV.main {
  opacity: 0;
  visibility: hidden;  
  top: 10px;
  left: 50%;
  right: auto;
  }
  
HEADER NAV.main UL LI {
  display: block;
  float: none;
  }  
  
HEADER NAV.main UL LI A {
  font-size: 17px;
  font-weight: 700;
  padding: 2px 0;
  color: #000;
  opacity: 1;
  }  
  
HEADER NAV.main UL UL {
  display: none !important;
  }  
  
HEADER NAV.social {
  opacity: 0;
  visibility: hidden;  
  left: 50%;
  top: auto;
  bottom: 25px;
  }
  
HEADER NAV.social.hidden {
  transform: none;
  }  
  
BODY.menu HEADER NAV.social.hidden {
  opacity: 1;
  transform: none;
  visibility: visible;
  }  
  
NAV.social LI A {
  width: 26px;
  margin-right: 8px;
  }  
  
HEADER NAV.social LI A::before {  
  padding: 0;
  float: left;
  font-size: 26px;
  }
  
HEADER NAV #search {
  position: static;
  margin-top: 40px;
  }
  
  
HEADER NAV #search I {
  display: none;
  }
  
HEADER NAV #search FORM {
  position: static;
  opacity: 1;
  transform: none;
  }  
  
HEADER NAV #search FORM INPUT {
  font-size: 14px;
  font-weight: 700;
  border-bottom: 1.5px solid rgba(0,0,0,1);
  border-radius: 0;
  background: none;
  } 
  
HEADER NAV #search FORM INPUT::placeholder {   
  color: #000;
  }
  
BODY.menu HEADER {
  height: 300px;
  }  
  
BODY.menu NAV {
  opacity: 1;
  visibility: visible;
  }  
  
/* MOBILE MENU
------------------------------------------------------------ */   
  
#hamburger {
  position: absolute;
  z-index: 1000;  
  top: 20px;
  right: 20px;
  width: 30px;
  height: 32px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  transition: position 0s;
  cursor: pointer;
  float: left;
  }

#hamburger span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #000;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  }

#hamburger span:nth-child(1) {
  top: 10px;
  }

#hamburger span:nth-child(2) {
  top: 18px;
  }

#hamburger.open span:nth-child(1),
#hamburger.open span:nth-child(2) {
  top: 15px;
  }

#hamburger.open span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  }

#hamburger.open span:nth-child(2) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  }

/* BLOCK HEADING
----------------------------------------------------------------------- */      

H2 {
  margin-bottom: 30px;
  }

H2.wp-block-heading {
  font-size: 20px !important;
  font-weight: 700;
  padding-top: 10px;
  margin-bottom: 30px;
  } 

H3,
H3.wp-block-heading {
  font-size: 16px !important;
  font-weight: 700;
  padding-top: 10px;
  margin-bottom: 30px;
  } 
  
.has-large-font-size, .has-large-font-size P {
  font-size: 16px !important;
  }  
  
.has-larger-font-size {
  font-size: 16px !important;
  }  
  
OL.wp-block-list {
  margin: 30px 0 0 0;
  }  
  
OL.wp-block-list LI {
  padding-left: 60px;
  font-weight: 500;
  line-height: 1.375;
  }  
  
  
OL.wp-block-list LI::before {
  top: 5px;
  width: 35px;
  height: 35px;
  line-height: 33px;
  font-size: 16px;
  }  
  
/* BLOCK GROUP
----------------------------------------------------------------------- */  
  
.wp-block-group {
  margin: 30px 0;
  }  
  
.wp-block-group.has-background {
  padding: 30px 0 10px 0;
  }
  
.wp-block-group.benefits {
  overflow: hidden;
  }  
  
.wp-block-group.benefits .wp-block-columns {
  display: block;
  overflow: hidden;
  width: 50%;
  float: left;
  margin-top: 0;
  margin-bottom: 0;
  }
  
.wp-block-group.benefits .wp-block-column {
  margin-bottom: 30px;
  }
  
.wp-block-group.benefits .wp-block-column P {
  font-weight: 400 !important;
  }  
  
.wp-block-group.benefits .wp-block-columns FIGURE {
  margin-bottom: 10px;
  }
  
.wp-block-group.benefits .wp-block-columns FIGURE IMG {  
  width: 48px !important;
  }
  
  
/* BLOCK COLUMNS
----------------------------------------------------------------------- */    
  
.wp-block-columns {
  margin: 30px 0;
  gap: 30px;
  }
  
.wp-block-columns .wp-block-column:first-child > * {
  margin-right: 0;
  }  
  
.wp-block-columns .wp-block-column .wp-block-image:last-child {  
  margin-bottom: 0;
  }
  
.wp-block-column .wp-block-video.kreise {
  margin-left: 0;
  }  
  
/* BLOCK VIDEO
----------------------------------------------------------------------- */  
  
MAIN > .wp-block-video {
  aspect-ratio: 3 / 2;
  }

.wp-block-video.is-style-play-button::after {  
  background-size: 90px auto;
  }
  
/* BLOCK BUTTON
----------------------------------------------------------------------- */  
  
.wp-block-button .wp-block-button__link {
  font-size: 12px;
  border-width: 1.5px;
  padding: 10px 15px 11px 15px;
  gap: 7px;
  font-weight: 700;
  align-items: center;
  }
  
.wp-block-button .wp-block-button__link::before {
  font-size: 10px;
  } 
  
/* BLOCK IMAGE
----------------------------------------------------------------------- */   

.wp-block-image IMG {
  max-width: 100% !important;
  }
  
.wp-block-image FIGCAPTION {
  font-size: 12px;
  }
  
/* LAZYBLOCK INTRO
----------------------------------------------------------------------- */      

.wp-block-lazyblock-intro FIGURE {
  aspect-ratio: 3 / 2;
  }  

.wp-block-lazyblock-intro FIGCAPTION {
  bottom: 20px;
  font-size: 12px;
  }
  
/* LAZYBLOCK JOBS
----------------------------------------------------------------------- */  

A.button-apply {
  padding: 0px 15px 2px 15px !important;
  border-width: 1.5px;
  gap: 5px;
  }

A.button-apply::before { 
  font-size: 10px;
  margin-right: 5px;
  }

.wp-block-lazyblock-jobs #jobs {
  gap: 30px;
  margin-bottom: 50px;
  }  
  
.wp-block-lazyblock-jobs #jobs .job {
  width: 100%;
  gap: 20px;
  }  
  
.wp-block-lazyblock-jobs #jobs .job .title {
  font-size: 32px;
  }
  
.wp-block-lazyblock-jobs #jobs .job .buttons A {
  font-size: 12px;
  font-weight: 700;
  height: 32px;
  line-height: 27px;
  }  
  
.wp-block-lazyblock-jobs #jobs .job .buttons .profile {
  width: 40px;
  height: 40px;
  }
  
/* LAZYBLOCK STATEMENTS
----------------------------------------------------------------------- */  
  
.wp-block-lazyblock-statements {
  margin-bottom: 0;
  }

.wp-block-lazyblock-statements FIGURE .play {
  font-size: 32px;
  width: 32px;
  height: 32px;
  margin-left: -16px;
  margin-top: -20px;
  }
  
.wp-block-lazyblock-statements FIGURE {
  margin-bottom: 10px;
  }

.wp-block-lazyblock-statements .name,
.wp-block-lazyblock-statements .quote {
  display: none;
  }
  
.wp-block-spacer {
  height: 20px !important;
  }
  
/* LAZYBLOCK NEWSLETTER
----------------------------------------------------------------------- */     

.wp-block-lazyblock-newsletter {
  padding: 30px 0;
  margin: 30px 0;
  }  
  
.wp-block-lazyblock-newsletter .container {
  display: block;
  }  
  
.wp-block-lazyblock-newsletter .text {
  width: auto;
  font-size: 26px;
  margin-bottom: 30px;
  }  
  
.wp-block-lazyblock-newsletter FORM {
  width: auto;
  }  
  
.wp-block-lazyblock-newsletter FORM .form-field.left,
.wp-block-lazyblock-newsletter FORM .form-field.right {
  width: calc(50% - 10px);
  }  
  
.wp-block-lazyblock-newsletter FORM .form-select LABEL {
  padding-left: 20px;
  font-size: 14px;
  }  
  
.wp-block-lazyblock-newsletter FORM INPUT, 
.wp-block-lazyblock-newsletter FORM SELECT {
  padding: 15px 20px 17px 20px;
  margin-bottom: 20px;
  font-size: 14px;
  color: #000 !important;
  }  
  
.wp-block-lazyblock-newsletter FORM OPTION,
.wp-block-lazyblock-newsletter FORM ::placeholder {
  color: #000;
  }  
  
.wp-block-lazyblock-newsletter FORM .form-button {
  padding-top: 1px;
  }
  
.wp-block-lazyblock-newsletter FORM BUTTON.submit {
  font-size: 14px;
  padding: 12px 20px 14px 20px;
  height: 40px;
  gap: 7px;
  }
  
.wp-block-lazyblock-newsletter FORM BUTTON.submit I {
  font-size: 11px;
  }
  
.wp-block-lazyblock-newsletter .form-hint {
  width: 50%;
  padding-left: 10px;
  font-size: 12px;
  }  
  
/* LAZYBLOCK STANDORTE
----------------------------------------------------------------------- */    
  
.wp-block-lazyblock-locations {
  margin-bottom: 0;
  }

.wp-block-lazyblock-locations .list {
  padding: 30px 0;
  }
  
.wp-block-lazyblock-locations #locations .list .location.active *, 
.wp-block-lazyblock-locations #locations .list .location:hover * {
  transform: translateX(25px);
  }  
  
.wp-block-lazyblock-locations #locations .list .location  {
  font-size: 32px;
  font-weight: 400;
  }
  
.wp-block-lazyblock-locations #locations .list .location I {
  font-size: 23px;
  }
  
.wp-block-lazyblock-locations .galleries {
  position: relative;
  }

.wp-block-lazyblock-locations .gallery {
  width: 100%;
  }
  
.wp-block-lazyblock-locations #gallery-muenchen .description {  
  hyphens: auto;
  }
  
.wp-block-lazyblock-locations #map {
  margin-top: 120vw;
  margin-left: 0;
  overflow: hidden;
  }  
  
.wp-block-lazyblock-locations #map .pin {
  font-size: 14px;
  line-height: 16px;
  letter-spacing: 0;
  margin-top: -3px;
  }  
  
.wp-block-lazyblock-locations #map .pin:before {
  width: 11px;
  height: 11px;
  margin-right: 5px;
  position: relative;
  top: 3px;
  }  
  
.wp-block-lazyblock-locations #map #pin-altenrhein::before { 
  margin-left: 5px;
  }    
    
/* LAZYBLOCK FAQ
----------------------------------------------------------------------- */   
  
.wp-block-lazyblock-faq {
  font-size: 16px;
  margin-bottom: 30px;
  }
  
.wp-block-lazyblock-faq .columns.c3 .column {
  width: 100%;
  }    

.wp-block-lazyblock-faq .faq {
  min-height: auto;
  margin-bottom: 15px;
  }  
  
.wp-block-lazyblock-faq .faq-arrow {
  padding: 10px 0;
  margin-bottom: 10px;
  }  
  
.wp-block-lazyblock-faq .faq-arrow I {
  font-size: 14px;
  } 
  
.wp-block-lazyblock-faq .answer .padding {
  padding: 1em 0;
  } 
  
/* LAZYBLOCK WE ARE HIRING
----------------------------------------------------------------------- */  
  
.wp-block-lazyblock-we-are-hiring {
  padding: 30px 0;
  margin: 40px 0;
  }
  
.wp-block-lazyblock-we-are-hiring .headline {
  font-size: 32px;
  margin-bottom: 20px;
  }  
  
.wp-block-lazyblock-we-are-hiring .wp-block-columns {
  margin-bottom: 0;
  }  
  
.wp-block-lazyblock-we-are-hiring .wp-block-video {
  margin-left: 0;
  }  
  
.wp-block-lazyblock-we-are-hiring .locations {
  float: none;
  }  
  
.wp-block-lazyblock-we-are-hiring .locations A	 {
  font-size: 32px;
  }
  
.wp-block-lazyblock-we-are-hiring .locations A I {
  font-size: 24px;
  }  
  
/* SLICK SLIDER
----------------------------------------------------------------------- */   
  
.slick-dots LI {
  padding: 0 3px;
  }
  
.slick-dots LI BUTTON {
  width: 7.5px;
  height: 7.5px;
  }  
  
/* FANCYBOX
----------------------------------------------------------------------- */   
 
.fancybox-slide {
  padding-left: 0 !important;
  padding-right: 0 !important;
  }
  
/* PROJEKTE ÜBERSICHT
----------------------------------------------------------------------- */   

.item .caption {
  height: auto;
  }  
  
/* PROJEKT DETAILSEITE
----------------------------------------------------------------------- */   

#subnav {
  font-size: 14px;
  }
  
.single-project MAIN {
  margin-bottom: 40px;
  }

.single-project H2 {
  font-size: 20px;
  }
  
.single-project .columns {
  margin-bottom: 20px;
  }

.single-project .columns .column.text {
  float: none;
  width: 100%;
  margin-bottom: 30px;
  font-size: 14px;
  }     
  
.single-project .description {
  margin-bottom: 30px;
  }
  
.single-project .column.images {
  float: none;
  width: 100%;
  padding: 0;
  }    
  
.single-project .images FIGURE {
  margin-bottom: 15px;
  }  
  
.single-project .metadata {
  font-size: 12px;
  }  
  
.single-project .metadata TABLE {
  margin-bottom: 15px;
  margin-top: 20px;
  }  
  
.single-project TABLE TD:first-child {
  padding-right: 20px;
  }  
  
.single-project .metadata H4 {
  font-size: 14px;
  }  
 
.single-project .metadata TABLE#downloads TR:first-child TD, 
.single-project .metadata TABLE#links TR:first-child TD {
  padding-bottom: 20px;
  }  
  
.single-project .metadata #downloads A .filesize {
  font-size: 11px;
  letter-spacing: 0;
  }  
  
/* PAGE DEFAULT
----------------------------------------------------------------------- */   
  
.wp-block-column:first-child {
  padding-right: 0;
  }
  
/* MEDIATHEK 
----------------------------------------------------------------------- */    

.page-template-mediathek .video .title {
  font-weight: normal;
  font-size: 12px;
  margin-bottom: 10px;
  }
  
/* NEWS / AKTUELL
----------------------------------------------------------------------- */   
  
.page-template-aktuell MAIN {
  padding-top: calc(var(--header-height) + 20px);
  padding-bottom: 40px;
  }
  
.page-template-aktuell H2 {
  font-size: 32px !important;
  }
  
.page-template-aktuell H3 {
  font-size: 18px !important;
  margin-bottom: 30px;
  max-width: 100%;
  margin-bottom: 20px;
  }  
  
.page-template-aktuell ARTICLE .date {
  font-size: 14px;
  padding-bottom: 5px;
  margin-bottom: 10px;
  }  
  
.page-template-aktuell ARTICLE {
  margin-bottom: 60px;
  }  
  
.page-template-aktuell ARTICLE .content {
  flex-direction: column;
  } 
  
.page-template-aktuell ARTICLE .content .text {
  width: 100% !important;
  order: 2;
  font-size: 12px;
  }
  
.page-template-aktuell ARTICLE .content .text P {
  font-size: 14px !important;
  }  
  
.page-template-aktuell ARTICLE .content FIGURE {
  order: 1;
  }  
  
.page-template-aktuell ARTICLE .content FIGURE IMG {
  width: 100%;
  height: auto;
  } 
  
.page-template-aktuell #archive .year {
  font-size: 32px;
  }  

.page-template-aktuell #archive .year I {
  font-size: 24px;
  } 
  
/* KARRIERE
----------------------------------------------------------------------- */   
  
.karriere .wp-block-group .wp-block-column .wp-block-image IMG {
  max-width: calc(50vw - 20px) !important;
  }  
  
.karriere .wp-block-group .wp-block-column .alignright,
.karriere .wp-block-group .wp-block-column .alignright IMG {
  float: none;
  margin-left: 0;
  } 
  
/* JOB DETAILSEITE
----------------------------------------------------------------------- */  

.single-job MAIN {
  padding-top: 20px;
  padding-bottom: 40px;
  }
  
.single-job #subnav {
  display: none;
  }  
  
.single-job H1 {
  font-size: 32px;
  margin-bottom: 25px;
  min-width: 100%;
  }

.single-job FIGURE {
  margin-bottom: 25px;
  }

.single-job {
  padding-top: var(--header-height);
  }   
  
.single-job .description {
  column-count: 1;
  font-size: 16px;
  }
  
.single-job .description TABLE TR {
  margin-top: -1px;
  }
  
.single-job .description TABLE TD {
  padding-top: 5px;
  padding-bottom: 5px;
  border-color: #000;
  }   

.single-job .description TABLE ~ P {
  font-size: 12px;
  }     

.single-job .button-apply {
  font-size: 12px;
  font-weight: 700;
  height: 32px;
  line-height: 27px;
  }  
  

/* PROJEKTE
----------------------------------------------------------------------- */   
  
.page-template-archive MAIN, 
.single-project MAIN {
  padding-top: 20px;
  }
  
/* WETTBEWERBE
----------------------------------------------------------------------- */    

.page-template-wettbewerbe MAIN {
  padding-top: calc(var(--header-height) + 20px);
  padding-bottom: 40px;
  }  
  
.page-template-wettbewerbe .year H2 {
  font-weight: 500;
  }
  
/* AUSZEICHNUNGEN
----------------------------------------------------------------------- */    

.page-template-auszeichnungen MAIN {
  padding-top: calc(var(--header-height) + 20px);
  padding-bottom: 40px;
  }  
  
.page-template-auszeichnungen .year H2 {
  font-weight: 500;
  }  
  
.item {
  margin-bottom: 30px;
  }  
  
.item .caption {
  font-size: 14px;
  }  
  
.listing .item {
  font-size: 14px;
  }  
  
.listing .year {
  padding-top: 10px;
  margin-bottom: 30px;
  }  
  
.listing .competition,
.listing .competition .item {
  min-height: 0;
  }  
  
/* BÜRO
----------------------------------------------------------------------- */   
  
.page-template-buero MAIN {
  padding-bottom: 0px;
  }

.page-template-buero #team H3 {
  margin-top: 30px;
  }
  
.page-template-buero #team .person {
  font-size: 14px;
  margin-bottom: 30px;
  } 
  
/* SUCHE
----------------------------------------------------------------------- */   
  
BODY.search MAIN {
  padding-top: calc(var(--header-height) + 20px);
  padding-bottom: 0;
  }
  
BODY.search .result {
  display: block;
  font-size: 16px;
  margin-bottom: 40px;
  }  
  
BODY.search .result FIGURE {
  margin-bottom: 15px;
  overflow: hidden;
  }
  
BODY.search .result.project .text {
  font-size: 16px;
  }
  
BODY.search .result.project .more {
  font-size: 14px;
  margin-top: 10px;
  }  
  
/* GRAVITY FORMS
----------------------------------------------------------------------- */ 

.gform_wrapper ul.gform_fields:not(.top_label) .gfield_label {
  width: 100%;
  text-align: left;
  padding-right: 0;
  }  
  
.ginput_container, .gform_wrapper .gform_footer:not(.top_label), html:not([dir=rtl]) .gform_wrapper ul.gform_fields:not(.top_label) .gfield_description {
  width: 100% !important;
  margin-left: 0 !important;
  }  
  
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
  line-height: inherit;
  height: 40px !important;
  width: 100%;
  }  
  
html:not([dir=rtl]) .gform_wrapper ul.gform_fields:not(.top_label) .gfield_description.gform_fileupload_rules {
  font-size: 11px !important;
  }
  
  
.gform_wrapper ul.gform_fields li.gsection {
  margin-bottom: 10px !important;
  }  
  
body .gform_wrapper ul li.gfield {
  margin: 7px 0 !important;
  }
  
.gform_wrapper .gform_footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  }  
  
.gform_wrapper form ul.gform_fields:not(.top_label) li.gfield_html_formatted {
  position: static;
  width: 100%;
  font-size: 13px;
  margin-bottom: 20px !important;
  }  
  
.gform_wrapper .gform_footer .gform_button {
  margin-bottom: 0 !important;
  }    
  
#field_3_17:after {
  position: relative;
  float: right;
  margin-top: 20px;
  margin-right: -30px;
  margin-bottom: -100px;
  top: auto;
  left: auto;
  z-index: 1;
  }
  
/* ANIMATION
----------------------------------------------------------------------- */   

.animation {
  margin-left: 0;
  margin-right: 0 !important;
  }
  
.circle-container {
  height: 150px;
  width: 100%;
  }  
  
.circle {
  width: 150px;
  height: 150px;
  }  
  
@keyframes circle_left {0%{transform: none;} 50%{transform:translateX(25%);} 100%{transform:none;}}    
@keyframes circle_right {0%{transform: none;} 50%{transform:translateX(-25%);} 100%{transform:none;}}   
  
/* FOOTER
----------------------------------------------------------------------- */     
  
FOOTER {
  height: auto;
  font-size: 14px;
  }
  
FOOTER .container {
  display: block;
  padding-bottom: 30px;
  }  
  
FOOTER .location {
  width: 50%;
  margin-top: 10px;
  margin-bottom: 20px;
  }  
  
FOOTER .links {
  flex-direction: row;
  }  
  
FOOTER .legal {
  width: 50%;
  }  

FOOTER .icon-edit-page {
  display: none;
  }  
  
  


  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  