﻿/* -----------------------------------------------------------------------
	MAIN
---------------------------------------------------------------------------*/
html {
  height: 100%;
}

body { 
	height: 100%; 
	margin: 0;
	padding: 0;
	font-family:"Noto Sans","Verdana","Arial",serif;
}

.page-wrap {
  min-height: 100%;
  /* equal to footer height */
}

.page-wrap:after {
  content: "";
  display: block;
}

p {
	margin-bottom:0px;
	color:#000000;
	line-height: 1.3;
}

label {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}


/* -----------------------------------------------------------------------
	Stopfloats
---------------------------------------------------------------------------*/
div.stopfloat
{
	clear:both;
}

@media (max-width: 779px) {
	div.stopfloatmobile
	{
		clear:both;
	}
}


/* -----------------------------------------------------------------------
	General Display Styles
---------------------------------------------------------------------------*/
.dspblock {
	display:block;	
}

.dspinline {
	display:inline;
}

.dspnone {
	display:none;
}

.strong {
	font-weight:bold;
}

.small {
	font-size:80%;
}

.dateposted {
	font-size:80%;
	font-style: italic;
}

.extrapadding {
	padding:0 1em 1em 1em;
}

.sidepadding {
	padding:0 .75em;
}

.largeindent {
	padding:0 2em;
}

.smallwithpad {
	padding:4px;
	margin:0;
	font-size:95%;
	line-height: 1.4;
}

.divlinebreak {
	padding-top:1.5em;
}

/* -----------------------------------------------------------------------
	Mobile/Tablet/Desktop Hide & Display Styles
---------------------------------------------------------------------------*/
@media (max-width: 779px) {
	.largescreenbr 
	{
		display:none;
	}

	.dspdesktoponly {
		display:none;
	}

	div.left30 {
		width:100%;
		display:block;
	}

	div.right70 {
		width:100%;
		display:block;
	}

	div.left70 {
		width:100%;
		display:block;
	}

	div.right30 {
		width:100%;
		display:block;
	}

	div.left50 {
		width:100%;
		display:block;
	}

	div.right50 {
		width:100%;
		display:block;
	}

	div.left25 {
		width:100%;
		display:block;
	}

	div.right25 {
		width:100%;
		display:block;
	}

	div.middle50 {
		width:100%;
		display:block;
	}
}

@media (min-width: 780px) and (max-width:1199px) {
	.dspdesktoponly {
		display:none;
	}
}

@media (min-width: 1200px) {
	.hidedesktop {
		display:none;
	}

	.dspdesktoponly {
		display:block;
	}
}

@media (min-width: 780px) {
	.mobileonly {
		display:none;
	}

	div.left30 {
		width:30%;
		float:left;
	}

	div.right70 {
		width:70%;
		float:right;
	}

	div.right30 {
		width:30%;
		float:right;
	}

	div.left70 {
		width:70%;
		float:left;
	}

	div.left50 {
		width:48%;
		float:left;
	}

	div.right50 {
		width:48%;
		float:right;
	}

	div.left25 {
		width:25%;
		float:left;
	}

	div.right25 {
		width:25%;
		float:right;
	}

	div.middle50 {
		width:48%;
		float:left;
	}
}

/* -----------------------------------------------------------------------
	hr styles 
---------------------------------------------------------------------------*/
hr.thinblue {
	height: 2px;
	color: #EDE1CA;
	background-color: #EDE1CA;
	border: none;
	width:85%;
}


/* -----------------------------------------------------------------------
	img styles 
---------------------------------------------------------------------------*/
img {
	border:0;
}

img.megamenudownarrow {
	padding-left:4px;
}


/* -----------------------------------------------------------------------
	Named Tables - tbl_noborder_paddingall
---------------------------------------------------------------------------*/
table.tbl_noborder_paddingall {
	border-collapse:collapse;
	border:0;
}

table.tbl_noborder_paddingall td, th {
	border:0;
	padding: 6px 12px 6px 12px;
}


/* -----------------------------------------------------------------------
	Named Tables - tbl_borders_paddingall 
---------------------------------------------------------------------------*/
table.tbl_borders_paddingall {
	border: 1px solid gray;
	border-collapse: collapse;
	padding:5px;

}

.tbl_borders_paddingall>tbody>tr>td,
.tbl_borders_paddingall>thead>tr>th {
	border: 1px solid gray;
	padding:8px 15px;
}


/* -----------------------------------------------------------------------
	Named Tables - tbl_borders_smallpadding
---------------------------------------------------------------------------*/
table.tbl_borders_smallpadding {
	border: 1px solid gray;
	border-collapse: collapse;
	padding:4px;

}

