.alignment-helper {
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

#loader {
  margin: 0px auto;
  padding: 1em;
  width: 50%;
  height: 50%;
  text-align: center; }
  #loader h4 {
    color: #4497d9;
    font-style: italic; }

#component-votersGuide #offices {
  list-style: none; }
  #component-votersGuide #offices li {
    position: relative;
    height: auto;
    font-size: 0.8em;
    margin: .2em 0; }
    #component-votersGuide #offices li a {
      display: block;
      padding: 0.9em;
      height: 100%;
      width: 100%;
      text-decoration: none;
      -webkit-border-top-left-radius: 4px;
      -moz-border-top-left-radius: 4px;
      border-top-left-radius: 4px;
      -webkit-border-bottom-left-radius: 4px;
      -moz-border-bottom-left-radius: 4px;
      border-bottom-left-radius: 4px; }
      #component-votersGuide #offices li a:not(.active) {
        color: #4497d9;
        border: 1px solid #dfdfdf;
        background: #eeeeee; }
        #component-votersGuide #offices li a:not(.active):hover {
          background: #d4d4d4; }
      #component-votersGuide #offices li a.active {
        color: #fff;
        background: #4497d9; }

#component-votersGuide #candidates {
  min-height: 750px;
  border: 1px solid #dfdfdf;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px; }
  #component-votersGuide #candidates .candidates__listing,
  #component-votersGuide #candidates .candidates__player {
    width: 100%; }
    @media only screen and (max-width: 949px) {
      #component-votersGuide #candidates .candidates__listing,
      #component-votersGuide #candidates .candidates__player {
        padding: .5em; } }
  @media only screen and (min-width: 949px) {
    #component-votersGuide #candidates {
      padding: 1em; }
      #component-votersGuide #candidates .candidates__listing {
        width: 40%; }
      #component-votersGuide #candidates .candidates__player {
        width: 60%; } }
  #component-votersGuide #candidates .candidates__listing {
    font-size: 1em; }
    @media only screen and (min-width: 949px) {
      #component-votersGuide #candidates .candidates__listing {
        border-right: 1px solid #dfdfdf; } }
    #component-votersGuide #candidates .candidates__listing .candidate {
      padding-bottom: .3em;
      margin-bottom: .6em; }
      #component-votersGuide #candidates .candidates__listing .candidate a {
        display: block;
        height: 100%;
        width: 100%; }
      #component-votersGuide #candidates .candidates__listing .candidate a:hover * {
        text-decoration: underline;
        color: #2370ad; }
    #component-votersGuide #candidates .candidates__listing .candidate__thumbnail {
      text-align: center;
      padding: .2em;
      border: 1px solid #dfdfdf;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px; }
      @media only screen and (min-width: 949px) {
        #component-votersGuide #candidates .candidates__listing .candidate__thumbnail {
          margin-right: .3em; } }
  @media only screen and (min-width: 949px) {
    #component-votersGuide #candidates .candidates__player {
      padding: 0 1em; } }
  #component-votersGuide #candidates .candidates__player .candidates__player-empty {
    text-align: center;
    color: #a2a2a2;
    font-size: 1.2em;
    font-style: italic;
    padding: 2em 0; }
  #component-votersGuide #candidates .candidates__player #video-player a {
    float: right; }
