body {
	margin: 0;
	padding: 0;
	font-family: Georgia, "Times New Roman", Times, serif;
	background: #DDD;
}

/* Generic link styles. */	
a {
	color: #006600;
}

	a:visited  {
		color: #336633;
	}

	a:hover {
		color: #663300;
	}

	a img {
		border: none;
	}

/* Heading styles. */	
h1 {
	font-size: 22px;
}

/* Styles for main page divisions. */	
div#header {
	height: 291px;
	background: url('images/header.png') repeat-x top;
}

div#banner {
	width: 900px;
	margin: 0 auto;
}

div#container {
	margin: 0 auto;
	width: 900px;
	background: #FFF url('images/container.png') repeat-y top;
}

div#materials, div#shapes {
	float: left;
	width: 180px;
	padding: 80px 10px;
}

div.thumbnails {
	text-align: center;
}

.thumbnails a img {
	border: 3px solid #CCC;
}

	.thumbnails a img:hover {
		border-color: #FF9900;
	}
	
div.thumbnail {
	margin: 8px;
	float: left;
}

	div.thumbnail a {
		display: block; 
		overflow: hidden;
		width: 64px;
		height: 64px;
	}
	
	div.thumbnail img:hover {
		margin-left: -64px;
		padding-right: 64px;
	}
	
div#main {
	float: left;
	width: 440px;
	padding: 30px;
	background: #FFF;
}

	div#main .thumbnails a img {
		border: none;
	}

#bottom_background {
	width: 100%;
	background: #F0F0F0;
}
	
#bottom {
	width: 900px;
	margin:  0 auto;
	padding: 60px 0 40px;
	background: #F0F0F0 url('images/bottom.png') no-repeat top;
	text-align: center;
}

#footer_background {
	width: 100%;
	background: url('images/footer.png') top repeat-x;
}

#footer {
	width: 900px;
	margin: 0 auto;
	padding: 60px 0;
	text-align: center;
	background: url('images/footer.png') top repeat-x;
	color: #CCC;
}

/* Declarations for Niles the nanobot's speech bubble. */	
div.speech {
	width: 286px;
	margin: 0 auto 40px auto;
	font-family: Helvetica, Arial, Geneva, sans-serif;
	font-size: 12px;
	background: url('images/speech.png') top no-repeat;
	border-bottom: 1px solid #CCC;
}

	div.speech blockquote {
		margin: 0;
		padding: 10px 30px 48px 30px;
		background: url('images/speech_blockquote.png') bottom no-repeat;
	}

/* Declarations for the 'back' link, printed at the bottom of the 'materials' and 'shapes' pages. */	
a.back {
	clear: both;
	display: block;
	width: 286px;
	margin: 40px auto 0 auto;
	padding-top: 20px;
	text-align: center;
	border-top: 1px solid #CCC;
}

/* Expands the container around any floated elements it may contain */	
.stretch:after {	
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}	

* html stretch {height: 1%;}
