/* inter-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100;
  src: url('/static/kvg24/fonts/inter-v18-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100;
  src: url('/static/kvg24/fonts/inter-v18-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 200;
  src: url('/static/kvg24/fonts/inter-v18-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 200;
  src: url('/static/kvg24/fonts/inter-v18-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300;
  src: url('/static/kvg24/fonts/inter-v18-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 300;
  src: url('/static/kvg24/fonts/inter-v18-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('/static/kvg24/fonts/inter-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('/static/kvg24/fonts/inter-v18-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: url('/static/kvg24/fonts/inter-v18-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 500;
  src: url('/static/kvg24/fonts/inter-v18-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('/static/kvg24/fonts/inter-v18-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('/static/kvg24/fonts/inter-v18-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('/static/kvg24/fonts/inter-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 700;
  src: url('/static/kvg24/fonts/inter-v18-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: url('/static/kvg24/fonts/inter-v18-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 800;
  src: url('/static/kvg24/fonts/inter-v18-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('/static/kvg24/fonts/inter-v18-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  src: url('/static/kvg24/fonts/inter-v18-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}








* {
  padding: 0;
  margin: 0;
}

:root {
  --design_blue: #117bb7;
  --design_green: #9ec644;
  --design_grau: #D9D9D9;
  --abstand_wrap: 10.07%;
  --scale: 1.5;
  --bilder_border_radius: 10px;
}


body {
  position: relative;
}

.scale-root {
  transform-origin: top left;
  transform: scale(var(--scale));

  /* Kompensation: unskaliert kleiner machen, damit skaliert wieder 100% füllt */
  width: calc(100% / var(--scale));
  min-height: calc(100vh / var(--scale));

  /* Optional: verhindert unerwartetes Überlaufen durch Subpixel */
  overflow: visible;

  margin-top: 130px;
}






#start-verbindungssuche-grid .form-floating > .form-control {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

#start-verbindungssuche-grid .form-floating > label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}




#wrap-desktop-nav {
	max-width: 10000px;
  z-index: 100;
  position: fixed;
  left: 0;
  top: 0;
  background-color: #fff;
  width: 100%;
  transform: scale(var(--scale));
  padding-top: 0;
  padding-left: 0;
  padding-right: 0;
  transform-origin: top left;
  width: calc(100% / var(--scale));
}
#wrap-desktop-nav > div {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px;
}

.autocomplete-list {
  position: absolute;
  z-index: 1050; /* über Bootstrap-Komponenten */
  width: 100%;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
  max-height: 250px;
  overflow-y: auto;
}
.autocomplete-item {
  padding: .5rem;
  cursor: pointer;
}
.autocomplete-item:hover,
.autocomplete-item.active {
  background-color: #117bb7;
  color: white;
}

body {
  background-color: #fff;
  font-size: 18px;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #636363;
}


h1, h2, h3, h4, h5 {
  hyphens: auto;
}


.wrap {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 20px
}

.wrap-big-picture {
  max-width: 2000px;
  margin: 0 auto;
}

#header-desktop {
  font-size: 1.2rem;
  padding: 15px var(--abstand_wrap);
}

#header-desktop header {
  display: flex;
  align-items: flex-start;
  /* padding: 25px var(--abstand_wrap); */
}

#head-desktop-left {
  flex: 0 0 139px;
}

#head-desktop-left img {
  display: block;
  width: 100%;
}

#head-desktop-center {
  flex-grow: 1;
}

#head-desktop-center .navbar > div {
  width: 100%;
}

#head-desktop-center .navbar > div > div {
  display: flex;
  justify-content: flex-end;
}

#head-desktop-center .navbar-nav {
  gap: 1.5rem;
  padding-right: 10%;
  position: relative;
}

#head-desktop-center .dropdown {
  position: static;
}

#head-desktop-center .dropdown-menu {
  box-shadow: 0px 4px 4px 0px #00000040;
  border: 1px solid #e9e9e9;
  border-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

#head-desktop-center .nav-link {
  border-bottom: 4px solid transparent;
}

#head-desktop-center .nav-link.show {
  color: var(--design_blue);
  border-bottom: 4px solid var(--design_blue);
}

