/**********************************************************************************
	Fonts
**********************************************************************************/

@import url('https://fonts.googleapis.com/css?family=Roboto:400,700|Montserrat:400,700');

html, html a {
    -webkit-font-smoothing: antialiased;
/*    text-shadow: 1px 1px 1px rgba(0,0,0,0.004); */
}


/**********************************************************************************
	111 Overwrites
**********************************************************************************/

.SideColDiv .w_BlogFeed,
.SideColDiv .w_NewsFeed,
.SideColDiv .w_ShoppingBasket,
.SideColDiv .w_Custom,
.SideColDiv .w_Twitter,
.SideColDiv .w_Poll,
.SideColDiv .w_PageContent,
.SideColDiv .w_AltContent {
	padding: 0px;
}
.SideColDiv h3,
.SideColDiv h4 {
	padding: 0;
	margin: 0;
}
body.big1 #contentWrap {
	width: auto;
	padding: 0;
}
body.big1 #mainBtm { display: none; }

.fb_iframe_widget span { width: auto !important; }



/**********************************************************************************
	HTML
**********************************************************************************/

body {
    color: #555;
	font-size: 1em;
	font-family: 'Roboto', sans-serif;
    background-color: #072638;
    background-color: #121617;
}

a {
	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
}
a:hover { color: #333; }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;
	font-size: 1.7em;
	font-weight: 400;
	color: #1f6a87;
	line-height: 1.1em;
}
h1 { 
	font-size: 2em;
	color: #d01819; /* red */
	color: #164d5e;
}
h2 { font-size: 1.8em; }
h3 { font-size: 1.6em; }

h1, p { margin-top: 0; }

strong,
b {
	font-weight: bold;
	font-weight: 700;
}

table td {
	vertical-align: unset;
}



/**********************************************************************************
	Main Structure
**********************************************************************************/

#container {
	position: relative;
	width: auto;
	margin: 0 auto;
}

body.right1 #contentWrap,
body.right1 #mainDiv1 {
	display: inline-block;
	box-sizing: border-box;
    float: left;
    padding: 0;
}
body.right1 #contentWrap {
    width: 67%;
}
body.right1 #mainDiv1 {
    float: right;
    width: 30%;
    padding: 24px 0 0;
}

#headerDiv1 {
	background-color: #0d2c40;
	border-bottom: 1px solid #fff;
}

#headerDiv1,
#headerDiv1 * {
	line-height: 0;
}
body.page_0 #headerDiv1,
body.page_0 #headerDiv1 * {
	line-height: 1em;
}

a.logo {
	display: block;
	text-align: center;
	margin: 0 auto;
}
a.logo-hdr img {
	width: 100%;
	max-width: 1200px;
}
a.logo-mark img {
	width: 100%;
	max-width: 200px;
}


#headerDiv1 .w_PageContent,
#footerDiv1 {
	width: auto;
	max-width: 1200px;
}




/**********************************************************************************
	Navigation
**********************************************************************************/

a.navmenu {
	display: none;
}
.show-menu,
.hide-menu {
	display: block;
}

#headerDiv2 {
	background-color: #121617;
	border: 4px solid #308297;
	border-width: 4px 0;
	padding: 8px 24px;
	padding: 0;
	text-align: center;
}

.w_SiteNav {
	width: auto;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}

ul.TopNav {
	display: inline-block;
	margin: 0 auto;
}

ul.TopNav li {
	position: relative;
	margin: 0 -2px;
	list-style-type: none;
	font-weight: bold;
	text-align: left;
	cursor: pointer;
	float: left;
	float: none;
	display: inline-block;
}

ul.TopNav li a:link,
ul.TopNav li a:visited {
	display: block;
	float: none;
	padding: 14px;
	margin: 0;
	background-color: transparent;
	font-weight: 400;
	font-size: 0.825em;
	color: #aaa;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
}
ul.TopNav li.selectedPage a,
ul.TopNav li a:hover {
	color: #fff;
	background-color: #308297;
}

ul.TopNav li ul {
	top: 47px !important;
}

ul.TopNav li ul li {
	padding: 0;
	margin: 0;
	border: none;
	width: auto !important;
	overflow: hidden;
	display: block;
}

ul.TopNav li ul li a:link,
ul.TopNav li ul li a:visited {
	white-space: nowrap;
	margin: 0;
	padding: 8px;
	background-color: #308297;
	width: auto !important;
}
ul.TopNav li ul li a:hover {
	background-color: #0d2c40;
	color: #fff;
	text-shadow: none !important;
}


