/* ------------------ TABLE OF CONTENTS ------------------
Normalize
Navigation
Header
Main
Blog
Footer
Responsive
Other
------------------------------------------------------ */

/* ------------------ Normalize ------------------ */
body {
	font-family: 'Arial', sans-serif;
	line-height: 1.7;
	font-size: 14px;
	color: #4D4949;
	padding:0;
	margin:0;}

h1, h2, h3, h4, h5, h6 {
	padding: 0;
	margin: 0;
	font-family: 'Arial', sans-serif;
	}
	
h2 {
	font-size:28px;
	}

#header-content > h2 {
	color: white;
}
	
a {color:navy;}
a:visited {color:navy;}
a:hover {color:red;}
	

/* ------------------ Navigation ------------------ */
/* ------------------ Includes footer link and site tools as well as main navigation. ------------------ */
#nav-wrapper {
	max-width:1200px;
	margin: 5px auto 0 auto;
	color:white;
	position: sticky;
	position: -webkit-sticky;	
	top:5px;}
		
#site-tools {
	float:right;
	position:relative;
	top:-6px;
	display:inline;}

#globe {width: 20px; position: relative; top: 5px;}	
	
.pipe {
	font-size:1.7em;
	position:relative;
	top:2px;}

#site-tools form, #site-tools div {
	display:inline;}

#site-tools a, .breadcrumbs, .breadcrumbs a, #footer-links a {
	color:white;
	text-decoration:none;}
	
div.breadcrumbs {margin-top:12px;}
	
#site-tools a:hover, .breadcrumbs a:hover, .breadcrumbs a:visited, #footer-links a:hover {
	color:white;
	text-decoration:underline;}
	
#footer-links {
	position:relative;
	top:8px;}

.logo-short {
	position: relative;
	top: 10px;
	transition: 0.5s;
	height: 32px;
	width: 57px;
	margin:50px;
	}
	
.logo-wrapper {
	float:left;
	height:95px;
	width:170px;
	transition: 0.5s;
	background-color:white;
	text-align:center;
	vertical-align:central;}	
	
.logo-wrapper-short {
	float: left;
	height: 45px;
	transition: 0.5s;
	background-color: white;
	text-align: center;
	}		
	
nav {
	text-align: right;
    background-color: rgba(56, 67, 83, 0.9);
	height:95px;
	clear:both;
	}
			
.nav-short {
	position: absolute;
	right: 0;
	top: 55px;
	}

nav ul li ul li {
	line-height: 35px;
	color: grey;
	width: 200px;
	background-color:white;
	text-align:left;
	padding:5px 5px 5px 10px;
	margin: 0;
	font:"Arial narrow", sans-serif;
	font-size:16px;
	border-bottom:thin;
	border-bottom-style:solid;
	border-bottom-color:#999}

nav ul li ul li:hover {
	color: black;
	background-color:#CCC;}
	
nav ul li {
	display: inline-block;
	margin: 0 20px 0 15px;
	font-size: 19px;
	font-family: "Arial narrow", arial, sans-serif;
	letter-spacing: .02em;
	line-height:95px;
	position:relative;}
	
.nav-ul-li-condensed {
	font-size:16px;
	line-height: 30px;
	width:170px;
	text-align:left;
	padding:0 5px;
	background-color:#ccc;
	display: block;
	}

li.nav-ul-li-condensed:hover {
	background-color:#78abf1;
	}

li.nav-ul-li-condensed a,
li.nav-ul-li-condensed a:visited {
	color: black;
	display: block;
	}
	
li.nav-ul-li-condensed a:hover {
	color: white;
	}
	
nav a#hamburger {
	display: none;
	font-size:3em;
	color: #ccc;
	text-decoration:none;
	position: absolute;
	top: 55px;
	z-index:3;
	}
	
nav a#hamburger:hover {
	color:white;
	}
	
nav ul li ul.sub-menu {
	display:none;
	padding: 0;
	list-style-type: none;
	z-index:2;
	position:absolute;
	line-height:30px;}	
	
/* Select all sub-menus that are not children of the last item in the
	top level navigation. Otherwise the sub-menu could extend off the
	right edge of the page depending on viewport width. */
nav ul li:not(:last-child) a:hover + .sub-menu {
	display:block;
	position:absolute;
	top:64px;
	left:-30px;}
	
nav ul li:not(:last-child) a + .sub-menu:hover {
	display:block;
	position:absolute;
	top:64px;
	left:-30px;}	

/* Select any sub-menu that is a child of the last item in the top level
	navigation and position it a little further to the left to ensure it
	does not extend off the right edge of the viewport. */	
