/* Brower Stylesheet initialisieren */

* {
	margin: 0;
	padding: 0;
	outline: none;
	box-sizing: border-box;
}

th {
	font-weight: normal;			
}

/* --------------------------------- */


body {
	background: white;
	color: #2a2a2a;
	-webkit-font-smoothing: antialiased;	
	font-family: Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 130%;
	text-rendering: optimizeLegibility;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	#height: auto !important;
	#height: 100%;
	height: 100vh;		/* needed for IE */
}

.silbentrennung {
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.titleBoxText.silbentrennung {
	-ms-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none;
}

.clickable:hover {				/* creates pointer curser for links w/o href */
	cursor: pointer;
}

.hidden {					/* hides element */
	display: none;
}

header {	
	background-color: #dae5eb; 
	#color: #2a2a2a;
	flex: none;
	z-index: 200;
}


header.fixed {
	position: fixed;
	left: 0;
	right: 0;
}


#headerWrapper {
	background-color: rgba(255,255,255,0);
	max-width: 60rem;
	height: 6.5rem;
    	margin: 0 auto;
    	padding: 0 0.6rem 1.6rem 0.6rem;			/* Randabstand des Inhaltes */
	text-align: left;
	font-size: 0.9rem;
	position: relative;
	display: flex;
}

#logo {
	display: inline-block;
	background-color: white;
	font-size: 0;
    	padding: 0.8rem 1rem;
	height: max-content;
	#min-width: 40%;
	#max-width: 250px;
	flex: 0 1 45%;
}

#logo img {
	margin: 0;
	width: 100%;

	#height: auto;
	vertical-align: bottom;
}

#langdisplay {
	display: inline-block;
	position: absolute;
	height: 2.2rem;
	right: 5rem;
	margin: 3% 0;	 	/* an Logohöhe anpassen */
	padding: 0.15rem 0;
}

.langCaret {
	border-bottom: .4em solid transparent;
	border-top: .4em solid transparent;
	border-right: .4em solid transparent;
	border-left: .4em solid #2a2a2a;
	#border-left: .4em solid #4b5055;
	border-radius: 1px;
	content: "";
	display: inline-block;
	margin: 0 0.1rem;
	transition: 250ms all ease;
}

#langdisplay > a {
	#color: #4b5055;
	text-transform: uppercase;
	font-weight: 500;
	transition: 250ms all ease;
	white-space: nowrap;
        text-decoration: none;
}

#langdisplay:hover > a{
        color: #0076af;
}

#langdisplay:hover .langCaret {
	border-left: .4em solid #0076af;
}



#langmenu {
	display: none;
	position: absolute;
	background-color: #edeff1;
        border-radius: 0px;
        box-shadow: 2px 2px 4px -1px rgba(0,0,0,.6);
	overflow: hidden;
	line-height: 1.8rem;
	text-transform: none;
	right: 0;
        width: 4rem;
	margin: 0.3rem 0 0 0;
	z-index: 150;
}


#langdisplay:hover #langmenu {
        display: block !important;
}


#langmenu > ul {
	display: block;
	list-style-type: none;
}

#langmenu > ul >li {
  	border-bottom: 1px solid #f8f9f9;
	margin: 0 0.6em;
}

#langmenu ul > li:last-of-type {
	border-bottom: none;
}


#langmenu > ul > li > a {
	display:block;
	position: relative;
	left: -0.6em;		/* muss gleich wie #langmenu > ul >li  margin */
	width: 4rem;		/* muss gleich wie bei #langmenu sein */
	border: 0;
  	margin: 0;
	padding: 0.3rem 0.8em;
	font-size: 1.05em;
  	text-align: center;
	color: #4b5055;
	font-weight: 400;
	text-decoration: none;
	transition: 250ms all ease;
}

#langmenu > ul > li >a:hover {
	#background-color: #f9f9fa;
	font-weight: bold;
	color: #0076af;
}





#menutoggle {
	display: inline-block;
	position: absolute;
	right: 0.8rem;
	margin: 3% 0;	 /* an Logohöhe anpassen */
}

#menutoggle a {
	position: absolute;
	width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        text-decoration: none;
        z-index: 10;
        background-color: #FFF; /* Fix to make div clickable in IE */
        opacity: 0; /* Fix to make div clickable in IE */
        filter: alpha(opacity=1); /* Fix to make div clickable in IE */
}

.stapel { 
	display: block;
	background: transparent; 
	width: 32px; 
	height: 22px; 
	position: relative; 
	margin-left: auto; margin-right: auto;
	border-radius: 4px; 
}

.line { 
	position: absolute; 
	left: 4px;
	height: 2px; 
	width: 24px; 
	background: #4b5055; 
	border-radius: 1px;
	display: block; 
	transition: 0.2s; 
	transform-origin: center; 
}

.line:nth-child(1) { top: 4px; }
.line:nth-child(2) { top: 10px; }
.line:nth-child(3) { top: 16px; }

.stapel.checked .line, 
.stapel:hover .line {
	background: #0077b3 
}

.stapel.checked .line:nth-child(1){
	transform: translateY(6px) rotate(-40deg);
}

.stapel.checked .line:nth-child(2){
	opacity:0;
}

.stapel.checked .line:nth-child(3){
	transform: translateY(-6px) rotate(40deg);
}


#navigation {
	display: none;
	background: #edeff1;
        #box-shadow: 2px 2px 2px 1px rgba(0,0,0,.4);
	position: absolute;
	top: 6.5rem;
	left: 0;
	width: 100%;
	min-height: calc(100vh - 6.5rem);
	overflow: auto;
	padding-top: 2rem;
	z-index: 100;
}


nav ul {
	list-style-type: none;
}


nav ul li {
	#border-bottom: 1px solid #f8f9f9;
	#margin: 0 1rem;
	position: relative;
	height: max-content;		/*  check compatibility !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  */
}

#navigation nav nav li:first-of-type a {
	font-weight: bold;
	border-bottom: 1px solid grey;
}


++#navigation ul > li:last-of-type {		
	border-bottom: none;
}

nav > ul > li > a {
        display: block;
	background: transparent;
	border-bottom: 1px solid #f8f9f9;
  	margin: 0 5rem 0 3.3rem;
	padding: 0.6rem 0 0.6rem 0.3rem;
  	text-align: left;
	color: #4b5055;
	font-weight: 400;
	text-decoration: none;
	transition: 250ms all ease;
}

#navigation > ul > li > a {
	text-transform: uppercase;
  	margin: 0.2rem 5rem 0 2rem;
}


nav > ul > li a:hover,
nav > ul > li a.submenu_open  {
	#background: rgb(240, 240, 240);
	color: #0076af;
}


.hasCaret::after {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border: .4em solid transparent;
	border-left-color: inherit;
	border-radius: 1px;
	position: absolute;
	left: 2.4rem;
	top: 0;
	margin: 0.9em 0 0 0;
	transition: 400ms right ease;
}

