body {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	background: #fafafa;
}

.copy a {
	color: #3b4f56;
}


.breads {
	margin-top: 15px !important;
}

.breads span,
.breads span * {
	padding: 0;
	font-size: 12px;
}

a {
	text-decoration: underline !important;
}

.menu-wrapper-top a,
.menu a {
	text-decoration: none !important;
}

#navbarSupportedContent {
	width: calc(100% - 35px);
	float: left;
	font-size: 14px;
}

nav {
	margin: 10px 0;
}

#side-menu .current > a {
	font-weight: 600;
}

nav .navbar-brand {
	font-weight: 700;
	width: 100%;
}

nav li {
	padding: 0;
}

nav.breads {
    display: block;
    margin: 0;
    font-size: 14px;
}

nav.breads .nav-link {
	display: inline-block;
}

nav.breads .nav-item:not(:first-child)::before {
	display: inline-block;
	content: " / ";

}

nav:not(.breads) .nav-link {
	text-transform: uppercase;
	color: #111111 !important;
	border-bottom: 5px solid transparent;
	padding-bottom: 5px;
	font-weight: 500;
}

nav:not(.breads) .nav-link.active {
	border-bottom: 5px solid #3b4f56;
}

nav:not(.breads) .nav-link:hover {
	border-bottom: 5px solid #3b4f56;
}

nav .h1 {
	display: block !important;
	margin-top: 5px;
	border-left: 5px solid #3b4f56 !important;
	text-transform: uppercase;
	color: black;
	font-size: 22px;
	display: inline;
	margin-left: 15px;
	padding-left: 15px;
	padding-top: 4px;
	padding-bottom: 7px;
	font-weight: 600;
	white-space: break-spaces;
}

main h2.contentheading {
    border-left: 4px solid #3b4f56;
    padding-left: 10px;
    font-size: 30px;
}

.jev_evdt_title {
	border-left: 5px solid #3b4f56 !important;
	padding-left: 15px;
	padding-bottom: 5px !important;
	margin-bottom: 20px !important;
	line-height: 1.1em !important;
}

main {
	margin: 30px 0;
}

main h1, main h2, main h3, main h4 {
	color: black;
	font-weight: 400;
	margin: 1em 0 0.5em 0;
}

main h1,
main h1 a {
	border-left: 4px solid #3b4f56;
	padding-left: 10px;
	font-size: 30px;
}

main h2,
main h2 a {
	font-size: 25px;
}

main h3,
main h3 a {
	font-size: 20px;
}

main h4,
main h4 a {
	font-size: 15px;
}

main p,
main ol li,
main ul li {
	color: #111111;
	font-size: 14px;
}

main a {
	color: #4f666d;
	text-decoration: none;
	font-size: 14px;
}

main a:focus,
main a:hover {
	color: #4f666d;
	text-decoration: underline !important;
}

main table.styled-table,
main table.styled-left-table {
	margin: 1em 0 2em 0;
}

main table.styled-table tr td,
main table.styled-left-table tr td {
	padding: 10px 15px;
	margin: 0;
	border: 5px solid #fafafa !important;
	box-shadow: none;
	border-radius: 0;
	background: #f1f3f5;
	color: #111111;
	font-size: 14px;
}

main table.styled-table tr:first-child td {
	font-size: 16px;
}

main table.styled-left-table tr td:hover,
main table.styled-table tr td:hover {
	background: #eaedf0;
}

main table.styled-table tr:first-child td:not(.unstyled),
main table.styled-left-table tr td:first-child:not(.unstyled) {
	color: white;
	background: #3b4f56;
}

main table.table2 tr td {
	padding: 10px 15px;
	margin: 0;
	border: 5px solid #fafafa;
	box-shadow: none;
	border-radius: 0;
	background: #f1f3f5;
	color: #111111;
}

main table.table2 tr td:hover {
	background: #eaedf0;
}

main table.table2 tr:first-child td {
	color: black;
	background: white;
	font-weight: 700;
	border-bottom: 5px solid #3b4f56;
}

main strong {
	color: black;
	font-weight: 700;
}

main ol {
	background-color: #f1f3f5;
	padding: 15px 15px 15px 55px;
	counter-reset: my-awesome-counter;
	list-style: none;
}

