/*
Theme Name: Schuldesign Modern Stable
Theme URI: https://example.com/schuldesign-modern/
Author: Schuldesign
Description: Eigenstaendiges WordPress-Theme fuer moderne Schulwebsites mit Farbpalette, Templates, Patterns und gebuendelten Plugin-ZIPs.
Version: 1.4.3
Requires at least: 6.4
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: schuldesign-modern
*/

:root {
  --hrs-green: #98c2a9;
  --hrs-green-dark: #79ab8c;
  --hrs-blue: #74cee4;
  --hrs-blue-dark: #54bad8;
  --hrs-red: #e35730;
  --hrs-red-soft: #c86969;
  --hrs-orange: #ec774b;
  --hrs-yellow: #edbf47;
  --hrs-yellow-dark: #e4a72d;
  --hrs-violet: #c389ce;
  --hrs-violet-dark: #ac7ab5;
  --hrs-ink: #313233;
  --hrs-muted: #686868;
  --hrs-paper: #fffdf8;
  --hrs-line: rgba(49, 50, 51, .14);
  --hrs-shadow: 0 24px 70px rgba(49, 50, 51, .16);
  --hrs-font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --hrs-logo-desktop-width: 352px;
  --hrs-logo-desktop-height: 75px;
  --hrs-logo-mobile-width: 264px;
  --hrs-logo-mobile-height: 57px;
  --hrs-menu-intro-2: "Aktuell\a Neuigkeiten, Anmeldung und schnelle Einstiege.";
  --hrs-menu-intro-3: "Die Schule\a Schulzentrum, Personen und Organisation.";
  --hrs-menu-intro-4: "Schulleben\a Angebote, Projekte, Fahrten und Aktivitaeten.";
  --hrs-menu-intro-5: "Profil\a Schwerpunkte, Auszeichnungen und Staerken.";
  --hrs-menu-intro-6: "Informationen\a Wichtiges fuer Eltern, Schueler und Besucher.";
  --hrs-menu-intro-size: 1.25rem;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--hrs-paper);
  font-family: var(--hrs-font-family);
}

a {
  color: var(--hrs-red);
  font-weight: 800;
  text-decoration: none;
}

a:hover,
a:focus-visible {
  color: var(--hrs-blue-dark);
}

.hrs-site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(255, 253, 248, .94);
  border-bottom: 1px solid var(--hrs-line);
  backdrop-filter: blur(18px);
  transition: box-shadow .18s ease, background .18s ease;
}

.hrs-topbar {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(152, 194, 169, .28), rgba(116, 206, 228, .24) 28%, rgba(237, 191, 71, .25) 56%, rgba(227, 87, 48, .14) 78%, rgba(195, 137, 206, .2)),
    #fff;
  border-bottom: 1px solid rgba(49, 50, 51, .08);
  color: var(--hrs-ink);
  display: flex;
  font-size: .78rem;
  font-weight: 750;
  justify-content: center;
  max-height: 46px;
  overflow: hidden;
  padding: .38rem 1rem;
  transition: max-height .18s ease, opacity .18s ease, padding .18s ease;
}

.hrs-topbar a {
  color: var(--hrs-ink);
  text-decoration: none;
}

.hrs-topbar-contact {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem 0;
  justify-content: center;
  text-align: center;
}

.hrs-topbar-contact > * {
  align-items: center;
  display: inline-flex;
  min-height: 26px;
  padding: .1rem .8rem;
  white-space: nowrap;
}

.hrs-topbar-contact > *:not(:last-child) {
  border-right: 1px solid rgba(49, 50, 51, .16);
}

.hrs-topbar-contact > *::before {
  background: var(--hrs-green-dark);
  border-radius: 50%;
  content: "";
  height: 7px;
  margin-right: .48rem;
  width: 7px;
}

.hrs-topbar-contact .hrs-topbar-email::before {
  background: var(--hrs-blue-dark);
}

.hrs-topbar-contact .hrs-topbar-address::before {
  background: var(--hrs-red);
}

.hrs-topbar-contact a:hover,
.hrs-topbar-contact a:focus-visible {
  color: var(--hrs-red);
}

.hrs-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  max-width: 1180px;
  margin: 0 auto;
  padding: 1.05rem 1.25rem;
  position: relative;
  transition: padding .18s ease;
}

.hrs-brand {
  display: flex;
  align-items: center;
  align-self: center;
  gap: .9rem;
  color: var(--hrs-ink);
  min-width: 0;
  padding: .35rem .55rem;
  text-decoration: none;
}

.hrs-brand img,
.hrs-brand-logo,
.hrs-brand .custom-logo {
  display: block;
  width: auto;
  max-width: min(var(--hrs-logo-desktop-width), 42vw);
  height: auto;
  max-height: var(--hrs-logo-desktop-height);
  object-fit: contain;
  transition: max-height .18s ease, max-width .18s ease;
}

.hrs-header-compact .hrs-site-header {
  background: rgba(255, 253, 248, .97);
  box-shadow: 0 10px 32px rgba(49, 50, 51, .12);
}

.hrs-header-compact .hrs-topbar {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-block: 0;
}

.hrs-header-compact .hrs-nav {
  padding-block: .38rem;
}

.hrs-header-compact .hrs-brand img,
.hrs-header-compact .hrs-brand-logo,
.hrs-header-compact .hrs-brand .custom-logo {
  max-height: 48px;
  max-width: min(250px, 34vw);
}

.hrs-header-compact .hrs-wp-menu > .menu-item > a,
.hrs-header-compact #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
.hrs-header-compact .hrs-nav-links a,
.hrs-header-compact .hrs-menu-item > summary {
  padding-block: .5rem;
}

.hrs-brand span {
  min-width: 0;
}

.hrs-brand strong,
.hrs-brand small {
  display: block;
}

.hrs-brand small {
  color: var(--hrs-muted);
  font-size: .83rem;
}

.hrs-nav-links {
  display: flex;
  align-items: center;
  gap: .35rem;
}

.hrs-nav-links a,
.hrs-menu-item > summary {
  background: rgba(152, 194, 169, .18);
  border: 1px solid rgba(121, 171, 140, .28);
  border-radius: 999px;
  color: var(--hrs-ink);
  cursor: pointer;
  display: block;
  font-weight: 850;
  list-style: none;
  padding: .68rem .9rem;
  text-decoration: none;
}

.hrs-nav-links > :nth-child(2) > summary,
.hrs-nav-links > :nth-child(2) > a,
.hrs-wp-menu > .menu-item:nth-child(2) > a {
  background: rgba(116, 206, 228, .2);
  border-color: rgba(84, 186, 216, .32);
}

.hrs-nav-links > :nth-child(3) > summary,
.hrs-nav-links > :nth-child(3) > a,
.hrs-wp-menu > .menu-item:nth-child(3) > a {
  background: rgba(237, 191, 71, .24);
  border-color: rgba(228, 167, 45, .34);
}

.hrs-nav-links > :nth-child(4) > summary,
.hrs-nav-links > :nth-child(4) > a,
.hrs-wp-menu > .menu-item:nth-child(4) > a {
  background: rgba(227, 87, 48, .14);
  border-color: rgba(227, 87, 48, .3);
}

.hrs-nav-links > :nth-child(5) > summary,
.hrs-nav-links > :nth-child(5) > a,
.hrs-wp-menu > .menu-item:nth-child(5) > a {
  background: rgba(195, 137, 206, .2);
  border-color: rgba(172, 122, 181, .32);
}

.hrs-nav-links > :nth-child(6) > summary,
.hrs-nav-links > :nth-child(6) > a,
.hrs-wp-menu > .menu-item:nth-child(6) > a {
  background: rgba(236, 119, 75, .16);
  border-color: rgba(236, 119, 75, .3);
}

.hrs-menu-item > summary::-webkit-details-marker {
  display: none;
}

.hrs-menu-item > summary::after {
  content: "";
  border: solid currentColor;
  border-width: 0 2px 2px 0;
  display: inline-block;
  margin-left: .45rem;
  padding: 3px;
  transform: rotate(45deg) translateY(-2px);
}

.hrs-nav-links a:hover,
.hrs-menu-item:hover > summary,
.hrs-menu-item[open] > summary {
  background: var(--hrs-ink);
  border-color: var(--hrs-ink);
  color: #fff;
}

.hrs-mega-nav > .hrs-menu-item:nth-child(2) .hrs-mega-intro,
.hrs-wp-menu > .menu-item:nth-child(2) .sub-menu {
  border-top: 6px solid var(--hrs-blue-dark);
}

.hrs-mega-nav > .hrs-menu-item:nth-child(3) .hrs-mega-intro,
.hrs-wp-menu > .menu-item:nth-child(3) .sub-menu {
  border-top: 6px solid var(--hrs-yellow);
}

.hrs-mega-nav > .hrs-menu-item:nth-child(4) .hrs-mega-intro,
.hrs-wp-menu > .menu-item:nth-child(4) .sub-menu {
  border-top: 6px solid var(--hrs-red);
}

.hrs-mega-nav > .hrs-menu-item:nth-child(5) .hrs-mega-intro,
.hrs-wp-menu > .menu-item:nth-child(5) .sub-menu {
  border-top: 6px solid var(--hrs-violet);
}

