﻿/* Elections pages */
/* Page wrappers  */
.page_elections {
  padding: 0;
}
/* Headings */
.page_elections h2 {
  border-bottom: 1px solid #ccc;
}
/* Page header */
.election-details {
  margin: 10px 0;
}
.election-details .msl-election-desc {
  padding: 10px 15px;
  border: none;
  font-size: 1.2em;
  background: #ddd;
  margin: 0 0 1px;
}
.election-navigation {
  margin: 1rem 0;
  padding:0;
  list-style:none;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.election-navigation li {
  width: 100%;
  flex-grow:1;
}
.election-navigation li + li {
  margin-top: .5rem;
}
.election-navigation li a {
  display: flex;
  padding: .5rem;
}
@media all and (min-width:768px) {
  .election-navigation {
    flex-direction: row;
  }
  .election-navigation li + li {
    margin-top: 0;
    margin-left: 0.5rem;
  }
}
.election-navigation a.msl-icon:before {
  background: #0d6efd;
}
.election-navigation a.msl-icon.current:before,
.election-navigation a.msl-icon:hover:before {
  background: #fff;
}
.election-navigation a[disabled] {
  background-color:#eee;
  color:#aaa;
  border-color: #aaa;
  text-decoration: none;
}
.election-navigation a.msl-icon[disabled]:before {
  background: #aaa;
}
.election-navigation a.button[disabled]:hover {
  background-color:#eee;
  color:#aaa;
  cursor:not-allowed;
  border-color: #aaa;
}

/* Post list */
.post_sd,
.msl-post-description {
  padding: 8px 15px;
  background:#f4f4f0;
  border-left: 5px solid #fc0;
  margin: 0 0 10px;
}
.post_description {
  padding: 10px 0px;
  border-bottom: 1px solid #eee;
}
@media all and (min-width:768px) {
  .post_description {
    padding: 10px 20px;
  }
}
a.totop {
  display: block;
  margin: 10px 0 30px;
}
/* Candidate list */
#election_candidates h2 {
}
ul.msl-candidates {
  padding: 0;
  margin:10px 0;
  list-style:none;
  border-bottom: 1px solid #ccc;
}
ul.msl-candidates li {
  padding: 12px;
  border-top: 1px solid #eee;
  position:relative;
  clear:left;
}
ul.msl-candidates li:before {
  content: "";
  display: table;
}
.fptp_ballot ul.msl-candidates li {
  background: #fff;
}
.fptp_ballot ul.msl-candidates li a:hover {
  cursor: pointer;
  background: #eee;
}
.fptp_ballot ul.msl-candidates li > a:after {
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  content: "";
}
.fptp_ballot ul.msl-candidates li > a:before {
  content: "";
  position: absolute;
  height: 2rem;
  width: 2rem;
  background: url(../../images/Elections/square-regular.svg) no-repeat 50% transparent;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
}
.fptp_ballot ul.msl-candidates li a:hover:before,
.fptp_ballot ul.msl-candidates li > a:focus:before {
  background-image: url(../../images/Elections/square-check-regular.svg);
}
.fptp_ballot .reviewballot .preference {
  display: none;
}
.fptp_ballot .reviewballot ul.msl-candidates li:before {
  content: "";
  position: absolute;
  height: 2rem;
  width: 2rem;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../../images/Elections/square-check-solid.svg) no-repeat 50% transparent;
}
ul.msl-candidates li:after {
  content: "";
  display: table;
  clear:both;
}
ul.msl-candidates h3 {
  font-size:1.2em;
}
a.msl-candidate-image {
  float:left;
  margin: 0 10px 5px 0;
  width:50px;
  height:50px;
  overflow:hidden;
}
ul.msl-candidates li img {
  width:50px;
  height:50px;
  float:left;
}
ul.msl-candidates li .candidate-details {
  float:left;
  padding: 0 5px;
  margin-left: 5px;
}
.fptp_ballot li .candidate-details p a {
  font-weight: bold;
  text-decoration: none;
}
.fptp_ballot li .candidate-details p a+a {
  display: inline-block;
  font-weight: normal;
  z-index: 100;
  position: relative;
  background: #000;
  color: #fff;
  padding: 0.35rem 0.65rem;
  border-radius: 3px;
  text-decoration: none;
  font-size: 0.8rem;
  transition: 0.2s ease all;
  border: 2px solid transparent;
}
.fptp_ballot li .candidate-details p a+a:hover {
  background: #337ab7;
  border-color: rgba(25,60,100,0.5);
  transform: translateY(2px);
}
.fptp_ballot .candidate-details p a:after {
  display: block;
  content: "";
}
.fptp_ballot .candidate-details p a+a:after {
  display: none;
}
ul.msl-candidates p {
  margin: 0 0 5px;
  font-size: 120%;
  font-weight: bold
}
ul.msl-candidates p.slogan {
  margin:0;
  font-size:100%;
  font-weight:normal
}
ul.msl-candidates span.slate {
  margin:0;
  font-size:90%;
  font-weight:normal
}
ul.msl-candidates span.slate:before {
  content:'(';
  display:inline;
}
ul.msl-candidates span.slate:after {
  content:')';
  display:inline;
}
.msl-candidate-slate:before {
  content:'(';
  display:inline;
}
.msl-candidate-slate:after {
  content:')';
  display:inline;
}
ul.msl-candidates p a {
  font-size: 90%;
  font-weight:normal;
}
.nomanifesto {
  font-size: 85%;
  color: #333;
}
/* Review */