ol li {
	counter-increment: my-awesome-counter;
	position: relative;
	line-height: 18px;
	min-height: 30px;
	padding-bottom: 5px;
}
ol li::before {
	content: counter(my-awesome-counter);
    color: white;
    position: absolute;
    --size: 25px;
    left: calc(-1 * var(--size) - 10px);
    line-height: var(--size);
    width: var(--size);
    height: var(--size);
    top: -3px;
    background: #4f666d;
    border-radius: 50%;
    text-align: center;
    box-shadow: 1px 1px 0 #999;
}

main ul {
	list-style: none;
	padding-left: 55px;
}

main ul:not(.graphic-menu):not(.accordion):not(.collapse):not(.pagination) li {
	line-height: 18px;
	padding-bottom: 5px;
	position: relative;
}

.jmap_filetree li::before{
	display: none !important;
}
main ul:not(.graphic-menu):not(.accordion):not(.collapse):not(.pagination) li::before {
	content: " ";
    display: block;
	background: url(../images/list-ul.png) no-repeat;
	background-size: 13px;
    width: 14px;
    height: 14px;
    position: absolute;
    left: -28px;
    top: 3px;
}

main ul.graphic-menu {
	margin-left: -15px;
	margin-right: -15px;
}

main .mod_events_latest_content a {
	font-size: 14px;
	display: block;
	line-height: 16px;
}

main ul.graphic-menu.third > li a{
	text-transform: none !important;
}

main ul.graphic-menu > li {
	width: 25%;
	padding: 0 15px;
	margin-bottom: 20px;
}
main ul.graphic-menu > li a,
main ul.graphic-menu > li a:hover,
main ul.graphic-menu > li a:focus {
	display: block;
	text-align: center;
	padding: 15px 10px;
	background: #3b4f56;
	color: white;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
}

main ul.graphic-menu > li a:hover,
main ul.graphic-menu > li a:focus {
	background: #4f666d;
}

main .news-item {
	padding-bottom: 20px;
}

main .news-item .date {
	text-align: left;
	float: left;
	width: 75px;
	min-height: 63px;
	text-align: center;
}

main .news-item .date .day {
	font-weight: 900;
	font-size: 40px;
}

main .news-item .date .month {
	font-size: 12px;
	font-weight: 500;
	margin-top: -12px;
	text-transform: lowercase;
}

main .news-item h2 a {
	padding-top: 15px;
	width: 100%;
	font-weight: 700;
	font-size: 20px;
	margin: 0;
	border: none;
	text-decoration: none;
}

main .news-item p {
	color: #111111;
	font-size: 14px;
	width: 100%;
	margin: 0;
}

main .news-item p::after {
	content: " ";
	display: block;
	clear: both;
}

main .news-item .readmore {
	font-size: 14px;
	padding-left: 75px;
	text-decoration: none;
	float: right;
}

main .download-list .download-item {
	margin: 5px 0;
}

main .download-item .filetype {
	background: white;
	text-align: center;
	padding: 1em;
	border-right: 5px solid transparent;
}

main .download-item .info {
	padding: 10px 10px 10px 20px;
	background: #f1f3f5;
}

main .download-item .heading {
	font-weight: 500;
}

main .download-item .filetype-text {
	font-weight: 500;
}

main .download-item .v-middle > * {
	display: inline-block;
	vertical-align: middle;
	padding-left: 1em;
}

main .download-item .v-middle {
	padding-top: 5px;
}

main .calendar-main .mod_events_latest_table td{
	background: #f1f3f5;
	padding: 0 10px !important;
}


main .calendar-main .mod_events_latest_table tr:last-child td {
	padding-bottom: 10px !important;
}

main .calendar-main .mod_events_latest_table tr,
main .calendar-main .mod_events_latest_table td{
	padding: 0;
	border: none !important;
}

main .calendar-main .mod_events_latest_table td .date {
	width: 60px;
    text-align: center;
    float: left;
    padding-right: 10px;
}

main .calendar-main .mod_events_latest_table td .date .day {
	font-weight: 900;
	font-size: 30px;
}

main .calendar-main .mod_events_latest_table td .date .month {
	font-size: 12px;
	font-weight: 500;
	margin-top: -10px;
	text-transform: lowercase;
}

main .calendar-main .mod_events_latest_table td .text {
	width: calc(100% - 60px);
	float: right;
	margin-top: 10px;
}

main .calendar-item {
	margin: 5px 0;
}

main .calendar-item .date-calendar {
	background: white;
	text-align: center;
	color: black;
}

main .calendar-item .day {
	font-weight: 600;
	font-size: 35px;
}

main .calendar-item .month {
	font-weight: 500;
	font-size: 15px;
	margin-top: -10px;
	text-transform: lowercase;
}