#midbarDiv {
	box-sizing: border-box;
	background-color: #e3e3e3;
	padding: 0 4px;
	text-align: center;
}
#midbarDiv .subsites {
	text-align: center;
}
#midbarDiv a.subsite {
	display: inline-block;
	text-decoration: none;
	margin: 0 4px;
	padding: 6px 12px;
	background-color: #2d2a2a;
	border: 2px solid #1d1d1d;
	color: #fff;
	font-weight: 400;
	font-size: 0.825em;
	border-radius: 0 0 8px 8px;
	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
}
#midbarDiv a.subsite:hover {
	background-color: #1d1d1d;
}



/* Hide Home Button on Home Page */
/*
	ul.TopNav #Nav_0 {
		display: none;
	}
*/

/* If last nav item is flush right, flush subnav as well */
/*
	ul.TopNav > li:last-child ul {
		left: auto;
		right: 0;
	}
*/



/**********************************************************************************
	Content
**********************************************************************************/

#contentContainer p {
	line-height: 1.7em;
}

#contentWrapper {
	padding: 24px;
	box-sizing: border-box;
	width: auto;
	max-width: 1200px;
	min-height: 400px;
}

#mainWrap {
	background-color: #fff;
	border-bottom: 4px solid #308297;
}


/*
body.centeredcols #contentWrap,
body.centeredcols #mainDiv1,
body.centeredcols #mainDiv2 {
	padding: 0;
}

body.centeredcols #mainDiv1 {
    float: none;
    width: auto;
    margin: 0;
    display: block;
}

body.centeredcols #contentWrap {
    float: left;
    width: 68%;
}

body.centeredcols #mainDiv2 {
    float: right;
    width: 26%;
}



body.right2 #contentWrap,
body.right2 #mainDiv1,
body.right2 #mainDiv2 {
	padding: 0;
}


body.right2 #mainDiv2 {
    float: none;
    width: auto;
    margin: 0;
    display: block;
}

body.right2 #contentWrap {
    float: left;
    width: 68%;
}

body.right2 #mainDiv1 {
    float: right;
    width: 26%;
}

body.right2 #mainDiv2 {
    clear: both;
}
*/





.blogFeed_post {
	border-bottom: 1px solid #eee;
}
.blogFeed_post:nth-of-type(1) {
	border-top: 1px solid #eee;
}

.w_BlogFeed h3 {
	margin: 0 0 12px;
	padding: 0 4px;
}

.blogFeed_post h4 {
	margin: 0;
	font-size: 0.75em;
	padding: 0px 0 8px;
}

.blogFeed_post h4 a {
	text-decoration: none;
	display: block;
	-o-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	padding: 2px 4px;
}

.blogFeed_post h4 a:hover {
	text-decoration: none;
	background-color: #eee;
}

.blogFeed_post_date {
	padding: 8px 4px 0;
	color: #aaa;
	font-size: 0.7em;
	font-weight: 400;
}

.blog_nav {
	border: none;
}

#blog_components_top {
	border: none;
	padding-top: 12px;
}


#blog_components_links {
	display: none;
	display: block;
}


#blog_components_top #blog_categories {
	display: block;
	display: none;

}
#blog_components_top h2 {
	margin: 12px 0;
	font-size: 16px;
	padding: 0px 0 8px;
}


#blog_components_links a:link,
#blog_components_links a:visited {
    display: inline-block;
    float: none;
    padding: 4px 8px;
    margin: 2px 0;
    font-weight: 400;
    font-size: 0.75em;
    text-decoration: none;
    border: 2px solid #e3e3e3;
    background-color: #2d2a2a;
    color: #aaa;
}
#blog_components_links a:hover {
    display: inline-block;
    background-color: #2d2a2a;
    color: #fff;
}


#contentDiv img {
	height: initial !important;
}






/* Sub Nav */
ul.SiteSubNav {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
}
ul.SiteSubNav li {
	border-bottom: 1px solid #ccc;
}
ul.SiteSubNav li:first-child {
	border-top: 1px solid #ccc;
}
ul.SiteSubNav li a {
	display: block;
	box-sizing: border-box;
	padding: 12px;
	text-decoration: none;
}
ul.SiteSubNav li.selectedPage a,
ul.SiteSubNav li a:hover {
	background-color: #eee;
}

/* Alt Content */
#mainDiv1 .w_AltContent {
	font-size: 0.9em;
	line-height: 1.5em;
	margin-bottom: 18px;
	padding: 12px;
	color: #777;
}



/**********************************************************************************
	Footer
**********************************************************************************/

#footer {
	border-top: 1px solid #fff;
}

#footerDiv1 .w_PageContent {
	box-sizing: border-box;
	display: inline-block;
	width: 49%;
	float: left;
	padding: 24px;
	font-size: 0.8em;
}
#footerDiv1 .w_PageContent:nth-of-type(2) {
	float: right;
	text-align: right;
}

