*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

body {
  height: 100dvh;
  background-color: white;
  line-height: 1.5;
  overflow-x: hidden;
}

*:focus-visible {
  box-shadow: 0 0 0 0.2rem var(--color-primary);
  border-radius: 0.1rem;
  outline: none;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

/*°fonts*/
@font-face {
  font-family: "Concert One";
  src: url(./fonts/concertOne/ConcertOne-Regular.woff2) format("woff2");
  font-weight: 400;
}

@font-face {
  font-family: "Manrope";
  src: url(./fonts/manrope/Manrope-Regular.woff2) format("woff2");
  font-weight: 400;
}

@font-face {
  font-family: "Oswald";
  src: url(./fonts/oswald/Oswald-Light.woff2) format("woff2");
  font-weight: 300;
}

@font-face {
  font-family: "Oswald";
  src: url(./fonts/oswald/Oswald-Regular.woff2) format("woff2");
  font-weight: 400;
}

@font-face {
  font-family: "Oswald";
  src: url(./fonts/oswald/Oswald-Medium.woff2) format("woff2");
  font-weight: 500;
}

@font-face {
  font-family: "Raleway";
  src: url(./fonts/raleway/raleway-regular-webfont.woff2) format("woff2");
  font-weight: 400;
}

@font-face {
  font-family: "Raleway";
  src: url(./fonts/raleway/raleway-medium-webfont.woff2) format("woff2");
  font-weight: 500;
}

@font-face {
  font-family: "Raleway";
  src: url(./fonts/raleway/raleway-bold-webfont.woff2) format("woff2");
  font-weight: 600;
}

/*°farbe*/
:root {
  --color-primary: #c5aa58;
  --color-text: rgba(0, 0, 0, 0.8);
  --color-neutral: rgba(0, 0, 0, 0.4);
  --shadow-primary: 3px 3px 8px rgba(0, 0, 0, 0.3);
  --shadow-secondary: 1px 1px 2px rgba(0, 0, 0, 0.2);
  --color-warning: #9e0b00;
}

::selection {
  background-color: rgba(197, 170, 88, 0.7);
  color: var(--color-text);
}

/*°typo*/
/*°headlines*/

body {
  font-family: "Raleway", sans-serif;
}

.headline-subpage,
.headline-content,
.headline-content--start,
.headline-light,
.headline-list {
  font-family: "Oswald", sans-serif;
  color: var(--color-primary);
}

.headline-subpage,
.headline-light {
  font-size: 2.5rem;
  letter-spacing: -0.01em;
}

.headline-subpage,
.headline-content,
.headline-content--start,
.headline-list {
  font-weight: 500;
}

.headline-light {
  font-weight: 300;
}

.headline-content,
.headline-content--start {
  font-size: 1.25rem;
}

.headline-subpage {
  padding-top: 1rem;
}

.headline-list {
  font-size: 1.125rem;
}

.container-headline-subpage--form {
  padding-bottom: 1.5rem;
}

.container-headline-subpage::after,
.container-headline-subpage--form::before {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 2px solid var(--color-primary);
  background-color: var(--color-primary);
}

.container-headline-subpage::after {
  margin-top: 0.25rem;
  margin-bottom: 2rem;
}

.container-headline-subpage--form::before {
  margin-top: 4rem;
  margin-bottom: 4.25rem;
}

.headline-desktop-only {
  display: none;
}

.content-subpage__item {
  .headline-content {
    padding-top: 1.5rem;
  }
}

/*°headlines responsive*/
@media (min-width: 43.75em) {
  .headline-desktop-only {
    display: inline;
  }
}

@media (min-width: 43.75em) {
  .headline-subpage,
  .headline-light {
    font-size: 2.75rem;
    padding-top: 0;
  }
  .container-headline-subpage::after {
    margin-bottom: 2.25rem;
  }
  .container-headline-subpage--form::before {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
  .headline-content--start {
    font-size: 1.4rem;
  }
}

@media (min-width: 62.5em) {
  .headline-subpage,
  .headline-light {
    font-size: 3rem;
  }
}

@media (min-width: 100em) {
  .content-subpage__item {
    .headline-content {
      padding-top: 2rem;
    }
  }
  .container-headline-subpage--form::before {
    margin-top: 8.25rem;
    margin-bottom: 8rem;
  }
  .headline-content {
    font-size: 1.4rem;
  }
}

@media (min-width: 120em) {
  .container-headline-subpage::after {
    margin-bottom: 3rem;
  }
  .headline-content--start {
    font-size: 1.5rem;
  }
  .container-headline-subpage {
    .headline-subpage {
      font-size: 3.25rem;
    }
  }
  .content-subpage__item {
    .headline-content {
      padding-top: 2.5rem;
    }
  }
}

/*°gallery*/
.container-headline-subpage--gallery,
.container-headline-subpage--video {
  display: flex;
  justify-content: center;
  padding-bottom: 1.25rem;
}

@media (min-width: 43.75em) {
  .container-headline-subpage--gallery,
  .container-headline-subpage--video {
    justify-content: start;
  }
}

/*°Unsere Pferde und Ponys*/

.horse-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1rem;
}

.horse-gallery .content-subpage__item {
  width: 100%;
}

#horse-and-ponys .content-subpage__image-container {
  height: 17rem;
}

.content-subpage__image {
  height: 100%;
}