#head-desktop-center .nav-link.nav-link-open {
  color: var(--design_blue);
  border-bottom: 4px solid var(--design_blue);
}

.dropdown-menu-indicator {
  width: 125px;
  height: 4px;
  background-color: var(--design_blue);
  position: absolute;
  left: 0;
  top: -1px;
}

.menu-content {
  width: 740px;
  height: 440px;
  padding: 20px;
  display: flex;
  gap: 50px;
  justify-content: space-between;
  align-items: flex-start;
}

.submenu {
  flex-grow: 1;
}

.submenu ul {
  list-style: none;
  padding-left: 0;
}

.submenu a {
  display: block;
  border-bottom: 2px solid #e9e9e9;
  font-size: 16px;
  color: var(--design_blue);
  padding: 8px 0;
  text-decoration: none;
  font-weight: 600;
}

.submenu-image {
  flex: 0 0 394px;
}

.submenu-image img {
  width: 100%;
  display: block;
  border-radius: var(--bilder_border_radius);
}

.submenu-image p:last-child {
  margin-bottom: 0;
}

#head-desktop-right {
  flex: 0 0 140px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: flex-end;
  padding-top: 8px;
}
#head-desktop-lang {
  display: none;
}
#head-desktop-suche {
  font-size: 1.7rem;
}

#big-picture {
  position: relative;
}

#big-picture-img {
  display: block;
  width: 100%;
  /* height: 490px; */
  /* min-height: 490px; */
  object-fit: cover;
  object-position: center;
  border-radius: var(--bilder_border_radius);
  aspect-ratio: 2.30 / 1;
}
#big-picture-start #big-picture-img {
  border-radius: 0;
  aspect-ratio: inherit;
}
#big-picture-content-wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  max-width: 1152px;
}
#big-picture-img-overlay {
  display: block;
  position: absolute;
  bottom: 0;
  /* right: 68px; */
  right: 0;
}

#big-picture-content {
  width: calc(515px - 34px);
  height: 210px;
  color: #fff;
  position: absolute;
  /* right: calc(68px + 34px); */
  right: 34px;
  bottom: 0;
  display: flex;
  align-items: center;
}

#big-picture-content h1 > div:nth-child(1){
  font-size: 24px;
  font-weight: 700;
}

#big-picture-content h1 > div:nth-child(2){
  font-size: 38px;
  font-weight: 700;
}

#big-picture-content h1 > div:nth-child(2) p {
  margin-bottom: 0;
}

#start-verbindungssuche {
  background-color: var(--design_grau);
  padding: 45px var(--abstand_wrap);
}

#start-verbindungssuche input, #start-verbindungssuche select {
  height: 61px;
}

#start-verbindungssuche-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 60px;
  grid-row-gap: 15px;
  margin: 0 auto;
  max-width: 1152px;
}

.content-wrap {
  padding: 50px var(--abstand_wrap) 0 var(--abstand_wrap);
}
.big-picture-wrap {
  padding: 0 var(--abstand_wrap);
}

.content-wrap h1 {
  margin-bottom: 0;
  padding-bottom: 50px;
  color: var(--design_blue);
  font-size: 38px;
  font-weight: 500;
}

.boxen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 35px;
  grid-row-gap: 77px;
}

.boxen-grid > div {
  box-shadow: 0px 4px 4px 0px #00000040;
  border-radius: 6px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 15px;
}
.box-image a {
  position: relative;
  display: block;
}
.box-image {
  height: 190px;
}
.box-image img {
  display: block;
  width: 100%;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  height: 190px;
  object-fit: cover;
}

.box-text {
  font-size: 16px;
  font-weight: 400;
}

.box-titel h2 {
  color: var(--design_blue);
  font-size: 18px;
  font-weight: 500;
}
.box-link a {
  font-size: 14px;
  text-decoration: none;
}