a.logo-ftr {
	display: inline-block;
}
a.logo-ftr img {
	width: 100%;
	max-width: 150px;
}

#footer a:hover {
	color: #fff !important;
}


.footer_links {
	margin: 0;
	padding: 0;
}

.footer_links ul {
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.footer_links li a {
	display: block;
	padding: 8px 12px;
	margin-bottom: 1px;
	background-color: transparent;
	border-bottom: 1px solid #3a3a3a;
	text-decoration: none;
	color: #888;
}
.footer_links li:first-child a {
	border-top: 1px solid #3a3a3a;
}
#footer a:hover,
.footer_links li a:hover {
	color: #fff;
}

/* Let's hide footer subnavs. For great justice. */
.footer_links ul li ul,
.footer_links ul li ul li {
	display: none;
}


#footerDiv1 .w_PageContent a[href^="tel"],
#footerDiv1 .w_PageContent a[href^="mailto"] {
	display: inline-block;
	margin-top: 8px;
	font-size: 1.3em;
	text-decoration: none;
	color: #fff;
	padding: 12px 18px;
	background-color: #2a2c31;
}
#footerDiv1 .w_PageContent a[href^="mailto"] {
	font-size: 1.2em;
}
#footerDiv1 .w_PageContent a[href^="tel"]:hover,
#footerDiv1 .w_PageContent a[href^="mailto"]:hover {
	background-color: #308297;
}
#footerDiv1 .w_PageContent a[href^="tel"]:before,
#footerDiv1 .w_PageContent a[href^="mailto"]:before {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: "\f095";
	padding-right: 8px;
}

#footerDiv1 .w_PageContent a[href^="mailto"]:before {
	content: "\f0e0";
}

#footer .footer-contact-wrapper {
	display: inline-block;
	text-align: center;
}

#footer .socials {
/*
	display: inline-block;	
	text-align: right;
*/
	display: block;	
	text-align: center;
}
#footer .socials a {
	display: inline-block;
	padding: 12px;
	color: #fff;
}
#footer .socials a:hover {
	color: #d01819 !important;
}
#footer .socials .fa {
	font-size: 3em !important;
}


@media screen and ( max-width: 600px ) {
	.footer_links li a {
		padding: 12px 12px;
		font-size: 0.9em;
	}
	.social_footer {
		text-align: center;
	}
	#footerDiv1 .w_Custom,
	#footerDiv1 .w_PageContent {
		display: block;
		float: none;
		margin: 0;
		margin-top: 18px;
		margin-bottom: 18px;
		width: auto;
	}
	#footerDiv1 .w_PageContent:nth-of-type(2) {
		text-align: center;
		float: none;
		line-height: 1.5em;
		font-size: 0.9em;
		padding-top: 24px;
	}
	.footer_links li a {
		text-align: center;
	}
	#footerDiv1 .w_PageContent a[href^="tel"],
	#footerDiv1 .w_PageContent a[href^="mailto"] {
		font-size: 0.8em;
	}
}





/**********************************************************************************
	Global Classes
**********************************************************************************/

.left,
.right {
	float: left;
	display: inline-block;
	box-sizing: border-box;
}
.right { float: right; }

@media screen and ( max-width: 650px ) {
	.left,
	.right {
		float: none !important;
		display: block !important;
		width: auto !important;
		margin-bottom: 24px !important;
	}
}

.txt-btn {
	display: inline-block;
	box-sizing: border-box;
	background-color: #ddd;
	color: #4c3a86;
	font-weight: normal;
	font-weight: 300;
	font-size: 0.9em;
	padding: 8px 12px;
	text-decoration: none;
	border-radius: 6px;
	-webkit-transition: all 0.3s ease-in-out;
	   -moz-transition: all 0.3s ease-in-out;
	     -o-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
}
.txt-btn.large {
	font-size: 1.5em;
	padding: 10px 18px;
}

a.txt-btn:hover {
	background-color: #bbb;
}

.txt-btn.gray {
	background-color: #ddd;
	color: #fff;
}
a.txt-btn.gray:hover {
	background-color: aaa;
}

table.columns {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}
table.columns.col2 td {
	width: 50%;
}
table.columns.col3 td {
	width: 33.33%;
}
table.columns.col4 td {
	width: 25%;
}
table.columns td {
	box-sizing: border-box;
	padding: 12px;
}

@media ( max-width: 780px ) {
	table.columns.col4 td {
		width: 50%;
	}
}
@media ( max-width: 640px ) {
	table.columns.col2 td,
	table.columns.col3 td,
	table.columns.col4 td {
		display: block;
		width: auto;
	}
}



