@charset "utf-8";

/** START HTML5 Boilerplate CSS **/

/*! normalize.css v1.0.1 | MIT License | git.io/normalize */

/***** HTML5 DISPLAY DEFINITIONS *****/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {display: block;} /* Corrects `block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio, canvas, video {display: inline-block; *display: inline; *zoom: 1;} /* Corrects `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
audio:not([controls]) {display: none; height: 0;} /* Prevents modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
[hidden] {display: none;} /* Addresses styling for `hidden` attribute not present in IE 7/8/9, Firefox 3, and Safari 4. Known issue: no IE 6 support. */

/***** BASE *****/
html {font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%;} /* 1. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using `em` units. 2. Prevents iOS text size adjust after orientation change, without disabling user zoom. */
html, button, input, select, textarea {font-family: sans-serif;} /* Addresses `font-family` inconsistency between `textarea` and other form elements. */
body {margin: 0; background-color: #f5f5f5;} /* Addresses margins handled incorrectly in IE 6/7. */

/***** LINKS *****/
a:focus {outline: none;} /* Addresses `outline` inconsistency between Chrome and other browsers. */
a:active, a:hover { outline: 0;} /* Improves readability when focused and also mouse hovered in all browsers. */

/***** Typography *****/
/* Addresses font sizes and margins set differently in IE 6/7. Addresses font sizes within `section` and `article` in Firefox 4+, Safari 5, and Chrome. */
h1 {font-size: 2em; margin: 0.67em 0;}
h2 {font-size: 1.5em; margin: 0.83em 0;}
h3 {font-size: 1.17em; margin: 1em 0;}
h4 {font-size: 1em; margin: 1.33em 0;}
h5 {font-size: 0.83em; margin: 1.67em 0;}
h6 {font-size: 0.75em; margin: 2.33em 0;}

abbr[title] {border-bottom: 1px dotted;} /* Addresses styling not present in IE 7/8/9, Safari 5, and Chrome. */
b, strong {font-weight: bold;} /* Addresses style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
blockquote {margin: 1em 40px;}
dfn {font-style: italic;} /* Addresses styling not present in Safari 5 and Chrome. */
mark {background: #ff0; color: #000;} /* Addresses styling not present in IE 6/7/8/9. */
p, pre {margin: 1em 0;} /* Addresses margins set differently in IE 6/7. */
code, kbd, pre, samp {font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em;} /* Corrects font family set oddly in IE 6, Safari 4/5, and Chrome. */
pre {white-space: pre; white-space: pre-wrap; word-wrap: break-word;} /* Improves readability of pre-formatted text in all browsers. */
q {quotes: none;} /* Addresses CSS quotes not supported in IE 6/7. */
q:before, q:after {content: ''; content: none;} /* Addresses `quotes` property not supported in Safari 4. */
small {font-size: 80%;} /* Addresses inconsistent and variable font size in all browsers. */

sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;} /* Prevents `sub` and `sup` affecting `line-height` in all browsers. */
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/***** LISTS *****/
dl, menu, ol, ul {margin: 1em 0;} /* Addresses margins set differently in IE 6/7. */
dd {margin: 0 0 0 40px;}
menu, ol, ul {padding: 0 0 0 40px;} /* Addresses paddings set differently in IE 6/7. */
nav ul, nav ol {list-style: none; list-style-image: none;} /* Corrects list images handled incorrectly in IE 7. */

/***** EMBEDDED CONTENT *****/
img {border: 0; /* 1 */ -ms-interpolation-mode: bicubic; /* 2 */} /* 1- Removes border when inside `a` element in IE 6/7/8/9 and Firefox 3. 2- Improves image quality when scaled in IE 7. */
svg:not(:root) {overflow: hidden;} /* Corrects overflow displayed oddly in IE 9. */

/***** FIGURES *****/
figure {margin: 0;}/* Addresses margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */

/***** FORMS *****/
form {margin: 0;} /* Corrects margin displayed oddly in IE 6/7. */
fieldset {border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;} /* Define consistent border, margin, and padding. */
legend {border: 0; padding: 0; white-space: normal; *margin-left: -7px;} /* 1- Corrects color not being inherited in IE 6/7/8/9. 2- Corrects text not wrapping in Firefox 3. 3- Corrects alignment displayed oddly in IE 6/7. */
button, input, select, textarea {font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle;} /* 1- Corrects font size not being inherited in all browsers. 2- Addresses margins set differently in IE 6/7, Firefox 3+, Safari 5, and Chrome. 3- Improves appearance and consistency in all browsers. */
button, input {line-height: normal;} /* Addresses Firefox 3+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance: button; cursor: pointer; *overflow: visible;} /* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Corrects inability to style clickable `input` types in iOS. 3. Improves usability and consistency of cursor style between image-type `input` and others. 4. Removes inner spacing in IE 7 without affecting normal text inputs. Known issue: inner spacing remains in IE 6. */
button[disabled], input[disabled] {cursor: default;} /* Re-set default cursor for disabled elements. */
input[type="checkbox"], input[type="radio"] {box-sizing: border-box; padding: 0; *height: 13px; *width: 13px;} /* 1. Addresses box sizing set to content-box in IE 8/9. 2. Removes excess padding in IE 8/9. 3. Removes excess padding in IE 7. Known issue: excess padding remains in IE 6. */
input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;} /* 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;} /* Removes inner padding and search cancel button in Safari 5 and Chrome on OS X. */
button::-moz-focus-inner, input::-moz-focus-inner {border: 0; padding: 0;} /* Removes inner padding and border in Firefox 3+. */
textarea {overflow: auto; vertical-align: top;} /* 1. Removes default vertical scrollbar in IE 6/7/8/9. 2. Improves readability and alignment in all browsers. */