#navigation > ul > li > a.hasCaret::after {
	left: 1rem;
}


.hasCaret:hover::after {
	border-left-color: inherit;
}

.hasCaret.navActive::after {
	border-left-color: transparent;
	border-top-color: inherit;
	margin-top: 1em;
	transform: translateX(-0.1em);
}

#navigation nav .hasCaret.navActive::after {
	right: 2.5em;
}

.navActive {
	#background: rgb(250, 250, 250);
	color: #0076af;
	font-weight: bold;
}


#navigation nav nav {
	background: #e0e2e3;
}

#navigation  ul > li > nav {
	display: none;
}





main {
	display: block;  /* für IE */
	flex: 1 0 auto;
}


/* ------------ for fixed header ---------------------*/


main {
	margin-top: 6.5rem;
}


/* ------------------------------------------------*/



.mainWrapper {	
	display: block;	
	position: relative;
	background: white;
	font-size: 0.95rem; 
	overflow: hidden;
	max-width: 60rem;
	margin: 0rem auto;
	padding: 2rem 0.6rem;		/* Randabstand des Inhaltes */
	#height: 100%;
}

h1, .title {
	hyphens: auto;
	font-size:2.2rem; 
	line-height: 100%;
	color: #91989c; 
	background: transparent;
	margin: 0 0 0.5em 0;
	font-weight:bold;
	text-align:left;
}


h2 {
	font-size: 1.2rem;
	font-weight: bold;
	#color: #0076af;
	margin: 2rem 0 1rem 0;
}

.mainWrapper > p {
	hyphens: auto;
	max-width: 45rem;
	margin: 0 0 1.3em 0;
}

br {
	margin: 0 0 0.4em 0;
}

.mainWrapper > img {
	display: block;
	width: 100%;
	padding: 0 2rem 0.6em 0;
}

th {
	text-align: left;
}


.TBi {
	#color: #2a2a2a;		/* standard */
	color: #0076af; 		/* blau */
}

.TBi,
.TBi_border {
	border-color: #dae5eb;
}

.TBi_bgr {
	background: #dae5eb;
}

.TBi_highlight {
	background: #91989c;
	border-color: #91989c;
	color: #c8cdd0;
}

.MIG {
	color: #005c85;
}

.MIG,
.MIG_border {
	border-color: #b6d3e7;
}

.MIG_bgr {
	background: #b6d3e7;
}

.MIG_bgr_light {
	background: #e6eff5;
}

.MIG_light {
	color: #b6d3e7;
}

.TIG {
	color: #405851;
}

.TIG,
.TIG_border {
	border-color: #c4d0d0;
}

.TIG_bgr {
	background: #c4d0d0;
}

.TIG_bgr_light {
	background-color: #e7ecec;
}

.TIG_light {
	color: #c4d0d0;
}

.Plasma {
	color: #5b4d2d;
}

.Plasma,
.Plasma_border {
	border-color: #e0d1a7;
}

.Plasma_bgr {
	background: #e0d1a7;
}

.Plasma_bgr_light {
	background: #f1ede5;
}

.Plasma_light {
	color: #e0d1a7;
}

.Robotic {
	color: #445661;
}

.Robotic,
.Robotic_border {
	border-color: #b2c4d0;
}

.Robotic_bgr {
	background: #b2c4d0;
}

.Robotic_bgr_light {
	background: #e8edf1;
}

.Robotic_light {
	color: #b2c4d0;
}

.Accessories {
	color: #3d491f;
}

.Accessories,
.Accessories_border {
	border-color: #c9c9a4;
}

.Accessories_bgr {
	background: #c9c9a4;
}

.Accessories_bgr_light {
	background: #efefe3;
}

.Accessories_light {
	color: #c9c9a4;
}


/* ----------  Home --------- */



.home_slideSection {
	display: block;
	position: relative;
	background-image: linear-gradient(130deg, rgba(255,255,255,0), rgba(255,255,255,0) 30%, #dae5eb 70%); 
	border-bottom: 2px solid lightgray;
	margin: -3px 0 2rem 0;
}

.home_slideWrapper {
	display: block;
	position: relative;
	max-width: 60rem; 
	margin: 0 auto;
	padding: 0;
	#height: 100%; 
}


#home_slides {
  
	position: relative;
  
	list-style: none;
  
	overflow: hidden;
  
	width: 100%;
  
	padding: 0;
  
	margin: 0;
 
	margin: 0 auto;
}




#home_slides li {
  
	-webkit-backface-visibility: hidden;
  
	position: absolute;
  
	display: none;
  
	width: 100%;
  
	left: 0;
  
	top: 0;
  
}




#home_slides li:first-child {
  
	position: relative;
  
	display: block;
  
	float: left;
  
}




#home_slides img {
  
	display: block;
  
	height: auto;
  
	float: left;
  
	width: 100%;
  
	border: 0;
  
}







.transparent-btns_nav {
  
	z-index: 3;
  
	position: absolute;
  
	-webkit-tap-highlight-color: rgba(0,0,0,0);
  
	top: 0;
  left: 0;
  display: block;
  
	background: #fff; /* Fix for IE6-9 */
  
	opacity: 0;
  
	filter: alpha(opacity=1);
  
	width: 48%;
  
	text-indent: -9999px;
  
	overflow: hidden;
  
	height: 91%;
  
}



.transparent-btns_nav.next {
  left: auto;
  right: 0;
  }

.transparent-btns_nav:focus {
  outline: none;
  }





.transparent-btns_tabs {

	display: block;
	position: absolute; 
	text-align: center;

	bottom: 8px;
	left: 0;
	right: 0;
	#max-width: 60%;
	margin: 0 auto;
	z-index: 10;
}




.transparent-btns_tabs li {
  
	display: inline;
  
	float: none;
  
	_float: left;
  
	*float: left;
  
	margin-right: 10px;
  
}




.transparent-btns_tabs a {
  
	text-indent: -9999px;
  
	overflow: hidden;
  
	#-webkit-border-radius: 15px;
  
	#-moz-border-radius: 15px;
  
	#border-radius: 15px;
  
	background: #ccc;
  
	background: rgba(0,0,0, .2);
  
	display: inline-block;
  
	_display: block;
  
	*display: block;
  
	-webkit-box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  
	-moz-box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  
	box-shadow: inset 0 0 2px 0 rgba(0,0,0,.3);
  
	width: 12px;
  
	height: 12px;
  
}




.transparent-btns_here a {
  
	background: #222;
  
	background: rgba(0,0,0, 0.6);
  
}





#home_introText {
	font-size: 1rem;
	margin: 0 0 3rem 0;
}




#products {
	top: -8rem;
}



.tileWrapper {
	font-size: 0;		/* remove whitespace */
	margin: 1em 0;
	width: 100%; 
}

.productTile {
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-size: 1.6rem;
	text-decoration: none;
	width: 49%;
	padding: 4px;
	margin: 0 2% 6% 0;
}

.productTile img {
	border: 0;
	width: 100%;

	height: auto;
	vertical-align: top;	
}

.productTileTitle {
	display: block;
	position: relative;
	font-weight: bold;
	color: #ffffff;
	text-transform: uppercase;
	text-decoration: none;
	margin: 8px 0 4px 6px;
}

.productTile:hover .productTileTitle {
	color: inherit;
}

.productTileTitle::after {
	position: absolute;
	content: "";
	height: 0.34em;
	width: 0.34em;
	border: 3px solid;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	right: 0;
	top: 0;
	margin: 5px 4px 0 0;
}


.productTileText {		/* Textblock nach product tiles */
	display: inline-block;
	width: 100%;
	margin: 1em 0;
	font-size: 1rem;
	line-height: 140%;
}





/* -------------- Generic ------------- */


.bcWrapper {
	font-size: 0.8rem;
	list-style-type: none;
	margin-top: -1.4rem;
}

.bcWrapper li {
	display: inline;
}

.bcWrapper li+li::before {
	content: "/ ";
	font-size: 0.9rem;
	padding: 0 6px;
}

.bcWrapper a {
	text-decoration: none;
	color: #0076af;
}

.bcWrapper a:hover {
	text-decoration: underline;
}



.overviewTitle {
	padding: 0 0 2rem 0;
	margin: 2rem 0 0 0;
}

.overviewTitle h1 {
	font-size: 3.2rem;
	padding: 0;
	margin: 0 0 0.3rem 0;
}

.overviewTitle span {
	display: block;
	font-size: 1.2rem;
	line-height: normal;
	color: white;
	padding: 0.4rem 0.8rem;
	margin: 0;
}


.titleBoxContext {
	display: block;
	width: 100%;
	font-size: 2rem;
	line-height: 100%;
	text-transform: uppercase;
	color: #ffffff; 
	font-weight:bold;
	text-align:left;
	padding: 12px 0 4px 12px;
	margin: 2rem 0 0 0;
}

.titleBox {
	background: transparent;
	position: relative;
	display: flex;
	flex-direction: column;
	#flex-wrap: wrap;
	border-style: solid;
	border-width: 8px;
	padding: 0 0 0 0.8rem;
	margin: 0 0 6rem 0;
}

++.titleBox > * {
	flex: 1 100%;
}

.titleBoxTitle { 
	font-size: 1.6rem;
	line-height: 100%;
	color: inherit;
	margin: 1rem 0 0.6rem 0;
	font-weight:bold;
	text-align:left;
}

.titleBoxTitle > span { 
	font-size: 0.8em;
}

.titleBoxImage {
	flex: 0 0 auto;
}

.titleBoxImage img {
	margin: 0;
	width: 100%;

	height: auto;
	vertical-align: bottom;
}

.titleBoxText {
	font-size: 1.2rem; 
	line-height: 125%;
	color: inherit; 
	margin: 0.6em 0.6rem 0.6rem 0;
}

.titleBoxText a {
	font-weight: normal; 
	color: rgb(16,135,190);
	text-decoration: underline;
}

.titleBoxText span {
	font-size: 0.9em;
	line-height: 100%;
}

.titleBoxText span br {
	margin: 0;
}

.titleBoxImage.fullHeight {

	margin: 0 0 0 -0.8rem;
}




.titleInfo {
	margin: 2rem 0 4rem 0;

}

.titleInfo img {
	margin: 1.6rem 0 2.8rem 0;
	max-width: 46rem;
}

.titleInfo p {
	color: #2a2a2a;
	max-width: 40rem;
	margin: 1rem 0 1.4rem 0;

}

.titleInfo span {
	display: block;
	margin: 1rem 0 0.4rem 0;
	font-weight: bold;
}

.titleInfo ul {
	list-style: square;
	max-width: 40rem;
	margin: 0;
}

.titleInfo li {
	margin: 0 0 0 1rem;
}


.links,
a[href^="tel:"] {		/* automatisch erzeugte Tel-Links formatieren */
	color: #0076af;
	font-weight: normal;
	text-decoration: underline;
}


.link_pfeil {
	display: inline-block;
	color: #0076af;
	text-decoration: none;
	margin: 0.4em 0 0 0.8em;
}

.link_pfeil:before {
	display: inline-block;
	content: "";
	background-image: url("images/graphics/pfeil_re_blau.gif");
	background-size: auto 12px;
	background-repeat: no-repeat;
	width: 14px;
	height: 11px;
	position: relative;
	left: -0.4em;
}




/* -------------- Produktübersicht -------------- */


.noWhiteSpace {
	font-size: 0;		/* remove whitespace */
}


.prodCatWrapper {
	position: relative;
	font-size: 0;		/* remove whitespace */
	margin: 3rem 0 1rem 0;
	width: 100%; 
}

.prodCatWrapper.single {
	display: inline-block;
	width: 48%;
	margin-right: 4%;
}

.prodCatWrapper.single.even {
	margin-right: 0;
}


.prodCatWrapper > h2 {
	position: absolute;
	font-size: 1.3rem;
	color: #2a2a2a;
	top: -2.4rem;	
	margin: 0;

}

.productCat {
	display: inline-block;
	position: relative;
	text-decoration: none;
	color: inherit;
	vertical-align: top;
	border-width: 6px;
	border-style: solid;
	border-color: inherit;
	width: 48%;
	max-height: 500px;
	margin: 0 4% 2% 0;
}

.productCat:nth-of-type(2n) {
	margin-right: 0;

}

.prodCatWrapper.single .productCat {
	width: 100%; 
	margin: 0 8% 4% 0;
}

.productCatTitle {
	display: block;
	position: relative;
	font-size: 1.6rem;
	line-height: 160%;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
	padding: 6px 20px 12px 6px;
}

.productCat:hover .productCatTitle {
	color: inherit;
}

.productCatTitle::after {
	position: absolute;
	content: "";
	#font-weight: normal;
	height: 0.45em;
	width: 0.45em;
	border: 3px solid;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	right: 0;
	top: 0.75em;
	margin: 0px 10px 0 0;
}

.productCat img {
	width: 100%;

	height: auto;
	vertical-align: top;
	padding-bottom: 30%;
}

.productCat div {
	display: block;
	position: absolute;
	font-size: 1rem;
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
	#color: #2a2a2a;
	bottom: 0;
	margin: 0.6em 0.8em;
}

.productCat ul {
	list-style-type: square;
	margin: 0 0 0 1em;
}















/* --------------Produktseiten-------------- */


.product,
.catalog {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin: 1.4rem 0;
}

