body {
	background-color: #0b1a31;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	color: #000;
	font-size: .95em;
	line-height: 1.5;
	margin: 0;
	padding: 0;
}

header.siteTitle {
	background: #ffffff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16), inset 0 2px 4px rgba(0, 0, 0, .2);
	z-index: 999;
}

.pageTitle {
	vertical-align: middle;
	display: flex;
}

.pageTitle div  {
	background: url('/images/city-logo.png') left center no-repeat;
	background-size: cover;
	width: 187px;
	height: 27px;
	margin: .5em;
}

.visuallyHidden {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

@media screen {
	a:link, a:visited {
		color: #05709d;
		text-decoration: underline;
	}
	
	footer a:link, footer a:visited {
		color: #ffffff;
		text-decoration: underline;
	}
		
	img {
		max-width: 100%;
		height: auto !important;
		border: 0;
	}

	header {
		position: relative;
	}

	.pageMasthead {
		max-height: 327px;
		overflow: hidden;
	}

	.pageMasthead > div {
		background: #fff url('/images/background.jpg') top center;
		background-size: cover;
		padding-top: 30%;
	}

	section[role="main"] {
		background: #ffffff;
		padding: 10px;
	}

	div.mainContainer {
		background-color: #fff;
		margin-top: 5px;
		margin-bottom: 5px;
		padding-top: 1.5em;
		padding-right: 1.5em;
		padding-bottom: 1.5em;
		padding-left: 1.5em;
		box-shadow: 0 1px 6px rgba(0, 0, 0, .16);
		border-radius: 25px;
		max-width: 1432px;
		margin: .5em auto;
	}


	.billFieldNumber {
		display: inline-block;
		border: 5px solid #8b0000;
		background: #8b0000;
		margin-right: .5em;
		padding: .5em;
		line-height: 0.5em;
		font-size: 0.9em;
		width: 2.3em;
		border-radius: 50%;
		text-align: center;
		vertical-align: middle;
		margin-bottom: 5px;
		color: #ffffff;
		box-sizing: border-box;
	}
	
	.eGov_searchFormGrid {
		display: block;
	}
	
	.eGov_detailsGrid {
		display: block;
	}
	
	div[class*="eGov_detailsGrid_"] {
		margin-bottom: 20px;
	}
	
	#searchbutton {
		text-align: center;
	}

	.eGov_requiredMarker {
		text-decoration: none;
		font-weight: bold;
		color: #ff0000;
	}

	/* Footer */
	footer {
		display: grid;
		grid-template-columns: 1fr 1fr 1.5fr 1fr;
		gap: 1px;
		background-image: -moz-linear-gradient(top, #05709d, #0b1a31);
		background-image: -ms-linear-gradient(top, #05709d, #0b1a31);
		background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#05709d), to(#0b1a31));
		background-image: -webkit-linear-gradient(top, #05709d, #0b1a31);
		background-image: -o-linear-gradient(top, #05709d, #0b1a31);
		background-image: linear-gradient(top, #05709d, #0b1a31);
		background-repeat: repeat-y;
	}

	footer>div {
		text-align: center;
		padding: 1rem .5rem;
		align-items: center;
	}

	footer>div:last-of-type {
		grid-column-start: span 4;
		color: #ffffff !important;
	}

	footer>div:last-of-type img {
		display: block;
		margin: .5em auto
	}

	footer>div a {
		color: #fff;
		text-decoration: none;
		font-size: .9rem;
	}

	footer>div a:hover {
		color: #ffffff;
		text-decoration: underline;
	}

	#eGov_introSearch {
		display: none;
	}
	

	/* allow it to gain focus, making it tabbable */
	.nav-toggle {
		position: absolute !important;
		top: -9999px !important;
		left: -9999px !important;
	}

	.nav-toggle:focus~.nav-toggle-label {
		outline: 3px solid rgba(70, 89, 230, 0.75);
	}

	.nav-toggle-label {
		position: absolute;
		top: 0;
		right: 0;
		margin-right: 1em;
		height: 100%;
		display: flex;
		align-items: center;
	}

	.nav-toggle-label span,
	.nav-toggle-label span::before,
	.nav-toggle-label span::after {
		display: block;
		background: #0b1a31;
		height: 2px;
		width: 2em;
		border-radius: 2px;
		position: relative;
	}

	.nav-toggle-label span::before,
	.nav-toggle-label span::after {
		content: "";
		position: absolute;
	}

	.nav-toggle-label span::before {
		bottom: 7px;
	}

	.nav-toggle-label span::after {
		top: 7px;
	}

	nav {
		position: absolute;
		text-align: left;
		top: 100%;
		left: 0;
		width: 100%;
		transform: scale(1, 0);
		transform-origin: top;
		transition: transform 400ms ease-in-out;
	}

	nav ul {
		margin: 0;
		padding: 1rem 0;
		list-style: none;
	}

	nav li {
		margin-bottom: 1em;
		margin-left: 1em;

	}

	nav a {
		color: #000000;
		text-decoration: none;
		font-size: 1.1rem;
		opacity: 0;
		transition: opacity 150ms ease-in-out;
	}

	nav a:hover {
		color: #ffffff;
		background: #6a8a56;
	}

	.nav-toggle:checked~nav {
		transform: scale(1, 1);
	}

	.nav-toggle:checked~nav ul {
		transform: scale(1, 1);
		background: #0b1a31;
	}

	.sectionTitle {
		font-family: 'Montserrat';
		font-style: normal;
		font-weight: 800;
		color: #0b1a31;
		font-size: 1.9em;
		text-decoration: none;
		line-height: 1.2;
		margin-top: 0;
	}

}

.nav-toggle:checked~nav a {
	opacity: 1;
	transition: opacity 250ms ease-in-out 250ms;
	color: #ffffff;
}

@media screen and (min-width: 971px) {
	.nav-toggle-label {
		display: none;
	}

	header.siteTitle {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		padding: 0 1rem;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
	}

	.pageTitle div  {
		width: 375px;
		height: 57px;
	}

	nav {
		/* add Edge support */
		position: relative;
		text-align: left;
		transition: none;
		transform: scale(1, 1);
		background: none;
		top: initial;
		left: initial;
		/* end Edge support stuff */
		grid-column: 5/5;
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	nav ul {
		display: flex;
		padding: 0;
	}

	nav li {
		margin-left: 3em;
		margin-bottom: 0;
	}

	nav a:link, nav a:visited {
		opacity: 1;
		position: relative;
		font-size: .9rem;
		line-height: 1.5;
		font-size: 19px;
		font-weight: 700;
		display: block;
		padding: 32px 20px;
		color: #000000;
		text-decoration: none;
	}

	nav a:hover {
		opacity: 1;
		color: #ffffff;
		text-decoration: underline;
	}

	div.mainContainer {
		margin: 3em auto;
	}

	/* nav a::before {
		content: "";
		display: block;
		height: 2px;
		background: #ffffff;
		position: absolute;
		top: -0.75em;
		left: 0;
		right: 0;
		transform: scale(0, 1);
		transition: transform ease-in-out 250ms;
	}

	nav a:hover::before {
		transform: scale(1, 1);
	} */

	.eGov_searchFormGrid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: 1fr;
		grid-column-gap: 20px;
		grid-row-gap: 0px;
	}

	.eGov_searchFormGrid_1 { 
		grid-area: 1 / 1 / 2 / 2;
	}
	
	.eGov_searchFormGrid_2 { 
		grid-area: 1 / 2 / 2 / 3; 
	}
	
	.eGov_detailsGrid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, auto);
		grid-column-gap: 20px;
		grid-row-gap: 20px;
	}

	.eGov_detailsGrid_1 { grid-area: 1 / 1 / 2 / 2;}
	.eGov_detailsGrid_2 { grid-area: 1 / 2 / 2 / 3;}
	.eGov_detailsGrid_3 { grid-area: 2 / 1 / 3 / 3;}
	.eGov_detailsGrid_4 { grid-area: 3 / 1 / 4 / 2;}
	.eGov_detailsGrid_5 { grid-area: 3 / 2 / 4 / 3;}
	
	div[class*="eGov_detailsGrid_"] {
		border: 1px solid #ddd;
		padding: 15px;
	}
	
	div[class*="eGov_detailsGrid_"] > h3 {
		margin-top: 0; 
		font-size: 1.5em !important;
	}

	.eGovHalfGrid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(1fr);
		grid-column-gap: 45px;
		grid-row-gap: 45px;
	}

	#eGov_paymentCart {
		background: #fff;
		border: 1px solid #ccc;
		margin-top: 6.5em;
	}

	footer a:link, footer a:visited {
		color: #ffffff;
		text-decoration: underline;
	}

	footer a:link:hover, footer a:visited:hover {
		color: #ffffff;
		text-decoration: underline;
	}
	

	footer>div:last-of-type {
		color: #ffffff !important;
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: center;
	}

	footer>div:last-of-type img {
		display: inline-block;
		margin-left: 1em;
	}
}


