/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* end CSS reset */

div.firstvote-page_title {
	/* font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif; */
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: bold;
	font-size: 2.3em;
	letter-spacing: 0.1em;
	color: #003479;
	margin: 0px;
	padding: 15px 0 15px 0;
}

span.page_title_small_caps {
	font-size: 0.8em;
	font-weight: normal;
}

div.subcontent_title,
div.form_field_title,
h2 {
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.75em;
	color: #003479;
	margin: 0px;
	padding-bottom: 0.5em;
}

h2 {
	font-weight: normal;
	line-height: 1.25em;
	padding-top: 0.5em;
}

div.subcontent_subtitle,
h3 {
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: normal;
	font-size: 1.25em;
	line-height: 1.5em;
	color: #003479;
	margin: 0px;
	padding-bottom: 1em;
}

.firstvote-content a,
.firstvote-content span.aspan {
	color: #003479;
	text-decoration: none;
}

.firstvote-content a:hover,
.firstvote-content span.aspan:hover {
	color: #cccccc;
	cursor: pointer;
}

.firstvote-content a.read_more {
	color: #e57200;
}

.firstvote-content a.read_more:hover {
	color: #cccccc;
}

.firstvote-content a.foot-note-link {
	color: #005990;
	font-size: 0.6em;
	line-height: 1em;
	vertical-align: super;
}

.firstvote-content a.foot-note-link:hover {
	color: #cccccc;
}

.firstvote-content {
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.firstvote-content p,
.firstvote-content blockquote {
	font-size: 1em;
	line-height: 1.5em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	color: #333333;
}

.firstvote-content div.center_text,
.firstvote-content span.center_text {
	text-align: center;
}

.firstvote-content div.left_text,
.firstvote-content span.left_text {
	text-align: left;
}

.firstvote-content div.right_text,
.firstvote-content span.right_text {
	text-align: right;
}

div.narrow-blue-dot-spacer {
	width:100%;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
}

div.narrow-blue-dot-spacer span {
	font-size: 2.40em;
	letter-spacing: 0.1em;
	color: #003479;
	white-space: nowrap;
}

div.line-spacer {
	width: 100%;
	height: 2px;
	background-color: #afafaf;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

div.footnotes {
	width: 80%;
	padding-top: 40px;
}

p.foot-note {
	font-size: 0.8em;
}

em {
	font-style: italic;
}

sup {
	vertical-align: super;
	font-size: 0.8rem;
	line-height: 0.4rem;
}

strong {
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

ul.subcontent_list {
	margin: 0 0 0 20px;
}

ul.subcontent_list li {
	font-size: 1em;
	line-height: 1.5em;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	color: #333333;
}

/* --------------- Layout --------------- */

div#all-content {
	padding: 0;
	margin: 0;
	width: 100%
}

div#header-content,
div#main-content,
div#footer-content {
	width: 100%;
}

div#main-menu,
div#logo,
div#firstvote-content-wrapper {
	width: 96%;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

div#header-top {
	width: 100%;
	height: auto;
	overflow: visible;
	background-color: #003479;
}

div#header-bottom {
	width: 100%;
	height: auto;
	overflow: visible;
	background-color: #ffcb4f;
	border-bottom: solid 2px #ffffff;
	border-top: solid 2px #ffffff;
}

div.firstvote-content {
	display: table;
	width: 100%;
}

div.firstvote-subcontent {
	display: table-row;
}

div.firstvote-subcontent-left,
div.firstvote-subcontent-right,
div.firstvote-subcontent-center {
	display: table-cell;
	vertical-align: top;
}

div.firstvote-subcontent-left {
	width: 33.33%;
	padding-right: 2%;
	padding-left: 0px;
	padding-bottom: 10px;
	padding-top: 10px;
}

div.firstvote-subcontent-right {
	width: 66.66%;
	padding-left: 2%;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-top: 10px;
}

div.firstvote-subcontent div.timeline {
	border-left: solid 2px #000000;
}

div.firstvote-subcontent div.leftline {
	border-left: solid 2px #afafaf;
}

div.firstvote-subcontent div.rightline {
	border-right: solid 2px #afafaf;
}

div.firstvote-subcontent div.topline {
	border-top: solid 2px #afafaf;
}

div.firstvote-subcontent div.bottomline {
	border-bottom: solid 2px #afafaf;
}

div.vertmid {
	vertical-align: middle;
}

