body {
	margin:0px;
	padding:0px;
}

a img {
	border:none;
}

img {
	height:auto;
}

div.clearfloat {
	overflow:hidden;
	height:0px;
	clear:both;
	visibility:hidden;
}

header {
	background-color:#003974;
	height:100vh;
	
	position:relative;
}

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

.vhcenter_container {
	text-align:center;	
}

.vhcenter_container:before {
	content:'';
	display:inline-block;
	height:100%;
	vertical-align:middle;
	margin-right:-0.25em; /* Adjusts for spacing */
}

.vhcenter_target {
	display:inline-block;
	vertical-align:middle;
}


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

.vcentercontainer:before {
	content:'';
	display:inline-block;
	height:100%;
	vertical-align:middle;
	margin-right:-0.25em; /* Adjusts for spacing */
}

.vcentertarget {
	display:inline-block;
	vertical-align:middle;
}


header .menubutton {
	position:fixed;
	right:40px;
	top:40px;
	z-index:90;
}

header .menubutton img {
	cursor:pointer;
	width:40px;
	vertical-align:top;
}

header .contacticons {
	position:absolute;
	left:20px;
	right:20px;
	bottom:100px;
	text-align:center;
}

header .contacticons img {
	width:50px;
	margin-left:10px;
	margin-right:10px;
	vertical-align:top;
}

header .logo img {
	width:580px;
	max-width:70vw;
	vertical-align:top;
}

#menu {
	display:none;
}

/* end above the fold */

#menu {
	position:absolute;
	left:0;
	right:0;
	top:0;
	height:100vh;
	
	background-color:rgba(0, 57, 116, 0.8);
	z-index:100;
}

#menu .closebutton {
	position:absolute;
	right:40px;
	top:40px;
	z-index:10;
}
#menu .closebutton img {
	cursor:pointer;
	width:40px;
	vertical-align:top;
}

#menu .menuitems {
	font-family:"Akkurat", sans-serif;
	font-weight:bold;
	font-size:42px;
	color:#949599;
	margin-left:40px;
	cursor:pointer;
}
#menu .menuitems a {
	text-decoration:none;
	color:#949599;
}
#menu .menuitems a:hover {
	color:white;
}
#menu .menuitems .langlink_active {
	color:white;
}

.psimg {
	background-color:#ccc;
	background-size:cover;
	background-position:center center;
	/*height:30vw; safari darstellungsfehler*/
	height:300px;
}
@media screen and (min-width:1100px) {
	.psimg {
		background-attachment:fixed;
	}
}
.psimgtopcenter {
	background-position:top center;
}


#aboutus {
	overflow:hidden;
}
#aboutus .col_quote {
	background-color:#003974;
}
#aboutus .col_content {
	background-color:white;
}
@media screen and (min-width:800px) {
	#aboutus .col_quote {
		box-sizing:border-box;
		width:50%;
		float:left;
		
		padding-bottom: 500em;
		margin-bottom: -500em;
	}
	#aboutus .col_content {
		box-sizing:border-box;
		width:50%;
		float:right;
		
		padding-bottom: 500em;
		margin-bottom: -500em;
	}
}

#aboutus .quote,
#aboutus .quoteauthor,
#aboutus .text {
	padding:30px;
}

#aboutus .quoteauthor {
	padding-top:0 !important;
}

@media screen and (min-width:800px) {
	#aboutus .quoteauthor,
	#aboutus .text {
		padding-bottom:180px;
	}
}

.cs_quote {
	/*font-family:"Times New Roman", Times, serif;*/
	font-family:"Akkurat", sans-serif;
	font-size:46px;
	line-height:1.3em;
	color:white;
}

@media screen and (min-width:1800px) {
	.cs_quote {
		font-size:50px;
	}
}

@media screen and (max-width:1400px) {
	.cs_quote {
		font-size:38px;
	}
}
@media screen and (max-width:1200px) {
	.cs_quote {
		font-size:31px;
	}
}

.cs_quoteauthor {
	font-family:"Akkurat", sans-serif;
	font-weight:normal;
	font-size:20px;
	color:white;
}

