/*-----------------------------------------------------------------------------
Theme: Lutz Hethey
Description:
-----------------------------------------------------------------------------*/

/*Reset*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

a {
  text-decoration: none;
  color: inherit;
}

body {
  margin: 0;
  background-color: var(--primary-100);
}

html {
  line-height: 1.5;
}

main {
  display: block;
}

small {
  font-size: 80%;
}

h1 {
  font-family: "Ojuju";
  font-weight: 500;
  font-size: 52px;
  text-shadow: rgba(0, 0, 0, 0.5) 0px 0px 0.5rem;
}

h2 {
  font-family: "Ojuju";
  font-weight: 500;
  font-size: 32px;
  /* text-shadow: rgba(0, 0, 0, 0.5) 0px 0px 0.5rem; */
}

h3 {
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  text-align: center;
  font-style: italic;
}

/* Variables */
:root {
  /* Primary: Earls Green */
  --primary-100: #fdfff2;
  --primary-200: #f9febe;
  --primary-300: #f4f687;
  --primary-400: #e0da4e;
  --primary-500: #b5a61b;
  --primary-600: #917c09;
  --primary-700: #6e5602;
  --primary-800: #4a3600;
  --primary-900: #261a00;

  /* Accent: Magnificent Magenta */
  --accent-100: #fff2f7;
  --accent-200: #ffbeda;
  --accent-300: #fd8ac1;
  --accent-400: #f755ad;
  --accent-500: #ed219c;
  --accent-600: #bb0b7f;
  --accent-700: #8a0263;
  --accent-800: #580044;
  --accent-900: #260020;

  /* Neutral */
  --neutral-100: #fcfcfa;
  --neutral-200: #eaebe6;
  --neutral-300: #d9d9d3;
  --neutral-400: #c7c6c0;
  --neutral-500: #b5b4ae;
  --neutral-600: #919089;
  --neutral-700: #6e6c66;
  --neutral-800: #4a4844;
  --neutral-900: #262522;
}

/* Font */

/* ojuju-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 200;
  src: url("assets/fonts/ojuju-v1-latin-200.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 300;
  src: url("assets/fonts/ojuju-v1-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/ojuju-v1-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 500;
  src: url("assets/fonts/ojuju-v1-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 600;
  src: url("assets/fonts/ojuju-v1-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/ojuju-v1-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* ojuju-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Ojuju";
  font-style: normal;
  font-weight: 800;
  src: url("assets/fonts/ojuju-v1-latin-800.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100;
  src: url("assets/fonts/montserrat-v26-latin-100.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 200;
  src: url("assets/fonts/montserrat-v26-latin-200.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  src: url("assets/fonts/montserrat-v26-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("assets/fonts/montserrat-v26-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("assets/fonts/montserrat-v26-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/montserrat-v26-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  src: url("assets/fonts/montserrat-v26-latin-800.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 900;
  src: url("assets/fonts/montserrat-v26-latin-900.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*Classes*/

/* General Elements */

.section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;

  transition: transform 1s, opacity 1s;
}

.section--sec {
  background-color: var(--primary-500);
}

.section--sec h2 {
  color: var(--primary-100);
}

.container {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 100px;

  max-width: 1200px;
  padding: 1rem;
}

.container--reverse {
  flex-wrap: wrap-reverse;
}

@media only screen and (max-width: 1130px) {
  .container {
    max-width: 500px;
  }
}

.section--hidden {
  opacity: 0;
  transform: translateY(8rem);
}

.logo {
  width: 120px;
  height: 46px;
}

.btn {
  font-size: 100%;
  font-family: inherit;
  color: var(--primary-100);
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  margin-top: 1rem;

  border-radius: 20px;
  background-color: var(--primary-500);
  border-color: var(--primary-500);
}

.btn:hover {
  cursor: pointer;
}

.divider {
  background-image: url(img/divider.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* background-attachment: fixed; */
  height: 400px;
}

/* General Sections */

/* nav */
.nav {
  position: fixed;
  width: 100%;

  padding: 1rem;
  z-index: 100;
}

.nav--container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

.nav--scroll {
  background: linear-gradient(
    90deg,
    var(--primary-900) 10%,
    var(--primary-800) 50%,
    var(--primary-700)
  );
  box-shadow: 0px 5px 15px black;
}

.nav--logo {
  display: flex;
  justify-content: center;
}

.nav--burger:hover {
  cursor: pointer;
}

.nav--elements {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  color: var(--primary-100);
}

@media only screen and (max-width: 450px) {
  .nav--elements {
    flex-direction: column;
  }
}

.nav--elements--hidden {
  display: none;
}
.nav--elements--element {
  padding-right: 20px;
  margin-bottom: 3px;
}

.nav--elements--element--sec {
  color: var(--primary-200);
}

/* Footer */
.footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background: linear-gradient(
    90deg,
    var(--primary-900) 10%,
    var(--primary-800) 50%,
    var(--primary-700)
  );
  color: var(--primary-100);
}

