@font-face 
{ 
	font-family: 'RotisSansStd';
	src: url('../fonts/Rotis-SansSerif-Std.ttf') format('truetype');
	src: url('../fonts/Rotis-SansSerif-Std.woff') format('woff');
	font-weight: normal;
	font-style: normal;
}


body
{	
	color: #3C4858;
	padding: 0px;
	margin: 0px;
	font-size: 16px;
	background-color: #fff;
	font-family: 'RotisSansStd', sans-serif;
}

h1, h2, h3, h4, h5, h6
{
	margin: 0px;
	padding: 0px;
	color: #000;
	text-transform: none;
	font-weight: normal;
	text-transform: uppercase;
	display: block;

	word-break: break-word;
	-ms-hyphens: auto;
	-webkit-hyphens: auto;
	hyphens: auto;
}

h1 > small, h2 > small, h3 > small, h4 > small, h5 > small, h6 > small
{
	margin: 0px;
	margin-left: 10px;
	padding: 0px;
	color: #3C4858;
	text-transform: none;
	font-weight: normal;
}

h1
{
	font-size: 32px;
}

h2
{
	font-size: 28px;
}

h3
{
	font-size: 24px;
}

h4
{
	font-size: 20px;
}

h5
{
	font-size: 18px;
}

h6
{
	font-size: 16px;
}

p
{
	margin: 0px;
	padding: 0px;
	font-size: 17px;
	text-align: justify;
}

