.landing-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%; }

.landing-page {
  display: grid;
  grid-template-areas: "image" "nav" "bottom";
  grid-template-rows: 4.2fr 0.2fr 0.1fr; }
  .landing-page img {
    grid-row: image / bottom;
    grid-column: 1; }
  .landing-page ul.topnav {
    grid-area: nav;
    margin: 0 auto; }
  .landing-page a.nav-link {
    color: #fff; }

#contentarea #topnavbar {
  margin-bottom: 4em; }
  #contentarea #topnavbar .menu-toggle {
    display: none; }

#tx_cookies_showPermanent {
  top: initial !important;
  bottom: 1rem; }

#tx_cookies .btn {
  border-radius: 5px;
  color: #fff;
  padding: 5px;
  font-weight: 400; }
  #tx_cookies .btn:not(.btn-dark) {
    background-color: #207838; }

#tx_cookies_inner {
  margin-bottom: -15%;
  width: 60%;
  margin-left: 20%;
  border-radius: 15px;
  padding: 1em !important;
  box-shadow: 6px 6px 15px rgba(0, 0, 0, 0.1);
  line-height: 1.5;
  border: 1px solid #000; }
  #tx_cookies_inner.show {
    margin-bottom: 15%; }

@media screen and (max-width: 1000px) {
  .landing-wrapper {
    display: block; }
  .landing-page {
    width: 100%;
    display: flex;
    flex-direction: column; }
    .landing-page img {
      max-width: 100%;
      max-height: 80%;
      margin: 0 auto; }
      .landing-page img.banner {
        content: url("/typo3conf/ext/gztemplate/Resources/Public/images/homepage_mobile.jpg"); }
    .landing-page .topnav {
      max-width: 90%;
      flex-direction: row;
      flex-wrap: wrap;
      column-gap: 1em; }
      .landing-page .topnav li.nav-item {
        display: block;
        width: 45%;
        border-left: 1px solid #fff;
        font-size: clamp(10px, 150%, 2em);
        height: fit-content;
        text-align: center;
        background: #22783978;
        padding-block: 0.2em; } }

@media screen and (max-width: 670px) {
  #tx_cookies_inner {
    width: 80%;
    margin-left: 10%; }
  .landing-wrapper {
    display: block; }
  .landing-page {
    width: 100%;
    display: flex;
    flex-direction: column; }
    .landing-page img {
      max-width: 100%;
      max-height: 80%;
      margin: 0 auto; }
      .landing-page img.banner {
        content: url("/typo3conf/ext/gztemplate/Resources/Public/images/homepage_mobile.jpg"); }
    .landing-page .topnav {
      flex-direction: column; }
      .landing-page .topnav li.nav-item {
        display: block;
        width: 100%;
        border-left: 1px solid #fff;
        font-size: clamp(10px, 150%, 2em);
        height: fit-content;
        text-align: center;
        background: #22783978;
        padding-block: 0.2em; }
  #contentwrapper {
    all: unset;
    width: 100% !important; }
    #contentwrapper #header {
      all: unset;
      width: 100% !important; }
      #contentwrapper #header a > img {
        all: unset;
        width: 100% !important;
        object-fit: contain; }
    #contentwrapper #footer {
      width: 100% !important;
      background-image: url(/typo3conf/ext/gztemplate/Resources/Public/images/footer_bg.jpg);
      object-fit: contain; }
  #contentarea {
    all: inherit;
    width: 100% !important;
    height: fit-content;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    #contentarea #leftNavigation {
      float: none;
      width: fit-content;
      margin-left: 1.5em; }
    #contentarea #topnavbar {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 100% !important;
      height: fit-content;
      padding-block: 0.5em;
      margin-bottom: 1em;
      border-bottom: 1em solid #207838; }
      #contentarea #topnavbar .menu-toggle {
        display: block;
        all: unset;
        border-radius: 5px;
        background-color: #207838;
        color: #fff;
        font-weight: 500;
        font-size: 1.5em;
        padding-block: 0.2em;
        padding-inline: 0.5em; }
      #contentarea #topnavbar .topnav {
        display: none; }
        #contentarea #topnavbar .topnav.dropdown {
          display: flex;
          flex-direction: column;
          margin-top: 0.5em; }
          #contentarea #topnavbar .topnav.dropdown li.nav-item {
            border: none !important; }
    #contentarea #contentblock, #contentarea #contentblock-content {
      width: 99% !important;
      margin: 0 !important; }
    #contentarea #contentblock-content {
      padding-inline: 0.5em; }
    #contentarea .ce-textpic {
      display: flex;
      flex-direction: column; }
      #contentarea .ce-textpic.ce-intext.ce-right {
        flex-direction: column-reverse; }
    #contentarea .ce-gallery {
      margin-left: 0 !important; }
      #contentarea .ce-gallery .ce-row {
        display: flex;
        justify-content: center;
        flex-direction: column;
        row-gap: 0.5em; }
  .col-md-12 {
    padding-inline: 10px; }
  .news.news-single > .article {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: none;
    gap: 0px 0em;
    grid-template-areas: "title" "date" "teaser" "content" "images" "back"; }
    .news.news-single > .article div.news-img-wrap {
      grid-area: images;
      grid-column: 1;
      margin-bottom: 1em !important; }
  .news-list-view .article .news-list-item {
    display: flex;
    float: none;
    flex-direction: column;
    align-items: center; }
  form .form-group {
    display: flex;
    flex-direction: column; }
    form .form-group .control-label {
      all: unset !important; }
  form .btn {
    float: none;
    margin: 0 !important; } }

.flex-center-center, .landing-page .topnav {
  display: flex;
  justify-content: center;
  align-items: center; }
