/**
 * Election Styles
 */
/*
* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/9/2014
* Sass Version by Seth Coelen https://github.com/whatsnewsaes
*/
@import url(https://fonts.googleapis.com/css?family=Droid+Sans+Mono|Pacifico|Oxygen);
.u-full-width {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.u-max-full-width {
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.u-pull-right {
  float: right; }

.u-pull-left {
  float: left; }

.visible-xs, .visible-sm, .visible-md, .visible-lg, .visible-xl {
  display: none !important; }

@media (max-width: 640px) {
  .visible-xs {
    display: block !important; }
  .hidden-xs {
    display: none !important; } }

/* Module: ATF */
#election-calc {
  width: 20%;
  height: 300px;
  float: right;
  top: 240px; }
  #election-calc .calculator {
    position: fixed;
    margin: 1em -4em;
    padding: 1em 0;
    display: block-inline;
    width: 350px;
    background-color: #444;
    border-radius: 25px;
    -webkit-box-shadow: 5px 5px 15px 3px #111;
    box-shadow: 5px 5px 15px 3px #111;
    font-family: 'Oxygen'; }
  #election-calc .calc-row {
    text-align: center; }
  #election-calc .calc-row div.screen {
    font-family: Droid Sans Mono;
    display: table;
    width: 85%;
    background-color: #aaa;
    text-align: right;
    font-size: 2em;
    min-height: 1.2em;
    margin-left: 0.5em;
    padding-right: 0.5em;
    border: 1px solid #888;
    color: #333; }
  #election-calc .calc-row div {
    text-align: center;
    display: inline-block;
    font-weight: bold;
    border: 1px solid #555;
    background-color: #eee;
    padding: 10px 0;
    margin: 7px 5px;
    border-radius: 15px;
    -webkit-box-shadow: 2px 2px 1px 1px #222;
    box-shadow: 2px 2px 1px 1px #222;
    width: 50px; }
  #election-calc .calc-row div.zero {
    width: 112px; }
  #election-calc .calc-row div.zero {
    margin-right: 5px; }

.election-content {
  font-family: "Open Sans Condensed", "HelveticaNeue", "Helvetica Neue", Helvetica, sans-serif; }
  .election-content h1, .election-content h2, .election-content h3, .election-content h4, .election-content h5, .election-content h6, .election-content [class^="article-h"] {
    font-family: "BebasNeueRegular", "Open Sans Condensed", "HelveticaNeue", "Helvetica Neue", Helvetica, sans-serif; }

.election-content-home .races-big,
.election-content .races-big,
.election-content .races-map {
  float: left;
  width: 100%; }
  .election-content-home .races-big article.tease-race_result,
  .election-content .races-big article.tease-race_result,
  .election-content .races-map article.tease-race_result {
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 10px 3px;
    min-height: 125px;
    width: 100%; }
  .election-content-home .races-big .race,
  .election-content .races-big .race,
  .election-content .races-map .race {
    width: 50%; }

.election-location-container {
  margin: 0 auto 12px;
  max-width: 1280px; }

article.tease-race_result {
  margin-top: 10px; }
  article.tease-race_result .rr_header h3 {
    font-size: 26px;
    font-family: "BebasNeueRegular", "Open Sans Condensed", "HelveticaNeue", "Helvetica Neue", Helvetica, sans-serif;
    line-height: 25px; }
  article.tease-race_result .rr_header div.desc {
    font-size: 13px;
    line-height: 16px;
    margin-bottom: 4px; }
  article.tease-race_result .rr_content + a {
    line-height: 16px; }

ul.race-options .option:after {
  content: "";
  display: block;
  clear: both; }

