/*
Spattenhuber Template
creation Date: 2023-12-22
Author: Sebastian Osinski
http://www.sebbi.net
https://ddm-friends.de
*/

body, html{
	font-family: 'Roboto-Light', sans-serif;
	width: 100%;
	margin: 0px;
	font-size: 20px;
	overflow-x: hidden;
}
textarea, input{
	font-family: 'Roboto-Regular', sans-serif;
}
*{
	margin: 0px;
	padding: 0px;
}
.bold, b, strong,
#footer-wrapper{
	font-weight: normal;
	font-family: 'Roboto-Bold', sans-serif;
}
h1, h2, h3, h4, h5, h6, .home_featureflex_titlewrap span{
	font-family: 'LeagueGothic-Regular-VariableFont_wdth', sans-serif;
}
.regular{
	font-family: 'Roboto-Regular', sans-serif;
}
.thin{
	font-family: 'Roboto-Thin', sans-serif;
}
img{
	border: none;
}
a{
	color: inherit;
	text-decoration: none;
}
.contstyles a:hover{
	text-decoration: underline;
}
a.anchorlink{
	line-height: 0px;
	height: 0px;
	font-size: 0px;
}
table{
	width: 100%;
	table-layout: fixed;
}
td{
	vertical-align: top;
	position: relative;
}
h1,
h2.title{
	font-size: 160px;
	line-height: 180px;
	letter-spacing: 10px;
	text-transform: uppercase;
}
.cm-header h1{
	font-size: 22px;
	line-height: 40px;
}
h2,
.home_featureflex_titlewrap span,
h1.smallTitle{
	font-size: 90px;
	line-height: 100px;
	text-transform: uppercase;
	letter-spacing: 2px;
}
h3{
	font-size: 42px;
	line-height: 58px;
	text-transform: uppercase;
}
h4{
	font-size: 40px;
	text-transform: uppercase;
}
h5{
	font-size: 40px;
	text-transform: uppercase;
}
h6{
	font-size: 22px;
	text-transform: uppercase;
}
p,
.contstyles li{
	margin-top: 15px;
	margin-bottom: 15px;
	line-height: 30px;
	position: relative;
}
.contstyles p{
	margin-top: 15px;
	margin-bottom: 15px;
}
.contstyles ul,
.contstyles ol{
	margin-left: 25px;
}
p.nomarg-top{
	margin-top: 0px;
}
p.nomarg{
	margin-top: 0px;
	margin-bottom: 0px;
}
.hidden{
	visibility: hidden;
}
.visible{
	visibility: visible;
}
.center{
	text-align: center;
}
.left{
	text-align: left;
}
.right{
	text-align: right;
}
.uppercase{
	text-transform: uppercase;
}
.lowercase{
	text-transform: lowercase;
}
.underline{
	text-decoration: underline;
}
.underline_links a,
.underline_onHover a:hover{
	text-decoration: underline;
}
.nounderline,
.nounderline *:hover{
	text-decoration: none !important;
}
.inline{
	display: inline;
}
.relative{
	position: relative;
}
.font_l,
.font_l p,
.font_l .contstyles li{
	font-size: 22px;
	line-height: 30px;
}
.fields-container{
	display: none;
}
span.smaller,
p.smaller,
.smaller li{
	font-size: 14px;
}
p.smaller,
.smaller li{
	line-height: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
}
.nooverflow{
	overflow: hidden;
}
.overflowVisible{
	overflow: visible;
}

.marged_h h1,
.marged_h h2,
.marged_h h3,
.marged_h h4,
.marged_h h5{
	margin-bottom: 30px;
}

.center_h h1,
.center_h h2,
.center_h h3,
.center_h h4{
	text-align: center;
}



