:root {
   --font-size-small: 1rem;
   --font-size-normal: 1.2rem;
   --font-size-normalmedium: 1.4rem;
   --font-size-medium: 1.6rem;
   --font-size-mediumbig: 2rem;
   --font-size-big: 3rem;
   --font-size-xtrabig: 4.5rem;
   --color-grey: #595B60;
   --color-black: #2B2E34;
   --color-brown:#D4A238;
   --color-sand: #F7EAD1;
   --color-postit: #F5ECD3;
   --color-white:#FFFFFF;
   --color-blue:  #87b4ef;
   --color-lightblue: #D0D6F9;
   --line-thickness: 1px;
   --swiper-theme-color: var(--color-brown);
}
* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   -webkit-overflow-scrolling: touch;
   -webkit-text-size-adjust: 100%;
   font-feature-settings:'kern';  
   text-rendering: optimizeLegibility; 
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
}
html {
   width: 100%;
   -webkit-tap-highlight-color: transparent;
   font-size: 1vw;
    scroll-behavior:smooth;
}
body {
   font-family: 'Stabil Grotesk';
   background-color: var(--color-white);
   height: 100%;
   color: var(--color-grey);
   font-size:var(--font-size-normal);
   font-weight: 400;
   display: flex;
   letter-spacing: 0;
   overflow-x: hidden;
   line-height: 1.35;
   flex-direction: column;
   min-height: 100vh;
}
button{
    background:transparent;
    border:none;
}
header.out,header.out.fixed {
    transform: translateY(0);
}
#cookiemessage {position: fixed;/* display: none; */bottom: 0;color: var(--color-white);position: fixed;width: 100%;padding: 1rem 1.2rem;background-color: var(--color-blue);z-index: 2;border-top: 1px solid;left: 0;display: none;}
h1 {
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    line-height: 1.15;
}
a{
    color:inherit;
    text-decoration:none;
}
article.textbox, article.formbox {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    font-size: var(--font-size-normalmedium);
    position: relative;
}
h2,h3 {
    font-size: var(--font-size-mediumbig);
    font-weight: 400;
    color: var(--color-brown);
}
header {
    position: absolute;
    height: 12rem;
    color: var(--color-white);
    z-index: 2;
    width: 100%;
    transition: .25s transform ease-out;
    transform: translateY(0);
}
    .text {
 -webkit-hyphens: none;
 -ms-hyphens: none;
 hyphens: none;
 -webkit-hyphenate-limit-before: 4; /* For Safari */
 -webkit-hyphenate-limit-after: 4; /* For Safari */
 -ms-hyphenate-limit-chars: 10 4 4;
 hyphenate-limit-chars: 10 4 4;
}
.tblock .text {
    padding-right: 1rem;
}
.homepage header{
    color:var(--color-grey);
}
header.white, .textpage header{
        background-color: var(--color-white);
}
.formbox .text {
    padding-right: 3em;
}

#navigation ul li a:hover {
    text-decoration: underline;
    text-underline-offset: .2em;
}
.smallGal .swiper-pagination {
    gap: .2rem;
    font-size: var(--font-size-normalmedium);
    font-weight: 500;
    color: var(--color-brown);
}

article.gallery.smallGal {
    background-color: var(--color-sand);
}

.multiblock + article.gallery {
    margin-top: calc(-1 * var(--line-thickness));
}
#longNavigation ul ul li ul, #longNavigation li .anchorlink {
    padding-bottom: .5rem;
}
#subnav {
    font-size: var(--font-size-mediumbig);
    margin-top: .8rem;
    list-style-type: none;
}
#intro {
    min-height: 36.5rem;
    background-color: var(--color-main);
    padding: 14rem 4rem 5rem 4rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 4rem;
    color: var(--color-white);
    font-size: var(--font-size-normalmedium);
}

#logo svg {
    width: 100%;
}
.homepage #intro {
    padding: 0;
    height: 100svh;
    grid-column-gap: 0;
}
.homepage #intro .imagegallery {
    width: 100%;
    grid-column: 1;
    grid-row: 1;
    position: relative;
}
article.textbox.leftImageBorder .image,article.textbox.leftImageBorder .mapBox {padding: 6rem 4rem;}
#subnav li.active a {
    text-decoration: underline;
}
article.textbox.leftImageBorder {
    border-bottom: var(--color-brown) solid var(--line-thickness);
    grid-template-columns: 40% 60%;
}
.tblock > a .image img {
    transition: .5s transform ease-out;
}
#subnav li a {
    text-decoration-thickness: .075em !important;
    text-underline-offset: .15em;
}
.textbox.leftImage .mapBox {
    grid-area: 1;
}
.homepage #intro .text {
    grid-column: 2;
    grid-row: 1;
    padding: 14.65rem 6rem 0 2rem;
    color: var(--color-grey);
    font-size: var(--font-size-medium);
}
.textbox .dropdownlist .dropdown picture {
    position: relative;
    width: 100%;
    display: block;
    margin-top: 1rem;
}
#longNavigation {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 3rem;
    grid-row-gap: 2rem;
}
footer .text:last-child {display: flex;flex-direction: column;justify-content: space-between;}
#longNavigation > ul {
    /* border-right: 1px solid; */
}