.ifb-teaser {
  min-height: 495px;
  position: relative;
  margin: 110px 0 80px 0;
}
.ifb-teaser-hg {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  overflow-x: hidden;
}
.ifb-teaser-hg img {
  display: block;
  width: 645px;
  max-width: 645px;
}
.ifb-teaser-content {
  padding: 50px;
  display: flex;
  gap: 40px;
}
.ifb-teaser-image {
  flex: 0 0 37.84%;
}
.ifb-teaser-image a {
  position: relative;
  display: block;
}
.ifb-teaser-image img {
  display: block;
  width: 100%;
  border-radius: var(--bilder_border_radius);
}
.ifb-teaser-infos {
  flex-grow: 1;
}
.ifb-teaser-infos h3 span {
  display: block;
}
.ifb-teaser-infos h3 span:nth-child(1){
  font-size: 24px;
  font-weight: 500;
  padding-bottom: 8px;
}
.ifb-teaser-infos h3 span:nth-child(2){
  color: var(--design_blue);
  font-size: 32px;
  font-weight: 500;
  padding-bottom: 18px;
}
.ifb-teaser-text {
  font-size: 18px;
  font-weight: 400;
}
.ifb-teaser-button {
  padding-top: 1.3rem;
}

footer .content-wrap {
  padding-top: 30px;
}
#footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #787476;
  font-size: 13px;
  font-weight: 600;
  padding: 30px 0;
  flex-wrap: wrap;
  row-gap: 30px;
}
#footer a, #footer a:hover, #footer a:active, #footer a:visited {
  color: #787476;
  text-decoration: none;
}

#footer-social-media {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 38px;
  order: 1;
}

#footer-links {
  flex-grow: 1;
  order: 2;
  display: flex;
  justify-content: space-evenly;
}

#footer-partner {
  display: flex;
  column-gap: 30px;
  align-items: center;
  order: 3;
}

#footer-copyright {
  flex: 0 0 100%;
  text-align: center;
  order: 4;
}

#footer img {
  width: 247px;
  display: block;
  padding-bottom: 33px;
}



#jump-top-link {
  position: fixed;
  right: 50px;
  bottom: 50px;
}
#jump-top-link .fa-2x {
  font-size: 1.7em;
}

#jump-top-link .fa-circle {
  color: var(--design_blue);
}
#jump-top-link .fa-arrow-up {
  color: #fff;
}


.slide-out-link-1 {
  position: fixed;
  top: calc(50% - 29px);
  right: 0;
  transform: translateY(-50%);
  gap: 10px;
}

.slide-out-link-2 {
  position: fixed;
  top: calc(50% + 29px);
  right: 0;
  transform: translateY(-50%);
  gap: 10px;
}

.slide-link {
  position: relative;
  width: 64px;
  height: 48px;
  background-color: var(--design_blue);
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  transition: width 0.3s ease;
  border-radius: 5px 0 0 5px;
  display: flex;
  gap: 10px;
  padding: 8px;
}

.slide-link:hover {
  width: 225px;
}

.slide-link span {
  font-size: 16px;
  font-weight: 500;
}

.slide-link img {
  display: block;
  height: 100%;
  width: 48px !important;
  object-fit: contain;
  flex: 0 0 48px;
}




.imgleft {
  float: left;
  margin-right: 30px;
  margin-bottom: 20px;
}
.imgright {
  float: right;
  margin-left: 30px;
  margin-bottom: 20px;
}
.clear {
  clear: both;
}
.absatz-buttons {
	display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1rem;
}

.bildgala {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
}
.bildgala img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}


.img-container, .img-container a {
  position: relative;
  display: block;
}
.img-container img {
  border-radius: var(--bilder_border_radius);
}
.img-icon {
	position: absolute;
  right: 5px;
  bottom: 5px;
  background-color: var(--design_blue);
  width: 35px;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 35px;
  border: 1px solid #fff;
}
.img-icon svg {
  color: #fff;
}

.inh-abs-titel {
  padding-bottom: 0.5rem;
}

.bildgala + .absatz-buttons {
  padding-top: 2rem;
}
.inh-abs-text + .bildgala {
  padding-top: 1rem;
}
.inh-abs-text + .absatz-buttons {
  padding-top: 0.5rem;
}

.absatz-buttons  + .absatz-downloads {
  padding-top: 1rem;
}

