:root {
	/* page widths */
	--pg-width: 1240px;
	--breakpoint-sm: 576px;
	--breakpoint-md: 768px;
	--breakpoint-lg: 992px;
	--breakpoint-xl: 1200px;

	/* lightSlider */
	--lsHeight: 350px;

	/* colors */
	--clrBlue: #0E3F6F;
	--text-light-gray: #999;
	--mnuColor: #0E3F6F;
	--mnuColorBG: #54A9DD;
	--primaryBlue: #0E3F6F;

	--blue: #007bff;
	--indigo: #6610f2;
	--purple: #6f42c1;
	--pink: #e83e8c;
	--red: #dc3545;
	--orange: #fd7e14;
	--yellow: #ffc107;
	--green: #28a745;
	--teal: #20c997;
	--cyan: #17a2b8;
	--white: #fff;
	--gray: #6c757d;
	--gray-dark: #343a40;

	--primary: #007bff;
	--secondary: #6c757d;
	--success: #28a745;
	--info: #17a2b8;
	--warning: #ffc107;
	--danger: #dc3545;
	--light: #f8f9fa;
	--dark: #343a40;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 16px;
}

html, body {
	margin: 0;
	padding: 0;
	background-color: #EEE;
	font-size: 1em;
}

a { color: var(--clrBlue); }

.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }
.justify { text-align: justify; }

.pln { font-weight: normal; }
.bld, .bold { font-weight: bold; }
.underline { text-decoration: underline; }
.italic { font-style: italic; }

div.transparent {
	margin: 0;
	padding: 1em;
	float: left;
	min-height: 400px;
	width: 100%;
/*	background: #FFF; */
/*	background: rgba(255, 255, 0, .5); */
}

.topBar {
	background-size: cover;
}

.client_address_block {
	position: relative;
	float: right;
	padding: 1em;
	font-size: .9em;
	color: #000;
}

#hdrLogo {
	clear: both;
	margin: 1em auto;
	padding: 10px;
	border-radius: 2px;
	text-align: center;
	width: 70%;
	max-width: 250px;
}
#hdrLogo img {
	width: 100%;
	max-width: 250px;
}

#hdrAddress {
	clear: both;
	float: left;
	margin: 1em auto;
	text-align: center;
	width: 100%;
}
#pgwrap {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 350px;
}

#maincontent {
	margin: 0 auto;
	padding: 0em;
	background-color: #FFF;
	max-width: var(--pg-width);
}

/* hide menu icons */
#mainmenu i { display: none; }

#bannerTop {
	float: left;
	margin: 0 auto;
	padding: 1em;
	width: 100%;
	max-width: var(--pg-width);
	color: #D00;
}

/* used on main heading pages */
#sctDetails a { line-height: 2em; }
#sctDetails a:hover { text-decoration: none; }
#sctDetails a .fad {
	width: 1.75em;
	text-align: center;
}
#sctDetails a i {
	margin-right: 5px;
	font-size: 1.5em;
}
#sctDetails ul li ul a {
	line-height: 1.25em;
}
#sctDetails ul li ul li {
	padding-left: 10px;
	line-height: 1em;
}

.frmSearch {
	clear: both;
	margin: 1em auto;
	padding: .1em .1em .1em 1em ;
	width: 100%;
	line-height: 30px;
	border: 1px solid red;
	border-radius: 2em;
	border: 1px solid #BBB;
	background-color: #FFF;
	font-size: 1.2em;
}
.frmSearch input[type="text"] {
	margin: 0;
	padding: 0;
	padding-right: 5px;
	border: 0;
	background-color: transparent;
	line-height: 30px;
	width: calc(100% - 40px);
}
.frmSearch .fa-search {
	margin: 3px;
	border-radius: 0 1em 1em 0;
	background-color: var(--clrBlue);
	color: #FFF;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	border: 2px solid #069;
}
.frmSearch:hover {
	background-color: #FFF;
	color: var(--clrBlue);
}

#socialIcons {
	clear: both;
	text-align: center;
	margin: 1em auto;
	padding: 0;
	font-size: 1.2em;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-content: space-around;
}
#socialIcons a {
	margin: 10px;
	flex: 1 1;
	gap: 1em;
	transition: all .25s ease-out;
}
#socialIcons a:hover {
	text-shadow: 3px 3px 6px #AAA;
}

#topMenu {
	background: var(--clrBlue);
}

.pgWide {
	position: relative;
	float: left;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
.pgContent {
	margin: 0 auto;
	padding: 0;
	max-width: var(--pg-width);
}
.footer {
	background: #DDD;
	font-size: .95em;
}
.footer a { }

#secureTrust {
	float: right;
}
#h2oMenuFooter {
	float: left;
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-content: space-around;
}
#h2oMenuFooter > div {
	padding: 0 0 5px 0;
	flex: 0 0 100%;
	border-bottom: 1px solid var(--clrBlue);
}
#h2oMenuFooter > div:last-child {
	box-shadow: none;
	border-bottom: 0;
}
#h2oMenuFooter > div ul {
	list-style-type: none;
	margin: 0;
	padding: 0 10px;
}
#h2oMenuFooter > div li {
	margin-bottom: 2px;
}
#h2oMenuFooter > div li a {
	color: var(--clrBlue);
}

.col2 {
	display: flex;
	clear: both;
}
.col2 > div {
	flex: row no-wrap;
}