div.firstvote-subcontent-center {
	width: 99.99%;
}

div.firstvote-subcontent-left-image-wrapper {
	position: relative;
	width: 100%;
	margin-top: 1.0rem;
	margin-bottom: 1.5rem;
}

img.firstvote-subcontent-left-image {
	width: 100%;
	padding: 0px;
	margin: 0px;
}

div.firstvote-subcontent-left-image-text p {
	font-size: 0.80em;
	color: #666666;
}

div.firstvote-subcontent-center-image-wrapper {
	position: relative;
	width: 100%;
}

img.firstvote-subcontent-center-image {
	width: 100%;
	padding: 0px;
	margin: 0px;
}

div.firstvote-subcontent-center-image-text {
	font-size: 0.90em;
	margin-top: 0.5em;
}

/* --------------- Header --------------- */

div#logo {
	padding-top: 10px;
	background-color: #003479;
}

div#logo img.logo_image {
	width: 100%;
}

/* --------------- Main Menu --------------- */

div#main-menu {
	background: #ffcb4f;
}

div#main-menu::after {
	content: "";
	clear: both;
	display: table;
}

ul#main-menu-links {
	margin: 0;
	padding: 0 15px;
	background: #ffcb4f;
	float: right;
	position: relative;
}

ul#main-menu-links li {
	display: block;
	float: left;
	list-style: none;
	padding: 0 1px;
	margin: 0 1px;
	position: relative;
	/* border-right: solid 2px #000000; */
}

ul#main-menu-links li.last-item {
	/* border-right: none; */
}

ul#main-menu-links li.bullet-link::before {
	content: "";
	background: #000000;
	position: absolute;
	bottom: 25%;
	left: 0;
	height: 50%;
	width: 1px;
}

ul#main-menu-links a {
	float: left;
	color: #000000;
	background: #ffcb4f;
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-style: normal;
	font-weight: normal;
	/* text-transform: uppercase; */
	font-size: 1.0em;
	line-height: 2.4em;
	letter-spacing: 0.075em;
	padding: 0 0.6em;
	text-decoration: none;
}

ul#main-menu-links li a:hover,
ul#main-menu-links li a:focus {
	color: #ffffff;
	background: #ffcb4f;
}

ul#main-menu-links li a:active {
	color: #003479;
	background: #ffcb4f;
}

ul#main-menu-links li:hover > ul, ul#main-menu-links li ul:hover {
	visibility: visible;
	display: block;
}

ul#main-menu-links li ul {
	visibility: hidden;
	position: absolute;
	display: none;
	min-width: 40px;
	top: 2.4em;
	left: -5px;
	z-index: 999;
}

ul#main-menu-links li ul li {
	display: block;
	clear: both;
	width: 100%;
	white-space: nowrap;
	background: #003479;
	border-bottom: solid 1px #ffffff;
	border-right: none; 
}

ul#main-menu-links li ul li.first-item {
	border-top: solid 2px #ffffff;
}

ul#main-menu-links li ul li a {
	color: #ffffff;
	background: #003479;
	font-weight: normal;
	font-style: normal;
	text-transform: none;
}

ul#main-menu-links li ul li a:hover,
ul#main-menu-links li ul li a:focus {
	color: #cccccc;
	background: #003479;
	font-weight: normal;
	font-style: normal;
	text-transform: none;
	
}

ul#main-menu-links li ul li a:active {
	color: #ffffff;
	background: #003479;
	font-weight: normal;
	font-style: normal;
	text-transform: none;
}

/* --------------- Footer --------------- */

div#firstvote-footer-wrapper {
	border-top: solid 2px #000000;
	margin-top: 20px;
	background-color: #ffffff;
}

div#footer-top, 
div#footer-bottom-wrapper {
	width: 96%;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
}

#footer-top,
#footer-top-wrapper,
#footer-top-wrapper-wrapper {
	color: #ffffff;
	background-color: #003479;
}

#footer-bottom,
#footer-bottom-wrapper,
#footer-bottom-wrapper-wrapper {
	color: #000000;
	background-color: #ffffff;
}

#footer {
}

#footer-top-wrapper-wrapper,
#footer-bottom-wrapper-wrapper {
}

#footer-top-wrapper,
#footer-bottom-wrapper {
}

#footer-top {
	margin-bottom: 0px;
}

#footer-bottom {
	display: table-row;
}

