
.left {
  float: left; }

.right {
  float: right; }

.clearfix {
  clear: both; }

/* Mixins */

body {
  background: #fff url(/images/v2/body_back.jpg) repeat-x;
  color: #000;
  font: 76%/1.5 'Lucida Grande', 'Helvetica Neue', helvetica, arial, sans-serif;
  margin: 0;
  padding: 0;
  text-align: center; }

/* Header and Navigation */
.mobile_message {
  color: white; }

#header {
  background: transparent url(/images/v2/header_back_skyline.jpg) center 1px no-repeat;
  position: relative;
  height: 197px;
  width: 1100px;
  margin: 0 auto; }
  #header #navigation {
    margin: 0 auto;
    background: transparent url(/images/v2/menu.png) 30px center no-repeat;
    position: absolute;
    bottom: 6px;
    left: 0px;
    width: 100%; }
    #header #navigation ul {
      list-style: none;
      margin: 0 auto;
      padding: 8px 10px 0 10px;
      height: 32px;
      width: 940px; }
      #header #navigation ul li {
        float: left;
        margin: 0;
        padding: 0;
        text-align: center; }
        #header #navigation ul li.home a {
          width: 85px; }
        #header #navigation ul li.calendar a {
          width: 120px; }
        #header #navigation ul li.party a {
          width: 132px; }
        #header #navigation ul li.candidates a {
          width: 143px; }
        #header #navigation ul li.media a {
          width: 85px; }
        #header #navigation ul li.contribute a {
          width: 145px; }
        #header #navigation ul li.contact a {
          width: 112px; }
        #header #navigation ul li a {
          text-indent: -9000px;
          color: white;
          font-size: 20px;
          display: block;
          height: 30px;
          overflow: hidden;
          padding: 0 8px; }
  #header #logo h1 {
    margin: 0;
    padding: 0;
    width: 960px;
    position: relative; }
    #header #logo h1 a {
      display: block;
      position: absolute;
      padding: 10px;
      top: 0px;
      left: 100px;
      height: 113px;
      overflow: hidden;
      text-indent: -9999px;
      width: 510px; }

/* Content */
#content {
  margin: 20px auto;
  width: 940px;
  padding: 0px 20px; }

#wrapper {
  clear: both;
  margin: 0 auto;
  text-align: left; }

#content-main {
  float: left;
  padding: 0px 15px 15px 0;
  width: 603px; }
  #content-main .leadership {
    font-size: 16px; }
    #content-main .leadership th {
      width: 300px; }

#content-sub {
  float: right;
  width: 304px; }

/* Action center */
#action_center {
  border: 1px solid #333333;
  background: #333333 url(/images/v2/action_center.png) no-repeat;
  height: 262px;
  width: 938px;
  margin-bottom: 10px; }
  #action_center .left {
    width: 298px;
    margin: 0;
    padding: 0; }
    #action_center .left #righttovote {
      color: #fff;
      height: 112px; }
      #action_center .left #righttovote h3 {
        margin: 0;
        padding: 4px 0 0 0;
        color: #fff;
        text-transform: uppercase;
        font-size: 30px;
        font-weight: bold; }
      #action_center .left #righttovote p {
        padding: 0px 10px;
        margin: 0px;
        font-size: 13px; }
    #action_center .left ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      #action_center .left ul li {
        margin: 0;
        padding: 0; }
        #action_center .left ul li a {
          text-align: left;
          width: 300px;
          height: 50px;
          overflow: hidden;
          text-indent: -9999px;
          display: block; }
  #action_center .right {
    width: 640px;
    height: 262px;
    margin: 0;
    padding: 0;
    background: transparent url(/images/DCRP-Rotation.jpg) no-repeat 0; }
    #action_center .right a {
      overflow: hidden;
      text-indent: -9999px;
      display: block;
      width: 640px;
      height: 262px; }

/* Footer */
#footer {
  clear: both;
  margin: 0 auto;
  width: 960px;
  border-top: 1px solid #efd5d5; }
  #footer p {
    color: #666666;
    font-size: .9em;
    line-height: 2;
    padding: 1em 0;
    min-height: 50px;
    text-align: left; }