.hrs-mega-nav > .hrs-menu-item:nth-child(6) .hrs-mega-intro,
.hrs-wp-menu > .menu-item:nth-child(6) .sub-menu {
  border-top: 6px solid var(--hrs-orange);
}

.hrs-mega-links a:nth-child(4n+1),
.hrs-wp-menu .sub-menu li:nth-child(4n+1) a {
  background: rgba(152, 194, 169, .13);
}

.hrs-mega-links a:nth-child(4n+2),
.hrs-wp-menu .sub-menu li:nth-child(4n+2) a {
  background: rgba(116, 206, 228, .13);
}

.hrs-mega-links a:nth-child(4n+3),
.hrs-wp-menu .sub-menu li:nth-child(4n+3) a {
  background: rgba(237, 191, 71, .16);
}

.hrs-mega-links a:nth-child(4n+4),
.hrs-wp-menu .sub-menu li:nth-child(4n+4) a {
  background: rgba(195, 137, 206, .13);
}

.hrs-mega-links a:hover,
.hrs-wp-menu .sub-menu a:hover {
  border-color: var(--hrs-red);
  color: var(--hrs-ink);
}

.hrs-menu-toggle,
.hrs-menu-button {
  display: none;
}

.hrs-menu-item {
  position: static;
}

.hrs-mega-panel {
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: var(--hrs-shadow);
  display: none;
  gap: 1.2rem;
  grid-template-columns: 260px minmax(0, 1fr);
  left: 50%;
  max-width: min(1040px, calc(100vw - 2.5rem));
  padding: 1.1rem;
  position: absolute;
  top: calc(100% - .6rem);
  transform: translateX(-50%);
  width: 100%;
  z-index: 30;
}

.hrs-menu-item:hover .hrs-mega-panel,
.hrs-menu-item:focus-within .hrs-mega-panel,
.hrs-menu-item[open] .hrs-mega-panel {
  display: grid;
}

.hrs-mega-intro {
  background: var(--hrs-ink);
  border-radius: 8px;
  color: #fff;
  padding: 1.1rem;
}

.hrs-mega-intro strong {
  display: block;
  font-size: 1.25rem;
  line-height: 1.1;
  margin-bottom: .55rem;
}

.hrs-mega-intro p {
  color: rgba(255, 255, 255, .78);
  margin: 0;
}

.hrs-mega-links {
  display: grid;
  gap: .7rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hrs-mega-links a {
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  color: var(--hrs-ink);
  padding: .85rem;
}

.hrs-mega-links a:hover {
  background: rgba(152, 194, 169, .14);
}

.hrs-mega-links span,
.hrs-mega-links small {
  display: block;
}

.hrs-mega-links span {
  font-weight: 850;
}

.hrs-mega-links small {
  color: var(--hrs-muted);
  font-size: .82rem;
  line-height: 1.35;
  margin-top: .2rem;
}

.hrs-wp-menu {
  align-items: center;
  display: flex;
  gap: .35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hrs-wp-menu .menu-item {
  position: relative;
}

.hrs-wp-menu > .menu-item > a {
  background: rgba(152, 194, 169, .18);
  border: 1px solid rgba(121, 171, 140, .28);
  border-radius: 999px;
  color: var(--hrs-ink);
  display: block;
  font-weight: 850;
  padding: .68rem .9rem;
  text-decoration: none;
}

.hrs-wp-menu > .menu-item:hover > a,
.hrs-wp-menu > .current-menu-item > a,
.hrs-wp-menu > .current-menu-ancestor > a {
  background: var(--hrs-ink);
  border-color: var(--hrs-ink);
  color: #fff;
}

.hrs-wp-menu .sub-menu {
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: var(--hrs-shadow);
  display: none;
  gap: 1.1rem;
  grid-auto-flow: row;
  align-items: start;
  grid-auto-rows: auto;
  grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(0, 1.5fr));
  left: 50vw;
  list-style: none;
  margin: 0;
  max-width: min(1040px, calc(100vw - 2.5rem));
  padding: 1rem;
  position: fixed;
  top: 138px;
  transform: translateX(-50%);
  width: min(1040px, calc(100vw - 3rem));
  z-index: 40;
}

.hrs-wp-menu .sub-menu::after,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu::after {
  content: "";
  height: 34px;
  left: 0;
  position: absolute;
  right: 0;
  top: -34px;
}

.hrs-wp-menu .menu-item:hover > .sub-menu,
.hrs-wp-menu .menu-item:focus-within > .sub-menu,
.hrs-wp-menu .menu-item.hrs-submenu-hold > .sub-menu {
  display: grid;
}

.hrs-wp-menu > .menu-item > .sub-menu::before {
  background: var(--hrs-ink);
  border-radius: 8px;
  border-top: 6px solid var(--hrs-blue-dark);
  color: #fff;
  content: var(--hrs-menu-intro-2, "Menue\a Kurzeinstiege und wichtige Seiten im Ueberblick.");
  display: block;
  font-size: var(--hrs-menu-intro-size);
  font-weight: 850;
  grid-column: 1;
  grid-row: 1 / span 3;
  line-height: 1.2;
  min-height: 128px;
  padding: 1.2rem;
  white-space: pre-line;
}

.hrs-wp-menu > .menu-item:nth-child(2) > .sub-menu::before {
  border-top-color: var(--hrs-blue-dark);
  content: var(--hrs-menu-intro-2);
}

.hrs-wp-menu > .menu-item:nth-child(3) > .sub-menu::before {
  border-top-color: var(--hrs-yellow);
  content: var(--hrs-menu-intro-3);
}

.hrs-wp-menu > .menu-item:nth-child(4) > .sub-menu::before {
  border-top-color: var(--hrs-red);
  content: var(--hrs-menu-intro-4);
}

.hrs-wp-menu > .menu-item:nth-child(5) > .sub-menu::before {
  border-top-color: var(--hrs-violet);
  content: var(--hrs-menu-intro-5);
}

.hrs-wp-menu > .menu-item:nth-child(6) > .sub-menu::before {
  border-top-color: var(--hrs-orange);
  content: var(--hrs-menu-intro-6);
}

.hrs-wp-menu .sub-menu a {
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  color: var(--hrs-ink);
  display: block;
  font-weight: 850;
  padding: .85rem;
  text-decoration: none;
}

.hrs-wp-menu .sub-menu a:hover {
  background: rgba(152, 194, 169, .14);
}

.hrs-wp-menu > .menu-item > .sub-menu:has(.hrs-menu-intro-card)::before,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu:has(.hrs-menu-intro-card)::before {
  content: none;
  display: none;
}

.hrs-wp-menu .sub-menu .hrs-menu-intro-card,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card {
  align-self: start;
  grid-column: 1;
  grid-row: 1 / span 3;
  min-width: 0;
}

.hrs-wp-menu .sub-menu > li:not(.hrs-menu-intro-card),
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item:not(.hrs-menu-intro-card) {
  grid-column: auto / span 1;
  min-width: 0;
}

.hrs-wp-menu .sub-menu .hrs-menu-intro-card > a,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card > a.mega-menu-link {
  background: var(--hrs-ink) !important;
  border: 0 !important;
  border-radius: 8px !important;
  border-top: 6px solid var(--hrs-blue-dark) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column;
  font-size: var(--hrs-menu-intro-size);
  font-weight: 850 !important;
  height: auto !important;
  justify-content: flex-start;
  line-height: 1.2 !important;
  min-height: 0;
  padding: 1.2rem !important;
}

.hrs-wp-menu .sub-menu .hrs-menu-intro-card > a::after,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card > a.mega-menu-link::after {
  background: var(--hrs-blue-dark);
  border-radius: 999px;
  content: "";
  display: block;
  height: 8px;
  margin-top: auto;
  width: 62px;
}

.hrs-wp-menu > .menu-item:nth-child(3) .hrs-menu-intro-card > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(3) li.hrs-menu-intro-card > a.mega-menu-link {
  border-top-color: var(--hrs-yellow) !important;
}

.hrs-wp-menu > .menu-item:nth-child(4) .hrs-menu-intro-card > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(4) li.hrs-menu-intro-card > a.mega-menu-link {
  border-top-color: var(--hrs-red) !important;
}

.hrs-wp-menu > .menu-item:nth-child(5) .hrs-menu-intro-card > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(5) li.hrs-menu-intro-card > a.mega-menu-link {
  border-top-color: var(--hrs-violet) !important;
}

.hrs-wp-menu > .menu-item:nth-child(6) .hrs-menu-intro-card > a,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(6) li.hrs-menu-intro-card > a.mega-menu-link {
  border-top-color: var(--hrs-orange) !important;
}

.hrs-wp-menu .sub-menu .hrs-menu-intro-card > a .menu-item-description,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card > a.mega-menu-link .menu-item-description,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card > a.mega-menu-link .mega-description,
#mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card > a.mega-menu-link small {
  color: rgba(255, 255, 255, .88) !important;
  display: block;
  font-size: .98rem !important;
  font-weight: 800 !important;
  line-height: 1.22;
  margin-top: .35rem;
}