.tbl_borders_smallpadding>tbody>tr>td,
.tbl_borders_smallpadding>thead>tr>th {
	border: 1px solid gray;
	padding:3px 4px;
}


/* -----------------------------------------------------------------------
	Named Tables - tbl_bordershorizontal_paddingall 
---------------------------------------------------------------------------*/
table.tbl_bordershorizontal_paddingall  {
	border: 1px solid #CAB186;
	border-collapse: collapse;
	padding:5px;

}

.tbl_bordershorizontal_paddingall>tbody>tr {
	border: 1px solid #CAB186;
}

.tbl_bordershorizontal_paddingall>tbody>tr>td,
.tbl_bordershorizontal_paddingall>tbody>tr>th {
	padding:8px 15px;
}


/* -----------------------------------------------------------------------
	header styles & initial display settings for mobile/regular menu
---------------------------------------------------------------------------*/
.headerwrapper {
	width: 100%;
	margin: 0;
	padding:0;
	z-index: 4;
}

.bottomheader {
	width: 100%;
	margin: 0 auto;
	padding:0;
	z-index: 4;
}

@media (max-width: 779px) {
	.centerheadercontent {
		min-width:275px;
		width:95%;
		margin:0 auto;
	}
}

@media (min-width: 780px) {
	.centerheadercontent {
		position:relative;
		margin: 0 auto;
	}
}

@media (min-width: 780px) and (max-width:1199px) {
	.centerheadercontent {
		width: 750px;
	}
}

@media (min-width: 1200px) {
	.centerheadercontent {
		width: 1100px;
	}
}

@media (max-width: 779px) {
	.setupdisplay {
		display:none;
	}
	.setupnavbar {
		display:none;
	}
	.topheader {
		width: 100%;
		margin: 0;
		padding:5px 0;
		z-index: 4;
		min-height:15px;
	}

	.middleheader {
		width: 100%;
		margin: 0;
		padding: 5px 0;
		z-index: 4;
		min-height:20px;
	}
}

@media (min-width: 780px) {
	.topheader {
		width: 100%;
		margin: 0;
		padding:10px 0 30px 0;
		z-index: 4;
		min-height:35px;
	}

	.middleheader {
		width: 100%;
		margin: 0;
		padding: 10px 0;
		z-index: 4;
		min-height:55px;
	}

	.setupdisplay {
		display:block;
		text-align:right;
	}

	.setupnavbar {
		display:block;
	}
}

/* -----------------------------------------------------------------------
	skip styles 
---------------------------------------------------------------------------*/
.skip {
	position: absolute;
	top: -1000px;
	left: -1000px;
	height: 1px;
	width: 1px;
	text-align: left;
	overflow: hidden;
    }
    
a.skip:active, 
a.skip:focus, 
a.skip:hover {
	left: 0; 
	top: 0;
	width: auto; 
	height: auto; 
	overflow: visible; 
	z-index:1000;
    }


/* -----------------------------------------------------------------------
	Mobile Menu 
---------------------------------------------------------------------------*/
@media (max-width: 779px) {
	#mobilemenu {
		position:relative;
		height:100%;
		margin-left:5px;
		text-align:right;
	}

	#mobilemenu img {
		width:20%;
		max-width:40px;
		min-width:15px;
		padding-top:3px;
		margin:0;
	}

	#toplogoimg {
		width:70px;
		position:absolute;
		top:5px;
		left:5px;
	}

	.hovermobileimg {
		display:none;
	}

	#searchbox {
		float:right;
		text-align:right;
		margin-top:1em;
	}
	#idSearchString {
		border:solid 1px black;
	}

	#socialmedia {
		padding:1em 0;
		margin-top:1.5em;
		text-align:right;
	}
}

@media (min-width: 780px) {
	#mobilemenu {
		display:none;
	}
}


/* -----------------------------------------------------------------------
	Mobile Menu - on homepage, mobilemenuul is the mobile menu
---------------------------------------------------------------------------*/
@media (max-width: 779px) {
	#mobilemenuul > a {
		text-decoration:none;
	}
	
	#mobilemenuul {
		list-style:none;
		margin:0;
		padding:0;
	}

	#mobilemenuul li {
		margin-left:0;
		padding-left:0;
	}

	#mobilemenuul a {
		text-decoration:none;
	}

	#mobilemenuul a:focus,
	#mobilemenuul a:hover  {
		text-decoration:underline;
	}

	#mobilemenuul>li>a>div {
		padding:.5em;
	}

	#mobilemenuul>li {
		border-top-style:solid;
		border-top-width:2px;
	}

	#mobilemenuul ul a div {
		padding:.4em;
	}
	
	#mobilemenuul ul {
		list-style:none;
		width:100%;
		padding:0;
		margin:0;
	}

	#mobilemenuul>ul>li{
		font-weight:bold;
	}

	#mobilemenuul>ul ul{
		width:100%;
	}

	#mobilemenuul ul>li {
		border-top-style:solid;
		border-top-width:1px;
	}

	#mobilemenuul>ul ul>li{
		padding:3px 0 3px 2em;
		font-weight:normal;
	}

	#mobilemenuul ul>li {
		border-top-style:solid;
		border-top-width:1px;
	}

	.mobilemenuclose  {
		padding:.4em;
		border-top-style:solid;
		border-top-width:2px;
		font-size:95%;
	}
}

