/*=== HEADER ===*/
#header {
    height: 0;
}
.header-wrapper {
	position: fixed;
	width: 100%;
	z-index: 10;
}
#home .header-wrapper {
	position: absolute;
}

/*=== MAIN NAVIGATION ===*/
.header-menu,
.header-menu span {
	color: #fff;
}
.header-menu:before {
    content: "";
    display: block;
    height: 14px;
    background-color: #838383;
}
.header-menu .cell:first-child {
	width: 325px;
	padding: 42px 20px 0 20px;
}
.header-menu .cell:last-child {
	padding: 38px 20px 0 20px;
	text-align: right;
}
.logo {
	text-transform: uppercase;
	text-align: center;
	font: 28px/32px 'AGaramond-Regular';
}
.logo span {
	display: block;
	font: 18px/24px 'ProximaNovaA-Regular';
}
.logo img {
	max-height: 200px;
}
.fixed .logo img,
#inner .logo img {
	max-height: 100px;
}

#nav-btn,
#nav-close-btn {
	display: none;
	font-size: 35px;
}
.main-nav {
	display: inline-block;
}
.nav-menu > li {
    display: inline-block;
    margin-right: 20px;
}
.nav-menu li {
    position: relative;
}
.nav-menu li a {
	text-transform: uppercase;
	font: 16px/34px 'ProximaNovaA-Regular';
}
.nav-menu > li > a {
	white-space: nowrap;
}
.nav-menu > li > a:after {
    content: none;
    display: block;
    height: 1px;
    margin-top: -8px;
    background-color: transparent;
}
.nav-menu > li > a:hover:after,
.nav-menu li.active > a:after,
.nav-menu li:hover a:after {
    background-color: rgba(255,255,255,.5);
}
.sub-menu {
	position: absolute;
    top: 100%;
    left: -28px;
    min-width: 240px;
    padding: 20px;
    text-align: left;
    background-color: #1f1f1f;
    opacity: 0;
    visibility: hidden;
    z-index: 5;
}
.sub-menu li a {
	line-height:1.4;
}
.sub-menu li a:hover {
	color: #838383;
}
.sub-menu > li + li {
	margin-top:10px;
}
.nav-menu li:hover .sub-menu,
body.show-search .search-box {
	opacity: 1;
	visibility: visible;
}
body.show-search .main-nav {
	opacity: 0;
	visibility: hidden;
}
body.show-search .search-btn.fa-times {
	font-weight: 900;
}

.search-btn {
	margin-left: 14px;
	vertical-align: middle;
	position: relative;
	z-index: 1;
}
.close-search {
    font: 20px 'ProximaNovaA-Bold';
}
.search-box {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
}
.search-box .search-form {
    display: inline-block;
    width: 79%;
    min-width: 605px;
    text-align: left;
}
.search-box form {
	display: inline-block;
    width: 92%;
    margin-right: 27px;
}
.search-box label span {
	position: absolute;
	font-size: 0;
}
.search-box ::-webkit-input-placeholder {
  	color: #fff;
}
.search-box :-moz-placeholder {
	color: #fff;
}
.search-box ::-moz-placeholder {
	color: #fff;
}
.search-box :-ms-input-placeholder {
	color: #fff;
}
.search-box input {
	display: inline-block;
	vertical-align: middle;
}
.search-box input[type=text] {
	width: 100%;
	border-color: #fff;
	vertical-align: middle;
    color: #fff;
    background-color: transparent;
}

.search-page.search-box {
	background: transparent;
	position: relative;
	top: 0;
	margin: auto auto 20px;
	opacity: 1;
	visibility: visible;
}
.search-page.search-box .search-form {
	padding-top: 0 !important;
	min-width: 100%;
	width: 100%;
}
.search-page.search-box form {
	margin: auto;
	width: 100%;
}
.search-page.search-box form label:first-child {
	width: calc(100% - 170px);
}
.search-page.search-box form label {
	display: inline-block;
}
.search-page.search-box input[type=text] {
	color: #333;
	background: #fefefe;
	border: 1px solid #ccc;
}
.search-page.search-box input[type=text]::placeholder {
	color: #333;
}

