@charset "UTF-8";
/*
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 */
.mainNav li {
  list-style: none;
  text-align: center;
  width: 32%;
  display: block;
  float: left;
  /* fallback for non-calc() browsers */ }

.navItem {
  white-space: nowrap;
  display: block;
  text-decoration: none;
  padding: 10px 0;
  padding: 5px 15px;
  background-color: #CB585B;
  color: #fff;
  font-size: 18px; }

.mainNav .topNavItem {
  background-color: #d8d8d8;
  color: #CB585B; }

.text-box.single-line {
  margin: 0;
  padding: 6px;
  border: 1px solid #dcdcdc;
  border-radius: 2px;
  font-size: 12px; }

.scfEmailBorder.field-content {
  float: left;
  margin-bottom: 10px; }

.scfEmailBorder.field-error.field-validation-error {
  display: none; }

.validation-summary-errors {
  color: #cb585b;
  text-decoration: none;
  font-weight: 600; }

.grid-col_profileInfo-contact {
  float: left; }

.row .profile {
  min-height: 240px; }

.hdg-state {
  display: block; }

.email-form .form-input {
  font-size: 16px; }

.email-form .btn.btn-email {
  font-size: 18px; }

.scfEmailBorder {
  color: #cb585b;
  text-decoration: none;
  font-weight: 600; }

.form-submit-border {
  float: left;
  vertical-align: middle; }

.form-submit {
  padding: 6px 10px;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  background-color: #40576a;
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  border: 0;
  cursor: pointer;
  -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;
  -webkit-font-smoothing: antialiased;
  -webkit-text-stroke: 0.2pt; }

.scfEmailBorder.field-required {
  display: none; }

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

@media screen and (max-width: 1030px) {
  .profile-hdg.isHiddenDesktop {
    display: block; } }

@media screen and (max-width: 1028px) {
  .profile-hdg.isHiddenMobile {
    display: none; } }

@media screen and (max-width: 768px) {
  .profile .profile-img img {
    margin: 0; } }

@media (min-width: 768px) {
  .profile-score {
    width: 400px; } }

@media (max-width: 767px) {
  .grid-col.grid-col_10of12.profile-information .profile-score {
    width: 300px; }
  .grid-col.grid-col_10of12.profile-information .profile-score .profile-score-row.tool-tip-wrapper .tool-tip-row {
    width: 210px;
    margin-bottom: 20px; }
  .profile-tools-confirm {
    width: 150px; }
  .mainNav li {
    float: none; }
  .profile-tools-confirm.profile-tools-confirm_isActive {
    width: 148px; } }

.profile-tools-confirm {
  width: 200px; }

.profile-score {
  width: 500px;
  max-width: 500px !important; }

.profile-score .profile-score-row.tool-tip-wrapper .tool-tip-row {
  width: 287px; }

/* ---------------------------------------------------------------------
 Content
------------------------------------------------------------------------ */
.content {
  padding-bottom: 32px; }

.content-title {
  margin-bottom: 30px;
  padding-bottom: 5px;
  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: 10px;
  padding: 10px 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: #ffffff;
  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; }

/*Tagged Members*/
.tagged-container {
  display: block;
  float: left;
  margin: 0px 5px 10px 5px;
  border: 1px solid;
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  color: white;
  width: 154px;
  font-size: 12px; }

.tagged-container img {
  float: left;
  margin: 0px;
  border-top-left-radius: 7px; }

.tagged-red {
  background: #a30005;
  height: 50.5px;
  margin-left: 75px;
  border-top-right-radius: 7px; }

.tagged-blue {
  background: #006ecd;
  height: 50.5px;
  margin-left: 75px; }

.tagged-blue div {
  font-size: 20px;
  font-weight: bolder;
  padding-top: 12px;
  display: inline;
  float: left;
  padding-left: 10px;
  width: 60px; }

.tagged-red div {
  font-size: 38px;
  font-weight: bolder;
  display: inline;
  padding-left: 10px;
  width: 60px; }

.tagged-blue-anchor {
  padding-top: 15px; }

.tagged-blue-anchor:hover {
  padding-top: 15px; }

.tagged-red-anchor {
  padding-top: 15px;
  background: none repeat scroll 0% 0% #A30005;
  float: left; }

.tagged-red-anchor, .tagged-blue-anchor {
  text-decoration: none;
  color: #fff; }

.tagged-red-anchor:hover, .tagged-blue-anchor:hover {
  text-decoration: underline;
  cursor: pointer; }

.tagged-bottom {
  background-color: #cbcbcb;
  color: #010101;
  padding: 5px;
  border-bottom-left-radius: 7px;
  border-bottom-right-radius: 7px;
  font-size: 12px;
  min-height: 38px; }

.tagged-container-hover {
  width: 280px; }

.tagged-container-hover .tagged-red div {
  float: left; }

.tagged-border {
  width: 1px;
  border-left: 1px solid black;
  height: 100px;
  float: left;
  margin-top: -100px;
  margin-left: 150px;
  position: absolute;
  display: none; }

/* ---------------------------------------------------------------------
 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.3333333333%; }

/* ---------------------------------------------------------------------
 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-sm.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: 245px;
  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; }

.btn-email {
  vertical-align: top;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

/* 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;
  overflow-y: hidden; }

.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; }

.email-form {
  font-size: 0;
  margin: 5px 0 10px; }

.email {
  width: 200px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.email-input {
  padding-top: 10px; }

.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; }

#loginNOacct {
  float: right;
  padding: 3px;
  margin: 0px;
  display: none; }

/* 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; // value must match
    height: 84px; // value must match
    line-height: 84px; // value must match
    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; //want radio to align with middle of image, not middle of content;*/ }

.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 {
  /*Removed per client request*/
  /*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: 7px; }

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

.profile-score-grade {
  font-size: 44px;
  line-height: .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%; }

/*Member Updates*/
.profile-score {
  padding: 0px;
  background-color: #ffffff;
  height: 110px; }

.profile-score-row > *:first-child {
  width: 65px;
  background-color: #f2f2f2;
  margin-bottom: -10px; }

.email-tool-tip {
  padding-bottom: 10px;
  width: 80px;
  display: block; }

@media (max-width: 766px) {
  .email {
    width: 70%; } }

@media (min-width: 768px) {
  .email {
    width: 70%; } }

.profile-score-row.tool-tip-wrapper .percentage {
  vertical-align: top; }

.profile-score-row.tool-tip-wrapper .tool-tip-row {
  width: 148px; }

.profile-information {
  position: relative; }

.profile-tools {
  width: 69px;
  position: absolute;
  top: 85px; }

.profile-score-row-how {
  padding-left: 12px; }

.profile-score-grade {
  font-size: 84px;
  line-height: 0.8; }

.profile-score-hdg {
  color: #ffffff;
  background-color: #cb585b;
  border-radius: 10px;
  padding: 3px; }

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

.profile-tools-btn .btn {
  padding: 3px 7px 3px 3px;
  border-radius: 11px; }

.profile-tools-btn .btn .hList_tight > * + * {
  margin-left: 0px;
  margin-bottom: 3px; }

nav {
  width: 100%; }

.mainNav {
  overflow: hidden;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px; }

.mainNav li {
  list-style: none;
  text-align: center;
  width: 32%;
  /* fallback for non-calc() browsers */ }

.navItem {
  white-space: nowrap;
  display: block;
  text-decoration: none;
  padding: 10px 0;
  padding: 5px 15px;
  background-color: #CB585B;
  margin-right: 3px;
  color: #fff;
  font-size: 18px; }

.mainNav .topNavItem {
  background-color: #d8d8d8;
  color: #CB585B; }

@media screen and (max-width: 767px) {
  .profile .grid-col_profileImg {
    padding: 0px;
    float: left;
    margin: 0px;
    min-width: 200px;
    padding-right: 10px; }
  .profile .grid-col_profileInfo {
    float: left;
    margin-top: 0px; }
  .profile .profile-img {
    background: none; }
  .profile .grid {
    display: inline-block; }
  .mainNav li {
    list-style: none;
    text-align: center;
    width: 100%; }
  .navItem {
    margin-bottom: 3px; } }

/* ---------------------------------------------------------------------
 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: #f1f1f1; }

.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: .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: .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.333333%;
  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: .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) ": ";
  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 */
  .card-bd-votes > * {
    display: inline-block; }
  .card-bd-votes > * + * {
    margin: 0 0 0 25px; }
  /* ---------------------------------------------------------------------
 Flash Messages

 Used to provide feedback to the user of success or error messages.
 Success and error icons are foreground (inline) images.
------------------------------------------------------------------------ */
  .flash-icn {
    margin-right: 18px; }
  /* ---------------------------------------------------------------------
 Landing Pages

 Styles for marketing pages users are directed to when clicking on
 a banner ad.
------------------------------------------------------------------------ */
  .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 Styles
 Horizontal gutter is set in data-masonry-options attribute in markup.
 Individual items occupy 2 columns at this base resolution.
------------------------------------------------------------------------ */
  .masonry {
    margin-left: -2%; }
  .masonry > * {
    margin-left: 2%;
    width: 48%; }
  /* ---------------------------------------------------------------------
 Media Block
------------------------------------------------------------------------ */
  .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; }
  /* ---------------------------------------------------------------------
 Member Score Card - Home Page
------------------------------------------------------------------------ */
  .scorecards {
    margin: 0 auto;
    min-width: 300px;
    max-width: 605px; }
  .scorecards > * {
    width: 33.33334%; }
  /* ---------------------------------------------------------------------
 Split Object
 Strictly intended for spliting objects to the left and right.
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Steps
------------------------------------------------------------------------ */
  .steps {
    margin: 0 25px; }
  .steps-hdg {
    font-size: 16px; } }

@media screen and (max-width: 767px) {
  .mix-btn_full-widthOnMobile {
    width: 100%;
    box-sizing: border-box;
    display: block; }
  /* ---------------------------------------------------------------------
Adjustments to the Flexslider for Mobile layout
------------------------------------------------------------------------ */
  .flexslider-carousel_container {
    width: 100%; }
  .flexslider-nav_container {
    width: 100%;
    min-height: 0;
    background-color: #405769;
    text-align: center;
    overflow-y: hidden; }
  .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%; }
  #loginNOacct {
    float: right;
    padding: 3px;
    margin: 0;
    display: block; }
  .media_vid .media-img {
    float: none;
    margin: 0 0 10px 0; } }