.footer--container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  list-style: none;
}

.footer--container--elements {
  padding-right: 20px;
  margin-bottom: 3px;
}

@media only screen and (max-width: 450px) {
  .footer--container {
    flex-direction: column;
    align-items: end;
  }
}

/* Kontaktformular */
.kontakt {
  background: linear-gradient(
      90deg,
      var(--primary-900) 10%,
      rgba(255, 255, 255, 0)
    ),
    url(img/kontakt.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  height: 500px;
  color: var(--primary-200);
}

.kontakt--text {
  padding-top: 2rem;
  padding-bottom: 2rem;
  max-width: 800px;
}

@media only screen and (max-width: 800px) {
  .kontakt--text {
    max-width: 350px;
  }
}
.kontakt--btn {
  display: flex;
  flex-direction: row;
  gap: 20px 20px;
}

.kontakt--btn p {
  text-align: center;
  font-size: 12px;
  font-weight: 300;
  color: var(--primary-100);
}

.hero {
  background: linear-gradient(
      90deg,
      var(--primary-900) 10%,
      rgba(255, 255, 255, 0)
    ),
    url(img/hero.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;

  height: 100vh;

  color: var(--primary-200);
}

/* Index Site */

/* Hero */
.hero--index {
  background-image: linear-gradient(
      90deg,
      var(--primary-900) 10%,
      rgba(255, 255, 255, 0)
    ),
    url(img/hero-index.webp);
  background-position: 50% 50%;
}

/* Über mich */

.mich--container--text {
  max-width: 600px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.mich--container--img {
  border-radius: 67% 33% 60% 40% / 28% 70% 30% 72%;
  width: 400px;
}

/* Angebot */

.angebot--container--card {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  overflow: hidden;

  position: relative;

  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.25);
  border-radius: 20px;

  height: 600px;
  max-width: 400px;

  will-change: transform;
  transform: scale(1);
  transition: transform 0.25s ease-in-out;
}

.angebot--container--card:hover {
  transform: scale(1.05);
}

.angebot--container--card--img {
  object-fit: cover;
  height: 600px;
}

.angebot--container--card--text {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem 1rem;
  padding-bottom: 1.5rem;
  background-color: rgba(0, 0, 0, 0.5);
  color: var(--primary-100);
}

/* Trauerredner Site */
/* Trauredner */

.trauerredner--container--text {
  max-width: 500px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.trauerredner--container--text--large {
  max-width: 600px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.trauerredner--container--img {
  border-radius: 67% 33% 60% 40% / 28% 70% 30% 72%;
  width: 400px;
}

/* Leistungen */
.leistungen--container--text {
  max-width: 500px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.25);
  padding: 1rem;

  background: var(--primary-500);
  color: var(--primary-100);
}

.leistungen--container--text--list {
  margin: 20px;
}

/* divider */
.divider--trauer {
  background-image: url(img/divider-trauer.webp);
}

/* Hochzeit- und Festredner */

/* Hero  */

.hero--hochzeit {
  background-image: linear-gradient(
      90deg,
      var(--primary-900) 10%,
      rgba(255, 255, 255, 0)
    ),
    url(img/hero-hochzeit.webp);
}

@media only screen and (max-width: 1200px) {
  .hero--hochzeit {
    background-position: center;
  }
}

/* Hochzeit- und Festredner */

.festredner--container--text {
  display: flex;
  flex-direction: column;

  max-width: 500px;
}

.festredner--container--img {
  border-radius: 67% 33% 60% 40% / 28% 70% 30% 72%;
  width: 300px;
  margin: auto;
  padding-bottom: 1rem;
}

/* Impressum */

.container-impressum {
  display: flex;
  align-items: center;
  justify-content: start;
  flex-direction: column;

  padding: 1rem;

  max-width: 1200px;
}

/* Rechtliches - Impressum & Datenschutz */

.hero--rechtliches {
  background-image: url(img/hero-rechtliches.webp);
  height: 300px;
}

.section--rechtliches {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;

  transition: transform 1s, opacity 1s;
}

.container--rechtliches {
  display: flex;
  justify-content: start;
  flex-direction: column;

  padding: 1rem;

  max-width: 1200px;
}

.container--rechtliches h3 {
  margin-bottom: 0.25rem;
  margin-top: 0.5rem;
  text-align: left;
  padding: 0;
}

.container--rechtliches li {
  margin-left: 1rem;
}
