/* Customized CSS */
/* montserrat-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/montserrat-v30-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v30-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v30-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/montserrat-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* montserrat-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/montserrat-v30-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



html, body * {
    padding: 0;
}
body {
  background-color: #f8f9fa !important;
  font-family: 'Montserrat' !important;
  color: #333 !important;
  overflow-x: hidden !important;
}
h1, h2, h3, h4, h5, h6, .text-deco, .navbar-brand {
  font-family: 'Montserrat' !important;
}
.container {
  max-width: 1140px !important;
}

section {
  position: relative;
}
/* Farbschema-Einstellungen --/ color scheme settings /- */
.text-color {
  color: #6F737B !important;
}
.text-blue {
  color:#2D3956 !important;
}
.bg-color {
  background-color: #2D3956 !important;
}
.bg-button {
  background: #536DA9 !important;
}


/* ----------------------------------------------------- */

.navbar {
  width: 100% !important;
  transition: all 0.9s ease-in-out;
  z-index: 1560;
  
}
a.nav-link {
  position: relative !important;
  padding: .5rem .65rem !important;
  text-transform: uppercase;
  font-family: 'Montserrat' !important;
  font-size: 1.25rem !important;
}
a.nav-link:hover, a.nav-link.active {
  font-weight: 600 !important;
  background: rgb(148, 18, 8);
  color: rgb(255, 255, 255)  !important;
}

.navbar-toggler, .navbar-toggler:focus {
  border: 0 !important;
  box-shadow: none !important;
}
.navbar-toggler-icon {
  background-image: none !important;
  /* background-image: url("../images/navbar-toggler.png") !important; */
}
.navbar-toggler .bi {
  font-size: 2.0rem !important;
  font-weight: bold !important;
}
.navbar-brand img {
  max-width: 157px;
}
.offcanvas {
  background-color: #404F5C !important;
}
.offcanvas-header .btn-close{
  background-image: none !important;
  /* background-image: url("../images/navbar-close.png") !important; */
}
.offcanvas-top {
  top: 60px !important;
}
/*.navbar-brand {
  margin-left: 10%;
}*/
img.logo-base {
  width: 160px !important;
  opacity: 0;
}
img.logo {
  /*position: absolute;*/
  width: 380px;
  transition: all 0.6s ease-in-out;
}
.logo-mobil {
  position: fixed;
  top: 0;
  left: 8px;
  background: white;
  z-index: 1570;
}
.logo-mobil .navbar-brand img {
    width: 180px !important;
}

#home_titel {
  background: linear-gradient(to right, #2D3956, transparent), url(../images/titelbilder/titelbild_home.jpg) center no-repeat;
  background-size: cover;
}
#home_welle {
  background: url(../images/titelbilder/welle_hauptseite.png) center no-repeat;
  background-size: cover;
}
.home_titelbild {
  margin-top: 60px !important;
}
#page-impressum #impress_titelbild {
  margin-top: -60px !important;
}
#bogen_top {
  margin-top: -11%;
}
#bogen_unten {
  margin-top: -5%;
}

.img-scale:hover img {
  transition: .6s;
  transform: scaleY(1.07);
}
.img-scale-right:hover img {
  transition: 1.2s;
  transform: translate(10px, -10px);
}
.img-scale:not(:hover) img {
  transition: .6s;
}

/* ----- Taste scroll-Top ----- */
.scrollup {
    position: fixed;
    bottom: 70px;
    right: 10px;
    background: rgba(0, 0, 0, .5) !important;
    color: rgb(255, 255, 255);
    cursor: pointer;
    z-index: 1600;
}

.people-icon {
  font-size: 5rem !important;
}
.gallery-item:not(.ohne_deco) a:before {
  position: absolute;
  content: "";
  width: calc(100% - 36px);
  height: calc(100% - 32px);
  top: 16px;
  left: 18px;
  background: rgba(0, 0, 0, .5);
  display: none;
}
.gallery-item:not(.ohne_deco) a:after {
  position: absolute;
  content: "";
  width: 57px;
  height: 57px;
  top: 16px;
  right: 18px;
  background: rgb(252, 71, 54);
  display: none;
}
.gallery-item:not(.ohne_deco) a span {
  position: absolute;
  top: 16px;
  right: 27px;
  font-size: 2.5rem;
  z-index: 1580;
  display: none;
}
.gallery-item:not(.ohne_deco) a:hover:before,
.gallery-item:not(.ohne_deco) a:hover:after,
.gallery-item:not(.ohne_deco) a:hover span {
  display: block;
}
.gallery-item:not(.ohne_deco) div {
  position: absolute;
  width:100%;
  z-index: 1580;
  display: none !important;
  font-size: .9rem;
}
.gallery-item:not(.ohne_deco):hover div {
  display: block !important;
}
.gallery-item:not(.ohne_deco) div p {
  width: calc(100% -36px);
  text-align: center;
  margin-bottom: 0 !important;
}
.glightbox-clean .gslide-description {
  background: transparent !important;
}
.glightbox-clean .gdesc-inner {
  padding: 1.0rem 1.0rem 0rem 1.0rem !important; 
}
.glightbox-clean .gslide-title {
  color: #ffffff !important;
}
.g-maps img {
  max-width: 40px;
}

footer {
  margin-bottom: 0rem;
  background: #ffffff !important;
}
footer .card {
  max-width: 450px;
  margin: 0 auto;
  background: transparent !important;
  border: none !important;
}
footer .card-footer {
  background: transparent !important;
  border-top: none !important;
}

/* ------------------------------------- */

@media screen and (max-width: 1400px){
  
}

@media screen and (max-width: 992px){
  .offcanvas-top {
    background-color: rgb(94, 59, 40) !important;
    
  }
  .offcanvas-top.show {
    height: 400px !important;
  }
  #offcanvasDarkNavbar .nav-link {
    padding: .5rem 1.0rem !important;
    color: #ffffff !important;
  }
  #offcanvasDarkNavbar .nav-link:hover, #offcanvasDarkNavbar .nav-link.active {
    font-weight: 500;
  }

  footer {
    margin-bottom: 3.9rem;
  }
}

@media screen and (max-width: 768px){
  #aktuelles .w-50 {
    width: 100% !important;
  }
  .gallery-item:not(.ohne_deco) div {
    display: block !important;
    background: rgba(0, 0, 0, .6);
  }
  .glightbox-clean .gnext {
    top: 45% !important;
    right: 5px !important;
  }
  .glightbox-clean .gprev {
    top: 45% !important;
    left: 5px !important;
  }
  #preise .card, #umgebung .row .col {
    border: 0 !important;
  }
  footer {
    margin-bottom: 3.8rem;
  }

  .footer-menu {
    max-width: 120px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 576px){
  .navbar {
    top: 0 !important;
    bottom: 100% !important;
  }
  .navbar-brand {
    margin: 0px !important;
  } 

  .navbar-brand span {
    font-size: 2.25rem !important;
  }
  
  figcaption h1 {
    font-size: 1.4rem !important;
  }
  figcaption h4 {
    font-size: .87rem !important;
  }
  .start-titel-text h1 {
    font-size: 1.0rem !important
  }
  .start-titel-text h2 {
    font-size: .9rem !important
  }
  .img-scale:hover {
    transition: 1.2s;
    transform: translate3d(7px,7px,7px);
  }
  #low-vision-logo {
    margin-top: -10px;
  }
  #low-vision-logo img {
    max-width: 110px;
  }
  footer {
    margin-bottom: 0;
  }

}

@media screen and (max-width: 420px) {

}