@media (max-width: 1300px) {
  .horse-gallery {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 850px) {
  .horse-gallery {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .horse-gallery {
    grid-template-columns: 1fr;
  }
}

/*°text*/
.text,
.list,
.link {
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  line-height: 1.5em;
}

.text,
.list {
  font-weight: 400;
  color: var(--color-text);
}

.link {
  font-weight: 500;
  color: var(--color-primary);
  pointer-events: initial;
  transition: 0.3s;
}

@media (min-width: 25em) {
  .text,
  .list,
  .link {
    font-size: 1rem;
  }
}

@media (min-width: 120em) {
  .text,
  .list,
  .link {
    font-size: 1.05rem;
  }
}

.text--gap {
  padding-bottom: 1.15em;
}

.text--gap-top {
  margin-top: 1em;
}

.text--gap-not-last:not(:last-of-type) {
  margin-bottom: 1em;
}

.text--color-primary {
  color: var(--color-primary);
}

.text--color-primary,
.text--full-width {
  font-style: normal;
  font-weight: 500;
}

.text--full-width {
  font-size: 1rem;
  margin-bottom: 4rem;
}

.list {
  list-style-position: outside;
  text-align: start;
  padding: 0 0 1em 1rem;
}

.list li::marker {
  color: var(--color-primary);
}

.list li:not(:last-of-type) {
  margin-bottom: 0.5em;
}

@media (min-width: 120em) {
  .text--full-width {
    font-size: 1.15rem;
  }
}

.list--bullets-none {
  list-style: none;
  padding: 0.25rem 0 0 0;
}

.list-headline {
  padding-bottom: 0.5rem;
}

.list__container-items {
  display: flex;
  gap: 2rem;
  align-items: flex-end;
  padding: 0.5rem 0 1.25rem 0;
}

.list__image {
  width: 6rem;
  transition: 0.3s;
}

.list__image:hover {
  opacity: 0.5;
  transition: 0.3s;
}

.list__image-text {
  margin-bottom: -0.4em;
}

.link {
  color: var(--color-primary);
}

.link:hover {
  color: var(--color-neutral);
  transition: 0.3s;
}

/*°buttons*/
.button {
  appearance: none;
  width: 7.5rem; /*padding: 0.7rem 2.8rem;*/
  height: 2.5rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: white;
  border: transparent;
  border-radius: 0.4rem;
  box-shadow: var(--shadow-primary);
  transition: 0.3s;
}

.button-link {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

.button-text {
  font-family: "Raleway", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--color-primary);
  transition: 0.3s;
}

.button:focus {
  outline: 2px solid var(--color-primary);
}

.button:hover {
  background-color: var(--color-primary);
  transition: 0.3s;
  .button-text {
    color: white;
  }
}

.container-button,
.container-button--submit {
  display: flex;
  justify-content: flex-start;
  padding-top: 0.75rem;
  grid-area: submit;
}

.container-button--multi {
  width: 100%;
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  gap: 2rem;
  padding-top: 1rem;
  margin-bottom: 4rem;
  .container-button--reduced {
    margin-bottom: 0;
  }
}

@media (min-width: 50em) {
  .container-button--multi {
    flex-direction: row;
    margin-bottom: 0;
  }
}

.container-button-gallery,
.container-button-video {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
}

.container-button-gallery {
  padding: 4rem 2rem 1rem 2rem;
}

.container-button-video {
  padding-bottom: 2rem;
}

@media (min-width: 50em) {
  .container-button-gallery,
  .container-button-video {
    justify-content: start;
  }
  .container-button-video {
    padding-top: 0;
  }
}

@media (min-width: 100em) {
  .container-button-gallery,
  .container-button-video {
    display: none;
  }
}

.button--submit {
  height: 3rem;
  width: 9rem;
  appearance: none;
  border: transparent;
  cursor: pointer;
  margin-inline: auto;
  transition: 0.3s;
}

.button--submit:hover {
  color: white;
  transition: 0.3s;
}

.button-side,
.button-back {
  appearance: none;
  display: flex;
  border-color: transparent;
  box-shadow: var(--shadow-primary);
  transition: 0.3s;
}

.button-side {
  width: 6rem;
  height: 4.5rem;
  position: fixed;
  z-index: 800;
  left: 100%;
  top: 37%;
  transform: translateX(-4.5rem);
  justify-content: start;
  align-items: center;
  border-radius: 0.4rem 0 0 0.4rem;
  background-color: var(--color-primary);
}

.button-side__link,
.button-back__link {
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  color: white;
  text-align: start;
  text-decoration: none;
  transition: 0.3s;
}

.button-side__link {
  padding: 0.5rem 0.5rem 0.7rem 0.5rem;
}

/*@media (min-width: 37.5em) {
    .button-side {
        left: 100%;
        top: 33%;
        transform: translateX(-4.5rem);
        justify-content: start;
        align-items: center;
        writing-mode: horizontal-tb;
    }
}*/

@media (min-width: 50em) {
  .button-side {
    top: 39%;
    background-color: white;
    transform: translateX(-5rem);
  }
  .button-side__link {
    color: var(--color-primary);
  }
  .button-side:hover {
    transform: translateX(-6rem);
    background-color: var(--color-primary);
    .button-side__link {
      color: white;
      transition: 0.3s;
    }
  }
}

@media (min-width: 100em) {
  .button-side {
    height: 5rem;
    top: 40%;
  }
  .button-side__link {
    font-size: 1.25rem;
  }
}

@media (max-height: 50em) {
  .button-side {
    top: 20%;
  }
}

@media (min-height: 50em) and (max-height: 53.75em) {
  .button-side {
    top: 41%;
  }
}

.button-back {
  width: 2.75rem;
  height: 2.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 0.75rem;
  background-color: white;
}

.icon-button-back {
  width: 60%;
  fill: var(--color-primary);
  transition: 0.3s;
}

.button-back__link {
  display: flex;
  justify-content: center;
  align-items: center;
}

.button-back:hover {
  background-color: var(--color-primary);
  transition: 0.3s;
}

.button-back:hover {
  .icon-button-back {
    fill: white;
    transition: 0.3;
  }
}

.container-button-back {
  display: flex;
  justify-content: center;
  padding-bottom: 2rem;
}

@media (min-width: 43.75em) {
  .container-button-back {
    justify-content: start;
  }
}

@media (min-width: 62.5em) {
  .container-layout--gallery {
    .container-button-back {
      display: none;
    }
  }
}

/*°layout*/
.container-flex {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.container-layout {
  max-width: 90rem;
  height: 100%;
  margin-inline: auto;
  padding: 0 2rem;
}

@media (min-width: 112.5em) {
  .container-layout {
    max-width: 100rem;
  }
}

.container-layout--start {
  position: relative;
}

.container-layout--gallery {
  height: fit-content;
}

/*°header*/
.header {
  padding: 0.75rem 0;
}

.header-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0%;
  z-index: -1;
  background-color: rgb(255, 255, 255);
  transform: translateX(150%);
  transition: 1s linear;
}

.container-layout--header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

@media (min-width: 81.25em) {
  .container-layout,
  .container-layout--header,
  .container-layout--hero,
  .container-layout--main-content,
  .container-layout--main-forms,
  .container-layout--footer {
    padding: 0 4rem;
  }
}

@media (min-width: 120em) {
  .container-layout,
  .container-layout--header,
  .container-layout--hero,
  .container-layout--main-content,
  .container-layout--main-forms,
  .container-layout--footer {
    padding: 0 2rem;
  }
}

.header__item-hidden,
.header__item-hidden--start {
  width: 2rem;
  visibility: hidden;
}

.header__item-hidden {
  height: 1.625rem;
}

.header__item-hidden--start {
  height: 2.28333125rem;
}

/*°logo*/
.header__logo {
  display: block;
  width: 3rem;
  fill: var(--color-text);
  margin-inline: auto;
  transition: 0.3s;
}

.header__logo-start {
  width: 4rem;
  position: absolute;
  top: 1.25%;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 800;
}

.logo {
  width: 100%;
  transition: 0.3s;
}

.logo:hover {
  fill: var(--color-primary);
  transition: 0.3s;
}

.logo-start {
  fill: var(--color-primary);
}

@media (min-width: 80em) {
  .header__logo {
    width: 3.25rem;
  }
}

@media (min-width: 50em) {
  .header__logo-start {
    width: 4.25rem;
  }
}

@keyframes logo-slide-in {
  0% {
    transform: translate(-50%, -150%);
  }

  100% {
    transform: translate(-50%, 0%);
  }
}

.header__logo-start {
  animation: logo-slide-in 1.9s ease-in-out;
}

/*burger*/
.checkbox-burger {
  position: absolute;
  top: 1.25rem;
  left: 1.25rem;
  visibility: hidden;
}

.burger {
  width: 2rem;
  height: 1.625rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.burger:hover {
  cursor: pointer;
}

.burger__line {
  display: block;
  max-width: 100%;
  height: 0.225rem;
  background-color: var(--color-primary);
  border-radius: 1rem;
  transition: 0.6s linear;
}

.checkbox-burger:checked ~ .header {
  .burger .burger__line-top {
    transform-origin: left; /*drehnung an linkem ende der linie*/
    transform: rotate(45deg);
    transition: 0.6s linear;
  }
  .burger .burger__line-center {
    transform: scaleY(0); /*aus horizontaler richtung auf null reduzieren*/
    transition: 0.3s linear;
  }
  .burger .burger__line-bottom {
    transform-origin: left;
    transform: rotate(-45deg);
    transition: 0.6s linear;
  }
}

.checkbox-burger:checked ~ .header {
  .header-background {
    transform: translateX(0);
    transition: 0.8s linear;
  }
  @media (min-width: 62.5em) {
    .header-background {
      transform: translateX(66%);
      transition: 0.8s linear;
    }
  }
}

/*main content*/
.main-content {
  height: 100%;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 0; /*flex für sticky footer*/
  overflow: hidden;
}

.container-layout--main-content {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: center;
}

@media (min-width: 80em) {
  .container-layout--main-content {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
  }
}

.main-content-relative {
  /*parent von sidenav absolute*/
  width: 100%;
  height: 100%;
  position: relative;
}

.main-content-scroll {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  scrollbar-width: thin;
  transition: 0.6s;
}

/*startseite*/
.video-start {
  min-width: 100%;
  min-height: 100%;
  position: fixed;
  left: 0;
  bottom: 4rem;
  object-fit: cover;
  z-index: -100;
  transition: 0.6s;
}

.checkbox-burger:checked ~ .video-start {
  filter: blur(0.5rem);
  transform: scale(1.03);
  transition: 0.6s;
}

@media (min-width: 120em) {
  .checkbox-burger:checked ~ .video-start {
    filter: blur(0.5rem);
    transform: scale(1.015);
    transition: 0.6s;
  }
}

.menu-start {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4rem;
}

@media (min-width: 80em) {
  .menu-start {
    width: 100%;
    height: fit-content;
    flex-direction: row;
    justify-content: space-between;
    position: absolute;
    top: 52%;
    padding-right: 8rem; /*ausgleich paddings container-layout*/
  }
}

@media (min-width: 120em) {
  .menu-start {
    padding-right: 4rem;
  }
}

.menu-start__item {
  display: block;
  padding-bottom: 0.5rem;
  transition: 1s;
}

.menu-start__link {
  display: flex;
  transition: 0.3s;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}

.menu-start__category {
  font-family: "Oswald", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: normal;
  text-align: center;
  color: var(--color-primary);
  text-shadow: var(--shadow-secondary);
  margin-bottom: -0.5rem;
}

@media (min-width: 50em) {
  .menu-start__category {
    font-size: 2.75rem;
  }
}

@media (min-width: 80em) {
  .menu-start__category {
    font-size: 3rem;
  }
}

@media (min-width: 100em) {
  .menu-start__category {
    font-size: 3rem;
  }
}

@media (min-width: 120em) {
  .menu-start__category {
    font-size: 3.25rem;
  }
}

.menu-start__category::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 0.1em solid var(--color-primary);
  background-color: var(--color-primary);
  box-shadow: var(--shadow-primary);
  opacity: 0;
  transition: 0.3s;
}

.menu-start__link:hover {
  .menu-start__category::after {
    opacity: 1;
    transition: 0.3s;
  }
}

.menu-start__link:visited {
  color: var(--color-primary);
}

/*°sidenav*/
.sidenav {
  min-width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1000;
  top: 0;
  transform: translateX(150%);
  transition: 0.8s linear;
}

.sidenav-start {
  min-width: 100%;
  height: 100%;
  position: relative;
  bottom: 100%; /*top: -100%;*/
  transform: translateX(150%);
  transition: 0.8s linear;
}

.sidenav__background {
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -10; /*hinter items*/
  background-color: white;
  transition: 0.8s linear; /*sidenav und background synchron*/
}

@media (max-height: 47.5em) {
  .sidenav-start {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .sidenav__background {
    height: calc(100% * 1.8);
  }
}

@media (max-height: 47.5em) {
  .sidenav {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .sidenav__background {
    height: calc(100% * 1.8);
  }
}

.sidenav__menu {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  align-items: flex-end;
  text-align: end;
  padding-right: 2rem;
}

.sidenav__menu-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.sidenav__link,
.sidenav__sublink,
.sidenav__sublink--secondary {
  text-decoration: none;
}

.sidenav__link--split {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
  transition: 0.3s;
}

.sidenav__link-text {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: normal;
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.09em;
  transition: 0.3s;
}

.sidenav__sublink-text {
  display: inline-block;
  font-family: "Raleway", sans-serif;
  font-size: 1.125rem;
  font-weight: 300;
  color: var(--color-primary);
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 0.045em;
  transition: 0.3s;
}

.sidenav__link-text:hover,
.sidenav__sublink-text:hover {
  text-decoration-color: var(--color-primary);
  transition: 0.3s;
}

.sidenav__link--split:hover {
  .sidenav__link-text {
    text-decoration-color: var(--color-primary);
    transition: 0.3s;
  }
}

.sidenav__sublink-text--secondary {
  font-size: 1rem;
  color: rgba(0, 0, 0, 0.6);
  text-decoration-color: transparent;
  text-decoration-thickness: 0.045em;
  transition: 0.3s;
}

.sidenav__sublink-text--secondary:hover {
  text-decoration-color: rgba(0, 0, 0, 0.6);
  transition: 0.3s;
}

@media (max-height: 52.5em) {
  .sidenav__items {
    justify-content: start;
    padding-top: 0.5rem;
    gap: 0.75rem;
  }
  .sidenav__link-text {
    font-size: 1rem;
  }
  .sidenav__sublink-text {
    font-size: 1rem;
    line-height: 1.6;
  }
  .sidenav__sublink-text--secondary {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.checkbox-burger:checked ~ .main-content {
  .menu-start__item {
    opacity: 0;
    transition: 0.8s;
  }
  .sidenav-start {
    transform: translateX(0);
    transition: 0.8s linear;
  }
  .sidenav {
    transform: translateX(0);
    transition: 0.8s linear;
  }
  .sidenav__background {
    transform: translateX(0);
    transition: 0.8s linear;
  }
  @media (min-width: 62.5em) {
    .sidenav__background {
      transform: translateX(67%);
      transition: 0.8s linear;
    }
  }
  @media (min-width: 168.75em) {
    .sidenav__background {
      transform: translateX(60%);
      transition: 0.8s linear;
    }
  }
  @media (min-width: 237.5em) {
    .sidenav__background {
      transform: translateX(59%);
      transition: 0.8s linear;
    }
  }
  @media (min-width: 281.25em) {
    .sidenav__background {
      transform: translateX(58%);
      transition: 0.8s linear;
    }
  }
}

/*°hero*/
.hero {
  max-width: 100%;
  height: 20rem;
  position: relative;
  /* margin-bottom: 2.5rem; */
}

.hero__image,
.hero__image--ueber-uns {
  max-width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: local;
  transition: 0.6s;
}

.hero__container-video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.hero__video {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.5s;
}

.hero__image--reitschule {
  background-image: url("./images/reitschule/reitschule-start-hero.webp");
  background-position: 50% 50%;
  background-color: white;
}

.hero__image--ueber-uns {
  background-image: url("./images/ueber/ueber-uns-reitstall-pavel.webp");
  background-position: center;
  background-color: white;
}

.hero__image::before,
.hero__container-video::before,
.hero__image--ueber-uns::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 200;
}

.hero__image::before,
.hero__container-video::before {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 60%,
    rgba(0, 0, 0, 0.8) 100%
  );
}

@media (min-width: 50em) {
  .hero__image::before,
  .hero__container-video::before {
    background: linear-gradient(
      180deg,
      rgba(255, 255, 255, 0) 55%,
      rgba(0, 0, 0, 0.75) 100%
    );
  }
}

.hero__image--ueber-uns::before {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 55%,
    rgba(0, 0, 0, 0.7) 100%
  );
}

.container-layout--hero {
  position: relative;
}

.hero__container-headline,
.hero__container-headline--video {
  max-width: 100%;
  position: absolute;
  top: 55%;
  z-index: 200;
  transition: 1s;
}

@media (min-width: 50em) {
  .hero__container-headline,
  .hero__container-headline--video {
    top: 57%;
  }
}

.hero__headline,
.hero__subheadline {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
  text-shadow: var(--shadow-primary);
}

.hero__headline {
  font-size: 2.25rem;
  letter-spacing: -0.08rem;
}

.hero__subheadline {
  font-size: 1rem;
  letter-spacing: -0.01rem;
}

@media (min-width: 25em) {
  .hero__headline {
    font-size: 2.5rem;
  }
  .hero__subheadline {
    font-size: 1.125rem;
  }
}

@media (min-width: 50em) {
  .hero {
    height: 26rem;
    margin: 0;
  }
  .hero__headline {
    font-size: 3.5rem;
  }
  .hero__subheadline {
    font-size: 1.25rem;
  }
}

@media (min-width: 51.25em) {
  .hero {
    height: 28rem;
  }
}

@media (min-width: 81.25em) {
  .hero {
    height: 100%;
    margin-bottom: 0;
  }
  .hero__headline {
    font-size: 6rem;
  }
  .hero__subheadline {
    font-size: 1.75rem;
  }
}

@media (min-width: 87.5em) {
  .hero {
    height: 100%;
    margin-bottom: 0;
  }
  .hero__headline {
    font-size: 8rem;
  }
  .hero__subheadline {
    font-size: 2.5rem;
  }
}

/*---*/

.container-headline-subpage__text-form {
  padding-bottom: 2.5rem;
}

.checkbox-burger:checked ~ .main-content {
  .main-content-scroll {
    filter: blur(0.5rem) opacity(0.9);
    transform: scale(1.03);
    transition: 0.6s;
  }
}

.checkbox-burger:checked ~ .main-content {
  .hero__video,
  .hero__image {
    filter: blur(0.5rem);
    /*transform: scale(1.03);*/
    transition: 0.8s;
  }
  .hero__container-headline--video,
  .hero__container-headline {
    opacity: 0;
    transition: 0.8s;
  }
}

/*°breadcrumbs*/
.breadcrumb,
.breadcrumb--start {
  padding: 1.5rem 0;
  max-width: 100%;
  height: 0;
  /* visibility: hidden; */
}

/* @media (min-width: 43.75em) {
  .breadcrumb {
    height: auto;
    padding-bottom: 1rem;
    visibility: visible; 
  }
  .breadcrumb--start {
    height: auto;
    padding: 1.5rem 0;
    visibility: visible; 
  }
} */

.breadcrumb__trail {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  padding: 0;
  list-style: none;
  font-family: "Raleway", sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--color-neutral);
}

.breadcrumb__item:not(:last-of-type):after {
  content: ">";
  font-family: "Manrope";
  margin-right: 0.2rem;
  margin-left: 0.05rem;
}

.breadcrumb__item:last-of-type {
  .breadcrumb__link {
    color: var(--color-primary);
    transition: 0.3s;
  }
}

.breadcrumb__item:hover ~ .breadcrumb__item:last-of-type {
  .breadcrumb__link {
    color: var(--color-neutral);
    transition: 0.3s;
  }
}

.breadcrumb__link {
  padding: 0;
  text-decoration: none;
  color: var(--color-neutral);
  transition: 0.3s;
}

.breadcrumb__link:visited {
  /*muss vor hover*/
  color: inherit;
}

.breadcrumb__link:hover {
  color: var(--color-primary);
  transition: 0.3s;
}

/*°Auszeichnung*/

.breadcrump-badge-wrapper {
  display: flex;
  justify-content: space-between;
  padding: 1.5rem 2rem;
}

.breadcrump-badge-wrapper .breadcrumb--start {
  padding: 0;
}

.badge-wrapper {
  border-radius: 0.4rem;
  box-shadow: var(--shadow-primary);
  width: fit-content;
  padding: 0.8rem;
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.badge-wrapper p {
  color: var(--color-primary);
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.1;
  text-align: center;
}

/* @media (max-width: 43.75em) {
  .breadcrump-badge-wrapper {
    display: block;
  }
} */

@media (max-width: 43.75em) {
  .breadcrump-badge-wrapper {
    flex-direction: column;
    gap: 2.5rem;
  }
}

@media (min-width: 81.25em) {
  .breadcrump-badge-wrapper {
    padding: 1.5rem 4rem;
  }
}

/*°articles*/
.section-articles,
.section-articles--multi {
  max-width: 90rem;
  margin-inline: auto;
  padding: 0 2rem;
}

@media (min-width: 81.25rem) {
  .section-articles {
    display: flex;
    flex-direction: row;
    gap: 12rem;
    padding: 10rem 4rem 10rem 4rem;
  }
  .section-articles--multi {
    display: flex;
    flex-direction: row;
    gap: 6rem;
    padding: 6rem 4rem 6rem 4rem;
  }
}

@media (min-width: 112.5em) {
  .section-articles,
  .section-articles--multi {
    max-width: 100rem;
  }
}

@media (min-width: 120rem) {
  .section-articles {
    padding: 8rem 2rem 8rem 2rem;
  }
  .section-articles--multi {
    display: flex;
    flex-direction: row;
    gap: 4rem;
    padding: 7rem 2rem 7rem 2rem;
  }
}

.article-content,
.article-content--long {
  width: 100%;
}

.section-articles--multi {
  @media (min-width: 81.25em) {
    .article-content {
      margin-bottom: -0.5rem;
    }
    .article-content--long {
      margin-bottom: -1rem;
    }
  }
  @media (min-width: 120em) {
    .article-content {
      margin-bottom: -1rem;
    }
    .article-content--long {
      margin-bottom: -2rem;
    }
  }
}

.article-content__container::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  background-color: var(--color-primary);
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

@media (min-width: 81.25rem) {
  .article-content__container::after {
    visibility: hidden;
    margin: 0;
  }
}

@media (min-width: 120rem) {
  .article-content__container::after {
    display: none;
  }
}

.article-content__button {
  margin-top: auto;
}

/*content subpages*/
.content-subpage {
  width: 100%;
  padding-bottom: 4rem;
}

@media (min-width: 100em) {
  .content-subpage {
    padding-bottom: 6rem;
  }
}

@media (min-width: 120em) {
  .content-subpage {
    padding-bottom: 8rem;
  }
}

@media (min-width: 81.25em) {
  .content-subpage__wrapper {
    display: flex;
    flex-direction: row;
    gap: 2rem;
  }
}

.content-subpage__wrapper--half {
  display: flex;
}

@media (min-width: 81.25em) {
  .content-subpage__wrapper--half {
    width: 50%;
    padding-right: 1rem; /*Ausgleich gap*/
  }
}

.content-subpage__container,
.content-subpage__container--single,
.content-subpage__container--double,
.content-subpage__container--double-one-item,
.content-subpage__container--simple {
  width: 100%;
}

@media (min-width: 81.25em) {
  .content-subpage__wrapper:last-of-type {
    .content-subpage__container--double:last-of-type {
      width: 50%;
      padding-right: 1rem;
    }
  }
}

@media (min-width: 50em) {
  .content-subpage__container {
    display: flex;
    gap: 4rem;
  }
  .content-subpage__container--double {
    display: flex;
    gap: 2rem;
  }

  .content-subpage__container--single {
    width: 50%;
    padding-right: 2rem; /*50% des gap item-container*/
  }
}

@media (min-width: 120em) {
  .content-subpage__container {
    display: flex;
    gap: 16rem;
  }
}

@media (min-width: 120em) {
  .content-subpage__container--double {
    display: flex;
    gap: 2rem;
  }
  .content-subpage__container--single {
    padding-right: 8rem; /*50% des gap item-container*/
  }
}

@media (min-width: 50em) {
  .content-subpage__item {
    width: 50%;
  }
  .content-subpage__container--single {
    .content-subpage__item {
      width: 100%;
    }
  }
}

.content-subpage__container--double-one-item {
  .content-subpage__item {
    padding-right: 1rem; /*50% des gap item-container*/
  }
}

.content-subpage__item::after,
.content-subpage__container--simple:not(:last-of-type)::after,
.wrapper-content-subpage__container--single:not(:last-of-type)::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  background-color: var(--color-primary);
}

.content-subpage__item::after {
  margin: 0rem 0 3rem 0;
}

.content-subpage__container:last-of-type {
  .content-subpage__item:last-of-type::after {
    display: none;
  }
}

@media (min-width: 50em) {
  .content-subpage__container:last-of-type {
    .content-subpage__item::after {
      display: none;
    }
  }
}

.content-subpage__container--simple:not(:last-of-type)::after,
.wrapper-content-subpage__container--single:not(:last-of-type)::after {
  margin: 2.75rem 0 3rem 0;
}

@media (min-width: 50em) {
  .content-subpage__item::after {
    margin-top: 1rem;
    margin-bottom: 4rem;
  }
  .content-subpage__container--simple:not(:last-of-type)::after,
  .wrapper-content-subpage__container--single:not(:last-of-type)::after {
    margin: 4rem 0 4.25rem 0;
  }
}

@media (min-width: 81.25em) {
  .content-subpage__item::after {
    margin-top: 2rem;
    margin-bottom: 6rem;
  }
}

@media (min-width: 120em) {
  .content-subpage__container--simple:not(:last-of-type)::after,
  .wrapper-content-subpage__container--single:not(:last-of-type)::after {
    margin: 6rem 0 6.2rem 0;
  }
}

.content-subpage__wrapper:last-of-type {
  content-subpage__container--double:last-of-type {
    .content-subpage__item:last-of-type::after {
      display: none;
    }
  }
  .content-subpage__container--double-one-item:last-of-type {
    .content-subpage__item:last-of-type::after {
      display: none;
    }
  }
}

@media (min-width: 81.25em) {
  .content-subpage__wrapper:last-of-type,
  .content-subpage__wrapper--half:last-of-type {
    .content-subpage__container--double {
      .content-subpage__item::after {
        display: none;
      }
    }
  }
}

.content-subpage__container--single {
  .content-subpage__item::after {
    display: none;
  }
}

.content-subpage__container--simple {
  .content-subpage__item:not(:first-of-type):after {
    display: none;
  }
  .content-subpage__item:first-of-type:after {
    margin-top: 2.25rem;
  }
}

@media (min-width: 120em) {
  .content-subpage__container--simple {
    .content-subpage__item:first-of-type:after {
      margin-top: 5.75rem;
    }
  }
}

/*.content-subpage__container--simple:last-of-type,
.content-subpage__container--single:last-of-type {
    padding-bottom: 4rem;
}*/

@media (min-width: 50em) {
  .content-subpage__container--simple {
    .content-subpage__item:after {
      display: none;
    }
  }
}

.wrapper-content-subpage__container--single {
  .content-subpage__container--single {
    padding-bottom: 0;
  }
}

@media (min-width: 100em) {
  .content-subpage__wide {
    padding: 3rem 0 0 0;
  }
}

.content-subpage__wide--bottom {
  padding-bottom: 6rem;
}

.content-subpage--mirrored {
  overflow: clip;
}

@media (min-width: 50em) {
  .content-subpage--mirrored:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  .content-subpage--mirrored:last-of-type {
    padding-bottom: 6rem;
  }
}

@media (min-width: 62.5em) {
  .content-subpage--mirrored:not(:last-of-type) {
    margin-bottom: 8rem;
  }
  .content-subpage--mirrored:last-of-type {
    padding-bottom: 6rem;
  }
}

@media (min-width: 120em) {
  .content-subpage--mirrored:not(:last-of-type) {
    margin-bottom: 12rem;
  }
  .content-subpage--mirrored:last-of-type {
    padding-bottom: 6rem;
  }
}

@media (min-width: 62.5em) {
  .content-subpage--mirrored:nth-of-type(even) {
    .content-subpage__container--reduced {
      flex-direction: row-reverse;
    }
  }
}

.content-subpage--mirrored::after {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  background-color: var(--color-primary);
}

.content-subpage--mirrored:last-of-type::after {
  display: none;
}

@media (min-width: 62.5em) {
  .content-subpage--mirrored::after {
    display: none;
  }
}

.content-subpage__text-block {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}

.content-subpage__item--reduced {
  position: relative;
}

@media (min-width: 62.5em) {
  .content-subpage__container--reduced {
    display: flex;
    gap: 8rem;
  }
  .content-subpage__item--reduced {
    width: 50%;
  }
  .content-subpage__text-block {
    /*text-align: justify;*/
    padding-top: 0;
    padding-bottom: 2.5rem;
  }
}

@media (min-width: 120em) {
  .content-subpage__container--reduced {
    gap: 10rem;
  }
}

.content-subpage__image-container {
  width: 100%;
  position: relative;
  border-radius: 0.6rem;
  overflow: hidden;
  transition: 0.4s;
  height: 22rem;
}

@media screen and (max-width: 1250px) {
  .content-subpage__image-container {
    height: 19rem;
  }
}

@media screen and (max-width: 1050px) {
  .content-subpage__image-container {
    height: 15rem;
  }
}

@media screen and (max-width: 850px) {
  .content-subpage__image-container {
    height: 12rem;
  }
}

@media screen and (max-width: 800px) {
  .content-subpage__image-container {
    height: 26rem;
  }
}

@media screen and (max-width: 650px) {
  .content-subpage__image-container {
    height: 20rem;
  }
}

@media screen and (max-width: 540px) {
  .content-subpage__image-container {
    height: 17rem;
  }
}

@media screen and (max-width: 450px) {
  .content-subpage__image-container {
    height: 14rem;
  }
}

@media screen and (max-width: 380px) {
  .content-subpage__image-container {
    height: 12rem;
  }
}

.image-background-color {
  background-color: black;
}

.content-subpage__image-container--border {
  border: 2px solid var(--color-primary);
}

.content-subpage__image-container--gray {
  background-color: rgba(0, 0, 0, 0.1);
}

.content-subpage__image-container--dark {
  background-color: rgba(0, 0, 0, 0.8);
}

.content-subpage__image-container--mirrored {
  width: 100%;
  position: sticky;
  top: 0%;
  border-radius: 0.75rem;
  overflow: hidden;
}

.container-icon-image,
.container-icon-image--small {
  position: absolute;
  top: 6%;
  left: 4.5%;
}

.container-icon-image {
  width: 1.75rem;
}

@media (min-width: 75em) {
  .container-icon-image {
    width: 2rem;
  }
}

.container-icon-image--small {
  width: 1.5rem;
}

.icon-image {
  width: 100%;
  filter: drop-shadow(var(--shadow-primary));
  transition: 0.5s;
}

.content-subpage__image {
  width: 100%;
  object-fit: cover;
  transition: 0.5s;
  object-position: center;
}

.content-subpage__image--background {
  background-color: black;
}

.content-subpage__image-container:hover {
  .image-hover {
    opacity: 0.8;
    transform: scale(1.1);
    transition: 0.4s ease-in-out;
  }
  .icon-image {
    transform-origin: 0 0;
    transform: scale(1.2);
    transition: 0.4s;
  }
}

.headline-subpage--list {
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--color-primary);
}

@media (min-width: 120em) {
  .headline-subpage--list {
    font-size: 2.25rem;
  }
}

.wrapper-content-subpage {
  overflow: hidden;
}

.content-subpage__details {
  position: relative;
  padding-bottom: 9rem;
  margin-bottom: -2rem;
  overflow: clip;
}

@media (min-width: 50em) {
  .content-subpage__details {
    margin-bottom: 0;
  }
}

@media (min-width: 100em) {
  .content-subpage__details {
    padding-bottom: 11rem;
  }
}

.content-subpage__details--large {
  position: relative;
  padding-bottom: 35rem;
}

@media (min-width: 25em) {
  .content-subpage__details--large {
    position: relative;
    padding-bottom: 30rem;
  }
}

@media (min-width: 50em) {
  .content-subpage__details--large {
    position: relative;
    padding-bottom: 20rem;
  }
}

.content-subpage__teaser {
  width: 100%;
  height: 100%;
  position: absolute;
  list-style: none;
}

.content-subpage__teaser::-webkit-details-marker {
  display: none;
}

.content-subpage__hidden {
  opacity: 0;
}

.container-icon-cross,
.container-icon-ellipsis,
.container-icon-ellipsis--jobs {
  position: absolute;
  top: 100%;
  left: 100%;
  cursor: pointer;
}

.container-icon-cross {
  cursor: auto;
}

.container-icon-ellipsis {
  width: 1.75rem;
  transform: translate(-102%, -2rem);
  margin-top: -1.5rem;
  padding-bottom: 0.5rem;
  z-index: 100;
}

.container-icon-ellipsis--jobs {
  width: 1.75rem;
  transform: translate(-100%, 1rem);
}

.container-icon-cross {
  width: 1.25rem;
  transform: translate(-110%, -2rem);
  margin-top: -2.25rem;
  opacity: 0;
}

.icon-cross,
.icon-ellipsis {
  width: 100%;
  fill: var(--color-primary);
  transition: 0.3s;
}

.container-icon-cross:hover {
  .icon-cross:hover {
    transform: rotate(90deg);
    transition: 0.3s;
  }
}

.container-icon-ellipsis:hover,
.container-icon-ellipsis--jobs:hover {
  .icon-ellipsis {
    opacity: 0.9;
    transition: 0.3s;
  }
}

.container-icon-link {
  display: flex;
  transition: 0.3s;
  .link {
    text-decoration: none;
    padding-bottom: 0.5rem;
  }
}

.icon-arrow-right {
  width: 0.75rem;
  margin-right: 0.85rem;
  padding-bottom: 0.5rem;
  transition: 0.3s;
}

.container-icon-link:hover {
  .icon-arrow-right {
    transform: translateX(0.25rem);
    transition: 0.3s;
  }
}

.content-subpage__details,
.content-subpage__details--large {
  .content-subpage__hidden,
  .list {
    visibility: hidden;
    opacity: 0;
  }
}

.content-subpage__details[open],
.content-subpage__details--large[open] {
  padding-bottom: 4rem;
  .content-subpage__teaser {
    position: static;
    pointer-events: none;
    padding-bottom: 1rem;
  }
  .content-subpage__hidden {
    visibility: visible;
    opacity: 1;
    height: fit-content;
    transition: 1.3s;
  }
  .list {
    visibility: visible;
    opacity: 1;
    transition: 1.3s;
  }
  .container-icon-cross {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
    transition: 1.3s;
  }
  .container-icon-ellipsis,
  .container-icon-ellipsis--jobs {
    display: none;
  }
  .list {
    height: fit-content;
    display: inline-block;
  }
  .ellipsis-text {
    display: none;
  }
}

.content-subpage__item--reduced {
  .container-icon-ellipsis {
    bottom: 0.25rem;
  }
}

/*subpage anfrage*/
@media (min-width: 62.5em) {
  .container-layout--forms {
    width: 81%;
    margin-inline: auto;
  }
}

.content-subpage__container--simple {
  .headline-light {
    margin-top: -0.5rem;
    padding-bottom: 2rem;
  }
}

@media (min-width: 120em) {
  .content-subpage__container--simple {
    .headline-light {
      margin-top: -0.5rem;
      padding-bottom: 4rem;
    }
  }
}

input[type="checkbox"] {
  appearance: none;
}

.form__checkbox-wrapper {
  width: 100%;
}

.form__checkbox-container,
.form__checkbox-container--stretch {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}

.form__checkbox-container {
  grid-area: checkbox;
}

.form__checkbox-container--stretch {
  justify-content: space-between;
}

.form__checkbox-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 1rem;
}

