/* General HTML elements */
form, p, h1, h2, h3, h4, h5, h6, div, img, ul, ol, li, blockquote { margin: 0; padding: 0; }
body { margin: 5px 0 15px 0; padding: 0; }
img { border: none; }

h1 { margin: 15px; }
h2 { margin: 30px 15px 15px 15px; clear: both; }
h3 { margin: 30px 15px 15px 15px; clear: both; }
p { margin: 15px; }
address { margin: 15px; }
ul, ol { margin: 15px; padding: 0 0 0 2em; }
ul.checklist { padding: 0; }
li { margin: 4px 0; }
dl { margin: 15px 0; padding: 0; }
dt { margin: 0; padding: 0; }
dd { margin: 5px 0; padding: 0; }

/* Useful Classes */
.left { float: left !important; }
.right { float: right !important; }
.clear_left { clear: left; display: block; }
.clear_right { clear: right; display: block; }
.clear_both { clear: both; display: block; }
.hide, .special { display: none; }
img.icon { vertical-align: middle; }
a.right { margin: 0 0 0 15px; }
div.column { width: 50%; }
.no_clear { clear: none; }

/* General Forms */
form { display: inline; }
label { float: left; width: 150px; padding: 0 5px 0 0; }
label.inline, table label, ul.errors label { display: inline; float: none; width: auto; padding: 0; }
input.text, select, textarea { border-width: 1px; vertical-align: middle; }
input.button { border-width: 1px; cursor: pointer; vertical-align: middle; }
fieldset { padding: 5px; margin: 10px 5px; border-width: 1px; }
legend { padding: 0 10px; margin: 0 0 0 -5px; }
input.checkbox { border: none; }
ul.errors label { display: inline; float: none; width: auto; padding: 0; }
.wym_box { clear: both; }

/* Tables */
table { width: 556px; margin: 0 15px; clear: both; }
caption { padding: 5px 0; margin: 0; }
th, td { padding: 2px 5px; border-width: 1px; }
tr.last td { border-width: 1px; padding: 2px 5px; }
table img { vertical-align: middle; }

/* Container */
div#container { width: 1000px; padding: 0; margin: 0 auto; }
a#skip_navigation { display: block; margin: 0; padding: 2px; }

/* Header */
div#header { padding: 0; margin: 0; border-width: 0 0 15px 0; }

/* Top Menu */
ul#top_menu { margin: 0; padding: 0; height: 27px; border-width: 3px 0; }
ul#top_menu li { padding: 0; height: 27px; width: 111px; margin: 0; float: left; }
ul#top_menu li a { display: block; height: 27px; line-height: 27px; width: 111px; margin: 0; }

/* Sub Menu */
ul#top_menu li ul.submenu { border-width: 0 3px 3px 3px; display: block; padding: 0; margin: 0; clear: both; width: 111px; position: absolute; top: auto; left: -9999px; }
ul#top_menu li ul.submenu li { display: block; height: auto; }
ul#top_menu li ul.submenu li a { display: block; margin: 0; height: auto; line-height: 15px; }
ul#top_menu li ul.submenu li strong { display: block; margin: 0; height: auto; line-height: 15px; }
ul#top_menu li:hover ul.submenu { top: auto; left: auto; }

/* Left Column */
div#left_column { margin: 0; padding: 0; width: 185px; float: left; }
ul#main_menu { width: 189px; margin: 5px 8px 0 8px; padding: 5px 0 2px 0; }
ul#main_menu li { margin: 0; padding: 0; }
ul#main_menu li a { display: block; height: 27px; line-height: 27px; width: 173px; margin: 3px auto; }
ul#main_menu li img { margin: 0; padding: 0; display: block; }

/* Content */
div#content { padding: 1px 0; width: 616px; margin: 0 0 0 6px; float: left; }
div#content.full_width { margin: 0; width: 100%; float: none; }
a.main_link { border-width: 2px; height: 33px; line-height: 33px; clear: both; display: block; padding: 0 0 0 37px; margin: 15px; }
div#content blockquote { border-top-width: 2px; margin: 15px; padding: 1px; }

/* Restoration Examples */
ul.restoration_examples { width: 270px; float: right; padding: 0; margin: 0; }
ul.restoration_examples li { display: inline; }
ul.restoration_examples li img { margin: 2px; }

/* Useful Links */
ul#useful_links { margin: 0 30px; padding: 0; }
ul#useful_links li { margin: 10px; float: left; width: 130px; height: 100px; padding: 10px; border-width: 1px; }

/* Right Column */
div#right_column { margin: 0; padding: 0; width: 185px; float: right; }
div#left_column p { margin: 15px 14px; }

/* Footer */
p#copyright { margin: 0; border-width: 3px 0 0 0; padding: 2px 5px; clear: both; }