* {
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}

body {
    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    -webkit-user-select: text;                  /* prevent copy paste, to allow, change 'none' to 'text' */
    font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    font-size:14px;
    height:100%;
    margin:0px;
    padding:0px;
    /*width: 320px;*/
}

.header {
    background-color:#005CA7;
    color: #FFFFFF;
    width: 100%;
    padding: 5px 0;
    border-bottom: solid 5px #003C6F;
    height: 35px;
}

#logo {
    width: 35px;
    height: 35px;
    margin: 0px 0px 0px 7px;
    padding: 0px;
}

div#spinner {
    position:relative;
    float:right;
    width:25px;
    height:0px;
    margin-right: 10px;
    top: 50%;
    color: #FFFFFF;
}

.header h1 {
    display: inline-block;
    font-size: 22px;
    margin: 8px 0px 0px 5px;
    padding: 0px;
    vertical-align: top;
    font-weight: 800;
}

.footer {
    background-color:#005CA7;
    color: #FFFFFF;
    width:100%;
    padding: 12px 0px;
    text-align: center;
    border-top: solid 5px #004B8F;
    position: absolute;
    font-size: 12px;
    font-weight: bold;
}

.navMenu {
    background: #2E2E2E;
    background-image: url('img/menu_unselected.png');
    background-size: 100px 100px;
    /*border-bottom: solid #333333 3px;*/
    margin: 0px;
    padding: 0px;
    display: table;
    table-layout: fixed;
    width: 100%;
}
.navMenu a:link{
	color:#ffffff;
	text-decoration:none;
}
.navMenu a:visited{
	color:#ffffff;
	text-decoration:none;
}

.navMenu .navItem {
    background: #2E2E2E;
    background-image: url('img/menu_unselected.png');
    background-size: 100px 100px;
    text-transform: uppercase;
    text-align: center;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 800;
    padding:18px 0px;
    display: table-cell;
    border-left: solid 2px #212121;
    border-right: solid 2px #333333;
}

.navMenu .navItem.active {
    background: #242424;
    background-image: url('img/menu_selected.png');
    background-size: 100px 100px;
    border-bottom: solid #005CA7 2px;
    padding-bottom: 12px;
    border-right: solid 2px #212121;
}

.navItem.active+.navItem {
    border-left: solid 2px #333333;
}

#mainframe {
    border: 0px;
    padding: 0px;
    height: 100%;
    background: #EBEBEB ;
    overflow-y: auto;
    position: relative;
    color: #303030;
}

ul {
    margin: 0px;
}

h4, select {
    margin-left: 12px;
    margin-right: 12px;
}

p {
    margin: 16px 14px;
    font-size: 14px;
    line-height: 17px;
}

h2 {
    background: #EFF0EF;
    margin: 0px;
    padding: 8px 14px 8px 10px;
    font-size: 18px;
}

h2 span {
    padding-top: 4px;
    display:inline-block;
    vertical-align: top;
}

h3 {
    font-size: 18px;
    margin: 14px 14px 0px 14px;
}

hr {
    margin: 0px;
    height:0px;
    border-top: solid 2px #FFFFFF;
    border-bottom: solid 2px #AAAAAA;
    border-left: 0px;
    border-right: 0px;
}

hr.secondary {
    border: 0px;
    height: 2px;
    background: #B0B0B0;
}

ul {
    padding: 0px;
}

a {
    color: #1c3664;
}

a[href^="tel:"] {
    text-decoration: none;
}

select {
    background: #FFFFFF;
    border: 1px solid #B0B0B0;
    border-radius: 6px;
    font-size: 14px;
    -webkit-appearance: none;
    padding:8px;
    color: #646464;
    width: 100%;
    display: block;
    margin: 8px 0px;
    font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    background-image: url(img/select-down.png);
    background-size: 14px;
    background-repeat: no-repeat;
    background-position: right;
    background-origin: content-box;
}

::-webkit-input-placeholder {
 color: #646464;
}
:-moz-placeholder { /* older Firefox*/
 color: #646464;
}
::-moz-placeholder { /* Firefox 19+ */
 color: #646464;
} 
:-ms-input-placeholder {  
 color: #646464;
}

input[type="text"], input[type="number"] {
    background: #FFFFFF;
    border: 1px solid #B0B0B0;
    border-radius: 6px;
    font-size: 14px;
    -webkit-appearance: none;
    margin: 8px 0px;
    padding: 8px 8px;
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
}

input[type="number"]::-webkit-outer-spin-button { margin: 0; }

select.selected {
    color: #303030;
}


.optionListItem {
    background: #EFF0EF;
    padding: 8px 14px 8px 10px;
    border-bottom: solid 2px #FFFFFF;
    border-top: solid 2px #AAAAAA;
    list-style-type: none;
    font-size: 18px;
    font-weight: bold;
    height: auto;
    min-height: 22px;
	background-image: url('img/nav-right.png');
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: right;
    background-origin: content-box;
	cursor: pointer;
}

.optionListItem a:link {
	color:#000000;
	text-decoration:none; 
}
.optionList a:visited {
	color:#000000;
	text-decoration:none;
}