/***** TABLES *****/
table {border-collapse: collapse; border-spacing: 0;} /* Remove most spacing between table cells. */


/** START Custom Styles **/
body{font-family:'Open Sans', sans-serif; color:#4D4D4D;}
#full{}
.inner{width:970px; margin:0 auto;}
a{color:#152b74;}
h1,h2,h3,h4,h5,h6{color:#0099cc; text-transform:uppercase;}

.nocaps{text-transform:auto;}
.center{text-align:center;}
.left{float:left;}
.right{float:right;}
img.border{border:8px solid #ccc;}
img.left{margin:0 15px 30px 0}
img.right{margin:0 0 30px 15px;}

/***** HEADER STYLES *****/
#header{background:#fff;}
	#header .masthead{margin:0 auto; padding: 22px 0;}
		h1.logo{display:table; float:left; height:65px; font-family:'Open Sans',sans-serif; font-weight:400; margin:0; padding:0; color:#124392; font-size:2em; text-transform:uppercase;}
			h1.logo img{}
			h1.logo a{display:table-cell; vertical-align:middle; text-decoration:none; color:#124392; line-height:0}
				h1.logo a span{border-left:#09C 2px solid; padding:0 0 0 30px; margin:0 0 0 30px; }

		/***** TWITTER *****/
		.twitter{position:relative; width:440px; float:right; height:80px; text-align:left; overflow:hidden;}
			ul.tweet_list{position:absolute; margin:0; padding:0;}
				ul.tweet_list li{height:85px; list-style:none; margin:0; clear:both; margin:0; padding:0; line-height:18px;}
				ul.tweet_list li.tweet_first{}
				ul.tweet_list li.tweet_odd{}
				ul.tweet_list li.tweet_even{}
					ul.tweet_list a.tweet_avatar{float:left; margin:0 10px 0 0;}
					ul.tweet_list a.tweet_user{text-decoration:none; font-weight:bold; display:block;}
					ul.tweet_list a.follow_intent{text-decoration:none; font-weight:bold; font-size:11px;}
					ul.tweet_list .tweet_time{font-size: 12px; /*removed*/}
					ul.tweet_list .tweet_text{font-size: 12px; line-height:12px;}
						ul.tweet_list a{color:#273f7d;}


/***** NAV STYLES *****/
#topNavBar{height:35px; background:url(images/topNav-bg.png) repeat-x left top; width:100%; overflow:hidden;} 
	#topNavBar .inner{text-align:right;}
	#topNavBar .inner ul{list-style-type:none; margin:0;}
	#topNavBar .inner li{display:inline-block;font-family:'Open Sans', sans-serif;font-weight:400; font-size:0.9em; padding:6px 50px 0 42px; height:35px;background-image:url(images/menu-div.gif); background-position:top right; background-repeat:no-repeat;}
	#topNavBar .inner li:last-child,
	#topNavBar .inner li.last{padding: 0.4em 0px 0px 42px;background-image:none;}
		.ie #topNavBar .inner ul{float:right;}
		.ie #topNavBar .inner ul li{float:left;}

	#topNavBar .inner a{text-decoration:none; color:#FFF;text-shadow: -2px -2px 3px #000; text-transform:uppercase;}

/***** HERO STYLES *****/
#heroContain{width:100%; background-color:#CCC; background-image:url(images/chalkboard-bg.png); background-size:cover; position:relative; margin:-16px 0 0 0; *top:15px;} /* Well, this is a badddddd idea */
	#heroContain .shadow-top{position:absolute; top:0; left:0; width:100%; height:12px; background:url(images/dropshadow.png) repeat-x; z-index:1;}
	#heroContain .shadow-bot{position:absolute; bottom:0; left:0; width:100%; height:12px; background:url(images/dropshadow_up.png) repeat-x; z-index:0;}
		#hero{margin: 0 auto; height: 400px; font-family: 'Open Sans', sans-serif; padding: 0;}
			#hero .willisHead{position:absolute; width:1000px; height:404px; background:url(images/willis-head_small.png) no-repeat -10px -5px; margin:0;}
			#hero img.signature{margin-top:90px;}
			.heroTitle{font-weight: 700;margin: 0;padding: 0;color: #124392;font-size: 2.5em;line-height: 1em; text-transform:uppercase;}
			.heroSubTitle{font-weight: 400;margin: 0;padding: 0;font-size: 1.8em;line-height: 1em; text-transform:uppercase;}

	#heroNav{position:relative; top:-24px; background:url(images/divider-shadow.png) no-repeat center 85px; margin:0; padding: 0 0 30px 0; overflow:visible;}
		#heroNav ul{list-style:none; padding:0; margin:0;}
			#heroNav ul li{float:left; width:310px; margin:0 20px 0 0;}
			#heroNav ul li:last-child,
			#heroNav ul li.last{margin-right:0 !important; *margin:0;}
				.ie #heroNav ul li.last{*margin:0; margin:0\9; /*IE Hacks like a boss!*/}
				#heroNav ul li a{background:url(images/bg_btn_hero.png) no-repeat; display:block; text-transform:uppercase; text-decoration:none; text-align:center; color:#fff; padding:38px 0 10px 0;}

/***** SLIDER STYLES *****/
#sliderTabContain{width:100%; background-image:url(images/dropshadow_up.png); background-position:left bottom; background-repeat:repeat-x; background-color:#FFF;}
	#sliderTabContain .inner{padding:0 0 20px 0;}
		#sliderContain{position:relative; width:640px; *width:625px; height:320px; *height:292px; float:left; background:url(images/slider-bg.png) top left no-repeat; border:#CCC 8px solid; -moz-box-sizing:border-box; -webkit-box-sizing: border-box; box-sizing:border-box; overflow:hidden;}
			#sliderContain ul.slider{margin:0; padding:0; list-style:none; width:4000px;}
			#sliderContain ul.slider li.slide{display:inline; float:left;}
				#sliderContain .img{float:left; width:301px; -webkit-box-shadow:  5px 0px 5px 0px #999; box-shadow:  5px 0px 5px 0px #999;}
				#sliderContain .copy{position:relative; float:left; width:322px; height:300px;}
					#sliderContain .copy p{margin:35px; font-family:'Open Sans', sans-serif; font-size:12px; line-height:20px;}
					#sliderContain .copy a.learnmore{position:absolute; bottom:12px; left:35px; padding:10px; border:2px solid #152b74; text-decoration:none;}
			#sliderContain a.nxtSlide{position:absolute; right:0; top:110px; height:75px; width:30px; background:url(images/bg_btn_arrow-r.png) no-repeat 12px 27px rgba(255,255,255, 0.5); border-top-left-radius:36px; border-bottom-left-radius:36px; box-shadow:0px 2px 8px #000; text-indent:-9999px;}
			#sliderContain a.prvSlide{position:absolute; left:0; top:110px; height:75px; width:30px; background:url(images/bg_btn_arrow-l.png) no-repeat 5px 27px rgba(255,255,255, 0.5); border-top-right-radius:36px; border-bottom-right-radius:36px; box-shadow:0px 2px 8px #000; text-indent:-9999px;}
				#sliderContain a.nxtSlide{position:absolute; right:0; top:110px; height:78px; width:38px; background:url(images/bg_slider_arrows.png) no-repeat right -25px; text-indent:-9999px;}
				#sliderContain a.prvSlide{position:absolute; left:0; top:110px; height:78px; width:38px; background:url(images/bg_slider_arrows.png) no-repeat 0 -155px; text-indent:-9999px;}

		/***** Right Callouts *****/
		#calloutContainer{width:312px; margin:0; padding:0; float:right;}
		.calloutContain{position:relative; display:table-row; width:312px; height:100px; *height:80px; overflow:hidden; float:right; background:url(images/slider-bg.png) top left no-repeat; border:#CCC 8px solid; -moz-box-sizing:border-box; -webkit-box-sizing: border-box; box-sizing:border-box; margin:0 0 10px 0;}
			.calloutContain .img{float:left;}
			.calloutContain .copy{position:relative; display:table-cell; vertical-align:middle; float:left; color:#152b74; font-weight:bold; font-size:13px; *font-size:11px; font-size:11px\9; padding:0 10px; width:180px;}
				.calloutContain .copy a{text-decoration:none;}
				.calloutContain .copy a:hover{color:#000;}

/***** SUB-PAGE STYLES *****/
#subContent{position:relative; padding:25px; border-bottom:1px dotted #333; background:#fff;}

#history{position:relative; background:url(images/bg_history_stripe.jpg) repeat-y; /*height:2630px*/ height:3530px;}
	#history .mask.top{position:absolute; top:0; left:472px; height:38px; *height:30px; width:25px; background:#fff;}
	#history .mask.bot{position:absolute; bottom:0; left:472px; height:175px; *height:170px; width:25px; background:#fff;}
	.row{}
		.row .copy{width:440px;}
		.row .copy ul{padding:0 0 0 20px;}
		.row .copy ul li{line-height:25px;}
	.item{width:480px; /*border:1px dashed red;*/ position:absolute;}
		.item.one{top:0; left:0;}
		.item.two{top:150px; left:490px;}
		.item.three{top:300px; left:0;}
		.item.four{top:450px; left:490px;}
		.item.five{top:600px; left:0;}
		.item.six{top:750px; left:490px;}
		.item.seven{top:900px; left:0;}
		.item.eight{top:1050px; left:490px;}
		.item.nine{top:1200px; left:0;}
		.item.ten{top:1350px; left:490px;}
		.item.eleven{top:1500px; left:0;}
		.item.twelve{top:1650px; left:490px;}
		.item.thirteen{top:1800px; left:0;}
		.item.fourteen{top:1950px; left:490px;}
		.item.fifteen{top:2100px; left:0;}
		.item.sixteen{top:2250px; left:490px;}
		.item.seventeen{top:2400px; left:0;}
		.item.eighteen{top:2550px; left:490px;}
		.item.nineteen{top:2700px; left:0;}
		.item.twenty{top:2850px; left:490px;}
		.item.twentyone{top:3000px; left:0;}
		.item.twentytwo{top:3150px; left:490px;}
		.item.twentythree{top:3300px; left:0;}



	.item.left{/*background:red;*/}
	.item.right{/*background:green;*/}
		.item h3.date{position:relative; border-bottom:1px dotted #d4d4d4; overflow:visible; padding:0 1px;}
			.item h3.date .pip{position:absolute; background:url(images/20x20Dot.png) no-repeat; height:20px; width:20px; display:block; float:none; z-index:10;}
			.item h3.date .pip.lrg{position:absolute; background:url(images/30x30Dot.png) no-repeat; height:30px; width:30px; display:block; float:none; z-index:10;}
		.item img{margin-left:15px;}
		#history .item.right img{margin-left:35px;}
		#history .item.right h3.date{padding-left:35px;}
		.item p.dek{width:240px; float:left; margin:0 0 10px 0; font-size:13px;}
			#history .item h3.date .pip.right{right:-15px; bottom:-10px;}
			#history .item h3.date .pip.right.lrg{right:-19px; bottom:-15px;}
			#history .item h3.date .pip.left{left:-15px; bottom:-10px;}
			#history .item h3.date .pip.left.lrg{left:-20px; bottom:-15px;}

/***** GALLERY STYLES *****/
#carousel{background:url("images/divider-shadow.png") no-repeat scroll center bottom transparent; padding:0 0 15px 0; width:962px;}
	#carousel .bx-wrapper{margin:15px auto;}
	#carousel .bx-wrapper .bx-viewport{background:#fff; border:8px solid #CCC; height:480px !important; width:954px !important; overflow:hidden;}
	ul.gallery_slider{margin:0; padding:0; background:url(images/slider-bg.png) top left repeat;}
		ul.gallery_slider li{margin:0; padding:0;}
		ul.gallery_slider li a{display:block;}
		ul.gallery_slider li img{float:left; box-shadow:5px 0px 5px #999;}
		ul.gallery_slider li .copy{float:left; width:250px; padding:30px;}
			ul.gallery_slider li .copy p{line-height:26px;}
#pager{position:relative; width:962px; margin:0 auto;}
	#pager .bx-wrapper{margin:0 auto; border:8px solid #ccc; background:#ccc; height:126px !important;}
	#page .bx-wrapper .bx-viewport{background:#fff; border:8px solid #CCC;}
	ul#gallery_pager{list-style:none; margin:0; padding:0; height:126px; overflow:hidden;}
		ul#gallery_pager li{float:left; margin:0; padding:0;}
		ul#gallery_pager li a{}
		ul#gallery_pager li img{}
		#pager a.nxtSlide{position:absolute; right:13px; top:35px; height:80px; width:38px; background:url(images/bg_slider_arrows.png) no-repeat right -25px; text-indent:-9999px;}
		#pager a.prvSlide{position:absolute; left:8px; top:35px; height:80px; width:38px; background:url(images/bg_slider_arrows.png) no-repeat 0 -155px; text-indent:-9999px;}

/***** FORM STYLES *****/
#contactForm{}
	#contactForm input{border:1px solid #ccc; width:300px; color:#888; padding:5px;}
	#contactForm textarea{border:1px solid #ccc; width:300px; color:#888; padding:5px;}
	#contactForm input.submit{width:auto; border:auto; padding:5px 10px; color:#4D4D4D;}
	input.error,
	textarea.error{background:#ffdfdf;}
	label.error{color:#f00; font-size:12px; padding:0 0 0 5px;}

/***** FOOTER STYLES *****/
#footerTop{width:100%; background-color:#FFF; margin:0; border-bottom:#333 1px dotted;}
	#footerTop a{text-decoration:none; font-weight:bold;}
	#footerTopL, 
	#footerTopC, 
	#footerTopR{border-right:#333 1px dotted; display:block; margin:0; height:60px; float:left; padding:20px;}
	#footerTopL{width:300px;}
	#footerTopC{width:130px;}
	#footerTopR{width:410px;}
		#footerTopR p{margin:0; color:#343434; font-size:14px; padding:0px;}
		#footerTopR img{margin:0 15px 0 0;}

#footerBottom{width:100%; background-color:#FFF; margin:0; border-bottom:#333 1px dotted; color:#8C8C8C; font-family:'Open Sans', sans-serif; font-weight:400; font-size:0.8em;}
	#footerBottom .inner{padding:20px 0; text-align:center;}
	#footerBottom a{color:#8C8C8C; text-decoration:none;}
	#footerBottom a:hover{color:#999;}

#lgVid{display:none;}

/*
 *	Misc. helpers
 */
/*Image replacement */

.alert{color:#f00; padding:5px; /*border:2px dashed #f00;*/}

.ir {background-color: transparent; border: 0; overflow: hidden; /* IE 6/7 fallback */ *text-indent: -9999px;}
.ir:before {content: ""; display: block; width: 0; height: 100%;}
/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden {display: none !important;visibility: hidden;}
/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden {border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto;}
/* Hide visually and from screenreaders, but maintain layout */
.invisible {visibility: hidden;}
/* Clearfix: contain floats. For modern browsers. 1. The space content is one way to avoid an Opera bug when the `contenteditable` attribute is included anywhere else in the document. Otherwise it causes space to appear at the top and bottom of elements that receive the `clearfix` class. 2. The use of `table` rather than `block` is only necessary if using `:before` to contain the top-margins of child elements. */
.clearfix:before, .clearfix:after {content: " "; /* 1 */ display: table; /* 2 */}
.clearfix:after {clear: both;}
/* For IE 6/7 only. Include this rule to trigger hasLayout and contain floats. */
.clearfix {*zoom: 1;}