nav ul li:last-child a:hover + .sub-menu {
	display:block;
	position:absolute;
	top:64px;
	left:-140px;}
	
nav ul li:last-child a + .sub-menu:hover {
	display:block;
	position:absolute;
	top:64px;
	left:-140px;}
		
nav ul li a {
	color: white;
	text-decoration:none;
	position:relative;
	padding-bottom:6px;}
	
nav ul li a:visited {
	color:white;}

nav ul li a:hover {
	color: #78abf1;}

/* ".nav-ul-li-condensed" will be placed on list items when using a small viewport.
	In those cases, drawing the underline beneath list items is out of place and should
	not occur. Therefore, it is applied only to list items without that class. */
nav ul li:not(.nav-ul-li-condensed) > a:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: 2px;
	left: 0;
	background-color: #78abf1;
	visibility: hidden;
	transform: scaleX(0);
	transition: all .25s ease-in-out;}

nav ul li a:hover:before {
	visibility: visible;
	transform: scaleX(1);}

/* ------------------ Header ------------------ */
body > header {
	height:350px;
	text-align:center;
	z-index:1;
	background-size: cover;
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	box-shadow:0 4px 6px 0 grey;
	position: sticky;
	position: -webkit-sticky;	
	top:-315px;}

body > header:after {
    background: rgba(0,0,0,0.5);
    content: "";
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
	height:350px;
    position: absolute;
    z-index: 1;}

.shrink {height:60px;}	
	
#header-content {
	z-index:2;
	left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
	height:350px;
    position: absolute;}
		
header h1 {
  font-size: 50px;
  line-height: 1.2;
  color:#FFF;
  letter-spacing:2px;
  margin-top:25px;}
  
/* ------------------ Main ------------------ */
main {
	max-width:1000px;
	margin:auto;
	padding:30px; 0;
	display:grid;}
	
#content {
	grid-column-start: 1;
	grid-column-end: 2;
	width: 760px;
	}
#sidebar {
	grid-column-start: 2;
	grid-column-end: 3;
	width: 200px;
	font-size:12px;
	margin-left:40px;
	}

/* ------------------ Footer ------------------ */
footer {
	background-color: #1a1a1a;
	text-align: center;
	height: 70px;
	clear: both;
	color: white;
	padding-top:10px;
	}
	
#footer-content {
	 max-width:1000px;
	 text-align:right;
	 margin:auto;
	 padding: 0 5px 0 5px;
	}

#made-in-usa {
	float: left;
	padding: 10px;
	position: relative;
	top: 8px;
	}


/* ------------------ Responsive ------------------ */
@media (max-width: 900px) {
	nav ul li {
		font-size:15px;}
	nav ul li a {
		padding-bottom:10px;}
	}
	
@media (max-width: 1050px) {
	#sidebar {
		display:none;}
	#content {width: 100%;}
	}	
	
@media (max-width: 775px) {
	header h1 {
		font-size: 34px;}
	nav a#hamburger {
		display: inline-block;
		position: sticky;
		position: -webkit-sticky;
		top:55px;}
	nav ul {
		display: none;
		}
	}
	
@media (max-width: 550px) {
	div#search {
		display: block;
		padding-right:5px;}
	div#site-tools div span.pipe:last-of-type {
		display: none;
		}
	}
	
@media (max-width: 500px) {
	footer div#footer-content span#footer-links a {
		display: block;
		}
	footer div#footer-content span#footer-links {
		top: 0;
		}		
	footer div#footer-content span#footer-links span.pipe {
		display: none;
		}
	}

/* ------------------ Sidebar content ------------------ */
div#sidebar > h3 {margin-bottom:8px;}

#sidebar hr.faded-edges {
	margin: 0 auto;
	margin-top:10px;
	margin-bottom:14px;	
	}
/* ------------------ Sidebar content ------------------ */