main .calendar-item .heading {
	font-weight: 500;
}

main .calendar-item .content {
	padding: 15px;
	border-left: 5px solid white;
	background: #f1f3f5;
}

main .calendar-item .content p {
	padding-top: 5px;
	margin: 0;
}

main .calendar-item .content .readmore .fa-stack {
	display: none;
}

main .calendar-item .content .readmore {
	font-size: 14px;
}

main form input.form-control, main form textarea.form-control {
	border: none;
	box-shadow: none;
	border-radius: 0;
	background: #f1f3f5;
	color: black;
	margin: 5px;
	padding: 25px 25px;
}

main form button {
	border-radius: 12px;
	background: #f1f3f5;
	color: black;
	text-transform: uppercase;
	font-weight: 500;
	border: none;
	padding: 10px 15px;
	float: right;
}

aside ul {
	padding: 0;
	list-style: none;
}

aside #side-menu > li > a {
	display: block;
	padding: 10px 15px;
	background: #3b4f56;
	color: white;
	font-weight: 500;
	font-size: 15px;
}

aside #side-menu > li:first-child a {
	padding-top: 20px;
}

aside #side-menu > li:last-child a {
	padding-bottom: 20px;
}

aside li ul {
	background:  #4f666d;
	padding-left: 15px;
}

aside li ul li:first-child {
	padding-top: 14px;
}

aside li ul li:last-child {
	padding-bottom: 14px;
}

aside li ul li {
	padding: 7px 20px;
	background:  #4f666d;
	color: white;
	font-weight: 500;
	font-size: 13px;
	text-transform: none;
}

aside li a {
	color: white !important;
}

.search .result-created,
.search .result-category {
	display: none;
}

.search .result-title {
	margin-top: 20px;
}

.search .pagination ul {
	padding: 0;
	text-align: right;
	width: 100%;
}
.search .pagination ul li {
	display: inline-block;
}
.search .pagination ul li::before{
	display: none !important;
}

footer {
	font-size: 14px;
	margin: 30px 0;
	padding: 30px 0;
	background: #f1f3f5;
}

footer a {
	color: black !important;
}

footer .fb-link a {
	display: inline-block !important;
}

footer a span {
	display: block;
    width: calc(100% - 36px);
    float: right;
    margin-top: 4px;
	color:  #4f666d;
}

footer a span:hover {
	text-decoration: underline;
}

footer .dial {
	font-size: 14px;
}

footer .dial .fa-circle {
	color: #3c3f49;
}

footer .dial .fa-phone, footer .dial .fa-envelope-open {
	color: white;
}

footer .dial .fa-stack {
	margin-right: 7px;
	margin-bottom: 5px;
}

footer .dial .fa-facebook {
	color: #4267b2;
	font-size: 30px;
	padding-right: 5px;
}

footer .fastlinks {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 15px;
}

footer .fastlinks li {
	padding-bottom: 10px;
}

footer .fastlinks li:last-child {
	padding: 0;
}

footer .fastlinks a {
	color: black;
}

footer .fastlinks ul {
	list-style: none;
}

.copy {
	color: #111111;
	font-size: 12px;
	text-align: center;
	margin: 20px 0;
}

.copy .sponsors {
	margin-top: 25px;
}

.camera_caption {
	top: 0;
}

.camera_caption > div {
	background: transparent !important;
	padding: 0 !important;
}

.camera_caption > div h1.camera_caption_title {
	font-size: 40px;
	font-weight: lighter;
	margin-bottom: 15px;
}
.camera_caption > div h1.camera_caption_desc {
	font-size: 14px;
	line-height: 19px;
}

.pagination-wrapper{
	float: right;
}

.pagination-wrapper .page a {
	display: block;
	padding-top: 4px;
	width: 20px;
    text-align: center;
}

.pagination-wrapper .arrow {
	margin: 0 5px;
    text-align: center;
}

.pagination-wrapper .page.active a {
	color: black;
}

.gallery .heading {
	padding: 20px;
	background-color: #f1f3f5;
}

.gallery .heading .inner {
    line-height: 14px;
    border-left: 4px solid #3b4f56;
	padding-left: 10px;
	margin-bottom: 15px;
}

.gallery .heading p,
.gallery .heading h3 {
	margin: 0;
}

.gallery .heading p {
	padding-bottom: 0 !important;
}

.photogallery .img-wrapper {
	margin-bottom: 20px;
}