.productImg,
.productImg194x87,
.productImg194x169 {
	border: 2px solid;
	border-color: inherit;
	width: 70%;
	max-width: 300px;
	#flex: 1.2 0 auto;
}

.productImg194x87 {
	overflow: hidden;
	width: 175px;
	height: 84px;
}

.productImg194x169 {
	overflow: hidden;
	width: 175px;
	height: 167px;
}

.productImg img {
	display: block;
	width: 100%;
}

.productImg194x87 img,
.productImg194x169 img {
	display: block;
	position: relative;
	top: -1px;
	left: -1px;
	width: auto;
}

.imgNoBorder {
	border: none;
}
 
.product table,
.catalog table {
	display: block;
	border-collapse: collapse;
	font-size: 0.9em;
	text-align: left;
	max-width: 400px;
	margin: 1rem 0.5rem 0.8rem 0;
	#flex: 1 1 50%;
}

.product thead,
.catalog thead {
	border-bottom: 0.4em solid transparent;
}

.product thead tr:first-of-type th,
.catalog thead tr:first-of-type th {
	position: relative;
	font-size: 0.9rem;
	font-weight: bold;
	padding: 0 0 0.2em 1em;
}

.product thead tr:first-of-type th::before,
.catalog thead tr:first-of-type th::before {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border: 0.3em solid currentColor;
	border-radius: 1px;
	position: absolute;
	left: 0;
	top: 0.45em;
}

tbody {
	vertical-align: top;
}

.product tbody th,
.catalog tbody th {
	width: 140px;
	padding: 0 1em 0.2em 0;
}

.product > a,
.catalog > a.links {
	position: relative!important;
	line-height: normal;
	#margin: 0 1rem 0 1rem;
}

.statt_a {
	display: none;
}



/* -------------------------------------------------------
   ------------------------------------------------------- */

.productSection {
	position: relative;
	margin: 0 0 4rem 0;
}

.productSection h2 {
	color: #0076af;
}

.productTable,
.productTableHeader {
	display: block;
	font-size: 0;
	line-height: normal;
	height: auto;
	margin: 0 0 0.6rem 0;
}

.prodTabTitle {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	width: 175px;
	padding: 6px 6px 4px 6px;
	margin: 0 18px 0 0;
}

.prodTabTitleEmpty,
.productTableHeader2 {
	width: calc(100% - 18px - 175px);
	padding-left: 14px;
	margin: 0;
}

.productTableHeader2 {
	position: relative;
}

.productTableImg {
	display: inline-block;
	position: relative;
	border: 2px solid;
	border-color: inherit;
	border-top: none;
	overflow: hidden;
	width: 175px;
	height: 84px;
	margin: 0 18px 0 0;

}

.productTableImg img {
	display: block;
	position: relative;
	top: -1px;
	left: -1px;
	width: auto;
}

.productTableImg .imgZoom {
	display: block;
	position: absolute;
	background-color: currentColor;
	bottom: 5px;
	left: 5px;
	width: 11px;
	height: 11px;
	overflow: hidden;
}

.productTableImg .imgZoom::after {
	display: block;
	position: absolute;
	content: "+";
	font-size: 15px;
	#font-weight: bold;
	color: white;
	top: -3px;
	left: 1px;
}

.prodTabData {
	display: inline-block;
	position: relative;
	font-size: 0.85rem;
	vertical-align: top;
	height: 84px;
	width: calc(100% - 18px - 175px);
	padding: 10px 40px 26px 14px;
}

.prodTabData p {
	font-size: 0.85rem;
	vertical-align: top;
	max-height: 48px;
	overflow: auto;
}

.prodTabTh {
	display: none;
}

.prodTabDataCell {
	display: inline-block;
	position: absolute;
	font-size: 0.9rem;
	font-weight: bold;
	bottom: 10px;
	width: 28%;

}

.productTableHeader2 .prodTabDataCell {
	bottom: 4px;
}

.prodTabTitle .prodTabDataCell:nth-of-type(2),
.prodTabRow:nth-of-type(2) .prodTabDataCell {
	left: calc(28% + 25px);
}

.prodTabTitle .prodTabDataCell:nth-of-type(3),
.prodTabRow:nth-of-type(3) .prodTabDataCell {
	left: calc(56% + 35px);
}

.prodTabData > a,
.product > a,
.catalog > a.links {
	display: block;
	position: absolute;
	font-size: 0.65rem;
	text-decoration: none!important;
	vertical-align: text-bottom;
	right: 10px;
	bottom: 12px;
	padding-left: 5px;
}

.prodTabData > a::before,
.product > a::before,
.catalog > a.links::before {
	display: block;
	content: "";
	position: absolute;
	background-size: 100%;
	background-image: url("images/graphics/pfeile.gif");
	background-position-y: -150px;
	height: 15px;
	width: 15px;
	left: -15px;
	bottom: -2px;
}




/* -------------- Lightbox -------------------------------------------------------- */ 


.lightbox {
	display: none;
	position: fixed;
	background-color: rgba(0, 0, 0, 0.8);
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 200;
}

.lightbox .productTableImg {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 400px;
	height: auto;
}

.lightbox .productTableImg img {

	width: 400px;
	height: auto;
}






/* -------------- Downloads -------------------------------------------------------- */ 


.buttonWrapper {
	font-size: 0;		/* remove whitespace */
	margin: 0 0 3rem 0;
	width: 100%; 
}

.button {
	display: inline-block;
	position: relative;
	color: inherit;
	vertical-align: top;
	font-size: 1rem;
	text-decoration: none;
	padding: 8px 2rem 8px 0.6rem;
	margin: 0 0 0.1rem 0;
	width: 100%;
	min-width: 16rem;
}


.button:last-child {
	margin-right: 0;
}

.button:hover {
	color: #0076af;
}

.button::after {
	display: inline-block;
	position: absolute;
	content: "";
	height: 0.5em;
	width: 0.5em;
	border: 2px solid;
	border-bottom: none;
	border-left: none;
	transform: rotate(45deg);
	right: 0;
	bottom: calc(8px + 0.35em);
	margin: 0 0.8em 0 0;
}

.button.inactive {
	color: gray;
	
}

.anchor {
	position: absolute;
	top: -10rem;
	left: 0;
}


.downloads {
	position: relative;
	margin: 0 0 4rem 0;
}

.downloads .expandableIcon {
	display: inline-block;
	background-size: 100%;
	background-image: url("images/graphics/pfeile.gif");
	height: 12px;
	width: 14px;
	background-position-y: 0px;
	margin: 0 0.8em 0 0em;
}

.downloads h2 {
	display: inline-block;
	color: #2a2a2a;
	margin: 0 0 1rem 1.8rem;

}

.downloads h2.expanded .expandableIcon {
	background-position-y: -30px;
}



