/* 
#############
  SOURCE SANS PRO 
#############
*/
/* Source-Sans-Pro-Light  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  src: local('Source Sans Pro Light'), local('SourceSansPro-Light'), url('../../fonts/Source_Sans_Pro/SourceSansPro-Light.ttf') format('truetype');
}
/* Source-Sans-Pro-LightItalic  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 300;
  src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'), url('../../fonts/Source_Sans_Pro/SourceSansPro-LightItalic.ttf') format('truetype');
}
/* Source-Sans-Pro-Regular  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'), url('../../fonts/Source_Sans_Pro/SourceSansPro-Regular.ttf') format('truetype');
}
/* Source-Sans-Pro-Italic  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 400;
  src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'), url('../../fonts/Source_Sans_Pro/SourceSansPro-Italic.ttf') format('truetype');
}
/* Source-Sans-Pro-SemiBold  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'), url('../../fonts/Source_Sans_Pro/SourceSansPro-SemiBold.ttf') format('truetype');
}
/* Source-Sans-ProSemiBoldItalic  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 600;
  src: local('Source Sans Pro SemiBold Italic'), local('SourceSansPro-SemiBoldItalic'), url('../../fonts/Source_Sans_Pro/SourceSansPro-SemiBoldItalic.ttf') format('truetype');
}
/* Source-Sans-Pro-Bold  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'), url('../../fonts/Source_Sans_Pro/SourceSansPro-Bold.ttf') format('truetype');
}
/* Source-Sans-Pro-BoldItalic  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 700;
  src: local('Source Sans Pro Bold Italic'), local('SourceSansPro-BoldItalic'), url('../../fonts/Source_Sans_Pro/SourceSansPro-BoldItalic.ttf') format('truetype');
}
/* Source-Sans-Pro-ExtraBold  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 800;
  src: local('Source Sans Pro ExtraBold'), local('SourceSansPro-ExtraBold'), url('../../fonts/Source_Sans_Pro/SourceSansPro-ExtraBold.ttf') format('truetype');
}
/* Source-Sans-Pro-ExtraBoldItalic  */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: italic;
  font-weight: 800;
  src: local('Source Sans Pro ExtraBold Italic'), local('SourceSansPro-ExtraBoldItalic'), url('../../fonts/Source_Sans_Pro/SourceSansPro-ExtraBoldItalic.ttf') format('truetype');
}
/* 
#############
  OPEN SANS 
#############
*/
/* open-sans-Light  */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url('../../fonts/Open_Sans/OpenSans-Light.ttf') format('truetype');
}
/* open-sans-LightItalic  */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'), url('../../fonts/Open_Sans/OpenSans-LightItalic.ttf') format('truetype');
}
/* open-sans-Regular  */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans Regular'), local('OpenSans-Regular'), url('../../fonts/Open_Sans/OpenSans-Regular.ttf') format('truetype');
}
/* open-sans-Italic  */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), local('OpenSans-Italic'), url('../../fonts/Open_Sans/OpenSans-Italic.ttf') format('truetype');
}
/* open-sans-SemiBold  */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'), url('../../fonts/Open_Sans/OpenSans-SemiBold.ttf') format('truetype');
}
/* open-sansSemiBoldItalic  */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'), url('../../fonts/Open_Sans/OpenSans-SemiBoldItalic.ttf') format('truetype');
}
/* open-sans-Bold  */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: local('Open Sans Bold'), local('OpenSans-Bold'), url('../../fonts/Open_Sans/OpenSans-Bold.ttf') format('truetype');
}
/* open-sans-BoldItalic  */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'), url('../../fonts/Open_Sans/OpenSans-BoldItalic.ttf') format('truetype');
}
/* open-sans-ExtraBold  */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'), url('../../fonts/Open_Sans/OpenSans-ExtraBold.ttf') format('truetype');
}
/* open-sans-ExtraBoldItalic  */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 800;
  src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'), url('../../fonts/Open_Sans/OpenSans-ExtraBoldItalic.ttf') format('truetype');
}
/* 
################
  MERRIWEATHER 
################
*/
/* merriweather-Light  */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
  src: local('Merriweather Light'), local('Merriweather-Light'), url('../../fonts/Merriweather/Merriweather-Light.ttf') format('truetype');
}
/* merriweather-LightItalic  */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;
  src: local('Merriweather Light Italic'), local('Merriweather-LightItalic'), url('../../fonts/Merriweather/Merriweather-LightItalic.ttf') format('truetype');
}
/* merriweather-Regular  */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  src: local('Merriweather Regular'), local('Merriweather-Regular'), url('../../fonts/Merriweather/Merriweather-Regular.ttf') format('truetype');
}
/* merriweather-Italic  */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  src: local('Merriweather Italic'), local('Merriweather-Italic'), url('../../fonts/Merriweather/Merriweather-Italic.ttf') format('truetype');
}
/* merriweather-Bold  */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 700;
  src: local('Merriweather Bold'), local('Merriweather-Bold'), url('../../fonts/Merriweather/Merriweather-Bold.ttf') format('truetype');
}
/* merriweather-BoldItalic  */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 700;
  src: local('Merriweather Bold Italic'), local('Merriweather-BoldItalic'), url('../../fonts/Merriweather/Merriweather-BoldItalic.ttf') format('truetype');
}
/* merriweather-Black  */
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 900;
  src: local('Merriweather Black'), local('Merriweather-Black'), url('../../fonts/Merriweather/Merriweather-Black.ttf') format('truetype');
}
/* merriweather-Blackitalic  */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 900;
  src: local('Merriweather Black Italic'), local('Merriweather-BlackItalic'), url('../../fonts/Merriweather/Merriweather-BlackItalic.ttf') format('truetype');
}
/*** BASICS ***/
/* Schriftart für den Fließtext */
/* Schriftart für Überschriften */
/* Schriftschnitt Text */
/* Schriftschnitt Text */
/* Schriftschnitt Überschriften */
/*** HEADER ***/
/* Height der Logo Col */
/*** FOOTER ***/
/*** NAVIGATION ***/
/* Float der Navi rechts oder links */
/*min-width Achtung! bei Anpassung bitte auch Navigations.php zeile 115 anpassen */
body {
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-size: 20px;
  background: linear-gradient(to bottom right, #303030, #000000);
  font-weight: 300;
  color: #ffffff;
}
body h1 {
  font-size: 50px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  color: #ffffff;
  font-weight: 700;
  margin: 0 0 50px 0;
  text-transform: uppercase;
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  body h1 {
    font-size: 35px;
  }
}
body h2 {
  font-size: 36px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 400;
  color: #ffffff;
  margin: 0 0 50px 0;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  body h2 {
    font-size: 30px;
  }
}
body h3 {
  font-size: 26px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 400;
  margin: 0 0 30px 0;
  text-transform: uppercase;
}
body h4 {
  font-size: 22px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 300;
  text-transform: uppercase;
}
body h5 {
  font-size: 22px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 300;
  text-transform: uppercase;
}
body h6 {
  font-size: 20px;
  font-family: "Source Sans Pro", Arial, sans-serif;
  font-weight: 300;
  text-transform: uppercase;
}
body a {
  color: #ffcc00;
  text-decoration: none;
}
body a:hover {
  color: #ffe680;
  text-decoration: none;
}
body a:focus {
  text-decoration: none;
}
body p {
  font-size: 20px;
  color: #ffffff;
}
body ul li,
body ol li {
  font-size: 20px;
  color: #ffffff;
}
body ul {
  list-style: square;
}
body strong,
body b {
  font-weight: 600;
}
body i {
  font-style: normal;
}
body #layout-main {
  background: transparent;
}
body #layout-footer {
  background: #ffffff;
}
body #content-holder {
  scroll-margin-top: 140px;
  background: transparent;
  padding-top: 0;
  padding-bottom: 0;
}
body .btn {
  border-radius: 0px;
}
body .btn:active {
  background-color: #0a0a0a;
  border-color: #0a0a0a;
}
body .input-group-addon {
  font-size: 19px;
  color: #505050;
  padding: 5px 10px;
  border: 1px solid #e3e3e3;
  border-right: 0;
}
body .btn-primary {
  background-color: #303030;
  border-color: #303030;
}
body .btn-primary:hover {
  background-color: #0a0a0a;
  border-color: #303030;
}
body .truncate {
  width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body .pflichthinweis {
  margin-bottom: 10px;
}
body #zebra_honeypot_form {
  display: none;
}
body .form-control {
  border-radius: 0px;
}
body .btn-361 {
  display: inline-block;
}
body .btn-361 a {
  display: inline-block;
  padding: 10px 15px;
  color: #303030;
  background-color: #ffcc00;
  margin-top: 30px;
  font-weight: 400;
  transition: all 0.25s ease-out;
}
body .btn-361 a:hover {
  color: #303030;
  background-color: #ffe680;
}
body .btn-361.btn-361-secondary {
  display: inline-block;
}
body .btn-361.btn-361-secondary a {
  background-color: transparent;
  border: 2px solid #ffcc00;
  color: #ffcc00;
  padding: 8px 13px;
}
body .btn-361.btn-361-secondary a:hover {
  border-color: #fff;
  color: #fff;
}
body .btn-361-download {
  background-color: #303030;
  color: #ffffff;
  margin: 30px auto 0 auto;
  padding: 0;
  display: inline-flex;
}
body .btn-361-download .btn-361-download-icon {
  background-color: #ffcc00;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  width: 50px;
}
body .btn-361-download .btn-361-download-icon img {
  transition: transform 0.25s ease-out;
}
body .btn-361-download span {
  background-color: #303030;
  color: #ffffff;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  height: 100%;
  text-transform: uppercase;
}
body .btn-361-download:hover {
  background-color: #666666;
}
body .btn-361-download:hover .btn-361-download-icon {
  background-color: #ffe680;
}
body .btn-361-download:hover .btn-361-download-icon img {
  transform: translateY(3px);
}
body .btn-361-download:hover span {
  background-color: #666666;
}
.stoerer {
  position: fixed;
  right: -6px;
  width: 30%;
  min-width: 325px;
  top: 102px;
  z-index: 99;
  -moz-transform: rotate(1.5deg);
  -ms-transform: rotate(1.5deg);
  -o-transform: rotate(1.5deg);
  -webkit-transform: rotate(1.5deg);
  transform: rotate(358.5deg);
}
.stoerer #closeStelle {
  position: absolute;
  right: calc(100% - 17px);
  top: 17px;
  background-color: #303030;
  color: #fff;
  padding: 3px 10px 8px 10px;
}
.stoerer #stoerer-klein {
  position: absolute;
  width: 163px;
  right: 2px;
  top: 3px;
}
.stoerer #stoerer-klein .stoerer-icon-close {
  display: none;
}
#header-holder {
  background: none;
  margin-bottom: 100px;
}
#header-holder #header-inner {
  background-color: rgba(48, 48, 48, 0.75);
  overflow: visible;
  position: fixed;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 15px 30px;
  z-index: 999;
  height: auto;
  box-shadow: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  backdrop-filter: blur(40px);
}
#header-holder #header-inner #logo-container {
  width: 175px;
}
#header-holder #header-inner #logo-container #logo {
  padding-top: 5px;
  padding-bottom: 5px;
}
#header-holder .jumbotron {
  margin-bottom: 0px;
  padding: 0;
  height: auto;
  border-radius: 0;
  background-color: transparent;
  position: relative;
}
#header-holder .jumbotron .header-container::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  transform-origin: bottom center;
  transform: scaleY(1.5);
}
#header-holder .jumbotron img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#header-holder .header-container {
  height: 75vh !important;
  clip-path: polygon(0% 0%, 100% 0%, 100% 90%, 0% 100%);
}
#header-holder .header-container .carousel-item-inner {
  position: relative;
  height: 100%;
}
#header-holder .header-container .carousel-item-inner::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 50%;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.2) 25%, rgba(0, 0, 0, 0) 35%, rgba(0, 0, 0, 0) 100%);
  pointer-events: none;
  transform-origin: bottom center;
  transform: scaleY(1.5);
}
#header-holder .slogan {
  z-index: 1;
  position: absolute;
  width: 90%;
  padding-left: 10%;
  bottom: 0;
  left: 0;
  transform-origin: bottom left;
  transform: rotate(-1.5deg);
}
#header-holder .slogan p {
  margin: 0;
  font-size: 4.25vmax;
  font-weight: 600;
  text-transform: uppercase;
  text-align: right;
  line-height: 0.75;
}
#header-holder .slogan p .slogan-a-short {
  font-size: 5.25vmax;
}
#header-holder .slogan .slogan-btn {
  display: none;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #ffcc00;
  color: #303030;
  font-size: 24px;
  transform: translate(0, 100%);
}
#header-holder .slogan .slogan-btn a {
  display: inline-block;
  color: #303030;
  padding: 10px 15px;
  transition: padding 0.25s ease-out;
}
#header-holder .slogan .slogan-btn a:hover {
  color: #303030;
  background-color: #ffe680;
  padding: 10px 15px 25px 15px;
}
@media screen and (min-width: 768px) {
  #header-holder .slogan {
    width: calc(100% - 150px);
    padding-left: 150px;
  }
  #header-holder .slogan .slogan-a-short {
    display: none;
  }
  #header-holder .slogan .slogan-btn {
    display: block;
    transform: translate(calc(100% + 20px), 0);
  }
}
#header-holder .slogan-seo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  max-width: 90%;
  width: max-content;
}
#header-holder .slogan-seo p {
  font-size: 30px;
}
#header-holder .slogan-seo p span {
  font-size: 50px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  #header-holder .slogan-seo {
    left: 50%;
    top: 50%;
    transform: translateY(-50%);
    width: 40%;
    min-width: 350px;
  }
}
#header-holder #dse-carousel .carousel-inner {
  height: 100%;
}
#header-holder #dse-carousel .carousel-item {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#header-holder #dse-carousel .carousel-item img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}
#header-holder #dse-carousel .left .fa-angle-right {
  font-size: 48px;
  position: absolute;
  right: 20px;
  top: 50%;
  margin-top: 20px;
  color: #fff;
}
#header-holder #dse-carousel .right .fa-angle-left {
  font-size: 48px;
  position: absolute;
  left: 20px;
  top: 50%;
  margin-top: 20px;
  color: #fff;
}
#header-holder .carousel-control {
  display: block;
  background-image: none;
}
#header-holder .carousel-control .header-slider-btn-left {
  position: absolute;
  left: 30px;
  top: 50%;
  margin-top: -50px;
  color: #fff;
  transform: rotate(180deg) scale(0.75);
  mix-blend-mode: difference;
}
#header-holder .carousel-control .header-slider-btn-right {
  position: absolute;
  right: 30px;
  top: 50%;
  margin-top: -50px;
  color: #fff;
  mix-blend-mode: difference;
  transform: scale(0.75);
}
@media screen and (min-width: 1100px) {
  #header-holder #header-inner {
    padding: 15px 75px;
  }
  #header-holder #header-inner #logo-container {
    width: 250px;
  }
}
#dse--menu {
  display: none;
  height: 100%;
  position: absolute;
  align-items: center;
}
#navigation {
  display: grid;
  align-items: center;
  height: 65px;
  /************************************ MOBILE MENÜ ***********************************************************/
}
#navigation #menu-primary {
  float: right;
  width: 100%;
  padding-left: 0;
  margin-bottom: 0;
  font-weight: 400;
  align-items: center;
  height: 100%;
}
#navigation #menu-primary > li {
  float: left;
  position: relative;
  margin-right: 75px;
  list-style: none;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  height: 100%;
}
#navigation #menu-primary > li > a {
  display: block;
  transition: 0.3s background-color;
  color: #ffffff;
  text-align: left;
  font-size: 20px;
}
#navigation #menu-primary > li > a:hover {
  background-color: none;
  color: #d9d9d9;
}
#navigation #menu-primary > li::after {
  content: '';
  width: 100%;
  height: 0px;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #ffcc00;
  transition: height 0.25s ease-in-out;
}
#navigation #menu-primary > li:hover > .menu-dropdown {
  display: block;
}
#navigation #menu-primary > li:hover::after,
#navigation #menu-primary > li.active::after {
  height: 5px;
}
#navigation #menu-primary .menu-dropdown {
  background: #303030;
  padding-left: 0;
  display: none;
  position: absolute;
  top: calc(100% + 20px);
  width: max-content;
  z-index: 10;
  padding: 10px;
}
#navigation #menu-primary .menu-dropdown li {
  float: none;
  position: relative;
  list-style: none;
  text-transform: none;
  padding: 5px 20px;
  font-weight: 300;
  color: #ffffff;
}
#navigation #menu-primary .menu-dropdown a {
  font-size: 18px;
  text-align: left;
  color: #ffffff;
}
#navigation #menu-primary .menu-dropdown a:hover {
  color: #ffcc00;
}
#navigation #menu-primary .menu-dropdown .menu-dropdown {
  left: 100%;
  top: 0;
}
#navigation #menu-primary .menu-dropdown::after {
  content: '';
  height: 20px;
  width: 100%;
  position: absolute;
  top: -20px;
  left: 0;
}
#navigation #hamburger {
  position: absolute;
  left: 30px;
  display: block;
  width: 30px;
  z-index: 2;
}
#navigation #hamburger span {
  background: #ffffff;
  display: block;
  height: 3px;
  margin: 5px 0;
}
#navigation .mm-opened #hamburger span {
  position: relative;
  transform: rotate(0);
  top: 0;
  transition: none 0.5s ease;
  transition-property: transform, top, left, opacity;
}
#navigation .mm-opened #hamburger span .top-bar {
  transform: rotate(45deg);
  top: 8px;
}
#navigation .mm-opened #hamburger span .middle-bar {
  opacity: 0;
}
#navigation .mm-opened #hamburger span .bottom-bar {
  transform: rotate(-45deg);
  top: -8px;
}
@media screen and (min-width: 1100px) {
  #navigation #hamburger {
    display: none;
  }
  #navigation ul.onlyShowPrime ul {
    display: none !important;
  }
  #navigation #menu-primary.onlyShowPrime .has-child > a:after {
    display: none;
  }
  #navigation #mm-dse--menu {
    display: none;
  }
  #navigation #dse--menu {
    display: flex;
  }
}
.mm-panels .mm-panel {
  background-color: #303030;
}
.mm-panels .mm-panel .mm-navbar .mm-title {
  color: #ffffff;
}
.mm-panels .mm-panel .mm-navbar .mm-btn::before {
  border-color: #ffffff;
}
.mm-panels .mm-panel .mm-listview .menu-item .mm-next::after {
  border-color: #ffffff;
}
.ansprechpartner-img {
  margin-bottom: 30px;
}
#pageRequestable .btn-primary {
  margin: 0 0 30px 0;
  line-height: 25px;
}
.spacer-100 {
  height: 75px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .spacer-100 {
    height: 100px;
  }
}
.spacer-200 {
  height: 125px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .spacer-200 {
    height: 200px;
  }
}
.img-container {
  height: 100%;
}
.img-container img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
#direct-row {
  overflow-x: scroll;
  flex-direction: row;
  flex-wrap: nowrap;
  scroll-snap-type: x proximity;
}
@media screen and (min-width: 768px) {
  #direct-row {
    flex-wrap: wrap;
    overflow: visible;
  }
}
.direct {
  display: flex;
  justify-content: center;
  aspect-ratio: 1;
  margin-bottom: 30px;
  scroll-snap-align: center;
}
@media screen and (min-width: 768px) {
  .direct {
    margin-bottom: 75px;
  }
}
.direct .direct-link {
  width: 100%;
  height: auto;
  display: flex;
  aspect-ratio: 1;
  justify-content: center;
  color: #ffffff;
}
.direct .direct-link .direct-bg {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  width: 100%;
  margin-top: 40%;
  background-color: #303030;
  box-shadow: 0px 5px 30px rgba(0, 0, 0, 0.5);
}
.direct .direct-link .direct-bg .direct-title {
  height: 150px;
  display: flex;
  align-items: center;
  padding: 0 50px;
  box-sizing: border-box;
  position: relative;
  flex-grow: 0;
  width: 100%;
  justify-content: center;
}
.direct .direct-link .direct-bg .direct-title h3 {
  text-align: center;
  margin: 0;
}
.direct .direct-link .direct-img {
  position: absolute;
  height: 65%;
  max-width: 85%;
  top: 0;
  transition: transform 0.25s ease-out;
}
.direct .direct-link .direct-img img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.direct:hover .direct-img {
  transform: translateY(-20px);
}
@media screen and (min-width: 768px) {
  #cms-info-container .cms-info-content {
    padding: 50px;
    grid-template-columns: repeat(2, [col] 1fr);
  }
}
#product-preview-row .product-preview-card {
  padding: 30px 40px 40px 40px;
  background-color: #303030;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
}
#product-preview-row .product-preview-card .product-preview-title span {
  font-size: 20px;
  font-weight: 300;
  text-transform: uppercase;
  color: #bbb;
  margin-bottom: 10px;
}
#product-preview-row .product-preview-card .product-preview-img {
  width: calc(100% + 80px);
  margin: 0 -40px 30px -40px;
}
#product-preview-row .product-preview-card .product-preview-img img {
  width: 100%;
  height: 100%;
}
#product-preview-row .product-preview-card .product-preview-more {
  position: relative;
  display: flex;
  flex-direction: column;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-more-toggle {
  position: absolute;
  right: 0;
  width: 40px;
  height: 40px;
  z-index: 2;
  opacity: 0;
  cursor: pointer;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-more-toggle:checked ~ .product-preview-text {
  max-height: 325px;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-more-toggle:checked ~ .product-preview-expand img {
  transform: rotate(180deg);
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-expand {
  position: relative;
  margin-bottom: 20px;
  display: flex;
  justify-content: end;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-expand img {
  width: 40px;
  height: 40px;
  padding: 15px 10px;
  background-color: transparent;
  z-index: 1;
  position: relative;
  transition: transform 0.25s ease-out;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-expand::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: calc(100% - 40px);
  height: 2px;
  background-color: #707070;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-text {
  max-height: 0px;
  overflow: hidden;
  transition: all 0.5s ease-in-out;
}
#product-preview-row .product-preview-card .product-preview-more .product-preview-text p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
}
#product-preview-row .product-preview-card .product-preview-btn .btn-361 {
  width: 100%;
  text-align: center;
}
#product-preview-row .product-preview-card .product-preview-btn .btn-361 a {
  width: 100%;
  text-align: center;
}
.service-slider-container #service-slider {
  display: flex;
  flex-direction: row;
  overflow: hidden;
  position: relative;
  background-color: #303030;
}
.service-slider-container #service-slider .service-slide {
  width: 100%;
  display: flex;
  flex-direction: column;
  background-color: #303030;
  flex-shrink: 0;
  transform: translateX(0%);
  margin-top: 50px;
}
.service-slider-container #service-slider .service-slide .service-slide-img {
  width: 100%;
  max-height: 500px;
  overflow: hidden;
  display: flex;
}
.service-slider-container #service-slider .service-slide .service-slide-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  align-self: center;
}
.service-slider-container #service-slider .service-slide .service-slide-content {
  height: 100%;
  width: 100%;
  padding: 25px;
}
.service-slider-container .service-slide-btn {
  height: 50px;
}
.service-slider-container .service-slide-btn.service-slide-prev {
  transform: rotate(180deg);
}
.service-slider-container .service-slide-btn img {
  height: 70%;
}
@media screen and (min-width: 1200px) {
  .service-slider-container .service-slide-btn {
    height: auto;
  }
  .service-slider-container .service-slide-btn img {
    height: auto;
  }
}
.service-slider-container .service-slider-indicators {
  bottom: -80px;
}
.service-slider-container .service-slider-indicators li {
  width: 15px;
  height: 15px;
  margin: 0px 5px;
  border-radius: 50%;
  background-color: #ffffff;
}
.service-slider-container .service-slider-indicators li.active {
  background-color: #666666;
}
@media screen and (min-width: 1200px) {
  .service-slider-container #service-slider .service-slide-btn {
    top: 50%;
  }
  .service-slider-container #service-slider .service-slide-btn.service-slide-prev {
    left: 75px;
  }
  .service-slider-container #service-slider .service-slide-btn.service-slide-next {
    right: 75px;
  }
  .service-slider-container #service-slider .service-slide-btn img {
    height: 65px;
  }
  .service-slider-container #service-slider .service-slide {
    flex-direction: row;
    margin-top: 0;
  }
  .service-slider-container #service-slider .service-slide .service-slide-img {
    width: 50%;
    max-height: unset;
  }
  .service-slider-container #service-slider .service-slide .service-slide-content {
    width: 50%;
    padding: 100px 225px 100px 100px;
  }
}
#cms-info-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: #303030;
  box-shadow: 0px 5px 50px #000;
}
#cms-info-container .cms-info-select {
  display: flex;
  flex-direction: row;
  width: 100%;
  overflow-x: scroll;
  background-color: #666666;
  padding: 0;
  border-bottom: none;
  flex-wrap: nowrap;
}
#cms-info-container .cms-info-select li {
  margin-bottom: 0;
  flex-shrink: 0;
}
#cms-info-container .cms-info-select .cms-info-select-item {
  padding: 20px 25px;
  position: relative;
  list-style: none;
  display: block;
}
#cms-info-container .cms-info-select .cms-info-select-item img {
  height: 25px;
  width: auto;
}
#cms-info-container .cms-info-select .cms-info-select-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 0px;
  width: 100%;
  background-color: #ffcc00;
  transition: height 0.25s ease-out;
}
#cms-info-container .cms-info-select .cms-info-select-item.active {
  background-color: #303030;
}
#cms-info-container .cms-info-select .cms-info-select-item.active::after {
  height: 5px;
}
#cms-info-container .tab-content {
  background-color: #303030;
}
#cms-info-container .cms-info-content {
  display: none;
  grid-template-columns: repeat(1, [col] 1fr);
  grid-gap: 50px;
  padding: 25px;
  background-color: #303030;
  z-index: 1;
}
#cms-info-container .cms-info-content .img-container {
  width: 100%;
  height: auto;
}
#cms-info-container .cms-info-content .img-container img {
  height: auto;
}
#cms-info-container .cms-info-content .cms-info-content-text {
  height: auto;
}
#cms-info-container .cms-info-content.active {
  display: grid;
}
@media screen and (min-width: 992px) {
  #cms-info-container .cms-info-content {
    padding: 50px;
    grid-template-columns: repeat(2, [col] 1fr);
  }
}
.contact-person {
  aspect-ratio: 1;
  overflow: hidden;
  position: relative;
  margin-bottom: 30px;
}
.contact-person .contact-person-img {
  height: 100%;
  width: 100%;
}
.contact-person .contact-person-img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.contact-person .contact-person-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  transform: translateY(100%);
  padding: 40px 25px 35px 25px;
  background-color: rgba(48, 48, 48, 0.8);
  transition: transform 0.25s ease-out;
  clip-path: polygon(0% 10%, 100% 0%, 100% 100%, 0% 100%);
}
.contact-person .contact-person-info h3 {
  margin-bottom: 15px;
}
.contact-person:hover .contact-person-info {
  transform: translateY(0);
}
#mesh {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  z-index: -1;
}
.content_template.slider_text_format .slider-name {
  color: #bbb;
  text-transform: uppercase;
}
.content_template.bild_links_text_rechts div:first-child,
.content_template.bild_rechts_text_links div:first-child {
  margin-bottom: 50px;
}
@media screen and (min-width: 992px) {
  .content_template.bild_links_text_rechts div:first-child,
  .content_template.bild_rechts_text_links div:first-child {
    margin-bottom: 0;
  }
}
.content_template.grid_images {
  display: grid;
  grid-template-columns: repeat(1, [col] 1fr);
  grid-gap: 30px;
}
.content_template.grid_images .grid-img {
  grid-column: span 1;
  width: 100%;
}
.content_template.grid_images.grid_images_minCol2 {
  grid-template-columns: repeat(2, [col] 1fr);
}
@media screen and (min-width: 768px) {
  .content_template.grid_images {
    grid-template-columns: repeat(2, [col] 1fr) !important;
  }
}
@media screen and (min-width: 992px) {
  .content_template.grid_images {
    grid-template-columns: repeat(3, [col] 1fr) !important;
  }
}
.content_template.accordion-item {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}
.content_template.accordion-item .accordion-headline {
  position: relative;
  padding: 13px 50px 13px 20px;
  background-color: #303030;
  cursor: pointer;
}
.content_template.accordion-item .accordion-headline::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  width: 15px;
  height: 9px;
  transform: translateY(-50%);
  background-image: url(/images/arrow_expand.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: transform 0.2s ease-out;
}
.content_template.accordion-item .accordion-headline h6 {
  margin: 0;
}
.content_template.accordion-item .accordion-content {
  background-color: #303030;
  overflow: hidden;
  transition: all 0.5s ease-out;
  max-height: 0px;
}
.content_template.accordion-item .accordion-content .accordion-text {
  padding: 10px 20px 0px 20px;
}
.content_template.accordion-item:hover .accordion-headline h6 {
  color: #ffcc00;
}
.content_template.accordion-item.accordion__active .accordion-headline::after {
  transform: translateY(-50%) rotate(180deg);
}
.content_template.accordion-item.accordion__active .accordion-headline h3 {
  color: #ffcc00;
}
.cke_editable .content_template.accordion-item .accordion-content {
  max-height: max-content !important;
}
#tools-circles img {
  position: absolute;
  transition: transform 0.3s ease;
  padding: 10px;
  background: #303030;
}
#tools-circles img:hover {
  transform: scale(1.1);
  cursor: pointer;
  background: #666666;
}
.container-projects .btn.btn-primary {
  background-color: #ffcc00;
  color: #303030;
  margin-right: 10px;
}
.container-projects .btn.btn-primary:hover {
  background-color: #ffe680;
}
.container-projects .btn-categorys {
  margin-bottom: 40px;
}
.container-projects .highlighted-project {
  display: none;
  background-color: #303030;
  margin-bottom: 25px;
}
.container-projects .highlighted-project .content-container {
  padding: 50px 50px 50px 20px;
}
.mix {
  margin-bottom: 30px;
}
.mix a {
  color: #fff;
  display: block;
}
.mix small {
  color: #fff;
  display: none;
}
.mix h3 {
  display: none;
  position: absolute;
  top: 50px;
  left: 50px;
  color: #fff;
  text-transform: uppercase;
  width: 80%;
}
.mix .text-muted {
  display: none;
  position: absolute;
  bottom: 20px;
  color: #fff !important;
  left: 50px;
  width: 80%;
}
.mix img {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease-out;
  -moz-transition: opacity 0.5s ease-out;
  -o-transition: opacity 0.5s ease-out;
  transition: opacity 0.5s ease-out;
}
.mix:hover a {
  background: #000;
}
@media screen and (min-width: 992px) {
  .mix:hover h3 {
    display: block;
  }
}
@media screen and (min-width: 992px) {
  .mix:hover p {
    display: block;
  }
}
.mix:hover img {
  opacity: 0.3;
}
img.lazy-loaded {
  width: 100%;
}
.ref-361-img-container {
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000;
}
.form-button {
  background-color: #FFCC00;
  padding-inline: 15px;
  padding-block: 10px;
  border: none;
}
.form-button a {
  color: black;
}
.form-button a:hover {
  color: black;
}
.center-btn {
  text-align: center;
}
.datenschutz p {
  font-size: 15px;
  font-weight: 300;
}
#btnsubmit {
  background-color: #FFCC00;
  padding-inline: 15px;
  padding-block: 10px;
  border: none;
  font-size: 25px;
  color: black;
  margin-block: 10px;
  text-align: center;
}
#btnsubmit:focus {
  box-shadow: none;
}
.fluid-block {
  margin-block: 140px;
}
.fluid-block h2 {
  margin-bottom: 25px;
}
.fluid-block .contact-form-image {
  padding: 0 !important;
}
.fluid-block .contact-form-image img {
  width: 100%;
  object-fit: cover;
  height: 100%;
  /* @media screen and (max-width: @screen-md-min) { 
                    height: auto;
                  } */
}
.fluid-block .contact-form-text {
  background-color: #303030;
}
.fluid-block .contact-form-text .text-block {
  padding: 30px;
}
@media screen and (min-width: 576px) {
  .fluid-block .contact-form-text .text-block {
    padding: 95px;
  }
}
.fluid-block .contact-form-text .text-block ol {
  padding-left: 22px;
}
.fluid-block .contact-form-text .text-block li {
  list-style-image: url("/images/check.svg");
  padding-bottom: 18px;
}
.fluid-block .contact-form-text button {
  font-family: "Source Sans Pro", Arial, sans-serif;
  background-color: #FFCC00;
  padding-inline: 15px;
  padding-block: 10px;
  border: none;
}
.fluid-block .contact-form-text button a {
  color: black;
}
.form-group-row {
  flex-flow: column;
}
.form-group-row .form-control {
  background-color: transparent;
  border: 2px solid #fff;
  color: #fff;
}
.form-group-row .form-control:focus {
  background-color: transparent;
  box-shadow: none;
  border-color: #fff;
  color: #fff;
}
.form-group-row .required {
  color: #FC0;
}
.form-group-headlines {
  font-size: 20px;
  font-weight: bold;
}
.container.container-block#content-holder {
  margin-bottom: 70px;
}
.container.container-block#content-holder button {
  font-family: "Source Sans Pro", Arial, sans-serif;
  background-color: #FFCC00;
  padding-inline: 15px;
  padding-block: 10px;
  border: none;
  margin-top: 20px;
}
.container.container-block#content-holder button a {
  color: black;
}
.container.container-block {
  margin-bottom: 70px;
  margin-top: 70px;
}
.container h2 {
  margin-bottom: 25px;
}
.container .content-block ol {
  padding-left: 22px;
}
.container .content-block li {
  list-style-image: url("/images/round-check.svg");
  padding-bottom: 18px;
}
.container .content-block button {
  font-family: "Source Sans Pro", Arial, sans-serif;
  background-color: #FFCC00;
  padding-inline: 15px;
  padding-block: 10px;
  border: none;
}
.container .content-block button a {
  color: black;
}
#footer-holder {
  background: #000000;
  padding: 50px 25px 100px 25px;
  margin-top: 150px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #footer-holder {
    padding: 50px 13vw;
  }
}
#footer-holder #footer-inner {
  background: #000000;
  color: #ffffff;
}
#footer-holder #footer-inner .footer-info {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  grid-gap: 50px;
}
#footer-holder #footer-inner .footer-info .footer-social-icons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 15px;
}
#footer-holder #footer-inner .footer-info .footer-social-icons img,
#footer-holder #footer-inner .footer-info .footer-social-icons i {
  width: 35px;
  margin-right: 15px;
  margin-bottom: 15px;
  color: #fff;
  font-size: 30px;
}
#footer-holder #footer-inner .footer-logo-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 50px;
  margin-bottom: 75px;
  grid-gap: 20px;
}
#footer-holder #footer-inner .footer-logo-container a img {
  height: 75px;
  max-width: 175px;
  object-fit: contain;
}
#footer-holder #footer-inner p {
  margin: 0;
  color: #ffffff;
}
#footer-holder #footer-inner #footer-contact-popup {
  position: absolute;
  top: 0;
  left: 50%;
  max-height: 100%;
  transform: translateX(-50%);
  padding: 30px 45px;
  display: flex;
  flex-direction: column;
  background-color: #303030;
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.5);
  text-align: center;
  opacity: 0;
  transition: all 0.5s ease-out;
  pointer-events: none;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-title {
  font-size: 24px;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 10px;
  color: #ffffff;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-text {
  font-size: 20px;
  font-weight: 300;
  margin-bottom: 30px;
  color: #ffffff;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-icons {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-icons a {
  position: relative;
  flex-shrink: 0;
  transition: all 0.25s ease-out;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-icons a img {
  height: 50px;
  margin: 0 15px;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-icons a:hover {
  filter: brightness(1.15);
  transform: rotate(-5deg);
}
#footer-holder #footer-inner #footer-contact-popup .fcp-close {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #666666;
  padding: 7.5px;
  cursor: pointer;
}
#footer-holder #footer-inner #footer-contact-popup .fcp-close img {
  display: block;
}
#footer-holder #footer-inner #footer-contact-popup.active {
  opacity: 1;
  transform: translate(-50%, -80%);
  pointer-events: all;
}
#footer-holder #footer-inner #footer-contact-popup.closed {
  opacity: 1;
  transform: translate(-50%, -100%);
  top: 0;
  max-height: 60px;
  padding: 15px 45px;
  overflow-y: hidden;
}
#footer-holder #footer-inner #footer-contact-popup.closed .fcp-close img {
  clip-path: polygon(0% 95%, 50% 40%, 100% 95%);
  transform: translateY(-20%);
}
#partner-section {
  margin-top: 100px;
}
#partner-holder {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: center;
  grid-gap: 30px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  #partner-holder {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 992px) {
  #partner-holder {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