@media screen and (min-width: 768px) {
  /* ---------------------------------------------------------------------
 Content
------------------------------------------------------------------------ */
  .content-hero {
    padding: 40px 42px 10px; }
  .content-hero:after {
    opacity: 1; }
  /* ---------------------------------------------------------------------
 Header
------------------------------------------------------------------------ */
  .header-main-logo {
    margin: 0; }
  /* ---------------------------------------------------------------------
 Blocks
------------------------------------------------------------------------ */
  .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.3333333333%; }
  .blocks_4up > * {
    width: 23%; }
  .blocks_5up > * {
    width: 18%; }
  .blocks_2upLoose {
    margin-left: -8%; }
  .blocks_2upLoose > * {
    width: 42%; }
  .blocks_2upLoose > * {
    margin-left: 8%; }
  /* ---------------------------------------------------------------------
 Box Object
 Object used for News items & Conservative Champions. Frequently appears
 inside the Masonry object.
------------------------------------------------------------------------ */
  .box-ft {
    overflow: visible; }
  .box-map,
  .box-map svg {
    display: block;
    height: 180px;
    width: 100%; }
  /* ---------------------------------------------------------------------
 Button Object
------------------------------------------------------------------------ */
  .btn_full {
    width: auto; }
  /* ---------------------------------------------------------------------
 Card Object
------------------------------------------------------------------------ */
  .card-wrap {
    padding: 30px 40px; }
  /* Reset positioning of the sticky mobile card navigation bar
 * and card container for larger viewport widths.
 */
  .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; }
  /* ---------------------------------------------------------------------
 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
------------------------------------------------------------------------ */
  .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.127663%;
    margin-top: 0; }
  .grid_swap > .grid-col {
    margin-left: 0; }
  .mix-grid-col_right {
    float: right;
    margin-left: 2.127663%; }
  .grid-col_1of12 {
    width: 6.382989%; }
  .grid-col_2of12 {
    width: 14.893641%; }
  .grid-col_3of12 {
    width: 23.404293%; }
  .grid-col_4of12 {
    width: 31.914945%; }
  .grid-col_5of12 {
    width: 40.425597%; }
  .grid-col_6of12 {
    width: 48.936249%; }
  .grid-col_7of12 {
    width: 57.446901%; }
  .grid-col_8of12 {
    width: 65.957553%; }
  .grid-col_9of12 {
    width: 74.468205%; }
  .grid-col_10of12 {
    width: 82.978857%; }
  .grid-col_11of12 {
    width: 91.489509%; }
  .grid-col_12of12 {
    width: 100%; }
  .grid-col_profileImg {
    width: 150px; }
  .grid-col_profileInfo {
    width: 75%; }
  /* Push values include gutter width */
  .mix-grid-col_push1 {
    left: 8.510652%; }
  .mix-grid-col_push2 {
    left: 17.021304%; }
  .mix-grid-col_push3 {
    left: 25.531956%; }
  .mix-grid-col_push4 {
    left: 34.042608%; }
  .mix-grid-col_push5 {
    left: 42.55326%; }
  .mix-grid-col_push6 {
    left: 51.063912%; }
  .mix-grid-col_push7 {
    left: 59.574564%; }
  .mix-grid-col_push8 {
    left: 68.085216%; }
  .mix-grid-col_push9 {
    left: 76.595868%; }
  .mix-grid-col_push10 {
    left: 85.10652%; }
  .mix-grid-col_push11 {
    left: 93.617172%; }
  /* Pull values include gutter width */
  .mix-grid-col_pull1 {
    left: -8.510652%; }
  .mix-grid-col_pull2 {
    left: -17.021304%; }
  .mix-grid-col_pull3 {
    left: -25.531956%; }
  .mix-grid-col_pull4 {
    left: -34.042608%; }
  .mix-grid-col_pull5 {
    left: -42.55326%; }
  .mix-grid-col_pull6 {
    left: -51.063912%; }
  .mix-grid-col_pull7 {
    left: -59.574564%; }
  .mix-grid-col_pull8 {
    left: -68.085216%; }
  .mix-grid-col_pull9 {
    left: -76.595868%; }
  .mix-grid-col_pull10 {
    left: -85.10652%; }
  .mix-grid-col_pull11 {
    left: -93.617172%; }
  /* Suffix values include gutter width */
  .mix-grid-col_suffix1 {
    margin-right: -8.510652%; }
  .mix-grid-col_suffix2 {
    margin-right: -17.021304%; }
  .mix-grid-col_suffix3 {
    margin-right: -25.531956%; }
  .mix-grid-col_suffix4 {
    margin-right: -34.042608%; }
  .mix-grid-col_suffix5 {
    margin-right: -42.55326%; }
  .mix-grid-col_suffix6 {
    margin-right: -51.063912%; }
  .mix-grid-col_suffix7 {
    margin-right: -59.574564%; }
  .mix-grid-col_suffix8 {
    margin-right: -68.085216%; }
  .mix-grid-col_suffix9 {
    margin-right: -76.595868%; }
  .mix-grid-col_suffix10 {
    margin-right: -85.10652%; }
  .mix-grid-col_suffix11 {
    margin-right: -93.617172%; }
  .mix-grid-col_vCtr {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  /* pushes contact section right */
  .grid-col_profileInfo-contact {
    float: left;
    min-width: 210px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  /* ---------------------------------------------------------------------
 Fonts/Headings
------------------------------------------------------------------------ */
  .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; }
  /* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
  .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 Pages

 Styles for marketing pages users are directed to when clicking on
 a banner ad.
------------------------------------------------------------------------ */
  .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; }
  /* ---------------------------------------------------------------------
 Log In Object

 Used on the Log In page to display two different log in options.
------------------------------------------------------------------------ */
  .login {
    overflow: hidden; }
  /* Circle 'OR' object that appears between log in options. */
  .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 Styles
 Horizontal gutter is set in data-masonry-options attribute in markup.
 Individual items occupy 3 columns at this base resolution.
