/* Reset
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, figure,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
em{
	font-style:italic;	
}
:focus {
	outline: 0;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a {
	text-decoration: none;
	color: inherit;
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
strong {
	font-weight: 500;
}
input::-moz-focus-inner { /* Remove button padding in FF */
	border: 0;
	padding: 0;
}
input { /* Input content follows box model */
	box-sizing: content-box;
	height:24px;
}

/* Basic Styles & Classes
-------------------------------------------------------------- */
html {
	-webkit-text-size-adjust: none; /* Prevent font scaling */
}
body, html {
 	height: 100%;
}
body {
	font: 18px/1.4 Roboto,Arial, "Helvetica Neue", Helvetica, sans-serif;
	background-color: #faf8f1;
	font-weight:300;
}
a:hover, a.current {
	color: #000;
}
/* Repeatable Patterns */
.wrapper, nav#service ul {
	margin: auto;
	max-width:1216px;
	padding:0 2.5%;
   
    opacity:1;
}
 
.wrapper{
	margin: auto;
	max-width:1216px;
	padding:0 2.5%;
   
    opacity:1;
}
#site-content article .fa {
	text-decoration: none;
	padding-right:5px;
	font-size: 1.3em;
}
/* Grid, used for forms */
.row {
	position: relative;
}
.col {
	float: left;
	padding-bottom:20px;
}
.span_1_of_2 {
	width:48.5%;
}
.span_2_of_2 {
	width:100%;
}
.span_1_of_2:first-child {
	padding-right:3%;
}
/* Form Styles */
form {
	font-size: 13px;
}
label {
	font-weight: 500;
	font-family: Roboto,Arial, "Helvetica Neue", Helvetica, sans-serif;
}
input, textarea {
	line-height:20px;
}
input[type="text"], input[type="email"], textarea {
	border:1px solid silver;
	margin-top: 2px;
}
input[type="text"], input[type="email"] {
	width:98%;
	padding: 0 4px;
	height:30px;
}
textarea {
	width:100%;
	height:120px;
}
input[type="submit"] {
	position: absolute;
	bottom:20px;
	right:0;
	height:20px;
	border-radius: 5px;
	border:1px solid #777;
	background-color: #FFF;
}
/* Captcha */
label[for="antispam"] img {
	width:auto!important;
	vertical-align: bottom;
}
/* Helpers */
.clear {
	clear:both;
}
article.post:after, .entry-meta p:after, .row:after, .logos:after {
	clear:both;
	content:".";
	display:block;
	font-size:0;
	height:0;
	line-height:0;
	overflow:hidden;
}
.nbsp {
	white-space: nowrap;
}
/* Mobile only Elements */
.nodesktop {
	display:none;
}

/* Header 
-------------------------------------------------------------- */
#site-header {
	width:100%;
	position: fixed;
	z-index:100;
}
#site-header .wrapper {
	position: relative;
}
/* Navigation */
nav.menu ul li {
	display:inline;
	display:inline-block;
	height: 20px;
	line-height:20px;
	margin-right: 17px;
}
nav.menu ul li.last {
	margin-right: 0;
}
/* Main Navigation */
#primary-nav {
	color:#ccdce9;
	height:43px;
	background-color: #005290;
	box-shadow: 0 2px 5px 0px #000;
	z-index:100;
	font-weight: 500;
	position: absolute;
	width:100%;
}
#themen {
	float: left;
	font-size: 16px;
	margin-top:13px;
	color:#FFF;
	text-transform:uppercase;
	letter-spacing:0.07em;
}
#themen li {
	margin-right:23px;
}
#themen li a{
	font-weight:400;
}
#themen a:hover, #themen a.current {
	color: #739ec8;
}
/* Language Select */
#langs {
	float: right;
	margin-top:8px;
}
#langs li {
	margin:0 0 0 10px;
}
#langs li a {
	font-size: 13px;
	display:block;
	background-color: #98bad3;
	width:24px;
	height:24px;
	line-height:23px;
	text-align: center;
	text-transform: lowercase; 
	border-radius: 12px;
	color:#005290;
}
#langs li a:hover {
	background-color:#FFF;
}
/* Secondary Navigation */
#secondary-nav {
	padding-top:45px;
	background-color: #cfdbeb;
	color: #005290;
	font-weight: 300;
	width:100%;
	font-size: 14px;
	height: 43px;
	text-transform:uppercase;
	letter-spacing:0.07em;
}
nav#service ul {
	margin:13px auto 0 auto;
}
nav#service ul {
	position: relative;
	z-index:101;
}
/* Mobile Navigation */
#mobilenav, .mobile-btn {
	display:none;
}