.downloads ul > span {
	display: inline-block;
	font-size: 0.9rem;
	font-weight: bold;
	color: #2a2a2a;
	background-color: #dae5eb;
	width: 100%;
	padding: 0.4em calc(2.8rem + 14px);
}

.catalogs,
.catalogs ul {
	list-style: none;
}

.slideWrapper {
	display: none;
	#transition: 1250ms all ease;
}

.catalogs li {
	margin: 0.15em 0 0 0;
}

.downloads h3 {
	display: inline-block;
	font-size: 1rem;
	color: #2a2a2a;
	width: 100%;
	padding: 0.4em 0;	
}

.downloads h3.expanded {
	color: #0076af;
}

.catalogs .expandableIcon {
	margin: 0 0.8em 0 2em;
}

.downloads h3.expanded .expandableIcon {
	background-position-y: -30px;
}


.catalogs table {
	border-collapse: collapse;
	width: calc(100% - 2.8rem - 14px);
	margin: 0 0 0 calc(2.8rem + 14px);
}

.catalogs th {
	font-weight: bold;
	padding: 0.2em 0;
}

.catalogs td:first-of-type {
	width: 60%;
	padding-top: 0.35em;
}

.catalogs td:nth-of-type(2) {
	min-width: 8em;
	padding-left: 1em;
}

.catalogs td {
	border-bottom: 3px solid #dae5eb;
	padding: 0.2em 0;
}



.catalogs table li {
	max-width: 11em;
	margin-bottom: 0.3em;
}

.catalogs a {
	text-decoration: none;
	color: inherit;
}

.dl_icon {
	display: inline-block;
	background-size: 100%;
	background-image: url("images/graphics/pfeile.gif");
	height: 15px;
	width: 15px;
	background-position-y: -150px;
	vertical-align: text-bottom;
	margin: 0 0.4em 0 0;
}







/* --------------Karriere-------------- */

.career {
	position: relative;
	background-color: #dae5eb;
	padding: 0.1rem 1.6rem 0.6rem 2rem;
	margin: 8rem 0 3rem 0;
}

.career h2 {
	position: absolute;
	left: 0;
	top: -3rem;
	margin: 0;
}

.career h3 {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 2rem 0 1.6rem 0;
}


.Job {
	hyphens: auto;
	max-width: 40rem;
	padding: 0 0 0.8rem 0;
	margin: 1rem 0 0 0;
}

.Jobtitel {
	display: block;
	position: relative;
	font-size: 1rem;
	font-weight: bold;
	margin: 0 0 0.6em 0;
}


.Joblink {
	display: block;
	color: #0076af;
	text-decoration: none;
	margin: 0.4em 0 0 0.4em;
}

.Joblink::before {
	display: inline-block;
	content: "";
	background-image: url("images/graphics/pfeil_re_blau.gif");
	background-size: auto 12px;
	background-repeat: no-repeat;
	width: 14px;
	height: 11px;
	position: relative;
	left: -0.4em;
	#top: -0.1em;
}




/* --------------News-------------- */

.news {
	display: block;
	border-collapse: collapse;
	font-size: 0.9em;
	text-align: left;
	margin: 1rem 0 0.8rem 0;
}

.darkCell {
	background-color: #dae5eb;
}

.lightCell {
	background:rgb(239,245,248);
}

.news img {
	display: block;
}

.news tr:nth-of-type(odd) {
	border-top: 2em solid white;
	border-bottom: 3px solid white;
}

.news th {
	font-weight: bold;
	padding: 0.3em 0.6em;
}

.news tr td:nth-of-type(2) {
	border-left: 3px solid white;
	padding: 0.6em 1.6em;
}

.news p {
	margin: 0 0 1em 0;
}

.news ul {
	margin: 0 0 1em 1.6em;
}

.news li {
	position: relative;
	list-style: none;
}

.news li::before {
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border: 0.27em solid #0076af;
	border-radius: 1px;
	position: absolute;
	left: -1em;
	top: 0.5em;
}

.news a {
	color: #0076af; 
	#font-weight: bold;
	text-decoration: underline; 
}


/* --------------Messen-------------- */

.messen {
	display: block;
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9em;
	text-align: left;
	margin: 2rem 0.5rem 0.8rem 0;
}


.messen th {
	font-weight: bold;
	background: rgb(199,216,224);
	width: 25%;
	border-bottom: 2px solid white;
	padding: 0.3em 0.6em;
}

.messen th:nth-child(3)::after {
	content: " ";
	margin: 0 12em 0 7em;
}

.messen tr {
	background: rgb(239,245,248);
}

++.messen tr:nth-child(odd) {
	background: rgba(239,245,248, 0.5);
}

.messen td {
	#background: rgb(239,245,248);
	border-bottom: 2px solid white;
	padding: 0.3em 0.6em;
}

.messen th:nth-child(2),
.messen td:nth-child(2) {
	border-left: 2px solid white;
	border-right: 2px solid white;
}





/* -------------- Company -------------- */

.company th {
	font-weight: bold;
	color: #0076af;
	padding: 0 2rem  0 0;
}

.company td {
	hyphens: auto;
	max-width: 32rem;
	padding: 0 0 0.6em 0;
}





/* -------------- Contact -------------- */

.contactWrapper {
	background-color: #dae5eb;
	width: 100%;
	padding: 2rem;
	margin: 1.2rem 0 1rem 0;
}

.contact {
	display: inline-block;
	position: relative;
	overflow: auto;
	width: 100%;
	margin: 1.2rem 0 1rem 0;
}

.contact img {
	display: block;
	width: 50%;
	height: auto;	
}

.contact p {
	position: absolute;
	bottom: 0;
	left: 55%;
}

.contact p br {
	margin: 0;
}




.findUs {
	margin: -1.4rem 0 4rem 0;
}

.findUs td:nth-of-type(even) {
	width: 100%;
}

.findUs p br {
	margin: 0;
}

.contactUlWrapper {
	background-color: #dae5eb;
	width: 100%;
	padding: 2rem 2rem 0.1rem 2rem;
	margin: 1.2rem 0 1rem 0;
}

.contactUlWrapper div {
	font-size: 0.9rem;
	max-width: 40rem;
	margin: 0 0 2.6em 0;
}

.contactUlWrapper span {
	display: block;
	font-weight: bold;
	margin-bottom: 0.4em;
}

.contactUlWrapper ul {
	list-style-type: square;
	margin: 0 1em;
}

.contactUlWrapper li br {
	margin: 0;
}




/* -------------- Imprint ------------------------------------------ */

.imprint {
	max-width: 40rem;
	margin: 0 0 4rem 0;
}

.imprint p {
	#max-width: 40rem;
	margin: 0 0 1em 0;
}

.imprint p br {
	margin: 0 0 0.1em 0;
}

