@import "tangerine.css";
@import "josefin-sans.css";


*{
  box-sizing: border-box;
  padding: 0px;
}

:root {
  --darkterracotta: #CC4E5C;
  --paleterracotta: #F2B6A6;
  --darkterracotta-transparent: #CC4E5CCC;
  --paleterracotta-transparent: #F2B6A6CC;
}

html, body {
  height: 100%;
  width: 100svw;
  margin: 0px;
  padding: 0px;
  font-size: clamp(16px, 4vmin, 24px);
  scrollbar-width: none;
  font-family: 'josefin_sanslight';
}

/* ground zero */

.groundzero {
  height: 100vh;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "nav"
    "main"
	"footer";
}

nav {
  grid-area: nav;
}

main {
  grid-area: main;
}

footer {
  grid-area: footer;
}

/* navigation */

.menubar {
  display: none;
}

.menu-item {
  display: none;
}

.dropdown {
  position: absolute;
  right: 3vw;
  width: 10em;
  object-fit: contain;
  align-self: start;
  z-index: 2;
}

.dropbtn {
  position: absolute;
  right: 0vw;
  text-align: center;
  width: 5em;
  font-weight: normal;
  font-size: clamp(16px, 4vmin, 24px);
  color: white;
  border: 1px solid white;
  border-style: solid;
  border-radius: 15px;
  padding: 1vh 16px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
}

.dropdown-content {
  display: none;
  top: 6vh;
  position: absolute;
  background-color: transparent;
  font-weight: normal;
  font-size: clamp(16px, 4vmin, 24px);
  color: white;
  text-decoration: none;
  z-index: 1;
}

.dropdown-content a {
  color: white;
  padding: 1.2vh 16px;
  margin: 2.2vh 2px;
  text-decoration: none;
  display: block;
}

.nav-item {
  width: 10em;
  text-align: center;
  font-weight: normal;
  font-size: clamp(16px, 4vmin, 24px);
  color: white;
  border: 1px solid white;
  border-style: solid;
  border-radius: 15px;
  padding: 8px 16px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
}

@media (hover: hover) {
  .dropdown-content a:hover {
    background-color: var(--paleterracotta-transparent);
    color: black;
  }
}

.nav-item, .dropbtn {
  background-color: var(--darkterracotta-transparent);
}

.hideme {
  display:none;
}

@media (hover: hover) {
  .hamburger:hover {
    text-decoration: none;
  }

  .hamburger:hover img:first-child {
    display:none;
  }

  .hamburger:hover img:last-child {
    display:inline-block;
  }

  .nav-item:hover, .dropbtn:hover {
    background-color: var(--paleterracotta-transparent);
    color: black;
    }

  .dropdown:hover .dropdown-content {
    display: block;
  }
}

.show {
  display: block;
}

/* main */

.luebeck {
  width: 100svw;
  margin: auto;
  position: relative;
  display: grid;
  hyphens: auto;
}

/* generic styling */

.land {
  display: none;
}

* h1 {
  font-size: 250%;
  font-family: 'tangerineregular', serif;
  font-weight: normal;
  color: var(--darkterracotta);
  text-align: center;
}

* h2 {
  font-size: 175%;
}

* h3 {
  font-size: 125%;
}

* p, ul {
  text-align: left;
  font-size: 100%;
  hyphens: none;
}

* ul {
  padding-left: 1.5rem;
  list-style-position: outside;
}

* ul ul {
  padding-left: 2.5rem;
  list-style-position: outside;
}

h2 ~ p, p ~ p {
  margin-bottom: 0.6em;
}

.la {
  list-style-type: lower-alpha;
}

.link-list {
  line-height: 2.5;
}

a:link {
  color: inherit;
}

a:link {
  color: white;
}

a:visited {
  color: white;
}

a:hover {
  color: white;
}

a:active {
  color: white;
}

.link-list {
  line-height: 2.5;
}

.text ul {
  padding-left: 2vw;
  color: black;
}

  table {
   border-collapse: collapse;"
}

  tr:nth-child(1), tr:nth-child(3), tr:nth-child(7), tr:nth-child(11) {
  border-bottom: solid 2px black;
}

a:link {
  color:inherit;
}