#partner-holder img {
  width: 100%;
  height: 150px;
  aspect-ratio: 1;
  background-color: #000;
  object-fit: contain;
  padding: 30px;
}
/*** SUCHE ***/
.detailsuche .form-group {
  margin-bottom: 15px;
}
.detailsuche .form-group .input-group .form-control {
  border-radius: 0px;
}
.detailsuche .form-group .input-group .input-group-btn .btn.btn-secondary {
  border-radius: 0px;
}
.detailsuche .form-group .input-group .input-group-btn .btn.btn-secondary:hover {
  background: #757575;
  color: #fff;
  border-color: #757575;
}
.detailsuche .form-group .checkbox-inline,
.detailsuche .form-group .radio-inline {
  position: relative;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
  color: #666;
}
.ergebnisseite {
  padding-top: 15px;
}
.ergebnisseite .news_container .suche_bezug {
  padding: 0 0 10px 0;
}
.ergebnisseite .news_container .suche_bezug h2 {
  font-size: 20px;
}
.ergebnisseite .news_container .suche_bezug .such_gefunden {
  background-color: #999;
  color: #FFF;
  padding: 0 3px;
}
.ergebnisseite .part_page_navi {
  float: left;
  margin: 22px 0 0 0;
  padding: 0;
}
.ergebnisseite .part_page_navi li {
  float: left;
  font-size: 14px;
  font-weight: 500;
}
