html, body {
height:100%;
}

body {
background:#eee url(images/body_bg.gif) repeat-x top;
}

* {
margin:0;
padding:0;
border:0;
list-style:none;
font-family:"Trebuchet MS", verdana, arial, sans-serif;
}

#wrap {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -60px; /* the bottom margin is the negative value of the footer's height */
width:860px;
background:white url(images/wrap_bg.gif) repeat-y;
}

#footer {
height: 60px; /* .push must be the same height as .footer */
width:860px;
margin:auto;
background:#eee url(images/footer_bg.gif) no-repeat;
}

.push {
height:60px;
clear:both;
}

#header {
width:860px;
margin:auto;
height:130px;
background:#eee url(images/header_bg.gif) no-repeat;
}

h1 {
width:290px;
height:60px;
margin-left:10px;
}

#mainMenu {
margin:9px 25px 0 25px;
}

#mainMenu li {
float:left;
padding:0 8px 0 8px;
font-size:16px;
}

#mainMenu li#tagline {
float:right;
color:#444;
font-style:italic;
}

#mainMenu a {
color:#2b5988;
text-decoration:none;
}

#mainMenu a:hover {
color:#444;
}

#rightSide { width:279px;margin-right:20px;float:right;}
* html #rightSide { margin-right:10px; }

#contentSide { width:550px;margin-left:10px;}
* html #contentSide { margin-left:5px; }


/* TYPOGRAPHY */

h2 {
margin:5px 10px;
font-size:18px;
color:#2b5988;
text-transform:uppercase;
border-bottom:1px dotted #ccc;
}

h3 {
margin:5px 15px;
font-size:16px;
color:#2b5988;
letter-spacing:-.5px;
border-bottom:1px solid #ddd;
}

h4 {
margin:5px 18px;
font-size:14px;
color:#555;
font-weight:bold;
}

#rightSide h3 {
margin:5px;
}

p {
font-size:12px;
margin:5px 20px;
color:#444;
padding:4px;
}

a {
color:#2b5988;
text-decoration:underline;
}

a:hover {
color:#444;
text-decoration:none;
}

#rightSide p {
margin:5px 15px;
}

#footer p {
margin:0;
padding:0;
padding-top:32px;
text-align:center;
font-size:11px;
}

ol {
margin:10px 30px;
}

ol li {
list-style:decimal inside;
color:#444;
font-size:12px;
margin:5px;
}

ol li ol {
margin:5px 50px;
}
 
ol li ol li {
list-style:lower-alpha outside;
color:#555;
}

#rightSide ol {
margin:10px 15px;
}

#rightSide ul {
margin:10px 15px;
}

#rightSide ul li {
list-style:square inside;
font-size:12px;
color:#444;
margin:5px 0;
}


.mainList {
margin:10px 50px;
}

.mainList li { 
list-style:disc inside;
font-size:12px;
margin:2px;
color:#555;
}

ol.letterList {
margin:5px 30px;
}

ol.letterList li {
list-style:upper-alpha inside;
margin:2px;
}

.mainForm {
width:480px;
padding:5px;
margin:10px auto;
}

.mainForm fieldset {
border:1px solid #ccc;
padding:5px;
margin-top:5px;
}

.mainForm legend {
font-family:"Trebuchet MS",Verdana,Sans-Serif;
font-size:18px;
color:#555;
border:1px solid #ccc;
padding:2px 5px;
margin:2px 5px 5px 5px;
background:white;
}

.mainForm label {
font-family:"Trebuchet MS",Verdana,Sans-Serif;
font-size:16px;
text-transform:uppercase;
color:#555;
letter-spacing:.7px;
font-weight:bold;
float:left;
width:180px;
text-align:right;
}

.mainForm .inputField, .textField {
width:240px;
height:20px;
padding:1px;
border:1px solid #2b5988;
color:#555;
float:left;
margin-bottom:10px;
font-size:12px;
}

.mainForm .textField {
height:100px;
overflow:auto;
}

.submitButton {
float:right;
background:#2b5988;
cursor:pointer;
color:#eee;
font-size:16px;
font-weight:bold;
text-align:center;
margin-top:5px;
border:1px solid #ccc;
}

.errorList {
width:300px;
margin:5px auto;
}

.errorList li {
height:16px;
background:white url(images/errorList_marker.gif) no-repeat left top;
font-size:12px;
font-weight:bold;
color:#D00000;
padding-left:15px;
}