@import url("reset.css");
@font-face {
    font-family: 'source_sans_pro';
    src: url('../font/sourcesanspro-regular-webfont.woff2') format('woff2'),
         url('../sourcesanspro-regular-webfont.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'source_sans_pro';
    src: url('../font/sourcesanspro-it-webfont.woff2') format('woff2'),
         url('../font/sourcesanspro-it-webfont.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'source_sans_pro';
    src: url('../font/sourcesanspro-semibold-webfont.woff2') format('woff2'),
         url('../font/sourcesanspro-semibold-webfont.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body {
	font-family: 'source_sans_pro', sans-serif;
	font-weight: 400;
	color: #656667;
	background: #def5fc;
	line-height: 1.5;
	font-size: 1.4em;
}
a:link, 
a:visited  {
	color: #63aad4;
	text-decoration: none;
}
a:hover {
	color: #3f3f3f;
}
a:active {
	outline: 0;
	color: #3f3f3f;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
  	-webkit-tap-highlight-color: transparent;
}
img {
	width: 100%;
	vertical-align: bottom;
}
p {
	margin: 1.3em 0
}
em {
	font-family: 'source_sans_pro', sans-serif;
	font-style: italic;
}
strong {
	font-family: 'source_sans_pro', sans-serif;
	font-weight: 500;
}
h1, h2, h3, h4 {
	font-family: 'source_sans_pro', sans-serif;
	font-weight: 500;
	line-height: 1.3;
	color: #5e9ee5;
	letter-spacing: 0.02em;
	margin: 1.5em 0 0.75em 0;
}
h1 {
	font-size: 1.8em;
}
h2 {
	font-size: 1.35em;
}
h3 {
	font-size: 1.1em;
}
h4 {
	font-size: 1em;
}
.clearfix:after { 
	visibility: hidden; 
	display: block; 
	font-size: 0; 
	content: ' '; 
	clear: both; 
	height: 0; 
}
* html .clearfix { 
	zoom: 1;
}
/***********************************************************************/
/****************************** STRUCTURE ******************************/ 
/***********************************************************************/
#masthead, 
#content,
#footer {
	max-width: 48em;
	padding: 2.5em;
}

/****************** Header ******************/ 
#masthead {
	margin: 0 auto;
}
#logo {
	float: left;
	width: 7.3em;
}
#logo img:hover {
	opacity: 0.7;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}	

/**** Navigation ****/

#nav {
	float: right;
	width: auto;
	font-family: 'source_sans_pro', sans-serif;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin-top: 1.2em;
}
#nav li {
	position: relative;
}
#nav li a {
	color: #396eaa;
	display: block;
	line-height: 2.0em;
}
#nav li a:active {
	background: #e2e2e2 !important;
}
#nav span:after {
	width: 0;
	height: 0;
	border: 0.32em solid transparent;
	border-bottom: none;
	border-top-color: #396eaa;
	content: '';
	display: inline-block;
	position: relative;
	right: -0.32em;
}

/* first level */
#nav > ul > li {
	width: auto;
	height: 100%;
	float: left;
	margin-right: 1.2em;
}
#nav > ul > li:last-child {
	margin-right: 0;
}
#nav > ul > li > a {
	height: 100%;
	font-size: 1.15em;
	padding: 0 0.6em;
}
#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a {
	background: #fff;
	color: #000;
}

/* second level */
#nav li ul {
	background: #fff;
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1);
}
#nav li:hover ul {
	display: block;
}
#nav li ul.nav-icons {
	width: 20em;
}
#nav li ul a {
	font-size: 0.85em;
	padding: 0.6em 0.9em;
}
#nav li ul.nav-icons li a:before {
	content: "";
    display: inline-block;
    width: 3em;
    height: 3em;
    vertical-align: middle;
    margin: 0 1em 0 0;
}
#nav li ul.nav-icons li a.server:before {
    background: url("../images/icon_server.png") no-repeat center center;
	background-size: 3em auto;
}
#nav li ul.nav-icons li a.offline:before {
    background: url("../images/icon_offline.png") no-repeat center center;
	background-size: 3em auto;
}
#nav li ul.nav-icons li a.app:before {
    background: url("../images/icon_app.png") no-repeat center center;
	background-size: 3em auto;
}
#nav li ul.nav-icons li a.app {
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a {
	color: #000;
	background: #e9f6fa;
}

