/* @override http://www.cthought.com/css/www.css */

/* Zero-Grade Styles */
body
{
    margin: 0 auto;
	height: 100%;
	color: #000;
	font: normal 11pt Calibri, Myriad, "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
	line-height: 1.22em;
	background-color: #EEEEEE;
	color: #223344;
	padding: 20px;
}
h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd, p
{
	margin: 0;
	padding: 0;
}
a, img
{
	border: 0;
	color: #A5AAAA;
	outline: none;
}
a:visited
{
	color: #A5AAAA;
}
/*
li
{
	list-style: none;
}
*/
table, td
{
	font-size: inherit;
}
select, input, textarea
{
	font: 99% Arial, Helvetica, Clean, Sans-serif;
}


/* Frame styles */
#bodyBackground
{
	padding: 0 0 0 0;
	text-align: center;
}
#main
{
	background-color: #FFFFFF;
	width: 915px;
    margin: 0 auto 0 auto;
    padding: 0 0 5px 0;
	text-align: center;
}
.clearfloat
{
	clear: both;
	display: inline;
}


/* Header styles */
#header
{
	background-color: #FFFFFF;
	width: 905px;
	margin: 5px 5px 5px 5px;
}
#header #nav
{
	color: #000;
	display: inline;
	float: right;
	list-style-type: none;
	line-height: 100%;
	margin: 39px 0 0 15px;
	font-size: 11pt;
}
#header #nav li
{
	list-style-type: none;
	display: inline;
	float: left;
	padding: 1px;
}
#header #nav li a
{
	color: #000;
	text-decoration: underline;
	padding: 0px 2px 2px 2px;
}
/*
#header #nav .selected
{
	color: #fff;
	background-color: #223344;
	text-decoration: none;
	padding: 0 2px 2px 2px;
}
#header #nav li a:hover
{
	color: #fff;
	background-color: #223344;
	text-decoration: underline;
	padding: 0 2px 2px 2px;
}
*/
#header #nav li.separator
{
	padding: 1px 2px 0 2px;
}
#header #nav li.spacer
{
	padding: 0;
}
#header img.logo
{
	float: left;
	/*
	height: 60px;
	width: 61px;
	*/
	padding: 10px 0 0 10px;
}
#headerSpacer
{
    clear: both;
    display: block;
    margin: 25px;
}
/* FF */
html:not([xmlns*=""]):not(:only-child) #header 
{
    float: left;
} 
/* Safari */
body:last-child:not(:root:root) #header 
{
    float: left;
}

#intro
{
	float: left;
	display: block;
	margin: -3px 0 -10px 15px;
}
#intro p
{
	padding-bottom: 15px;
}
#subtitle
{
    float: left;
    margin: 4px 0 0 0;
}
.rssLink
{
    float: right;
    margin-right: 20px;
    height: 10px;
    width: 10px;
}


/* Content Styles */
#content
{
	clear: both;
	text-align: left;
	margin: 0 0 0 15px; 
	min-height: 200px;
}
#content ul
{
	list-style: square;
	list-style-position: outside;
	margin: 20px;
}
#contentSummary 
{
	float: left;
	width: 335px;
}
#contentSummary h2
{
    color: #939999;
	font-size: 140%;
	line-height: 130%;
	padding-top: 5px;
}
#contentSummary .imageLink
{
    display: block;
    text-align: center;
    padding: 40px 0 40px 0;
}
#contentSummary .customerQuote
{
    display: block;
    padding-right: 15px;
    font-style: italic;
}
#contentSummary .customerQuote p
{
    padding-bottom: 5px;
}
#contentDetails 
{
	float: right;
	width: 525px;
	text-align: left;
	margin-bottom: 40px;
	padding: 0 15px 0 15px;
	border-left: solid 1px #939999;
}
#contentDetails p
{
	width: 510px;
	text-align: left;
	padding: 5px 15px 5px 0;
}
#contentDetails ul, #contentDetails ol
{
    padding: 0 0 10px 20px;
}
#contentDetails ul li
{
	list-style-type: disc;
}
#contentDetails ol li
{
	list-style-type: decimal;
}
/* subtitle spans columns 1 & 2 of a 4 column layout */
.titleCols12_4
{
	color: #A5AAAA;
	float: left;
	width: 390px;
	padding-right: 47px;
	font-size: 160%;
	line-height: 130%;
}
/* subtitle spans columns 2 & 3 of a 4 column layout */
.titleCols23_3
{
    color: #A5AAAA;
    float: left;
 	width: 570px;
 	font-size: 130%;
	line-height: 120%;
    padding-right: 15px;
    margin: -30px 0 0 300px;
}
.blahsaCol
{
	float: left;
	font-weight: normal;
	line-height: 120%;
/*    width: 206px;*/
	height: 100%;
	padding: 10px 10px 10px 8px;
}
.blahsaCol p
{
	padding-bottom: 15px;
}
h1, h2, h3, h4, h5, ul, ol, li, dl, dt, dd, p
{
	margin: 0;
	padding: 5px;
}
/* text columns in a 4 column layout */
.blahsaCol1_4, .blahsaCol2_4, .blahsaCol3_4, .blahsaCol4_4
{
	float: left;
	font-weight: normal;
	line-height: 120%;
    width: 206px;
	height: 100%;
    margin-bottom: 40px;
	text-align: center;
	padding: 5px 15px 5px 5px;
}
.blahsaCol23_4
{
	float: left;
	font-size: 90%;
	font-weight: normal;
	line-height: 120%;
    width: 206px;
    margin-bottom: 40px;
	padding: 5px 10px 5px 8px;	
}
.blahsaCol24_4
{
	float: left;
	font-weight: normal;
	line-height: 120%;
    width: 654px;
    margin-bottom: 40px;
	padding: 5px 10px 5px 8px;	
}
.blahsaCol1_4 p, .blahsaCol2_4 p .blahsaCol3_4 p, .blahsaCol4_4 p, .blahsaCol23_4 p, .blahsaCol24_4 p
{
	padding-bottom: 15px;
}
.blahsaCol1_4
{
	margin-left: -7px;
}
.blahsaCol2_4, .blahsaCol3_4, .blahsaCol4_4, .blahsaCol23_4, .blahsaCol24_4
{
	border-left: solid 1px #A5AAAA;
}