#mega-menu-wrap-primary {
  background: transparent;
  position: static !important;
}

#mega-menu-wrap-primary #mega-menu-primary {
  align-items: center;
  background: transparent;
  display: flex;
  gap: .35rem;
  position: static !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
  background: rgba(152, 194, 169, .18);
  border: 1px solid rgba(121, 171, 140, .28);
  border-radius: 999px;
  color: var(--hrs-ink);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 850;
  height: auto;
  line-height: 1.2;
  padding: .68rem .9rem;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(2) > a.mega-menu-link {
  background: rgba(116, 206, 228, .2);
  border-color: rgba(84, 186, 216, .32);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(3) > a.mega-menu-link {
  background: rgba(237, 191, 71, .24);
  border-color: rgba(228, 167, 45, .34);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(4) > a.mega-menu-link {
  background: rgba(227, 87, 48, .14);
  border-color: rgba(227, 87, 48, .3);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(5) > a.mega-menu-link {
  background: rgba(195, 137, 206, .2);
  border-color: rgba(172, 122, 181, .32);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(6) > a.mega-menu-link {
  background: rgba(236, 119, 75, .16);
  border-color: rgba(236, 119, 75, .3);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover {
  background: var(--hrs-ink);
  border-color: var(--hrs-ink);
  color: #fff;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: var(--hrs-shadow);
  display: grid !important;
  gap: 1.1rem;
  grid-auto-flow: row;
  align-items: start;
  grid-auto-rows: auto;
  grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(0, 1.5fr));
  margin-top: .4rem;
  padding: 1rem;
  width: min(1080px, calc(100vw - 3rem)) !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
  position: static !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
  left: 50vw !important;
  position: fixed !important;
  right: auto !important;
  top: 138px !important;
  transform: translateX(-50%) !important;
}

.hrs-header-compact .hrs-wp-menu .sub-menu,
.hrs-header-compact #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
  top: 76px !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.hrs-submenu-hold > ul.mega-sub-menu {
  display: grid !important;
  opacity: 1 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu::before {
  background: var(--hrs-ink);
  border-radius: 8px;
  border-top: 6px solid var(--hrs-blue-dark);
  color: #fff;
  content: var(--hrs-menu-intro-2, "Menue\a Kurzeinstiege und wichtige Seiten im Ueberblick.");
  display: block;
  font-size: var(--hrs-menu-intro-size);
  font-weight: 850;
  grid-column: 1;
  grid-row: 1 / span 3;
  line-height: 1.2;
  min-height: 128px;
  padding: 1.2rem;
  white-space: pre-line;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(2) > ul.mega-sub-menu::before {
  border-top-color: var(--hrs-blue-dark);
  content: var(--hrs-menu-intro-2);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(3) > ul.mega-sub-menu::before {
  border-top-color: var(--hrs-yellow);
  content: var(--hrs-menu-intro-3);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(4) > ul.mega-sub-menu::before {
  border-top-color: var(--hrs-red);
  content: var(--hrs-menu-intro-4);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(5) > ul.mega-sub-menu::before {
  border-top-color: var(--hrs-violet);
  content: var(--hrs-menu-intro-5);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(6) > ul.mega-sub-menu::before {
  border-top-color: var(--hrs-orange);
  content: var(--hrs-menu-intro-6);
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-item {
  margin: 0 !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
  background: rgba(152, 194, 169, .13);
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  color: var(--hrs-ink);
  display: block;
  font-family: inherit;
  font-weight: 850;
  height: auto;
  line-height: 1.25 !important;
  margin: 0 !important;
  min-height: 76px;
  padding: .85rem !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item > a.mega-menu-link .mega-description,
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item > a.mega-menu-link small {
  color: var(--hrs-muted);
  display: block;
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.35;
  margin-top: .25rem;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item:nth-child(4n+2) > a.mega-menu-link {
  background: rgba(116, 206, 228, .13);
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item:nth-child(4n+3) > a.mega-menu-link {
  background: rgba(237, 191, 71, .16);
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item:nth-child(4n+4) > a.mega-menu-link {
  background: rgba(195, 137, 206, .13);
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item > a.mega-menu-link:hover {
  background: rgba(152, 194, 169, .14);
  color: var(--hrs-ink);
}

.hrs-wide {
  width: min(1180px, calc(100% - 2.5rem));
  margin-inline: auto;
}

.hrs-section {
  margin-block: clamp(3.5rem, 7vw, 6rem);
}

.hrs-eyebrow {
  color: var(--hrs-red);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hrs-button .wp-block-button__link,
.wp-block-button.hrs-button .wp-block-button__link {
  border-radius: 6px;
  font-weight: 850;
  min-height: 46px;
  padding: .85rem 1.15rem;
}

.wp-block-button.hrs-button-primary .wp-block-button__link {
  background: var(--hrs-red);
  color: #fff;
}

.wp-block-button.hrs-button-light .wp-block-button__link {
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
}

.hrs-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.2rem;
}

.hrs-action-primary,
.hrs-action-light {
  align-items: center;
  border-radius: 6px;
  display: inline-flex;
  font-weight: 850;
  justify-content: center;
  min-height: 46px;
  padding: .85rem 1.15rem;
  text-decoration: none;
}

.hrs-action-primary {
  background: var(--hrs-red);
  color: #fff;
}

.hrs-action-light {
  background: rgba(255, 255, 255, .15);
  border: 1px solid rgba(255, 255, 255, .5);
  color: #fff;
}

.hrs-hero,
.hrs-subpage-hero {
  min-height: 410px;
  display: grid;
  align-items: end;
  color: #fff;
  margin-top: 0;
  overflow: hidden;
  position: relative;
}

.hrs-hero::before,
.hrs-subpage-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(49, 50, 51, .88), rgba(49, 50, 51, .55) 46%, rgba(49, 50, 51, .18)),
    var(--hrs-hero-image, url("assets/schule-hero.jpg")) center/cover;
}

.hrs-hero > .wp-block-group,
.hrs-subpage-hero > .hrs-wide {
  position: relative;
  width: min(1180px, calc(100% - 2.5rem));
  margin-inline: auto;
  padding-block: 0 3.4rem;
}

.hrs-hero .hrs-eyebrow,
.hrs-subpage-hero .hrs-eyebrow {
  color: var(--hrs-yellow);
}

.hrs-hero h1,
.hrs-subpage-hero h1 {
  max-width: 820px;
  font-size: clamp(2.35rem, 5.5vw, 4rem);
  line-height: 1.02;
}

.hrs-hero p:not(.hrs-eyebrow),
.hrs-subpage-hero p:not(.hrs-eyebrow) {
  max-width: 650px;
  color: rgba(255, 255, 255, .88);
  font-size: 1.15rem;
}

.hrs-hero-instagram {
  align-items: center;
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .42);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  gap: .85rem;
  margin-top: 1.25rem;
  overflow: hidden;
  padding: .72rem 1rem;
  position: relative;
}

.hrs-hero-instagram::before {
  background: linear-gradient(90deg, var(--hrs-violet), var(--hrs-red), var(--hrs-yellow), var(--hrs-blue));
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.hrs-hero-instagram:hover,
.hrs-hero-instagram:focus-visible {
  background: #fff;
  color: var(--hrs-ink);
  transform: translateY(-2px);
}

.hrs-hero-instagram small,
.hrs-hero-instagram strong {
  display: block;
}

.hrs-hero-instagram small {
  color: inherit;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .08em;
  opacity: .78;
  text-transform: uppercase;
}

.hrs-hero-instagram strong {
  color: inherit;
  font-size: 1rem;
  margin-top: .12rem;
}

.hrs-instagram-mark {
  border: 2px solid currentColor;
  border-radius: 7px;
  display: grid;
  flex: 0 0 auto;
  height: 30px;
  place-items: center;
  position: relative;
  width: 30px;
}

.hrs-instagram-mark::after {
  background: currentColor;
  border-radius: 50%;
  content: "";
  height: 4px;
  position: absolute;
  right: 4px;
  top: 4px;
  width: 4px;
}

.hrs-instagram-mark span {
  border: 2px solid currentColor;
  border-radius: 50%;
  height: 12px;
  width: 12px;
}

.hrs-enrollment-notice {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(152, 194, 169, .2), rgba(116, 206, 228, .15) 42%, rgba(237, 191, 71, .16)),
    #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgba(49, 50, 51, .07);
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 1.75rem;
  padding: .78rem .9rem;
}

.hrs-enrollment-notice-copy {
  align-items: center;
  display: flex;
  gap: .85rem;
  min-width: 0;
}

.hrs-enrollment-signal {
  background: linear-gradient(180deg, var(--hrs-green-dark), var(--hrs-blue-dark), var(--hrs-yellow), var(--hrs-red));
  border-radius: 999px;
  flex: 0 0 auto;
  height: 44px;
  width: 6px;
}

.hrs-enrollment-notice .hrs-eyebrow {
  font-size: .66rem;
  margin: 0 0 .08rem;
}

.hrs-enrollment-notice strong {
  color: var(--hrs-ink);
  display: inline;
  font-size: .98rem;
}

.hrs-enrollment-notice p:not(.hrs-eyebrow) {
  color: var(--hrs-muted);
  display: inline;
  font-size: .88rem;
  margin: 0 0 0 .4rem;
}

.hrs-enrollment-notice > a {
  border-bottom: 2px solid var(--hrs-red);
  color: var(--hrs-ink);
  font-size: .86rem;
  padding: .35rem .15rem;
  white-space: nowrap;
}

.hrs-enrollment-notice > a:hover,
.hrs-enrollment-notice > a:focus-visible {
  border-color: var(--hrs-blue-dark);
  color: var(--hrs-red);
}

.hrs-enrollment-notice + .hrs-section {
  margin-top: 1.4rem;
}

.hrs-quick-access {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: min(1180px, calc(100% - 2.5rem));
  margin: -1.8rem auto 0;
  position: relative;
  z-index: 2;
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: var(--hrs-shadow);
  overflow: hidden;
}

.hrs-access-item {
  color: var(--hrs-ink);
  min-height: 62px;
  padding: .72rem 1rem;
  border-right: 1px solid var(--hrs-line);
  border-top: 5px solid var(--hrs-green);
  text-decoration: none;
}

.hrs-access-item span {
  color: var(--hrs-muted);
  display: block;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hrs-access-item strong {
  display: block;
  font-size: 1.12rem;
  line-height: 1.1;
  margin-top: .15rem;
}

.hrs-access-item:nth-child(2) { border-top-color: var(--hrs-blue); }
.hrs-access-item:nth-child(3) { border-top-color: var(--hrs-orange); }
.hrs-access-item:nth-child(4) {
  border-top-color: var(--hrs-violet);
  border-right: 0;
}

.hrs-card {
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(49, 50, 51, .08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.hrs-card img {
  aspect-ratio: 16 / 10;
  display: block;
  object-fit: cover;
  width: 100%;
}

.hrs-card-image {
  display: block;
  overflow: hidden;
}

.hrs-card-image-fallback {
  align-items: flex-start;
  aspect-ratio: 16 / 10;
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .92), rgba(116, 206, 228, .62) 48%, rgba(237, 191, 71, .62)),
    #fff;
  color: var(--hrs-ink);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 0;
  padding: 1.15rem;
}

.hrs-card-image-fallback span {
  color: var(--hrs-red);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hrs-card-image-fallback strong {
  color: var(--hrs-ink);
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.08;
  margin-top: .35rem;
}

.hrs-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem 1.1rem 1.2rem;
}

.hrs-card-body h3 a {
  color: var(--hrs-ink);
}

.hrs-card-body h3 {
  font-size: 1.18rem;
  line-height: 1.18;
  margin: .45rem 0 .65rem;
}

.hrs-card-body p:not(.hrs-card-date) {
  color: var(--hrs-muted);
  margin-top: 0;
}

.hrs-card-date {
  color: var(--hrs-red-soft);
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hrs-read-more {
  align-items: center;
  background: var(--hrs-red);
  border-radius: 6px;
  color: #fff;
  display: inline-flex;
  font-size: .92rem;
  font-weight: 850;
  margin-top: auto;
  min-height: 40px;
  padding: .62rem .85rem;
  width: fit-content;
}

.hrs-read-more:hover,
.hrs-read-more:focus-visible {
  background: var(--hrs-blue-dark);
  color: #fff;
}

.hrs-subpage-content .hrs-read-more,
.hrs-subpage-content .hrs-read-more:hover,
.hrs-subpage-content .hrs-read-more:focus-visible {
  color: #fff;
}

.hrs-section-heading {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(152, 194, 169, .16), rgba(116, 206, 228, .13) 32%, rgba(237, 191, 71, .15) 68%, rgba(227, 87, 48, .08)),
    #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  box-shadow: 0 16px 42px rgba(49, 50, 51, .06);
  display: flex;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  display: grid;
  margin-bottom: 1rem;
  min-height: 54px;
  padding: .48rem .62rem .5rem .85rem;
  position: relative;
}

.hrs-section-heading::after {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red), var(--hrs-violet));
  border-radius: 999px;
  bottom: -5px;
  content: "";
  height: 5px;
  left: 1rem;
  position: absolute;
  right: 1rem;
}

.hrs-section-heading h2 {
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  justify-self: start;
  margin: 0;
  text-align: left;
}

.hrs-section-heading > a {
  align-items: center;
  background: rgba(227, 87, 48, .12);
  border: 1px solid rgba(227, 87, 48, .22);
  border-radius: 6px;
  color: var(--hrs-red);
  display: inline-flex;
  justify-self: end;
  font-size: .8rem;
  min-height: 32px;
  padding: .38rem .55rem;
}

.hrs-section-heading > a:hover,
.hrs-section-heading > a:focus-visible {
  background: var(--hrs-blue-dark);
  color: #fff;
}

.hrs-news-grid,
.hrs-profile-grid {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hrs-profile-grid {
  grid-template-columns: repeat(4, 1fr);
}

.hrs-news-card {
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .18), rgba(255, 255, 255, .94) 58%),
    #fff;
  border-color: rgba(121, 171, 140, .28);
}

.hrs-news-card:nth-child(2) {
  background:
    linear-gradient(135deg, rgba(116, 206, 228, .18), rgba(255, 255, 255, .94) 58%),
    #fff;
}

.hrs-news-card:nth-child(3) {
  background:
    linear-gradient(135deg, rgba(237, 191, 71, .22), rgba(255, 255, 255, .94) 58%),
    #fff;
}

.hrs-split {
  display: grid;
  gap: 1.2rem;
  grid-template-columns: minmax(0, 1fr) 440px;
}

.hrs-anmeldung {
  background: var(--hrs-green);
  border-radius: 8px;
  color: #123326;
  padding: clamp(1.4rem, 4vw, 3rem);
}

.hrs-anmeldung .hrs-eyebrow {
  color: #123326;
}

.hrs-info-panel {
  background: var(--hrs-ink);
  border-radius: 8px;
  color: #fff;
  padding: 2rem;
}

.hrs-image-strip {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hrs-school-intro {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(152, 194, 169, .15), rgba(116, 206, 228, .11) 55%, rgba(237, 191, 71, .13)),
    #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px 8px 0 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: 8px minmax(0, 1fr);
  margin-top: 1rem;
  padding: 1.15rem 1.3rem;
}

.hrs-school-intro > span {
  align-self: stretch;
  background: linear-gradient(180deg, var(--hrs-green-dark), var(--hrs-blue-dark), var(--hrs-yellow), var(--hrs-red));
  border-radius: 999px;
  min-height: 54px;
}

.hrs-school-intro p {
  color: var(--hrs-ink);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  font-weight: 750;
  line-height: 1.55;
  margin: 0;
  max-width: 880px;
}

.hrs-school-intro + .hrs-image-strip {
  background: rgba(255, 255, 255, .74);
  border: 1px solid var(--hrs-line);
  border-radius: 0 0 8px 8px;
  border-top: 0;
  padding: 1rem;
}

.hrs-image-strip img {
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hrs-centered {
  text-align: center;
}

.hrs-profile-card {
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .28), rgba(255, 255, 255, .88) 64%),
    #fff;
  border: 1px solid rgba(121, 171, 140, .32);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(49, 50, 51, .08);
  min-height: 230px;
  padding: 1.3rem;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}

.hrs-profile-card::before {
  content: "";
  display: block;
  width: 54px;
  height: 10px;
  border-radius: 999px;
  margin-bottom: 1.2rem;
  background: var(--hrs-green-dark);
}

.hrs-profile-card::after {
  background: rgba(121, 171, 140, .16);
  border-radius: 999px;
  content: "";
  height: 92px;
  position: absolute;
  right: -32px;
  top: -32px;
  width: 92px;
}

.hrs-profile-card h3,
.hrs-profile-card p,
.hrs-profile-card span {
  position: relative;
  z-index: 1;
}

.hrs-profile-card h3 {
  color: var(--hrs-ink);
  margin-top: 0;
}

.hrs-profile-card p {
  color: var(--hrs-ink);
}

.hrs-profile-card span {
  color: var(--hrs-red);
  display: inline-block;
  font-size: .9rem;
  font-weight: 850;
  margin-top: .45rem;
}

.hrs-profile-card.is-blue {
  background:
    linear-gradient(135deg, rgba(116, 206, 228, .32), rgba(255, 255, 255, .88) 64%),
    #fff;
  border-color: rgba(84, 186, 216, .34);
}

.hrs-profile-card.is-yellow {
  background:
    linear-gradient(135deg, rgba(237, 191, 71, .34), rgba(255, 255, 255, .9) 64%),
    #fff;
  border-color: rgba(228, 167, 45, .34);
}

.hrs-profile-card.is-red {
  background:
    linear-gradient(135deg, rgba(227, 87, 48, .22), rgba(255, 255, 255, .9) 64%),
    #fff;
  border-color: rgba(227, 87, 48, .3);
}

.hrs-profile-card.is-blue::before { background: var(--hrs-blue-dark); }
.hrs-profile-card.is-yellow::before { background: var(--hrs-yellow); }
.hrs-profile-card.is-red::before { background: var(--hrs-red); }
.hrs-profile-card.is-blue::after { background: rgba(84, 186, 216, .16); }
.hrs-profile-card.is-yellow::after { background: rgba(237, 191, 71, .18); }
.hrs-profile-card.is-red::after { background: rgba(227, 87, 48, .13); }

.hrs-service-band {
  align-items: center;
  background: var(--hrs-yellow);
  border-radius: 8px;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  padding: 2rem;
}

.hrs-service-band .hrs-eyebrow {
  color: #674600;
}

.hrs-service-button .wp-block-button__link {
  background: rgba(255, 255, 255, .62);
  border: 1px solid rgba(49, 50, 51, .14);
  border-radius: 6px;
  color: var(--hrs-ink);
  font-weight: 850;
}

.hrs-service-links {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  justify-content: flex-end;
}

.hrs-service-links a {
  background: rgba(255, 255, 255, .62);
  border: 1px solid rgba(49, 50, 51, .14);
  border-radius: 6px;
  color: var(--hrs-ink);
  font-weight: 850;
  padding: .75rem .95rem;
  text-decoration: none;
}

.hrs-section-lead {
  color: var(--hrs-muted);
  font-size: 1.12rem;
  max-width: 780px;
}

.hrs-doc-panel a {
  color: #fff;
}

.hrs-instagram-band {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(195, 137, 206, .22), rgba(237, 191, 71, .2) 42%, rgba(116, 206, 228, .18)),
    #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 420px;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.hrs-instagram-band p:not(.hrs-eyebrow) {
  color: var(--hrs-muted);
  max-width: 620px;
}

.hrs-insta-collage {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, 1fr);
  transform: rotate(-2deg);
}

.hrs-insta-collage span {
  align-items: end;
  aspect-ratio: 1;
  background: var(--hrs-green);
  border: 1px solid rgba(49, 50, 51, .1);
  border-radius: 8px;
  color: var(--hrs-ink);
  display: flex;
  font-weight: 850;
  padding: .9rem;
}

.hrs-insta-collage span:nth-child(2) {
  background: var(--hrs-blue);
}

.hrs-insta-collage span:nth-child(3) {
  background: var(--hrs-yellow);
}

.hrs-insta-collage span:nth-child(4) {
  background: var(--hrs-red);
  color: #fff;
}

.hrs-site-footer {
  align-items: flex-start;
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .95), rgba(116, 206, 228, .72) 34%, rgba(237, 191, 71, .8) 68%, rgba(195, 137, 206, .72)),
    #fff;
  border: 0;
  border-radius: 8px 8px 0 0;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: clamp(3rem, 6vw, 5.5rem);
  overflow: hidden;
  padding: 3rem 2rem;
  position: relative;
}

.hrs-site-footer::before,
.hrs-site-footer::after {
  border-radius: 999px;
  content: "";
  pointer-events: none;
  position: absolute;
}

.hrs-site-footer::before {
  background: var(--hrs-red);
  height: 18px;
  right: 2rem;
  top: 1.2rem;
  width: 92px;
}

.hrs-site-footer::after {
  background: var(--hrs-violet);
  bottom: 1.2rem;
  height: 12px;
  left: 2rem;
  width: 64px;
}

.hrs-site-footer > * {
  position: relative;
  z-index: 1;
}

.hrs-site-footer .hrs-eyebrow {
  color: #674600;
}

.hrs-footer-menu-list {
  display: grid;
  gap: .6rem;
  justify-items: stretch;
  list-style: none;
  margin: 0;
  min-width: 220px;
  padding: 0;
}

.hrs-footer-menu-list a {
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(49, 50, 51, .14);
  border-radius: 999px;
  color: var(--hrs-ink);
  display: block;
  font-weight: 850;
  padding: .65rem .85rem;
  text-align: center;
  text-decoration: none;
}

#mega-menu-wrap-footer,
#mega-menu-wrap-footer #mega-menu-footer {
  background: transparent;
}

#mega-menu-wrap-footer #mega-menu-footer {
  display: grid;
  gap: .6rem;
  list-style: none;
  margin: 0;
  min-width: 220px;
  padding: 0;
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item > a.mega-menu-link {
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(49, 50, 51, .14);
  border-radius: 999px;
  color: var(--hrs-ink);
  display: block;
  font-family: inherit;
  font-weight: 850;
  height: auto;
  line-height: 1.2;
  padding: .65rem .85rem;
  text-align: center;
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item:nth-child(1) > a.mega-menu-link {
  border-top: 4px solid var(--hrs-red);
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item:nth-child(2) > a.mega-menu-link {
  border-top: 4px solid var(--hrs-blue-dark);
}

#mega-menu-wrap-footer #mega-menu-footer > li.mega-menu-item:nth-child(3) > a.mega-menu-link {
  border-top: 4px solid var(--hrs-violet-dark);
}

.hrs-footer-menu-list li:nth-child(1) a {
  border-top: 4px solid var(--hrs-red);
}

.hrs-footer-menu-list li:nth-child(2) a {
  border-top: 4px solid var(--hrs-blue-dark);
}

.hrs-footer-menu-list li:nth-child(3) a {
  border-top: 4px solid var(--hrs-violet-dark);
}

.hrs-footer-cloud {
  max-width: 360px;
}

.hrs-word-cloud {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.hrs-word-cloud a {
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(49, 50, 51, .14);
  border-radius: 999px;
  color: var(--hrs-ink);
  display: inline-flex;
  font-weight: 850;
  padding: .55rem .8rem;
}

.hrs-word-cloud a:nth-child(2n) {
  background: rgba(255, 255, 255, .48);
  font-size: 1.08rem;
}

.hrs-word-cloud a:nth-child(3n) {
  color: var(--hrs-red);
}

.hrs-scroll-top {
  align-items: center;
  background: var(--hrs-ink);
  border: 3px solid #fff;
  border-radius: 999px;
  bottom: 1.2rem;
  box-shadow: 0 14px 36px rgba(49, 50, 51, .24);
  color: #fff;
  display: inline-flex;
  font-size: 1.4rem;
  height: 48px;
  justify-content: center;
  position: fixed;
  right: 1.2rem;
  width: 48px;
  z-index: 12;
}

.hrs-scroll-top:hover,
.hrs-scroll-top:focus-visible {
  background: var(--hrs-red);
  color: #fff;
}

.hrs-plugin-section {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}

.hrs-hero h1::after,
.hrs-subpage-hero h1::after {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red), var(--hrs-violet));
  border-radius: 999px;
  content: "";
  display: block;
  height: 8px;
  margin-top: 1rem;
  width: min(320px, 60vw);
}

.hrs-subpage-intro {
  color: rgba(255, 255, 255, .88);
  font-size: 1.15rem;
  max-width: 680px;
}

.hrs-breadcrumbs {
  color: rgba(255, 255, 255, .82);
  font-size: .9rem;
  margin-bottom: 1rem;
}

.hrs-breadcrumbs a {
  color: #fff;
}

.hrs-subpage-shell {
  align-items: start;
  display: grid;
  gap: 2rem;
  grid-template-columns: minmax(0, 1fr) 320px;
  margin-block: clamp(3rem, 6vw, 5.5rem);
}

.hrs-subpage-content {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .9)),
    #fff;
  border: 1px solid rgba(49, 50, 51, .1);
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(49, 50, 51, .08);
  padding: clamp(1.5rem, 4vw, 3rem);
}

.hrs-contact-page {
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .1), rgba(116, 206, 228, .07) 46%, rgba(237, 191, 71, .08)),
    #fff;
}

.hrs-contact-page .hrs-content-heading {
  margin-bottom: 1.4rem;
}

.hrs-contact-page .wpcf7,
.hrs-contact-page .wp-block-contact-form-7-contact-form-selector,
.hrs-contact-page [class*="contact-form"],
.hrs-contact-page form:not(.search-form):not(.comment-form) {
  box-sizing: border-box;
  max-width: 100%;
  width: 100%;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) {
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .18), rgba(116, 206, 228, .12) 52%, rgba(195, 137, 206, .1)),
    #fff;
  border: 1px solid rgba(49, 50, 51, .12);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(49, 50, 51, .08);
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  overflow: hidden;
  padding: clamp(1.2rem, 3vw, 2rem);
  position: relative;
}

