@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/Open Sans/OpenSans-Regular.woff2') format('woff2'),
       url('../fonts/Open Sans/OpenSans-Regular.woff') format('woff');
  /* font-weight: 300;
  font-style: normal; */
}

@font-face {
  font-family: 'Prata';
  src: url('../fonts/Prata/Prata-Regular.woff2') format('woff2'),
       url('../fonts/Prata/Prata-Regular.woff') format('woff');
  /* font-weight: 300;
  font-style: normal; */
}

@font-face {
  font-family: 'Maven Pro';
  src: url('../fonts/Maven Pro/MavenPro-VariableFontwght.woff2') format('woff2'),
       url('../fonts/Maven Pro/MavenPro-VariableFontwght.woff') format('woff');
  /* font-weight: 300;
  font-style: normal; */
}


:root {
  --spacing: 1.5rem;
  --spacing-l: 3rem;
  --spacing-s: 0.75rem;
  --color-black: #211c19;
  --color-white: #fff;
  --color-grey: #211c1988;
  --color-light: #F9FAFB;
  --color-code-green: #495A52;
  --color-text: var(--color-black);
  --color-text-grey: var(--color-grey);
  --color-background: #eeeee7;
  --color-apricot-cream: #EEC481;
  --color-code-light-grey: #cacbd1;
  --color-code-comment: #a9aaad;
  --color-code-white: #c5c9c6;
  --font-family-sans: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-mono: "Prata", "Sono", "Noto Serif Display", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
  --font-family-display: "Maven Pro";
  /* --font-size: 1.5rem; */
}

/* für Variablen:
@media screen and (max-width:1400px) {
  :root {
    /* --spacing: 1.5rem;
    --spacing-l: 1.5rem;
    --spacing-s: 0.75rem;
    --color-black: red;
  }
} */

* {
  scroll-behavior: smooth;
}


body {
  background: var(--color-light);
  font-family: var(--font-family-mono);
  color: var(--color-text);
  width: 100%;
  height: 100%;
  min-height: 100vh;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  position: relative;
}

main {
  margin: var(--spacing);
  min-height: calc(100vh - 250px);
}



/*############# Typografie ################*/

h1 {
  font-size: 4rem;
  font-weight: 300;
  line-height: 1em;
  color: var(--color-black);
  /* letter-spacing: 5px; */
  line-height: 1.4;
}

h2 {
  font-size: 2.5rem;
  font-weight: 300;
  color: var(--color-black);
  /* letter-spacing: 5px; */
  line-height: 1.4;
  margin: 0;
}

h3 {
  font-size: 1.5rem;
  font-weight: 300;
  color: var(--color-black);
  margin: 0;
}

h4 {
  color: var(--color-black);
  font-family: var(--font-family-display);
  font-size: 18px;
  line-height: 2rem;
  /* text-transform: uppercase; */
  letter-spacing: 1.5px;
  font-weight: 300;
  margin: 0;
}

p {
  font-family: var(--font-family-sans);
  font-size: 15px;
  letter-spacing: .5px;
  line-height: 1.7rem;
  color: var(--color-black);
  font-weight: 300;
}

small {
  font-family: var(--font-family-sans);
}


@media screen and (max-width:1400px) {

  /* h1 {
    font-size: 5vw;
  } */

  h2 {
    font-size: 2.25rem;
    line-height: 1.15;
  }

}

@media screen and (max-width:800px) {

  h2 {
    font-size: 1.75rem;
    line-height: 1;
  }

  h3 {
    font-size: 1.25rem;
    line-height: 1;
  }

  h4 {
    font-size: 15px;
    line-height: 1.3;
  }

}


li::marker {
  color: var(--color-black);
}



/*############# Cards Grid Layout ################*/

.grid,
.grid-cards {
  --columns: 12;
  display: grid;
  grid-gap: var(--gutter);
  font-weight: 300;
  grid-template-columns: repeat(var(--columns), 1fr);
  margin: var(--spacing);
}

.grid-cards .card,
.grid .column {
  grid-column: span var(--span);
  /* margin: var(--spacing-l); */
  justify-content: start;
  text-align: center;
}

.grid-cards .card li {
  text-align: left;
  font-family: var(--font-family-sans);
  font-size: 15px;
  letter-spacing: .5px;
  line-height: 2rem;
  color: var(--color-black);
}

