a {
 color:#6d757e;
}
a:not([class]) {
 text-decoration:underline
}
a:not(.btn):focus,
a:not(.btn):hover {
 color:var(--cassiopeia-color-hover)
}
a.navbar-brand {
 color:var(--cassiopeia-color-brand)
}
.mod-list li a {
    text-decoration: none;
	font-size: 1em;
}
.mod-list li {
	font-size: 1em;
    line-height: 0.9em;
}	
.mod-list li.active > a {
    text-decoration: underline;
    font-size: 1em;
    line-height: 0.9em;
}
.grid-child.container-nav {
	justify-content: center !important;
}
.metismenu.mod-menu .metismenu-item {
    font-size: 0.8rem;
    line-height: 1.5;
	color:#000;
	padding-top: 1px;
	padding-bottom: 1px;
	margin-top: 10px;
	margin-bottom: 5px;
	-webkit-border-radius: 10px;
	background-color: #dedede;
	font-weight: bold;
	max-width: 170px;
}
.metismenu.mod-menu .metismenu-item.active>a,
.metismenu.mod-menu .metismenu-item.active>button,
.metismenu.mod-menu .metismenu-item>a:hover,
.metismenu.mod-menu .metismenu-item>button:hover {
 	text-decoration:underline;
	line-height: 1.4em;
}
.container-header {
    position: relative;
	z-index: 10;
	background-color: #fff0;
	background-image: none;
}
.navbar-toggler {
    background-color: #ccc;
	margin: 0 1em 0 -1.6em;
}
.container-sidebar-left, .container-sidebar-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    order: 1;
}
.navi {
	position: relative;
	max-width: 50%;
	margin: 0 0 15px 10px;
}
body {
    -webkit-text-size-adjust: 100%;
    color: var(--body-color);
    font-family: var(--body-font-family);
    font-size: var(--body-font-size);
    font-weight: var(--body-font-weight);
    line-height: var(--body-line-height);
    text-align: var(--body-text-align);
}
.back-to-top-link:hover, .back-to-top-link:focus {
  background-color: #000;
}