.hrs-contact-page form:not(.search-form):not(.comment-form)::before {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red), var(--hrs-violet));
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) p {
  margin: 0;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) label {
  color: var(--hrs-ink);
  display: grid;
  font-size: .92rem;
  font-weight: 850;
  gap: .42rem;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hrs-contact-page form:not(.search-form):not(.comment-form) textarea,
.hrs-contact-page form:not(.search-form):not(.comment-form) select {
  appearance: none;
  background: rgba(255, 253, 248, .96) !important;
  border: 1px solid rgba(49, 50, 51, .16) !important;
  border-left: 5px solid var(--hrs-blue-dark) !important;
  border-radius: 6px !important;
  box-sizing: border-box;
  color: var(--hrs-ink);
  font: inherit;
  min-height: 50px;
  padding: .78rem .9rem !important;
  width: 100% !important;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) textarea {
  min-height: 190px;
  resize: vertical;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) input:focus,
.hrs-contact-page form:not(.search-form):not(.comment-form) textarea:focus,
.hrs-contact-page form:not(.search-form):not(.comment-form) select:focus {
  background: #fff !important;
  border-left-color: var(--hrs-red) !important;
  box-shadow: 0 0 0 4px rgba(116, 206, 228, .22);
  outline: 0;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) input[type="submit"],
.hrs-contact-page form:not(.search-form):not(.comment-form) button[type="submit"] {
  background: var(--hrs-red) !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  justify-self: start;
  min-height: 46px;
  padding: .75rem 1.2rem !important;
}

.hrs-contact-page form:not(.search-form):not(.comment-form) input[type="submit"]:hover,
.hrs-contact-page form:not(.search-form):not(.comment-form) button[type="submit"]:hover {
  background: var(--hrs-blue-dark) !important;
}

.hrs-subpage-content .wp-block-columns.hrs-section:has(.hrs-sidebar-links) {
  display: block;
}

.hrs-subpage-content .wp-block-column.hrs-plugin-section {
  flex-basis: auto !important;
  max-width: 100%;
}

.hrs-subpage-content .wp-block-column.hrs-info-panel:has(.hrs-sidebar-links),
.hrs-subpage-content .hrs-sidebar-links {
  display: none;
}

.hrs-subpage-content > *:first-child {
  margin-top: 0;
}

.hrs-content-heading {
  background:
    linear-gradient(90deg, rgba(152, 194, 169, .11), rgba(116, 206, 228, .08) 38%, rgba(237, 191, 71, .1)),
    #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  margin-bottom: clamp(1.1rem, 3vw, 1.8rem);
  padding: clamp(.9rem, 2.2vw, 1.25rem);
  position: relative;
}

.hrs-content-heading::after {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red), var(--hrs-violet));
  border-radius: 999px;
  bottom: -5px;
  content: "";
  height: 5px;
  left: 1rem;
  position: absolute;
  right: 1rem;
}