@media (min-width: 780px) {
	#mobilemenuul {
		display:none;
	}
}

/* -----------------------------------------------------------------------
	Inside Header Wrapper Styling 
---------------------------------------------------------------------------*/
#logoarea {
	position:relative;
	float:left;
}

#logoarea  a {
	text-decoration:none;
}

#slogan {
	margin:0;
	padding:0 10px;
	position:relative;
	float:left;
}

#socialmedia {
	padding-top:10px;
	text-align:right;
	float:right;
}

#searchbutton {
	vertical-align:bottom;
}

@media (max-width: 779px) {
	#slogan {
		display:none;
	}
}

@media (min-width: 780px) {
	#menu {
		display:block;
	}
	#searchbox {
		display:block;
		text-align:right;
	}

	#socialmedia {
		display:block;
	}
}


/* -----------------------------------------------------------------------
	MEGA MENU
---------------------------------------------------------------------------*/
.sub-nav a {
	text-decoration:none;
	font-size:95%;
}

@media (min-width: 780px) {
.nav-menu {
	display: block;
	position: relative;
	list-style: none;	
	margin: 0 auto;
	padding: 0;
	width:100%;
	z-index: 75;
}

/* a top level navigation item in the mega menu */
.nav-item {
	list-style: none;
	display: inline-block;
	padding: 0;
	margin: 0;
}

/* first descendant link within a top level navigation item */
.nav-item > a {
	position: relative;
	display: inline-block;
	padding: 15px 8px;
	margin: 0 0 -1px 0;
	border: 2px solid transparent;
	text-decoration:none;
}

.nav-item > a:hover {
	border-bottom:none;
	z-index:50;
}

/* open state of first descendant link within a top level navigation item */
.nav-item > a.open {
	border-bottom: none;
	z-index: 50;
}

/* sub-navigation panel */
	.sub-nav {
		position: absolute;
		display: block;
		visibility: hidden;
		opacity: 0;
		overflow-x:hidden;
		overflow:auto !important;
		z-index:300;
		max-height:75vh;
		margin-top: -1px;
		padding: 0.5em 0;
		border-top:1px solid transparent;
		-webkit-transition: opacity 250ms, visibility 20ms;
		-moz-transition: opacity 250ms, visibility 20ms;
		-ms-transition: opacity 250ms, visibility 20ms;
		-o-transition: opacity 250ms, visibility 20ms;
		transition: opacity 250ms, visibility 20ms;
		transition-delay:200ms;

	}

	/* sub-navigation panel open state */
	.sub-nav.open {
		display: block;
		visibility: visible;
		opacity: 1;
		-webkit-transition: opacity 300ms, visibility 300ms;
		-moz-transition: opacity 300ms, visibility 300ms;
		-ms-transition: opacity 300ms, visibility 300ms;
		-o-transition: opacity 300ms, visibility 300ms;
		transition: opacity 300ms, visibility 300ms;
		transition-delay:370ms;
	}

.sub-nav>.sub-nav-group-viewall {
	text-align:center;
	margin:1em 0 0 0;
	padding:1em 0;
}

.sub-nav-group-viewall>li {
	font-size:105%;
	font-weight:bold;
}

.sub-nav-group-1col {
	max-width:100%;
}

.sub-nav-group-2col {
	max-width:48%;
}

.sub-nav-group-3col {
	max-width:32.5%;
}

.sub-nav-group-4col {
	max-width:24.5%;
}

/* list of items within sub-navigation panel */
.sub-nav ul {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 0;
	width:100%;
}

/* list item within sub-navigation panel */
.sub-nav li {
	display: block;
	list-style-type: none;
	margin: 0 1.5em;
	padding: 7px 0;
}

.sub-nav li a:focus,
.sub-nav li a:hover  {
	text-decoration:underline;
}

.sub-nav li.hidedesktop {
	display:none;
}

.sub-nav-group.hidedesktop {
	display:none;
}

}




@media (min-width: 1200px) {
.nav-item > a {
	padding: 12px 20px;
	font-size:105%;
}
}


