/* body */
body{
	background-image:linear-gradient(rgb(250,250,250) 10%,rgb(204,204,204) 75%);
	margin:0;
	padding:0;
}

/* header */
header {
	/*position:fixed;*/
	height:170px;
	background-color:#3a3456;
}

/* logo header */
div#logodiv {
	width:320px;
	height:170px;
	float:left;
}

p#logocenter {
	width:150px;
	height:150px;
	margin:0 auto;
	margin-bottom:10px;
	margin-top:10px;
}

/* banner header */
div#banner {
	width:320px;
	height:170px;
	float:left;
}

p#name {
	text-align:center;
	font-family:'Amatic SC', cursive;
	font-size:3.75rem;
	color:white;
	margin-top:25px;
}

p#dienstleistung {
	text-align:center;
	font-family:'Alegreya Sans SC', sans-serif;
	font-size:1.5rem;
	color:white;
	clear:both;
}

/* Schrift allgemein */
p {
	font-family: 'Open Sans', sans-serif;
	max-width:80em;
	margin:0;
	padding:0;
	color:white;
}

/* Überschriften */
h1, h2 {
	font-family: 'Open Sans', sans-serif;
	color:#3a3456;;
}

h1 {
	margin-top:100px;
	font-size:2rem;
}

h2 {
	font-size:1.5rem;
}

h2#referenzen{
	margin-bottom:50px;
	clear:both;
}

/* Navigation */
nav {
	padding-top:30px;
	background-color:#3a3456;
	font-family:'Alegreya Sans SC', sans-serif;
}

nav ul{
	margin:0;
	padding:0;
	list-style-type:none;
	font-size:1.375rem;
}

nav li{
	float:left;
	display:inline-block;
	position:relative;
	width:120px;
	text-align:center;
	background-color:#3a3456;
}

nav a{
	text-decoration:none;
	color:#fff;
	display:block;
	padding:3px 10px;
}

nav a:hover, nav a:focus{
	background-color:#69c;
	outline:none;
}

/* Navi 2. Ebene*/
nav ul li ul{
	/*display:none;*/
	visibility:hidden;
	position:absolute;
	font-size:1rem;
}

nav ul li:hover ul, nav ul a:focus+ul, nav ul li:focus-within ul {
	/*display:block;*/
	visibility:visible;
}

nav li li a{
	position:static;
	text-align:center;
}

a.aktiv{
	background-color:silver;
}

/* aside, Kontaktdaten und Teil des Lebenslaufs*/
aside {
	overflow:hidden;
	width:320px;
	float:left;
	font-family: 'Open Sans', sans-serif;
	background-color:#3a3456;
	font-size:0.875rem;
}

p#profilpicture {
	text-align:center;
	background-color:#3a3456;
	
}

p#profilname {
	font-family: 'Amatic SC', cursive;
	font-size:2.25rem;
	text-align:center;
	padding-bottom:20px;
}

p.lineaside {
	text-align:center;
	border-bottom:2px solid white;
	padding-bottom:20px;
}

p.iconaside {
	text-align:center;
	padding-top:30px;
	padding-bottom:10px;
	clear:both;
}

p.profilhead {
	font-size:1.25rem;
	text-align:center;
	padding-bottom:15px;
}

p.centeraside{
	text-align:center;
}

p.centerasideend {
	text-align:center;
	padding-bottom:30px;
}

p.leftaside {
	width:150px;
	padding-right:20px;
	text-align:right;
	float:left;
	border-bottom:2px solid white;
	padding-bottom:20px;
}

p.rightaside {
	width:130px;
	padding-left:20px;
	float:left;
	text-align:left;
	border-bottom:2px solid white;
	padding-bottom:20px;
}

/* main */
main{
	line-height:1.5;
	width:70%;
	float:left;
	font-family: 'Open Sans', sans-serif;
}

/* article */
article{
	padding-left:5%;
	padding-right:5%;
	padding-bottom:5%;
	float:left;
}

p.fliesstext {
	color:black;
}

/* Tabellenbereich bei "Lebenslauf" */
table {
	font-family: 'Open Sans', sans-serif;
	color:black;
	margin-top:50px;
}


caption {
	font-family: 'Open Sans', sans-serif;
	color: #3a3456;
	margin-top:50px;
	margin-bottom:20px;
	font-size:3rem;
	font-weight:bold;
	text-align:left;
}
 
td.trennlinietabelle {
	border-bottom:2px solid #3a3456;;
}

/*table, td, th {
	border:1px solid black;
}*/

th {
	color:#3a3456;
	width:600px;
	font-size:1.25rem;
	text-align:left;
	padding-bottom:20px;
	padding-top:30px;
}

