html {
    height: 100%;
}

/* latin */
@font-face {
  font-family: 'Varela Round';
  font-style: normal;
  font-weight: 400;
  src: local('Varela Round'), local('VarelaRound-Regular'), url('fonts/APH4jr0uSos5wiut5cpjrhampu5_7CjHW5spxoeN3Vs.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
/* latin-ext */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url('fonts/8qcEw_nrk_5HEcCpYdJu8BTbgVql8nDJpwnrE27mub0.woff2') format('woff2');
  unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: local('Lato Regular'), local('Lato-Regular'), url('fonts/MDadn8DQ_3oT6kvnUq_2r_esZW2xOQ-xsNqO47m55DA.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400;
  src: local('Nunito Regular'), local('Nunito-Regular'), url('fonts/6TbRXKWJjpj6V2v_WyRbMevvDin1pK8aKteLpeZ5c0A.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

.intercom-conversations-header {
  background-color: #ff5722 !important;
}
.intercom-launcher {
  background-color: #ff5722 !important;
}
#intercom-container .intercom-launcher {
  background-color: #ff5722 !important;
}

body {
    height: 100%;
    margin: 0;
    padding: 0;
    font-family: 'Lato', sans-serif;
    color: #272a2f;
}
header, .description, .labs_desc {
    display: flex;
    justify-content: center;
    position: relative;
    flex-direction: column;
    align-items: center;
}
a {
    text-decoration: none;
    color: #576366;
}
a:hover, a:focus {
  text-decoration: none;
}
h1, h2, h3, p {
    margin: 0;
    padding: 0;
}

input {
    outline: none;
    -webkit-appearance: none;
   	-moz-appearance: none;
   	appearance: none;
    border-radius: 0;
}

::-webkit-input-placeholder {
  color: #abb1b2;
}
:-moz-placeholder {
  color: #abb1b2;
}
::-moz-placeholder {
  color: #abb1b2;
}
:-ms-input-placeholder {
  color: #abb1b2;
}
::-ms-input-placeholder {
  color: #abb1b2;
}
:placeholder-shown {
  color: orange;
}
input:focus::-webkit-input-placeholder {
    color:transparent;
}
input:focus:-moz-placeholder {
    color:transparent;
}
input:focus::-moz-placeholder {
    color:transparent;
}
input:focus:-ms-input-placeholder {
    color:transparent;
}
textarea {
    outline: none;
    -webkit-appearance: none;
   	-moz-appearance: none;
   	appearance: none;
    border-radius: 0;
}
.sign_in {
    position: absolute;
    font-size: 16px;
    top: 20px;
    right: 30px;
    padding-bottom: 3px;
}
.sign_in:hover {
	border-bottom: 2px solid #576366;
}
.logo {
    background: url(/images/logo.svg) center center no-repeat;
    width: 81px;
    height: 86px;
    margin-top: 50px;
}
header h1, header h2 {
    font-family: 'Varela Round', sans-serif;
    font-size: 44px;
    font-weight: 400;
    margin: 90px 0 50px;
    text-align: center;
}
header h2 {
    font-size: 24px;
    margin: -40px 0 0 0;
}
header  h1.h1404{
  font-size: 150px;
  color: #ff5722;
}
header p, .description p {
    max-width: 670px;
    text-align: center;
    font-size: 18px;
    color: #7d7f82;
    line-height: 26px;
    padding: 0 20px;
}
button {
  text-shadow: none !important;
}
button:focus, a:focus  {
  outline: none;
}
.wrapper {
    width: 100%;
    /*max-width: 1200px;
    margin: 0 auto;*/
}
.how_it_works {
    display: flex;
    margin: 220px auto 140px;
    max-width: 1200px;
}
.illustration {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.illustration_title {
    text-transform: uppercase;
    background-color: #ff5722;
    color: #fff;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 20px;
    font-family: 'Varela Round', sans-serif;
    font-weight: bold;
}
.illustration p {
    text-transform: uppercase;
    font-size: 15px;
    color: #7d7f8d;
    padding: 16px 0 45px;
    font-family: 'Varela Round', sans-serif;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
}
.data_img {
    max-width: 252px;
    max-height: 309px;
    height: auto;
}
.character {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 5%;
}
.character_img {
    width: 26px;
    height: 26px;
    padding-top: 70px;
}
.waitlist_container {
    width: 100%;
    background-color: #ff5722;
    height: 100%;
    display: flex;
    justify-content: center;
}
.waitlist {
    width: 480px;
    background-color: #fff;
    margin: 90px 0;
    min-height: 270px;
    padding: 30px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
}
.waitlist h2 {
    font-size: 26px;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: 25px;
    text-align: center;
}
.waitlist h3 {
    font-size: 22px;
    color: #00c854;
    font-weight: 400;
    line-height: 52px;
    text-align: center;
}

.waitlist h3.error{
  color:#FBBC05
}
.check_img {
    margin-bottom: 20px;
}
.email {
    width: 100%;
    text-align: center;
    font-size: 16px;
    line-height: 32px;
    margin: 25px 0 40px;
    padding: 5px 0;
    border: 2px solid #e2e4e5;
}
.email:focus {
    border-color: #ff5722;
}
.email_error {
    background-color: #f44336;
    padding: 8px 20px 10px 38px;
    font-size: 16px;
    color: #fff;
    border-radius: 4px;
    margin-bottom: -17px;
    position: relative;
    text-align: center;
}
.email_error:after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    bottom: -12px;
    left: 50%;
    margin-left: -6px;
    border: 6px solid;
    border-color: #f44336 transparent transparent transparent;
}
.email_error:before {
    content: url(/images/error-icon.svg);
    position: absolute;
    width: 16px;
    height: 16px;
    top: 8px;
    left: 20px;
}
.join_btn, .download_btn, .send_btn {
    background-color: #ff5722;
    color: #fff;
    border: none;
    font-size: 16px;
    line-height: 42px;
    width: 110px;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    -webkit-box-shadow: 0px 2px 14px 0px rgba(255,87,34,0.6);
    -moz-box-shadow: 0px 2px 14px 0px rgba(255,87,34,0.6);
    box-shadow: 0px 2px 14px 0px rgba(255,87,34,0.6);
    transition: background-color 0.3s ease 0s;
}
.download_btn {
  padding-left: 40px;
  padding-right: 15px;
  width: auto;
  position: relative;
}
.download_btn span {
  color: #fff;
  position: absolute;
  left: 15px;
  font-size: 18px;
  top: 13px;
}
/* contact page */
.contact_container {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 80px 0;
  background: #f7f7f8;
  position: relative;
  flex-direction: column;
}
.contact_container h3{
  font-size: 22px;
  color: #00c854;
  font-weight: 400;
  line-height: 52px;
  text-align: center;
}
.contact{
    max-width: 450px;
    margin: 0 auto;
}
.contact input[type="text"], .contact textarea, .contact select {
  width: 100%;
  text-align: center;
  font-size: 16px;
  line-height: 32px;
  margin: 10px 0 10px;
  padding: 5px 0;
  border: 2px solid #e2e4e5;
}
.contact textarea {
    width: 96%;
    text-align: left;
    padding: 2%;
    line-height: 16px;
}

.contact select{
  height: 32px;
}
.contact input[type="text"]:focus, .contact textarea:focus {
    border-color: #ff5722;
}
.contact_header_container {
    width: 100%;
    background-color: #ff5722;
    height: 100%;
    display: flex;
    justify-content: center;
    position: relative;
    flex-direction: column;
}

.contact_header_container h1 {
    font-family: 'Varela Round', sans-serif;
    font-size: 44px;
    font-weight: 400;
    margin: 50px 0 10px;
    text-align: center;
    color: white;
}

.contact_header_container p{
color: white;
max-width: 450px;
    text-align: center;
    font-size: 18px;
    line-height: 26px;
    margin: 0 auto 30px;
    padding: 20px 0px;
}

.download_btn, .send_btn {
    margin: 0 auto;
    display: table;
}
.join_btn:hover, .download_btn:hover, .send_btn:hover {
	background-color: #F0501E;
  color: #fff;
}
.join_btn:active, .download_btn:active, .send_btn:active {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.solution_container {
    max-width: 1200px;
    display: flex;
    margin: 0 auto;
}
.pain, .solution {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 140px 0;
    text-align: center;
}
.pain h2, .solution h2 {
    letter-spacing: 1px;
    font-size: 26px;
    padding-bottom: 40px;
    font-family: 'Varela Round', sans-serif;
}
.pain p, .solution p {
    font-size: 16px;
    line-height: 32px;
    color: #576366;
}
.examples {
    width: 100%;
    background-color: #f7f7f8;
}
.holder {
    max-width: 1200px;
    margin: 0 auto;
}
.example {
    width: 100%;
    display: flex;
}
.presidential_election {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.new_hampshire_primaries {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.text_bigger {
    font-size: 26px;
    padding-bottom: 40px;
}
.text_smaller {
    font-size: 16px;
    line-height: 32px;
    color: #7d7f82;
}
.example_btn {
    border: 2px solid #272a2f;
    color: #272a2f;
    width: 133px;
    text-align: center;
    padding: 9px 16px 11px;
    border-radius: 4px;
    margin-top: 25px;
    float: left;
    display: table;
    font-weight: bold;
    background-color: #f7f7f8;
    -webkit-box-shadow: 0px 2px 14px 0px rgba(39,42,47,0.2);
    -moz-box-shadow: 0px 2px 14px 0px rgba(39,42,47,0.2);
    box-shadow: 0px 2px 14px 0px rgba(39,42,47,0.2);
	transition: background-color 0.3s ease 0s;
}
.example_btn:hover {
	background-color: #EBEBF0;
}
.example_btn:active {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.orange_btn {
    border: 2px solid #ff5722;
    color: #ff5722;
    text-align: center;
    padding: 9px 16px 11px;
    border-radius: 4px;
    margin-top: 25px;
    float: left;
    display: table;
    font-weight: bold;
    background-color: #f7f7f8;
    -webkit-box-shadow: 0px 2px 14px 0px #ff5722;
    -moz-box-shadow: 0px 2px 14px 0px #ff5722;
    box-shadow: 0px 2px 14px 0px #ff5722;
	transition: background-color 0.3s ease 0s;
}
.orange_btn:hover {
	background-color: #EBEBF0;
}
.orange_btn:active {
	-webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.map_new_hampshire {
    width: 60%;
    background: url(/images/map-nh.png) top right no-repeat;
    height: 400px;
    background-size: auto 400px;
}

.map_iowa {
    width: 60%;
    background: url(/images/map2.png) top left no-repeat;
    height: 400px;
    background-size: auto 400px;
}

.iowa_primaries {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
/*Footer*/
footer {
    width: 100%;
    height: auto;
    text-align: center;
    padding: 40px 0;
}
footer p {
    font-size: 12px;
    color: #abb1b2;
    padding-bottom: 5px;
}
footer a {
    color: #abb1b2;
    transition: opacity 0.3s ease 0s;
}
footer a:hover {
    opacity: 0.6;
}
footer img {
    padding-bottom: 13px;
}
.social {
    font-family: 'states';
    font-size: 18px;
    margin: 7px 4px 0;
    display: inline-block;
    color: #cdd1d3;
}
.contact_link {
padding-left: 4px;
}

/* Preloader */
#preloader {
position:absolute;
height: 120px;;
text-align: center;
left: 50%;
top:645px;
display: block;
z-index:10;

}

#preloader span {
position:absolute;
width:50px;
height:50px;
border: 5px solid #FF5722;
border-radius:999px;
animation: radar 2s infinite linear;
opacity: 0;
}

#preloader span:nth-child(1) {
animation-delay: 0s;
}
#preloader span:nth-child(2) {
animation-delay: 0.66s;
}
#preloader span:nth-child(3) {
animation-delay: 1.33s;
}
.iframe_container{
  width: 960px;
  margin: 0 auto;
}

.source {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 80px;
  font-size: 0.7em;
}
.source_gb {
  text-align: center;
  margin-top: 20px;
  font-size: 0.7em;
}

.hidden{
  display: none;
}

.flex_center{
display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

@keyframes radar {
0% {transform: scale(0); opacity: 0;}
25% {transform: scale(0); opacity: 0.5;}
50% {transform: scale(1); opacity: 1;}
75% {transform: scale(1.5); opacity: 0.5;}
100% {transform: scale(2); opacity: 0;}
}
@media screen and (max-width: 820px) {
    .how_it_works {
        margin-top: 140px;
    }
    .presidential_election, .iowa_primaries, .new_hampshire_primaries {
    	width: 55%;
    }
    .map, .map_iowa, .map_new_hampshire {
    	width: 45%;
    }
}

/* iowa primaries */
.background {
  fill: none;
  pointer-events: all;
}

br{
  clear: both;
}

.table {
    border-collapse: collapse;
    width: 100%;
}

table {
  border-collapse: collapse;
}

th, td {
    text-align: left;
    font-size: 0.8em;
    padding: 5px;
    height: 15px;
    max-height: 30px;
    overflow: auto;
    width: 250px;
    font-weight: normal;
}
tr {
    height: 40px;
    border: none !important;
}
th {
    background-color: #4c4c4f !important;
}
th:first-child {
    border-radius: 4px 0 0 0;
    padding-left: 15px;
}
th:last-child {
    border-radius: 0 4px 0 0;
}
.image_holder {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    overflow: hidden;
    float: left;
}
.candidate-color {
    border-radius: 50%;
    width: 16px;
    height: 16px;
    top: 9px;
    background-color: #d2d0c5;
    background-position: 0 0;
    height: 15px;
    left: 0;
    margin-right: 7px;
    margin-left:10px;
    overflow: hidden;
    position: relative;
    top: 10px;
    width: 15px;
    float: left;
}
.color-winner {
    background-image: url("/images/check_candidate.svg");
    background-repeat: no-repeat;
    background-position: center;
}
.winner {
    background-color: #FFD4C6 !important;
}
.percent-fill {
    padding: 0;
    height: 5px;
    overflow: hidden;
    background: #FF5722;
    min-width: 1px;
}
.percent {
    padding-right: 15px;
}
tr:nth-child(2n) {
    background-color: #f7f7f8;
}
tr {
  border-bottom: 1px solid #e3e3e3;
}

th {
    color: white !important;
}

.candidate_name{
  float: left;
  line-height: 33px;
  margin-left: 10px;
}

.candidate_img{
  float:left;
  width:100%;
  height:auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('/images/other-50.png');
}

#content{
  display: table !important;
  /*max-width: 960px;*/
  width: fit-content;
  margin: 0 auto;
}
.bold {
    color: #ff5722;
    font-weight: bold;
    text-align:right;
}
.bundle_container {
    width: 100%;
    background-color: #f7f7f8;
}
.bundle {
    max-width: 700px;
    margin: 0 auto;
    padding: 40px 0;
}
.files_title {
    text-align: center;
    font-size: 26px;
    color: #272a2f;
    font-weight: 800;
    padding: 0 0 50px 0;
}
.files_container {
    display: flex;
    justify-content: space-between;
}
.files {
    width: 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.files h2 {
    font-size: 26px;
    margin: 15px 0;
    color: #272a2f;
}
.files p {
    font-size: 16px;
    color: #576366;
    line-height: 22px;
    text-align: center;
}
.county-boundary {
  fill: #D0D0D0;
  stroke: #fff;
  stroke-width: .5px;
}

.county-boundary:hover, .county-boundary:active {
  fill-opacity : 0.8 !important;
}
.hoverClass { fill-opacity : 0.8 !important; }

div.tooltip {
  position: absolute;
  background-color: white;
  color: #272B2F;
  font-weight: bold;
  padding: 20px;
  /*display: none;*/
  visibility:hidden;
  font-size: 1em;
  -webkit-box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
  box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
}
#tooltip {
  position: relative;
}
text {
  font: "Helvetica";
}

.tooltip_title{
  width: 300px;
  margin-bottom: 10px;
}

.tooltip_candidate_name{
  width: 150px;
  float: left;
  font-weight: normal;
  margin-left: 10px;
  padding-top: 9px;
}

.tooltip_candidate_votes{
  width: 50px;
  float: left;
  font-weight: normal;
  padding-top: 9px;
}

.tooltip_candidate_percent{
  width: 50px;
  float: right;
  padding-top: 9px;
  color: #FF5722;
}
.tooltip_image {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    overflow: hidden;
    float: left;
    margin-top:3px;
}

.votes {
    text-align:center;
}
.delegates {
    text-align:center;
}

hr {
    clear: both;
    border: none;
    border-bottom: 2px solid #cbcbcd;
    width: 60px;
    margin-top: 65px;
}
.option_title {
    text-align: center;
    font-size: 26px;
    color: #272a2f;
    font-weight: 800;
    padding: 65px 0 70px 0;
}
.option_container {
    width: 330px;
    margin: 0 auto;
}
.options {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}
label {
    display: block;
    cursor: pointer;
    position: relative;
    width: 90px;
    float: left;
    text-align: center;
    line-height: 90px;
    font-size: 28px;
    color: #b8b9bb;
}
input[type=radio] {
    display: none;
}
label:after {
    color: white;
    font-size: 30px;
    position: absolute;
    width: 90px;
    left: 0;
    top: 0;
}
label:before {
    content: "";
    display: inline-block;
    width: 90px;
    height: 90px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 8px;
    box-shadow: inset 0px 0px 0px 2px rgba(184,185,188,1);
}
.suggested{
  width:100%;
  position:absolute;
  top:0;
  font-size:10px;
  font-weight: bold;
  display:block;
  line-height: 28px;
  border-radius: 4px 4px 0 0;
  color: #B8B9BC;
}
input[type=radio]:checked + label:before {
    content: "";
    color: white;
    font-size: 30px;
    text-align: center;
    line-height: 18px;
    width: 90px;
    height: 90px;
    background-color: #ff5722;
    box-shadow: none;
}
input[type=radio]:checked + label span {
	background-color: #FF5722 !important;
	color: #FFF;
}

input[type=radio]:checked + .d0:after {
    content: '$0';
}
input[type=radio]:checked + .d10:after {
    content: '$10';
}
input[type=radio]:checked + .d20:after {
    content: '$20';
}
input[type=radio]:checked + .d30:after {
    content: '$30';
}
input[type=radio]:checked + .d40:after {
    content: '$40';
}
input[type=radio]:checked + .d50:after {
    content: '$50';
}

#free_download p{
    color: #abb1b2;
    font-size: 12px;
    text-align: center;
    margin-top: 20px;
}
.name {
    width: 100%;
    font-size: 16px;
    line-height: 32px;
    border: 2px solid #e2e4e5;
    text-indent: 15px;
    margin-bottom: 10px;
}
.name:focus { border-color: #ff5722; }
.blue_link {
    color: #2073F8;
    font-size: 14px;
    position: relative;
    transition: opacity 0.3s ease 0s;
}
.blue_link:hover {
    opacity: 0.6;
}
.blue_link:active{
  color: #576366;
  font-weight: bold;
  cursor: default;
}

.go_to_download {
    margin: 20px auto 40px;
    display: table;
}

.go_to_download:before {
    content: url(/images/ico-download-blue.svg);
    position: absolute;
    left: -21px;
    top: 2px;
}

/*download*/
.nav_links {
    position: absolute;
    width: 100%;
    top: 70px;
    z-index: 9999;
}
.back_to_home {
    float: left;
    margin-left: 30px;
}
.go_to_bundle {
    float: right;
    margin-right: 20px;
}
.back_to_home:before {
    content: url(/images/ico-back.svg);
    position: absolute;
    top: -1px;
    left: -13px;
}
.go_to_bundle:before {
    content: url(/images/ico-bundle.svg);
    position: absolute;
    top: 2px;
    left: -16px;
}
.bundle-title {
    font-size: 26px;
    color: #272A2F;
    text-align: center;
}
.bundle_download {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
}
.bundle_download p {
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    color: #576366;
    padding: 20px 0 25px 0;
}
.bundle_img {
    height: auto;
}
.price{
  float: left;
  margin-right:10px;
}
.price_list{
  display:block;
}
.price_list input.submit{
  width: 90%;
}

.party_rep_tab, .party_dem_tab{
  width:60px;
  height:60px;
  border:2px solid #0900B6;
  border-radius:6px;
  background-image: url(/images/us_republican.svg);
  background-size: 38px auto;
  background-repeat: no-repeat;
  background-position: center;
  float: left;
  margin: 10px 10px -70px 0;
  padding: 5px;
  box-sizing: inherit !important;
  -moz-box-sizing: inherit !important;
  -webkit-box-sizing: inherit !important;
}

.party_dem_tab{
  background-image: url(/images/us_democratic.svg);
  background-size: 38px auto;
  background-repeat: no-repeat;
  background-position: center;
}
.party_rep_tab:hover,
.party_dem_tab:hover {
    border-color: #0901aa;
    background-color: #ecebf8;
}

.grayscale:hover {
  opacity: 0.35;
  background-color: #eaeaec;
}


.grayscale{
  -moz-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
  -o-filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
  -webkit-filter: grayscale(100%);
  filter: gray;
  filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
  opacity: 0.3;
  border:2px solid #000;
}


/* Slider */

.rangeslider,
.rangeslider__fill {
  display: block;

  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.rangeslider {
  background: #FFCEBF;
  position: relative;
}

.rangeslider--horizontal {
  height: 6px;
  width: 100%;
}

.rangeslider--vertical {
  width: 20px;
  min-height: 150px;
  max-height: 100%;
}

.rangeslider--disabled {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);
  opacity: 0.4;
}

.rangeslider__fill {
  background: #FFCEBF;
  position: absolute;
}
.rangeslider--horizontal .rangeslider__fill {
  top: 0;
  height: 100%;
}
.rangeslider--vertical .rangeslider__fill {
  bottom: 0;
  width: 100%;
}

.rangeslider__handle {
  background: #ff5722;
  cursor: pointer;
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIwLjAiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4xIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(0, 0, 0, 0.1)));
  background-image: -moz-linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
  background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
  -moz-box-shadow: 0 2px 14px 0 rgba(255, 87, 34, 0.6);
  -webkit-box-shadow: 0 2px 14px 0 rgba(255, 87, 34, 0.6);
  box-shadow: 0 2px 14px 0 rgba(255, 87, 34, 0.6);
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  transition: background-color 0.3s ease 0s;
}

.rangeslider__handle:active {
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjEiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMDAwMDAiIHN0b3Atb3BhY2l0eT0iMC4xMiIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.12)));
  background-image: -moz-linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12));
  background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12));
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.12));
}
.rangeslider--horizontal .rangeslider__handle {
  top: -7px;
  touch-action: pan-y;
  -ms-touch-action: pan-y;
}
.rangeslider--vertical .rangeslider__handle {
  left: -7px;
  touch-action: pan-x;
  -ms-touch-action: pan-x;
}

