/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* SET GLOBAL VALUES */

html, body { width: 100%; height: 100%; border: 0px none transparent; margin: 0px; padding: 0px; font: normal normal 400 16px/28px "Source Sans Pro", Arial, Helvetica, sans-serif; color: #777c81; }
.main_wrapper { min-height: 100%; position: relative; } /* Everything but footer. Put background here if need full-height background. */

/* This (below) is the class for our spam trap/honeypot form field */
.required_field { position: absolute; text-decoration: underline; background-color: #CC0000; left: -2000px; top: -2000px; width: 1px; height: 1px; overflow: hidden; }

a:link, a:hover, a:active, a:visited { text-decoration: none !important; }

p { padding: 0px; margin: 10px 0px 0px 0px; }
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
	margin: 0px;
	padding: 0px;
	}

.masthead, .banner, .custom_banner, .content, .footer, .section { width: 320px; margin: 0px auto; position: relative; }
.masthead_wrapper, .banner_wrapper, .custom_banner_wrapper, .content_wrapper, .footer_wrapper, .section_wrapper { position: relative; clear: both; }

/* MASTHEAD */

.masthead_wrapper, .masthead { overflow: visible; }
.masthead_wrapper { height: 230px; background-color: #FFF; }
.masthead { z-index: 999; }
.masthead_logo { 
	position: absolute; 
	top: 10px; 
	left: 10px; 
	width: 220px; 
	height: 102px; 
	background: rgba(35,84,146,0.8) url("/css/images/sprites.png") no-repeat -80px -60px;
	z-index: 1000;
	/* SMALLER LOGO */
	top: 15px;
	width: 170px; 
	height: 83px; 
	background: rgba(35,84,146,0.8) url("/css/images/sprites.png") no-repeat -316px -60px; 
	
	}
.masthead_logo_top { 
	position: absolute; 
	top: 10px; 
	left: 10px; 
	width: 230px; 
	height: 20px; 
	background: transparent url("/css/images/sprites.png") no-repeat -80px -162px;
	z-index: 999;
	/* SMALLER LOGO */
	top: 15px;
	width: 180px; 
	height: 15px; 
	background: transparent url("/css/images/sprites.png") no-repeat -316px -143px; 
	
	}
.masthead_text { display: none; }

/* BANNER */

.bx-wrapper, .custom_banner_wrapper { position: absolute; top: 30px; }
.bxslider { 
	position: absolute; 
	}
.bx-wrapper, .bxslider, .bxslider li, .banner_wrapper, .custom_banner_wrapper {
	margin: 0px;
	padding: 0px;
	list-style: none;
	width: 100%; 
	height: 200px; 
	}
.banner_wrapper, .custom_banner_wrapper { 
	background-position: center top;
	background-repeat;
	background-size: cover;
	}
.banner_wrapper, .banner {
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
	}
.no_banner {
	height: 58px !important;
	background-image: none !important;
	}
.masthead_wrapper.no_banner {
	height: 88px !important;
	}

/* MENU */

.masthead_overlay { 
	position: absolute; 
	top: 30px; 
	width: 100%; 
	height: 58px; 
	background-color: rgba(22,36,69,0.8);
	z-index: 888;
	}

.mobile_icon { 
	position: absolute; 
	top: 29px; 
	right: 0px; 
	width: 80px; 
	height: 60px; 
	background: transparent url("/css/images/sprites.png") no-repeat 0px -60px; 
	cursor: pointer;
	}
.mobile_menu_icon {  }

.sitenav, .sitelink .divider { display: none; }

.sitelinks {
	margin: 0px;
	padding: 41px 0px 17px 0px;
	padding-top: 20px;
	list-style: none;
	position: absolute; 
	left: 0px; 
	top: 88px;
	width: 100%;
	z-index: 888;
	background-color: rgba(22,36,69,0.8);
	font-size: 30px;
	line-height: 34px;
	font-weight: 600;
	text-transform: uppercase;
	}

.sitelink { 
	display: block; 
	margin: 0px; 
	position: relative;
	text-align: center;
	padding: 9px 0px 11px 0px;
	}
.sitelink, .sitelink a { color: #FFF; text-decoration: none; }
.sitelink:hover { background-color: #235492; }
.sitelinks .menu_last {  }

/* CONTENT */

.col { display: block; margin: 0px 10px; }
.col_full, .col_half, .col_third, .col_twothirds { width: 300px; }

.col_header { 
	font-size: 24px;
	line-height: 24px;
	font-weight: 600;
	color: #235492;
	text-transform: uppercase;
	text-align: center;
	margin-top: 8px;
	}
.col_full .col_header {
	font-size: 36px;
	line-height: 36px;
	text-align: left;
	}
.col_icon_box {
	width: 100%;
	height: 102px;
	display: block;
	margin: 10px auto 0px auto;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	overflow: hidden;
	}

.pic_box {
	width: 300px;
	display: block;
	margin: 10px 0px 0px 0px;
	overflow: hidden;
	text-align: center;
	}
.pic {
	max-width: 100%;
	margin: 0px auto;
	}
.pic_multi_box {  }
.pic_multi {  
	width: 90px;
	height: 90px;
	float: left;
	margin: 15px 15px 0px 0px;
	background-size: cover;
	background-position: center center;
	position: relative;
	}
.pic_multi:nth-of-type(3n) { margin-right: 0px; }
.pic_holder { position: absolute; width: 90px; height: 90px; top: 0px; left: 0px; }

.caption {
	text-align: center;
	padding: 8px 0px 4px 0px;
	font-style: italic;
	font-size: 12px;
	}

.divider_horiz {
	width: 100%;
	height: 41px;
	display: block;
	clear: both;
	background: transparent url("/css/images/divider_horiz.png") no-repeat center top;
	margin: 20px 0px 10px 0px;
	}

.browse_record {
	padding-bottom: 18px;
	border-bottom: solid 1px rgba(0,0,0,0.1);
	margin-bottom: 15px;
	}

.browse_last { border-bottom: none 0px transparent; }

.browse_title { 
	font-size: 24px;
	line-height: 24px;
	font-weight: 600;
	color: #235492;
	text-transform: uppercase;
	text-align: left;
	margin-top: 8px;
	}

/* FOOTER */

.content_wrapper { padding-bottom: 200px; } /* Padding matches footer height. This container JUST makes room for footer. */
.footer_wrapper, .footer { height: 180px; }
.footer_wrapper { margin-top: -180px; background-color: #CCC; }
.footer { color: #162445; }

.footer_text { 
	text-align: center;
	font-size: 14px;
	line-height: 16px;
	padding-top: 14px; 
	}
.company { 
	font-size: 20px;
	line-height: 20px; 
	font-weight: 600;
	}
.tagline { 
	display: block; 
	}
.address {
	padding-top: 10px;
	}
.phone, .fax, .credits { display: block; }
.fineprint {
	font-size: 10px;
	line-height: 11px;
	padding-top: 10px;
	text-align: center;
	}

.footer_logos { width: 142px; height: 24px; position: absolute; bottom: 20px; left: 50%; margin-left: -71px; }
.footer_logo { height: 24px; background: transparent url("/css/images/sprites.png") no-repeat 0px 0px; float: left; }
	.beansprout { width: 67px; background-position: 0px 0px; } .beansprout:hover { background-position: 0px -25px; }
	.coloredbean { width: 63px; background-position: -68px 0px; margin-left: 12px; } .coloredbean:hover { background-position: -68px -25px; }

/* GLOBAL OVERRIDES */

.nobreak { white-space: nowrap; }
.hideme { visibility: hidden; display: none; }
.pad_top { padding-top: 10px; }

/* HIDE ON MOBILE @ 719px OR LESS */

@media only screen and (max-width: 719px) { .m_hide { display: none !important; visibility: hidden !important; } }
