* { margin: 0; padding: 0; outline: 0; }

body {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 21px;
    color: #000;
    background: #fff;
    min-width: 100%;
}

a { color: #00559f; text-decoration: underline; cursor: pointer; }
a:hover { text-decoration: none; }
a img { border: 0; }

.full img { display: block; border: 0; max-width: 100%; height: auto;}

input, textarea, select { font-family: Helvetica, Arial, sans-serif; font-size: 14px; line-height: 18px; color: #999; }
input:focus, textarea:focus, select:focus { color: #333; }
textarea { overflow: auto; }

.clearfix { *zoom: 1; }
.clearfix:after { content: ''; width: 100%; height: 0; display: block; font-size: 0; line-height: 0; text-indent: -4000px; clear: both; }

.notext { font-size: 0; line-height: 0; text-indent: -4000px; }
.left, .alignleft { float: left; display: inline; }
.right, .alignright { float: right; display: inline; }

h1#logo { padding-top: 22px; width: 225px; }
h1#logo a { width: 100%; height: 100%; display: block; }
h1#logo a img { display: block; width: 100%; height: auto; }

.shell { width: 980px; margin: 0 auto; }

.btn { font-size: 15px; line-height: 27px; color: #fff; text-transform: uppercase; font-weight: bold; text-decoration: none; padding: 10px 20px; float: left; display: inline; }

.orange-btn { background: url(images/btn1.png) repeat-x; text-shadow: 1px 1px 1px rgba(153, 51, 0, 0.75); }
.btn:hover { background: #1467AE; }

.green-btn { background: url(images/btn2.png); }

.blue-btn { background: #002c66; text-transform: none; }

.header { width: 916px; background: url(images/header.png) no-repeat; padding: 0 32px; position: relative; z-index: 20; }

.header-elements { width: 66%; padding-top: 17px; }

.top-nav { padding-bottom: 17px; }
.top-nav ul { list-style: none outside; float: right; display: inline; }
.top-nav ul li { float: left; display: inline; padding: 0 10px 0 12px; background: url(images/topsep.png) no-repeat 0 center; }
.top-nav ul li:first-child { background: transparent; padding-left: 0; }
.top-nav ul li.last { padding-right: 0; }
.top-nav ul li a { font-size: 12px; line-height: 17px; color: #66b4dd; text-decoration: none; display: block; }
.top-nav ul li a:hover { text-decoration: underline; }

.social-bar { padding-bottom: 22px; }
.social-bar ul { float: right; display: inline; list-style: none outside; padding-left: 7px; }
.social-bar ul li { float: left; display: inline; padding: 0 14px 0 16px; background: url(images/acc-sep.png) no-repeat 0 center; }
.social-bar ul li:first-child { background: transparent; }
.social-bar ul li.last { padding-right: 0; }
.social-bar ul li a { font-size: 16px; line-height: 24px; color: #fff; text-decoration: none; display: block; }
.social-bar ul li a:hover { text-decoration: underline; }

.social-bar a.ico { font-size: 0; line-height: 0; text-indent: -4000px; width: 25px; height: 24px; float: right; display: inline; background-image: url(images/socials.png); background-repeat: no-repeat; margin-left: 13px; position: relative; transition: top .2s ease; -moz-transition: top .2s ease; -webkit-transition: top .2s ease; -o-transition: top .2s ease; }
.social-bar a.ico:hover { top: 1px; }
.social-bar a.linkedin-ico { background-position: -109px 0; }
.social-bar a.youtube-ico { background-position: -73px 0; }
.social-bar a.twitter-ico { background-position: -36px 0; }
.social-bar a.facebook-ico { background-position: 0 0; }

.search-bar { padding-bottom: 20px; }
.search-bar .phone { font-size: 20px; line-height: 30px; color: #fff; font-weight: normal; float: right; display: inline; padding-right: 20px; -webkit-appearance: none; }
.search-bar .phone a { color: #fff; text-decoration: none; }
.search-bar form { width: 230px; height: 30px; float: right; display: inline; }
.search-bar form input.field { width: 180px; height: 18px; float: left; display: inline; padding: 6px 10px; background: #fff; border: 0; -webkit-appearance: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; -o-border-radius: 0px; }
.search-bar form input.submit { width: 30px; height: 30px; float: right; display: inline; font-size: 0; line-height: 0; text-indent: -4000px; background: url(images/magnifying-glass.png) no-repeat; border: 0; cursor: pointer; -webkit-appearance: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; -o-border-radius: 0px; }

#navigation { height: 40px; background: url(images/nav.png) repeat-x; position: absolute; top: 100%; left: 0; right: 0; }
#navigation a.menu-trigger { font-size: 18px; line-height: 22px; color: #fff; padding: 9px 55px 9px 20px; height: 22px; background: url(images/nav.png) repeat-x; display: none; position: relative; }
#navigation a.menu-trigger span { font-size: 0; line-height: 0; text-indent: -4000px; width: 35px; height: 19px; display: block; background: url(images/nav-trigger.png) no-repeat; position: absolute; top: 50%; right: 20px; margin-top: -10px; }
#navigation ul { list-style: none outside; text-align: center; }
#navigation ul li { display: inline-block; position: relative; }
#navigation ul li a { font-size: 18px; line-height: 20px; color: #fff; text-decoration: none; padding: 10px 27px; display: block; }
#navigation ul li:hover > a,
#navigation ul li.active > a { text-decoration: none; background: #004c8c; }
#navigation ul li ul { width: 255px; padding: 20px 28px 12px; position: absolute; top: 100%; left: 0; background: #004c8c; text-align: left; display: none; }
#navigation ul li ul li { padding: 0 0 8px 18px; display: block; background: url(images/list-item2.png) no-repeat 0 4px; }
#navigation ul li ul li a { font-size: 16px; text-transform: uppercase; padding: 0; }
#navigation ul li ul li a:hover { text-decoration: underline; }

.main { background: url(images/main.png) repeat-x; padding-top: 37px; }
.main .shell { position: relative; z-index: 11; padding: 31px 0 33px; }

.homepage .main { padding-top: 0; }

.slideshow { width: 100%; height: 344px; overflow: hidden; position: relative; z-index: 5; }
.slideshow ul.slides li { width: 100%; height: 344px; display: none; }
.slideshow ul.slides li img { height: 344px; width: auto; display: block; margin: 0 auto; position: absolute; top: 0; left: 50%; }

.slide-text { width: 260px; position: absolute; top: 80px; left: 50%; margin-left: -130px; }
.slide-text h2 { font-size: 27px; line-height: 36px; color: #1467ae; font-weight: normal; padding-bottom: 20px; }
.slide-text h2 strong { color: #003b6d; font-weight: bold; }

.widget { width: 26%; float: left; display: inline; padding: 20px 23px 17px 30px; }
.widget h4 { font-size: 14px; line-height: 27px; color: #103f6f; padding-bottom: 5px; }
.widget ul { list-style: none outside; }
.widget ul li { padding: 0 0 8px 18px; background: url(images/list-item1.png) no-repeat 0 4px; }
.widget ul li a { font-size: 16px; line-height: 18px; color: #1467ae; text-transform: uppercase; text-decoration: none; }
.widget ul li a:hover { text-decoration: underline; }

.products-list { background: url(images/wbg.png); position: absolute; top: -279px; left: 0; }

.chartdiv { width: 100%; overflow:hidden; height: 20px; background-color:#FFFFFF;}

.services-list { background: #deeff8; }

.wide-widget { width: 65.3%; padding: 0; float: right; }

.widget-top { padding-bottom: 25px; }

.news { width: 50%; float: left; display: inline; }
.news ul li { padding: 0 20px 5px 0; background: transparent; }
.news ul li a { font-size: 14px; line-height: 18px; color: #00559f; text-transform: none; text-decoration: underline; }
.news ul li a:hover { text-decoration: none; }

.banner { width: 50%; height: 175px; float: right; display: inline; position: relative; }
.banner img { width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 1; }
.banner h2 { font-size: 32px; line-height: 30px; color: #fff; font-weight: normal; text-transform: uppercase; position: absolute; top: 32px; left: 34px; text-shadow: 1px 1px 1px rgba(103, 103, 103, 0.75); z-index: 2; }
.banner .btn { text-transform: none; position: absolute; bottom: 30px; left: 34px; z-index: 2; padding: 5px 20px; }

.newsletter { height: 97px; background: url(images/stripe1.png) repeat-x; }
.newsletter .shell { width: 780px; padding-right: 200px; position: relative; }
.newsletter h2 { font-size: 18px; line-height: 24px; color: #fff; font-weight: normal; padding: 24px 0 25px 170px; float: left; display: inline; background: url(images/letter.png) no-repeat 12px center; width: 69%; }
.newsletter .btn { position: absolute; top: 0; right: 0; margin: 23px 47px 0 0; }

.bottom-links { background: #004683 url(images/stripe2.png) repeat-x; padding: 30px 0; }

.links-box { width: 16.6%; float: left; display: inline; background: url(images/divider.png) repeat-y; }
.links-box h3 { font-size: 14px; line-height: 15px; color: #fff; font-weight: normal; padding: 0 10px; }
.links-box ul { list-style: none outside; }
.links-box ul li { padding: 0 10px; color: #66b4dd; }
.links-box ul li a { font-size: 11px; line-height: 12px; color: #66b4dd; text-decoration: none; }
.links-box ul li a:hover { text-decoration: underline; }

.footer { font-size: 12px; line-height: 20px; color: #005dab; background: url(images/stripe3.png); padding: 33px 0; }
.footer p { display: inline; }
.footer ul { list-style: none outside; display: inline; }
.footer ul li { display: inline; padding: 0 5px 0 10px; background: url(images/btmsep.png) no-repeat 0 center; }
.footer ul li:first-child { background: transparent; padding-left: 5px; }
.footer ul li a { color: #005dab; text-decoration: none; }
.footer ul li a:hover { text-decoration: underline; }

.footer .top-nav { display: none; }
.footer .social-bar { display: none; }

.sidebar { width: 31%; float: left; }
.sidebar .widget { background: #deeff8; margin-bottom: 30px; width: auto; float: none; display: block; }
.sidebar .widget ul li.active a { color: #003f76; font-weight: bold; }
.sidebar .news { padding: 0 20px 30px; width: auto; }
.sidebar .news h4 { color: #003366; }
.sidebar .news ul { list-style: none outside; }
.sidebar .news ul li a { color: #1467ae; }

.content { width: 65.7%; float: right; }
.content ul li {margin-left: 15px;}
.content ul { padding-bottom: 15px;}

.page-title { margin-bottom: 28px; margin-top: -10px; width: 100%; height: 175px; position: relative; overflow: hidden; }
.page-title img { display: block; position: absolute; top: 50%; left: 50%; z-index: 1; margin: -77px 0 0 -322px; }
.page-title h2 { font-size: 48px; line-height: 50px; color: #fff; font-weight: normal; text-transform: uppercase; position: absolute; bottom: -8px; right: 10px; z-index: 2; }

.post { padding-bottom: 30px; }
.post h2 { font-size: 24px; line-height: 26px; color: #000; padding-bottom: 10px; }
.post h3 { font-size: 20px; line-height: 22px; color: #0058a3; font-weight: normal; padding-bottom: 5px; }
.post h3 a { color: #0058a3; text-decoration: none; }
.post h3 a:hover { text-decoration: underline; }
.post h4 { padding-bottom: 15px; }
.post p { padding-bottom: 20px; }
.post iframe { width: 100%; display: block; }
.post img { margin-bottom: 20px; }
.post img.alignleft { margin-right: 20px; }
.post img.alignright { margin-left: 20px; }

.post-entry { padding: 20px 0 20px 160px; position: relative; min-height: 72px; line-height: 18px; border-top: 1px solid #DDDDDD; margin-top: 10px;}
.post-entry img { width: 139px; height: 72px; display: block; position: absolute; top: 0; left: 0; }
.post-entry h3 { font-size: 14px; line-height: 16px; color: #000; font-weight: bold; }
.post-entry h3 a { color: #000; text-decoration: none; }
.post-entry h3 a:hover { text-decoration: underline; }
.post-entry p { padding-bottom: 0; }

.divider { border-top: 1px solid #DDDDDD; padding-top: 20px; }

.logos img { float: left; display: inline; margin: 0 33px 30px 0; }

.item-left {  float: left;  width: 50%;  margin-left: 0;  margin-right: -100%;}
.item-left img.alignleft { margin: 0 15px 20px 0; }
.item-right {  float: left;  width: 50%;  margin-left: 50%;  margin-right: -100%;}
.item-right img.alignleft { margin: 0 15px 20px 15px; }

.contact-form { padding-bottom: 20px; }
.contact-form fieldset { border: 0; display: block; padding-bottom: 10px; }
.contact-form label { width: 30%; float: left; display: inline; line-height: 20px; }
.contact-form span.txt-holder { width: 68%; float: left; display: inline; }
.contact-form span.txt-holder input,
.contact-form span.txt-holder select,
.contact-form span.txt-holder textarea { font-size: 14px; line-height: 20px; text-indent: 5px; width: 50%; display: block; height: 20px; }
.contact-form span.txt-holder select { box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; -o-box-sizing: content-box; }
.contact-form span.txt-holder textarea { height: 60px; overflow: auto; resize: none; }
.contact-form input.submit { border: 0; cursor: pointer; display: block; -webkit-appearance: none; float: none; }

.team-listing { padding-bottom: 20px; }
.team-listing .column { width: 310px; float: left; display: inline; }
.team-listing .column + .column { float: right; }
.team-item { padding: 0 0 10px 130px; min-height: 150px; position: relative; }
.team-item img { width: 120px; height: 150px; display: block; position: absolute; top: 0; left: 0; }

.google-search-holder { float: right; display: inline; }

.header .header-elements .gsc-control-cse { padding: 0; border: 0; background: transparent; }
.header .header-elements .gsc-control-cse form.gsc-search-box { width: 230px; background: #fff; float: right; display: inline; margin: 0; }
.header .header-elements .gsc-control-cse form.gsc-search-box td.gsc-input { width: 198px; height: 30px; float: left; display: inline; padding: 0px; background: #fff; border: 0; -webkit-appearance: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; -o-border-radius: 0px; }
.header .header-elements .gsc-control-cse form.gsc-search-box td.gsc-input .gsc-input-box { padding: 0; border: 0; }
.header .header-elements .gsc-control-cse form.gsc-search-box td.gsc-input .gsc-input-box input { height: 22px !important; }
.header .header-elements .gsc-control-cse form.gsc-search-box td.gsc-search-button { width: 30px; height: 30px; float: right; display: inline; font-size: 0; line-height: 0; text-indent: -4000px; background: url(images/magnifying-glass.png) no-repeat; border: 0; cursor: pointer; -webkit-appearance: none; border-radius: 0px; -moz-border-radius: 0px; -webkit-border-radius: 0px; -o-border-radius: 0px; }

@media only screen and ( max-width: 979px ) {
	.shell { width: auto; }
	
	#navigation ul li a { padding: 10px 18px; }
	
	.newsletter .shell { width: auto; }
	
	.flex-control-nav { width: auto; left: 0; right: 5px; margin: 0; z-index: 2000; }
	
	.slide-text { left: 38px; margin-left: 0; }
	
	.main { padding: 37px 20px 0; }
	
	.homepage .main { padding: 0; }
	.homepage .main .shell { padding: 20px 10px 0; }
	
	.widget { width: auto; float: none; display: block; margin: 0 0 15px; }
	.widget:after { content: ''; width: 100%; height: 0; display: block; font-size: 0; line-height: 0; text-indent: -4000px; clear: both; }
	.widget ul li { width: 50%; float: left; display: inline; box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; -o-box-sizing: border-box; }
	
	.products-list { position: static; top: auto; left: auto; background: #ebeded; }
	
	.wide-widget { margin: 0 20px; }
	
	.news { width: 40%; }
	.news ul li { width: auto; float: none; display: block; }
	
	.footer { text-align: center; }
	
	.sidebar { width: 40%; }
	.sidebar .widget ul li { float: none; display: block; width: auto; }
	
	.content { width: 57%; }
	
	.logos img { margin: 0 32px 30px 0; }
	
	.about { padding-bottom: 20px; }
	
	.contact-form span.txt-holder input,
	.contact-form span.txt-holder select,
	.contact-form span.txt-holder textarea { width: 70%; }

	.team-listing .column { width: 300px; float: none; display: block; }
	.team-listing .column + .column { float: none; }
}

@media only screen and ( max-width: 767px ) {	
	h1#logo { width: 130px; }
	
	.header { padding: 0 20px 74px; position: relative; background-color: #004c8b; height: auto; }
	.header .top-nav { display: none; }
	.header .social-bar { padding-bottom: 10px; }
	.header .social-bar ul { padding: 0; }
	.header .social-bar ul li:first-child { padding-left: 0; }
	.header .social-bar a.ico { display: none; }
	
	.header-elements { width: auto; padding-top: 17px; }
	
	.search-bar form { width: auto; height: 30px; float: none; display: block; position: absolute; bottom: 20px; left: 20px; right: 20px; margin-left: 0; }
	.search-bar form input.field { width: auto; position: absolute; top: 0; left: 0; right: 30px; }
	.search-bar .phone { padding: 0; }
	
	.header .header-elements .gsc-control-cse form.gsc-search-box { width: auto; }
	
	#navigation.expanded { height: 230px; overflow-y: scroll; }
	#navigation.fixed { position: fixed; top: 0; left: 0; right: 0; }
	#navigation ul { display: none; }
	#navigation ul li { float: none; display: block; }
	#navigation ul li a { padding: 9px 20px; text-align: left; background: url(images/nav.png) repeat-x; }
	#navigation ul li > a:hover,
	#navigation ul li.active > a { background: url(images/nav.png) repeat-x; }
	#navigation ul li ul { position: static; width: auto; padding: 0; top: auto; left: auto; }
	#navigation ul li ul li { background: url(images/nav2.png) repeat-x; padding: 0; }
	#navigation ul li ul li a { padding: 9px 0px 9px 40px; line-height: 22px; height: 22px; background: url(images/list-item2.png) no-repeat 20px center; }
	#navigation ul li ul li a:hover, 
	#navigation ul li ul li a:active { background: url(images/list-item2.png) no-repeat 20px center; }
	#navigation a.menu-trigger { display: block; }
	
	.slide-text { left: 20px; }
	
	.widget ul li { width: auto; float: none; display: block; box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; -o-box-sizing: content-box; }
	
	.main { overflow: hidden; }
	.main .shell { padding: 0 0 20px 0; }
	.no-title .main .shell { padding: 20px 0; }
	.homepage .main .shell { padding: 20px 20px 0; }
	
	.wide-widget { margin: 0 0 20px 0; }
	
	.news,	
	.banner { width: auto; float: none; display: block; padding: 0 0 20px 0; }
	
	.newsletter { height: auto; padding: 23px 20px 28px; background: #004a88 url(images/stripe4.png) repeat-x; }
	.newsletter .shell { padding: 0; }
	.newsletter h2 { width: auto; padding: 0 0 15px 0; float: none; display: block; background: transparent; }
	.newsletter .btn { float: none; display: block; position: static; top: auto; right: auto; margin: 0; text-align: center; }
	
	.bottom-links { display: none; }
	
	.footer { padding: 20px; }
	
	.footer .top-nav { display: block; text-align: center; }
	.footer .top-nav ul { float: none; }
	.footer .top-nav ul li { float: none; display: inline; }
	.footer .top-nav ul li a { float: none; display: inline; }
	
	.footer .social-bar { display: block; text-align: center; }
	.footer .social-bar a.ico { display: inline-block; float: none; }
	
	.sidebar { float: none; display: block; width: auto; }
	.sidebar .widget { display: none; }
	.sidebar .news { width: auto; padding: 0; }
	.content { float: none; display: block; width: auto; }
	.post { padding: 0; }
	.post img { float: none; display: block; }
	.post h2 { padding-top:20px;}
	.logos img { display: block; margin: 0 auto 20px; }
	
	.page-title { position: relative; margin: -8px -20px 20px; width: auto; }
	
	.posts-listing { padding-bottom: 20px; }
	.posts-listing h2 { border-bottom: 1px solid #ccc; }
	
	.post-entry { position: relative; padding: 40px 0 0 0; border-bottom: 1px solid #ccc; border-top: none; min-height: 0; }
	.post-entry h3 { line-height: 20px; padding: 5px 0 10px; background: url(images/list-item3.png) no-repeat right center; position: absolute; top: 0; left: 0; right: 0; cursor: pointer; }
	.post-entry img { float: left; display: none; margin: 3px 10px 0 0; position: static; }
	.post-entry p { display: none; }
	.post-entry.expanded { padding: 40px 0 0 0; }
	.post-entry.expanded h3 { background-image: url(images/list-item4.png); }
	.post-entry.expanded img { display: inline; }
	.post-entry.expanded p { display: block; line-height: 20px; }
	
	.item-left {float: none;  width: 90%;}
	.item-right { float: none;  display: inline; width: 90%; }
	.item-right p { padding-top: 20px; }
	.item-right ul { padding-bottom: 20px; }
	.item-right img.alignleft { margin: 0 15px 20px 0px; }
	
	.contact-form label { width: auto; float: none; display: block; line-height: 20px; text-align: center; margin-bottom: 5px; }
	.contact-form span.txt-holder { width: auto; float: none; display: block; margin-bottom: 10px; }
	.contact-form span.txt-holder input,
	.contact-form span.txt-holder select,
	.contact-form span.txt-holder textarea { margin: 0 auto; }
	
	.team-listing .column { margin: 0 auto; }
}