input[type="range"]:focus + .rangeslider .rangeslider__handle {
  -moz-box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);
  -webkit-box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);
  box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);
}
/* End Slider */

.rangeslider__value-bubble {
  background-color: #FF4C1F;
  display: block;
  padding: 5px;
  position: absolute;
  bottom: 100%;
  margin-bottom: 25px;
  width: 55px;
  height: 50px;
  margin-left: -28px;
  text-align: center;
  font-size: 25px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  line-height: 50px;
  color: white;
  box-shadow: 0 2px 14px 0 rgba(255, 87, 34, 0.6);
}
.rangeslider__value-bubble:before, .rangeslider__value-bubble:after {
  border-width: 10px;
  border-style: solid;
  border-color: transparent;
  content: "";
  display: block;
  margin: auto;
  width: 2px;
  position: absolute;
  left: 0;
  right: 0;
}
.rangeslider__value-bubble:before {
  border-bottom-width: 0;
  bottom: -11px;
}
.rangeslider__value-bubble:after {
  border-top-color: #FF4C1F;
  border-bottom-width: 0;
  bottom: -10px;
}
.slider {
    margin-bottom: 40px;
    margin-top: 150px;
}
.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.minimum_price {
    color:#5B6668;
        font-size:11px;
         width:30%;
    margin-left:70px;
    font-weight: bold;
    display:inline-block;
}