.hrs-content-heading h1 {
  color: var(--hrs-ink);
  font-size: clamp(1.2rem, 2.15vw, 1.55rem);
  line-height: 1.14;
  margin: .2rem 0 0;
}

.hrs-news-single .hrs-content-heading h1 {
  font-size: clamp(1.25rem, 2.25vw, 1.65rem);
  max-width: 760px;
}

.hrs-content-heading p:not(.hrs-eyebrow) {
  color: var(--hrs-muted);
  font-size: 1.08rem;
  margin-bottom: 0;
  max-width: 760px;
}

.hrs-subpage-content h2,
.hrs-subpage-content h3 {
  color: var(--hrs-ink);
  margin-top: 2rem;
  position: relative;
}

.hrs-subpage-content h2::after,
.hrs-subpage-content h3::after {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red));
  border-radius: 999px;
  content: "";
  display: block;
  height: 5px;
  margin-top: .55rem;
  width: 150px;
}

.hrs-subpage-content a {
  color: var(--hrs-red);
  font-weight: 800;
  text-decoration: none;
}

.hrs-subpage-content ul,
.hrs-subpage-content ol {
  padding-left: 1.15rem;
}

.hrs-subpage-content li {
  margin-block: .35rem;
}

.hrs-subpage-content blockquote {
  background: rgba(116, 206, 228, .14);
  border-left: 6px solid var(--hrs-blue-dark);
  border-radius: 8px;
  margin-inline: 0;
  padding: 1rem 1.2rem;
}