.card {
  padding: var(--spacing-l);
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  background-color: var(--color-white);
  max-width: 1200px;
  margin: auto;
  /* min-height: 300px; */
}

.card .card,
.card .card h3 {
  padding: 0;
  margin: 0;
}

.card h2 {
  margin-bottom: var(--spacing);
}

.card h3 {
  margin-top: var(--spacing);
}

.card p {
  margin: .5em;
}


@media screen and (max-width:1400px) {
  .card {
    padding: var(--spacing-l);
    margin: auto;
  }
  .card .card:not(:last-child) {
    margin-bottom: var(--spacing-l);
  }
  .card .grid-cards {
    margin: var(--spacing) auto;
  }
  .card .grid-cards:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width:800px) {

  .grid,
  .grid-cards {
    --columns: 1;
  }
}



/*################ Header ################*/

.header {
  position: fixed;
  top: 0;
  z-index: 300;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  /* background-color: white; */
}


.menu {
  display: flex;
  align-items: center;
  justify-content: end;
  /* margin-bottom: 0.5rem; */
}


.logo {
  display: block;
  cursor: pointer;
  font-size: 3em;
  width: 50px;
  aspect-ratio: 1/1;
  white-space: nowrap;
  padding: 1rem;
}

@media screen and (max-width: 1400px) {
  .logo {
    width:45px;
  }
}

@media screen and (max-width: 800px) {
  .logo {
    width: 40px;
  }
}


/*################ Burger Menu ################*/

.ham {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform 400ms;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  z-index: 100;
}

.hamRotate.active {
  transform: rotate(45deg);
}

.hamRotate180.active {
  transform: rotate(180deg);
}

.line {
  fill: none;
  transition: stroke-dasharray 800ms, stroke-dashoffset 800ms;
  stroke: var(--color-black);
  stroke-width: 2;
  stroke-linecap: round;
}

.ham1 .top {
  stroke-dasharray: 40 139;
}

.ham1 .bottom {
  stroke-dasharray: 40 180;
}

.ham1.active .top {
  stroke-dashoffset: -98px;
}

.ham1.active .bottom {
  stroke-dashoffset: -138px;
}



/*############# Intro ################*/
#intro {
  display: flex;
  padding: var(--spacing);
  justify-content: center;
  margin: auto;
  margin-bottom: var(--spacing-l);
  /* max-width: 1200px;s */
}

.introtext {
  padding: 4rem;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  border-radius: 0 1rem 1rem 0;
  background-color: #fff;
  text-align: left;
}

.introtext h1 {
  white-space: nowrap;
  width: 100%;
}

.introtext h4 {
  width: 100%;
}

#intro video {
  aspect-ratio: 13/16;
  object-fit: cover;
  width: 40%;
  margin-top: -5rem;
  z-index: 1;
}

/*video img*/


@media screen and (max-width: 1400px) {
  /* #intro {
    padding: var(--spacing-s);
  } */

  .introtext {
    width: 40%;
  }

  #intro h1 {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 800px) {
  .introtext {
    padding: 8rem var(--spacing);
  }

  .introtext {
    width: 80%;
  }
  #intro video {
    width: 30%;
  }

  #intro h1 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 600px) {
  #intro video {
    width: 20%;
  }
}



/*############# About ################*/
#about {
  display: flex;
  padding: var(--spacing-l);
  /* width: 100%; */
  max-width: 1200px;
  margin: auto;
}

.abouttext {
  padding: var(--spacing-l);
  justify-content: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  background-color: var(--color-white);
  z-index: 1;
}

#about img {
  aspect-ratio: 10/12;
  object-fit: contain;
  width: 70%;
  z-index: 1;
  margin-top: var(--spacing-s);
  min-width: 180px;
}



@media screen and (max-width:1400px) {
  #about {
    margin: auto var(--spacing-l);
    /* padding: var(--spacing-s); */
  }
  #about img {
    width: 40%;
    margin: auto;
  }
}

@media screen and (max-width:800px) {
  #about {
    text-align: center;
    margin: var(--spacing-s) 0 auto;
    display: block;
    position: relative;
    padding: var(--spacing-s);
  }

  .abouttext {
    /* text-align: left; */
    padding: var(--spacing);
    /* margin-right: -1rem;
    padding-left: 2rem; */
    /* padding: 2rem; */
  }

  #about img {
    width: 30%;
    margin: auto;
    margin-top: calc(var(--spacing-l)*-0.5);
  }
}



