@charset "utf-8";

/*
 * Software erstellt von Thomas Klaschka
 * Copyright © Thomas Klaschka, alle Rechte vorbehalten
 */
html {
  scroll-behavior: smooth;
}
body {
  position: relative;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  line-height: 1.55em;
  hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
}

/* NAVIGATION */
.scrollindicator-container {
  position: fixed;
  top: 0;
  width: 100%;
  height: 4px;
  background: #216CFF;
  z-index: 99999;
}
.scrollindicator-progress-bar {
  height: 4px;
  background: #404040;
  width: 0%;
}
nav {
  padding: 1em;
}
.facility-services-logo {
  height: 48px;
}
nav a {
  margin-left: 1em;
  font-size: 1.1em !important;
  font-weight: bold !important;
  color: white;
  letter-spacing: .25em;
  border-radius: 4px;
}
.navbar {
  background-color: #216CFF;
}
.navbar-brand {
  margin: 0;
  padding: 0 .5em 0 0;
}
.navbar-toggler {
  border: none;
  background: none;
}
.navbar-toggler:focus {
  outline: none;
}
.toggler-icon {
  display: block;
  width: 30px;
  height: 2px;
  background-color: white;
  margin: 6px 0;
  transition: transform 0.4s, opacity 0.4s;
}
.navbar-toggler:not(.collapsed) + .navbar-collapse {
  margin-top: .8em;
  border-top: 1px solid rgba(255,255,255,.25);
}
.navbar-toggler .top-bar {
  transform: rotate(0) translate(0, 0);
}
.navbar-toggler .middle-bar {
  opacity: 1;
}
.navbar-toggler .bottom-bar {
  transform: rotate(0) translate(0, 0);
}
.navbar-toggler:not(.collapsed) .top-bar {
  transform: translateY(8px) rotate(-45deg);
}
.navbar-toggler:not(.collapsed) .middle-bar {
  opacity: 0;
}
.navbar-toggler:not(.collapsed) .bottom-bar {
  transform: translateY(-8px) rotate(45deg);
}
.navbar-toggler:hover,
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler.active {
  border: none;
  outline: none;
  box-shadow: none;
}

/* INHALT */
.container-fluid {
  padding: 7em .2em 2em;
}
h1, .h1 {
  margin: 1.3em 0 .25em;
  font-size: 3em;
  line-height: 1.3em;
}
.facility-services-app {
  margin: .25em 0 .5em;
  font-size: 2.4em;
  line-height: 1.4em;
}
h2, .h2 {
  margin: .25em 0 .75em 0;
  font-size: 2.1em;
  line-height: 1.4em;
}
h3, .h3 {
  margin: .2em 0;
  font-size: 1.8em;
  line-height: 1.4em;
}
@media (max-width: 576px) {
  h1, .h1 {
    margin: 1.6em 0 .25em;
    font-size: 2.1em;
    line-height: 1.3em;
  }
  h2, .h2 {
    margin: .25em 0 .75em 0;
    font-size: 1.85em;
    line-height: 1.4em;
  }
  h3, .h3 {
    margin: .25em 0;
    font-size: 1.6em;
    line-height: 1.4em;
  }
}
h4, .h4 {
  margin: .25em 0;
  font-size: 1.5em;
  font-size: 1.5em;
  line-height: 1.4em;
}
h5, .h5 {
  margin: .25em 0;
  font-size: 1.2em;
  line-height: 1.4em;
}
.blauweiss {
  color: #216CFF;
  background-color: white;
}
.weissblau {
  color: white;
  background-color: #216CFF;
}
.weissgrau {
  color: white !important;
  background-color: #404040 !important;
}
.grauweiss {
  color: #404040 !important;
  background-color: white !important;
}
.dunkelgrau{
  color: white !important;
  background-color: #202020 !important;
}
.hero-sektion {
  min-height: 45vh;
  color: white !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #202020;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,0.05) 0,
      rgba(255,255,255,0.05) 1px,
      transparent 1px,
      transparent 50px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,0.05) 0,
      rgba(255,255,255,0.05) 1px,
      transparent 1px,
      transparent 50px
    );
  background-size: cover;
}
#hero {
  position: relative;
  min-height: 55vh;
  padding-top: 6rem;
  padding-bottom: 4rem;
  overflow: hidden;
  background-color: #e6eeff;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,0.4) 0,
      rgba(255,255,255,0.4) 1px,
      transparent 1px,
      transparent 50px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(255,255,255,0.4) 0,
      rgba(255,255,255,0.4) 1px,
      transparent 1px,
      transparent 50px
    );
  background-size: cover;
}
#hero .hero-content {
  text-align: left;
}
#hero .hero-image {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#hero .hero-content h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0;
  text-align: left;
  line-height: 1.3em;
}
#hero .hero-content p {
  font-size: 1.125rem;
}