/* Main Content
-------------------------------------------------------------- */
#site-content {
	padding:131px 0 143px 0;
	width: 70%;
	position:relative;
	z-index:50;
}
#site-content article {
	padding-bottom:1.3em;
	/*font-family: Georgia, 'Times New Roman', Times, serif;*/
	font-weight:300 !important;
}
#content-header {
	position: relative;
	color:#005290;
}
#site-content .entry-header h1, #content-header h2, #site-content .entry-meta  {
	font-family: Roboto,Arial, "Helvetica Neue", Helvetica, sans-serif;
}
#content-header h1 {
	font-size: 44px;
	font-weight: 500;
	margin-bottom:7px;
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	line-height:1.1;
}
#content-header h2 {
	font-size: 20px;
	padding-bottom:60px;
	line-height:1.4;
}
article h3 {
	font-size: inherit;
	color:black;
	font-weight:400;
	line-height:1.4;
}
.entry-header h1 {
	color:#005290;
	font-weight: 500;
	margin-bottom: 7px;
	font-size: 16px;
}
#site-content h2 {
	font-weight:400;
	color:#005290;
	font-size:24px;
	margin-bottom:5px;
}

#blog h2{
	color:#000 !important;	
}

#site-content #content-header h2 {
	font-weight: 300;
	
}
#site-content p, #site-content figure {
	margin-bottom:1.3em;
}
figcaption{
	color:black;
	font-style:italic;
	font-size:0.8em;
	/*margin-bottom:20px;	*/
}
a.nobullet:before{
	content:"" !important;	
}
.entry-header+figure {
	margin-top:1.3em;
}
#site-content img {
	width:100%;
	height:auto;
}
#site-content article a {
	color: #005290;
	
}
#site-content article a.bullet:before{
	content:"› ";
}



#site-content article a:hover {
	color:#005290;
}

#site-content article ul {
	list-style:none;
	display:table;
	margin-bottom:10px;
	border-collapse: collapse;
	width:100%;
}

#site-content article ul li {
	display:table-row;
	border-bottom: 10px solid transparent;
}

#site-content article ul li:before {
	content:"— ";
	display: table-cell; /* aha! */
	padding-right:7px;
}

/* Posts */
.post .entry-img {
	float: left;
	width: 122px;
	height: auto;
	margin-bottom: 1.3em;
}
.post .entry-img {
	float: left;
	width: 122px;
	height: auto;
	margin-bottom: 1.3em;
}
#site-content .post .entry-header, .post .entry-excerpt, #site-content .post .entry-content {
	margin-left: 146px;
}

/* Sidebar 
-------------------------------------------------------------- */
#sidebar {
	font-size: 15px;
    left: 50%;
    max-width: 608px;
    position: absolute;
    top: 140px;
    width: 47.5%;
}
#sidebar aside {
	background-color: #02629e;
    border-radius: 10px;
    clear: right;
    float: right;
    margin-bottom: 14px;
    min-width: 240px;
    overflow: hidden;
    position: relative;
    width: 49%;
	line-height:1.35;
	color:white;
}

#sidebar aside a{
	color:white;
}

#sidebar aside h2{
	color: #fff !important;
    font-weight: 500;
	/*font-family:Georgia, "Times New Roman", Times, serif*/
}

/*.home #sidebar aside {
	background-color: rgba(255,255,255,0.8);
}*/
#sidebar aside figure img {
	width:100%;
	height:auto;
	display:block; 
	border-radius: 10px;
}
#sidebar aside figure+ul {
	position: absolute;
	bottom:-5px;
	color:#FFF;
	font-size:13px;
}
#sidebar aside figure+ul a:hover {
	color:#739ec8;
}
#sidebar ul, #sidebar article {
	margin:0 10px;
	padding:10px 0 12px 0;
}
#sidebar aside.text-aside {
	padding:3px 0 1px 0;
}

#sidebar aside.text-aside ul{
	list-style:inherit;
	margin-left:15px;
}
#sidebar aside.text-aside ul li{
	padding:0;
}
/*#sidebar aside.text-aside li:before{
	content:"› ";
}*/