/* GLOBALS */
.main-container,
#search-results{
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	position: relative;
}
.main-container.wide{
	max-width: 1600px;
}
.main-container.narrow{
	max-width: 1180px;
}
.main-container.narrow2{
	max-width: 900px;
}
.main-container.fullHeight{
	height: 100%;
}
.main-container.fullheight{
	display: block;
	height: 100%;
}
.widepad,
.cont-block .main-container.widepad,
#content-wrapper.hasContent{
	padding-top: 110px;
	padding-bottom: 110px;
}
.widepad_top,
.cont-block .main-container.widepad_top{
	padding-top: 110px;
}
.widepad_bot,
.cont-block .main-container.widepad_bot{
	padding-bottom: 110px;
}
.regpad,
.cont-block .main-container.regpad{
	padding-top: 60px;
	padding-bottom: 60px;
}
.regpad_top,
.cont-block .main-container.regpad_top{
	padding-top: 60px;
}
.regpad_bot,
.cont-block .main-container.regpad_bot{
	padding-bottom: 60px;
}
.lowpad{
	padding-top: 30px;
	padding-bottom: 30px;
}
.lowpad_bot{
	padding-bottom: 30px;
}
.lowpad_top{
	padding-top: 50px;
}
.widemarg{
	margin-top: 110px;
	margin-bottom: 110px;
}
.widemarg_top{
	margin-top: 110px;
}
.widemarg_bot{
	margin-bottom: 110px;
}
.cont-block{
	position: relative;
	display: block;
	width: 100%;
}
.fixedh_1{
	height: 720px;
}
.nooverflow{
	overflow: hidden;
}
.withOverflow{
	overflow: visible;
}

.page-header{
	display: none;
}

/* INDEXES */
#top_menu, 
#stoerer{
	z-index: 11;
}
#header_logo{
	z-index: 10;
}
.intro_grafik_block{
	z-index: 6;
}
.zindex5,
.cont-block.zindex5{
	z-index: 5;
}
.zindex4,
.cont-block.zindex4{
	z-index: 4;
}
.zindex3,
.cont-block.zindex3{
	z-index: 3;
}
.zindex2,
.cont-block.zindex2{
	z-index: 2;
}
.cont-block{
	z-index: 1;
}
.zeroindex{
	z-index: 0;
}



/* transitions */
img.fullsize{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
a{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;	
}
.animated_children, .animated_children *{
	-webkit-transition: all 200ms linear;
	-moz-transition: all 200ms linear;
	-ms-transition: all 200ms linear;
	-o-transition: all 200ms linear;
	transition: all 200ms linear;	
}

/* CONTENT */
#content-wrapper{
	overflow: visible;
}


/* CONTENT SPECIFIC */
.block{
	display: block;
	position: relative;
}
.contentspacer{
	display: block;
	position: relative;
	width: 100%;
	height: 90px;
}
.linespacer{
	display: block;
	height: 1px;
	width: 100%;
	margin-top: 0px;
	margin-bottom: 0px;
}
.linespacer.marged{
	margin-top: 40px;
	margin-bottom: 40px;
}
.overlay_mask{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
}

.section_bg{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 0;
	width: 100%;
	height: auto;
}

#top_spacer{
	display: block;
	position: relative;
	height: 0px;
}

.flexwrap{
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
}
.cont_pad{
	padding-top: 40px;
	padding-left: 40px;
	padding-right: 40px;
	padding-bottom: 40px;
	z-index: 1;
	position: relative;
}

.flexbox{
	position: relative;
}
.flexbox._s10{
	width: 10%;
}
.flexbox._s20{
	width: 20%;
}
.flexbox._s25{
	width: 25%;
}
.flexbox._s30{
	width: 30%;
}
.flexbox._s35{
	width: 35%;
}
.flexbox._s40{
	width: 40%;
}
.flexbox._s45{
	width: 45%;
}
.flexbox._s48{
	width: 48%;
}
.flexbox._half{
	width: 49%;
}
.flexbox._s50{
	width: 50%;
}
.flexbox._s55{
	width: 55%;
}
.flexbox._s60{
	width: 60%;
}
.flexbox._s65{
	width: 65%;
}
.flexbox._s69{
	width: 69%;
}
.flexbox._s70{
	width: 70%;
}
.flexbox._s80{
	width: 80%;
}
.flexbox._s90{
	width: 90%;
}
.flexbox._full{
	width: 100%;
}


.contentbutton{
	position: relative;
	display: inline-block;
	z-index: 1;
	border: none;
	border-radius: 0px;
	padding: 0px;
	font-size: 18px;
	text-transform: uppercase;
	font-weight: bold;
	width: 95px;
	height: 45px;
	margin-top: 20px;
	margin-bottom: 20px;
	margin-left: 0px;
	text-align: center;
}
.contentbutton.wide1{
	width: 280px;
}
.contentbutton.abs{
	position: absolute;
}
.contentbutton a,
.contentbutton div.absmid{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	z-index: 1;
}
.contentbutton a span,
.contentbutton div.absmid span{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
}
.contentbutton:hover a{
	text-decoration: none;
}
.contentbutton:hover{
  -webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
	-moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
	box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
}