ul.race-options .progress_cont {
  float: left;
  width: 80%;
  border: 1px solid #D5D5D5;
  height: 25px;
  position: relative;
  display: inline-block;
  margin-bottom: 2px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

ul.race-options .pvotes {
  float: left;
  padding-left: 10px;
  color: black;
  font-size: 13.5px;
  font-weight: bold;
  position: absolute;
  line-height: 21px;
  margin: 2px;
  width: 98%; }

ul.race-options .percent {
  float: right;
  width: 18%;
  padding: 2px 0 0 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

ul.race-options div.progress {
  display: block;
  margin: 2px;
  height: 19px;
  float: left;
  position: absolute; }

ul.race-options div.option div.progress {
  background-color: #ccc; }

ul.race-options div.option div.progress.winner {
  background-color: #9ae2a4; }

ul.race-options div.option div.progress_cont.eliminated {
  background-color: #696969; }

div#module-elections {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 10px;
  font-size: 14px;
  line-height: 25px; }
  div#module-elections .layout-header, div#module-elections .layout-content {
    width: 100%; }
  div#module-elections h2.module-h2 {
    padding: 0; }
  div#module-elections h2.module-h2 + div {
    line-height: 18px; }

h2.election-module-h2 {
  font-family: "BebasNeueRegular", "Open Sans Condensed", "HelveticaNeue", "Helvetica Neue", Helvetica, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 3.8rem;
  line-height: 3.8rem;
  margin: 0;
  padding: 10px 0; }

select#dd-menu-county,
select#dd-menu-town,
a#jump-to-state.button,
a#jump-to-county-stuff.button,
a#jump-to-town-stuff.button,
div.date-content a.button:first-of-type {
  color: #333;
  background-color: #fff;
  font-weight: bold;
  width: 100%;
  margin-bottom: 5px; }

div.date-content .jump-to-bar {
  display: block; }
  div.date-content .jump-to-bar select#dd-menu-county,
  div.date-content .jump-to-bar select#dd-menu-town,
  div.date-content .jump-to-bar a#jump-to-state.button {
    display: block; }

div.date-content label {
  display: none; }

div.election-header-message {
  text-align: left;
  font-weight: bold;
  line-height: 16px;
  font-size: 12px;
  margin-bottom: 5px; }

div.election-page-footer h4 {
  font-weight: bold;
  font-size: 2.4rem; }

g#county_ME path:hover {
  stroke-width: 2px;
  stroke: #000;
  outline-offset: -2px; }

a.map-tab {
  font-size: 14px;
  line-height: 20px;
  padding: 3px; }
  a.map-tab.activetab {
    font-weight: bold;
    background-color: #ccc; }

div.tooltip.legend {
  pointer-events: none;
  position: absolute;
  text-align: center;
  background: white;
  padding: 10px 15px;
  z-index: 5;
  margin: 0 auto;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 0 1px #eee;
  box-shadow: 0 0 0 1px #eee;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  display: none; }
  div.tooltip.legend.active {
    display: block; }
  div.tooltip.legend:after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    width: 0;
    height: 0;
    margin-left: -10px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid white; }

div.legend {
  position: absolute;
  border: 1px solid #000;
  width: 200px;
  padding: 5px;
  line-height: 18px;
  font-size: 13px; }
  div.legend div.header {
    font-weight: bold;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #666; }
  div.legend li {
    margin-bottom: 2px; }
  div.legend span.box {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: bottom; }
  div.legend span.name {
    display: inline-block;
    line-height: 18px; }
  div.legend span.votes {
    float: right;
    margin-right: 5px; }

div.legend:not(.tooltip) {
  bottom: 0px;
  right: 0px; }

div.widget.bpc_fauxmap_widget {
  position: relative;
  line-height: 18px;
  font-size: 12px; }

#race-votes-forms ul li,
#race-votes-forms .vote-precincts {
  max-width: 720px;
  /* margin: 0 auto; */ }

#race-votes-forms .vote-precincts {
  display: block; }

#race-votes-forms label[for^='votes-'] {
  width: 45%;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 10px; }

#race-votes-forms input[id^='votes-'] {
  width: 30%;
  text-align: right;
  margin-bottom: 10px; }

#race-votes-forms span.vote-submit,
#race-votes-forms span.vote-called {
  display: inline-block;
  width: 25%;
  text-align: center;
  margin-bottom: 10px; }

#race-votes-forms .prtr {
  margin-top: 10px;
  font-size: .8em;
  margin-left: 15px; }