#sidebar article {
	border-top: 1px solid #fff;
}
#sidebar article:first-child {
	border-top: none;
}
#sidebar li, #sidebar p {
	padding-top:8px;
}
#sidebar li:first-child, #sidebar p:first-child {
	padding-top:3px;
}
#sidebar aside a, .narrow #sidebar header h1 {
	font-weight: 500;
}
#sidebar aside.text-aside a:before, .narrow #sidebar header h1:before {
	content:"› ";
}

#sidebar aside a:before {
	margin-top:-5px;
	font-size: 17px;
	line-height:16px;
}
#sidebar h2 {
	font-weight: 500;
	color:#005290;
	font-size: 15px;
}
#sidebar aside a.text-link {
	display:inline-block;
	font-weight: normal;
	padding:0 5px 1px 0;
}
#sidebar aside a.text-link:before {
	content:"›";
	padding-right:2px;
}
/* dropdown sidebar */
.narrow #sidebar header h1 {
	cursor:pointer;
	position: relative;
	padding-left: 18px;
}
.narrow #sidebar header h1:hover, .narrow #sidebar .dropped header h1 {
	color:#000;
}
.narrow #sidebar header h1:before {
	position: absolute;
	left:4px;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
	font-size:23px;
	line-height:16px;
}
.narrow #sidebar .dropped header h1:before {
	left:-1px;
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-o-transform: rotate(-90deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}
.narrow #sidebar aside figure+ul {
	font-size:15px;
}
.narrow #sidebar aside figure+ul li {
	position: relative;
	padding-left: 0;
}
.narrow #sidebar aside figure+ul a:before {
	font-size: 23px;
	position: absolute;
	top:7px;
	left:0;
}

/* Footer 
-------------------------------------------------------------- */
#site-footer {
	position: fixed;
	left:0;
	right:0;
	bottom:0;
	background-color:#02629e;
	padding:15px 0 15px 0;
	text-align: center;
	box-shadow: 0 30px 30px 30px rgba(0, 0, 0, 0.6);
	z-index:200;
}
#logo {
	padding:18px 0 7px 0;
}
#site-info {
	font-size: 12px;
	color:#fff;
}
#site-info a {
	text-decoration: underline;
}
#site-info a:hover, #site-info a.current {
	color:#f7f7f7;
}
.service-summary {
	margin-bottom:5px;
	overflow:hidden;
}

/* Front Page
-------------------------------------------------------------- */
/* Full Screen Background (Backstretch) */
.backstretch {
	background-color: #c7d7e7;
}
.scroll-down {
	display:none !important;
	position: absolute;
	font-size:11px;
	line-height:23px;
	font-weight: 500;
}
.scroll-down .fa {
	font-size: 23px;
	position:relative;
	top:4px;
	padding-right:5px;
}

/* scroll containers touch devices, page home */
.touch .home #scroll-container { /* touch #content-wrapper, */
	height: 100%;
}
.touch .home #scroll-container {
	margin: auto;
	overflow-x: hidden;
	overflow-y: scroll;
	width: 100%;
}
.touch .home #scroll-content {
	height: auto;
	/*width: 100%;
	max-width:100%;*/
	position: relative;
}

/* Page Blog
-------------------------------------------------------------- */
#tags, .blog .entry-meta {
	font-size: 12px;
}
#tags {
	margin-bottom:25px;
}
#tags a {
	display:inline-block;
	background-color: #cfdbeb;
	margin: 0 4px 4px 0;
	padding: 0 6px;
	line-height: 22px;
	color: #005290;
}
#tags a:hover, #tags a.current {
	display:inline-block;
	background-color: #005290;
	margin: 0 4px 4px 0;
	padding: 0 6px;
	line-height: 22px;
	color: #fff;
}
.blog .entry-meta {
	border-bottom: 1px solid #000;
	margin-bottom:17px;
	clear:left;
}
.blog .entry-meta p {
	margin-bottom:0!important;
}
.blog #site-content .entry-meta a {
	color:inherit;
}
.blog #site-content .entry-meta a:hover {
	color:#005290;
}
.blog #site-content .entry-meta .fa {
	font-size: 15px;
	padding-bottom: 9px;
	padding-right: 3px;
}
.blog .entry-meta .fa-user {
	font-size: 16px;
}
.comment-btn {
	float: right;
}
.toggle-content {
	cursor:pointer;
}
.toggle-content span {
	font-size:1.2em;
	line-height:1em;
	font-family: Roboto,Arial, "Helvetica Neue", Helvetica, sans-serif;
}