/* text columns in a 5 column layout */
.blahsaCol1_5, .blahsaCol2_5, .blahsaCol3_5, .blahsaCol4_5, .blahsaCol5_5
{
	float: left;
	font-size: 95%;
	font-weight: normal;
	line-height: 120%;
    width: 161px;
    margin-bottom: 40px;
	padding: 5px 10px 5px 8px;
}
.blahsaCol1_5 p, .blahsaCol2_5 p, .blahsaCol3_5 p, .blahsaCol4_5 p .blahsaCol5_5 p
{
	padding-bottom: 15px;
}
.blahsaCol12_5
{
	float: left;
	font-size: 90%;
	font-weight: normal;
	line-height: 120%;
    width: 370px;
	padding: 5px 10px 5px 8px;
}
.blahsaCol1_5, .blahsaCol12_5
{
	margin-left: -7px;
}

#content em
{
	display: block;
	color: #A5AAAA;
	font-style: normal;
	font-size: 90%;
	padding-bottom: 5px;
}

#content #principlesContent em
{
	display: block;
	color: #A5AAAA;
	font-style: normal;
	font-size: 90%;
	padding-bottom: 5px;
	font-weight: bold;
}

/* Footer Styles */
#footer
{
	clear: both;
	text-align: center;
	color: #fff;
	width: 890px;
	padding: 15px 0 15px 15px;
	margin: 0 5px 0 5px;
	font-size: 90%;
	font-weight: normal;
}
#footer h5
{
    font-size: 110%;
}
/* footer text columns, 4 column layout */
.footerCol1_4, .footerCol2_4, .footerCol3_4, .footerCol4_4
{
	float: left;
	text-align: left;
	width: 211px;
	margin: 0;
	padding: 5px 5px 5px 8px;
	border-left: solid 1px #fff;
}
.footerCol1_4
{
	margin-left: -12px;
	border-left: none;
}
#footer a
{
	color: #fff;
	text-decoration: underline;
}
/*
#footer a:hover
{
	color: #fff;
	background-color: #223344;
	text-decoration: none;
}
*/
#copyright
{
	padding-top: 20px;
	clear: both;
	text-align: left;
	font-size: 90%;
}

/* Blog Styles */
/* Blog Navigation */
#blogNav
{
	border-left: solid 1px #A5AAAA;
	float: left;
	margin: 10px 0 0 30px;
	padding: 5px 0 0 10px;
	width: 225px;
}
#blogNav h4
{
	padding: 0 0 3px 0;
	font-size: 105%;
}
#blogNav .sortList
{
	padding: 0;
}

#blogNav .sortList li
{
	display: inline;
	line-height: 100%;
}

#blogNav .itemList
{
	padding: 10px 0 20px 0;
}

/* Blogs */
#blogContent
{
	padding-top: 20px;
	padding-left: 5px;
}

#blogContent div.post div.postBody 
{
	float: right;
	width: 425px;
}

#postList
{
	float: left;
	width: 625px;
	padding: 5px 0 0 0;
}

#postList .blogLink
{
	float: left;
	padding: 0 0 5px 0;
}

#postList .moreLink
{
	display: block;
}

#postList .post
{
	margin-bottom: 15px;
	margin-top: 5px;
}

