@charset "UTF-8";
/*** KZS Redesign 2025
 *
 * author: David Bopp, Webbaumeister GmbH
 */
:root {
  --focus-color: #0084bd;
  --description-color: #a6adb4;
  --background-main: #dce0e1;
  --background-subsites: #ebeded;
  --text-color: #343638;
  --table-header: #6c6f71;
  --space-small: 20px;
  --space-medium: 40px;
  --space-large: 80px;
  --space-xl: 100px;
}
body {
  font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 17px;
  color: var(--text-color);
  line-height: 1.2777;
}
/*

MainNavigation - 16px Bold 700 Uppercase
SideNavigation - 18px Bold 700
Breadcrumbs / Buttons - 14px Bold 700 Uppercase
Footer - 14px Bold 700

*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  line-height: 1.15;
}
h1 {
  font-size: 54px;
}
h2 {
  font-size: 32px;
  color: var(--focus-color);
  margin: 0;
  padding: 0;
}
h3 {
  font-size: 24px;
  margin-top: var(--space-medium);
  margin-bottom: var(--space-small);
}
p {
  color: var(--text-color);
}
a {
  color: var(--focus-color);
  text-decoration: none;
}
nav h2 {
  color: var(--text-color);
}
img {
  width: 100%;
  height: auto;
}
.img-no-stretch img {
  width: auto;
}
article > h2:first-child {
  margin-top: 0;
}
main h2 + * {
  margin-top: var(--space-medium);
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.back {
  margin-top: var(--space-large);
  margin-bottom: var(--space-medium);
}
/* Unsichtbare Elemente */
.invisible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.ce_sliderStart {
  display: none;
}
/*** diverses ***/
.syndication {
  display: none;
}
.ce_slider {
  display: none;
}
.container {
  background-color: var(--background-subsites);
  background: linear-gradient(63deg, #cccdcf 50%, #dce0e1 50%);
}
.container > .inside, .wrapper {
  max-width: 1165px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1325px) {
  .container > .inside, .wrapper {
    /* 1165 + 2*80 */
    margin-left: 80px;
    margin-right: 80px;
  }
}
@media (max-width: 600px) {
  .container > .inside, .wrapper {
    margin-left: 40px;
    margin-right: 40px;
  }
}
.columns {
  display: flex;
  flex-direction: row-reverse;
  padding-bottom: var(--space-large);
}
table {
  width: 100% !important;
}
#left {
  box-sizing: border-box;
  padding-right: var(--space-medium);
  width: calc(39.22vw - 88.235px);
  max-width: 400px;
  flex-shrink: 0;
}
@media (max-width: 992px) {
  #left {
    display: none;
  }
}
#main {
  flex-grow: 1;
  min-width: 0;
  /* prevent main from using more space than the flexbox can offer */
}
/**
 *   Header - Service Navigation, Search
 *
 */
header {
  position: sticky;
  top: -444px;
  z-index: 100;
}
.mod_customnav {
  background-color: var(--focus-color);
  height: var(--space-medium);
}
.mod_customnav a, .mod_customnav span {
  color: white;
  float: right;
  display: block;
  text-align: center;
  padding: 8px 16px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.8em;
}
.searchbar {
  display: flex;
  justify-content: flex-end;
  background-color: var(--focus-color);
  padding: 12px 20px;
}
.searchbar form {
  width: 100%;
  max-width: 300px;
  margin-bottom: 0;
}
.searchbar form .formbody {
  display: flex;
}
@media (max-width: 550px) {
  .searchbar form .formbody {
    width: 200px;
  }
}
@media (max-width: 500px) {
  .searchbar form .formbody {
    width: 150px;
  }
}
.searchbar input[type="search"] {
  width: 100%;
  padding: 8px 12px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  outline: none;
  position: relative;
  right: -20px;
}
.searchbar button {
  position: relative;
  font-size: 0;
  padding: 16px;
  right: 8px;
  top: 3px;
  margin-top: 8px;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMzIpIHJvdGF0ZSgxODApIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iQXJyb3dfQmFjay0yIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIGQ9Ik0zMiwxNEg3LjZMMTguOCwyLjgsMTYsMCwwLDE2LDE2LDMybDIuOC0yLjhMNy42LDE4SDMyWiIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-color: transparent;
  border: none;
  background-size: 17px;
}
header .formbody {
  position: relative;
  /*   Move label up when input is focused or not empty */
  /*
  input:placeholder-shown + label
  {
    
    top: -10px;
    left: 5px;
    font-size: 12px;
    
    color: #888;
/*    display: none; 
  }
  
    */
}
header .formbody label {
  position: absolute;
  top: 13px;
  left: 32px;
  color: #202124;
  font-size: 12px;
  pointer-events: none;
  transition: 0.2s ease all;
}
header .formbody input:not(:placeholder-shown) + label, header .formbody input:focus + label {
  display: none;
}
/**
 *   Header - Page Image, Logo, Title
 *
 */
