@charset "utf-8";

#vid {
  overflow-x: hidden;
}

html {
  font-family: 'Open Sans', -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  position: relative;
  min-height: 100%;
}

body {
  color: #646464;
  background-color: #fff;
  font-size: 0.9375rem;
  line-height: 1.4375rem;
  font-weight: 300;
  font-family: 'Open Sans', -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  margin-bottom: 170px;
  margin-top: 58px;
}

body.index {
  background-color: black; /*for edge*/
  overflow: hidden; /*hides vertical scrollbar in chrome&ff, hides vertical + horizontal in ie&edge*/
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-weight: 600;
  color: #393939;
  margin-bottom: 1rem;
  line-height: 1.3333;
}

h1,
.h1,
h2,
.h2 {
  font-size: 1.2rem;
  padding-top: 1.2rem;
}

h2,
.h2 {
}

h3,
.h3,
h4,
.h4 {
  font-size: 1rem;
  padding-top: 1rem;
}

footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: #fff;
  color: #999999;
  background-color: #fff;
  margin-top: 2rem;
}

.nowrap {
  white-space: nowrap;
}

a {
  border-bottom: 1px solid transparent;
  border-radius: 0;
  color: #0e8c46;
  font-weight: 400;
  line-height: 1.4;
  transition: border-color 0.2s ease;
  word-break: break-all;
}

a:hover {
  color: #0e8c46;
  font-weight: 400;
  text-decoration: none;
  border-color: #0e8c46;
}

hr {
  border-color: #f0f0f0;
}

.figure-img {
  margin-bottom: 0;
  border: 2px solid #fafafa;
}

.figure-caption {
  font-size: 0.8rem;
  color: #777;
  line-height: 1.5;
  background-color: #fff;
  padding: 0.2rem 0.15rem;
}

.fade-in {
  visibility: visible;
  opacity: 1;
  transition: opacity 1s linear;
}

.fade-out {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s 1s, opacity 1s linear;
}

.scrollup {
  font-size: 3.5rem;
  position: fixed;
  bottom: 15px;
  right: 20px;
  z-index: 2001;
  border: 0 none;
  transition: opacity 0.2s ease;
  display: none;
}

.scrollup > svg {
  opacity: 0.3;
}

.scrollup:hover {
  border: 0 none;
  cursor: pointer;
}

.scrollup:hover > svg {
  opacity: 0.8;
}


/* ******************************************************* */
/* *                       navbars                       * */
/* ******************************************************* */

.image-right-small,
.image-right-large {
  float: right;
  margin: 0.5rem 0 1rem 0;
  width: 100%;
}

.image-left-small,
.image-left-large {
  float: left;
  margin: 0.5rem 0 1rem 0;
  width: 100%;
}

ul.facts {
  line-height: 1.5rem;
  font-weight: 300;
  list-style-type: circle;
  padding-left: 3rem;
}

ul.facts li {
  margin-bottom: 0.6rem;
}


/* ******************************************************* */
/* *                       navbars                       * */
/* ******************************************************* */

.navbar-brand img {
  width: 160px;
  height: auto;
  margin: 0 0 0 -15px;
}

.navbar-brand:hover {
  border-color: transparent;
}

body.index #topBar .navbar-brand img {
  margin-left: -8px;
}

#topBar,
#topBar2,
#menubutton-topBar {
  background-color: #fff;
  padding: 0.7rem 1rem;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 2000;
  border-bottom: 1px solid #f0f0f0;
}

#topNav .nav-link {
  border: 0 none;
  color: #777777;
  /*  display: block; ??? */
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 400;
  padding: .15rem 0;
  overflow: hidden;
  position: relative;
  transform: perspective(1px) translateZ(0);
  vertical-align: middle;
  white-space: nowrap;
}

#topNav .nav-item {
  display: block;
/*  padding: 0.2rem 0.3rem;*/
  padding: 0.1rem 0.3rem;
}

#topNav .nav-link:focus,
#topNav .nav-link:hover {
  border: 0 none;
  color: #129254;
  text-decoration: none;
}

#topNav .navbar-nav .active > .nav-link,
#topNav .navbar-nav .nav-link.active,
#topNav .navbar-nav .nav-link.show,
#topNav .navbar-nav .show > .nav-link {
  background-color: #fff;
  color: #129254;
}

