
/* --- HTML, Body --- */

html, body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
	}


/* --- Font --- */

p, ul, li, span, input, textarea {
	color: #000;
	font-size: 1em;
	font-family: Lucida Grande, Tahoma, sans-serif;
	text-align: justify;
	line-height: 160%;
	
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	-o-hyphens: auto;
	hyphens: auto;

	-webkit-hyphenate-limit-chars: auto 5;
	-moz-hyphenate-limit-chars: auto 5;
	-ms-hyphenate-limit-chars: auto 5;
	-o-hyphenate-limit-chars: auto 5;
	
	-webkit-hyphenate-limit-lines: 2;
	-moz-hyphenate-limit-lines: 2;
	-ms-hyphenate-limit-lines: 2;
	-o-hyphenate-limit-lines: 2;

/*	word-break: break-all; */
	}


/* --- Links --- */

article a {
	color: #136BB2;
	text-decoration: none;
	}

article a:hover {
	color: #136BB2;
	text-decoration: underline;
	transition: 0.25s;	
	}


/* --- Titles --- */

h1, h2, h3 {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 200;
	text-align: left;
	margin: 0;
	padding: 0;
	}

h1 {
	color: #000;
	font-size: 3em;
	text-align: left;
	}

h1 a {
	color: #000;
	text-decoration: none;
	}

h2 {
	color: #000;
	font-size: 2em;
	}

h3 {
	color: #136BB2;
	font-size: 1.5em;
	}


/* --- General --- */

img {
	max-width: 100%;
/*	height: auto; */
	}


center {
	margin: 0 auto;
	}


article, center {
	width: 90%;
	}


/* --- Header --- */

header {
	width: 100%;
	}

header center {
	padding: 1.5%;
/*	align-items: center; /* horizontale Anordnung */
	}

header p {
	color: #CCC;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 200;
	font-size: 1.5em;
	text-align: right;
	margin: 0;
	padding: 0;
	}

header center, nav center > ul, #flexbox-angebote, #flexbox-referenzen {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;

	-webkit-flex-flow: row wrap;
	-moz-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	-o-flex-flow: row wrap;
	flex-flow: row wrap;

	-webkit-align-content: space-around;
	-moz-align-content: space-around;
	-ms-align-content: space-around;
	-o-align-content: space-around;
	align-content: space-around; 
	
	-webkit-justify-content: space-between;
	-moz-justify-content: space-between;
	-ms-justify-content: space-between;
	-o-justify-content: space-between;
	justify-content: space-between; /* entspricht Blocksatz */
	}


/* --- Navigation --- */

nav {
	width: 100%;
	background-color: #EEE;
	z-index: 100;
	}

nav center > ul {
	width: 100%;
	height: 100%; /**/
	list-style: none;
	padding: 1% 0;
	margin: 0;
	}

nav center > ul > li {
	width: 25%;
	height: 100%; /**/
	}

nav center > ul > li > a {
	height: 100%; /* 	display: block; */
	color: #666;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 200;
	font-size: 1.4em;
	text-align: center;
	text-decoration: none;
	padding: 0;
	}

nav center > ul > li > a:hover {
	color: #136BB2;
	font-weight: 200;
	text-decoration: none;
	transition: 0.25s;	
	}

nav center > ul > li a.active {
	color: #136BB2;
	font-weight: 400;
	}

nav a#pull {
	display: none;
	}


/* --- Article --- */

article {
	margin: 5% auto;
	text-align: left;
	z-index: 50;
	}


/* --- Section --- */

section {
	width: 55%;
	float: left;
	padding: 0;
	margin: 0 0 6% 0; /* Muss sein, weil die Enter nichts nützen, wegen Floating */

/*  -webkit-transform: translateZ(0);
    transform: translateZ(0); */
    }

section h2 img, aside h2 img {
	margin-left: 15px;
	}


/* --- Aside --- */

aside {
	width: 30%;
	float: right;
	background-color: #EEE;
	padding: 3%;
	margin: 0 0 6% 0;
	
/*    -webkit-transform: translateZ(-1px) scale(2);
    transform: translateZ(-1px) scale(2); */
	}

aside p, aside span, aside ul, aside li {
	color: #666;
	}

aside a {
	color: #136BB2;
	text-decoration: none;
	}

aside a:hover {
	color: #136BB2;
	text-decoration: underline;
	transition: 0.25s;	
	}

aside img {
	margin-right: 15px;
	}


/* --- Flexbox --- */

#flexbox-angebote, #flexbox-referenzen {
	margin: 0;
	padding: 0;
	}
	

/* --- Flexbox Angebote --- */

#flexbox-angebote div {
	width: 190px;
	background-color: #FFF;
	padding: 1em;
	margin-bottom: 1em;
	}

#flexbox-angebote div * {
	color: #000;
	}


/* --- Flexbox Referenzen --- */

#flexbox-referenzen div {
	max-width: 45%;
	min-width: 320px;
	height: auto;
	}

#flexbox-referenzen div img {
	border: 10px solid #000;
	-webkit-box-shadow: 0 15px 6px -6px grey;
	-moz-box-shadow: 0 15px 6px -6px grey;
	-o-box-shadow: 0 15px 6px -6px grey;
	box-shadow: 0 15px 6px -6px grey;
	}


/* --- Ecken ---*/

aside, button, #flexbox-angebote div, #flexbox-referenzen div img {
	border-radius: 7px;
}


/* --- Google Maps iframe --- */

iframe {
	width: 100%;
	height: 400px;
	margin: 2% 0 0 0;
	border: 0;
	}

/* --- Formmailer --- */

input, textarea {
	width: 96%;
	color: #666;
	border: 1px solid #DDD;
    padding: 1.5%;
	}

input.error, textarea.error {
	border: 1px solid #D41A21;
	background-color: #F8E0E0;
	}

button {
	width: 60%;
	display: block;
	padding: 2% 0;
	color: #666;
	font-size: 1.2em;
	text-align: center;
	text-decoration: none;
	border: 0;
	background-color: #EEE;
	transition: 0.25s;	
	-webkit-transition: 0.25s;
	}

button:hover {
	color: #136BB2;
	transition: 0.25s;	
	cursor: pointer;
	}


/* --- Footer --- */

footer {
	width: 100%;
	background-color: #EEE;
	clear: both;
	}

footer p {
	color: #999;
	font-size: 0.8em;
	text-align: center;
	}

footer a {
	color: #999;
	text-decoration: none;
	}

footer a:hover {
	color: #666;
	text-decoration: none;
	transition: 0.25s;	
	}


/* --- Contact --- */
/*
#contact {
	height: 35px;
	width: 100%;
	background-color: #EEE;
	border-bottom: 1px solid #CCC;
	font-size: 0.8em;
	}

#contact center {
	text-align: right;
	}
*/

/* --- Slideshow --- */
/*
.slideshow {
	position: relative;
	padding-bottom: 35%;
	width: 100%;
	height: 100%;
	z-index: 99;
	}

.slideshow img {
	position: absolute;
	left: 0;
	top: 0;
	}
*/

/* --- Google Maps --- */
/*
.map {
	position: relative;
	padding-bottom: 32%;
	height: 0;
	overflow: hidden;
	}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
*/
