* { margin: 0; padding: 0; }

html { height: 100%; }

body { 
	position: relative;
	min-height: 101%;
	max-width: 80em;
	padding: 1px 1px 2em 1px;
	font: 86%/140% Verdana, Geneva, Arial, sans-serif;
	text-align: left;
	color: #FFF;
	background: #800000 url(/images/top_corner.jpg) no-repeat;
}

/* -------------------- Text styles -------------------*/
a { text-decoration: none; font-weight: bold; color: #FC0; }
a:visited { color: #F90; }
a:hover { color: #F03; text-decoration: underline }
.curve a { color: #FF0 }
.curve a:visited { color: #FFF; }
.curve a:hover { color: #FC0 }

h2, h3, h4, h5 { 
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	line-height: 140%; 
	letter-spacing: 1px;
}
h2 { font-size: 240%; margin: 1.2em 0 1.3em; }
h3 { font-size: 170%; }
h4 { font-size: 120%; }
h5 { font-size: 110%; }
h3, h4, h5 { margin: 0.5em 0; }
p { margin: 0 0 1em; }

address { 
	margin-top: 2em;
	text-align: center;
	clear: both;
	font-size: 75%;
	font-style: normal; 
	font-weight: bold;
	text-align: center;
}

address span { margin-right: 1em; }

blockquote { font-style: italic; }

blockquote cite {
	font-size: 90%;
	font-weight: bold;
	font-style: normal;
}

.IR { 
	position: relative;
	overflow: hidden;
	font-size: 0.9em;
}
		
.IR em {
	display: block;
	position: absolute;
	top: 0; left: 0;
	z-index: 1;
}

img.right { float: right; margin-left: 1.5em; }
img.left { float: left; margin-right: 1.5em; }
.link { margin-top: 1em; font-size: 90%; }
.clearer { clear: both; }

.curve .t, .curve .b, .curve .b b, .curve .t b {
	height: 10px;
	background-image:url(/images/curve.png);
}

.curve .c {
	background: #c00;
	border-color: #fc0;
	border-left-width: 4px;
	border-right-width: 4px;
}

.round { margin-bottom:5px; }
.round .c {
	padding: 0 10px 0 10px;
	border-top: 0;
	border-bottom: 0;
	border-style: solid;
}
.round .t, .round .b, .round .t b, .round .b b {
	display: block;
	overflow: hidden;
}
.round .t b, .round .b b { float: right; width: 50%; }
.round .t .r { background-position: top right; }
.round .b .r { background-position: bottom right; }
.round .b { background-position: bottom left; }
.round .br {
	clear: both;
	display: block;
	overflow: hidden;
	height: 0;
}

/* -------------------- structure -------------------*/
#content { 
	max-width: 52em;
	margin: 25px 0 0 235px;
	padding: 0 1em 1em 0;
}

ul#nav {
	position: absolute;
	top: 246px;
	left: 20px;
	list-style: none;
	font: 140% "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	letter-spacing: 2px;
	text-transform: uppercase;
}

#nav li { 
	margin-bottom: 1em;
	padding: 0.35em 0 0.35em 45px; 
	background: url(/images/nav-image.gif) left center no-repeat;
}

#nav a:visited { color: #FC0; }
#nav a:hover { color: #F03; }
#nav li.active a, #nav li.active a:visited { color: #F90; }

/* -------------------- Elements -------------------*/
/* general */
#content ul {
	margin: 0 0 1em 1em;
	padding-left: 1em;
}

a[href$='.pdf'] {
	background: url(/images/pdf.png) 0 50% no-repeat;
	padding-left: 20px;	
}


/* header */
h1, h1 em { width: 537px; height: 91px; }
h1 em { background: url(/images/header.gif) no-repeat; }

/* footer */
#footer {
	font-size: 80%;
	text-align: center;
}

#footer-links { list-style: none; }
#footer-links li { 
	margin: 0 0.5em;
	padding-right: 1em; 
	display: inline; 
	border-right: 1px solid #FFF;
}
#footer-links li.last { border-right: none; }

/* about */
.quote { margin: 2em 4em; }
.cite { margin-bottom: 0; padding-bottom: 1em; text-align: right }

/* product page */
#prods .curve { 
	margin: 0.5em 0 0 -1em; 
	width: 50em;
	max-width: 100%;
	min-width: 70%;
	padding: 1em;
}

#prods .curve h5 { margin-top: 0; padding-top: 0.5em; }
.price { margin-bottom: 0; padding-bottom: 1em; font-weight: bold }

#prods #bush { width: 30em; min-width: 0 }

/* contact page */ 
address#contact-address {
	position: static;
	text-align: left;
	font-size: 100%;
	margin: 1em 0;
}
address#contact-address span { display: block; }

form { 
	margin: 2em 0; 
	width: 29.5em;
	max-width: 100%;
	min-width: 50%; 
}

fieldset { border: none; padding: 3em 0 1em }

form div { position: relative; }

legend span { 
	position: absolute;
	top: 0.2em; left: 0.5em;
	display: block;
	padding: 0.2em 0.7em;
	color: #900000; background: #F90;
	border: 2px solid #FC0;
	font-weight: bold;
	text-transform: uppercase;
}
label { 
	margin-bottom: 0.5em; 
	width: 100%; 
	font-weight: bold; 
}
label span { 
	float: left; 
	width: 5em; 
	margin-right: 10px; 
	text-align: right;
}
#prodlabel span { width: 14em; line-height: 1.2; }
input, textarea { 
	padding: 0.2em; margin-bottom: 0.5em;
	width: 16em;
	font-size: 16px;
	background: #FFF4CA;
	color: #900000;
	vertical-align: middle;
	border: 2px solid #FC0;
}
input:focus, textarea:focus, input:hover, textarea:hover { 
	background: #FC0; 
	border: 2px solid #F90;
}
select { float: right; margin-right: 2em }
select, option { 
	padding: 0.2em; 
	background: #FFF4CA;
	color: #900000;
	vertical-align: middle;
	border: 2px solid #FC0;
}
option { border: 0; padding-right: 0.5em }
optgroup { font-style: normal; background: none }
button { 
	clear: both;
	margin: 0.5em 0 0; padding: 0.2em;
	font-size: 120%;
	font-weight: bold;
	color: #900000; background: #FC0;
	border: 2px solid #F90;
}
button:hover { color: #FFF4CA; background: #F03; }