/* Page Team
-------------------------------------------------------------- */
.team .post {
	border-top:1px solid #000;
	padding-top:17px; 
}
.team .post:last-child{
	border-bottom:1px solid #000 !important;
	padding-bottom:17px;
}
.team #content-header+.post {
	border-top:0;
	padding-top:0;
}
.team #content-header+.post {
	border-top:0;
	padding-top:0;
}

/* Page Referenzen
-------------------------------------------------------------- */
.logos {
	margin-top:1.3em;
}
.logos li {  
	width:31%; 
	background-color:#FFF;
	float: left;
    border:1px solid silver !important;
	text-align: center;
	height:142px;
	position: relative;
	margin: 0 2% 1.3em 0; 
}
.logos li:before{
	content:"" !important;	
}
.logos li:nth-child(odd), .logos li:nth-child(even) {
	width:31%;
}
.logos li:nth-child(3n+0) {
	margin-right:0;
}
.logos li img {
	width:auto!important;
	height:auto!important;
	max-width:60%!important;
	max-height:60%!important;
	position: absolute;  
  top: 0;  
  bottom: 0;  
  left: 0;  
  right: 0;  
  margin: auto;
}

/* Standorte
-------------------------------------------------------------- */
.standorte {
	margin-top:1.3em;
}
.standorte li {
	width:31.333%;
	background-color:#FFF;
	float: left;
	text-align: center;
	height:142px;
	position: relative;
	margin: 0 2% 1.3em 0;
}
.standorte li a{
	position:relative;
	top:42%;
	display:block;
	margin:0 auto;
}
.standorte li:nth-child(odd), .standorte li:nth-child(even) {
	width:32%;
}
.standorte li:nth-child(3n+0) {
	margin-right:0;
}
.standorte li img {
	width:auto!important;
	height:auto!important;
	max-width:60%!important;
	max-height:60%!important;
	position: absolute;  
  top: 0;  
  bottom: 0;  
  left: 0;  
  right: 0;  
  margin: auto;
}

/* Kontakt
-------------------------------------------------------------- */
.fa-envelope:before {
	font-size:16px;
}
.fa-phone:before {
	font-size:18px;
}

.middle-name {
		display:none;
	}

/* Media Queries
-------------------------------------------------------------- */

@media (max-width: 1170px){
	#themen {
		font-size: 15px;
		margin-top: 13px;
		letter-spacing:normal;
	}
	
	#secondary-nav {
		padding-top: 45px;
		font-size: 13px;
		height: 43px;
		letter-spacing:normal;
	}
}


/* 1024px and smaller ----------- */
@media only screen and (max-width : 1024px) {
	#content-header h1 {
		font-size: 42px;
	}
	#content-header h2 {
	    font-size: 18px; 
	}
	
	/*.first-name {
		display:none;
	}*/
	
	.middle-name {
		display:inline-block;
	}
	
	.first-name {
		display:none;
	}
	#site-content{
		width: 60%;
	}
	#sidebar {
		left: 37%;
		width: 60%;
		max-width: 708px;
	}
}

@media (max-width: 960px){
	#themen {
		font-size: 12px;
		margin-top: 13px;
		letter-spacing:normal;
	}
	
	#site-header nav#themen li {
		margin-right: 10px;
	}
	
	#secondary-nav {
		padding-top: 45px;
		font-size: 11px;
		height: 43px;
		letter-spacing:normal;
	}
	
	nav.menu ul li {
		margin-right: 10px;
	}
}


/* smaller than 860px ----------- */
@media only screen and (max-width : 859px) {
	/* Header */
	
	#site-header nav#themen li {
		margin-right:10px;
	} 
	/* Content */
	#content-header h1 {
		font-size: 40px;
	}
}

@media only screen and (max-height: 600px) { 
	/*aside:first-child {
		display:none;
	}
	
	#site-footer {
		height:61px;
	}
	#logo {
		padding-top: 14px;
	}
	#logo img {
		width:171px;
		height:auto;
	}
	#site-info {
		display:none;
	}*/
	
 
}