.cs_main {
	font-family:"Akkurat", sans-serif;
	font-size:20px;
	color:#003974;
	line-height:1.3em;
}

.cs_main h2 {
	font-size:26px;
	margin:0 0 1em 0;
}

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

.cs_maininv {
	color:white;
}

.cs_maininv a {
	text-decoration:none;
	color:#949599;
}


.cs_small {
	font-family:"Akkurat", sans-serif;
	font-size:16px;
	color:#003974;
	line-height:1.5em;
}

.cs_small p {
	margin:0 0 1.5em 0;
}

.cs_small h2 {
	margin:0;
	font-size:16px;
	font-weight:bold;
}

.cs_small ul {
	padding:0;
	margin:0 0 1.5em 0;
}
.cs_small ul li {
	margin:0 0 0px 0;
	padding:0 0 0 10px;
	list-style-type:none;
	list-style-image:url(data:0); /*IE*/
	background-position:left 0.55em;
	background-repeat:no-repeat;
	background-image:url('/images/icons/bullet_l1.png');
	background-size:3px;
}
.cs_small ul li ul li{
	margin-left:10px;
}


.cs_smallinv {
	color:white;
}
.cs_smallinv ul li {
	background-image:url('/images/icons/bullet_l1_inv.png');
}
.cs_smallinv a {
	text-decoration:underline;
	color:white;
}

.cs_smallinv2 {
	color:#949599;
}
.cs_smallinv2 ul li {
	background-image:url('/images/icons/bullet_l1_inv2.png');
}


@media screen and (min-width:1200px) {
	#aboutus .col_content .cs_main {
		font-size:24px;
	}
}


#services {
	background-color:#003974;
}

#services .service {
	padding:30px;
}
#services .service.altcolor {
	background-color:#D2D3D5;
}

#services .service h1 {
	font-family:"Akkurat", sans-serif;
	font-weight:bold;
	font-size:42px;
	color:white;
	margin:0 0 1em 0;
}

#services .service.altcolor h1 {
	color:#003974;
}

#services .icon_expand {
	vertical-align:top;
	width:40px;
	cursor:pointer;
	transition:transform 0.5s;
}
#services .icon_expand.active {
	transform:rotate(45deg);
}

#services .service .srvheader {
	padding:0 0 0 0;
}

#services .service .srvdetails {
	display:none;
	border-top:4px solid #949599;
	padding-top:40px;
	margin-top:40px;
}

@media screen and (min-width:800px) {
	#services .service .srvdetails .desc {
		box-sizing:border-box;
		width:48%;
		float:left;
	}

	#services .service .srvdetails .detaildesc {
		box-sizing:border-box;
		width:48%;
		float:right;
	}
}

#services .subservice h2 {
	font-family:"Akkurat", sans-serif;
	font-weight:bold;
	font-size:20px;
	color:#949599;
	
	margin:0 0 30px 0;
	
	cursor:pointer;
}
#services .subservice.expanded h2 {
	color:white;
}
#services .altcolor .subservice.expanded h2 {
	color:#003974;
}

#services .subserviceicon {
	vertical-align:-8px;
	width:30px;
	margin-right:10px;
}
#services .subserviceicon.bigger {
	width:40px;
	margin-left:-5px;
	margin-right:5px;
}

#services .subsrvdetails {
	margin:0 0 30px 0;
}

#services .subsrvdetails ul li {
	margin-left:50px;
}

#services .subsrvdetails ul li ul li{
	margin-left:10px;
}

#services .subsrvdetails ul:last-child {
	margin-bottom:0;
}



#team .teamheader {
	background-color: #003974;
	padding: 30px;
}
#team .teamheader h1 {
    font-family: "Akkurat", sans-serif;
    font-weight: bold;
    font-size: 42px;
    color: white;
    margin: 0 0 1em 0;
}
#team .teamheader .icon_expand {
    vertical-align: top;
    width: 40px;
    cursor: pointer;
    transition: transform 0.5s;
}
#team .teamheader .icon_expand.active {
	transform:rotate(45deg);
}