.tcard {
  text-align: left;
  color: black;
  background-color: var(--paleterracotta);
  border-radius: 3vh;
  margin: 2vh 2vw;
  padding: 0vh 3vw;
}

.tcard p {
}

.icard {
  padding: 2vh 2vw 2vh;
}

.icard img {
  border-radius: 3vh;
}

/* hl1 home */

.hl1 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "img1"
  "txt1"
  "txt2"
  "img3"
  "txt3"
  "img2"
  "txt4";
  top: 1svh;
}

.hl1 > .image1 {
  grid-area: img1;
  position: relative;
}

.hl1 > .image1 img {
  display: block;
  max-height: 65svh;
  width: 90svw;
  padding-bottom: 0svh;
  position: relative;
}

.hl1 > .image2 {
  grid-area: img2;
  position: relative;
}

.hl1 > .image2 img {
  display: block;
  max-height: 70svh;
}

.hl1 > .image3 {
  grid-area: img3;
  position: relative;
}

.hl1 > .image3 img {
  display: block;
  max-height: 70svh;
  position: relative;
}

.hl1 > .slogan {
  grid-area: txt1;
  position: relative;
  margin: 0vh 7vw 0vh;
}

.hl1 > .text2 {
  grid-area: txt2;
  position: relative;
  margin-bottom: 2vh;
}

.hl1 > .text3 {
  grid-area: txt3;
  position: relative;
}

.hl1 > .text4 {
  grid-area: txt4;
  position: relative;
}

.slo1 {
  display: inline-block;
  animation-name: slide-in1;
  animation-duration: 7s;
}

.slo2 {
  display: inline-block;
  animation-name: slide-in2;
  animation-duration: 7s;
}

.slo3 {
  display: inline-block;
  animation-name: slide-in3;
  animation-duration: 7s;
}