/********************************************************************************
 * ~600px
 ********************************************************************************/
@media screen and (max-width: 37.5rem) {
	footer {
		display: block;
	}

	footer>div {
		padding: .2rem .2rem;
	}
}

/* General: make data tables responsive */
@media screen and (max-width: 54.0625rem) {
	.eGov_listContent :is(input[type="submit"], input[type="button"]) {
		margin: .3em 0;
	}

	.eGov_listContent thead {
		display: none;
	}

	.eGov_listContent tr {
		display: block;
		padding: 1em;
		position: relative;
	}

	.eGov_listContent td {
		border-bottom: 0;
		display: table-row;
		text-align: left;
	}

	.eGov_listContent td:last-of-type {
		border: initial;
	}

	.eGov_listContent td:before {
		content: attr(data-label);
		display: table-cell;
		font-weight: bold;
		padding: 0.2em 0.6em 0.2em 0;
		text-align: right;
	}
}


@media print {
	.screenOnly {
		display: none;
	}	

	.printOnly {
		display: initial;
	}

	nav,
	#nav-toggle,
	#eGov_confirmPrint {
		display: none;
	}

	header.siteTitle {
		padding: 0;
	}

	#eGov_applicationContent>p:nth-child(2) {
		margin: 0;
	}

	h2 {
		margin-bottom: 0;
	}

	.eGov_cartItem {
		text-align: left;
	}

	footer {
		margin-top: 1rem;
	}

	footer>div:last-of-type {
		display: none;
	}

	footer>div:last-of-type > img {
		filter: invert(100%);
	}


}