@charset "UTF-8";
@import "/_intern/fonts/fontello/css/fontello_mg.css";
/* barlow-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: "Barlow";
  font-style: normal;
  font-weight: 400;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-italic - 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: "Barlow";
  font-style: italic;
  font-weight: 400;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-italic.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-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: "Barlow";
  font-style: normal;
  font-weight: 500;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-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: "Barlow";
  font-style: normal;
  font-weight: 600;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-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: "Barlow";
  font-style: normal;
  font-weight: 700;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-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: "Barlow";
  font-style: normal;
  font-weight: 800;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-800.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-900 - 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: "Barlow";
  font-style: normal;
  font-weight: 900;
  src: url("/_intern/fonts/barlow/barlow-v12-latin-900.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-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: "Barlow Condensed";
  font-style: normal;
  font-weight: 400;
  src: url("/_intern/fonts/barlow_condensed/barlow-condensed-v12-latin-regular.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-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: "Barlow Condensed";
  font-style: normal;
  font-weight: 500;
  src: url("/_intern/fonts/barlow_condensed/barlow-condensed-v12-latin-500.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-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: "Barlow Condensed";
  font-style: normal;
  font-weight: 600;
  src: url("/_intern/fonts/barlow_condensed/barlow-condensed-v12-latin-600.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-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: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  src: url("/_intern/fonts/barlow_condensed/barlow-condensed-v12-latin-700.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* barlow-condensed-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: "Barlow Condensed";
  font-style: normal;
  font-weight: 800;
  src: url("/_intern/fonts/barlow_condensed/barlow-condensed-v12-latin-800.woff2") format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* -- -- variables -- -- */
/* -- -- mixins -- -- */
/* -- -- -- -- */
html {
  overflow-x: hidden;
  overflow-y: auto;
}
body {
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  color: #4b4b4b;
  position: relative;
  right: 0px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
body.mobilenav, body.mobilenav #header {
  right: 230px;
}
h1, .h1 {
  display: block;
  font-size: 55px;
  font-weight: 600;
  margin: 0px 0px 0px 0px;
  color: #009fe3;
  line-height: 1.1;
  /* text-transform: uppercase; */
}
h2, .h2 {
  display: block;
  font-weight: normal;
  font-size: 24px;
  margin: 0px 0px 10px 0px;
}
h3, .h3 {
  display: block;
  font-size: 24px;
  color: #009fe3;
  font-weight: 700;
  text-transform: uppercase;
}
a {
  color: #4b4b4b;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.blau, .blue {
  color: #009fe3;
}
.pink {
  color: #e50078;
}
.orange {
  color: #ec6707;
}
.clear:after {
  content: "";
  display: block;
  visibility: hidden;
  clear: both;
}
img {
  max-width: 100%;
  height: auto;
}
button, .button, a.button, input[type="submit"] {
  display: inline-block;
  border: 0px;
  background-color: #009fe3;
  padding: 0px 10px;
  line-height: 30px;
  color: white;
  text-transform: uppercase;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  font-size: 16px;
  font-weight: 400;
}
button:hover, .button:hover, a.button:hover, input[type="submit"]:hover {
  text-decoration: none;
  background-color: #007bb0;
}
.link {
  color: inherit;
  position: relative;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 16px;
}
.link:before {
  content: "";
  font-family: "fontello_mg";
  display: inline-block;
  margin-right: 5px;
}
#content, #footer, .text {
  line-height: 1.4;
  font-weight: 400;
}
#content p, #footer p, .text p {
  margin: 0px 0px 30px 0px;
}
#content p:last-Child, #footer p:last-Child, .text p:last-Child {
  margin-bottom: 0px;
}
#content .textbox, #content .bannertext, #footer .textbox, #footer .bannertext, .text .textbox, .text .bannertext {
  padding: 50px 0px;
  text-align: center;
  font-size: 24px;
  font-weight: 300;
}
#content .textbox b, #content .textbox strong, #content .bannertext b, #content .bannertext strong, #footer .textbox b, #footer .textbox strong, #footer .bannertext b, #footer .bannertext strong, .text .textbox b, .text .textbox strong, .text .bannertext b, .text .bannertext strong {
  font-weight: 400;
}
#content .maincontent, #footer .maincontent, .text .maincontent {
  /*
		background-image: url('/MEDIEN/icons/bg_gradient_white.png'), url('/MEDIEN/icons/bg_wall.jpg');
		background-repeat: repeat-x, no-repeat;
		background-size: auto, cover;
		background-position: bottom, top;
		*/
}
.text ul {
  margin: 0px 0px 30px 0px;
  padding: 0px 0px 0px 15px;
  list-style-color: blue;
}
.text ul li {
  color: #009fe3;
}
#wrapper {
  padding-top: 100px;
}
.inner {
  position: relative;
  width: 95%;
  max-width: 1200px;
  margin: auto;
}
.outer {
  position: relative;
  width: 95%;
  max-width: 1700px;
  margin: auto;
}
#content .bannertext {
  padding: 100px 0px;
}
#content .bannertext button, #content .bannertext a.button, #content .bannertext .button {
  padding: 0px 45px;
  line-height: 80px;
  color: #009fe3;
  background-color: white;
  border: 1px dotted #009fe3;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#content .bannertext button:hover, #content .bannertext .button:hover {
  border: 1px dashed #009fe3;
}
.darkTheme #content .bannertext button, .darkTheme #content .bannertext a.button, .darkTheme #content .bannertext .button {
  color: #4b4b4b;
  background-color: #303030;
  border: 1px dotted #4b4b4b;
}
.darkTheme #content .bannertext button:hover, .darkTheme #content .bannertext .button:hover {
  color: white;
  border: 1px dashed #4b4b4b;
}
#content .backgroundtext {
  background-color: white;
  padding: 20px;
  margin-bottom: 20px;
}
#logo {
  position: absolute;
  left: 5%;
  top: 0px;
  z-index: 1;
  max-width: 50%;
  height: 100%;
  width: 180px;
  /* .logo { display: none; } */
}
#logo img {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  max-height: 150px;
  object-fit: contain;
  transform: scale(1.5);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  opacity: 1;
}
#logo .logo_dark {
  display: none;
}
#logo .logo_dark_text {
  display: none;
}
.darkTheme #logo {
  /*
	.logo_text { display: none; }
	.logo_dark_text { display: block; }	
	*/
}
.darkTheme #logo .logo {
  filter: brightness(999%);
}
#header {
  background-color: black;
  background-image: url("/MEDIEN/layout/Grey.png");
  background-size: cover;
  background-repeat: no-repeat;
  position: fixed;
  top: 0px;
  right: 0px;
  z-index: 10;
  width: 100%;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