#longNavigation ul.subsites {
    margin-left: 0;
    margin-top: 4em;
}
ul.socialmedia li svg {
    width: 2.5rem;
    display: block;
}

ul.socialmedia {
    display: flex;
    gap: 1rem;
}
select:focus-visible,input:focus-visible,textarea:focus-visible {
    outline: var(--color-brown) solid;
}
#addressblock .text {
    margin-bottom: 1em;
}
article.textbox.blank .text.lead {
    font-size: var(--font-size-medium);
    margin-bottom: 1.55rem;
}

article.textbox.blank .text {
    padding: 0 6rem 5rem 2rem;
    font-size: var(--font-size-normal);
}

article.textbox.blank:last-child {
    margin-bottom: 5rem;
}
article.mapArticle {
    height: 100svh;
}

.mapBox {
    position: absolute;
    height: 100%;
    width: 100%;
}
.textbox .mapBox{
    position:relative;
    height:50rem;
}
.map {
    height: 100%;
    width: 100%;
}
.smallGal .swiper-slide .imageBox {
    left: 50%;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
}
#stoerer {
    position: absolute;
    right: 5rem;
    bottom: 5rem;
    background-color: rgba(212,162,56,0.8);
    color: var(--color-white);
    z-index: 3;
    width: 13rem;
    height: 13rem;
    font-weight: 500;
    justify-content: center;
    display: flex;
    align-items: center;
    transform: rotate(0);
    text-align: center;
    line-height: 1.16;
    border-radius: 10rem;
    transition: .25s transform ease-out;
}

nav.skiplinks {
    left: 1rem;
    right: unset;
    font-size: var(--font-size-small);
    top: 1rem;
    z-index: 10;
    position: fixed;
}
nav.skiplinks ul {
    position: absolute !important;
    left: 0;
    top: 0;
    padding: 0;
    display: block;
    margin: 0;
    list-style: none;
}
.skiplink {
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    white-space:nowrap;
    padding: 0;
    position: absolute;
    width: 1px;
}
.skiplink:focus {
    display: block;
    border-radius: 0;
    z-index: 100;
    width: auto;
    height: auto;
}
#scrollDown {
    font-size: var(--font-size-xtrabig);
    color: var(--color-brown);
    display: inline-flex;
    left: 50%;
    position: relative;
    transform: translateX(-50%);
}
strong {
    font-weight: 500;
}
.homepage #intro h1 {
    color: var(--color-brown);
    /* text-align: center; */
    line-height: 1;
}
.input-group {
    position: relative;
}
.homepage #intro .imagegallery .swiper-container {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
article.gallery {
    display: block;
    position:relative;
}
article.gallery .swiper-slide img {
    width: 100%;

}

.imagegallery {
    margin: 0;
    overflow: hidden;
    position: relative;
}
#longNavigation #searchField::-webkit-input-placeholder {
  color: var(--color-white);
}
#longNavigation #searchField::-moz-placeholder {
  color:  var(--color-white);
}
#longNavigation #searchField:-ms-input-placeholder {
  color: var(--color-white);
}
#longNavigation #searchField::placeholder {
  color: var(--color-white);
}
.navIn #longNavigation {
    transform: translateX(0);
}
#navigation ul li.active a {text-decoration: underline;text-underline-offset: .2em;}
.swiper-pagination .swiper-pagination-bullet {
    opacity: 1;
    width: .75rem;
    height: .75rem;
    border: var(--color-white) solid .15rem;
    background: transparent;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color:var(--color-white);
}
span.highlight {
    color: var(--color-brown);
    font-weight: bold;
}
.swiper-pagination{
    bottom: 4rem !important;
    position:absolute;
    top: unset !important;
    gap: .6rem;
    display: flex;
    justify-content: center;
}
#logo {
    width: 7.5rem;
    position: absolute;
    top: 2rem;
    left: 2.6rem;
}
     #logo .cls-1 {
        fill: #fff;
        opacity: 0.8;
      }

    #logo .cls-2 {
        fill: #fff;
        opacity: 1;
      }
.swiper-button-next, .swiper-button-prev {
    margin: 0;
    transform: translateY(-50%);
}

.swiper-button-next {
    right: 2.5rem;
}

.swiper-button-prev {
    left: 2.5rem;
}
.textpage main {
    margin-top: 12rem;
}
article.teaser {
    background-color: var(--color-sand);
    padding: 5rem 0;
    position: relative;
}
.teaser .text, .smallGal .text.lead{
    font-size: var(--font-size-xtrabig);
    line-height: 1;
    text-align: center;
    color: var(--color-brown);
    font-weight: 500;
    z-index: 2;
    position: relative;
}
article.gallery.smallGal .swiper-slide img {
    max-height: 30rem;
    display: block;
    width: auto;

}
.smallGal .text.lead{
    position:absolute;
    font-size: var(--font-size-big);
    top: 3rem;
    text-align: center;
    width: 100%;
}
article.teaser.imgTeaser.brownFont .text, article.teaser.imgTeaser.brownFont .teaserLink {
    color: var(--color-brown);
}
a.teaserLink {
    position: absolute;
    right: 6rem;
    display: block;
    bottom: 2rem;
    padding-right: .5em;
    z-index: 2;
    font-size: var(
    --font-size-mediumbig);
    color: var(
    --color-brown);
}
.logoBig {
    width: 30rem;
    display: block;
    margin: 5rem auto;
}
main .text p a.noarrow, main .text p a {
    text-decoration: underline;
    color: var(--color-brown);
}