/**********************************************************************************
	Default
**********************************************************************************/

blockquote {
	padding: 12px 24px;
	border-left: 1px solid #eee;
}



/**********************************************************************************
	Admin
**********************************************************************************/

body.page_0 #header { z-index: 1; }



/**********************************************************************************
	Responsive
**********************************************************************************/

@media screen and ( max-width: 850px ) {
	
	#headerDiv2 {
		padding: 0;
	}

	a.navmenu {
		display: block;
		text-align: center;
		text-decoration: none;
		font-size: 1.8em;
		padding: 18px 6px;
		border: none;
		position: relative;
		-o-transition: all 0.3s ease-in-out;
		-moz-transition: all 0.3s ease-in-out;
		-webkit-transition: all 0.3s ease-in-out;
		transition: all 0.3s ease-in-out;
	}
	a.navmenu.inactive {
		background-color: #0d2d41;
		color: #fff;
	}
	a.navmenu.active,
	a.navmenu.active:hover,
	a.navmenu.inactive:hover {
		background-color: #fff;
		color: #0d2d41;
	}
	a.navmenu span {
		display: inline-block;
		vertical-align: middle;
		font-size: 0.5em;
		text-transform: uppercase;
		padding-bottom: 3px;
	}

	a.navmenu.inactive span:before {
		content: 'open ';
	}
	a.navmenu.active span:before {
		content: 'close ';
	}


	.show-menu {
		display: block;
	}
	.hide-menu {
		display: none;
	}

	ul.TopNav {
		display: block;
		width: auto;
		position: relative;
		margin: 0;
		padding: 0;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
	}
	ul.TopNav li,
	ul.TopNav li:hover,
	ul.TopNav a:hover {
		background: transparent;
	}
	ul.TopNav li {
		display: block;
		float: none;
		border-top: 1px solid #fff;
		margin: 0;
	}
	ul.TopNav li:first-child {
		border-top: none;
	}

	ul.TopNav li a:link,
	ul.TopNav li a:visited {
		display: block;
		width: auto;
		margin: 0;
		padding: 18px 14px;
		text-align: center;
	}

	.w_SiteNav br {
		display: none;
	}
	ul.TopNav li ul {
		width: auto;
		position: relative !important;
		display: block;
		left: 0 !important;
		top: 0 !important;
	}
	ul.TopNav li ul li a:link,
	ul.TopNav li ul li a:visited {
		display: block;
		width: auto;
		position: relative !important;
		margin: 0;
		padding: 18px 8px;
		background-color: #333;
		color: #fff;
		font-size: 0.85em;
	}
	ul.TopNav li:hover ul,
	ul.TopNav li:hover ul.ulChildren,
	ul.TopNav li.msieFix ul {
		display: block;
		position: relative !important;
		z-index: 999;
		top: 0;
	}
	ul.TopNav li ul {
		top:36px;
		margin-top: 0;
	}

	ul.TopNav li:hover a,
	ul.TopNav li a:hover,
	ul.TopNav li ul li a:hover {
		background-color: #308297;
		color: #fff;
	}

	body.right1 div#contentWrap,
	body.right1 div#mainDiv1 {
		display: block;
		position: relative;
		box-sizing: border-box;
	    float: none;
	    width: auto;
	    padding: 0;
		background-color: transparent;
	}
	body.right1 div#mainDiv1 {
		border-top: none;
		padding: 24px 0;
	}
}


/*
@media screen and ( max-width: 740px ) {
	body.right1 div#contentWrap,
	body.right1 div#mainDiv1 {
		display: block;
		position: relative;
		box-sizing: border-box;
	    float: none;
	    width: auto;
	    padding: 0;
		background-color: transparent;
	}
	body.right1 div#mainDiv1 {
		border-top: 1px dotted #ccc;
		padding: 24px 36px;
	}
}
*/

@media screen and ( max-width: 540px ) {
	.email_form_table {
		width: 100%;
	}
	.email_form_table td {
		display: block;
		width: 100%;
		text-align: left;
	}
	.email_form_table input[type="text"],
	.email_form_table textarea {
		width: 100%;
	}
}

@media screen and ( min-width: 500px ) {
	a.logo-hdr { display: block; }
	a.logo-mark { display: none; }
}

@media screen and ( max-width: 500px ) {
	a.logo-hdr { display: none; }
	a.logo-mark { display: block; }
}



/**********************************************************************************
	clearfix
**********************************************************************************/

.group:before,
.group:after {
    content: "";
    display: table;
} 
.group:after {
    clear: both;
}
.group {
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}
