@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;
}









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;
}










/* 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 1300px or larger (e.g., desktop devices) */
  .box-content {
    display: flex;
  }
}



.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;
  width: 100%;
  box-sizing: border-box;
}

.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;
}


.menucopy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.menucopy a {
  display: block;
  text-decoration: none;
  color: #000000;
  background-color: #f9f9f9; /* HINTERGRUND UNTERMENÜ! */
  padding: 0px;
  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Ü! */
}


.menucopy a.last-link {
  margin-bottom: 10px; /* Increase the margin for the last link */
}




/* 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 */
}


/* ========================================
   MOBILE & TABLET STYLES (max-width: 1024px)
   ======================================== */
@media only screen and (max-width: 1024px) {
  /* Hide elements on small screens */
  .hide-on-small,
  a.hide-on-small {
    display: none !important;
  }

  /* Header adjustments */
  .header {
    padding: 5px 0; /* reduce top/bottom padding */
    margin: 10px auto; /* less vertical space */
  }

  .header-content {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px; /* slightly reduce space between elements */
  }

  .header-left {
    gap: 8px;
    flex-wrap: wrap;
  }

  .header-left a {
    padding: 4px 8px; /* more compact link padding */
    font-size: 34px !important;
    margin-right: 8px;
  }

  .project-title {
    font-size: 34px !important;
    margin-right: 20px;
  }

  .header-right img {
    height: 44px !important; /* slightly smaller logo */
  }

  /* Typography adjustments */
  h1, h2, h3, h4, h5, h6 {
    font-size: 2.8em !important; /* Much larger than buttons */
  }

  p {
    font-size: 28px !important; /* Smaller than headlines, similar to menu items */
    line-height: 1.4 !important; /* Better line spacing for larger text */
  }


  /* Layout adjustments */
  .columns {
    display: block;
  }

  .column {
    display: block;
  }

  .columnup {
    margin-bottom: 20px;
  }

  /* Menu and button styles */
  .menu-button {
    font-size: 34px !important;
    width: 100% !important;
    display: block !important;
    min-height: 48px !important; /* Better touch target */
    padding: 12px 10px !important; /* Increased padding for better touch area */
  }

  .menu a,
  .menu > a,
  div.menu a,
  #menu1 a,
  #menu2 a,
  #menu a,
  #menua a,
  #menu2a a,
  #menu1a a,
  #menu3 a,
  #menu4 a,
  #menu5 a,
  #menu3a a,
  #menuUnterlagenLiteratur a,
  #menuUnterlagenSkripte a,
  #menuUnterlagenHausarbeiten a,
  #menuUnterlagenDaten a,
  #menuUnterlagenLaTeX a {
    font-size: 32px !important;
    -webkit-text-size-adjust: none !important;
    text-size-adjust: none !important;
    min-height: 44px !important; /* Better touch target */
    padding: 12px 10px !important; /* Increased padding for better touch area */
  }


  .menucopy a,
  .menucopy > a,
  div.menucopy a,
  #menucopy1 a {
    font-size: 32px !important;
    -webkit-text-size-adjust: none !important;
    text-size-adjust: none !important;
    min-height: 44px !important; /* Better touch target */
    padding: 0px 0px !important; /* Increased padding for better touch area */
  }



  .button a {
    font-size: 32px !important;
    min-height: 44px !important; /* Better touch target */
    padding: 12px 10px !important; /* Increased padding for better touch area */
  }

  .download-button a {
    font-size: 32px !important;
    min-height: 48px !important; /* Better touch target */
    padding: 12px 20px !important; /* Increased padding for better touch area */
  }

  .mobile-font-size {
    font-size: 32px;
  }
}

/* ========================================
   PHONE ONLY STYLES (max-width: 768px)
   ======================================== */