.imprint table {
	#max-width: 40rem;
}

.imprint th {
	font-weight: bold;
	width: 60%;
	padding: 0 0 0.4em 0;
}

.imprint td {
	padding: 0 0 0.4em 1em;
}

.imprint {
	margin: 0 0 4rem 0;
}

.img-credits {
	font-size: 0.8rem;
	margin: 0 0 1em 0;
}

.img-credits::after {
	content: "";
	clear: both;
	display: table;
}

.img-credits:first-of-type {
	margin-top: 2em;
}

.img-credits img,
.no-img {
	display: block;
	float: left;
	width: 120px;
	margin: 0 1em 0 0;
}

.no-img {
	font-weight: bold;
}

.img-credits span {
	display: block;
}


/* -------------- Privacy Policy ------------------------------------------ */

.privacy {
	hyphens: auto;
	max-width: 48rem;
	margin: 0 0 4rem 0;
}

.privacy h2 {
	margin-top: 3rem;
}

.privacy h2:first-of-type {
	margin-top: 2rem;
}

.privacy h3 {
	font-size: 1.1rem;
	margin-bottom: 1em;
}

.privacy p + h3,
.privacy ul + h3 {
	margin-top: 2.4em;
}

.privacy h4 {
	font-size: 0.95rem;
	margin-bottom: 1em;
}

.privacy p + h4 {
	margin-top: 1.6em;
}

.privacy ol {
	font-size: 1rem;
	margin-left: 1.2em;
}

.privacy ol li {
	margin-bottom: 0.2em;
}

.privacy ol ul {
	list-style: none;
	margin: 0.3em 0 0.3em 1em;
}

.privacy ul {
	list-style: square;
	margin: 0 0 1em 2em;
}

.privacy > ul li {
	margin-bottom: 0.3em;
}

.privacy p {
	margin-bottom: 1em;
}







/* ============================================================================= */

/* alte Klassen */

.mainTable {
	max-width: 45rem;
}

++.mainTable tr:nth-child(3) > td > img {
	max-width: 90%;				/* Bannergrafik Produktseiten skalieren */
}


/* nicht nötig? */
/* .textBlue, .textBold, .textBlueBold, .links:link,.links:visited,.links:hover,.links:active,  */

.text {
	#font-size:1rem; 
	color:black;  
	font-weight:normal; 
}

.textBlue {color:rgb(16,135,190);}
.textBold {font-weight:bold;}
.textBlueBold {font-weight:bold; color:rgb(16,135,190);}

++.links:link,.links:visited,.links:hover,.links:active {
	color:rgb(16,135,190); 
	font-weight:bold;
	text-decoration:underline; 
}


#.mainTable ul {padding:0px;margin: 0px 0px 6px 6px;}

.mainTable li {
	padding:0px;
	#margin: 3px 0px 0px 18px;
	list-style: square; 
	#color: rgb(0,118,175); 
	line-height: 1rem
}
 









/* --------------- Footer --------------------------------------------------------- */


footer {
	position: relative;
	background: #dae5eb;
    	margin: 0;
    	padding: 1rem 0 2rem 0;
	color: #505156;
	font-weight: 300;
	flex: none;
}

#footerWrapper {
	position: relative;
	background: transparent;
	max-width: 60rem;
	margin: 0rem auto;
	padding: 0rem 0.6rem;		/* Randabstand des Inhaltes */
}

#footerWrapper ul {
	list-style-type: none;
}

#footerWrapper li {
	padding: 0 0 0.4em 0;
}

#footerWrapper a {
  	text-decoration: none;
	color: inherit;
	font-weight: inherit;
	transition: 250ms all ease;
}

#footerWrapper a:hover {
	color: #0076af;
  	text-decoration: underline;
}

#copyright {
  	margin: 0.6rem 0 0 0;       	
}
			
#copyright > p {
	font-size: 0.8em;
	white-space: nowrap;
}



/* ------------ scroll up button ---------------------*/


.scrollUp {
	display: none;
	pointer-events: none;
	position: absolute;
	top: -3.8rem;
	left: 0;
	right: 0;
	z-index: 100;
}

.scrollUp.fixed {
	position: fixed;
	top: auto;
	bottom: 1rem;
}

.scrollUp div {
	overflow: auto;			/* clearfix */
	#max-width: 60rem;
	#margin: 0 auto;
	padding: 0 0.6rem;		/* Randabstand des Inhaltes */
}

.scrollUp a {
	display: block;
	pointer-events: auto;
	float: right;
	#border-radius: 3px;
	#box-shadow: inset 0 0 4px 0 rgba(0,0,0,.3);
	#background-color: #f4f4f4;
	background-image: url("images/graphics/pfeil_top.gif");
	background-size: 40px 39px;
	background-repeat: no-repeat;
	#background-position: 4px -26px;
	width: 40px;
	height: 40px;
}

.scrollUp a:hover {
	#background-color: #e4e4e4;
	background-image: url("images/graphics/pfeil_top_over.gif");
}











@media (max-width: 22rem) {       /* ---- for very small screens --------------------------- */


.productCat img {
    padding-bottom: 42%;
}


}	/* end media query section ----------------------------------------------------------*/





@media (max-width: 26rem) {       /* ---- for small screens -------------------------------- */


#headerWrapper {
	height: 4.6rem;
}

main {
    margin-top: 4.6rem;
}


}	/* end media query section ----------------------------------------------------------*/





@media (max-width: 40rem) {       /* ---- for small screens -------------------------------- */


#navigation nav nav .hasCaret:after {			/* display on right side of text */
	left: auto;
	margin-left: 1em;
}


.tileWrapper .productTile:nth-child(even) {
	margin-right: 0;
}




/* --------- product overview mobile view --------------------- */




.prodCatWrapper.single,
.productCat {
	width: 100%;
	margin-right: 0;
}

.productCat {
    margin-bottom: 6%;
}


/* --------- products mobile view --------------------- */

.imgNoBorder {
	display: none;
}




/* --------- product table mobile view --------------------- */


.productSection {
	margin: 0 0 4rem 0;
}


.productTable {
	margin: 0 0 0.6rem 0;
}

.prodTabTitle {
	display: block;
	font-size: 0.9rem;
	font-weight: bold;
	width: 175px;
	padding: 6px 6px 4px 6px;
	margin: 0 18px 0 0;
}

.productTableHeader,
.prodTabTitleEmpty {
	display: none;
}

.prodTabData {
	display: block;
	background-color: transparent;
	color: #2a2a2a;
	height: auto;
	width: 100%;
	max-width: 400px;
	padding: 10px 0 30px 0;
}

.prodTable {
	display: table;
	width: 100%;
	max-width: 400px;
}

.prodTabData p {
	display: table-cell;
	font-size: 0.85rem;
	vertical-align: top;
	padding: 0.6rem 0;
}

