*,
*::before,
*::after {
  box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0; }

.container {
  width: 100%;
  max-width: 75rem;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2rem); }

.sektion {
  padding-block: clamp(2rem, 6vw, 4.5rem); }

@media (min-width: 64rem) {
  .schmale-spalte {
    max-width: 75ch;
    margin-inline: auto; } }
.schmale-spalte h2 {
  font-size: clamp(1.25rem, calc(1.15rem + 0.5vw), 1.75rem); }
.schmale-spalte .inhaltsbild {
  margin-inline: auto; }
.schmale-spalte p,
.schmale-spalte blockquote {
  max-width: none; }

.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: start;
  gap: 1.5rem;
  padding-inline: clamp(1rem, 4vw, 2rem); }
  @media (min-width: 48rem) {
    .grid {
      grid-template-columns: repeat(8, 1fr); } }
  @media (min-width: 64rem) {
    .grid {
      grid-template-columns: repeat(12, 1fr);
      column-gap: 5rem; } }

.spalte--hauptbereich {
  grid-column-start: 1;
  grid-column-end: -1; }
  @media (min-width: 64rem) {
    .spalte--hauptbereich {
      grid-column-start: auto;
      grid-column-end: span 8;
      min-height: calc(100dvh - 8.25rem - 3.5rem - clamp(2rem, 6vw, 4.5rem) - clamp(2rem, 6vw, 4.5rem)); } }

.spalte--randspalte-links,
.spalte--randspalte-rechts {
  grid-column-start: 1;
  grid-column-end: -1; }
  @media (min-width: 64rem) {
    .spalte--randspalte-links,
    .spalte--randspalte-rechts {
      grid-column: span 2; } }

@media (min-width: 64rem) {
  .spalte--randspalte-links {
    order: -1; } }

.evas-deko {
  display: none; }
  @media (min-width: 64rem) {
    .evas-deko {
      display: flex;
      flex-direction: column;
      gap: 1rem; } }
  .evas-deko img {
    display: block;
    width: 100%;
    height: auto;
    flex-shrink: 0;
    border-radius: 0.5rem;
    visibility: hidden; }
  .evas-deko.ist-bereit img {
    visibility: visible; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh; }

.spalte--hauptbereich,
.splash-overlay {
  animation: einblenden 0.5s ease-in forwards; }

