* { margin: 0; padding: 0; }
html, body { background: #fff url(../images/bg.gif) 0 0 repeat-x; }
html, body, #body { height: 100%; }
body { text-align: center; }
body > #body { height: auto; min-height: 100%; }
body, input, textarea, select, table.form, table.list { font: 12px 'lucida grande', tahoma, arial, sans-serif; }

#header { text-align: center; background: url(../images/bg-t.jpg) 50% 51px no-repeat; font: 12px 'lucida grande', tahoma, arial, sans-serif; color: #fff; }

#top { width: 870px; height: 160px; margin: 0 auto; text-align: left; position: relative; }
#top h1 { position: absolute; left: 30px; bottom: 20px; }
#top h1 a { display: block; width: 492px; height: 54px; text-indent: -9999px; overflow: hidden; background: url(../images/logo1.gif) 0 0 no-repeat; }
#top p { position: absolute; right: 30px; bottom: 20px; vertical-align: middle; overflow: hidden; }
#top p label { font-weight: 700; line-height: 20px; text-shadow: rgba(0,0,0,0.6) 0 1px 0; }
#top p input { vertical-align: middle; float: left; }
#top p input#search-q { border: 1px solid #1e4361; background: #fff; height: 13px; padding: 5px; outline: 0; margin-right: 1px; }
#top p input#search-s { border: 1px solid #1e4361; background: #acc2d4; height: 25px; line-height: 23px; padding: 0 5px; outline: 0; }

#top-links { position: absolute; top: 0; right: 0; overflow: hidden; }
#top-links-left { position: absolute; top: 0; left: 0; overflow: hidden; }
#top-links a, #top-links-left a { float: left; background: url(../images/bg-sj.gif) 0 0 no-repeat; height: 31px; color: #666; text-decoration: none; margin-left: 5px; }
#top-links a span, #top-links-left a span { float: left; background: url(../images/bg-sj.gif) 100% -31px no-repeat; height: 31px; line-height: 25px; padding: 0 15px; }
#top-links a:hover, #top-links-left a:hover { color: #000; text-decoration: underline; }
#top-links-left a { margin-left: 0; }

#content-outer { background: url(../images/bg-sh.gif) 50% 0 no-repeat; padding-bottom: 80px; }
#content-inner { width: 860px; margin: 0 auto; background: url(../images/bg-p.png) 0 0 no-repeat; text-align: left; min-height: 360px; }
#content { padding: 30px; font: 14px georgia, 'times new roman', times, serif; overflow: hidden; }

#page-menu { float: right; width: 250px; color: #666; }
#page-menu h3 { font-size: 18px; font-weight: 200; text-align: center; background: url(../images/mb.gif) 50% 100% no-repeat; padding-bottom: 10px; font-variant: small-caps; }
#page-menu ul { list-style: none; padding: 10px; background: url(../images/mb.gif) 50% 100% no-repeat; margin-bottom: 10px; }
#page-menu #main-menu li { font-variant: small-caps; line-height: 20px; font-size: 18px; padding: 0 10px; }
#page-menu #main-menu a { background: url(../images/li.gif) 0 50% no-repeat; display: block; padding: 5px 20px; color: #666; text-decoration: none; }
#page-menu #main-menu a:hover { color: #000; text-decoration: underline; }
#page-menu #main-menu li.c a { color: #036; text-decoration: underline; }
#page-menu div.box { border: 1px solid #ccc; padding: 10px; margin: 0 10px; background: #fff url(../images/bg-b.gif) 0 100% repeat-x; }

#page { color: #333; width: 540px; padding-right: 20px; line-height: 20px; }
#page h2 { font-weight: 200; font-size: 22px; line-height: 25px; font-variant: small-caps; border-bottom: 3px solid #ccc; padding-bottom: 5px; margin-bottom: 10px; text-shadow: rgba(255, 255, 255, 0.6) 0 1px 0; letter-spacing: 1px; }
#page h2 a { color: #999; letter-spacing: -1px; text-decoration: none; margin-right: 10px; }
#page h3 { margin-bottom: 5px; font-weight: 200; font-size: 16px; letter-spacing: -1px; border-bottom: 1px solid #ddd; padding-bottom: 3px; }
#page form label { /*float: left; clear: left; width: 90px;*/ }
#page ul { margin-left: 20px; }
#page p, #page div.p, #page ul, #page div.i { margin-bottom: 20px; }
#page div.i { border-top: 1px solid #eee; border-bottom: 1px solid #eee; text-align: center; padding: 10px 20px; }
#page div.i img { border: 5px solid #ccc; background: #fff; padding: 1px; }
#page div.i a:hover img { border-color: #aaa; }
#page ul a span.authors, #page ul a span.count { color: #999; font-size: 12px; }
#page a { color: #036; text-decoration: none; }
#page a:hover { color: #369; text-decoration: underline; }

#debug { background: #000; padding: 10px; padding-bottom: 80px; color: #fff; font: 10px monaco, courier, monospace; white-space: pre; text-align: left; overflow: hidden; }

#footer { background: url(../images/bg-f.gif) 0 0 repeat-x; height: 80px; position: relative; margin-top: -80px; clear: both; }
#footer-inner { width: 815px; margin: 0 auto; text-align: left; overflow: hidden; color: #fff; font-size: 11px; }
#footer p { float: left; margin-right: 30px; padding: 9px 0; line-height: 14px; }
#footer p.last { float: right; margin-right: 0; text-align: right; }
#footer a { color: #fff; text-decoration: none; }
#footer strong a { text-decoration: underline; }
#footer a:hover { color: #ccc; }

table.form { border: 0; border-spacing: 0; border-collapse: collapse; }
table.form td { padding: 3px 5px; vertical-align: top; }
table.form td label { display: block; font-weight: 700; padding: 2px 10px 0 0; }
table.form td label.nf { display: inline; font-weight: 200; padding: 0; }
table.form td strong em { font-size: 10px; color: #c00; font-style: normal; display: block; padding: 2px 0 4px 0; }
table.form td.r { text-decoration: underline; color: #036; }
table.form tr.i td { background: #fcc; }

table.list { width: 100%; border: 0; border-spacing: 0; border-collapse: collapse; }
table.list th, table.list td { padding: 5px 0; border-bottom: 1px solid #ccc; }
table.list th { border-bottom-width: 2px; }

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */