:root {
  --titles-logo: rgb(145, 145, 145);
  --background-links: rgb(199, 202, 2);
}

/* Fonts */

@font-face {
  font-family: TheSans;
  font-weight: 100;
  font-style: italic;
  src: url(./Fonts/The_Sans_Extra_Light_Italic.ttf) format('truetype');
}

@font-face {
  font-family: TheSans;
  font-weight: 100;
  font-style: normal;
  src: url(./Fonts/ufonts.com_thesans-2-extralight.ttf) format('truetype');
}

@font-face {
  font-family: TheSans;
  font-weight: lighter;
  font-style: normal;
  src: url(./Fonts/ufonts.com_thesans-3-light.ttf) format('truetype');
}

@font-face {
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
  src: url(./Fonts/ufonts.com_thesans-5-regular.ttf) format('truetype');
}

@font-face {
  font-family: TheSans;
  font-weight: normal;
  font-style: italic;
  src: url(./Fonts/ufonts.com_thesans-b5-plain-italic.ttf) format('truetype');
}

@font-face {
  font-family: hTheSans;
  src: url(./Fonts/TheSans-B3LightItalic.otf) format('opentype');
  font-weight: italic;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0px;
  padding: 0px;
  box-sizing: border-box;
  overflow-x: hidden;
}

/* Font-Stylings */

h1, h2, h3, p {
  margin: 0;
}

h1, h2 {
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
  color: var(--titles-logo);
  font-size: 3rem;
}

h3 {
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
  font-size: 1.5rem;
}

p {
  font-family: TheSans;
  font-weight: 100;
  font-size: 1rem;
}

img {
  max-width: 100%;
  display: block;
}

header {
  /* Hintergrundbild entfernen oder auskommentieren:
  background-image: url("./Images/Feldenkrais-Windeck-Logo-complete.svg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: contain;
  */
  position: relative;
  margin-top: 0.5em;
}

/* Allgemeiner Stil für das Logo */
.svg-container {
  position: absolute;
  top: 50%; /* Vertikale Ausrichtung */
  left: 1rem; /* Abstand vom linken Rand */
  transform: translateY(-50%); /* Exakte Zentrierung vertikal */
  width: 30rem; /* Breite des Logos, anpassbar */
}

.svg-container svg {
  width: 100%; /* Passt sich dem Container an */
  height: auto; /* Seitenverhältnis bleibt erhalten */
}

.title {
font-size: 2rem;
text-align: center;
opacity: 0;
}

.nav-toggle {
  display: none;                      /*bedeutet, dass die Checkbox nicht sichtbar ist - benötigt wird ja nur das "Hamburger-Menü"*/
}

.nav-toggle-label {                 /*Positionierung des Hamburgermenüs*/
  position: absolute;              /* gibt exakte Position an*/
  /*top: 20%;                           Position oben links*/
  right: .5em;
  /*height: 100%;                     Höhe entspricht 100% Header*/
  display: flex;                    /*"Flex", damit man das "Hamburger-Menü mittig positionieren kann*/
  align-items: center;              /*Mittige Positionierung des "Hamburger-Menüs"*/
}

.nav-toggle-label span,             /*Dieser Abschnitt zeichnet die drei Linien des Hamburger-Menüs*/
.nav-toggle-label span::before,
.nav-toggle-label span::after {
  display: block;
  background: var(--titles-logo);
  height: 2px;
  width: 2em;
  border-radius: 2px;             /*rundet die Kanten der Linien des Hamburger-Menus ab*/
  position: relative;             /*das ist für das "Span"*/
}

.nav-toggle-label span::before,
.nav-toggle-label span::after {
  content: '';                    /*Kein Inhalt, aber der "Content-Property" muss aufgeführt sein*/
  position: absolute;
}

.nav-toggle-label span::before {  /*Die obere Hamburger-Linie*/
  bottom: 7px;
}

.nav-toggle-label span::after {   /*Die untere Hamburger-Linie*/
  top: 7px;
}