div.mod-languages ul {
    list-style: none;
    margin: 0;
    padding: 0;
    float: right;
	margin: 20px 20px 0 0;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
 font-weight:500;
 line-height:1.5;
 margin-bottom:.5rem;
 margin-top:0;
}
.h1, h1 {
 	font-size:1.8em;
 	line-height: 1.5em;
	border-bottom: solid 1px;
	margin-bottom: 1em;
	font-variant: all-small-caps;
	letter-spacing: 0.15em;
}
.h3, h3 {
    font-size: var(--body-font-size);
}
@media (min-width:1200px) {
 .h1, h1 {
  	font-size: 1.8rem;
	line-height: 1.5em;
	border-bottom: solid 1px;
	margin-bottom: 1em;
	font-variant: all-small-caps;
	letter-spacing: 0.15em;
 }
 .h2, h2 {
    font-size: 2rem;
 }
 .h3, h3 {
 	font-size: var(--body-font-size);
	color: #000 !important;
	font-variant: all-small-caps;
	line-height: 1em;
 }
 .metismenu.mod-menu .metismenu-item {
	margin-right:1em;
 }
}
.h4, h4 {
 font-size: calc(1.275rem + .3vw);
}
@media (min-width:1200px) {
 .h4, h4 {
  font-size:1.5rem;
 }
}
@media (max-width:575.98px) {
 .modal-fullscreen-sm-down {
  height:100%;
  margin:0;
  max-width:none;
  width:100vw;
 }
}
@media (max-width:767.98px) {
 .modal-fullscreen-md-down {
  height:100%;
  margin:0;
  max-width:none;
  width:100vw;
 }
 .navi {
	position: relative;
	max-width: 42%;
	margin: 0 0 15px 5px;
 } 
 .card {
    --card-spacer-y: 0.3rem;
    --card-spacer-x: 1rem;
    --card-title-spacer-y: 0.5rem;
    --card-border-width: 0;
    --card-border-color: transparent;
    --card-border-radius: 0.25rem;
    --card-inner-border-radius: calc(0.25rem - 1px);
    --card-cap-padding-y: 0.5rem;
    --card-cap-padding-x: 1rem;
    --card-cap-bg: transparent;
    --card-height: ;
    --card-color: ;
    --card-bg: transparent;
    --card-img-overlay-padding: 1rem;
    --card-group-margin: 0.5em;
    word-wrap: break-word;
 }
 .card-header:first-child {
    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;
    color: #000;
    font-size: 1.3em;
    font-variant: all-small-caps;
    line-height: 1.0em;
    margin-bottom: -1.0rem;
    margin-left: 1em;
    text-align: left;
    min-width: 22em;
 }
 .card-header {
    background-color: transparent;
    border-bottom: transparent;
    color: #000;
    margin-bottom: 0;
    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);
	text-align: center;
 }
 .card-body {
    -webkit-box-flex: 1;
    color: var(--card-color);
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: var(--card-spacer-y) var(--card-spacer-x);
	background-color: transparent;
	text-align: center;
 }
}
@media (max-width:992px) {
 .metismenu.mod-menu .metismenu-item {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: auto;
	line-height: 1.5;
	padding: 0.1em 1em;
	max-width: 10em;
 }	 
}
@media (min-width:992px) {
 .navbar-expand-lg {
  flex-wrap:nowrap;
  justify-content:flex-start;
 }
 .card {
    --card-spacer-y: 0.3rem;
    --card-spacer-x: 1rem;
    --card-title-spacer-y: 0.5rem;
    --card-border-width: 0;
    --card-border-color: transparent;
    --card-border-radius: 0.25rem;
    --card-inner-border-radius: calc(0.25rem - 1px);
    --card-cap-padding-y: 0.5rem;
    --card-cap-padding-x: 1rem;
    --card-cap-bg: transparent;
    --card-height: ;
    --card-color: ;
    --card-bg: transparent;
    --card-img-overlay-padding: 1rem;
    --card-group-margin: 0.5em;
    word-wrap: break-word;
 }
 .card-header:first-child {
    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;
    color: #000;
    font-size: 1.3em;
    font-variant: all-small-caps;
    line-height: 1.0em;
    margin: 0 0 -1rem -1.3rem;
 }
 .card-header {
    background-color: transparent;
    border-bottom: transparent;
    color: var(--card-cap-color);
    margin-bottom: 0;
    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);
	text-align: left;
	margin-left: -1rem;
 }
 .card-body {
    -webkit-box-flex: 1;
    color: var(--card-color);
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: var(--card-spacer-y) var(--card-spacer-x);
	background-color: transparent;
	text-align: center;
 }
 .container-component, .container-sidebar-left, .container-sidebar-right {
    display: flex;
    flex: 1;
    flex-direction: column;
 }
 .metismenu.mod-menu .metismenu-item {
	margin-right:1em;
 }
}
.h5, h5 {
 font-size:1.25rem;
}
.h6, h6 {
 font-size:1rem;
}
p {
 margin-bottom:1rem;
 margin-top:0;
}
.breadcrumb {
    --breadcrumb-padding-x: 0;
    --breadcrumb-padding-y: 0;
    --breadcrumb-margin-bottom: 1rem;
    --breadcrumb-divider-color: #6d757e;
    --breadcrumb-item-padding-x: 0.5rem;
    --breadcrumb-item-active-color: #6d757e;
    font-size: 12px;
    list-style: none;
}
:root {
 --blue:#010156;
 --black:#000;
}

/* ==========================================================
   ZUSÄTZE: ZENTRIERTE KONTAKTSEITE & NEUES OFFCANVAS
   ========================================================== */

/* Zentriert deine Kontaktseite basierend auf deinem funktionierenden Code */
.com-contact__container {
    grid-gap: 1rem;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-template-rows: repeat(4,auto);
    max-width: 600px;
    margin: 0 auto 1em auto !important;
}

/* Setzt eine feste, kompakte Breite und die 50% Hintergrund-Transparenz */
.offcanvas {
  width: 320px !important;
  max-width: 85vw !important;
  --offcanvas-width: 320px !important;
  background-color: rgba(53, 59, 65, 0.5) !important;
  border: none !important;
}

