/*! Kompatibilitäts-CSS: Bootstrap-3.3.6-Darstellung der genutzten Bausteine auf Bootstrap 5.3.8
 *  Enthält Regeln aus Bootstrap 3.3.6 (MIT-Lizenz, (c) Twitter, Inc.) */

html{font-family: sans-serif; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;}
body{margin: 0;}
figure{display: block;}
a{background-color: transparent;}
a:active,a:hover{outline: 0;}
b,strong{font-weight: bold;}
h1{margin: .67em 0; font-size: 2em;}
small{font-size: 80%;}
sub,sup{position: relative; font-size: 75%; line-height: 0; vertical-align: baseline;}
sup{top: -.5em;}
sub{bottom: -.25em;}
img{border: 0;}
svg:not(:root){overflow: hidden;}
figure{margin: 1em 40px;}
hr{height: 0; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box;}
button,input{margin: 0; font: inherit; color: inherit;}
button{overflow: visible;}
button{text-transform: none;}
button{-webkit-appearance: button; cursor: pointer;}
button::-moz-focus-inner,input::-moz-focus-inner{padding: 0; border: 0;}
input{line-height: normal;}
@font-face{font-family: 'Glyphicons Halflings';

  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');}
.glyphicon{position: relative; top: 1px; display: inline-block; font-family: 'Glyphicons Halflings'; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.glyphicon-chevron-left:before{content: "\e079";}
.glyphicon-chevron-right:before{content: "\e080";}
html{font-size: 10px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}
body{font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857143; color: #333; background-color: #fff;}
input,button{font-family: inherit; font-size: inherit; line-height: inherit;}
a{color: #337ab7; text-decoration: none;}
a:hover,a:focus{color: #23527c; text-decoration: underline;}
a:focus{outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px;}
figure{margin: 0;}
img{vertical-align: middle;}
.carousel-inner > .item > img,.carousel-inner > .item > a > img{display: block; max-width: 100%; height: auto;}
hr{margin-top: 20px; margin-bottom: 20px; border: 0; border-top: 1px solid #eee;}
h1,h2,h3,h4,h5,h6,.h1{font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit;}
h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small{font-weight: normal; line-height: 1; color: #777;}
h1,.h1,h2,h3{margin-top: 20px; margin-bottom: 10px;}
h1 small,.h1 small,h2 small,h3 small{font-size: 65%;}
h4,h5,h6{margin-top: 10px; margin-bottom: 10px;}
h4 small,h5 small,h6 small{font-size: 75%;}
h1,.h1{font-size: 36px;}
h2{font-size: 30px;}
h3{font-size: 24px;}
h4{font-size: 18px;}
h5{font-size: 14px;}
h6{font-size: 12px;}
p{margin: 0 0 10px;}
.lead{margin-bottom: 20px; font-size: 16px; font-weight: 300; line-height: 1.4;}
@media (min-width: 768px) {
  .lead{font-size: 21px;}
}
small{font-size: 85%;}
.text-right{text-align: right;}
.text-center{text-align: center;}
ul,ol{margin-top: 0; margin-bottom: 10px;}
ul ul,ol ul,ul ol,ol ol{margin-bottom: 0;}
.list-unstyled{padding-left: 0; list-style: none;}
.list-inline{padding-left: 0; margin-left: -5px; list-style: none;}
.list-inline > li{display: inline-block; padding-right: 5px; padding-left: 5px;}
blockquote{padding: 10px 20px; margin: 0 0 20px; font-size: 17.5px; border-left: 5px solid #eee;}
blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom: 0;}
blockquote small{display: block; font-size: 80%; line-height: 1.42857143; color: #777;}
blockquote small:before{content: '\2014 \00A0';}
address{margin-bottom: 20px; font-style: normal; line-height: 1.42857143;}
.container{padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto;}
@media (min-width: 768px) {
  .container{width: 750px;}
}
@media (min-width: 992px) {
  .container{width: 970px;}
}
@media (min-width: 1200px) {
  .container{width: 1170px;}
}
.btn{display: inline-block; padding: 6px 12px; margin-bottom: 0; font-size: 14px; font-weight: normal; line-height: 1.42857143; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background-image: none; border: 1px solid transparent; border-radius: 4px;}
.btn:focus,.btn:active:focus,.btn.active:focus{outline: thin dotted; outline: 5px auto -webkit-focus-ring-color; outline-offset: -2px;}
.btn:hover,.btn:focus{color: #333; text-decoration: none;}
.btn:active,.btn.active{background-image: none; outline: 0; -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);}
.btn-lg{padding: 10px 16px; font-size: 18px; line-height: 1.3333333; border-radius: 6px;}
.collapse{display: none;}
.collapse.in{display: block;}
tr.collapse.in{display: table-row;}
tbody.collapse.in{display: table-row-group;}
.collapsing{position: relative; height: 0; overflow: hidden; -webkit-transition-timing-function: ease; -o-transition-timing-function: ease; transition-timing-function: ease; -webkit-transition-duration: .35s; -o-transition-duration: .35s; transition-duration: .35s; -webkit-transition-property: height, visibility; -o-transition-property: height, visibility; transition-property: height, visibility;}
.dropdown{position: relative;}
.dropdown-toggle:focus{outline: 0;}
.dropdown-menu{position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 160px; padding: 5px 0; margin: 2px 0 0; font-size: 14px; text-align: left; list-style: none; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid #ccc; border: 1px solid rgba(0, 0, 0, .15); border-radius: 4px; -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175);}
.dropdown-menu > li > a{display: block; padding: 3px 20px; clear: both; font-weight: normal; line-height: 1.42857143; color: #333; white-space: nowrap;}
.dropdown-menu > li > a:hover,.dropdown-menu > li > a:focus{color: #262626; text-decoration: none; background-color: #f5f5f5;}
.dropdown-menu > .active > a,.dropdown-menu > .active > a:hover,.dropdown-menu > .active > a:focus{color: #fff; text-decoration: none; background-color: #337ab7; outline: 0;}
.open > .dropdown-menu{display: block;}
.open > a{outline: 0;}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu{right: 0; left: auto;}
}
[data-toggle="buttons"] > .btn input[type="radio"],[data-toggle="buttons"] > .btn input[type="checkbox"]{position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none;}
.nav{padding-left: 0; margin-bottom: 0; list-style: none;}
.nav > li{position: relative; display: block;}
.nav > li > a{position: relative; display: block; padding: 10px 15px;}
.nav > li > a:hover,.nav > li > a:focus{text-decoration: none; background-color: #eee;}
.nav .open > a,.nav .open > a:hover,.nav .open > a:focus{background-color: #eee; border-color: #337ab7;}
.nav > li > a > img{max-width: none;}
.navbar{position: relative; min-height: 50px; margin-bottom: 20px; border: 1px solid transparent;}
@media (min-width: 768px) {
  .navbar{border-radius: 4px;}
}
@media (min-width: 768px) {
  .navbar-header{float: left;}
}
.navbar-collapse{padding-right: 15px; padding-left: 15px; overflow-x: visible; -webkit-overflow-scrolling: touch; border-top: 1px solid transparent; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);}
.navbar-collapse.in{overflow-y: auto;}
@media (min-width: 768px) {
  .navbar-collapse{width: auto; border-top: 0; -webkit-box-shadow: none; box-shadow: none;}
  .navbar-collapse.collapse{display: block !important; height: auto !important; padding-bottom: 0; overflow: visible !important;}
  .navbar-collapse.in{overflow-y: visible;}
  .navbar-fixed-top .navbar-collapse{padding-right: 0; padding-left: 0;}
}
.navbar-fixed-top .navbar-collapse{max-height: 340px;}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse{max-height: 200px;}
}
.container > .navbar-header,.container > .navbar-collapse{margin-right: -15px; margin-left: -15px;}
@media (min-width: 768px) {
  .container > .navbar-header,.container > .navbar-collapse{margin-right: 0; margin-left: 0;}
}
.navbar-fixed-top{position: fixed; right: 0; left: 0; z-index: 1030;}
@media (min-width: 768px) {
  .navbar-fixed-top{border-radius: 0;}
}
.navbar-fixed-top{top: 0; border-width: 0 0 1px;}
.navbar-brand{float: left; height: 50px; padding: 15px 15px; font-size: 18px; line-height: 20px;}
.navbar-brand:hover,.navbar-brand:focus{text-decoration: none;}
.navbar-brand > img{display: block;}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand{margin-left: -15px;}
}
.navbar-toggle{position: relative; float: right; padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px;}
.navbar-toggle:focus{outline: 0;}
@media (min-width: 768px) {
  .navbar-toggle{display: none;}
}
.navbar-nav{margin: 7.5px -15px;}
.navbar-nav > li > a{padding-top: 10px; padding-bottom: 10px; line-height: 20px;}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu{position: static; float: none; width: auto; margin-top: 0; background-color: transparent; border: 0; -webkit-box-shadow: none; box-shadow: none;}
  .navbar-nav .open .dropdown-menu > li > a{padding: 5px 15px 5px 25px;}
  .navbar-nav .open .dropdown-menu > li > a{line-height: 20px;}
  .navbar-nav .open .dropdown-menu > li > a:hover,.navbar-nav .open .dropdown-menu > li > a:focus{background-image: none;}
}
@media (min-width: 768px) {
  .navbar-nav{float: left; margin: 0;}
  .navbar-nav > li{float: left;}
  .navbar-nav > li > a{padding-top: 15px; padding-bottom: 15px;}
}
.navbar-nav > li > .dropdown-menu{margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0;}
@media (min-width: 768px) {
  .navbar-right{float: right !important; margin-right: -15px;}
  .navbar-right ~ .navbar-right{margin-right: 0;}
}
.navbar-default{background-color: #f8f8f8; border-color: #e7e7e7;}
.navbar-default .navbar-brand{color: #777;}
.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color: #5e5e5e; background-color: transparent;}
.navbar-default .navbar-nav > li > a{color: #777;}
.navbar-default .navbar-nav > li > a:hover,.navbar-default .navbar-nav > li > a:focus{color: #333; background-color: transparent;}
.navbar-default .navbar-nav > .active > a,.navbar-default .navbar-nav > .active > a:hover,.navbar-default .navbar-nav > .active > a:focus{color: #555; background-color: #e7e7e7;}
.navbar-default .navbar-toggle{border-color: #ddd;}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color: #ddd;}
.navbar-default .navbar-collapse{border-color: #e7e7e7;}
.navbar-default .navbar-nav > .open > a,.navbar-default .navbar-nav > .open > a:hover,.navbar-default .navbar-nav > .open > a:focus{color: #555; background-color: #e7e7e7;}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a{color: #777;}
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,.navbar-default .navbar-nav .open .dropdown-menu > li > a:focus{color: #333; background-color: transparent;}
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,.navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,.navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus{color: #555; background-color: #e7e7e7;}
}
.carousel{position: relative;}
.carousel-inner{position: relative; width: 100%; overflow: hidden;}
.carousel-inner > .item{position: relative; display: none; -webkit-transition: .6s ease-in-out left; -o-transition: .6s ease-in-out left; transition: .6s ease-in-out left;}
.carousel-inner > .item > img,.carousel-inner > .item > a > img{line-height: 1;}
.carousel-inner > .active,.carousel-inner > .next,.carousel-inner > .prev{display: block;}
.carousel-inner > .active{left: 0;}
.carousel-inner > .next,.carousel-inner > .prev{position: absolute; top: 0; width: 100%;}
.carousel-inner > .next{left: 100%;}
.carousel-inner > .prev{left: -100%;}
.carousel-inner > .next.left,.carousel-inner > .prev.right{left: 0;}
.carousel-inner > .active.left{left: -100%;}
.carousel-inner > .active.right{left: 100%;}
.carousel-control{position: absolute; top: 0; bottom: 0; left: 0; width: 15%; font-size: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); background-color: rgba(0, 0, 0, 0); filter: alpha(opacity=50); opacity: .5;}
.carousel-control.left{background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); background-repeat: repeat-x;}
.carousel-control.right{right: 0; left: auto; background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); background-repeat: repeat-x;}
.carousel-control:hover,.carousel-control:focus{color: #fff; text-decoration: none; filter: alpha(opacity=90); outline: 0; opacity: .9;}
.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position: absolute; top: 50%; z-index: 5; display: inline-block; margin-top: -10px;}
.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left: 50%; margin-left: -10px;}
.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right: 50%; margin-right: -10px;}
.carousel-control .icon-prev,.carousel-control .icon-next{width: 20px; height: 20px; font-family: serif; line-height: 1;}
.carousel-control .icon-prev:before{content: '\2039';}
.carousel-control .icon-next:before{content: '\203a';}
.carousel-indicators{position: absolute; bottom: 10px; left: 50%; z-index: 15; width: 60%; padding-left: 0; margin-left: -30%; text-align: center; list-style: none;}
.carousel-indicators li{display: inline-block; width: 10px; height: 10px; margin: 1px; text-indent: -999px; cursor: pointer; background-color: #000 \9; background-color: rgba(0, 0, 0, 0); border: 1px solid #fff; border-radius: 10px;}
.carousel-indicators .active{width: 12px; height: 12px; margin: 0; background-color: #fff;}
.carousel-caption{position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; text-shadow: 0 1px 2px rgba(0, 0, 0, .6);}
.carousel-caption .btn{text-shadow: none;}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width: 30px; height: 30px; margin-top: -10px; font-size: 30px;}
  .carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left: -10px;}
  .carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right: -10px;}
  .carousel-caption{right: 20%; left: 20%; padding-bottom: 30px;}
  .carousel-indicators{bottom: 20px;}
}
.container:before,.container:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after{display: table; content: " ";}
.container:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after{clear: both;}

/* --- Bootstrap-5-Eigenschaften zurücksetzen, die es in Bootstrap 3 nicht gab --- */
:root { scroll-behavior: auto !important; }

/* Grundtypografie wie Bootstrap 3 (BS5-Reboot nutzt 16px / 1.5 / andere Abstände) */
:root { --bs-body-font-size: 14px; --bs-body-line-height: 1.42857143; --bs-body-color: #333; --bs-link-color: #337ab7; --bs-link-color-rgb: 51,122,183; --bs-link-hover-color: #23527c; --bs-link-hover-color-rgb: 35,82,124; }
body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
a { text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
h1, h2, h3, h4, h5, h6, .h1 { line-height: 1.1; font-weight: 500; }
p { margin-top: 0; }
ul, ol { padding-left: 40px; }
address { line-height: 1.42857143; }
b, strong { font-weight: bold; }
small { font-size: 85%; }
hr { opacity: 1; color: inherit; border: 0; border-top: 1px solid #eee; }
img { vertical-align: middle; }
button { border-radius: 0; }

/* Raster: Bootstrap-3-Breiten und 30px Spaltenabstand */
.container { max-width: none; --bs-gutter-x: 30px; }
.row { --bs-gutter-x: 30px; }
@media (min-width: 1400px) { .container { width: 1170px; } }

/* Navigation: Bootstrap 5 macht .navbar/.nav zu Flexboxen */
.navbar { display: block; padding: 0; --bs-navbar-padding-y: 0; }
.navbar > .container { display: block; flex-wrap: nowrap; }
.navbar-brand { margin-right: 0; white-space: normal; }
.nav, .navbar-nav { display: block; flex-direction: initial; }
.dropdown-toggle::after { display: none; }
.dropdown-menu { --bs-dropdown-min-width: 160px; }
@media (min-width: 768px) { .navbar-nav .dropdown-menu { position: absolute; } }
.navbar-collapse { flex-basis: auto; flex-grow: 0; }

/* Slider: Bootstrap-5-Punkte (Balken) wieder als Kreise wie in Bootstrap 3 */
.carousel-indicators { right: auto; display: block; margin-right: 0; margin-bottom: 10px; justify-content: initial; }
.carousel-indicators [data-bs-target] { box-sizing: border-box; flex: initial; display: inline-block; width: 10px; height: 10px; margin: 1px; padding: 0; text-indent: -999px; border: 1px solid #fff; border-radius: 10px; background-clip: border-box; transition: none; }
.carousel-indicators [data-bs-target].active { width: 12px; height: 12px; margin: 0; }


/* Mega-Menü: gestapelte Spalten unter 992px wie in Bootstrap 3 (Blockelemente, Außenabstände fallen zusammen) */
@media (max-width: 991.98px) { .mega-menu-content .row { display: block; } }

/* Slider: einfahrendes Bild während des Wechsels sichtbar halten (bisher harter Schnitt ohne Animation) */
.carousel-inner > .carousel-item-next, .carousel-inner > .carousel-item-prev { display: block; }

/* Bereichsüberschrift im Seitenkopf: seit der SEO-Umstellung <div class="page-title h1"> statt <h1>.
   Das Theme gestaltet sie über h1.page-title – hier dieselbe Darstellung für das div (weiß, title-dark grau). */
.page-header div.page-title { font-size: 16px; font-weight: 700; line-height: normal; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
.page-header div.page-title.title-dark { color: #333333; text-shadow: 0 1px 2px rgba(255, 255, 255, 0.7); }

/* Menü-Button (Handy): unter HTML5-Doctype sonst 0,8px höher als unter dem alten XHTML-Doctype */
.navbar-toggle > .fa { display: block; }