.suggested_price {
    color:#FD6339;
        font-size:11px;
         width:30%;
    margin-left:30px;
    font-weight: bold;
    display:inline-block;
}
.minimum_price_number {
    color:#5B6668;
        font-size:35px;
         width:30%;
    margin-left:70px;
    font-weight: bold;
    display:inline-block;
}

.suggested_price_number {
    color:#FD6339;
        font-size:35px;
         width:30%;
    margin-left:30px;
    font-weight: bold;
    display:inline-block;
}
.block_price_number {
    margin-bottom: 30px;
}
.place, .place-label {
    fill: #444;
    pointer-events: none;
    text-shadow: white 0px 0px 2px;
}
#states {
  fill-opacity : 0.0;
/*  fill: #aaa;
*/
}

#states .active {
  display:none;
}

#state-borders {
  fill: none;
  stroke: #fff;
  stroke-width: 1px;
  stroke-linejoin: round;
  stroke-linecap: round;
  pointer-events: none;
}


div.presidential_tooltip {
   position: absolute;
  background-color: white;
  color: #272B2F;
  font-weight: bold;
  padding: 20px;
  /*display: none;*/
  visibility:hidden;
  font-size: 1em;
  -webkit-box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
  -moz-box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
  box-shadow: 0px 4px 16px 0px rgba(0,0,0,0.2);
}
.tooltip_line {
    margin-top: 0px;
    width: 100%;
}