/* Zwingt Modul-Titel im Offcanvas zu weißer Schrift, setzt Größe auf 1rem */
.offcanvas .mod-custom h5, 
.offcanvas .card-header,
.offcanvas h3, 
.offcanvas h4, 
.offcanvas h5 {
    color: #ffffff !important;
    font-size: 1rem !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* Löst die 170px-Begrenzung im Popup auf, damit der Text Platz nach rechts hat */
.offcanvas .metismenu.mod-menu .metismenu-item {
    max-width: none !important;
}

/* Schiebt den gesamten Popup-Inhalt auf dem Handy nach rechts, weg vom Button */
@media (max-width: 767.98px) {
  .offcanvas-body {
      padding-left: 2rem !important;
      padding-top: 1.5rem !important;
  }
}

/* ======================================================= */
/* DESIGN FÜR DIE DE UND EN POPUPS                        */
/* ======================================================= */
.custom-homepage-box-popup {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999; /* Niedriger z-index, damit Cookie-Banner darüber liegt */
    background-color: #6c67678c;
    border: none;
    padding: 1.5rem 1.25rem 1.25rem 1.25rem;
    border-radius: 6px;
    color: #494949;
    width: 320px;
    max-width: 90vw;
    box-sizing: border-box;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    backdrop-filter: blur(4px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;
}
.popup-close-trigger {
    position: absolute;
    top: 4px;
    right: 12px;
    color: #494949;
    font-size: 26px;
    font-weight: bold;
    line-height: 1;
    opacity: 0.8;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s;
}
.popup-close-trigger:hover {
    color: #d90429;
    opacity: 1;
}
.popup-text-content {
    text-align: left;
    display: block;
    font-size: 14px;
    line-height: 1.4;
    padding-top: 5px;
}

/* Zwingt die rechte Sidebar auf dem Handy ganz nach oben vor den Hauptinhalt */
@media (max-width: 991.98px) {
  .site-grid {
      display: flex !important;
      flex-direction: column !important;
  }
  .container-sidebar-right {
      order: -1 !important;
      margin-bottom: 2rem;
  }
}

/* Erzwingt einen seitlichen Sicherheitsabstand auf allen Mobilgeräten */
@media (max-width: 767.98px) {
    .site-grid, 
    .container-component,
    main {
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   Status-Sticker: Größerer Punkt & Deutlicherer Puls-Effekt
   ========================================================================== */

/* Grundgröße für beide Punkte erzwingen */
.status-pulse {
    width: 20px !important;
    height: 20px !important;
    display: inline-block;
    border-radius: 50%;
}

/* Rote Animation (Ausgebucht) */
.status-pulse.pulse-is-red {
    animation: status-pulsing-red 1.6s infinite ease-in-out !important;
}
@keyframes status-pulsing-red {
    0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(220, 53, 69, 0.85); }
    50% { transform: scale(1.1); box-shadow: 0 0 0 16px rgba(220, 53, 69, 0); }
    100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(220, 53, 69, 0); }
}

/* Grüne Animation (Penthouse verfügbar) */
.status-pulse.pulse-is-green {
    animation: status-pulsing-green 1.6s infinite ease-in-out !important;
}
@keyframes status-pulsing-green {
    0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 255, 0, 0.85); }
    50% { transform: scale(1.1); box-shadow: 0 0 0 16px rgba(0, 255, 0, 0); }
    100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 255, 0, 0); }
}
/* Positionierung des Back-to-Top-Links für Desktop-Bildschirme korrigieren */
@media (min-width: 992px) {
    .back-to-top-link {
        bottom: 45px !important; /* Schiebt den Pfeil ein Stück höher, weg vom Rand */
        right: 25px !important;  /* Setzt den Abstand zum rechten Rand fest */
        z-index: 9999 !important; /* Sorgt dafür, dass der Pfeil sichtbar bleibt */
    }
}
/* Cookie-Einstell-Button nur auf dem Desktop anheben */
@media (min-width: 992px) {
    .redim-cc-reopen {
        bottom: 45px !important;  /* Schiebt den Button hoeher, damit er nicht mit dem Rand kollidiert */
        right: 25px !important;   /* Setzt den Abstand zum rechten Rand fest */
        margin-bottom: 0 !important; /* Bereinigt eventuelle Abstände */
    }
}