html {scroll-behavior: smooth; scroll-padding-top: 30px;}
body {word-wrap: break-word; max-width: 2900px; margin:0 auto;}

/* Overwrite Fluid-Styled-Content CSS */
/* Bootstrap 5 konforme Ausgabe von Videos (Content-Element -> 'Text & Medien') */
.ce-center .ce-gallery .ce-outer {float:none;}
.ce-center .ce-gallery .ce-inner {float:none;}
.ce-center .ce-gallery .ce-column {float:none;}
.ce-gallery figure {display:block;}

/* Additional View Height Settings */
.vh-90{height:90vh!important}
.min-vh-90{min-height:90vh!important}
.vh-80{height:80vh!important}
.min-vh-80{min-height:80vh!important}
.vh-70{height:70vh!important}
.min-vh-70{min-height:70vh!important}
.vh-60{height:60vh!important}
.min-vh-60{min-height:60vh!important}
.vh-50{height:50vh!important}
.min-vh-50{min-height:50vh!important}
.vh-40{height:40vh!important}
.min-vh-40{min-height:40vh!important}
.vh-30{height:30vh!important}
.min-vh-30{min-height:30vh!important}
.vh-20{height:20vh!important}
.min-vh-20{min-height:20vh!important}
.vh-10{height:10vh!important}
.min-vh-10{min-height:10vh!important}

/* Overwrite Bootstrap 5 CSS */
/* Container Fix */
@media (min-width: 1400px) AND (max-width: 1649px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
			max-width: 1320px !important;}
}
@media (min-width: 1650px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
			max-width: 1570px !important; }
}

/* Dynamische Anpassung der Überschriften in kleinen Viewports */
.h1, h1 {font-size: calc(var(--bs-body-font-size) + 2.05vw);}
.h2, h2 {font-size: calc(var(--bs-body-font-size) + 1.55vw);}
.h3, h3 {font-size: calc(var(--bs-body-font-size) + 1.05vw);}
.h4, h4 {font-size: calc(var(--bs-body-font-size) + .55vw);}
.h5, h5 {font-size: calc(var(--bs-body-font-size) + .275vw);}

@media (min-width: 1200px) {
    .h1 {font-size: 4.575rem;}
    h1 {font-size: 3.575rem;}
    .h2, h2 {font-size: 3.075rem;}
    .h3, h3 {font-size: 2.575rem;}
    .h4, h4 {font-size: 2.075rem;}
    .h5, h5 {font-size: 1.575rem;}
}

.h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5 {word-wrap: break-word;hyphens: auto;font-family: var(--bs-font-headline);}

.frame-type-text a,.frame-type-textpic a,.frame-type-textmedia a {color: var(--bs-primary);text-decoration: none;}
.frame-type-text a:hover,.frame-type-textpic a:hover,.frame-type-textmedia a:hover {color: var(--bs-body-bg);background-color: var(--bs-secondary);}

ol, ul {padding-left: 0;}
ul li {list-style-type: none;}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--bs-light);
    --bs-btn-disabled-border-color: var(--bs-light);
    
}

.bg-gradient p {font-weight: 300;}

/* Scrollbar */
/* Scrollbar für Webkit-Browser (Chrome, Safari) */
::-webkit-scrollbar {
    width: 10px; /* Breite der Scrollbar */
    background-color: #071e33; /* Hintergrundfarbe der Scrollbar */
  }
  
  ::-webkit-scrollbar-thumb {
    background-color: #4ac8ed; /* Farbe des Scrollbalkens */
  }
  
  ::-webkit-scrollbar-corner {
    background-color: #071e33; /* Hintergrundfarbe der Ecke */
  }
  
  /* Scrollbar für Firefox */
  html {
    scrollbar-width: thin; /* Dünne Scrollbar */
    scrollbar-color: #4ac8ed #071e33; /* Scrollbalken-Farbe und Hintergrundfarbe */
  }
  
  /* Scrollbar für Edge (Chromium-basierend) */
  * {
    -ms-overflow-style: none; /* Versteckt Standard-Scrollbar in Edge */
  }
  
  *::-webkit-scrollbar {
    width: 10px; /* Breite der Scrollbar */
  }
  
  *::-webkit-scrollbar-thumb {
    background-color: #4ac8ed; /* Farbe des Scrollbalkens */
    border-radius: 10px; /* Abgerundete Ecken */
  }
  
  *::-webkit-scrollbar-track {
    background-color: #071e33; /* Hintergrundfarbe der Scrollbar */
  }