#header #headercontent {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  height: 100px;
}
#header.fixed {
  -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.1);
}
#header.fixed #headercontent {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  height: 60px;
}
#header.fixed #logo img {
  top: 2px;
  max-height: 50px;
}
#header.fixed #nav li.open ul.lvl2 {
  opacity: 0;
  pointer-events: none;
}
#header #mobiletrigger {
  display: none;
  text-transform: uppercase;
  text-align: right;
  line-height: 31px;
  font-size: 20px;
  position: absolute;
  right: 20px;
  color: white;
  top: 50%;
  transform: translateY(-50%);
}
#header #mobiletrigger .menuicon {
  cursor: pointer;
  position: relative;
  top: -2px;
  left: 4px;
  background-image: url(/MEDIEN/icons/mobile_menu_white.png);
  background-repeat: no-repeat;
  display: block;
  float: right;
  width: 30px;
  height: 31px;
}
#social_icons {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
}
#social_icons a {
  color: white;
  font-size: 25px;
}
#mainnav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0px;
  right: 0px;
}
#nav {
  margin: 0px;
  padding: 0px;
  text-align: center;
}
#nav li {
  list-style-type: none;
  display: inline-block;
  padding: 20px 0px;
  margin: 0px 18px;
  position: relative;
  /* lvl 2 */
  /*
		ul.lvl2 {
			display: none;
			position: absolute;
			top: 58px;
			z-index: 10;
			margin: 0px;
			padding: 0px $px_padding_box $px_padding_box $px_padding_box;
			background-color: white;
			max-width: 100%;
			max-width: 620px;
			
			li {
				padding: 0px;
				margin: 0px;
				display: block;
				float: left;
				margin-bottom: 5px;
				width: 200px;
				
				a {
					color: $color_font;
				}
			}
		}
		
		ul.lvl3 {
			margin: 0px;
			padding: 0px;
			
			li {
				float: none;

				a {
					text-align: left;
					display: block;
					margin: 0px 10px;
					border-top: 1px solid #bebebe;
					line-height: 38px;
					text-transform: none;
					font-size: $px_fontsize_small;
				}
				
				&:last-Child a {
					border-bottom: 1px solid #bebebe;
				}
			}
		}
		*/
}
#nav li a {
  color: white;
  text-transform: uppercase;
}
#nav li a.active {
  font-weight: bold;
}
#nav li ul.lvl2 {
  display: none;
  position: absolute;
  bottom: -10px;
  left: 0px;
  margin: 0px;
  padding: 0px;
  z-index: 10;
}
#nav li ul.lvl2 li {
  padding: 0px;
  margin: 0px;
  display: block;
  float: left;
}
#nav li.open ul.lvl2 {
  display: block;
}
#nav li ul.lvl3 {
  margin: 0px;
  padding: 0px;
  width: 100vw;
}
#nav li ul.lvl3 li {
  float: left;
}
#nav li ul.lvl3 li a {
  font-size: 14px;
  display: block;
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid white;
}
#nav li ul.lvl3 li:last-Child a {
  border: 0px;
}
#nav li:hover ul {
  display: block;
}
.darkTheme #nav li ul.lvl2 {
  /* background-color: $color_bg_light; */
}
#mobilenav {
  display: none;
  position: relative;
}
#mobilenav #nav_mobile {
  position: absolute;
  width: 229px;
  right: -230px;
  border-left: 1px solid #4b4b4b;
  border-bottom: 1px solid #4b4b4b;
  top: 0px;
  overflow: auto;
  margin: 0px;
  padding: 0px;
}
#mobilenav #nav_mobile > li {
  list-style-type: none;
  border-top: 1px solid #4b4b4b;
}
#mobilenav #nav_mobile > li a {
  display: block;
  padding: 0px 20px;
  line-height: 45px;
  background-color: white;
}
#mobilenav #nav_mobile > li a:hover {
  text-decoration: none;
}
#mobilenav #nav_mobile > li a.active {
  color: #009fe3;
}
#mobilenav #nav_mobile ul.lvl2 {
  margin: 0px;
  padding: 0px;
}
#mobilenav #nav_mobile ul.lvl2 a {
  padding-left: 40px;
}
#mobilenav #nav_mobile .logo {
  display: block;
  text-align: center;
  margin: auto;
  padding: 10px 0px;
  width: 60%;
}
.darkTheme #mobilenav #nav_mobile > li a {
  background-color: black;
}
#scrollToTop {
  position: fixed;
  z-index: 10;
  bottom: 20px;
  right: 0px;
  width: 30px;
  height: 30px;
  background-color: white;
  opacity: 0.7;
  background-repeat: no-repeat;
  background-position: center center;
  background-image: url("/MEDIEN/icons/arrow_big_top.png");
  display: none;
}
#scrollToTop.scrolled {
  display: block;
}
#footer {
  color: #818181;
  background-color: #303030;
  padding: 20px 0px;
  text-align: center;
  font-size: 14px;
  position: relative;
}
#footer:after {
  content: "";
  display: block;
  background-color: #303030;
  position: absolute;
  bottom: -20px;
  height: 20px;
  width: 100%;
  left: 0px;
}
#footer_metalinks {
  padding: 0px 0px 20px 0px;
  text-align: center;
}
#footer_metalinks ul {
  margin: 0px;
  padding: 0px;
  width: 100%;
}
#footer_metalinks li {
  list-style-type: none;
  display: inline-block;
  margin: 0px 20px;
}
#footer_metalinks li a {
  color: inherit;
}
.darkTheme #footer {
  border-top: 1px solid #4b4b4b;
  background-color: black;
}
#footernav {
  margin: 0px 0px 20px 0px;
  padding: 0px 0px 20px 0px;
  border-bottom: 1px solid #4b4b4b;
  color: #818181;
  /* lvl 2 */
  /* lvl 3 */
}
#footernav > li {
  display: inline-block;
  vertical-align: top;
  list-style-type: none;
  padding: 0px 20px;
  text-align: left;
}
#footernav > li a {
  font-size: 16px;
  text-transform: uppercase;
  color: inherit;
}
#footernav > li a.active {
  text-decoration: underline;
}
#footernav li ul {
  margin: 10px 0px 0px 0px;
  padding: 0px;
  list-style-type: none;
}
#footernav li ul ul {
  margin: 0px 0px 0px 0px;
  padding: 0px;
}
#footernav li ul ul li {
  list-style-type: none;
  text-align: left;
  padding: 3px 0px;
}
#footernav li ul ul li a {
  text-transform: none;
  font-size: 14px;
  color: inherit;
}
input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  background-color: #424242;
  margin: 0;
  width: 40px;
  height: 20px;
  border-color: 1px solid grey;
  border-radius: 10px;
  position: relative;
  line-height: 1;
  margin-right: 7px;
  transition: 0.4s all;
}
input[type="checkbox"]:disabled, input[type="checkbox"][disabled], input[type="checkbox"][disabled=""] {
  background-color: #f8f8f8;
  opactiy: 0.5;
}
input[type="checkbox"]:before {
  content: "";
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
  background-color: white;
  transition: 0.4s all;
}
input[type="checkbox"]:checked {
  background-color: #009fe3;
}
input[type="checkbox"]:checked:before {
  left: calc(50% + 1px);
}
input[type=checkbox][disabled] {
  background-color: rgb(from #424242 r g b / 30%);
}
input[type=checkbox][disabled]:checked {
  background-color: rgb(from #009fe3 r g b / 30%);
}
.form {
  margin: 0px;
  padding: 0px;
}
.form li {
  display: block;
  padding-bottom: 10px;
  max-width: 500px;
}
.form li .label {
  display: block;
  margin-bottom: 3px;
}
.form li input[type="text"], .form li input[type="email"], .form li input[type="web"], .form li textarea {
  height: 25px;
  width: 96%;
  padding: 0px 2%;
  border: 1px solid #4b4b4b;
  background-color: #e7e7e7;
}
.form li textarea {
  height: auto;
  padding: 2%;
}
.form .req {
  display: inline-block;
  margin: 0px 5px;
}
.form .hidden {
  display: none;
}
#startbanner {
  color: white;
  text-transform: uppercase;
  padding: 100px 0px;
  text-align: center;
  background-image: url("/MEDIEN/icons/bg_tapete_blue.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}
#startbanner h1 {
  font-size: 70px;
  font-weight: 300;
}
.slidercontainer {
  position: relative;
}
.slidercontainer .slider, .slidercontainer .slider.slick-dotted {
  margin: 0px;
}
.slidercontainer .slideritem {
  height: 800px;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.slidercontainer .slider_textbox {
  position: absolute;
  right: 5%;
  top: 20%;
  background-color: white;
  max-width: 350px;
  padding: 10px;
  font-size: 14px;
}
.slidercontainer .slider_textbox img {
  max-width: 100%;
}
.slidercontainer .slider_textbox p {
  margin: 0px !important;
}
.slidercontainer #sliderdots {
  position: absolute;
  z-index: 1;
  bottom: 35px;
  width: 100%;
}
.slidercontainer #sliderdots .slick-dots li button:before {
  opacity: 1;
  font-size: 14px;
  color: white;
}
.slidercontainer #sliderdots .slick-dots li.slick-active button:before {
  font-size: 14px;
  color: #009fe3;
}
.slidercontainer .slick-prev, .slidercontainer .slick-prev:hover, .slidercontainer .slick-next, .slidercontainer .slick-next:hover {
  height: 27px;
  width: 27px;
  z-index: 5;
  background-color: white;
  z-index: 1;
  opacity: 0.7;
  background-repeat: no-repeat;
  background-position: center center;
}
.slidercontainer .slick-prev, .slidercontainer .slick-prev:hover {
  left: 0px;
  background-image: url("/MEDIEN/icons/arrow_big_left.png") !important;
}
.slidercontainer .slick-next, .slidercontainer .slick-next:hover {
  right: 0px;
  background-image: url("/MEDIEN/icons/arrow_big_right.png");
}
.slidercontainer .slick-prev:hover, .slidercontainer .slick-next:hover {
  opacity: 1;
}
.slidercontainer .slick-prev:before, .slidercontainer .slick-next:before {
  display: none;
}
.darkTheme .slidercontainer .slick-prev, .darkTheme .slidercontainer .slick-prev:hover, .darkTheme .slidercontainer .slick-next, .darkTheme .slidercontainer .slick-next:hover {
  background-color: black;
}
.darkTheme .slidercontainer #sliderdots .slick-dots li.slick-active button:before {
  color: black;
}
.template_26 .slidercontainer #sliderdots .slick-dots li button::before {
  color: #d3d3d3;
}
.template_26 .slidercontainer #sliderdots .slick-dots li.slick-active button::before {
  color: #009fe3;
}
#keyvisual, #map {
  padding-bottom: 40%;
  box-sizing: border-box;
  max-height: 700px;
  width: 100%;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}