@keyframes slide-in1 {
  0% {
    translate: 0 45vw;
    scale: 150% 1;
  }

  15%, 75% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in2 {
  0%, 25% {
    translate: 0 45vw;
    scale: 150% 1;
  }

  25%, 85% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in3 {
  0%, 40% {
    translate: 0 45vw;
    scale: 150% 1;
  }

  40%, 100% {
    translate: 0 0;
    scale: 100% 1;
  }
}

/* philosophie */

.hl2 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "txt1"
  "txt2"
  "img1"
  "txt3"
  "img2"
  "txt4"
  "img4"
  "txt5"
  "img3"
  "txt6"
  ;
  top: 7svh;
}

.hl2 > .slogan {
  grid-area: txt1;
  position: relative;
  margin: 0vh 7vw 0vh;
}

.hl2 > .text2 {
  grid-area: txt2;
  position: relative;
}

.hl2 > .text3 {
  grid-area: txt3;
  position: relative;
}

.hl2 > .text4 {
  grid-area: txt4;
  position: relative;
}

.hl2 > .text5 {
  grid-area: txt5;
  position: relative;
}

.hl2 > .text6 {
  grid-area: txt6;
  align-self: center;
  position: relative;
}

.hl2 > .image1 {
  grid-area: img1;
  justify-self: center;
  position: relative;
}

.hl2 > .image1 img {
  display: block;
  max-height: 85svh;
  width: 90svw;
  padding-bottom: 0svh;
  position: relative;
}

.hl2 > .image2 {
  grid-area: img2;
  position: relative;
}

.hl2 > .image2 img {
  display: block;
  max-height: 90%;
  max-width: 100%;
  position: relative;
}

.hl2 > .image3 {
  grid-area: img3;
  position: relative;
}

.hl2 > .image3 img {
  display: block;
  max-height: 80svh;
  max-width: 100%;
  position: relative;
}

.hl2 > .image4 {
  grid-area: img4;
  position: relative;
}

.hl2 > .image4 img {
  display: block;
  max-height: 50svh;
  max-width: 100%;
  margin: 0vh 0vw 0vh;
  align-self: start;
  position: relative;
}

.slo4 {
  display: inline-block;
  animation-name: slide-in4;
  animation-duration: 7s;
}

.slo5 {
  display: inline-block;
  animation-name: slide-in5;
  animation-duration: 7s;
}

@keyframes slide-in4 {
  0% {
    translate: 0 -45vw;
    scale: 150% 1;
  }

  15%, 75% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in5 {
  0% {
    translate: 0 45vw;
    scale: 150% 1;
  }

  45%, 100% {
    translate: 0 0;
    scale: 100% 1;
  }
}

/* hl3 location */

.hl3 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "txt1"
  "img1"
  "txt2"
  "img2"
  "txt3"
  "img3"
  "txt5"
  "img4"
  "txt4"
  "img5";
}

.indent1 {
  text-indent: -1em;
}

.indent2 {
  text-indent: 0em;
  margin-top: -5vh;
  margin-bottom: -5vh;
}

.indent3 {
  text-indent: 1em;
}

.hl3 > .slogan {
  grid-area: txt1;
  position: relative;
  margin: 0vh 2vw 0vh;
}

.hl3 > .text2 {
  grid-area: txt2;
}

.hl3 > .text3 {
  grid-area: txt3;
  position: relative;
}

.hl3 > .text4 {
  grid-area: txt4;
  position: relative;
}

.hl3 > .text5 {
  grid-area: txt5;
  position: relative;
}

.hl3 > .image1 {
  grid-area: img1;
  position: relative;
}

.hl3 > .image1 img {
  display: block;
  max-height: 90svh;
  width: 100%;
  position: relative;
}

.hl3 > .image2 {
  grid-area: img2;
  position: relative;
}

.hl3 > .image2 img {
  display: block;
  max-height: 90svh;
  max-width: 100%;
  position: relative;
}

.hl3 > .image3 {
  grid-area: img3;
  position: relative;
}

.hl3 > .image3 img {
  display: block;
  max-height: 80svh;
  max-width: 100%;
  position: relative;
}

.hl3 > .image4 {
  grid-area: img4;
  position: relative;
}

.hl3 > .image4 img {
  display: block;
  max-height: 90svh;
  max-width: 100%;
  position: relative;
}

.hl3 > .image5 {
  grid-area: img5;
  position: relative;
}

.hl3 > .image5 img {
  display: block;
  max-height: 80svh;
  max-width: 100%;
  position: relative;
}

.slo6 {
  display: inline-block;
  animation-name: slide-in6;
  animation-duration: 7s;
}

.slo7 {
  display: inline-block;
  animation-name: slide-in7;
  animation-duration: 7s;
}

.slo8 {
  display: inline-block;
  animation-name: slide-in8;
  animation-duration: 7s;
}

@keyframes slide-in6 {
  0% {
    translate: 100vw 0;
    scale: 150% 1;
  }

  15%, 75% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in7 {
  0%, 25% {
    translate: 100vw 0;
    scale: 150% 1;
  }

  25%, 85% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in8 {
  0%, 40% {
    translate: 100vw 0;
    scale: 150% 1;
  }

  40%, 100% {
    translate: 0 0;
    scale: 100% 1;
  }
}

/* hl4 dienstleister */

.hl4 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "txts"
  "txti"
  "dl1"
  "dl2"
  "dl3"
  "dl4"
  "dl5"
  "dl6"
  "dl7"
  "dl8"
  "dl9"
  "dl10";
}

.itcard  {
  width: 90vw;
  color: black;
  background-color: var(--paleterracotta);
  border-radius: 3vh 3vh 3vh 3vh;
  margin-top: 3vh;
}

.itcard img {
  border-radius: 3vh 3vh 0 0;
}

.itcard p {
  text-align: left;
  padding: 3vh 3vw;
  margin-top: 0;
  margin-bottom: 0.6em;
}

.itcard h2 {
  text-align: center;
}

.hl4 > .slogan {
  grid-area: txts;
  position: relative;
  margin: 0vh 5vw 0vh;
}

.hl4 > .intro-text {
  grid-area: txti;
  position: relative;
  margin: 0vh 2vw 2vh;
}

.hl4 > .dekor {
  grid-area: dl4;
  position: relative;
}

.hl4 > .foto {
  grid-area: dl8;
  position: relative;
}

.hl4 > .einladungen {
  grid-area: dl1;
  position: relative;
}

.hl4 > .catering {
  grid-area: dl7;
  position: relative;
}

.hl4 > .unterhaltung {
  grid-area: dl9;
  position: relative;
}

.hl4 > .floristik {
  grid-area: dl2;
  position: relative;
}

.hl4 > .transport {
  grid-area: dl5;
  position: relative;
}

.hl4 > .styling {
  grid-area: dl3;
  position: relative;
}

.hl4 > .traurede {
  grid-area: dl6;
  position: relative;
}

.hl4 > .datum {
  grid-area: dl10;
  position: relative;
  margin-top: 5vh;
}

.slo9 {
  display: inline-block;
  animation-name: slide-in9;
  animation-duration: 5s;
}

.slo10 {
  display: inline-block;
  animation-name: slide-in10;
  animation-duration: 5s;
}

@keyframes slide-in9 {
  0% {
    translate: -100vw 0;
    scale: 150% 1;
  }

  15%, 75% {
    translate: 0 0;
    scale: 100% 1;
  }
}

@keyframes slide-in10 {
  0% {
    translate: 100vw 0;
    scale: 150% 1;
  }

  45%, 100% {
    translate: 0 0;
    scale: 100% 1;
  }
}

/* hl5 kontakt */

.hl5 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "txt1"
  "img2"
  "txt2"
  "img1";
}

.bdh {
  display: block;
  text-align: center;
}

.hl5 > .image1 {
  grid-area: img1;
  display: block;
  position: relative;
}

.hl5 > .image1 img {
  max-width: 512px;
  padding-bottom: 2svh;
  position: relative;
}

.hl5 > .image2 {
  grid-area: img2;
  display: block;
  position: relative;
  max-width: 90vw;
}

.hl5 > .image2 img {
  height: auto;
  width: 100%;
  padding-bottom: 2svh;
  position: relative;
}

.hl5 > .text1 {
  grid-area: txt1;
  position: relative;
}

.hl5 > .text1 h1 {
  text-align: center;
  font-size: 450%;
}

.hl5 > .text2 {
  grid-area: txt2;
  position: relative;
  padding-bottom: 2vh;
  max-width: 40em;
}

.slo11 {
  display: block;
  animation-name: slide-in11;
  animation-duration: 7s;
}

@keyframes slide-in11 {
  0% {
    translate: 100vw 0;
    scale: 150% 1;
	letter-spacing: 5vw;
  }

  15%, 75% {
    translate: 0 0;
    scale: 100% 1;
	letter-spacing: normal;
  }
}

/* hl6 rechtliches */

.hl6 {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  justify-items: center;
  align-items: center;
  grid-template-areas:
  "txt1"
  "txt2"
  "txt3";
  padding-left: 3vw;
  padding-right: 3vw;
  top: 10vh;
}

.hl6 > .text1 {
  grid-area: txt1;
  position: relative;
}

.hl6 > .text1 h1 {
  text-align: center;
  font-size: 450%
}

.hl6 > .text2 {
  grid-area: txt2;
  position: relative;
}

.hl6 > .text3 {
  grid-area: txt3;
  position: relative;
  padding-bottom: 20vh;
  margin-bottom: 2vh;
  margin-left: auto;
  margin-right: auto;
  max-width: 45em;
}

.hl6 > .text3 h2, p {
  text-align: left;
}

/* footer hlf */

.hlf {
  grid-template-columns: 1fr;
  grid-template-rows: auto(repeat);
  grid-template-areas:
  "footer-txt"
  "footer-links";
  margin-top: 8vh;
}

.myfoot {
  display: grid;
  justify-items: center;
  width: 100vw;
  color: white;
  background-color: var(--darkterracotta);
  text-align: center;
  padding-top: 0vh;
}

.footer-txt {
  grid-area: footer-txt;
  align-self: center;
  padding-top: 1vh;
}

.footer-links, .footer-txt p {
  color: white;
  font-weight: normal;
  text-align: center;
}

.footer-links {
  grid-area: footer-links;
  align-self: center;
  text-align: center;
  padding-bottom: 1vh;
  padding-left: 5vw;
}

.footer-links a {
  padding-left: 1vw;
  padding-right: 1vw;
  text-decoration: none;
}

.footer-txt, .footer-links a {
  font-size: 80%;
}

