﻿/* =========================================================
   HEADER
========================================================= */

.kopfbereich {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: #fbfaf5;
  box-shadow: 0 8px 30px rgba(40,60,35,0.08);
}

.kopfbereich .container-fluid {
  padding-left: 0;
  padding-right: 0;
}

.header-inner {
  margin: 0 auto;
  padding: 0 2rem;
  background:
    radial-gradient(circle at left top, rgba(153,198,101,0.10), transparent 18%),
    radial-gradient(circle at right top, rgba(153,198,101,0.12), transparent 20%);
}

/* =========================================================
   LOGO
========================================================= */

.header-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-logo img {
  max-width: 320px;
  height: auto;
}

/* =========================================================
   MENÜ
========================================================= */

.header-menu {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}

.header-menu ul {
  margin: 0;
  padding: 0;
}

.header-menu li {
  list-style: none;
}

.header-menu,
.header-menu * {
  white-space: normal !important;
}

.header-menu .navilo {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;

  width: fit-content;
  max-width: 95vw;

  margin: 0 auto;

  border-top: 1px solid rgba(49,82,52,0.12);
}

.header-menu .navilo > li {
  display: block;
}

.header-menu .sub2 {
  display: flex !important;
  justify-content: center;
  flex-wrap: wrap;

  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;

  background: none !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 !important;
}

/* =========================================================
   MENÜPUNKTE
========================================================= */

.header-menu a {
  display: flex;
  justify-content: center;
  align-items: center;

  min-width: 240px;
  max-width: 280px;

  padding: 1.2rem 1.6rem;

  text-align: center;
  text-decoration: none;

  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;

  text-transform: uppercase;

  color: #263b2a;

  border-right: 1px solid rgba(49,82,52,0.12);

  transition:
    background 0.22s ease,
    color 0.22s ease;
}

.header-menu a:hover,
.header-menu li.active > a,
.header-menu li.act > a {
  background: rgba(153,198,101,0.06);
  color: #7ea048;
}

.header-menu a:last-child {
  border-right: none;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1500px) {

  .header-inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .header-menu a {
    min-width: 220px;
    min-height: 70px;
    font-size: 0.95rem;
  }

  .header-logo img {
    max-width: 280px;
  }
}

@media (max-width: 1200px) {

  .header-menu .navilo {
    max-width: 96vw;
  }

  .header-menu a {
    min-width: 180px;
    min-height: 90px;
    font-size: 0.88rem;
    padding: 1rem;
  }
}