/*!
 * Start Bootstrap - Grayscale v4.0.0-beta (http://startbootstrap.com/template-overviews/grayscale)
 * Copyright 2013-2017 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-grayscale/blob/master/LICENSE)
 */
body {
  font-family:Lora,'Helvetica Neue',Helvetica,Arial,sans-serif;
  position:relative;
  width:100%;
  height:100%;
  color:#fff;
  background-color:#4472C4;
}

html {
  width:100%;
  height:100%;
}

h1,h2,h3,h4,h5,h6 {
  font-family:Cabin,'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:700;
  margin:0 0 35px;
  letter-spacing:1px;
  text-transform:uppercase;
}

p {
  font-size:16px;
  line-height:1.5;
  margin:0 0 25px;
}

@media (min-width:768px) {
  p {
    font-size:18px;
    line-height:1.6;
    margin:0 0 35px;
  }
}

a {
  -webkit-transition:all .2s ease-in-out;
  -moz-transition:all .2s ease-in-out;
  transition:all .2s ease-in-out;
  color:#42dca3;
}

a:focus,a:hover {
  text-decoration:none;
  color:#1d9b6c;
}

#mainNav {
  font-family:Cabin,'Helvetica Neue',Helvetica,Arial,sans-serif;
  margin-bottom:0;
  text-transform:uppercase;
  border-bottom:1px solid rgba(255,255,255,.3);
  background-color:#000;
}

#mainNav .navbar-toggler {
  font-size:14px;
  padding:11px;
  color:#fff;
  border:1px solid #fff;
}

#mainNav .navbar-brand {
  font-weight:700;
}

#mainNav a {
  color:#fff;
}

#mainNav .navbar-nav .nav-item {
  -webkit-transition:background .3s ease-in-out;
  -moz-transition:background .3s ease-in-out;
  transition:background .3s ease-in-out;
}

#mainNav .navbar-nav .nav-item:hover {
  color:fade(white,80%);
  outline:0;
  background-color:transparent;
}

#mainNav .navbar-nav .nav-item:active,
#mainNav .navbar-nav .nav-item:focus {
  outline:0;
  background-color:transparent;
}

@media (min-width:992px) {
  #mainNav {
    padding-top:20px;
    padding-bottom:20px;
    -webkit-transition:background .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s;
    -moz-transition:background .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s;
    transition:background .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s;
    letter-spacing:1px;
    border-bottom:none;
    background:0 0;
  }
  
  #mainNav.navbar-shrink {
    padding-top:10px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(255,255,255,.3);
    background:#4472C4;
  }
  
  #mainNav .nav-link.active {
    outline:0;
    background-color:rgba(255,255,255,.3);
  }
  
  #mainNav .nav-link.active:hover {
    color:#fff;
  }
}

.masthead {
  display:table;
  width:100%;
  height:auto;
  padding:200px 0;
  text-align:center;
  color:#fff;
  background:url(../img/intro-bg4.jpg) no-repeat bottom center scroll;
  background-color:#000;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
}

.masthead .intro-body {
  display:table-cell;
  vertical-align:middle;
}

.masthead .intro-body .brand-heading {
  font-size:50px;
}

.masthead .intro-body .intro-text {
  font-size:18px;
}

@media (min-width:768px) {
  .masthead {
    height:100%;
    padding:0;
  }
  
  .masthead .intro-body .brand-heading {
    font-size:100px;
  }
  
  .masthead .intro-body .intro-text {
    font-size:22px;
  }
}

.btn-circle {
  font-size:26px;
  width:55px;
  height:55px;
  margin-top:15px;
  line-height:38px;
  -webkit-transition:background .3s ease-in-out;
  -moz-transition:background .3s ease-in-out;
  transition:background .3s ease-in-out;
  color:#fff;
  border:2px solid #fff;
  border-radius:100%!important;
  background:0 0;
}

.btn-circle:focus,
.btn-circle:hover {
  color:#fff;
  outline:0;
  background:rgba(255,255,255,.1);
}