div.infobox{
  width: 30%;
  height:500px;
  right: 0;
  top: 0px;
  background-color: white;
  display: none;
  position: absolute;
  float: right;
  /*margin-left: 20px;*/
}

div.zoomout_btn {
  font-family: Arial, Helvetica, sans-serif;
  padding: 3px 5px 2px 5px;
  font-size: 11px;
  border: 1px solid #aaa;
  background-color: white;
  position: absolute;
  top: 10px;
  left: 10px;
  cursor: pointer;
  display: none;
}
text {
  font: "Helvetica";
}

.presidential_tooltip_title{
  width: 250px;
  margin-bottom: 10px;
}

.presidential_tooltip_candidate_name{
  width: 130px;
  float: left;
  font-weight: normal;
}

.presidential_tooltip_candidate_votes{
  width: 70px;
  float: left;
  font-weight: normal;
}

.presidential_tooltip_candidate_percent{
  width: 50px;
  float: right;
}
hr{
  clear: both;
}

text {
  font: "Helvetica";
}

.infobox_title {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.14;
    margin-left: 20px;
    margin-bottom: 20px;
}
.infobox_table_content {
    font-family: Arial,Helvetica,sans-serif;
    font-size: 1em;
    line-height: 2.4;
    margin-left: 20px;
}
.infobox_table_content th {
    border-bottom: 2px solid #333;
    font-weight: bold;
    padding: 0 0 0 8px;
        background-color: white !important;
        color: black !important;

}
.infobox_table_party {
    width: 32px;
}
.infobox_table_candidate {
    width: 80px;
}