#race-votes-forms #vote-enter-submit {
  display: block;
  margin: 25px auto;
  font-size: 25px;
  line-height: 40px;
  height: 50px;
  background-color: #00331c;
  color: #ffffff; }

#town-local-races .prtr {
  margin-top: 10px;
  font-size: .8em;
  margin-left: 15px; }

@media (max-width: 960px) {
  div#module-elections .election-content .races-big .race {
    width: 100%; } }

@media (min-width: 640px) {
  div#module-elections .layout-header, div#module-elections .layout-content {
    max-width: 720px; }
  div#module-elections .election-content .races-big {
    width: 50%; }
    div#module-elections .election-content .races-big article.tease-race_result {
      width: 100%; }
  div#module-elections .election-content .races-map {
    width: 50%; }
  g#county_ME {
    -webkit-transform: translate(0, 0px);
    -ms-transform: translate(0, 0px);
    transform: translate(0, 0px); }
  select#dd-menu-county,
  select#dd-menu-town,
  a#jump-to-state.button,
  div.date-content a.button:first-of-type {
    color: white;
    background-color: #00734a;
    font-weight: bold;
    width: initial;
    margin-bottom: initial; }
  div.date-content .jump-to-bar select#dd-menu-county,
  div.date-content .jump-to-bar select#dd-menu-town,
  div.date-content .jump-to-bar a#jump-to-state.button {
    display: inline-block; } }

@media (min-width: 960px) {
  g#county_ME {
    -webkit-transform: translate(0, -50px);
    -ms-transform: translate(0, -50px);
    transform: translate(0, -50px); }
  div.date-content .jump-to-bar {
    display: block;
    float: right; }
    div.date-content .jump-to-bar select#dd-menu-county,
    div.date-content .jump-to-bar select#dd-menu-town,
    div.date-content .jump-to-bar a#jump-to-state.button {
      display: inline-block; }
  div.date-content label {
    display: inline-block; }
  div.date-content div.election-header-message {
    text-align: right; }
  div#module-elections {
    font-size: 12px;
    line-height: 25px; }
    div#module-elections .layout-header, div#module-elections .layout-content {
      max-width: 960px; }
    div#module-elections .election-content-home .races-big {
      width: 100%; }
      div#module-elections .election-content-home .races-big article.tease-race_result {
        width: 100%; }
        div#module-elections .election-content-home .races-big article.tease-race_result .rr_content {
          position: relative; }
          div#module-elections .election-content-home .races-big article.tease-race_result .rr_content .prtr {
            font-size: .8em;
            margin-left: 15px;
            bottom: 0; }
      div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(1) .rr_content {
        min-height: 110px; }
      div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(2),
      div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(3) {
        width: 50%; }
        div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(2) .rr_content,
        div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(3) .rr_content {
          min-height: 135px; }
      div#module-elections .election-content-home .races-big article.tease-race_result:nth-of-type(4) .rr_content {
        min-height: 110px; }
    div#module-elections .election-content .races-big {
      width: 66.66667%; }
      div#module-elections .election-content .races-big article.tease-race_result {
        width: 100%; }
        div#module-elections .election-content .races-big article.tease-race_result .rr_content {
          position: relative; }
        div#module-elections .election-content .races-big article.tease-race_result .prtr {
          font-size: .8em;
          margin-left: 15px;
          bottom: 0; }
      div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(1) .rr_content {
        min-height: 110px; }
      div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(2),
      div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(3) {
        width: 50%; }
        div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(2) .rr_content,
        div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(3) .rr_content {
          min-height: 135px; }
      div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(4) {
        width: 100%; }
        div#module-elections .election-content .races-big article.tease-race_result:nth-of-type(4) .rr_content {
          min-height: 110px; }
    div#module-elections .election-content .races-map {
      width: 33.33333%; } }

@media (min-width: 1080px) {
  div#module-elections {
    font-size: 13px;
    line-height: 25px; }
    div#module-elections .layout-header, div#module-elections .layout-content {
      width: 100%;
      max-width: 1080px; }
  article.tease-race_result .rr_header h3 {
    font-size: 26px;
    line-height: 25px; }
  g#county_ME {
    -webkit-transform: translate(0, -25px);
    -ms-transform: translate(0, -25px);
    transform: translate(0, -25px); } }