/* Sidebars */
#content-sub ul.sub_links {
  list-style: none;
  margin: 0 0 1em;
  padding: 0 0 0 10px; }
  #content-sub ul.sub_links li {
    margin: 0;
    padding: 0; }
    #content-sub ul.sub_links li a {
      color: #033E60;
      font: 1.35em georgia, "Times New Roman", times, serif;
      line-height: 2; }
      #content-sub ul.sub_links li a:before {
        content: "« "; }
      #content-sub ul.sub_links li a:link {
        text-decoration: none; }
      #content-sub ul.sub_links li a:visited {
        text-decoration: none; }
      #content-sub ul.sub_links li a:hover {
        text-decoration: underline; }
      #content-sub ul.sub_links li a:active {
        text-decoration: underline; }

#sidebar {
  text-align: center; }
  #sidebar .container {
    background: transparent url(/images/v2/sidebg.png) repeat-x;
    height: 132px; }
  #sidebar img {
    margin: 0 10px 20px 10px;
    padding: 0; }
  #sidebar h3 {
    color: #0a3c5d;
    font-size: 26px;
    margin-top: 0;
    margin-bottom: 2px;
    text-align: center;
    height: 32px;
    font-weight: bold; }
  #sidebar a {
    text-decoration: none;
    color: inherit; }
  #sidebar .side_content {
    padding: 0 20px;
    margin-bottom: 40px; }

#subscriber_form input {
  background: #ebf4f8;
  border: 0;
  vertical-align: top; }
  #subscriber_form input#subscriber_email {
    width: 110px;
    padding: 4px; }
  #subscriber_form input#subscriber_zip_code {
    width: 60px;
    padding: 4px; }

.button {
  margin: 0 0 1em; }
  .button img {
    display: block; }

/* Home page */
.welcome #content-main {
  background: transparent;
  padding: 0px;
  width: 100%; }
.welcome #content-sub {
  display: none; }
.welcome #secondary {
  margin: 1em 0; }
  .welcome #secondary #blog {
    float: left;
    width: 600px; }
  .welcome #secondary #sidebar {
    float: right;
    width: 308px; }
    .welcome #secondary #sidebar img {
      margin: 0 10px 20px 10px;
      padding: 0; }

/* Candidates */
body.candidates h3, body.officials h3 {
  margin: 1.5em 0 1em; }
body.candidates table, body.officials table {
  width: 100%; }
  body.candidates table th, body.candidates table td, body.officials table th, body.officials table td {
    border: none;
    padding: .5em .65em; }
  body.candidates table th, body.officials table th {
    background: #c3ddeb;
    width: 40%; }
  body.candidates table td, body.officials table td {
    background: #ebf4f8; }
body.candidates table#district_cts th, body.candidates table#county_offices th, body.officials table#district_cts th, body.officials table#county_offices th {
  width: 35%; }

/* Watch party */
.watch_party table th, .watch_party table td {
  padding: .5em .75em .5em 0; }
.watch_party table ol {
  margin-top: 0;
  margin-bottom: 0; }

/* Reagan Day */
.reagan_day table {
  border-collapse: collapse; }
  .reagan_day table th, .reagan_day table td {
    border: 1px solid #af9f88;
    padding: 7px;
    vertical-align: top; }
  .reagan_day table th {
    background: #d4c3ac; }

/* Admin */
#admin ul {
  list-style: none;
  margin: 0; }
  #admin ul li {
    display: inline;
    margin: 0 5px; }

textarea.mceEditor {
  width: 600px;
  height: 400px; }

/* Multimedia */
body.media #flickr .flickr {
  background: white;
  float: left;
  margin: .5em 1em .5em 0;
  padding: 5px; }
  body.media #flickr .flickr a {
    display: block; }
    body.media #flickr .flickr a img {
      display: block; }

/* Events */
.event {
  margin: 1em 0 1.75em; }
  .event h3 {
    font-size: 1.3em;
    margin: 0; }

table.event th, table.event td {
  padding: .35em .75em .35em 0; }

table.calendar td {
  padding: .3em; }