#topNav .nav-link::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 0;
  right: 100%;
  bottom: 0;
  background: #0e8c46;
  height: 1px;
  -webkit-transition-property: right;
  transition-property: right;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

#topNav .nav-link:hover::before,
#topNav .nav-link:focus::before,
#topNav .nav-link:active::before,
#topNav .active .nav-link::before {
  right: 0;
}

.navbar-mobile-menu-button {
  position: absolute;
  right: 10px;
  top: 14px;
}

.navbar-mobile-menu-button button {
  border-radius: 0;
  font-size: 22px;
  border: 0 none;
}

/*
#languageLinks,
#languageLinksFooter,
.bottom-line-nav {
  opacity: 0;
}
*/

#languageLinks .nav-item,
#languageLinksFooter .nav-item {
  display: block;
  padding: 0 0.3rem;
}

#languageLinks .nav-link,
#languageLinksFooter .nav-link {
  display: block;
  padding: 0.3rem 0 0.2rem 0;
  line-height: 1rem;
  font-size: 0.85rem;
  font-weight: 400;
  color: #777777;
}

#languageLinks .nav-link:focus,
#languageLinks .nav-link:hover,
#languageLinksFooter .nav-link:focus,
#languageLinksFooter .nav-link:hover {
  color: #129254;
  text-decoration: none;
}

#languageLinks .navbar-nav .active > .nav-link,
#languageLinks .navbar-nav .nav-link.active,
#languageLinks .navbar-nav .nav-link.show,
#languageLinks .navbar-nav .show > .nav-link,
#languageLinksFooter .navbar-nav .active > .nav-link,
#languageLinksFooter .navbar-nav .nav-link.active,
#languageLinksFooter .navbar-nav .nav-link.show,
#languageLinksFooter .navbar-nav .show > .nav-link{
  color: #129254;
  border-bottom: 1px solid;
}

#languageLinks img {
  height: 14px;
  width: auto;
}

#languageLinks .social {
  font-size: 0.9rem;
  line-height: 1rem;
  padding-top: 0.3rem;
}

#languageLinks .social .fa-linkedin-in {
  color: #8e8e8e;
  font-size: 0.85rem;
}

.video-languageLinks {
  position: absolute;  
  right: 4px;
  top: 36px;
  width: auto;
  text-align: center;
}

.video-languageLinks span {
  display: block;
  padding: 5px 8px;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5), 0px 4px 20px rgba(0, 0, 8, 0.2);
}

.video-languageLinks span a,
.video-languageLinks span a:hover,
.video-languageLinks span a.active,
.video-languageLinks a:not([href]):not([tabindex]):focus,
.video-languageLinks a:not([href]):not([tabindex]):hover {
  color: #fff;
}

.video-languageLinks span a:hover,
.video-languageLinks span a.active {
  border-color: #fff;
}

#menubutton-topBar.in .video-languageLinks {
  display: none;
}

.navbar-collapse .navbar-nav {
  margin-top: 0.5rem;
  margin-bottom: 0;
}

.bottom-line-nav {
    font-size: 0.7rem;
}

.bottom-line-nav.nav-phone {
  font-size: 1rem;
}

footer {
  font-size: 0.8rem;
}

footer .navbar-light .navbar-nav .nav-item {
  display: block;
  padding: 0 0.5rem;
}

footer .navbar-light .navbar-nav .nav-item:last-of-type {
  padding-right: 0;
}

footer .navbar-light .navbar-nav .nav-link {
  padding: 0.15rem 0;
  border-bottom: 1px solid transparent;
  font-size: 0.8rem;
}

footer .navbar-light .navbar-nav .active > .nav-link,
footer .navbar-light .navbar-nav .nav-link.active,
footer .navbar-light .navbar-nav .nav-link.show,
footer .navbar-light .navbar-nav .show > .nav-link {
  color: rgba(0,0,0,.5);
  border-bottom: 1px solid #999;
}

footer .navbar-light .navbar-nav .nav-link:focus,
footer .navbar-light .navbar-nav .nav-link:hover,
footer .navbar-light .navbar-nav .nav-link.active:focus,
footer .navbar-light .navbar-nav .nav-link.active:hover {
  color: #0e8c46;
  text-decoration: none;
  border-bottom: 0 none;
  border-bottom: 1px solid #1faa5d;
}

.bottom-line-copyright {
  background-color: #f0f0f0;
  min-height: 1rem;
}