/*=== FIXED & INNER HEADER STYLES ===*/
#home.fixed .header-wrapper {
	position: fixed;
	top: 0 !important;
	z-index: 120;
}
#home.reset .header-wrapper {
	top: -200px;
	transition: all 0.5s ease 0s;
}
#inner #header {
	height: 105px;
}
.fixed .header-menu,
#inner .header-menu {
	background-color: #838383;
}
#home.fixed .header-menu:before,
#inner .header-menu:before {
	content: none;
}
.fixed .header-menu .cell:first-child,
.fixed .header-menu .cell:last-child,
#inner .header-menu .cell:first-child,
#inner .header-menu .cell:last-child {
	padding: 0 20px;
	vertical-align: middle;
}
.fixed .logo,
#inner .logo {
	line-height: 28px;
	font-size: 25px;
}
.fixed .logo span,
#inner .logo span {
	line-height: 21px;
	font-size: 16px;
}
.fixed .nav-menu > li > a,
#inner .nav-menu > li > a {
	padding: 37px 0 41px;
}
.fixed .nav-menu > li > a:after,
#inner .nav-menu > li > a:after {
    content: "";
}
.fixed .search-box .search-form,
#inner .search-box .search-form {
	padding-top: 31px;
}

/*=== TOP BANNER ===*/
.banner {
	position: relative;
	min-height: 470px;
	text-align: center;
}
.banner .top-slider {
	height: 100%;
}
.banner .single-banner {
	height: 100%;
	background-attachment: fixed;
	background-color: #000;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
.safari ..banner .single-banner {
	background-attachment: scroll;
}
.banner .single-banner:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(37,37,38, 0.3);
}
.banner .container {
	z-index: 2;
}
.banner-text {
	display: inline-block;
    max-width: 650px;
    padding-top: 102px;
    color: #fff;
}
.banner-text a {
	margin-top: 16px;
}
.large-text {
	text-transform: uppercase;
	font: 64px/72px 'ProximaNovaA-Bold';
}
.large-text span {
	display: block;
    margin-bottom: 8px;
	text-transform: none;
	font: 24px/28px 'AGaramond-Regular';
	font-style: italic;
}
.banner-content {
	color: #fff;
    font: 20px 'AGaramond-Semibold';
}

/*=== BREADCRUMBS ===*/
.breadcrumbs {
	margin-bottom: 65px;
}
.breadcrumbs li {
    display: inline-block;
    line-height: 20px;
    font-size: 14px;
}
.breadcrumbs li:last-child {
    color: #838383;
}
.breadcrumbs li:after {
	content: "";
    display: inline-block;
    width: 1px;
    height: 14px;
    margin: -2px 5px 0;
    vertical-align: middle;
    background-color: #1f1f1f;
}
.breadcrumbs li:last-child:after {
    content: none;
}

/*=== HOMEPAGE SECTIONS ===*/
.content-wrapper {
	padding: 60px 0 45px;
}
.content-wrapper .flexbox-reverse > div:first-child {
	width: 100%;
}
.content-wrapper .sidebar {
	flex-basis: 435px;
	min-width: 435px;
	padding-right: 70px;
}