@media (min-width: 50em) {
  .form__checkbox-container,
  .form__checkbox-container--stretch {
    flex-direction: row;
    gap: 4rem;
  }
}

#checkbox-ausbildung-vollberitt,
#checkbox-ausbildung-teilberitt,
#checkbox-pension-box,
#checkbox-pension-paddock,
#checkbox-pension-aktivstall,
#checkbox-pension-egal {
  position: absolute;
  left: 0.5rem;
  visibility: hidden;
}

#checkbox-ausbildung-teilberitt,
#checkbox-pension-box {
  top: 0.5rem;
}

#checkbox-pension-paddock {
  top: 1.5rem;
}

#checkbox-pension-aktivstall {
  top: 2.5rem;
}

.checkbox-round {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 1px solid var(--color-primary);
  background-color: white;
  cursor: pointer;
  transition: 0.1s;
}

.checkbox-round:hover {
  border: 2px solid var(--color-primary);
}

.checkbox-round:after {
  /*der haken*/
  content: "";
  width: 0.75rem;
  height: 0.4rem;
  border: 2px solid white;
  border-top: none;
  border-right: none;
  transform: rotate(-45deg);
  transform-origin: 30% 30%;
  opacity: 0;
  transition: 0.1s;
}

.form__checkbox-title {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-primary);
}

