@font-face {
  font-family: 'BMWTypeNextPro';
  src: url('fonts/BMWTypeNextPro-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'BMWTypeNextPro';
  src: url('fonts/BMWTypeNextPro-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'BMWTypeNextPro', Arial, sans-serif;
  font-weight: 300; /* Light als Standard */
  line-height: 1.6;
  color:#262626;
  font-size:1.2rem;
}

a {
  color: inherit;
  text-decoration: none;
  font-weight:700;
}

a:hover{
  color:#1c69d4;
}

a:focus,
.menu-toggle:focus {
  outline: 2px solid #1c69d4;
  outline-offset: 4px;
}

header {
  position: absolute;
  top: 0;
  width: 100%;
  background-color: transparent;
  color: #fff;
  padding: 0;
  height: 84px;
  z-index: 1000;
}

h1{
  font-weight:300;
  font-size:2.2em;
  text-transform: uppercase;
  text-shadow: #000 0px 0 10px;
  background: rgba(0,0,0,0.01);
}

h2{
  font-weight:300;
  font-size:1.8em;
  margin-bottom:.5em;
}

h2.topline{
  font-weight:300;
  font-size:2.5em;
  margin-bottom:.5em;
  text-align:center;
    text-transform: uppercase;
}

.hero-content h2{
  font-size:1.2em;
  background: rgba(0,0,0,0.01);
}

h3{
  font-weight:300;
  font-size:1.5em;
  margin-bottom:.5em;
}

img{
  width:100%;
  height:auto;
  max-width:100%;
}

p{
  margin-bottom:.75em;
}

ul.liste{
  margin-left:20px;
  list-style-type: square;
  margin-bottom:1.25em;;
}


header .container{
  border-bottom:1px solid #fff;
}

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  max-width: 1700px;
  margin: 0 auto;
  padding: 0 0;
}


.four-column .container{
  align-items:baseline !important;
}


.container .img{
  width:58.333333%;
  box-sizing:border-box;
}


.container .txt{
  width:41.666667%;
  box-sizing:border-box;
  padding: 0 3em;
}


.container .legal{
  width:75%;
  box-sizing:border-box;
}


.logo {
  font-weight: bold;
  font-size: 1.5rem;
}

.logo img{
  width:52px !important;
  height:52px !important;
  max-width:52px !important;
}

.menu-toggle {
  background: none;
  border: none;
  font-size: 2rem;
  cursor: pointer;
}

.logo {
  padding: 0;
  width:52px;
  position:absolute;
}

/* Navigation */
.nav, .backnav{
  margin-left:75px;
}

.nav ul {
  list-style: none;
  display: flex;
  gap: 27px;
  align-items: center; /* Alle Elemente in der Liste werden vertikal zentriert */
  height: 100%; /* Alle Links innerhalb des UL nehmen die gesamte Höhe ein */
  margin: 0; /* Verhindert zusätzliche Abstände im UL */
}

.backnav ul {
  list-style: none;
  }

.nav ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 84px;
}

.nav ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%; /* Der Link nimmt die volle Höhe des li-Elements ein */
  padding: 0;
  font-weight: 700;
  font-family: 'BMWTypeNextPro', Arial, sans-serif;
  transition: all 0.3s ease;
  background: rgba(0,0,0,0.01);
}

.nav ul li a:hover {
  color:#fff;
}

.nav ul li a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  background-color: #1c69d4;
  transition: width 0.3s ease;
}

.nav ul li a:hover::after {
  width: 100%;
}


/* Navigation */

.hero {
  height: 100vh;
  background: url('hero.jpg') center/cover no-repeat;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: #fff;
  text-align: left;
  margin-bottom:5rem;
}

.hero-content {
  width:1700px;
  margin-bottom: 100px;
  position:relative;
  z-index:2;
}

.gradient-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 60%;
  width: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 1), transparent);
  pointer-events: none;
  z-index:1;
}

