body {
	margin: 10px 0 0 0;
	padding: 0;
	background-color: #fff;
}

body, td {
	line-height: 1.4em;
}

form {
	margin: 0;
}

body, p, div, td, th, tr, form, ol, ul, li, input, textarea, select, a {
	color: #000;
	font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif;
	font-size: 14px;
}

/* To style invalid entries */
#member:invalid, #pin:invalid {
	outline: 2px solid red;
}
#member, #pin, #member:valid, #pin:valid, #member:placeholder-shown, #pin:placeholder-shown {
	outline: none;
}

a:link, a:visited, a.hover {
	color: #00f;
	font-weight: bold;
}

.platform-mac select {
	-webkit-appearance: none;
	border: 1px solid #aaa;
	border-radius: 5px;
	padding: 3px 4px;
	background-color: transparent;
}

#header {
	width: 100%;
	border-bottom: 1px solid #442C2C;
}

#header td {
	font-family: Georgia;
	vertical-align: bottom;
}

#header-left {
	font-size: 50px;
	line-height: 40px;
	padding-left: 5px;
	color: #3300CC;
	text-align: left;
}

@media all and (max-width: 420px) {
	#header-left img {
		max-width: 65vw;
	}
}

#header-left .checkmark {
	color: #B30000;
	font-size: 33px;
	font-weight: bold;
}

#header-right {
	text-align: right;
	/* color: #9A3636; */
	color: #3300CC;
	padding-right: 5px;
	font-size: 20px;
	font-style: italic;
}

#banner-image {
	background-image: url(/images/flag.jpg);
	background-repeat: no-repeat;
	background-position: right;
	height: 155px;
	display: block;
	margin: 0 0 0 auto;
	text-align: left;
	font-size: 20pt;
	font-weight: bold;
	color: #000;
	padding: 10px 0 0 10px;
	text-align: center;
}

#banner-image h1 {
	font-size: 20pt;
	line-height: 1.1em;
	/* background-color: rgba(255,255,255,0.8); */
	background-color: #fff;
	display: inline-block;
	padding: 0 5px;
	text-wrap: balance;

  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
	border-radius: 6px;
}

#instructions {
	text-align: left;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 1em;
}

#instructions center {
	font-size: 1.2em;
}

#steps h1 {
	display: inline;
	font-size: 1.2em;
}

#login-table td {
	text-align: left;
	padding-right: 1em;
}

#login-table td#logon-button-wrapper {
	text-align: center;
}

article#content {
	text-align: left;
	padding: 0 1em;
}

#content {
  text-align: center;
  background-color: #fff;
	max-width: 1200px;
	margin: 0 auto;
}

#voting-list input[type=checkbox], #voting-list nobr b label, #voting-list label img, #voting-list .bio-text label, #voting-list label.radio {
	cursor: pointer;
}

#voting-list.proxy-only nobr b label, #voting-list.proxy-only .bio-text label {
	cursor: default;
}

#footer-area {
	width: 100%;
	border-top: 1px solid #442C2C;
	margin-top: 20px;
}

#brought2u {
	font-style: italic;
	font-size: 9pt;
	color: #000;
	font-weight: bold;
	font-family: Times;
	padding-left: 1em;
}

#footer-contact {
	text-align: left;
	font-size: 11px;
}

#footer-contact a {
	font-size: 11px;
}

#copyright {
	font-size: 11px;
	text-align: right;
}

#copyright a {
	font-size: 11px;
}

#espace, #espace-2020 {
	width: 52px;
}

#espace a, #espace-2020 a {
	display: block;
  width: 36px;
	height: 36px;
	margin-top: 6px;
	color: #fff !important;
	background-color: #000;
  -webkit-border-radius: 18px;
  -moz-border-radius: 18px;
	border-radius: 18px;
	font-size: 26px;
	text-align: center;
	line-height: 36px;
	text-decoration: none;
	font-style: italic;
	font-family: Times;
	font-weight: bold;
	float: right;
}

.coop-election #espace a, #espace-2020 a {
	background-color: white;
}

.login-help {
	font-size: 8pt;
	font-style: italic;
}

sup {
	font-size: 0.5em;
}

.logon-page label {
	font-weight: bold;
}

.vote-page th, #bios-list th {
	font-size: 1.2em;
}

.submit-page ul {
	margin: 14px 0;
}

.submit-page li {
	font-size: 1.4em;
	line-height: 1.4em;
	list-style: none;
}

.submit-page li:before {
	content: "\2713\0020";
	font-weight: bold;
	color: #00f;
}

.submit-instructions {
	max-width: 70%;
	margin: 0 auto;
}

.submit-instructions br {
	display: none;
}

.done-page h2 {
	line-height: 1.4em;
}

/*
.bio-text label {
	max-height: 10em;
	overflow: auto;
	display: inline-block;
}
*/

.bios-page #bios-list td {
	text-align: left;
}

#voting-list .candidate-name, #voting-list .bio-text {
	text-align: left;
}

#voting-list nobr, #bios-list nobr {
	font-size: 1.1em;
}

#voting-list img, #bios-list img {
	margin-right: 1em;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
	border-radius: 5px;
	box-shadow: 3px 3px 6px #aaa;
}