.form__checkbox-title > span {
  display: none;
}

@media (min-width: 50em) {
  .form__checkbox-title > span {
    display: inline;
  }
}

#checkbox-ausbildung-vollberitt:checked ~ .checkbox-round:first-of-type,
#checkbox-ausbildung-teilberitt:checked ~ .checkbox-round:first-of-type,
#checkbox-confirm:checked ~ .checkbox-round:first-of-type,
#checkbox-pension-box:checked ~ .checkbox-round:first-of-type,
#checkbox-pension-paddock:checked ~ .checkbox-round:first-of-type,
#checkbox-pension-aktivstall:checked ~ .checkbox-round:first-of-type,
#checkbox-pension-egal:checked ~ .checkbox-round:first-of-type {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  transition: 0.3s;
}

#checkbox-ausbildung-vollberitt:checked ~ .checkbox-round:first-of-type:after,
#checkbox-ausbildung-teilberitt:checked ~ .checkbox-round:first-of-type:after,
#checkbox-confirm:checked ~ .checkbox-round:first-of-type:after,
#checkbox-pension-box:checked ~ .checkbox-round:first-of-type:after,
#checkbox-pension-paddock:checked ~ .checkbox-round:first-of-type:after,
#checkbox-pension-aktivstall:checked ~ .checkbox-round:first-of-type:after,
#checkbox-pension-egal:checked ~ .checkbox-round:first-of-type:after {
  opacity: 1;
  transition: 0.3s;
}