.content-element + .content-element {
  margin-top: 3rem;
}
.inh-abs-text a, .inh-abs-text a:hover, .inh-abs-text a:active, .inh-abs-text a:focus {
  font-weight: 600;
}
.formular a, .formular a:hover, .formular a:active, .formular a:focus {
  color: #636363;
  font-weight: 600;
}

.content-element h2 {
  font-size: 32px;
  font-weight: 500;
  color: var(--design_blue);
}
.content-element h3 {
  font-size: 26px;
  font-weight: 400;
}

#mobile-header {
  display: none;
}


.blauer-balken {
  background-color: var(--design_blue);
  position: relative;
  text-align: center;
  color: #fff;
  border-radius: 6px;
  padding: 6px 15px;
  /*margin: 3.5rem 0 4.5rem 0;*/
  margin: 3.5rem 0 3.5rem 0;
}
.blauer-balken h3 {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 0;
}
.blauer-balken-spitze {
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 30px;
  height: 30px;
  background-color: var(--design_blue);
  z-index: -1;
  display: none;
}

/*
.inh-abs-text ul {
  list-style-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'><rect width='15' height='13' x='0' y='0' rx='2' ry='2' fill='%239ec644' /></svg>");
}
*/
.inh-abs-text ul {
  list-style: none !important;
  padding-left: 0;
}
.inh-abs-text ul li {
  position: relative;
  padding-left: 47px;
}
.inh-abs-text ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1px;
  width: 24px;
  height: 24px;
  /*background-image: url('/static/kvg24/fontawesome-free-6.6.0-web/svgs/solid/circle-arrow-right.svg');*/
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 640 640'><path fill='%23117bb7' d='M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM361 417C351.6 426.4 336.4 426.4 327.1 417C317.8 407.6 317.7 392.4 327.1 383.1L366.1 344.1L216 344.1C202.7 344.1 192 333.4 192 320.1C192 306.8 202.7 296.1 216 296.1L366.1 296.1L327.1 257.1C317.7 247.7 317.7 232.5 327.1 223.2C336.5 213.9 351.7 213.8 361 223.2L441 303.2C450.4 312.6 450.4 327.8 441 337.1L361 417.1z'/></svg>");;
  background-size: contain;
  background-repeat: no-repeat;
}

/*.inh-abs-text ul {
  list-style-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 640 640'><path fill='%23117bb7' d='M320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320C64 461.4 178.6 576 320 576zM361 417C351.6 426.4 336.4 426.4 327.1 417C317.8 407.6 317.7 392.4 327.1 383.1L366.1 344.1L216 344.1C202.7 344.1 192 333.4 192 320.1C192 306.8 202.7 296.1 216 296.1L366.1 296.1L327.1 257.1C317.7 247.7 317.7 232.5 327.1 223.2C336.5 213.9 351.7 213.8 361 223.2L441 303.2C450.4 312.6 450.4 327.8 441 337.1L361 417.1z'/></svg>");
}*/
.inh-abs-text ul li {
  padding-bottom: 1rem;
}


.absatz-downloads > div {
  display: flex;
  align-items: center;
  padding: 14px 0 12px 10px;
  border-bottom: 1px solid #938F91;
  font-size: 20px;
  font-weight: 500;
}
.absatz-downloads a {
  /* text-decoration: none; */
}
.absatz-downloads > div div:nth-child(1){
  flex: 0 0 35px;
  color: var(--design_blue);
}
.absatz-downloads > div div:nth-child(2){
  flex-grow: 1;
}
.absatz-downloads > div *:nth-child(3){
  flex: 0 0 32px;
  text-align: center;
}
.absatz-downloads > div *:nth-child(3) a {
  color: var(--design_blue);
}

.verkehrsmeldung {
  font-size: 16px;
}
.verkehrsmeldung h2 {
  color: var(--design_blue);
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 0;
}
.vkm-trenner {
  width: 60%;
  height: 2px;
  background-color: #6B6A6A;
  margin: 80px 0 80px auto;
}


.linien-downloads > div {
  display: flex;
  align-items: center;
  padding: 14px 0 12px 10px;
  border-bottom: 1px solid #938F91;
  font-size: 20px;
  font-weight: 500;
  gap: 20px;
}
.linien-downloads a {
  /* text-decoration: none; */
}

