/* General HTML elements */
form, p, h1, h2, h3, h4, h5, h6, div, img, ul, ol, li, blockquote { margin: 0; padding: 0; }
body { font: 62.8% Arial, Helvetica, sans-serif; background: #ecf5ff url("../gfx/body-background.jpg") top left repeat-x; color: #000; text-align: center; margin: 0; padding: 20px; }
img { border: none; }
a { color: #009; }
a:visited { color: #006; }
a:focus { color: #00f; }
a:hover { color: #00f; }
a:active { color: #f00; }
p { margin: 10px 20px; font-size: 1.4em; }
address { margin: 10px 20px; font-size: 1.4em; font-style: normal; }
h1 { font: normal 2.5em Century Gothic, Arial, Helvetica, sans-serif; margin: 10px 20px; color: #06c; }
h2 { font: normal 2.5em Century Gothic, Arial, Helvetica, sans-serif; margin: 10px 20px; color: #06c; }
h3 { font: normal 1.5em Century Gothic, Arial, Helvetica, sans-serif; margin: 10px 20px; color: #06c; }
ul, ol { margin: 10px 20px; font-size: 1.4em; padding-left: 2em; }
ul ul, ul ol, ol ul, ol ol { font-size: 1em; }

/* Useful Classes */
.left { float: left; }
.right { float: right; }
img.left { margin: 0 10px 10px 0; }
img.right { margin: 0 0 10px 10px; }
.clear_left { clear: left; display: block; }
.clear_right { clear: right; display: block; }
.clear_both { clear: both; display: block; }
.center { text-align: center; }
.error, .errors { color: #f00; }
.valid { color: #090; }
.hide { display: none; }

/* Container */
div#container { width: 980px; margin: 0 auto; text-align: left; background: #fff; padding: 1px 0 0 0; }

/* Top Menu */
ul#top_menu { margin: 90px 0 0 0; padding: 0; font-size: 1em; }
ul#top_menu li { display: inline; list-style-type: none; }
ul#top_menu li a { border: 1px solid #cae3ff; border-bottom: none; float: left; padding: 0 25px; color: #284c6e; font-size: 1.5em; margin: 0 0 0 15px; text-decoration: none; font-weight: bold; height: 30px; line-height: 30px; background: #ecf5ff; }
ul#top_menu li a:hover, ul#top_menu li a:focus { color: #ecf5ff; background: #284c6e; }

/* Columns */
div.column { width: 490px; margin: 0; }

/* Tables */
table { text-align: left; width: 450px; margin: 10px 20px; border-collapse: collapse; font-size: 1em; color: #000; }
caption { text-align: left; font: normal 1.5em Century Gothic, Arial, Helvetica, sans-serif; margin: 10px 0; color: #06c; }
thead tr { background: #cae3ff; }
th, td { padding: 3px 5px; font-size: 1.4em; }
tr.even { background: #ecf5ff; }
.price { text-align: right; }

/* vCards */
div.vcard { margin: 0 0 30px 0; }

/* Footer */
p.clear_both img.right { margin: 15px 0 0 0; }
p#copyright { width: 980px; margin: 0 auto; text-align: right; font-size: 1em; }