/* ------------------ Election setup accordion styles ------------------ */
.date-time-label {position:relative; top:3px;}
.date-input {position:relative; top:-6px;}
.email-reminder-input {position:relative; top:-7px;}
.submit-button {margin-top:10px;}
/* ------------------ Election setup accordion styles ------------------ */

		
/* ------------------ Other ------------------ */
hr.faded-edges {
	width:90%;
	border: 0;
	height: 1px;
	background-image: linear-gradient(to right, white, #b2b2b2, white);
	margin:20px 0;
	clear: both;}
	
img.alignleft {
	float:left;
	margin-right:10px;
	}
	
img.alignright {
	float:right;
	margin-left:10px;
	}
	
input[type=search] {
	color: #999;
	width: 190px;
}

.icon {
	position:relative;
	top:4px;
	margin-right:6px;
	}
	
.popular-destination-link {
	position:relative; top:-8px; left:8px;
	}

.login-submit-button {
	position:relative; top:-20px;
	}
	
.mfa-otp-field {
	height:29px; width:100px; font-size:20px; position: relative; top:3px;
	}
	
.candidate-label {
	margin-top:15px;
	}
	
.candidates {
	margin-bottom:15px;
	}
	
.position-grid {
	display:grid; width:490px;
	}
	
.position-control {
	grid-column-start: 1;
	grid-column-end: 2;
	}

.more-icon {
	grid-column-start: 2;
	grid-column-end: 3;
	}
	
.row-one {
	grid-row-start:1;
	grid-row-end: 2;
	}

.row-two {
	grid-row-start:2;
	grid-row-end: 3;
	}
	
.row-three {
	grid-row-start:3;
	grid-row-end: 4;
	}
	
.row-four {
	grid-row-start:4;
	grid-row-end: 5;
	}

.row-five {
	grid-row-start:5;
	grid-row-end: 6;
	}

.row-six {
	grid-row-start:6;
	grid-row-end: 7;	
	}

.row-seven {
	grid-row-start:7;
	grid-row-end: 8;
	}

.row-eight {
	grid-row-start:8;
	grid-row-end: 9;
	}

.row-nine {
	grid-row-start:9;
	grid-row-end: 10;
	}

.row-ten {
	grid-row-start:10;
	grid-row-end: 11;
	}

.row-eleven {
	grid-row-start: 11;
	grid-row-end: 12;
	}
	
.row-twelve {
	grid-row-start: 12;
	grid-row-end: 13;
	}
	
.pipe {
	 color: white;
	 }
	 
#tabs {-webkit-transform-style:preserve-3d; font-family:Verdana, Geneva, sans-serif; font-size:12px;}
#tabs #tabs-1, #tabs #tabs-2 {background-color: white;}

.my-account-alert-buttons {
	width:200px;
	position:relative; top:-7px; font-size:1.1em;
	text-align: left;
	}
	
table.alert-client {
	width:100%;
	}	
table.alert-client tbody tr td:first-child {
	width: 50px;
	}
table.alert-client {
	width:100%;
	}	
.my-account-alert-buttons span.alert-button-text {
	position: relative; top: -6px;
	}	

	
/* ---------------------- Styles from the old style sheet ---------------------- */
.credit{text-align:left;font-size:10px;margin-left:0px;}
.feature{font-size:.95em;font-family:Verdana, Arial, Helvetica, sans-serif;text-align:left;}
.positionHeading{font-family:verdana;font-weight:bold;font-size:16px;color:#0E236E;}
.indent{text-indent:20px;}
dt, .positionName {font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;color:#0E236E;font-weight:bold;}
section.desc h3 {padding:0 0 5px 0; margin-top:0px;}
th{text-align:center;background-color:#003366;color:white;}
.pageSeparator{
	background-color: lightgrey;
	color: navy;
	font-weight: bold;
	padding: 2px 2px 2px 8px;
	border-width: thin;
	border-style: solid;
	border-color: silver;
	}
.pageSeparator:not(:first-of-type) {
	margin-top:20px;
	}
.desc{
	padding:5px 5px 5px 5px;
	border:thin;
	border-style:solid;
	border-color:silver;
	border-radius:5px;
	margin-bottom:20px;
	box-shadow:4px 4px 4px #989898;
	background-color:white}
.postTitle {font-size:1.4em; padding-bottom:5px; text-decoration:none}
.add_comment a, .add_comment a:visited {padding: 0.25em; color: white; text-decoration: none; }
.add_comment a:hover {color: #e5e5e5; text-decoration:underline}
.add_comment {display:block; font-weight:bold; float:right; background-color:#fd9921; 
	padding:3px; border-radius: 0px 0px 4px 4px; color:white; font-size:.85em; 
	box-shadow: 4px 4px 4px #989898; position:relative; top:6px; left:-5px;}
.blogpost {margin-bottom:45px}
.features {
    max-height: 300px;
    max-width: 445px;
    overflow: auto; background-color:white;}
.scroll-wrapper {
    overflow: hidden !important;
    padding: 0 !important;
    position: relative;}
.scroll-wrapper > .scroll-content {
    border: none !important;
    box-sizing: content-box !important;
    height: auto;
    left: 0;
    margin: 0;
    max-height: none !important;
    max-width: none !important;
    overflow: scroll !important;
    padding: 0;
    position: relative !important;
    top: 0;
    width: auto !important;}
.scroll-wrapper > .scroll-content::-webkit-scrollbar {
    height: 0;
    width: 0;}
.scroll-element .scroll-bar,
.scroll-element .scroll-arrow {
    cursor: pointer;}
.scroll-simple_outer > .scroll-content.scroll-scrolly_show { left: -12px; margin-left: 12px;}
.scroll-simple_outer > .scroll-content.scroll-scrollx_show { top:  -12px; margin-top:  12px; }
.scroll-simple_outer > .scroll-element,
.scroll-simple_outer > .scroll-element div
{
    border: none;
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: absolute;
    z-index: 10;}
.scroll-simple_outer > .scroll-element {
    background-color: #e5e5e5;}
.scroll-simple_outer > .scroll-element div {
    height: 100%;
    left: 0;
    top: 0;
    width: 100%;}
.scroll-simple_outer > .scroll-element.scroll-x {visibility:hidden;}
.scroll-simple_outer > .scroll-element.scroll-y {
    height: 100%;
    min-height: 100%;
    right: 0;
    top: 0;
    width: 12px;}
.scroll-simple_outer > .scroll-element .scroll-bar {background-color: #333399;}
.scroll-simple_outer > .scroll-element.scroll-y .scroll-bar { left: 1px; width: 10px;}
.scroll-simple_outer > .scroll-element .scroll-bar:hover { background-color: #FF9326; }
.scroll-simple_outer > .scroll-element.scroll-draggable .scroll-bar { background-color: #FF9326;}

input[type=submit], input[type=button], input[type=reset], button {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#fcfff4+0,dfe5d7+40,b3bead+100;Wax+3D+%233 */
background: -moz-linear-gradient(top,  #fcfff4 0%, #dfe5d7 40%, #b3bead 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #fcfff4 0%,#dfe5d7 40%,#b3bead 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #fcfff4 0%,#dfe5d7 40%,#b3bead 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0);
padding:8px; color: navy; /* IE6-9 */
border-color: silver;
}

input[type=submit]:hover, input[type=button]:hover, input[type=reset]:hover, button:hover {
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#b3bead+0,dfe5d7+60,fcfff4+100 */
background: #b3bead; /* Old browsers */
background: -moz-linear-gradient(top,  #b3bead 0%, #dfe5d7 60%, #fcfff4 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  #b3bead 0%,#dfe5d7 60%,#fcfff4 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  #b3bead 0%,#dfe5d7 60%,#fcfff4 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3bead', endColorstr='#fcfff4',GradientType=0 ); /* IE6-9 */
cursor:hand;
border-color: silver;
}

#search input {
	padding: 1px 6px;
	}

input:focus, select:focus, textarea:focus {outline-color: #FF9326;}

#invisible {position:absolute; left:0px; top:0px; width:100%; height:101%; z-index:1; visibility: hidden;}
.separator {font-size:1.4em;}
#magnifying-glass {display:none;}
#social {display:none;}
#spacer {height:100px}
/* The "stuck" class is assigned to an object at the moment
	waypoints detects it has hit the top of the viewport. */
.related-content-table {display:table;}
.related-content-row {display:table-row;}
.related-content-row div:first-child {display:table-cell; height:38px; width:38px; padding-right:8px;}
.related-content-row div:last-child {display:table-cell; height:38px; width:162px; vertical-align:top;}
#sidebar a img {color:silver;}
#footer-swoosh {width:960px; height:33px; background:url(//dw7qwzexg0d7j.cloudfront.net/footer-gradient.jpg) no-repeat 0 0;}
/* The following 4 rules are used for the lightbox effect. */
#overlay {position:fixed;
	top:0; 
	left:0; 
	width:100%; 
	height:100%;
	background-color:#CCC;
	opacity:.0;
	z-index:5; 
	text-align:center;
	visibility:hidden;}
#textEditor {position:fixed;
	top:10px;
	z-index:6;
	background-color:white;
	text-align:center;
	visibility:hidden;
	border-radius:20px;
	border-style:ridge;
	border-color:#ff9900;
	box-shadow: 10px 10px 15px #9e9e9e;}
div#textEditor div:first-child {font-size:14px; text-align:right; padding: 5px 12px 12px 0;}
div#textEditor div:first-child a {text-decoration:none;}

.blurry_text {color: transparent; text-shadow: 0 0 8px rgba(0,0,0,1);}
.yieldLeftDiv {width:40px; display:table-cell; vertical-align:top;}
.yieldRightDiv {display:table-cell; vertical-align:top;}