@charset "UTF-8";

/* RESET */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,span,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{ border:0; margin:0; outline:0; padding:0; vertical-align:baseline !important; }

/* SETUP */

html{ background:#eee; overflow-y:scroll; }
body{
	background:				#fff;
	border:					1px solid #ddd;
	border-radius:			8px;
	box-shadow: 			0 0 20px rgba(0,0,0,.1);
	color:					#333;
	font:					normal 300 18px/28px 'Open Sans',sans-serif;
	margin:					150px auto;
	text-align:				left;
	width:					1000px;
}

/* ELEMENTS */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{ display:block; margin:0; padding:0; }
button, input, select, textarea{ margin:0; } /* Webkit browsers add a 2px margin outside the chrome of form elements */

a:hover, a:active{ outline:none; } /* Accessible link focus <http://people.opera.com/patrickl/experiments/keyboard/test> */
abbr[title], dfn[title] { border:none; cursor:help; }

b, strong{ font-weight:700; }

blockquote, ol, p, ul{ margin-bottom:28px; }
blockquote, q{ quotes:none; }
blockquote, li, ol, p, textarea, ul{ text-indent:0; }
blockquote, p, ol, ul{ margin-bottom:28px; }
blockquote{ 
	color:					#222;
	font:					italic 300 18px/28px 'Open Sans',sans-serif;
	margin:					0 42px 28px;
}
blockquote:before{
	color:					#79a8cd;
	content:				'\f10d';
	float:					left;
	font:					30px/30px 'FontAwesome';
	margin:					-4px auto 0 -39px;
	padding:				0;
}
blockquote h3+p:first-letter{
	color:					#0061af;
	display: 				block;
	float:					left;
	font:					normal 400 62px/40px 'Open Sans',sans-serif;
	font-style:				normal !important; /* what the hell... */
	margin:					4px 3px auto auto;
}
blockquote>cite{ 
	display:				block;
	font:					normal 300 18px/28px 'Open Sans',sans-serif;
	margin-top:				-28px;
	text-align:				right;
}
cite:before{ content:"—"; }
h1, h2, h3, h4{ 
	font:					normal 300 44px/56px 'Open Sans',sans-serif;
	margin:					0 auto 28px 0; 
}
h2{
	color:					#444;
	font:					700 24px/28px 'Open Sans Condensed',sans-serif;
}
h3{ 
	color:					#000;
	font:					italic 300 24px/28px 'Open Sans',sans-serif; 
}
h4{ font:700 18px/28px 'Open Sans Condensed',sans-serif; }

li p{ margin:28px 0 0; }
ol, ul{ 
	counter-reset:			li;
	font:					300 18px/28px 'Open Sans',sans-serif; 
	margin:					0 0 28px 64px;
}
ol li, ul li{
	counter-increment:		li;
	list-style-type:		none;
	margin:					0 0 0 10px;
	position:				relative;
}
ol li:before, ul li:before{
	left:					-35px;
	margin:					-2px 20px auto auto;
	position:				absolute;
	text-align:				center;
	width:					25px;	
}
ol li:before{
	background:				#79a8cd;
	border-radius:			10px;
	color:					#fff;
	content:				counter(li);
	font:		 			700 14px/14px 'Open Sans Condensed',sans-serif;
	height:					14px;
	margin:					6px auto auto 3px;
	padding:				3px 3px 2px 2px;
	width:					14px;
}
ol ol li:before{ content:counter(li,lower-alpha) ")"; }
ol ol ol li:before { content:counter(li,lower-roman) "."; }
ul li:before{
	color:					#79a8cd;
	content:				'\f058';
	font:					normal normal 18px/0 'FontAwesome';
	margin-top:				13px;
}
table{ margin:28px 0; }
td{ padding:0 14px; }
td.right-align{ text-align:right; }

/* HEADER */

header{
	background:				#0061af;
	border-top-right-radius:4px;
	border-top-left-radius: 4px;
	box-shadow: 			0 0 15px rgba(0,0,0,.45);
	height:					40px;
	margin:					-40px 75px 0 75px;
	position: 				absolute;
	width:					850px;
	z-index:				0;
}
header h1{
	background:				url(images/logo.png) 0 0 no-repeat;
	height:					62px;
	margin:					-90px 0 90px 0;
	text-indent: 			-9999em;
	width:					336px;
}
header h2{ display:none; }
header h2 small{ display:none; }
header h3{ 
	color:					#0061af;
	font:					700 28px 'Open Sans Condensed',sans-serif;
	position:				absolute;
	right:					0;
	top:					-69px;
}
header nav{
	font:					normal 300 16px/28px 'Open Sans',sans-serif;
	height:					40px;
	margin:					-55px auto auto 30px;
}
header nav a{ color:#fff; text-decoration:none; }
header nav a:hover{ text-decoration:underline; }
header nav li{
	color:					#fff;
	float:					left;
	height:					35px;
	margin:					-15px 10px 0 10px; 
	padding:				13px 20px 0;
}
header nav li:before{ content:''; }
header nav li.active{ 
	background:				#fff;
	color:					#000;
	box-shadow: 			0 -5px 10px rgba(0,0,0,.1);
	border-top-left-radius:	5px;
	border-top-right-radius:5px;
}
header nav li.active a:link,
header nav li.active a:visited{ color:#000; }
header nav ul{ list-style:none; margin-left:0; }

/* ARTICLE STUFF */

article{ 
	background:				#fff;
	border-radius:			8px;
	padding:				50px 75px;
	position:				relative;
	z-index:				1;
}

/* drop cap */
article section h1+p:first-letter, .drop-cap{
	color:					#0061af;
	float:					left;
	font:					700 60px/40px 'Open Sans Condensed',sans-serif;
	margin:					7px 2px auto auto;
}

/* GTP dropdown stuff */

article nav{
	-webkit-transition:		background .5s 1s;
	background: 			#e06900;
	background:				-moz-linear-gradient(top, #f9c13e 0%, #f17432 50%, #ea5507 51%, #fb955e 100%); /* FF3.6+ */
	background: 			-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9c13e), color-stop(50%,#f17432), color-stop(51%,#ea5507), color-stop(100%,#fb955e)); /* Chrome,Safari4+ */
	background: 			-webkit-linear-gradient(top, #f9c13e 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Chrome10+,Safari5.1+ */
	background: 			-o-linear-gradient(top, #f9c13e 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* Opera 11.10+ */
	background: 			-ms-linear-gradient(top, #f9c13e 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* IE10+ */
	background: 			linear-gradient(to bottom, #f9c13e 0%,#f17432 50%,#ea5507 51%,#fb955e 100%); /* W3C */
	filter: 				progid:DXImageTransform.Microsoft.gradient( startColorstr='#f9c13e', endColorstr='#fb955e',GradientType=0 ); /* IE6-9 */height:					24px;
	margin:					14px;
	padding:				28px 28px 28px 56px;
	text-shadow:			-1px -1px 0 rgba(0,0,0,.5);
	transition:				background .5s 1s;
}
article nav:hover{
	-webkit-transition:		background .5s;
	background: 			rgb(184,225,252); /* Old browsers */
	background: 			rgb(59,103,158); /* Old browsers */
	background: 			-moz-linear-gradient(top, rgba(59,103,158,1) 0%, rgba(43,136,217,1) 50%, rgba(32,124,202,1) 51%, rgba(125,185,232,1) 100%); /* FF3.6+ */
	background: 			-webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(59,103,158,1)), color-stop(50%,rgba(43,136,217,1)), color-stop(51%,rgba(32,124,202,1)), color-stop(100%,rgba(125,185,232,1))); /* Chrome,Safari4+ */
	background: 			-webkit-linear-gradient(top, rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Chrome10+,Safari5.1+ */
	background: 			-o-linear-gradient(top, rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* Opera 11.10+ */
	background: 			-ms-linear-gradient(top, rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* IE10+ */
	background: 			linear-gradient(to bottom, rgba(59,103,158,1) 0%,rgba(43,136,217,1) 50%,rgba(32,124,202,1) 51%,rgba(125,185,232,1) 100%); /* W3C */
	filter: 				progid:DXImageTransform.Microsoft.gradient( startColorstr='#3b679e', endColorstr='#7db9e8',GradientType=0 ); /* IE6-9 */	transition:				background .5s;
	text-shadow:			-1px -1px 0 rgba(0,0,0,.5);
	transition:				background .5s;
}
article nav a{ color:#fff; text-decoration:none; }
article nav h2{
	color:					#fff;
	font:					700 28px/28px 'Open Sans Condensed',sans-serif;
	margin:					24px auto 28px 56px;
}
article nav h2 i{
	/* caret icon */
	border-left:			1px solid rgba(0,0,0,.15);
	box-shadow:				1px 0 1px rgba(255,255,255,.35) inset;
	display:				inline-block;
	float:					right;
	height:					28px;
	margin-top:				-24px;
	padding:				26px 28px;
}
article nav ul{
	-webkit-transition:		height 1s 1s;
	border:					3px solid #fff;
	border-radius: 			5px;
	box-shadow: 			0 0 10px rgba(0,0,0,.5);
	height:					80px;
	list-style:				none;
	margin:					-31px -31px 0 -56px;
	overflow:				hidden;
	transition:				height 1s 1s;
}
article nav ul:hover{
	-webkit-transition:		height 5.s;
	height:					460px;
	transition:				height .5s;
}
article nav ul li a{
	background:				#fff;
	color:					#111;
	display:				inline-block;
	margin-left:			-10px;
	padding:				7px 56px;
	text-shadow:			none;
	width:					100%;
}
article nav ul li a:hover{
	background:				#eee;
	color:					#0061af;
}

/* ASIDE */

aside{
	background: 			#fff;
	border:					3px solid #eee;
	box-shadow: 			0 0 20px rgba(0,0,0,.05);
	float:					right;
	margin:					0 0 28px 28px;
	padding:				14px 0 14px 22px;
	width:					320px;
}

/* FOOTER */

footer{
	background: 			#ddd;
	border:					1px solid #d9d9d9;
	border-top:				1px dotted #bbb;
	clear:					both;
	color:					#888;
	font:					12px/20px 'Open Sans',sans-serif;
	padding:				75px;
}
footer a{ color:#444; font-size:13px; text-decoration:none; }
footer p{ clear:both; }
footer p.copyright{ margin:0 0 56px 14px; }
footer ul{ 
	float:					left;
	list-style:				none;
	margin:					0 0 56px 14px;
	padding:				0;
	width:					120px;
}
footer ul li{ margin:0; padding:0; }
footer ul li:before{ content:''; }
footer ul.about{ width:250px; }
footer ul.about a{ font-size:16px; }
footer ul.about a:hover{ text-decoration:underline; }
footer ul.about li{ margin-left:0; }
footer ul.about li:before{ color:#aaa; content:'\f138'; }

/* MULTIUSE CLASSES */

.callout, .gtp{
	/* "give the payoff" element surrounding page objectives */
	background:				#eafdff;
	border:					3px solid #daf6f8;
	box-shadow: 			0 0 20px rgba(0,0,0,.05);
	clear:					both;
	margin:					28px 0 56px;
	overflow: 				visible;
	padding:				28px 42px;
}
.gtp{ background:#fbf5db; border:3px dotted #e1703d; box-shadow:0 0 10px rgba(0,0,0,.2); }

.dropdown{ /* GTP dropdown menu */ 	height:112px; }

.single-location h2{ font-size:32px; margin-bottom:0; text-align:center; }

.gtp span{ color:#0061af; }

.gtp .office-columns{ margin:0 0 84px; padding:0; text-align:center; }
.gtp .office-columns li{
	/* separates out the office location headings & numbers into 5 columns in the GTP area */
	float:					left;
	margin:					0;
	padding:				0;
	width:					20%;
}
.gtp .office-columns li:before{ content:''; }

.gtp .contact-columns{ margin:0 0 84px; padding:0; text-align:left; }
.gtp .contact-columns li{
	/* separates out the office location and hours into 3 columns in the GTP area */
	float:					left;
	margin:					0;
	padding:				0;
	width:					33%;
}
.gtp .contact-columns li:before{ content:''; }

.gtp .nyc-office-columns{ margin:0 0 84px; padding:0; text-align:left; }
.gtp .nyc-office-columns li{
	/* separates out the nyc office locations into 3 columns in the GTP area */
	font:					300 22px 'Open Sans',sans-serif; 
    float:					left;
	margin:					0;
	padding:				0;
	width:					33%;
}
.gtp .nyc-office-columns li:before{ content:''; }


.seals img{
	/* approval seal images are contained in the .seals div */
	margin:					0 35px 56px 35px;
	max-width: 				200px;
}
.seals img.magic{ padding-bottom:28px; }

.video{
	/* sections that contain videos */
	-webkit-transition:		background 1s, box-shadow 1s;
	background:				#666;
	box-shadow:				0 0 10px rgba(0,0,0,.4) inset;
	margin:					0 auto 56px -65px;
	position: 				relative;
	transition:				background 1s, box-shadow 1s;
	width:					980px;
	z-index: 				99;
}
.video:hover{
	/* dim the lights */
	-webkit-transition:		box-shadow 1s;
	background: 			#222;
	box-shadow:				0 0 10px rgba(0,0,0,.4) inset,
				 			0 0 0 9999em rgba(0,0,0,.75);
	transition:				background 1s, box-shadow 1s;
}

/* RESPONSIVE ADJUSTMENTS */

@media all and (max-width:1000px){
	body{ width:800px; }
}
@media all and (max-width:800px){
	body{ width:600px; }
}
@media all and (max-width:600px){
	body{ width:480px; }
}