.pageImage {
  height: 380px;
  background-color: var(--focus-color);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  /* for the page title which is positioned absolute */
}
.pageImage h1 {
  margin: 0;
  color: white;
  font-size: clamp(30px, calc(3.164557vw + 6px), 50px);
}
.pageImage .title-subpage {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pageImage .title-home {
  display: none;
}
body.home .pageImage .title-home {
  display: block;
}
body.home .pageImage .title-subpage {
  display: none;
}
body.home header {
  background: var(--focus-color);
  background: linear-gradient(90deg, var(--focus-color) 50%, #fff 50%);
}
header .pageImage .wrapper {
  display: flex;
  align-items: baseline;
  gap: var(--space-large);
}
@media (max-width: 768px) {
  header .pageImage .wrapper {
    gap: var(--space-medium);
    margin-left: var(--space-medium);
    margin-right: var(--space-medium);
  }
}
@media (max-width: 520px) {
  header .pageImage .wrapper {
    gap: var(--space-small);
  }
}
header .header-logo {
  margin-top: -64px;
  /* height of service navi */
}
body:not(.home) header .header-logo {
  position: absolute;
  /* lay over the title */
}
@media (max-width: 768px) {
  header .header-logo {
    margin-top: -186px;
  }
}
header .header-logo .inner {
  background-color: white;
  width: 180px;
  height: 320px;
  min-height: 180px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  header .header-logo .inner {
    width: 140px;
  }
}
header .header-logo img {
  width: 180px;
  height: auto;
  object-fit: contain;
  padding: var(--space-medium);
}
@media (max-width: 768px) {
  header .header-logo img {
    width: 140px;
    padding: 30px;
  }
}
header .rechtsnebenlogo {
  position: relative;
  top: calc(-1.15 * clamp(30px, calc(3.164557vw + 6px), 50px) - var(--space-medium) / 2);
  /* font size and line height of h1 + Hälfte des Abstands zwischen h1 und p */
}
header .rechtsnebenlogo p {
  color: white;
  font-weight: bold;
  text-transform: uppercase;
  padding-top: var(--space-medium);
}
@media (max-width: 600px) {
  header .rechtsnebenlogo p {
    padding-top: var(--space-small);
  }
}
header body.home .subpage {
  display: none;
}
/* Sidebar Navigation */
aside .mod_navigation .level_1 {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-top: calc(var(--space-medium) - 15px);
}
aside .mod_navigation a, aside .mod_navigation span {
  font-size: 18px;
  font-weight: 700;
  color: var(--focus-color);
  text-decoration: none;
  padding-top: 15px;
  padding-bottom: 15px;
  display: block;
}
aside .mod_navigation a:hover, aside .mod_navigation a.active, aside .mod_navigation span:hover, aside .mod_navigation span.active {
  color: var(--text-color);
}
.nav-main {
  max-width: 1680px;
  margin-left: auto;
  margin-right: auto;
}
.nav-main .level_1 {
  /*        height: var(--space-xl); - should work implicit*/
  margin: 0;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  /* better to break the layout than to hide nav items */
}
.nav-main .level_1 > li {
  flex-grow: 1;
  text-align: center;
}
header .nav-main .level_1 > li {
  background-color: white;
}
.nav-main .level_1 > li > a, .nav-main .level_1 > li > span {
  display: block;
  padding-left: 1em;
  padding-right: 1em;
  line-height: 1em;
  padding-top: calc((var(--space-xl) - 1em) / 2);
  padding-bottom: calc((var(--space-xl) - 1em) / 2);
  font-weight: bold;
  text-transform: uppercase;
  font-size: calc(16 / 17 * 1em);
}
.nav-main .level_1 > li > a {
  color: inherit;
  text-decoration: none;
}
.nav-main .level_1 > li > a:hover, .nav-main .level_1 > li > a:focus, .nav-main .level_1 > li > span, .nav-main .level_1 > li > a.trail {
  color: white;
  background-color: var(--focus-color);
}
@media (max-width: 1155px) {
  .nav-main {
    display: none;
  }
}
.mod_mobile_menu {
  background-color: var(--focus-color);
}
.mobile_menu_trigger {
  display: block;
  width: 87px;
  margin-left: auto;
}
.navbar-toggle {
  background-color: transparent;
  padding-top: 19px;
  padding-bottom: 23px;
  border-width: 0;
}
.navbar-toggle .icon-bar {
  background-color: white;
}
.navbar-toggle .icon-bar {
  border-radius: 1px;
  display: block;
  height: 5px;
  width: 48px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 9px;
}
.mobile_menu ul {
  margin-bottom: 0;
}
.mobile_menu a, .mobile_menu span {
  display: block;
  font-size: calc(1em * 16 / 17);
  text-decoration: none;
  line-height: 3.375em;
  border-top: 1px solid #cbd0d3;
  text-align: right;
  font-weight: bold;
  padding-right: 7.5vw;
}
.mobile_menu .level_1 > li > a, .mobile_menu .level_1 > li > span {
  background-color: var(--focus-color);
  color: white;
  text-transform: uppercase;
  /*      &.active {
        background-color: white;
        color: var(--text-color);
        background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDIwIDEyIj4KICA8ZyBpZD0iZHJvcGRvd24tdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwIDEyKSByb3RhdGUoMTgwKSI+CiAgICA8cGF0aCBpZD0iZHJvcGRvd24tMiIgZGF0YS1uYW1lPSJkcm9wZG93biIgZD0iTTEwLDEyYTEuODE2LDEuODE2LDAsMCwxLTEuNC0uNmwtOC04QTEuOTMzLDEuOTMzLDAsMCwxLC42LjYsMS45MzMsMS45MzMsMCwwLDEsMy40LjZMMTAsNy4yLDE2LjYuNmExLjkzMywxLjkzMywwLDAsMSwyLjgsMCwxLjkzMywxLjkzMywwLDAsMSwwLDIuOGwtOCw4QTEuODE2LDEuODE2LDAsMCwxLDEwLDEyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
        background-repeat: no-repeat;
        background-position: 20px 20px;
      }
*/
}
.mobile_menu .level_1 > li.submenu > a, .mobile_menu .level_1 > li.submenu > span {
  background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iZHJvcGRvd24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjAgMTIiPgogIDxwYXRoIGlkPSJkcm9wZG93bi0yIiBkYXRhLW5hbWU9ImRyb3Bkb3duIiBkPSJNMTAsMTJhMS44MTYsMS44MTYsMCwwLDEtMS40LS42bC04LThBMS45MzMsMS45MzMsMCwwLDEsLjYuNiwxLjkzMywxLjkzMywwLDAsMSwzLjQuNkwxMCw3LjIsMTYuNi42YTEuOTMzLDEuOTMzLDAsMCwxLDIuOCwwLDEuOTMzLDEuOTMzLDAsMCwxLDAsMi44bC04LDhBMS44MTYsMS44MTYsMCwwLDEsMTAsMTJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPgo=");
  background-repeat: no-repeat;
  background-position: 20px 20px;
}
.mobile_menu .level_2 > li > a, .mobile_menu .level_2 > li > span {
  background-color: white;
  padding-right: 11.1vw;
}
.mobile_menu.active {
  position: relative;
}
.mobile_menu_overlay {
  display: none !important;
}
/**
 * 3.0 - Breadcrumbs
 *
 */
.mod_breadcrumb {
  padding-top: var(--space-medium);
  padding-bottom: var(--space-large);
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}
.mod_breadcrumb ul:before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 16 16'%3E%3Cpath id='home' d='M0,8,8,0l8,8v8H11V10H5v6H0Z' fill='%23202124' fill-rule='evenodd'/%3E%3C/svg%3E%0A");
  display: inline-block;
  vertical-align: sub;
  padding-right: 3em;
}
body:not(.home) .mod_breadcrumb ul:before {
  pointer-events: auto;
  cursor: pointer;
}
.mod_breadcrumb li {
  display: inline;
}
.mod_breadcrumb li a {
  color: inherit;
  text-decoration: none;
}
.mod_breadcrumb li:not(:last-child):after {
  content: " / ";
  padding-left: 1em;
  padding-right: 1em;
}
.mod_breadcrumb li:last-child {
  color: var(--description-color);
}
.mod_breadcrumb ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.mod_breadcrumb li a {
  color: var(--text-color);
  text-decoration: none;
}
.mod_breadcrumb li:first-child {
  display: none;
}
.mod_breadcrumb li:last-child {
  color: var(--description-color);
}
body.home .mod_breadcrumb {
  padding-bottom: 0;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  list-style: none;
}
footer {
  background-color: var(--text-color);
  padding-bottom: 25px;
}
.footer-nav {
  background-color: var(--text-color);
  border-bottom: 1px solid white;
  color: white;
}
.footer-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
  gap: clamp(20px, 5vw, 200px);
}
.footer-links {
  color: white;
  font-size: 14px;
  font-weight: 700;
  /* TODO: nur bis zu bestimmter width, nicht auf mobile */
}
.footer-links ul li {
  line-height: 1.5rem;
}
.footer-links ul li a {
  transition: all 0.3s ease;
}
.footer-links ul li a:hover {
  color: #EBEDED;
}
.footer-links ul li a:focus {
  text-decoration: underline;
}
.footer-links h4 {
  margin-top: 20px;
  margin-bottom: 5px;
  padding-bottom: 5px;
  display: inline-block;
  font-size: inherit;
}
.primary {
  margin-top: 20px;
  padding: 0;
}
.primary > .inner {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
}
.primary .footer-image img {
  width: auto;
  height: 7em;
  margin-right: 10px;
}
.primary .footer-links {
  width: 80%;
}
@media (max-width: 848px) {
  footer {
    margin: 0;
    padding: 0;
  }
  .footer-row {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 30px;
    padding-top: 30px;
  }
  .footer-links {
    width: 100%;
    margin-bottom: 25px;
    text-align: center;
  }
  .footer-image {
    margin: auto;
  }
  .primary {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0 !important;
  }
  .primary .footer-links {
    text-align: left;
    margin-bottom: 0;
  }
  .primary .footer-links h4 {
    margin-top: 0;
  }
}
/* Layout: Team + Overview */
.overview, .team {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  margin-top: var(--space-medium);
  margin-bottom: var(--space-large);
}
.overview h3, .team h3 {
  margin: 0;
  margin-bottom: var(--space-small);
  color: var(--text-color);
}
/* Boxen in .team und .overview */
.overview > *, .team .ce_text, main .mod_search div {
  box-sizing: border-box;
  display: block;
  padding: var(--space-small);
  background-color: white;
  border-bottom: solid 15px var(--focus-color);
}
main .mod_search > p {
  padding-left: var(--space-small);
  padding-bottom: var(--space-small);
}
main .mod_search > p.info {
  display: none;
}
main .mod_search h3 {
  margin-top: 12px;
}
main .mod_search div {
  margin-bottom: var(--space-small);
  border-bottom-width: 0;
}
.overview > *, .team .ce_text {
  width: 100%;
  min-height: 280px;
}
@media (min-width: 660px) {
  .overview > *, .team .ce_text {
    width: 48%;
    min-height: 360px;
  }
}
.overview .ce_text, .overview .ce_hyperlink {
  overflow-wrap: break-word;
  height: 100%;
  background-repeat: no-repeat;
  background-position: right 6px bottom 0;
}
.overview .ce_text {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMzIpIHJvdGF0ZSgxODApIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iQXJyb3dfQmFjay0yIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIGQ9Ik0zMiwxNEg3LjZMMTguOCwyLjgsMTYsMCwwLDE2LDE2LDMybDIuOC0yLjhMNy42LDE4SDMyWiIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
}
.overview .ce_hyperlink {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NS4yNTUiIGhlaWdodD0iNDUuMjU1IiB2aWV3Qm94PSIwIDAgNDUuMjU1IDQ1LjI1NSI+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDUuMjU1IDQ1LjI1NSkgcm90YXRlKDE4MCkiPgogICAgPHBhdGggaWQ9IkFycm93X0JhY2stMiIgZGF0YS1uYW1lPSJBcnJvdyBCYWNrIiBkPSJNMzIsMTRINy42TDE4LjgsMi44LDE2LDAsMCwxNiwxNiwzMmwyLjgtMi44TDcuNiwxOEgzMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMjIuNjI3KSByb3RhdGUoLTQ1KSIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
  background-position: right 26px bottom 20px;
}
.overview .ce_text > *, .overview .ce_hyperlink > * {
  padding-left: 20px;
  padding-right: 20px;
}
.overview .ce_text > *:first-child, .overview .ce_hyperlink > *:first-child {
  padding-top: 20px;
}
.overview .ce_text {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  flex-grow: 1;
  padding-top: var(--space-small);
}
.overview p {
  flex-grow: 1;
  color: var(--description-color);
}
.team .ce_text {
  text-align: center;
  align-items: center;
}
.team .ce_text h3 {
  margin-bottom: var(--space-medium);
}
.team .ce_text a {
  color: var(--focus-color);
  text-decoration: none;
}
.team .image_container {
  margin-bottom: var(--space-small);
}
.team .image_container img {
  display: block;
  margin: 0 auto;
  object-fit: cover;
  border-radius: 50%;
  overflow: hidden;
  max-width: 230px;
}
/* Über uns */
body.ueber-uns .ce_text ul {
  margin-bottom: var(--space-medium);
}
body.ueber-uns .ce_text ul li {
  margin-bottom: var(--space-small);
}
body.ueber-uns .ce_text ul li::before {
  content: "•";
  font-size: 20px;
  padding-right: 5px;
  line-height: 1;
}
body.ueber-uns .ce_text p {
  margin-bottom: var(--space-small);
}
body.ueber-uns h3:last-of-type {
  margin-top: 0;
}
/* Links innerhalb der Übersicht */
body.w-uebersicht .overview > a, body.w-uebersicht .overview > .ce_hyperlink {
  display: block;
  flex: 1 1 360px;
  color: inherit;
  text-decoration: none;
}
/* Layout – Übersicht Container */
body.w-uebersicht .overview {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: stretch;
}
/* Teaser-Box (ce_teaser) */
body.w-uebersicht .overview .ce_teaser, body.w-uebersicht .overview .ce_hyperlink {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow-wrap: break-word;
  white-space: normal;
  padding: var(--space-medium);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NS4yNTUiIGhlaWdodD0iNDUuMjU1IiB2aWV3Qm94PSIwIDAgNDUuMjU1IDQ1LjI1NSI+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDUuMjU1IDQ1LjI1NSkgcm90YXRlKDE4MCkiPgogICAgPHBhdGggaWQ9IkFycm93X0JhY2stMiIgZGF0YS1uYW1lPSJBcnJvdyBCYWNrIiBkPSJNMzIsMTRINy42TDE4LjgsMi44LDE2LDAsMCwxNiwxNiwzMmwyLjgtMi44TDcuNiwxOEgzMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMjIuNjI3KSByb3RhdGUoLTQ1KSIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) calc(100% - 20px);
}
.ce_hyperlink:hover {
  cursor: pointer;
}
/* Download-Links, ... */
.ce_downloads a, .hyperlink a, div.links a {
  /* Layout */
  display: flex;
  align-items: center;
  height: 65px;
  padding-left: 65px;
  margin-top: 10px;
  /* Typography */
  color: var(--focus-color);
  text-decoration: none;
  /* Box */
  background-color: white;
  border: 1px solid #ebeded;
  /* Icon */
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDIwIDI0Ij4KICA8cGF0aCBpZD0idG9waWMiIGQ9Ik0tMzgwNywzM2gtMjBWOWgyMFYzM2gwWm0tMTcuMTQyLTNoMTQuMjg2VjEyaC0xNC4yODZabTIuODU4LTZWMjFoOC41NzF2M1ptMC02VjE1aDguNTcxdjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzODI3IC05KSIgZmlsbD0iIzQzODNiYSIvPgo8L3N2Zz4K");
  background-repeat: no-repeat;
  background-size: auto 24px;
  background-position: 20px 20px;
}
.unterstuetzung-sportamt .ce_downloads {
  margin-bottom: var(--space-small) !important;
}
/* Kontakt-Box (Download-Zeilen) */
.contact .ce_text p:nth-child(2) {
  display: flex;
  align-items: center;
  height: 65px;
  margin-bottom: 0;
  padding-left: 20px;
  font-weight: bold;
  background-color: white;
  border: 1px solid #ebeded;
}
/* Download-Liste */
.support .ce_downloads ul {
  margin: 2px;
}
.ce_toplink {
  margin-bottom: var(--space-large);
  margin-top: var(--space-large);
}
.hyperlink a {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDIwIDI0Ij4KICA8cGF0aCBpZD0idG9waWMiIGQ9Ik0tMzgwNywzM2gtMjBWOWgyMFYzM2gwWm0tMTcuMTQyLTNoMTQuMjg2VjEyaC0xNC4yODZabTIuODU4LTZWMjFoOC41NzF2M1ptMC02VjE1aDguNTcxdjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzODI3IC05KSIgZmlsbD0iIzQzODNiYSIvPgo8L3N2Zz4K");
}
div.links a {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzcuNTg5IiBoZWlnaHQ9IjM3LjU4OSIgdmlld0JveD0iMCAwIDM3LjU4OSAzNy41ODkiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCB3aWR0aD0iMjYuNTgiIGhlaWdodD0iMjYuNTgiIGZpbGw9Im5vbmUiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJBcnJvd19CYWNrIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM3LjU4OSAxOC43OTUpIHJvdGF0ZSgxMzUpIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iQXJyb3dfQmFjay0yIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIGQ9Ik0yNi41OCwxMS42MjlINi4zMTNsOS4zLTkuM0wxMy4yOSwwLDAsMTMuMjksMTMuMjksMjYuNThsMi4zMjYtMi4zMjYtOS4zLTkuM0gyNi41OFoiIGZpbGw9IiM0MzgzYmEiLz4KICA8L2c+Cjwvc3ZnPgo=");
  background-size: 37px;
  background-position: 16px 10px;
}
/* Buttons – "Über uns" */
.button {
  display: flex;
  flex-direction: row;
  gap: 40px;
  margin-bottom: var(--space-medium);
  margin-top: var(--space-small);
}
@media (max-width: 600px) {
  .button {
    flex-direction: column;
    gap: var(--space-small);
  }
  .button .button1, .button .button2 {
    width: 100%;
    height: 50px;
  }
}
.button1, .button2 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  border-radius: 16px;
  border: medium solid var(--focus-color);
}
.button1 {
  width: 30%;
}
.button2 {
  background-color: var(--focus-color);
  width: 25%;
}
.button a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
}
.button1 a {
  color: var(--focus-color);
}
.button2 a {
  color: white;
}
/* Hover States */
.button1:hover {
  background-color: var(--focus-color);
}
.button1:hover .hyperlink_txt {
  color: white;
}
.button2:hover {
  background-color: transparent;
}
.button2:hover .hyperlink_txt {
  color: var(--focus-color);
}
.ce_accordion {
  background-color: transparent;
  color: #444;
  cursor: pointer;
  transition: 0.4s;
  padding-top: 10px;
}
.ce_accordion:first-of-type {
  padding-top: var(--space-small);
}
.ce_accordion .toggler {
  background-color: white;
}
.ce_accordion .toggler h3 {
  padding: 20px;
  margin: 0;
}
.ce_accordion input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.ce_accordion input[type="checkbox"]:checked ~ .accordion {
  padding-top: 18px;
  padding-bottom: 18px;
}
.ce_accordion .ce_table {
  margin-top: var(--space-small);
  margin-bottom: var(--space-small);
}
.accordion {
  padding: 0 18px;
  background-color: white;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out, padding 0.4s ease-in-out;
}
.ce_two_images {
  position: relative;
  background-size: cover;
  background-position: center;
  min-height: 400px;
  padding: 2rem;
  color: #fff;
  display: flex;
  align-items: flex-end;
  /*
  transition: background-size 200ms;

  &:hover{
    background-size 110%;
  }

  to finish the job, look here: https://stackoverflow.com/a/54102421/603569

*/
}
.ce_two_images .logo {
  position: absolute;
  width: 200px;
  max-width: 30%;
  top: 10%;
  right: 10%;
}
.ce_two_images .content {
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.ce_two_images .content .description h4 {
  margin-bottom: 10px;
  margin-top: 0;
}
.ce_two_images .content .description h4 a {
  color: white;
  font-weight: 700;
}
.ce_two_images h3 {
  font-size: 2rem;
  margin: 0;
}
.ce_two_images .main-link {
  display: none;
}
.ce_two_images.has-link:hover {
  cursor: pointer;
}
/* Abstand davor und danach */
/* ueber-uns.html */
h2 + .ce_two_images, h3 + .ce_two_images, h4 + .ce_two_images {
  margin-top: var(--space-medium);
}
.ce_two_images + * {
  margin-top: var(--space-medium);
}
.main-events .ce_text h2 {
  display: none;
}
.main-events-title {
  color: white;
  text-decoration: none;
  margin-bottom: 10px;
}
.main-events > div p {
  margin: 4px 0;
  color: white;
  padding-left: 0;
}
.main-events > div h3 {
  display: none;
}
.ce_two_images.layout-verband {
  min-height: 225px;
  margin-bottom: 130px;
}
.ce_two_images.layout-verband .logo {
  height: 293px;
  width: 160px;
  right: auto;
  left: 10%;
  top: 18%;
}
@media (max-width: 660px) {
  .ce_two_images.layout-verband .logo {
    width: 20vw;
    height: 36.625vw;
  }
}
@media (max-width: 660px) {
  .ce_two_images.layout-verband {
    min-height: 34.1vw;
    margin-bottom: 19.7vw;
  }
}
body.suche main .formbody, .mitgliederanmeldung-kzs .formbody {
  max-width: 100%;
  margin: var(--space-medium) auto;
  padding: 20px;
  background-color: #f4f4f4;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
body.suche main .formbody label, .mitgliederanmeldung-kzs .formbody label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}
body.suche main .formbody input, body.suche main .formbody textarea, .mitgliederanmeldung-kzs .formbody input, .mitgliederanmeldung-kzs .formbody textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
}
body.suche main .formbody button, .mitgliederanmeldung-kzs .formbody button {
  background-color: var(--focus-color);
  color: white;
  padding: 10px 15px;
  border: none;
  border-radius: 4px;
  font-size: 15px;
  cursor: pointer;
}
body.suche main .formbody button:hover, .mitgliederanmeldung-kzs .formbody button:hover {
  background-color: #59ba43;
}
body.suche main .formbody select, .mitgliederanmeldung-kzs .formbody select {
  margin-bottom: var(--space-small);
}
.ce_gallery .cols_4 {
  width: 100%;
  padding: 10px;
  list-style: none;
  column-count: 4;
  column-gap: var(--space-small);
}
/* Bild-Container (li) */
.ce_gallery .cols_4 li {
  margin: 0 0 10px 0;
  display: inline-block;
  width: 100%;
  break-inside: avoid-column;
}
/* Die Bilder selbst */
.ce_gallery .cols_4 img {
  width: 100%;
  height: auto;
  display: block;
}
/* --- Breakpoint: (max-width: 1200px): 3 Spalten --- */
@media (max-width: 1200px) {
  .ce_gallery .cols_4 {
    column-count: 3;
    column-gap: 15px;
  }
}
/* --- Breakpoint: (max-width: 768px): 2 Spalten --- */
@media (max-width: 768px) {
  .ce_gallery .cols_4 {
    column-count: 2;
    column-gap: 10px;
  }
}
/* --- Breakpoint: (max-width: 500px): 1 Spalte --- */
@media (max-width: 500px) {
  .ce_gallery .cols_4 {
    column-count: 1;
    column-gap: 25px;
  }
  .ce_gallery .cols_4 li {
    /* Wechselt zu 1 Spalte */
    margin-bottom: 25px;
  }
}
/* Home – Typografie */
body.home h2 {
  margin-top: var(--space-large);
  margin-bottom: var(--space-small);
}
body.home h3 {
  padding-bottom: var(--space-xs);
}
.start-box img, .side-events img {
  object-fit: cover;
  width: 100%;
  height: auto;
  aspect-ratio: 2;
}
/* Startseite – Aktuell (erste 3 Boxen) - Startbox */
.start-box {
  display: flex;
  gap: var(--space-medium);
}
.start-box > a {
  flex-basis: 300px;
  flex-grow: 1;
}
@media (max-width: 960px) {
  .start-box {
    gap: var(--space-small);
  }
  .start-box > a:nth-child(3) {
    display: none;
  }
}
.start-box .ce_text {
  box-sizing: border-box;
  width: 100%;
  max-width: 360px;
  min-height: 360px;
  background-color: white;
  border-bottom: solid 15px var(--focus-color);
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMzIpIHJvdGF0ZSgxODApIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iQXJyb3dfQmFjay0yIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIGQ9Ik0zMiwxNEg3LjZMMTguOCwyLjgsMTYsMCwwLDE2LDE2LDMybDIuOC0yLjhMNy42LDE4SDMyWiIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-position: bottom 16px right 24px;
  overflow: hidden;
  /* wenn ein Event kein Bild hat */
  padding-bottom: var(--space-small);
}
.start-box .ce_text > h3, .start-box .ce_text p {
  padding-right: var(--space-small);
  padding-left: var(--space-small);
}
.start-box .ce_text p {
  color: var(--description-color);
}
.start-box h3 {
  font-size: 20px;
  color: var(--text-color);
  margin-top: 1.5em;
}
@media (max-width: 680px) {
  .start-box {
    display: block;
  }
  .start-box a {
    display: block;
    margin-bottom: var(--space-small);
  }
  .start-box .ce_text {
    max-width: none;
  }
}
/* Events (Main & Side Events) */
/* Card wrapper for events */
.events {
  display: flex;
  width: 100%;
  margin: auto;
  gap: 40px;
}
@media (min-width: 993px) {
  .main-events {
    width: calc((100% - 80px) * 2 / 3 + 40px);
  }
}
@media (min-width: 993px) {
  .side-events {
    width: calc((100% - 80px) * 1 / 3);
  }
}
@media (max-width: 992px) {
  .events {
    flex-direction: column;
    gap: var(--space-medium);
  }
}
/* Side links below side events */
.side-events > .event {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  text-decoration: none;
  min-width: 300px;
}
.side-events > .event h3 {
  color: var(--text-color);
}
@media (max-width: 992px) {
  .side-events > .event {
    flex-shrink: 1;
    /*
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;
      */
  }
}
/* Side events column */
.side-events {
  display: flex;
}
@media (min-width: 993px) {
  .side-events {
    flex-direction: column;
  }
}
@media (max-width: 992px) {
  .side-events {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .side-events > .event {
    min-width: 220px;
    width: calc(50% - 20px);
    display: block;
  }
}
@media (max-width: 660px) {
  .side-events > .event {
    width: 100%;
  }
}
.side-events .ce_text {
  padding-bottom: var(--space-medium);
  width: 100%;
}
.side-events h3 {
  font-size: 20px;
  margin: 0;
  margin-top: calc(var(--space-small) / 1.075);
  padding-bottom: 2px;
}
.side-events p {
  margin-bottom: 0;
  color: var(--focus-color);
}
.side-events p:hover {
  text-decoration: underline;
}
.side-events img {
  aspect-ratio: 1.7777777778;
  display: block;
  object-fit: cover;
}
/* Kantonalverband Zürich – Foto Section */
.kantonalverband {
  display: flex;
  flex-direction: row;
  margin-top: 80px;
  margin-bottom: 80px;
  /* Responsive KV*/
}
.kantonalverband .ce_text {
  margin-left: var(--space-small);
  justify-content: left;
}
.kantonalverband h2 {
  margin-top: 0px !important;
}
.kantonalverband h3 {
  margin: 0;
}
@media (min-width: 768px) {
  .kantonalverband figure {
    box-sizing: border-box;
    background-color: white;
    margin-top: var(--space-small);
    width: 350px;
    height: 180px;
  }
}
.kantonalverband ul li {
  padding-bottom: var(--space-small);
}
@media (max-width: 768px) {
  .kantonalverband {
    flex-direction: column;
    align-items: left;
  }
  .kantonalverband .ce_text {
    margin-left: 0;
    margin-top: var(--space-small);
    text-align: left;
  }
}
/* Neue Dokumente – Startseite */
.nd-start {
  margin: 0;
  padding: 0;
  /* Respomsive */
}
.nd-start ul {
  margin: 2px;
}
@media (max-width: 768px) {
  .nd-start {
    flex-direction: column;
    align-items: center;
  }
  .nd-start li {
    margin-left: 0;
    margin-top: var(--space-small);
    text-align: center;
  }
}
/* Support-Bereich */
/* Bild */
.berichte h2 {
  margin-bottom: var(--space-small);
}
.berichte .ce_image {
  display: flex;
  width: 100%;
  height: auto;
  margin-top: var(--space-medium);
  margin-bottom: var(--space-medium);
}
.berichte img {
  width: 100%;
  height: auto;
}
/* Überschriften */
h4, .ce_downloads h4 {
  margin-top: var(--space-medium);
  margin-bottom: var(--space-small);
}
.ce_gallery {
  display: flex;
  flex-direction: column;
}
.u_programme .ce_text p {
  margin-top: var(--space-small);
}
.u_programme .ce_text:last-child {
  margin-bottom: var(--space-medium);
}
.u_programme .ce-downloads {
  margin-bottom: var(--space-medium);
}
/* Kalender & Kontakt */
.ce_table {
  overflow-x: scroll;
}
/* Tabellen: Kalender + Kontakt */
.calendar table, .contact table {
  width: 100%;
  font-size: 17px;
}
.calendar td, .contact td {
  padding: 20px;
}
@media (max-width: 880px) {
  .calendar td, .contact td {
    padding: 15px 10px;
  }
}
.calendar tbody tr, .contact tbody tr {
  background: white;
  border-top: 4px solid #ebeded;
}
/* Tabellen-Header */
.calendar thead tr {
  background-color: transparent;
  color: var(--description-color);
  border: none;
  height: var(--space-medium);
  text-transform: uppercase;
}
.calendar thead tr th {
  padding-left: 20px;
  font-weight: 400 !important;
}
body.contact tr td:nth-child(1) {
  font-weight: bold;
  height: 100px;
}
/* Kalender-Navigation */
.calendar nav li {
  margin-bottom: var(--space-medium);
}
/* Kalender-Box Layout -- db: was für eine box? */
.calendar {
  font-weight: bold;
  /*  height: 100px; */
  margin: 0 auto;
}
.calendar table {
  margin-top: var(--space-large);
}
.calendar table tr {
  font-weight: 400;
}
.calendar table tr td:nth-of-type(2) {
  font-weight: bold;
}
/* Responsive */
@media (max-width: 680px) {
  body.contact tr td:nth-child(1) {
    height: auto;
  }
  body.contact td {
    display: block;
  }
  body.contact td + td {
    padding-top: 0;
  }
}
/* Übersicht – Allgemeine Stile */
body.w-uebersicht p {
  padding-top: 10px !important;
}
/* Typografie (Überschriften) */
.overview .ce_hyperlink h3 {
  margin-top: 0;
}
.overview .ce_hyperlink a {
  color: var(--description-color);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  flex-grow: 1;
  padding-right: 50px;
}
/* Letztes Element – anderes Hintergrundbild */
body.w-uebersicht .overview > :last-child .ce_teaser {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9IkFycm93X0JhY2siIGRhdGEtbmFtZT0iQXJyb3cgQmFjayIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIgMzIpIHJvdGF0ZSgxODApIiBjbGlwLXBhdGg9InVybCgjY2xpcC1wYXRoKSI+CiAgICA8cGF0aCBpZD0iQXJyb3dfQmFjay0yIiBkYXRhLW5hbWU9IkFycm93IEJhY2siIGQ9Ik0zMiwxNEg3LjZMMTguOCwyLjgsMTYsMCwwLDE2LDE2LDMybDIuOC0yLjhMNy42LDE4SDMyWiIgZmlsbD0iIzM0MzYzOCIvPgogIDwvZz4KPC9zdmc+Cg==");
}
/* Kurskommision */
.kurskommision h2 {
  margin-bottom: var(--space-small);
}
@media (max-width: 1200px) {
  /*
  .container {
    padding-inline: var(--space-small);
  }

  #left {
    padding-right: var(--space-small);
    max-width: 350px;
  }
    */
  .button1 {
    width: 40%;
  }
  .button2 {
    width: 30%;
  }
}
@media (max-width: 992px) {
  body.home h2 {
    margin-top: var(--space-medium);
  }
  .start-box {
    justify-content: center;
  }
}
@media (max-width: 768px) {
  h1 {
    font-size: 42px;
  }
  .rechtsnebenlogo p {
    font-size: 14px;
  }
  .pageImage {
    height: 250px;
  }
  .mod_breadcrumb {
    padding-top: var(--space-small);
    padding-bottom: var(--space-medium);
  }
  .mod_breadcrumb ul:before {
    padding-right: 1.5em;
  }
  .mod_breadcrumb li:not(:last-child):after {
    padding-inline: 0.5em;
  }
  .start-box .ce_text {
    width: 100%;
    flex: 1 1 100%;
  }
  .start-box img {
    width: 100%;
    height: auto;
    /*      object-fit: contain; */
  }
  .button {
    flex-direction: column;
    gap: var(--space-small);
  }
  .button1, .button2 {
    width: 100%;
    height: 50px;
  }
  .contact .ce_text p:nth-child(2) {
    min-height: 65px;
  }
}
@media (max-width: 600px) {
  h1 {
    font-size: 28px;
    margin-left: var(--space-small);
  }
  .rechtsnebenlogo p {
    font-size: 12px;
  }
  .contact .ce_table table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
@media (max-width: 500px) {
  h1 {
    font-size: 36px;
  }
  body.home h2 {
    margin-top: var(--space-medium);
  }
  body.home p {
    padding-inline: 0;
  }
}
body.no-space-top main .ce_hyperlink:first-of-type h3, body.no-space-top aside h3 {
  margin-top: 0;
}
.mod_sitemap .level_2, .mod_sitemap .level_3, .mod_sitemap .level_4 {
  margin-left: 1.2em;
}
mark {
  background-color: var(--focus-color);
  color: white;
}