#footer-top-left,
#footer-top-middle,
#footer-top-right {
	display: inline-block;
	width: 33%;
}

#footer-bottom-left,
#footer-bottom-middle,
#footer-bottom-right {
	display: table-cell;
	width: 33%;
}

#footer-top {
	padding: 0px;
	white-space: nowrap;
}

#footer-top a {
	color: #ffffff;
	text-decoration: none;
}

#footer-bottom a {
	color: #000000;
	text-decoration: none;
}

#footer-top a:hover, #footer-bottom a:hover {
	color: #cccccc;
	text-decoration: none;
}

#footer-top-left {
	vertical-align: middle;
}

#footer-top-middle {
	vertical-align: middle;
	border-right: solid 1px #a9c0e1;
	border-left: solid 1px #a9c0e1;
}

#footer-top-right {
	vertical-align: middle;
}

#footer div#footer-uva-iath {
	vertical-align: middle;
	width: 33%;
	white-space: nowrap;
}

#footer img#footer-uva {
	display: inline;
	vertical-align: middle;
	width: 100%;
	max-width: 102px;
	margin-left: 10px;
}

#footer img#footer-iath {
	display: inline;
	vertical-align: middle;
	width: 100%;
	max-width: 102px;
}

#footer span#footer-uva-iath-line {
	display: inline-block;
	width: 1px;
	height: 1.66em;
	border-right: solid 1px #a9c0e1;
	vertical-align: middle;
}

#footer div#footer-contact {
	font-size: 1em;
	margin-left: 10px;
}

#footer div#footer-last_modified {
	font-size: 0.75em;
	margin-left: 10px;
}

#footer div#footer-last_modified div {
	white-space: normal;
}

#footer-bottom {
	font-size: 0.9em;
	line-height: 1em;
}

#footer-bottom-left {
	padding: 10px 0px 10px 0px;
	vertical-align: top;
}

#footer-bottom-middle {
	padding: 10px 0px 10px 0px;
	vertical-align: top;
}

#footer-bottom-right {
	padding: 10px 0px 10px 0px;
	vertical-align: top;
}

#footer div.footer-bottom-content {
	padding-left: 10px;
	padding-right: 10px;
}

#footer-bottom-middle div.footer-bottom-content {
	border-left: solid 1px #7f7e6a;
	margin-left: 1px;

}

#footer-bottom-right div.footer-bottom-content {
	border-left: solid 1px #7f7e6a;
	margin-left: -1px;
}

#footer div.footer-bottom-header {
	min-height: 30px;
	margin-bottom: 10px;
	vertical-align: top;
	font-weight: bold;
}

#footer div.footer-sponsor {
	width: 100%;
	min-height: 150px;
	margin-bottom: 20px;
}

#footer div.footer-sponsor-header {
	margin-bottom: 10px;
}

#footer div.footer-sponsor-logo {
	width: 100%;
	text-align: left;
}

#footer div.footer-sponsor-logo img {
	width: 90%;
	max-width: 414px;
	height: auto;
}

/* --------------- Forms --------------- */

div#reflection_form_wrapper {
	width: 90%;
}

div#reflection_form_wrapper div.form_field {
	margin-bottom: 15px;
}

div.form_field table tr td {
	padding: 0 20px 5px 0;
}

p.instructive_text
 {
	color: #003479;
	font-weight: bold;
	padding: 0 10px 10px 0; 
}

.red_alert { color: #ff0000; }

p.fine_print {
	font-size: 0.75em;
    line-height: 1.5em;
}

/* --------------- Homepage --------------- */

div#home_page-banner-wrapper {
	width: 100%;
	background-color: #f1ecdc;
	
}

div#home_page-banner {
	width: 96%;
	max-width: 70rem;
	margin-left: auto;
	margin-right: auto;
	background-color: #f1ecdc;
	text-align: center;
}

div#home_page-banner img {
	width: 60%;
}

div#home_page-timeline-banner {
	text-align: center;
}

div#home_page-timeline-banner img {
	width: 60%;
}

img#home_page-the_project-banner {
	width: 40%;
	float: right;
	margin: 0 0 0 10%;
}

div#home_page-sub_title {
	color: #ffffff;
	background-color: #003479;
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.3em;
	padding: 10px 10px 10px 10px;
	text-align: center;
}

div.home_page-section {
	width: 100%;
}

div.home_page-subsection_trio {
	width: 100%;
	display: flex;
}