.prodTabRow {
	display: table-row;
}

.prodTabTh {
	display: table-cell;
	width: auto;
}

.prodTabDataCell {
	display: table-cell;
	position: static;
	font-size: 0.9rem;
	font-weight: bold;
	width: auto;
}

.prodTabData > a,
.product > a,
.catalog > a.links {
	font-size: 0.85rem;
	left: 18px;
	bottom: 8px;
}

.prodTabData > a::before,
.product > a::before,
.catalog > a.links::before {
	background-size: 94%;
	background-position-y: -170px;
	height: 20px;
	width: 20px;
	left: -18px;
	bottom: -5px;
}







/*----------------- mobile view downloads */


.downloads h2 {
	margin-left: 0;
}

.catalogs .expandableIcon {
	margin-left: 0.6rem;
}

.catalogs table {
	margin-left: calc(1.4rem + 14px);
}

.downloads ul > span {
	padding-left: calc(1.4rem + 14px);
}




/*----------------- mobile view news */

.news tr:nth-of-type(even) {
	display: flex;
	flex-direction: column;
}

.news tr td:nth-of-type(2) {
	border: none;
	border-top: 3px solid white;
	padding: 0.6em 0.6em;
}


/* --------------Messen-------------- */

.messen {
	width: 100%;
}







}	/* end media query section */

















/* --------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------------- */


@media (min-width: 40rem) {       /* for medium screens */

header {
	min-height: 5.2rem;
}

#headerWrapper {
	#display: flex;
	#align-items: flex-start;
	height: auto;
	justify-content: flex-end;
	font-size: 0.75rem;
    	padding: 0 1.4rem 1.6rem 1.4rem;			/* Randabstand des Inhaltes */
}

#logo {
	#min-width: 20%;
	#flex: 0.4 1 auto;
	flex: 1 1 80%;
    	padding: 0.8rem 1.6rem;
}

#langdisplay {
	position: static;
	margin: 1.1% 0 0 0.8rem;	/* Position zu Logo dynamisch */
	padding: 0.3rem 0 0 0;
	order: 3;
	flex: 0 0 auto;
}

#langdisplay a {
        color: #0076af;
	font-weight: bold;
}

.langCaret {
        border-left-color: #0076af;
}


#menutoggle {display: none;}



#navigation {
	display: flex;
	justify-content: flex-end;
	position: static;
	background: transparent;
        box-shadow: none;
	min-height: 0;
	overflow: visible;
	padding-top: 0;
	margin: 1.1% 0 0 0;		/* Position zu Logo dynamisch */
	flex: 1 0.5 auto;
}

		
#navigation > ul {
       	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	flex: 1 0 auto;
}
 

#navigation > ul > li {
	border: 0;
	margin: 0;
	flex: 0 0 auto;
}
 


#navigation > ul > li > a {
        display:inline-block;
  	border: 0;
  	margin: 0;
	padding: 0.3rem 0.6em;
	font-size: 0.75rem;
}

#navigation > ul > li > a:hover {
	text-decoration: underline;
}

#navigation > ul > li > a::after {
        display: none;
}

#navigation > ul > li > a.navCurrent {
	color: #0076af;
	font-weight: bold;
}


#navigation nav {
	display: none;	
	background-color: #edeff1;
        box-shadow: 2px 2px 4px 0px rgba(0,0,0,.6);
	line-height: 1.8em;
	position: absolute;
	left: 0;
        width: 12rem;			/* Änderungen auch bei #navigation nav > ul > li > a nötig */
	min-height: 25em;		/* an Zeilenanzahl des Untermenues anpassen */
	z-index: 100;
}

#navigation nav nav {
	background-color: #edeff1;
        box-shadow: 3px 3px 4px -1px rgba(0,0,0,.6);
	overflow-y: auto;
	top: 0;
	left: 12rem;
        min-width: 20rem;		/* Änderungen auch bei #navigation nav nav > ul > li > a nötig */
	min-height: 25em;
	max-height: calc(100vh - 3rem);
	white-space: nowrap;
	border-left: 3px solid #f8f9f9;		/* divider between menues */
}


#navigation li:hover > nav, 
#navigation li:active > nav {
        display: block !important;
}

#navigation nav > ul >li {
	position: static;
	#margin: 0;
  	#border-bottom: 1px solid #f8f9f9;
	#margin: 0 0.6rem;
}

#navigation nav nav li:first-of-type a {
	display: block;
	font-weight: bold;
  	border-bottom: 1px solid grey;
	#margin: 0.3rem 0.8em;
}

#navigation nav > ul > li > a {
	display:block;
	position: relative;
	#left: -0.6rem;		/* muss gleich wie #navigation nav > ul >li  margin */
	#width: 12rem;		/* muss gleich wie bei parent nav sein */
	#border: 0;
  	border-bottom: 1px solid #f8f9f9;
  	margin: 0 0.6rem;
	padding: 0.3rem 0.2em;
	font-size: 1.05em;
}


.hasCaret::after {
	left: auto;
	right: 1em;
	margin: 0.7em 0 0 0;
}

#navigation nav > ul > li:hover .hasCaret::after,
.hasCaret:hover::after,
.submenu_open:after {
	right: 0.2em;
}

++#navigation nav nav > ul > li > a {
	width: 20rem;		/* muss gleich wie bei parent nav sein */
}

#navigation nav > ul > li:hover {
	#background-color: #f9f9fa;
}

#navigation nav > ul > li:hover > a,
#navigation nav > ul > li > a:hover,
#navigation nav > ul > li > a.submenu_open {
	#background-color: #f9f9fa;
	font-weight: bold;
	color: #0076af;
}


.mainWrapper {
	padding: 2rem 1.4rem;		/* Randabstand des Inhaltes */
}




h1, .title {
	font-size:2rem; 
}



.home_slideSection {
	background-image: linear-gradient(150deg, rgba(255,255,255,0), rgba(255,255,255,0) 40%, #dae5eb 70%);
	margin: -20px 0 2rem 0;
}

.home_slideWrapper {
	padding: 0 1.4rem;
}


#home_introText {
	font-size: 1.1rem;
	margin: 0 0 3rem 0;
	max-width: 43rem; 
}



.productTile {
	margin: 0 2% 6% 0;
	width: 32%;
}

.tileWrapper .productTile:nth-child(3) {
	margin-right: 0;
}

.productTileText {
	vertical-align: top;
	#width: 74%;
	margin: 0em 0;
	font-size: 1.1rem;
	#font-style: lighter;
	max-width: 35rem;
}



.overviewTitle {
	padding: 0 0 4rem 0;
	margin: 4rem 0 0 0;
}



.titleBoxContext {
	font-size: 2.2rem;
	padding: 12px 0 4px 24px;
	margin: 4rem 0 0 0;
}

