:root {
  --asv-sz: 60px;
  --asv-faz: 112px;
}

.sz .format .header-civd {
  height: calc(100vh - var(--asv-sz));
}

.faz .format .header-civd {
  height: calc(100vh - var(--asv-faz));
}

.footer-copyright {
  text-align: center;
}

.icon-sprite {
  position: absolute;
  display: none;
  width: 0;
  height: 0;
}

:root {
  --color-route-1-primary: #005011;
  --color-route-1-secondary: #EAF6EA;
  --color-route-2-primary: #740000;
  --color-route-2-secondary: #F6EAEA;
  --color-route-3-primary: #003169;
  --color-route-3-secondary: #DFEBFF;
  --color-route-4-primary: #A30047;
  --color-route-4-secondary: #FFDFED;
  --color-route-5-primary: #C58000;
  --color-route-5-secondary: #FFF5DF;
  --color-route-6-primary: #007797;
  --color-route-6-secondary: #DFF8FF;
  --color-route-7-primary: #6C6397;
  --color-route-7-secondary: #E1DFEB;
  --color-route-8-primary: #D44300;
  --color-route-8-secondary: #F8E1D6;
  --black: #000;
  --white: #fff;
  --font-color: #656565;
  --light-blue: #9BBDF6;
  --line-color: #DEDEDE;
  --serif: "Playfair Display", serif;
  --sans: "Lexend", sans-serif;
}