.optionListItem>span {
    padding-top: 4px;
    display:inline-block;
    vertical-align: top;
    margin-right: 30px;
}

.optionListItem:not(.ignore-first):first-child {
    border-top: 0px;
}

.optionList:after {
    content: "";
    height: 0px;
    display: block;
    width: 100%;
    border-top: solid 2px #AAAAAA;
}

.optionListItem.voter {
    background-color:#EBEBEB;
}

.optionListItem .secondary {
    font-size: 14px;    
}

i {
    color: #1c3664;
    margin-right: 3px;
    margin-top: 0px;
    font-size: 125%;
    vertical-align: top;
}

.accordion-header.active {
    background-image: url('img/nav-down.png');
}

.accordion-content {
    margin: 0px;
    padding: 0px;
    border-bottom: solid 2px #FFFFFF;
    border-top: solid 2px #AAAAAA;
    width: 100%;
    display: inline-block;
    background-image: url('img/accordion-shadow.png');
    background-repeat: repeat-x;
}

.accordion-content form {
    padding: 4px 12px 8px 12px;
}

.early-location-options {
    margin: 6px 12px 12px 12px;
}

.early-location-options button {
    text-align: left;
    color: #303030;
    background: #B0B0B0;
    padding: 8px 12px;
}

.early-location-options button .secondary {
    font-weight: normal;
    padding-top: 2px;
}

#resetBallotButton {
    float: right;
    width:auto;
    margin:0px;
    padding:6px;
    font-size: 13px;
}

#ballot-disclaimer {
    margin-top: 0px;
    margin-bottom: 10px;
}

h2 div.ballotLocation {
    margin-left: 37px;
    font-size: 85%;
    font-weight: normal;
}

.ballot h4 {
    margin: 24px 12px 10px 12px;
}

.ballot {
    font-size: 14px;
}

.ballotLine {
    display:block;
    margin: 8px 12px;
    clear: both;
}

.ballotLine:last-child {
    margin-bottom: 16px;
}

.ballotLine input {
    width: 20px;
    float: left;
    margin: 0px;
}

.ballotLine label {
    display:inline;
    padding:0px 20px 0px 0px;
    font-weight: normal;
	cursor:default;
}

.info {
    margin: 12px 0px;
}

.info p {
    font-size: 16px;
    line-height: 16px;
    margin-top: 4px;
    margin-bottom: 4px;
}

.info label {
    font-weight: bold;
    margin-bottom: 4px;
    margin-top: 8px;
    display: inline-block;
}

.info .map-link {
    margin-bottom: 8px;
    display: block;
}

button, input[type=submit] {
    font-family: 'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    background: #1c3664;
    color: #FFFFFF;
    border-radius: 5px;
    border: 0px;
    font-weight: bold;
    width: 100%;
    padding: 9px;
    margin: 4px 0px;
    font-size: 14px;
    -webkit-appearance: none;
}

input[type=text]:focus, input[type=number]:focus, select:focus {
    border: solid 1px #005BAA;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

button:focus {
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

input[type=submit] {
    text-transform: uppercase;
}

button:disabled, input[type=submit]:disabled {
    background: #B0B0B0;
}

.buttonList {
    padding: 10px 12px 0px 12px;
}
.buttonList button {
    margin: 5px 0px;
}

.info table {
    border-spacing: 5px;
    vertical-align: top;
    padding: 0px;
    margin-top: 12px;
}

button i {
    color: #FFFFFF;
    margin: 0px 2px 0px 0px;
    font-size: 14px;
}

.info button.map-link {
    margin: 0px;
}

.info table button {
    margin: 0px;
}

.info h3 {
    margin-top: 16px;
    margin-bottom: 10px;
}

.googleMap {
    width: 90%;
    height: 180px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    margin-top: 12px;
}

.mapText {
    display: none;
}

.mapLabel h4, .mapLabel p {
    margin: 0px;
}

.js-google-map {
    border: solid 5px #B0B0B0;
    height:400px;
}

.js-map-info-window {
    font-size: 0.8rem;
    line-height: 1.2;
    overflow: hidden;
}

.search-info p {
    font-size: 14px;
    line-height: 17px;
    margin: 16px;
}
.select-voter-text {
        font-size: 16px !important;
        padding-top: 18px !important;
        padding-bottom: 8px !important;
		font-weight:bold;
		color:#2E2E2E;
    }
.select-voter-padding {
	padding-left:2%;
	padding-right:2%;
}

/* Portrait layout (default) */
.app {
}

@media screen and (min-width:500px) {
    .googleMap {
        height: 0px;
        padding: 0px;
        padding-bottom: 40%;
        margin: 10px 12px;
        width: auto;
    }

    input:not([type=checkbox]), select, button {
        font-size: 16px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    #resetBallotButton {
        font-size: 14px !important;
        padding: 10px 12px !important;
        margin-top: -4px;
    }

    .ballotNav div {
        padding: 12px;
    }

    body p {
        font-size: 16px !important;
        line-height: 18px !important;
    }

    .info p {
        font-size: 16px !important;
        line-height: 16px !important;
    }

    .optionListItem, h2 {
        padding: 12px 16px;
    }
}

.online-voter-registration {
    text-align: center;
}