/* Fastlack static mirror — base styles + Bootstrap-3-compatible grid used by the CMS content */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 10px; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font-family: Montserrat, Arial, sans-serif; font-size: 14px; line-height: 1.5;
  color: #04042f; background: #fff; overflow-x: hidden;
}
img { max-width: 100%; height: auto; vertical-align: middle; border: 0; }
a { color: #e00815; text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3, h4, h5, h6 { font-family: inherit; line-height: 1.2; margin: 20px 0 10px; }
h1 { font-size: 36px; } h2 { font-size: 30px; } h3 { font-size: 24px; } h4 { font-size: 18px; }
p { margin: 0 0 10px; }
hr { border: 0; border-top: 1px solid #ddd; margin: 20px 0; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 32px;
  padding: 14px 24px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
}
.site-header .logo img { height: 26px; width: auto; }
.site-header nav { display: flex; gap: 28px; flex-wrap: wrap; }
.site-header nav a { color: #626262; font-weight: 600; font-size: 13px; }
.site-header nav a:hover { color: #04042f; text-decoration: none; }
@media (max-width: 767px) {
  .site-header { flex-direction: column; padding: 10px 16px; gap: 8px; }
  .site-header .logo img { height: 24px; }
  .site-header nav { gap: 16px; justify-content: center; }
  .site-header nav a { font-size: 13px; }
}

/* Grid */
.container, .container-fluid { margin: 0 auto; padding: 0 15px; }
.container { max-width: 1170px; }
.row { margin: 0 -15px; }
.row::after, .container::after, .container-fluid::after { content: ""; display: table; clear: both; }
[class*="col-"] { position: relative; min-height: 1px; padding: 0 15px; float: left; width: 100%; }
.col-xs-1 { width: 8.33333%; }
.col-xs-2 { width: 16.6667%; }
.col-xs-3 { width: 25%; }
.col-xs-4 { width: 33.3333%; }
.col-xs-5 { width: 41.6667%; }
.col-xs-6 { width: 50%; }
.col-xs-7 { width: 58.3333%; }
.col-xs-8 { width: 66.6667%; }
.col-xs-9 { width: 75%; }
.col-xs-10 { width: 83.3333%; }
.col-xs-11 { width: 91.6667%; }
.col-xs-12 { width: 100%; }
.col-xs-offset-0 { margin-left: 0%; }
.col-xs-offset-1 { margin-left: 8.33333%; }
.col-xs-offset-2 { margin-left: 16.6667%; }
.col-xs-offset-3 { margin-left: 25%; }
.col-xs-offset-4 { margin-left: 33.3333%; }
.col-xs-offset-5 { margin-left: 41.6667%; }
.col-xs-offset-6 { margin-left: 50%; }
.col-xs-offset-7 { margin-left: 58.3333%; }
.col-xs-offset-8 { margin-left: 66.6667%; }
.col-xs-offset-9 { margin-left: 75%; }
.col-xs-offset-10 { margin-left: 83.3333%; }
.col-xs-offset-11 { margin-left: 91.6667%; }
@media (min-width: 768px) {
.col-sm-1 { width: 8.33333%; }
.col-sm-2 { width: 16.6667%; }
.col-sm-3 { width: 25%; }
.col-sm-4 { width: 33.3333%; }
.col-sm-5 { width: 41.6667%; }
.col-sm-6 { width: 50%; }
.col-sm-7 { width: 58.3333%; }
.col-sm-8 { width: 66.6667%; }
.col-sm-9 { width: 75%; }
.col-sm-10 { width: 83.3333%; }
.col-sm-11 { width: 91.6667%; }
.col-sm-12 { width: 100%; }
.col-sm-offset-0 { margin-left: 0%; }
.col-sm-offset-1 { margin-left: 8.33333%; }
.col-sm-offset-2 { margin-left: 16.6667%; }
.col-sm-offset-3 { margin-left: 25%; }
.col-sm-offset-4 { margin-left: 33.3333%; }
.col-sm-offset-5 { margin-left: 41.6667%; }
.col-sm-offset-6 { margin-left: 50%; }
.col-sm-offset-7 { margin-left: 58.3333%; }
.col-sm-offset-8 { margin-left: 66.6667%; }
.col-sm-offset-9 { margin-left: 75%; }
.col-sm-offset-10 { margin-left: 83.3333%; }
.col-sm-offset-11 { margin-left: 91.6667%; }
}
@media (min-width: 992px) {
.col-md-1 { width: 8.33333%; }
.col-md-2 { width: 16.6667%; }
.col-md-3 { width: 25%; }
.col-md-4 { width: 33.3333%; }
.col-md-5 { width: 41.6667%; }
.col-md-6 { width: 50%; }
.col-md-7 { width: 58.3333%; }
.col-md-8 { width: 66.6667%; }
.col-md-9 { width: 75%; }
.col-md-10 { width: 83.3333%; }
.col-md-11 { width: 91.6667%; }
.col-md-12 { width: 100%; }
.col-md-offset-0 { margin-left: 0%; }
.col-md-offset-1 { margin-left: 8.33333%; }
.col-md-offset-2 { margin-left: 16.6667%; }
.col-md-offset-3 { margin-left: 25%; }
.col-md-offset-4 { margin-left: 33.3333%; }
.col-md-offset-5 { margin-left: 41.6667%; }
.col-md-offset-6 { margin-left: 50%; }
.col-md-offset-7 { margin-left: 58.3333%; }
.col-md-offset-8 { margin-left: 66.6667%; }
.col-md-offset-9 { margin-left: 75%; }
.col-md-offset-10 { margin-left: 83.3333%; }
.col-md-offset-11 { margin-left: 91.6667%; }
}
@media (min-width: 1200px) {
.col-lg-1 { width: 8.33333%; }
.col-lg-2 { width: 16.6667%; }
.col-lg-3 { width: 25%; }
.col-lg-4 { width: 33.3333%; }
.col-lg-5 { width: 41.6667%; }
.col-lg-6 { width: 50%; }
.col-lg-7 { width: 58.3333%; }
.col-lg-8 { width: 66.6667%; }
.col-lg-9 { width: 75%; }
.col-lg-10 { width: 83.3333%; }
.col-lg-11 { width: 91.6667%; }
.col-lg-12 { width: 100%; }
.col-lg-offset-0 { margin-left: 0%; }
.col-lg-offset-1 { margin-left: 8.33333%; }
.col-lg-offset-2 { margin-left: 16.6667%; }
.col-lg-offset-3 { margin-left: 25%; }
.col-lg-offset-4 { margin-left: 33.3333%; }
.col-lg-offset-5 { margin-left: 41.6667%; }
.col-lg-offset-6 { margin-left: 50%; }
.col-lg-offset-7 { margin-left: 58.3333%; }
.col-lg-offset-8 { margin-left: 66.6667%; }
.col-lg-offset-9 { margin-left: 75%; }
.col-lg-offset-10 { margin-left: 83.3333%; }
.col-lg-offset-11 { margin-left: 91.6667%; }
}

/* Responsive visibility (Bootstrap 3 semantics) */
@media (max-width: 767px) { .hidden-xs { display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) { .hidden-sm { display: none !important; } }
@media (min-width: 992px) and (max-width: 1199px) { .hidden-md { display: none !important; } }
@media (min-width: 1200px) { .hidden-lg { display: none !important; } }

/* CMS elements */
.cms-pad { padding-top: var(--pt, 0); padding-bottom: var(--pb, 0); }
@media (max-width: 767px) {
  .cms-pad { padding-top: var(--spt, var(--pt, 0)); padding-bottom: var(--spb, var(--pb, 0)); }
}
.cms-grid { overflow-x: hidden; }
.cms-text { position: relative; background-size: cover; background-repeat: no-repeat; }
.cms-image { margin-bottom: 15px; }
.cms-carousel-child img { width: 100%; }
.rounded img, img.rounded { border-radius: 6px; }
.no-padding { padding: 0 !important; }
.p-l-0 { padding-left: 0 !important; } .p-r-0 { padding-right: 0 !important; }

.cms-carousel { position: relative; }
.cms-carousel .cms-carousel-child { display: none; margin: 0; }
.cms-carousel .cms-carousel-child.active { display: block; }

.cms-questionnaire { max-width: 720px; margin: 0 auto; padding: 32px; background: #f1f4f5; border-radius: 8px; }

/* Footer (markup comes from the CMS) */
.customer-footer { background-color: #e5e5e5; padding: 105px; }
.customer-footer .link-columns { display: flex; justify-content: space-between; gap: 20px; }
.customer-footer .link-column { display: flex; flex-direction: column; width: 20%; }
.customer-footer .link-column-head { font-weight: 600; text-transform: uppercase; color: #9ea3a5; }
.customer-footer .link-column a { color: #04042f; font-weight: 600; margin-top: 24px; }
.customer-footer .copyright { display: flex; justify-content: space-between; width: 100%; margin-top: 24px; }
.customer-footer .social-links { display: flex; gap: 12px; }
.customer-footer .copyright a img { height: 24px; }
@media (max-width: 991px) {
  .customer-footer { padding: 60px; }
  .customer-footer .link-columns { flex-wrap: wrap; }
  .customer-footer .link-column { width: 33.333%; }
}
@media (max-width: 767px) {
  .customer-footer { padding: 40px 16px; }
  .customer-footer .link-column { width: 100%; }
  .customer-footer .link-column a { margin-top: 12px; }
}

/* Check-mark list (replaces the CMS Font-Awesome list on /umweltschutz) */
.check-list { list-style: none; padding: 0; margin: 10px 0 20px; font-size: 16px; }
.check-list li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.check-list li::before {
  content: ""; position: absolute; left: 4px; top: 3px; width: 7px; height: 13px;
  border: solid #2e9e3e; border-width: 0 3px 3px 0; transform: rotate(45deg);
}
