:root {
  --sehrKlein: 8px;
  --farbeTürkis1: rgb(31, 143, 168);
  --farbeTürkis1Opa: rgb(31, 143, 168, 0.5);
  --farbe2: rgb(147, 177, 187);
  --farbe3: rgb(14, 35, 53);
  --farbe4: rgb(11, 103, 137);
  --farbe0: rgb(221, 217, 214);
  --farbe5: rgb(178, 178, 178);
}
/*-----------------------*/
html {
  scroll-behavior: smooth;
  height: 100%;
}

body {
  font-family: "Open Sans", sans-serif;
  /*position: relative; */
  height: 100%;
  /* margin: 10px; */
}

a {
  text-decoration: none;
  /*margin-left: 16px;  stört, vielleicht wieder ändern*/
  font-weight: bold;
  color: var(--farbeTürkis1);
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  overflow: hidden;
}

h3 {
  color: darkslategrey;
}

a:hover {
  text-decoration: underline;
}

div {
  /* border: 1px;
  border-color: black;
  border-style: solid;
  border-radius: 5px; */
}

/*-------------------*/
/*-------------------*/
/*-------------------*/
/*-------------------*/
/*-------------------*/
.hintergrund {
  /* background-color: rgb(41, 45, 47); */
  /* background-color: rgb(57, 70, 75); */
  /* background:linear-gradient(100deg, grey, turquoise, grey); */
  background: linear-gradient(
    100deg,
    var(--farbeTürkis1),
    rgb(181, 210, 220),
    rgb(90, 121, 125)
  );
  background-size: 800% 800%;
  /* animation: gradient 30s ease infinite; */
}
@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.einleitung-text {
  font-size: 14px;
}

.youtube-text {
  /* overflow-wrap: break-word; */
  padding: 10px;
  /* box-sizing: border-box; */
  /* word-wrap: break-word; */
  max-width: 100%;
}

/* innerhalb eines Divs, falls mehrere Element angeordnet werden müssen */
.div-container-row {
  display: flex;
  /*flex-wrap: nowrap; 
  justify-content: space-between; */
}

.cssButton {
  border-radius: 10px;
  background-color: var(--farbeTürkis1);
  color: white;
  font-weight: bold;
  border: 0;
  /* height: 40px; */
  padding: 10px;
  padding-bottom: 10px;
  margin-left: 20px;
  /* text-align: center; */
  align-self: flex-end;
}
.cssButton:hover {
  text-decoration: none;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
}

.item {
  border-radius: 10px;
  padding: 10px;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
  background-color: lightblue;
  flex: 1 1 calc(50% - 10px);
  min-width: 300px;
  /* min-height: fit-content; */
}
/* für items, die immer die volle Breite haben sollen, so wie das Titelbild */
.item-full-width {
  flex-basis: 100%;
}
/* für items, die nebeneinander angeordnet werden sollen */
.item-row {
  flex: 1 1 calc(33.333% - 20px);
  max-width: 50%;
  max-height: 500px;
  min-height: fit-content;
  /* margin-bottom: 20px; */
  flex-direction: row;
}

.item-mietbedigung {
  width: 100%;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
  background-color: lightblue;
  height: min-content;
}

.item2 {
  /* Image Slideshow */
  grid-area: galerie;
  height: fit-content;
  /* height: min-content;  */
}

.item3 {
  /* Textblock Einleitung */
  grid-area: einleitung;

  margin: 5px;

  width: fit-content;
}
.item3-textBlock {
  /* max-width: 70%; */
  display: flex;
  text-align: left;
  order: 2;
  padding: 20px;
}
.bildHaus {
  /* height: 200px; */
  order: 1;
  border-radius: 10px;
  /* align-self: flex-start; */
  margin-top: 20px;
  margin-left: 20px;
  object-fit: cover;
  /* width: 300px; */
  aspect-ratio: 3 / 2;
}

.item6 {
  /* youtube */
  grid-area: youtube;
}