nav {
position: absolute;                     /*Header ist bereits fixed, von daher verhält sich das nun relatiuv dazu*/
text-align: center;                     /*Text wird zentriert*/
background: white;                      /*Hintergrundfarbe für ausgeklapptes Menü*/
width: 100%;                            /*Breite des ausgeklappten Menüs*/
clip-path: circle(0px at top right);
transform: scale(1,0);                  /*Die 1 steht für die Breite (100%) und die 0 für "keine Höhe" (Menü eingefahren)*/
transform-origin: top;                  /*Ausgangspunkt für das Ausaklappen des Menüs*/
transition: all 700ms ease-in-out;      /*Animation des Menüs beim Einklappen des menüs, wenn Checkbox nicht mehr geklickt ist. Kein Delay beim Verschwinden des Textes*/
}

nav ul {
  margin: 0;
  padding: 0;
  list-style: none;                     /*Keine Textdekoration an Menüpunkten (nicht unterstrichen und ohne Punkte am Anfang)*/
}

nav li {
margin-bottom: 1em;
margin-left: 1em;
}

nav a {
  color: var(--titles-logo);             /*Textfarbe des Menüs*/
  text-decoration: none;
  font-size: 1.2rem;
  text-transform: uppercase;             /*Großbuchstaben*/
  opacity: 0;                            /*Sichtbarkeit = 0*/
  transition: opacity 150ms ease-in-out;
}

nav a:hover {                           /*hover ist eine Sudo-Class*/
  color: var(--background-links);       /*Textfarbe wenn Cursor über Menüpunkt schwebt*/
}

.nav-toggle:checked ~ nav {             /*checked ist ein Sudo-Class - checked schaut, ob die Checkbox angeklickt ist. "~" sucht dabei im html nach irgendwas mit "nav"*/
transform: scale(1,1);                  /*Menü ist 100% Viewportbreite und 100% ausgefahren (vergleiche bei "nav")*/
clip-path: circle(150% at top right);   /*Das Menü öffnet sich kresiförmig auf 150%, damit die gesamte breite des Vieports abgedeckt wird*/
}

.nav-toggle:checked ~ nav a {           /*Wenn Hamburgermenü angeklickt, dann fährt Menü aus und nach 250ms werden Menüpunkte sichtbar*/
  opacity: 1;
  transition: opacity 250ms ease-in-out 450ms;    /*die 450ms am Ende sind das Delay beim Sichtbarwerden des Texts beim Ausklappen. Wird benutzt, wenn Menü geklickt ist*/
}

#introduction {
    text-align: center;
}

#introduction span {
  font-style: italic;
}

.contact-startpage {
  background-image: linear-gradient(white, var(--background-links) 15%, var(--background-links) 85%, white 100%);
  margin-bottom: 1em;
}

.wrap-text1, .wrap-text2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.2rem;
}

.intro-text {
  padding: 1em .5em;
}

.intro-text a {
  font-family: TheSans;
  font-weight: 100;
  color: black;
}

.intro-img {
  padding: 1em .5em;
}

.verband-logo {
  width: 10%;
  margin: 0 auto;
}

.address {
  margin: 1em auto;
  line-height: 1.2rem;
}

.address-animation {
  border-top: solid var(--background-links);
  border-bottom: solid var(--background-links);
  border-width: thin;
}

.address-animation a {
  font-family: TheSans;
  font-weight: 100;
  font-style: italic;
  color: black;
}

.castle {
  margin: 1em auto;
  width: 45vw;
}

#kursangebot {
    min-height: 100vh;
    background-image: url("./Images/Kringel-Termine-About.svg"), url("./Images/Flaeche-Termine.svg");
    background-repeat: no-repeat, no-repeat;
    background-size: auto, auto;
    background-position: top right, top left;
}

#kursangebot h2 {
  margin-bottom: 0.5em;
}
#kursangebot p {
  margin-bottom: 1em;
  line-height: 1.2rem;
}

.angebot, .fi, .work {
  margin: 0 1em;
  padding: 1em 0 1em;
}

#methode {
min-height: 100vh;
  background-image: url("./Images/Flaeche-Methode.svg");
  background-repeat: no-repeat;
  background-position: right;
  background-size: cover;
}

#methode p {
    font-weight: 100;
    text-align: left;
    margin-bottom: 1em;
    line-height: 1.2rem
}

#methode h3 {
color: var(--titles-logo);
margin-bottom: 0.5em;
}

.titles-work span{
  font-weight: normal;
  color: var(--titles-logo);
}

.Moshe, .Arbeit {
  margin: 0 1em;
  padding: 1em 0 1em;
}