@media (min-width: 1280px) {
  g#county_ME {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }
  div#module-elections {
    font-size: 14px;
    line-height: 25px; }
    div#module-elections .layout-header, div#module-elections .layout-content {
      max-width: 1280px; } }

/**
 * pretty-checkbox.css
 *
 * A pure CSS library to beautify checkbox and radio buttons
 *
 * Source: https://github.com/lokesh-coder/pretty-checkbox
 * Demo: https://lokesh-coder.github.io/pretty-checkbox
 *
 * Copyright (c) 2017 Lokesh rajendran
 */
.pretty * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.pretty input:not([type=checkbox]):not([type=radio]) {
  display: none; }

.pretty {
  position: relative;
  display: inline-block;
  margin-right: 1em;
  white-space: nowrap;
  line-height: 1; }

.pretty input {
  position: absolute;
  left: 0;
  top: 0;
  min-width: 1em;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
  margin: 0;
  padding: 0;
  cursor: pointer; }

.pretty .state label {
  position: initial;
  display: inline-block;
  font-weight: 400;
  margin: 0;
  text-indent: 1.5em;
  min-width: calc(1em + 2px); }

.pretty .state label:after, .pretty .state label:before {
  content: '';
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  border: 1px solid transparent;
  z-index: 0;
  position: absolute;
  left: 0;
  top: calc((0% - (100% - 1em)) - 8%);
  background-color: transparent; }

.pretty .state label:before {
  border-color: #bdc3c7; }

.pretty .state.p-is-hover, .pretty .state.p-is-indeterminate {
  display: none; }

@-webkit-keyframes zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); } }

@keyframes zoom {
  0% {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0); } }

@-webkit-keyframes tada {
  0% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: scale(7);
    transform: scale(7); }
  38% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  55% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  72% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); }
  81% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.24);
    transform: scale(1.24); }
  89% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); }
  95% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.04);
    transform: scale(1.04); }
  100% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes tada {
  0% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
    -webkit-transform: scale(7);
    transform: scale(7); }
  38% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); }
  55% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  72% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); }
  81% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.24);
    transform: scale(1.24); }
  89% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); }
  95% {
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -webkit-transform: scale(1.04);
    transform: scale(1.04); }
  100% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes jelly {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  40% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  50% {
    -webkit-transform: scale3d(0.85, 1.15, 1);
    transform: scale3d(0.85, 1.15, 1); }
  65% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  75% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes jelly {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  40% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  50% {
    -webkit-transform: scale3d(0.85, 1.15, 1);
    transform: scale3d(0.85, 1.15, 1); }
  65% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  75% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@-webkit-keyframes rotate {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-200px) rotate(-45deg);
    transform: translateZ(-200px) rotate(-45deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) rotate(0);
    transform: translateZ(0) rotate(0); } }

@keyframes rotate {
  0% {
    opacity: 0;
    -webkit-transform: translateZ(-200px) rotate(-45deg);
    transform: translateZ(-200px) rotate(-45deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) rotate(0);
    transform: translateZ(0) rotate(0); } }

@-webkit-keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 #bdc3c7;
    box-shadow: 0 0 0 0 #bdc3c7; }
  100% {
    -webkit-box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0);
    box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0); } }

@keyframes pulse {
  0% {
    -webkit-box-shadow: 0 0 0 0 #bdc3c7;
    box-shadow: 0 0 0 0 #bdc3c7; }
  100% {
    -webkit-box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0);
    box-shadow: 0 0 0 1.5em rgba(189, 195, 199, 0); } }

.pretty.p-default.p-fill .state label:after {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.pretty.p-default .state label:after {
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6); }