.recent-notices > h3:before {
	content: "\f15b";
	margin-right: 6px;
	font: 18px Font Awesome\ 5 Pro;
}
.recent-notices h3,
.quick-links h2 {
	color: #838383;
	margin-bottom: 14px;
	text-transform: uppercase;
	font: 18px 'ProximaNovaA-Bold';
}
.recent-notices li {
	margin-bottom: 10px;
	padding: 15px 8px 8px 15px;
	-webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    font-size: 16px;
    -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.2);
    -moz-box-shadow: 0 0 3px 0 rgba(0,0,0,.2);
    box-shadow: 0 0 3px 0 rgba(0,0,0,.2);
	background-color: #f7f7f7;
}
.recent-notices li:hover {
	-webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,.6);
    -moz-box-shadow: 0 0 3px 0 rgba(0,0,0,.6);
    box-shadow: 0 0 3px 0 rgba(0,0,0,.6);
}
.recent-notices span {
	font: 14px/22px 'ProximaNovaA-Regular';
}
.recent-notices p {
	line-height: 22px;
}
.recent-notices p a {
	font-family: 'ProximaNovaA-Regular';
	color: #838383;
}
.recent-notices li a {
	display: block;
	padding-top: 10px;
}
.recent-notices .btn {
	margin-top: 14px;
}

.quick-links {
	margin-top: 5px;
	font-size: 0;
	text-align: center;
}
.quick-links li {
	display: inline-block;
	width: 49.9%;
	padding: 20px 15px 15px;
    vertical-align: top;
	font-size: 18px;
}
.quick-links li {
	border-bottom: 1px solid #bec0c0;
}
.quick-links li:nth-child(odd) {
	border-right: 1px solid #bec0c0;
}
.quick-links li:last-child,
.quick-links li:nth-last-child(2) {
	border-bottom: 0;
}
.quick-links .icon {
	background-attachment: scroll;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;	
	height: 86px;
	margin-bottom: 20px;
}

.suggestion-wrapper {
	text-align: center;
}
.suggestion-wrapper .container {
	padding: 0 80px;
}
.suggestion-wrapper h3 {
    margin-bottom: 22px;
}

/*=== MAIN CONTENT ===*/
.posted-date {
    color: #acacac;
    font-size: 14px;
    padding: 5px 0 18px 0;
    margin-bottom: 0px;
}
.main-content {
/* 	min-height: 1070px; */
    padding: 22px 0 55px;
}
.main-content .col-left.sidebar {
	width: 300px;
	padding-right: 75px;
}
.main-content .sidebar > *:not(:last-child) {
	margin-bottom: 32px;
}

.sub-nav > li > a {
    font: 24px/32px 'AGaramond-Regular';
    font-style: italic;
    color: #838383;
}
.sub-nav ul li a {
	text-transform: uppercase;
	font: 18px/32px 'ProximaNovaA-Regular';
	color: #a7a9a9;
}
.sub-nav ul li.active a,
.sub-nav ul li a:hover {
	color: #1f1f1f;
}

/*=== INNER PAGES ===*/
.col-right a {
	color: #838383;
}
.col-right a:hover {
	color: #000;
}

.blog-box h3 {
	margin-bottom: 4px;
	text-transform: none;
	font: 24px 'AGaramond-Regular';
	font-style: italic;
	color: #838383;
}
.blog-menu {
	font-family: 'ProximaNovaA-Regular';
	background-color: transparent;
}
.blog-menu ul {
	margin-bottom: 0;
}
.blog-menu li {
	padding: 0;
	margin: 0;
}
.blog-menu .year-link,
.blog-menu .month-link {
	position: relative;
	display: block;
	padding: 11px 20px 11px 40px;
	border-top: 2px solid #fff;
}
.blog-menu .year-link {
	color: #fff;
	background-color: #838383;
}
.blog-menu .year-link span,
.blog-menu .month-link span {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 20px;
    width: 8px;
}
.blog-menu .year-link span:after,
.blog-menu .month-link span:after {
	content: "\f105";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -9px;
    font: 18px Font Awesome\ 5 Pro;
    font-weight: bold;
	transition: all 0.4s ease 0s;
}
.blog-menu a.down span:after,
.blog-menu a:hover span:after {
	-webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
}
.blog-menu .month-link {
    text-transform: uppercase;
	color: #1f1f1f;
	background-color: #f7f7f7;
}
.blog-menu .month-link.selected {
	background-color:#1F1F1F;
	color:#fff;
}
.blog-menu ul.year {
	display: none;
}
.blog-menu li ul:target {
	display: block;
}
.blog-menu ul.month {
	display: none;
	padding: 14px;
	border: 1px solid #f7f7f7;
	border-top: 0;
}
.blog-menu .month li + li {
	border-top: 2px solid #bec0c0;
}
.blog-menu .month li a {
	display: block;
	padding: 8px 4px 9px;
	font-size: 12px;
}