.movement-pictures {
  display: none;
}

#contact {
min-height: 100vh;
background-image: url("./Images/Contact-Background.svg");
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}

.linke-Spalte {
  margin-bottom: 2em;
  line-height: 1.2rem;
}
.linke-Spalte p {
  margin: 1em;
}
.rechte-Spalte > .form_proofMail {    /*Versteckt die Zeile für die Spam-Robots, die diese hoffentlich ausfüllen und sich dadurch alsRobots verraten*/
  display: none;
}

.contact-text {
  margin: 0 1em;
  padding: 1em 0;
}

#formcontact {
  margin: 0 .5em;
  padding-left: .5em;
  border-radius: 1em;
  overflow: hidden;
  box-shadow: 0 0 1em rgba(0,0,0,0.1);
}

.form_label1 {
  font-family: TheSans;
  font-weight: normal;
  font-style: italic;
}

.form_label2 {
  display: block;
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
  margin: .5em 0 .125em;
}

.form_text {
  all: unset;
  display: block;
  margin-bottom: 1em;
  background-color: white;
  opacity: .5;
  width: 95%;
  padding: .5em;
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
}

.checkbox {
  margin: 1em;
}

.checkbox a {
  color: black;
}

.checkbox a:hover {
  color: rgb(163, 163, 163);
}

.button {
  all: unset;
  cursor: pointer;
  display: inline-block;
  background-color: var(--titles-logo);
  padding: .25em 1.75em;
  margin: 1em;
  font-family: TheSans;
  font-weight: normal;
  font-style: normal;
  transform: scale(1);
  transition: transform ease-in-out 150;
}

.button:hover {
  transform: scale(1.1);
}

.footer {
  display: flex;
  justify-content: center;
}

.footer a {
  font-family: TheSans;
  font-weight: normal;
  color: var(--titles-logo);
  padding: 2em .5em .5em;
}
@media screen and (min-width: 59.3rem) {

  .nav-toggle-label { /* Das Dropdown-Menü wird abgeschaltet */
    display: none;
  }

  h1 {
    font-size: calc(2.5vw + 1rem);
  }

  .PageIntro {
    min-height: 100vh;
  }

  .svg-container {
    width: 30rem; /* Standardgröße des Logos */
  }

  header {
    margin-top: 1em;
  }

  nav {
    all: unset; /* Reset aller zuvor gesetzten Einstellungen */
  }

  .nav-links {
    max-width: 1400px;
    display: flex;
    margin: 2rem auto 1rem;
    justify-content: flex-end;
    list-style: none;
  }

  .nav-link {
    margin: 0 3em;
    font-family: TheSans;
    font-weight: normal;
    font-style: normal;
    font-size: 1.5rem;
    color: var(--titles-logo);
    text-decoration: none;
    opacity: 1;
  }

  nav a {
    position: relative;
  }

  nav a::before { /* Balken über den Menüpunkten */
    content: ''; /* Auch wenn es keinen Content gibt, muss der Punkt aufgeführt sein */
    display: block;
    height: 2px; /* Dicke des Balkens */
    background: var(--background-links); /* Farbe des Balkens */
    position: absolute;
    top: -1rem; /* Wie hoch über dem Text */
    left: 0;
    right: 0;
    transform: scale(0, 1); /* Hier wird nicht die Höhe, sondern die Breite verändert */
    transition: transform ease-in-out 250ms;
  }

  nav a:hover::before { /* Wenn die Maus über Menüpunkt fährt, kommt Balken über Menüpunkt */
    transform: scale(1, 1);
  }

.contact-startpage {
  display: flex;
  flex: 0 1 50%;
  justify-content: center;
}

.wrap-text1, .wrap-text2 {
  max-width: 1000px;
  flex: 0 1 50%;
}

  .intro-text {
    padding: 1em 3em;
  }

.verband-logo {
  width: 5%;
  opacity: 1;
}

.address {
  max-width: 440px;
  display: flex;
  margin-bottom: 1em;
}

.address-animation {
  padding: 2em 0;
}

.castle {
    margin: 0;
    padding-left: 2em;
}

.address-animation, .castle {
    flex: 0 1 50%;
}

#kursangebot {
  height: 100vh;
}

  .service {
    max-width: 1400px;
    display: flex;
    margin: 0 auto 5em;
    justify-content: space-around;
  }

  .angebot, .fi {
    padding: 4em .5em 1em 0;
  }

  .work {
    padding-bottom: 2em;
    text-align: center;
  }

