*{
    box-sizing: border-box;
}
body{
  --red: rgb(246, 0, 0);
    --green: rgb(0, 226, 0);
    --blue: #00a6ff;
    --yellow: rgb(255, 255, 0);
    --orange: rgb(255, 145, 0);
    --lila: rgb(136, 0, 255);
    --pink: rgb(231, 0, 231);
    --dark-green: rgb(0, 160, 0);
    --neon-green: rgb(45, 255, 3); /*rgb(4, 255, 0)*/

    --red-hover: rgb(246, 0, 0, 0.700);
    --green-hover: rgb(0, 226, 0, 0.700);
    --blue-hover: rgb(0, 166, 255, 0.700);
    --yellow-hover: rgb(255, 255, 0, 0.700);
    --orange-hover: rgb(255, 145, 0, 0.700);
    --lila-hover: rgb(136, 0, 255, 0.700);
    --pink-hover: rgb(231, 0, 231, 0.700);
    --dark-green-hover: rgba(0, 160, 0, 0.700);

    --red-active: rgb(246, 0, 0, 0.500);
    --green-active: rgb(0, 226, 0, 0.500);
    --blue-active: rgb(0, 166, 255, 0.500);
    --yellow-active: rgb(255, 255, 0, 0.500);
    --orange-active: rgb(255, 145, 0, 0.500);
    --lila-active: rgb(136, 0, 255, 0.500);
    --pink-active: rgb(231, 0, 231, 0.500);
    --dark-green-active: rgb(0, 160, 0, 0.500);

    --rad1: 5px;
    --rad2: 10px;
    --pad: 7px;
    --brd:3px solid black;
    --font10: 10px;
    --font15: 15px;
    --font20: 20px;
}
html, header {
    height: 100%;
    margin: 0;
  }
  
  header {
    /* Starte mit einem diagonalen Gradient */
    background: linear-gradient(135deg, #009f9a, #a5e228, #009f9a);
    background-size: 300% 300%; /* größerer Bereich für Bewegung */
    animation: wave 10s ease-in-out infinite;
    color: #043;
  }
  
  @keyframes wave {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }

 #section1 {
/* height: 100%;
margin: 0; */
}
  
#section1 {
/* Ein diagonaler Verlauf von Schwarz nach Dunkelblau */
/* background: linear-gradient(180deg, #ff9900af, #ff000095); */
/* oder: background: linear-gradient(to bottom right, #000, #002b80); */


/* color: #cce4ff; */
} 


body{
margin: 0;
font-family: National Park, Arial, sans-serif;
}

#title{
    text-align: center;
    padding: 40px;
    font-size: 50px;
    margin: 0px;
}

#h1{
    text-decoration: none;
    color: black;
    margin: 0px;
}

/* --NAVBAR--*/
.navbar{
    background: black;
    color: white;
    padding: 0px;
    margin: 0px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 9999;
}

nav.fixed{

    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    background-color: #222;
}

.menü{
    position: relative;
    display: inline-block;
}
.menü:hover .dropdown{
    display: block;
}
.menü button{
    background: none;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
    padding: 20px;
    
}
.menü:hover button {
    transition: 0.5s;
    background: rgba(128, 128, 128, 0.4);
  }
  .menü button .icon {
    display: inline-block;
    transition: transform 0.3s ease; /* weiche Drehung */
  }

  /* Wenn der Nutzer über den Menücontainer hovert */
  .menü:hover button .icon {
    transform: rotate(90deg);
  }
.links .btn{
    font-family: National Park, Arial, sans-serif;
}
.rechts .btn{
    height: 66px;
    padding-right: 10px;
    padding-left: 10px;
}
#language{
  font-family: National Park, Arial, sans-serif;
}
.dropdown{
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: black;
    overflow: hidden;
    background-color: black;
}


.dropdown a{
    color: white;
    text-decoration: none;
    padding: 10px;
    display: block;
    
}

.dropdown a:hover {
    /*transition: 0.5s;
     background: rgba(128, 128, 128, 0.6); */
  }