@media (max-width: 779px) {
.nav-menu {
	list-style: none;
	margin:0 0 1em 0;
	padding:0 0 1em 0;	
}

.nav-item {
	list-style: none;
	padding:1em 1em 0 1em;

}

.sub-nav-group.hidemobile {
	display:none;
}

.sub-nav li {
	list-style-type: none;
	padding:.5em;
}

.sub-nav li.hidemobile {
	display:none;
}

.sub-nav li.sub-nav-header {
	display:none;
}
}

/* -----------------------------------------------------------------------
	sidenav
---------------------------------------------------------------------------*/
@media (max-width: 779px) {
	.sidenav {
		display:none;
	}

	#hidesidebar {
		display:none;
	}

	#sidemenu > a {
		text-decoration:none;
	}
	
	#sidemenu {
		list-style:none;
		margin-left:0;
		margin:0;
		padding:0;

	}
	
	#sidemenu li {
		margin-left:0;
		padding-left:0;

	}

	#sidemenu a {
		text-decoration:none;
	}

	#sidemenu a:focus,
	#sidemenu a:hover  {
		text-decoration:underline;
	}

	#sidemenu>li>a>div {
		padding:.5em;
	}

	#sidemenu>li {
		border-top-style:solid;
		border-top-width:2px;
	}

	#sidemenu ul a div {
		padding:.4em .4em .4em 3em;
	}
	
	#sidemenu ul {
		list-style:none;
		width:100%;
		padding:0;
		margin:0;
	}

	#sidemenu ul>li {
		border-top-style:solid;
		border-top-width:1px;
	}

	.sidemenuclose  {
		padding:.5em;
		border-top-style:solid;
		border-top-width:2px;
	}
}

@media (min-width: 780px) {
	#sidemenu {
		display:block;
	}

	#sidenavholder {
		position:relative;
		float:left;
		margin: 0;
		padding:0;
		z-index: 4;
	}

	#hidesidebar {
		padding:5px;
		display:block;
	}

	#hidesidebar a:focus,
	#hidesidebar a:hover  {
		text-decoration:underline;
	}

	#hidesidebar ul {
		padding-left:1em;
		margin:0;
	}

	#hidesidebar li {
		line-height: 1.4;
	}

	#sidemenu {
		list-style: none;	
		padding: 0;
		margin: 0;
	}

	#sidemenu div {
		padding:.4em;
	}

	#sidemenu>li>a {
		width:100%;
		text-decoration:none;
	}

	#sidemenu li ul {
		list-style: none;
		padding:0;
		margin:0;
	}

	#sidemenu li ul li a div {
		padding-left:1.5em;
	}
}


/* -----------------------------------------------------------------------
	breadcrumbs
---------------------------------------------------------------------------*/
.breadcrumbs {
	padding:0;
	margin:0;
}

.breadcrumbs div {
	padding:0;
	margin:0;
}

.breadcrumbs a {
	text-decoration:none;
	font-size:90%;
}

.breadcrumbs a:focus,
.breadcrumbs a:hover {
	text-decoration:underline;
	font-weight:bold;
}

@media (min-width: 780px) and (max-width:1199px) {
	.breadcrumbs {
		width:580px;
	}
}

@media (min-width: 1200px) {
	.breadcrumbs {
		width:880px;
	}
}


/* -----------------------------------------------------------------------
	content_box styles
---------------------------------------------------------------------------*/
@media (max-width: 779px) {
	#content_box {
		position:relative;
		width:100%;
		margin: 0px auto;
		z-index: 22;
		display:block;
		min-width:275px;
		width:95%;
	}
}

@media (min-width: 780px) {
	#content_box {
		margin: 0;
		z-index: 3;
		padding:0;
	}
}

@media (min-width: 780px) and (max-width:1199px) {
	#content_box {
		position:relative;
		float:right;
		width:580px;
		z-index: 4;
	}
}

@media (min-width: 1200px) {
	#content_box {
		position:relative;
		float:right;
		width:880px;
		z-index: 4;
	}
}

.insidecontents {
	font-size:90%;
}


.insidecontents ul li {
	padding-bottom:6px;
}



/* -----------------------------------------------------------------------
	Positioning Boxes
---------------------------------------------------------------------------*/
.bodydivider {
	margin-top:1em;
}


/* -----------------------------------------------------------------------
	Bottom Bar
---------------------------------------------------------------------------*/
#bottombar {
	position:relative;
	width:100%;
	margin: 0 auto;
	padding-top:10px;
	text-align:center;
	font-size:90%;
	height:130px;
}

#bottombar a:focus {
	font-weight:bold;
}