#team .teammember,
#team .teamquote {
	padding-top:62.5%;
		
	position:relative;
		
	background-size:cover;
	background-repeat:no-repeat;
}
@media screen and (min-width:800px) {
	#team .teammember,
	#team .teamquote {
		padding-top:31.25%;

		box-sizing:border-box;
		width:50%;
		float:left;
	}
}
#team .teammember img {
	vertical-align:top;
	width:100%;
}

#team .teammember .overlay {
	display:none;
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background-color:rgba(0, 57, 116, 0.8);
	padding:30px;
	
	font-family:"Akkurat", sans-serif;
	font-size:20px;
	color:white;
	line-height:1.5em;
}
#team .teammember .overlay h1 {
	font-size:42px;
	font-weight:normal;
	margin:0 0 1em 0;
}
#team .teammember .expandbutton {
	position:absolute;
	left:30px;
	bottom:30px;
	transition:transform 0.5s;
}
#team .teammember .expandbutton img {
	vertical-align:top;
	width:40px;
	cursor:pointer;
}
#team .teammember .expandbutton.active {
	transform:rotate(45deg);
}
#team .teammember .socialbuttons {
	position:absolute;
	right:30px;
	bottom:30px;
}
#team .teammember .socialbuttons img {
	vertical-align:top;
	width:40px;
	margin-left:20px;
}

#team .teamquote {
	background-color:#003974;
}
#team .teamquote .text {
	position:absolute;
	top:0px;
	bottom:0px;
	left:0px;
	right:0px;
}
#team .quote,
#team .quoteauthor {
	padding:30px;
}
@media screen and (max-width:1024px) {
	#team .quoteauthor {
		padding-top: 0px;
	}
}


#team .teamcv {
	clear:both;
	background-color:#003974;
	display:none;
}

@media screen and (min-width:750px) {
	#team .teamcv .col {
		box-sizing:border-box;
		width:50%;
		float:left;
		padding:30px;
	}
}


#partners {
}

#partners .partner {
	padding-top:62.5%;
	
	position:relative;
}
@media screen and (min-width:800px) {
	#partners .partner {
		padding-top:31.25%;
		
		box-sizing:border-box;
		width:50%;
		float:left;
	}
}
#partners .partnerblue {
	background-color:#003974;
}
#partners .partnerwhite {
	background-color:white;
}
#partners .partnerfiller {
	 background-color:#D2D3D5;
}
#partners .partner h1 {
	position:absolute;
	left:30px;
	top:30px;

	font-family:"Akkurat", sans-serif;
	font-weight:normal;
	font-size:42px;
	
	margin:0;
	z-index:3;
}
#partners .partnerblue h1 {
	color:white;
}
#partners .partnerwhite h1 {
	color:#003974;
}
#partners .partner {
	background-size:50%;
	background-repeat:no-repeat;
	background-position:center center;
}
#partners .partnerbtoaudit {
	background-size:40%;
}
#partners .partner .overlay {
	display:none;
	
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	background-color:rgba(0, 57, 116, 0.8);
	padding:120px 30px 30px 30px;
	
	font-family:"Akkurat", sans-serif;
	font-size:20px;
	color:white;
	line-height:1.5em;
}
#partners .partnerwhite .overlay {
	background-color:rgba(255, 255, 255, 0.8);
	color:#003974;
}
#partners .partner .buttons {
	position:absolute;
	right:30px;
	bottom:30px;
}
#partners .partner .buttons img {
	vertical-align:top;
	width:40px;
}
@media screen and (max-width:1024px) {
	#partners .partner h1 {
		font-size:30px;
	}	
	#partners .partner .overlay {
		padding:80px 30px 30px 30px;
		font-size: 18px;
	}
}
#partners .partnerquote {
	padding-top:62.5%;
		
	position:relative;
		
	background-size:cover;
}
@media screen and (min-width:800px) {
	#partners .partnerquote {
		padding-top:31.25%;

		box-sizing:border-box;
		width:50%;
		float:left;
	}
}
#partners .partnerquote {
	background-color:#003974;
}
#partners .partnerquote .text {
	position:absolute;
	top:0px;
	bottom:0px;
	left:0px;
	right:0px;
}
#partners .quote,
#partners .quoteauthor {
	padding:30px;
}
@media screen and (max-width:1024px) {
	#partners .quoteauthor {
		padding-top: 0px;
	}
}