/*formulare*/
.form {
  width: 100%;
  padding-bottom: 6rem;
}

.reitschule-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  grid-template-areas:
    "heading heading"
    "name lastname"
    "infos infos"
    "exp exp"
    "heading-2 heading-2"
    "name-2 lastname-2"
    "mail phone"
    "dates dates"
    "msg msg"
    "captcha captcha"
    "dsgvo dsgvo"
    "submit submit";
}

@media screen and (max-width: 450px) {
  .reitschule-form {
    font-size: 0.8rem;
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "name"
      "lastname"
      "infos"
      "exp"
      "heading-2"
      "name-2"
      "lastname-2"
      "mail"
      "phone"
      "dates"
      "msg"
      "captcha"
      "dsgvo"
      "submit";
  }
}

.pension-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  grid-template-areas:
    "heading heading"
    "checkbox checkbox"
    "heading-2 heading-2"
    "name lastname"
    "mail phone"
    "heading-3 heading-3"
    "infos infos"
    "msg msg"
    "captcha captcha"
    "dsgvo dsgvo"
    "submit submit";
}

@media screen and (max-width: 450px) {
  .pension-form {
    font-size: 0.8rem;
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "checkbox"
      "heading-2"
      "name"
      "lastname"
      "mail"
      "phone"
      "heading-3 "
      "infos "
      "msg"
      "captcha"
      "dsgvo"
      "submit";
  }
}

