@charset "UTF-8";
/* =============================================================== *\
   Reset
\* =============================================================== */
/* Modernes CSS-Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  -webkit-font-smoothing: subpixel-antialiased; /* Safari, Chrome */
  -moz-osx-font-smoothing: auto; /* Firefox (kein subpixel support, aber auto ≈ subpixel) */
  text-rendering: optimizeLegibility; /* Optional: bessere Kerning/Lesbarkeit */
  text-size-adjust: 100%;
  line-height: 1.5;
}

body {
  line-height: inherit;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
  margin: 0;
}

textarea {
  resize: vertical;
}

button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

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

ul[role=list],
ol[role=list] {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd {
  margin: 0;
  padding: 0;
}

strong {
  font-weight: bold;
}

hr {
  border: none;
  height: 1px;
  background-color: currentColor;
}

blockquote {
  margin: 0;
  padding-left: 1.5rem;
  border-left: 4px solid currentColor;
}

:focus {
  outline: 2px solid #000;
  outline-offset: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}

/* =============================================================== *\ 
   Input-Elemente
\* =============================================================== */
/* Entfernt die Autofill-Hintergrundfarbe und -Textfarbe, um den Stil des Inputs zu übernehmen */
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 30px transparent inset !important; /* Setzt den Autofill-Hintergrund auf transparent */
  -webkit-text-fill-color: inherit !important; /* Vererbt die Textfarbe */
}

/* Entfernt die Pfeile (Spinners) in WebKit-basierten Browsern (Chrome, Safari, Edge) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Entfernt die Pfeile in Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

/* Dropdown-Pfeil bei select-Elementen */
/* Entfernt den Standard-Pfeil in WebKit-basierten Browsern */
select::-webkit-inner-spin-button,
select::-webkit-appearance {
  -webkit-appearance: none;
}

/* Entfernt den Standard-Pfeil in Firefox */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  /*font-size: 100%;"*/
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  /*line-height: 1;*/
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* =============================================================== *\ 
   Form-Reset
\* =============================================================== */
input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 100%;
}

/* =============================================================== *\
   Variablen und HTML-Grundelemente
   → Variablen (Farben, Spacing, Radius, Shadow)
   → HTML-Grundelemente (body, headings, links, lists, forms)
\* =============================================================== */
/* =============================================================== *\
   → Variablen (Farben, Spacing, Radius, Shadow)
\* =============================================================== */
:root {
  --wp--preset--color--neutral-100: #ebf6f3; /* sehr hell, fast weißlich mit Hauch Farbe */
  --wp--preset--color--neutral-200: #d9e1e0; /* zartes Grau */
  --wp--preset--color--neutral-300: #bfc7c6; /* helles Grau */
  --wp--preset--color--neutral-400: #9ea5a4; /* mittleres Grau */
  --wp--preset--color--neutral-500: #7f8685; /* gedecktes Grau */
  --wp--preset--color--neutral-600: #5f6564; /* dunkleres Grau */
  --wp--preset--color--neutral-700: #3e3e3e; /* dunkelgrau (dein Wert) */
  --wp--preset--color--neutral-800: #383838; /* fast schwarz (dein Wert) */
  --wp--preset--color--neutral-900: #2c2c2c; /* near-black */
  --box-padding: 25px;
  --kachel-padding-x: 25px;
  --header-height: 100px;
  --border-radius: 16px;
  --border-radius-small: 8px;
  --shadow-default: 3px 3px 8px #00000005;
  --shadow-medium: 3px 3px 8px #00000025;
  --shadow-dark: 3px 3px 8px #00000045;
  --shadow-soft: 0 6px 24px rgba(0, 0, 0, 0.08);
  --shadow-strong: 0 10px 40px rgba(0, 0, 0, 0.16);
  --shadow-floating: 0 12px 48px rgba(0, 0, 0, 0.1);
  --text-title-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}

/* =============================================================== *\
   Anpassungen für Mobile (Variablen)
\* =============================================================== */
@media screen and (max-width: 800px) {
  :root {
    --box-padding: 15px;
    --kachel-padding-x: 15px;
    --header-height: 54px;
    --border-radius: 8px;
  }
}
/* =============================================================== *\
    Base Elements
    → Grundlegende Styles, für typografische und semantische Basiselemente
    → Typografie, Links, Buttons, Formulare etc.
    → KEINE: Layout-Container oder projektspezifische Komponenten
\* =============================================================== */
/* =============================================================== *\
   Body & Grundlayout
\* =============================================================== */
/* =============================================================== *\
   Überschriften
\* =============================================================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 1em;
  margin-bottom: 0.125em;
  line-height: 1em;
}

@media screen and (max-width: 800px) {
  .entry-content .wp-block-heading {
    hyphens: auto;
  }
}
/* =============================================================== *\
   Listendarstellung
\* =============================================================== */
.is-style-without-bullets {
  margin-left: 0 !important;
  list-style: none !important;
}

.entry-content ul.wp-block-list {
  list-style: disc;
  padding-left: 1em;
}

/* =============================================================== *\
   Button-Style: .is-style-readmore_single
\* =============================================================== */
.is-style-readmore_single .wp-block-button__link {
  margin-top: 1rem;
  padding: 5px 12px;
  border: 0px solid gray;
  background-color: transparent;
  color: inherit;
}
.is-style-readmore_single .wp-block-button__link::after {
  content: "\f178";
  display: inline-block;
  margin-left: 0.5em;
  font-family: "Font Awesome 6 Sharp";
  font-weight: 900;
  transition: transform 0.2s ease;
}
.is-style-readmore_single .wp-block-button__link:hover::after {
  transform: translateX(4px);
}

/* =============================================================== *\
   Layout
   → Container, Grids, Wrapper
   → Header, Footer, Page-Layout
\* =============================================================== */
/* =============================================================== *\
   Layout Structure
   → Globale Layout-Regeln und Seitenaufbau
   → Container, Wrapper, Grids, Sections, Spaltenaufteilungen
   → Keine Typografie, keine Komponenten
\* =============================================================== */
:root {
  --page-padding: 1rem;
}

@media (max-width: 1400px) {
  :root {
    --page-padding: 3rem;
  }
}
@media (max-width: 800px) {
  :root {
    --page-padding: 2rem;
  }
}
@media (max-width: 600px) {
  :root {
    --page-padding: 1rem;
  }
}
body:not(.wp-admin) {
  padding-left: var(--page-padding);
  padding-right: var(--page-padding);
}

header,
footer,
.alignfull {
  margin-left: calc(-1 * var(--page-padding));
  margin-right: calc(-1 * var(--page-padding));
}

.alignfull:not(.wp-block-image) {
  padding-left: var(--page-padding);
  padding-right: var(--page-padding);
}

/* =============================================================== *\
   Layout: Beitrags-Titel
\* =============================================================== */
.wp-block-post-title {
  box-sizing: border-box;
  max-width: var(--wp--style--global--content-size);
  margin-bottom: 1.25em;
  margin-left: auto;
  margin-right: auto;
  word-break: break-word;
}

/* =============================================================== *\
   Layout: Unterseiten mit Spaltenstil
\* =============================================================== */
.is-style-unterseiten_columns {
  margin-top: 7vw;
}
@media screen and (max-width: 1200px) {
  .is-style-unterseiten_columns {
    flex-direction: column;
  }
}
.is-style-unterseiten_columns .column_additional_content {
  width: 100%;
  max-width: 450px;
}
.is-style-unterseiten_columns .column_additional_content > .wp-block-group {
  padding: var(--box-padding);
  border-radius: var(--border-radius);
  gap: 25px;
}
.is-style-unterseiten_columns .column_additional_content > .wp-block-group + * {
  margin-top: 1em;
}
.is-style-unterseiten_columns .column_additional_content .ud-accordion__title {
  width: 100%;
}