/* HTML */
a {
  text-decoration: none; }
  a:link {
    color: #990000; }
  a:visited {
    color: #990000; }
  a:hover {
    color: #b31806; }
  a:active {
    color: #b31806; }

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

h2 {
  font-size: 1.6em;
  margin: 0 0 .75em;
  line-height: 1;
  border-bottom: 1px solid #0a3c5d;
  text-transform: uppercase;
  color: #0a3c5d; }

h3 {
  color: black;
  font-size: 1.2em;
  font-weight: normal;
  text-transform: uppercase; }

dl {
  margin: 0;
  padding-top: 10px;
  font-size: 18px; }
  dl dt {
    font-weight: bold;
    margin: 0; }
  dl dd {
    margin: 0 0 1em; }

label {
  text-transform: capitalize; }

table {
  border-collapse: collapse; }
  table th, table td {
    vertical-align: top;
    text-align: left; }

img {
  border: 0; }

form {
  margin: 1em 0; }

/* Images */
.right {
  float: right;
  margin: 0 0 1em 1em; }

.left {
  float: left;
  margin: 0 1em 1em 0; }

/* hCard */
.vcard .org {
  font-size: 1.2em; }
.vcard .tel {
  display: block;
  margin: 0; }

/* Pagination */
.pagination {
  margin: 1.5em 0; }
  .pagination a, .pagination span {
    padding: 4px;
    border: 1px solid #4c2411; }
  .pagination a {
    text-decoration: none; }
    .pagination a:hover {
      text-decoration: underline; }
  .pagination .prev_page, .pagination .next_page {
    border: 0; }

/* Early vote */
.early_vote table {
  border-collapse: collapse;
  margin: 1em 0; }
  .early_vote table th, .early_vote table td {
    border: 1px solid #1F110C;
    padding: .5em;
    vertical-align: top; }
.early_vote #google_map {
  margin: 2em 0; }
  .early_vote #google_map iframe {
    border: 1px solid #1F110C;
    margin: 0; }
  .early_vote #google_map p {
    font-size: .9em;
    margin: 0; }

/* Admin */
tr.draft, tr.completed {
  color: #666; }

tr.draft a, tr.completed a {
  color: #666; }

#state {
  background: #eee;
  border: 2px solid #ccc;
  line-height: 1;
  margin: 1em 0;
  padding: 1em; }


#state p, #state form, #state form div {
  margin: .5em 0; }

#state strong {
  font-size: 2.5em; }

table.admin {
  border-collapse: collapse; }
  table.admin th, table.admin td {
    border: 1px solid #554;
    font-size: .9em;
    margin: 0;
    padding: 5px; }

ul.admin_buttons {
  list-style: none;
  margin: 1em 0;
  padding: 0; }
  ul.admin_buttons li {
    display: inline;
    margin: 0;
    padding: 0 2em 0 0; }

#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 1em; }
  #administration ul {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0; }
    #administration ul li {
      display: inline;
      margin: 0;
      padding: 0 .25em; }
      #administration ul li a {
        color: #cc9;
        font-size: .9em;
        line-height: 2em; }

ul#social_connect {
  list-style: none;
  background: transparent url(/images/v2/social_icons.png) top center no-repeat;
  height: 43px;
  padding: 6px 0 0 85px; }
  ul#social_connect li {
    text-indent: 9000px;
    float: left;
    overflow: hidden;
    width: 34px;
    margin: 0 4px 0 5px; }
    ul#social_connect li a {
      display: block;
      width: 42px;
      height: 34px; }

/* Rails Built In Stuff */
.flash {
  background: white;
  border-style: solid;
  border-width: 1px;
  font-size: 1.2em;
  margin: 0 0 1em;
  padding: 5px; }

.flash_notice {
  border-color: #060;
  color: #0a0; }

.flash_error {
  border-color: #600;
  color: #a00; }

.fieldWithErrors input {
  border: 2px solid red; }
.fieldWithErrors textarea {
  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; }

table.clubs a {
  font-size: 14px; }
table.clubs td {
  width: 300px; }
table.clubs ul {
  margin: 0;
  padding: 0 0 0 14px; }

.pagination * {
  border: none!important; }

#featured_candidate {
  background: transparent url(/images/template.jpg) no-repeat 0;
  width: 308px;
  height: 216px;
  margin-bottom: 40px; }
  #featured_candidate img {
    padding: 0;
    margin: 0!important;
    border: none!important; }
  #featured_candidate a {
    text-decoration: none; }
    #featured_candidate a:hover {
      text-decoration: none; }
  #featured_candidate ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    #featured_candidate ul li {
      display: none; }
      #featured_candidate ul li.fc0 {
        display: block; }

.visit_website {
  overflow: hidden;
  text-indent: -9999px;
  display: block;
  margin-top: 50px;
  width: 251px;
  height: 34px;
  background: transparent url(/images/v2/visit_website_btn.jpg) no-repeat 0; }

.day a {
  text-decoration: underline; }