.breadcrumb {margin-bottom: 0rem;}

/* BG-Color rgba (White and Black) */
.bg-black-5 {background-color: rgba(0, 0, 0, 0.05); overflow: overlay;}.bg-black-10 {background-color: rgba(0, 0, 0, 0.1); overflow: overlay;}.bg-black-15 {background-color: rgba(0, 0, 0, 0.15); overflow: overlay;}.bg-black-20 {background-color: rgba(0, 0, 0, 0.2); overflow: overlay;}.bg-black-30 {background-color: rgba(0, 0, 0, 0.3); overflow: overlay;}.bg-black-40 {background-color: rgba(0, 0, 0, 0.4); overflow: overlay;}.bg-black-50 {background-color: rgba(0, 0, 0, 0.5); overflow: overlay;}.bg-black-60 {background-color: rgba(0, 0, 0, 0.6); overflow: overlay;}.bg-black-70 {background-color: rgba(0, 0, 0, 0.7); overflow: overlay;}.bg-black-80 {background-color: rgba(0, 0, 0, 0.8); overflow: overlay;}.bg-black-85 {background-color: rgba(0, 0, 0, 0.85); overflow: overlay;}.bg-black-90 {background-color: rgba(0, 0, 0, 0.9); overflow: overlay;}.bg-black-95 {background-color: rgba(0, 0, 0, 0.95); overflow: overlay;}
.bg-white-5 {background-color: rgba(255, 255, 255, 0.05); overflow: overlay;}.bg-white-10 {background-color: rgba(255, 255, 255, 0.1); overflow: overlay;}.bg-white-15 {background-color: rgba(255, 255, 255, 0.15); overflow: overlay;}.bg-white-20 {background-color: rgba(255, 255, 255, 0.2); overflow: overlay;}.bg-white-30 {background-color: rgba(255, 255, 255, 0.3); overflow: overlay;}.bg-white-40 {background-color: rgba(255, 255, 255, 0.4); overflow: overlay;}.bg-white-50 {background-color: rgba(255, 255, 255, 0.5); overflow: overlay;}.bg-white-60 {background-color: rgba(255, 255, 255, 0.6); overflow: overlay;}.bg-white-70 {background-color: rgba(255, 255, 255, 0.7); overflow: overlay;}.bg-white-80 {background-color: rgba(255, 255, 255, 0.8); overflow: overlay;}.bg-white-85 {background-color: rgba(255, 255, 255, 0.85); overflow: overlay;}.bg-white-90 {background-color: rgba(255, 255, 255, 0.9); overflow: overlay;}.bg-white-95 {background-color: rgba(255, 255, 255, 0.95); overflow: overlay;}

/* BG-Size & BG-Position & BG-Repeat */
.bg-size-auto {background-size: auto;}
.bg-size-contain {background-size: contain;}
.bg-size-cover {-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;background-size: cover;}

.bg-position-x-center {background-position-x: center;}
.bg-position-x-left {background-position-x: left;}
.bg-position-x-right {background-position-x: right;}

.bg-position-y-center {background-position-y: center;}
.bg-position-y-top {background-position-y: top;}
.bg-position-y-bottom {background-position-y: bottom;}

.bg-repeat {background-repeat: repeat;}
.bg-repeat-no {background-repeat: no-repeat;}
.bg-repeat-round {background-repeat: round;}

.bg-repeat-x {background-repeat: repeat-x;}
.bg-repeat-y {background-repeat: repeat-y;}

.bg-fixed {background-attachment: fixed;}

/* Button Position */
.start {text-align:start;}
.center {text-align:center;}
.end {text-align:end;}

/* HEADER */

/* CONTENT */