/* =============================================================== *\
   Layout: Weitere Layout-Helfer
\* =============================================================== */
/* Abstand bei erster Überschrift entfernen */
.wp-block-column.column_main_content > .wp-block-heading:first-child,
.wp-block-column.column_additional_content > :first-child {
  margin-top: 0;
}

/* Absatzabstand innerhalb Content-Column */
.wp-block-column.column_main_content p + p {
  margin-top: 1rem;
}

/* Buttons rechtsbündig */
.wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}

/* Kachel auf unterseite rechts*/
.wp-block-column.column_additional_content .wp-block-group.is-style-kachel {
  background-color: var(--wp--preset--color--highlight-300);
  font-size: 1rem;
  padding: 0.88rem;
  line-height: 1.44rem;
}

.wp-block-column.column_additional_content .wp-block-group.is-style-kachel .wp-block-heading {
  margin-top: 0;
  font-size: 1.19rem;
}

/* =============================================================== *\
   Root Variablen & Debug
\* =============================================================== */
:root {
  --header_height: 130px;
}

@media screen and (max-width: 800px) {
  :root {
    --header_height: 54px;
  }
}
/* =============================================================== *\
   Header Grundlayout
\* =============================================================== */
body.is_frontend {
  padding-top: calc(var(--header_height) + 6rem);
}

@media screen and (max-width: 800px) {
  body.is_frontend {
    padding-top: calc(var(--header_height));
  }
}
body.home {
  padding-top: calc(var(--header_height));
}

.wp-site-blocks header {
  position: fixed;
  top: 0;
  z-index: 9999;
  width: 100%;
  height: var(--header_height);
  margin-bottom: 100px;
  filter: drop-shadow(var(--shadow-default));
  transition: min-height 0s, all 0.2s;
}
.wp-site-blocks header.is-hidden {
  transform: translateY(-100%);
}
.wp-site-blocks header .row_01 {
  position: absolute;
  width: 100%;
  min-height: var(--header_height);
  background-color: white;
}
.wp-site-blocks header .row_02 {
  position: relative;
  padding: 1rem;
}

body.has_fullsite_cover .wp-site-blocks header {
  margin-bottom: 0;
}

body.menu_open,
body.search_open {
  overflow: hidden;
  max-height: 100vh;
}
body.menu_open header,
body.search_open header {
  min-height: calc(100vh + 20px);
  max-height: 100vh;
}

/* =============================================================== *\
   Logo
\* =============================================================== */
.wp-block-site-logo {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  height: 100%;
  margin: 0;
  padding: 1rem 0 0 1rem;
  z-index: 999;
}
.wp-block-site-logo img {
  width: 140px;
}

@media screen and (max-width: 1200px) {
  .wp-block-site-logo img {
    width: 120px;
  }
}
@media screen and (max-width: 1100px) {
  .wp-block-site-logo {
    padding-top: 0.75rem;
    padding-left: 0.75rem;
  }
  .wp-block-site-logo img {
    width: 110px;
  }
}
@media screen and (max-width: 900px) {
  .wp-block-site-logo {
    padding-top: 0.5rem;
    padding-left: 0.5rem;
  }
  .wp-block-site-logo img {
    width: 85px;
  }
}
@media screen and (max-width: 800px) {
  .wp-block-site-logo img {
    width: 92px;
  }
}
/* =============================================================== *\
   Suche
\* =============================================================== */
header .search_row_container {
  max-width: 800px;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
header .search_row_container .search_row {
  position: absolute;
  top: var(--header_height);
  z-index: -1;
  width: calc(100% - 2rem);
  margin: 1rem;
  border-radius: calc(var(--border-radius) * 1.3);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
  overflow: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
header .search_row_container .search_row.is_active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: all;
  z-index: 1000;
}

body.search_open .entry-content > *,
body.search_open .wp-block-post-title,
body.search_open .wp-block-custom-breadcrumb {
  opacity: 0.2;
  transition: 0.2s;
}

.lupe {
  cursor: pointer;
}

/* =============================================================== *\
   Menü Container
\* =============================================================== */
.menu_container {
  display: flex;
  gap: 26px;
  width: 100%;
  box-sizing: border-box;
}
.menu_container .main_menu {
  position: absolute;
  top: 60px;
  display: flex;
  align-items: flex-start;
  gap: 3vw;
  width: 100%;
  margin-top: 20px;
  left: 0;
}
.menu_container .main_menu a {
  font-size: 1.16em;
  font-weight: 700;
}
.menu_container .main_page a {
  line-height: 1em;
  border-radius: 4px;
  transition: all 0.2s;
}
.menu_container .page_container {
  position: relative;
}
.menu_container .sub_pages {
  position: absolute;
  top: 3rem;
  width: calc(100% + 30px);
  background: white;
  font-size: 60%;
  line-height: 1.25;
  white-space: nowrap;
  padding: 0 9px;
  height: 0;
  overflow: hidden;
  transform: translate(-15px, 0);
}
.menu_container .sub_pages li {
  border-radius: 100px;
  padding: 6px 10px;
  line-height: 1em;
  transition: all 0.2s;
}
.menu_container .sub_pages li + li {
  margin-top: 0.5em;
}
.menu_container .sub_pages li:hover {
  background-color: var(--green-default);
  color: var(--green-darker);
}
.menu_container .sub_pages a {
  display: block;
  width: 100%;
  font-weight: 600;
}

header:not(.menu_open) .menu_container .page_container:hover .sub_pages {
  padding-top: 0.5em;
  padding-bottom: 15px;
  height: auto;
  transform: translate(-15px, -1em);
}

/* =============================================================== *\
   Meta-Menü & Mobile & Hamburger
\* =============================================================== */
.meta_menu {
  font-size: 75%;
  font-weight: 600;
  gap: 30px;
}
.meta_menu .online_schalter,
.meta_menu .webcams,
.meta_menu .schule {
  line-height: 1em;
}
.meta_menu a::before {
  font-family: "Font Awesome 6 Sharp";
  font-weight: 400;
  font-style: normal;
  display: inline-block;
  padding-right: 5px;
}
.meta_menu .online_schalter a::before {
  content: "\f390";
}
.meta_menu .webcams a::before {
  content: "\f832";
}
.meta_menu .schule a::before {
  content: "\f549";
}

header .mobile_row {
  display: none;
  margin-left: auto;
  margin-right: 0;
  gap: 0;
}
header .mobile_row .mobile_search {
  flex-grow: 2;
  height: 40px;
  background-color: white;
}

@media screen and (max-width: 800px) {
  body {
    overflow-x: hidden;
  }
  header .mobile_row {
    display: flex;
  }
  .wp-block-site-logo {
    padding-top: 0.5rem;
    padding-left: 0.5rem;
  }
  body.menu_open header {
    overflow-y: hidden;
    min-height: var(--header_height);
    height: 100vh;
  }
  body.menu_open .meta_menu .lupe {
    display: none;
  }
  .menu_container {
    position: relative;
    top: var(--header_height);
    right: -100vw;
    width: 100vw;
    height: 100vh;
    background: var(--wp--preset--color--highlight-100, white);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 2rem;
    transition: all 0.4s ease-in-out;
    z-index: 998;
  }
  .menu_container .main_menu,
  .menu_container .meta_menu {
    position: static;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
    width: 100%;
  }
  .menu_container .main_menu.alignfull {
    padding: 0;
    gap: 2rem;
    margin-bottom: auto;
    padding-top: 5rem;
  }
  .menu_container .main_menu a {
    font-size: 2rem;
  }
  .menu_container .sub_pages {
    transform: none !important;
    padding-top: 0;
    padding-bottom: 0;
    display: none;
  }
  body.menu_open .menu_container {
    right: 0;
  }
}
/* =============================================================== *\
   Hamburger Menü Button
\* =============================================================== */
.hamburger {
  padding: 0 15px;
  display: inline-block;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  height: 24px;
  transition: opacity 0.15s linear, filter 0.15s linear;
}
.hamburger .hamburger-box {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 24px;
}
.hamburger .hamburger-box .hamburger-inner {
  position: absolute;
  display: block;
  top: 50%;
  margin-top: -2px;
}
.hamburger .hamburger-box .hamburger-inner, .hamburger .hamburger-box .hamburger-inner::before, .hamburger .hamburger-box .hamburger-inner::after {
  position: absolute;
  width: 30px;
  height: 2px;
  background-color: var(--wp--preset--color--neutral-700);
  transition: transform 0.15s ease;
}
.hamburger .hamburger-box .hamburger-inner::before, .hamburger .hamburger-box .hamburger-inner::after {
  content: "";
  display: block;
}
.hamburger .hamburger-box .hamburger-inner::before {
  top: -10px;
}
.hamburger .hamburger-box .hamburger-inner::after {
  bottom: -10px;
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}
.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}
.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* =============================================================== *\
   Footer – Allgemeine Struktur