/*############# Kontaktformular ################*/

#contact {
  padding: var(--spacing);
  background-color: white;
  border-radius: 1rem;
  max-width: 1200px;
  margin: auto;
  margin-bottom: var(--spacing-l) !important;
}

.card.contact {
  /* display: flex;
  flex-direction: column; */
  /* gap: var(--spacing-s); */
  width: 100%;
  max-width: 560px;
  --span: 7;
}

.socialmedia {
  --span: 4;
}

.socialmedia p a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
  color: var(--color-black);
  transition: all 0.9s ease-out;
}
.socialmedia p a:hover {
  border-bottom: 1px solid var(--color-black);
  color: var(--color-black);
}

.socialmedia ul {
  list-style: none;
}

.social {
  display: flex;
  padding: 0 .5rem;
}

.social img {
  max-height: 48px;
  aspect-ratio: 1/1;
}

.social a {
  padding: 1rem .5rem;
}

.formular {
  text-align: center;
  margin-top: var(--spacing-s);
  width: 100%;
}

.formular>div {
  /* display: flex;
  flex-direction: column; */
  position: relative;
  /* overflow: hidden; */
}

.formular label {
  display: none;
}

.formular input,
.formular textarea {
  background-color: white;
  border: 1px solid #E5DDD6;
  border-radius: 3px;
  padding: 1rem;
  margin: 0;
  margin-bottom: var(--spacing-s);
  width: 100%;
  display: block;
  box-sizing: border-box;

  
  font-family: var(--font-family-display);
  line-height: 2rem;
}

.formular input::placeholder,
.formular textarea::placeholder {
  text-transform: uppercase;
  color: var(--color-grey);
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 200;
}

.formular input:focus,
.formular textarea:focus {
  outline: 1.5px solid var(--color-apricot-cream);
}


.formular input[type=submit] {
  background-color: #E5DDD6;
  border-radius: 0;
  border-radius: 3px;
  margin: 0;
  width: 30%;
  margin: auto;
  margin-top: var(--spacing-s);
  box-sizing: border-box;
  transition: opacity 0.2s ease-out;

  color: var(--color-grey);
  font-family: var(--font-family-display);
  font-size: 16px;
  line-height: 2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 300;
}

.formular input[type=submit]:hover,
.formular input[type=submit]:focus {
  cursor: pointer;
  opacity: 0.9;
}

.honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
}

.uniform__potty {
    position: absolute;
    left: -9999px;
}

.error {
  color: red;
}

@media screen and (max-width:1400px) {
  #contact {
    margin: auto;
    padding: 0;
  }

  .card.socialmedia,
  .card.contact {
    margin: auto;
    padding: var(--spacing-l);
    width: calc(100% - var(--spacing) - var(--spacing));
  }
}

@media screen and (max-width:800px) {
  #contact {
    display: block;
    text-align: center;
  }

  .card.contact {
    width: auto;
  }
 
  .formular input[type=submit] {
    min-width: 160px;
  }


  #contact.grid-cards {
    gap: var(--spacing-l);
  }
  .card.socialmedia {
    width: auto;
  }
 
}


/*############# Footer ################*/

.footer {
  padding: var(--spacing-l);
  line-height: 1.5em;
  display: flex;
  background-color: #616F69;
  margin-top: var(--spacing-l);
}


/*################ Copyright (Footer) ################*/

.copyright {
  width: 75%;
  /* margin-top: 1rem; */

}

.copyright p {
  font-size: 1rem;
  color: white;
  font-family: var(--font-family-display);
  font-size: 15px;
  letter-spacing: .5px;
  line-height: 1.7rem;
}


/*################ Legal (Footer) ################*/

.legal {
  width: 25%;
  text-align: right;
}

.legal a {
  text-decoration: none;
  color: white;
  font-family: var(--font-family-display);
  font-size: 1rem;
  letter-spacing: 1px;
  line-height: 1.7rem;
}


/*################ Error-Seite ################*/

/* .errorsite {
  height: 100dvh;
} */




/*################ Background-Style ################*/

.background {
  position: sticky;
  /* width: 100vw;
  height: 100vh; */
  overflow: hidden;
  top: 0;
  left: 0;
  display: flex;
  z-index: -1;
  justify-content: end;
  align-items: end;
}

#contact img {
  width: 100%;
  /* stroke: var(--color-black); */
}

/* 
.strich {
  border-color: #211c19;
} */