﻿html																{}
body																{color:#444; font-size:18px; font-weight: 400; font-family: 'Lato', sans-serif; -webkit-text-size-adjust: 100%; -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;} 

h1, h2, h3, h4, .h1, .h2, .h3, .h4									{word-wrap:break-word; line-height: 1.2em; font-family: 'Libre Franklin'; color: #000; margin-bottom: 30px;}
h1, .h1																{font-size: 60px; font-weight: 700;}
h2, .h2																{font-size: 40px; font-weight: 700; }
h3, .h3																{font-size: 24px; font-weight: 700;}
h4, .h4																{font-size: 20px; font-weight: 700;}

#whoWeAreIntro .partContentText h2, #detailPage .partContentText h2, #introContainer .partContentText h2, #textWithIconsRight h2 {color: #A71930; font-size: 24px; margin-bottom: 5px;}

a                                                                   {}
a:link, a:visited, a:active                                         {}
a:hover                                                             {}
 
strong                                	                            {font-weight: 700; font-style: inherit;}
em                                    	                            {font-style: italic; font-weight: inherit;}

h3.redUnderline, .h3.redUnderline {text-transform: uppercase;}

.basicContainer   													{max-width: 1440px; margin:0px auto; padding:120px 80px 90px 80px; text-align: center;}
.basicContainer.small 												{max-width: 1060px; text-align:left;}
.basicContainer.smallPaddingTop 									{padding-top: 60px;}

.divider:before {content: ''; height:1px; background-color: rgba(0,0,0,.2); display: block; margin:0 80px;}
.darkGreyContainer.divider:before {background-color: rgba(255,255,255,.2);}

.redUnderline {
	position: relative; display: inline-block; padding-bottom: 10px;
}

.redUnderline:after {
	content: ''; position: absolute; bottom: 0; left: 0; width: 50%; height:3px; background-color: #A71930; text-transform: uppercase;
}

/* Icon with material icons */
.buttonIcon, #uspList .partContentText ul li:before, #advantagesImageAndText .advantageText .partContentText ul li:before, .calendar::before, .jobHours:before, .jobLocation:before {
    font-family: 'Material Icons';
    font-weight: 400;
    font-style: normal;
    font-size: 18px;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

/***********************************************
Fundementals
***********************************************/

#stickyTopBar {width: 100%; background-color: transparent; position: fixed; left: 0; top: 0; z-index: 1003; transition:ease 0.3s; /* fade out */}

	#stickyTopBar .basicContainer{height:100%; font-size: 18px; display:flex; align-items:center; padding-top: 40px; padding-bottom: 40px; transition: ease 0.5s; /* fade in */}
		#stickyTopBar #logo {}
			#stickyTopBar #logo svg {display:block; height:60px; fill: #fff;}
			
			#stickyTopBar .partButton {margin-bottom: 0; margin-right: 5px; background-color: transparent;}
				#stickyTopBar .partButton:hover:after { background-color: #A71930; }
				#stickyTopBar .partButton .buttonIcon {font-size: 24px;}

#stickyTopBar.scrolled, .mobileMenuToggleActive #stickyTopBar                     {background-color:#A71930; transition: ease 0.5s; /* fade in */  box-shadow: 4px 4px 10px 0 rgba(0,0,0,.05); }
	#stickyTopBar.scrolled .basicContainer, .mobileMenuToggleActive #stickyTopBar .basicContainer 		{padding-top: 20px; padding-bottom: 20px;}
		
		#stickyTopBar.scrolled .partNavigationLanguage ul > li:hover > a  {background-color:#000;}
		#stickyTopBar.scrolled #stickyTopBar .partNavigation.horizontal ul.level-0 > li > a:hover, #stickyTopBar.scrolled #stickyTopBar .partNavigation.horizontal ul.level-0 > li > a:focus {background-color: #000;}
		#stickyTopBar.scrolled .partButton:hover:after { background-color: #000; }

		#stickyTopBar.scrolled  .partNavigation.horizontal ul.level-0 > li.selected > a { background: #000}

header 			{position: relative; background-color: #000;}

header#basicHeader .basicContainer  {justify-content: flex-end; align-items: flex-start; padding-top: 0;}
header .partContentFileImageGallery.single {opacity: 0.7;}

	#headerOverlay 	{position: absolute; z-index: 10; left: 0; top:0; padding-top: 60px; width: 100%; height: 100%;}
	#headerOverlay .basicContainer 			{color: #fff; height: 100%; padding-top: 90px; padding-bottom: 60px; display: flex; flex-direction: column; justify-content: center; align-items: center;}
	#headerOverlay h1 						{color: #fff; margin-bottom: 15px; text-align: left;}
	#homeHeader #headerOverlay h1 						{text-align: center;}
		ul#headerApplicationList {display: flex; flex-wrap: wrap; justify-content: center; font-size: 20px; margin-bottom: 30px;}
		ul#headerApplicationList li 		{position: relative; margin:0 15px 15px 15px; padding-left: 15px;}
		ul#headerApplicationList li:before 	{color: inherit; font-size: 1em; left: 0em; position: absolute; top:-1px; content: url("data:image/svg+xml,%3Csvg width='10' height='10' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle fill='%23FFF' cx='5' cy='5' r='5'/%3E%3C/svg%3E");}

.greyContainer {background-color: #F5F5F5;}
.darkGreyContainer {background-color: #333333;}
.darkGreyContainer h2 {color: #fff;}

/* intro under header */
#introContainer {background-color: #f5f5f5; color: #222;}
	#introContainer .basicContainer {padding-bottom: 30px; text-align: left;}


/***********************************************
Applications
***********************************************/
	
#applications 		{}
	#applications .basicContainer {}

	#applicationsHome .basicContainer {padding-bottom: 0;}

		#applicationsHome h2, #applications h2		{margin-bottom: 70px;}
		.applicationList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; justify-content: center; text-align: left;}
			.applicationItem 			{background: #fff; position: relative; text-decoration: none; color: inherit; text-align: center;  box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; width: calc(33.3333333333% - 30px); flex: 1 1 auto; top:0; transition:top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 60px 15px; padding:0 30px; display: flex; flex-direction: column; align-items: center;}
				
				.applicationItem .partContentFileImageGallery.single {margin-top: -30px; margin-bottom: 22px; width: 100%; max-width: 160px; background: #000; border-radius: 120px; overflow: hidden;}
				.applicationItem .partContentFileImageGallery.single figure {box-shadow: 0 5px 10px 0 rgba(0,0,0,0.16); }
				.applicationItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}
				.applicationItem h3 {margin-bottom: 8px; text-transform: capitalize;}

				.applicationItem .partContentText {font-size: 16px;} 
				.applicationItem .partContentText p {margin-bottom: 15px;}

				.applicationItem .partButton {margin-top: auto;}

				.applicationItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.6;}
				.applicationItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}

				.applicationItem:hover .partButton.grey:after { background-color: #000;}
				.applicationItem:hover .partButton.grey {color: #fff; }

	/* home and related */
	.greyContainer .applicationItem {width: calc(20% - 30px);}
	.greyContainer .applicationItem h3 {margin-bottom: 30px; text-align: left;}

/***********************************************
Industries
***********************************************/
	
#industries 		{}
	#industries .basicContainer {max-width: 1460px;}

		.industryList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left;}
			.industryItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(25% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				
				.industryItem .partContentFileImageGallery.single {width: 100%; margin-bottom: 22px; flex: 0 0 auto;}
				.industryItem .partContentFileImageGallery.single figure {background: #000;}
				.industryItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}
				
				.industryItemText {padding:0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}

					.industryItem h2 {margin-bottom: 8px;}
					.industryItem h2 a {color: #000; text-decoration: none;}
					.industryItem h2 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

					.industryItem .partContentText {font-size: 16px;} 
					.industryItem .partContentText p {margin-bottom: 15px;}

					.industryItem .partButton {margin-top: auto;}

					.industryItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.6;}
					.industryItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
					
					.industryItem:hover .partButton.grey:after { background-color: #000;}
					.industryItem:hover .partButton.grey {color: #fff; }

/***********************************************
Projects
***********************************************/
	
#projects 		{}
	#projects .basicContainer {text-align: left;}

		.projectList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px;}
			.projectItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(33.3333333333% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				
				.projectItem .partContentFileImageGallery.single {width: 100%; margin-bottom: 22px; flex: 0 0 auto;}
				.projectItem .partContentFileImageGallery.single figure {background: #000;}
				.projectItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}
				
				.projectItemText {padding:0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}

					.projectItem h2 {margin-bottom: 8px;}
					.projectItem h2 a {color: #000; text-decoration: none;}
					.projectItem h2 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

					.projectItem .partContentText {font-size: 16px;} 
					.projectItem .partContentText p {margin-bottom: 15px;}

					.projectItem .partButton {margin-top: auto;}

					.projectItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.6;}
					.projectItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
					
					.projectItem:hover .partButton.grey:after { background-color: #000;}
					.projectItem:hover .partButton.grey {color: #fff; }

/***********************************************
Featured
***********************************************/
	
#featured 		{}
	#featured .basicContainer {text-align: left;}

		.featuredList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px;}
			.featuredItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(33.3333333333% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
			
				.featuredItem .partContentFileImageGallery.single {width: 100%; flex: 0 0 auto;}
				.featuredItem .partContentFileImageGallery.single figure {background: #000;}
				.featuredItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}

				.featuredList.logo .featuredItem .partContentFileImageGallery.single {padding:30px; padding-bottom: 20px;}
				.featuredList.logo .featuredItem .partContentFileImageGallery.single.centerAlign .contentFileImage {justify-content: flex-start;}
				
				.featuredItemText {padding:30px 30px 0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}
				.featuredList.logo .featuredItemText {padding-top: 0;}

					.featuredItem h2, .featuredItem h3 {margin-bottom: 8px;}
					.featuredItem h2 a, .featuredItem h3 a {color: #000; text-decoration: none;}
					.featuredItem h2 a:after, .featuredItem h3 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */
					

					.featuredItem .partContentText {font-size: 16px;} 
					.featuredItem .partContentText p {margin-bottom: 15px;}

					.featuredItem .partButton {margin-top: auto;}

					.featuredItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.6;}
					.featuredList.logo .featuredItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 1;}
					.featuredItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
					
					.featuredItem:hover .partButton.grey:after { background-color: #000;}
					.featuredItem:hover .partButton.grey {color: #fff; }

/***********************************************
Products
***********************************************/

#products {}

#subMenu {margin-bottom: 30px;}

	/* industry related applications & products */
	.productList 			{display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left;}
		.productItem 			{background: #fff; top: 0;  box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); position: relative; border-radius: 23px; transition: top 0.3s ease, box-shadow 0.3s ease; width: calc(25% - 30px); margin:0 15px 30px 15px; padding:30px; padding-bottom: 0; text-decoration: none; display: flex; flex-direction: column; align-items: flex-start;}
		/* .productItem:only-child {width: calc(50% - 30px);} */
		
			.productItem .partContentFileImageGallery.single {margin-bottom: 15px; max-width: 100%;}
			.productItem .partContentFileImageGallery.single .contentFileImage {height: 160px;}
			.productItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}

			.productItem h3 {margin-bottom: 10px; font-size: 18px;}
			.productItem h3 a {color: #000; text-decoration: none; transition: color 0.3s ease;}
			.productItem h3 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

			.productItem .partContentText {font-size: 14px;}
			.productItem .partContentText ul {margin-bottom: 15px;}

			.productItem:hover {box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
			.productItem:hover h3 a {color: #A71930;}

			.productItem .partButton {margin-top: auto;}
			.productItem:hover .partButton.grey:after { background-color: #000;}
			.productItem:hover .partButton.grey {color: #fff;}

#productMediaSummary {}
	#productMediaSummaryContainer {background: #fff; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; overflow: hidden; margin: 0 0px 30px 0px;	padding-bottom: 0;display: flex; flex-wrap: wrap;}

        #productMediaContainer 		{width: 50%; padding-bottom: 30px;}

		#productSummaryContainer 	{width: 50%; border-left: solid 1px #E5E8EB; display: flex;	flex-direction: column;}

			#productSummaryText {padding:30px; padding-bottom: 0; text-align: left;}
			#productSummaryText h2 {margin-bottom: 15px;}

			#productSummaryContainer .partButtonContentContainer {margin-top: auto; background-color: #333; justify-content: flex-start; padding-top: 30px; padding-left: 30px; padding-right: 30px;}


		#productTechnicalInfo   	{text-align: left;}

			#productTechnicalInfo .partContentText table {font-size: 16px; display: block; columns: auto /* set number of columns or set to auto */ 510px /* minimal width */; column-gap: 60px; }
			#productTechnicalInfo .partContentText table tr {break-inside: avoid;}
			#productTechnicalInfo .partContentText table td       {padding: 5px 20px 0px 0px; border:none; border-top:solid 1px #bbb;}
			#productTechnicalInfo .partContentText table tr:last-child td {border-bottom: solid 1px #bbb;}
			#productTechnicalInfo .partContentText table td:last-child 						{color: #222; font-weight: 700; padding-right: 0;}

			@media screen and (max-width: 767px){
				#productTechnicalInfo .partContentText table {overflow-x: auto; display: block;}
			}

/* product range */
.productRange 			{background: #fff; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; overflow:hidden; margin:0 0px 30px 0px; padding-bottom: 0; display: flex; flex-wrap: wrap;}

	.productRangeImages 		{width: 50%; padding-bottom: 30px;}
	.productRangeTextContainer 	{width: 50%; border-left:solid 1px #E5E8EB; display: flex; flex-direction: column;}

		.productRangeText  		{padding:30px 30px 5px 30px; text-align: left;}
			.productRangeText .partContentText h3 	{}
			.productRangeText .partContentText {}
			.productRangeText .partContentText ul {background-color: #F5F5F5; padding:20px;}

		.productRangeTextContainer .partButtonContentContainer {background-color: #333; justify-content: flex-start; margin-top: auto; padding-top: 30px; padding-left: 30px; padding-right: 30px;}

#productRangeAdvantages 	{}
	#productRangeAdvantages .basicContainer {padding-top: 0;}
			#productRangeAdvantagesList 		{width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left; display: flex; flex-wrap: wrap;}
				.productRangeAdvantageItem 			{background: #F5F5F5; border-radius: 23px; width: calc(50% - 30px); margin:0 15px 30px 15px; padding:30px; padding-bottom: 5px; display: flex; flex-wrap: wrap; align-items: flex-start;}
					.productRangeAdvantageItem .partContentFileImageGallery.single {width: 80px; height:80px; background-color: #fff; border-radius: 50%; margin-bottom: 25px;}
					.productRangeAdvantageItem .partContentFileImageGallery.centerAlign .contentFileImage {height:100%;}
					.productRangeAdvantageItemText 		{width: calc(100% - 80px); padding-left: 20px; font-size: 16px;}
					.productRangeAdvantageItemText h3 	{margin-bottom: 0px; font-size: 20px;}
					

#productRangeVideos {}
	#productRangeVideos .basicContainer {}
		#productRangeVideoList 		{width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left; display: flex; flex-wrap: wrap;}
			.productRangeVideoItem 			{width: calc(50% - 30px); margin:0 15px 5px 15px;}
			.productRangeVideoItem.hide {display:none;}
			.productRangeVideoItem:only-child {margin-left: auto; margin-right: auto;}

/* advantages */
.advantages {}

	.advantages .basicContainer {text-align: left;}
	.advantageContainer {display: flex; flex-wrap:wrap;}
		.advantageContainer .partContentFileImageGallery.single {width: 290px; margin-right: 40px;}
		.advantageText {flex: 1;}
		.advantageText .partContentText h3 {margin-bottom: 5px;}
		
		#advantagesImageAndText .advantageText .partContentText ul		{font-size: 16px; columns: auto /* set number of columns or set to auto */ 400px /* minimal width */; column-gap: 40px;}
		#advantagesImageAndText .advantageText .partContentText ul li	{margin-left: 1.6em; break-inside: avoid;}
		#advantagesImageAndText .advantageText .partContentText ul li:before {content: 'check'; color: #999; top: 7px; left: -1.3em;}

/* usp's */
#uspList 	{display: flex; flex-wrap: wrap; width: calc(100% + 50px); margin-left: -25px; margin-right: -25px;}
#uspList .partContentText	{color: #fff; text-align: left; font-size: 14px; width: 25%; padding:0px 25px; margin-bottom: 30px; flex: 1 1 auto; border-left: solid 1px rgba(255,255,255,0.2);}
#uspList .partContentText:first-child {border-left: none;}
	#uspList .partContentText h3 	{color: #fff; margin-bottom: 5px; font-size: 18px;}
	#uspList .partContentText ul	{}
	#uspList .partContentText ul li	{margin-left: 1.6em;}
	#uspList .partContentText ul li:before {content: 'check'; color: #999; top: 3px; left: -1.3em;}

/* cta */
#cta 		{}
	#cta .basicContainer {max-width: 1024px;}
					
/***********************************************
Accesories
***********************************************/

#accessories {}

	.accessoriesList 			{display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px;}
		.accessoryItem 			{background: #fff; top: 0;  box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); position: relative; border-radius: 23px; transition: top 0.3s ease, box-shadow 0.3s ease; width: calc(25% - 30px); margin:0 15px 30px 15px; padding:30px; padding-bottom: 0; text-decoration: none; display: flex; flex-direction: column; align-items: center;}
			.accessoryItem .partContentFileImageGallery.single {margin-bottom: 15px; max-width: 100%;}
			.accessoryItem .partContentFileImageGallery.single .contentFileImage {height: 160px;}
			.accessoryItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}

			.accessoryItem h3 {margin-bottom: 20px;}
			.accessoryItem h3 a {color: #000; text-decoration: none; transition: color 0.3s ease;}
			.accessoryItem h3 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

			.accessoryItem .partContentText {font-size: 14px;}
			.accessoryItem .partContentText ul {margin-bottom: 15px;}

			.accessoryItem:hover {box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
			.accessoryItem:hover h3 a {color: #A71930;}

			.accessoryItem .partButton {margin-top: auto;}
			.accessoryItem:hover .partButton.grey:after { background-color: #000;}
			.accessoryItem:hover .partButton.grey {color: #fff;}

/***********************************************
Home
***********************************************/

#whyChooseUs {}
	#whyChooseUs .basicContainer {text-align: left; max-width: 1184px;}

#overLappingContainer 	{}
#overLappingContainer .basicContainer 	{display: flex; flex-wrap: wrap; align-items: flex-end; padding-top: 0; text-align: left; padding-bottom: 0; margin-bottom: -120px;}

	#overLappingImage 		{width: calc(100% - 490px); box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; background-color: #fff; overflow: hidden;}
		#overLappingImage  .partContentFileImageGallery.single {width: 100%;}
	
	#overLappingText 		{width: 550px; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; margin-left: -60px; margin-bottom: -60px; z-index: 1; background-color: #fff; padding:60px 60px 30px 60px;}
		
		#overLappingText ul     {columns: auto /* set number of columns or set to auto */ 120px /* minimal width */; column-gap: 40px; }
		#overLappingText ul li {margin-bottom: 30px; break-inside: avoid;}
		#overLappingText ul li .number  {font-size: 36px; font-family: 'Libre Franklin'; color: #000; display: block; font-weight: 900;}
		#overLappingText ul li .label 	{display: block;}

		#overLappingText ul li:nth-child(3) .number:after, #overLappingText ul li:nth-child(4) .number:after  {content: '+';}

/* main .partContentFileImageGallery.single {margin-bottom: 30px;} */

#homeIndustries .basicContainer {max-width: 1460px; padding-top: 300px;}


#homeExhibitionsArticles .basicContainer {display: flex; flex-wrap: wrap; text-align: left;}
	#homeExhibitionsArticles h2 {font-size: 30px; margin-bottom: 15px;}

	#homeExhibitionsContainer {padding-right: 15px; width: 33.3333333333%; display: flex; flex-direction: column; align-items: flex-start;}
	#homeExhibitionsContainer .featuredItem {width: calc(100% - 30px);}
	#homeExhibitionsContainer .featuredList {flex: 1 1 auto;}

	#homeArticlesContainer {padding-left: 15px; width: 66.6666666666%;}
	#homeArticlesContainer .featuredItem {width: calc(50% - 30px);}


.calendar 		{font-weight: 700; font-size: 12px; border: 1px solid #E5E8EB; border-radius: 23px; padding:5px 8px; margin-bottom: 15px;}
.calendar::before {content: 'today'; margin-right: 4px; font-size: 12px;}

.location 		{font-weight: 700; font-size: 16px; color: #A71930; margin-bottom: 15px;}

#homeProjects {overflow: hidden;}
#homeProjects .partSlider {max-width: 1024px; margin:0 auto;}

#partners .basicContainer		{padding-top: 0;}

/********************************************** 
Faq
**********************************************/
#faq .partAccordionMenuContent {padding-bottom: 30px;}

/********************************************** 
Service & support
**********************************************/

#serviceSupport   {}
	.serviceSupportContainer {display: flex; flex-wrap: wrap; align-items: flex-start; text-align:left; padding-bottom: 60px;}
	.serviceSupportContainer:first-child::after {content: ''; height:1px; background-color: rgba(0,0,0,.2); display: block; width: 100%; margin-top: 90px;}

		.serviceSupportText 	{width: 50%;}
			.serviceSupportText h3 	{margin-bottom: 0px; color: #A71930;}

		.serviceSupportImage 	{width: 50%;}
			.serviceSupportImage .partContentFileImageGallery.single { box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; overflow:hidden; margin-bottom: 30px;}
		
		.serviceSupportContainer:nth-child(odd) .serviceSupportText 	{padding-right: 30px;}
		.serviceSupportContainer:nth-child(odd) .serviceSupportImage 	{padding-left: 30px;}
		.serviceSupportContainer:nth-child(even) .serviceSupportText 	{padding-left: 30px;}
		.serviceSupportContainer:nth-child(even) .serviceSupportImage 	{padding-right: 30px;}

		.serviceSupportContainer:first-child {padding-bottom: 120px;}
		/* .serviceSupportContainer:last-child:after {display: none;} */
		


/********************************************** 
Who we are
**********************************************/

#whoWeAreIntro  	{}
	#whoWeAreIntro .basicContainer {text-align: left; display: flex; flex-wrap: wrap; padding-bottom: 30px;}

		#whoWeAreIntroText {width: calc(100% - 320px); padding-right: 60px;} 

		#whoWeAreIntro .partContentFileImageGallery.single {width: 320px; margin-bottom: 25px;}
			#whoWeAreIntro .partContentFileImageGallery.single img {border-radius: 50%;}

#quote {color: #fff;}
	#quote .basicContainer {padding-top: 300px; max-width: 1024px;}

	#quote .partContentText {font-size: 22px; font-weight: 700;}
	#quote svg {height:40px; margin-bottom: 30px; fill: #A71930;}
	#quote #quotePerson {display: block; font-weight: 700; margin-bottom: 30px; line-height:1.3em;}

#values {}
	#values .basicContainer {text-align: left; padding-bottom: 80px;}

		#valuesText {max-width: 885px;}

		#valueList 		{width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left; display: flex; flex-wrap: wrap;}
				.valueItem 			{background: #F5F5F5; border-radius: 23px; width: calc(50% - 30px); margin:0 15px 30px 15px; padding:30px; padding-bottom: 5px; display: flex; flex-wrap: wrap; align-items: flex-start;}
					.valueItem .partContentFileImageGallery.single {width: 80px; height:80px; background-color: #fff; border-radius: 50%; margin-bottom: 25px;}
					.valueItem .partContentFileImageGallery.centerAlign .contentFileImage {height:100%;}
					.valueItem .partContentText		{width: calc(100% - 80px); padding-left: 20px;}
		
#history {}
	#history .basicContainer {text-align: left;}

		/* Timeline */
		#historyList { border-left: 4px solid #A71930; border-bottom-right-radius: 4px; border-top-right-radius: 4px; padding-top: 40px; padding-bottom: 1px; color: #fff; position: relative; line-height: 1.4em; font-size: 24px; font-weight: 700; list-style: none; text-align: left; font-family: 'Libre Franklin'; margin-left: 120px; padding-left: 30px; max-width: 885px; }
		#historyList .historyItem { margin-bottom: 50px; position: relative; }
		#historyList .historyItem:last-child {margin-bottom: 40px;}
		#historyList .historyItem .eventDate, #historyList .historyItem:after { position: absolute; display: block; top: 0; }
		#historyList .historyItem .eventDate { left: -150px; color: #999; text-align: right; width: 120px; padding-right: 30px; }
		#historyList .historyItem:after { box-shadow: 0 0 0 4px #A71930; left: -37px; background: #333333; border-radius: 50%; height: 11px; width: 11px; content: ""; top: 12px; }
  
#teamPhoto {}
	#teamPhoto .basicContainer {text-align: left; padding-bottom: 30px;}

#teamProfiles {}
	#teamProfiles .basicContainer {text-align: left;}

	#teamList 				{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left;}
		.teamItem 				{background: #fff; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); position: relative; border-radius: 23px; width: calc(20% - 30px); margin:0 15px 30px 15px; overflow: hidden;}
			.teamItem .partContentFileImageGallery.single {margin-bottom: 15px; max-width: 100%;}
			.teamItem h3 			{font-size: 18px; margin:20px; margin-bottom: 5px;}
			.jobTitle 				{color: #A71930; font-weight: 700; margin:20px; margin-top: 0; display: block;}

/***********************************************
Industries
***********************************************/

#industries 		{}
	#industries .basicContainer {max-width: 1460px;}

		.industryList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left;}
			.industryItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(25% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				
				.industryItem .partContentFileImageGallery.single {width: 100%; margin-bottom: 22px; flex: 0 0 auto;}
				.industryItem .partContentFileImageGallery.single figure {background: #000;}
				.industryItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}
				
				.industryItemText {padding:0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}

					.industryItem h2 {margin-bottom: 8px;}
					.industryItem h2 a {color: #000; text-decoration: none;}
					.industryItem h2 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

					.industryItem .partContentText {font-size: 16px;} 
					.industryItem .partContentText p {margin-bottom: 15px;}

					.industryItem .partButton {margin-top: auto;}

					.industryItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.6;}
					.industryItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
					
					.industryItem:hover .partButton.grey:after { background-color: #000;}
					.industryItem:hover .partButton.grey {color: #fff; }

/***********************************************
Business partners
***********************************************/

#businessPartners 		{}
	#businessPartners .basicContainer {max-width: 1460px;}

		.businessPartnerList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px; text-align: left;}
			.businessPartnerItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(25% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				
				.businessPartnerItem .partContentFileImageGallery.single {margin-bottom: 22px; padding:30px 30px 0 30px;}
				.businessPartnerItem .partContentFileImageGallery.centerAlign .contentFileImage {justify-content:flex-start;}
				
				.businessPartnerItemText {padding:0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}

					.businessPartnerItem h2 {margin-bottom: 8px;}
					.businessPartnerItem h2 a {color: #000; text-decoration: none;}
					.businessPartnerItem h2 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

					.businessPartnerItem .businessPartnerType {color: #a71930; font-weight: 700;}

					.businessPartnerItem .partContentText {font-size: 16px;} 
					.businessPartnerItem .partContentText p {margin-bottom: 15px;}

					.businessPartnerItem .partButton {margin-top: auto;}
					.businessPartnerItem:hover .partButton.grey:after { background-color: #000;}
					.businessPartnerItem:hover .partButton.grey {color: #fff; }

/***********************************************
Careers
***********************************************/
	
#careers 		{}
	#careers .basicContainer {text-align: left;}

		.careerList 			{display: flex; flex-wrap: wrap; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px;}
			.careerItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); padding:30px; padding-bottom: 0; border-radius: 23px; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; position: relative; width: calc(50% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				
				.careerItem .partContentFileImageGallery.single {width: 100%; margin-bottom: 22px; flex: 0 0 auto;}
				.careerItem .partContentFileImageGallery.single figure {background: #A71930;}
				.careerItem .partContentFileImageGallery.single .imagePlaceholderContainer {transition: opacity 0.3s ease;}
				
					.careerItem .careerLabels 	{display: flex; flex-wrap: wrap; padding-bottom: 10px;}
						.careerItem .careerLabels li {margin-right: 5px; margin-bottom: 5px; border:solid 1px #E5E8EB; height:26px; padding:0 10px; font-size: 12px; font-weight: 600; display: flex; align-items: center; border-radius: 13px;}
						.careerItem .careerLabels li:last-child {margin-right: 0;}
						.careerItem .careerLabels li:before {font-size: 12px; margin-right: 5px;}
						.jobHours 			{}
 						.jobHours:before 	{content: 'schedule';}
						.jobLocation  		{}
						.jobLocation:before {content: 'place';}

					.careerItem h2 {margin-bottom: 8px;}
					.careerItem h2 a {color: #000; text-decoration: none;}
					.careerItem h2 a:after {content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2;} /* link hack */

					.careerItem .partContentText {font-size: 16px;} 
					.careerItem .partContentText p {margin-bottom: 15px;}

					.careerItem .partButton {margin-top: auto;}

					.careerItem:hover .partContentFileImageGallery.single .imagePlaceholderContainer {opacity: 0.2;}
					.careerItem:hover { box-shadow: 0 5px 25px 0 rgba(0,0,0,0.16); top:-5px;}
					
					.careerItem:hover .partButton.grey:after { background-color: #000;}
					.careerItem:hover .partButton.grey {color: #fff; }

/***********************************************
Detail
***********************************************/
	
#headerOverlay .basicContainer.small h1 {text-align: left;}

.basicContainer.small .partButtonContentContainer {justify-content: flex-start;}

#socialShare 	{display: flex; justify-content: center; padding-top: 30px; margin-bottom: 30px;}
	#socialShareContainer 							 {display:inline-flex; flex-wrap: wrap; align-items:center; background: #fff; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); padding:30px; border-radius: 23px;}
		#socialShareLabel                    			{font-size: 22px; line-height: 1.2em; font-family: 'Libre Franklin'; color: #000; font-weight: 700;}
		#socialShareContainer a 	          		 	{margin-left: 10px; height:46px; width:46px; background-color:#A71930; display:flex; align-items:center; justify-content:center; transition:0.3s ease; border-radius: 23px;}
		#socialShareContainer a:hover        			{background-color:#000;}
		#socialShareContainer a svg           			{fill:#fff; height:16px;}  

/***********************************************
Contact
***********************************************/
	
#contact 		{}
	#contact .basicContainer {text-align: left;}

		.contactList 			{display: flex; flex-wrap: wrap; justify-content: center; width: calc(100% + 30px); margin-left: -15px; margin-right: -15px;}
			.contactItem 			{background: #fff; top:0; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; display: flex; flex-direction: column; overflow: hidden; position: relative; width: calc(50% - 30px); transition: top 0.3s ease, box-shadow 0.3s ease; margin:0 15px 30px 15px;}
				.contactItem .partContentFileImageGallery {border-bottom: solid 1px #f0f0f0; padding:30px;}
				.contactItem .partContentFileImageGallery.centerAlign .contentFileImage {justify-content: flex-start;}
			
				.contactItemText {padding:30px 30px 0 30px; display: flex; flex-direction: column; align-items: flex-start; flex: 1 1 auto;}

				.contactItem .partButton {margin-top: auto;}

					.contactItem h2 {margin-bottom: 8px; color: #A71930;}

					.contactItem .partContentText {font-size: 16px;} 
                .contactItemForm    {padding: 30px 30px 0px 30px;}

/***********************************************
Contact detailpage
***********************************************/
#contactDetailPage {}
        #contactDetailPage .basicContainer {}

			#imageWithTextAndIcons {display: flex; flex-wrap: wrap;}
				
				#imageLeftContainer {width: 50%; padding-right: 15px; margin-bottom: 25px;}

				#textWithIconsRight {width: 50%; padding-left: 15px; text-align: left; padding-left: 25px; margin-bottom: 25px;}
					
					#uspListContact 	{margin-bottom: 25px;}
						.uspItemContact 	{display: flex; align-items: center; text-decoration: none; margin-bottom: 15px; background: #F5F5F5; border-radius: 23px; padding:30px;}
						.uspItemContact .partContentFileImageGallery.single {width: auto;}
							.uspItemContact .partContentFileImageGallery .contentFileImage {width: 80px; height: 80px; margin-right: 20px; background-color: #fff; border-radius: 50%;}
						.uspItemContact .label {font-weight: 700; color: #000; line-height: 1.3em;}
					#uspListContact .uspItemContact:last-child {margin-bottom: 0;}

/***********************************************
Search
***********************************************/

#search {}

/***********************************************
Newsletter signup
***********************************************/
#signupNewsletter {}

#applications + #signupNewsletter:before {content: ''; height:1px; background-color: rgba(0,0,0,.2); display: block; margin:0 80px;}
#signupNewsletter .basicContainer 	{display: flex; flex-wrap: wrap;}	
	
		#signupNewsletterText				{width: 500px; text-align: left; padding-bottom: 30px;}
            #socialFooterBar  		{display: flex; flex-wrap: wrap;}
                    #socialFooterBar a 		{display: flex; align-items: center; color: inherit; text-decoration: #000; margin-right: 30px; margin-bottom: 20px;}
                    #socialFooterBar a:last-child {margin-right: 0;}
                    #socialFooterBar a .icon {height: 46px; width: 46px; margin-right: 6px; background-color: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center; transition: background-color 0.3s;}
                    #socialFooterBar a:hover .icon {background-color: #A71930;}
                        #socialFooterBar a svg 	{width: 16px; max-width: 16px; max-height: 18px;}
                        #socialFooterBar .linkedInSocial svg 	{fill: #2061AF;}
                        #socialFooterBar .youtubeSocial svg 	{fill: #A71930;}
						#socialFooterBar .facebookSocial svg 	{fill: #4267B2;}
                        #socialFooterBar a:hover svg 	{fill: #fff;}

                    #socialFooterBar a .label {font-weight: 700;}
		#signupNewsletterForm 				{width: calc(100% - 500px); text-align: left; padding:0px 0px 10px 60px}
			#signupNewsletterForm h3 			{margin-bottom: 15px;}


/********************************************** 
Footer 
**********************************************/

#tagline 					{background-color: #333;}
	#tagline .basicContainer 	{text-align: right; padding-top: 30px; padding-bottom: 33px;}
	#tagline span 				{font-family: 'Libre Franklin'; font-weight: 900; color: #fff; font-size: 20px; display: block; letter-spacing: 2px;}

#mainFooter 				{background-color: #a71930;}
	#mainFooter .basicContainer {display: grid; grid-template-columns: 740px auto; gap:60px; align-items: flex-start; padding-top: 0; padding-bottom: 60px; text-align: left;}

		#footerContactBlock 		{background-color: #fff; max-width: 740px; box-shadow: 0 10px 50px 0 rgba(0,0,0,0.08); border-radius: 23px; padding:60px; padding-bottom: 35px; margin-top: -60px;}
			#footerLogo 				{height: 30px; margin-bottom: 25px;}	
			#footerText 				{display: flex; flex-wrap: wrap; font-size: 14px; gap:10px 50px;}
				#footerText .h4 			{color: #A71930; margin-bottom: 5px; font-size: 20px;}
		
		#footerMenu 				{display: grid; grid-template-columns: repeat(2, 1fr); gap:30px; padding:60px 0px 0px 0px;}
			.footerMenuColumn 			{color: #fff; line-height: 1.3em; flex: 1 1 auto;}
			.footerMenuColumn .heading 		{font-family: 'Libre Franklin';font-size: 20px; font-weight: 700; margin-bottom: 10px; display: inline-block;}
			.footerMenuColumn:first-child {font-family: 'Libre Franklin';font-size: 20px; font-weight: 700;}
			.footerMenuColumn:last-child 	{grid-column: span 2;}
			.footerMenuColumn ul 				{columns: auto /* set number of columns or set to auto */ 225px /* minimal width */; column-gap: 60px;}
			.footerMenuColumn ul li 			{margin-bottom: 10px; break-inside: avoid;}
			.footerMenuColumn ul li a 			{color: #fff; text-decoration: none;}
			.footerMenuColumn ul li a:hover 	{text-decoration: underline;}
			

#smallFooter 				{background-color: #A71930; color: #fff;}
	#smallFooter .basicContainer 	{padding-top: 0; padding-bottom: 0;}
		#smallFooter ul 				{display: flex; flex-wrap: wrap; justify-content: flex-end; gap:15px 30px; border-top:solid 1px rgba(255,255,255,0.2); font-size: 14px; padding:20px 0;}
			#smallFooter ul li 				{}
			#smallFooter ul li a 			{color: #fff; text-decoration: none;}
			#smallFooter ul li a:hover 		{text-decoration: underline;}

			#smallFooter #cookie            {cursor: pointer;}
			#smallFooter #cookie:hover      {text-decoration: underline;}


/* mobile toggle menu */
body.mobileMenuToggleActive                               {position: fixed; /* prevents scrolling bug at the bottom of the screen  */ }

#mobileMenuToggle  											{outline:0; border:none; border-radius: 0; margin:0; padding:0; text-decoration: none; background-color: transparent; font-family: inherit; line-height: normal; font-weight: inherit; color: inherit; font-size: 1em; cursor: pointer; -webkit-appearance: none; /* button reset */}
#mobileMenuToggle                                         {position:relative; z-index: 1002; display:none; align-items:center; margin-left: auto;}      

#mobileMenuToggle .mobileMenuButtonLabel                         {margin-left:5px;  font-family: 'Libre Franklin'; font-weight: 700; font-size: 20px; color: #fff;}
#mobileMenuToggle .mobileMenuButtonHamburger 					{width: 20px; height:21px; display:flex; flex-direction:column; justify-content:center;}
#mobileMenuToggle .mobileMenuButtonHamburger span 				{width: 20px; height: 3px; background-color: #fff; margin: 2px 0px; transition: all 0.3s ease-in-out;}
#mobileMenuToggle .mobileMenuButtonHamburger span:nth-child(2) 	{width: 15px;}

#mobileMenuToggle.active .mobileMenuButtonHamburger span 				      {background-color: #fff;}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(1) {transform: translateY(7px) rotate(45deg);}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(2) {opacity: 0;}
#mobileMenuToggle.active .mobileMenuButtonHamburger span:nth-child(3) {transform: translateY(-7px) rotate(-45deg);}

/* Menu overlay */
#mobileMenuToggleContainer 			{left: 0%; top: 56px; width: 100%; height: 100%; display:none; position: fixed; background-color:#fff; z-index: 1002;}
body.mobileMenuToggleActive #mobileMenuToggleContainer 	{display:block;} 

#mobileMenuToggleContainerScroll                      {overflow-y: auto; height: calc(100% - 56px);}

@media screen and (min-width: 1024px){
    body.mobileMenuToggleActive #mobileMenuToggleContainer {display: none;}
}

@media (max-width: 1023px){
  #mobileMenuToggleContainerScroll {overflow-y:scroll; -webkit-overflow-scrolling: touch;}
}		


/* Language based css */

    /* German */
    :lang(de) #signupNewsletterText h2 {font-size: 36px;}

/*******************************************
Cookbiebot
*******************************************/

.CookieDeclaration 	{line-height: 1.7em;}
	.CookieDeclaration p { margin-bottom: 25px; } 
	.CookieDeclarationType {font-size: 16px; line-height: 1.4em;}
	.CookieDeclarationTypeHeader {color: #A71930; font-size: 20px;}

	@media (max-width: 667px){
		.CookieDeclaration p {font-size: 18px;}
		.CookieDeclarationType {font-size: 16px;}
	}

	/* text and file link */
	.CookieDeclaration a { color:inherit; background-image: linear-gradient(#ccc, #ccc), linear-gradient(#A71930, #A71930); background-size: 100% 2px, 0 2px; background-position: 100% 100%, 0 100%; background-repeat: no-repeat; transition: background-size 0.3s ease; text-decoration: none; }
	.CookieDeclaration a:hover { background-size: 0 2px, 100% 2px; }


/***********************************************
Whatsapp floating button 
***********************************************/

#whatsappFloatingButton {
	position: fixed;
	bottom: 12px;
	left: 25px;
	width: 60px;
	height: 60px;
	background-color: #25d366;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	z-index: 1000;
	animation: whatsappButtonAnimation 0.5s;
}

#whatsappFloatingButton svg {
	width: 36px;
	fill: #fff;
}

/*  ==========================================================================
    Notification message
    ========================================================================== */

#fixedNotificationMessage {
	font-size: 1rem;
	background-color: #fff;
	padding: var(--spacing-30);
	width: 400px;
	text-align: left;
	position:fixed;
	right:90px;
	bottom: 20px;
	z-index: 4000;
}

/* text */
#fixedNotificationMessage .partContentText {
	line-height: 1.4em;
}

#fixedNotificationMessage .partContentText p {
	margin-bottom: 1em;
}

/* button */
#fixedNotificationMessage .partButton {

}

/* close */
#fixedNotificationMessage-close {
	position: absolute;
	top:0;
	right:0;
	width: 2.5rem;
	height:2.5rem;
	display: flex;
	z-index: 5000;
}

/* icon */
#fixedNotificationMessage-close svg {
	margin:auto;
	fill: #000;
	height: 0.875rem;
	width: 0.875rem;
}

/* responsive */
@media screen and (max-width: 1200px){
	#fixedNotificationMessage {
		padding-right: 2.5rem; /* size of close button */
	}
}

@media screen and (max-width: 667px){
	#fixedNotificationMessage {width: calc(100% - 50px - 60px);}
}