------------------------------------------------------------------------ */
  .masonry > * {
    width: 31.333333%; }
  .masonry-sizer {
    width: 33.333%; }
  /* Set masonry elements to fill a single column at larger widths only.
 * Smaller widths will still be 2up or 1up depending on viewport. */
  .masonry_singleCol > * {
    width: 100%; }
  /* ---------------------------------------------------------------------
 Media Block
------------------------------------------------------------------------ */
  /* ---------------------------------------------------------------------
 Congressional Overview Layout
------------------------------------------------------------------------ */
  .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 Object

 Blocks of content primarily used on the homepage
------------------------------------------------------------------------ */
  .promo-wrap {
    padding: 0 10px; }
  /* ---------------------------------------------------------------------
 Profile Object

 On member profile page, consists of member name, score, photo,
 tracking tools and connect links.
------------------------------------------------------------------------ */
  .profile-img {
    max-width: 200px; }
  /* Profile Score */
  .profile-score {
    max-width: 220px; }
  /* ---------------------------------------------------------------------
 Search Results
------------------------------------------------------------------------ */
  .results-list > * {
    overflow: hidden; }
  .results-list-date {
    width: 140px;
    float: left; }
  .results-list-desc {
    overflow: hidden; }
  /* ---------------------------------------------------------------------
 Member Score Card - Home Page
------------------------------------------------------------------------ */
  .scorecards {
    margin: 0; }
  .scorecards > * {
    width: 16.666666667%; }
  /* ---------------------------------------------------------------------
 Member Score Data Tables
------------------------------------------------------------------------ */
  .scores {
    font-size: 10px; }
  /* ---------------------------------------------------------------------
 Site Search
 Drop down accessed via main navigation SEARCH item.
------------------------------------------------------------------------ */
  .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 Object
 Strictly intended for spliting objects to the left and right.