div.home_page-section_title {
	font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif;
	font-weight: normal;
	font-size: 3.8em;
	color: #003479;
	text-align: center;
	border-bottom: solid 2px #a6adb4;
	padding: 10px 10px 20px 10px;
	margin: 0px 0px 20px 0px;
}

div.home_page-section_text {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

span.title_small_caps {
	font-size: 0.65em;
}

div.home_page-subsection {
	width: 33.33%;
	height: auto;
	float: left;
	padding-left: 1%;
	padding-right: 1%;
}

img.home_page-subsection_image {
	width: 100%;
	padding: 0px;
	margin: 0px;
}

div.home_page-subsection_title {
	color: #003479;
	font-family: 'Noto Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 1.4em;
	letter-spacing: 0.1em;
	padding: 0.5em 0 0.5em 0;
}

div.home_page-subsection_text {
	font-size: 1em;
	line-height: 1.5em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	color: #333333;
}

div.home_page-subsection_text a.go {
	text-decoration: none;
	color: #003479;
}

div.home_page-subsection_text a.go:hover {
	color: #cccccc;
}

div.hp_bg_shaded {
	/* background-color: #f8f5ed; */
	/* background-color: #ffcccc; */
}

div.home_page-subsection-todd_county {
	position: relative;
	background-origin: initial;
	background-image: url('firstvote_images/home/map-todd_county.png');
	background-repeat: no-repeat;
	background-position: left 1em;
	background-size: 66%;
}

div.home_page-subsection-garrard_county {
	position: relative;
	background-origin: initial;
	background-image: url('firstvote_images/home/map-garrard_county.png');
	background-repeat: no-repeat;
	background-position: right 1em;
	background-size: 66%;
	text-align: right;
}

div.county-right {
	width: 100%;
	text-align: right;
}

div.county-left {
	width: 100%;
	text-align: left;
}

div.county-right div.county-subsection {
	display: block;
	width: 33%;
	margin-left: auto;
	margin-right: 0;
	text-align: left;
}

div.county-left div.county-subsection {
	display: block;
	width: 33%;
	margin-right: auto;
	margin-right: 0;
	text-align: left;
}

div.county-subsection div.home_page-subsection_title {
	margin: 0;
	padding: 0.5em 0 0.5em 0;
}

div.county-subsection div.home_page-subsection_text {
	margin: 0;
	padding: 0 0 0.5em 0;
}

img.county-big_word {
	width: 55%;
	max-width: 770px;
}

img.county-top-word {
	margin: 0 0 0.5em 0;
}

div.home_page-subsection-todd_county img.county-bottom-word {
	margin: -3% 0 -3% 1.5%;
}

div.home_page-subsection-garrard_county img.county-bottom-word {
	margin: -9% 1.5% -3% 0;
}

/* --------------- Pages --------------- */

div.page-banner {
	margin-left: -2%;
	margin-right: -2%;
}

div.page-banner img {
	width: 100%;
}

img.word_art-section_header {
	width: 55%;
	max-width: 770px;
}

img.middle-word {
	margin: -6% 0 -6% 0;
}

img.top-word {
	margin: 0 0 -3% 0;
}

div.zeroed_top {
	padding-top: 0;
	margin-top: 0;
}

div.zeroed_bottom {
	padding-bottom: 0;
	margin-bottom: 0;
}

div.subsection_text {
	font-size: 1em;
	line-height: 1.5em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	color: #333333;
}

div.county_bg_todd {
	background-origin: initial;
	background-image: url('firstvote_images/todd_county/bg-map-todd_county.png');
	background-repeat: no-repeat;
	background-position: left 1rem;
	background-size: 44%;
}

div.county_bg_garrard {
	background-origin: initial;
	background-image: url('firstvote_images/garrard_county/bg-map-garrard_county.png');
	background-repeat: no-repeat;
	background-position: left 1rem;
	background-size: 44%;
}

/* --------------- Essays --------------- */

div.essay h3 {;
	padding: 1em 0 1em 0;
}

div.essay p:last-of-type::after {
    content: '\25A0';
    color: #003479;
    font-size: 1.5em;
	line-height: 0.5em;
    margin-left: 0.25em;
}

div.essay ul {
    margin: 0.25rem 0 0.25rem 1.5rem;
}

div.essay ul li {
    padding: 0.25rem 0 0.25rem 0.25rem;
    list-style: disc;
}

div.essay-super_title {
	color: #003479;
	letter-spacing: 0.1em;
	padding-top: 1em;
	padding-bottom: 1em;
}

div.essay-top {
	position: relative;
}

div.essay-bottom {
	position: relative;
}

div.essay_bottom_img {
	margin-bottom: 2rem;
}

div.essay-bottom img {
	width: 100%;
}

img.essay_word {
	position: absolute;
	bottom: 2rem;
}

img.essay_word_no_banner {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

div.essay_date_and_author {
	padding-top: 1.0rem;
	padding-bottom: 2.0rem;
	color: #000000;
}

div.essay_composition_date,
div.essay_author_affiliation {
	font-size: 0.80em;
}

div.essay_author_name {
	padding-top: 1.0em;
}

p.essay_view_link {
	margin-top: -0.5em;
	padding-top: 0;
}

/* --------------- Sources --------------- */

div.xcontent {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.25s ease-out;
}

div.xpander div.firstvote-subcontent div.firstvote-subcontent-left,
div.xpander div.firstvote-subcontent div.firstvote-subcontent-right {
	padding-top: 0px;
	padding-bottom: 10px;
}

div.xpander_title {
	background-color: #003479;
	padding: 10px 0 10px 0;
	margin: 0;
}

div.xpander_title span.aspan {
	color: #ffffff;
}

div.xpander_title span.aspan:before {
	display: inline-block;
	content: ' ';
	vertical-align: middle;
	background-image: url('firstvote_images/yellow-triangle.svg');
	background-width: 1.25em;
	background-height: 1.25em;
	width: 1.25em;
	height: 1.25em;
	margin-left: 1%;
}

div.xpander_title_yellow {
	background-color: #ffcb4f;
	padding: 10px 0 10px 0;
	margin: 0;
}

div.xpander_title_yellow span.aspan {
	color: #000000;
}

div.xpander_title_yellow span.aspan:before {
	display: inline-block;
	content: ' ';
	vertical-align: middle;
	background-image: url('firstvote_images/white-triangle.svg');
	background-width: 1.25em;
	background-height: 1.25em;
	width: 1.25em;
	height: 1.25em;
	margin-left: 1%;
}

div.source_title {
	font-weight: bold;
	margin: 0 0 0.5em 0;
	font-size: 1.25em;
	line-height: 1.25em;
	color: #003479;
}

div.source_subtitle {
	font-weight: bold;
	margin: 0 0 0.5em 0;
	color: #003479;
}

p.source_date {
}

p.source_info,
div.source_info {
	font-size: 80%;
}

p.source_link {
}

/* --------------- Extra --------------- */

img.dropshadow {
	box-shadow: 0.25rem 0.25rem 0.5rem #999999;
}

div.bulleted_subsection {
	margin-top: 1.0rem;
}

div.bulleted::before {
	content: '\2605';
	color: #ffcb4f;
	font-size: 1.5em;
	line-height: 1.0em;
	margin-top: 0.25em;
	float: left;
}

div.bulleted p {
	padding-left: 2em;
}

ul.star_bulleted {
	padding-top: 0.25em;
}

ul.star_bulleted li {
	position: relative;
	margin: 0 0 0 0;
	padding: 0 0 0.5em 2em;
}

ul.star_bulleted li::before {
	position: absolute;
	left: 0;
	top: 0.1em;
	content: url(firstvote_images/yellow-solid-five_pointed_star.svg);
	width: 2em;
	height: 2em;
	/* content: '\2605';
	color: #ffcb4f;
	font-size: 1.5em;
	line-height: 1em; */
}

div.big_quote,
blockquote {
	position: relative;
	padding-left: 2.4em;
	width: 80%;
}

div.big_quote::before,
blockquote::before {
    display: block;
    content: "\201C";
    /* font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif; */
    font-family: 'Noto Serif', serif;
    font-size: 3.25em;
    position: absolute;
    left: 0px;
    top: 0.25em;
    color: #ffcb4f;
}

span.small_caps {
	font-variant: small-caps;
}

span.star {
	color: #ffcb4f;
}

span.strong_text {
	font-weight: bold;
	color: #003479;
}

span.weak_text {
	font-weight: normal;
}

span.black_text {
	color: #000000;
}

p.right_align {
	text-align: right;
}

div.map_svg_area {
	margin-bottom: 2rem;
	margin-left: auto;
	margin-right: auto;
}