#dropdown1{
    width: 114.367px
}
#dropdown2{
    width: 179.8px
}
#dropdown3{
    width: 189.75px
}
#dropdown4{
    width: 241.133px
}
#dropdown5{
    width: 90px
}
#dropdown6{
    width: 90px
}
.navbar a:hover{
  color: var(--green);
}
.navbar button:hover{
  color: var(--green);
}
/* -- search bar -- */
#searchBtn {
    color: black;
    margin: 0px;
    padding: 0px;
  }
  .search:hover{
      background-color: #dcdcdc;
  }
  .search:hover #searchBtn{
    background-color: #dcdcdc;
}
  .search {
      --padding: 10px;
                  
      width: max-content;
      display: flex;
      align-items: center;
      padding: var(--padding);
      border-radius: 50px;
      background: hsl(0, 0%, 92%);
      transition: background 0.3s, box-shadow 0.3s;
      transform: translateY(-2px);
  }
  .search:focus-within{
      background: #f1f1f1;
      box-shadow: 0 0 2px black;
  }
  .search:focus-within #searchBtn{
    background: #f1f1f1;
    
}


  .search-input{
      font-size: 16px;
      font-family: National Park, Arial, sans-serif;
      color: #333333;
      margin-left: var(--padding);
      outline: none;
      border: none;
      background: transparent;
  }
  
  .search-input::placeholder{
      color: rgba(0,0,0,0.4);
  }
  #results{
      position:absolute;
      background-color: #333;
      padding: 10px;
      border-bottom-left-radius: 10px;
      border-bottom-right-radius: 10px;
      transform: translateY(-2px);
      transform: translateX(17px);
      margin: 0px;
  }
/*Flaggenbilder*/

.flags{
  width: 50px;
}
#dropdown7 {
    align-items: center;
    justify-content: center;
    text-align:center;
}

main{
  padding-left: 20px;
  padding-right: 20px;
}
/* -- SECTIONS -- */
#hi{
    padding: 20px;
    margin: 0px;
    margin-top: 20px;
}
#slogan{
    text-decoration: none;
    color:rgb(0, 195, 0);
}
#slogan:hover{
    color:rgb(0, 145, 0);
}
section{
    height: 100vh;
    text-align: center;
    color: white;
    z-index: 9999;
    
}
section a{
    text-decoration: none;
    color:rgb(0, 195, 0);
    z-index: 9999;
}
section a{
  text-decoration: none;
  color:rgb(0, 195, 0);
  z-index: 9999;
}
section a:hover{
    color:rgb(0, 145, 0);
}

#section1{
    text-align: center;
    margin: 0px;
    padding-bottom: 30px;
}
#featurescontainer{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}
.features{
    padding: 20px;
    Width: 25vw;
    height: inherit;
    font-weight: bold;
    /* align-self: center; */
}
.features span{
    font-size: 100px;
}
#texts{

}
#audio{
    color: rgb(0, 130, 190);
}
#checkedtext{
    color: rgb(0, 195, 0);
    font-size: 40px;
}
#dictionary{
    color: rgb(130, 43, 0);
}

/* .material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
} */
 .features{
    
 }
 #features ul{
    text-align: left;
    
}
#section2{
    text-align: center;
}
#section3{
    text-align: center;
}
#description{
    width: 50%;
    display: inline-block;
}

