* {margin:0;padding:0;} 

/* must declare 0 margins on everything, also for main layout components use padding, not 
vertical margins (top and bottom) to add spacing, else those margins get added to total height 
and your footer gets pushed down a bit more, creating vertical scroll bars in the browser */

html, body {height: 100%;}
html {
	overflow-y:scroll;	
}
#wrap {min-height: 100%; background-color:#FFF;}

#main {overflow:auto; position:relative;
	padding-bottom: 30px;}  /* must be same height as the footer */

#footer {position: relative;
	margin-top: -30px; /* negative value of footer height */
	height: 30px;
	line-height:30px;
	clear:both;} 

/*Opera Fix*/
body:before {/* thanks to Maleika (Kohoutec)*/
content:"";
height:100%;
float:left;
width:0;
margin-top:-32767px;/* thank you Erik J - negate effect of float*/
}

a:active {
	outline:none;
}

body {
	font-family:"BaskervilleSSiRegular", Georgia, "Times New Roman", Times, serif;	
	font-size:1.1em;
	color:#300;
}

h1 { color:#FFF; padding-top:50px; font-size:2em; }
p { margin-bottom:0.5em; }
h2 { color:#C96; font-size:1.7em; font-family:"BaskervilleSSiItalic", Georgia, "Times New Roman", Times, serif;	 }

#main { background:url(../images/background.jpg) 0 220px repeat-x; }
#innercontainer { position:relative; width:960px; margin:0 auto; }
#maininner { width:960px; margin:0 auto; color:#000; }
#maininner a { color:#300; text-decoration:none; }
#maininner a span { border-bottom:dashed 1px; }
#maininner a:hover { color:#500; }
#maininnercontainer { position:relative; text-align:left; }
#header { position:relative; height:220px; background-color:#300; }
#craftsmen { position:absolute; right:0; top:50px; }
ul#topmenu { display:block; position:absolute; bottom:10px; left:0; width:100%;  line-height:40px; background-color:#300; }
ul#topmenu li { display:inline; color:#C96; padding-bottom:10px; }
ul#topmenu li a { display:inline-block; text-decoration:none; color:#FFF; padding:0 20px; line-height:40px; height:40px; }
ul#topmenu li a:hover { background-color:#400; }
ul#topmenu li a.selected { background-color:#400; }
ul#topmenu li a.selected:hover { background-color:#500; }
ul#topmenu li a span { display:inline-block; cursor:pointer; }

#chaise { margin:40px auto; }
#footer a {
	text-decoration:none;
	color:#300;
}
p#formhead { font-size:32px; margin-left:0px; padding-top:40px; text-align:center; }
.errorcontainer { text-align:left; margin:20px 0 20px 340px; }
#formoutercontainer { font-size:21px; margin:0 auto 0 auto; width:745px; text-align:left; }
#formoutercontainer label { display:inline-block; width:200px; text-align:right; margin-right:30px; vertical-align:top;  }
#formoutercontainer input#customer,#formoutercontainer input#telephone { width:335px; background-color:#FFC;}
#formoutercontainer textarea { width:340px; background-color:#FFC;  }
#formoutercontainer input#send { background-color:#C96; color:#300; border:medium; padding:10px; }
#formoutercontainer input#send:hover { background-color:#A96; color:#FFF; border:medium; padding:10px; }
.clearboth { clear:both; }

#foamcontainer {
font-size:24px; line-height:1.5em; margin-top:40px;
}
.leftfoam {
	width:280px; float:left; 
}
.midfoam {
	width:400px; float:left;
}
.rightfoam {
	width:260px; margin-left:20px; text-align:right; float:left;	
}

.clearboth {
	clear:both;	
}
.floatleft {
	float:left;	
}
.floatright {
	float:right;	
}
.center {
	text-align:center;
}
.right { 
text-align:right;
}

#address {
	position:absolute;
	right:0;
	top:95px;
}
.mtb20 { margin-top:20px; margin-bottom:20px; }
.mtb40 { margin-top:40px; margin-bottom:40px; }
.mr40 { margin-right:40px; }
.ml40 { margin-left:40px; }
.m40 { margin:40px; }
.small { margin-top:1em; font-size:0.7em; line-height:1.4em; }

.types { display:inline-block; width:104px; height:150px; margin:30px 30px; text-align:center; }
.types div { display:inline-block; height:50px; }
.types img {
	display:block;
	width:104px;
	height:104px;
	border:2px solid black; 
	voice-family: "\"}\""; 
	voice-family:inherit;
	width:100px;
	height:100px; 
}

html>body .types img {
	width:100px;
	height:100px; 
}

ul#types li {
        width: 200px;
        min-height: 250px;
        display: -moz-inline-stack;
        display: inline-block;
        vertical-align: top;
        margin: 5px;
        zoom: 1;
        *display: inline;
        _height: 250px;
    }