#publikationen {
	background-color:#003974;
	padding:30px;
}
#publikationen h1 {
    font-family: "Akkurat", sans-serif;
    font-weight: normal;
    font-size: 42px;
    color: white;
    margin: 0 0 1em 0;
}
#publikationen .icon_expand {
    vertical-align: top;
    width:40px;
	transition:transform 0.5s;
	cursor:pointer;
}
#publikationen .icon_expand.active {
	transform:rotate(45deg);
}
#publikationen .header {
    padding: 0;
}
#publikationen .details {
	display:none;
    border-top: 4px solid #949599;
    padding-top: 40px;
	margin-top:40px;
}
#publikationen .publist {
	font-family:"Akkurat", sans-serif;
	font-size:20px;
}
#publikationen .publist a {
	color:#949599;
	text-decoration:none;
}
#publikationen .publist .pdficon {
	width:30px;
	margin-right:20px;
	float:left;
}
#publikationen .publist .caption {
	overflow:auto;
	margin-top:5px;
}
#publikationen .publist table {
	border-spacing:0px;
	border-collapse:collapse;
}
#publikationen .publist table td {
	border:none;
	padding:0px 0px 35px 0px;
	vertical-align:middle;
}
@media screen and (max-width:1024px) {
	#publikationen .publist {
		font-size:18px;
	}
}


#kontakt {
	background-color:#D2D3D5;
}
@media screen and (min-width:800px) {
	#kontakt .col1 {
		box-sizing:border-box;
		width:50%;
		float:left;
	}
	#kontakt .col2 {
		box-sizing:border-box;
		width:50%;
		float:right;
	}
}
#kontakt .ctr_address {
	padding:30px;
	background-color:white;
}
#kontakt .ctr_address .logo {
	vertical-align:top;
	width:300px;
	max-width:100%;
}
#kontakt .ctr_address .text {
	line-height:1.5em;
	margin-top:2em;
	margin-bottom:1em;
}
#kontakt .ctr_address .text a {
	text-decoration:none;
	color:#003974;
}
@media screen and (max-width:1024px) {
	#kontakt .ctr_address .text {
		font-size:18px;
	}
}
#kontakt .ctr_address .socialbuttons {
	text-align:right;
}
#kontakt .ctr_address .socialbuttons img {
	width:40px;
	vertical-align:top;
	margin-left:20px;
}
#kontakt .ctr_map {
}
#kontakt .ctr_map img {
	width:100%;
	vertical-align:top;
}
#kontakt .ctr_contactform {
	padding:30px;
}
#kontakt form input,
#kontakt form textarea {
	display:block;
	width:100%;
	box-sizing:border-box;
	background-color:#F3F3F4;
	border:none;
	padding:10px;
	margin-bottom:1em;
	border-radius:0;
	
	font-family:"Akkurat", sans-serif;
	font-weight:normal;
	font-size:20px;
	color:#003974;
}

#kontakt form textarea {
	height:400px;
	margin-bottom:40px;
}

#kontakt .sendbutton {
	cursor:pointer;
	float:right;
	width:50px;
}
#kontakt .ajaxload {
	display:none;
	float:right;
	width:50px;
}


#kontakt .logocols {
	display:flex;
	align-items:flex-end;
	margin-top:1.75em;
}
#kontakt .logocols .lcol {
	flex-grow:1;
}
#kontakt .guetesiegel {
	vertical-align:top;
	width:150px;
	display:block;
}
@media screen and (max-width:500px) {
	#kontakt .guetesiegel {
		width:100px;
	}
}