table.petition th {
  padding-right: 40px; }

#sign_petition {
  padding-top: 30px; }

#countdown {
  background: url(/images/dcrp-countdown2.png);
  height: 200px;
  display: block;
  margin-bottom: 20px;
  position: relative;
  font-weight: bold; }
  #countdown .counter {
    font-size: 28px;
    width: 60px;
    line-height: 1.1;
    text-align: center; }
  #countdown .label {
    font-size: 12px;
    text-transform: uppercase; }
  #countdown .days {
    position: absolute;
    top: 60px;
    left: 48px; }
  #countdown .hours {
    position: absolute;
    top: 60px;
    left: 114px; }
  #countdown .minutes {
    position: absolute;
    top: 60px;
    left: 186px; }

#accountability_bomb {
  background: transparent url(/images/Pelosi-MoneyBomb.png) no-repeat 0 0;
  padding-bottom: 40px;
  width: 750px;
  height: 400px;
  margin: 0 auto; }
  #accountability_bomb #bar_wrapper {
    width: 716px;
    height: 41px;
    overflow: hidden;
    position: relative;
    top: 334px;
    left: 0px; }
    #accountability_bomb #bar_wrapper #numbers {
      background: transparent url(/images/prog_bar_numbers.png) no-repeat 0;
      width: inherit;
      height: 41px;
      position: absolute;
      z-index: 100; }
    #accountability_bomb #bar_wrapper #fill {
      width: 846px;
      height: 27px;
      position: absolute;
      top: 7px;
      left: 35px;
      z-index: 50;
      overflow: hidden; }
      #accountability_bomb #bar_wrapper #fill #red {
        background: transparent url(/images/prog_bar_red.png) repeat-x 0;
        width: 0px;
        height: 27px;
        float: left; }
      #accountability_bomb #bar_wrapper #fill #shadow {
        background: transparent url(/images/prog_bar_shadow.png) no-repeat 0;
        width: 6px;
        height: 27px;
        float: left; }
    #accountability_bomb #bar_wrapper #bar {
      background: transparent url(/images/prog_bar_bg.png) no-repeat 0;
      width: inherit;
      height: 41px;
      position: absolute;
      z-index: 10; }

#givDiv {
  width: 900px; }
  #givDiv .secure {
    display: none; }
  #givDiv #form_sub_body {
    clear: both; }
  #givDiv .fields {
    clear: both; }
  #givDiv .basic_formlet {
    padding-top: 15px; }

form#ContributionForm table td {
  vertical-align: top;
  text-align: left; }
form#ContributionForm label {
  display: block;
  text-align: left; }
form#ContributionForm .Contribution_radio label {
  display: inline; }
form#ContributionForm .inline {
  display: inline; }

#home_switcher {
  width: 800px;
  position: relative; }
  #home_switcher img {
    border: 0; }
  #home_switcher .menu {
    position: absolute;
    top: 0;
    left: 577px; }
    #home_switcher .menu ul {
      list-style: none;
      width: 400px; }
      #home_switcher .menu ul li {
        margin: 8px 15px;
        padding-left: 40px; }
        #home_switcher .menu ul li.selected {
          background: transparent url(/images/home/selected.gif) no-repeat; }
        #home_switcher .menu ul li a, #home_switcher .menu ul li a:visited {
          color: #8a7556;
          text-decoration: none;
          font-family: Georgia, "Times New Roman", Serif; }

#count_down {
  color: #900;
  width: 306px;
  height: 175px;
  background: transparent url(/images/countdown.gif) no-repeat;
  position: relative;
  line-height: 1.3; }
  #count_down a {
    color: #900;
    display: block;
    height: 175px;
    width: 100%; }
  #count_down #countdown_text {
    position: absolute;
    font-size: 1.2em;
    top: 38px;
    width: 190px;
    text-align: center;
    left: 112px; }

.article_summary {
  margin: 18px 0;
  border-bottom: 1px solid #999999;
  padding-bottom: 20px; }
  .article_summary h3 {
    text-transform: none;
    font-size: 1.4em;
    margin: 8px 0 0 0;
    line-height: 1;
    font-family: Georgia, Serif; }
    .article_summary h3 a {
      font-size: 1.3em;
      text-decoration: none; }
  .article_summary p {
    margin: 0; }
  .article_summary .meta {
    color: #333;
    font-size: .8em;
    margin-bottom: 1em; }