.item7 {
  /* flex-basis: 50%; */
  grid-area: ausstattung;
}
/* .ausstattung {
  border-radius: 10px;
  border: 1px solid black;
  background-color: rgb(172, 212, 214);
  width: min-content;
  white-space: nowrap;
  padding: 3px;
  display: inline-flex;
  margin: 3px;
}
.ausstattungGross {
  border-radius: 10px;
  border: 1px solid black;
  background-color: rgb(172, 212, 214);
  width: min-content;
  white-space: nowrap;
  padding: 3px;
  display: inline-flex;
  margin: 3px;
  font-size: 30px;
} .ausstattungIcon {
  object-fit: none;
  margin-right: 3px;
} */

.ausstattung,
.ausstattungGross {
  border-radius: 10px;
  border: 1px solid black;
  background-color: rgb(172, 212, 214);
  display: inline-flex;
  align-items: center;
  margin: 3px;
  padding: 3px;
  max-width: 100%;
  box-sizing: border-box;
}

.ausstattung {
  font-size: 14px; /* Anpassen nach Bedarf */
}

.ausstattungGross {
  font-size: 20px; /* Anpassen nach Bedarf */
}

.ausstattung-text,
.ausstattungGross-text {
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
  flex: 1;
}

.ausstattungIcon {
  width: 20px; /* Anpassen nach Bedarf */
  height: 20px; /* Anpassen nach Bedarf */
  margin-right: 5px;
  flex-shrink: 0;
}

.item8 {
  /* WebCam */
  /* height: 300px;  */
  /* width: 500px; */
  grid-area: webcam;
  /* width: 50%; */
  height: 400px;
  height: fit-content;
}

.item5 {
  /* Slideshow Grundriß */
  height: fit-content;
}

.item9 {
  /* Wetter */
  /* height: min-content; */
  grid-area: wetter;
  height: fit-content;
  min-width: 70%;
}
.item10 {
  /* openStreetMap */
  grid-area: karte;
  /* width: 50%; */
  height: 500px;
}

.item10 iframe {
  height: 100%;
  width: 100%;
}

.item5 {
  /* Slideshow Grundriß */
  height: fit-content;
  width: 50%;
}
/* die komplette Anordnung aller Items */

/* @media (max-width: 3600px) {
  .grid-container {
    grid-template-areas:
      "titelbild"
      "einleitung"
      "einleitung"
      "galerie"
      "grundriss"
      "karte"
      "webcam"
      "ausstattung"
      "ausstattung"
      "wetter"
      "youtube"
      "kalender"
      "bewertung"
      "impressum";
    grid-template-columns: 1fr;
  }
}   */

/* @media (min-width: 1px) { /*1201px*/
.grid-container {
  grid-template-areas:
    "titelbild titelbild"
    "einleitung einleitung"
    "galerie grundriss"
    "galerie youtube"
    "webcam karte"
    "ausstattung wetter"
    "ausstattung wetter"
    "kalender bewertung"
    "kalender bewertung"
    "impressum impressum";
  grid-template-columns: 1fr 1fr; /* Breite der Spalten */
  grid-template-rows: auto auto; /* Höhe der Zeilen */
  display: flex;
  flex-wrap: wrap;
  /* flex-direction: column; */
  justify-content: space-between;
  /* width: 100vw; */
  box-sizing: border-box;
  padding: 0px;
  gap: 20px;
}

.container-mietbedigungen {
  padding: 10px;

  display: flex;
  flex-direction: column;
  gap: 20px;
}

.container-galerie {
  padding: 10px;

  display: flex;
  flex-direction: column;
  gap: 20px;
}

.item11 {
  /* Bewertungen */
  grid-area: bewertung;
  display: flex;
  /* flex-direction: column; */
  /* width: 290px;  */
  width: 600px;
  gap: 20px;
  height: fit-content;
  flex-wrap: wrap;
  /* width: min-content; */
}
.award {
  width: 280px;
  height: 280px;
}

.item12 {
  /* Buchungskalender */
  /* width: 700px; */
  grid-area: kalender;
}

.item13 {
  /* Impressum Fußzeile */
  /* grid-area: impressum; */
  color: var(--farbe4);
  text-align: center;
  margin-top: 20px;
}

