* { box-sizing: border-box; }

html, body {margin: 0; padding: 0; height: 100%; text-align: center; background: #E8FFFA;}
section {min-height: 100%;}
a {text-decoration: none;}
li{list-style-type: none;}
img {max-width: 100%; height: auto;}

h1, h2, h3, a {font-family: 'Montserrat', sans-serif; font-weight: 500; color: #404040; text-transform: uppercase;}
h2 {color: #404040;}
h3 {padding-top: 8%; margin-bottom: 5px; font-size: 40px;}
h4, p {font-family: 'Montserrat', serif; color: #404040;}

hr { width: 30px; height: 3px; background: #404040; border: 0; margin: 20px auto 40px auto;}

/* Der hr direkt zuoberst in #home (vor dem Titel) soll nicht angezeigt werden,
   nur die hr's unter den h3-Überschriften der einzelnen Sections */
#home > hr {
  display: none;
}
#logo, li, img {transition: all 300ms; -webkit-transition: all 300ms; -moz-transition: all 300ms; -o-transition: all 300ms;}

/* Clearfix: Container mit floatenden li-Elementen müssen die Floats
   "einfangen", sonst kollabiert der Container und Bilder ragen in
   nachfolgende Elemente (z.B. die Fusszeile) hinein */
#mylove ul::after,
#pics ul::after {
  content: "";
  display: table;
  clear: both;
}

  /*----------------header ------------------------*/

header {
  width: 100%;
  height: 65px;
  position: fixed;
  top: 0px;
  left: 0px;
  background: #E8FFFA;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 50px;
  }

#logo {
    width: 140px;
    }

#logo:hover {
      opacity: 0.5;
    }

#logo img {
    width: 40%;
    }

header nav ul {
  display: flex;
  align-items: center;
  }

header nav ul li {
    margin-right: 25px;
}

header nav ul li a {
font-size: 16px;
}

header nav ul li:hover {
  padding-top: 5px;
}

/* Hamburger-Button: auf Desktop unsichtbar */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  z-index: 3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

.nav-toggle span {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #404040;
  transition: all 300ms;
}

.nav-toggle.open span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.nav-toggle.open span:nth-child(2) {
  opacity: 0;
}
.nav-toggle.open span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

  /*----------------home ------------------------*/

#home {
    background: url(img/landing.png);
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
    padding-top: 65px; /* Platz für den fixen Header */
}

#home h1   {
      margin: 200px auto 0 auto;
      font-size: 110px;
}

#home h2 {
  margin: 0 auto 0 auto;
  font-size: 25px;
  color: #404040;
}

#home img {
  width: 32px;
  margin-top: 150px;
  opacity: 0.7;
}

#home img:hover{
opacity: 1;
}

/*----------------About------------------------*/
#about img {
  width: 150px;
  margin-bottom: 30px;
}
#about img:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
}
#about h4 {
  font-size: 50px;
  }
#about p{
  width: 700px;
  max-width: 90%;
  margin: 0 auto 0 auto;
}

/*----------------MyLove------------------------*/
#mylove h4 {
  font-size: 50px;
  }
#mylove p{
  width: 700px;
  max-width: 90%;
  margin: 0 auto 0 auto;
}

/* Zwei Textblöcke (Titel + Zitat) nebeneinander, als Paar zentriert */
.daughter-text-wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px;
  margin-top: 20px;
}

.daughter-col {
  max-width: 300px;
}

.daughter-col p {
  width: auto;
  max-width: none;
  margin: 0;
}

#mylove ul {
  padding: 0;
}

#mylove ul li {
  width: 100%;
  float: left;
  margin-bottom: 30px;
}

#mylove img {
  width:300px;
  margin: 0 auto 0 auto;
  border-radius: 5px;
}

#mylove img:hover {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
}

/* Daughters-Foto: Polaroid-Look */
#daughter-photo img {
  border: 12px solid #fff;
  border-bottom: 20px solid #fff;
  border-radius: 0;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

/*----------------Pics------------------------*/
#gallery {
  background-color: #E8FFFA;
}

#pics {
  width: 900px;
  max-width: 94%;
  margin: 0 auto 0 auto;
}

#pics ul {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#pics ul li {
  width: 33.3%;
  margin-bottom: 15px;
}

#pics img {
  width: 280px;
  height: 170px;
  border-radius: 5px;
  object-fit: cover;
}

#pics img:hover{
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}

/*----------------Footer------------------------*/

footer {
  width: 100%;
  min-height: 34px;
  background-color: #E8FFFA;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
}

footer p{
font-size: 12px;
color: #404040;
line-height: 1.5;
margin: 0;
}

/*=================================================
  RESPONSIVE / SMARTPHONE-ANPASSUNGEN
=================================================*/

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  #pics img {
    width: 100%;
    height: 150px;
  }
}

/* ---------- Smartphone (Querformat / große Handys) ---------- */
@media (max-width: 768px) {

  /* background-attachment: fixed wird auf vielen Smartphones (v.a. iOS)
     nicht zuverlässig unterstützt - Hintergrundbild kann sonst komplett fehlen */
  #home {
    background-attachment: scroll;
  }

  header {
    padding: 0 20px;
  }

  #logo {
    width: 110px;
  }

  /* Hamburger-Button sichtbar machen */
  .nav-toggle {
    display: flex;
  }

  /* Navigation standardmäßig versteckt, öffnet als Dropdown */
  header nav {
    position: absolute;
    top: 65px;
    left: 0;
    width: 100%;
    display: none;
    background-color: #E8FFFA;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  }

  header nav.open {
    display: block;
  }

  header nav ul {
    flex-direction: column;
    margin: 0;
    padding: 10px 0;
  }

  header nav ul li {
    margin: 0;
    padding: 10px 0;
  }

  #home h1 {
    margin-top: 60px;
    font-size: 42px;
  }

  #home h2 {
    font-size: 18px;
  }

  #home img {
    margin-top: 60px;
  }

  h3 {
    font-size: 26px;
    padding-top: 15px;
  }

  #about h4,
  #mylove h4 {
    font-size: 32px;
  }

  #mylove img {
    width: 220px;
  }

  #pics ul li {
    width: 50%;
  }

  #pics img {
    height: 130px;
  }
}

/* ---------- Kleine Smartphones ---------- */
@media (max-width: 480px) {

  #logo {
    width: 90px;
  }

  #home h1 {
    font-size: 30px;
  }

  #home h2 {
    font-size: 15px;
  }

  #mylove img {
    width: 90%;
    max-width: 280px;
  }

  #pics ul li {
    width: 100%;
  }

  #pics img {
    height: 200px;
  }
}
