.h1 {
  font-size: 2em;
  color: grey;
}

.header-Text {
  font-family: 'Inter', 'Roboto', sans-serif; /* Modern, clean font */
  color: white; /* Brighter, more legible color */
  font-size: 42px;
  font-weight: 600; /* Semi-bold instead of heavy */
  letter-spacing: -0.5px; /* Tighter letter spacing */
  margin: 2rem 16px 1rem;
}

.header-link {
  font-family: 'Inter', 'Roboto', sans-serif;
  color: rgb(180, 180, 180);
  transition: color 0.3s ease;  
  font-size: 16px;
  font-weight: 500; /* Medium weight */
  letter-spacing: 0.2px;
  text-transform: uppercase; /* Optional, for a more modern look */
  padding: 0.75rem 1.25rem;
}

h2 {
  color: #e4e4e4; /* white color */
  font-weight: normal; /* bold weight */
}

.body {
  font-family: 'Inter', 'Roboto', sans-serif;
  background-color: rgb(39, 39, 39);
  max-width: max-content;
  margin: auto;
}

.maintext {
  text-align: center;
  justify-content: center;
  align-items: center
}

.header {
  text-align: center;
}

.Logo {
  width: 500px;
  align-items: center;
  text-align: center;
}

.Logo img {
  display: flex;
  /* justify-content: center; */
  align-items: center;
  /* text-align: center; */
  width: 300px;
}

.base-image {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  border-radius: 5px;
  margin-bottom: 5px;
  opacity: 30%;
  transition: all .7s ease;
}

.base-image:hover {
  opacity: 100%;
}

.image-container {
  background-color: rgb(39, 39, 39);
  /* padding: 16px; */
  display: flex;
  /* position: relative; */
  align-items: center;
  justify-content: center;
  flex-direction: row;
}

.bio-text {
  line-height: 1.6;
  max-width: 650px;
  margin-top: 20px;
  color: #d0d0d0;
  font-size: 16px;
  font-family: 'Inter', sans-serif;
}

.bio-text p {
  margin-bottom: 1rem;
}

.nav-bar {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
  background-color: rgb(33, 33, 33);
  width: 100%;
  margin-bottom: 1.5rem;
}

.header-link-container {
  font-family: 'Inter', 'Roboto', sans-serif;
  display: flex;
  gap: 1.5rem;
}

.footer-link-container {
  font-family: 'Inter', 'Roboto', sans-serif;
  /* border: 2px solid red; */
  align-self: center;
  width: 100%;
  margin-bottom: 0px;
}

.header-link:hover {
  text-decoration: none;
  color: white !important;
}

.header-link.active {
  color: white !important;
}

.footer-link {
  font-style: normal;
  color: rgb(102, 102, 102);
  text-decoration: none;
  margin-left: 16px;
  margin-right: 16px;
  font-weight: 700;
  align-self: center;
  /* border: 2px solid red; */
}

.link {
  font-weight: bold;
  color: grey;
  text-decoration: none;
  margin-left: none;
  font-weight: none;
  /* border: 2px solid red; */
}

a {
  text-decoration: none;
/*   color: rgb(102, 102, 102); */
}

a:hover {
  text-decoration: underline;
  color: white;
  /* zoom: 150%; */
}

.text-highlight {
  color: grey;
  font-size: 40px;
  text-transform: capitalize;
  /* border: 2px solid red; */
  text-align: center;
}

.impressum {
  color: grey;
  font-size: 25;
  display: flex;
  align-self: flex-start;
  flex-direction: row;
  align-self: center;
  text-align: center;
  margin: auto;
}

.paragraph {
  flex: auto;
  color: grey;
  font-size: 25;
  width: 100%;
  align-self: center;

}

.maps-container {
  flex: auto;
  display: block;
  width: 100%;
  align-self: center;
}

.wrapper {
  position: relative;
  overflow: hidden;
  padding-top: 75%;
  min-width: 1400px;
}

.wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.loader-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgb(39, 39, 39);
  display: flex;
  justify-content: center;
  align-items: center;
}

.loader {
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  border: 4px solid #fff;
  animation: loader 2s infinite ease;
}

.loader-inner {
  vertical-align: top;
  display: inline-block;
  width: 100%;
  background-color: #fff;
  animation: loader-inner 2s infinite ease-in;
}

@keyframes loader {
  0% {
    transform: rotate(0deg);
  }

  25% {
    transform: rotate(180deg);
  }

  50% {
    transform: rotate(180deg);
  }

  75% {
    transform: rotate(360deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes loader-inner {
  0% {
    height: 0%;
  }

  25% {
    height: 0%;
  }

  50% {
    height: 100%;
  }

  75% {
    height: 100%;
  }

  100% {
    height: 0%;
  }
}

@media (max-width: 1500px) {
  .wrapper {
    min-width: 1200px
  }

  @media (max-width: 1200px) {
    .wrapper {
      min-width: 900px
    }

    @media (max-width: 900px) {
      .nav-bar {
        flex-direction: column;
      }

      .image-container {
        flex-direction: column;
      }

      .impressum {
        flex-direction: column;
      }

      .h1 {
        font-size: 1.7em;
      }

      .base-image {
        opacity: 100%;
      }

      .wrapper {
        min-width: 800px;
      }


    }

    @media (max-width: 800px) {
      .impressum {
        flex-direction: column;
      }

      .footer-link-container {
        margin-bottom: 10px;
      }

      .h1 {
        font-size: 1.5em;
      }

      .header-link-container {
        font-size: small;

      }

      .base-image {
        opacity: 100%;
      }

      .wrapper {
        min-width: 400px;
      }

      .Logo {
        width: 250px;
      }

      @media (max-width: 400px) {
        .nav-bar {
          flex-direction: column;
        }

        .image-container {
          flex-direction: column;
        }

        .header-Text {
          font-size: 35px;
        }

        .text-highlight {
          font-size: 30px;
        }

        .header-link-container {
          font-size: small;
        }

        .base-image {
          opacity: 100%;
        }

        .wrapper {
          min-width: 300px;
        }

        .Logo {
          width: 100px;
        }

      }
    }
  }
}
