/* === DOCUMENT SETUP === */
body {
  background: #364e81 url(/images/bg.png) repeat-x;
  font: 85%/1.5 "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Bitstream Vera Sans", Verdana, "Verdana Ref", sans-serif;
  margin: 0;
  padding: 0;
  text-align: center; }

#wrapper {
  background: white url(/images/bg_wrapper.png) repeat-y;
  margin: 0 auto;
  text-align: left;
  width: 960px; }

/* === HTML === */
hr {
  clear: both;
  height: 1px;
  margin: 0;
  overflow: hidden;
  padding: 0;
  visibility: hidden; }

h2, h3, h4 {
  color: #121E45;
  font-weight: normal;
  text-transform: uppercase; }

h2 {
  font-size: 1.6em;
  margin: .5em 0 1em; }

h3 {
  font-size: 1.3em;
  margin: 1.5em 0 1em; }

h4 {
  font-size: 1.1em; }

a:link, a:visited {
  color: #900; }
a:hover, a:active {
  color: #a00; }

img {
  border: 0;
  display: block; }

/* === HEADER === */
#header {
  background: url(/images/header.jpg) no-repeat;
  height: 160px;
  position: relative; }
  #header h1 {
    float: left;
    height: 160px;
    margin: 0;
    padding: 0;
    width: 480px; }
    #header h1 a {
      display: block;
      height: 160px;
      overflow: hidden;
      text-indent: -9999px;
      width: 480px; }

/* === NAVIGATION === */
#navigation {
  float: right;
  list-style: none;
  margin: 120px 10px 0 0;
  padding: 0;
  width: 470px; }
  #navigation li {
    float: left;
    margin: 0;
    padding: 0; }
    #navigation li a {
      display: block;
      height: 32px;
      overflow: hidden;
      text-indent: -9999px; }

#nav_home a {
  background: url(/images/navigation.png) -0px 0px;
  width: 71px; }
  #nav_home a:hover {
    background-position: -0px 32px; }

#nav_about a {
  background: url(/images/navigation.png) -71px 0px;
  width: 80px; }
  #nav_about a:hover {
    background-position: -71px 32px; }

#nav_posts a {
  background: url(/images/navigation.png) -151px 0px;
  width: 123px; }
  #nav_posts a:hover {
    background-position: -151px 32px; }

#nav_resources a {
  background: url(/images/navigation.png) -274px 0px;
  width: 115px; }
  #nav_resources a:hover {
    background-position: -274px 32px; }

#nav_events a {
  background: url(/images/navigation.png) -389px 0px;
  width: 81px; }
  #nav_events a:hover {
    background-position: -389px 32px; }

/* === CONTENT COLUMNS === */
#content-main {
  float: left;
  padding: 15px;
  width: 560px; }

#content-sub {
  float: right;
  padding: 15px;
  width: 340px; }

/* === FOOTER === */
#footer {
  background: #364e81;
  margin: 1.5em 0 0;
  padding: 0; }
  #footer p {
    color: white;
    font-size: .9em;
    padding: .75em 0;
    text-align: right; }

/* === HOME PAGE === */
body.home #content-main {
  background: url(/images/welcome.jpg) no-repeat;
  padding: 0;
  width: 590px; }
  body.home #content-main p {
    height: 326px;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    width: 100%; }

/* === SIDEBAR === */
h3 {
  margin: .75em 0 1em; }

h4 {
  line-height: 1.2;
  margin: 1.5em 0 .25em; }

/* === MISC === */
.bio_pic {
  float: left;
  margin: .25em 1em 1em 0; }
  .bio_pic img {
    border: 1px solid black;
    display: block; }

body.about h3 em {
  color: #7987a8;
  text-transform: none; }

body.resources #content-main ul {
  list-style: none;
  margin: 0;
  padding: 0; }
  body.resources #content-main ul li {
    margin: 1em 0;
    padding: 0; }

/* === TWITTER FEED === */
#twitter_div {
  margin: 1.5em 1em; }
  #twitter_div h3 {
    margin: 1em 0 .5em; }
    #twitter_div h3 a {
      background: url(/images/twitter_h3.png) no-repeat;
      display: block;
      height: 39px;
      overflow: hidden;
      text-indent: -9999px;
      width: 273px; }

#twitter_update_list {
  list-style: none;
  margin: .5em 0 1em;
  padding: 0; }
  #twitter_update_list li {
    background: #eee;
    line-height: 1.2;
    margin: .35em 0;
    padding: .75em; }
    #twitter_update_list li span {
      display: block; }

/* === SITE ADMIN === */
#administration {
  background: #333;
  border-bottom: 1px solid #000;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1000; }
  #administration h4 {
    color: #fff;
    display: inline;
    margin: 0;
    padding: 0 2em; }
  #administration ul {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0; }
    #administration ul li {
      display: inline;
      margin: 0;
      padding: 0 1em; }
      #administration ul li a {
        color: #cc9;
        font-size: .9em;
        line-height: 2em; }

table.admin {
  border-collapse: collapse; }
  table.admin th, table.admin td {
    border: 1px solid #ccc;
    margin: 0;
    padding: 5px;
    vertical-align: top; }
  table.admin label {
    font-family: Frutiger, "Frutiger Linotype", Univers, Calibri, "Gill Sans", "Gill Sans MT", "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* === FLASH MESSAGES === */
#flash-notice, #flash-error {
  color: white;
  font-size: 1.2em;
  margin: 0 0 1em;
  padding: .5em .75em; }

#flash-notice {
  background: #070; }

#flash-error {
  background: #a00; }

/* === Rails Form Validations === */
.fieldWithErrors input {
  border: 2px solid red; }

#errorExplanation {
  width: 400px;
  border: 2px solid red;
  padding: 7px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  background-color: #f0f0f0; }

#errorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #c00;
  color: #fff; }

#errorExplanation p {
  color: #333;
  margin: 1em 0;
  padding: 5px; }

#errorExplanation ul {
  margin: 1em; }

#errorExplanation ul li {
  font-size: 12px;
  list-style: square; }