\* =============================================================== */
footer {
  display: block;
  background: #fff;
  margin-top: 10vw;
  padding: 10vw 10vw 0;
}
footer .row_info h3 {
  margin-bottom: 1em;
  font-size: 30px;
}
footer .mobile {
  display: none;
}
footer {
  /* =============================================================== *\
     Footer – Media Queries
  \* =============================================================== */
}
@media screen and (max-width: 1800px) {
  footer {
    padding: 10vw 7vw 0;
  }
}
@media screen and (max-width: 1500px) {
  footer .row_info {
    display: flex;
    flex-direction: column;
    gap: 10vw;
  }
  footer .row_info h3 {
    margin-bottom: 0;
  }
  footer .row_info .stapel_partnerschaften {
    align-items: flex-start;
  }
}
@media screen and (max-width: 800px) {
  footer {
    font-size: 22px;
  }
  footer .row_info h3 {
    margin-bottom: 0;
    font-size: 24px;
  }
  footer .mobile {
    display: inherit;
  }
  footer .desktop {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  footer {
    padding-left: 20px;
    padding-right: 20px;
    font-size: 16px;
    line-height: 1.25em;
  }
  footer .row_info h3 {
    margin-bottom: 0;
    font-size: 18px;
  }
}
footer {
  /* =============================================================== *\
     Footer – Inhaltliche Bereiche (Öffnungszeiten, Partner etc.)
  \* =============================================================== */
}
footer .row_info .stapel_oeffnungszeiten .spalte_tage,
footer .row_info .stapel_oeffnungszeiten .spalte_morgen,
footer .row_info .stapel_oeffnungszeiten .spalte_nachmittag {
  gap: 0;
}
footer .row_info .row_wochenuebersicht {
  gap: 40px;
}
@media screen and (max-width: 500px) {
  footer .row_info .row_wochenuebersicht {
    gap: 20px;
  }
}
footer .row_info .stapel_partnerschaften {
  align-items: flex-end;
}
footer .row_rechtliches {
  margin-top: 10vw;
  gap: 2rem;
  font-size: 1.1rem;
}

/* =============================================================== *\
   Sonderregel für Startseite
\* =============================================================== */
.home footer.wp-block-template-part {
  margin-top: 0;
}

/* =============================================================== *\
   Impressum
\* =============================================================== */
.page-id-2308 .entry-content a {
  text-decoration: underline;
}
.page-id-2308 .entry-content .wp-block-ud-link-block a {
  border-radius: calc(var(--border-radius) * 2);
  width: fit-content;
  padding: 4px 14px;
  gap: 8px;
  margin-top: 0.5em;
  text-decoration: none;
  background-color: #00f3f3;
}
.page-id-2308 .entry-content .wp-block-ud-link-block a:hover {
  background-color: #66ffff;
  gap: 12px;
}
.page-id-2308 .entry-content .wp-block-ud-link-block a .ud-link-block__title {
  margin-top: 0.0125rem;
  font-weight: 500;
  transform: translateY(1px);
}
.page-id-2308 .entry-content .wp-block-ud-link-block a .ud-link-block__link-icon {
  width: 16px;
}

/* =============================================================== *\
   Komponenten + Block-Plugins
   → Wiederverwendbare Module & Block-spezifische Styles
\* =============================================================== */
/* =============================================================== *\
   Accordion Block – Grundstruktur
\* =============================================================== */
.wp-block-ud-accordion-block {
  font-size: 1rem;
}
.wp-block-ud-accordion-block .wp-block-ud-accordion-block {
  font-size: 0.85rem;
}

.wp-block-ud-news-loop-content .wp-block-ud-accordion-block,
.wp-block-ud-event-loop-content .wp-block-ud-accordion-block,
.wp-block-ud-childpage-loop-content .wp-block-ud-accordion-block,
.wp-block-ud-datetime-loop-container .wp-block-ud-accordion-block {
  font-size: 1em;
}

/* =============================================================== *\
   Editor-spezifisch (Block Margin im Editor)
\* =============================================================== */
.block-editor-block-list__block.wp-block-ud-accordion-block {
  margin-top: 0.5em;
}

/* =============================================================== *\
   Admin-Ansicht: Inhalt standardmässig verstecken
\* =============================================================== */
.wp-admin .wp-block-ud-loop-block .wp-block-ud-accordion-block .ud-accordion__content-inner {
  display: none;
}

/* =============================================================== *\
   Accordion Optik & Innenleben
\* =============================================================== */
.wp-block-ud-accordion-block .wp-block-ud-link-block a {
  background: var(--wp--preset--color--accent-100);
  border-radius: var(--border-radius);
  flex-direction: row;
  padding: 0.44rem 0.75rem;
}

.wp-block-ud-accordion-block .ud-link-block__title {
  font-size: 1rem;
  margin-bottom: 0;
  line-height: 1rem;
}

.wp-block-ud-accordion-block .ud-link-block__link-icon {
  width: 1em;
  height: 1em;
}

/* =============================================================== *\
   Verschachtelte Accordions (1 Ebene tiefer)
\* =============================================================== */
.wp-block-ud-accordion-block .wp-block-ud-accordion-block {
  background: white;
}

.wp-block-ud-accordion-block .wp-block-ud-accordion-block .wp-block-ud-link-block a {
  background: var(--wp--preset--color--accent-100, var(--wp--preset--color--ui-positive-300));
}

.wp-block-ud-accordion-block .wp-block-ud-accordion-block.is-style-chips .wp-block-ud-link-block a {
  background: var(--wp--preset--color--accent-100, var(--wp--preset--color--ui-positive-300));
}

/* =============================================================== *\
   Kontaktkarte für Vereine und Organisationen im Kontext von Akkordion
\* =============================================================== */
.wp-block-ud-accordion-block .wp-block-ud-contact-card-associations-music {
  background-color: var(--wp--preset--color--accent-100, #c1c1c1);
  margin: 0;
  max-width: none;
}
.wp-block-ud-accordion-block .wp-block-ud-contact-card-associations-music + .wp-block-ud-contact-card-associations-music {
  margin-top: 0.5rem;
}

/* =============================================================== *\
   Personal-Card im Accordion
\* =============================================================== */
.wp-block-ud-accordion-block .ud-personal-card {
  min-height: unset;
  max-width: fit-content !important;
  min-width: fit-content !important;
  background-color: var(--wp--preset--color--accent-100) !important;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta {
  display: flex;
  flex-direction: column;
  gap: 0rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta .ud-personal-name,
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta .ud-personal-role {
  font-size: 1rem;
  line-height: 1rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta .ud-personal-role {
  margin-bottom: 0;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-contact {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-contact .ud-personal-email,
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-contact .ud-personal-phone {
  font-size: 0.85rem;
  line-height: 0.85rem;
}
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-contact .ud-personal-email::before,
.wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-contact .ud-personal-phone::before {
  width: 0.85rem;
  font-size: 0.85rem;
}

.wp-block-ud-accordion-block .wp-block-ud-accordion-block .ud-personal-card {
  border-radius: calc(var(--border-radius) * 0.5);
}
.wp-block-ud-accordion-block .wp-block-ud-accordion-block .ud-personal-card .ud-personal-content {
  padding: 0.85rem;
}
.wp-block-ud-accordion-block .wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta .ud-personal-name,
.wp-block-ud-accordion-block .wp-block-ud-accordion-block .ud-personal-card .ud-personal-content .ud-personal-meta .ud-personal-role {
  font-size: 0.85rem;
  line-height: 0.85rem;
}
/* =============================================================== *\
   Accordion-Farben im Loop-Kontext
\* =============================================================== */
.wp-block-ud-news-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.wp-block-ud-event-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.wp-block-ud-childpage-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.wp-block-ud-datetime-loop-container .wp-block-ud-accordion-block .wp-block-ud-link-block a {
  background: var(--wp--preset--color--accent-300, var(--wp--preset--color--ui-positive-300));
  color: var(--wp--preset--color--accent-900, var(--wp--preset--color--ui-positive-900));
}

/* =============================================================== *\
   Akkordion-Block in den Unterseiten-Columns
\* =============================================================== */
.wp-block-columns.is-style-unterseiten_columns .wp-block-column.column_main_content .wp-block-ud-accordion-block,
.wp-block-columns.is-style-unterseiten_columns .wp-block-column.column_additional_content .wp-block-ud-accordion-block {
  margin-top: 1rem;
}

/* =============================================================== *\
   Highlight: Standard-Hintergrund
\* =============================================================== */
.block-editor-block-list__block.is-highlighted__ud,
.single:not(.single-ud_news):not(.single-ud_veranstaltungen) .is-highlighted__ud,
.single.single-ud_news .is-highlighted__ud .wp-block-ud-content-for-loop-block,
.single.single-ud_veranstaltungen .is-highlighted__ud .wp-block-ud-content-for-loop-block {
  background-color: var(--wp--preset--color--highlight-200);
}

/* =============================================================== *\
   Highlight: Accordion im Highlight-Block
\* =============================================================== */
.is-highlighted__ud .wp-block-ud-loop-content .wp-block-ud-accordion-block,
.is-highlighted__ud .wp-block-ud-content-for-loop-block .wp-block-ud-accordion-block {
  color: initial;
}

/* =============================================================== *\
   Sicherstellung des Hintergrunds auch außerhalb von Single-Templates
\* =============================================================== */
.is-highlighted__ud .wp-block-ud-content-for-loop-block {
  background-color: var(--wp--preset--color--theme-200);
}

/* =============================================================== *\
   Highlight: Accordions innerhalb von Loop-Varianten
\* =============================================================== */
.is-highlighted__ud .wp-block-ud-news-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.is-highlighted__ud .wp-block-ud-event-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.is-highlighted__ud .wp-block-ud-childpage-loop-content .wp-block-ud-accordion-block .wp-block-ud-link-block a,
.is-highlighted__ud .wp-block-ud-datetime-loop-container .wp-block-ud-accordion-block .wp-block-ud-link-block a {
  background: var(--wp--preset--color--accent-400, var(--wp--preset--color--ui-positive-400));
  color: inherit;
}

/* =============================================================== *\
   Loop-Titel: Headings innerhalb der Container
\* =============================================================== */
.wp-block-ud-news-loop-content > .wp-block-heading,
.wp-block-ud-event-loop-content > .wp-block-heading,
.wp-block-ud-childpage-loop-content .childpage-loop-title a > .wp-block-heading,
.wp-block-ud-datetime-loop-container > .wp-block-heading {
  font-size: 1.44em;
}

.wp-block-ud-content-for-loop-block figure .slick-slide > div {
  margin-bottom: -7px;
}

/* =============================================================== *\
   Layout: News- und Event-Kacheln
\* =============================================================== */
.wp-block-ud-news-loop-content,
.wp-block-ud-event-loop-content {
  display: flex;
  flex-direction: column;
  gap: 0;
  --kachel-padding-x: 25px;
  width: auto;
  padding-top: var(--kachel-padding-x);
  padding-bottom: var(--kachel-padding-x);
  border-radius: var(--border-radius);
  overflow: hidden;
  background-color: white;
  color: var(--wp--preset--color--neutral-900);
  line-height: 1.125em;
}
@media screen and (max-width: 1000px) {
  .wp-block-ud-news-loop-content,
  .wp-block-ud-event-loop-content {
    --kachel-padding-x: 15px;
  }
}
.wp-block-ud-news-loop-content .wp-block-heading,
.wp-block-ud-event-loop-content .wp-block-heading {
  margin: 0;
  font-size: 100%;
}
.wp-block-ud-news-loop-content figure,
.wp-block-ud-event-loop-content figure {
  display: block;
}
.wp-block-ud-news-loop-content figure + .wp-block-post-date,
.wp-block-ud-event-loop-content figure + .wp-block-post-date {
  padding-top: calc(var(--kachel-padding-x) - 15px);
}
.wp-block-ud-news-loop-content.is-style-veranstaltung-first-row,
.wp-block-ud-event-loop-content.is-style-veranstaltung-first-row {
  flex-wrap: nowrap;
  justify-content: space-between;
}

/* =============================================================== *\
   Reset: Allgemeine Innenabstände für Loop-Content
\* =============================================================== */
.wp-block-ud-loop-content {
  padding: 0;
}

/* =============================================================== *\
   News
\* =============================================================== */
.ud-loop-list.post-type-ud_news .wp-block-ud-content-for-loop-block figure.wp-block-gallery,
.ud-loop-list.post-type-ud_news .wp-block-ud-content-for-loop-block figure.wp-block-image {
  margin-bottom: 0.5rem;
}
.ud-loop-list.post-type-ud_news .wp-block-ud-content-for-loop-block p {
  font-size: 1rem;
  line-height: 1.25rem;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.ud-loop-list.post-type-ud_news .wp-block-ud-content-for-loop-block .wp-block-ud-accordion-block.ud-accordion {
  margin-top: 1rem;
}
.ud-loop-list.post-type-ud_news .wp-block-ud-content-for-loop-block .wp-block-ud-accordion-block.ud-accordion .ud-accordion__title h3 {
  font-size: 1rem;
  color: var(--wp--preset--color--neutral-900);
}

/* =============================================================== *\
   Editor: Begrenzungen & Layout-Hilfen
\* =============================================================== */
.block-editor-block-list__layout.is-root-container > .wp-block-ud-news-loop-content:where(:not(.alignleft):not(.alignright):not(.alignfull)),
.block-editor-block-list__layout.is-root-container > .wp-block-ud-event-loop-content:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 1000px;
}
.block-editor-block-list__layout.is-root-container .wp-block-ud-content-for-loop-block.is-content-type-childpage figure {
  border: 1px solid green;
  margin: 0;
  border-radius: 20px;
}

.is-style-teaser-block {
  position: relative;
  filter: drop-shadow(var(--shadow-floating));
}
.is-style-teaser-block figure {
  margin: 0;
}
.is-style-teaser-block img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--border-radius);
}
.is-style-teaser-block .wp-block-group-is-layout-constrained {
  font-weight: 700;
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  background-color: white;
  padding: 1.3em;
  max-width: 560px;
  border-radius: var(--border-radius);
  line-height: 1.25em;
  filter: drop-shadow(var(--shadow-strong));
  font-size: clamp(18px, 2.5vw, 24px);
}
.is-style-teaser-block .wp-block-group-is-layout-constrained > * + * {
  margin-top: 1em;
}
@media (max-width: 1000px) {
  .is-style-teaser-block {
    display: block;
  }
  .is-style-teaser-block img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .is-style-teaser-block .wp-block-group-is-layout-constrained {
    position: static;
    padding: 0.8rem 1rem;
    max-width: 100%;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    filter: none;
  }
  .is-style-teaser-block .wp-block-group-is-layout-constrained p {
    text-align: left;
  }
}

.is-style-fullsite-cover {
  min-height: calc(90vh - 100px);
  align-items: flex-end;
}
@media screen and (max-width: 800px) {
  .is-style-fullsite-cover {
    min-height: 50vh;
    max-height: 50vh;
  }
}
.is-style-fullsite-cover h2 {
  font-size: clamp(24px, 10vw, 68px);
  text-shadow: var(--text_title_shadow);
}

/* =============================================================== *\
   Wofür wir stehen – Layout für Vollbreite
\* =============================================================== */
:root {
  --wws_padding: 1.66rem;
  --wws_font_size: 1.66rem;
}

@media screen and (max-width: 800px) {
  :root {
    --wws_padding: 1.44rem;
    --wws_font_size: 1.44rem;
  }
}
@media screen and (max-width: 500px) {
  :root {
    --wws_padding: 1.22rem;
    --wws_font_size: 1.22rem;
  }
}
.wofuer_wir_stehen.alignfull {
  position: relative;
  display: block;
  margin-top: 30vw;
  margin-bottom: 0;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
.wofuer_wir_stehen.alignfull .content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.wofuer_wir_stehen.alignfull .content .teaser-text-container {
  position: relative;
  bottom: 0;
  margin-right: 0;
  margin-bottom: 30%;
  margin-left: auto;
  padding: var(--wws_padding) var(--wws_padding) var(--wws_padding);
  max-width: 660px;
  background-color: #a9cea9;
  border-top-left-radius: calc(var(--border-radius) / 0.5);
  border-bottom-left-radius: calc(var(--border-radius) / 0.5);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  color: #39433b;
  font-size: var(--wws_font_size);
  line-height: normal;
}
.wofuer_wir_stehen.alignfull a {
  font-size: calc(var(--wws_font_size) * 0.8);
  padding-bottom: 0;
  padding-right: 0;
  padding: 0;
  margin: var(--wws_padding) 0 0 0;
}
.wofuer_wir_stehen.alignfull figure {
  position: relative;
  margin: -1rem;
  border: 0;
  border-radius: 0;
}
.wofuer_wir_stehen.alignfull figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at bottom right, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%);
  pointer-events: none;
}
.wofuer_wir_stehen.alignfull figure img {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: unset;
  max-height: 100vh;
}
@media screen and (max-width: 800px) {
  .wofuer_wir_stehen.alignfull .content .teaser-text-container {
    max-width: 86%;
  }
}

/* =============================================================== *\
   Webcams-Stil
\* =============================================================== */
.is-style-webcams .is-style-webcam_container {
  background-color: white;
  border-radius: var(--border-radius);
  overflow: hidden;
  padding: var(--kachel-padding-x);
}
.is-style-webcams .is-style-webcam_container a {
  margin-top: calc(0px - var(--kachel-padding-x));
  margin-right: calc(0px - var(--kachel-padding-x));
  margin-bottom: 0;
  margin-left: calc(0px - var(--kachel-padding-x));
}
.is-style-webcams .is-style-webcam_container img {
  aspect-ratio: 4/3;
  object-fit: cover;
}

/* =============================================================== *\
   Glightbox-Stil für Bilder
\* =============================================================== */
.glightbox img {
  cursor: zoom-in;
}

.masonry-container {
  margin-left: auto;
  margin-right: auto;
}

.is-layout-constrained > .is-style-masonry:where(:not(.alignleft):not(.alignright):not(.alignfull)),
.is-layout-constrained > .is-style-wohnung-block-masonry:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  margin-left: calc(0px - var(--kachel-padding-x)) !important;
  margin-right: calc(0px - var(--kachel-padding-x)) !important;
  width: calc(100% + 40px);
  border: 0px solid black;
}

.is-style-wohnung-block-masonry,
.is-style-masonry {
  opacity: 0;
  transition: all 0.2s;
}
.is-style-wohnung-block-masonry.is-masonry-initialized,
.is-style-masonry.is-masonry-initialized {
  opacity: 1;
}
.is-style-wohnung-block-masonry .masonry-item,
.is-style-masonry .masonry-item {
  width: 33.333%;
  padding: var(--kachel-padding-x);
  box-sizing: border-box;
}
@media screen and (max-width: 1200px) {
  .is-style-wohnung-block-masonry .masonry-item,
  .is-style-masonry .masonry-item {
    width: 50%;
  }
}
@media screen and (max-width: 800px) {
  .is-style-wohnung-block-masonry .masonry-item,
  .is-style-masonry .masonry-item {
    width: 100%;
  }
}

/* =============================================================== *\
   Wohnungen
\* =============================================================== */
.is-style-wohnung-block-masonry.initialized {
  opacity: 1;
}

/* =============================================================== *\
   Link-Filter-Container-Block
\* =============================================================== */
.link-block-container .wp-block-ud-link-block a {
  background-color: var(--wp--preset--color--accent-100);
}

/* =============================================================== *\
   Content for Loop Block
\* =============================================================== */
.wp-block-ud-content-for-loop-block.is-content-type-childpage,
.wp-block-ud-content-for-loop-block {
  padding: calc(var(--kachel-padding-x, 25px) / 1.3);
}

.page-child .wp-block-ud-content-for-loop-block.is-content-type-childpage,
.page-child .wp-block-ud-content-for-loop-block {
  padding: calc(var(--kachel-padding-x, 25px) / 1.3);
}
@media screen and (max-width: 1100px) {
  .page-child .wp-block-ud-content-for-loop-block.is-content-type-childpage,
  .page-child .wp-block-ud-content-for-loop-block {
    padding: 0;
  }
  .page-child .wp-block-ud-content-for-loop-block.is-content-type-childpage .wp-block-image.image,
  .page-child .wp-block-ud-content-for-loop-block .wp-block-image.image {
    margin-bottom: 0;
  }
  .page-child .wp-block-ud-content-for-loop-block.is-content-type-childpage .teaser-text-container,
  .page-child .wp-block-ud-content-for-loop-block .teaser-text-container {
    border-radius: 0;
  }
}
.page-child .wp-block-ud-content-for-loop-block.is-content-type-childpage figure {
  margin-bottom: calc(var(--kachel-padding-x) * -1);
}

.wp-block-ud-content-for-loop-block.is-content-type-childpage .teaser-text-container {
  border-top-right-radius: calc(var(--border-radius) / 0.5);
  border-bottom-right-radius: calc(var(--border-radius) / 0.5);
}

.wp-block-ud-content-for-loop-block.is-content-type-ud_veranstaltungen .meta-row .wp-block-ud-datetime-block, .wp-block-ud-content-for-loop-block.is-content-type-ud_veranstaltungen .meta-row p {
  flex-basis: unset;
}

@media screen and (max-width: 6000px) {
  .wp-block-column .ud-personal-card.ud-layout-small {
    flex-direction: column;
  }
  .wp-block-column .ud-personal-card.ud-layout-small .ud-personal-image-left {
    width: 100%;
    max-width: unset;
  }
  .wp-block-column .ud-personal-card.ud-layout-small .ud-personal-image-left .ud-personal-image {
    border-radius: var(--border-radius, 12px) var(--border-radius, 12px) 0 0;
  }
}
/* =============================================================== *\
   Externe Plugins
\* =============================================================== */
/* =============================================================== *\ 
   Gemeinsame Regeln für
   - Mobile-Suche im Header
   - Desktop-Suche im Teaser-Block
\* =============================================================== */
/* Root-Variablen */
:root {
  --ud_asp_placeholder_color: #909090;
  --ud_asp_search_input_font_family: var(--wp--preset--font-family--figtree);
  --ud_asp_drop_shadow: drop-shadow(4px 4px 12px #00000055);
}

/* Text im Suchfeld */
#ajaxsearchpro1_1 .probox .proinput input.orig,
#ajaxsearchpro1_2 .probox .proinput input.orig,
div.asp_m.asp_m_1 .probox .proinput input.orig,
#ajaxsearchpro2_1 .probox .proinput input.orig,
#ajaxsearchpro2_2 .probox .proinput input.orig,
div.asp_m.asp_m_2 .probox .proinput input.orig {
  font-family: var(--ud_asp_search_input_font_family) !important;
  color: black !important;
  padding-left: 0.251em !important;
  transform: translate(0.1em, -0.05em);
}

/* Placeholder */
#ajaxsearchpro1_1 .probox .proinput input::placeholder,
#ajaxsearchpro1_2 .probox .proinput input::placeholder,
div.asp_m.asp_m_1 .probox .proinput input::placeholder,
#ajaxsearchpro2_1 .probox .proinput input::placeholder,
#ajaxsearchpro2_2 .probox .proinput input::placeholder,
div.asp_m.asp_m_2 .probox .proinput input::placeholder {
  color: var(--ud_asp_placeholder_color);
  font-family: var(--spearch-input-font-family);
  font-style: italic;
  opacity: 1;
}

/* Für WebKit-Browser */
#ajaxsearchpro1_1 .probox .proinput input::-webkit-input-placeholder,
#ajaxsearchpro1_2 .probox .proinput input::-webkit-input-placeholder,
div.asp_m.asp_m_1 .probox .proinput input::-webkit-input-placeholder,
#ajaxsearchpro2_1 .probox .proinput input::-webkit-input-placeholder,
#ajaxsearchpro2_2 .probox .proinput input::-webkit-input-placeholder,
div.asp_m.asp_m_2 .probox .proinput input::-webkit-input-placeholder {
  color: var(--ud_asp_placeholder_color);
  font-family: var(--ud_asp_search_input_font_family);
  font-style: italic;
}

/* Für Mozilla Firefox */
#ajaxsearchpro1_1 .probox .proinput input::-moz-placeholder,
#ajaxsearchpro1_2 .probox .proinput input::-moz-placeholder,
div.asp_m.asp_m_1 .probox .proinput input::-moz-placeholder,
#ajaxsearchpro2_1 .probox .proinput input::-moz-placeholder,
#ajaxsearchpro2_2 .probox .proinput input::-moz-placeholder,
div.asp_m.asp_m_2 .probox .proinput input::-moz-placeholder {
  color: var(--ud_asp_placeholder_color);
  font-family: var(--ud_asp_search_input_font_family);
  font-style: italic;
  opacity: 1;
}

/* Close-Button */
.is_frontend #ajaxsearchpro1_1 .probox .proclose,
.is_frontend #ajaxsearchpro1_2 .probox .proclose,
.is_frontend div.asp_m.asp_m_1 .probox .proclose,
.is_frontend #ajaxsearchpro2_1 .probox .proclose,
.is_frontend #ajaxsearchpro2_2 .probox .proclose,
.is_frontend div.asp_m.asp_m_2 .probox .proclose {
  display: none !important;
}

/* Suchergebnisse */
.is_frontend #ajaxsearchprores1_1.vertical,
.is_frontend #ajaxsearchprores1_2.vertical,
.is_frontend div.asp_r.asp_r_1.vertical,
.is_frontend #ajaxsearchprores2_1.vertical,
.is_frontend #ajaxsearchprores2_2.vertical,
.is_frontend div.asp_r.asp_r_2.vertical {
  border-radius: var(--border-radius);
  background-color: white;
  filter: var(--ud_asp_drop_shadow);
  margin-top: 1rem;
}

.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content h3 a {
  font-family: var(--wp--preset--font-family--figtree);
  line-height: 1.25em;
  font-weight: 600;
  padding: 0.15rem;
}

.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content h3 a {
  color: #000000;
  transition: color 0.2s;
  background: transparent !important;
}

.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a:hover,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a:hover,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a:hover,
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content h3 a:hover,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content h3 a:hover,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content h3 a:hover {
  color: var(--wp--preset--color--highlight-500);
}

/* Excerpt */
.is_frontend #ajaxsearchprores1_1 .results .item .asp_content .asp_res_text,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content .asp_res_text,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content .asp_res_text,
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content .asp_res_text,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content .asp_res_text,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content .asp_res_text {
  display: none;
}

/* Linie zwischen den Suchergebnissen */
#ajaxsearchprores1_1.vertical .results .item::after,
#ajaxsearchprores1_2.vertical .results .item::after,
div.asp_r.asp_r_1.vertical .results .item::after,
#ajaxsearchprores2_1.vertical .results .item::after,
#ajaxsearchprores2_2.vertical .results .item::after,
div.asp_r.asp_r_2.vertical .results .item::after {
  opacity: 0;
}

/* Icons für die Suchergebnisse */
.asp_r_attachment a::before,
.asp_r_pagepost a::before {
  font-family: "Font Awesome 6 Sharp";
  margin-right: 6px;
  font-weight: 500;
}

.asp_r_attachment a::before {
  content: "\f1c1"; /* Unicode für fa-file-pdf */
}

.asp_r_pagepost a::before {
  content: "\e09f";
}

/* =============================================================== *\ 
   Mobile-Suche im Header
\* =============================================================== */
/* Lupe im Suchfeld */
#ajaxsearchpro1_1 .probox .promagnifier,
#ajaxsearchpro1_2 .probox .promagnifier,
div.asp_m.asp_m_1 .probox .promagnifier {
  display: none;
}

/* Text im Suchfeld */
#ajaxsearchpro1_1 .probox .proinput input.orig,
#ajaxsearchpro1_2 .probox .proinput input.orig,
div.asp_m.asp_m_1 .probox .proinput input.orig {
  font-size: 16px !important;
}

/* Placeholder */
#ajaxsearchpro1_1 .probox .proinput input::placeholder,
#ajaxsearchpro1_2 .probox .proinput input::placeholder,
div.asp_m.asp_m_1 .probox .proinput input {
  font-size: 16px;
}

.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a {
  font-size: 16px;
}

/* =============================================================== *\ 
   Desktop-Suche im Teaser-Block
\* =============================================================== */
/* Suchfeld-Container */
.asp_w_container_2 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.is-style-fullsite-cover #ajaxsearchpro2_1,
.is-style-fullsite-cover div.asp_m.asp_m_2,
.is-style-fullsite-cover .asp_w_container_2 .asp_m_2 {
  width: 550px;
  margin: auto;
  height: 60px;
  border-radius: 100px;
  display: flex;
  align-items: center;
  background: white;
  filter: var(--ud_asp_drop_shadow);
}

#ajaxsearchpro2_1 .probox,
#ajaxsearchpro2_2 .probox,
div.asp_m.asp_m_2 .probox {
  width: 100%;
  border: 0px solid black !important;
  padding: 20px 20px 20px 10px;
}

/* Text im Suchfeld */
#ajaxsearchpro2_1 .probox .proinput input.orig,
#ajaxsearchpro2_2 .probox .proinput input.orig,
div.asp_m.asp_m_2 .probox .proinput input.orig {
  font-size: 28px !important;
}

/* Placeholder */
#ajaxsearchpro2_1 .probox .proinput input::placeholder,
#ajaxsearchpro2_2 .probox .proinput input::placeholder,
div.asp_m.asp_m_2 .probox .proinput input {
  font-size: 28px;
}

/* Lupe */
.asp_w_container_2 div.asp_m.ajaxsearchpro .probox .promagnifier .innericon svg,
.asp_w_container_2 div.asp_m.ajaxsearchpro .probox .prosettings .innericon svg,
.asp_w_container_2 div.asp_m.ajaxsearchpro .probox .proloading svg {
  width: 36px;
  vertical-align: -webkit-baseline-middle;
  height: 36px;
  margin-top: -0.75rem;
  margin-right: 27px;
  opacity: 0.75;
}

/* Suchergebnisse Startseite */
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_1 .results .item .asp_content h3 a:hover,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores2_2 .results .item .asp_content h3 a:hover,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_2 .results .item .asp_content h3 a:hover {
  font-size: 20px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1rem;
}
.is_frontend #ajaxsearchprores2_1 .results .item.hovered,
.is_frontend #ajaxsearchprores2_2 .results .item.hovered,
.is_frontend div.asp_r.asp_r_2 .results .item.hovered {
  background-color: white;
  background-image: none !important;
}

/* Suchergebnisse meta-menü */
.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores1_1 .results .item .asp_content h3 a:hover,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a,
.is_frontend #ajaxsearchprores1_2 .results .item .asp_content h3 a:hover,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a,
.is_frontend div.asp_r.asp_r_1 .results .item .asp_content h3 a:hover {
  font-size: 16px;
  font-weight: 600;
  font-family: inherit;
  line-height: 1rem;
}
.is_frontend #ajaxsearchprores1_1 .results .item.hovered,
.is_frontend #ajaxsearchprores1_2 .results .item.hovered,
.is_frontend div.asp_r.asp_r_1 .results .item.hovered {
  background-color: white;
  background-image: none !important;
}

/* =============================================================== *\ 
   Responsive Weiche
\* =============================================================== */
@media screen and (max-width: 800px) {
  .asp_w_container_2 {
    display: none;
  }
}
/* =============================================================== *\ 
   Container für die sichtbare Suche
\* =============================================================== */
.is_frontend .asp_w_container_1 {
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
  transition: all 0.2s;
}

.is_frontend .asp_w_container_1 #ajaxsearchpro1_1,
.is_frontend .asp_w_container_1 #ajaxsearchpro1_2,
.is_frontend .asp_w_container_1 div.asp_m.asp_m_1 {
  min-width: 0;
  width: 0;
  transition: 0s;
  border-radius: var(--border-radius);
}

.is_frontend .asp_w_container_1.visible {
  opacity: 1;
  pointer-events: all;
  padding: 2px;
  background-color: var(--wp--preset--color--highlight-300);
  margin-left: 0rem;
  margin-right: 0rem;
  filter: drop-shadow(0 6px 24px rgba(0, 0, 0, 0.2));
  background: var(--wp--preset--color--highlight-500);
}

.is_frontend .asp_w_container_1.visible #ajaxsearchpro1_1,
.is_frontend .asp_w_container_1.visible #ajaxsearchpro1_2,
.is_frontend .asp_w_container_1.visible div.asp_m.asp_m_1 {
  min-width: unset;
  width: 100%;
}

/* =============================================================== *\ 
   No Results
\* =============================================================== */
.is_frontend #ajaxsearchprores1_1 .asp_nores,
.is_frontend #ajaxsearchprores1_2 .asp_nores,
.is_frontend div.asp_r.asp_r_1 .asp_nores {
  box-shadow: none;
  border-bottom: 1px solid;
  padding: 0;
  margin: 6px 12px;
  padding-bottom: 0.51rem;
}

.is_frontend #ajaxsearchprores1_1 .asp_nores .asp_nores_kw_suggestions,
.is_frontend #ajaxsearchprores1_2 .asp_nores .asp_nores_kw_suggestions,
.is_frontend div.asp_r.asp_r_1 .asp_nores .asp_nores_kw_suggestions {
  color: black !important;
  font-weight: inherit !important;
}

.is_frontend #ajaxsearchprores1_1 .asp_nores .asp_keyword,
.is_frontend #ajaxsearchprores1_2 .asp_nores .asp_keyword,
.is_frontend div.asp_r.asp_r_1 .asp_nores .asp_keyword {
  color: black !important;
  font-weight: inherit !important;
}

#ajaxsearchprores1_1 .results .item div.etc,
#ajaxsearchprores1_2 .results .item div.etc,
div.asp_r.asp_r_1 .results .item div.etc {
  display: none;
}

.fluentform .ff-el-group {
  margin-bottom: 12px;
}

.fluentform .ueberblick {
  border-radius: calc(var(--border-radius) / 2);
  background: var(--wp--preset--color--accent-100);
  padding: 10px;
  margin-top: 0.75rem;
}

.ff-default .ff-btn-secondary:not(.ff_btn_no_style),
.ff-default .ff-btn-secondary:not(.ff_btn_no_style):hover,
.ff-default .ff-btn-secondary:not(.ff_btn_no_style):focus {
  background-color: transparent;
  color: inherit;
}

.ff-default .zusammenfassung-uploads {
  display: inline-block;
}

.ff-default .ff-el-form-control {
  border-color: var(--wp--preset--color--accent-700);
  background-color: var(--wp--preset--color--accent-100);
}

.ff-default .radio_container {
  padding: 6px;
  background: var(--wp--preset--color--accent-100);
  border: 1px solid;
  border-color: var(--wp--preset--color--accent-700);
  border-radius: calc(var(--border-radius) / 2);
}

/* Icon NACH dem "Weiter"-Button */
.ff-btn-next::after {
  font-family: "Font Awesome 6 Sharp"; /* prüfen welche Variante du eingebunden hast */
  font-weight: 900;
  content: "\f178"; /* fa-arrow-right-long */
  margin-left: 0.5em;
  display: inline-block;
}

/* Icon VOR dem "Zurück"-Button */
.ff-btn-prev::before {
  font-family: "Font Awesome 6 Sharp";
  font-weight: 900;
  content: "\f177"; /* fa-arrow-left-long */
  margin-right: 0.5em;
  display: inline-block;
}

/* Icon VOR dem "Absenden"-Button */
.ff-btn.ff-btn-submit::before {
  font-family: "Font Awesome 6 Sharp";
  font-weight: 900;
  content: "\f1d8"; /* fa-paper-plane */
  margin-right: 0.5em;
  display: inline-block;
}

.ff-btn.ff-btn-submit {
  border: 1px solid;
  border-radius: calc(var(--border-radius) / 2);
  border-color: var(--wp--preset--color--accent-700);
  padding: 6px;
  line-height: 1em;
  font-weight: 500;
  letter-spacing: 0.025rem;
  color: var(--wp--preset--color--accent-100);
  background: var(--wp--preset--color--accent-500);
}

/* =============================================================== *\
   Project Specific
   → Individuelle Styles, die nur hier gebraucht werden
\* =============================================================== */
/* =============================================================== *\
   Variablen
\* =============================================================== */
:root {
  --wp--preset--color--theme-100: #fefce5;
  --wp--preset--color--theme-200: #fafad2;
  --wp--preset--color--theme-300: #f4f4a4;
  --wp--preset--color--theme-400: #f4f493;
  --wp--preset--color--theme-500: #f0f083;
  --wp--preset--color--theme-600: #d6d670;
  --wp--preset--color--theme-700: #adad57;
  --wp--preset--color--theme-800: #7f7f3d;
  --wp--preset--color--theme-900: #4d4d22;
  --wp--preset--color--accent-100: #f2fdf2;
  --wp--preset--color--accent-200: #cfe6cf;
  --wp--preset--color--accent-300: #a6d7a6;
  --wp--preset--color--accent-400: #7ec97e;
  --wp--preset--color--accent-500: #52b952;
  --wp--preset--color--accent-600: #3e953e;
  --wp--preset--color--accent-700: #2d6f2d;
  --wp--preset--color--accent-800: #1e4d1e;
  --wp--preset--color--accent-900: #122e12;
}

/* =============================================================== *\
   Base Elements
\* =============================================================== */
body {
  background-color: #fffbd3;
  background-color: var(--wp--preset--color--theme-200);
  color: var(--wp--preset--color--neutral-700);
}

/* =============================================================== *\
   Layout
\* =============================================================== */
.wp-site-blocks header .row_01 {
  background-color: white;
}
.wp-site-blocks .entry-content {
  color: var(--wp--preset--color--neutral-700);
}
.wp-site-blocks footer {
  background: white;
}
.wp-site-blocks footer .row_info .stapel_partnerschaften {
  align-items: flex-start;
}

@media screen and (max-width: 800px) {
  body .menu_container {
    background-color: var(--wp--preset--color--theme-300);
  }
}

.is-style-unterseiten_columns {
  margin-top: 0vw;
}
.is-style-unterseiten_columns .column_additional_content > :first-child {
  margin-top: 0 !important;
}

.wp-block-ud-content-for-loop-block.is-content-type-childpage + .is-style-unterseiten_columns {
  margin-top: 5vw;
}

.is-style-unterseiten_columns + .is-style-unterseiten_columns {
  margin-top: 5vw;
}

/* =============================================================== *\
   Components
\* =============================================================== */
@media screen and (max-width: 1100px) {
  .wp-block-custom-breadcrumb {
    margin-top: 4rem;
  }
}
.ud-loop-list .wp-block-ud-content-for-loop-block {
  background-color: var(--wp--preset--color--theme-500);
}
.ud-loop-list .wp-block-ud-content-for-loop-block.is-content-type-childpage .childpage-loop-title {
  padding-top: 1rem;
}
.ud-loop-list .wp-block-ud-content-for-loop-block.is-content-type-childpage .childpage-loop-title a {
  color: var(--wp--preset--color--neutral-700);
}
.ud-loop-list .is-content-type-datetime-page .wp-block-ud-content-for-loop-block {
  background-color: white;
}

.wp-block-ud-content-for-loop-block.is-content-type-childpage .teaser-text-container,
.wp-block-ud-content-for-loop-block.is-content-type-ud_bildungsangebote .teaser-text-container,
.wp-block-ud-content-for-loop-block .teaser-text-container {
  font-size: 36px;
  font-weight: 600;
  padding-right: 36px;
}
@media screen and (max-width: 1100px) {
  .wp-block-ud-content-for-loop-block.is-content-type-childpage .teaser-text-container,
  .wp-block-ud-content-for-loop-block.is-content-type-ud_bildungsangebote .teaser-text-container,
  .wp-block-ud-content-for-loop-block .teaser-text-container {
    font-size: 24px;
  }
}

.wp-block-ud-accordion-block {
  background-color: var(--wp--preset--color--theme-500);
  background-color: var(--wp--preset--color--accent-300);
}

.wp-block-ud-link-block a {
  color: var(--wp--preset--color--neutral-700);
  align-items: center;
}

.filter-tag-button.is-active {
  box-shadow: 0 0 0 2px var(--wp--preset--color--accent-300);
}
@media (hover: hover) {
  .filter-tag-button:hover {
    background-color: var(--wp--preset--color--accent-300);
  }
}

.ud-accordion__content-inner .ud-personal-card.ud-layout-small {
  max-width: 100% !important;
  width: 100% !important;
  margin: 2px 0;
}

.is-highlighted__ud .wp-block-ud-content-for-loop-block {
  background-color: var(--wp--preset--color--accent-200);
}

.link-block-container {
  overflow-x: hidden;
}
.link-block-container .wp-block-ud-link-block {
  display: flex;
  overflow: hidden;
  padding: 5px;
}
.link-block-container .wp-block-ud-link-block a {
  background: var(--wp--preset--color--theme-500);
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 1rem;
  padding: 4px 10px;
  border-radius: 1rem;
}
.link-block-container .wp-block-ud-link-block a .ud-link-block__title {
  margin-bottom: 0;
}
.link-block-container .wp-block-ud-link-block a svg {
  width: 0.8rem;
  height: auto;
}

.lehrerteam_akkordion a::before {
  font-family: "Font Awesome 6 Sharp";
  font-weight: 900;
  content: "\f0e0"; /* fa-envelope */
  margin-right: 0.4em;
  display: inline-block;
}

p.is-style-teaser_text {
  --font-size: 2rem;
  --line-height: 2.4rem;
  --quotient_schriftgroesse: 1;
  --quotient_lineheight: 1;
  padding-right: 6rem;
  font-size: var(--font-size);
  line-height: var(--line-height);
  font-weight: 600;
}
@media screen and (max-width: 1100px) {
  p.is-style-teaser_text {
    padding-right: 0;
    --quotient_schriftgroesse: 0.75;
    --quotient_lineheight: 0.8;
    font-size: calc(var(--font-size) * var(--quotient_schriftgroesse));
    line-height: calc(var(--line-height) * var(--quotient_lineheight));
  }
}

.wp-block-media-text.is-style-ueber_uns {
  border-radius: var(--border-radius);
  margin-top: 3rem;
  overflow: hidden;
}
.wp-block-media-text.is-style-ueber_uns > .wp-block-media-text__content {
  padding: 2em 1.5em 1.5em;
}
@media screen and (max-width: 1200px) {
  .wp-block-media-text.is-style-ueber_uns > .wp-block-media-text__content {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 800px) {
  .wp-block-media-text.is-style-ueber_uns > .wp-block-media-text__content {
    padding: 1.25em;
    font-size: 1rem;
  }
}

/* =============================================================== *\
   Einzelne Seiten
\* =============================================================== */
.page-id-153 .entry-content a {
  text-decoration: underline;
}
.page-id-153 .entry-content .wp-block-ud-link-block a {
  border-radius: calc(var(--border-radius) * 2);
  width: fit-content;
  padding: 4px 14px;
  gap: 8px;
  margin-top: 0.5em;
  text-decoration: none;
  background-color: #00f3f3;
}
.page-id-153 .entry-content .wp-block-ud-link-block a:hover {
  background-color: #66ffff;
  gap: 12px;
}
.page-id-153 .entry-content .wp-block-ud-link-block a .ud-link-block__title {
  margin-top: 0.0125rem;
  font-weight: 500;
  transform: translateY(1px);
}
.page-id-153 .entry-content .wp-block-ud-link-block a .ud-link-block__link-icon {
  width: 16px;
}

.menu_container .sub_pages {
  width: auto;
}

.page-child .is-style-masonry-loop.wp-block-ud-loop-block .wp-block-ud-content-for-loop-block.is-content-type-childpage figure {
  margin-bottom: 0;
}
