/*
Styles for Modern Browsers
=================
*/
/*csslint box-sizing: false, compatible-vendor-prefixes: false */
/* ---------------------------------------------------------------------
RESET CSS

Target Browsers: All
Media Type: Screen, Projection
Width: All Sizes
------------------------------------------------------------------------ */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  vertical-align: baseline; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

:focus {
  outline: 0; }

/* Always show a vertical scrollbar, even when there is no scrolling */
html {
  overflow-y: scroll; }

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

/* ---------------------------------------------------------------------
 HTML5 Element Reset
------------------------------------------------------------------------ */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block; }

audio, canvas, video, progress, picture {
  display: inline-block; }

template {
  display: none; }

/* ---------------------------------------------------------------------
 Form Reset Styles
------------------------------------------------------------------------ */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none; }

input[type="search"] {
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical; }

::-moz-focus-inner {
  border: 0;
  padding: 0; }

/* ---------------------------------------------------------------------
 Element Styles
------------------------------------------------------------------------ */
body {
  /*
    Source Sans Pro Font Weights (http://www.google.com/fonts#UsePlace:use/Collection:Source+Sans+Pro:400,600,700,900,600italic)
    300 & font-style: italic - Light Italic
    400 - Normal
    400 & font-style: italic - Reg Italic
    600 - Semi Bold
    600 & font-style: italic; - Semi Bold Italic
    700 - Bold
    900 - Ultra Bold
    */
  font-family: 'Source Sans Pro', Helvetica, sans-serif;
  font-weight: 400;
  font-size: 14px;
  color: #555555;
  line-height: 1.3;
  /* Arbitrary value */
  background-color: #5073a2; }

img {
  max-width: 100%;
  display: block; }

a {
  text-decoration: none;
  color: #6789ac; }

a:hover {
  text-decoration: underline; }

/* Don't remove the outline on :focus, remove it on :hover and :active instead */
a:hover, a:active {
  outline: none; }

em {
  font-style: italic; }

strong {
  font-weight: 600; }

iframe {
  max-width: 100%; }

/*  Prevents facebook like iFrame from expanding beyond the containing div */
/* ---------------------------------------------------------------------
 Content
------------------------------------------------------------------------ */
.content {
  padding-bottom: 32px; }

.content-title {
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 1px solid #cecac6; }

.content-hero {
  position: relative;
  width: 100%;
  min-height: 100px;
  padding: 20px 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 2px solid #0b5f8e; }

.content-hero > * {
  position: relative;
  z-index: 1; }

.content-hero:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
  background: url(../media/images/bg-hero.jpg) no-repeat bottom center;
  background-size: cover;
  opacity: 0.2; }

/* ---------------------------------------------------------------------
 Footer Styles
------------------------------------------------------------------------ */
.footer {
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 16px 0;
  background-color: #b9d2e1; }

.footer-nav a {
  color: #40576a; }

/* ---------------------------------------------------------------------
 Header
------------------------------------------------------------------------ */
.header-util {
  padding: 10px 0;
  background-color: #b9d2e1;
  overflow: hidden; }

/* Header Utility Navigation */
.header-util-nav {
  font-size: 12px;
  font-weight: 700;
  color: #689da1; }

.header-util-nav a {
  color: #40576a; }

.header-util-NavBtn {
  float: left; }

.header-util-toolsBtn {
  float: right; }

/* Header Main Navigation */
.header-main {
  margin-bottom: 25px;
  padding: 25px 0;
  border-bottom: 1px solid #cecac6; }

.header-main-nav {
  font-weight: 600;
  font-size: 15px;
  text-transform: uppercase;
  position: relative; }

.header-main-nav-wrap {
  position: relative;
  z-index: 102;
  /* to fix carousel arrow bleeding into search box*/ }

/* Center site logo at base resolution */
.header-main-logo {
  margin: 0 auto; }

.ui-coverflow-wrapper {
  position: relative;
  z-index: 1;
  overflow: hidden; }

.ui-helper-clearfix:before, .ui-helper-clearfix:after {
  content: " ";
  display: table; }

.ui-helper-clearfix:after {
  clear: both; }

.ui-coverflow {
  -webkit-perspective: 500px;
  -ms-perspective: 500px;
  perspective: 500px;
  position: relative;
  z-index: 2; }

.ui-coverflow, .ui-coverflow * {
  -ms-touch-action: pan-y !important; }

.ui-coverflow .ui-coverflow-item {
  position: relative;
  cursor: pointer;
  float: left;
  display: block; }


.ui-coverflow img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-drag: none;
  -moz-user-drag: none;
  -ms-user-drag: none;
  user-drag: none;
  border: 0 none; }

.accordion-hd {
  display: block;
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-weight: bold;
  position: relative;
  font-size: 16px;
  border-bottom: 1px solid #c3c3c3; }

.accordion-hd:after {
  content: "";
  background: url(../media/images/sprite.png) -105px -58px no-repeat transparent;
  background-size: 300px 100px;
  width: 16px;
  height: 11px;
  margin-left: 10px;
  display: inline-block;
  position: absolute;
  right: 5px;
  top: 5px; }

.accordion_isClosed .accordion-hd:after {
  background-position: -63px -57px;
  height: 16px;
  width: 11px; }

.accordion_isClosed .accordion-bd {
  display: none; }

/* ---------------------------------------------------------------------
 Article Object

 Displays the article image, heading, author, date, body, tags and
 social sharing components. Typically used on News and Commentary
 article detail pages.
------------------------------------------------------------------------ */
.article {
  background-color: #e7ebf0;
  font-size: 16px; }

.article-img {
  margin-bottom: 20px; }

.article-bd {
  margin-bottom: 20px;
  padding: 0 17px; }

.article-date {
  margin-bottom: 10px; }

.article-tags {
  font-size: 14px; }

.article-ft {
  padding: 15px 0;
  text-align: center;
  border-top: 1px solid #cecac6; }

.article-img_caption {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  background-color: gray;
  padding: 0 6px; }

.article-img_captionLink {
  color: #fff;
  font-size: 12px; }

/* ---------------------------------------------------------------------
 Blocks
 At this base resolution, all blocks will stack vertically
------------------------------------------------------------------------ */
.blocks > * + * {
  margin-top: 15px; }

.blocks_2upAllScreens, .blocks_3upAllScreens {
  list-style: none;
  position: relative;
  margin-left: -4%; }
  .blocks_2upAllScreens:before, .blocks_2upAllScreens:after, .blocks_3upAllScreens:before, .blocks_3upAllScreens:after {
    content: " ";
    display: table; }
  .blocks_2upAllScreens:after, .blocks_3upAllScreens:after {
    clear: both; }

.blocks_2upAllScreens > *, .blocks_3upAllScreens > * {
  float: left;
  margin-left: 4%;
  margin-top: 0; }

.blocks_2upAllScreens > * {
  width: 46%; }

.blocks_3upAllScreens > * {
  width: 29.33333%; }

/* ---------------------------------------------------------------------
 Box Object
 Object used for News items & Conservative Champions. Frequently appears
 inside the Masonry object.
------------------------------------------------------------------------ */
.box {
  position: relative; }

.box_featured:before {
  padding: 5px 20px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: "Featured";
  background-color: #cb585b;
  color: #ffffff;
  font-size: 12px;
  text-transform: uppercase; }

.box_trending:before {
  padding: 5px 20px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: "Trending";
  background-color: #40576a;
  color: #ffffff;
  font-size: 12px;
  text-transform: uppercase; }

.box-img {
  position: relative;
  /*
	height: 165px;
    overflow: hidden;
*/ }

.box-img_candidate {
  height: 197px;
  background: url(../media/images/bg-box-img.gif) no-repeat bottom; }

.box-img_clear {
  background: none; }

.box-img > * {
  margin: 0 auto;
  width: 100%;
  /*
	position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
*/ }

.box-img_candidate > * {
  width: inherit;
  /* to prevent stretching image to 100% on candidate box */
  position: relative; }

.box-fav {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1; }

.box_unpositioned .box-fav {
  position: relative; }

.box-fav-link {
  cursor: pointer; }

.box-wrap {
  height: 225px;
  overflow: hidden;
  padding: 20px 15px 12px;
  border: 1px solid #cecac6; }

/* Removes the top border of the container when an image is present. */
.box-img + .box-wrap {
  border-top: 0; }

.box-date {
  margin-bottom: 1em;
  text-transform: uppercase;
  font-size: 12px; }

.box-hd {
  margin-bottom: 8px;
  line-height: 1.2; }

.box-hd a {
  color: #6789ac; }

.box-hd .hdg_2 {
  max-height: 52px;
  overflow: hidden; }

.box-bd {
  max-height: 73px;
  margin-bottom: 5px;
  overflow: hidden;
  font-size: 12px; }

.box-bd_candidate {
  height: 90px; }

.box-bd-read {
  font-size: 14px; }

.box-tags {
  margin-bottom: 5px;
  font-size: 10px; }

.box-ft {
  text-align: right; }

.box-track {
  text-align: left;
  margin-top: 10px; }

.endorsement-count {
  float: right; }

.box-map, .box-map svg {
  display: none;
  height: 0;
  width: 0; }

.contain {
  padding: 15px;
  border-radius: 10px;
  background-color: #e7ebf0; }

/* Pushes box down */
.mix-box_mgTop {
  margin-top: 15px; }

/* ---------------------------------------------------------------------
 Buttons
------------------------------------------------------------------------ */
.btn {
  display: inline-block;
  padding: 6px 10px;
  vertical-align: middle;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  background-color: #40576a;
  border-radius: 3px;
  border: 0;
  cursor: pointer;
  /* For Hover Transitions */
  -webkit-transition: background-color 200ms linear;
  -moz-transition: background-color 200ms linear;
  -o-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
  /* Corrects Google Font Antiailising Issues in Chrome */
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke: 0.2pt; }

.btn:hover {
  background-color: #6789ac;
  text-decoration: none; }

.btn_lrg {
  padding: 6px 16px;
  background-color: #4283d9;
  border-radius: 10px;
  font-size: 24px;
  font-weight: 700; }

.btn_huge {
  padding: 6px 16px;
  background-color: #4283d9;
  border-radius: 10px;
  font-size: 28px;
  font-weight: 700;
  font-style: italic; }

button.btn, input.btn {
  font-family: 'Source Sans Pro', Helvetica, sans-serif; }

.btn_full {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.btn_search {
  padding: 5px 10px;
  width: 34px;
  height: 31px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  bottom: 0;
  right: 0;
  border-radius: 2px;
  border: none; }

/* Used for Cancel Button */
.btn_mute {
  background-color: #a4a8a7; }

.btn_mute:hover {
  background-color: #c3c8c7; }

.mix-btn_nowrap {
  white-space: nowrap; }

.mix-btn_caps {
  text-transform: uppercase; }

.mix-btn_blue {
  background-color: #4283d9; }

.mix-btn_white-text:link {
  color: #ffffff; }

.mix-btn_tight {
  margin: 0; }

.mix-btn_full-width {
  width: 100%;
  box-sizing: border-box; }

/* Facebook Login Button */
.btnFbLogin {
  box-sizing: border-box;
  width: 112px;
  height: 32px;
  padding: 7px 20px 4px 6px;
  position: relative;
  background: #4c69ba;
  background: -webkit-gradient(linear, center top, center bottom, from(#4c69ba), to(#3b55a0));
  background: -webkit-linear-gradient(#4c69ba, #3b55a0);
  border-color: #4c69ba;
  -webkit-border-radius: 2px;
  color: #fff;
  font-family: "Helvetica neue", sans-serif;
  font-weight: bold;
  text-align: right;
  -webkit-font-smoothing: antialiased;
  text-shadow: 0 -1px 0 #354c8c;
  cursor: pointer; }

.btnFbLogin:before {
  width: 20px;
  height: 20px;
  position: absolute;
  left: 6px;
  top: 6px;
  content: "";
  background: url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yE/r/pO2d5bFWS8j.png) no-repeat; }

.btnGplusLogin {
  padding: 0 20px 0 52px;
  height: 32px;
  line-height: 32px;
  display: inline-block;
  position: relative;
  background-color: #dd4b39;
  color: #ffffff;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 3px;
  border-radius: 3px;
  font-family: Roboto, arial, sans-serif;
  font-size: 12px;
  font-weight: bold;
  -webkit-user-select: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer; }

.btnGplusLogin:before {
  width: 32px;
  height: 32px;
  background: no-repeat url(//ssl.gstatic.com/s2/oz/images/sprites/signinbutton-094c03c836f9f91d08b943a90778d34e.png) -32px -44px;
  position: absolute;
  left: 0;
  content: "";
  border-right: 1px solid #bb3f30; }

/* ---------------------------------------------------------------------
 Card Object

 Used primarily on member profile page. Includes navigation and card
 styling.
------------------------------------------------------------------------ */
.card {
  padding: 5px 15px;
  border: 5px solid #b9d2e1; }

.card:before, .card:after {
  content: "";
  display: table; }

.card:after {
  clear: both; }

.card_detail {
  padding: 0; }

/* List of links (in sidebar) to navigation between cards */
.card-nav {
  font-size: 18px;
  font-weight: 600;
  /* Bold */ }

.card-nav > * {
  padding: 12px 0; }

.card-nav_tight > * {
  padding: 6px 0; }

.card-nav-child > * > * {
  font-size: 14px;
  padding-left: 15px; }

.card-nav-item_isActive {
  color: #cb585b; }

.card-nav-lbl {
  font-weight: 400;
  font-size: 14px; }

.card-wrap {
  padding: 20px 15px; }

/* narrower padding on issues breakdown page  */
.card_narrow {
  padding: 12px; }

/* Tools at the top of each card detail */
.card-tools-top {
  margin-bottom: 15px;
  padding-bottom: 15px;
  overflow: hidden;
  text-align: justify;
  border-bottom: 1px solid #e6e6e6;
  line-height: 1; }

/* For the slider nav at the bottom of the card */
.card-tools-top_secondary {
  margin-top: 15px;
  padding-top: 15px;
  overflow: hidden;
  text-align: justify;
  border-top: 1px solid #e6e6e6;
  line-height: 1; }

.card-tools-list {
  position: relative; }

.card-tools-list > * {
  display: inline-block; }

.card-tools-list-prev {
  float: left; }

.card-tools-list-num {
  position: absolute;
  left: 50%; }

.card-tools-list-num > * {
  position: relative;
  left: -50%; }

.card-tools-list-next {
  float: right; }

.card-img {
  display: inline-block;
  padding: 30px 0; }

.card-hd {
  position: relative;
  /* to position card-fav */
  padding-right: 35px;
  /* to create space between header and favorite icon */
  margin-bottom: 20px; }

.card-bd-tags {
  font-size: 10px;
  margin-bottom: 20px; }

/* Votes stack at smaller widths */
.card-bd-votes > * + * {
  margin: 10px 0 0; }

/* Styles for the Issue Breakdown page */
.card-fav {
  position: absolute;
  /* relative to card-hd */
  right: 0;
  top: -16px;
  z-index: 1; }

.mix-card_center {
  text-align: center; }

.mix-card_borderless {
  border: 0; }

.mix-card_grayBkgd {
  background: #f2f2f2; }

.mix-card-hd_pdBtm {
  padding-bottom: 15px; }

.mix-card-hd_lined {
  border-bottom: 1px solid #e6e6e6; }

.mix-card-bd_lined {
  border-bottom: 1px solid #e6e6e6; }

.mix-card-ft_pdTop {
  padding-top: 15px; }

/* Mobile Navigation for Cards */
.card_mobileNav {
  margin: 0 -10px;
  position: relative;
  border: 0;
  background-color: #b9d2e1; }

.card_mobileNav-btn {
  display: block;
  position: relative;
  z-index: 3; }

.card_mobileNav-wrap {
  display: none;
  position: absolute;
  top: 35px;
  left: 10px;
  z-index: 2;
  background-color: #ffffff;
  border: 1px solid #cecac6;
  border-radius: 0 4px 4px 4px;
  -webkit-box-shadow: 0 5px 0 0 #e5ebeb;
  box-shadow: 0 5px 0 0 #e5ebeb; }

.card_mobileNav-wrap:before {
  content: "";
  position: absolute;
  top: -40px;
  left: -1px;
  width: 33px;
  height: 39px;
  border: 1px solid #cecac6;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  background-color: #ffffff; }

.card_mobileNav-list {
  max-height: 230px;
  overflow-x: auto;
  min-width: 70px; }

.card_mobileNav-list_isActive {
  display: block; }

.card_mobileNav-list > * + * {
  border-top: 1px solid #cecac6; }

.card_mobileNav-list > * > * {
  width: 100%;
  padding: 12px 15px;
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.card_mobileNav-list > * > *:hover {
  text-decoration: none; }

.card-mobileNav-list-child {
  padding: 0; }

.card-mobileNav-list-child > * > * {
  display: block;
  padding: 0 15px 12px 30px; }

.card_mobileNav-list-lbl {
  display: block;
  font-size: 14px;
  color: #555555; }

/* Set positioning of the sticky mobile card navigation bar
 * and adds margin to card container so it doesn't jump.
 */
.mix-card_detail_offset {
  margin-top: 59px; }

/* Class applied via JavaScript to fix mobile nav to top of screen. */
.mix-card_mobileNav_fixed, .mix-card_fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 2; }

/* ---------------------------------------------------------------------
 Carousel Styling

 Note that carousel styling does not follow Nerdery naming standards
------------------------------------------------------------------------ */
.bx-wrapper {
  position: relative; }

.bxslider {
  overflow: hidden; }

.bx-viewport {
  margin-bottom: 10px; }

.bxslider > li {
  margin-bottom: 20px; }

/* Alter appearance of previous and next buttons */
.bx-prev, .bx-next {
  position: absolute;
  top: 198px;
  width: 0;
  height: 0;
  margin-top: -30px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden; }

.bx-prev {
  left: -10px;
  border-top: 30px solid transparent;
  border-right: 20px solid rgba(68, 68, 68, 0.5);
  border-bottom: 30px solid transparent; }

.bx-next {
  right: -10px;
  border-top: 30px solid transparent;
  border-left: 20px solid rgba(68, 68, 68, 0.5);
  border-bottom: 30px solid transparent; }

/* Carousel Pagination */
.bx-controls {
  margin-bottom: 10px; }

/* Hide controls at beginning & end of carousel items */
.bx-controls-direction .disabled {
  display: none; }

.bx-pager {
  overflow: hidden;
  text-align: center; }

.bx-pager > * {
  display: inline-block; }

.bx-pager-link {
  font-size: 22px; }

.bx-pager > * + * {
  margin-left: 12px; }

.copy {
  font-size: 16px; }

.container {
  padding: 20px;
  background: #f2f2f2; }

.cta {
  background-color: #dae4f0;
  padding: 20px 15px;
  border-bottom: 1px solid #cccccc;
  font-size: 16px;
  color: #40576a; }

.cta_tight {
  margin-top: -25px;
  margin-bottom: -25px; }

/* ---------------------------------------------------------------------
 Distribution Object

 Horzontal scale that visually represents the number of candidates
 belonging to each letter grade.
------------------------------------------------------------------------ */
.distribution-hd {
  color: #6789ac;
  font-size: 12px;
  font-weight: 700;
  /* Bold */
  text-transform: uppercase; }

.distribution-grades {
  margin: 5px 0 10px;
  overflow: hidden; }

.distribution-tools > * {
  float: left; }

.distribution-grades > * {
  width: 20%;
  /* Default width. Actual width set as inline style */
  padding: 2px 0 3px;
  box-sizing: border-box;
  float: left;
  vertical-align: middle;
  font-size: 16px;
  font-weight: 600;
  /* Semi-Bold  */
  text-align: center;
  color: #ffffff; }

.distribution-grades-a {
  background-color: #58cb5d; }

.distribution-grades-b {
  background-color: #cbc258; }

.distribution-grades-c {
  background-color: #cb9e58; }

.distribution-grades-d {
  background-color: #cb7358; }

.distribution-grades-f {
  background-color: #cb585b; }

/* ---------------------------------------------------------------------
 Divide Object
 Adds a curved shadow object to top of container to divide content.
------------------------------------------------------------------------ */
.divide {
  overflow: hidden;
  position: relative;
  z-index: 1; }

.divide_paddingTop {
  padding-top: 25px; }

.divide:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 50px;
  top: -51px;
  left: 50%;
  margin-left: -50%;
  -webkit-box-shadow: 0 0 8px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 0 8px 5px rgba(0, 0, 0, 0.25);
  border-top-left-radius: 1000px 100px;
  border-top-right-radius: 1000px 100px;
  border-bottom-left-radius: 1000px 100px;
  border-bottom-right-radius: 1000px 100px;
  z-index: 999; }

.filters > * + * {
  margin-top: 10px; }

/* ---------------------------------------------------------------------
 Flash Messages

 Used to provide feedback to the user of success or error messages.
 Success and error icons are foreground (inline) images.
------------------------------------------------------------------------ */
.flash {
  padding: 15px 16px 9px;
  background-color: #e7ebf0;
  border-radius: 2px; }

.flash_error {
  color: #cb585b; }

.flash > * {
  display: inline-block;
  vertical-align: middle; }

.flash-list, .flash-list ul {
  padding-left: 17px;
  list-style: disc; }

.flash-list span {
  font-weight: bold; }

/* ---------------------------------------------------------------------
 Flexslider Styles - Reset
------------------------------------------------------------------------ */
.flexslider_container {
  height: 339px;
  width: 100%; }

.flexslider_container:before, .flexslider_container:after {
  content: " ";
  display: table; }

.flexslider_container:after {
  clear: both; }

.flexslider_block {
  max-height: 339px;
  float: left; }

.flexslider-carousel_container {
  width: 70%;
  height: 100%; }

.flexslider {
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  background: transparent;
  max-height: 339px; }

.carousel-slide {
  position: relative;
  width: 100%;
  height: 339px;
  overflow: hidden; }

/* //upping specificity to override defaults */
.slides .carousel-slide > img {
  display: none; }

/* //upping specificity to override defaults */
.slides .carousel-slide > img {
  content: '';
  background-position: center center;
  background-size: cover;
  display: inline-block;
  width: inherit;
  height: inherit; }

.slide-link, .full-link {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.slide-overlay {
  background-color: transparent;
  background-color: rgba(0, 0, 0, 0.5);
  /* FF3+, Saf3+, Opera 10.10+, Chrome, IE9 */
  bottom: 0;
  color: #fff;
  display: block;
  left: 0;
  padding: 1em;
  position: absolute;
  width: 100%;
  zoom: 1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.slide-heading {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  color: #b9d2e1;
  font-weight: 700; }

.slide-overlay_text {
  font-size: 28px;
  color: #ffffff;
  line-height: 1; }

.flexslider-nav a {
  color: #ffffff; }

.flexslider-nav li {
  position: relative;
  border-bottom: solid #49647a 1px;
  color: #dae3e8;
  cursor: pointer;
  padding: 1em 1.3em;
  vertical-align: middle;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.flexslider-nav_container {
  width: 30%;
  min-height: 100%;
  background-color: #5073a2; }

.flexslider-nav li:hover {
  color: #6ea4eb; }

.flexslider-nav .flex-active {
  background: #4283d9;
  color: #ffffff; }

.flexslider-nav .flex-active:before {
  content: ' ';
  position: absolute;
  top: 0;
  left: -10px;
  background: url('../media/images/arrow.png') transparent no-repeat right center;
  background-size: contain;
  height: 100%;
  width: 10px;
  z-index: 100; }

.flexslider-nav_heading {
  line-height: 35px;
  text-align: center;
  border-bottom: 1px solid #768897; }

/* ---------------------------------------------------------------------
 Form Styles
------------------------------------------------------------------------ */
.form {
  position: relative; }

.form:before, .form:after {
  content: "";
  display: table; }

.form:after {
  clear: both; }

.form-section {
  position: relative; }

.form-section-hd, .form-section-intro {
  margin-bottom: 10px; }

.form-list > * + * {
  margin-top: 15px; }

.form-spacer {
  display: none; }

.form-list-wrap {
  position: relative;
  text-align: left; }

.form-label {
  display: block;
  padding-bottom: 7px;
  font-size: 14px;
  text-transform: none; }

.form-input {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  font-size: 13px; }

.form-input_txt, .form_input_txtArea {
  padding: 7px 6px;
  margin: 0;
  border: 1px solid #dcdcdc;
  border-radius: 2px; }

.mix-form-input_txt_short {
  width: 150px; }

.form-input_textarea {
  padding: 3px 6px; }

.mix-form-input_zip {
  width: 100px; }

.form-input_search {
  margin: 0;
  padding: 7px 34px 6px 6px;
  border: 1px solid #dcdcdc;
  border-radius: 2px; }

.form-select {
  height: 31px;
  width: 100%;
  /* max-width: 250px; */
  line-height: 31px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 14px;
  background: #eae9ea; }

.form-select_sm {
  width: 115px; }

.form-select_fit {
  width: auto; }

.form-select_stretch {
  max-width: 100%; }

/* Pagination Styles */
.pagination-list-item_isActive > * {
  border-bottom: 2px solid;
  color: #40576a;
  font-weight: bold; }

/* Use this mix-in class on form elements (text inputs, selects) to highlight form errors. */
.mix-form-error, .input-validation-error {
  border: 2px solid #cb585b; }

.validation-summary-valid {
  display: none; }

.field-validation-valid {
  display: none; }

/* Use this mix-in class on form fields that are required */
.mix-form-req {
  color: #cb585b; }

/* Styles Placeholder Values in text inputs */
::-webkit-input-placeholder {
  font-style: italic; }

:-moz-input-placeholder {
  font-style: italic; }

::-moz-input-placeholder {
  font-style: italic; }

:-ms-input-placeholder {
  font-style: italic; }

/* ---------------------------------------------------------------------
 Grid
 Grid columns stack vertically at this base resolution.
------------------------------------------------------------------------ */
.grid-col + .grid-col {
  margin-top: 20px; }

.mix-grid-col_med + .mix-grid-col_med {
  margin-top: 15px; }

.mix-grid-col_short + .mix-grid-col_short {
  margin-top: 10px; }

/* ---------------------------------------------------------------------
 Fonts/Headings
------------------------------------------------------------------------ */
.hdg, .hdg a {
  color: #cb585b;
  text-decoration: none;
  font-weight: 600;
  /* semi-bold */ }

.hdg a:hover {
  text-decoration: underline; }

.hdg_1 {
  font-size: 30px; }

.hdg_2 {
  font-size: 22px; }

.hdg_3 {
  font-size: 16px; }

.hdg_4 {
  font-size: 14px; }

.hdg_5 {
  font-size: 24px; }

.mix-hdg_rev {
  color: #ffffff; }

.mix-hdg_blk {
  color: #555555; }

.mix-hdg_blue {
  color: #6789ac; }

.mix-hdg_it {
  font-style: italic; }

.mix-hdg_reg {
  font-weight: 400; }

.mix-hdg_bold {
  font-weight: 700; }

.mix-hdg_caps {
  text-transform: uppercase; }

.mix-hdg_proper {
  text-transform: capitalize; }

.mix-hdg_underline {
  padding-bottom: 3px;
  border-bottom: 1px solid; }

.mix-hdg_underline-dark {
  border-color: #c3c3c3; }

.hdg-sm {
  font-size: 12px; }

.hdg-state {
  color: #555555;
  font-size: 16px;
  text-transform: uppercase; }

.hdg-state_alignTitle {
  line-height: 36px; }

.mix-hdg_sm {
  margin-bottom: 10px; }

/* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
.hList > * {
  display: inline-block;
  vertical-align: middle; }

.hList_tight > * + * {
  margin-left: 10px; }

.hList_std > * + * {
  margin-left: 16px; }

.hList_loose > * + * {
  margin-left: 25px; }

.hList_divided > * + * {
  margin-left: 12px;
  padding-left: 12px;
  border-left: 1px solid; }

.mix-hList_top > * {
  vertical-align: top; }

.mix-hList_bottom > * {
  vertical-align: bottom; }

/* Stack all horizontal list items  */
.mix-hList_stack > * {
  display: block; }

.mix-hList_stack_tight > * + *, .mix-hList_stack_std > * + *, .mix-hList_stack_loose > * + * {
  margin: 10px 0 0; }

/* ---------------------------------------------------------------------
 Icons

 Be sure to include mix-in classes for large and small icons.
 Default (extra large) icons are 32px x 32px
 Large icons are 24px x 25px
 Small Icons are 15px x 16px
------------------------------------------------------------------------ */
.icn {
  width: 32px;
  height: 32px;
  display: inline-block;
  background: url(../media/images/sprite.png) no-repeat transparent;
  border: 0;
  overflow: hidden;
  background-size: 300px 100px; }

.icn:before {
  content: "";
  display: block;
  width: 0;
  height: 100%; }

/* Mixin for large icons - 2nd row of sprite.png */
.mix-icn_lg {
  width: 24px;
  height: 25px; }

/* Mixin for small icons - 3rd row of sprite.png */
.mix-icn_sm {
  width: 15px;
  height: 16px;
  vertical-align: middle; }

/* Default (Extra Large) Icons */
.icn_fb {
  background-position: 0 0; }

.icn_gplus {
  background-position: -32px 0; }

.icn_twitter {
  background-position: -64px 0; }

.icn_email {
  background-position: -96px 0; }

.icn_emailRev {
  background-position: -128px 0; }

.icn_fav {
  background-position: -160px 0; }

.icn_fav_isActive {
  background-position: -192px 0; }

/* Large Icons */
.icn_mobileTools {
  background-position: 0 -32px; }

.icn_mobileNav {
  background-position: -24px -32px; }

.icn_print {
  margin-left: 10px;
  float: none;
  background-position: -48px -32px; }

.icn_website {
  background-position: -72px -32px; }

.icn_thumbsUp {
  position: relative;
  top: 5px;
  background-position: -96px -32px; }

.icn_thumbsDown {
  position: relative;
  top: 12px;
  background-position: -120px -32px; }

.icn_edit {
  background-position: -144px -32px;
  vertical-align: middle; }

.icn_arrowUp {
  background-position: -168px -32px;
  vertical-align: middle; }

.icn_home {
  background-position: -192px -32px;
  vertical-align: middle; }

.icn_home:hover {
  background-position: -216px -32px;
  vertical-align: middle; }

/* Small Icons */
.icn_search {
  margin-top: 2px;
  float: none;
  background-position: 0 -57px; }

.icn_question {
  margin-right: 7px;
  background-position: -15px -57px; }

.icn_close {
  float: none;
  background-position: -30px -57px; }

.icn_arrowBlueL {
  margin-right: 3px;
  background-position: -45px -57px; }

.icn_arrowBlueR {
  margin-left: 3px;
  background-position: -60px -57px; }

.icn_arrowLtBlueDown {
  background-position: -75px -57px; }

.icn_arrowWhtRight {
  background-position: -90px -57px; }

.icn-link {
  display: inline-block; }

/* ---------------------------------------------------------------------
 Landing Pages

 Styles for marketing pages users are directed to when clicking on
 a banner ad.
------------------------------------------------------------------------ */
.landing {
  padding: 10px;
  background-size: cover;
  color: #404041; }

.mix-landing_highlight {
  color: #ed1b29; }

.landing-hdg {
  position: relative;
  color: #ffffff;
  font-size: 16px; }

.landing-hdg-score {
  position: absolute;
  top: -26px;
  margin-left: 6px;
  color: #ed1b29;
  font-size: 72px;
  font-family: 'Covered By Your Grace', cursive; }

.landing-hdg_1 {
  font-size: 22px; }

.landing-hdg_2 {
  font-family: 'Covered By Your Grace', cursive;
  font-size: 26px; }

.landing-join {
  padding: 10px;
  background-color: rgba(255, 255, 255, 0.8); }

.landing-join-hdg {
  font-size: 20px;
  font-weight: 700;
  font-family: 'Roboto Slab', serif;
  text-align: center; }

.landing-join-btn {
  width: 100%;
  line-height: 1.5;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: bold;
  background-color: #ed1b29;
  border: none;
  border-radius: 15px; }

.landing-senatorPic {
  margin: -10px -10px 0 -1px; }

/* Container for YouTube embeds to ensure responsive width */
.landing-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0; }

/* Positioning of YouTube embeds to ensure responsive width */
.landing-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.landing-cta {
  display: inline-block;
  padding-right: 30px;
  position: relative;
  color: #ffffff;
  font-family: 'Roboto Slab', serif;
  font-size: 14px;
  background: url(../media/images/icon-arrow.png) no-repeat right center;
  background-size: 20px 36px; }

.landing-note {
  font-size: 10px;
  font-weight: bold; }

.landing-back-img {
  min-height: 365px; }

/* ---------------------------------------------------------------------
 Log In Object

 Used on the Log In page to display two different log in options.
------------------------------------------------------------------------ */
.login {
  position: relative; }

/* Circle 'OR' object that appears between log in options. */
.login:after {
  content: "OR";
  position: absolute;
  top: 115px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 84px;
  height: 84px;
  line-height: 84px;
  display: inline-block;
  background-color: #e6e6e6;
  font-weight: 900;
  font-size: 30px;
  text-align: center;
  color: #ffffff;
  vertical-align: middle;
  border-radius: 50%; }

.login > * + * {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid #cccccc; }

/* ---------------------------------------------------------------------
 Masonry Styles
 Horizontal gutter is set in data-masonry-options attribute in markup.
 Individual items stack to 1 column at this base resolution.
------------------------------------------------------------------------ */
.masonry {
  margin-bottom: 20px;
  overflow: hidden; }

.masonry > * {
  max-width: 100%;
  /* Keep the element from expanding outside the parent container when positioned absolutely */
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 12px;
  float: left; }

/* ---------------------------------------------------------------------
 Media Block
------------------------------------------------------------------------ */
.media {
  overflow: hidden; }

.media-img {
  margin-bottom: 12px;
  position: relative;
  /* needed for absolutely positioned icons */ }

/* Image caption */
.media-img-lbl {
  font-size: 12px;
  text-align: center; }

.media-box {
  margin-top: 10px; }

.media-box-hd {
  margin-bottom: 6px; }

/* Media Footer - Defaults to left aligned */
.media-ft {
  margin-top: 10px; }

.media-ft_left {
  text-align: left; }

.media-ft_ctr {
  text-align: center; }

.media-ft_rt {
  text-align: right; }

/* Responsive YouTube Embeds */
.media-img-vid {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0; }

.media-img-vid > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

/* ---------------------------------------------------------------------
 Fixed Media Block
 Does not stack at any width. Image always remains on left.
------------------------------------------------------------------------ */
.mediaFixed {
  overflow: hidden; }

.mediaFixed-img {
  float: left;
  margin: 0 15px 0 0; }

.mediaFixed-box {
  overflow: hidden;
  margin: 0; }

/* ---------------------------------------------------------------------
 Mobile Navigation
------------------------------------------------------------------------ */
.mobileNav {
  width: 266px;
  /* must equal width of transform3d on snapjs */
  position: absolute;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.mobileNav a {
  color: #ffffff; }

.mobileNav_main {
  left: 0;
  text-transform: uppercase; }

.mobileNav_tools {
  right: 0;
  text-align: right; }

.mobileNav-menu > * {
  border-bottom: 1px solid #cecac6; }

.mobileNav-menu > * > * {
  display: block;
  width: 100%;
  padding: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  color: #ffffff; }

.mobileNav-menu > * > *:hover, .mobileNav-menu > * > *:hover a {
  text-decoration: none;
  background-color: #b9d2e1;
  color: #5073a2; }

/* Hide inactive mobile menu when other is active */
.snapjs-left .mobileNav_tools, .snapjs-right .mobileNav_main {
  display: none; }

/* ---------------------------------------------------------------------
 Modals

 These styles manage the appearance of inline modals.
 Content of these modals should just be informative (i.e. no forms).
------------------------------------------------------------------------ */
.modals-modal {
  width: 300px;
  margin: 0 auto;
  padding: 15px;
  position: relative;
  background-color: #ffffff;
  border: 1px solid #cecac6; }

.modals-modal-hd, .modals-modal-bd {
  margin-bottom: 15px; }

.modals-modal-ft {
  text-align: center; }

/* Backend needed to remove href from anchor. Force cursor to be pointer. */
.js-modal {
  cursor: pointer; }

/* -----------------------
 Animate modal in and out
----------------------- */
.mfp-bg.mfp-ready {
  height: 100% !important;
  width: 100%;
  position: fixed !important;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0; }

.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8; }

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0; }

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.15s ease-out;
  -moz-transition: all 0.15s ease-out;
  transition: all 0.15s ease-out; }

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

/* ---------------------------------------------------------
 Override the default jquery.ui styles for magnific popup
--------------------------------------------------------- */
.ui-front {
  z-index: 2000 !important; }

/* ---------------------------------------------------------
 Override the default modal styles
--------------------------------------------------------- */
.ui-dialog {
  border-radius: 0; }

.ui-dialog-titlebar {
  background: none;
  padding: 0;
  border: none; }


.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
  border: none;
  background: #ffffff; }

.ui-dialog-title {
  color: #cb585b;
  text-decoration: none;
  font-weight: 600;
  font-size: 22px; }

.ui-button-text {
  display: inline-block;
  padding: 6px 10px;
  vertical-align: middle;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  background-color: #40576a;
  border-radius: 3px;
  border: 0;
  cursor: pointer;
  /* For Hover Transitions */
  -webkit-transition: background-color 200ms linear;
  -moz-transition: background-color 200ms linear;
  -o-transition: background-color 200ms linear;
  -ms-transition: background-color 200ms linear;
  transition: background-color 200ms linear;
  /* Corrects Google Font Antiailising Issues in Chrome */
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke: 0.2pt; }

.ui-dialog-titlebar-close .ui-button-text {
  background: none; }

/* ---------------------------------------------------------------------
 Congressional Overview Table Layout
------------------------------------------------------------------------ */
.overview {
  width: 100%; }

.overview > * > * {
  text-align: center; }

.overview th {
  position: relative;
  padding: 0 5px 3px 5px;
  font-weight: 600;
  font-size: 12px;
  border-bottom: 1px solid #e6e6e6;
  vertical-align: bottom;
  background: #ffffff; }

.overview th a {
  color: #555555;
  cursor: pointer; }

.overview tbody tr {
  border-left: 1px solid #e6e6e6;
  border-right: 1px solid #e6e6e6; }

.overview td {
  padding: 5px;
  vertical-align: middle;
  font-size: 12px;
  border-bottom: 1px solid #e6e6e6; }

.overview .overview-picCollapse {
  padding: 0;
  width: 0;
  height: 0; }

.overview tbody tr:nth-child(2n+1) {
  background-color: #f6f6f6; }

.overview-pic, .overview-years, .overview-party, .overview-next, .overview-date {
  display: none; }

/* Hide on mobile */
.overview-picCollapse > img {
  display: none; }

.overview-name {
  text-align: left; }

.overview-score {
  font-weight: 700;
  white-space: nowrap; }

.overview-score-num {
  font-weight: 400; }

.overview-hd {
  padding-bottom: 5px;
  margin-bottom: 10px;
  border-bottom: 1px solid #cccccc; }

.overview .mix-overview_leftAligned {
  text-align: left; }

.pair-subtitle {
  font-size: 12px; }

.poll-hd {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #c3c3c3; }

.poll-hd_bare {
  border-bottom: none; }

.poll-options {
  width: 100%; }

.poll-options + .poll-options th {
  display: none; }

.poll-options + .poll-options {
  margin-top: 0; }

.poll-options th {
  text-align: left;
  font-weight: bold;
  padding: 5px 2px; }

.poll-options td {
  vertical-align: middle;
  text-align: left;
  padding: 10px 2px; }

.poll-options .poll-options-radio {
  vertical-align: top;
  width: 30px;
  padding-top: 20px; }

.poll-options-media:before, .poll-options-media:after {
  content: " ";
  display: table; }
.poll-options-media:after {
  clear: both; }

.poll-options-media-img {
  float: left;
  margin-right: 15px; }

.poll-options-media-bd {
  overflow: hidden; }

td.poll-options-results {
  font-size: 20px; }

.poll-options .poll-options-results {
  text-align: right; }

.poll-ft {
  padding-top: 5px;
  margin-bottom: 10px;
  border-top: 1px solid #c3c3c3; }
  .poll-ft:before, .poll-ft:after {
    content: " ";
    display: table; }
  .poll-ft:after {
    clear: both; }

.poll-ft-action {
  margin-top: 5px;
  float: right; }

.poll-ft-totals {
  font-size: 12px;
  text-align: right; }

.poll-messaging {
  padding: 10px 0 20px 45px;
  background: url(../media/images/icon-success.png) 0 0 no-repeat;
  background-size: 39px 39px; }

.poll-messaging-highlight {
  font-weight: bold; }

.poll-candidate-title {
  color: #6789ac; }

/* ---------------------------------------------------------------------
 Profile Object

 On member profile page, consists of member name, score, photo,
 tracking tools and connect links.
------------------------------------------------------------------------ */
.profile {
  position: relative;
  padding: 10px;
  border: 1px solid #e6e6e6; }

.profile-img {
  background: url(../media/images/bg-box-img.gif) no-repeat bottom; }

.profile-img > * {
  border-radius: 3px; }

.profile-img img {
  margin: 0 auto; }

.profile-hdg {
  margin-bottom: 5px; }

/* Profile Score */
.profile-score {
  max-width: 100%;
  padding: 12px 6px 10px;
  background-color: #f2f2f2;
  font-size: 14px;
  color: #cb585b;
  border-radius: 3px; }

.profile-score-row > * {
  display: inline-block;
  vertical-align: middle; }

.profile-score-row > *:first-child {
  width: 45px;
  text-align: center; }

.profile-score-row > * + * {
  margin-left: 9px; }

.profile-score-row + .profile-score-row {
  margin-top: 3px; }

.profile-score-grade {
  font-size: 44px;
  line-height: 0.7;
  font-weight: 700; }

.profile-score-hdg {
  font-size: 20px;
  font-weight: 600; }

.profile-score-hdg, .profile-score-hdg a {
  color: #cb585b; }

.profile-score-num {
  font-size: 18px; }

.profile-score-desc {
  font-size: 12px;
  color: #4e4c4c; }

.profile-social {
  margin-top: 10px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase; }

.profile-social .hList {
  white-space: nowrap; }

/* Profile Tools */
.profile-tools {
  margin-top: 10px;
  position: relative;
  line-height: 1; }

.profile-tools-btn {
  width: 100%; }

.profile-tools-btn_isActive {
  position: absolute; }

.profile-tools-confirm {
  display: none;
  margin-left: 95px;
  padding: 5px 8px;
  border: 1px solid #cecac6;
  border-radius: 4px; }

.profile-tools-confirm_isActive {
  display: block;
  position: relative;
  z-index: 2; }

.profile-tools-confirm-close {
  position: relative;
  z-index: 1;
  float: right; }

.profile-ft {
  margin-top: 10px; }

.placeholderImage {
  width: 100%; }

/* ---------------------------------------------------------------------
 Promo Object

 Blocks of content primarily used on the homepage
------------------------------------------------------------------------ */
.promo {
  padding: 34px 0 27px;
  background: #f8f9fa;
  /* Old browsers */
  background: -moz-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f9fa), color-stop(100%, #cfe1eb));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #f8f9fa 0%, #cfe1eb 100%);
  /* W3C */ }

/* Add a star background to promo */
.promo_stars {
  background: url(../media/images/bg-stars.png) no-repeat bottom center, -moz-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* FF3.6+ */
  background: url(../media/images/bg-stars.png) no-repeat bottom center, -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f8f9fa), color-stop(100%, #cfe1eb));
  /* Chrome,Safari4+ */
  background: url(../media/images/bg-stars.png) no-repeat bottom center, -webkit-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* Chrome10+,Safari5.1+ */
  background: url(../media/images/bg-stars.png) no-repeat bottom center, -o-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* Opera 11.10+ */
  background: url(../media/images/bg-stars.png) no-repeat bottom center, -ms-linear-gradient(top, #f8f9fa 0%, #cfe1eb 100%);
  /* IE10+ */
  background: url(../media/images/bg-stars.png) no-repeat bottom center, linear-gradient(to bottom, #f8f9fa 0%, #cfe1eb 100%);
  /* W3C */
  background-size: 100%; }

.promo-hd {
  border-bottom: 1px solid #c3c6c7; }

.promo-bd-hd {
  font-size: 20px;
  font-weight: 400;
  /* Regular */
  line-height: 1.2; }

/* ---------------------------------------------------------------------
 Quote Object

 Styling for quotation call outs.
------------------------------------------------------------------------ */
.quote {
  position: relative;
  margin: 0 0 10px 0;
  padding: 25px;
  background-color: #e7ebf0;
  text-align: center; }

/* Quotation marks to left of object */
.quote:before {
  position: absolute;
  left: 5px;
  top: -28px;
  content: "\201C";
  font-size: 80px;
  color: #b9d2e1; }

/* Quotation marks to right of object */
.quote:after {
  position: absolute;
  right: 5px;
  bottom: -63px;
  content: "\201D";
  font-size: 80px;
  color: #b9d2e1; }

.article .quote, .quote_inverse {
  background-color: #ffffff; }

.quote-txt {
  font-size: 24px;
  color: #40576a;
  line-height: 1.25;
  text-align: center !important; }

.quote-cite {
  margin-top: 5px;
  font-size: 16px;
  font-weight: 300;
  font-style: italic;
  color: #6789ac;
  line-height: 1.25;
  text-align: center !important; }

.quote-cite * {
  text-align: center !important; }

.blockquote {
  font-style: italic;
  font-size: 16px;
  margin: 30px 0 45px 20px;
  border-left: 2px solid rgba(0, 0, 0, 0.5);
  padding-left: 15px; }

/* ---------------------------------------------------------------------
 Search Results
------------------------------------------------------------------------ */
.results-box + .results-box {
  margin-top: 40px; }

.results-list {
  margin-bottom: 10px; }

.results-list > * {
  padding: 10px 0;
  border-bottom: 1px solid #cecac6; }

.results-list-date-lbl {
  font-size: 10px;
  text-transform: uppercase;
  font-weight: 700;
  color: #6789ac; }

.results-list-desc-hd {
  margin-bottom: 5px;
  font-weight: 700; }

.results-list-title {
  text-transform: uppercase;
  font-weight: 600;
  /* Semi Bold */ }

.results-qty {
  font-style: italic;
  color: #a4a8a7; }

.results-qty-number {
  font-weight: bold; }

/* ---------------------------------------------------------------------
 Roundabout JS Carousel Styles - Reset
------------------------------------------------------------------------ */
.roundabout {
  top: 40%; }

.roundabout_container {
  height: 315px;
  overflow: hidden;
  position: relative; }
  .roundabout_container:before, .roundabout_container:after {
    content: " ";
    display: table; }
  .roundabout_container:after {
    clear: both; }

.roundabout-slide {
  display: block; }

.roundabout_wall {
  content: ' ';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 180; }

.roundabout-pagination_container {
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
  z-index: 200; }

.roundabout-pagination {
  text-align: center; }

.roundabout-page {
  height: 12px;
  width: 12px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  background-color: #c2d7e5;
  text-indent: -9999px;
  margin: 0 5px; }

/*
    no-touch is to fix an issue with ios and :hover causing the active state.
    The no-touch needs to sandwich the :hover. I love sandwiches.
*/
.no-touch .roundabout-page:hover {
  background-color: #c2d7e5; }

.roundabout-page:hover, .roundabout-page.active {
  background-color: #7ba4c6;
  cursor: pointer; }

.no-touch .roundabout-page.active {
  background-color: #7ba4c6; }

.roundabout > * {
  -webkit-transition: all 1s linear;
  -moz-transition: all 1s linear;
  -o-transition: all 1s linear;
  transition: all 1s linear; }

.member-card {
  position: relative;
  max-width: 130px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%; }

.member-card_election:first-child:after {
  content: "vs.";
  width: 2em;
  height: 2em;
  border-radius: 2em;
  position: absolute;
  top: 50%;
  right: -17%;
  z-index: 100;
  margin-top: -20px;
  background: #b9d2e1;
  color: #ffffff;
  font-size: 1.2em;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  line-height: 2em; }

.member-card > * {
  padding: 6px;
  max-width: 130px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.member-photo {
  background-color: #ececec;
  max-width: 130px; }

/* //upping specificity to override defaults */
.member-photo > img {
  max-width: 100%;
  max-height: 100%;
  height: auto; }

.member-info {
  width: 100%; }

.member-name-info {
  color: #4e4c4c;
  background-color: #d3d3d3; }

.member-score-info {
  color: #cb585b;
  background-color: #f1f1f1; }

.member-score-info > * {
  vertical-align: middle; }

.member-name > a:link {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1;
  display: block; }

.member-secondary-info {
  font-size: 0.7em; }

.member-grade {
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1; }

.member-card .member-info a {
  color: inherit; }

.member-info-ft {
  color: #555555;
  font-size: 0.8em;
  margin-top: 5px; }

/* ---------------------------------------------------------------------
 Row
 A generic sectioning container to provide horizontal spacing between objects
------------------------------------------------------------------------ */
.row {
  margin-bottom: 25px; }

.row:before, .row:after {
  content: "";
  display: table; }

.row:after {
  clear: both; }

.row_short {
  margin-bottom: 15px; }

/* Center content within these rows */
.mix-row_ctr {
  text-align: center; }

.mix-row_highlight {
  background-color: #f2f2f2;
  padding-top: 20px; }

.mix-row_padded {
  padding: 20px 0; }

/* ---------------------------------------------------------------------
 Member Score Card - Home Page
------------------------------------------------------------------------ */
.scorecard-link {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  color: #4283d9 !important; }

.scorecards {
  text-align: left;
  font-size: 0; }

.scorecards > * {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  text-align: center;
  padding: 0 7px 15px 7px;
  max-width: 100px;
  vertical-align: top;
  font-size: 12px;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.scorecard-img {
  display: block;
  margin: 0 auto 5px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }

.scorecard-title {
  display: table;
  width: 100%;
  font-size: 12px;
  font-weight: 700;
  color: #555555; }

.scorecard-title > * {
  display: table-cell;
  height: 2.5em;
  vertical-align: middle;
  text-align: center; }

.scorecard-grade {
  display: block;
  font-size: 44px;
  font-weight: 700;
  text-transform: uppercase;
  color: #cb585b;
  line-height: 1; }

.scorecard-grade_overlay {
  position: absolute;
  right: 7px;
  bottom: 13px; }

.scorecard-percent {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #cb585b; }

/* ---------------------------------------------------------------------
 Member Score Data Tables
------------------------------------------------------------------------ */
.scores {
  width: 100%;
  font-size: 12px; }

.scores > * > * > * {
  padding-left: 3px; }

.scores > thead {
  font-weight: 700; }

.scores-state {
  width: 16%; }

.scores-name {
  width: 44%; }

.scores-score {
  width: 23%; }

.scores-track {
  width: 17%;
  text-align: center; }

.scores-isActive {
  background-color: #fffccc; }

/* ---------------------------------------------------------------------
Site

Creates a sticky footer.
------------------------------------------------------------------------ */
html, body {
  height: 100%; }

.site {
  display: table;
  height: 100%;
  width: 100%;
  position: relative;
  background-color: #4283d9;
  table-layout: fixed; }

.site-bd {
  display: table-row;
  height: auto;
  background: url('../media/images/bg-gradient.png') transparent repeat-x bottom center; }

.site-ft {
  display: table-row;
  height: 1px; }

/* ---------------------------------------------------------------------
 Skip Link
 Hide the link off screen until tabbed to content
------------------------------------------------------------------------ */
.skipLink {
  padding: 8px 4px 4px;
  border-radius: 0 0 3px 3px;
  margin-left: 5px;
  position: absolute;
  left: auto;
  top: -50px;
  color: #ffffff;
  background: #cb585b;
  overflow: hidden;
  -webkit-transition: top 1s ease-out;
  -moz-transition: top 1s ease-out;
  -o-transition: top 1s ease-out;
  transition: top 1s ease-out; }
  .skipLink:focus {
    top: 0;
    left: inherit;
    -webkit-transition: top 0.2s ease-in;
    -moz-transition: top 0.2s ease-in;
    -o-transition: top 0.2s ease-in;
    transition: top 0.2s ease-in; }

/* ---------------------------------------------------------------------
 Split Object
 Strictly intended for spliting objects to the left and right.
 At this base resolution, split objects will stack vertically.
------------------------------------------------------------------------ */
.split > * + * {
  margin-top: 8px; }

.split-r {
  text-align: right; }

/* Fixed Split - Objects won't ever stack and will remain on left and right regardless of viewport width. */
.mix-split_fixed {
  width: 100%;
  display: table; }

.mix-split_fixed > * {
  display: table-cell;
  vertical-align: top; }

.mix-split_fixed > * + * {
  margin-top: 0; }

/* Vertically align contents */
.split_ctr > * {
  vertical-align: middle; }

/* ---------------------------------------------------------------------
 Steps
------------------------------------------------------------------------ */
.steps {
  overflow: hidden;
  font-family: 'Roboto Slab', serif; }

.steps > * {
  float: left;
  width: 31.33333%;
  vertical-align: top;
  text-align: center; }

.steps > * + * {
  margin-left: 3%; }

.steps-icon {
  margin: 0 auto; }

.steps-hdg {
  font-weight: bold;
  font-size: 18px; }

.steps_alt > * {
  float: none;
  width: auto;
  text-align: left; }

.steps-media {
  overflow: hidden; }

.steps-media-img {
  float: left;
  margin-right: 10px; }

.steps-media-box {
  overflow: hidden;
  margin-top: 23px; }

/* ---------------------------------------------------------------------
 Tabs Object

 Creates a CSS only solution for tabbed content.
------------------------------------------------------------------------ */
.tabs {
  min-height: 110px;
  position: relative;
  clear: both; }

.tabs-tab {
  float: left; }

.tabs-tab + .tabs-tab {
  margin-left: 2px; }

.tabs-tab > label {
  margin-left: -1px;
  padding: 7px 20px 4px;
  position: relative;
  left: 1px;
  background-color: #b9d2e1;
  border: 1px solid #ccc;
  border-radius: 3px 3px 0 0;
  cursor: pointer;
  color: #40576a;
  font-weight: 700;
  /* Bold */ }

.tabs-tab-radio {
  display: none; }

/* Controls toggling of tabs and their respective content via radio buttons */
.tabs-tab-radio:checked ~ label {
  z-index: 2;
  background-color: #ffffff;
  border-bottom: 1px solid #ffffff;
  color: #6789ac; }

.tabs-tab-radio:checked ~ label ~ .tabs-tab-content {
  z-index: 1; }

.tabs-tab-content {
  padding: 20px 16px;
  position: absolute;
  top: 22px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border-radius: 0 3px 3px 3px; }

.tally {
  font-size: 0.8em;
  display: inline-block;
  border-radius: 1.8em;
  width: 1.8em;
  height: 1.8em;
  font-weight: bold;
  text-align: center;
  line-height: 1.8em;
  background: #d3d3d3; }

.tally_adjacent {
  margin-right: 5px; }

.tally_adjacentRight {
  margin-left: 5px; }

/* ---------------------------------------------------------------------
 Toggle Buttons
 Button pair will fill
------------------------------------------------------------------------ */
.toggle {
  overflow: hidden;
  border-radius: 3px; }

.toggle > * {
  float: left;
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.toggle > * + * {
  border-left: 1px solid #979c9a; }

.toggle_3up > * {
  width: 33.333%; }

.toggle-item > label {
  display: block;
  width: 100%;
  padding: 4px 0;
  position: relative;
  background-color: #a4a8a7;
  color: #e0e0e0;
  font-weight: 600;
  /* Semi Bold */
  text-align: center;
  cursor: pointer; }

.toggle-item:first-child > label {
  border-radius: 3px 0 0 3px; }

.toggle-item:last-child > label {
  border-radius: 0 3px 3px 0; }

.toggle-item-radio {
  display: none; }

/* Controls toggling of tabs and their respective content via radio buttons */
.toggle-item-radio:checked ~ label {
  background-color: #cb585b;
  color: #ffffff; }

/* ---------------------------------------------------------------------
 Search Results
------------------------------------------------------------------------ */
.tools {
  padding: 20px 0;
  border-top: 1px solid #bbbbbb;
  border-bottom: 1px solid #bbbbbb;
  background-color: #dddddd; }

/* Autocomplete styling for jQuery UI */
.track-tools-dropdown {
  position: relative; }

.ui-autocomplete {
  position: absolute;
  z-index: 1;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 5px 10px;
  background: #ffffff;
  border: 1px solid #dcdcdc;
  border-top: none;
  -webkit-box-shadow: 0 3px 10px -3px #1F1F1F;
  box-shadow: 0 3px 10px -3px #1F1F1F; }

.ui-autocomplete > * > * {
  display: block;
  line-height: 1.5;
  cursor: pointer; }

/* ---------------------------------------------------------------------
 Tracking Data Tables on Dashboard

 Table will stack at smaller widths and assume default table appearance
 at larger widths.
------------------------------------------------------------------------ */
.track-data {
  width: 100%; }

.track-data-hd {
  display: none; }

.track-data-bd {
  font-size: 16px; }

.track-data-bd > *:nth-child(2n) {
  background-color: #eeeeee; }

.track-data-bd > * {
  line-height: 1.5; }

.track-data-bd > * > * {
  display: block;
  padding: 5px;
  text-align: left; }

/* Use the data-title attribute to show labels for each table-cell */
.track-data-bd > * > *[data-title]:before {
  display: inline-block;
  margin-bottom: 3px;
  content: attr(data-title) ":\00A0";
  font-weight: 700;
  font-size: 16px; }

.track-data-bd-news {
  font-size: 12px;
  line-height: 1.2; }

/* Create space between date and title of news article */
.track-data-bd-news-date > * {
  display: inline-block;
  padding-right: 4px; }

.track-data-bd-news > * + * {
  margin-top: 5px; }

.track-data-bd-news-date {
  margin-right: 15px; }

.mix-track-data_ctr {
  text-align: left; }

.track-endorser-align {
  display: table;
  margin: 0 auto; }

/* ---------------------------------------------------------------------
 Vertical List
------------------------------------------------------------------------ */
.vList > * + * {
  margin-top: 10px; }

.vList_divided > * + * {
  margin-top: 15px;
  border-top: 1px solid #cac6bd;
  padding-top: 13px; }

/* ---------------------------------------------------------------------
 Wrapper
------------------------------------------------------------------------ */
.wrap {
  max-width: 1024px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.wrap:before, .wrap:after {
  content: "";
  display: table; }

.wrap:after {
  clear: both; }

.wrap_main {
  background-color: #ffffff; }

.wrap_inner {
  padding: 0 10px; }

@media screen and (min-width: 480px) {
  /* ---------------------------------------------------------------------
 Box Object
 Object used for News items & Conservative Champions. Frequently appears
 inside the Masonry object.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Card Object
------------------------------------------------------------------------ */
  /* Votes move to a single line at 480px and up */
  /* ---------------------------------------------------------------------
 Flash Messages

 Used to provide feedback to the user of success or error messages.
 Success and error icons are foreground (inline) images.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Landing Pages

 Styles for marketing pages users are directed to when clicking on
 a banner ad.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Masonry Styles
 Horizontal gutter is set in data-masonry-options attribute in markup.
 Individual items occupy 2 columns at this base resolution.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Media Block
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Member Score Card - Home Page
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Split Object
 Strictly intended for spliting objects to the left and right.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Steps
------------------------------------------------------------------------ */
  .card-bd-votes > * {
    display: inline-block; }
  .card-bd-votes > * + * {
    margin: 0 0 0 25px; }
  .flash-icn {
    margin-right: 18px; }
  .landing-cta {
    font-size: 16px; }
  .landing-hdg {
    font-size: 21px; }
  .landing-hdg_1 {
    font-size: 32px; }
  .landing-hdg_2 {
    font-size: 37px; }
  .landing-hdg-score {
    margin-left: 10px;
    top: -36px;
    font-size: 124px; }
  .masonry {
    margin-left: -2%; }
  .masonry > * {
    margin-left: 2%;
    width: 48%; }
  .media-img {
    float: left;
    margin: 0 15px 0 0; }
  .media-img_left {
    max-width: 40%; }
  .media-img_rt {
    float: right;
    max-width: 40%;
    margin: 0 0 0 15px; }
  .media-img_ctr {
    margin: 0 0 10px;
    float: none; }
  .mix-media-img_tall {
    margin-bottom: 10px; }
  .media-box {
    overflow: hidden;
    margin: 0; }
  .mix-media-box_wrap {
    overflow: visible; }
  .scorecards {
    margin: 0 auto;
    min-width: 300px;
    max-width: 605px; }
  .scorecards > * {
    width: 33.33334%; }
  .steps {
    margin: 0 25px; }
  .steps-hdg {
    font-size: 16px; } }

@media screen and (max-width: 767px) {
  /* ---------------------------------------------------------------------
Adjustments to the Flexslider for Mobile layout
------------------------------------------------------------------------ */
  .mix-btn_full-widthOnMobile {
    width: 100%;
    box-sizing: border-box;
    display: block; }
  .flexslider-carousel_container {
    width: 100%; }
  .flexslider-nav_container {
    width: 100%;
    min-height: 0;
    background-color: #405769;
    text-align: center; }
  .flexslider-nav_heading {
    display: none; }
  .flexslider-nav li {
    font-size: 0;
    height: 26px;
    width: 26px;
    border-radius: 50%;
    display: inline-block;
    margin: 10px;
    border: none;
    background-color: #4b667b; }
  .flexslider-nav .flex-active {
    background-color: #6c88af; }
  .flexslider-nav .flex-active:before {
    display: none; }
  .flexslider .slide-heading a {
    color: #b7d1de; }
  .form-select_stretchOnMobile {
    max-width: 100%; }
  .media_vid .media-img {
    float: none;
    margin: 0 0 10px 0; } }

@media screen and (min-width: 768px) {
  /* ---------------------------------------------------------------------
 Content
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Header
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Blocks
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Box Object
 Object used for News items & Conservative Champions. Frequently appears
 inside the Masonry object.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Button Object
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Card Object
------------------------------------------------------------------------ */
  /* Reset positioning of the sticky mobile card navigation bar
 * and card container for larger viewport widths.
 */
  /* ---------------------------------------------------------------------
 12 Column Grid
 cssgrid --units=percent --cols=12 --col-width=69 --gutter=12 --max-width=960

 ============================================
 Formulas used for calculation of grid values
 ============================================
 gutter      = (gutter / max-width) * 100
 col-width   = (((col-width * col-index) + (gutter * (col-index - 1)) / max-width) * 100
 col-push    = (((col-width * col-index) + (gutter * col-index)) / max-width) * 100
 col-pull    = (((col-width * col-index) + (gutter * col-index)) / max-width) * 100 * -1
------------------------------------------------------------------------ */
  /* Push values include gutter width */
  /* Pull values include gutter width */
  /* Suffix values include gutter width */
  /* pushes contact section right */
  /* ---------------------------------------------------------------------
 Fonts/Headings
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Landing Pages

 Styles for marketing pages users are directed to when clicking on
 a banner ad.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Log In Object

 Used on the Log In page to display two different log in options.
------------------------------------------------------------------------ */
  /* Circle 'OR' object that appears between log in options. */
  /* ---------------------------------------------------------------------
 Masonry Styles
 Horizontal gutter is set in data-masonry-options attribute in markup.
 Individual items occupy 3 columns at this base resolution.
------------------------------------------------------------------------ */
  /* Set masonry elements to fill a single column at larger widths only.
 * Smaller widths will still be 2up or 1up depending on viewport. */
  /* ---------------------------------------------------------------------
 Media Block
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Congressional Overview Layout
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Promo Object

 Blocks of content primarily used on the homepage
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Profile Object

 On member profile page, consists of member name, score, photo,
 tracking tools and connect links.
------------------------------------------------------------------------ */
  /* Profile Score */
  /* ---------------------------------------------------------------------
 Search Results
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Member Score Card - Home Page
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Member Score Data Tables
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Site Search
 Drop down accessed via main navigation SEARCH item.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Split Object
 Strictly intended for spliting objects to the left and right.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Steps
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Tracking Data Tables on Dashboard

 Table will stack at smaller widths and assume default table appearance
 at larger widths.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Wrapper
------------------------------------------------------------------------ */
  /* Used to achieve a content max-width of 960px */
  .content-hero {
    padding: 40px 42px 10px; }
  .content-hero:after {
    opacity: 1; }
  .header-main-logo {
    margin: 0; }
  .blocks {
    list-style: none;
    position: relative;
    margin-left: -2%; }
    .blocks:before, .blocks:after {
      content: " ";
      display: table; }
    .blocks:after {
      clear: both; }
  .blocks > * {
    float: left;
    margin-left: 2%; }
  .blocks > * + * {
    margin-top: 0; }
  .blocks_2up > * {
    width: 48%; }
  .blocks_3up > * {
    width: 31.33333%; }
  .blocks_4up > * {
    width: 23%; }
  .blocks_5up > * {
    width: 18%; }
  .blocks_2upLoose {
    margin-left: -8%; }
  .blocks_2upLoose > * {
    width: 42%; }
  .blocks_2upLoose > * {
    margin-left: 8%; }
  .box-ft {
    overflow: visible; }
  .box-map, .box-map svg {
    display: block;
    height: 180px;
    width: 100%; }
  .btn_full {
    width: auto; }
  .card-wrap {
    padding: 30px 40px; }
  .mix-card_detail_offset {
    margin-top: 0; }
  .mix-card_mobileNav_fixed {
    position: static; }
  .card-head:before, .card-head:after {
    content: " ";
    display: table; }
  .card-head:after {
    clear: both; }
  .card-head-title {
    float: left;
    max-width: 58%;
    margin-right: 2%; }
  .card-head-date {
    float: right;
    width: 40%;
    text-align: right; }
  .contentTitle-secondary {
    text-align: right; }
  .form-spacer {
    font-size: 18px;
    line-height: 32px;
    display: block; }
  .grid {
    position: relative; }
  .grid:before, .grid:after {
    content: " ";
    display: table; }
  .grid:after {
    clear: both; }
  .grid-col {
    position: relative;
    float: left; }
  .grid-col + .grid-col {
    margin-left: 2.12766%;
    margin-top: 0; }
  .grid_swap > .grid-col {
    margin-left: 0; }
  .mix-grid-col_right {
    float: right;
    margin-left: 2.12766%; }
  .grid-col_1of12 {
    width: 6.38299%; }
  .grid-col_2of12 {
    width: 14.89364%; }
  .grid-col_3of12 {
    width: 23.40429%; }
  .grid-col_4of12 {
    width: 31.91494%; }
  .grid-col_5of12 {
    width: 40.4256%; }
  .grid-col_6of12 {
    width: 48.93625%; }
  .grid-col_7of12 {
    width: 57.4469%; }
  .grid-col_8of12 {
    width: 65.95755%; }
  .grid-col_9of12 {
    width: 74.4682%; }
  .grid-col_10of12 {
    width: 82.97886%; }
  .grid-col_11of12 {
    width: 91.48951%; }
  .grid-col_12of12 {
    width: 100%; }
  .grid-col_profileImg {
    width: 150px; }
  .grid-col_profileInfo {
    width: 75%; }
  .mix-grid-col_push1 {
    left: 8.51065%; }
  .mix-grid-col_push2 {
    left: 17.0213%; }
  .mix-grid-col_push3 {
    left: 25.53196%; }
  .mix-grid-col_push4 {
    left: 34.04261%; }
  .mix-grid-col_push5 {
    left: 42.55326%; }
  .mix-grid-col_push6 {
    left: 51.06391%; }
  .mix-grid-col_push7 {
    left: 59.57456%; }
  .mix-grid-col_push8 {
    left: 68.08522%; }
  .mix-grid-col_push9 {
    left: 76.59587%; }
  .mix-grid-col_push10 {
    left: 85.10652%; }
  .mix-grid-col_push11 {
    left: 93.61717%; }
  .mix-grid-col_pull1 {
    left: -8.51065%; }
  .mix-grid-col_pull2 {
    left: -17.0213%; }
  .mix-grid-col_pull3 {
    left: -25.53196%; }
  .mix-grid-col_pull4 {
    left: -34.04261%; }
  .mix-grid-col_pull5 {
    left: -42.55326%; }
  .mix-grid-col_pull6 {
    left: -51.06391%; }
  .mix-grid-col_pull7 {
    left: -59.57456%; }
  .mix-grid-col_pull8 {
    left: -68.08522%; }
  .mix-grid-col_pull9 {
    left: -76.59587%; }
  .mix-grid-col_pull10 {
    left: -85.10652%; }
  .mix-grid-col_pull11 {
    left: -93.61717%; }
  .mix-grid-col_suffix1 {
    margin-right: -8.51065%; }
  .mix-grid-col_suffix2 {
    margin-right: -17.0213%; }
  .mix-grid-col_suffix3 {
    margin-right: -25.53196%; }
  .mix-grid-col_suffix4 {
    margin-right: -34.04261%; }
  .mix-grid-col_suffix5 {
    margin-right: -42.55326%; }
  .mix-grid-col_suffix6 {
    margin-right: -51.06391%; }
  .mix-grid-col_suffix7 {
    margin-right: -59.57456%; }
  .mix-grid-col_suffix8 {
    margin-right: -68.08522%; }
  .mix-grid-col_suffix9 {
    margin-right: -76.59587%; }
  .mix-grid-col_suffix10 {
    margin-right: -85.10652%; }
  .mix-grid-col_suffix11 {
    margin-right: -93.61717%; }
  .mix-grid-col_vCtr {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .grid-col_profileInfo-contact {
    float: right;
    min-width: 210px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .hdg_1 {
    font-size: 40px; }
  .hdg_2 {
    font-size: 22px; }
  .hdg_3 {
    font-size: 18px; }
  .hdg_4 {
    font-size: 14px; }
  .hdg_5 {
    font-size: 28px; }
  .mix-hList_stack > * {
    display: inline-block; }
  .mix-hList_stack_tight > * + * {
    margin: 0 0 0 10px; }
  .mix-hList_stack_std > * + * {
    margin: 0 0 0 16px; }
  .mix-hList_stack_loose > * + * {
    margin: 0 0 0 25px; }
  .landing {
    padding: 25px; }
  .landing_alt {
    padding: 0 0 0 25px; }
  .landing-hdg {
    font-size: 17px; }
  .landing-hdg-score {
    font-size: 95px; }
  .landing-hdg_1 {
    font-size: 26px; }
  .landing-hdg_2 {
    font-size: 30px; }
  .landing-senatorPic {
    margin: 0; }
  .login {
    overflow: hidden; }
  .login:after {
    top: 0;
    left: 6%; }
  .login > * {
    width: 43%;
    float: left;
    /* Equalize column height */
    margin-bottom: -99999px;
    padding-bottom: 99999px; }
  .login > *:last-child {
    margin-top: 0;
    margin-left: 10%;
    padding-top: 0;
    padding-left: 10%;
    border-top: none;
    border-left: 1px solid #cccccc;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .masonry > * {
    width: 31.33333%; }
  .masonry-sizer {
    width: 33.333%; }
  .masonry_singleCol > * {
    width: 100%; }
  .overview {
    position: relative;
    overflow: hidden;
    font-size: 16px; }
  .overview th {
    font-size: 15px; }
  .overview > * {
    width: 100%; }
  .overview_2up {
    margin-left: -2%; }
  .overview_2up > * {
    width: 49%;
    float: left;
    margin-left: 1%;
    /* Equalize column height */
    margin-bottom: -99999px;
    padding-bottom: 99999px;
    padding-left: 1%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .overview td {
    font-size: 16px; }
  .overview-score {
    line-height: 0.8;
    font-size: 20px;
    font-weight: 700; }
  .overview-pic, .overview-years, .overview-next, .overview-date {
    display: table-cell; }
  .overview-picCollapse > img {
    display: block; }
  .overview-sort {
    margin-right: 3px;
    width: 10px;
    height: 19px;
    display: inline-block;
    vertical-align: middle;
    background: url(../media/images/sprite-sort.png) no-repeat transparent;
    background-size: 20px 19px; }
  .overview-sort_rev {
    background-position: -10px 0; }
  .poll-options + .poll-options th {
    display: table-cell; }
  .promo-wrap {
    padding: 0 10px; }
  .profile-img {
    max-width: 200px; }
  .profile-score {
    max-width: 220px; }
  .results-list > * {
    overflow: hidden; }
  .results-list-date {
    width: 140px;
    float: left; }
  .results-list-desc {
    overflow: hidden; }
  .scorecards {
    margin: 0; }
  .scorecards > * {
    width: 16.66667%; }
  .scores {
    font-size: 10px; }
  .search {
    position: absolute;
    right: -14px;
    top: 30px;
    z-index: 101;
    padding: 10px 20px;
    display: none;
    background-color: #ffffff;
    border: 1px solid #cecac6;
    border-radius: 4px 0 4px 4px; }
  .search:before {
    content: "";
    position: absolute;
    top: -43px;
    right: -1px;
    width: 97px;
    height: 42px;
    border: 1px solid #cecac6;
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    background-color: #ffffff; }
  .search_isActive {
    display: block; }
  .search-list > * {
    display: inline-block; }
  .search-list > * + * {
    margin-left: 12px;
    padding-left: 12px;
    border-left: 1px solid #dcdcdc; }
  .search-list > * > * {
    margin: 12px 0; }
  .search-list-candidate {
    width: 170px; }
  .search-list-news {
    width: 210px; }
  .split {
    width: 100%;
    display: table; }
  .split > * {
    display: table-cell;
    vertical-align: top; }
  .split > * + * {
    margin-top: 0; }
  .steps {
    margin: 0 25px; }
  .steps > * {
    width: 26.66667%; }
  .steps > * + * {
    margin-left: 10%; }
  .steps-hdg {
    font-size: 18px; }
  .steps_alt > * {
    width: auto; }
  .track-data-hd {
    display: table-header-group;
    text-align: left;
    font-weight: 600;
    font-size: 16px; }
  .track-data-hd-news {
    width: 50%; }
  .track-data-bd > * > * {
    display: table-cell;
    vertical-align: top; }
  .track-data-bd-news {
    font-size: 14px; }
  .track-data-bd > * > *[data-title]:before {
    display: none; }
  .track-data-bd > * > * {
    padding-bottom: 15px; }
  .mix-track-data_ctr {
    text-align: center; }
  .wrap_inner {
    padding: 0 32px; } }

@media screen and (min-width: 768px) and (max-width: 959px) {
  /* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
  .mix-hList_tablet > * {
    display: block; }
  .mix-hList_stack_std > * + * {
    margin: 10px 0 0; } }

@media screen and (max-width: 959px) {
  /* ---------------------------------------------------------------------
 Box Object
 Object used for News items & Conservative Champions. Frequently appears
 inside the Masonry object.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
  .box-img_candidate {
    height: 197px; }
  .hList_loose > * + * {
    margin-left: 18px; }
  .landing-join .steps {
    font-size: 12px; } }

@media screen and (min-width: 960px) {
  .mix-form-input_txt_fullToTiny {
    width: 112px; }
  .mix-form-input_txt_fullToShort {
    width: 140px; }
  .profile-info {
    width: 50%; } }

/* ---------------------------------------------------------------------
Original Author: Anthony Ticknor
Contributors: N/A

Quarantine styles applied to areas where content is dynamic and
generated by a content editor / CMS.

Usage
<div class="userContent">
...
</div>
------------------------------------------------------------------------ */
/* ---------------------------------------------------------------------
userContent default
------------------------------------------------------------------------ */
.userContent {
  font: normal 16px/1.6 'Source Sans Pro', Helvetica, sans-serif !important;
  font-weight: normal;
  font-style: normal;
  color: #333333; }

/* ---------------------------------------------------------------------
userContent paragraphs
------------------------------------------------------------------------ */
.userContent p {
  margin: 0 0 15px 0;
  word-wrap: break-word; }

/* ---------------------------------------------------------------------
userContent headings
------------------------------------------------------------------------ */
.userContent h1 {
  font-size: 24px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

.userContent h2 {
  font-size: 21px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

.userContent h3 {
  font-size: 18px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

.userContent h4 {
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

.userContent h5 {
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

.userContent h6 {
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  /* Semi Bold */
  color: #cb585b;
  margin: 0 0 12px 0; }

/* ---------------------------------------------------------------------
userContent sections
------------------------------------------------------------------------ */
.userContent blockquote {
  margin: 0 24px 12px 24px;
  padding: 12px;
  background: #eeeeee;
  font-style: italic; }

.userContent address {
  margin: 0 0 12px 0;
  font-style: italic; }

/* ---------------------------------------------------------------------
userContent anchors
------------------------------------------------------------------------ */
.userContent a {
  color: #4283d9; }

.userContent .mix-btn_white-text:link {
  color: #ffffff; }

/* ---------------------------------------------------------------------
userContent text formatting
------------------------------------------------------------------------ */
.userContent strong, .userContent b {
  font-weight: bold; }

.userContent em, .userContent i {
  font-style: italic; }

.userContent del, .userContent strike, .userContent s {
  text-decoration: line-through; }

.userContent u, .userContent ins {
  text-decoration: underline; }

.userContent sup {
  vertical-align: super;
  font-size: smaller; }

.userContent sub {
  vertical-align: sub;
  font-size: smaller; }

.userContent big {
  font-size: larger; }

.userContent small {
  font-size: smaller; }

.userContent abbr, .userContent acronym {
  border-bottom: dotted 1px; }

.userContent cite, .userContent dfn {
  font-style: italic; }

.userContent q {
  font-style: italic; }

.userContent q::before {
  content: open-quote; }

.userContent q::after {
  content: close-quote; }

.userContent q:lang(en) {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

.userContent bdo {
  direction: rtl; }

.userContent blink {
  text-decoration: blink; }

/* ---------------------------------------------------------------------
userContent computer output
------------------------------------------------------------------------ */
.userContent pre {
  margin: 0 0 12px 0;
  font-family: "Lucida Console", Monaco, monospace;
  white-space: pre-wrap;
  word-break: break-word; }

.userContent code, .userContent samp, .userContent tt, .userContent kbd {
  font-family: "Lucida Console", Monaco, monospace; }

.userContent var {
  font-style: italic; }

/* ---------------------------------------------------------------------
userContent lists
------------------------------------------------------------------------ */
.userContent ul, .userContent ol, .userContent dl {
  margin-top: 0;
  margin-bottom: 12px; }

.userContent ul {
  list-style-type: disc;
  margin: 0 0 12px 0; }

.userContent ol {
  list-style-type: decimal;
  margin: 0 0 12px 0; }

.userContent dt {
  font-weight: bold; }

.userContent li, .userContent dd {
  margin: 0 0 5px 24px; }

/* nested lists have no top/bottom margins */
.userContent ul ul, .userContent ul ol, .userContent ul dl, .userContent ol ul, .userContent ol ol, .userContent ol dl, .userContent dl ul, .userContent dl ol, .userContent dl dl {
  margin-top: 0;
  margin-bottom: 0; }

/* 2 deep unordered lists use a circle */
.userContent ol ul, .userContent ul ul {
  list-style-type: circle; }

/* 3 deep (or more) unordered lists use a square */
.userContent ol ol ul, .userContent ol ul ul, .userContent ul ol ul, .userContent ul ul ul {
  list-style-type: square; }

/* ---------------------------------------------------------------------
userContent tables
------------------------------------------------------------------------ */
.userContent table {
  margin: 0 0 20px 0;
  width: 100% !important;
  border-spacing: 2px;
  border-collapse: separate; }



.userContent caption {
  font-size: smaller; }

.userContent tr {
  vertical-align: middle; }

.userContent tbody {
  vertical-align: middle; }

.userContent thead {
  vertical-align: middle; }

.userContent tfoot {
  vertical-align: middle; }

.userContent td {
  vertical-align: inherit;
  text-align: inherit;
  padding: 2px 4px; }

.userContent th {
  vertical-align: inherit;
  text-align: inherit;
  font-weight: bold;
  padding: 2px 4px;
  background-color: #666666;
  color: #ffffff; }

.userContent tr:nth-child(even) td {
  background-color: #cccccc; }

/* ---------------------------------------------------------------------
userContent horizontal rule
------------------------------------------------------------------------ */
.userContent hr {
  margin: 0 0 12px 0;
  background: #666666;
  color: #666666;
  height: 1px;
  border: none;
  line-height: 1px;
  font-size: 1px; }

/* ---------------------------------------------------------------------
userContent media
------------------------------------------------------------------------ */
.userContent img, .userContent video, .userContent audio {
  max-width: 100% !important; }

/* ---------------------------------------------------------------------
userContent undefined elements
------------------------------------------------------------------------ */

/* ---------------------------------------------------------------------
userContent additional elements
------------------------------------------------------------------------ */
.userContent ul li em img:first-of-type, .userContent ul li strong img:first-of-type, .userContent ul > li img:first-of-type, .userContent .inline-image {
  display: inline-block;
  padding: 0 0 0 5px;
  vertical-align: bottom; }

.userContent .footnote {
  word-wrap: break-word; }

.userContent .btn {
  color: #ffffff; }

/* ---------------------------------------------------------------------
 Utility Styles
------------------------------------------------------------------------ */
.isHidden, .ui-helper-hidden-accessible {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  clip: rect(1px 1px 1px 1px) !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  overflow: hidden !important; }

/* Hide content at specific viewports */
.isHiddenMobile, .isHiddenMobileInline {
  display: none; }

.isHiddenDesktop {
  display: block; }

/* Override FaceBook Styles */
.fb_iframe_widget_lift {
  z-index: 10 !important; }

/* Override jQuery UI Styles */
.ui-autocomplete {
  width: auto !important; }

@media screen and (min-width: 540px) {
  /* ---------------------------------------------------------------------
 Utility Styles
------------------------------------------------------------------------ */
  /* Use the inline object if it's an inline element */
  .isHiddenMobileInline {
    display: inline; } }

@media screen and (min-width: 768px) {
  /* ---------------------------------------------------------------------
 Utility Styles
------------------------------------------------------------------------ */
  .isHiddenMobile {
    display: block; }
  .isHiddenDesktop {
    display: none; } }