.bottom-line-copyright a {
  color: rgba(0,0,0,.5);
}

.bottom-line-copyright a:hover {
  color: #0e8c46;
}


/* ******************************************************* */
/* *                   Contentelemente                   * */
/* ******************************************************* */

.bg-umwelt {
  height: 200px;
  background-color: #fff;
  background-image: url(../0_img/temp/bg_umwelt.jpg);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

#heroBanner {
  height: 160px;
  overflow: hidden;
  background-color: #fafafa;
  position: relative;
  margin: 0 -15px;
}

#heroBanner video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  object-fit: cover;
  object-position: center center;
}

#heroBanner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.heroHeadline {
  position: absolute;
  bottom: 5px;
  left: 15px;
}

.heroHeadline h1 {
  font-size: 1.5rem;
  font-weight: 600;
  font-family: 'Open Sans', sans-serif;
  color: #fff;
  text-shadow: 0px 2px 5px rgba(0, 0, 0, 0.8),0px 4px 20px rgba(0, 0, 8, 0.3);
}

.heroHeadline h1 span {
  font-weight: 300;
  display: block;
  margin-left: 0;
  font-size: 95%;
}

.gradient-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-image: -moz-linear-gradient( 90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 30%, rgba(0,0,0,0.25) 70%, rgba(0,0,0,0.75) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 30%, rgba(0,0,0,0.25) 70%, rgba(0,0,0,0.75) 100%);
  background-image: -ms-linear-gradient( 90deg, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.25) 30%, rgba(0,0,0,0.25) 70%, rgba(0,0,0,0.75) 100%);
  z-index: 2;
  transition: all 0.5s ease;
  opacity: 0.2;
}

.teaser-blocks {
  padding-top: 2.5rem;
}

.teaser-block {
  margin-bottom: 2.5rem;
}

.teaser-block a {
  font-size: 0.9rem;
}

.teaser-block a > svg {
  color: #20a245;
}

.alert {
  border-radius: 0;
}

.alert.alert-secondary {
  background-color: #fafafa;
  border-color: #fafafa;
}




/* ******************************************************* */
/* *                       Buttons                       * */
/* ******************************************************* */

.btn-primary {
  color: #fff;
  background-color: #0e8c46;
  border-color: #0e8c46;
}

.btn-primary:hover {
  color: #fff;
  background-color: #1aab5b;
  border-color: #1aab5b;
  border-bottom-width: 1px;
}

.btn-primary.focus,
.btn-primary:focus {
  box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .5);
}

.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background-color: #0e8c46;
  border-color: #0e8c46
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #1aab5b;
  border-color: #1aab5b;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: none;
}

.btn-group-xs >.btn,.btn-xs {
  padding: .05rem .5rem .05rem .4rem;
  font-size: .8rem;
  line-height: 1.4;
  border-radius: 0;
  font-weight: 600;
}

button:focus {
  outline: transparent;
}

.hamburger {
  padding: 5px 5px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; 
}

.hamburger-box {
  width: 24px;
  height: 16px;
  display: inline-block;
  position: relative;
}

.index .hamburger-box {
  background-color: rgba(0,0,0,0.2);
}

.hamburger--spin.is-active .hamburger-box {
  background-color: transparent;
}


.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px; 
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  background-color: #999;
  width: 24px;
  height: 4px;
  border-radius: 1px;
  position: absolute;
  transition-property: transform;
  transition-duration: 0.15s;
  transition-timing-function: ease; 
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block; 
}

.hamburger-inner::before {
  top: -8px; 
}

.hamburger-inner::after {
  bottom: -8px; 
}

.hamburger--spin .hamburger-inner {
  transition-duration:.3s;
  transition-timing-function:cubic-bezier(.55,.055,.675,.19)
}

.hamburger--spin .hamburger-inner::before {
  transition:top .1s .34s ease-in,opacity .1s ease-in
}

.hamburger--spin .hamburger-inner::after {
  transition:bottom .1s .34s ease-in,transform .3s cubic-bezier(.55,.055,.675,.19);
  transition:bottom .1s .34s ease-in,transform .3s cubic-bezier(.55,.055,.675,.19),-webkit-transform .3s cubic-bezier(.55,.055,.675,.19)
}