.linien-downloads > div div:nth-child(1){
  flex: 0 0 48px;
}
.linien-downloads > div div:nth-child(1) img{
  display: block;
  width: 100%;
}
.linien-downloads > div div:nth-child(2){
  flex-grow: 1;
}
.linien-downloads > div > div:nth-child(2) > div{
  display: flex;
  align-items: center;
  gap: 20px;
}
.linien-downloads > div > div:nth-child(2) > div > div:nth-child(1){
  font-size: 36px;
}
.linien-downloads > div > div:nth-child(2) > div > div:nth-child(2){
  flex-grow: 1;
}
.linien-downloads > div *:nth-child(3){
  flex: 0 0 32px;
  text-align: center;
}
.linien-downloads > div *:nth-child(3) a {
  color: var(--design_blue);
}



.formular {
  padding: 42px;
  background-color: #D9D9D9;
  border-radius: 6px;
}
.form-headline {
  font-size: 24px;
  font-weight: 600;
  padding-bottom: 20px;
}



.haltestellenkarte-legende {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  padding-left: 0;
}
.haltestellenkarte-legende li {
  display: flex;
  gap: 15px;
  align-items: center;
}


.haltestellenkarte-kategorien {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: 1fr;
  grid-column-gap: 30px;
  grid-row-gap: 30px;
}
.haltestellenkarte-kategorien button {
  display: flex;
  gap: 15px;
  align-items: center;
}

.map-poi-daten {
  font-size: 18px;
}




.standort-auswahl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-column-gap: 50px;
  grid-row-gap: 50px;
}



/* Haltestellen Karte */
.map-fpl-daten              { max-height: 380px; max-width: 300px; min-height: 50px; min-width: 150px; }
.fpl-bhf-name               { font-size: 17px !important; font-weight: bold !important; }
.fpl-bhf-gebiet             { font-size: 15px !important; }
.fpl-zeiten                 { max-height: 270px; overflow-y: scroll; }
.fpl-table td               { padding: 2px; vertical-align: top; }
.fpl-table-head             { font-weight: bold; }
.fpl-linie-nr               { width: 32px; white-space: nowrap; }
.fpl-abfahrt-zeit           { width: 50px; white-space: nowrap; }
.fpl-station-name           { width: 160px; white-space: nowrap; }
.fpl-error-server-message   { display:none; }
.fpl-stoerung-info          { margin-bottom: 20px; }




.box-stoerung {
  padding: 10px !important;
  border: 6px solid var(--design_blue);
}

.box-stoerung .box-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.box-stoerung .box-image a {
  font-size: 105pt;
  color: var(--design_blue);
  text-align: center;
}


.verkaufsstellen section > div {
  padding: 35px 0;
}
.verkaufsstelle {
  display: grid;
  grid-template-columns: 1fr 1fr 396px;
  grid-template-rows: 1fr;
  grid-column-gap: 50px;
  grid-row-gap: 50px;
}
.vks-bild img {
  display: block;
  width: 100%;
  height: 237px;
  object-fit: cover;
  aspect-ratio: 3 / 2;
  border-radius: var(--bilder_border_radius);
}
.verkaufsstelle-titel h2 {
  font-size: 32px;
  font-weight: 500;
  color: var(--design_blue);
  border-bottom: 1px solid #6B6A6A;
  padding-bottom: 20px;
  margin-bottom: 20px;
}



.daten-liste {
  display: grid;
  grid-template-columns: 33.3% 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 50px;
  grid-row-gap: 90px;
}
.daten-liste > div:nth-child(odd) a{
  position: relative;
  display: block;
}
.daten-liste-img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--bilder_border_radius);
}

.aktuelles-titel {
  color: var(--design_blue);
}
.aktuelles-titel h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
  padding-bottom: 25px;
}
.aktuelles-teaser {
  font-weight: 400;
}
.aktuelles-link {
  padding-top: 25px;
}
.aktuelles-link a {
  text-decoration: none;
}


.stellenangebot-titel {
  color: var(--design_blue);
}
.stellenangebot-titel h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
  padding-bottom: 25px;
}
.stellenangebot-teaser {
  font-weight: 400;
}
.stellenangebot-link {
  padding-top: 25px;
}
.stellenangebot-link a {
  text-decoration: none;
}