/* CONTENT LIGHTBOX */
#content_lightbox{
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 0px;
	background-color: rgba(0,0,0,0.6);
	overflow: hidden;
	opacity: 0;
}
#content_lightbox.active{
	height: 100%;
	opacity: 1;
}
#content_lightbox_contentwrap{
	position: absolute;
	width: 740px;
	max-width: 95%;
	height: auto;
	max-height: 90%;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box;
	padding: 110px;
	padding-top: 80px;
	padding-bottom: 80px;
	overflow-y: scroll;
}
#content_lightbox_close{
	position: absolute;
	height: 35px;
	top: 20px;
	right: 20px;
	cursor: pointer;
	transform: rotate(-45deg);
}
#content_lightbox_close:hover{
	filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.4));
}


/* SPECIFICS */
.negmarg_bottom_block{
	margin-bottom: -160px;
	padding-bottom: 280px;
}
.background_elements{
	position: absolute;
	z-index: -1;
	pointer-events: none;
}
.background_elements._v1{
	width: 20%;
	top: -5%;
	left: -5%;
}
.background_elements._v2{
	width: 40%;
	right: -5%;
	top: -5%;
}
.background_elements._v3{
	width: 100%;
	max-width: 840px;
	bottom: -160px;
	left: 50%;
	transform: translateX(-50%);
}
.background_elements._v4{
	width: 100%;
	bottom: -160px;
	left: 50%;
	transform: translateX(-50%);
}
.background_elements._v5{
	width: 1400px;
	top: -460px;
	left: 0%;
}
.background_elements._v6{
	width: 600px;
	bottom: -100px;
	left: 5%;
}
.background_elements._v7{
	width: 600px;
	bottom: -300px;
	right: -500px;
}
.background_elements._timeline_arrow{
	top: -300px;
	left: -50%;
	width: 100%;
}
.background_elements._v8{
	width: 250px;
	left: -60px;
	top: -20%;
}
.background_elements._v_produktuebersicht_1{
	right: -50px;
	width: 490px;
	top: 5%;
}
.background_elements._v_produktuebersicht_2{
	left: -50px;
	width: 490px;
	bottom: 25%;
}
.background_elements._v_anfrage{
	width: 700px;
	bottom: -200px;
	left: -30px;
}

.intro_slider{
	overflow: hidden;
	height: 980px;
	display: block;
}
.intro_slider_txt{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.scrollindicator_icon{
	position: absolute;
	height: 90px;
	top: -45px;
	left: 50%;
	transform: translateX(-50%);
}
.scrollindicator_icon:hover{
	filter: drop-shadow(0px 0px 2px rgb(225 8 35 / 0.8));
}

.section_fit{
	display: block;
	position: relative;
	width: 100%;
	max-width: 840px;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}
.section_fit._v_small,
.section_fit._v_small2{
	max-width: 500px;
}

.home_featureflex{
	width: 25%;
	height: 500px;
}
.home_featureflex._var_halfsize{
	overflow: hidden;
	width: 50%;
}
.home_featureflex_imgwrap{
	display: block;
	position: relative;
	width: 100%;
	height: 265px;
}
.home_featureflex_img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 60%;
	max-height: 60%;
}
.home_featureflex_titlewrap{
	position: absolute;
	width: 80%;
	left: 10%;
	bottom: 60px;
}
.home_featureflex_titlewrap h2,
.home_featureflex_titlewrap span{
	font-size: 70px;
	line-height: 75px;
	margin: 0px;
	padding: 0px;
}
.home_featureflex_titlewrap p.h2_sub{
	font-size: 36px;
	line-height: 40px;
	text-transform: uppercase;
	margin: 0px;
	padding: 0px;
	font-family: 'LeagueGothic-Regular-VariableFont_wdth', sans-serif;
}
.home_featureflex_linkoverlay{
  position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 2;
}
.home_featureflex .contentbutton{
	position: absolute;
	left: 10%;
	bottom: 0px;
	margin: 0px;
	height: 10px;
}
.home_featureflex:hover .contentbutton{
	height: 45px;
}
.home_featureflex .contentbutton a,
.home_featureflex .contentbutton .absmid{
	opacity: 0;
}
.home_featureflex:hover .contentbutton a,
.home_featureflex:hover .contentbutton .absmid{
	opacity: 1;
}
.home_featureflex .imageshadow_onhover{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	pointer-events: none;
	background-color: rgba(0,0,0,0.0);
}
.home_featureflex:hover .imageshadow_onhover{
	background-color: rgba(0,0,0,0.1);
}

.intro_grafik_block{
	height: 300px;
	overflow: visible;
}
.intro_grafik_img{
	position: absolute;
	bottom: 60px;
	left: 0%;
	width: 110%;
}