.infobox_table_winner .infobox_table_candidate {
    background-position: 3px 15px;
    background-repeat: no-repeat;
    padding-left: 16px !important;

}
.infobox_table_vote {
    text-align: right;
    width: 48px;

}
.infobox_table_votepct {
    text-align: right;
    width: 44px;

}
.infobox_table_rep_winner {
    background-color: #ba3a33;
    color: white;
    font-weight: bold;
        background-image: url("/images/check_candidate.svg");

}
.infobox_table_dem_winner {
    background-color: #445e96;
    color: white;
    font-weight: bold;
        background-image: url("/images/check_candidate.svg");

}
td.infobox_table_lower_row {
    border-top: 1px solid #ccc;
}
.legendLinear {
  font: 11px/14px Arial, sans-serif;
}
#legendDem .legendCells .cell .label, #legendRep .legendCells .cell .label {
  font-size: 9px;
  stroke: none;
  fill: #AAA;
  transform:translate(30px, 18px);
  -webkit-transform:translate(30px, 18px);
}
.legendTitle {
  font-size: 11px;
  stroke: #000;
  transform:translate(-32px, 30px);
  -webkit-transform:translate(-32px, 30px);
}

.election_nav{
margin: 40px auto 0;
text-align: center;
}

#navMaps{
  margin-top: 90px;
}