.latest-event {
	font: 16px/24px 'ProximaNovaA-Regular';
}
.latest-event:before {
	content: "";
	display: block;
	width: 82%;
	height: 1px;
    margin: 28px 0 32px;
	background-color: #e6e7e8;
}
.latest-event .cell {
	padding: 8px 30px 8px 15px;
	border-bottom: 2px solid #fff;
	background-color: #f7f7f7;
}
.latest-event .cell:last-child {
	width: 25%;
	text-align: right;
}
.latest-event h2 {
	margin-bottom: 25px;
}
.dwnld-link {
	text-transform: uppercase;
	font: 14px/20px 'ProximaNovaA-Regular';
}
.dwnld-link:before {
    content: "\f15b";
    margin-right: 8px;
    vertical-align: sub;
    font: 24px Font Awesome\ 5 Pro;
}

/*====================================*/
/*============ STAFF PAGE ============*/
/*====================================*/

/* Staff Categories */
.staff-cat-heading:first-child {
	margin-top: 0;
}
.staff-cat-heading {
	border-bottom: 1px solid #1F1F1F;
	font-size: 24px;
	margin: 50px 0 25px;
	padding-bottom: 25px;
}

/* Staff Main Info */
.all-staff .staff-details {
	display: block;
}
.staff-heading {
	font-size:19px;
	line-height: 1;
	margin-bottom:15px;
}
.jobTitle {
	margin-bottom: 15px;
}
.staff-details a {
	display: block;
}
.staff-details a + a {
	margin-top: 5px;
}
.all-staff .staff-details .noscript-show { /* js disabled */
	margin-top: 15px;
}
.all-staff a.btn,
.all-staff a.btn:hover {
	display: inline-block;
	margin-top:15px;
	color:#FFF;
}
.all-staff > div + div {
	margin-top:25px;
	padding-top:25px;
	border-top:1px solid #1F1F1F;
}

/* Staff Image */
.all-staff figure {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width:25%;
	height:0;
	padding-bottom:25%;
	float:left;
	margin-right:25px;
}
.all-staff figure span {
	display: block;
	padding:12px 20px 8px;
	background-color:#838383;
	color:#FFF;
	text-align: center;
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	transition:all 0.1s linear 0s;
}
.all-staff figure:hover span {
	padding:22px 20px 18px;
}

/* --- Staff Modal --- */
.staff-modal {
	position: relative;
	background-color:#FFF;
	padding:20px;
	font-size:18px;
}
.staff-modal .staff-heading {
	font-size: 34px;
	margin-bottom: 10px;
}
.staff-modal .staff-info .jobTitle {
	font-size: 18px;
	margin-bottom: 10px;
}
.staff-modal .staff-info p {
	margin: 0;
}
.staff-modal p strong {
	font: bold 15px/1 'AGaramond-Regular';
}
.staff-modal .cell:first-child {
	padding-right: 15px;
	width:200px;
}
.staff-modal .cell:last-child {
	padding-left: 15px;
}
.staff-modal figure {
	background-attachment: scroll;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height:200px;
}

.short-line {
	display: block;
	height:2px;
	background-color:#1F1F1F;
	margin:15px 0;
	border:none;
}

/*=========================================*/
/*============ FORMS & PERMITS ============*/
/*=========================================*/
.doc-list {
	margin:20px auto;
}
.doc-list > li {
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
}
.doc-list > li,
.doc-list > tr {
	position: relative;
	padding:15px 170px 15px 17px;
	background-color:#F7F7F7;
	font-family: 'AGaramond-Semibold';
	font-size:16px;
}
.doc-list > tr td {
	padding: 15px 0 15px 0;
}
.doc-list > tr td:first-child {
	padding: 15px 10px 15px 17px;
}
.doc-list > li + li {
	margin-top: 15px;
}