.formText .text {
    position: sticky;
    top: calc(18.5rem + 1.15 * var(--font-size-xtrabig));
}
#intro + article.formbox .formText .text{
    top:5rem; 
}
.textpage h1 {
    padding: 0;
    color: var(--color-brown);
    font-size: var(--font-size-xtrabig);
    margin-bottom: 2.5rem;
    left: calc(50% + 1.75rem);
    position: relative;
}
.formpage h1{
    position: sticky;
    top: 12rem;
}
header.fixed, .textpage header {
    position: fixed;
    background-color: var(--color-white);
    color: var(--color-grey);
    transform: translateY(12rem);
    top: -12rem;
}
p.big {
    font-size: var(--font-size-mediumbig);
}
.mapboxgl-ctrl-bottom-left, .mapboxgl-ctrl-bottom-right {
    display: none;
}
#menu {
    position: fixed;
    right: 1.75rem;
    top: 1.755rem;
    padding: .75rem;
    z-index: 3;
}
.anchorblock {
    position: absolute;
    top: 0;
}
.textbox.leftImageBorder .anchorblock{
    top: 0;
}

h1.hidden {
    font-size:0;
    position: absolute;
}

ul.search_it-results li {
    list-style-type: none;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
    border-bottom: var(--color-brown) solid var(--line-thickness);
}
.search_it-modul {
    padding: 0 6rem 0 2rem;
}

p.search_it-url {
    margin-bottom: 1em;
}
.dropdownlist .dropdown .titleblock h3:before  {
    content: '';
    position:absolute;
    left: -.35rem;
    width: 1.75rem;
    height: 1.75rem;
    transition: .25s transform ease-out;
    top: .25rem;
    background-image: url(../img/pfeil.svg);
}

.marker svg * {transition: all .15s ease-out;}
.marker {
    width: 1.7rem;
    height: auto;
}
.titleblock[aria-expanded="true"] h3:before  {
    transform: rotate(90deg);
}  

button.mapboxgl-popup-close-button {
    display: none;
}

a.readmore {
    transition: .25s margin-left ease-out;
    margin-left: 0;
}
.mapboxgl-popup-content h3 {
    padding: .7rem;
    line-height: 1;
    font-size: var(--font-size-normalmedium);
    margin: 0;
    padding: 0;
}
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    height: 2px;
    background-color: var(--color-brown);
}
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner::before, .hamburger.is-active .hamburger-inner::after {
    background-color: var(--color-white);
}
.subpage header:not(.fixed) + #menu .hamburger-inner, .subpage header:not(.fixed) + #menu .hamburger-inner::before, .subpage header:not(.fixed) + #menu .hamburger-inner::after {
    background-color: var(--color-white);
}
.textbox.blank .text {
    grid-column: 2;
    max-width: 47em;
}
#intro .swiper-slide img {
    width: 100%;
    height:100%;
    position:absolute;
    object-fit:cover;
}
#intro .text {
    padding-right: 2rem;
}
.textbox .text p strong {
    /* color: var(--color-brown); */
}
.smallGal figcaption {padding: .5rem 0;position: absolute;width: 100%;}
.subpage #intro .text p a {
    color: var(--color-white);
}
.quote .name {
    font-size: var(--font-size-medium);
}
#longNavigation {
    position: fixed;
    right: 0;
    width: 50%;
    background-color: var(--color-brown);
    padding: 5rem 4rem 5rem;
    color: var(--color-white);
    height: 100%;
    grid-template-rows: min-content max-content;
    z-index: 2;
    transform: translateX(100%);
    transition: .5s transform ease-out;
}
#longNavigation .text p a:before {
    display: none;
}
#longNavigation > ul > li > a {
    font-size: var(--font-size-medium);
    font-weight: 500;
    margin-bottom: 0;
    display: inline-flex;
}
article.teaser.imgTeaser.autoHeight {
    padding: 0;
    height: auto;
}

.teaser.autoHeight figure.image {
    position: relative;
}
#longNavigation ul {
    list-style: none;
    grid-column: 1;
}

#longNavigation > ul > li {
    padding-bottom: 2.5rem;
}
#longNavigation ul ul ul, .anchorlink {
    margin-left: 1.3em;
    display: none;
    font-size: var(--font-size-normal);
}
#longNavigation form {
    grid-column: 1;
}

#longNavigation input#searchField {
    background-color: transparent;
    border-bottom: var(--color-white) solid var(--line-thickness);
    width: 100%;
    padding: .5rem 0;
    font-size: var(--font-size-medium);
    color: var(--color-white);
    font-weight: 500;
}

