@font-face {
  font-family: "Neuzeit Grotesk Bold";
  src: url("fonts/NeuzeitGrotesk-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Neuzeit Grotesk Bold", sans-serif;
  color: transparent;
  -webkit-text-stroke: 0.6px black;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  background: url("images/background.jpg") no-repeat center center fixed;
  background-size: cover;
}

/* ===== Lade-Overlay ===== */
#loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  z-index: 9999;
  opacity: 1;
  transition: opacity 1s ease;
}

/* ===== Header ===== */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 2px;
}

header a.brand {
  text-decoration: none;
  color: transparent;
  white-space: nowrap;
  line-height: 1;
  transition: color 0.3s;
}

header a.brand:hover {
  color: yellow;
}

header a.info {
  text-decoration: none;
  color: transparent;
  white-space: nowrap;
  line-height: 1;
  transition: color 0.3s;
  animation: pulse 4s infinite;
}

header a.info:hover {
  color: yellow;
  animation: none;
}

/* Keyframes für Puls-Effekt */
@keyframes pulse {
  0%, 90%, 100% { color: transparent; }
  95% { color: yellow; }
}

/* ===== Footer ===== */
footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding: 0;
}

#bottom-text {
  white-space: nowrap;
  color: transparent;
  line-height: 1;
  text-decoration: none;
  transition: color 0.3s;
}

footer:hover #bottom-text {
  color: yellow;
}


/* Mobile: MSc ETH ausblenden */
@media (max-width: 560px) {
  #bottom-text .msc {
    display: none;
  }
}