.doc-list > li div {
	font-family: 'AGaramond-Regular';
	font-size:14px;
}
.doc-list h3 {
	margin-bottom: 0;
}
.doc-list > li .download {
	position: absolute;
	top:14px;
	right:30px;
	
	font-family:'ProximaNovaA-Regular','Helvetica',sans-serif;
	font-size:14px;
	text-transform: uppercase;
}
.download:before {
	display: inline-block;
	vertical-align: middle;
	margin-top:-3px;
	margin-right:10px;
	font-family:Font Awesome\ 5 Pro;
	font-size:24px;
	line-height: 1;
}

.download:hover,
.download:after {
	color:#838383;
}

.meetings-section table {
	border-collapse: separate;
	border-spacing: 0 15px;
	width: 100%;
}
.meetings-section .doc-list > li {
	padding: 15px 290px 15px 17px;
}
.meetings-section .doc-list > li > div {
	position: absolute;
	top: 14px;
	right: 30px;
}
.meetings-section .doc-list > li > div > a {
	position: relative;
	top: auto;
	right: auto;
}
.meetings-section .doc-list > li > div > a + a {
	padding-left: 10px;
}
.agendas-archive header {
	color: #838383;
	font-family: 'AGaramond-Regular';
	font-size: 24px;
	line-height: 30px;
	font-style: italic;
}

.news-items-section .fa-long-arrow-alt-left:before {
	margin-right:8px;
	vertical-align: middle;
}
.news-items-section .doc-list > li {
	padding: 25px;
}
.news-items-section h2 {
	margin-bottom: 0;
}

.filter-reset {
	padding-right: 60px;
	position: relative;
}
.filter-reset > a {
	position: absolute;
	right: 0;
}

/*=== FOOTER ===*/
.footer-wrapper {
	height: auto;
	padding: 52px 0 35px;
	font-size: 14px;
	color: #FFF;
	background-color: #1f1f1f;
}
.footer-wrapper .cell:first-child {
    width: 520px;
    padding-right: 125px;
}
.footer-wrapper a:hover {
	color: inherit !important;
	text-decoration: underline;
}

.footer-contact-info {
	margin-bottom: 10px;
}
.footer-contact-info li + li {
	padding-top: 10px;
}

.footer-nav li {
	display: inline-block;
}
.footer-nav li {
	padding: 5px;
}
.footer-nav li:first-child {
	padding-left: 0;
}

.copyright {
    margin-top: 10px;
}
.copyright .cell:last-child {
    text-align: right;
}
.copyright p {
	display: inline;
	line-height: 20px;
}
.jbsystem {
	width: 74px;
	height: 29px;
	margin-left: 10px;
	vertical-align: middle;
	background: url(../../global/images/layout/logo-JB-Systems.png) no-repeat;
}

/* Categories */
.options h3 {
	color: #838383;
	font-family: 'AGaramond-Regular';
	font-size: 24px;
	line-height: 30px;
	font-style: italic;
	text-transform: capitalize;
}
#container .cats-menu {
	background-color: #f7f7f7;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
	padding: 10px;
	margin-bottom: 0
}
#container .cats-menu li {
    margin: 0;
    padding: 0;
}
#container .blog-menu, #container .blog-menu *, #container .cats-menu, #container .cats-menu * {
    list-style: none;
}
#container .cats-menu .cats-link.active {
    color: #838383;
}
#container .cats-menu li a {
    padding: 10px 0;
    display: block;
    color: #1f1f1f;
}
#container .cats-menu li + li {
    border-top: 2px solid #1f1f1f;
}

.view-more, .bio-link {
    display: block;
    margin-top: 25px;
    color: #838383;
    font-weight: bold;
    text-transform: uppercase;
}