@keyframes einblenden {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
main {
  flex: 1; }

.hintergrund-test {
  background-image: url("../bilder/hintergrund.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed; }

.hintergrund-test-v3 {
  background-image: url("../bilder/leinwand.webp");
  background-repeat: repeat; }

@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces/Fraunces-VariableFont.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: "Fraunces";
  src: url("../fonts/fraunces/Fraunces-Italic-VariableFont.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap; }
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/hanken-grotesk/HankenGrotesk-VariableFont.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../fonts/hanken-grotesk/HankenGrotesk-Italic-VariableFont.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap; }
html {
  font-optical-sizing: auto; }

body {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1.1rem, calc(0.94rem + 0.68vw), 1.375rem);
  line-height: 1.7;
  color: #322A2A; }

h1 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-variation-settings: "SOFT" 35, "WONK" 1;
  font-size: clamp(1.75rem, calc(1.4rem + 1.5vw), 2.75rem);
  line-height: 1.2;
  margin: 0 0 1rem;
  color: #322A2A; }

h2 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-variation-settings: "SOFT" 35, "WONK" 1;
  font-size: clamp(1.5rem, calc(1.3rem + 1vw), 2.25rem);
  line-height: 1.25;
  margin: 2rem 0 0.75rem;
  color: #322A2A; }

h3 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-variation-settings: "SOFT" 35, "WONK" 1;
  font-size: clamp(1.25rem, calc(1.15rem + 0.5vw), 1.75rem);
  line-height: 1.3;
  margin: 1.75rem 0 0.5rem;
  color: #322A2A; }

h4 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 500;
  font-variation-settings: "SOFT" 35, "WONK" 1;
  font-size: clamp(1.125rem, calc(1.05rem + 0.3vw), 1.375rem);
  line-height: 1.35;
  margin: 1.5rem 0 0.5rem;
  color: #322A2A; }

h5 {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.4;
  margin: 1.25rem 0 0.5rem;
  color: #322A2A; }

h6 {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.4;
  margin: 1rem 0 0.5rem;
  color: #645453; }

p {
  margin: 0 0 1rem;
  max-width: 75ch; }

small,
.text-klein {
  font-size: 0.875rem;
  color: #806B6B; }

.text-editorial {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 400;
  line-height: 1.6; }

.inhaltsbild {
  margin: 1.5rem 0;
  max-width: 75ch;
  width: fit-content; }
  .inhaltsbild img {
    display: block;
    max-width: 100%;
    max-height: 28rem;
    height: auto;
    border-radius: 0.5rem; }
  .inhaltsbild figcaption {
    margin-top: 0.25rem;
    font-size: 0.9625rem;
    color: #806B6B; }
  .inhaltsbild.inhaltsbild--breit {
    max-width: none;
    width: auto; }

.foto-credit {
  font-size: 0.75rem;
  color: #806B6B; }

.foto-credit-trenner {
  margin-inline: 0.75rem; }

blockquote {
  display: grid;
  grid-template-columns: 10% 80% 10%;
  align-items: center;
  margin: 2rem 0;
  font-family: "Fraunces", Georgia, serif;
  font-style: italic;
  font-size: clamp(1.15rem, calc(0.98rem + 0.74vw), 1.45rem);
  line-height: 1.5;
  color: #322A2A; }
  blockquote p {
    grid-column: 2;
    margin: 0;
    max-width: none;
    text-align: center; }

.zitat-marke {
  display: flex;
  justify-content: center;
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-style: normal;
  color: #A61A16;
  line-height: 1;
  font-size: clamp(2.5rem, calc(1rem + 8vw), 8rem);
  transform: translateY(-0.17em); }

.zitat-marke--oeffnend {
  grid-column: 1; }

.zitat-marke--schliessend {
  grid-column: 3; }

.das-projekt__gedicht {
  display: block; }
  .das-projekt__gedicht p {
    text-align: center; }

.schmale-spalte .das-projekt__gedicht {
  max-width: 66.67%;
  margin-inline: auto; }

address {
  font-style: normal; }

a {
  color: #7B1E2B;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em; }
  a:hover {
    color: #5E1620; }
  a:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px; }

.skip-link {
  position: absolute;
  top: -5rem;
  left: 1rem;
  background: #322A2A;
  color: #FFFFFF;
  padding: 0.75rem 1rem;
  border-radius: 0 0 0.25rem 0.25rem;
  text-decoration: none;
  z-index: 1000;
  transition: top 0.15s ease; }
  .skip-link:focus-visible {
    top: 0;
    outline: 3px solid #BA4E12;
    outline-offset: 0; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

:focus-visible {
  outline: 3px solid #BA4E12;
  outline-offset: 2px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  border: 2px solid transparent;
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
  .btn:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px; }

.btn--primaer {
  background: #A61A16;
  color: #FFFFFF;
  border-color: #A61A16; }
  .btn--primaer:hover {
    background: #901713;
    border-color: #901713;
    color: #FFFFFF; }
  .btn--primaer:active {
    background: #6C110E;
    border-color: #6C110E; }

.btn--sekundaer {
  background: transparent;
  color: #A61A16;
  border-color: #C3B7B7; }
  .btn--sekundaer:hover {
    background: #FBEFEF;
    border-color: #A61A16; }
  .btn--sekundaer:active {
    background: #F4D8D7; }

.btn--tertiaer {
  background: transparent;
  color: #645453;
  border-color: #C3B7B7; }
  .btn--tertiaer:hover {
    background: #EFECEC;
    border-color: #A29090;
    color: #322A2A; }
  .btn--tertiaer:active {
    background: #DCD5D5; }

.btn:disabled,
.btn[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55; }
  .btn:disabled:hover,
  .btn[aria-disabled="true"]:hover {
    background: inherit; }

.karten-liste {
  list-style: none;
  padding-left: 0;
  margin: 1.5rem 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19.5rem, 1fr));
  gap: 1rem; }
  .karten-liste li {
    padding: 1rem;
    background: #F8F7F7;
    border: 1px solid #DCD5D5;
    border-radius: 0.5rem; }
  .karten-liste p {
    margin: 0 0 0.25rem;
    max-width: none; }
    .karten-liste p:last-child {
      margin-bottom: 0; }

.karten-liste__meta {
  color: #806B6B; }

.karten-liste__link {
  margin-top: 0.5rem; }

.karten-liste li.karten-liste__item--platzhalter {
  border-style: dashed;
  color: #806B6B; }

.aufklapptext {
  margin-top: 0.5rem; }

.aufklapptext__ausloeser {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  min-height: 2.75rem;
  color: #7B1E2B;
  font-weight: 600;
  cursor: pointer;
  list-style: none; }
  .aufklapptext__ausloeser::-webkit-details-marker {
    display: none; }
  .aufklapptext__ausloeser::after {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg); }
  .aufklapptext__ausloeser:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px; }

details[open] > .aufklapptext__ausloeser::after {
  transform: rotate(-135deg); }

.aufklapptext__label--offen {
  display: none; }

details[open] .aufklapptext__label--geschlossen {
  display: none; }

details[open] .aufklapptext__label--offen {
  display: inline; }

.unterstuetzer-grid {
  list-style: none;
  padding-left: 0;
  margin: 1.5rem 0 2rem;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 1rem; }

.unterstuetzer-kachel {
  display: flex;
  flex-direction: column; }

.unterstuetzer-kachel__logo-flaeche {
  width: 100%;
  aspect-ratio: 3 / 2;
  min-height: 0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem; }
  .unterstuetzer-kachel__logo-flaeche img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    min-width: 0;
    min-height: 0; }

.karten-liste .unterstuetzer-kachel__logo-flaeche {
  max-width: 50%;
  margin-inline: auto; }

.unterstuetzer-kachel__logo-platzhalter {
  color: #806B6B;
  font-size: 0.8125rem;
  font-style: italic;
  text-align: center; }

.unterstuetzer-kachel__name {
  margin: 0;
  padding: 0.5rem 1rem 0.75rem;
  font-size: 0.8125rem;
  line-height: 1.2;
  font-weight: 400;
  text-align: center; }

.unterstuetzer-kachel__art {
  margin: 0;
  padding: 0.25rem 1rem 1rem;
  color: #806B6B;
  text-align: center; }

.presse-kurzuebersicht {
  display: grid;
  grid-template-columns: minmax(8rem, max-content) 1fr;
  gap: 0.5rem 1rem;
  margin: 1.5rem 0; }
  .presse-kurzuebersicht dt {
    font-weight: 600;
    color: #645453; }
  .presse-kurzuebersicht dd {
    margin: 0; }

.das-projekt__logo {
  display: block;
  width: 100%;
  max-width: clamp(16rem, calc(-2.49rem + 78.89vw), 48rem);
  height: auto;
  margin: 0 auto 2rem; }

[aria-current="page"] {
  font-weight: 600; }

.eva-detail-main {
  min-height: calc(100dvh - 4.875rem);
  padding-block: 2rem; }
  @media (min-width: 48rem) {
    .eva-detail-main {
      min-height: calc(100dvh - 6.5rem); } }
  .eva-detail-main .spalte--randspalte-links,
  .eva-detail-main .spalte--randspalte-rechts,
  .eva-detail-main .spalte--hauptbereich {
    grid-row: 1; }
  .eva-detail-main .spalte--hauptbereich {
    min-height: calc(100dvh - 8.875rem);
    display: flex;
    align-items: center;
    justify-content: center; }
    @media (min-width: 48rem) {
      .eva-detail-main .spalte--hauptbereich {
        min-height: calc(100dvh - 10.5rem); } }
  .eva-detail-main .spalte--hauptbereich {
    animation: none; }
  .eva-detail-main .eva-detail__bild,
  .eva-detail-main .eva-detail__text-oben {
    animation: einblenden 0.5s ease-in forwards; }

.eva-detail-inhalt {
  width: 100%; }

.eva-detail__bild {
  margin: 0;
  aspect-ratio: 3 / 4;
  max-width: 100%;
  max-height: calc(100dvh - 8.875rem); }
  .eva-detail__bild img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0.5rem; }

.eva-detail__copyright {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #4B3F3F;
  text-align: center; }

@media (min-width: 48rem) {
  .eva-detail-inhalt {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem; }

  .eva-detail__bild {
    max-height: calc(100dvh - 10.5rem); }

  .eva-detail__text {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }

  .eva-detail__navigation {
    margin-top: 0; } }
@media (max-width: 47.9375rem) {
  .eva-detail-main {
    padding-block-end: 5.5rem; }
    .eva-detail-main .spalte--hauptbereich {
      min-height: 0;
      align-items: flex-start; }

  .eva-detail-inhalt {
    display: flex;
    flex-direction: column;
    height: calc(100dvh - 4.875rem - 2rem - 5.5rem);
    gap: 0.75rem; }

  .eva-detail__bild {
    flex: 1 1 0%;
    min-height: 0;
    aspect-ratio: unset;
    max-height: none; }

  .eva-detail__navigation {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    margin-top: 0;
    padding-block: 1rem;
    padding-inline: clamp(1rem, 4vw, 2rem);
    justify-content: center; } }
.eva-detail__nummer {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 400;
  font-size: clamp(1.1rem, calc(0.94rem + 0.68vw), 1.375rem);
  color: #806B6B;
  white-space: nowrap; }

.eva-detail__kurztext-platzhalter {
  color: #806B6B;
  font-style: italic; }

.eva-detail__navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2rem; }

.eva-detail__nav-paar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem; }

.eva-detail__icon {
  display: block; }

.die-evas-intro {
  margin-bottom: 1.5rem; }
  @media (min-width: 48rem) {
    .die-evas-intro {
      display: grid;
      grid-template-columns: repeat(8, 1fr);
      align-items: start;
      column-gap: 1.5rem; } }

@media (min-width: 48rem) {
  .die-evas-intro__text {
    grid-column: span 5; } }

.evas-grid__filter {
  margin-bottom: 1.5rem;
  max-width: 24rem; }
  @media (min-width: 48rem) {
    .evas-grid__filter {
      grid-column: span 3;
      margin-bottom: 0;
      justify-self: end; } }

.evas-grid {
  list-style: none;
  padding-left: 0;
  margin: 0 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  gap: 1rem; }

.evas-grid__kachel a {
  display: block;
  text-decoration: none;
  color: #322A2A; }
  .evas-grid__kachel a:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px;
    border-radius: 0.5rem; }

.evas-grid__bild {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 0.5rem;
  background: #F8F7F7; }
  .evas-grid__bild img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }

.evas-grid__bild--platzhalter {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #806B6B;
  font-size: 0.8125rem;
  text-align: center;
  padding: 0.75rem; }

.evas-grid__name {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 45%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 0.5rem 0.75rem;
  background: linear-gradient(to top, rgba(28, 23, 23, 0.88) 0%, rgba(28, 23, 23, 0.75) 60%, rgba(28, 23, 23, 0) 100%);
  color: #FFFFFF;
  font-size: 0.875rem;
  text-align: center;
  opacity: 0;
  transition: opacity 0.15s ease; }

.evas-grid__kachel a:hover .evas-grid__name {
  opacity: 1; }

.evas-grid__kachel a:focus-visible .evas-grid__name {
  opacity: 1; }

.evas-grid__leer {
  display: none;
  color: #806B6B;
  font-style: italic; }

.kontakt-email-hinweis,
.schmale-spalte .kontakt-email-hinweis {
  font-size: clamp(1.125rem, calc(1.05rem + 0.3vw), 1.375rem);
  font-weight: 500;
  line-height: 1.3;
  margin: 1.75rem 0 0.5rem; }

.trennlinie {
  border: 0;
  border-top: 1px solid #DCD5D5;
  margin: 2rem 0; }

label {
  display: block;
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #322A2A;
  margin-bottom: 0.25rem; }
  @media (min-width: 64rem) {
    label {
      font-size: 1.0625rem; } }

.pflichtfeld {
  color: #B41C18;
  margin-left: 0.15em; }

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="search"], textarea, select {
  display: block;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.75rem 1rem;
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-size: 1rem;
  color: #322A2A;
  background: #FFFFFF;
  border: none;
  border-radius: 0.25rem; }
  @media (min-width: 64rem) {
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="date"],
    input[type="search"], textarea, select {
      font-size: 1.0625rem; } }
  input[type="text"]::placeholder,
  input[type="email"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="date"]::placeholder,
  input[type="search"]::placeholder, textarea::placeholder, select::placeholder {
    color: #806B6B; }
  input[type="text"]:focus-visible,
  input[type="email"]:focus-visible,
  input[type="tel"]:focus-visible,
  input[type="date"]:focus-visible,
  input[type="search"]:focus-visible, textarea:focus-visible, select:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 1px; }
  input[type="text"]:disabled,
  input[type="email"]:disabled,
  input[type="tel"]:disabled,
  input[type="date"]:disabled,
  input[type="search"]:disabled, textarea:disabled, select:disabled {
    background: #F8F7F7;
    color: #806B6B;
    cursor: not-allowed; }

textarea {
  min-height: 8rem;
  resize: vertical; }

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.12); }

select {
  cursor: pointer;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.12); }

input[type="checkbox"],
input[type="radio"] {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.5rem;
  accent-color: #A61A16;
  cursor: pointer; }
  input[type="checkbox"]:focus-visible,
  input[type="radio"]:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px; }

.feld-checkbox,
.feld-radio {
  display: flex;
  align-items: flex-start;
  min-height: 2.75rem; }

fieldset {
  border: 1px solid #DCD5D5;
  border-radius: 0.25rem;
  padding: 1rem;
  margin: 0 0 1.5rem; }

legend {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-weight: 600;
  padding: 0 0.5rem; }

.feld-hilfetext {
  display: block;
  font-size: 0.875rem;
  color: #806B6B;
  margin-top: -0.125rem; }

label:has(+ .feld-hilfetext) {
  margin-bottom: 0; }

input.feld--fehler,
textarea.feld--fehler,
select.feld--fehler {
  border: 2px solid #901713; }
  input.feld--fehler:focus-visible,
  textarea.feld--fehler:focus-visible,
  select.feld--fehler:focus-visible {
    outline-color: #901713; }

.feld-fehlertext {
  display: flex;
  align-items: flex-start;
  gap: 0.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #901713;
  margin-top: 0.25rem; }
  .feld-fehlertext::before {
    content: "Fehler:"; }

.formular-erfolg {
  padding: 1rem 1.5rem;
  background: #FBEFEF;
  border: 2px solid #EC726F;
  border-radius: 0.5rem;
  color: #6C110E; }

.formular-fehler-uebersicht {
  padding: 1rem 1.5rem;
  background: #FBEFEF;
  border: 2px solid #901713;
  border-radius: 0.5rem;
  color: #6C110E;
  font-weight: 600; }

.feld-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap; }

.karte-container {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 16rem;
  margin: 1.5rem 0;
  border: 1px solid #DCD5D5;
  border-radius: 0.5rem;
  overflow: hidden; }

.karte__popup-zeiten {
  color: #806B6B; }

.karte__fehler {
  margin: 0;
  padding: 1rem;
  color: #806B6B;
  text-align: center; }

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  color: #322A2A; }

.leaflet-popup-content-wrapper {
  border-radius: 0.5rem; }

.leaflet-popup-content {
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif; }

.karte__popup-name {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600; }

.leaflet-bar a.leaflet-control-zoom-in,
.leaflet-bar a.leaflet-control-zoom-out,
.leaflet-touch .leaflet-bar a.leaflet-control-zoom-in,
.leaflet-touch .leaflet-bar a.leaflet-control-zoom-out {
  width: 2.75rem;
  height: 2.75rem;
  line-height: 2.75rem; }

.leaflet-control-zoom-in:focus-visible,
.leaflet-control-zoom-out:focus-visible {
  outline: 3px solid #BA4E12;
  outline-offset: 2px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: transparent;
  border-bottom: 1px solid transparent;
  padding: 1rem 1.5rem;
  transition: padding 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap; }

.site-header--kompakt {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: #DCD5D5; }

.site-header--kompakt {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }
  .site-header--kompakt .site-header__logo img {
    height: 2.5rem; }
    @media (min-width: 48rem) {
      .site-header--kompakt .site-header__logo img {
        height: 4.375rem; } }

.site-header__logo {
  display: block;
  flex-shrink: 0; }
  .site-header__logo img {
    display: block;
    height: 3.5rem;
    width: auto;
    transition: height 0.2s ease; }
    @media (min-width: 48rem) {
      .site-header__logo img {
        height: 6.25rem; } }

.site-header--ohne-uebergang {
  transition: none; }
  .site-header--ohne-uebergang .site-header__logo img {
    transition: none; }

.site-header--minimal {
  background: transparent;
  border-bottom-color: transparent; }
  .site-header--minimal .site-header__logo img {
    height: 2.5rem; }
    @media (min-width: 48rem) {
      .site-header--minimal .site-header__logo img {
        height: 4.375rem; } }

.site-header--minimal.site-header--minimal-opak {
  background: rgba(255, 255, 255, 0.92);
  border-bottom-color: #DCD5D5; }

.site-header__sprache {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
  font-size: 1rem; }
  .site-header__sprache a,
  .site-header__sprache [aria-current="page"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding-inline: 0.5rem;
    color: #645453;
    text-decoration: none; }
  .site-header__sprache a:hover,
  .site-header__sprache a:focus-visible {
    color: #7B1E2B;
    text-decoration: underline; }
  .site-header__sprache [aria-current="page"] {
    font-weight: 600;
    color: #7B1E2B; }

.site-header__burger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0; }
  @media (min-width: 64rem) {
    .site-header__burger {
      display: none; } }
  .site-header__burger .balken {
    display: block;
    width: 1.5rem;
    height: 2px;
    background: #322A2A;
    position: relative;
    transition: background 0.15s ease; }
    .site-header__burger .balken::before, .site-header__burger .balken::after {
      content: "";
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background: #322A2A;
      transition: transform 0.2s ease, top 0.2s ease; }
    .site-header__burger .balken::before {
      top: -7px; }
    .site-header__burger .balken::after {
      top: 7px; }
  .site-header__burger[aria-expanded="true"] .balken {
    background: transparent; }
    .site-header__burger[aria-expanded="true"] .balken::before {
      top: 0;
      transform: rotate(45deg); }
    .site-header__burger[aria-expanded="true"] .balken::after {
      top: 0;
      transform: rotate(-45deg); }

.site-navigation {
  flex-basis: 100%;
  order: 1; }
  .site-navigation[hidden] {
    display: none; }
  @media (min-width: 64rem) {
    .site-navigation {
      flex-basis: auto;
      order: 0;
      display: block !important; } }
  .site-navigation ul {
    list-style: none;
    margin: 1rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem; }
    @media (min-width: 64rem) {
      .site-navigation ul {
        flex-direction: row;
        align-items: center;
        gap: 0.125rem;
        margin: 0; } }
    @media (min-width: 93.75rem) {
      .site-navigation ul {
        gap: 1.5rem; } }
  .site-navigation a,
  .site-navigation [aria-current="page"] {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: #322A2A;
    font-family: "Hanken Grotesk", "Segoe UI", Arial, sans-serif;
    font-weight: 500;
    font-size: 1rem;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(0, 0, 0, 0.08);
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
    @media (min-width: 64rem) {
      .site-navigation a,
      .site-navigation [aria-current="page"] {
        padding: 0.6875rem 0.35rem;
        font-size: 0.8125rem; } }
    @media (min-width: 93.75rem) {
      .site-navigation a,
      .site-navigation [aria-current="page"] {
        padding: 0.5rem 1.1rem;
        font-size: 1.0625rem; } }
  .site-navigation a[data-bereich="evas-in-freiburg"]:hover,
  .site-navigation a[data-bereich="evas-in-freiburg"]:focus-visible,
  .site-navigation [data-bereich="evas-in-freiburg"][aria-current="page"] {
    background: rgba(166, 26, 22, 0.16);
    color: #A61A16; }
  .site-navigation a[data-bereich="programm"]:hover,
  .site-navigation a[data-bereich="programm"]:focus-visible,
  .site-navigation [data-bereich="programm"][aria-current="page"] {
    background: rgba(117, 78, 6, 0.16);
    color: #754E06; }
  .site-navigation a[data-bereich="die-evas"]:hover,
  .site-navigation a[data-bereich="die-evas"]:focus-visible,
  .site-navigation [data-bereich="die-evas"][aria-current="page"] {
    background: rgba(112, 47, 11, 0.16);
    color: #702F0B; }
  .site-navigation a[data-bereich="das-projekt"]:hover,
  .site-navigation a[data-bereich="das-projekt"]:focus-visible,
  .site-navigation [data-bereich="das-projekt"][aria-current="page"] {
    background: rgba(144, 23, 19, 0.16);
    color: #901713; }
  .site-navigation a[data-bereich="carmen-luna"]:hover,
  .site-navigation a[data-bereich="carmen-luna"]:focus-visible,
  .site-navigation [data-bereich="carmen-luna"][aria-current="page"] {
    background: rgba(80, 53, 2, 0.16);
    color: #503502; }
  .site-navigation a[data-bereich="kontakt"]:hover,
  .site-navigation a[data-bereich="kontakt"]:focus-visible,
  .site-navigation [data-bereich="kontakt"][aria-current="page"] {
    background: rgba(149, 62, 14, 0.16);
    color: #953E0E; }

@media (min-width: 64rem) {
  .site-navigation__sprache {
    background: none; } }
@media (min-width: 64rem) {
  .site-navigation__sprache a,
  .site-navigation__sprache [aria-current="page"] {
    padding: 0.6875rem 0.25rem;
    background: none;
    border-color: transparent;
    font-size: 0.8125rem; } }
@media (min-width: 64rem) {
  .site-navigation__sprache a:hover, .site-navigation__sprache a:focus-visible {
    background: none;
    color: #7B1E2B;
    text-decoration: underline; } }
.site-navigation__sprache [aria-current="page"] {
  font-weight: 600;
  color: #7B1E2B; }

.site-footer {
  background: #F8F7F7;
  border-top: 1px solid #DCD5D5;
  padding: 1rem 1.5rem;
  font-size: 0.875rem;
  color: #645453;
  display: flex;
  flex-direction: column;
  gap: 0.75rem; }
  @media (min-width: 48rem) {
    .site-footer {
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      row-gap: 0.75rem; } }
  @media (min-width: 64rem) {
    .site-footer {
      position: sticky;
      bottom: 0;
      z-index: 90; } }

.site-footer__rechtliches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.5rem; }

.site-footer__links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem; }

.site-footer__links a,
.site-footer__sprache a {
  color: #645453;
  text-decoration: none; }
  .site-footer__links a:hover, .site-footer__links a:focus-visible,
  .site-footer__sprache a:hover,
  .site-footer__sprache a:focus-visible {
    color: #7B1E2B;
    text-decoration: underline; }

.site-footer__sprache [aria-current="page"] {
  font-weight: 600;
  color: #7B1E2B; }

.site-footer__links [aria-current="page"] {
  font-weight: 600;
  text-decoration: underline; }

.site-footer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  flex-shrink: 0; }

.site-footer__copyright,
.site-footer__update {
  margin: 0;
  font-size: 0.8125rem; }

.splash-seite {
  position: relative;
  width: 100%;
  height: 100dvh;
  overflow: hidden; }

.splash-grid {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6rem, 1fr));
  gap: 0.25rem; }

.splash-grid__kachel {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: contain; }

.splash-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.75rem;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
  overflow-y: auto; }
  .splash-overlay h1 {
    margin: 0; }
  .splash-overlay p {
    margin: 0;
    max-width: none; }
  .splash-overlay:focus-visible {
    outline: 3px solid #BA4E12;
    outline-offset: 2px; }

.splash-overlay__untertitel {
  color: #322A2A; }

.splash-overlay__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 0.5rem; }

.splash-footer {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem 0.75rem;
  padding: 0.25rem 0.75rem;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 0.25rem;
  font-size: 0.8125rem;
  z-index: 10;
  max-width: calc(100% - 1.5rem); }
  @media (max-width: 47.9375rem) {
    .splash-footer {
      flex-direction: column;
      gap: 0.25rem;
      max-width: calc(100% - 0.75rem); } }

.splash-footer a {
  color: #645453;
  text-decoration: none;
  padding: 0.25rem; }
  .splash-footer a:hover, .splash-footer a:focus-visible {
    color: #7B1E2B;
    text-decoration: underline; }

.splash-footer__trenner {
  color: #C3B7B7; }

.splash-footer__rechtliches,
.splash-footer__sprache {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  white-space: nowrap; }

@media (max-width: 47.9375rem) {
  .splash-footer__trenner--gruppen {
    display: none; } }