/****************** Content ******************/

#background {  
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding-top: 9.5em;
	background-color: #f3fbfd;
}
#content {
	margin: 0 auto;
	background: #fff;
	letter-spacing: 0.02em;
}
#content p:last-child {
	margin-bottom: 0;
}
#content .post:last-child {
	margin-bottom: 0;
}
#content h1 {
	margin-top: 0;
}
.post h2 {
	font-size: 1.1em;
	margin-top: 0.75rem;
}
[hidden] {
	display: none;
}
/***************** Footer *****************/
#footer {
	margin: 0 auto;
	display: flex;
	flex-flow: row wrap;
}
#footer div {
	flex: 1 1 auto;
	font-size: 0.75em;
	color: #396eaa;
	letter-spacing: 0.03em;
}
#footer div:last-child {
	text-align: right;
}
	
/***********************************************************************/
/******************************* CLASSES *******************************/ 
/***********************************************************************/
.start-left, 
.start-right {
	width: 46%;
	font-size: 90%;
}
.start-left {
	float: left;
}
.start-right {
	float: right;
}
.large {

	font-size: 1.7rem;
}
.post {
	margin: 2em 0;
} 
.more {
	float: right;
	padding-right: 0.8em;
	margin-top: 1em;
}
.date {
	font-size: 0.7em;
	color: #bbb;
}
.image-right {
	float: right;
	max-width: 18em;
	margin: 2em 0 2em 3em;
}
.image-center {
	max-width: 20em;
	margin: 4em auto;
}
article img {
	margin-bottom: 1em;
}
.list-wartung {
	font-size: 90%;
}
.list-wartung li {
	margin-top: 3em;
}
.list-wartung li div:first-child {
	width: 15%;
	margin-right: 9%;
}
.list-wartung li div:last-child {
	width: 75%;
}
.list-wartung li div {
	display: inline-block;
	vertical-align: middle;
}

.hidden {
	display: none;
}
.list-referenzen li {
	margin-bottom: 1.4em;
}
.list-referenzen p {
	margin: 0.7em 0;
}
.list-team li {
	max-width: 15em;
	margin-bottom: 1.5em;
}
.list-referenzen li:last-child,
.list-team li:last-child {
	margin-bottom: 0;
}
.list-team li img {
	width: 100%;
	padding-bottom: 0.5em;
}
	
	@media screen and (max-width: 67.5em) {
		#logo {
			width: 140px;
		}
		
		#nav {
			font-size: 90%;
		}
	}
		
	@media screen and (max-width: 58em) {
			
		html {
			font-size: 90%;
		}
		#masthead, 
		#content,
		#footer {
			padding: 1.5em
		}
		#logo,
		#nav {
			float: none;
			}
		#background { 
			padding-top: 7em;
		}
		#logo {
			width: 120px;
		}
		.float,
		.start-left,
		.start-right {
			float: none;
		}
		.start-left, 
		.start-right {
			width: auto;
		}
		.start-left {
			margin-bottom: 2em;
		}
		.image-right {
			float: none;
			margin: 2em auto;
			max-width: none;
		}
		#footer {
			flex-flow: column nowrap;
		}
		#footer div:last-child {
			text-align: left;
		}
		#footer div {
			margin-top: 1em;
		}
		#footer div:first-of-type {
			margin-top: 0;
		}
	}
	
	@media screen and ( max-width: 45em ) {
		
		#background { 
			padding-top: 5.5em;
		}
		#nav {
			background-color: #e15a1f;
		}
		/* first level */
		#nav > ul {
			height: auto;
			display: block;
			left: 0;
			right: 0;
			background: #def5fc;
		}
		#nav > ul > li {
			width: 100%;
			float: none;
		}
		#nav > ul > li > a {
			height: auto;
		}
		/* second level */
		#nav li ul {
			position: static;
			padding: 0;
		}
		#nav li ul.nav-icons {
			width: auto;
		}
		.list-wartung li div {
			display: block;
		}
		.list-wartung li {
			margin-top: 1.5em;
		}
		.list-wartung li div:first-child {
			display: none;
		}
		.list-wartung li div:last-child {
			width: 100%;
		}

	}