/* smaller than 768px (iPad portrait) ----------- */
@media only screen and (max-width : 767px){ /*, only screen and (max-height: 450px) */ 
	/* Hidden Desktop / Visible Mobile Elements */
	.nodesktop {
		display:block;
	}
	.nomobile {
		display:none;
	}
	footer,nav#themen, #secondary-nav, #sidebar, .service-summary {
		display:none;
	}
	
	/* langs */
	#langs {
		margin-top: 7px;
	}
	#langs li a { 
		border-radius: 14px;
		height: 28px;
		line-height: 28px;
		width: 28px;
		font-size: 15px;
	}
	.touch #langs li a:hover {
		background-color: #98bad3;
	}
	/* Navigation */
	.mobile-btn {
		display:block;
		font-size: 28px;
		line-height:43px;
		cursor:pointer;
		float: left;
	}
	.mobile-btn:hover {
		color:#FFF;
	}
	#mobilenav {
		position: absolute;
		top:0;
		width:100%;
		z-index:150;
		background:#98bad3;
		color:#005290;
	}
	#mobilenav {
		padding-bottom:61px;
	}
	#mobilenav ul, #mobilenav > h4 {
		margin:0 2.5%;
	}
	#mobilenav li, #mobilenav > h4 {
		padding:5px 0;
		border-top: 2px solid #005290;
		font-weight: 500;
	}
	#mobilenav ul:first-child li:first-child {
		border-top: none;
	}
	#mobile-first-nav {
		background:#005290;
		color:#FFF;
		border-color: #FFF;
	}
	#mobile-first-nav li {
		border-color: #FFF;
	}
	#mobilenav li a, #mobilenav h4 {
		padding-left: 16px;
    position: relative;
	}
	#mobilenav li a:before, #mobilenav h4:before {
		content:"› ";
		font-size: 21px;
		font-weight: 500;
		line-height: 13px;
		position: absolute;
		left: 0px;
	}
	#mobilenav h4 {
		cursor:pointer;
	}
	#mobilenav ul li ul {
		margin-left:0;
	}
	#mobilenav ul li ul li{
		padding-left:0;
	}
	#mobilenav h4:before {
		top:4px;
		left: 4px;
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
		filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
	}
	#mobilenav h4.dropped:before {
		left:-1px;
		-webkit-transform: rotate(-90deg);
		-moz-transform: rotate(-90deg);
		-ms-transform: rotate(-90deg);
		-o-transform: rotate(-90deg);
		filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
	}
	#mobilenav h4+ul {
		display:none;
	}
	#mobilenav h4+ul li {
		color:#000;
		padding-left:14px;
		border-color:#000;
		border-width:1px;
		font-weight: normal;
	}
	#mobilenav h4+ul li a:before {
		font-weight: normal;
	}
	#mobile-first-nav a:hover, #mobile-first-nav a.current {
		color:#739ec8;
	}
	#mobile-secondary-nav a:hover, #mobilenav h4:hover, #mobile-secondary-nav a.current {
		color:#000;
	}
	#close-nav {
		position: fixed;
		z-index:100;
		right:2.5%;
		font-size: 22px;
		color:#005290;
		width:28px;
		height:28px;
		line-height:24px; 
		border-radius: 14px;
		background-color: #FFF;
		top:3px;
		box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.6);
	}
	#close-nav .fa {
		position:relative;
		top: 1px;
		left: 5px;
	}
	/* Main Content */
	#scroll-container.overflow-hidden {
		height:100%;
		overflow:hidden;
	}
	#site-content {
		width:100%;
		padding-top: 80px;
		padding-bottom: 70px;
	}
	#content-header h2 {
 		padding-bottom: 30px;
	}
	.scroll-down {
 		margin-top:-10px;
	}
	/* Footer */
	#site-footer {
		height:auto;
	}
	#logo {
		padding-top: 14px;
	}
	#logo img {
		width:171px;
		height:auto;
	}
	#site-info {
		display:none;
	}
}

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (max-width : 480px) {
	/*Main Content */
	#content-header h1 {
		font-size: 25px;
	}
	#content-header h2 {
		font-size: 17px;
	}
	.entry-header h1 {
		font-size: 15px;
	}
	.scroll-down {
		display:none!important;
	}
	/* Background */
	#site-content {
		padding-top: 57px;
	}
	#content-header h2 {
 		padding-bottom: 0;
	}
}

/* Smartphones (portrait), smaller than 480px ----------- */
@media only screen and (max-width : 479px) {
	.blog .entry-img {
		display:none;
	}
	.post .entry-img {
		float: none;
	}
	#site-content .post .entry-header, .post .entry-excerpt, #site-content .post .entry-content {
		margin-left: 0;
	}
	.logos li {
		width:48%;
		margin-right:2%;
	}
	.logos li:nth-child(odd) {
		width:49%;
		margin-right:2%;
	}

	.logos li:nth-child(even) {
		width:49%;
		margin-right:0;
	}
	.logos li img {
		max-width:80%!important;
		max-height:80%!important;
	}
}