.hamburger--spin.is-active .hamburger-inner {
  background-color: #999;
  -webkit-transform:rotate(135deg);
  transform:rotate(135deg);
  transition-delay:.14s;
  transition-timing-function:cubic-bezier(.215,.61,.355,1)
}

.hamburger--spin.is-active .hamburger-inner::before {
  background-color: #999;
  top:0;
  opacity:0;
  transition:top .1s ease-out,opacity .1s .14s ease-out
}

.hamburger--spin.is-active .hamburger-inner::after {
  background-color: #999;
  bottom:0;
  -webkit-transform:rotate(-90deg);
  transform:rotate(-90deg);
  transition:bottom .1s ease-out,transform .3s .14s cubic-bezier(.215,.61,.355,1);
  transition:bottom .1s ease-out,transform .3s .14s cubic-bezier(.215,.61,.355,1),-webkit-transform .3s .14s cubic-bezier(.215,.61,.355,1)
}


/* ******************************************************* */
/* *                   COOKIE HINWEIS                    * */
/* ******************************************************* */


.cc_container {
  font-family: inherit !important;
  font-size: 0.75rem !important;
  padding: 0.25rem 0.5rem !important;
  background-color: rgba(100,100,100,0.9) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  width: 100% !important;
  left: inherit !important;
  right: 0 !important;
  bottom: 0 !important;
}

.cc_container .cc_btn {
  font-size: 0.75rem !important;
  padding: 0.3rem !important;
}

.cc_container .cc_message {
  font-size: 0.75rem !important;
  line-height: 0.825rem !important;
}

.cc_container a, .cc_container a:visited {
  color: #7ccd8d !important;
  font-size: 0.75rem !important;
  line-height: 0.825rem !important;
}

.cc_container .cc_btn, .cc_container .cc_btn:visited {
  color: #0e8c46 !important;
  border-radius: 2px !important;
  max-width: 50px !important;
  padding: 0.2rem !important;
  margin-top: 0.1rem !important;
}



/* ******************************************************* */
/* *                    MEDIA QUERIES                    * */
/* ******************************************************* */

@media (max-width: 768px) {

  #topBar.in .navbar-nav,
  #topBar2.in .navbar-nav {
    display: inherit;
  }

  #topBar.in #languageLinks.d-none,
  #topBar2.in #languageLinks.d-none {
    display: block!important;
    flex: inherit;
  }

  #topBar.in #languageLinks.d-none ul li,
  #topBar.in #languageLinks.d-none ul li a.nav-link,
  #topBar2.in #languageLinks.d-none ul li,
  #topBar2.in #languageLinks.d-none ul li a.nav-link {
    display: inline-block;
    width: auto;
  }

  footer .container.text-center.pb-4 {
    padding-bottom: 0 !important;
  }
}


