* { margin: 0; outline: 0; }
ul, ol { padding:  0; }
a, img { border: 0; }

div.clear {
	clear: both;
	line-height: 0;
	height: 0;
	font-size: 0;
	border: 0;
	padding: 0;
	margin: 0;
}

html, body { height: 100%; }

html { margin-bottom: 1px; }

body {
	background: #fff;
	color: #000;
}

/* common declarations */

* {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px; line-height: 16px;
	font-weight: normal;
}

strong {
	font-weight: bold;
}

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

/* header */

#header {
	position: absolute;
	width: 60%;
	min-width: 360px;
	max-width: 1020px;
	margin-top: 155px;
	height: auto;
	z-index: 30;
}

#header div {
	position: relative;
	margin-right: -250px;
	width: 250px;
	float: right;
}

#header h1 {
	width: 160px; height: 28px; 
}
#header h1 a {
	display: block;
	width: 160px; height: 28px;
	background: url(../img/stefan_kraus-trans.png) 0 0 no-repeat;
	text-indent: -9999em;
}

/*
#header h2 {
	width: 255px; height: 33px;
	background: url(../img/strapline-trans.png) 0 0 no-repeat;
	text-indent: -9999em;
}
*/

/* menu */

#menu {
	position: fixed;
	width: 60%;
	min-width: 360px;
	max-width: 1020px;
	padding-top: 205px;
	z-index: 40;
}

#menu div {
	position: relative;
	margin-right: -250px;
	width: 250px;
	float: right;
}

/* active menu item on top: */
#menu h2 a {
	position: relative;
	display: block;
	background: #F9C5CE;
	height: 26px; line-height: 26px;
	padding: 0 0 0 7px;
}

#menu ul {
	display: block;
	height: auto;
	list-style: none;

	padding: 5px 0 0 0;
	margin: 5px 0 0 0;
	border: 1px solid black;
	background: #fff;
}

#menu li ul { 
	height: auto;
	display: block;
	
	border: none; 
	margin: 5px 0 10px 0;
	padding: 0;
		
}

#menu li {
	display: block;
	height: auto; 
	line-height: 20px;
	background: #fff;
	padding: 5px 0 0 0;
	background: url(../img/dots232.gif) 7px 0 no-repeat;
	zoom: 1;
}

#menu li li, #menu li:first-child {
	display: block;
	background: none;
	border: none;
	padding: 0;
}

#menu li a {
	display: block;
	position: relative;
	height: 20px; line-height: 20px;
	padding: 0 0 0 7px;
	background: #fff;
}

#menu li a:hover { background: #F9C5CE; }

#menu li span {
	width: 204px;
	display: block;
	height: 20px; line-height: 20px;
	margin: 0 7px;
}




/*
#menu li a:hover {
	background: url(../img/white50-trans.png);
}
*/




/* content */

#content {
	position: absolute;
	left: 105px; top: 40px;
	padding-right: 105px;
	padding-bottom: 100px;
	z-index: 1;
}


div.project { 
	position: relative;
	float: left;
	white-space: nowrap; 
	margin: 0 0 100px 0;
	clear: left;
}

/* default margins */
div.project img { position: relative; margin-right: 30px; }
div.row { position: relative; margin-bottom: 40px; z-index: auto; }
div.animation { display: block; clear: both; }

div.caption { position: relative; clear: both; z-index: 10; }

div.caption h3 {
	font-weight: bold;
	display: inline; 
	float: left;
	margin: 0 8px 0 0;
}

div.caption a {
	margin: 0 0 0 8px;
	text-decoration: underline;
}

/* text pages */

div.textpage {
	position: fixed;

	width: 576px;
	border-left: 24px solid white;

	height: auto;
	max-height: 100%;
	overflow: auto;
	
	background: #fff;

	z-index: 50;
	
	display: none;
	
}

div.text {

	width: 460px;
	margin: 0;
	padding: 48px 48px 80px 48px;
	
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px; line-height: 16px;
	font-weight: normal;

}

#extra h2, div.text h2 { font-weight: bold; margin-bottom: 16px; }
div.text p { margin: 0 0 8px 0; }

div.text p.close {
	margin-top: 16px;
}

div.text p.close a { text-decoration: underline; }
div.text hr {
	display: block;
	margin: 8px 0;
	border: 0; border-top: 1px solid black;
	padding: 0;
	width: 16px;
}
#extra a, div.text a {
	color: #000; 
	text-decoration: underline;
}

div.text p.close a {
	padding-left: 18px;
	background: url(../img/close-trans.png) 0 2px no-repeat;
	text-decoration: none;
}


#extra {
	position: absolute;
	left: 105px; top: 140px;
	padding-right: 105px;
	padding-bottom: 360px;
	z-index: 60;
}