#longNavigation .search_it-button svg {
    width: 1.5rem;
}
#longNavigation ul ul {
    margin-left: 0;
    font-size: var(--font-size-normalmedium);
}
header.fixed #logo .cls-1, .textpage header #logo  .cls-1 {
    fill: #ffde39;
}
header.fixed #logo  .cls-2, .textpage header #logo  .cls-2 {
     fill: #cda126;
    opacity: 1;
}
.text ul, .text ol {
    margin-left: 1em;
}
#intro h1 {
    font-size: var(--font-size-xtrabig);
    margin-bottom: 1.5rem;
    line-height: 1;
    .
    -webkit-hyphens: auto;
    hyphens: auto;
    -webkit-hyphens: auto;
}
.search_it-button {
    position: absolute;
    right: 0;
    bottom: .25rem;
    cursor: pointer;
}

.search_it-flex {
    position: relative;
    max-width: 20em;
}

.search_it-button svg {
    width: 2rem;
    height: auto;
}
article.teaser.imgTeaser {
    height: 66.666vw;
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center;
}
.teaser figure.image {
    height: 100%;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
}

.teaser figure.image picture {
    height: 100%;
    position: absolute;
    width: 100%;
}

.teaser figure.image img {
    height: 100%;
    object-fit: cover;
}
article.teaser.imgTeaser .text,article.teaser.imgTeaser .teaserLink{
     color:var(--color-white);
     /* text-shadow: 1px 1px .25rem rgba(0,0,0,.2); */
}

article.gallery .imagegallery:after {
    padding-bottom: 56.25%;
    content: '';
    display: block;
}
.titleblock {
    padding: .5rem 0 .75rem;
    border-top: var(--color-brown) solid var(--line-thickness);
    display: flex;
    justify-content: space-between;
    font-size: var(--font-size-medium);
}
.dropdown .innerBox {
    padding: 1rem 1rem 2rem 2rem;
}
.dropBox {
  display: none;
  overflow: hidden;
  transition: height 0.3s ease;
}
.dropBox.open {
  display: block; /* Sichtbar, HÃ¶he wird via JS gesteuert */
}
/* Optional: Fokus-/Cursor-Verbesserung */
.titleblock[role="button"] {
  cursor: pointer;
}
.dropdownlist {
    border-bottom: var(--color-brown) solid var(--line-thickness);
    margin-bottom: 2rem;
}
.rightCol {
    text-align: right;
    font-size: 1em;
}
article.gallery .swiper-container {
    position: absolute;
    height: 100%;
    width: 100%;
}
span.input-group-btn {
    display: none;
}
.quote .innerBox {
    position: relative;
}
.form-group label sub {
    vertical-align: 0;
    display: block;
    letter-spacing: 0.01em;
}
.textbox figure.image .innerBox {
    position: relative;
}
.formmediafile .control-label{
  display:block;
  position: relative;
}
.dropdownlist .dropdown .titleblock h3, .dropdownlist .listRow .titleblock h3 {
    font-weight: 100;
    color: var(--color-brown);
    padding-left: 2rem;
    position: relative;
    margin-bottom: 0;
    font-size: var(--font-size-medium);
}
.dropdownlist .listRow .titleblock h3{
    padding-left:0;
    color:var(--color-grey);
}
input.form-control {
    height: 2.65rem;
}
input[type='file']{
  position: absolute;
  width: 0;
  right: 0;
  height: 0;
  top: 0;
  overflow: hidden;
  opacity: 0;
}
.formmediafile .filestatus {
    position: relative;
    position: absolute;
    right: 0;
    white-space: nowrap;
    cursor: pointer;
    top: 0;
    max-width: 12rem;
    overflow: hidden;
    overflow: hidden;
    white-space: nowrap;
    display: inline-block;
    text-overflow: ellipsis;
    padding: .5rem 1.25rem;
    background-color: var(--color-brown);
    color: var(--color-white);
}
.filestatus.in .fileaction, .filestatus.in:hover .filename {
    display: none;
}

.filestatus.in:hover .fileaction {
    display: block;
}
main {
    flex-grow: 1;
    z-index: 1;
}
#menu {
    /* display: none; */
}
#navigation {
    position: absolute;
    left: calc(50% + 2rem);
    top: 2.3rem;
}
main #searchField {
    font-size: var(--font-size-mediumbig);
    color: var(--color-brown);
    border-bottom: var(--color-brown) solid var(--line-thickness);
    padding: 0;
    width: 100%;
}
#searchField:focus-visible{
    outline:none;
}
ul.search_it-results {
    border-top: var(--color-brown) solid var(--line-thickness);
    padding-top: 1rem;
}
#navigation ul {
    list-style-type: none;
    display: flex;
    gap: 1.5rem;
    font-size: var(--font-size-normal);
}
.multiblock.newstiles > h2 {
    margin-bottom: -.35rem;
}
.textbox > .text, .textbox .search_it-form, .textbox .search_it-modul {
    padding: 5rem 6rem 5rem 2rem;
}
.textbox.rightImage > .text {
    padding-left: 4rem;
}
.textbox.rightImage + .multiblock, .textbox.leftImage + .multiblock {
    border-top: var(--color-brown) solid var(--line-thickness);
    margin-top: 4.65rem;
    padding-top: 4.65rem;
}
.textbox.leftImage .text {
    grid-column: 2;
}
textarea.form-control {
    height: 6em;
    resize: none;
}
article.multiblock.bottomGap {
    padding-bottom: 18rem;
}
.textbox.leftImage .image, .textbox.leftImageBorder .image, .textbox.leftImageBorder .mapBox, .textbox.leftImage .imagegallery {
    grid-area: 1;
}
.swiper-container {
    height: 100%;
}
article.formbox {
    padding: 5rem 4rem;
    grid-column-gap: 1.6rem;
}
.btn-primary {
    background-color: var(--color-brown);
    padding: 1rem;
    font-weight: 500;
    color: var(--color-white);
    grid-column: 1;
    cursor: pointer;
}
.yform form {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 1rem;
}
.twoCols {
    display: contents;
}