.pretty.p-default input:checked ~ .state label:after {
  background-color: #bdc3c7 !important; }

.pretty.p-default.p-thick .state label:after, .pretty.p-default.p-thick .state label:before {
  border-width: calc(1em / 7); }

.pretty.p-default.p-thick .state label:after {
  -webkit-transform: scale(0.4) !important;
  -ms-transform: scale(0.4) !important;
  transform: scale(0.4) !important; }

.pretty.p-icon .state .icon {
  position: absolute;
  font-size: 1em;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  left: 0;
  z-index: 1;
  text-align: center;
  line-height: normal;
  top: calc((0% - (100% - 1em)) - 8%);
  border: 1px solid transparent;
  opacity: 0; }

.pretty.p-icon .state .icon:before {
  margin: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1; }

.pretty.p-icon input:checked ~ .state .icon {
  opacity: 1; }

.pretty.p-icon input:checked ~ .state label:before {
  border-color: #5a656b; }

.pretty.p-svg .state .svg {
  position: absolute;
  font-size: 1em;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  left: 0;
  z-index: 1;
  text-align: center;
  line-height: normal;
  top: calc((0% - (100% - 1em)) - 8%);
  border: 1px solid transparent;
  opacity: 0; }

.pretty.p-svg .state svg {
  margin: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1; }

.pretty.p-svg input:checked ~ .state .svg {
  opacity: 1; }

.pretty.p-image .state img {
  opacity: 0;
  position: absolute;
  width: calc(1em + 2px);
  height: calc(1em + 2px);
  top: 0;
  top: calc((0% - (100% - 1em)) - 8%);
  left: 0;
  z-index: 0;
  text-align: center;
  line-height: normal;
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8); }

.pretty.p-image input:checked ~ .state img {
  opacity: 1; }

.pretty.p-switch input {
  min-width: 2em; }

.pretty.p-switch .state {
  position: relative; }

.pretty.p-switch .state:before {
  content: '';
  border: 1px solid #bdc3c7;
  border-radius: 60px;
  width: 2em;
  -webkit-box-sizing: unset;
  box-sizing: unset;
  height: calc(1em + 2px);
  position: absolute;
  top: 0;
  top: calc((0% - (100% - 1em)) - 16%);
  z-index: 0;
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.pretty.p-switch .state label {
  text-indent: 2.5em; }

.pretty.p-switch .state label:after, .pretty.p-switch .state label:before {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease;
  border-radius: 100%;
  left: 0;
  border-color: transparent;
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8); }

.pretty.p-switch .state label:after {
  background-color: #bdc3c7 !important; }

.pretty.p-switch input:checked ~ .state:before {
  border-color: #5a656b; }

.pretty.p-switch input:checked ~ .state label:before {
  opacity: 0; }

.pretty.p-switch input:checked ~ .state label:after {
  background-color: #5a656b !important;
  left: 1em; }

.pretty.p-switch.p-fill input:checked ~ .state:before {
  border-color: #5a656b;
  background-color: #5a656b !important; }

.pretty.p-switch.p-fill input:checked ~ .state label:before {
  opacity: 0; }

.pretty.p-switch.p-fill input:checked ~ .state label:after {
  background-color: #fff !important;
  left: 1em; }

.pretty.p-switch.p-slim .state:before {
  height: .1em;
  background: #bdc3c7 !important;
  top: calc(50% - .1em); }

.pretty.p-switch.p-slim input:checked ~ .state:before {
  border-color: #5a656b;
  background-color: #5a656b !important; }

.pretty.p-has-hover input:hover ~ .state:not(.p-is-hover) {
  display: none; }

.pretty.p-has-hover input:hover ~ .state.p-is-hover {
  display: block; }

.pretty.p-has-hover input:hover ~ .state.p-is-hover .icon {
  display: block; }

.pretty.p-has-focus input:focus ~ .state label:before {
  -webkit-box-shadow: 0 0 3px 0 #bdc3c7;
  box-shadow: 0 0 3px 0 #bdc3c7; }

.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state:not(.p-is-indeterminate) {
  display: none; }

.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate {
  display: block; }

.pretty.p-has-indeterminate input[type=checkbox]:indeterminate ~ .state.p-is-indeterminate .icon {
  display: block;
  opacity: 1; }

.pretty.p-toggle .state.p-on {
  opacity: 0;
  display: none; }

.pretty.p-toggle .state .icon, .pretty.p-toggle .state .svg, .pretty.p-toggle .state img, .pretty.p-toggle .state.p-off {
  opacity: 1;
  display: inherit; }

.pretty.p-toggle .state.p-off .icon {
  color: #bdc3c7; }

.pretty.p-toggle input:checked ~ .state.p-on {
  opacity: 1;
  display: inherit; }

.pretty.p-toggle input:checked ~ .state.p-off {
  opacity: 0;
  display: none; }

.pretty.p-plain input:checked ~ .state label:before, .pretty.p-plain.p-toggle .state label:before {
  content: none; }

.pretty.p-plain.p-plain .icon {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1); }

.pretty.p-round .state label:after, .pretty.p-round .state label:before {
  border-radius: 100%; }

.pretty.p-round.p-icon .state .icon {
  border-radius: 100%;
  overflow: hidden; }

.pretty.p-round.p-icon .state .icon:before {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8); }

.pretty.p-curve .state label:after, .pretty.p-curve .state label:before {
  border-radius: 20%; }

.pretty.p-smooth .icon, .pretty.p-smooth .svg, .pretty.p-smooth label:after, .pretty.p-smooth label:before {
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.pretty.p-smooth input:checked + .state label:after {
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease; }

.pretty.p-smooth input:checked + .state .icon, .pretty.p-smooth input:checked + .state .svg, .pretty.p-smooth input:checked + .state img {
  -webkit-animation: zoom .2s ease;
  animation: zoom .2s ease; }

.pretty.p-smooth.p-default input:checked + .state label:after {
  -webkit-animation: zoom .2s ease;
  animation: zoom .2s ease; }

.pretty.p-smooth.p-plain input:checked + .state label:before {
  content: '';
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all .5s ease;
  -o-transition: all .5s ease;
  transition: all .5s ease; }

.pretty.p-tada:not(.p-default) input:checked + .state .icon, .pretty.p-tada:not(.p-default) input:checked + .state .svg, .pretty.p-tada:not(.p-default) input:checked + .state img, .pretty.p-tada:not(.p-default) input:checked + .state label:after, .pretty.p-tada:not(.p-default) input:checked + .state label:before {
  -webkit-animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
  animation: tada 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1 alternate;
  opacity: 1; }

.pretty.p-jelly:not(.p-default) input:checked + .state .icon, .pretty.p-jelly:not(.p-default) input:checked + .state .svg, .pretty.p-jelly:not(.p-default) input:checked + .state img, .pretty.p-jelly:not(.p-default) input:checked + .state label:after, .pretty.p-jelly:not(.p-default) input:checked + .state label:before {
  -webkit-animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation: jelly 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1; }

.pretty.p-jelly:not(.p-default) input:checked + .state label:before {
  border-color: transparent; }

.pretty.p-rotate:not(.p-default) input:checked ~ .state .icon, .pretty.p-rotate:not(.p-default) input:checked ~ .state .svg, .pretty.p-rotate:not(.p-default) input:checked ~ .state img, .pretty.p-rotate:not(.p-default) input:checked ~ .state label:after, .pretty.p-rotate:not(.p-default) input:checked ~ .state label:before {
  -webkit-animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  animation: rotate 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  opacity: 1; }

.pretty.p-rotate:not(.p-default) input:checked ~ .state label:before {
  border-color: transparent; }

.pretty.p-pulse:not(.p-switch) input:checked ~ .state label:before {
  -webkit-animation: pulse 1s;
  animation: pulse 1s; }

.pretty input[disabled] {
  cursor: not-allowed;
  display: none; }

.pretty input[disabled] ~ * {
  opacity: .5; }

.pretty.p-locked input {
  display: none;
  cursor: not-allowed; }

.pretty input:checked ~ .state.p-primary label:after, .pretty.p-toggle .state.p-primary label:after {
  background-color: #428bca !important; }

.pretty input:checked ~ .state.p-primary .icon, .pretty input:checked ~ .state.p-primary .svg, .pretty.p-toggle .state.p-primary .icon, .pretty.p-toggle .state.p-primary .svg {
  color: #fff;
  stroke: #fff; }

.pretty input:checked ~ .state.p-primary-o label:before, .pretty.p-toggle .state.p-primary-o label:before {
  border-color: #428bca; }

.pretty input:checked ~ .state.p-primary-o label:after, .pretty.p-toggle .state.p-primary-o label:after {
  background-color: transparent; }

.pretty input:checked ~ .state.p-primary-o .icon, .pretty input:checked ~ .state.p-primary-o .svg, .pretty input:checked ~ .state.p-primary-o svg, .pretty.p-toggle .state.p-primary-o .icon, .pretty.p-toggle .state.p-primary-o .svg, .pretty.p-toggle .state.p-primary-o svg {
  color: #428bca;
  stroke: #428bca; }

.pretty.p-default:not(.p-fill) input:checked ~ .state.p-primary-o label:after {
  background-color: #428bca !important; }

.pretty.p-switch input:checked ~ .state.p-primary:before {
  border-color: #428bca; }

.pretty.p-switch.p-fill input:checked ~ .state.p-primary:before {
  background-color: #428bca !important; }

.pretty.p-switch.p-slim input:checked ~ .state.p-primary:before {
  border-color: #245682;
  background-color: #245682 !important; }

.pretty input:checked ~ .state.p-info label:after, .pretty.p-toggle .state.p-info label:after {
  background-color: #5bc0de !important; }

.pretty input:checked ~ .state.p-info .icon, .pretty input:checked ~ .state.p-info .svg, .pretty.p-toggle .state.p-info .icon, .pretty.p-toggle .state.p-info .svg {
  color: #fff;
  stroke: #fff; }

.pretty input:checked ~ .state.p-info-o label:before, .pretty.p-toggle .state.p-info-o label:before {
  border-color: #5bc0de; }

.pretty input:checked ~ .state.p-info-o label:after, .pretty.p-toggle .state.p-info-o label:after {
  background-color: transparent; }

.pretty input:checked ~ .state.p-info-o .icon, .pretty input:checked ~ .state.p-info-o .svg, .pretty input:checked ~ .state.p-info-o svg, .pretty.p-toggle .state.p-info-o .icon, .pretty.p-toggle .state.p-info-o .svg, .pretty.p-toggle .state.p-info-o svg {
  color: #5bc0de;
  stroke: #5bc0de; }

.pretty.p-default:not(.p-fill) input:checked ~ .state.p-info-o label:after {
  background-color: #5bc0de !important; }

.pretty.p-switch input:checked ~ .state.p-info:before {
  border-color: #5bc0de; }

.pretty.p-switch.p-fill input:checked ~ .state.p-info:before {
  background-color: #5bc0de !important; }

.pretty.p-switch.p-slim input:checked ~ .state.p-info:before {
  border-color: #2390b0;
  background-color: #2390b0 !important; }

.pretty input:checked ~ .state.p-success label:after, .pretty.p-toggle .state.p-success label:after {
  background-color: #5cb85c !important; }

.pretty input:checked ~ .state.p-success .icon, .pretty input:checked ~ .state.p-success .svg, .pretty.p-toggle .state.p-success .icon, .pretty.p-toggle .state.p-success .svg {
  color: #fff;
  stroke: #fff; }

.pretty input:checked ~ .state.p-success-o label:before, .pretty.p-toggle .state.p-success-o label:before {
  border-color: #5cb85c; }

.pretty input:checked ~ .state.p-success-o label:after, .pretty.p-toggle .state.p-success-o label:after {
  background-color: transparent; }

.pretty input:checked ~ .state.p-success-o .icon, .pretty input:checked ~ .state.p-success-o .svg, .pretty input:checked ~ .state.p-success-o svg, .pretty.p-toggle .state.p-success-o .icon, .pretty.p-toggle .state.p-success-o .svg, .pretty.p-toggle .state.p-success-o svg {
  color: #5cb85c;
  stroke: #5cb85c; }

.pretty.p-default:not(.p-fill) input:checked ~ .state.p-success-o label:after {
  background-color: #5cb85c !important; }

.pretty.p-switch input:checked ~ .state.p-success:before {
  border-color: #5cb85c; }

.pretty.p-switch.p-fill input:checked ~ .state.p-success:before {
  background-color: #5cb85c !important; }

.pretty.p-switch.p-slim input:checked ~ .state.p-success:before {
  border-color: #357935;
  background-color: #357935 !important; }

.pretty input:checked ~ .state.p-warning label:after, .pretty.p-toggle .state.p-warning label:after {
  background-color: #f0ad4e !important; }

.pretty input:checked ~ .state.p-warning .icon, .pretty input:checked ~ .state.p-warning .svg, .pretty.p-toggle .state.p-warning .icon, .pretty.p-toggle .state.p-warning .svg {
  color: #fff;
  stroke: #fff; }

.pretty input:checked ~ .state.p-warning-o label:before, .pretty.p-toggle .state.p-warning-o label:before {
  border-color: #f0ad4e; }

.pretty input:checked ~ .state.p-warning-o label:after, .pretty.p-toggle .state.p-warning-o label:after {
  background-color: transparent; }

.pretty input:checked ~ .state.p-warning-o .icon, .pretty input:checked ~ .state.p-warning-o .svg, .pretty input:checked ~ .state.p-warning-o svg, .pretty.p-toggle .state.p-warning-o .icon, .pretty.p-toggle .state.p-warning-o .svg, .pretty.p-toggle .state.p-warning-o svg {
  color: #f0ad4e;
  stroke: #f0ad4e; }

.pretty.p-default:not(.p-fill) input:checked ~ .state.p-warning-o label:after {
  background-color: #f0ad4e !important; }

.pretty.p-switch input:checked ~ .state.p-warning:before {
  border-color: #f0ad4e; }

.pretty.p-switch.p-fill input:checked ~ .state.p-warning:before {
  background-color: #f0ad4e !important; }

.pretty.p-switch.p-slim input:checked ~ .state.p-warning:before {
  border-color: #c77c11;
  background-color: #c77c11 !important; }

.pretty input:checked ~ .state.p-danger label:after, .pretty.p-toggle .state.p-danger label:after {
  background-color: #d9534f !important; }

.pretty input:checked ~ .state.p-danger .icon, .pretty input:checked ~ .state.p-danger .svg, .pretty.p-toggle .state.p-danger .icon, .pretty.p-toggle .state.p-danger .svg {
  color: #fff;
  stroke: #fff; }

.pretty input:checked ~ .state.p-danger-o label:before, .pretty.p-toggle .state.p-danger-o label:before {
  border-color: #d9534f; }

.pretty input:checked ~ .state.p-danger-o label:after, .pretty.p-toggle .state.p-danger-o label:after {
  background-color: transparent; }

.pretty input:checked ~ .state.p-danger-o .icon, .pretty input:checked ~ .state.p-danger-o .svg, .pretty input:checked ~ .state.p-danger-o svg, .pretty.p-toggle .state.p-danger-o .icon, .pretty.p-toggle .state.p-danger-o .svg, .pretty.p-toggle .state.p-danger-o svg {
  color: #d9534f;
  stroke: #d9534f; }

.pretty.p-default:not(.p-fill) input:checked ~ .state.p-danger-o label:after {
  background-color: #d9534f !important; }

.pretty.p-switch input:checked ~ .state.p-danger:before {
  border-color: #d9534f; }

.pretty.p-switch.p-fill input:checked ~ .state.p-danger:before {
  background-color: #d9534f !important; }

.pretty.p-switch.p-slim input:checked ~ .state.p-danger:before {
  border-color: #a02622;
  background-color: #a02622 !important; }

.pretty.p-bigger .icon, .pretty.p-bigger .img, .pretty.p-bigger .svg, .pretty.p-bigger label:after, .pretty.p-bigger label:before {
  font-size: 1.2em !important;
  top: calc((0% - (100% - 1em)) - 35%) !important; }

.pretty.p-bigger label {
  text-indent: 1.7em; }

@media print {
  .pretty .state .icon, .pretty .state label:after, .pretty .state label:before, .pretty .state:before {
    color-adjust: exact;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact; } }