#keyvisual.fullscreen, #map.fullscreen {
  padding-bottom: 0px;
  height: 90vh;
  max-height: 100vh;
}
#keyvisual .keyvisual_text, #map .keyvisual_text {
  position: relative;
  display: block;
  top: 35%;
  color: white;
  font-size: 30px;
}
#keyvisual img, #map img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  width: 100%;
}
.frontpage #keyvisual {
  height: auto;
  max-height: 100vh;
  padding-bottom: 0px;
}
.frontpage #keyvisual video {
  display: block;
  width: 100%;
  max-height: 85vh;
  object-fit: cover;
  object-position: center bottom;
  margin: auto;
}
#jobstrigger, #jobstrigger_bottom {
  position: absolute;
  bottom: 30px;
  right: 30px;
  background-color: #e50078;
  border-radius: 12px;
  height: 24px;
  line-height: 22px;
  padding: 0px 15px 0px 10px;
  display: inline-block;
  color: white;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 1;
}
#jobstrigger:hover, #jobstrigger_bottom:hover {
  text-decoration: none;
}
#jobstrigger_bottom {
  bottom: auto;
  top: 30px;
}
body.darkTheme {
  background-color: black;
}
body.darkTheme #header {
  background-color: black;
}
#standard .accordeon {
  background-color: white;
  margin-bottom: 10px;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#standard .accordeon .head {
  line-height: 70px;
  position: relative;
  margin: 0px;
  display: block;
  cursor: pointer;
  padding: 0px 50px;
}
#standard .accordeon .head .symbol, #standard .accordeon .head .arrow {
  display: inline-block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: inherit;
  font-size: 150%;
  font-weight: bold;
  /* margin-left: -16px; */
  left: 5px;
  width: 16px;
  /* height: 16px; */
  line-height: 1;
}
#standard .accordeon .head .symbol.arrow, #standard .accordeon .head .arrow.arrow {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  background-image: url("/MEDIEN/icons/arrow_right.png");
}
#standard .accordeon .text {
  max-height: 0px;
  overflow: hidden;
  padding: 0px 50px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  transition: all 0.5s;
}
#standard .accordeon.active .head {
  color: inherit;
}
#standard .accordeon.active .head .arrow {
  background-image: url("/MEDIEN/icons/arrow_down.png");
}
#standard .accordeon.active .text {
  max-height: 1000px;
}
#list {
  /* margin: -0.5%; */
}
#list .item {
  display: block;
  float: left;
  width: 19.5%;
  margin: 0.25%;
  position: relative;
  background-color: #bebebe;
}
#list .box {
  position: relative;
  display: block;
  width: 100%;
  padding-top: 56.25%;
  /* keep 16:9 ratio */
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /* small colored rect */
  /* color overlay */
}
#list .box:after {
  content: "";
  display: block;
  position: absolute;
  right: 0px;
  top: 0px;
  width: 15px;
  height: 15px;
  z-index: 1;
}
#list .box:before {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  left: 0px;
  background-color: black;
  opacity: 0;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  z-index: 2;
}
#list .box img {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 0;
  width: 100%;
  transform: scale(1);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#list .box .text {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  opacity: 0;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
}
#list .box .text .title {
  display: block;
  color: white;
  text-transform: uppercase;
  font-size: 16px;
}
#list .box .text .subtext {
  display: block;
  color: white;
  font-size: 14px;
}
#list .box:hover .text {
  opacity: 1;
}
#list .box:hover img {
  transform: scale(1.05);
}
#list .box:hover:before {
  opacity: 0.2;
}
#list .box.private:after {
  background-color: #ec6707;
}
#list .box.private:before {
  background-color: #ec6707;
}
#list .box.industry:after {
  background-color: #e50078;
}
#list .box.industry:before {
  background-color: #e50078;
}
#list .box.public:after {
  background-color: #009fe3;
}
#list .box.public:before {
  background-color: #009fe3;
}
#list .contactBox .box {
  background-color: rgba(0, 0, 0, 0.8);
  filter: none;
}
#list .contactBox .box .content {
  position: absolute;
  top: 50%;
  left: 50%;
  color: white;
  text-align: center;
  width: 100%;
  transform: translateX(-50%) translateY(-50%);
}
#list .contactBox .box .content .title {
  color: white;
  font-weight: 700;
  font-size: 115%;
}
#list .contactBox .box .content a {
  color: white;
}
.darkTheme #list .box {
  -webkit-filter: grayscale(100%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(100%);
}
.darkTheme #list .box:hover {
  -webkit-filter: grayscale(0%);
  /* Safari 6.0 - 9.0 */
  filter: grayscale(0%);
}
.darkTheme #list .box:after {
  display: none;
}
.darkTheme #list .box:before {
  background-color: black;
  opacity: 0.5;
}
.darkTheme #list .box:hover:before {
  opacity: 0;
}
#reference #longdesc, #finishingdetail #longdesc {
  background-color: #d3d3d3;
}
#reference #linkToGridview, #finishingdetail #linkToGridview {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 15px;
  margin-left: -43px;
}
#reference #infoboxTrigger, #reference .infoboxTrigger, #finishingdetail #infoboxTrigger, #finishingdetail .infoboxTrigger {
  display: block;
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 15px;
  margin-left: 6px;
  background-color: black;
}
#reference #infoboxTrigger.private, #reference .infoboxTrigger.private, #finishingdetail #infoboxTrigger.private, #finishingdetail .infoboxTrigger.private {
  background-color: #ec6707;
}
#reference #infoboxTrigger.industry, #reference .infoboxTrigger.industry, #finishingdetail #infoboxTrigger.industry, #finishingdetail .infoboxTrigger.industry {
  background-color: #e50078;
}
#reference #infoboxTrigger.public, #reference .infoboxTrigger.public, #finishingdetail #infoboxTrigger.public, #finishingdetail .infoboxTrigger.public {
  background-color: #009fe3;
}
#reference #infoboxTrigger img, #reference .infoboxTrigger img, #finishingdetail #infoboxTrigger img, #finishingdetail .infoboxTrigger img {
  display: block;
}
#reference #infobox, #reference .infobox, #finishingdetail #infobox, #finishingdetail .infobox {
  position: absolute;
  top: 15px;
  margin-left: 6px;
  /* margin-top: 31px; */
  left: 50%;
  width: 100%;
  z-index: 5;
}
#reference #infobox > div, #reference .infobox > div, #finishingdetail #infobox > div, #finishingdetail .infobox > div {
  display: inline-block;
  position: relative;
  min-width: 150px;
  max-width: 400px;
  /* margin-left: -250px; */
  padding: 10px;
  padding-left: 50px;
  color: white;
  overflow: hidden;
  background-image: url("/MEDIEN/icons/trans_black_80.png");
}
#reference #infobox.private > div, #reference .infobox.private > div, #finishingdetail #infobox.private > div, #finishingdetail .infobox.private > div {
  background-image: url("/MEDIEN/icons/bg_trans_orange.jpg");
}
#reference #infobox.industry > div, #reference .infobox.industry > div, #finishingdetail #infobox.industry > div, #finishingdetail .infobox.industry > div {
  background-image: url("/MEDIEN/icons/bg_trans_pink.jpg");
}
#reference #infobox.public > div, #reference .infobox.public > div, #finishingdetail #infobox.public > div, #finishingdetail .infobox.public > div {
  background-image: url("/MEDIEN/icons/bg_trans_blue.png");
}
#reference #infobox .close, #reference .infobox .close, #finishingdetail #infobox .close, #finishingdetail .infobox .close {
  background-image: url("/MEDIEN/icons/icon_close.png");
  width: 26px;
  height: 26px;
  position: absolute;
  top: 10px;
  right: 10px;
}
#reference #infobox .title, #reference .infobox .title, #finishingdetail #infobox .title, #finishingdetail .infobox .title {
  text-transform: uppercase;
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
}
#reference #infobox .desc, #reference .infobox .desc, #finishingdetail #infobox .desc, #finishingdetail .infobox .desc {
  /* font-style: italic; */
}
#reference #infobox .desc a, #reference .infobox .desc a, #finishingdetail #infobox .desc a, #finishingdetail .infobox .desc a {
  color: white;
}
.darkTheme #finishingdetail #longdesc {
  background-color: black;
}
#finishingdetail {
  /*
	.slick-dots {
	 counter-reset: slickdots_counter;        
	}
	.slick-dots li button {
		counter-increment: slickdots_counter; 
	}

	.slick-dots li button:before {
		opacity: 1;
		font-size: 11px !important;
		background-color: white;
		font-family: Verdana;
		color: black !important;
		padding: 1px;
		border-radius: 50%;
		text-align: center;
		content: counter(slickdots_counter);
	}

	.slick-dots li.slick-active button:before {
		background-color: $color_1;
		font-size: 11px;
		color: white;
	}
	*/
}
#finishingdetail .slick-dots {
  display: none !important;
}
#finishingdetail .infoboxTrigger, #finishingdetail .infobox {
  display: none;
}
#services {
  text-align: center;
  padding: 50px 0px;
}
#services .headline {
  display: block;
}
#services .text {
  display: block;
}
#services .picto {
  /*
		position: absolute;
		top: 20px;
		right: 20px;
		*/
  float: right;
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 10px;
  max-width: 100px;
}
#servicesslider {
  padding: 0px 60px 50px 60px;
}
#servicesslider .slideritem {
  height: auto;
}
#servicesslider .slideritem .inner {
  text-align: left;
  padding: 20px;
  background-color: white;
  min-height: 200px;
}
#services #sliderdots {
  bottom: 0px;
}
/* KONTAKT */
.doc_117 .submitbuttons {
  display: none;
}
.doc_117 #contact {
  padding: 50px;
  background-color: white;
}
#accordeon_container {
  position: relative;
  max-width: 890px;
  margin: auto;
}
#service_accordeon {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
}
#service_accordeon .acc_item {
  border-bottom: 1px solid #009fe3;
  padding: 0px;
}
#service_accordeon .picto {
  float: left;
  margin: 0px;
  display: inline-block;
}
#service_accordeon .picto img {
  width: auto;
  max-width: 100%;
  max-height: 50px;
}
#service_accordeon .headline {
  margin-left: 80px;
  line-height: 50px;
}
#service_accordeon .headline:before {
  content: "+";
  margin-right: 10px;
  position: relative;
  display: inline-block;
}
#service_accordeon .head {
  text-align: left;
  padding: 12px 25px;
  cursor: pointer;
}
#service_accordeon .content {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  padding-left: 100px;
  text-align: left;
  overflow: hidden;
  max-height: 0px;
}
#service_accordeon .content .text {
  padding: 10px 20px;
}
#service_accordeon .active .headline:before {
  content: "-";
}
#service_accordeon .active .content {
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  transition: all 0.25s;
  max-height: 400px;
  padding-bottom: 25px;
}
.videocontainer {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
}
.videocontainer iframe, .videocontainer video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.videocontainer video {
  object-fit: contain;
  display: block;
}
.tiles .tile {
  position: relative;
}
.tiles .container {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  align-content: center;
}
.tiles .container > * {
  position: relative;
  width: 50%;
}
.tiles .tile:nth-child(even) .container {
  flex-direction: row-reverse;
}
.tiles .tile:nth-child(even) .contentbox {
  justify-content: flex-end;
}
.tiles .tile:nth-child(even) .content {
  text-align: right;
}
.tiles .contentbox {
  display: flex;
  align-items: center;
}
.tiles h2 {
  font-size: 40px;
  line-height: 1;
}
.tiles .content {
  position: relative;
  z-index: 1;
  color: white;
  padding: 30px;
}
.tiles .text {
  font-size: 24px;
}
.tiles .image > img, .tiles .image > video {
  width: 100%;
  display: block;
  object-fit: cover;
  min-height: 35vw;
  height: 100%;
}
.tiles .background {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: 0;
}
.tiles .slidercontainer {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
}
.tiles .slidercontainer .slick-list, .tiles .slidercontainer .slick-track, .tiles .slidercontainer .item {
  position: relative;
  min-height: 35vw;
  height: 100%;
}
.tiles .slidercontainer img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tiles .slidercontainer .title {
  display: block;
  text-align: center;
  font-weight: 600;
  color: #009fe3;
  position: absolute;
  bottom: 10%;
  left: 0px;
  width: 100%;
  font-size: 24px;
}
.frontpage .tiles .slidercontainer img {
  object-fit: contain;
  width: 50%;
  height: 50%;
  top: 25%;
  left: 25%;
}
#introbox {
  padding: 30px 0px;
}
#introbox h1 b, #introbox h1 strong {
  font-weight: 800;
}
#introbox.bigintrobox {
  background-image: url("/MEDIEN/layout/grey_introbox.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  color: white;
}
#introbox.bigintrobox h1 {
  color: white;
  font-size: 100px;
  text-transform: uppercase;
  font-weight: 800;
  line-height: 1;
  margin: 0px;
}
#introbox .container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#introbox .container > * {
  width: 50%;
  box-sizing: border-box;
  padding: 20px;
}
#introbox .container .left {
  text-align: right;
}
#introbox .container .right {
  text-align: left;
}
#introbox .container .right .text {
  max-width: 400px;
}
#pre_footer .container {
  position: relative;
  padding: 25vh 5vw;
}
#pre_footer .text {
  position: relative;
  z-index: 1;
  color: white;
  font-weight: 800;
  font-size: 100px;
  text-align: center;
  width: 100%;
}
#pre_footer .text small {
  font-weight: 500;
  font-family: "Barlow Condensed";
  font-size: 38px;
}
#pre_footer .image {
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.projectPage #pre_footer .text {
  font-family: "Barlow Condensed";
  font-weight: 700;
  text-align: right;
  width: 50%;
  line-height: 1;
}
.blocktext {
  margin-bottom: 100px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
.blocktext.nomargin {
  margin-bottom: 0px;
  padding: 50px 0px;
}
.blocktext .h1 {
  text-transform: none;
  display: inline-block;
}
.blocktext .h1 b, .blocktext .h1 strong, .blocktext .head strong .h1 {
  font-weight: 700 !important;
}
.blocktext .head {
  font-size: 24px;
  line-height: 1.1;
}
.blocktext .container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  min-height: 50vh;
}
.blocktext .container > * {
  width: 50%;
  box-sizing: border-box;
  padding: 20px;
}
.blocktext .container .left {
  text-align: right;
}
.blocktext .container .right {
  text-align: left;
}
.blocktext .container.reverse {
  flex-direction: row-reverse;
}
.blocktext .container.reverse .left {
  text-align: left;
}
.blocktext .container.reverse .right {
  text-align: right;
}
.blocktext .accordeon {
  background-color: transparent !important;
  border-bottom: 1px solid white;
  color: white;
}
.blocktext .accordeon:first-child {
  border-top: 1px solid white;
}
.blocktext .accordeon .head {
  color: white;
}
.blocktext .accordeon .text {
  color: white;
}
.img_text .container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.img_text .container > * {
  width: 50%;
  box-sizing: border-box;
  padding: 20px;
}
.img_text .container .left {
  text-align: right;
}
.img_text .container .right {
  text-align: left;
}
.joblist {
  padding: 100px 0px;
  background-image: url("/MEDIEN/layout/offene_Stellen.jpg");
  background-size: cover;
}
.joblist .h1 {
  font-size: 100px;
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  mix-blend-mode: multiply;
}
.joblist .container {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.joblist .container > * {
  width: 50%;
  box-sizing: border-box;
  padding: 20px;
}
.joblist .container .left {
  text-align: right;
}
.joblist .container .right {
  text-align: left;
}
.joblist .joblist_container {
  border-top: 1px solid #009fe3;
}
.joblist .joblist_container .text b, .joblist .joblist_container .text strong {
  color: #009fe3;
}
.joblist .joblist_container .accordeon {
  background-color: transparent !important;
  border-bottom: 1px solid #009fe3;
}
.joblist .joblist_container .accordeon .head {
  display: block;
  font-size: 24px;
  margin: 0px 0px 10px 0px;
  font-weight: 600;
  color: #009fe3 !important;
}
.joblist .joblist_container .accordeon .head p {
  margin: 0px;
  display: inline;
}
.joblist .joblist_container .accordeon .head span {
  font-size: 70%;
  display: inline-block;
  margin-left: 15px;
}
.joblist .joblist_container .accordeon.active .text {
  padding-bottom: 50px !important;
}
#additional_text {
  position: relative;
  color: white;
}
#additional_text .text {
  padding: 75px 0px;
  padding-left: 20%;
  text-align: left;
}
#additional_text .text:empty {
  display: none;
}
.quote {
  margin: 70px auto;
  max-width: 650px;
}
.quote .container {
  position: relative;
  margin: auto;
  text-align: center;
}
.quote .container:before, .quote .container:after {
  content: "";
  display: block;
  height: 1px;
  width: 60%;
  margin: auto;
  position: relative;
  background-color: #4b4b4b;
}
.quote .text {
  font-family: "Georgia";
  padding: 10px 0px;
  font-size: 24px;
  font-weight: 400;
  font-style: italic;
}
.slidersection {
  background-image: url("/MEDIEN/layout/Magenta02.jpg");
}
.slidersection .slidercontainer .item {
  text-align: center;
  padding: 50px 0px;
}
.slidersection .slidercontainer .item .image_rounded {
  display: inline-block;
  position: relative;
  width: 400px;
  height: 400px;
  max-width: 75%;
  overflow: hidden;
  border-radius: 50%;
}
.slidersection .slidercontainer .item .image_rounded img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slidersection .slidercontainer .item .quotetext {
  display: block;
  text-align: center;
  padding: 25px 0px;
  color: white;
  font-family: "Georgia";
  font-size: 24px;
  font-weight: 400;
  margin: 0px;
  font-style: italic;
}
.slidersection .slidercontainer .item .subline {
  color: white;
}
/* Leistungen */
.template_28 #content {
  background-color: #CCEFFF;
}
/* Veredelungen */
.template_4.darkTheme h1 {
  color: white;
  text-transform: none;
}
.doc_119 #introbox .container .right .text, .frontpage #introbox .container .right .text {
  max-width: 100%;
}
.scrolldown {
  position: absolute;
  bottom: 10px;
  left: 50%;
  color: white;
  transform: translateX(-50%);
  font-size: 30px;
}
#karriere_keyvisual_text {
  position: absolute;
  top: 50%;
  right: 50%;
  color: white;
  text-align: right;
}
#karriere_keyvisual_text span {
  font-size: 40px;
  line-height: 1;
}
#karriere_keyvisual_text span.big {
  font-size: 110px;
}
#karriere_keyvisual_text span.big b, #karriere_keyvisual_text span.big strong {
  font-weight: 800;
}
#karriere_keyvisual_text #jobstrigger {
  position: relative;
  bottom: auto;
  right: auto;
  top: auto;
  margin-top: 10px;
}
#start_videotiles .linkbox {
  background-color: white;
  position: absolute;
  padding: 15px;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