.twoCols .form-group {
    grid-column: 2 span;
}
.yform h2 {
    grid-column: 2 span;
    font-size: var(--font-size-medium);
}
label.control-label {
    font-size: var(--font-size-small);
    display: block;
    margin-bottom: .5rem;
}
.gap {
    height: 2em;
    grid-column: 2 span;
}
input[type="checkbox"], input[type="radio"] {
  display: inline-block;
  width: .25rem;
  height: .25rem;
  margin: 0 .75rem .1rem 0;
  vertical-align: middle;
  background: var(--color-white);
  border: var(--line-standard) var(--color-black) solid;
  cursor: pointer;
}

input[type="checkbox"]:checked + label span, input[type="radio"]:checked + label span {
  background: var(--color-black);
  border: var(--color-black) var(--line-standard) solid;
}
.form-check-group input:before, .formcheckbox.checkbox input:before, .radio input:before{
    height: 1rem;
    cursor: pointer;
    width: 1rem;
    margin: 0 0 0 -0.5rem;
    content:
    '';
    display: inline-block;
    background-color: var(--color-white);
    position: absolute;
    top: 0;
    overflow: hidden;
}
.radio input:before{
    border-radius:1rem;
}
.form-check-group input:checked:before,.checkbox input:checked:before,.radio input:checked:before {
    background-color: var(--color-brown);
    display: inline-block;
}
.form-check-group input:before, .checkbox input:before, .radio input:before{
  border: var(--line-standard) solid var(--color-black);
}
.form-check-group input:before{
    margin-top: 0;
}
.formcheckbox, .form-check-group {
    padding: 0 0 1rem 1.5rem;
}
.form-check-group input:before, .formcheckbox.checkbox input:before, .radio input:before {
    width: .9rem;
    height: .9rem;
}
.formcheckbox label, .form-group label sub {padding-left: 0;text-transform: none;font-size: var(--font-size-small);}
.form-check-group input,.formcheckbox.checkbox input, .radio input{
    -webkit-appearance: checkbox;
    display: inline-block;
    padding: 0;
    margin: 0.3rem .5rem 0 -1.3rem;
    width: .8rem;
    height: .8rem;
    position: relative;
    text-align: center;
    border: none;
    vertical-align: top;
}
footer a:before {
    display: none;
}

.form-check-group input {
  margin-top: 0.25rem;
}
.formcheckbox.checkbox input {position: absolute;margin-top: 0.15rem;}
.form-control {
    background-color: var(--color-white);
    padding: .5rem .75rem;
    color: var(--color-black);
    width: 100%;
}

input, textarea, button, select {
    font-size: inherit;
    font-family: inherit;
    border: none;
    -webkit-appearance: none;
}

.yform, .thankBox .text {
    background-color: var(--color-sand);
    padding: 1rem;
}
.hiddenFields {
    position: absolute;
    visibility: hidden;
}
.form-group {
    margin-bottom: 1rem;
}
.textbox h2 {
    margin-bottom: 1.5rem;
    font-size: var(--font-size-big);
    line-height: 1.16;
}
.textbox .text h3 {
    /* font-size: 1em; */
    /* font-weight: 500; */
    /* margin-bottom: 0; */
    /* color: var(--color-grey); */
}
.tblock .image {
    margin-bottom: 1.5rem;
}
.mapboxgl-popup-content .innerBox img {
    width: 100%;
    display:block;
}
.tblock h2, .tblock h3 {
    margin-bottom: 1rem;
    text-align: left;
    line-height: 1.16;
}
.mapboxgl-popup-content .text {
    padding: .5rem !important;
    margin: 0;
    line-height: 1.16;
    font-size: var(--font-size-small);
}
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    margin-bottom: 1.3rem;
}
.mapboxgl-popup-content {
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: 'Stabil Grotesk';
}
.texttiles .tblock {
    text-align: left;
    padding: 0 2rem;
}
article.multiblock.postit .tblock {
    background-color: var(--color-postit);
    padding: 2.5rem 2rem;
    min-height: 29rem;
}
article.multiblock.joblist {
    display: block;
}

.joblist .tblock h3 {
    text-align: left;
    line-height: 1.16;
}

.joblist .tblock {
    padding: 1rem 0 3rem;
    border-top: var(--color-brown) solid var(--line-thickness);
}