a:link {color: #3C4858; text-decoration: none;}
a:visited {color: #3C4858; text-decoration: none;}
a:hover {color: #000; text-decoration: none;}
a:active {color: #3C4858; text-decoration: none;}

.block
{
	display: block;
}

/* ******************************************************************************************** */


/* Select */
::-moz-selection
{ 
	color: #fff; 
    background: #000;
}

::selection 
{
	color: #fff; 
    background: #000;
}
/* Select Ende */

/* Footer */
footer
{
	background-color: #f1f1f1;
	color: #656565 !important;
	text-transform: uppercase;
	position: absolute;
	bottom: 0;
	width: 100%;
}


.footerText a:link {color: #3C4858; text-decoration: none;}
.footerText a:visited {color: #3C4858; text-decoration: none;}
.footerText a:hover {color: #000; text-decoration: none;}
.footerText a:active {color: #3C4858; text-decoration: none;}

.footerCopyright
{
	text-align: left;
    line-height: 25px;
	font-size: 12px;
	padding-top: 2px;
}

.footerNav
{
	text-align: right; 
    line-height: 25px;
	font-size: 12px;
	padding-top: 2px;
}

.backToTop
{
	position: fixed;
	bottom: 60px;
	right: 0px;
	opacity: 1;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 5px 10px;
	z-index: 99999;
	display: none;
}

/* COOKIES */
.cookie-container
{
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 999999;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;

	user-select: none;
	-moz-user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-o-user-select: none;

	padding: 15px 30px;
	font-size: 18px;
	background-color: #656565;
	color: #fff;

	visibility: hidden;
}

.cookie-msg
{
	cursor: default;
	margin-right: 1rem;
}

.cookie-link,
.cookie-link:active,
.cookie-link:visited
{
	color: #fff !important;
	cursor: pointer !important;
	text-decoration: underline !important;
	opacity: 0.8;
	-webkit-transition: opacity 0.4s ease;
	-moz-transition: opacity 0.4s ease;
	-ms-transition: opacity 0.4s ease;
	-o-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
}

.cookie-link:hover
{
	color: #fff;
	opacity: 1;
	text-decoration: underline;
}

.cookie-button
{
	font-size: 16px;
	text-transform: uppercase;
	margin-left: auto;
	padding: 7px 20px;
	border: 2px solid #fff;
	opacity: 0.8;
	cursor: pointer;
	-webkit-transition: opacity 0.4s ease;
	-moz-transition: opacity 0.4s ease;
	-ms-transition: opacity 0.4s ease;
	-o-transition: opacity 0.4s ease;
	transition: opacity 0.4s ease;
	font-weight: 400;
}

.cookie-button:hover
{
	opacity: 1;
}
/* COOKIES END */
/* Footer Ende */


/* Margin */
.marginBottom
{
	margin-bottom: 30px !important;
}

.marginBottomLarge
{
	margin-bottom: 60px !important;
}

.marginBottomSmall
{
	margin-bottom: 15px !important;
}

.marginBottomExtraSmall
{
	margin-bottom: 8px !important;
}

.marginTop
{
	margin-top: 30px !important;
}

.marginTopLarge
{
	margin-top: 60px !important;
}

.marginTopSmall
{
	margin-top: 15px !important;
}

.marginTopExtraSmall
{
	margin-top: 8px !important;
}

.removePaddingMargin
{
	padding: 0px !important;
	margin: 0px !important;
}

.marginBottomHeading
{
	margin-bottom: 4px !important;
}

/* Margin Ende */


/* Input */
input, textarea
{
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	box-shadow: 0px;
	background-color: #fff;
	border: 1px solid #d6d4d5;
	color: #3C4858;
	border-radius: 0px;
	line-height: normal;
}

textarea
{
	padding: 5px 10px;
}

input
{
	height: 34px;
	padding: 0px 10px;
}

/*
input[type=date]
{
	padding: 2.5px 10px;
}
*/

@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) 
{
	input[type=date], input[type=month]
	{
		padding: 2.5px 10px;
	}
}

input:disabled, textarea:disabled
{
	background-color: #fafafa;
	color: #3C4858;
	border: 1px solid #fafafa;
}

input:disabled:hover, textarea:disabled:hover
{
	background-color: #fafafa;
	border: 1px solid #fafafa;
}

input:focus, textarea:focus
{
	border: 1px solid #d6d4d5;
	outline: none;
}

textarea
{
	max-width: 100%;
	min-height: 200px;
}

.submitButton
{
	text-transform: uppercase;
	color: #3C4858;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.submitButton:hover
{
	color: #3C4858;
	border-color: #3C4858;
	background-color: transparent;
}

.submitButton:focus
{
	color: #3C4858;
	border-color: #3C4858;
	background-color: transparent;
}

label
{
	/*text-transform: uppercase;*/
	font-weight: normal;
	-webkit-appearance: none;
}

.checkboxLabel 
{
	display: inline;
	margin-bottom: -5px;
	margin-right: 10px;
}

input[type='checkbox'] 
{
	display: none;
}

input[type='checkbox'] + .checkboxLabel 
{
	border: 1px solid #d6d4d5;
	height: 34px;
	width: 34px;
	display: inline-block;
	position: relative;
}

input[type='checkbox']:checked + .checkboxLabel:after 
{
    content: 'X';
    font-size: 23px;
    font-weight: 300;
    position: absolute;
    top: 5px;
    left: 9.5px;
    line-height: 1;
    text-transform: none;
    padding: 0px;
    margin: 0px;
}


.hrefButton
{
	display: inline-block;
	width: 100%;
	box-shadow: 0px;
	background-color: #fff;
	padding: 5px 10px;
	border: 1px solid #d6d4d5;
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0px;
	text-transform: uppercase;
	color: #3C4858;
	text-align: center;
}

.hrefButton:hover
{
	color: #3C4858;
	border-color: #3C4858;
}
/* Input Ende */

/* Home */
.logoContainer
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: rgba(255, 255, 255, 0.7);
	padding: 7rem;
	width: 100%;
}


.captionContainerOuter
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.captionContainerOuter > .container-fluid > .row
{
	position: absolute;
	bottom: 15px;
	width: 100%;
}

.captionContainer
{
	float: right;
	max-width: 450px;
	padding: 20px;
	width: 100%;
	color: #656565;
	text-align: left;
	background-color: rgba(255, 255, 255, 0.7);
	display: inline-block;
	text-transform: uppercase;
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.captionContainer:hover
{
	background-color: rgba(255, 255, 255, 1);
}

.captionHeading
{

	font-size: 1.6em;
}

.captionSubHeading
{

	font-size: 16px;
}
/*
.captionSubtitle
{
	text-align: left;
	font-size: 18px;
}
*/
/* Home Ende */

/* Projects */
.projectOverviewImageContainer
{
	max-width: 100%;
	height: 220px;
}

.projectOverviewImageContainer:hover
{
	cursor: pointer;
}

.projectOverviewImageOverlay
{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.25);
	-webkit-transition: opacity 400ms, visibility 400ms;
	transition: opacity 400ms, visibility 400ms;
	margin: 0px 15px;
}

.projectOverviewImageContainer:hover > .projectOverviewImageOverlay
{
	visibility: hidden;
	opacity: 0;
}

.projectOverviewImageOverlayText
{
	position: absolute;
	left: 50%;
	bottom: 20px;
    transform: translate(-50%, 0%);
	color: #fff;
	text-align: center;
	text-transform: uppercase;
	font-size: 19px;
	width: 80%;
	text-shadow: 0px 0px 5px #656565; 
}

.projectOverviewImageOverlayTitle
{
	font-weight: bold;
	text-transform: uppercase;
}

.projectOverviewImage
{
	max-width: 100%;
	height: 220px;
}

.projectFilter
{
	text-align: center;
}

.projectFilter > ul
{
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: table;
    width: 100%
}

.projectFilter > ul > li
{
	padding: 8px 16px;
	background-color: #f1f1f1;
	transition: all 0.15s linear;
	-webkit-transition: all 0.15s linear;
	-moz-transition: all 0.15s linear;
	color: #656565;
	display: table-cell;
}

.projectFilter > ul > li:hover, .projectFilter > ul > li.selected
{
	cursor: pointer;
	color: #656565;
	background-color: #fff;
}

@media (max-width: 999px) 
{
	.projectFilter > ul
	{
		display: block;
	}
	
	.projectFilter > ul > li
	{
		display: block;
	}	
}


.projectFilterNoHover:hover
{
	cursor: default !important;
	color: #656565 !important;
	background-color: #f1f1f1 !important;
}

.projectDetails
{
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.projectDetails > li
{
	padding: 10px 0px;
}

.projectDetails > li:first-child
{
	padding-top: 0px;
}

.projectDetails > li:last-child
{
	padding-bottom: 0px;
}

.projectDetailsHeading
{
	text-transform: uppercase;
	color: #000;
	font-size: 15px;
}

#category
{
	text-transform: none;
}
/* Projects Ende */

.itemLink:hover div
{
	background-color: #fff;
	-webkit-transition: 200ms linear;
	-ms-transition: 200ms linear;
	transition: 200ms linear;
	color: #000;
}

.itemLink:hover div, .itemLink:hover h5, .itemLink:hover h6
{
	color: #000;
}


/* slick Slider Buttons */
.prev.swiper-button-white
{
	background-image: url('../images/arrowLeft.svg');
}

.next.swiper-button-white
{
	background-image: url('../images/arrowRight.svg');
}

.slickSlideLarge
{
	background-color: #fff;
}

.slickSlideLarge > img
{
	max-width: 100%;
	height: 50vw;
	max-height: 500px;
	margin: 0 auto;
}

.slickSlideSmall
{
	width: 40vw;
	height: 20vw;
	max-height: 120px;
	background-size: cover;
	margin: 0px 15px;
}

.sliderPrimary 
{
	width: 100%;
}

.slick-dots li.slick-active button:before
{
	color: #000;
}

.slick-dots li button:before
{
	color: #3C4858;
}

.slick-slide
{
	outline: none !important;
}
/* slick Slider Buttons Ende */

/* siteNav */
.siteNav
{
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: block;
	text-align: center;
}

.siteNav > li
{
	display: inline;
}

.siteNav > li > a
{
	padding: 8px 16px;
	background-color: #f1f1f1;
	color: #656565;
	transition: all 0.15s linear;
    -webkit-transition: all 0.15s linear;
    -moz-transition: all 0.15s linear;
}

.siteNav > li.activeSite > a
{
	background-color: #fff;
}

.siteNav > li > a:hover
{
	background-color: #fff;
	cursor: pointer;
}
/* siteNav Ende */

#mitarbeiterBild > img
{
	max-width: 100%;
}

.mitarbeiterBildOverlay
{
	z-index: 999;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(255, 255, 255, 0.7);
	color: #656565;
	margin: 0px 15px;
	padding: 5px 15px;
}

.employeeImageLink:hover
{
	cursor: pointer;
	text-decoration: underline;
}

.employeeHidden
{
	color: transparent;
	text-shadow: 0 0 20px rgba(0,0,0,0.3);
}

.employeeHiddenActive
{
	color: transparent !important;
	text-shadow: 0 0 10px rgba(9,9,157,0.3);
}

/*
.imgContainer
{
	width: 100%;
	height: 220px;
	position: relative;
	overflow: hidden;
	border: 1px solid #f1f1f1;
}

.imgContainer > img
{
	height: auto;
	width: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
*/

.imgContainer
{
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	border: 1px solid #f1f1f1;
}

.imgContainer > img
{
	width: 100%;
	height: auto;
}

.imgContainerVertical
{
	width: inherit;
	height: 200px;
	position: relative;
	overflow: hidden;
	border: 1px solid #f1f1f1;

}

.imgContainerVertical > img
{
	height: 100%;
	width: auto;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.paddingBottom
{
	padding-bottom: 25px;
}

.year
{
	content:"";
	position: absolute;
	top: 30%;
	left: calc(80% - 70px);
	transform: translateY(-55%);
	font-size: 20px;
	color: #3C4858;
}

.timeLine:after ,.timeLineLarge:after
{
    content:"";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 80%;
	border-right: 1px solid #3C4858;
    transform: translate(-80%);
}

.timeLine:before, .timeLineLarge:before
{
	content:"";
	position: absolute;
	top: 30%;
	left: calc(80% - 6px);
	transform: translateY(-50%);
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #3C4858;
	z-index: 10;
}

.timeLineLarge:before
{
	width: 31px;
	height: 31px;
	left: calc(80% - 16px);
	background-color: #fff;
	border: 2px solid #3C4858;
}

.row-eq-height 
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

.siteNavText
{
	display: block;
	margin: 0 auto;
	width: 180px;
}

.siteNavText > div > a
{
	font-size: 24px;
}

.siteNavText > div
{
	padding: 0px 10px;
}

.siteNavText > div > a.disabled
{
	pointer-events: none;
	color: #f1f1f1;
	cursor: default !important;
}

.siteNavText > div > a:hover
{
	color: #000;
}

/* SIMPLE LIGHTBOX */
.sl-close-c
{
	width: 35px;
	height: 35px;
	background-size: 35px 35px;
	/*background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='#fff' stroke-width='2' viewBox='0 0 44 44' %3E%3Cpath d='M19.9 22l22-22L44 2.1 24.1 22 44 41.9 41.9 44zm4.2 0l-22 22L0 41.9 19.9 22 0 2.1 2.1 0z' fill='#fff'/%3E%3C/svg%3E");*/
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg id='svgcontent' viewBox='0 0 500 500' overflow='hidden' xmlns='http://www.w3.org/2000/svg' xmlns:se='http://svg-edit.googlecode.com' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpolygon fill='%23fff' points='496.37689208984375,53.573612213134766 447.1802062988281,4.376903533935547 250.37689208984375,201.18019104003906 53.573612213134766,4.376903533935547 4.376903533935547,53.573612213134766 201.18019104003906,250.37689208984375 4.376903533935547,447.1802062988281 53.573612213134766,496.37689208984375 250.37689208984375,299.5736389160156 447.1802062988281,496.37689208984375 496.37689208984375,447.1802062988281 299.5736389160156,250.37689208984375' stroke='null'%3E%3C/polygon%3E%3C/svg%3E");
	background-size: cover;
	
}

.sl-next-c
{
	width: 37px;
	height: 60px;
	background-size: 37px 60px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44' %3E%3Cpath d='M27,22L27,22L5,44l-2.1-2.1L22.8,22L2.9,2.1L5,0L27,22L27,22z' fill='#fff'/%3E%3C/svg%3E");
	background-size: cover;
}

.sl-prev-c
{
	width: 37px;
	height: 60px;
	background-size: 37px 60px;
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44' %3E%3Cpath d='M0,22L22,0l2.1,2.1L4.2,22l19.9,19.9L22,44L0,22L0,22L0,22z' fill='#fff'/%3E%3C/svg%3E");
	background-size: cover;
}

.sl-image
{
	border: 3px solid #fff;
}

.sl-overlay
{
	background-color: #545454;
	opacity: 0.9;
}

@media (max-width: 576px)
{
	.sl-next-c, .sl-prev-c
	{
		display: none;
	}
}

.sl-overlay
{
	z-index: 1039;

/* SIMPLE LIGHTBOX END */