.presse-titel {
  color: var(--design_blue);
}
.presse-titel h2 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
  padding-bottom: 20px;
}
.presse-teaser {
  font-weight: 400;
}
.presse-link {
  padding-top: 20px;
}
.presse-link a {
  text-decoration: none;
}



/* Consent Banner */
#consent-banner { position: fixed; bottom: 0; left: 0; width: 100%; background-color: rgba(0,0,0,0.85); z-index: 5000; color: #fff; font-size: 11pt; }
#consent-banner, #consent-banner * { box-sizing: border-box; }
#consent-banner-center { max-width: 1000px; padding: 10px; display: flex; gap: 35px; margin: 0 auto; }
#consent-banner-left { flex-grow: 1; }
#consent-banner-right { flex: 0 0 175px; }

#content-banner-buttons { display: flex; flex-direction: column; gap: 8px; }
.consent-banner-button > button { width: 100%; }

#consent-banner-text { padding-bottom: 10px; }
#consent-banner-links { display: flex; gap: 20px; }
#consent-banner-links a, #consent-banner-links a:hover { text-decoration: underline; font-weight: bold; color: #c3c3c3; }

#consent-banner-checkboxen { display: flex; gap: 30px; padding-top: 10px; flex-wrap: wrap; }

.cb-btn { background-color: #3c2353; color: #fff; border: 1px solid #d3d3d3; border-radius: 3px; padding: 6px; cursor: pointer; }
/*.form-check { display: flex; gap: 5px; }*/


.consent-banner-unblock-info { background-color: #F1F1F1; text-align: center; padding: 15px; }
.consent-banner-unblock-info-text p { padding-bottom: 0; margin-bottom: 0; }
.consent-banner-unblock-info-link { padding-top: 10px; }
.consent-banner-unblock-info-button { padding-top: 15px; }


@media screen and (max-width: 1024px){
  #consent-banner-center { flex-direction: column; gap: 15px; }
  #consent-banner-left { flex: 0 0 100%; }
  #consent-banner-right { flex: 0 0 auto; }
  #content-banner-buttons { flex-direction: row; justify-content: center; }
  .consent-banner-button { flex: 0 0 175px; }
}
@media screen and (max-width: 768px){
  #content-banner-buttons { flex-direction: column; gap: 12px; }
  .consent-banner-button { flex: 0 0 auto; }
}
@media screen and (max-width: 450px){
  #content-banner-buttons { flex-direction: column; gap: 10px; }
  .consent-banner-button { flex: 0 0 auto; }
}
/* Consent Banner */

.cookie-informationen { display: table; box-sizing: border-box; padding-bottom: 25px; }
.cookie-informationen * { box-sizing: border-box; }
.cookie-row { display: table-row; }
.cookie-info-name { display: table-cell; vertical-align: top; white-space: nowrap; padding: 0 0 5px 0; font-weight: bold; font-style: italic; }
.cookie-info-text { display: table-cell; vertical-align: top; padding: 0 0 5px 10px; }
.cookie-info-text p:last-child { margin-bottom: 0; }

.iframe-daten-info { text-align: center; background-color: rgb(0 0 0 / 15%); padding: 4% 2%; }


@media (max-width: 1920px) {
  :root {
    --scale: 1; /* Skalierung aus */
  }
  .scale-root {
    transform: none;
    min-height: 50px;
    margin-top: 87px;
  }
  #wrap-desktop-nav {
    padding-top: 0;
    transform: none;
  }

}


@media screen and (max-width: 1300px){
  :root {
    --abstand_wrap: 20px;
  }
  #jump-top-link {
    right: 25px;
    bottom: 25px;
  }
}

@media screen and (max-width: 1200px){
  .boxen-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .box-image {
    height: 215px;
  }
  .box-image img {
    height: 215px;
  }
}