.joblist .tblock h3 {
    margin-bottom: 0;
}

.joblist a.readmore {
    margin-top: 1.5rem;
    display: inline-flex;
}

.joblist .tblock .text > p:first-of-type {
    margin-bottom: .5rem;
}

.joblist.multiblock > h2 {
    text-align: left;
    margin-bottom: 1.5rem;
}
.newstiles .tblock figure.image picture, .teamblock .tblock figure.image picture, .multiblock .tblock figure.image picture, .textbox.leftImage picture, .textbox.rightImage picture {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}
.textbox .text h3 {
    /* margin-bottom: .5rem; */
}
.newstiles .tblock figure.image, .teamblock .tblock figure.image, .multiblock .tblock figure.image, .textbox figure.image {
    position: relative;
    overflow: hidden;
}
article.textbox.blank {
    margin-top: 0;
}
.multiblock.teamblock > h2 {
    margin-bottom: 0;
}
.newstiles .tblock figure.image:after, .teamblock .tblock figure.image:after, .multiblock .tblock figure.image:after, .textbox.rightImage figure.image .innerBox:after, .textbox.leftImage figure.image .innerBox:after {
    padding-bottom: 75%;
    content: '';
    width: 100%;
    display: block;
    background-color: var(--color-lightblue);
}


.multiblock:not(.teamblock):not(.newstiles) .tblock figure.image:after {
    padding-bottom: 133.333%;
}
.textbox:not(.quote) figure.portrait.image .innerBox:after{
        padding-bottom: 133.333%;
}
.textbox:not(.quote) figure.landscape.image .innerBox:after{
        padding-bottom: 75%;
}
article.multiblock.teamblock {
    grid-row-gap: 5rem;
}
.newstiles figure.image img, .teamblock figure.image img, .multiblock figure.image img, .textbox.leftImage figure.image img, .textbox.rightImage figure.image img {
    height: 100%;
    object-fit: cover;
}



.newstiles .tblock h2, .newstiles .tblock h3 {
    text-align: left;
}

.newstiles {
    grid-row-gap: 5rem;
}
.textbox.leftImageBorder .text {
    padding-top: 7rem;
    padding-left: 1rem;
}
article.multiblock.postit {
    grid-row-gap: 5rem;
}

article.multiblock.postit .tblock:nth-of-type(5n) {
    grid-column: 3;
    transform: none !important;
}
article.multiblock.postit .tblock:nth-of-type(5n - 3) {
    transform: translateY(-12rem);
}
article.multiblock.postit .tblock:nth-of-type(2) {
    transform: translateY(12rem);
}
article.multiblock.postit .tblock h2, article.multiblock.postit .tblock h3 {
    text-align: left;
    color: var(--color-black);
}
.texttiles .tblock h3 {
    /* border-bottom: var(--line-thickness) solid; */
    display: inline-flex;
    /* justify-content: center; */
    margin-bottom: 1rem;
}
main .text p a, main .text ul a, main .text ol a {
    color: var(--color-brown);
}
.links {
    margin-bottom: 1em;
}
.teamblock .tblock h3, .teamblock .tblock h2 {
    text-align: left;
    font-size: var(--font-size-medium);
    margin-bottom: 0.25rem;
}
.text p a {
    text-decoration: underline;
}
.text p a:not(.noarrow)[href^="/"]:before, a.readmore:before, .links p a:before, a.teaserLink:before {
    content: '';
    margin-right: .25em;
    content: '\2192';
}
.text p a:not(.noarrow)[href^="/"],.teaserLink{
    text-decoration:none;
    transition:.25s padding ease-out;
}



article.multiblock {
    padding: 4rem 4rem;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-column-gap: 1.6rem;
    border-bottom: var(--color-brown) solid var(--line-thickness);
    position: relative;
}

.multiblock > h2 {
    text-align: center;
    margin-bottom: 4.65rem;
    grid-column: 3 span;
}

.tblock {
    /* text-align: center; */
}
footer h2 {
    color: var(--color-white);
}
article.textbox.quote {
    background-color: var(--color-blue);
    grid-template-columns: repeat(3,1fr);
    grid-column-gap: 1.6rem;
    margin-top: calc(-1 * var(--line-thickness));
}

.textbox.quote .text {
    color: var(--color-white);
    grid-column: 2/4;
    font-size: var(--font-size-mediumbig);
}

.textbox.quote picture {
    border-radius: 20rem;
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
}
.tblock h3 {
    margin-bottom: 1.5rem;
}
.quote figure.image {margin: 5.75rem 4rem;position: relative;}
.quote figure.image .innerBox:after{
    content:'';
    padding-bottom: 100%;
    display:block;
    position:relative;
}

.quote figure.image img {
    height: 100%;
    object-fit: cover;
}
figure.image img {
    width: 100%;
    display: block;
}
footer {
    background-color: var(--color-brown);
    padding: 1.65rem 4rem 4.7rem;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-column-gap: 1.6rem;
    font-size: var(--font-size-normal);
    color: var(--color-white);
}

footer .text ul {
    list-style-type: none;
    margin-left: 0;
}