/* ???_main pages */
#mnuBox {
	float: left;
	clear: both;
	width: 100%
}
#sctDetails {
	padding-left: 1em;
	font-weight: bold;
}
#imgBox {
	float: left;
	margin: 0;
	padding: 0;
	width: 100%;
}
#imgBox img {
	display: block;
	width: 100%;
	box-shadow: 10px 10px 25px #555;
}
/* END ???_main pages */

.copyright {
	clear: both;
	margin: 0 auto;
	padding: 1em;
	width: 100%;
	max-width: var(--pg-width);
	font-size: .8em;
}
.fleft { float: left; }
.fright { float: right; }
.center { text-align: center; }

.red { color: #D00; }
.yellow { color: #FF0; }
.blue { color: #00D; }

.ui-tabs-nav,
.ui-widget-header {
	background-image: url(pics/h2oline.jpg);
	background-size: cover;
	rgba(0,0,0,.5);
}

.bgLarge {
	background-attachment: fixed;
	background-image: none;
	background-size: contain;
	rgba(0,0,0,.5);
}

.top_bar {
	background-color: var(--clrBlue);
	text-align: center;
	color: #DDD;
	font-weight: bold;
	text-shadow: 3px 3px 6px #000;
	-webkit-transition: filter 0.5s, background-color 0.5s, color 0.5s;
	transition: filter 0.5s, background-color 0.5s, color 0.5s;
}
.top_bar a {
	display: block;
	color: #FFF;
	text-decoration: none;
	padding: 1em;
}
.top_bar:hover {
	filter: brightness(85%);
	cursor: pointer;
}

a.external {
	padding-right: 13px;
	background: transparent url("/pics/external.png") no-repeat scroll right center;
}

#topHours  {
	padding: 5px;
	color: #FEFEFE;
	background: var(--mnuColorBG);
	text-shadow: .1em .1em .1em #888;
}

.error{
	margin: 5px;
	padding: 5px;
	border: 1px solid #D00;
	width: 100%;
	background-color: #FFE;
	color: #D00;
	font-weight: bold;
	text-align: center;
	border-radius: 5px;
}

@media (min-width: 400px) {

	.header h1 { font-size: 5em; }
	.footer_bottom_content {
		margin: 0 auto 5px auto;
	}
	#footer_menu > li { width: 45%; }
}

@media (min-width: 640px) {

	.header h1 { font-size: 3em; }
	#hdrLogo {
		margin: 1em;
		clear: left;
		float: left;
		width: auto;
	}
	#hdrAddress {
		clear: right;
		float: left;
		margin: 1em auto;
		width: auto;
		text-align: left;
	}
	#mainmenu { z-index: 225; }

	/* hide menu icons */
	#mainmenu i { display: inline-block; }

	#footer_menu > li { width: 30%; }
	#h2oMenuFooter > div {
		float: left;
		flex: 1 1 50%;
		border: 0;
		box-shadow: none;
	}
}

@media (min-width: 768px) {

	#srchTop {
		margin-right: 1em;
		clear: right;
		float: right;
		width: auto;
	}
	#socialIcons {
		margin-right: 1em;
		clear: right;
		float: right;
		width: auto;
	}

	.bgLarge {
		/* background-image: url('../pics/river.jpg'); */
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-position: center top;
		background-size: cover;
	}

	.header h1 { font-size: 3.5em; }
	#mainmenu > ul {
		margin: 0 auto;
		max-width: var(--pg-width);
	}
	.footer_bottom_content .left {
		width: auto;
		float: left;
		text-align: left;
	}
	.footer_bottom_content .right {
		width: auto;
		float: right;
		text-align: right;
	}
	#footer_menu > li { width: auto; }
	nav a {
		font-size: 1.2em;
		padding: 1em 1.5em;
	}
	#h2oMenuFooter > div {
		float: left;
		flex: 1 1 25%;
	}

	/* ???_main pages */
	#mnuBox {
		padding-right: 20px;
		width: 60%;
		max-width: 350px
		clear: left;
	}
	#imgBox {
		padding-right: 20px;
		float: right;
		width: 40%;
	}
	/* END ???_main pages */
}

@media (min-width: var(--pg-width)) {

	#logo {
		top: -165px;
		left: -50px;
	}
	#bg_loop img {
		object-position: 50% 25%;
	}
	.header h1 { font-size: 4em; }

	#main_details { text-align: left; }
	.btnReg {
		position: absolute;
		bottom: 0;
		right: .5em;
	}
	.btnReg a {
		font-size: 1em;
	}
	#main_details .lbl {
		clear: left;
		float: left;
		text-align: right;
		width: 20%;
	}
	#main_details .dat {
		float: left;
		width: 60%;
	}

	.bgLarge {
		background-image: url(./pics/river.jpg);
	}
}

/* Printed Material */
@media print {

	#bg_top,
	.header,
	.frmSearch,
	#socialIcons,
	#fcSelDate,
	nav,
	.zac-expand-holder,
	.zac-header .ui-zac-header-icon,
	.top_bar,
	.footer
	 {
		display: none;
	}

	.fc-today-button .fc-button .fc-button-primary
	 {
		display: none;
	}

	#mainmenu i { display: none; }

	.header {
		color: #000;
		background: none;
		text-shadow: none;
	}
	#zac .ui-zac-content {
		display: block !important;
	}
}