.ausbildung-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  grid-template-areas:
    "heading heading"
    "checkbox checkbox"
    "heading-2 heading-2"
    "name lastname"
    "mail phone"
    "heading-3 heading-3"
    "infos infos"
    "msg msg"
    "msg-1 msg-1"
    "msg-2 msg-2"
    "captcha captcha"
    "dsgvo dsgvo"
    "submit submit";
}

@media screen and (max-width: 450px) {
  .ausbildung-form {
    font-size: 0.8rem;
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "checkbox"
      "heading-2"
      "name"
      "lastname"
      "mail"
      "phone"
      "msg"
      "msg-1"
      "msg-2"
      "captcha"
      "dsgvo"
      "submit";
  }
}

.heading-pension,
.heading-reitschule,
.heading-ausbildung {
  grid-area: heading;
}

.heading-2-reitschule::before,
.heading-2-pension::before,
.heading-3-pension::before,
.heading-2-ausbildung::before {
  content: "";
  display: block;
  width: 100%;
  border-bottom: 1px solid var(--color-primary);
  background-color: var(--color-primary);
  margin-top: 0.25rem;
  margin-bottom: 2.25rem;
}

.heading-2-reitschule,
.heading-2-pension,
.heading-2-ausbildung {
  grid-area: heading-2;
}