.content-section {
  padding-top:150px;
  padding-bottom:150px;
}

.download-section {
  color:#fff;
  background:url(../img/downloads-bg2.jpg) no-repeat center center scroll;
  background-color:#000;
  -webkit-background-size:cover;
  -moz-background-size:cover;
  -o-background-size:cover;
  background-size:cover;
}

#map {
  width:100%;
  height:300px;
}

@media (min-width:992px) {
  .content-section {
    padding-top:200px;
    padding-bottom:200px;
  }
  
  #map {
    height:350px;
  }
}

.btn {
  font-family:Cabin,'Helvetica Neue',Helvetica,Arial,sans-serif;
  font-weight:400;
  -webkit-transition:all .3s ease-in-out;
  -moz-transition:all .3s ease-in-out;
  transition:all .3s ease-in-out;
  text-transform:uppercase;
  border-radius:0;
}

.btn-default {
  color:#42dca3;
  border:1px solid #42dca3;
  background-color:transparent;
}

.btn-default:focus,
.btn-default:hover {
  color:#000;
  border:1px solid #42dca3;
  outline:0;
  background-color:#42dca3;
}

ul.banner-social-buttons {
  margin-top:0;
}

@media (max-width:1199px) {
  ul.banner-social-buttons {
    margin-top:15px;
  }
}

@media (max-width:767px) {
  ul.banner-social-buttons li {
    display:block;
    margin-bottom:20px;
    padding:0;
  }
  
  ul.banner-social-buttons li:last-child {
    margin-bottom:0;
  }
}

footer {
  padding:50px 0;
}

footer p {
  font-size:14px;
  margin:0;
}

::-moz-selection {
  background:#fcfcfc;
  background:rgba(255,255,255,.2);
  text-shadow:none;
}

::selection {
  background:#fcfcfc;
  background:rgba(255,255,255,.2);
  text-shadow:none;
}

img::selection {
  background:0 0;
}

img::-moz-selection {
  background:0 0;
}

body {
  -webkit-tap-highlight-color:rgba(255,255,255,.2);
}

/* Cookie Banner Styles - Fixed für Barrierefreiheits-Button */
#footer-cookie,
#footer-cookie * {
  box-sizing: border-box;
}

#footer-cookie {
  display: none;
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 60px;
  padding-left: 30px;
  padding-right: 200px; /* Mehr Platz rechts für Barrierefreiheits-Button */
  line-height: 60px;
  background: #303030;
  color: #fff;
  z-index: 9998; /* Niedriger als Barrierefreiheits-Button */
}

#footer-cookie a {
  color: #fff;
}

#footer-cookie #description {
  float: left;
}

#footer-cookie #accept {
  float: right;
  margin-right: 20px; /* Zusätzlicher Abstand vom rechten Rand */
}

#footer-cookie #accept a {
  border: 1px solid #fff;
  padding: 5px 10px;
  text-decoration: none;
  background: #42dca3;
  border-color: #42dca3;
  color: #000;
  font-weight: bold;
}

#footer-cookie #accept a:hover,
#footer-cookie #accept a:focus {
  background: #35c997;
  border-color: #35c997;
  color: #000;
}

/* Responsive Anpassungen für Cookie Banner */
@media (max-width: 1200px) {
  #footer-cookie {
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 30px; /* Auf Mobile normales Padding */
    line-height: inherit;
    height: auto;
  }

  #footer-cookie #description {
    width: 100%;
    float: none;
  }

  #footer-cookie #accept {
    width: 100%;
    float: none;
    margin-top: 10px;
    margin-right: 0;
    text-align: center;
  }

  #footer-cookie #accept a {
    width: auto;
    display: inline-block;
    padding: 10px 20px;
  }
}

/* Für sehr kleine Bildschirme Cookie-Banner weiter anpassen */
@media (max-width: 600px) {
  #footer-cookie {
    padding-bottom: 80px; /* Platz für Barrierefreiheits-Button lassen */
  }
  
  #footer-cookie #accept a {
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 10px;
  }
}