.hrs-editorial-page .hrs-import-intro {
  color: var(--hrs-ink);
  font-size: clamp(1.05rem, 1.6vw, 1.22rem);
  font-weight: 750;
  line-height: 1.55;
  margin-bottom: 1.4rem;
  max-width: 860px;
}

.hrs-editorial-grid,
.hrs-fact-grid,
.hrs-person-grid {
  display: grid;
  gap: 1rem;
  margin-block: 1.4rem;
}

.hrs-editorial-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hrs-fact-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hrs-person-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hrs-editorial-card,
.hrs-fact-grid > div,
.hrs-person-grid > .wp-block-group,
.hrs-callout {
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
}

.hrs-editorial-card,
.hrs-person-grid > .wp-block-group {
  background: rgba(152, 194, 169, .08);
  padding: 1.1rem;
}

.hrs-editorial-card:nth-child(2n),
.hrs-person-grid > .wp-block-group:nth-child(3n+2) {
  background: rgba(116, 206, 228, .1);
}

.hrs-editorial-card:nth-child(3n),
.hrs-person-grid > .wp-block-group:nth-child(3n) {
  background: rgba(237, 191, 71, .12);
}

.hrs-editorial-card.is-highlight {
  background: linear-gradient(135deg, rgba(152, 194, 169, .18), rgba(116, 206, 228, .15));
  border-left: 6px solid var(--hrs-green-dark);
}

.hrs-editorial-card h2,
.hrs-person-grid h2 {
  font-size: 1.1rem;
  margin-top: 0;
}

.hrs-editorial-card h2::after,
.hrs-person-grid h2::after {
  height: 4px;
  width: 96px;
}

.hrs-callout {
  background: linear-gradient(90deg, rgba(237, 191, 71, .18), rgba(227, 87, 48, .1));
  border-left: 6px solid var(--hrs-yellow);
  color: var(--hrs-ink);
  font-weight: 650;
  margin-block: 1.2rem;
  padding: 1rem 1.1rem;
}

.hrs-link-list {
  display: grid;
  gap: .65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 1rem 1.4rem;
}

.hrs-link-list a,
.hrs-link-list span,
.hrs-inline-button,
.hrs-inline-button-wrap .wp-block-button__link {
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  color: var(--hrs-ink);
  display: block;
  font-weight: 850;
  padding: .75rem .85rem;
  text-decoration: none;
}

.hrs-link-list p {
  margin: 0;
}

.hrs-link-list a:hover,
.hrs-inline-button:hover,
.hrs-inline-button-wrap .wp-block-button__link:hover {
  background: rgba(116, 206, 228, .14);
  color: var(--hrs-ink);
}

.hrs-link-list.is-muted p:nth-child(4n+1) span { border-left: 5px solid var(--hrs-green); }
.hrs-link-list.is-muted p:nth-child(4n+2) span { border-left: 5px solid var(--hrs-blue-dark); }
.hrs-link-list.is-muted p:nth-child(4n+3) span { border-left: 5px solid var(--hrs-yellow); }
.hrs-link-list.is-muted p:nth-child(4n+4) span { border-left: 5px solid var(--hrs-red); }

.hrs-inline-button,
.hrs-inline-button-wrap .wp-block-button__link {
  background: var(--hrs-red);
  border-color: var(--hrs-red);
  color: #fff !important;
  display: inline-flex;
}

.hrs-info-list {
  background: rgba(152, 194, 169, .1);
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
  padding: 1rem 1.1rem;
}

.hrs-info-list p {
  margin-block: .45rem;
}

.hrs-fact-grid > div {
  background: #fff;
  border-top: 5px solid var(--hrs-blue-dark);
  padding: .95rem;
}

.hrs-fact-grid > div:nth-child(2) { border-top-color: var(--hrs-yellow); }
.hrs-fact-grid > div:nth-child(3) { border-top-color: var(--hrs-red); }
.hrs-fact-grid > div:nth-child(4) { border-top-color: var(--hrs-violet); }

.hrs-fact-grid strong,
.hrs-fact-grid span {
  display: block;
}

.hrs-fact-grid strong {
  color: var(--hrs-ink);
  font-size: .86rem;
}

.hrs-fact-grid span {
  color: var(--hrs-muted);
  margin-top: .25rem;
}

.hrs-timetable th {
  background: rgba(152, 194, 169, .2);
  color: var(--hrs-ink);
  font-weight: 850;
}

.hrs-timetable td:first-child {
  font-weight: 850;
}

.hrs-subpage-content table {
  border-collapse: collapse;
  width: 100%;
}

.hrs-subpage-content th,
.hrs-subpage-content td {
  border-bottom: 1px solid var(--hrs-line);
  padding: .75rem;
  text-align: left;
}

.hrs-single-featured-image {
  margin: 0 0 1.5rem;
}

.hrs-single-featured-image img {
  border-radius: 8px;
  display: block;
  height: auto;
  max-height: 560px;
  object-fit: cover;
  width: 100%;
}

.hrs-news-meta,
.hrs-news-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: -.3rem 0 1rem;
}

.hrs-news-meta span,
.hrs-news-tags a {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--hrs-muted);
  font-size: .82rem;
  font-weight: 850;
  padding: 0;
}

.hrs-news-meta span:not(:last-child)::after {
  color: rgba(104, 104, 104, .55);
  content: "/";
  margin-left: .4rem;
}

.hrs-news-tags {
  border-top: 1px solid var(--hrs-line);
  margin-top: 2rem;
  padding-top: 1rem;
}

.hrs-page-news-overview {
  border-top: 1px solid var(--hrs-line);
  margin-top: clamp(2rem, 5vw, 3.5rem);
  padding-top: clamp(1.5rem, 4vw, 2.4rem);
}

.hrs-news-archive-grid {
  margin-top: 1.2rem;
}

.hrs-pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1.5rem;
}