.titleBox {
	flex-direction: row;
	flex-wrap: wrap;
	#border-width: 8px;
	padding: 0 0 0 24px;
	#margin: 0 0 6rem 0;
}

.titleBoxTitle {
	font-size: 1.6rem; 
	flex: 1 1 100%;
	margin: 1.4rem 0 0.6rem 0;
	z-index: 10;
}

.titleBoxImage {
	order: 5;
	flex: 2;
	z-index: 1;
}

.titleBoxText {
	padding: 0 1rem 0.6rem 0;
	flex: 1;
	z-index: 10;
}

.titleBoxImage.alignTop {
	position: relative;
	top: -3.6rem;
	margin: 0 0 -3.6rem 0;		/* Leerraum unter Bild wg. "relative" abschneiden */
}

.titleBoxImage.alignTopTwolines {
	position: relative;
	top: -5.95rem;
	margin: 0 0 -5.95rem 0;		/* Leerraum unter Bild wg. "relative" abschneiden */
}

.titleBoxImage.fullHeight {
	position: relative;
	top: -3.6rem;
	margin: 0 0 -3.6rem 0;		/* Leerraum unter Bild wg. "relative" abschneiden */
	overflow: hidden;
	min-height: 260px;
}

.titleBoxImage.fullHeight img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height: 100%;
	width: auto;
}

.titleBoxImage.fullHeight ~ h1 {
	
}


/* ---------------- product categories ------------ */

.productCatTitle {
    font-size: 1.4rem;
}

.productCat img {
    padding-bottom: 46%;
}

.productCat ul {
    font-size: 0.95rem;
}


/* ---------------- products ------------ */


.product,
.catalog {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	margin: 2rem 0 2rem 0;
}

.productImg {
	width: auto;
	min-width: 200px;
	flex: 1.2 0 auto;
}

 
.product table,
.catalog table {
	font-size: 0.9em;
	margin: 0 1rem 0 1.6rem;
	flex: 1 1 50%;
}

.product thead,
.catalog thead {
	border-bottom: 0.4em solid transparent;
}

.product tbody th,
.catalog tbody th {
	white-space: nowrap;
}

.product > a,
.catalog > a.links {
	position: absolute!important;
	align-self: flex-end;
	#margin: 0 10px 0 0;
	flex: 1 0 auto;
}

.product > a > img,
.catalog > a.links > img {
	float: right;
}

.statt_a {
	display: block;
	width: 31px;
}




/* ------------- product table view------- */


















/* -------------- Downloads -------------- */

.button {
	padding-left: 8px;
	margin: 0 2% 1rem 0;
	width: 31.9%;
}



/* --------------Karriere-------------- */


++.Job {
	position: relative;
	margin: 1rem 4rem 1rem 3rem;
}


++.Joblink {
	position: absolute;
	right: -50px;
	bottom: 0;
}



/* -------------- Contact -------------- */

.contactWrapper {
	font-size: 0;
	padding-bottom: 0;
	margin-bottom: 5rem;
}

.contact {
	font-size: 0.95rem;
	width: 30%;
	margin: 0.6rem 5% 1rem 0;
}

.contact:nth-of-type(3n+0) {
	margin-right: 0;
}

.contact.single {
	position: relative;
	width: 65%;
	margin-bottom: 2rem;
}

.contact.single img {
	width: 46%;	
}

.contact.single p {
	position: absolute;
	bottom: 0;
	left: 53%;
	margin: 0;
}

.contact img {
	width: 100%;	
}

.contact p {
	position: static;
	margin: 1rem 0;
}

.contact p br {
	margin: 0;
}



#footerWrapper {
	display: flex;
	justify-content: flex-end;
	padding: 0rem 1.4rem;			/* Randabstand des Inhaltes */
	margin: 0.3rem auto 0 auto;		/* Höhenanpassung wegen Dividerlinien */
	line-height: 80%;			/* dimension divider lines */
	height: 0.8em;				/* dimension divider lines */
}

#footerWrapper ul{
	display: flex;
	justify-content: center;
	flex: 1;
}

#footerWrapper ul li{
	padding: 0 1.2em;
	text-align: center;
	border-right: 1px solid #4b5055;

}

#footerWrapper ul li:last-of-type {
	border-right: none;
}

#copyright {
	margin: 0;
}


/* ------------ scroll up button ---------------------*/

.scrollUp div {
	line-height: 100%;
	padding: 0 1.4rem;
}






}  /* end media query section ---------------------------------------------------------*/



@media (min-width: 46rem) {       /* for medium screens  ------------------------------*/


.prodCatWrapper > h2 {
	font-size: 1.4rem;
}

.productCatTitle {
    font-size: 1.6rem;
}

.productCat img {
    padding-bottom: 38%;
}

.productCat ul {
    font-size: 1rem;
}


}  /* end media query section ---------------------------------------------------------*/






@media (min-width: 48rem) {       /* for medium screens  ------------------------------*/


#headerWrapper {
	font-size: 0.82rem;
}

#langdisplay {
	margin: 1.8% 0 0 0.8rem;	/* Position zu Logo dynamisch */
	#margin: 0.9rem 0 0 0.4rem;	/* Position zu Logo statisch */
}

#navigation {
	#margin: 0.9rem 0 0 1rem;		/* Position zu Logo statisch */
	margin: 1.8% 0 0 0;		/* Position zu Logo dynamisch */
	flex: 1 0.5 auto;
}

#navigation > ul > li > a {
	padding: 0.3rem 0.6em;
	font-size: 0.82rem;
}

.productTile {
	margin: 0 2% 6% 0;
	width: 23.5%;
}

.tileWrapper .productTile:nth-child(3) {
	margin-right: 2%;
}

.tileWrapper .productTile:nth-child(4) {
	margin-right: 0;
}

.productTileText {
	width: 74%;
	#margin: 0em 0;
	#font-size: 1.2rem;
	#font-style: lighter;
}


.productCat img {
    padding-bottom: 30%;
}




}  /* end media query section ---------------------------------------------------------*/






@media (min-width: 53rem) {       /* for larger screens (ab ca. 740px) ----------------*/


#headerWrapper {
	font-size: 0.9rem;
}

#langdisplay {
	#margin: 0.9rem 0 0 0.8rem;	/* Position zu Logo statisch */
}

#navigation {
	#margin: 0.9rem 0 0 1rem;		/* Position zu Logo statisch */
	#flex: 1 0.5 auto;
}

#navigation > ul > li > a {
	padding: 0.3rem 0.6em;
	font-size: 0.9rem;
}


.productCat img {
    padding-bottom: 22%;
}



}  /* end media query section ---------------------------------------------------------*/




@media only screen and (min-width : 320px) and (max-width : 1200px) {
	body {-webkit-text-size-adjust: 100%;}		/* fix for iphone scaling issue */
}