.visHidden{
  visibility: hidden;
}
/* Navigation states */
div.state-select ul.dropdown-menu.inner{
  height: 350px;
}

.election_nav_years {
    margin-top: 30px;
}
.state_btn {
    margin: 5px 4px;
    display: inline-block;
    font-size: 14px;
    color: #B8B9BC;
    padding: 5px 10px 7px 30px;
    position: relative;
    border-radius: 2px;
}
.selected {
    background-color: #FF5722;
    color: white;
}
.state_btn:before {
    position: absolute;
    font-family: 'states' !important;
    left: 9px;
    top: 4px;
    font-size: 20px;
}
.iowa_btn:before {
    content: "\e92f";
}
.nh_btn:before {
    content: "\e931";
}
.nevada_btn:before {
    content: "\e930";
}
.sc_btn:before {
    content: "\e932";
}
.state_hr {
    border: none;
    border-bottom: 2px solid #FF5722;
    width: 60px;
}
.election_nav_years .state_btn {
    padding-left: 10px !important;
}

.party_tabs {
    display: flex;
    flex-direction: row;
    margin: 15px auto 0;
    width: 120px;
}
.show_btn {
    background: #ff5722;
    border: none;
    padding: 7px 14px 8px 14px;
    font-weight: bold;
    color: #fff;
    border-radius: 4px;
}
.dropdown-toggle {
    border-color: #B8B9BC;
    border-width: 2px;
    box-shadow: none;
    background: #fff;
}
.dropdown-toggle:hover {
    background: #F7F8F8;
}
.caret {
    border-top-color: #B8B9BC;
}
.open .dropdown-toggle {
    border-color: #ff5722 !important;
    background: #fff !important;
    box-shadow: none !important;
}
.open .caret {
    border-top-color: #ff5722 !important;
}
.bootstrap-select .dropdown-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
}
.dropdown-menu {
    border: none;
    border-radius: 4px;
}
.active a {
    background: #ff5722 !important;
}
.bs-searchbox input {
    border: 2px solid #B8B9BC;
    border-radius: 4px;
    padding: 4px 8px;
}
.dropdown-menu > li > a {
    padding: 6px 20px;
}
.year-select {
    width: 74px !important;
}
.state-icon {
    color: #C3C3C3;
    font-size: 16px;
    position: absolute;
    top: 8px;
    left: 8px;
    width: 40px;
    text-align: center;
}
.state-icon + .text {
    text-indent: 30px;
}
.active .state-icon {
    color: #FFF;
}