/* Custom checkbox styling */
#voting-list input, .voting-list input {
  display: none;
}

#voting-list label.alt-checkbox, .voting-list label.alt-checkbox {
  width: 30px;
  height: 30px;
  font-size: 26px;
  line-height: 30px;
  
  cursor: pointer;
  display: inline-block;
  border: 1px solid #aaa;
  
  color: #00f;
  text-align: center;
  font-weight: bold;

  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;

  background: #eee;
  background: -webkit-linear-gradient(#f4f4f4 0%, #eeeeee 100%);
  background: -moz-linear-gradient(#f4f4f4 0%, #eeeeee 100%);
  background: -o-linear-gradient(#f4f4f4 0%, #eeeeee 100%);
  background: linear-gradient(#f4f4f4 0%, #eeeeee 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f4f4', endColorstr='#eeeeee',GradientType=0 );
}

#voting-list label.alt-checkbox:after, .voting-list label.alt-checkbox:after {
  content: "\00a0";
}

#voting-list input:checked + label:after, .voting-list input:checked + label:after {
  content: "\2713";
}

/* Write-in */
#voting-list input#newcandidate, #voting-list .write-in input {
	display: block;
	width: 270px;
}

/* For browsers that don't support fancy checkboxes like this */
.browser-ie7 #voting-list input, .ios5 #voting-list input {
  display: block;
}

.browser-ie7 #voting-list label.alt-checkbox, .ios5 #voting-list label.alt-checkbox {
	display: none;
}

input[type=submit], input[type=text], input[type=number], input[type=password], button {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
	border-radius: 4px;
  border: 1px solid #888;
}

input[type=text], input[type=password], input[type=number] {
	padding: 2px 4px;
}

/* Number inputs are larger?!? */
input[type=number] {
	width: 8.75em;
}

/* Hide number spinner on Chrome */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Hide number spinner on Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

input[type=submit], button {
	background-color: #eee;
	background-image: linear-gradient(to bottom, #f4f4f4, #eee);
	box-shadow: 1px 1px 2px #aaa;
	cursor: pointer;
	margin: 1em 0.3em 0 0.3em;
	font-size: 1.1em;
	padding: 4px 6px;
}

input[type=submit]:hover, button:hover {
	border: 1px solid #838a90;
}

input[type=submit]:active, button:active {
	position: relative;
	top: 1px;
	left: 1px;
	box-shadow: none;
}

/* Custom mobile date UI */
.date-wrapper {
	border: 1px solid #aaa;
	border-radius: 2px;
	padding: 2px 2px 5px 2px;
}

.date-wrapper input {
	border: 0;
	text-align: center !important;
	width: 1.9em;
  -moz-appearance: textfield;
}

.date-wrapper input::-webkit-outer-spin-button, .date-wrapper input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.date-wrapper input:last-child {
	width: 2.9em;
}


@media all and (min-width: 0px) and (max-width: 767px) {
	#screen-size:before {
		content: "0-767";
	}

	body {
		margin: 0;
		padding: 0;
	}

	body, p, div, td, th, tr, form, ol, ul, li, input, textarea, select, a {
		/* color: #339; */
		font-family: Verdana,Tahoma,Arial,Helvetica,sans-serif;
		/* font-size: 12px; */
	}

	body {
		text-align: center;
	}

	#header {
		width: 100%;
		border-bottom: 1px solid #442C2C;
	}

	#header td {
		font-family: Georgia;
		vertical-align: bottom;
	}

	#header-left {
		font-size: 20px;
		padding-left: 5px;
	}

	#header-left .checkmark {
		font-size: 18px;
	}
	
	#header-right {
		text-align: right;
		padding-right: 5px;
		font-size: 10px;
		font-style: italic;
	}

	a:link, a:visited, a.hover {
		/* color: #933; */
		font-weight: bold;
	}

	#banner-image {
		background-image: none;
		height: auto;
		text-align: left;
		font-size: 22px;
		font-weight: bold;
		color: #000;
		padding: 0;
		margin: 10px 0 0 0;
	}

	#banner-image h1 {
		padding: 0;
		margin: 0;
	}
	
	#instructions {
		text-align: left;
		/* font-size: 12px; */
		padding: 0 10px 10px 10px;
		width: auto;
	}

	#steps {
		display: none;
	}

	#content {
  	text-align: center;
	  background-color: #fff;
		width: 100%;
	}

	#footer-area {
		width: 100%;
		border-top: 1px solid #442C2C;
		margin-top: 10px;
	}

	#footer-area td {
		padding: 5px;
	}

	#brought2u {
		font-style: italic;
		font-size: 9pt;
		color: #000;
		font-weight: bold;
		font-family: Times;
		padding-left: 0;
	}

	#copyright {
		font-size: 10px;
		text-align: right;
	}

	#copyright a {
		font-size: 10px;
	}

	#espace, #espace-2020 {
		width: 0;
		padding: 0 !important;
	}

	#espace a, #espace-2020 a {
/*
	display: block;
	width: 40px;
	height: 40px;
	background-image: url(/images/espace.gif);
*/
		display: none;
	}

	.login-help {
		font-size: 10px;
		font-style: italic;
	}
}

/* Hide LastPass icons */
div[data-lastpass-icon-root="true"] {
  display: none;
}
