/* ==========================================================================
   Farben, Settings
   ========================================================================== */

:root {
  --primary: #79ac2b;
  --secondary: #3C3C3B;
}

.bg-primary {background-color:var(--primary) !important;}
.text-primary {color: var(--primary) !important;}

.bg-secondary {background-color:var(--secondary) !important;}
.text-secondary {color: var(--secondary) !important;}

/*@media (min-width: 2000px) {
  .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
    max-width: 1800px;
  }
}

@media screen and (max-width: 4000px) {
  .container-fluid {
      padding-right: 200px;
      padding-left: 200px;
  }
}

@media screen and (max-width: 1680px) {
  .container-fluid {
      padding-right: 76px;
      padding-left: 76px;
  }
}

@media screen and (max-width: 1280px) {
  .container-fluid {
      padding-right: 26px;
      padding-left: 26px;
  }
}*/

/* ==========================================================================
   Schriften
   ========================================================================== */

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
  src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), 
    url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), 
    url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), 
    url('../fonts/Font-awesome/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), 
    url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* roboto-100 - 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: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/roboto-v30-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-v30-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v30-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v30-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* ==========================================================================
   Standards
   ========================================================================== */

html, body {
  font-family: 'Roboto';
	height: 100%;
}

/*body {
  overflow-x: hidden;
}
*/

h1,h2,h3,h4,h5,h6 {
  font-family: 'Roboto';
}

h1 {margin-bottom: 30px;}

@media (min-width: 1800px){
  h1 {font-size: 3.4em;}
  p {font-size: 1.2em;}
}


/* ----------- LINKS ------------- */

a {
	color: var(--primary);
	transition: all 0.4s; /* explorer 10 */
    -webkit-transition: all 0.4s; /* chrome & safari */
    -moz-transition: all 0.4s; /* firefox */
    -o-transition: all 0.4s; /* opera */
    text-decoration:none;
}

a:hover {color: var(--secondary);}

a:focus {
  	outline: none;
  	outline: 0px auto -webkit-focus-ring-color;
}

::selection {
  	background: var(--primary); /* WebKit/Blink Browsers */
  	color: #fff;
}

::-moz-selection {
  	background: var(--primary); /* Gecko Browsers */
  	color: #fff;
}

.vcenter {
    display: inline-block;
    vertical-align: middle;
    float: none;
}

/* ----------- LIST BULLETS -> FONT AWESOME ------------- */

/*li:before {    
font-family: 'FontAwesome';
font-family: 'Font Awesome\ 5 Free';
content: '\f067';
margin:0 5px 0 -15px;
color: #f00;
}*/

blockquote {
  font-size: 1.4em;
  width:60%;
  margin:50px auto;
  font-style:italic;
  color: #555555;
  padding:1.2em 30px 1.2em 75px;
  border-left:8px solid #78C0A8 ;
  line-height:1.6;
  position: relative;
  background:#EDEDED;
}

blockquote::before{
  font-family:Arial;
  content: "\201C";
  color:#78C0A8;
  font-size:4em;
  position: absolute;
  left: 10px;
  top:-10px;
}

blockquote::after{
  content: '';
}

blockquote span{
  display:block;
  color:#333333;
  font-style: normal;
  font-weight: bold;
  margin-top:1em;
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.nav-container {
  transition: all 0.5s;
}

.logo {max-width: 260px; transition: all 0.5s;}

.shrink .logo {max-width:180px;}

.topbar {
  background:#fff;
  padding: 16px 0;
  transition: all 0.5s;
}

.shrink .topbar {padding:4px 0;}

.topbar .btn {transition: all 0.5s;}
.shrink .topbar .btn {font-size:0.9em;}

/* Scrollbar in Mobile Nav entfernen */
.navbar-collapse.in {
    overflow: hidden;
    max-height: none !important;
    height: auto !important;
}

.navbar {padding:0;}

/* Mobile Nav scrollbar machen */
@media (max-width: 576px){
  nav.navbar{
   max-height: 100vh;
   overflow: auto;
  -webkit-overflow-scrolling: touch;
  }
}

ul.navbar-nav li.nav-item a.nav-link {color: #fff; padding: 12px; border-bottom: 4px solid var(--primary);}
ul.navbar-nav li.nav-item.active a.nav-link {color: #000; border-bottom: 4px solid #212529;}
ul.navbar-nav li.nav-item a.nav-link:hover {color: #000; border-bottom: 4px solid #212529;}

.main-nav .nav-link {
  text-transform: uppercase;
}

@media (max-width: 767px){
  .nav-item {padding: 8px 0; border-bottom: 1px solid #fff;}
}

  .sticky-top {
        position: fixed;
        width: 100%;
    }

.navbar-toggler {
  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
  font-size: var(--bs-navbar-toggler-font-size);
  line-height: 1;
  color: #fff !important;
  background-color: transparent;
  border: var(--bs-border-width) solid #fff !important;
  border-radius: var(--bs-navbar-toggler-border-radius);
  transition: var(--bs-navbar-toggler-transition);
}

.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 8rem;
    padding: 10px 13px;
    margin: 0;
    font-size: 1.1em;
    color: #000;
    text-align: left;
    list-style: none;
    background-color: #fff;
    border: 0;
    border-radius: 0;
    text-transform: none;
}

/*.dropdown {list-style: none; background: green; padding: 10px; display: inline-block;}
.dropdown .nav-link {color:#fff; text-decoration: none;}
.dropdown .dropdown-menu a{color: #000; text-decoration: none;}
.dropdown .btn {background: green; color:#fff;}
.dropdown .btn:hover {background: cyan; color:#000;}
.dropdown .btn:active {background: cyan; color:#000;}
.dropdown .btn:focus {background: cyan; color:#000;}
.dropdown-menu .dropdown-item {display: inline-block; width: 100%; padding: 10px 5px;}
.container .dropdown .dropdown-menu a:hover
{
  color: #fff;
  background-color: #b91773;
  border-color: #fff;
}*/

li.dropdown.active.open > a, 
li.dropdown.active.open > ul.dropdown-menu a:hover,
li.dropdown.open > a, 
li.dropdown.open > ul.dropdown-menu a:hover
{
  color: #fff;
  background-color: var(--primary);
  border-color: #fff;
}

.dropdown-item.active, 
.dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--primary) !important;
}

/* Parent Link clickable */
@media only screen and (min-width:769px) {
  .dropdown:hover .dropdown-menu {
    display: block;
  }
  .dropdown-submenu {
    position: relative !important;
  }
  .dropdown-submenu>.dropdown-menu {
    top: 0 !important;
    left: 100% !important;
    margin-top: -6px !important;
    margin-left: -1px !important;
    border-radius: 0 !important;
  }
  .dropdown-submenu:hover>.dropdown-menu {
    display: block !important;
  }
  .dropdown-submenu>a:after {
    display: block;
    content: "\f105";
    /*font-family: 'FontAwesome';*/
    font-family: 'Font Awesome\ 5 Free';
    margin-top: -18px;
    right: 15px;
    position: absolute;
    font-weight: 300;
  }
}

.caret-up {
    width: 0; 
    height: 0; 
    border-left: 4px solid rgba(0, 0, 0, 0);
    border-right: 4px solid rgba(0, 0, 0, 0);
    border-bottom: 4px solid;
    display: inline-block;
    margin-left: 2px;
    vertical-align: middle;
}

.breadcrumb {
    padding: 0;
    margin-bottom: 0;
    background-color: transparent;
    border-radius: 0;
}

.breadcrumb-item.active {
  color: #ccc !important;
}

/* ==========================================================================
   Submenu / Sidebarmenu
   ========================================================================== */

.list-group-item {
    position: relative;
    display: block;
    padding: .75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125);
        border-top-color: rgba(0, 0, 0, 0.125);
        border-right-color: rgba(0, 0, 0, 0.125);
        border-bottom-color: rgba(0, 0, 0, 0.125);
        border-left-color: rgba(0, 0, 0, 0.125);
}

.list-group-item.active {
    z-index: 2;
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

.list-group-item:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.list-group-item-action:focus, .list-group-item-action:hover {
    z-index: 1;
    color: var(--primary);
    text-decoration: none;
    background-color: #f8f9fa;
}

a.list-group-item:hover {padding-left: 40px;}

a.list-group-item i {opacity: 0.3;}
a.list-group-item:hover i {opacity: 0.8;}

/* ==========================================================================
   Sections
   ========================================================================== */

/* ----------- Quickstart ------------- */

section#quickstart {
  padding: 0;
  position: relative;
  margin-top: -145px;
  z-index: 10;
}

@media (max-width: 767px) {
 section#quickstart {
    margin-top: -25px;
  }
}

.btn-quick {
  background:var(--secondary);
  position: relative;
  padding: 40px;
/*  min-height: 306px; */
}

.btn-quick:hover {background: var(--primary);}

.btn-quick:hover img {
/*  filter: invert(100%) sepia(6%) saturate(18%) hue-rotate(97deg) brightness(108%) contrast(101%);*/
  transform: scale(1.1);
  filter: brightness(20%);
}

.btn-quick span {
  font-size: 1.3em;
  display: block;
  line-height: 1.2em;
  color:#fff;
  text-align:center;
  margin-bottom: 20px;
}

.quick-icon {
  min-height: 90px;
  margin: 20px auto 30px auto;
  display: block;
  transition: linear 0.5s;
}

@media (max-width: 767px) {
  .btn-quick {
    padding: 20px;
    min-height: 220px; 
    text-align: center;
    overflow-wrap: break-word;
    word-wrap: break-word;
    white-space: normal !important;
  }
 .quick-icon {
    min-height: 80px;
    margin: 10px auto 20px auto;
  }
  .btn-quick span {
    font-size: 1em;
  }
}

@media (max-width: 767px) {
  header {
    background-attachment: scroll !important; /*mobile fix, Iphone/Safari "background-attachment: fixed" nicht möglich*/
  }
}

section {
	/*background: url(../img/bg.jpg) center top no-repeat fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;*/
	padding: 60px 0 60px 0;
}

section#content {padding: 80px 0;}

section#service {padding: 0;}

section#service h2 {font-size: 2em; font-weight:bold; margin-bottom: 30px;}

@media (max-width: 1280px) {
  section#service h2 {font-size: 1.8em;}
}

section#service p {margin-bottom: 30px;}

section#spalten {
  background: var(--secondary) url(../img/bg-faq.png) no-repeat right center;
   -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.service-text {padding: 200px;}

@media (max-width: 1680px) {
  .service-text {padding: 100px;}
}

@media (max-width: 580px) {
  .service-text {padding: 40px;}
}

.split-layout {min-height: 600px;}

footer {
  padding:60px 0;
  background:#eee;
  color:#000;
}

footer a {color:#000;}
footer a:hover {color: var(--primary);}

.copyright {
  color:#fff;
  background:var(--secondary);
  padding:20px 0;
}

.copyright p {padding:0;}

.copyright a {color:#fff;}
.copyright a:hover {color: var(--primary);}

/* ----------- FAQ ------------- */

section#faq {
  background: var(--secondary) url(../img/bg-faq.png) no-repeat right center;
   -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  color: #fff;
}

section#faq h3 {font-size: 1.4em; display:inline-block; margin-bottom:0;}

@media (max-width: 1280px) {
  section#faq h3 {font-size: 1.1em;}
}

.faq {
  background-color: none;
  color: #fff;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
  transition: 0.4s;
}

.on, .faq:hover {
  background-color: #555;
}

.panel {
  display: none;
  padding: 0px 18px;
/*  background-color: white;*/
  padding-top: 15px;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

.faqelement {
  margin: auto;
  float: initial;
  margin-bottom: 20px;
}

/* ----------- Callout------------- */

section#callout {
  background:var(--primary);
  color:#fff;
}


/* ----------- RGB Overlay ------------- */

section#overlay {
	background: 
    linear-gradient(
      rgba(40, 0, 0, 0.55), 
      rgba(40, 0, 0, 0.55)
    ),
    /* bottom, image */
    /*url(../img/bg.jpg);
    -webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	text-align: center;*/
}

/* ----------- PNG Overlay (für Muster z.B.) ------------- */

section#png-overlay {
  position: relative;
  background: url(../img/bg.jpg) center center;
  background-attachment: fixed;
}