.post_provisional,
.post_awaiting {
  color: #f60;
}
.post_approved,
.post_paid,
.form_received {
  color:#090;
}
#election_review ul {
  list-style:none;
  padding-left:0;
  margin:5px 0;
}
.msl-post-group {
  padding: 5px 5px 5px 32px;
  border: none;
  font-size: 1.2em;
  background: url(../../images/elections/post-group.png) 0px 50% no-repeat;
  margin: 0 0 1px;
}
/* Candidacy */
#election_candidacy ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#election_candidacy li {
  margin: 0;
  padding: 0.3em;
}
/* Stand */
#election_stand ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#election_stand li {
  list-style: none;
  padding: 0.3em;
  margin: 0;
  border-bottom: 1px dotted #ccc;
}
#election_stand li a {
  margin: 0 0.5em;
}
#election_stand li a.toggle {
  font-size: 85%;
}
#election_stand ul.election_requirement_list {
  margin: 1em;
}
#election_stand ul.election_requirement_list li {
  margin: 1em;
  border: 0;
}
/* Nominations */
.msl-post-group + .msl-post-description {
  margin-top:10px;
}
/* Print Jobs */
.msl_admin_page .showhidelink {
  margin: 10px 0;
  padding: 15px;
}
.budget .total-budget {
  margin-right: 10px;
}
.budget .remaining-budget {
  font-weight:bold;
}
/* Self definition groups */
#election_profile input[type="checkbox"] {
  margin: 0 5px 5px 0;
}
/* Manifesto */
.manifesto_photo {
  display:block;
  margin: 0 auto 20px;
}
.manifesto-candidate-slogan {
  font-size: 1.2em;
  padding: 10px 15px;
  background: #eee;
}
@media all and (min-width:768px) {
  .msl-candidate-details {
    position: relative;
    padding-left: 220px;
    min-height: 200px;
  }
  .manifesto_photo {
    position:absolute;
    top:0;
    left:0;
    margin:0;
  }
}
/* Vote */
a.votenow,
input.votenow,
input.backtoballot {
  display: block;
  background: #AD0;
  color: #222;
  text-align: center;
  padding: 10px 15px;
  border: 1px solid #8A0;
  font-size: 1.2em;
  margin: 20px 0;
}
a.votenow:hover,
input.votenow:hover {
  text-decoration: none;
  background: #CF0;
}
@media all and (min-width:768px) {
  a.votenow,
  input.votenow {
    min-width:200px;
    margin: 30px auto;
  }
}
#election_vote h3 {
  margin-bottom: 0;
}
/* unqualified list has two divs */
#election_vote > div > ul,
#election_vote > div > div > ul,
.front-page-slates {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
#election_vote > div > ul > li,
#election_vote > div > div > ul > li,
.front-page-slates li {
  padding: 10px;
  border-bottom: 1px solid #eee;
}
.canvote li a,
.front-page-slates li a {
  display: block;
  font-size: 1.2em;
}
.post_voted {
  margin-left: 5px;
  padding: 3px 5px;
  background: #f7f7f9;
  border: 1px solid #ddd;
  font-size: 0.9em;
  border-radius: 3px;
}
/* Agreement */
.tac input[type="checkbox"] {
  margin: 0 5px 0 0;
}
.tac label {
  margin: 0;
}
/* Ballot */
#ballot_rubric,
.reviewballot > p {
  padding: 15px 20px;
  background: #ffc;
  margin: 10px 0;
  border: 1px solid #fc0;
}
.abstain p {
  border: 1px solid #6af;
  background: url(../../images/interface/information.png) no-repeat 15px 50% #def;
  padding: 15px 20px 15px 40px;
  margin: 10px 0;
}
#preferences li,
.reviewballot ul li {
  position:relative;
  padding-left: 4em;
  min-height:5em;
}
#preferences li img,
.reviewballot ul li img {
  display:none;
}
input.prefbox {
  width: 3em;
  text-align: center;
  font-size: large;
  font-weight: bold;
  border: 1px solid #000;
  padding: 0.5em 0;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 50%;
  line-height: 1;
  margin: -1.25em 0 0;
}
.reviewballot li .preference {
  position: absolute;
  left: 0;
  top: 50%;
  margin: -0.5em 0 0;
  font-size: 2em;
  width: 1.5em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
@media all and (min-width:600px) {
  #preferences li {
    padding-left: 5em;
  }
  #preferences li img,
  .reviewballot ul li img {
    display:block;
  }
}
.election_ballot_submit {
  text-align:center;
}
input.votenow,
input.backtoballot {
  display:inline-block;
  margin: 10px 0;
}
input.votenow {
  margin-left:20px;
}
input.backtoballot {
  background:#333;
  color:#eee;
  border:1px solid #000;
}
input.backtoballot:hover {
  background: #111;
  color:#fff;
}
.ballot_nav {
  text-align:center;
  padding: 10px 15px;
}
.ballot_nav > * {
  display: inline-block;
}
.ballot_nav select {
  padding:7px;
}
.reviewballot + .ballot_nav {
  display:none;
}

/* Form elements */
#election_review .vpForm > .vpFormPair,
.budget,
.ballot_nav {
  margin: 0.5rem 0;
  padding: 0.65rem 1rem;
  background: #f7f7f9;
  border: 1px solid #e1e1e8;
  border-radius: 3px;
}
#election_review .vpFormPair .title {
  font-weight: bold;
  margin-right: 0.35rem;
}

/* Requirements errors*/

.election_requirement_list {
  margin: 5px 0 0;
  padding:0;
  list-style:none;
}
.election_requirement_list li {
  margin:0 0 2px;
  padding:0 0 0 18px;
}

.election_requirement_list .msl-exclude-placeholder {
  margin:5px 0;
  display:block;
}
[class^="novote"] .error span,
.election_requirement_list span {
  color: #222;
}
/* General errors and notifications */
.election_page .back {
  padding: 6px 10px 5px 26px;
  background-position: 5px 50%;
  margin: 5px 0 10px;
}