.beschreibung {
  padding: .6em 0;
  font-size: 1.2em;
}
.kontakthinweis {
  font-size: 1.2em;
}
.row {
  margin: 0;
}
.fas-common-style {
  width: 36px !important;
  color: #49d900;
}
.checkbox {
  padding: 0;
  margin: 0 0 1em 0;
  line-height: 1.4em;
}
article:not(:first-of-type) {
  margin-top: 6em;
}
.card {
  margin-bottom: 20px;
}
.card-body {
  text-align: left;
  letter-spacing: .1em;
  line-height: 1.1em;
}
.featured {
  border: 1px solid #FFB421;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
.featured .badge {
  background-color: #FFB421;
  color: #000;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 0.9em;
  font-weight: bold;
}
.checkmark {
  margin-right: .25em;
  color: #49d900;
  font-size: 1em;
}
a {
  text-decoration: none !important;
}
a .leistung-anfragen {
  margin: 1.4em 0;
  padding: 1em;
  width: auto;
  font-size: 1.2em;
  font-weight: bold;
  background-color: white;
  color: #216CFF;
  line-height: 1em;
  border: 1px solid #216CFF;
  border-radius: 16px;
  cursor: pointer;
}
a .leistung-anfragen:hover {
  background-color: #216CFF;
  color: white;
  border: 1px solid #216CFF;
}
a .leistung-anfragen-featured {
  margin: 1.4em 0;
  padding: 1em;
  width: auto;
  font-size: 1.2em;
  font-weight: bold;
  background-color: white;
  color: #FFB421;
  line-height: 1em;
  border: 1px solid #FFB421;
  border-radius: 16px;
  cursor: pointer;
}
a .leistung-anfragen-featured:hover {
  background-color: #FFB421;
  color: white;
}
a .leistung-anfragen-featured-reversed {
  margin: 1.4em 0;
  padding: 1em;
  width: auto;
  font-size: 1.2em;
  font-weight: bold;
  background-color: #FFB421;
  color: white;
  line-height: 1em;
  border: 1px solid white;
  border-radius: 99px;
  cursor: pointer;
}
a .leistung-anfragen-featured-reversed:hover {
  background-color: white;
  color: #FFB421;
}
a .normaler-link {
  color: white !important;
}
.highlight {
  color: #FFB421;
}
.produkt-anfragen {
  padding: 1em;
  width: auto;
  font-size: 1.2em;
  font-weight: bold;
  background-color: white;
  color: #216CFF;
  line-height: 1em;
  border: 1px solid #216CFF;
  border-radius: 16px;
  cursor: pointer;
}
.produkt-anfragen:hover {
  background-color: #216CFF;
  color: white;
  text-decoration: none;
  border: 1px solid white;
}
/* Accordion */
.accordion-header-h2 {
  margin: 0 !important;
  font-size: 2.1em;
  line-height: 1.4em;
}
.accordion-button {
  font-weight: bold;
}

.accordion-button:focus {
  box-shadow: none;
}
.accordion-button:not(.collapsed) {
  background-color: #f9f9f9;
  color: black;
}
.accordion-button.collapsed {
  background-color: #f3f3f3;
  color: black;
}
/***********
* Formular *
***********/
.form-group {
  padding-left: 0;
}

.table .form-control {
  font-weight: normal;
}

.form-control:hover, .form-control:focus {
  border-color: #216CFF;
}

.form-control:focus {
  border-color: #216CFF;
  box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.65), 0px 0px 6px rgba(64, 128, 255, 0.6);
}

.form-select {
  font-weight: bold;
}

.form-select:hover, .form-select:focus {
  border-color: #216CFF;
}