.slider {
	position: relative;
	margin-top: -15px;
}

.slider a {
	position: relative;
	z-index: 99999;
}

.next-btn,
.next-btn:hover,
.next-btn:focus {
	display: block;
    text-align: right;
    padding: 10px 15px;
    background: #f1f3f5;
    color: #4f666d;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
}

.next-btn.transparent {
	background: transparent !important;
}

.menu-wrapper-top .navbar-brand img {
	max-height: 45px;
}

.menu-wrapper-top ul.navbar-nav .dropdown-menu {
	background-color:  #4f666d;
	border-radius: 0;
    border: none;
}

.menu-wrapper-top ul.navbar-nav .dropdown-menu a {
	color: white;
	padding: 10px;
}

.menu-wrapper-top ul.navbar-nav .dropdown-menu a:hover,
.menu-wrapper-top ul.navbar-nav .dropdown-menu a:focus,
.menu-wrapper-top ul.navbar-nav .dropdown-menu a.active {
	background-color: #4f666d;
}

aside {
	margin-top: 3rem!important;
}

#searchForm .searchintro,
#searchForm .phrases,
#searchForm .only,
#searchForm .form-limit {
	display: none !important;
}

#searchForm .btn-toolbar {
	margin-top: 20px;
}

#searchForm input {
	display: block;
    width: 100%;
    height: calc(2.25rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
	border: 1px solid #ced4da;
	border-right: none;
    border-top-left-radius: .25rem;
    border-bottom-left-radius: .25rem;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

#searchForm button {
	background: white;
	border: 1px solid #ced4da;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

#open-search {
	border: navajowhite;
    background: transparent;
    margin-top: 15px;
}

#open-search:hover,
#close-search:hover {
	cursor: pointer;
}

#close-search {
	position: absolute;
    right: 0;
    top: 0;
    width: 70px;
    height: 70px;
    font-size: 70px;
    line-height: 0;
    background: transparent;
    border: none;
    color: white;
}

#search-container {
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(10, 10, 10, 0.9);
}

#search-container .input-group {
	position: absolute;
    top: calc(50% - 35px);
    left: 10%;
    width: 80%;
    height: 70px;
}

#search-container .input-group input {
	height: 70px;
    font-size: 40px;
}

#search-container.hidden {
	display: none;
}

@media (min-width: 992px) {
	.onepage .menu-wrapper-top {
		border-bottom: 1px solid #bbbbbb; 
	}

	footer .first-footer > div {
		float: left;
		padding-right: 1rem!important;
	}
}

@media (max-width: 991px) {
	img {
		float: none !important;
		clear: both;
		display: block;
		margin: auto;
	}

	#search-container .input-group input {
		font-size: 22px;
	}

	.calendar-main {
		margin-top: 15px;
	}

	main {
		margin-bottom: 0;
	}

	main ul.graphic-menu > li {
		margin-bottom: 5px;
	}

	main .calendar-item {
		margin-bottom: 25px;
	}

	main .calendar-item .content {
		border-left: none;
	}

	.unstyled-table,
	.unstyled-table * {
		display: block !important;
	}

	.slider {
		display: none;
	}

	.menu-wrapper-top img {
		margin: auto;
		display: block;
	}

	.menu-wrapper-top h1 {
		margin: 0;
		border: none !important;
		display: block;
		text-align: center;
		padding: 10px 0 0 0;
		font-size: 18px;
	}

	aside,
	main {
		margin-top: 0 !important;
	}

	footer .first-footer {
		padding-bottom: 20px;
	}

	ul {
		padding: 0;
		margin: 0;
	}

	.graphic-menu li {
		width: 100% !important;
	}
}

#jcemediabox-popup-caption:empty {
	min-height: 36px;
}
.camera_caption {
	max-width: 1140px !important;
	margin: auto;
    left: 0;
    right: 0;
}
.camera_caption > div {
	margin-right: 0 !important;
}
/* Headings, paragraphs and links inside main all carry an explicit colour of their
   own, so on the coloured table header they kept their normal dark (or teal) colour
   instead of the white the cell is painted with. This mirrors the selector that paints
   that header - the same cells, minus .unstyled - and makes everything inside inherit
   the cell colour. .unstyled cells are deliberately left alone: they have no background
   of their own, so the template's normal colours are correct there. */
main table.styled-table tr:first-child td:not(.unstyled) *,
main table.styled-left-table tr td:first-child:not(.unstyled) * {
	color: inherit;
}
