/* General formatting */
body {
  font-family: Arial, Helvetica, sans-serif;
  margin: 0;
}
img { border: none; }
#mainBody { position: relative;}

/* Top bar formatting */
#topBar {
  background-image: url('/images/logo.png');
  background-repeat: no-repeat;
  border-bottom: 1px solid #999;
  height: 130px;
  position: absolute;
  width: 100%;
}
#topBar img {
  display: block;
  height: 46px;
  margin: 42px auto 0;
  width: 515px;
  z-index: 2;
}

/* Top right fade logo */
#topRight {
  background-image: url('/images/top_right_fade.png');
  height: 130px;
  position: absolute;
  right: 0px;
  width: 270px;
}

/* Side menu bar formatting */
#menuBar {
  background-image: url('/images/leftnav_bg_fade.png');
  margin: 0;
  min-height: 400px;
  padding: 0;
  position: absolute;
  top: 131px;
  width: 150px;
}
#menuBar li { list-style: none; }
#menuBar li a {
  background-color: #CCC;
  border: 1px solid #999;
  color: black;
  display: block;
  margin: 16px;
  padding: 2px;
  text-align: center;
  text-decoration: none;
}
#menuBar li a:hover {
  background-color: #EEE;
}

/* Main content area formatting */
#mainContent {
  margin: 0 1em 0 160px;
  position: absolute;
  top: 131px;
  width: auto;
}

/* Basic page errors */
#errorList { color: red; }
#errorList > div { margin: 0.5em 0; }
#errorList div.errorArray { padding-left: 1em; }

/* Footer formatting */
#footer {
  font-size: 80%;
  text-align: center;
}

p { text-align: justify; }

/* Primary page headers */
h1 {
  border-bottom: 1px solid #999;
  font-size: 140%;
  font-weight: normal;
  width: 100%;
}

/* Header with red icon insert */
h1.icon {
  background-image: url('/images/section_image_red.png');
  background-repeat: no-repeat;
  line-height: 43px;
  min-height: 43px;
  padding-left: 70px;
}

/* Alternate green header icon */
h1.icon.green { background-image: url('/images/section_image_green.png'); }

/* Secondary page headers */
h2 {
  font-size: 130%;
  font-weight: normal;
}

/* Horizontal rule style */
hr {
  background-color: #999;
  border: none;
  color: #999;
  height: 1px;
}

/* Definitions for image grids */
table.imageGrid { margin: auto; }
table.imageGrid td { text-align: center; }
table.imageGrid img {
  padding: 5px;
  vertical-align: middle;
}

/* Portfolio index table */
#portfolioTable { border-collapse: collapse; }
#portfolioTable h2 {
  background-color: #E8F8FF;
  border-bottom: 1px solid #DDD;
  font-size: 120%;
  padding-left: 4px;
  margin: 0;
}
#portfolioTable td {
  border-top: 1px solid #999;
  padding: 0;
  vertical-align: top;
}
#portfolioTable img {
  border: 1px outset #999;
  height: 150px;
  margin-bottom: 8px;
  width: 200px;
}
#portfolioTable p { margin: 6px 4px 12px; }
#portfolioTable div.link { text-align: center; }

/* Definitions for contact form */
#contactForm label { display: block; }
#contactForm label input { width: 300px; }
#contactForm textarea { width: 400px; }

/* Contact form errors */
#formErrors { color: red; }
#formErrors > div { margin: 0.5em 0; }

/* Main page image */
#mainpageImage {
  float: left;
  height: 120px;
  margin: 0 1em;
  width: 160px;
}

/* Main page list */
#mainpageList {
  font-weight: bold;
  padding-left: 1em;
}
#mainpageList > li { list-style: none; }
#mainpageList ul {
  font-weight: normal;
  margin-bottom: 1em;
}