section#png-overlay:before,
section#png-overlay:after {
    content: ''; /* you have to define that to make the pseudo elements work */
    position: absolute;
    top: 0;
}

section#png-overlay:before {
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/dots.png) repeat;
    opacity: 0.8;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

button {
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
}

 .btn-primary {
  background-color:var(--primary) !important;
  border-color:var(--primary) !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
  color #fff;
 }

  .btn-primary:hover {
  background-color:var(--secondary) !important;
  border-color:var(--secondary) !important;
 }

  .btn-secondary {
  background-color:var(--secondary) !important;
  border-color:var(--secondary) !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
  color #fff;
 }

   .btn-secondary:hover {
  background-color:var(--primary) !important;
  border-color:var(--primary) !important;
 }

  .btn-outline-primary {
  border-color:var(--primary) !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
  color: var(--primary);
  border-width:2px;
 }

   .btn-outline-primary:hover {
    background-color:var(--primary) !important;
  border-color:var(--primary) !important;
  overflow-wrap: break-word;
  word-wrap: break-word;
  white-space: normal !important;
  color: #fff;
 }

.back-to-top {
   background: var(--secondary);
   position: fixed;
   color: var(--primary);
   bottom: 20px;
   right: 20px;
   padding: 10px 17px;
   font-size: 1.4em;
   border-radius: 50px;
}