#postList .postDate, #postList .postCategory
{
	clear: left;
	float: left;
    color: #A5AAAA;
	font-size: 90%;
	line-height: 100%;
}

#postList h4.postTitle
{
    text-align: left;
	font-size: 105%;
}
html:not([xmlns*=""]):not(:only-child) div#postList div.post h4.postTitle a 
{ 
	margin-top: -20px; 
}

#postList h4.postTitle a
{
	float: right;
    width: 425px;
    text-decoration: none;
	color: #000;
	padding: 0 0 3px 0;
}

#postList img
{
	padding: 0px 10px;
	width: 100px;
}

#postList hr, #newsContent hr
{
	clear: right;
	color: #A5AAAA;
	background-color: #A5AAAA;
	height: 1px;
	border: none;
	opacity: .50;
}

#newsContent div.post div 
{
	font-size: 90%;
	line-height: 120%;
	margin-bottom: 30px;	
}

div#blogContent div#postList div.post 
{
	float:right;
	margin-bottom: 30px;

}

/* Error */
h4.errorText
{
 	font-size: 130%;
	line-height: 120%;
    font-weight: normal;
    margin-bottom: 250px;
}

/* Jobs */
#jobs
{
    /* cols 1+2 of 5 */
    float: left;
    width: 345px;
    margin: 50px 15px 15px 0;
	font-weight: normal;
	line-height: 120%;
}
.jobsMapLink
{
    float: right;
    text-align: right;
    margin: -90px 15px 0 0;
}

#jobs hr
{
    clear: both;
	color: #A5AAAA;
	background-color: #A5AAAA;
	height: 1px;
	width: 30px;
	border: none;
	margin: 14px 0 4px 0;
}

#jobs h4, #benefits h4
{
	font-size: 110%;
	padding: 0 0 15px 0;
	font-weight: bold;
}

#jobs h5, #benefits h5
{
	font-weight: bold;
	padding: 5px 0 5px 0;
}

#jobs ul
{
    padding: 0 0 10px 30px;
}

#benefits
{
    /* cols 3+4 of 5 */
    float: left;
    width: 325px;
    border-left: solid 1px #A5AAAA;
	font-weight: normal;
	line-height: 120%;
    padding: 0 0 15px 10px;
    margin: 50px 15px 15px 4px;
}

#benefits ul
{
    padding: 0 0 10px 30px;
}

#jobs li, #benefits li
{
	list-style-type: disc;
}

#jobs .jobDescription
{
	padding: 5px 0 0 0;
}

#jobs p, #benefits p
{
	padding-bottom: 10px;
}
#jobs div.post a.jobTitle 
{ 
	font-weight: bold; 
}
#jobs .jobDescription div div p 
{ 
	margin-bottom: -10px; 
}
#images
{
    /* col 5 of 5 */
    float: left;
    width: 165px;
    margin: 50px 8px 15px 0;
} 
#images img
{
    /* col 4 of 4 */
    width: 165px;
    height: 165px;
    padding: 2px;
}

/* shared by Labs and Projects */
img.crosshair
{
	border-width: 0px;
	cursor: pointer;
	display: none;
	height: 30px;
	position: absolute;
	width: 30px;
	z-index: 2;
}
img.highlight
{
	background-color: #668092;
	border-width: 0px;
	cursor: pointer;
	display: none;
	opacity: .65;
	position: absolute;
	z-index: 1;
}

/* Labs */
.labProjectList
{
    margin-top: 40px;
    margin-bottom: 40px;
}
.labProjectList tr
{
    vertical-align: top;
}
div.labProject
{
    width: 435px;
    padding-top: 10px;
    margin-right: 15px;
    border-top: solid 1px #C7CCCC;
}
div.labProject img.screenshot
{
	cursor: pointer;
    float: left;
    width: 200px;
	margin: 0 15px 0 0;
	z-index: 0;
}
div.labDetails
{
    width: 220px;
    float: right;
    padding-bottom: 20px;
}
div.labDetails .client
{
	font-weight: bold;
	display: block;
}
div.labDetails .project
{
	display: block;
}
div.labDetails ul
{
    margin: 7px 0 10px 0px;
}
div.textDiv
{

	visibility:hidden;
}

/* News */
#newsContent
{
    margin: 0 15px 15px 15px; 
    padding-top: 20px;
	line-height: 120%;
    width: 650px;
}

#newsContent hr
{
    clear: both;
	height: 1px;
	border: none;
	margin: 20px 0 15px 0;
}

#newsContent h4
{
    float: right;
    width: 435px;
	font-size: 105%;
	line-height: 120%;
	padding: 0 0 15px 0;
	font-weight: bold;
}

#newsContent .postDate
{
    float: left;
    color: #A5AAAA;
}

#newsContent ul
{
    clear: both;
    float: right;
	width: 405px;
    padding: 0 0 15px 30px;
}

