/*
 * Speedbone – Basis-Styles
 * Nur die Regeln aus Bootstrap 4 (Reset, Grid, .btn) und dem alten Theme (Kopfbereich,
 * Footer, „Nach oben“-Button), die die Seite noch nutzt. Ersetzt bootstrap.min.css,
 * style.css, responsive.css und custom.css. Neue Styles gehören in header.css/pages.css.
 */
/* ===== aus bootstrap.min.css ===== */
*, ::after, ::before { box-sizing: border-box; }
html { font-family: sans-serif; line-height: 1.15; text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
footer, header, nav, section { display: block; }
body { margin: 0px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1rem; font-weight: 400; line-height: 1.5; color: rgb(33, 37, 41); text-align: left; background-color: rgb(255, 255, 255); }
[tabindex="-1"]:focus:not(:focus-visible) { outline: 0px !important; }
h1, h2, h3, h4 { margin-top: 0px; margin-bottom: 0.5rem; }
p { margin-top: 0px; margin-bottom: 1rem; }
address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }
ul { margin-top: 0px; margin-bottom: 1rem; }
ul ul { margin-bottom: 0px; }
b, strong { font-weight: bolder; }
a { color: rgb(0, 123, 255); text-decoration: none; background-color: transparent; }
a:hover { color: rgb(0, 86, 179); text-decoration: underline; }
img { vertical-align: middle; border-style: none; }
label { display: inline-block; margin-bottom: 0.5rem; }
button { border-radius: 0px; }
button:focus { outline: -webkit-focus-ring-color auto 5px; }
button, input, select, textarea { margin: 0px; font-family: inherit; font-size: inherit; line-height: inherit; }
button, input { overflow: visible; }
button, select { text-transform: none; }
select { overflow-wrap: normal; }
[type="button"], [type="submit"], button { appearance: button; }
[type="button"]:not(:disabled), [type="reset"]:not(:disabled), [type="submit"]:not(:disabled), button:not(:disabled) { cursor: pointer; }
textarea { overflow: auto; resize: vertical; }
::-webkit-file-upload-button { font: inherit; appearance: button; }
summary { display: list-item; cursor: pointer; }
[hidden] { display: none !important; }
h1, h2, h3, h4 { margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; }
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px) {
  .container { max-width: 540px; }
}
@media (min-width: 768px) {
  .container { max-width: 720px; }
}
@media (min-width: 992px) {
  .container { max-width: 960px; }
}
@media (min-width: 1200px) {
  .container { max-width: 1140px; }
}
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.col-12, .col-md-3, .col-md-6, .col-sm-12, .col-sm-6 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
@media (min-width: 576px) {
  .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
  .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 768px) {
  .col-md-3 { flex: 0 0 25%; max-width: 25%; }
  .col-md-6 { flex: 0 0 50%; max-width: 50%; }
}
.btn { display: inline-block; font-weight: 400; color: rgb(33, 37, 41); text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 0.375rem 0.75rem; font-size: 1rem; line-height: 1.5; border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
@media (prefers-reduced-motion: reduce) {
  .btn { transition: none; }
}
.btn:hover { color: rgb(33, 37, 41); text-decoration: none; }
.btn:focus { outline: 0px; box-shadow: rgba(0, 123, 255, 0.25) 0px 0px 0px 0.2rem; }
.btn:disabled { opacity: 0.65; }
.btn:not(:disabled):not(.disabled) { cursor: pointer; }
.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(0, 98, 204); border-color: rgb(0, 92, 191); }
.btn-primary:not(:disabled):not(.disabled).active:focus, .btn-primary:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(38, 143, 255, 0.5) 0px 0px 0px 0.2rem; }
.btn-secondary:not(:disabled):not(.disabled).active, .btn-secondary:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(84, 91, 98); border-color: rgb(78, 85, 91); }
.btn-secondary:not(:disabled):not(.disabled).active:focus, .btn-secondary:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(130, 138, 145, 0.5) 0px 0px 0px 0.2rem; }
.btn-success:not(:disabled):not(.disabled).active, .btn-success:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(30, 126, 52); border-color: rgb(28, 116, 48); }
.btn-success:not(:disabled):not(.disabled).active:focus, .btn-success:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(72, 180, 97, 0.5) 0px 0px 0px 0.2rem; }
.btn-info:not(:disabled):not(.disabled).active, .btn-info:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(17, 122, 139); border-color: rgb(16, 112, 127); }
.btn-info:not(:disabled):not(.disabled).active:focus, .btn-info:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(58, 176, 195, 0.5) 0px 0px 0px 0.2rem; }
.btn-warning:not(:disabled):not(.disabled).active, .btn-warning:not(:disabled):not(.disabled):active { color: rgb(33, 37, 41); background-color: rgb(211, 158, 0); border-color: rgb(198, 149, 0); }
.btn-warning:not(:disabled):not(.disabled).active:focus, .btn-warning:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(222, 170, 12, 0.5) 0px 0px 0px 0.2rem; }
.btn-danger:not(:disabled):not(.disabled).active, .btn-danger:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(189, 33, 48); border-color: rgb(178, 31, 45); }
.btn-danger:not(:disabled):not(.disabled).active:focus, .btn-danger:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(225, 83, 97, 0.5) 0px 0px 0px 0.2rem; }
.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active { color: rgb(33, 37, 41); background-color: rgb(218, 224, 229); border-color: rgb(211, 217, 223); }
.btn-light:not(:disabled):not(.disabled).active:focus, .btn-light:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(216, 217, 219, 0.5) 0px 0px 0px 0.2rem; }
.btn-dark:not(:disabled):not(.disabled).active, .btn-dark:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(29, 33, 36); border-color: rgb(23, 26, 29); }
.btn-dark:not(:disabled):not(.disabled).active:focus, .btn-dark:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(82, 88, 93, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-primary:not(:disabled):not(.disabled).active, .btn-outline-primary:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(0, 123, 255); border-color: rgb(0, 123, 255); }
.btn-outline-primary:not(:disabled):not(.disabled).active:focus, .btn-outline-primary:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(0, 123, 255, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-secondary:not(:disabled):not(.disabled).active, .btn-outline-secondary:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(108, 117, 125); border-color: rgb(108, 117, 125); }
.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .btn-outline-secondary:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(108, 117, 125, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-success:not(:disabled):not(.disabled).active, .btn-outline-success:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(40, 167, 69); border-color: rgb(40, 167, 69); }
.btn-outline-success:not(:disabled):not(.disabled).active:focus, .btn-outline-success:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(40, 167, 69, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-info:not(:disabled):not(.disabled).active, .btn-outline-info:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(23, 162, 184); border-color: rgb(23, 162, 184); }
.btn-outline-info:not(:disabled):not(.disabled).active:focus, .btn-outline-info:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(23, 162, 184, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-warning:not(:disabled):not(.disabled).active, .btn-outline-warning:not(:disabled):not(.disabled):active { color: rgb(33, 37, 41); background-color: rgb(255, 193, 7); border-color: rgb(255, 193, 7); }
.btn-outline-warning:not(:disabled):not(.disabled).active:focus, .btn-outline-warning:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(255, 193, 7, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-danger:not(:disabled):not(.disabled).active, .btn-outline-danger:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(220, 53, 69); border-color: rgb(220, 53, 69); }
.btn-outline-danger:not(:disabled):not(.disabled).active:focus, .btn-outline-danger:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(220, 53, 69, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-light:not(:disabled):not(.disabled).active, .btn-outline-light:not(:disabled):not(.disabled):active { color: rgb(33, 37, 41); background-color: rgb(248, 249, 250); border-color: rgb(248, 249, 250); }
.btn-outline-light:not(:disabled):not(.disabled).active:focus, .btn-outline-light:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(248, 249, 250, 0.5) 0px 0px 0px 0.2rem; }
.btn-outline-dark:not(:disabled):not(.disabled).active, .btn-outline-dark:not(:disabled):not(.disabled):active { color: rgb(255, 255, 255); background-color: rgb(52, 58, 64); border-color: rgb(52, 58, 64); }
.btn-outline-dark:not(:disabled):not(.disabled).active:focus, .btn-outline-dark:not(:disabled):not(.disabled):active:focus { box-shadow: rgba(52, 58, 64, 0.5) 0px 0px 0px 0.2rem; }
.close:not(:disabled):not(.disabled):focus, .close:not(:disabled):not(.disabled):hover { opacity: 0.75; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; }
.ml-4 { margin-left: 1.5rem !important; }
.px-4 { padding-right: 1.5rem !important; }
.px-4 { padding-left: 1.5rem !important; }
.mx-auto { margin-right: auto !important; }
.mx-auto { margin-left: auto !important; }
@media print {
  *, ::after, ::before { text-shadow: none !important; box-shadow: none !important; }
  a:not(.btn) { text-decoration: underline; }
  img { break-inside: avoid; }
  h2, h3, p { orphans: 3; widows: 3; }
  h2, h3 { break-after: avoid; }
  @page { size: a3; }
  body { min-width: 992px !important; }
  .container { min-width: 992px !important; }
}

/* ===== aus style.css ===== */
h1, h2, h3, h4 { font-weight: 100; }
.is-invalid { border: 2px solid rgb(255, 37, 58); }
html { overflow-x: hidden; }
body { overflow-x: hidden; background-color: rgb(255, 255, 255); font-family: Ubuntu, sans-serif; font-style: normal; font-weight: 100; }
.overlay { position: relative; }
.overlay::before { content: ""; position: absolute; inset: 0px; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); }
::selection { background: rgb(131, 192, 188); color: rgb(31, 45, 50); text-shadow: none; }
input:-webkit-autofill { background-color: rgb(230, 255, 243) !important; background-image: none !important; color: rgb(0, 0, 0) !important; }
.top-header { position: relative; background-size: cover; background-repeat: no-repeat; padding-top: 170px; padding-bottom: 40px; }
.top-header.overlay::before { background-color: rgba(0, 0, 0, 0); }
.top-header .wrapper .heading { font-family: Ubuntu, sans-serif; font-size: 32px; color: rgb(64, 64, 64); margin-bottom: 5px; font-weight: 100; }
.btn { border: 1px solid rgb(128, 128, 128); border-radius: 50px; color: rgb(128, 128, 128); font-size: 14px; line-height: 1; margin: 0px; padding: 17px 26px; position: relative; background-color: transparent; letter-spacing: 0.02em; font-family: Ubuntu, sans-serif; transition: 300ms linear; cursor: pointer !important; }
.btn-default-green-fill { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: rgb(131, 192, 188) !important; color: rgb(255, 255, 255) !important; }
.btn-default-green-fill:hover { border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: rgb(128, 128, 128) !important; color: rgb(255, 255, 255) !important; }
.btn:focus { outline: none !important; box-shadow: none !important; }
.footer { z-index: 0; background-color: rgb(24, 27, 34); background-position: center center; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.footer .footer-top { padding: 50px 0px 20px; }
.footer .footer-top .col-md-3.col-sm-6 { margin-bottom: 10px; }
.footer .logo-footer { width: 185px; }
.footer .heading { font-size: 16px; font-family: Ubuntu, sans-serif; color: rgb(255, 255, 255); margin-bottom: 10px; display: inline-block; }
.footer .footer-menu { float: left; padding: 0px; margin: 0px; }
.footer .footer-menu .menu-item { font-family: Ubuntu, sans-serif; font-size: 13px; display: inline-block; list-style-type: none; margin-left: 27px; margin-top: 10px; }
.footer .footer-menu .menu-item a { color: rgb(154, 160, 166); transition: 0.3s; }
.footer .footer-menu .menu-item a:hover { text-decoration: none; color: rgb(131, 192, 188); }
.footer .footer-menu.classic { padding: 0px; float: none; }
.footer .footer-menu.classic .menu-item { display: block; font-size: 13.5px; margin-left: 0px; text-align: left; }
.cd-top { display: inline-block; height: 45px; width: 45px; position: fixed; bottom: 100px; right: 25px; overflow: hidden; text-indent: 100%; white-space: nowrap; border-radius: 50%; background: rgba(105, 195, 153, 0.6); visibility: hidden; opacity: 0; transition: opacity 0.3s, visibility 0.3s; }
.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover { transition: opacity 0.3s, visibility; }
.cd-top i { top: 7px; color: rgb(255, 255, 255); font-size: 30px; display: inline-flex; position: absolute; right: 32px; }
.cd-top.cd-is-visible { visibility: visible; opacity: 1; z-index: 99; }
.cd-top.cd-fade-out { opacity: 0.5; }
@media (max-width: 1199px) {
  .footer .footer-menu .menu-item { margin-left: 0px; }
}
@media (max-width: 991px) {
  .footer .footer-menu .menu-item { margin-left: 15px; margin-right: 15px; }
  .footer .footer-menu.classic .menu-item { width: 100%; font-size: 13px; }
  .footer .heading { font-size: 15px; }
  .footer .logo-footer { width: 150px; }
}
@media (max-width: 767px) {
  .top-header { padding-top: 55px; padding-bottom: 25px; }
  .top-header { margin-top: 75px; }
  .top-header .wrapper { text-align: center; }
  .footer { text-align: center; }
  .footer .footer-top { padding: 50px !important; }
  .footer .footer-top img { width: 160px; }
  .footer .footer-menu { padding: 0px; margin-left: 0px; }
  .footer .footer-menu { float: none; text-align: center; padding: 0px; margin-left: 0px; }
  .footer .footer-menu .menu-item { margin-left: 12px; margin-right: 12px; }
  .footer .footer-menu.classic .menu-item { text-align: center; font-size: 14px; }
  .footer .footer-top .col-md-3.col-sm-6 { margin-bottom: 50px; }
  .footer .footer-top .col-md-3.col-sm-6:last-child { margin-bottom: 0px; }
  .footer .col-md-3.col-sm-6 { margin-bottom: 50px; }
  .footer .col-md-3.col-sm-6:last-child { margin-bottom: 10px; }
  .cd-tab-filter.is-open ul { display: none; }
}
@media (max-width: 420px) {
  .top-header .wrapper .heading { font-size: 26px; }
}

/* ===== aus responsive.css ===== */
@media (max-width: 991px) {
  h1 { font-size: 26px; }
  h3 { font-size: 18px; }
}

/* ===== aus custom.css ===== */
.top-header .wrapper .heading.page-title { font-size: clamp(2rem, 3.5vw, 3.25rem); font-weight: 700; line-height: 1.1; -webkit-text-stroke: 0px; }
.footer .footer-copy { margin: 14px 0px 0px; font-size: 13px; line-height: 1.5; color: rgb(138, 143, 147); }
.footer .footer-top { padding-bottom: 40px; }