.back-to-top:hover {
  background: var(--primary);
  color: #fff;
}

.back-to-top:hover,
.back-to-top:active,
.back-to-top:focus {color:#fff;}

.btn-down  {
  background: #fff;
  width: 88px; 
  height: 88px; 
  border-radius: 50%;
  margin: 0 auto; 
  display: block; 
  position: absolute; 
  right: 0;
  left: 0; 
  margin-top: -55px;
  padding: 30px 0 0 0;
}

.btn-down a {color: #717070;}
.btn-down a:hover {color: #9f9f9f;}

.btn-circle {
  width: 30px;
  height: 30px;
  text-align: center;
  padding: 2px 0 !important;
/*  font-size: 12px;
  line-height: 1.428571429;*/
  border-radius: 15px;
}

.btn-circle.btn-lg {
  width: 50px;
  height: 50px;
  padding: 12px 0 !important;
  font-size: 18px;
  line-height: 1.33;
  border-radius: 25px;
}

.btn-circle.btn-xl {
  width: 70px;
  height: 70px;
  padding: 10px 16px;
  font-size: 24px;
  line-height: 1.33;
  border-radius: 35px;
}

.btn-switch {
  background: #fff;
  width: 100px;
  height: 100px;
  border-radius: 80px;
  margin: 0 auto;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  margin-top: -28px;
  padding: 10px 0 0;
  font-size: 1.6em;
  z-index: 999;
  transition: all .25s;
}

.btn-switch:hover {background:var(--primary); color:#fff;}


/* ==========================================================================
   Carousel / Slider
   ========================================================================== */

.carousel-item {
  height: 75vh;
  min-height: 350px;
  background: no-repeat center center scroll;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

.carousel-item-sm {
  height: 50vh;
}

@media (max-width: 768px) {
 .carousel-item {
    height: 40vh;
    min-height: 250px;
  }
}

.carousel-control-next, .carousel-control-prev {
    color: #fff;
    text-align: center;
    font-size: 2.8em;
}

.carousel-control-next, .carousel-control-prev {
    width: 10%;
}

.carousel-caption-title {
  font-family: 'Roboto';
    font-size: 3.4em;
    font-weight: 700;
    line-height: 1.2em;
    color:var(--secondary);
}

.carousel-caption-info p {
    font-size: 1.6em;
    color:var(--secondary);
}


@media (max-width: 1280px) {
  .carousel-caption-title {
      font-size: 2em;
      line-height: 1.2em;
  }
  .carousel-caption-info p {
    font-size: 1.2em;
  }
}

.carousel-caption {
  background:rgba(255,255,255,0.8);
  color:var(--secondary);
    /*position: absolute;
    right: 15%;
    bottom: 15%;
    left: 15%;
    z-index: 10;*/
    /*padding-top: 20px;
    padding-bottom: 20px;*/
    position: static !important;
    color: #fff;
    text-align: left;
    padding: 20px 40px;
    align-self: center;
}

@media (min-width: 767px){
  .carousel-caption {border-radius: 100px;}
}


@media (max-width: 767px) {
  .carousel-caption {
    padding: 10px 20px;
  }
}

.carousel-item > .container {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.carousel-indicators {
  top: 60vh;
}

/* ==========================================================================
   Akkordeon
   ========================================================================== */

.accordion {
  width: 100%;
}

.accordion .card-header {
  background-color: var(--farbe);
  color: #fff;
}

.accordion .card-header:hover {
  background-color: var(--farbe);
  color: #fff;
}

.accordion .card-header .btn-link {
  color: #fff;
}

.accordion .card-header .btn-link:hover,
.accordion .card-header .btn-link:focus {
  text-decoration: none;
}

.accordion .card-header i {
  margin: 4px 0;
}

.accordion .card-header .btn.focus, 
.accordion .card-header .btn:focus {
    outline: 0;
    box-shadow: none !important;
}

.accordion .card-body p {
  margin: 10px 0 !important;
}

/* ==========================================================================
   Galerie
   ========================================================================== */

.thumb-box {
  display: inline-block !important;
  position: relative !important; 
  overflow: hidden;
}

.thumb-box-overlay {
  visibility:hidden;
  opacity:0;
}

.thumb-box a{
  color: transparent;
}

.thumb-box a:hover .thumb-box-overlay {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
  text-align: center;
  position: absolute;
  background-color: rgba(46, 85, 75, 0.8);
  color: #fff;
  width: 100%;
  height: 100%;  
}

.thumb-box-overlay span {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media (max-width: 768px) {
	/*...*/
}

/*// Extra small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap

// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }

// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }

// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }

// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }*/


/* ==========================================================================
   Cookie Consent
   ========================================================================== */

/* Cookie Hinweis */
/*.cc-message {font-size: 0.8em;}*/

a.cc-dismiss{
  transition: all .25s;
}

a.cc-dismiss:hover{
  color: #ffffff;
  background-color: #b1d60a;
  transition: all 0.5s;
}


/* ==========================================================================
   Modal Center
   ========================================================================== */

 .modal-dialog {
    min-height: calc(100vh - 60px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: auto;
}
@media(max-width: 768px) {
  .modal-dialog {
    min-height: calc(100vh - 20px);
  }
}

/* ==========================================================================
   Animationen
   ========================================================================== */

.bounce {
  -moz-animation: bounce 2s infinite;
  -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}


/* ==========================================================================
   IE Fixes
   ========================================================================== */

/* SVG correct size */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  img[src*=".svg"] {
    width: 100%; 
  }
}