﻿/* 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;
}
.msl-election-stage {
	background: url(../../images/elections/clock.png) 8px 50% no-repeat #eee;
	padding: 8px 15px 8px 34px;
}
.election-navigation {
	margin:10px 0 0;
	padding:0;
	list-style:none;
}
.election-navigation:before, .election-navigation:after {
	display: table;
	content: " ";
}
.election-navigation:after {
	clear: both;
}
.election-navigation li {
	margin: 0;
	box-sizing:border-box;
}
@media all and (min-width:600px) {
.election-navigation {
	margin:10px -5px 0;
}
.election-navigation li {
	padding:0 5px;
	float:left;
	margin-bottom: 10px;
}
}
@media all and (min-width:992px) {
    .election-navigation li {
        width: 16%;
    }

    .election-navigation.has-home li {
        width: 16.66%;
    }
}
.election-navigation a {
	padding: 8px 15px 8px 34px;
	background:url(../../images/elections/icons-sprite.png) top left no-repeat #eee;
	display:block;
	color:#333;
	transition: 0.1s all ease-in;
	-webkit-transition: 0.2s all ease-in;
}
.election-navigation a#homelink {
	background-position:-2px -644px;
}
.election-navigation a#homelink:hover {
	background-position:-2px -604px;
}
@media all and (min-width:600px) {
.election-navigation a {
 border-bottom: 5px solid #fff;
}
}
.election-navigation a:hover, .election-navigation a.current {
	background-color:#ffc;
	color:#000;
	text-decoration:none;
}
.election-navigation a.current {
	border-left: 5px solid #fc0;
}
 @media all and (min-width:600px) {
.election-navigation a.current {
	border-left: none;
	border-color: #fc0;
}
}
.election-navigation a[disabled] {
	background-color:#eee;
	color:#aaa;
}
.election-navigation a[disabled]:hover {
	background-color:#eee;
	color:#aaa;
	cursor:not-allowed;
}
.election-navigation a.posts.current, .election-navigation a.posts:hover {
	background-position: -2px -2px;
}
.election-navigation a.posts {
	background-position: -2px -42px;
}
.election-navigation a[disabled].posts {
	background-position: -2px -82px;
}
.election-navigation a.candidates.current, .election-navigation a.candidates:hover {
	background-position: -2px -122px;
}
.election-navigation a.candidates {
	background-position: -2px -162px;
}
.election-navigation a[disabled].candidates {
	background-position: -2px -202px;
}
.election-navigation a.nominations.current, .election-navigation a.nominations:hover {
	background-position: -2px -242px;
}
.election-navigation a.nominations {
	background-position: -2px -282px;
}
.election-navigation a[disabled].nominations {
	background-position: -2px -322px;
}
.election-navigation a.profile.current, .election-navigation a.profile:hover {
	background-position: -2px -362px;
}
.election-navigation a.profile {
	background-position: -2px -402px;
}
.election-navigation a[disabled].profile {
	background-position: -2px -442px;
}
.election-navigation a.vote.current, .election-navigation a.vote:hover {
	background-position: -2px -482px;
}
.election-navigation a.vote {
	background-position: -2px -522px;
}
.election-navigation a[disabled].vote {
	background-position: -2px -562px;
}
/* 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_disqualified, .post_unpaid, .form_notreceived {
	color: #c00;
	padding: 0 0 0 18px;
	display: inline-block;
	background: transparent url(../../images/icons/16/warning.gif) no-repeat 0 50%;
}
.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;
}
#election_ballot .error {
	display: block;
	background-color: #fca;
	padding: 13px 18px 13px 36px;
	color: #000;
	border: 1px solid #c00;
	font-size: 1.2em;
	background-position: 12px 50%;
}
.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 */

input.button, .page_printjobs .vp_form input.button {
	font-size:100%;
	padding: 7px 20px;
	background:#eee;
	margin: 10px 10px 10px 0;
}
.vp_form fieldset {
	margin:0;
	padding:10px;
	border:none;
}
.vp_form fieldset legend {
	margin: 0 0 -5px;
	padding: 10px 0 0;
	border: none;
	font-style: normal;
	font-weight: normal;
	background: none;
	color: #333;
	font-size: 1.2em;
}
.vpForm > .vpFormPair, .vp_form > .vpFormPair, .tac, .vp_form > fieldset, .vpForm > fieldset, .budget, .ballot_nav {
	margin: 10px 0;
	padding: 20px 20px;
	background: #f7f7f9;
	border: 1px solid #e1e1e8;
}
.vp_form > fieldset {
	margin-bottom: 20px;
}
.vp_form > fieldset > legend, .page_printjobs .vp_form > fieldset > legend {
	background: #ccc;
	padding: 5px 10px;
}
.vpForm label, .vpForm input, .vpForm a, .vp_form label, .vp_form input, .vp_form a {
	display:block;
}
.vpForm .form_hint a, .vp_form .form_hint a {
	display:inline;
}
.vpForm input.textbox, .vp_form input.textbox {
	font-size:100%;
	padding:5px;
}
.vpForm select, .vp_form select {
	padding: 5px;
	margin: 0 0 5px;
}
 @media all and (min-width:600px) {
}
@media all and (min-width:768px) {
.vpForm label, .vpForm input, .vpForm a, .vp_form label, .vp_form input, .vp_form a {
	display:inline-block;
}
.vpForm label, .vp_form label {
	margin: 0 10px 0 0;
	min-width: 8em;
}
.vpForm select, .vp_form select {
	margin: 0 10px 15px 0;
}
.vp_form.popup select {
	margin: 0 10px 5px 0;
}
.vpForm input.textbox, .vp_form input.textbox {
	margin-bottom: 10px;
}
}
.vpForm span.title, .vpForm label.title, .vp_form span.title, .vp_form label.title {
	position: static;
	width: auto;
	padding: 0;
	text-align: left;
	color: #333;
	font-style: normal;
	border-top: none;
}
.vpForm label.title, .vp_form label.title {
	display:inline-block;
}
.vpForm .vpFormSubmit, .vp_form .vpFormSubmit {
	border:none;
	background: none;
	padding:0;
	margin: 10px 20px;
}
/* Requirements errors*/

.vpForm .error, [class^="novote"] .error {
	padding: 10px 10px 10px 40px;
	background-position: 15px 50%;
	border: 1px solid #c60;
	margin: 10px 0 0;
}
.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 li.qualify {
	display: inline-block; min-height: 16px;
	background: transparent url(../../images/icons/16/qualify.gif) no-repeat 0 0;
}

.election_requirement_list li.noqualify {
	display: inline-block; min-height: 16px;
	background: transparent url(../../images/icons/16/noqualify.gif) no-repeat 0 0;
}
.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;
}
.msl_notification {
	padding: 10px;
	border: 1px solid #fc0;
}
.msl_notification .msl_warning {
	border:none;
}