/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .image-right-small,
  .image-left-small {
    width: 45%;
  }

  .image-right-large,
  .image-left-large {
    width: 100%;
  }

  .image-right-small {
    margin: 0.5rem 0 1rem 1rem;
  }

  .image-left-small {
    margin: 0.5rem 1rem 1rem 0;
  }

  .navbar-brand img {
    width: 200px;
    margin: 0;
  }

  .navbar-mobile-menu-button {
    right: 20px;
    top: 14px;
  }

  .navbar-mobile-menu-button button {
    font-size: 24px;
  }

  #heroBanner {
    height: 160px;
    overflow: hidden;
    background-color: #fafafa;
    position: relative;
    margin: 0;
  }

  .heroHeadline h1 {
    font-size: 1.8rem;
  }

  .heroHeadline h1 span {
    margin-left: 0;
  }

  .video-languageLinks {
    right: 50px;
    top: 8px;
  }

  .video-languageLinks span {
    display: inline;
    padding: 5px 8px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  body {
    margin-top: 0;
    margin-bottom: 190px;
  }

  h1,
  .h1,
  h2,
  .h2 {
    font-size: 1.5rem;
    padding-top: 1.5rem;
  }

  h2,
  .h2 {
  }

  h3,
  .h3,
  h4,
  .h4 {
    font-size: 1.1rem;
    padding-top: 2rem;
  }

  #heroBanner.bordered {
      border: 1px solid #f7f7f7;
  }

  .scrollup {
    bottom: 70px;
    right: 40px;
  }

  .text-2-cols {
    column-count: 2;
    column-gap: 2rem;
    column-rule: 0 none;
  }

  .text-3-cols {
    column-count: 2;
    column-gap: 2rem;
    column-rule: 0 none;
  }

  .text-2-cols .staytogether,
  .text-3-cols .staytogether {
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
  }

  .image-right-small,
  .image-left-small {
    width: 40%;
  }

  .image-right-large,
  .image-left-large {
    width: 55%;
  }

  .image-right-large {
    margin: 0.5rem 0 1rem 2rem;
  }

  .image-left-large {
    margin: 0.5rem 2rem 1rem 0;
  }

  .navbar-brand img {
    width: 280px;
    height: 38px;
    margin: 0.75rem 0 1.5rem -23px;
  }

  #topBar {
    position: inherit;
    border: 0 none;
  }

  #topNav .nav-item {
    padding-right: .5rem;
    padding-left: .5rem;
  }

  #topNav .nav-item:first-of-type {
    padding-left: 1px;
  }

  .navbar-collapse .navbar-nav {
    margin-top: 0;
    margin-bottom: 0.5rem;
  }

  .heroHeadline h1 {
    font-size: 1.6rem;
  }

  .heroHeadline h1 span {
    margin-left: 212px;
  }

  .teaser-blocks {
    padding-top: 5rem;
  }

  .teaser-block {
    margin-bottom: 3rem;
  }

  .bottom-line-nav {
    font-size: 0.9rem;
  }

  footer .navbar-dark .navbar-nav .nav-item {
    padding: 0 1rem;
  }

  .bottom-line-copyright {
    min-height: 2rem;
  }

  .hamburger-box {
    width: 26px;
    height: 20px;
  }

  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 26px;
  }

  .hamburger-inner::before {
    top: -8px; 
  }

  .hamburger-inner::after {
    bottom: -8px; 
  }

  .video-languageLinks {
    right: 65px;
    top: 24px;
  }

  .cc_container {
    max-width: 420px;
    margin: 0.5rem !important;
    padding: 0.3rem 0.75rem 0.5rem 0.75rem !important;
    border-radius: 2px !important;
  }

  .cc_container .cc_btn {
    font-size: 0.825rem !important;
    line-height: 1rem !important;
    padding: 0.3rem !important;
  }

  .cc_container .cc_message {
    font-size: 0.825rem !important;
    line-height: 1rem !important;
    margin-top: 0.2rem !important;
  }

  .cc_container a, .cc_container a:visited {
    font-size: 0.825rem !important;
    line-height: 1rem !important;
  }

  .cc_container .cc_btn, .cc_container .cc_btn:visited {
    margin-top: 0.3rem !important;
  }

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  body {
    margin-bottom: 150px;
  }

  .image-right-small,
  .image-left-small  {
    width: 35%;
  }

  .navbar-brand img {
    width: 300px;
    margin: 1rem 0 2rem -23px;
  }

  #topNav .nav-link {
    font-size: 0.9rem;
    font-weight: 400;
  }

  #topNav .nav-item {
    padding: 0 1rem;
  }

  footer,
  footer .navbar-light .navbar-nav .nav-link,
  #languageLinks .nav-link,
  #languageLinksFooter .nav-link {
    font-size: 0.9rem;
  }

  footer .navbar-light .navbar-nav .nav-item {
    padding: 0 0.8rem;
  }

  .heroHeadline h1 {
    font-size: 2.2rem;
  }

  .heroHeadline h1 span {
    margin-left: 291px;
  }

  .teaser-blocks {
    padding-top: 5rem;
  }

  .teaser-block {
    margin-bottom: 5rem;
  }

  .hamburger-box {
    width: 26px;
    height: 18px;
  }

  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 26px;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) { 

  footer,
  footer .navbar-light .navbar-nav .nav-link {
    font-size: 0.95rem;
  }

  .text-3-cols {
    column-count: 3;
  }

  .image-right-small,
  .image-left-small {
    width: 35%;
  }

  .image-right-large,
  .image-left-large {
    width: 55%;
  }

  .heroHeadline h1 {
    font-size: 2.5rem;
  }

  .heroHeadline h1 span {
    margin-left: 331px;
  }
}



/* only affecting height of elements depending on device height */
@media (min-height: 560px) {
  #heroBanner {
    height: 240px;
  }
}

@media (min-height: 740px) {
  #heroBanner {
    height: 360px;
  }
}

@media (min-height: 1000px) {
  #heroBanner {
    height: 400px;
  }
}