.hrs-pagination .page-numbers {
  background: rgba(152, 194, 169, .16);
  border: 1px solid rgba(121, 171, 140, .24);
  border-radius: 6px;
  color: var(--hrs-ink);
  display: inline-flex;
  font-weight: 850;
  min-height: 38px;
  padding: .55rem .75rem;
}

.hrs-pagination .page-numbers.current {
  background: var(--hrs-ink);
  border-color: var(--hrs-ink);
  color: #fff;
}

.hrs-subpage-content .wp-block-button__link {
  background: var(--hrs-red);
  border-radius: 6px;
  color: #fff;
  font-weight: 850;
}

.hrs-import-intro {
  color: var(--hrs-muted);
  font-size: 1.12rem;
  max-width: 760px;
}

.hrs-sidebar-links {
  display: grid;
  gap: .65rem;
}

.hrs-sidebar-links a {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 6px;
  color: #fff;
  display: block;
  font-weight: 800;
  padding: .75rem .85rem;
  text-decoration: none;
}

.hrs-sidebar-links a:hover {
  background: var(--hrs-red);
}

.hrs-subpage-sidebar {
  background:
    linear-gradient(135deg, rgba(152, 194, 169, .92), rgba(116, 206, 228, .32) 48%, rgba(237, 191, 71, .34)),
    #fff;
  border: 1px solid rgba(121, 171, 140, .34);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(49, 50, 51, .1);
  color: var(--hrs-ink);
  padding: 1.3rem;
  position: sticky;
  top: 120px;
}

.hrs-subpage-sidebar h2 {
  font-size: 1.15rem;
  margin-top: 0;
}

.hrs-subpage-sidebar ul,
.hrs-subpage-sidebar .menu,
.hrs-quicklinks-menu {
  display: grid;
  gap: .65rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hrs-subpage-sidebar li {
  margin: 0;
}

.hrs-subpage-sidebar a,
.hrs-quicklinks-menu a {
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(49, 50, 51, .12);
  border-radius: 6px;
  color: var(--hrs-ink);
  display: block;
  font-weight: 850;
  padding: .75rem .85rem;
  text-decoration: none;
}

.hrs-subpage-sidebar a:hover,
.hrs-quicklinks-menu a:hover {
  background: var(--hrs-red);
  border-color: var(--hrs-red);
  color: #fff;
}

.hrs-subpage-sidebar li:nth-child(1) a,
.hrs-quicklinks-menu a:nth-child(1) {
  border-left: 5px solid var(--hrs-green-dark);
}

.hrs-subpage-sidebar li:nth-child(2) a,
.hrs-quicklinks-menu a:nth-child(2) {
  border-left: 5px solid var(--hrs-blue-dark);
}

.hrs-subpage-sidebar li:nth-child(3) a,
.hrs-quicklinks-menu a:nth-child(3) {
  border-left: 5px solid var(--hrs-yellow);
}

.hrs-subpage-sidebar li:nth-child(4) a,
.hrs-quicklinks-menu a:nth-child(4) {
  border-left: 5px solid var(--hrs-violet);
}

.hrs-subpage-sidebar li:nth-child(5) a,
.hrs-quicklinks-menu a:nth-child(5) {
  border-left: 5px solid var(--hrs-orange);
}

.tribe-events .tribe-events-c-search__button,
.tribe-common .tribe-common-c-btn,
.dlm-download-link,
.wpcf7-submit,
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
  background: var(--hrs-red) !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  cursor: pointer;
  font-weight: 850 !important;
  min-height: 44px;
  padding: .75rem 1rem !important;
}

.wpcf7-submit:hover,
.wpcf7-submit:focus-visible,
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 button[type="submit"]:hover,
.wpcf7 button[type="submit"]:focus-visible {
  background: var(--hrs-blue-dark) !important;
  color: #fff !important;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum,
.tribe-common a,
.dlm-download-title,
.tablepress caption {
  color: var(--hrs-red);
}

.tribe-events .tribe-events-calendar-list__event-row,
.dlm_download,
.wpcf7,
.wpcf7 form,
.hrs-subpage-content form.wpcf7-form,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector form,
.hrs-subpage-content > form:not(.search-form):not(.comment-form),
.tablepress {
  background: #fff;
  border: 1px solid var(--hrs-line);
  border-radius: 8px;
}

.dlm_download {
  margin-bottom: .8rem;
  padding: 1rem;
}

.wpcf7,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) {
  overflow: hidden;
  position: relative;
}

.wpcf7::before,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector::before,
.hrs-subpage-content > form:not(.search-form):not(.comment-form)::before {
  background: linear-gradient(90deg, var(--hrs-green), var(--hrs-blue), var(--hrs-yellow), var(--hrs-red), var(--hrs-violet));
  content: "";
  display: block;
  height: 5px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.wpcf7 form,
.wpcf7-form,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector form,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) {
  background:
    radial-gradient(circle at top right, rgba(237, 191, 71, .2), transparent 32%),
    linear-gradient(135deg, rgba(152, 194, 169, .16), rgba(116, 206, 228, .11) 48%, rgba(195, 137, 206, .1)),
    #fff;
  border: 0;
  box-shadow: 0 18px 44px rgba(49, 50, 51, .08);
  display: grid;
  gap: 1.05rem;
  max-width: 760px;
  padding: clamp(1.35rem, 3vw, 2.15rem);
}

.wpcf7 form p,
.wpcf7-form p,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector form p,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) p {
  margin: 0;
}

.wpcf7 .hrs-form-grid,
.wpcf7 .form-grid,
.wpcf7 .kontakt-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wpcf7 .wpcf7-form-control-wrap {
  display: block;
  margin-top: .35rem;
}

.wpcf7 input:not([type="submit"]),
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 textarea,
.wpcf7 .wpcf7-text,
.wpcf7 .wpcf7-email,
.wpcf7 .wpcf7-tel,
.wpcf7 .wpcf7-textarea,
.wpcf7 select,
.hrs-subpage-content form.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hrs-subpage-content form.wpcf7-form textarea,
.hrs-subpage-content form.wpcf7-form select,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector textarea,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector select,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.hrs-subpage-content > form:not(.search-form):not(.comment-form) textarea,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) select {
  background: rgba(255, 253, 248, .96) !important;
  border: 1px solid rgba(49, 50, 51, .16) !important;
  border-left: 5px solid var(--hrs-blue-dark) !important;
  border-radius: 6px;
  box-sizing: border-box;
  color: var(--hrs-ink);
  font: inherit;
  min-height: 48px;
  padding: .82rem .95rem !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
  width: 100% !important;
}

.wpcf7 textarea,
.wpcf7 .wpcf7-textarea,
.hrs-subpage-content form.wpcf7-form textarea,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector textarea,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) textarea {
  line-height: 1.55;
  min-height: 180px;
  resize: vertical;
}

.wpcf7 input:not([type="submit"]):focus,
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 textarea:focus,
.wpcf7 .wpcf7-text:focus,
.wpcf7 .wpcf7-email:focus,
.wpcf7 .wpcf7-tel:focus,
.wpcf7 .wpcf7-textarea:focus,
.wpcf7 select:focus,
.hrs-subpage-content form.wpcf7-form input:not([type="submit"]):focus,
.hrs-subpage-content form.wpcf7-form textarea:focus,
.hrs-subpage-content form.wpcf7-form select:focus,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector input:not([type="submit"]):focus,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector textarea:focus,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector select:focus,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) input:not([type="submit"]):focus,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) textarea:focus,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) select:focus {
  background: #fff !important;
  border-color: var(--hrs-blue-dark) !important;
  border-left-color: var(--hrs-red) !important;
  box-shadow: 0 0 0 4px rgba(116, 206, 228, .24);
  outline: none;
}

.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
  accent-color: var(--hrs-red);
  height: 1.05rem;
  margin-right: .35rem;
  width: 1.05rem;
}

.wpcf7 .wpcf7-list-item {
  margin: .25rem .85rem .25rem 0;
}

.wpcf7 .wpcf7-list-item-label {
  font-weight: 700;
}

.wpcf7 .wpcf7-not-valid-tip {
  color: var(--hrs-red);
  font-size: .9rem;
  font-weight: 800;
  margin-top: .25rem;
}

.wpcf7 form .wpcf7-response-output,
.wpcf7 .wpcf7-response-output {
  background: rgba(237, 191, 71, .16);
  border: 0;
  border-left: 6px solid var(--hrs-yellow);
  border-radius: 8px;
  color: var(--hrs-ink);
  font-weight: 800;
  margin: 1rem 0 0;
  padding: .85rem 1rem;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output {
  border-left-color: var(--hrs-green-dark);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
  border-left-color: var(--hrs-red);
}

.wpcf7 label,
.hrs-subpage-content form.wpcf7-form label,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector label,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) label {
  color: var(--hrs-ink);
  display: block;
  font-size: .96rem;
  font-weight: 850;
  line-height: 1.35;
}

.wpcf7 label > br,
.hrs-subpage-content form.wpcf7-form label > br,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector label > br,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) label > br {
  display: none;
}