------------------------------------------------------------------------ */
  .split {
    width: 100%;
    display: table; }
  .split > * {
    display: table-cell;
    vertical-align: top; }
  .split > * + * {
    margin-top: 0; }
  /* ---------------------------------------------------------------------
 Steps
------------------------------------------------------------------------ */
  .steps {
    margin: 0 25px; }
  .steps > * {
    width: 26.666666667%; }
  .steps > * + * {
    margin-left: 10%; }
  .steps-hdg {
    font-size: 18px; }
  .steps_alt > * {
    width: auto; }
  /* ---------------------------------------------------------------------
 Tracking Data Tables on Dashboard

 Table will stack at smaller widths and assume default table appearance
 at larger widths.
------------------------------------------------------------------------ */
  .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; }
  /* ---------------------------------------------------------------------
 Wrapper
------------------------------------------------------------------------ */
  /* Used to achieve a content max-width of 960px */
  .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.
------------------------------------------------------------------------ */
  .box-img_candidate {
    height: 197px; }
  /* ---------------------------------------------------------------------
 H List
------------------------------------------------------------------------ */
  .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_md {
  font-size: 120% !important; }

.userContent_lg {
  font-size: 140% !important; }

/* ---------------------------------------------------------------------
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_md h1 {
  font-size: 29px; }

.userContent_lg h1 {
  font-size: 34px; }

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

.userContent_md h2 {
  font-size: 25px; }

.userContent_lg h2 {
  font-size: 29px; }

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

.userContent_md h3 {
  font-size: 21px; }

.userContent_lg h3 {
  font-size: 25px; }

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

.userContent_md h4 {
  font-size: 19px; }

.userContent_lg h4 {
  font-size: 22px; }

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

.userContent_md h5 {
  font-size: 17px; }

.userContent_lg h5 {
  font-size: 20px; }

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

.userContent_md h6 {
  font-size: 14px; }

.userContent_lg h6 {
  font-size: 17px; }

/* ---------------------------------------------------------------------
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 html,
.userContent head,
.userContent body,
.userContent title,
.userContent meta,
.userContent link,
.userContent style,
.userContent script,
.userContent noscript,
.userContent base,
.userContent basefont,
.userContent div,
.userContent span,
.userContent header,
.userContent hgroup,
.userContent footer,
.userContent main,
.userContent section,
.userContent article,
.userContent aside,
.userContent nav,
.userContent figcaption,
.userContent figure,
.userContent menu,
.userContent command,
.userContent summary,
.userContent details,
.userContent canvas
.userContent applet,
.userContent object,
.userContent embed,
.userContent source,
.userContent param,
.userContent track,
.userContent map,
.userContent area
.userContent iframe,
.userContent frame,
.userContent frameset,
.userContent noframes,
.userContent fieldset,
.userContent legend,
.userContent form,
.userContent label,
.userContent isindex,
.userContent input,
.userContent select,
.userContent option,
.userContent optgroup,
.userContent textarea,
.userContent button,
.userContent datalist,
.userContent meter,
.userContent progress,
.userContent output,
.userContent keygen,
.userContent ruby,
.userContent rt,
.userContent rp,
.userContent mark,
.userContent time,
.userContent wbr,
.userContent br,
.userContent dir,
.userContent font,
.userContent center {
  /* nil */ }

/* ---------------------------------------------------------------------
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; }

.js-font-toggle_sm {
  font-size: 100%; }

.js-font-toggle_md {
  font-size: 140%; }

.js-font-toggle_lg {
  font-size: 180%; }

.js-font-toggle_sm,
.js-font-toggle_md,
.js-font-toggle_lg {
  cursor: pointer; }

.js-font-toggle_active {
  cursor: default;
  text-decoration: underline; }

@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; } }

  /* ---------------------------------------------------------------------
 Print Specific Styles
------------------------------------------------------------------------ */
  @media screen {
      .printOnly {
          display: none;
      }
  }