.doc-footer-wrapper {
  font-family: "source-sans-3", sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

.iqd_ai_protection {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .custom-1b8s9m4 {
    padding-bottom: 180px !important;
  }
}
html.overlay-open,
body.overlay-open {
  overflow: hidden;
}

body {
  position: relative !important;
  background-color: #FFFBF4 !important;
  margin: 0 !important;
  overflow-x: hidden;
}

.sz .format .overlay-modal .overlay .overlay-content .textbox-with-color ul {
  margin-block-start: 1em;
  margin-block-end: 1em;
  padding-inline-start: 40px;
}

.format {
  box-sizing: border-box;
  position: relative;
  background-color: #FFFBF4 !important;
}
.format p {
  font-size: 16px !important;
  hyphens: auto;
  color: var(--black) !important;
  font-family: var(--serif);
}
.format strong {
  margin-block-start: 1em !important;
  margin-block-end: 1em !important;
  font-weight: 500 !important;
}
.format a {
  font-size: 16px !important;
  margin: 0;
}
.format .header-civd {
  width: 100%;
  height: 100svh;
  position: relative;
}
.format .header-civd .header-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.format .header-civd .header-stage {
  width: calc(50% - 96px);
  position: absolute;
  background: rgba(0, 0, 0, 0.4);
  height: 100%;
  top: 0;
  right: 0;
  padding: 48px;
  display: flex;
  align-content: center;
}
.format .header-civd .header-stage .header-content {
  max-width: 650px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  justify-content: center;
  text-align: start !important;
}
.format .header-civd .header-stage .subheadline {
  color: #FFF;
  font-family: Bree;
  font-size: 20px;
  font-style: normal;
  font-weight: 350;
  letter-spacing: 2.3px;
  text-transform: uppercase;
}
.format .header-civd .header-stage h1 {
  color: #FFF;
  font-family: "Playfair Display";
  font-size: 70px;
  font-style: normal;
  font-weight: 400;
  line-height: 70px;
  letter-spacing: 1px;
  margin: 0;
}
.format .header-civd .header-stage .subline {
  color: #FFF;
  font-family: Bree;
  font-size: 20px;
  font-style: normal;
  font-weight: 350;
  line-height: 130%;
}
.format .header-civd .scroll-hint {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin: 0;
  position: relative;
  margin-top: 50px;
}
.format .header-civd .scroll-hint p {
  margin: 0 0 12px;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  opacity: 0.8;
}
.format .header-civd .scroll-hint .dots {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.format .header-civd .scroll-hint .dots span {
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #fff;
  opacity: 0.25;
  animation: dot-wave 1.6s ease-in-out infinite;
}
.format .header-civd .scroll-hint .dots span:nth-child(1) {
  animation-delay: 0s;
}
.format .header-civd .scroll-hint .dots span:nth-child(2) {
  animation-delay: 0.2s;
}
.format .header-civd .scroll-hint .dots span:nth-child(3) {
  animation-delay: 0.4s;
}
.format .header-civd .scroll-hint .dots span:nth-child(4) {
  animation-delay: 0.6s;
}
.format .header-civd .scroll-hint .dots span:nth-child(5) {
  animation-delay: 0.8s;
}
@keyframes dot-wave {
  0%, 100% {
    opacity: 0.25;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(3px);
  }
  60% {
    opacity: 0.25;
    transform: translateY(0);
  }
}
.format .header-civd .scroll-hint p {
  color: var(--white) !important;
  font-family: "Lexend";
  font-weight: 300;
  transform: rotate(90deg) translateX(-60px);
  text-transform: uppercase;
  width: 10px;
}
.format .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 64px;
  margin: 48px 0;
}
.format .content .intro {
  max-width: 650px;
}
.format .content .intro .text .initial {
  font-size: 5rem;
  float: left;
  margin: -20px 6px -12px 0;
}
.format .content .dachzeile {
  display: flex;
  gap: 16px;
  align-items: center;
}
.format .content .dachzeile p {
  color: var(--font-color) !important;
  font-family: var(--sans);
  text-transform: uppercase;
  font-size: 14px !important;
  letter-spacing: 2px;
  font-weight: 200;
  margin: 0;
}
.format .content .dachzeile .line {
  width: 100px;
  height: 1px;
  background: var(--font-color);
  border: none;
}
.format .content .quote {
  max-width: 650px;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
}
.format .content .quote .line {
  background: var(--ink);
  height: stretch;
  height: webkit-fill-available;
  width: 6px;
}
.format .content .quote p {
  font-size: 2rem !important;
  margin: 8px 0 16px 0 !important;
}
.format .headline {
  font-family: var(--serif);
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 24px;
}
.format .headline h2 {
  font-family: var(--serif);
  font-size: 3rem;
  margin: 0;
  font-weight: 200;
}
.format .headline h3 {
  font-family: var(--serif);
  font-weight: 100;
  font-size: 1.5rem;
  margin: 0;
}
.format .map-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100svh;
  width: 100%;
}
.format .map-container .infobox-overlay {
  position: absolute;
  top: 2rem;
  left: 4rem;
  border-radius: 20px;
  background-color: var(--white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  padding: 34px;
  max-width: 500px;
  display: flex;
  gap: 16px;
  align-items: center;
  z-index: 20;
}
.format .map-container .infobox-overlay svg {
  min-width: 50px;
}
.format .map-container .infobox-overlay h4 {
  color: #00142A;
  font-family: Lexend;
  margin: 0;
  font-size: 1rem;
}
.format .map-container .map {
  width: 100%;
  height: 100svh;
  transform-origin: 50% 50%;
  font-weight: 300;
  z-index: 2;
  overflow: visible;
}
.format .map-container .map .name,
.format .map-container .map .route,
.format .map-container .map .point {
  cursor: pointer;
}
.format .map-container .map .name:hover,
.format .map-container .map .route:hover,
.format .map-container .map .point:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
}
.format .map-container .map #dot {
  vector-effect: non-scaling-stroke;
  paint-order: stroke fill;
}
.format .footer-container {
  height: 660px;
  width: 100%;
  position: relative;
}
.format .footer-container .footer-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.format .footer-container .footer-text {
  height: 660px;
  max-width: 650px;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
  justify-content: center;
  color: var(--white) !important;
  padding: 48px;
  background: rgba(0, 0, 0, 0.7);
  align-items: flex-start;
}
.format .footer-container .footer-text p {
  color: var(--white) !important;
  font-family: var(--sans);
}
.format .social-share {
  max-width: 1000px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.format .social-share p {
  text-transform: uppercase;
  font-family: var(--sans);
  text-align: center;
  margin: 0;
}
.format .social-share .social-links {
  display: flex;
  gap: 48px;
}
.format .social-share .social-links .social-icon {
  transform-origin: center;
  transition: scale 3s;
}
.format .social-share .social-links .social-icon:hover {
  transform: scale(1.05);
}
.format .social-share .footer-copyright {
  text-align: center;
  margin-bottom: 48px;
}

@font-face {
  font-family: "Lexend";
  src: url("../media/Lexend-VariableFont_wght.ttf");
}
:root {
  --paper: #fcfaf6;
  --ink: #292821;
  --muted: #77756f;
  --line: #dedbd4;
  --accent: #9d171b;
  --accent-soft: #f4e5e2;
}

* {
  box-sizing: border-box;
}

.map {
  overflow: hidden;
  max-width: 1000px;
}
.map .map-shell {
  padding: 0 28px;
}
.map .map-frame {
  position: relative;
  overflow: hidden;
}
.map .map-frame {
  aspect-ratio: 1104/923;
}
.map .map-art {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
}
.map .map-pin-layer {
  position: absolute;
  inset: 0;
}
.map .map-pin {
  position: absolute;
  z-index: 2;
  display: block;
  width: clamp(17px, 2.4vw, 28px);
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: translate(-50%, -100%);
  transition: transform 0.2s ease;
}
.map .map-pin .pin-glyph {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 25/42;
  color: #525252;
  transition: all 0.5s ease;
}
.map .map-pin.is-active .pin-glyph {
  background-position: center bottom;
}
.map .pin-copy {
  position: absolute;
  z-index: 3;
  bottom: -3px;
  left: calc(100% + 12px);
  display: flex;
  flex-direction: column;
  color: #292821;
  text-align: left;
  white-space: nowrap;
  pointer-events: auto;
  cursor: pointer;
}
.map .pin-copy small {
  color: #77736d;
  font-size: 14px;
  line-height: 1.2;
  font-family: var(--sans);
  font-weight: 300;
}
.map .pin-copy strong {
  line-height: 1.2;
  font-weight: 400;
  font-size: 1.3rem;
  font-family: "Lexend";
  margin: 0 !important;
}
.map .map-pin.label-left .pin-copy {
  right: calc(100% + 12px);
  left: auto;
  text-align: right;
}
.map .map-pin:hover .pin-copy strong,
.map .map-pin:focus-visible .pin-copy strong {
  color: var(--accent);
}
.map .map-pin:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 50%;
}
.map .map-pin:hover .pin-glyph,
.map .map-pin:focus-visible .pin-glyph,
.map .map-pin.is-active .pin-glyph {
  color: var(--accent);
}
.map .map-pin:hover .pin-glyph {
  transform: translateY(-10px);
}
.map .pin {
  cursor: pointer;
  outline: none;
}
.map .pin-shape {
  fill: #5c5b56;
  transition: fill 0.2s ease, transform 0.2s ease;
  transform-box: fill-box;
  transform-origin: center;
}
.map .pin-dot {
  fill: #fffdfa;
}
.map .pin-label {
  fill: #25241f;
  font: 600 13px var(--sans);
}
.map .pin-kicker {
  fill: #77736d;
  font: 500 9px var(--sans);
}
.map .pin:hover .pin-shape,
.map .pin:focus-visible .pin-shape {
  fill: var(--accent);
  transform: translateY(-3px);
}
.map .pin.is-active .pin-shape {
  fill: var(--accent);
}
.map .pin:focus-visible .pin-focus {
  opacity: 1;
}
.map .pin-focus {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2;
  opacity: 0;
}
.map .route-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 34px 10px;
}
.map .route-title {
  margin: 0;
  font: 400 19px var(--serif);
}
.map .route-hint {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-family: var(--sans);
}
.map .carousel {
  position: relative;
  width: 100%;
  padding: 4px 0 14px;
}
.map .track {
  display: flex;
  gap: 16px;
  width: max-content;
  padding: 0 20px;
  transform: translateX(0);
  transition: transform 650ms cubic-bezier(0.22, 0.8, 0.22, 1);
  will-change: transform;
}
.map .tile {
  position: relative;
  display: flex;
  flex: 0 0 clamp(240px, 30vw, 326px);
  height: 350px;
  overflow: hidden;
  flex-direction: column;
  justify-content: end;
  padding: 20px 20px 18px;
  color: white;
  text-align: left;
  border: 0;
  background: #b7b3a7;
  cursor: pointer;
  isolation: isolate;
  opacity: 0.55;
  transform: scale(0.94);
  transition: opacity 400ms ease, transform 500ms cubic-bezier(0.2, 0.75, 0.25, 1), box-shadow 300ms ease;
}
.map .tile-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms ease;
}
.map .tile:hover .tile-image {
  transform: scale(1.04);
}
.map .tile::after {
  content: "";
  position: absolute;
  inset: 27% 0 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 0%, rgba(18, 21, 24, 0.25) 35%, rgba(17, 20, 22, 0.76) 100%);
}
.map .tile:hover::before {
  transform: scale(1.04);
}
.map .tile.is-active {
  opacity: 1;
  transform: scale(1);
  box-shadow: 0 9px 22px rgba(38, 34, 28, 0.17);
}
.map .tile:focus-visible,
.map .arrow:focus-visible,
.map .modal-close:focus-visible,
.map .modal-action:focus-visible {
  outline: 3px solid #bd6b53;
  outline-offset: 3px;
}
.map .scene {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.map .badge {
  align-self: flex-start;
  margin-bottom: 11px;
  padding: 5px 8px 4px;
  color: white;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.38);
  border-radius: 2px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
  backdrop-filter: blur(5px);
}
.map .tile h3 {
  max-width: 260px;
  margin: 0 0 7px;
  font: 400 27px/0.99 var(--sans);
  letter-spacing: -0.025em;
}
.map .tile p {
  max-width: 260px;
  margin: 0;
  color: #fff !important;
  font: 300 var(--sans) !important;
  font-size: 12px;
  line-height: 1.4;
}
.map .carousel-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 1px;
}
.map .arrow {
  width: 38px;
  height: 34px;
  padding: 0;
  color: #494740;
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}
.map .arrow:hover {
  color: var(--accent);
  transform: translateY(-1px);
}
.map .arrow:disabled {
  opacity: 0.35;
  cursor: default;
  transform: none;
}
.map .arrow svg {
  width: 19px;
  height: 14px;
  vertical-align: middle;
}
.map .dots {
  display: flex;
  gap: 6px;
  align-items: center;
}
.map .dot {
  width: 5px;
  height: 5px;
  padding: 0;
  background: #d4d0c8;
  border: 0;
  border-radius: 99px;
  cursor: pointer;
  transition: width 0.25s, background 0.25s;
}
.map .dot.is-active {
  width: 19px;
  background: var(--accent);
}
.map .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.map .overlay-modal {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(22, 21, 19, 0.68);
  opacity: 0;
  visibility: hidden;
  transition: opacity 240ms ease, visibility 240ms ease;
}
.map .overlay-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.map .overlay {
  position: relative;
  width: min(920px, 100%);
  max-height: min(90vh, 900px);
  overflow-y: auto;
  background: var(--paper);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  transform: translateY(12px) scale(0.99);
  transition: transform 300ms ease;
}
.map .overlay-modal.is-open .overlay {
  transform: translateY(0) scale(1);
}
.map .close-btn {
  position: sticky;
  top: 12px;
  float: right;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin: 12px 12px -50px 0;
  color: #282720;
  background: rgba(252, 250, 246, 0.94);
  border: 0;
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.map .close-btn:focus-visible,
.map .share-button:focus-visible {
  outline: 3px solid #bd6b53;
  outline-offset: 3px;
}
.map .overlay-header {
  display: flex;
  align-items: end;
  min-height: 250px;
  padding: 34px;
  color: white;
  background: #70827b;
}
.map .overlay-headline {
  max-width: 650px;
}
.map .tag {
  display: inline-block;
  margin-bottom: 13px;
  padding: 6px 10px;
  color: white;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.42);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.map .overlay-headline h2 {
  margin: 0 0 10px;
  font: 400 clamp(31px, 5vw, 48px)/1 var(--serif);
  letter-spacing: -0.03em;
}
.map .subline {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 14px;
}
.map .overlay-content {
  padding: 27px 34px 40px;
}
.map .specs-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.map .specs-card {
  min-height: 83px;
  padding: 14px;
  background: #f1eee8;
  border-top: 2px solid #aaa69c;
}
.map .specs-card.pink {
  border-color: #c86d84;
}
.map .specs-card span {
  display: block;
  margin-bottom: 9px;
  color: #77736d;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.map .specs-card strong {
  font: 400 16px/1.2 var(--serif);
}
.map .share-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 17px;
}
.map .share-button {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 13px;
  color: #fff;
  background: var(--accent);
  border: 1px solid var(--accent);
  text-decoration: none;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.map .share-button.share {
  color: #4c4942;
  background: transparent;
  border-color: #c9c4bb;
}
.map .divider {
  height: 1px;
  margin: 24px 0;
  background: #e4dfd7;
}
.map .overlay-intro h3,
.map .overlay-section h3 {
  margin: 0 0 10px;
  font: 400 24px var(--serif);
}
.map .overlay-intro p,
.map .textbox p {
  max-width: 760px;
  margin: 0;
  color: #5e5b55;
  font-size: 14px;
  line-height: 1.75;
}
.map .overlay-section {
  margin: 0;
}
.map .textbox {
  padding: 18px 20px;
  background: #f3f0ea;
  border-left: 3px solid #c7bba6;
}
.map .textbox h4 {
  margin: 0 0 8px;
  font: 400 19px var(--serif);
}
.map .text-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--accent);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
}
.map .text-link:hover {
  text-decoration: underline;
}
.map body.modal-open {
  overflow: hidden;
}
.map .modal {
  position: fixed;
  inset: 0;
  z-index: 20;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(22, 21, 19, 0.63);
  opacity: 0;
  visibility: hidden;
  transition: opacity 250ms ease, visibility 250ms ease;
}
.map .modal.is-open {
  opacity: 1;
  visibility: visible;
}
.map .modal-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, 1.05fr) minmax(260px, 0.95fr);
  width: min(820px, 100%);
  min-height: 420px;
  overflow: hidden;
  background: var(--paper);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.25);
  transform: translateY(14px) scale(0.985);
  transition: transform 350ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.map .modal.is-open .modal-panel {
  transform: translateY(0) scale(1);
}
.map .modal-visual {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  background: #c8c1b4;
}
.map .modal-visual .scene {
  z-index: 0;
}
.map .modal-visual::after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(180deg, transparent, rgba(12, 18, 20, 0.45));
}
.map .modal-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px 42px 38px;
}
.map .modal-copy .eyebrow {
  margin-bottom: 12px;
}
.map .modal-copy h2 {
  margin: 0 0 15px;
  font: 400 clamp(28px, 4vw, 40px)/1 var(--serif);
  letter-spacing: -0.03em;
}
.map .modal-copy p {
  margin: 0;
  color: #66645d;
  font-size: 14px;
  line-height: 1.7;
}
.map .modal-facts {
  display: flex;
  gap: 18px;
  margin: 22px 0 25px;
  padding: 15px 0;
  border-block: 1px solid #e7e2da;
}
.map .fact {
  display: grid;
  gap: 4px;
}
.map .fact strong {
  font: 400 19px var(--serif);
}
.map .fact span {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.map .modal-action {
  align-self: flex-start;
  padding: 11px 15px;
  color: white;
  background: var(--accent);
  border: 1px solid var(--accent);
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  transition: background 0.2s;
}
.map .modal-action:hover {
  background: #741115;
}
.map .modal-close {
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  color: #3d3a34;
  background: rgba(252, 250, 246, 0.94);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.map .modal-close svg {
  width: 15px;
  height: 15px;
}
.map body.modal-open {
  overflow: hidden;
}

@media (max-width: 700px) {
  .map .map-shell {
    padding: 0 10px;
  }
  .map .map-svg {
    min-height: 0;
  }
  .map .route-meta {
    padding: 17px 18px 9px;
  }
  .map .route-hint {
    line-height: 1.4;
  }
  .map .track {
    gap: 12px;
    padding: 0 12px;
  }
  .map .tile {
    flex-basis: min(78vw, 315px);
    height: 278px;
    padding: 18px;
  }
  .map .overlay-modal {
    padding: 10px;
  }
  .map .overlay {
    max-height: calc(100dvh - 20px);
  }
  .map .overlay-header {
    min-height: 190px;
    padding: 24px 20px;
  }
  .map .overlay-content {
    padding: 21px 17px 27px;
  }
  .map .specs-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .map .close-btn {
    margin-top: 10px;
    margin-right: 10px;
  }
  .map .modal {
    padding: 12px;
  }
  .map .modal-panel {
    display: flex;
    flex-direction: column;
    max-width: 470px;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
  }
  .map .modal-visual {
    min-height: 215px;
    height: 34vh;
  }
  .map .modal-copy {
    padding: 27px 24px 25px;
  }
  .map .modal-facts {
    margin: 16px 0 19px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
.format .overlay-modal {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 6vh 6vw;
  z-index: 9999;
}
.format .overlay-modal::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}
.format .overlay-modal.is-open {
  display: flex;
}
.format .overlay-modal .overlay {
  max-width: 1000px;
  height: 80vh;
  overflow: scroll;
  overflow-x: hidden;
  background-color: var(--white);
  position: relative;
  font-family: Bree;
}
.format .overlay-modal .overlay .overlay-header {
  position: relative;
  display: inline-flex;
  width: 100%;
  background-position: center;
  background-size: cover;
  color: var(--white);
  height: 420px;
}
.format .overlay-modal .overlay .overlay-header .header-map {
  position: absolute;
  right: 0;
  height: 420px;
}
.format .overlay-modal .overlay .overlay-header.header-rheingau {
  background-image: url("../media/header_01.webp");
}
.format .overlay-modal .overlay .overlay-header.header-freiburg {
  background-image: url("../media/header_02.webp");
}
.format .overlay-modal .overlay .overlay-header.header-metz {
  background-image: url("../media/header_03.webp");
}
.format .overlay-modal .overlay .overlay-header.header-chiemgau {
  background-image: url("../media/header_04.webp");
}
.format .overlay-modal .overlay .overlay-header.header-gardasee {
  background-image: url("../media/header_05.webp");
}
.format .overlay-modal .overlay .overlay-header.header-saechsische-schweiz {
  background-image: url("../media/header_06.webp");
}
.format .overlay-modal .overlay .overlay-header.header-seenplatte {
  background-image: url("../media/header_07.webp");
}
.format .overlay-modal .overlay .overlay-header.header-eifel {
  background-image: url("../media/header_08.webp");
}
.format .overlay-modal .overlay .overlay-header .tag {
  padding: 6px 16px;
  border-radius: 50px;
  display: flex;
  gap: 6px;
  font-weight: 300;
  align-items: center;
}
.format .overlay-modal .overlay .overlay-header .tag.genuss::before {
  content: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.59024 14V13.125H4.06016V9.16738C2.79929 8.97444 1.80737 8.42756 1.08442 7.52675C0.361475 6.62594 0 5.57535 0 4.375V0H9V4.375C9 5.57535 8.63852 6.62594 7.91557 7.52675C7.19262 8.42756 6.20071 8.97444 4.93984 9.16738V13.125H7.40976V14H1.59024ZM0.879679 3.9375H8.12032V0.875H0.879679V3.9375Z' fill='white'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-header .tag.kultur::before {
  content: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.33203 14C0.959798 14 0.644737 13.868 0.386842 13.6039C0.128947 13.3399 0 13.0173 0 12.6362V4.04761C0 3.6665 0.128947 3.34393 0.386842 3.07989C0.644737 2.81584 0.959798 2.68382 1.33203 2.68382H4.3785L7 0L9.6215 2.68382H12.668C13.0402 2.68382 13.3553 2.81584 13.6132 3.07989C13.8711 3.34393 14 3.6665 14 4.04761V12.6362C14 13.0173 13.8711 13.3399 13.6132 13.6039C13.3553 13.868 13.0402 14 12.668 14H1.33203ZM1.33203 12.8684H12.668C12.7247 12.8684 12.7767 12.8442 12.8238 12.7958C12.8711 12.7475 12.8947 12.6943 12.8947 12.6362V4.04761C12.8947 3.98952 12.8711 3.93633 12.8238 3.88805C12.7767 3.83964 12.7247 3.81544 12.668 3.81544H1.33203C1.27529 3.81544 1.22334 3.83964 1.17618 3.88805C1.1289 3.93633 1.10526 3.98952 1.10526 4.04761V12.6362C1.10526 12.6943 1.1289 12.7475 1.17618 12.7958C1.22334 12.8442 1.27529 12.8684 1.33203 12.8684ZM3.13158 11.171H10.925L8.50205 7.86324L6.43318 10.6197L4.9595 8.69007L3.13158 11.171ZM10.8401 7.5875C11.1092 7.5875 11.3372 7.492 11.5238 7.30101C11.7104 7.11002 11.8037 6.87665 11.8037 6.60092C11.8037 6.3253 11.7104 6.092 11.5238 5.90101C11.3372 5.71002 11.1092 5.61452 10.8401 5.61452C10.5709 5.61452 10.343 5.71002 10.1564 5.90101C9.96978 6.092 9.87645 6.3253 9.87645 6.60092C9.87645 6.87665 9.96978 7.11002 10.1564 7.30101C10.343 7.492 10.5709 7.5875 10.8401 7.5875ZM5.61418 2.68382H8.38582L7 1.26496L5.61418 2.68382Z' fill='white'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-header .tag.action::before {
  content: url("data:image/svg+xml,%3Csvg width='9' height='14' viewBox='0 0 9 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.46494 14L3.41274 3.81468C3.46509 3.54492 3.59009 3.33942 3.78773 3.19817C3.98526 3.05693 4.19159 2.98631 4.40672 2.98631C4.62584 2.98631 4.82926 3.03525 5.01697 3.13314C5.20457 3.23102 5.35482 3.3778 5.46773 3.57345L6.11538 4.63525C6.31798 4.96873 6.59906 5.2782 6.95861 5.56367C7.31817 5.84914 7.74124 6.06548 8.22784 6.21269V4.97719H9V14H8.22784V7.23235C7.68479 7.11069 7.17018 6.89905 6.68401 6.59743C6.19784 6.29581 5.76381 5.91102 5.38192 5.44305L4.91237 7.85516L6.2849 9.19502V14H5.31343V10.0501L3.66678 8.62082L2.49486 14H1.46494ZM1.60305 7.41485L0.395027 7.18125C0.263879 7.15227 0.160093 7.08232 0.0836706 6.97138C0.0072482 6.86033 -0.0168226 6.73419 0.011458 6.59295L0.497194 3.98822C0.557749 3.68107 0.72047 3.43581 0.985358 3.25243C1.25025 3.06916 1.53257 3.00854 1.83232 3.07059L2.4152 3.19436L1.60305 7.41485ZM5.47534 2.45043C5.14817 2.45043 4.86709 2.33004 4.6321 2.08926C4.39711 1.84847 4.27962 1.56046 4.27962 1.22522C4.27962 0.889976 4.39711 0.601963 4.6321 0.361177C4.86709 0.120392 5.14817 0 5.47534 0C5.8024 0 6.08343 0.120392 6.31841 0.361177C6.5534 0.601963 6.6709 0.889976 6.6709 1.22522C6.6709 1.56046 6.5534 1.84847 6.31841 2.08926C6.08343 2.33004 5.8024 2.45043 5.47534 2.45043Z' fill='white'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-header .overlay-headline {
  display: flex;
  gap: 0px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 30px;
  z-index: 2;
  max-width: 50%;
  gap: 12px;
}
.format .overlay-modal .overlay .overlay-header .overlay-headline h2 {
  font-size: 3rem;
  font-family: "Lexend";
  font-weight: 400;
  margin: 0;
  line-height: 110%;
}
.format .overlay-modal .overlay .overlay-header .overlay-headline .subline {
  font-family: "Lexend";
  margin: 0;
  font-weight: 200;
  font-size: 1.6rem;
  color: var(--white) !important;
}
.format .overlay-modal .overlay .overlay-content {
  padding: 34px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.format .overlay-modal .overlay .overlay-content h3 {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
  margin: 0;
}
.format .overlay-modal .overlay .overlay-content h4 {
  font-family: "Lexend";
  font-size: 1.5rem;
  font-weight: 400;
  margin: 0;
}
.format .overlay-modal .overlay .overlay-content p {
  font-weight: 300;
  color: var(--font-color);
  margin: 0;
  font-family: "Bree";
}
.format .overlay-modal .overlay .overlay-content a {
  text-decoration: underline;
  cursor: pointer;
}
.format .overlay-modal .overlay .overlay-content ul {
  padding-inline-start: 32px !important;
}
.format .overlay-modal .overlay .overlay-content ul li:not(:last-of-type) {
  margin-bottom: 24px;
}
.format .overlay-modal .overlay .overlay-content .specs-cards {
  display: flex;
  flex-direction: row;
  gap: 10px;
  width: 100%;
  justify-content: space-evenly;
}
.format .overlay-modal .overlay .overlay-content .specs-cards .specs-card {
  height: 200px;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 2.152px 2.152px 3.228px 0 rgba(0, 0, 0, 0.07);
  font-family: var(--sans);
  text-align: center;
}
.format .overlay-modal .overlay .overlay-content .topic-container {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  height: 80px;
}
.format .overlay-modal .overlay .overlay-content .topic-container .topic {
  opacity: 0.7;
  margin: 0;
}
.format .overlay-modal .overlay .overlay-content .route-info {
  font-size: 1.3rem;
  padding: 0 8px;
}
.format .overlay-modal .overlay .overlay-content .share-buttons {
  display: flex;
  width: 100%;
  gap: 10px;
  font-weight: 200;
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button {
  cursor: pointer;
  width: 100%;
  height: 34px;
  display: flex;
  gap: 6px;
  justify-content: center;
  align-items: center;
  font-size: 0.9rem;
  text-decoration: none !important;
  transition: all 0.3s ease;
  font-family: var(--sans);
  font-size: 13px !important;
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button:hover {
  box-shadow: 2.152px 2.152px 3.228px 0 rgba(0, 0, 0, 0.07);
  transform: translate3d(-3px, -3px, 0);
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button.google-maps {
  color: var(--white) !important;
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button.google-maps::before {
  height: 18px;
  content: url("data:image/svg+xml,%3Csvg width='13' height='17' viewBox='0 0 13 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.75 1.75V14.75L6.25 11.6389L11.75 14.75V1.75C11.75 1.19772 11.3023 0.75 10.75 0.75H1.75C1.19772 0.75 0.75 1.19772 0.75 1.75Z' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button.share {
  border: 1px solid var(--line-color);
  height: 34px;
  color: var(--black) !important;
}
.format .overlay-modal .overlay .overlay-content .share-buttons .share-button.share::before {
  height: 18px;
  content: url("data:image/svg+xml,%3Csvg width='15' height='16' viewBox='0 0 15 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.2865 3.2C10.5653 3.81807 11.202 4.25 11.9428 4.25C12.9405 4.25 13.7493 3.4665 13.7493 2.5C13.7493 1.5335 12.9405 0.75 11.9428 0.75C10.945 0.75 10.1362 1.5335 10.1362 2.5C10.1362 2.51645 10.1365 2.53284 10.1369 2.54917C10.1435 2.78008 10.1963 2.9998 10.2865 3.2ZM10.2865 3.2C8.80058 3.99903 5.42701 5.99737 4.00908 6.70932M4.00908 8.79068C4.00908 8.79068 7.83504 10.9305 10.2865 12.3016M10.2865 12.3016C10.1903 12.5155 10.1369 12.7517 10.1369 13C10.1369 13.9665 10.9457 14.75 11.9435 14.75C12.9412 14.75 13.75 13.9665 13.75 13C13.75 12.0335 12.9412 11.25 11.9435 11.25C11.2021 11.25 10.565 11.6827 10.2865 12.3016ZM4.36307 7.75C4.36307 8.7165 3.55426 9.5 2.55654 9.5C1.55881 9.5 0.75 8.7165 0.75 7.75C0.75 6.7835 1.55881 6 2.55654 6C3.55426 6 4.36307 6.7835 4.36307 7.75Z' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-content .divider {
  height: 1px;
  background-color: var(--line-color);
  width: 100%;
}
.format .overlay-modal .overlay .overlay-content .overlay-intro {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.format .overlay-modal .overlay .overlay-content .overlay-intro-with-img {
  flex-direction: row;
  align-items: center;
  gap: 24px;
}
.format .overlay-modal .overlay .overlay-content .overlay-intro-with-img img {
  max-width: 300px;
  width: 100%;
}
.format .overlay-modal .overlay .overlay-content .overlay-intro .textbox-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.format .overlay-modal .overlay .overlay-content .zwischen-headline {
  display: flex;
  gap: 16px;
  align-items: center;
}
.format .overlay-modal .overlay .overlay-content .textbox {
  border: 1px solid var(--line-color);
  overflow: hidden;
}
.format .overlay-modal .overlay .overlay-content .textbox .textbox-content {
  padding: 34px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}
.format .overlay-modal .overlay .overlay-content .textbox .standort {
  font-weight: 300;
  display: flex;
  align-items: center;
  gap: 8px;
}
.format .overlay-modal .overlay .overlay-content .textbox .standort .two-links {
  display: flex;
  flex-direction: column;
}
.format .overlay-modal .overlay .overlay-content .textbox .standort p {
  color: var(--black);
}
.format .overlay-modal .overlay .overlay-content .textbox .standort::before {
  height: 16px;
}
.format .overlay-modal .overlay .overlay-content .textbox .standort .standort-icon {
  height: 20px;
  --info-icon-mask: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.28947 13.5H9.71053V8.05263H8.28947V13.5ZM9 6.43121C9.21679 6.43121 9.39853 6.35787 9.54521 6.21118C9.69189 6.0645 9.76524 5.88276 9.76524 5.66597C9.76524 5.44918 9.69189 5.26745 9.54521 5.12076C9.39853 4.97424 9.21679 4.90097 9 4.90097C8.78321 4.90097 8.60147 4.97424 8.45479 5.12076C8.30811 5.26745 8.23476 5.44918 8.23476 5.66597C8.23476 5.88276 8.30811 6.0645 8.45479 6.21118C8.60147 6.35787 8.78321 6.43121 9 6.43121ZM9.00166 18C7.75682 18 6.58674 17.7638 5.49142 17.2914C4.39611 16.8189 3.44337 16.1778 2.63321 15.368C1.82305 14.5581 1.18161 13.6058 0.708868 12.5109C0.236289 11.4161 0 10.2463 0 9.00166C0 7.75682 0.23621 6.58674 0.708632 5.49142C1.18105 4.39611 1.82218 3.44337 2.63203 2.63321C3.44187 1.82305 4.39421 1.18161 5.48905 0.708868C6.5839 0.236289 7.75366 0 8.99834 0C10.2432 0 11.4133 0.23621 12.5086 0.708631C13.6039 1.18105 14.5566 1.82218 15.3668 2.63203C16.1769 3.44187 16.8184 4.39421 17.2911 5.48905C17.7637 6.5839 18 7.75366 18 8.99834C18 10.2432 17.7638 11.4133 17.2914 12.5086C16.8189 13.6039 16.1778 14.5566 15.368 15.3668C14.5581 16.1769 13.6058 16.8184 12.5109 17.2911C11.4161 17.7637 10.2463 18 9.00166 18ZM9 16.5789C11.1158 16.5789 12.9079 15.8447 14.3763 14.3763C15.8447 12.9079 16.5789 11.1158 16.5789 9C16.5789 6.88421 15.8447 5.09211 14.3763 3.62368C12.9079 2.15526 11.1158 1.42105 9 1.42105C6.88421 1.42105 5.09211 2.15526 3.62368 3.62368C2.15526 5.09211 1.42105 6.88421 1.42105 9C1.42105 11.1158 2.15526 12.9079 3.62368 14.3763C5.09211 15.8447 6.88421 16.5789 9 16.5789Z' fill='%23740000'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-content .textbox .standort .standort-icon::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 20px;
  background-color: currentColor;
  -webkit-mask: var(--info-icon-mask) center/contain no-repeat;
  mask: var(--info-icon-mask) center/contain no-repeat;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-img {
  display: flex;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-img img {
  width: 30%;
  object-fit: cover;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-img.textbox-with-color {
  padding: 0;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-img.textbox-with-color p {
  color: var(--black) !important;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-img .textbox-content {
  padding: 12px;
}
.format .overlay-modal .overlay .overlay-content .textbox-with-color {
  font-weight: 300;
  padding: 16px;
  border: none;
  box-shadow: 2.152px 2.152px 3.228px 0 rgba(0, 0, 0, 0.07);
}
.format .overlay-modal .overlay .overlay-content .textbox-with-color ul li {
  margin-bottom: 16px;
  font-size: 1rem;
}
.format .overlay-modal .overlay .overlay-content .swiper {
  width: 100%;
  height: 100%;
  position: relative !important;
}
.format .overlay-modal .overlay .overlay-content .swiper-pagination {
  bottom: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.format .overlay-modal .overlay .overlay-content .swiper-button-next {
  right: 0 !important;
  left: auto;
  content: url("data:image/svg+xml,%3Csvg width='79' height='12' viewBox='0 0 79 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M72.6406 0.219436C72.9335 -0.0730323 73.4084 -0.0732586 73.7012 0.219436L78.4736 4.99287C78.7665 5.28577 78.7665 5.76053 78.4736 6.05342L73.7012 10.8269C73.4084 11.1196 72.9335 11.1193 72.6406 10.8269C72.3477 10.534 72.3477 10.0582 72.6406 9.76534L76.1328 6.27315L0 6.27315L0 4.77315L76.1328 4.77315L72.6406 1.28096C72.3477 0.988067 72.3477 0.51233 72.6406 0.219436Z' fill='black'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-content .swiper-button-prev {
  left: 0;
  content: url("data:image/svg+xml,%3Csvg width='79' height='10' viewBox='0 0 79 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.190445 5.24237C-0.0632095 4.98871 -0.0632095 4.57745 0.190445 4.32379L4.32403 0.190214C4.57768 -0.0634427 4.98895 -0.0634427 5.2426 0.190214C5.49626 0.443871 5.49626 0.855131 5.2426 1.10879L1.56831 4.78308L5.2426 8.45737C5.49626 8.71103 5.49626 9.12229 5.2426 9.37595C4.98895 9.6296 4.57768 9.6296 4.32403 9.37595L0.190445 5.24237ZM78.5933 4.78308V5.43261L0.649734 5.43261V4.78308V4.13355L78.5933 4.13355V4.78308Z' fill='%239B9B9B'/%3E%3C/svg%3E%0A");
}
.format .overlay-modal .overlay .overlay-content .swiper-button-next,
.format .overlay-modal .overlay .overlay-content .swiper-button-prev {
  bottom: 12px;
  top: auto;
  width: 80px;
}
.format .overlay-modal .overlay .overlay-content .swiper-pagination-bullet {
  background: #D9D9D9;
  opacity: 0.5;
}
.format .overlay-modal .overlay .overlay-content .swiper-pagination-bullet-active {
  background: #D9D9D9;
  opacity: 1;
  width: 12px;
  height: 12px;
}
.format .overlay-modal .overlay .overlay-content .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 6px;
  padding-bottom: 8px;
}
.format .overlay-modal .overlay .overlay-content .swiper-slide p {
  position: absolute;
  bottom: 0;
  width: calc(100% - 160px);
  line-height: 1em;
}
.format .overlay-modal .overlay .overlay-content .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding-bottom: 30px;
}
.format .overlay-modal .overlay .overlay-content .swiper {
  margin-left: auto;
  margin-right: auto;
}
.format .overlay-modal .overlay .overlay-content .gallery-box {
  width: 100%;
  max-width: 100%;
  height: fit-content;
  overflow: hidden;
  position: relative;
  overflow-x: scroll;
  padding-bottom: 1rem;
}
.format .overlay-modal .overlay .overlay-content .gallery-box::-webkit-scrollbar {
  height: 8px;
  width: 100%;
  cursor: pointer;
}
.format .overlay-modal .overlay .overlay-content .gallery-box .gallery {
  display: flex;
  gap: 16px;
  width: max-content;
  will-change: transform;
}
.format .overlay-modal .overlay .overlay-content .gallery-box .gallery.is-dragging {
  cursor: grabbing;
  user-select: none;
}
.format .overlay-modal .overlay .overlay-content .gallery-box .gallery.is-dragging * {
  pointer-events: none;
}
.format .overlay-modal .overlay .overlay-content .gallery-box .gallery img {
  width: 240px;
  height: auto;
  flex-shrink: 0;
}
.format .overlay-icon {
  display: inline-block;
  flex: 0 0 auto;
  color: var(--icon-color);
}
.format .overlay-icon use {
  width: 100%;
}
.format .overlay-icon--1 {
  width: 20px;
  height: 30px;
}
.format .overlay-icon--2 {
  width: 28px;
  height: 40px;
}
.format .overlay-icon--3 {
  width: 50px;
  height: 50px;
}
.format .overlay-icon--4 {
  width: 40px;
  height: 40px;
}
.format .overlay-rheingau .overlay-icon {
  color: var(--color-route-1-primary);
}
.format .overlay-rheingau .specs-card,
.format .overlay-rheingau .textbox-with-color {
  background-color: var(--color-route-1-secondary);
}
.format .overlay-rheingau ul li::marker {
  color: var(--color-route-1-primary);
}
.format .overlay-rheingau a,
.format .overlay-rheingau .standort-icon {
  color: var(--color-route-1-primary) !important;
}
.format .overlay-rheingau .headline-icon {
  fill: var(--color-route-1-primary);
}
.format .overlay-rheingau .google-maps,
.format .overlay-rheingau .tag,
.format .overlay-rheingau .cta {
  background-color: var(--color-route-1-primary);
}
.format .overlay-freiburg .overlay-icon {
  color: var(--color-route-2-primary);
}
.format .overlay-freiburg .specs-card,
.format .overlay-freiburg .textbox-with-color {
  background-color: var(--color-route-2-secondary);
}
.format .overlay-freiburg ul li::marker {
  color: var(--color-route-2-primary);
}
.format .overlay-freiburg a,
.format .overlay-freiburg .standort-icon {
  color: var(--color-route-2-primary) !important;
}
.format .overlay-freiburg .headline-icon {
  fill: var(--color-route-2-primary);
}
.format .overlay-freiburg .google-maps,
.format .overlay-freiburg .tag,
.format .overlay-freiburg .cta {
  background-color: var(--color-route-2-primary);
}
.format .overlay-metz .overlay-icon {
  color: var(--color-route-3-primary);
}
.format .overlay-metz .specs-card,
.format .overlay-metz .textbox-with-color {
  background-color: var(--color-route-3-secondary);
}
.format .overlay-metz ul li::marker {
  color: var(--color-route-3-primary);
}
.format .overlay-metz a,
.format .overlay-metz .standort-icon {
  color: var(--color-route-3-primary) !important;
}
.format .overlay-metz .headline-icon {
  fill: var(--color-route-3-primary);
}
.format .overlay-metz .google-maps,
.format .overlay-metz .tag,
.format .overlay-metz .cta {
  background-color: var(--color-route-3-primary);
}
.format .overlay-chiemgau .overlay-icon {
  color: var(--color-route-4-primary);
}
.format .overlay-chiemgau .specs-card,
.format .overlay-chiemgau .textbox-with-color {
  background-color: var(--color-route-4-secondary);
}
.format .overlay-chiemgau ul li::marker {
  color: var(--color-route-4-primary);
}
.format .overlay-chiemgau a,
.format .overlay-chiemgau .standort-icon {
  color: var(--color-route-4-primary) !important;
}
.format .overlay-chiemgau .headline-icon {
  fill: var(--color-route-4-primary);
}
.format .overlay-chiemgau .google-maps,
.format .overlay-chiemgau .tag,
.format .overlay-chiemgau .cta {
  background-color: var(--color-route-4-primary);
}
.format .overlay-gardasee .overlay-icon {
  color: var(--color-route-5-primary);
}
.format .overlay-gardasee .specs-card,
.format .overlay-gardasee .textbox-with-color {
  background-color: var(--color-route-5-secondary);
}
.format .overlay-gardasee ul li::marker {
  color: var(--color-route-5-primary);
}
.format .overlay-gardasee a,
.format .overlay-gardasee .standort-icon {
  color: var(--color-route-5-primary) !important;
}
.format .overlay-gardasee .headline-icon {
  fill: var(--color-route-5-primary);
}
.format .overlay-gardasee .google-maps,
.format .overlay-gardasee .tag,
.format .overlay-gardasee .cta {
  background-color: var(--color-route-5-primary);
}
.format .overlay-saechsische-schweiz .overlay-icon {
  color: var(--color-route-6-primary);
}
.format .overlay-saechsische-schweiz .specs-card,
.format .overlay-saechsische-schweiz .textbox-with-color {
  background-color: var(--color-route-6-secondary);
}
.format .overlay-saechsische-schweiz ul li::marker {
  color: var(--color-route-6-primary);
}
.format .overlay-saechsische-schweiz a,
.format .overlay-saechsische-schweiz .standort-icon {
  color: var(--color-route-6-primary) !important;
}
.format .overlay-saechsische-schweiz .headline-icon {
  fill: var(--color-route-6-primary);
}
.format .overlay-saechsische-schweiz .google-maps,
.format .overlay-saechsische-schweiz .tag,
.format .overlay-saechsische-schweiz .cta {
  background-color: var(--color-route-6-primary);
}
.format .overlay-seenplatte .overlay-icon {
  color: var(--color-route-7-primary);
}
.format .overlay-seenplatte .specs-card,
.format .overlay-seenplatte .textbox-with-color {
  background-color: var(--color-route-7-secondary);
}
.format .overlay-seenplatte ul li::marker {
  color: var(--color-route-7-primary);
}
.format .overlay-seenplatte a,
.format .overlay-seenplatte .standort-icon {
  color: var(--color-route-7-primary) !important;
}
.format .overlay-seenplatte .headline-icon {
  fill: var(--color-route-7-primary);
}
.format .overlay-seenplatte .google-maps,
.format .overlay-seenplatte .tag,
.format .overlay-seenplatte .cta {
  background-color: var(--color-route-7-primary);
}
.format .overlay-eifel .overlay-icon {
  color: var(--color-route-8-primary);
}
.format .overlay-eifel .specs-card,
.format .overlay-eifel .textbox-with-color {
  background-color: var(--color-route-8-secondary);
}
.format .overlay-eifel ul li::marker {
  color: var(--color-route-8-primary);
}
.format .overlay-eifel a,
.format .overlay-eifel .standort-icon {
  color: var(--color-route-8-primary) !important;
}
.format .overlay-eifel .headline-icon {
  fill: var(--color-route-8-primary);
}
.format .overlay-eifel .google-maps,
.format .overlay-eifel .tag,
.format .overlay-eifel .cta {
  background-color: var(--color-route-8-primary);
}
.format .cta {
  cursor: pointer;
  padding: 16px 24px;
  color: var(--white) !important;
  font-size: 1rem;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  text-decoration: none !important;
  transition: all 0.3s ease;
  font-family: var(--sans);
  border-radius: 3px;
}
.format .cta:hover {
  box-shadow: 2.152px 2.152px 3.228px 0 rgba(0, 0, 0, 0.07);
  transform: translate3d(-3px, -3px, 0);
}
.format .cta a {
  text-decoration: none !important;
  color: var(--white) !important;
}
.format .close-btn {
  background-image: url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25.0007 0C38.8076 0.000352515 50 11.1931 50 25C50 38.8069 38.8076 49.9996 25.0007 50C11.1936 50 0 38.8071 0 25C0 11.1929 11.1936 0 25.0007 0ZM20.4379 19.6074C20.1458 19.3576 19.7154 19.3752 19.4431 19.6605C19.1708 19.9464 19.1535 20.3993 19.3917 20.706L19.4431 20.7649L24.1244 25.6793L19.3375 30.7043C19.047 31.0092 19.047 31.5037 19.3375 31.8087C19.6281 32.1133 20.0989 32.1135 20.3893 31.8087L25.1763 26.7837L29.6135 31.441L29.6706 31.4941C29.9628 31.7442 30.3944 31.7269 30.6668 31.441C30.939 31.1551 30.955 30.7022 30.7168 30.3955L30.6668 30.3366L26.2281 25.6793L30.5598 21.134L30.6111 21.0736C30.8493 20.767 30.832 20.3154 30.5598 20.0296C30.2875 19.7439 29.8572 19.7253 29.565 19.975L29.5079 20.0296L25.1763 24.5749L20.495 19.6605L20.4379 19.6074Z' fill='white'/%3E%3C/svg%3E%0A");
  width: 50px;
  height: 50px;
  border: none;
  background-color: transparent;
  position: absolute;
  top: 34px;
  right: 34px;
  z-index: 3;
  cursor: pointer;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}
.format .close-btn:hover {
  opacity: 1;
}

.video-faq {
  box-sizing: border-box;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 26px 28px;
  color: #111;
  background: #fffbf4;
  font-family: "Playfair Display", Georgia, serif;
}

.video-faq__player {
  width: 100%;
  aspect-ratio: 2.08/1;
  margin: 0 0 36px;
  overflow: hidden;
  background: #d8d8d2;
  cursor: pointer;
}

.video-faq__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #d8d8d2;
}

.video-faq__list {
  width: 100%;
  border-top: 1px solid #e4dfd7;
}

.video-faq__item {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 47px;
  padding: 8px 7px;
  color: #111;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e4dfd7;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease;
}

.video-faq__item:hover {
  background-color: rgba(23, 73, 119, 0.045);
}

.video-faq__item:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #174977;
  outline-offset: -2px;
}

.video-faq__play {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  padding-left: 3px;
  padding-top: 3px;
  color: #174977;
  border: 1px solid #174977;
  border-radius: 50%;
  font: 10px/1 Arial, sans-serif;
  transition: color 180ms ease, background-color 180ms ease;
}
.video-faq__play::after {
  content: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.25 6.49522L-4.63442e-05 12.9904L-4.57764e-05 -4.91755e-07L11.25 6.49522Z' fill='%23003169'/%3E%3C/svg%3E%0A");
}

.video-faq__item:hover .video-faq__play,
.video-faq__item:focus-visible .video-faq__play {
  color: #fff;
  background-color: #174977;
}
.video-faq__item:hover .video-faq__play::after,
.video-faq__item:focus-visible .video-faq__play::after {
  content: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.25 6.49522L-4.63442e-05 12.9904L-4.57764e-05 -4.91755e-07L11.25 6.49522Z' fill='white'/%3E%3C/svg%3E%0A");
}

.video-faq__question {
  min-width: 0;
  font: 400 17px/1.35 "Playfair Display", Georgia, serif;
}

.video-faq__item.is-active .video-faq__question {
  font-weight: 700;
}

.video-faq__duration {
  padding-left: 12px;
  color: #a19d96;
  font: 400 11px/1 "Lexend", Arial, sans-serif;
  letter-spacing: 0.18em;
  white-space: nowrap;
}

.video-faq__status {
  display: none;
  margin: 10px 0 0;
  color: #8b181d;
  font: 400 13px/1.5 "Lexend", Arial, sans-serif;
}

.video-faq__status:not(:empty) {
  display: block;
}

@media (max-width: 700px) {
  .video-faq {
    padding: 14px 12px 22px;
  }
  .video-faq__player {
    aspect-ratio: 1.55/1;
    margin-bottom: 12px;
  }
  .video-faq__item {
    gap: 8px;
    min-height: 46px;
    padding: 8px 2px;
  }
  .video-faq__question {
    font-size: 15px;
  }
  .video-faq__duration {
    padding-left: 4px;
    font-size: 10px;
    letter-spacing: 0.12em;
  }
}
@media (max-width: 380px) {
  .video-faq__item {
    gap: 6px;
    min-height: 44px;
  }
  .video-faq__question {
    font-size: 14px;
  }
  .video-faq__duration {
    padding-left: 2px;
    font-size: 9px;
    letter-spacing: 0.08em;
  }
}
@media screen and (max-height: 721px) and (max-width: 1919px) {
  .format p, .format a {
    font-size: 14px !important;
  }
  .format .header-civd .header-stage {
    width: calc(60% - 96px);
  }
  .format .header-civd .header-stage h1 {
    font-size: 4rem;
    line-height: 4.5rem;
  }
  .format .header-civd .header-stage .subline {
    font-size: 16px;
  }
}
@media screen and (max-width: 991px) {
  .format .header-civd .header-stage {
    padding: 24px;
    height: auto;
    width: 100%;
    justify-content: center;
    bottom: 0;
    top: auto;
  }
  .format .header-civd .header-stage h1 {
    font-size: 4rem;
    line-height: 4.5rem;
  }
  .format .header-civd {
    flex-direction: column;
  }
  .format .content {
    padding: 0 24px;
  }
  .map .route-meta {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .format .header-civd .header-stage h1 {
    font-size: 3rem;
    line-height: 3.5rem;
  }
  .format .headline h2 {
    font-size: 1.7rem;
  }
  .format .headline h3 {
    font-size: 1.2rem;
  }
  .format .overlay-modal .overlay .overlay-content h3 {
    font-size: 1.7rem;
  }
  .format .overlay-modal .overlay .overlay-content h4 {
    font-size: 1.3rem;
  }
  .format .overlay-modal .overlay .overlay-content .specs-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
  .format .overlay-modal .overlay .overlay-content .specs-cards .route-info {
    font-size: 0.9rem;
  }
  .format .overlay-modal .overlay .overlay-content .specs-cards .specs-card {
    height: 140px;
  }
  .format .overlay-modal .overlay .overlay-content .textbox-with-img,
  .format .overlay-modal .overlay .overlay-content .overlay-intro-with-img {
    flex-direction: column;
  }
  .format .overlay-modal .overlay .overlay-content .textbox-with-img img,
  .format .overlay-modal .overlay .overlay-content .overlay-intro-with-img img {
    width: 100%;
    max-width: 100%;
  }
  .format .overlay-modal .overlay .share-buttons {
    flex-direction: column;
  }
  .format .overlay-modal .overlay .textbox-with-color {
    padding: 12px;
  }
  .format .overlay-modal .overlay .overlay-header .header-map {
    display: none;
  }
  .format .overlay-modal .overlay .overlay-header .overlay-headline {
    max-width: 100%;
  }
  .format .overlay-modal .overlay .overlay-header .overlay-headline h2 {
    font-size: 2.2rem;
  }
  .format .overlay-modal .overlay .overlay-header .overlay-headline .subline {
    font-size: 1.2rem;
  }
  .map {
    max-width: 600px;
  }
  .map .pin-copy {
    left: calc(100% + 5px);
  }
  .map .pin-copy small {
    font-size: 0.8rem;
  }
  .map .pin-copy strong {
    font-size: 1rem;
  }
  .map .map-pin.label-left .pin-copy {
    right: calc(100% + 5px);
  }
}
@media screen and (max-width: 599px) {
  .format {
    overflow-x: hidden;
  }
  .format p, .format a, .format ul li {
    font-size: 14px !important;
  }
  .format .cta {
    font-size: 1rem;
    text-align: center;
    color: var(--white) !important;
    width: 100%;
    box-sizing: border-box;
  }
  .format .close-btn {
    top: 16px;
    right: 16px;
  }
  .format .header-civd .scroll-hint .line {
    margin-top: -24px;
  }
  .format .header-civd .header-stage h1 {
    font-size: 2rem;
    line-height: 2.2rem;
  }
  .format .header-civd .header-stage .subline {
    font-size: 1rem;
  }
  .format .header-civd .header-stage .subheadline {
    font-size: 1rem;
  }
  .format .header-civd .headline-img-container .scroll-hint p {
    position: absolute;
  }
  .format .header-civd .headline-img-container .scroll-hint .scroll-icon {
    width: 30px;
    height: 50px;
  }
  .format .header-civd .header-intro-text {
    width: 100%;
    padding: 0;
  }
  .format .content .quote p {
    font-size: 1.5rem !important;
  }
  .format .content .quote .line {
    height: 80px;
  }
  .format .overlay-modal .overlay .overlay-content {
    padding: 16px;
  }
  .format .overlay-modal .overlay .overlay-content .swiper-button-next,
  .format .overlay-modal .overlay .overlay-content .swiper-button-prev {
    width: 20px;
  }
  .format .overlay-modal .overlay .overlay-content .swiper-button-next {
    content: url("data:image/svg+xml,%3Csvg width='21' height='16' viewBox='0 0 21 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.5361 15.6818C11.9529 16.1061 12.6293 16.1061 13.0461 15.6818L19.8368 8.76769C20.2536 8.34343 20.2536 7.65657 19.8368 7.23231L13.0461 0.318197C12.6293 -0.106065 11.9529 -0.106065 11.5361 0.318197C11.1193 0.74246 11.1193 1.43095 11.5361 1.85521L16.5056 6.9138L0 6.9138L0 9.0862L16.5056 9.0862L11.5361 14.1448C11.1193 14.5691 11.1193 15.2575 11.5361 15.6818Z' fill='black'/%3E%3C/svg%3E%0A");
  }
  .format .overlay-modal .overlay .overlay-content .swiper-button-prev {
    content: url("data:image/svg+xml,%3Csvg width='21' height='16' viewBox='0 0 21 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.6133 15.6818C8.1965 16.1061 7.52014 16.1061 7.10335 15.6818L0.312595 8.76769C-0.104198 8.34343 -0.104198 7.65657 0.312595 7.23231L7.10335 0.318197C7.52014 -0.106065 8.1965 -0.106065 8.6133 0.318197C9.03009 0.74246 9.03009 1.43095 8.6133 1.85521L3.64379 6.9138L20.1494 6.9138V9.0862L3.64379 9.0862L8.6133 14.1448C9.03009 14.5691 9.03009 15.2575 8.6133 15.6818Z' fill='%239B9B9B'/%3E%3C/svg%3E%0A");
  }
  .format .overlay-modal .overlay .overlay-content .swiper-slide p {
    width: calc(100% - 48px);
  }
  .format .overlay-modal .overlay .overlay-header .tag {
    font-size: 12px;
  }
  .format .overlay-modal .overlay .overlay-header .overlay-headline h2 {
    font-size: 2rem;
  }
  .format .social-share {
    width: 100%;
  }
  .format .social-share .social-links {
    padding: 0 12px;
    width: 100%;
    max-width: 100%;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
/* Barrierefreiheit */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .format .map-container .map {
    will-change: auto;
  }
}
@media screen and (max-width: 767px) {
  .format .map-container .map {
    shape-rendering: optimizeSpeed;
    text-rendering: optimizeSpeed;
  }
}
/* Darkmode */
@media (prefers-color-scheme: dark) {
  .format p, a, h2, h3, h4, ul li, strong {
    color: var(--black) !important;
  }
  .format .map .tile h3 {
    color: var(--white) !important;
  }
  .format .cta a {
    color: var(--white) !important;
  }
  .format .footer-container a {
    color: var(--white) !important;
  }
  .format .overlay-modal .overlay .overlay-header .overlay-headline h2 {
    color: var(--white) !important;
  }
  .format .overlay-modal .overlay .overlay-content .specs-cards .route-info {
    color: var(--black) !important;
  }
  .footer-columns a {
    color: var(--white) !important;
  }
  body {
    background-color: #FFFBF4 !important;
    color: var(--black) !important;
  }
}