body {
  background: black url(/images/background4.jpg) fixed top center no-repeat;
  font: 82%/1.4 "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Bitstream Vera Sans", Verdana, "Verdana Ref", sans-serif;
  margin: 0;
  padding: 0 0 2em;
  text-align: center; }

#wrapper {
  background: white url(/images/content_bg.png) repeat-y;
  margin: 0 auto;
  text-align: left;
  width: 960px;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  behavior: url(/pie/PIE.htc); }

/* === HTML === */
p {
  margin: 0 0 1em; }

a:link {
  color: #aa0000;
  text-decoration: none; }
a:visited {
  color: #770000;
  text-decoration: none; }
a:hover {
  color: #dd0000;
  text-decoration: none; }
a:active {
  color: #dd0000;
  text-decoration: none; }

img {
  border: 0; }

h2 {
  color: #0b1c37;
  font: 2em/1 georgia, "Times New Roman", times, serif;
  margin: 0.25em 0 0.75em; }

h3 {
  color: #3c495f;
  font: 1.4em georgia, "Times New Roman", times, serif;
  margin: 1.5em 0 0.5em; }

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

dt {
  font-weight: bold;
  margin: 1em 0 0;
  padding: 0; }

dd {
  margin: 0 0 1em;
  padding: 0; }

/* === FORMS === */
fieldset {
  border: 0;
  margin: 0 0 1em;
  padding: 0; }
  fieldset p {
    margin: 1em 0 1.5em; }
  fieldset legend {
    font-size: 1.2em; }

form table {
  margin: 1em 0; }
  form table th, form table td {
    border: 0;
    padding: 0.25em 0; }
  form table th {
    padding-right: 1em; }

input {
  font-size: 1.2em;
  padding: 3px; }

label {
  color: #33497b;
  font-size: 0.9em;
  line-height: 2;
  text-transform: uppercase; }

textarea {
  height: 15em;
  font-size: 1.1em;
  width: 90%; }

/* === HEADER === */
#header {
  background: url(/images/nav_bg.png) repeat-x;
  height: 50px;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%; }
  #header h1 {
    height: 139px;
    left: 50%;
    margin: 0 0 0 -497px;
    padding: 0;
    position: absolute;
    top: 0;
    width: 354px;
    z-index: 1000; }
    #header h1 a {
      background: url(/images/logo.png) no-repeat;
      display: block;
      height: 139px;
      overflow: hidden;
      text-indent: -9999px;
      width: 354px; }

/* === NAVIGATION === */
#navigation {
  margin: 0 auto;
  padding: 0;
  width: 960px; }
  #navigation ul {
    list-style: none;
    margin: 0;
    padding: 0 0 0 345px; }
    #navigation ul li {
      float: left;
      margin: 0;
      padding: 0; }
      #navigation ul li a {
        background-image: url(/images/navigation.png);
        display: block;
        height: 50px;
        margin: 0;
        padding: 0;
        overflow: hidden;
        text-indent: -9999px; }

/* === BUTTONS === */
.nav_home a {
  background-position: 0px 0;
  width: 63px; }
  .nav_home a:hover {
    background-position: 0px 50px; }

.nav_about a {
  background-position: -63px 0;
  width: 72px; }
  .nav_about a:hover {
    background-position: -63px 50px; }

.nav_news a {
  background-position: -135px 0;
  width: 65px; }
  .nav_news a:hover {
    background-position: -135px 50px; }

.nav_issues a {
  background-position: -200px 0;
  width: 70px; }
  .nav_issues a:hover {
    background-position: -200px 50px; }

.nav_endorsements a {
  background-position: -270px 0;
  width: 137px; }
  .nav_endorsements a:hover {
    background-position: -270px 50px; }

.nav_involved a {
  background-position: -407px 0;
  width: 125px; }
  .nav_involved a:hover {
    background-position: -407px 50px; }

.nav_contact a {
  background-position: -532px 0;
  width: 83px; }
  .nav_contact a:hover {
    background-position: -532px 50px; }

/* === CONTENT === */
#content #content_main {
  float: right;
  padding: 25px;
  width: 590px; }
#content #content_sub {
  background: url(/images/sub_bg.png) no-repeat;
  float: left;
  font-size: 0.9em;
  padding: 190px 15px 15px;
  width: 290px; }

/* === SIDEBAR === */
#content_sub h4 {
  background: #eef1f9;
  border-bottom: 1px solid #c4c9e1;
  border-top: 1px solid #c4c9e1;
  color: #161e2f;
  font-size: 1.1em;
  margin: 1.5em -15px 1em;
  padding: 0.5em 15px;
  text-transform: uppercase; }

#contribute {
  margin: 1em 0; }

#email_signup form {
  margin: 1.5em 0; }

#district #map {
  margin: 0.5em 0;
  text-align: center; }
#district p {
  margin: 0 0 1em; }

/* === FOOTER === */
#footer {
  background: #0b1c37;
  border-bottom: 1px solid #071328;
  clear: both;
  color: #6d7787;
  font-size: 0.9em;
  margin: 0;
  padding: 20px;
  text-align: right; }
  #footer p {
    margin: 0; }
  #footer #disclaimer {
    border: 1px solid #6d7787;
    float: left;
    padding: 0.25em 0.75em;
    text-transform: uppercase; }

/* === NEWS === */
.article_summary {
  margin: 0 0 2em; }
  .article_summary h3 {
    font-size: 1.55em;
    margin: 0; }
  .article_summary .meta {
    color: #33497b;
    font-size: 0.85em;
    margin: 0.25em 0;
    text-transform: uppercase; }
  .article_summary .article_introduction {
    margin: 0.75em 0 0; }
    .article_summary .article_introduction p {
      margin: 0; }

.dateline {
  color: #33497b;
  font-size: 0.9em;
  margin: -1em 0 1em;
  text-transform: uppercase; }

#state {
  background: #eef1f9;
  border: 1px solid #c4c9e1;
  margin: 1em 0;
  padding: 1em; }

/* === PHOTOS === */
.photo {
  float: right;
  margin: 0 0 1em 1em;
  padding: 0; }
  .photo img {
    border: 2px solid #cccccc;
    display: block;
    line-height: 1;
    margin: 0;
    padding: 0; }

/* === HOME === */
#media {
  margin: 2em 0; }

body.home #content_main h4 {
  color: #161e2f;
  margin: 1.5em 0 1em;
  text-transform: uppercase; }

.signature {
  background: url(/images/signature.gif) no-repeat;
  height: 43px;
  overflow: hidden;
  text-indent: -9999px;
  width: 93px; }

/* === MISC === */
.introduction {
  font: 1.3em/1.5 georgia, "Times New Roman", times, serif;
  margin: 1em 0; }

.required {
  color: #cc0000; }

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

#flash-notice {
  background: #007700; }

#flash-error {
  background: #aa0000; }

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

#errorExplanation {
  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: #cc0000;
  color: white; }

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

#errorExplanation ul {
  margin: 1em; }

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

/* === SITE ADMIN === */
#administration {
  background: #333333;
  border-bottom: 1px solid black;
  left: 0;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 1000; }
  #administration h4 {
    color: white;
    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: #cccc99;
        font-size: 0.9em;
        line-height: 2em; }

table.admin {
  border-collapse: collapse; }
  table.admin th, table.admin td {
    border: 1px solid #cccccc;
    margin: 0;
    padding: 5px;
    vertical-align: top; }
  table.admin label {
    font-family: Calibri, Tahoma, Geneva, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: normal; }