.heading-3-pension {
  grid-area: heading-3;
}

.name {
  grid-area: name;
}

.lastname {
  grid-area: lastname;
}

.name-2 {
  grid-area: name-2;
}

.lastname-2 {
  grid-area: lastname-2;
}

.mail {
  grid-area: mail;
}

.phone {
  grid-area: phone;
}

.exp {
  grid-area: exp;
}

.dates {
  grid-area: dates;
}

.msg {
  grid-area: msg;
}

.msg-1 {
  grid-area: msg-1;
}

.msg-2 {
  grid-area: msg-2;
}

.pension-checkbox-wrapper {
  grid-area: checkbox;
}

.form-fld {
  display: flex;
  flex-direction: column;
  position: relative;
  gap: 0.5rem;
  width: 100%;
}

@media screen and (max-width: 450px) {
  .form-fld {
    gap: 0.2rem;
  }
}

.form-fld-wrapper-3 {
  grid-area: infos;
  display: flex;
  gap: 1rem;
  width: 100%;
}

.form__input,
.form__textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--color-primary);
  border-radius: 0.5rem;
  padding: 0.75rem;
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: var(--color-text);
  background-color: white;
}

.form__input {
  height: 3rem;
}

.form__textarea {
  height: 16rem;
  resize: none;
}