.fat{
    font-size: 100px;
}
.fat2{
    font-size: 75px;
}
.fat3{
    font-size: 60px;
}
.fat4{
    font-size: 50px;
}
footer{
    text-align: center;
    padding: 50px;
    background-color: black;
    color: white;
}
/*BACKGROUND MAIN*/
:root {
    --bg1: #090909;
    --bg2: #151515;
    --line-bright: #b6ff3b;   /* hellgelbgrün */
    --line-dark: #0f3a20;     /* dunkelgrün */
    --grid-color: #7aff4a;    /* schwach leuchtendes Grün fürs Gitter */
    --grid-size: 250px;
    --grid-thickness: 1px;
    --line-thickness: 3px;
    --move-time-h: 5s;
    --move-time-v: 5s;
  }

  /* Entferne body-Styles, die die gesamte Seite einnehmen und 'overflow: hidden' setzen */
  body {
    margin: 0;
    /* Optional: Ein neutraler Hintergrund für den Rest der Seite */
    background-color: var(--bg2); 
  }

  /* Wende den speziellen Hintergrund und die volle Höhe auf <main> an */
  main {
    /* Setze Höhe und Hintergrund wie zuvor für body */
    min-height: 100vh; /* Mindestens die Höhe des Viewports */
    background: radial-gradient(circle at 40% 30%, var(--bg1), var(--bg2) 80%);
    position: relative; /* Wichtig für die Positionierung der absoluten Kinder */
    overflow: hidden; /* Verhindert Scrollbalken durch die hinauslaufenden Streifen */
    padding-bottom: 50px; /* Beispiel für etwas Platz, falls der Footer drunter ist */
  }

  .scene {
    position: absolute; /* Muss innerhalb von <main> absolut positioniert werden */
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  /* --- zartes Gittermuster im Hintergrund --- */
  .grid {
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(var(--grid-color) var(--grid-thickness), transparent var(--grid-thickness)),
      linear-gradient(90deg, var(--grid-color) var(--grid-thickness), transparent var(--grid-thickness));
    background-size: var(--grid-size) var(--grid-size);
    opacity: 0.08; /* nur leicht sichtbar */
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 3px var(--grid-color));
    z-index: 1;
  }
  
  /* Grund-Style für alle Energie-Streifen */
  .beam {
    position: absolute;
    background: linear-gradient(
      to right,
      var(--line-dark) 0%,
      var(--line-bright) 50%,
      rgba(182,255,59,0) 100%
    );
    filter: drop-shadow(0 0 6px var(--line-bright));
    opacity: 0.85;
    z-index: 2; /* über dem Gitter */
  }

  /* horizontale Streifen */
  .beam.h {
    /* width: 60vw; -> muss jetzt auf main bezogen werden, z.B. 60% oder 60vw wenn es Viewport-abhängig bleiben soll */
    width: 60vw; 
    height: var(--line-thickness);
    animation: moveH var(--move-time-h) linear infinite;
  }
  .beam.h.reverse {
    animation: moveHReverse var(--move-time-h) linear infinite;
  }

  /* vertikale Streifen */
  .beam.v {
    /* height: 60vh; -> muss jetzt auf main bezogen werden, z.B. 60% oder 60vh wenn es Viewport-abhängig bleiben soll */
    height: 50%;
    width: var(--line-thickness);
    background: linear-gradient(
      to bottom,
      var(--line-dark) 0%,
      var(--line-bright) 50%,
      rgba(182,255,59,0) 100%
    );
    animation: moveV var(--move-time-v) linear infinite;
  }
  .beam.v.reverse {
    animation: moveVReverse var(--move-time-v) linear infinite;
  }

  /* --- Keyframes für Bewegungen --- */
  /* Die Keyframes müssen auch angepasst werden, um sich auf die Ränder des <main>-Elements zu beziehen, 
     aber da sie Viewport-Units (vw/vh) verwenden, bleiben sie größtenteils gleich,
     sie bewegen sich relativ zum Viewport, was OK ist, solange <main> sichtbar ist.
     Wenn sie sich relativ zu <main> bewegen sollen, müsste man %-Werte verwenden. 
     Für diesen Effekt bleiben wir bei vw/vh: */
  @keyframes moveH {
    0% { left: -60vw; }
    100% { left: 100vw; }
  }

  @keyframes moveHReverse {
    0% { left: 100vw; transform: scaleX(-1); }
    100% { left: -60vw; transform: scaleX(-1); }
  }

  @keyframes moveV {
    0% { top: -80%; }
    100% { top: 100%; }
  }

  @keyframes moveVReverse {
    0% { top: 100%; transform: scaleY(-1); }
    100% { top: -80%; transform: scaleY(-1); }
  }

  /* --- Positionierung der Linien --- */
  /* Beachten Sie: Die harten Pixelwerte (z.B. 250px) für 'top' und 'left' 
     sollten eventuell durch %-Werte ersetzt werden, damit sie sich an die Höhe des <main> anpassen. 
     Ich lasse sie hier als px, da sie aus dem Originalcode stammen. */
  /* horizontale */
  .beam.h:nth-child(2) { top: 250px; }
  .beam.h:nth-child(3) { top: 500px; }
  .beam.h:nth-child(4) { top: 750px; }
  .beam.h:nth-child(5) { top: 1000px; }
  .beam.h:nth-child(6) { top: 1250px; }
  .beam.h:nth-child(7) { top: 1500px; }
  .beam.h:nth-child(8) { top: 1750px; }
  .beam.h:nth-child(9) { top: 2000px; }
  .beam.h:nth-child(10) { top: 2250px; }
  .beam.h:nth-child(11) { top: 2500px; }
  .beam.h:nth-child(12) { top: 2750px; }
  .beam.h:nth-child(13) { top: 3000px; }
  .beam.h:nth-child(14) { top: 3250px; }
  .beam.h:nth-child(15) { top: 3500px; }
  .beam.h:nth-child(16) { top: 3750px; }

  /* vertikale */
  .beam.v:nth-child(17)  { left: 250px; }
  .beam.v:nth-child(18)  { left: 500px; }
  .beam.v:nth-child(19) { left: 750px; }
  .beam.v:nth-child(20) { left: 1000px; }
  .beam.v:nth-child(21) { left: 1250px; }
  .beam.v:nth-child(22) { left: 1500px; }
  .beam.v:nth-child(23) { left: 1750px; }
  .beam.v:nth-child(24) { left: 2000px; }

  /* leichtes Glühen im Zentrum */
  .glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 50%, rgba(182,255,59,0.15), transparent 70%);
    pointer-events: none;
    mix-blend-mode: screen;
    z-index: 3;
  }
/*BACKGROUND MAIN*/

#content{
    z-index: 9998;
    position: relative;
}