.bg_dark-grey {
	background: #333;
	color: #f4f4f4;
}
.bg_dark-grey a{
	color: #f4f4f4;
}
.bg_dark-grey a:hover{
	color:#fac823;
	text-decoration:none;
}

.col1 {
	width: calc(100% / 23 * 1)
}
.col2 {
	width: calc(100% / 23 * 2)
}
.col3 {
	width: calc(100% / 23 * 3)
}
.col4 {
	width: calc(100% / 23 * 4)
}
.col5 {
	width: calc(100% / 23 * 5)
}
.col6 {
	width: calc(100% / 23 * 6)
}
.col7 {
	width: calc(100% / 23 * 7)
}
.col8 {
	width: calc(100% / 23 * 8)
}
.col9 {
	width: calc(100% / 23 * 9)
}
.col10 {
	width: calc(100% / 23 * 10)
}
.col11 {
	width: calc(100% / 23 * 11)
}
.col12 {
	width: calc(100% / 23 * 12)
}
.col13 {
	width: calc(100% / 23 * 13)
}
.col14 {
	width: calc(100% / 23 * 14)
}
.col15 {
	width: calc(100% / 23 * 15)
}
.col16 {
	width: calc(100% / 23 * 16)
}
.col17 {
	width: calc(100% / 23 * 17)
}
.col18 {
	width: calc(100% / 23 * 18)
}
.col19 {
	width: calc(100% / 23 * 19)
}
.col20 {
	width: calc(100% / 23 * 20)
}
.col21 {
	width: calc(100% / 23 * 21)
}
.col22 {
	width: calc(100% / 23 * 22)
}
.full {
	width: 100%
}
.margin-col1 {
	margin-left: calc(100% / 23 * 1)
}
.margin-col2 {
	margin-left: calc(100% / 23 * 2)
}
.margin-col3 {
	margin-left: calc(100% / 23 * 3)
}
.margin-col4 {
	margin-left: calc(100% / 23 * 4)
}
.margin-col5 {
	margin-left: calc(100% / 23 * 5)
}
.margin-col6 {
	margin-left: calc(100% / 23 * 6)
}
.margin-col7 {
	margin-left: calc(100% / 23 * 7)
}
.margin-col8 {
	margin-left: calc(100% / 23 * 8)
}
.margin-col9 {
	margin-left: calc(100% / 23 * 9)
}
.margin-col10 {
	margin-left: calc(100% / 23 * 10)
}
.margin-col11 {
	margin-left: calc(100% / 23 * 11)
}
.margin-col12 {
	margin-left: calc(100% / 23 * 12)
}
.margin-col13 {
	margin-left: calc(100% / 23 * 13)
}
.margin-col14 {
	margin-left: calc(100% / 23 * 14)
}
.margin-col15 {
	margin-left: calc(100% / 23 * 15)
}
.margin-col16 {
	margin-left: calc(100% / 23 * 16)
}
.margin-col17 {
	margin-left: calc(100% / 23 * 17)
}
.margin-col18 {
	margin-left: calc(100% / 23 * 18)
}
.margin-col19 {
	margin-left: calc(100% / 23 * 19)
}
.margin-col20 {
	margin-left: calc(100% / 23 * 20)
}
.margin-col21 {
	margin-left: calc(100% / 23 * 21)
}
.margin-col22 {
	margin-left: calc(100% / 23 * 22)
}
.margin-col23 {
	margin-left: calc(100% / 23 * 23)
}
.testimonial_boxes [class*="margin-col"]:first-child, .tab_container [class*="margin-col"]:first-child, .sonderlösung_boxes-container [class*="margin-col"]:first-child, .technologien_container [class*="margin-col"]:first-child, .materialien_container [class*="margin-col"]:first-child, .images_container [class*="margin-col"]:first-child, .modul_box-galerie [class*="margin-col"]:first-child, .multi-modul_box [class*="margin-col"]:first-child, .description_box [class*="margin-col"]:first-child, .standort_boxes-container [class*="margin-col"]:first-child {
	margin-left: 0
}
.margin_bottom {
	margin-bottom: 2.5em
}
.margin_bottom:last-child {
	margin-bottom: 0
}
.margin_top {
	margin-top: 1em
}
.border_bottom {
	border-bottom: 7px solid
}
.boxshadow {
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.1)
}
.jw_no-touchevents .boxshadow:hover {
	-webkit-box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
	box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
	-webkit-transform: translateY(-0.1em);
	-moz-transform: translateY(-0.1em);
	-ms-transform: translateY(-0.1em);
	transform: translateY(-0.1em)
}
.flexcontainer {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	position: relative;
	max-width: 1640px;
    margin: 0 auto;
}
.idx_news_title{
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
    width: 200px;
}
.idx_news_title h3{
	font-size:36px;
}
.idx_news_title h3 span{
	display:block;
	font-size:18px;
}
.slider_nav {
	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}
.flexdirection_column {
	flex-direction: column
}
.justify_flex-end {
	justify-content: flex-end
}
.justify_center {
	justify-content: center
}
.flexflow_column {
	-webkit-flex-flow: column wrap;
	flex-flow: column wrap
}
.flexflow_row {
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap
}
.alignself_flex-end {
	align-self: flex-end
}
.alignself_center {
	align-self: center
}
.alignitems_stretch {
	align-items: stretch
}
.flex_stretch {
	align-items: stretch
}