#newsContent li
{
	list-style-type: disc;
}

#newsContent p
{
    clear: both;
    float: right;
	width: 435px;
    padding-bottom: 15px;
}

/* Principles */
#principlesContent
{
	padding-bottom: 50px;
	padding-top: 20px;
}
#principlesContent h4
{
	font-size: 120%;
	padding: 0 0 10px 0;
	font-weight: bold;
}


/* Projects */
#projectsContent
{
	clear: both;
	font-size: 90%;
	padding-bottom: 40px;
	padding-top: 5px;
}
.servicesText
{
    clear: left;
    float: left;
 	width: 425px;
    padding-right: 15px;
    margin: 16px 0 20px 300px;
    font-size: 90%;
}
.servicesText ul
{
    padding: 3px 0 3px 30px;
}
.servicesText li
{
    list-style-type: disc;
}
#projectsContent hr
{
    clear: both;
	color: #A5AAAA;
	background-color: #A5AAAA;
	height: 1px;
	border: none;
	margin: 0 15px 0 0;
}
.msftCert
{
    float:right;
    margin: 20px 15px 0 0;
}
#projectsContent .summary
{
    float: left;
    width: 285px;
	margin: 8px 15px 4px 0;
}
#projectsContent .summary li
{
	color: #A5AAAA;
}
#projectsContent .client
{
	font-weight: bold;
	display: block;
}
#projectsContent .project
{
    width: 250px;
	display: block;
}
#projectsContent ul.technologies
{
    margin-top: 10px;
}
#projectsContent .details
{
    float: left;
    width: 285px;
	margin: 8px 15px 8px 0;
}
#projectsContent .detailsPanel
{
	background-color: #223344;
	float:right;
	padding: 10px;
	width: 545px;
}
#projectsContent div.item
{
	padding-bottom: 30px;
}
hr#hoverRule
{
	opacity: .50;
	margin-right: 0;
}
#detailsContent, #detailsTitle
{
	clear: left;
	float: left;
	font-size: 100%;
    color: #fff;
}
#detailsTitle
{
    padding-top: 10px;
}
#detailsAction
{
    float: right;
    padding-top: 2px;
    position: absolute;
    bottom: 10px; right: 10px;
}
#projectsContent a.closeLink
{
    padding-right: 2px;
    padding-bottom: 1px;
}
#detailsAction .closeImage 
{
	position: relative; top: 3px;
}
#projectsContent p
{
    padding-bottom: 10px;
}
#projectsContent .background
{
	background-color: #E5E5E5;
	opacity: .70;
}
#projectsContent img.screenshot
{
	cursor: pointer;
    float: right;
    width: 265px;
	margin: 8px 15px 0 0;
	z-index: 0;
}

#projectsContent div.imageNav
{
	clear: right;
	float: right;
	margin: 4px 15px 40px 0;
}


/* People Page */
#peopleContent 
{
    clear: both;
    margin-left: -5px;
    position: relative;
}
.peopleGrid
{
    margin-bottom: 20px;
}
#selectSort
{
    float: left;
    padding: 25px 0 10px 0;
    margin: 0;
}
#selectSort select
{
    font-size: 86%;
    margin: 0 0 0 1px;
    width: 200px;
}
.chkManagementTeam
{
    float: right;
    padding: 22px 15px 10px 0;
}
#peopleContent .imageCell, #peopleContent .youCell, #peopleContent img.displayImage, #peopleContent div.eggShell
{
    width: 104px;
    height: 80px;
}
#peopleContent .youCell div.eggShell
{
    background-color: #F6F6F6;
    text-align: center;
    line-height: 77px;
}
#peopleContent img.managementKey
{
	display: none;
    margin: 2px 0 0 92px;
    position: absolute;
    z-index: 1;
}
#peopleContent img.displayImage
{
    background-color:#EEEEEE;
    float: right;
    z-index: 0;
}
#hoverPanel
{
    display: none;
    background-color: #223344;
    text-align: center;
    position: absolute;
    padding: 9px 9px 12px 9px;
    width: 200px;
    z-index: 2;
}
#hoverPanel span
{
    color: #fff;
}
#popupName, #popupDescription
{
	display: block;
    text-align: left;
}
#popupName
{
    font-weight: bold;
}
#popupBio
{
    display: none;
}
#popupImage
{
    height: 150px;
    width: 200px;
}

#violator a {
                text-decoration: none;
}

#violator a:hover {
                text-decoration: underline;
}
#violator a.title {
                font-size: 20px;
                line-height: 22px; 
                color: rgb(103, 136, 185);
                display: block;
}
#violator span {
                display: block;
                margin-top: 6px;
                color: #fff;
}

/* menu fix for Safari */
@media all and (min-width: 0px) {
            body:not(:root:root) #header { border: solid 1px transparent; height: 100px; }
}