#start_videotiles .linkbox .text {
  font-size: 16px;
}
#cookiehint {
  display: none;
  position: fixed;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
  bottom: 10px;
  width: 750px;
  max-width: calc(100% - 30px);
  background-color: white;
  border-radius: 3px;
  border: 1px solid grey;
  padding: 35px;
  box-sizing: border-box;
}
#cookiehint .text {
  font-size: 94%;
}
#cookiehint a.readmore {
  color: #009fe3;
  text-decoration: underline;
}
#cookiehint .checkboxes {
  margin-top: 10px;
}
#cookiehint .checkboxes .item {
  padding: 10px;
  background-color: #f8f8f8;
  border-radius: 3px;
  margin-bottom: 5px;
  display: flex;
  gap: 10px;
  align-content: center;
  align-items: center;
}
#cookiehint .checkboxes label {
  font-weight: bold;
  display: block;
  margin-bottom: 3px;
}
#cookiehint .checkboxes .desc {
  font-size: 90%;
}
#cookiehint .buttons {
  margin-top: 15px;
}
#cookiehint .button {
  margin: 0px 10px 0px 0px;
  border-radius: 3px;
  color: inherit;
}
#cookiehint .cookie_deny {
  background-color: white;
  border: 1px solid grey;
  color: grey;
}
#cookiehint .cookie_save {
  background-color: white;
  border: 1px solid grey;
  color: grey;
}
#cookiehint .cookie_acceptAll {
  color: white;
}
.section_grid2_textimg {
  position: relative;
  padding: 100px 0px;
}
.section_grid2_textimg .container {
  display: flex;
  flex-wrap: nowrap;
}
.section_grid2_textimg .container > * {
  width: 50%;
}
.section_grid2_textimg .container > * .image {
  line-height: 0;
}
.section_grid2_textimg .container > * img {
  display: inline-block;
  line-height: 1;
}
.section_grid2_textimg .container .left {
  text-align: right;
}
.section_grid2_textimg .container .right {
  text-align: left;
}
.section_grid2_textimg .container .textcontainer {
  display: inline-block;
  padding: 0px 15px;
}
.section_grid2_textimg .container .textcontainer .text b, .section_grid2_textimg .container .textcontainer strong {
  font-weight: 700;
}
.section_grid2_textimg .container .textcontainer.bottom {
  padding-top: 40px;
  max-width: 350px;
}