/* Ansprechpartnerbox */
.authorBox {border: 1px solid var(--bs-primary);}
.authorBoxHead {background: var(--bs-primary);color: var(--bs-white);padding:10px 20px 10px 20px;}
.authorBoxContent {padding:20px 20px 15px 20px;line-height: 28px;}
.authorName {color: var(--bs-primary);font-size: 1.2rem;margin-bottom:0;}
.authorBody i {color: var(--bs-primary);padding-right: 10px;}
.authorBody a {color: var(--bs-primary);padding-left: 3px;padding-right: 3px;text-decoration: underline !important;transition: all 0.3s ease-out;}
.authorBody a:hover {color: var(--bs-white);background-color: var(--bs-primary);text-decoration: none !important;}
p.authorBody {margin-bottom:0;}
.authorMore {color: var(--bs-primary);padding-left: 3px;padding-right: 3px;text-decoration: underline !important;transition: all 0.3s ease-out;}
.authorMore:hover {color: var(--bs-white);background-color: var(--bs-primary);text-decoration: none !important;}

/* Timeline */
.main-timeline {position: relative;}
.main-timeline::after {content: "";position: absolute;width: 6px;background-color: var(--bs-secondary);top: 0;bottom: 0;left: 50%;margin-left: -3px;}
.timeline {position: relative;background-color: inherit;width: 50%;}
.timeline::after {content: "";position: absolute;width: 25px;height: 25px;right: -13px;background-color: var(--bs-secondary);border: 5px solid var(--bs-primary);top: -1px;border-radius: 50%;z-index: 1;}
.timeline:nth-child(odd) {padding: 0px 40px 20px 0px;left: 0;}
.timeline:nth-child(even) {padding: 0px 0px 20px 40px;left: 50%;}
.timeline:last-child {padding-bottom: 0 !important;}
.timeline:nth-child(odd)::before {content: " ";position: absolute;top: 18px;z-index: 1;right: 30px;border: medium solid white;border-width: 10px 0 10px 10px;border-color: transparent transparent transparent white;}
.timeline:nth-child(even)::before {content: " ";position: absolute;top: 18px;z-index: 1;left: 30px;border: medium solid white;border-width: 10px 10px 10px 0;border-color: transparent white transparent transparent;}
.timeline:nth-child(even)::after {left: -12px;}

/* Testimonials */
.testimonial {padding: 15px; border: 1px solid #f1f1f1;margin-bottom: 30px;}
.testimonial .testimonial-header .timage {width: 60px; height: 60px; border-radius: 50%;}
.testimonial .testimonial-header .timage.nopic {background-color: var(--bs-primary); color: var(--bs-white); font-size: 1.75rem;}
.testimonial .testimonial-stars-container {display: flex; gap: 0.2rem;}

/* STÖRER */
.stoerer {position: fixed; right: 15px; bottom: 15px; background-color: rgba(255, 255, 255, 0.8); z-index: 9; color: var(--bs-primary); display: none; max-width: 400px;}
.stoerer-teasertext {padding: 0 0.5rem;line-height: 1;}
.stoerer-head {position: absolute; right: 15px; z-index: 2;}
.stoerer-head .stoerer-closer {background: none; border: none;}
.stoerer-head .stoerer-closer i {color: var(--bs-primary);}
.stoerer-footer {position: relative; z-index: 2;}
.stoerer::before {content: ''; position: absolute; inset: 0; background: transparent; z-index: 1; width: 100%; height: 100%; border: 12px solid var(--bs-white);}
.stoerer::after {content: ''; position: absolute; inset: 0; background: transparent; z-index: 1; width: 100%; height: 100%; border: 3px solid var(--bs-primary);}

/* Powermail */
.tx-powermail fieldset label {margin-top:10px;}

/* Modalbox */
.modal-backdrop { --bs-backdrop-opacity: 0.7;}
.modal-dialog-centered {align-items: flex-start; min-height:unset; align-content: center; flex-wrap: wrap;}

/* FOOTER */


/* RWS */
@media screen and (max-width:991px){
	.main-timeline::after {left: 15px;}
	.timeline {width: 100%;padding-left: 70px;padding-right: 25px;}
	.timeline::before {left: 60px;border: medium solid white;border-width: 10px 10px 10px 0;border-color: transparent white transparent transparent;}
	.timeline:nth-child(odd) {padding: 0px 0px 20px 40px;}
	.timeline:nth-child(odd)::after,
	.timeline:nth-child(even)::after {left: 3px;}
	.timeline:nth-child(odd)::before, .timeline:nth-child(even)::before {display: none;}
	.timeline:nth-child(even) {left: 0%;}
}