.form__input::placeholder,
.form__textarea::placeholder {
  font-family: "Raleway", sans-serif;
  font-weight: 500;
  color: var(--color-primary);
}

.form__legend {
  margin-top: 2rem;
}

.form__legend-duty {
  font-family: "Manrope";
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-primary);
}

.form__confirm {
  grid-area: dsgvo;
  display: flex;
  gap: 1rem;
  width: 100%;
}

.captcha-wrapper {
  grid-area: captcha;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex-wrap: wrap;
}

#captcha-input {
  width: 22rem;
}

#captcha-img {
  width: 22rem;
  border: 1px solid var(--color-primary);
  padding: 0.5rem;
  background-color: var(--color-2);
  border-radius: 0.5rem;
}

@media screen and (max-width: 450px) {
  #captcha-img,
  #captcha-input {
    width: 100%;
  }
}

#captcha-refresh-btn {
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  background-color: white;
  border: transparent;
  border-radius: 0.4rem;
  box-shadow: var(--shadow-primary);
  transition: 0.3s;
  padding: 0.5rem;
  width: fit-content;
}

#success-msg {
  flex-direction: column;
  gap: 1rem;
  padding-bottom: 6rem;
}

.hidden {
  display: none;
}

.error-txt {
  color: var(--color-warning);
  font-size: 0.8rem;
}

.form__input.error,
.form__textarea.error {
  box-shadow: 0 0 0 0.2rem var(--color-warning);
  outline: none;
}

/*videos erklärung technik*/
.videos-explain {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding-bottom: 4rem;
}

.videos-explain__item {
  width: 100%;
  height: 100%;
  border-radius: 0.75rem;
  overflow: hidden;
}

.videos-explain__content {
  height: auto;
}

@media (min-width: 37.5em) {
  .videos-explain {
    align-items: center;
  }
}

@media (min-width: 50em) {
  .videos-explain {
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
  }
}

@media (min-width: 100em) {
  .videos-explain {
    flex-direction: row;
    align-items: flex-start;
    gap: 16rem;
  }
}

/*adress box*/
.container-adress-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}

@media (min-width: 75em) {
  .container-adress-box {
    flex-direction: row;
  }
}

.adress-box-one,
.adress-box-two {
  width: 100%;
  border: 1px solid var(--color-primary);
  border-radius: 0.5rem;
  padding: 3rem 2rem 3rem 2rem;
}

@media (min-width: 75em) {
  .adress-box-one {
    width: 66.67%;
    display: flex;
    align-items: flex-start;
  }
  .adress-box-two {
    width: 33.33%;
    display: flex;
    align-items: flex-end;
  }
}

.adress-box--formal {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
  padding: 2rem 0 0 0;
}

.adress-box__content {
  display: inline-block;
}

.adress-box__headline-container {
  padding-bottom: 2rem;
  .headline-content {
    font-size: 1.125rem;
    padding: 0;
  }
}

@media (min-width: 25em) {
  .adress-box__headline-container {
    .headline-content {
      font-size: 1.25rem;
    }
  }
}

.adress-box__headline {
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5em;
  color: var(--color-primary);
}

.adress-box__adress {
  font-family: "Raleway";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5em;
}

.adress-box__adress:not(:last-of-type) {
  padding-bottom: 1em;
}

.adress-box__web {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
}

.adress-box__icons {
  display: flex;
  align-items: center;
  padding-bottom: 1.25rem;
}

.adress-box__web {
  .adress-box__icons {
    padding-bottom: 0;
  }
  .link {
    text-decoration: none;
  }
}

@media (min-width: 75em) {
  .adress-box__web {
    justify-content: flex-end;
    .adress-box__icons {
      padding-bottom: 1.25rem;
    }
  }
}

.icon-contact {
  width: 1.25rem;
  margin-right: 1rem;
}

.icon-contact-text {
  display: flex;
  flex-direction: column;
}

.map-contact {
  width: 100%;
  height: 40vh;
  border-radius: 0.5rem;
  border: 1px solid var(--color-primary);
  margin-top: 2rem;
  overflow: hidden;
}

.map-contact__background {
  max-width: 100%;
  height: 100%;
  background-image: url(/images/contact/map.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50%, 50%;
}

@media (min-width: 62.5em) {
  .map-contact {
    height: 70vh;
  }
}

/*°footer*/
.footer {
  padding: 0.75rem 0;
  background-color: white;
}

.container-layout--footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.footer__contact {
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  color: var(--color-text);
  transition: 0.3s;
}

.footer__instagram {
  width: 1.5rem;
  margin-left: 2rem;
  transition: 0.3s;
}

.icon-instagram {
  width: 100%;
  transition: 0.3s;
}

.footer__reitbuch {
  width: 2.5rem;
  margin-left: 2rem;
  transition: 0.3s;
}

.icon-reitbuch {
  width: 100%;
  transition: 0.3s;
}

.icon-instagram,
.icon-instagram {
  fill: var(--color-text);
}

.footer__contact:hover {
  color: var(--color-primary);
  transition: 0.3s;
}

.icon-instagram:hover,
.icon-reitbuch:hover {
  fill: var(--color-primary);
  transition: 0.3s;
}

@media (max-height: 52.5em) {
  .footer__contact {
    font-size: 0.875rem;
  }
  .footer__icon-instagram {
    width: 1.5rem;
  }
  .footer__icon-reitbuch {
    width: 2.5rem;
  }
}

/*°carousel*/

.carousel-item {
  width: 100%;
  height: 16rem;
  border-radius: 0.6rem;
  overflow: hidden;
  cursor: grab;
}

@media (min-width: 37.5em) {
  /*anpassung design*/

  .carousel-item {
    height: 20rem;
  }
}

@media (min-width: 50em) {
  .carousel-item {
    height: 22rem;
  }
}

@media (min-width: 62.5em) {
  .carousel-item {
    cursor: default;
  }
}

@media (min-width: 81.25em) {
  .carousel-item {
    height: 22rem;
  }
}

@media (min-width: 120em) {
  /*anpassung design*/
  .carousel-item {
    height: 26rem;
  }
}

.carousel-item--gallery {
  height: 16rem;
  position: relative;
}

@media (min-width: 25em) {
  .carousel-item--gallery {
    height: 18rem;
  }
}

@media (min-width: 37.5em) {
  .carousel-item--gallery {
    height: 24rem;
  }
}

@media (min-width: 50em) {
  .carousel-item--gallery {
    height: 28rem;
  }
}

@media (min-width: 75em) {
  .carousel-item--gallery {
    height: 32rem;
  }
}

@media (min-width: 100em) {
  .carousel-item--gallery {
    height: 67vh;
  }
}

.carousel-image {
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/*@media (min-width: 50em) {
    .carousel-image {
        object-fit: fill;
    }
}*/

.carousel-figcaption {
  width: 100%;
  position: absolute;
  top: 100%;
  transform: translate(0%, -100%);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  font-family: "Raleway", sans-serif;
  font-size: 1rem;
  color: white;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
  padding: 0.75rem 0 0.75rem 0;
}