.col11 .modul_box-galerie .row4_break:nth-child(4n+5) {
	margin-left: inherit
}
.col11 .modul_box-galerie .row4_break:nth-child(2n+3) {
	margin-left: 0
}
.col11 .modul_box-galerie .col5 {
	width: calc(100% / 23 * 11)
}
#header {
	position: absolute;
	z-index: 10000;
	-webkit-box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.0);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.0);
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.0);
	-webkit-transition: background cubic-bezier(0.165, 0.84, 0.44, 1);
	-moz-transition: background cubic-bezier(0.165, 0.84, 0.44, 1);
	-o-transition: background cubic-bezier(0.165, 0.84, 0.44, 1);
	transition: background cubic-bezier(0.165, 0.84, 0.44, 1)
}

#tooltip {
	position: absolute;
	background: rgba(78, 86, 89, 0.95);
	padding: .5em 1em;
	color: #fff;
	display: none;
	font-size: 0.75em;
	line-height: 1.5em;
	font-weight: bold;
	letter-spacing: 1;
	z-index: 9998;
	text-transform: uppercase;
	max-width: 300px
}
#image_tooltip {
	position: absolute;
	display: none;
	z-index: 9998;
	width: 250px;
	height: auto;
	background: white;
	padding: 10px
}
#image_tooltip img{
	width:100%;
	height:auto;
}
.slider_pagination {
	line-height: 2rem
}
.modul_box-slider {
	position: relative
}
.modul_box-slider .slider_nav {
	position: absolute;
	left: 5%;
	bottom: -2rem
}
.modul_box-slider .slick-dots {
	bottom: 1rem;
	width: 100%
}
#event_slider {
	padding: 1.5em;
}
.event_slide {
	border-left: 4px solid #fc0;
	padding: 0 1em 0 1em;
	width: calc(100% / 3)
}
.event_slide h4 {
	margin-bottom: 6px;
    font-size: 21px;
    font-weight: bold;
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
}
.event_slide p {
	font-size: 16px;
	margin-bottom:6px;
	overflow:hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
}
.event_slide span {
	font-size:12px;
	border: 1px solid #ccc;
    display: inline-block;
    padding: 2px 8px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
.ie .slide_text {
	width: 100%
}
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
	z-index: 0
}
.slick-list:focus {
	outline: none
}
.slick-list.dragging {
	cursor: hand
}
.slick-slider .slick-track, .slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0)
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto
}
.slick-track:before, .slick-track:after {
	display: table;
	content: ''
}
.slick-track:after {
	clear: both
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px
}
[dir='rtl'] .slick-slide {
	float: right
}
.slick-slide.dragging img {
	pointer-events: none
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent
}
.slick-loading .slick-track, .slick-loading .slick-slide {
	visibility: hidden
}
.slick-slide img, .slick-initialized .slick-slide {
	display: block
}
.slick-slide.slick-loading img, .slick-arrow.slick-hidden {
	display: none
}
.slick-loading .slick-list {
	background: #fff center center no-repeat
}
.slick-prev, .slick-next {
	z-index: 1000;
	font-size: 0;
	line-height: 0;
	position: absolute;
	top: 50%;
	display: block;
	width: 20px;
	height: 20px;
	-webkit-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	transform: translate(0, -50%);
	cursor: pointer;
	color: transparent;
	border: none;
	outline: none;
	background: transparent;
	padding: 0
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	color: transparent;
	outline: none;
	background: transparent
}
.slick-prev.slick-disabled::before, .slick-next.slick-disabled::before {
	opacity: .25
}
.slick-prev::before, .slick-next::before {
	font-family: "ngr" !important;
	font-style: normal !important;
	font-weight: normal !important;
	font-variant: normal !important;
	text-transform: none !important;
	speak: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale
}
.slick-prev {
	left: -25px
}
[dir='rtl'] .slick-prev {
	right: -25px;
	left: auto
}
.slick-next {
	right: -25px
}
[dir='rtl'] .slick-next {
	right: auto;
	left: -25px
}
.slick-dots {
	position: absolute;
	bottom: 5rem;
	display: block;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	transform: translateX(-50%);
	list-style: none;
	text-align: center;
	margin: 0;
	padding: 0
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 20px;
	cursor: pointer;
	margin: 0 5px;
	padding: 0
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 40px;
	height: 20px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
	padding: 5px
}
.slick-dots li button:hover, .slick-dots li button:focus {
	outline: none
}
.slick-dots li button::before {
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 7px;
	content: '';
	text-align: center;
	background-color: #fff
}
.slick-dots li.slick-active button::before {
	background-color: #fac823
}
.slick-dots li.slick-active button:hover::before {
	background-color: #fac823;
	pointer-events: none;
	cursor: default
}
.slick-dots li button:hover::before {
	background-color: #4e5659
}
.slick-prev:hover::before, .slick-prev:focus::before, .slick-next:hover::before, .slick-next:focus::before, .slick-dots li button:hover::before, .slick-dots li button:focus::before {
	opacity: 1
}
.slick-prev::before, [dir='rtl'] .slick-next::before {
	content: '\e012'
}
[dir='rtl'] .slick-prev::before, .slick-next::before {
	content: '\e011'
}
.fancybox-share p {
	margin: 0;
	padding: 0
}
.fa-angle-left{
	margin-right:1px;
}
.fa-angle-right:before {
    display: inline-block;
    cursor: pointer;
    padding: 0px 12px;
    font-size: 24px;
    background: #fff;
    color: #333;
	-webkit-border-top-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-radius-topright: 5px;
	-moz-border-radius-bottomright: 5px;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
.fa-angle-left:before {
    display: inline-block;
    cursor: pointer;
    padding: 0px 12px;
    font-size: 24px;
    background: #fff;
    color: #333;
	-webkit-border-top-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-radius-topleft: 5px;
	-moz-border-radius-bottomleft: 5px;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

@media screen and (max-width: 991px){
#event_slider {
    padding: 1em;
}
}