#methode {
  height: 100vh;
}

  .method {
    display: flex;
    margin: 0 auto 1em;
    max-width: 1400px;
  }

  .Moshe, .Arbeit {
    flex: 0 1 50%;
    padding: 4em 0 0;
  }

  .Arbeit {
    margin-top: 5em;
  }

.movement-pictures {
  max-width: 500px;
  display: flex;
  justify-content: flex-start;
  margin: 3em auto;
}

.movement, .pictures {
  flex: 0 1 50%;
}

.movement {
margin-left: 3em;
padding: 0 3em 10em 0;
}

.pictures {
  background-image: url("./Images/Animation01-Tanz.svg");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  animation-name: slide;
  animation-direction: alternate-reverse;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}

.contact-us {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.contact-text {
  padding: 4em 5em;
}

#formcontact {
      display: grid;
      grid-template-columns: 30% minmax(100px, 50%) 3em;      /* minmax(Minimum von 100px un Maximum von 50%)*/
      margin: 3em auto;
      padding-left: 1em;
      max-width: 1200px;
  }

  .linke-Spalte {
    margin-top: 2em;
    padding: 2em;
  }

  @keyframes slide {
    0% {
    background-image: url("./Images/Animation06-Joggen.jpg");
    }
    15% {
    background-image: url("./Images/Animation02-Tanz.svg");
    }
    30% {
    background-image: url("./Images/Animation05-Klavier.jpg");
    }
    45% {
    background-image: url("./Images/Animation07-Fahrrad.svg");
    }
    60% {
      background-image: url("./Images/Animation06-Joggen.jpg");
    }
    75% {
    background-image: url("./Images/Animation01-Tanz.svg");
    }
    90% {
      background-image: url("./Images/Animation08-Spazieren.jpg");
    }
    100% {
      background-image: url("./Images/Animation03-Ballett.svg");
    }
  }
}

@media screen and (min-width: 125rem) {

  h1 {
    font-size: calc(3vw + 1rem);
  }

  h2 {
    font-size: 3.5rem;
  }

  h3 {
    font-size: 2rem;
  }

  p {
    font-size: 1.5rem;
  }

  .svg-container {
    width: 25rem; /* Größeres Logo für sehr breite Bildschirme */
  }

  .nav-links {
    justify-content: space-around;
  }

  .nav-link {
    font-size: 2.5rem;
  }

.wrap-text1, .wrap-text2 {
  max-width: 1600px;
}

.intro-text a {
  font-size: 1.5rem;
}

.address {
  max-width: 650px;
}

.entermessage {
      margin: 6em auto;
      padding-left: 2em;
      max-width: 1600px;
  }

  .angebot, .fi {
    padding: 5em .5em 1em 0;
  }

  .method {
    max-width: 1600px;
  }

  .Moshe, .Arbeit {
    padding: 5em 0 1em;
  }

  .contact-text {
    padding: 5em 10em;
  }

.form_label1 {
font-size: 1.5rem;
}

.form_label2 {
font-size: 1.5rem;
margin: .75em 0 .125em;
}

.form_text {
  font-size: 1.5rem;
}

.button {
  font-size: 1.5rem;
  padding: .5em 2em;
  margin: 1em;
}
}
@media screen and (max-width: 59.3rem) {

  .svg-container {
    position: relative; /* Statt absolut für bessere Platzierung */
    top: auto;
    left: auto;
    transform: none; /* Zentrierung deaktivieren */
    margin: 1rem auto; /* Zentriert und mit Abstand zum Rand */
    width: 80%; /* Breite als Prozentsatz des Bildschirms */
    max-width: 300px; /* Obergrenze für die Breite */
  }

  .svg-container svg {
    width: 100%; /* Logo bleibt responsive */
    height: auto;
  }

  nav {
    display: block; /* Menü für mobile Geräte */
    text-align: center;
  }

  .nav-links {
    flex-direction: column; /* Vertikale Anordnung der Menüpunkte */
    margin: 1rem 0;
  }

  .nav-link {
    margin: 1rem 0;
    font-size: 1.2rem;
  }
}