@font-face {
  font-family: 'Sans Regular 400';
  src: url('OpenSans.ttf'); /* specify the path to the uni-sans font file */
}


.header {
  max-width: 90%;
  margin: 20px auto;
  background-color: #ffffff;
  padding: 10px 0;
  border-bottom: 1px solid #ddd; /* ✨ NEW: subtle separator */
}

.header-content {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.header-left {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}






/* 🔵 Header Links (Übersicht, YouTube, Makro, etc.) */
.header-left a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  font-weight: 600; /* ⬆️ slightly bolder */
  font-size: 18px;  /* ⬆️ match rest of site */
  padding: 6px 12px;  /* ⬆️ add internal spacing */
  margin-right: 10px; /* ⬇️ reduced for consistency */
  border-radius: 6px;
  transition: background-color 0.2s ease-in-out;
}





/* Apply hover background only to links without an image */
.header-left a:not(:has(img)):hover {
  background-color: #e0e0e0;
}




/* 🔵 Optional: make the project title bigger */
.project-title {
  font-weight: bold;
  font-size: 20px;
  margin-right: 30px;   /* ⬆️ More spacing between title and links */
  padding-right: 10px;  /* Optional: subtle internal spacing */
  align-self: center;  /* ✅ ensures it aligns with the logo vertically */
line-height: 1;       /* ✅ eliminates unwanted vertical spacing */
}




.header-right img {
  height: 48px;
  object-fit: contain;
  vertical-align: middle; /* ✨ NEW: aligns logo better with text */
}







.logo {
  height: 48px;
  object-fit: contain;
  margin-right: 15px;
}


h1 {
  font-size: 24px;          /* Match your typical heading size */
  margin: 20px 0 10px 0;    /* Tighter spacing above and below */
  font-weight: 600;         /* Optional: slightly bolder */
  color: #333333;           /* Same as your main text color */
  text-align: center;       /* Optional: center it like your layout */
}

h1.seo-hidden {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}


@media only screen and (max-width: 1300px) {
  .hide-on-small {
    display: none !important;
  }

  .header-content {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
  }

  .header-left {
    gap: 10px;
    flex-wrap: wrap;
  }

  .header-left a {
    font-size: 28px !important;
  }

  .project-title {
    font-size: 28px;
  }

  .header-right img {
    height: 52px;
  }
}



@media only screen and (max-width: 1300px) {
  .header {
    padding: 5px 0; /* reduce top/bottom padding */
    margin: 10px auto; /* less vertical space */
  }

  .header-right img {
    height: 44px !important; /* slightly smaller logo */
  }

  .project-title {
    font-size: 28px !important; /* just a little smaller */
    margin-right: 20px;
  }

  .header-left a {
    padding: 4px 8px !important;  /* more compact link padding */
    font-size: 28px !important;
    margin-right: 8px !important;
  }

  .header-content {
    gap: 8px; /* slightly reduce space between elements */
  }

  .header-left {
  gap: 8px !important;
}

}




body {
  font-family: 'Sans Regular 400';
  margin: 0; /* Remove the default margin */
}


.full-width-image {
  width: 100%;
  height: auto;
}

/* Example styles for the columns */
.columns {
  display: flex;
  margin-top: 5px;
}


@media (max-width: 1300px) {
  /* Apply styles when screen width is 768px or smaller (e.g., mobile devices) */
  .columns {
    display: block;
  }

  .columnup {
    margin-bottom: 20px;
  }
}


@media (max-width: 1300px) {
  /* Apply styles when screen width is 768px or smaller (e.g., mobile devices) */
  .column {
    display: block;
  }
}


@media (max-width: 1300px) {
  /* Apply styles when screen width is 768px or smaller (e.g., mobile devices) */
  .mobile-font-size {
    font-size: 28px; /* Adjust the font size as needed */
  }
}




/* Example styles for the box */
.box {
  background-color: #f9f9f9;
  padding: 20px;
  margin-top: 20px;
}

.box-header {
  margin-bottom: 20px;
}


@media (min-width: 1300px) {
  /* Apply styles when screen width is 768px or smaller (e.g., mobile devices) */
  .box-content {
    display: flex;
  }
}


@media (max-width: 1300px) {
  /* Apply styles when screen width is 768px or smaller (e.g., mobile devices) */
  .menu-button {
    font-size: 28px;
  }
}

.column {
  flex-basis: 50%;
  padding: 5px;
  display: flex;
  flex-direction: column;
  background-color: #f9f9f9
}


.columnup {
  flex-basis: 50%;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  background-color: #f9f9f9
}

.menu-button {
  padding: 10px;
  background-color: #d0d0d0;   /* HINTERGRUND OBERMENÜ! */
  color: #000000;
  border: none;
  cursor: pointer;
  text-align: left; /* Align text to the left */
  font-size: 16px;
  font-family: 'Sans Regular 400';
  transition: background-color 0.3s ease;
  margin-bottom: 10px;
}

.menu-button:hover {
  background-color: #bfbfbf ;   /* HOVER OBERMENÜ */
}

.contact-info {
  margin-bottom: 1px; /* Adjust the value as needed */
}

.column img {
  max-width: 100%;
}


.menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.menu a {
  display: block;
  text-decoration: none;
  color: #000000;
  background-color: #e6e6e6; /* HINTERGRUND UNTERMENÜ! */
  padding: 10px;
  margin-bottom: 5px; /* Add margin-bottom to create space after each link */
  border: none;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
}

.button a {
  display: block;
  text-decoration: none;
  color: #000000;
  background-color: #bfbfbf;
  padding: 10px;
  margin-bottom: 5px; /* Add margin-bottom to create space after each link */
  border: none;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
}

.menu a.last-link {
  margin-bottom: 10px; /* Increase the margin for the last link */
}

.menu a:hover {
  background-color: #bfbfbf;  /* HOVER UNTERMENÜ! */
}

/* Example styles for the wrapper */
.wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}


.download-button {
  margin-top: 20px;
  text-align: left;
}

.download-button a {
  display: block;
  background-color: #333;
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s;
  font-size: 20px;
}

.download-button a:hover {
  background-color: #555;
}

.vertical-space {
  height: 20px; /* Adjust the height as needed to create the desired vertical space */
}


@media only screen and (max-width: 1300px) {
  body {
    font-size: 28px;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: 1.8em;
  }

  .menu-button,
  .menu a,
  .button a,
  .download-button a {
    font-size: 28px !important;
  }

  .project-title,
  .header-left a {
    font-size: 28px !important;
  }
}