td {
	vertical-align:top;
	text-align:left;
	font-size:0.875rem;
	padding-bottom:20px;
	padding-top:5px;
	
}

th.tabelleicon{
	background-color:#3a3456;
}

/* Fotogalerie bei "Referenzen" */
figcaption {
	color:black;
	text-align:center;
}

figure {
	float:left;
	margin-left:0px;
	padding-right:30px;
}

img.fotogalerie {
	border:2px solid #3a3456;
}

img.fotogalerie:hover {
	border:2px solid white;
}

/* Kontaktformular bei "Kontakt" */
form{
	width:40%;
	margin-top:20px;
	float:left;
}

form div{
	margin-bottom:20px;
}

legend {
	font-weight:bold;
	font-size:1.2rem;
	color:#3a3456;;
}

fieldset {
	border:1px solid #3a3456;
}

label{
	color:#3a3456;
	width:220px;
	display:inline-block;
	text-align:right;
}

input  {
	color:#3a3456;
	width:200px;
	margin-left:20px;
	background-color: white;
	
}

label.frau {
	margin-left:20px;
	width:20px;
}

input#frau {
	width:15px;
}

label.herr {
	margin-left:40px;
	width:20px;
}

input#herr {
	width:15px;
}

select{
	width:205px;
	margin-left:240px;
}

input#kontakt {
	width:20px;
}

textarea {
	height:200px;
	width:500px;
	margin-left:240px;
	background-color: white;
}

label.nachrichtenfeld {
	display:block;
}

input.button{
	width:200px;
	height:30px;
	background-color:#3a3456;
	color:white;
	border-color:white;
}

input, select, textarea{
	border:none;
	border-bottom:1px solid silver;
	box-shadow:2px 2px 2px rgba(0,0,0,0.1);	/* Box-Schatten */
	border-radius:3px;	/* runde Eccken */
}

input:hover, input:focus,
select:hover, select:focus,
textarea:hover, textarea:focus{
	outline:none;
	background-color:#ffc;
	box-shadow:0 0 10px rgba(0,0,0,0.2);
}

input[type="submit"]:hover, input[type="reset"]:hover{
	outline:none;
	background-color:#ffc;
	color:#3a3456;
	font-weight:bold;
	box-shadow:0 0 10px rgba(0,0,0,0.2);
}

/* Fußbereich */
footer{
	height:50px;
	background-color:#3a3456;
	clear:both;
}

@media screen and (min-width:1px) and (max-width:640px) {
	header {
		height:240px;
	}

	div#logodiv {
		clear:both;
		width:100%;
		height:120px;
	}

	p#logocenter, img#logo{
		width:100px;
		height:100px;
	}
	
	div#banner {
		width:100%;
		height:120px;
	}

	p#name {
		margin:0 auto;
		font-size:3rem;
	}

	p#dienstleistung {
		margin:0 auto;
		font-size:1.25rem;
	}

	nav li{
		width:100%;
	}
	
	nav ul li:hover ul{
		width:100%;
		position:static;
	}
	
	aside {
		width:100%
	}
	
	p.leftaside {
		width:45%;
		padding-right:5%;
	}

	p.rightaside {
		width:45%;
		padding-left:5%;
	}

	main {
		width:100%;
	}
	
	label {
		width:80px;
	}
	
	input {
		width:140px;
	}
	
	textarea {
		width:140px;
		margin-left:105px;
	}

	select{
		width:140px;
		margin-left:105px;
	}
	
	label.herr {
		margin-left:10px;
	}
	
}
	
@media screen and (min-width:641px) and (max-width:820px) {
	header {
		height:240px;
	}
	
	div#logodiv {
		clear:both;
		width:100%;
		height:120px;
	}
	
	p#logocenter, img#logo{
		width:100px;
		height:100px;
	}
	
	div#banner {
		width:100%;
		height:120px;
	}

	p#name {
		margin:0 auto;
		font-size:3rem;
	}

	p#dienstleistung {
		margin:0 auto;
		font-size:1.25rem;
	}

	nav li{
		width:100%;
	}
	
	nav ul li:hover ul{
		width:100%;
		position:static;
	}

	main {
		width: 45%;
	}
	
	
	label {
		width:80px;
	}
	
	input {
		width:180px;
	}
	
	textarea {
		width:180px;
		margin-left:105px;
	}

	select{
		width:180px;
		margin-left:105px;
	}
}

@media screen and (min-width:821px) and (max-width:1200px) {	
	div#navigation {
		float:left;
		width:100%;
		background-color:#3a3456;
	}
	
	nav {
		margin-left:320px;
	}
	
	nav ul{
		clear:both;

	}
	
	main {
		width: 60%;
	}
}