button .state-icon {
  position: inherit;
  vertical-align: middle;
  margin-right: 5px;
}


/*Media queries*/
@media screen and (max-width: 768px) {
    header h1 {
        font-size: 32px;
    }
    header p {
        font-size: 16px;
    }
    .data_img {
        display: none;
    }
    .character_img {
        padding-top: 8px;
    }
    .illustration p {
        padding-bottom: 0;
    }
    .character {
        align-items: baseline;
    }
    div.tooltip {
        position: fixed !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        padding: 20px;
        white-space: nowrap;
    }
    .nav_links{
      display: none;
    }
    .table th:last-child, .percent{
      display: none;
    }
    .table th:first-child{
      width: 40%;
    }
    .votes, .bold{
      width: 30%;
    }
    .bold{
      padding-right: 15px;
    }

}
@media screen and (max-width:650px) {
    .how_it_works {
        flex-direction: column;
        align-items: center;
    }
    .character {
        margin: 30px 0;
    }
    .illustration, .character {
        width: 100%;
    }
    .waitlist {
        width: 70%;
        margin: 60px 0;
    }
    .solution_container {
        flex-direction: column;
        align-items: center;
    }
    .pain {
        padding: 100px 0 30px;
    }
    .solution {
        padding: 30px 0 100px;
    }
    .pain h2, .solution h2 {
        padding-bottom: 30px;
    }
    .map, .map_iowa, .map_new_hampshire {
        display: none;
    }
    .presidential_election, .iowa_primaries, .new_hampshire_primaries {
        width: 90%;
        margin: 0 auto;
        padding-top: 60px;
        text-align: center;
    }
    .iowa_primaries {
        margin: 30px auto 60px;
    }
    .example_btn {
        margin: 25px auto 0;
    }
    .text_bigger {
        padding-bottom: 25px;
    }
    div.state-select ul.dropdown-menu.inner{
      height: 250px;
    }
}

@media screen and (max-width: 1300px) {
    .example {
        width: 100%;
        margin: 0 auto;
    }
    .presidential_election {
        margin-left: 5%;
    }
    .new_hampshire_primaries{
        margin-left: 5%;
    }
    .iowa_primaries {
    	margin-right: 5%;
    }
    .presidential_election, .map, .iowa_primaries, .map_iowa, .map_new_hampshire, .new_hampshire_primaries {
        /*width: 50%;*/
    }
}
@media screen and (max-width: 1110px) {
    .data_img {
    	max-width: 210px;
    }
}
@media screen and (max-width: 1110px) {
	.map {
        background-position: top left;
    }
  .map_new_hampshire {
        background-position: top left;
    }
    .map_iowa {
        background-position: top right;
    }
}
@media screen and (max-width: 390px) {
  #navMaps {
    margin-top: 40px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #navMaps > div {
    margin-bottom: 10px;
  }
  .show_btn, .year-select {
    width: 100% !important;
  }
}
