/* ALLGEMEINE STILE FÜR CONTAINER */
.container0, .container1, .container2, .container3 {
  align-items: center;
  border: 1px solid #000;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  overflow: hidden;
  width: 90%;
}

/* BASISSTIL FÜR CARDS */
.card {
  border: 0px solid #666;
  flex: 1;
  position: relative;
  transition: all 1s ease-in-out;
}

.card:hover {
  flex-grow: 3;
}

/* RAHMENVERSUCH FÜR CARDS */
.card.border100{
  border: 100px solid #666;
  flex: 1;
  position: relative;
  transition: all 1s ease-in-out;
}

.card:hover img {
  filter: grayscale(0);
}

.card img {
  filter: grayscale(100%);
  height: 100%;
  object-fit: cover;
  transition: filter 1s ease-in-out;
  width: 100%;
}

.card.border img {
  filter: grayscale(100%);
  height: 100%;
  object-fit: cover;
  transition: filter 1s ease-in-out;
  width: 100%;
  border: 1px solid #fff;
}

/* TEXT- OVER IMAGE */
.card .card_head {
  align-items: center;
  background: transparent;
  color: #888; /* Standard-Farbe */
  display: flex;
  font-family: 'WaitingfortheSunrise', cursive;
  font-size: 120%; /* Leichte Vergrößerung der Schriftgröße */
  font-weight: 400;
  height: auto; /* Entfernt feste Höhe, sodass Text dynamisch Platz hat */
  justify-content: flex-end; /* Text rechtsbündig ausrichten */
  position: absolute; /* Fixierung der Position im Parent-Element */
  right: 1em; /* Abstand vom rechten Rand */
  bottom: 1em; /* Abstand vom unteren Rand */
  text-align: right; /* Text innerhalb des Containers rechts ausrichten */
}

.card .card__head {
  align-items: center;
  background: transparent;
  color: transparent;
}

/* CONTAINER-SPEZIFISCHE ANPASSUNGEN */

/* CONTAINER 0 */
.container0 div.card {
  flex: 1;
  height: 20vmin;
}

/* CONTAINER 1 */
.container1 {
  width: 100%;
}

.container1 div.card {
  height: 40vmin;
}

.container1 .card .card_head {
  left: 1em;
  top: 6em;
}

/* CONTAINER 2 */
.container2 div.card {
  flex: 1;
  height: 40vmin;
}

/* CONTAINER 3 */
.container3 div.card {
  flex: 1;
  height: 28vmin;
}

/* Gemeinsame Margin-Anpassungen */
.container div.card:not(:last-child) {
  margin-right: 0.4%;
}

/* CONTAINER GRÖSSEN */

.tp12 div.card:hover {
  flex-grow: 1.2;
  transform: scale(1.2);
}

.tp20 div.card:hover {
  flex-grow: 2;
  transform: scale(1.2);
}

/* MEDIA QUERIES */

/* FÜR BILDSCHIRME MIT EINER MAXIMALEN BREITE VON 1080PX */
@media screen and (max-width: 1080px) {
  .container, .container0, .container1, .container2, .container3 {
    width: 95%;
  }

  .container1 {
    width: 70%;
  }

  .card .card_head {
    font-size: 120%;
  }
}

/* FÜR BILDSCHIRME MIT EINER MAXIMALEN BREITE VON 800PX */
@media screen and (max-width: 800px) {
  .container, .container0, .container1, .container2, .container3 {
    width: 100%;
  }

  .container1 {
    width: 80%;
  }

  .card .card_head {
    font-size: 110%;
  }
}

FÜR BILDSCHIRME MIT EINER MAXIMALEN BREITE VON 480PX
@media screen and (max-width: 480px) {
  .container, .container0, .container1, .container2, .container3 {
    width: 100%;
  }

  .container1 {
    width: 100%;
  }

  .card {
    flex: 1 0 100%;
    margin-bottom: 1em;
  }

  .card .card_head {
    font-size: 100%;
  }

  .card:hover {
    flex-grow: 1;
  }

  .lf div.card:hover, .lg div.card:hover, .tp3 div.card:hover, .tp7 div.card:hover {
    transform: scale(1.1);
  }
}