@media screen and (max-width: 1100px){
  #header-desktop {
    display: none;
  }
  #mobile-header {
    display: flex;
    justify-content: space-between;
    padding: 10px 30px 10px 40px;
    position: sticky;
    top: 0;
    background-color: #fff;
    z-index: 500;
  }
  #mobile-header-logo img {
    display: block;
    height: 50px;
  }
  #mobile-header-navigation a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 28pt;
    height: 50px;
    width: 50px;
  }
  #mobile-menu-logo {
    display: block;
    height: 50px;
  }
  #wrap-desktop-nav {
    display: none;
  }
  .scale-root {
    margin-top: 0;
  }
  #start-verbindungssuche-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ifb-teaser-content {
    padding: 20px;
  }
  .haltestellenkarte-kategorien {
    grid-template-columns: repeat(4, 1fr);
  }

}

@media screen and (max-width: 1000px){
  #footer {
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
  }

  #footer-partner {
    order: 1;
    display: flex;
    column-gap: 30px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
  }

  #footer-links {
    order: 2;
    flex: 0 0 100%;
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
  }

  #footer-copyright {
    order: 3;
    flex: 0 0 100%;
    text-align: center;
  }

  #footer-social-media {
    flex: 0 0 100%;
    justify-content: center;
    order: 4;
  }

  #big-picture-img {
    height: auto;
  }
  #big-picture-content {
    position: static;
    background-color: var(--design_blue);
    height: auto;
    width: auto;
    padding: 20px;
  }
  #big-picture-img-overlay {
    display: none;
  }
  .slide-out-link-1, .slide-out-link-2 {
    display: none;
  }
  .wrap {
    padding: 0 12px;
  }
  #main-content {
    padding-left: 0;
    padding-right: 0;
  }
  .boxen-grid {
    grid-template-columns: 1fr;
  }
  .ifb-teaser-content {
    flex-direction: column;
  }
  .ifb-teaser-image {
    flex: 0 0 100%;
  }
  #jump-top-link {
    display: none !important;
  }
  .haltestellenkarte-kategorien {
    grid-template-columns: repeat(3, 1fr);
  }
  .big-picture-wrap {
    padding: 0;
  }
  #mobile-header {
    padding: 10px 5px 10px 12px;
  }
  .standort-auswahl {
    grid-template-columns: repeat(2, 1fr);
  }
  .box-image {
    height: auto;
  }
  .box-image img {
    height: auto;
  }
  .verkaufsstelle {
    grid-template-columns: 1fr;
  }
  .daten-liste {
    grid-template-columns: 1fr;
    grid-row-gap: 30px;
  }
  .daten-liste > div:nth-child(even){
    padding-bottom: 60px
  }
  .bildgala {
    grid-template-columns: repeat(3, 1fr);
  }
  .vks-bild img {
    height: auto;
  }
  .content-wrap h1 {
    font-size: calc(1.375rem + 1.5vw);
  }
  .content-element h2, .aktuelles-titel h2, .verkaufsstelle-titel h2 {
    font-size: calc(1.325rem + 0.9vw);
  }
  .blauer-balken h3, .content-element h3 {
    font-size: calc(1.3rem + 0.6vw);
  }
}

@media screen and (max-width: 765px){
  #start-verbindungssuche-grid {
    grid-template-columns: 1fr;
  }
  .haltestellenkarte-legende {
    grid-template-columns: 1fr;
  }
  .haltestellenkarte-kategorien {
    grid-template-columns: 1fr;
  }
  .standort-auswahl {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
  }
  .bildgala {
    grid-template-columns: repeat(2, 1fr);
  }
  #main-content {
    padding-top: 30px;
  }
  .content-wrap h1 {
    padding-bottom: 25px;
  }
  #big-picture-img {
    aspect-ratio: 3 / 2;
  }
  #start-verbindungssuche > a, #start-verbindungssuche > button {
    font-size: 5vw;
  }
}





#designbody { background: none; background-color: #fff !important; color: #1b1b1b; font-size: 10pt; font-weight: 400; font-family: Arial, Sans-serif; }
#designbody ul, ol { padding-left: 21px; }
#designbody p { padding-bottom: 1rem; }
.mceContentBody { padding-top: 0!important; }
/*#designbody ul { list-style-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='13' viewBox='0 0 15 13'><rect width='15' height='13' x='0' y='0' rx='2' ry='2' fill='%239ec644' /></svg>"); }*/
#designbody li { padding-bottom: 1rem; }