footer {
	background-color:#003974;
	padding:15px 30px 30px 30px;
}
@media screen and (min-width:750px) {
	footer .copyright {
		float:right;
	}
}
footer a.menulink {
	color:#949599;
	font-weight:bold;
	cursor:pointer;
	text-decoration:none;
	margin-right:25px;
}
/*
footer h1 {
	font-size:16px;
	margin:0 0 0em 0;
	color:#949599;
}
footer .impressum_toggler {
}
*/
footer a {
	color:white;
}
footer .impressum_expandable {
	margin-top:30px;
	display:none;
}







@media screen and (max-width:749px) {
	header .menubutton {
		right: 20px;
		top: 20px;
	}

	header .contacticons {
		bottom: 55px;
	}
	
	#menu .closebutton {
		right: 20px;
		top: 20px;
	}
	
	#menu .menuitems {
		font-size: 22px;
		margin-left: 20px;
	}
	
	.psimg {
		height: 60vw;
	}
	
	.cs_quote {
		font-size: 22px;
	}
	
	#aboutus .quote, #aboutus .quoteauthor, #aboutus .text {
		padding: 20px;
	}
	
	#services .service {
		padding: 20px;
	}
	
	#services .service h1 {
		font-size: 30px;
	}
	
	#team .teamheader {
		padding: 20px;
	}
	#team .teamheader h1 {
		font-size: 30px;
	}
	
	#team .teammember .overlay h1 {
		font-size: 30px;
		margin: 0 0 0.5em 0;
	}
	
	#team .teammember .overlay {
		font-size: 16px;
		padding:20px;
	}
	#team .teammember .expandbutton img {
		width: 30px;
	}	
	#team .teammember .socialbuttons img {
		width: 30px;
	}
	#team .teammember .socialbuttons {
		bottom: 20px;
		right:20px;
	}
	#team .teammember .expandbutton {
		left: 20px;
		bottom: 20px;
	}
	
	#team .teamcv .col {
		padding: 20px;
	}
	
	#team .teamquote {
		display:none;
	}
	
	#partners .partner h1 {
		left: 20px;
		top: 20px;
	}

	#partners .partner .overlay {
		padding: 60px 20px 20px 20px;
		font-size: 14px;
	}
	
	#partners .partner .buttons {
		right: 20px;
		bottom: 20px;
	}
	#partners .partner .buttons img {
		width: 30px;
	}
	#partners .partnerquote {
		display:none;
	}
	#publikationen h1 {
		font-size: 30px;
	}
	
	#publikationen {
		padding: 20px;
	}
	
	#publikationen .icon_expand {
		width: 30px;
	}
	
	#kontakt .ctr_contactform {
		padding: 20px;
	}
	
	footer {
		padding: 15px 20px 20px 20px;
	}	
	footer .copyright {
		margin-bottom:2em;
	}

}

@media screen and (max-height:400px) {
	header .contacticons img {
		width: 35px;
	}
}
@media screen and (max-height:300px) {
	header .logo img {
		width: auto;
		max-width: none;
		max-height: 30vh;
	}
	#menu .menuitems {
		font-size: 18px;
	}
}



@media screen and (min-width:1100px) {
	#aboutus .quote, #aboutus .quoteauthor, #aboutus .text,
	#services .service,
	#team .teamheader,
	#team .teammember .overlay,
	#team .teamcv .col,
	#team .quote, #team .quoteauthor,
	#publikationen,
	#kontakt .ctr_contactform
	{
		padding: 40px;
	}
	#partners .partner .overlay {
		padding: 120px 40px 40px 40px;
	}
	footer {
		padding:15px 40px 40px 40px;
	}
}


.linkbutton {
	background-color:#003974;
	color:white;
	padding:10px;
	text-decoration:none;
}



#scrolldownindicator {
	transition:opacity 0.2s;
	position:fixed;
	bottom:30px;
	left:0;
	right:0;
	height:60px;
	background-position:center center;
	background-size:contain;
	background-repeat:no-repeat;
	background-image:url('/images/icons/arrowdownscrollind.svg');
	pointer-events:none;
	z-index:10;
}
.scrollygt0 #scrolldownindicator {
	opacity:0;
}
@media screen and (max-width:749px) {
	#scrolldownindicator {
		bottom:0;
	}
}