.wpcf7 ::placeholder,
.hrs-subpage-content form.wpcf7-form ::placeholder,
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector ::placeholder,
.hrs-subpage-content > form:not(.search-form):not(.comment-form) ::placeholder {
  color: rgba(104, 104, 104, .74);
  opacity: 1;
}

.wpcf7-submit,
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
.hrs-subpage-content form.wpcf7-form input[type="submit"],
.hrs-subpage-content .wp-block-contact-form-7-contact-form-selector input[type="submit"],
.hrs-subpage-content > form:not(.search-form):not(.comment-form) input[type="submit"],
.hrs-subpage-content > form:not(.search-form):not(.comment-form) button[type="submit"] {
  box-shadow: 0 12px 28px rgba(227, 87, 48, .22);
  min-width: 148px;
}

.wpcf7 .ajax-loader,
.wpcf7 .wpcf7-spinner {
  background-color: var(--hrs-blue-dark);
  margin-left: .7rem;
}

.tablepress {
  overflow: hidden;
}

.tablepress thead th {
  background: var(--hrs-green) !important;
  color: #123326;
}

.tablepress tbody tr:nth-child(even) td {
  background: rgba(152, 194, 169, .13);
}

@media (max-width: 781px) {
  .hrs-nav-links {
    display: none;
  }

  .hrs-topbar {
    max-height: 74px;
    padding: .3rem .55rem;
  }

  .hrs-topbar-contact {
    font-size: .68rem;
    line-height: 1.2;
  }

  .hrs-topbar-contact > * {
    min-height: 22px;
    padding: .08rem .48rem;
  }

  .hrs-topbar-contact > *::before {
    height: 5px;
    margin-right: .32rem;
    width: 5px;
  }

  .hrs-topbar-contact > *:not(:last-child) {
    border-right: 0;
  }

  .hrs-nav {
    align-items: center;
    gap: 1rem;
    justify-content: space-between;
    padding: .8rem 1rem;
    position: relative;
  }

  .hrs-brand {
    max-width: calc(100% - 62px);
    padding: 0;
  }

  .hrs-brand img,
  .hrs-brand-logo,
  .hrs-brand .custom-logo {
    max-height: 64px;
    max-width: min(270px, 70vw);
  }

  .hrs-menu-button {
    background: #fff;
    display: grid;
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--hrs-line);
    border-radius: 6px;
  }

  .hrs-menu-button span {
    background: var(--hrs-ink);
    display: block;
    height: 2px;
    width: 22px;
  }

  .hrs-menu-toggle:checked ~ .hrs-nav-links {
    background: #fff;
    border: 1px solid var(--hrs-line);
    border-radius: 8px;
    box-shadow: var(--hrs-shadow);
    display: grid;
    gap: .35rem;
    left: 1rem;
    max-height: calc(100vh - 92px);
    overflow: auto;
    padding: .7rem;
    position: absolute;
    right: 1rem;
    top: calc(100% + .4rem);
    z-index: 50;
  }

  .hrs-menu-toggle:checked ~ .hrs-nav-links::before {
    color: var(--hrs-muted);
    content: "Menue";
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    padding: .15rem .2rem .25rem;
    text-transform: uppercase;
  }

  .hrs-nav-links a,
  .hrs-menu-item > summary,
  .hrs-wp-menu > .menu-item > a {
    border-radius: 6px;
  }

  .hrs-wp-menu,
  #mega-menu-wrap-primary #mega-menu-primary {
    align-items: stretch;
    display: grid !important;
    gap: .35rem;
    width: 100%;
  }

  .hrs-wp-menu > .menu-item > a,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    border-radius: 6px;
    display: block;
    font-size: .95rem;
    line-height: 1.15 !important;
    min-height: 38px;
    padding: .58rem .75rem !important;
    width: 100%;
  }

  .hrs-wp-menu > .menu-item-has-children > a,
  .hrs-wp-menu > .hrs-mobile-parent > a,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-has-children > a.mega-menu-link,
  #mega-menu-wrap-primary #mega-menu-primary > li.hrs-mobile-parent > a.mega-menu-link {
    padding-right: 2.2rem !important;
    position: relative;
  }

  .hrs-wp-menu > .menu-item-has-children > a::after,
  .hrs-wp-menu > .hrs-mobile-parent > a::after,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-has-children > a.mega-menu-link::after,
  #mega-menu-wrap-primary #mega-menu-primary > li.hrs-mobile-parent > a.mega-menu-link::after {
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    content: "";
    height: 7px;
    position: absolute;
    right: .85rem;
    top: 50%;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .16s ease;
    width: 7px;
  }

  .hrs-wp-menu > .hrs-mobile-open > a::after,
  #mega-menu-wrap-primary #mega-menu-primary > li.hrs-mobile-open > a.mega-menu-link::after {
    transform: translateY(-35%) rotate(225deg);
  }

  .hrs-wp-menu .sub-menu {
    box-shadow: none;
    display: none;
    gap: .3rem;
    grid-auto-rows: minmax(34px, auto);
    grid-template-columns: 1fr;
    left: auto;
    margin: .25rem 0 .35rem;
    max-width: none;
    padding: .35rem 0 .25rem .65rem;
    position: static;
    transform: none;
    width: auto;
  }

  .hrs-wp-menu .sub-menu::after,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu::after,
  .hrs-wp-menu > .menu-item > .sub-menu::before {
    content: none;
    display: none;
  }

  .hrs-wp-menu .sub-menu .hrs-menu-intro-card,
  #mega-menu-wrap-primary #mega-menu-primary li.hrs-menu-intro-card {
    display: none !important;
  }

  .hrs-wp-menu .sub-menu a,
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
    border-radius: 6px;
    font-size: .9rem !important;
    line-height: 1.15 !important;
    min-height: 34px;
    padding: .52rem .65rem !important;
  }

  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
    display: none !important;
    gap: .3rem;
    grid-auto-rows: minmax(34px, auto);
    grid-template-columns: 1fr;
    left: auto !important;
    margin: .25rem 0 .35rem !important;
    padding: .35rem 0 .25rem .65rem !important;
    position: static !important;
    top: auto !important;
    transform: none !important;
    width: auto !important;
  }

  .hrs-wp-menu .menu-item.hrs-mobile-open > .sub-menu,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.hrs-mobile-open > ul.mega-sub-menu,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on.hrs-mobile-open > ul.mega-sub-menu {
    display: grid !important;
  }

  .hrs-wp-menu .menu-item:hover:not(.hrs-mobile-open) > .sub-menu,
  .hrs-wp-menu .menu-item:focus-within:not(.hrs-mobile-open) > .sub-menu,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:hover:not(.hrs-mobile-open) > ul.mega-sub-menu,
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:focus-within:not(.hrs-mobile-open) > ul.mega-sub-menu {
    display: none !important;
  }

  #mega-menu-wrap-primary {
    width: 100%;
  }

  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
    width: 100%;
  }

  .hrs-mega-panel {
    box-shadow: none;
    display: none;
    grid-template-columns: 1fr;
    left: auto;
    max-width: none;
    padding: .7rem 0 0;
    position: static;
    transform: none;
    width: auto;
  }

  .hrs-menu-item[open] .hrs-mega-panel {
    display: grid;
  }

  .hrs-mega-links {
    grid-template-columns: 1fr;
  }

  .hrs-quick-access {
    grid-template-columns: 1fr;
  }

  .hrs-access-item {
    border-right: 0;
    min-height: 62px;
  }

  .hrs-news-grid,
  .hrs-profile-grid,
  .hrs-split,
  .hrs-image-strip,
  .hrs-subpage-shell,
  .hrs-instagram-band {
    grid-template-columns: 1fr;
  }

  .hrs-insta-collage {
    transform: none;
  }

  .hrs-subpage-sidebar {
    position: static;
  }

  .hrs-section-heading,
  .hrs-service-band,
  .hrs-site-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .hrs-section-heading {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .hrs-section-heading h2,
  .hrs-section-heading > a {
    justify-self: start;
    text-align: left;
  }

  .hrs-news-grid,
  .hrs-profile-grid {
    grid-template-columns: 1fr;
  }

  .hrs-editorial-grid,
  .hrs-fact-grid,
  .hrs-person-grid,
  .hrs-link-list {
    grid-template-columns: 1fr;
  }

  .wpcf7 .hrs-form-grid,
  .wpcf7 .form-grid,
  .wpcf7 .kontakt-grid {
    grid-template-columns: 1fr;
  }

  .hrs-service-links {
    justify-content: flex-start;
  }

  .hrs-enrollment-notice {
    align-items: stretch;
    gap: .7rem;
    grid-template-columns: 1fr;
    margin-top: 1rem;
    padding: .75rem;
  }

  .hrs-enrollment-notice p:not(.hrs-eyebrow) {
    display: block;
    margin: .18rem 0 0;
  }

  .hrs-enrollment-notice > a {
    justify-self: start;
    margin-left: 1.1rem;
  }

  .hrs-hero-instagram {
    max-width: 100%;
  }

  .hrs-brand img,
  .hrs-brand-logo,
  .hrs-brand .custom-logo {
    max-width: min(var(--hrs-logo-mobile-width), 62vw);
    max-height: var(--hrs-logo-mobile-height);
  }
}