.timeline_wrapper{
	margin-top: 100px;
	margin-bottom: 160px;
}
.timeline_flexbox{
	width: 40%;
	margin-bottom: 60px;
}

.lager_img{
	display: block;
	position: relative;
	width: 100%;
}

.serviceLinkListe_wrapper{
	display: block;
	position: relative;
	width: 100%;
	height: auto;
	overflow: hidden;
	white-space: nowrap;
	margin-top: 60px;
	margin-bottom: 60px;
}
.serviceLinkListe_block{
	position: relative;
	display: inline-block;
	width: 400px;
	margin-right: 10px;
}
.serviceLinkListe_linkoverlay{
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.serviceLinkListe_block:hover .serviceLinkListe_imgwrap{
	-webkit-box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
	-moz-box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
	box-shadow: 0px 0px 2px 0px rgba(0,0,0, 0.4);
	background-color: #d9d9d9;
}
.serviceLinkListe_imgwrap{
	display: block;
	position: relative;
	width: 100%;
	height: 370px;
}
.serviceLinkListe_imgwrap img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 70%;
	max-height: 70%;
}
.serviceLinkListe_block:hover .serviceLinkListe_button,
.serviceLinkListe_block.current .serviceLinkListe_button{
	background-color: white;
}
.serviceLinkListe_button{
	position: relative;
	display: block;
	line-height: 45px;
	width: 160px;
	box-sizing: boder-box;
	padding-left: 15px;
	padding-right: 15px;
	margin-top: -22.5px;
	text-align: center;
}
.serviceLinkListe_button span{
	font-family: 'LeagueGothic-Regular-VariableFont_wdth', sans-serif;
	text-transform: uppercase;
}
.serviceLinkListe_button img{
	display: inline-block;
	vertical-align: middle;
	height: 10px;
	margin-left: 10px;
}
.serviceLinkListe_nav{
	z-index: 4;
	position: absolute;
	width: 30px;
	top: 50%;
	margin-top: -15px;
	cursor: pointer;
}
.serviceLinkListe_nav:hover{
	filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.6));
}
.serviceLinkListe_nav._l{
	left: -15px;
}
.serviceLinkListe_nav._r{
	right: -15px;
}


.productdetails_flexbox{
	width: 47%;
}
.productdetails_produktimage{
	display: block;
	width: 100%;
	max-width: 570px;
	margin-left: auto;
	margin-right: auto;
}
.productdetails_beschreibung{
	font-size: 17px;
}

.produktdetails_downloads_wrapper{
	margin-top: 30px;
}
.produktdetails_downloads_download{
	display: block;
	position: relative;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #3a3a3a;
}
.produktdetails_downloads_download:hover{
	background-color: #e10823;
}
.produktdetails_downloads_download:first-child{
	border-top: 1px solid #3a3a3a;
}
.produktdetails_download_txt{
	text-transform: uppercase;
	font-size: 24px;
	font-weight: bold;
	padding-left: 20px;
	max-width: 80%;
	color: #e10823;
	font-family: 'LeagueGothic-Regular-VariableFont_wdth', sans-serif;
	text-align: left;
}
.produktdetails_downloads_download:hover .produktdetails_download_txt{
	color: white;
}
.produktdetails_download_linkoverlay{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	z-index: 2;
}
.produktdetails_download_img{
	position: absolute;
	top: 50%;
	right: 3%;
	height: 30px;
	transform: translateY(-50%);
}


.linkwrapper_360{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.linkwrapper_360_link{
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.linkwrapper_360:hover .linkwrapper_360_link{
	background-color: rgba(0,0,0,0.5);
}
.linkwrapper_360_playtext{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	color: white;
	pointer-events: none;
	font-weight: bold;
	font-size: 28px;
	opacity: 0;
}
.linkwrapper_360:hover .linkwrapper_360_playtext{
	opacity: 1;
}

.floaticon_overlayholder{
	display: block;
	position: relative;
	width: 100%;
	height: 5px;
	overflow: visible;
}
.floaticon_icon{
	position: absolute;
	right: -110px;
	bottom: -80px;
	height: 230px;
}

#stoerer{
	position: fixed;
	bottom: 10%;
	right: 40px;
	width: 200px;
}
#stoerer.smaller{
	width: 160px;
	right: 20px;
}
#stoerer img{
	display: block;
	position: relative;
	width: 100%;
}
#stoerer img._white,
#stoerer._alt img._red{
	display: none;
}
#stoerer._alt img._white{
	display: block;
}