.gradient-overlay2 {
  position: absolute;
  top: 0;
  left: 0;
  height: 35%;
  width: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 1), transparent);
  pointer-events: none;
  z-index:2;
}

.btn {
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: #1c69d4;
  color: #fff;
  font-weight:700;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display:inline-block;
}

.btn:hover{
  background: #0653b6;
  color:#fff;
}

.btn2{
  font-weight:700;
}

.two-column {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom:5rem;
}

.four-column{
  margin-bottom:5rem;
}

.four-column div.teamkachel{
  margin-right:2%;
  width:20%;
}

.four-column div.last{
  margin-right:0rem;
}

.white {
  background-color: #fff;
}

.grey {
  background-color: #f0f0f0;
  padding:4em 0;
}

.two-column > div {
  flex: 1 1 50%;
  padding: 1rem 0;
}

.bg-image {
  background: url('section-bg.jpg') center/cover no-repeat;
  height: 300px;
}

footer {
  background-color: #f0f0f0;
  padding: 2rem 1rem;
}

.footer ul {
  display:flex;
  width:100%;
  list-style-type: none;
  justify-content:center;
}

.footer ul li{
  padding:10px;
}

.footer ul li a{
  font-weight:700;
}


/* Fullscreen Menu */

.menu-toggle {
      display: none;
      font-size: 28px;
      position: absolute;
      top: 15px;
      right: 4%;
      z-index: 2001;
      cursor: pointer;
      color: #fff;
    }

.menu-toggle.active {
  color: #262626;
}




/* Responsive */

@media (max-width: 1725px) {
  .container, .hero-content {
  max-width: 96%;
  }
}

@media (max-width: 1200px) {
.hero-content {
  margin-bottom: 30px;
  }
}


@media (max-width: 1400px) {
    .container.team{
    flex-wrap: wrap;
    justify-content: space-around;
  }

  .container.team div.teamkachel{
    margin-right:0 !important;
    width:31%;
    margin-bottom:3em;
    text-align:center;
  }
}



@media (max-width: 1024px) {
  .container, .hero-content {
  max-width: 92%;
  }

    .container{
    flex-wrap: wrap;
    justify-content: space-between !important;
  }

  .four-column div.teamkachel{
    margin-right:0 !important;
    width:50% !important;
    margin-bottom:3em;
  }

  .container .img, .container .txt{
    width:100% !important;
    padding:0 0 0 0 !important;
  }

  .contreverse{
    flex-direction: column-reverse;
  }

  .container .legal{
  width:100%;
  box-sizing:border-box;
}
}

@media (max-width: 800px) {
  body {
  font-size:.9em;
  h1{
  font-size:2.1em;
  }
  h2{
  font-size:1.4em;
  }
  h2.topline{
  font-size:2.1em;
  }
  .hero-content h2{
  font-size:1em;
  }
  h3{
  font-size:1.1em;
  }
}



@media (max-width: 750px) {
  .four-column div.teamkachel{
    width:100% !important;
    text-align:left !important;
  }
}


@media (max-width: 640px) {
  .footer ul {
  flex-direction: column;
  list-style-type: square;
  justify-content:left;
  }
  
}


/* Media Query für mobile Ansicht */
    @media (max-width: 768px) {
      .menu-toggle {
        display: block;
      }

    .nav.fullscreen {
      position: fixed;
      display:flex;
      margin-left:0;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: white;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      transform: translateY(-100%);
      transition: transform 0.3s ease;
      z-index: 2000;
    }

    .nav.fullscreen ul {
      flex-direction: column;
      gap: 30px;
      justify-content:center;
    }

    .nav.fullscreen ul li{
      height:auto;
    }

    .nav.fullscreen ul a{
      color:#262626 !important;
      font-size:1.5em;
    }

    .nav.fullscreen.active {
      transform: translateY(0);
    }
    .btn, .hero-content h1, .hero-content h2{
    width:100%;
    text-align:center;
  }
    }