.kopfleiste {
  display: flex;
  position: absolute;
  width: 100%;
  justify-content: end;
  /* color: rgb(83, 98, 101); */
  /* align-items: start; */
  z-index: 1000;
}
.kopfleiste a {
  color: white;
}
.linkleiste a {
  color: white;
}
.kopfleiste p {
  color: white;
}
.linkleiste {
  position: absolute;
  bottom: 20px;
  right: 20px;
}

.Blocküberschrift {
  /* color: rgb(41, 189, 181); */
  color: rgb(54, 68, 71);
}

.parentTitelBild {
  position: relative;
  margin: 0 auto;
  grid-area: titelbild;
  width: 100%;
}

.titelBild {
  display: table;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  min-height: 100px;
  height: 400px;
  object-fit: cover;
}

.textZumTitelbild {
  position: absolute;
  bottom: 60px;
  left: 0;
  /*background: rgb(28, 157, 167); */
  background: var(--farbeTürkis1Opa);
  /*schwarzer Hintergrund mit 0,5 Opacity */
  color: #ffffff;
  width: 30%;
  /* padding: 16px; */
  text-align: left;
}
/* .bildBlock {
  width: 400px;
} */

.bildWebCam {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.webcam {
  position: relative;
}
.textZurWebCam {
  position: absolute;
  bottom: 0px;
  right: 0px;
  /*background: rgb(28, 157, 167); */
  background: rgba(28, 157, 167, 0.5);
  /*schwarzer Hintergrund mit 0,5 Opacity */
  color: #ffffff;
  width: 150px;
  /* height: 25px; */
  margin: 15px;
  text-align: center;
}
.fontBold {
  font-weight: bold;
}
.sehrKleinerText {
  font-size: var(--sehrKlein);
  writing-mode: vertical-rl;
}
.slideshow-container {
  display: flex;
  flex-direction: row;
}
.logoBild {
  height: 200px;
  transform: rotate(-10deg);
  margin: 10px;
  padding-right: 10px;
}

.miet-ueberschrift {
  display: flex;
  gap: 10px;
}

.galerie-ueberschrift {
  display: flex;
  gap: 10px;
}

.miet-text {
  margin: 10px;
}

.impressum {
  display: flex;
}

/* @media screen and (max-width: 1000px) {
  .impressum {
    flex-direction: column;
  }
} */

.impressum-dl {
  width: 40%;
  padding: 10px;
}
.impressum-max {
  width: 60%;
  padding: 10px;
}
.item-kontakt {
  display: flex;
  flex-direction: column;
  width: 100%;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
  background-color: lightblue;
  height: min-content;
}

.item-galerie {
  display: flex;
  flex-direction: row;
  border-radius: 10px;
  padding: 5px;
  box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.5);
  background-color: lightblue;
  /* height: min-content; */
  flex-wrap: wrap;
}
.galerieBild {
  /* width: 100%;
  height: 100%; */
  /* object-fit: cover; */
  margin: 10px;
}

.instaQR {
  width: 200px;
  height: auto;
  min-width: 200px;
}

@media screen and (max-width: 450px) {
  .logoBild {
    height: 80px; /* oder eine andere gewünschte Größe für Mobilgeräte */
    transform: rotate(
      -5deg
    ); /* Optional: Weniger Rotation auf kleinen Bildschirmen */
    margin: 5px;
    padding-right: 5px;
  }
  li {
    font-size: 8px;
  }
  .textZumTitelbild {
    width: 40%;
  }

  .titelBild {
    height: 200px;
  }

  .item3-textBlock {
    display: flex;
  }

  ul {
    padding-inline-start: 20px;
  }

  a {
    font-size: 8px;
  }

  p {
    /* font-size: 12px; */
  }

  .item-row {
    max-width: 100%;
  }

  .linkleiste {
    bottom: 5px;
  }

  .cssButton {
    font-size: 12px;
    /* align-self: flex-end; */
  }

  .div-container-row {
    display: flex;
    flex-direction: column;
  }

  .youtube-text {
    /* overflow-wrap: break-word; */
    padding: 10px;
    /* box-sizing: border-box; */
    /* word-wrap: break-word; */
    max-width: 100%;
  }
}
