html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
body{margin:0;padding:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#fafafa;cursor:pointer;overflow:hidden;}
body { width: 420px; }
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}
.clearfix:after {
  clear: both;
}
h1, h2, h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: normal;
    margin: 0;
    line-height: 1;
    color: #666;
    margin-bottom: 9px;
}
.drop-cap { 
    font-size: 125%;
}
h1 {
    font-size: 16px;
    text-transform: uppercase;
}
h2 { 
    text-transform: uppercase;
    font-size: 12px;
}
h3 {
    font-size: 14px;
    color: #000;
}
a, a:hover, a:active, a:visited {
    color: #333;
    text-decoration: none;
}
.congress-race {
    float: left;
    width: 200px;
}
#house-balance-wrapper {
    margin-right: 9px;
    padding-right: 10px;
    border-right: 1px solid #ccc;
}
#congress {
    border-bottom: 1px solid #999;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.balance-bar-wrapper {
    position: relative;
    height: 60px;
    margin-bottom: 18px;
}
.balance-bar-wrapper .dem-image, .balance-bar-wrapper .gop-image {
    position: absolute;
    width: 43px;
    height: 54px;
    border: none;
    background: transparent;
}
.balance-bar-wrapper .dem-image {
    left: 0;
    top: 0;
    padding-right: 10px;
}
.balance-bar-wrapper .gop-image {
    right: 0;
    top: 0;
    padding-left: 10px;
}
.balance-bar-wrapper .gop-label,
.balance-bar-wrapper .dem-label {
    position: absolute;
}
.balance-bar-wrapper .gop-label {
    top: 0;
}
.balance-bar-wrapper .dem-label {
    top: 0;
}
.balance-bar-wrapper .bar {
    position: absolute;
    bottom: -30px;
}
.balance-bar-wrapper .gop-label .votes {
    text-align: right;
}
.balance-bar-wrapper .votes {
    font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 18px;
    font-weight: 700;
}
.dem-label .votes {
    color: #293988;
}
.gop-label .votes {
    color: #a1001c;
}
.name {
    font-weight: bold;
}
#prez h1 {
    line-height: 24px;
    margin-bottom: 10px;
}
#prez-legend {
    font-size: 12px;
    line-height: 12px;
    margin-bottom: 10px;
}
#prez-legend .legend-item {
    float: left;
}
#prez-legend .legend-item:first-child {
    margin-right: 6px;
}
#prez-legend .marker {
    display: inline-block;
    height: 12px;
    width: 12px;
    background-color: #000;
}
#prez-legend .marker-R {
    margin-right: 5px;
}
#prez-legend .legend-item-leading .marker-R {
    background-color: #df7c84;
}
#prez-legend .legend-item-leading .marker-D {
    background-color: #96b3d8;
}
#prez-legend .legend-item-won .marker-R {
    background-color: #a61200;
}
#prez-legend .legend-item-won .marker-D {
    background-color: #003d77;
}
#prez-balance { margin-bottom: 36px; }
#prez-map { height: 250px; }
p.loading-message {
    text-align: center;
    margin-top: 30px;
    font-size: 25px;
    font-weight: bold;
}
.il-race {
    font-size: 12px;
    line-height: 14px;
    margin-bottom: 15px;
}
.il-race img {
    float: left;
    width: 35px;
    height: 42px;
    margin-right: 5px;
}
.il-race .votes, .il-race .precincts-reporting {
    font-size: 10px;
}
.il-race .name {
    margin-bottom: 2px;
}
.il-race .bar-wrapper {
    max-width: 80px;
    height: 14px;
    float: left;
    margin-right: 3px;
}
.il-race .party-Dem .bar {
    background-color: #293988;
    height: 14px;
}
.il-race .party-GOP .bar {
    background-color: #a1001c;
    height: 14px;
}
.il-race .vote-pct {
    font-weight: 700;
}
.il-race .candidate {
    float: left;
    width: 210px;
}
.il-race .candidate:first-child {
    margin-right: 10px;
    padding-right: 10px;
}
.more-link {
    border: 1px solid #CCCCCC;
    display: block;
    float: right;
    padding: 2px 6px;
}
.more-link:hover {
    color: #fff;
    background-color: #2554D4;
}
.tooltip-wrapper {
    width: 235px;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #999;
}
.tooltip {
    padding: 10px;
}
.tooltip h1 {
    text-transform: none;
    float: left;
    max-width: 120px;
    font-size: 16px;
    line-height: 20px;
    color: #222;
}
.tooltip .electoral-votes {
    font-size: 11px;
    padding: 0 4px;
    background-color: #999;
    color: #fff;
    float: right;
}
.tooltip table {
    width: 100%;
    border-spacing: 0;
}
.tooltip table th, .tooltip table td {
    padding: 0;
}
.tooltip td.vote_total {
    padding-left: 10px;
    padding-right: 10px;
    text-align: right;
}
.tooltip td.candidate {
    text-align: left;
    font-weight: bold;
}
.tooltip td.vote_pct {
    font-weight: bold;
    text-align: right;
}
.tooltip .precincts-reporting {
    font-size: 10px;
    font-style: italic;
}
.tooltip td.check {
    width: 14px;
    padding-right: 4px;
}
.tooltip .check-mark {
    padding: 1px 3px;
    font-size: 10px;
    line-height: 10px; 
}
.tooltip .dem .check-mark {
    color: #003d77;
}
.tooltip .gop .check-mark {
    color: #a61200;
}
.tooltip .other .check-mark {
    color: #c0a31e;
}
.tooltip .winner .check-mark {
    color: white;
}
.tooltip .dem .check-mark, .tooltip .dem-winner {
    background-color: #003d77;
}
.tooltip .gop .check-mark, .tooltip .gop-winner {
    background-color: #a61200;
}
.tooltip .other .check-mark, .tooltip .other-winner {
    background-color: #c0a31e;
}
#attribution { 
    margin-bottom: 8px;
    font-size: 11px;
    line-height: 11px;
    color: #666;
}
#ap-attrib { float: left; }
#updated { float: right; }