.text p:not(:last-child), .text ul:not(:last-child), .text ol:not(:last-child) {
    margin-bottom: 1em;
}

footer .text:first-of-type {
    grid-column: 4 span;
}
@media (min-width: 1900px) {
  html {
      font-size: 20px;
  }  
}
@media (min-width: 1025px) {
.textbox figure.image.autoHeight .innerBox {
    position: absolute;
    height: 100%;
    width: 100%;
}
}
@media (orientation: portrait) and (min-width: 551px) and (max-width: 1025px) {
  html {
      font-size: 3vw;
  }  
}

@media (orientation: landscape) and (min-width: 551px) and (max-width: 1025px) {
  html {
      font-size: 21px;
  }
}


@media (min-width: 401px) and (max-width: 550px) {
  html {
 font-size: 5vw;
  }  
  
}

@media (min-width: 200px) and (max-width: 400px) {
  html {
      font-size: 5vw;
  }  
}
@media (max-width: 1025px){
:root {
   --font-size-small: .9rem;
   --font-size-normal: .9rem;
   --font-size-normalmedium: .9rem;
   --font-size-nav: 1.2rem;
   --font-size-medium: .9rem;
   --font-size-mediumbig: 1.4rem;
   --font-size-big: 1.5rem;
   --font-size-xtrabig: 1.5rem;
}
    #navigation {
    display: none;
}

#menu {
    top: .5rem;
    right: .25rem;
    z-index: 5;
}

.homepage #intro .text {
    padding: .75rem 1rem;
    order: 2;
}

.homepage #intro {
    height: unset;
}

#intro {
    display: flex;
    flex-direction: column;
    padding: 7.5rem 1rem 1.5rem;
    min-height: unset;
}

.homepage #intro .imagegallery {
    height: 125vw;
}

#logo {
    top: 1rem;
    width: 3.9rem;
    left: 1rem;
}

#stoerer {
    height: 7.5rem;
    width: 7.5rem;
    font-size: var(--font-size-medium);
    right: 1rem;
    bottom: 2rem;
}

.swiper-pagination {
    bottom: 1rem !important;
    gap: .35rem;
}

.swiper-pagination .swiper-pagination-bullet {
    border: var(--color-white) solid 1px;
    height: .45rem;
    width: .45rem;
}

.homepage #intro h1 {
    margin-bottom: .5rem;
}

.textbox > .text, article.textbox.blank > .text {
    padding: 1rem;
}
    .textbox.rightImage > .text{
        padding-left:1rem;
    }

article.textbox, article.formbox {
    display: flex;
    flex-direction: column;
}
.textbox > .text, .textbox .search_it-form, .textbox .search_it-modul {
    padding: 1rem;
}
.textbox .search_it-form {
    position: fixed;
    width: 100%;
    background-color: var(--color-white);
    top: 5rem;
}
    .swiper-button-next, .swiper-button-prev {
    display: none;
}

article.gallery.smallGal .swiper-container {
    position: relative;
}

.smallGal .swiper-pagination {
    position: relative;
    margin-top: 1.5rem;
}

.smallGal figcaption {
    position: relative;
    padding: .5rem;
    font-size: var(--font-size-small);
}
article.gallery.smallGal .imagegallery:after {
    padding-bottom: 100%;
    display: none;
}

article.gallery.smallGal .swiper-slide img {
    max-height: unset;
}

.smallGal .swiper-slide .imageBox {
    left: unset;
    top: unset;
    transform: none;
    position: relative;
}

.smallGal .text.lead {
    position: relative;
    top: 0;
}

.smallGal .text.lead {
    font-size: var(--font-size-mediumbig);
    padding: 1rem;
}
.search_it-modul {
    margin-top: 3rem;
}
.search_it-button svg {
    width: 1.1rem;
}

.search_it-button {
    bottom: .1rem;
}
.textbox .image {
    order: -1;
    padding: 1rem 1rem 0;
}
.textbox .imagegallery{
    order:-1;
}
.textbox h2 {
    margin-bottom: .5rem;
}

article.teaser {
    padding: 1rem;
}
    #longNavigation .search_it-button svg {
    width: 1rem;
}
article.formbox {
    padding: 0;
    gap: 1rem;
}

.textpage main {
    margin-top: 6rem;
}

.textpage h1 {
    padding: 0 1rem;
    position: relative;
    margin-bottom: 1rem;
    left: unset;
}

.dropdownlist .dropdown .titleblock h3 {
    padding-left: 1rem;
}
.formbox .text {
    padding: 1rem 1rem 1rem;
}

.yform form {
    grid-template-columns: repeat(1,1fr);
}
article.multiblock.teamblock {
    gap: 1rem;
}
.twoCols .form-group {
    grid-column: 1 span;
}

.yform h2 {
    grid-column: 1 span;
}

.gap {
    grid-column: 1 span;
    height: 1em;
}
.dropdown .innerBox {
    padding: 0 0 1rem;
}
h2 + .dropdownlist {
    margin-top: 1rem;
}
.textbox .dropdown .image {
    padding: 0;
}
.yform {
    padding: 1rem 1rem 2rem;
}
.logoBig {
    width: 80%;
    margin: 2.5rem auto 5rem;
}