.table .form-select {
  font-weight: normal;
}

.form-check-input:focus {
  border-color: rgba(0, 0, 0, 0.25);
  box-shadow: none;
}

.form-check-input:active {
  filter: none;
}

.form-check-input:checked[type=checkbox] {
  border-color: #216CFF;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='2 2 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='M6 10l3 3l6-6'/></svg>");
}

/* Override Chrome Autofill Styles "user agent stylesheet" (scheint aber nicht zu funken) */
/* input:-internal-autofill-previewed,
input:-internal-autofill-selected,
textarea:-internal-autofill-previewed,
textarea:-internal-autofill-selected,
select:-internal-autofill-previewed,
select:-internal-autofill-selected {
  font-weight: bold !important;
} */

/* FOOTER */
footer {
  margin: 0;
  padding: 2em;
}
footer span {
  cursor: pointer;
}

/* TOAST */
#toast {
  visibility: hidden;
  position: fixed;
  left: 50%;
  top: 4.4em;
  min-width: 20em;
  margin-left: -10em;
  padding: 1.4em;
  background-color: #404040;
  color: white;
  font-size: 1.2em;
  text-align: center;
  border-radius: 12px;
  z-index: 99;
}
#toast span {
  font-size: 1.4em;
}
#toast.show {
  visibility: visible;
  -webkit-animation: fadein 0.5s, fadeout 0.5s 3.25s;
  animation: fadein 0.5s, fadeout 0.5s 3.25s;
}
@-webkit-keyframes fadein {
  from {top: -2em;}
  to {top: 4.4em;}
}
@keyframes fadein {
  from {top: -2em;}
  to {top: 4.4em;}
}
@-webkit-keyframes fadeout {
  from {top: 4.4em;}
  to {top: -2em;}
}
@keyframes fadeout {
  from {top: 4.4em;}
  to {top: -2em;}
}

/* Zum Start */
#zumStart {
  display: none;
  position: fixed;
  bottom: 1em;
  right: 1.2em;
  width: 2.2em;
  height: 2.2em;
  padding: .6em .6em .6em .65em;
  background-color: #216CFF;
  font-size: 1.4em;
  color:white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  z-index: 99;
}
#zumStart:hover {
  background-color: white;
  color: #216CFF;
}
.chevron {
  color: white;
  font-weight: bold;
  margin-right: 1px;
}

/* Eigenes Modal */
.meinModal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0,0,0);
  background-color: rgba(0,0,0,0.4);
  overflow: auto;
  -webkit-animation: animatetop 0.4s;
  animation: animatetop 0.4s;
  z-index: 999;
}
@-webkit-keyframes animatetop {
  from {top: -20em; opacity: 0}
  to {top: 0; opacity: 1}
}
@keyframes animatetop {
  from {top: -20em; opacity: 0}
  to {top: 0; opacity: 1}
}
.meinModal-content {
  margin: 4.6em auto;
  padding: 0;
  width: 95%;
  background-color: #404040;
  border: 1px solid #404040;
  border-radius: 4px;
  box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
}
.meinModal-header {
  padding: 2em;
  background-color: #404040;
  color: white;
  border-bottom: 1px solid #484848;
  border-radius: 4px 4px 0 0;
}
.meinModal-header h3 {
  margin-bottom: 0;
  padding-bottom: 0;
}
.meinModal-header h4 {
  margin-bottom: 0;
  padding-bottom: 0;
}
.meinModal-close {
  float: right;
  font-size: 1.4em;
  font-weight: bold;
  color: #aaa;
}
.meinModal-close:hover, footer .meinModal-close:focus {
  text-decoration: none;
  color: white;
  cursor: pointer;
}
.meinModal-body {
  padding: 1.25em;
  text-align: justify;
  background-color: white;
  color: #404040;
  font-size: 1.25em;
  line-height: 1.25em;
}
.meinModal-body li {
  margin-bottom: .8em;
}
.meinModal-body ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
.meinModal-body ol ol {
  padding-left: 1em;
}
.meinModal-body ol ol ul{
  padding-left: 1em;
}
.meinModal-footer {
  padding: 2em;
  background-color: #404040;
  color: white;
  border-top: 1px solid #484848;
  border-radius: 0 0 4px 4px;
}