a.teaserLink {
    right: 1rem;
    bottom: 1rem;
}

header {
    height: 6rem;
    z-index: 5;
}

header.fixed, .textpage header {
    top: -6rem;
    transform: translateY(6rem);
}

article.textbox.leftImageBorder .image, article.textbox.leftImageBorder .mapBox {
    padding: 1rem;
}

.textbox.leftImageBorder .text {
    padding: 1rem;
}

.quote figure.image {
    margin: 2.25rem 3.35rem 1rem;
    padding: 0;
}

.textbox.quote .text {
    padding-bottom: 2rem;
}
#subnav {
    margin-bottom: 2.5rem;
}

#intro h1 {
    margin-bottom: .5rem;
}
article.multiblock {
    padding: 1rem 1rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.multiblock > h2 {
    margin-bottom: 0;
    text-align: left;
}
.dropdownlist .dropdown .titleblock h3:before {
    left: -.25rem;
    width: 1rem;
    height: 1.1rem;
    top: .1rem;
}
.texttiles .tblock {
    text-align: left;
    padding: 0 0 1.5rem;
}

.texttiles .tblock h3 {
    padding: 0 0 .5rem;
    margin-bottom: 0;
    display: block;
    text-align: left;
}
ul.socialmedia li svg {
    width: 1.65rem;
}
.tblock h3 {
    text-align: left;
}
.navIn header {
    top: -6rem !important;
    transform: translateY(6rem) !important;
    position: fixed;
    background-color: transparent;
}
   .navIn header #logo .cls-1 {
        fill: #fff;
      }

  .navIn header #logo .cls-2 {
        fill: #fff;
        opacity: .8;
      }
.tblock .image {
    margin-bottom: 1rem;
}
#longNavigation {
    width: 100%;
    padding: 7rem 1.75rem 1rem;
    display: flex;
    z-index: 4;
    flex-direction: column;
}
article.textbox.blank {
    margin-top: 0;
}
#longNavigation ul {border-right: 0;}

#longNavigation > ul > li {
    margin-bottom: 1.5rem;
}

#addressblock {
    display: none;
}
article.multiblock.postit .tblock {
    padding: 1rem;
    min-height: unset;
}

article.multiblock.postit {
    gap: 1rem;
}

article.multiblock.postit .tblock:nth-of-type(2) {transform: none;}

    .formmediafile .filestatus {
    font-size: var(--font-size-small);
    position: relative;
    left: 100%;
    transform: translateX(-100%);
}
#longNavigation > ul > li > a,#longNavigation ul ul {
    font-size: var(--font-size-nav);
}
     .textbox figure.autoHeight.image .innerBox:after{
        padding-bottom: 75%;
}
    .tblock h2, .tblock h3 {
    margin-bottom: .25rem;
    text-align: left;
}
    .textbox .mapBox {
    height: 100vw;
}
article.multiblock.bottomGap {
    padding-bottom: 2rem;
}
.joblist a.readmore {
    margin-top: .5rem;
}

.joblist .tblock {
    padding: 1rem 0 1rem;
}
footer {
    padding: 1rem 1rem 7rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
}
@media (hover: hover) {
footer .text p a:hover, footer .text ul a:hover, footer .text ol a:hover {
    text-decoration:underline;
}
.text a.readmore:hover, .text p:not(.big) a:first-child:last-child:hover, .links p a:hover, a.teaserLink:hover{
    text-decoration: none;
}
#stoerer:hover {
    transform: rotate(10deg);
}
    #longNavigation > ul > li:hover ul, #longNavigation > ul > li:hover ul ul {
  /*  display: block;*/
}
    .tblock > a:hover .image img {
    transform: scale(1.03);
}

.text p a:hover{
     text-decoration: none;     
    }
.text ol a:hover,.text ul a:hover {
    text-decoration: underline;
}
    .text p a:not(.noarrow)[href^="/"]:hover{
    padding-left:.5em;
}
    a.teaserLink:hover{
       padding-right:0; 
    }
#longNavigation ul ul li:hover ul, #longNavigation li:hover .anchorlink {
    display: block;
    padding-bottom: .5rem;
}
#longNavigation li:hover .anchorlink{
    margin-bottom:0;
    padding-bottom: 0;
}
 #longNavigation li:hover .anchorlink + li:not(.anchorlink){
    padding-top: 1.2rem;
}


#longNavigation > ul li a:hover:before{
    content: '\25CF';
    position: absolute;
    margin-left: -1.5rem;
    font-size: .75em;
    line-height: 1.75;
}
#subnav li a:hover {
    text-decoration: underline;
}
}
@font-face {
    font-family: 'Stabil Grotesk';
    src: url('fonts/StabilGrotesk-Regular.woff2') format('woff2'),
        url('fonts/StabilGrotesk-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Stabil Grotesk';
    src: url('fonts/StabilGrotesk-Medium.woff2') format('woff2'),
        url('fonts/StabilGrotesk-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
::selection {
   color: var(--color-white);
   background-color: var(--color-brown);
}
::-moz-selection {
  color: var(--color-white);
   background-color: var(--color-brown);
}

