body {
	background:#000 url(images/bg_body.jpg) no-repeat 50% 30px;
	text-align:center;
}

#page {
    min-width:970px;
}

.prefix {
	background:url(images/bg_heading_separator.png) no-repeat 100% 4px;
	text-transform:uppercase;
	letter-spacing:-2pt;
	font-weight:normal;
	padding:0 18px 0 0;
	margin:0 13px 0 0;
	display:inline;
	line-height:1;
	font-size:3.4em;
	color:#fff;
	float:left;
}
.prefix-small {
	border-right:2px solid #555;
	text-transform:uppercase;
	margin:.3em 1ex 0 0;
	padding:0 1ex 0 0;
	font-size:1.2em;
	display:inline;
	line-height:1;
	color:#777;
	float:left;
}
.published {
	color:#00AEEF;
}

/* UTILITIES ************************************************************/
#page .hide {
	position:absolute;
	overflow:hidden;
	left:-9999in;
	top:-9999in;
	height:0;
	width:0;
}

#page .clear {
	visibility:hidden;
	background:none;
	overflow:hidden;
	display:block;
	font-size:0;
	float:none;
	clear:both;
	padding:0;
	border:0;
	margin:0;
	height:0;
	width:0;
}

/* HEADER ***************************************************************/
#header {
	padding:30px 0 0;
}
#header .content {
	border-bottom:1px solid #fff;
    position:relative;
    text-align:left;
    margin:0 auto;
    height:220px;
    width:945px;
}

/* branding */
#branding {
    position:absolute;
    overflow:hidden;
    height:69px;
    width:244px;
    left:-9px;
    top:120px;
}
#branding h1 {
	letter-spacing:-1pt;
	font-style:italic;
	font-weight:bold;
	line-height:1;
	font-size:4em;
	padding:0 5px;
	margin:0;
}
#branding h2 {
	text-transform:lowercase;
	font-weight:bold;
	line-height:1.2;
	font-size:1.3em;
	padding:0 5px;
	margin:0;
}
#branding a {
    text-decoration:none;
    border:none;
    color:#fff;
}
#branding img {
	font-size:0;
}

/* PRIMARY NAVIGATION ****************************************************/
#primary-navigation {
	border-bottom:1px solid #fff;
    position:absolute;
    list-style:none;
    overflow:hidden;
    height:90px;
    width:100%;
    z-index:10;
    padding:0;
    margin:0;
    left:0;
    top:0;
}
#primary-navigation li {
	font-weight:bold;
    font-size:1.3em;
    display:inline;
    float:left;
    padding:0;
    margin:0;
}
#primary-navigation a {
	text-shadow:0px 0px 6px rgba(255, 255, 255, 0.6);
    text-decoration:none;
    padding:0 20px;
    display:inline;
    height:90px;
    color:#fff;
    float:left;
}
#primary-navigation li.alpha a {
	padding-left:0;
}
#primary-navigation a span {
	background:url(images/bg_primary-navigation.png) repeat-x 0 -30px;
    position:relative;
    padding:33px 0 0;
	cursor:pointer;
    display:inline;
    float:left;
    height:1%;
}
.no-js #primary-navigation a:hover span,
.no-js #primary-navigation a:focus span,
.no-js #primary-navigation a:active span {
	text-shadow:0px 0px 6px rgba(0, 174, 239, 0.6);
	color:#00aeef;
}
#primary-navigation a:hover span,
#primary-navigation a:focus span,
#primary-navigation a:active span {
	text-shadow:0px 0px 6px rgba(0, 174, 239, 0.6);
}
#primary-navigation li.current a span {
	text-shadow:0px 0px 6px rgba(0, 174, 239, 0.6);
	background-position:0 0;
	color:#00aeef;
}

#primary-navigation a span.marker {
	background-position:0 0;
	position:absolute;
	cursor:pointer;
    display:block;
    height:0px;
    width:100%;
    padding:0;
    left:0;
    top:0;
}

/* MAIN ******************************************************************/
#main {
    font-weight:bold;
    line-height:1.63;
    font-size:1.3em;
}
#main form.content {
    padding:0 235px 38px 0;
	position:relative;
    overflow:hidden;
    text-align:left;
    margin:0 auto;
    width:710px;
}

/* FOOTER ****************************************************************/
#footer {
	background:url(images/bg_footer.png) no-repeat 50% 100%;
	padding:0 0 60px;
    font-weight:bold;
    margin:0 0 40px;
    font-size:1.2em;
}
#footer .content {
	border-top:1px solid #fff;
	padding:38px 0 0;
    text-align:left;
    overflow:hidden;
    margin:0 auto;
    width:945px;
}

#address,
#contact {
	display:inline;
	width:185px;
	float:left;
	margin:0;
}
#contact dt {
	margin:0 .5em 0 0;
	display:inline;
	float:left;
	color:#555;
}
#social {
	display:inline;
	float:right;
}
#social li {
	margin:0 0 7px 7px;
	display:inline;
	float:left;
}
#social a {
	text-indent:-9999in;
	overflow:hidden;
	display:block;
	border:none;
	height:26px;
	width:26px;
}
#social a.feed {
	background:url(images/ico_social.png) no-repeat -52px 0;
}
#social a.twitter {
	background:url(images/ico_social.png) no-repeat -26px 0;
}
#social a.linkedin {
	background:url(images/ico_social.png) no-repeat 0 0;
}
#social a.feed:hover,
#social a.feed:focus {
	background-position:-52px -26px;
}
#social a.twitter:hover,
#social a.twitter:focus {
	background-position:-26px -26px;
}
#social a.linkedin:hover,
#social a.linkedin:focus {
	background-position:0 -26px;
}
#copyright {
	text-align:right;
}
#technologies {
	list-style:none;
	float:right;
	clear:both;
	padding:0;
	margin:0;
}
#technologies li {
	margin:0 0 0 1em;
	display:inline;	
	float:left;
}
#technologies a {
	background:url(images/ico_tick.png) no-repeat 0 50%;
	padding:0 0 0 14px;
}

/* SERVICES NAVIGATION ***************************************************/
#service-navigation {
	position:absolute;
	text-align:right;
	padding:16px 0 0;
	width:235px;
	right:0;
	top:0px;
}
#service-navigation h1 {
	letter-spacing:-1pt;
	font-size:2em;
}
.cufon-ready #service-navigation h1 {
	margin-bottom:5px;
}
#service-navigation ul {
	padding:0 0 0 40px;
	list-style:none;
}
#service-navigation li {
	overflow:hidden;
	width:100%;
	margin:0;
}
#service-navigation li h2 {
	text-transform:none;
	margin:0;
}
#service-navigation li a {
	line-height:1.35;
	padding-top:3px;
	display:inline;
	float:right;
}
#service-navigation li.alpha a {
	padding:0;
}
#service-navigation li.current a {
	border-color:#00aeef;
	color:#00aeef;
	width:100%;
}

/* FEATURE *************************************************************/
#feature {
	position:relative;
	min-height:372px;
	overflow:hidden;
	margin:0 0 20px;
	width:710px;
}
.ie6 #feature {
	overflow:visible;
	height:372px; /* min-height */
}
#feature .content {
	position:absolute;
	overflow:hidden;
	height:372px;
	width:710px;
	left:0;
	top:0;
}
#feature .hidden {
	display:none;
}

/* PRIMARY IMAGE *******************************************************/
.primary-image {
	display:block;
	height:372px;
}

/* SLIDESHOW ***********************************************************/
.slideshow {
	position:relative;
	height:372px;
	width:100%;
	z-index:10;
}
.slideshow dt {
	height:372px;
	width:100%;
}
.slideshow dt a {
	display:block;
}
.slideshow dt img {
	display:block;
}
.slideshow dd {
	border:1px solid #555;
	border-width:1px 0px 1px 0px;
	white-space:nowrap;
	position:relative;
	padding:6px 15px;
	background:#000;
	overflow:hidden;
	margin:-3.9em 0 0;
	display:inline;
	float:left;
}
.slideshow dd h2 {
	text-transform:none;
	margin:0;
}
.slideshow dd a {
	border:none;
}
.slideshow .tile {
	overflow:hidden;
	display:inline;
	height:124px;
	width:142px;
	float:left;
}

/* GOOGLE MAP **********************************************************/
.googlemap {
	position:absolute;
	overflow:hidden;
	height:372px;
	z-index:5;
	left:0;
	top:0;
}

/* GRID LIST ***********************************************************/
.grid-list {
	position:relative;
	list-style:none;
	overflow:hidden;
	z-index:10;
	padding:0;
	margin:0;
}
.grid-list li {
	display:none;
	float:left;
	opacity:.1;
	filter:alpha(opacity=10);
}
.grid-list .visible,
.grid-list .selected {
	display:block;
}
.grid-list .selected {
	opacity:1;
	filter:alpha(opacity=100);
}
.grid-list a {
	line-height:124px;
	text-align:center;
	display:block;
	height:124px;
	width:142px;
	border:none;
}

/* TAB LIST ***********************************************************/
.tab-list {
	list-style:none;
	overflow:hidden;
	width:100%;
	padding:0;
}
.tab-list li {
	padding-right:15px;
	margin-right:5px;
	display:inline;
	float:left;
}
.tab-list li.current {
	padding-right:0;
}
.tab-list a {
	line-height:1.35;
	display:block;
}
.tab-list li.current a {
	border-color:#00aeef;
	padding-right:15px;
	color:#00aeef;
}

/* SECONDARY CONTENT **************************************************/
.secondary-content {
	border:1px solid #555;
	padding:11px 15px 0;
	margin-bottom:50px;
	position:relative;
	text-align:left;
	float:right;
	width:218px;
}
.secondary-content .cufon p,
.secondary-content .cufon ul {
	line-height:1.3;
	font-size:1.35em;
	color:#777;
}
.secondary-content p.author {
	text-transform:uppercase;
	min-width:110px;
	max-width:127px;
	margin-right:127px;
	position:absolute;
	padding:14px 0 0;
	line-height:1.4;
	font-size:1em;
	color:#fff;
	top:100%;
}
.secondary-content cite {
	font-style:normal;
	display:inline;
	float:left;
}
.secondary-content .role {
	text-transform:none;
	font-size:.9em;
	display:block;
}
.secondary-content .arrow {
	background:url(images/bg_speech_arrow.png) no-repeat 100% 100%;
	position:absolute;
	margin-left:15px;
	max-height:5em;
	height:100%;
	width:100px;
	left:100%;
	top:0;
}

/* COLUMNS ************************************************************/
.columns-2 {
	/*overflow:hidden;*/
	width:100%;
}
.column-primary {
	text-align:justify;
	margin-bottom:40px;
	display:inline;
	width:430px;
	float:left;
}
.column-secondary {
	margin-bottom:40px;
	text-align:right;
	display:inline;
	width:250px;
	float:right;
}

/* CONTACT DETAILS ****************************************************/
.contact {
	letter-spacing:-.3pt;
	text-transform:none;
	font-weight:normal;
	margin-bottom:6px;
	line-height:1.2;
	font-size:2.5em;
}

.contact.selected {
    color:#00AEEF;
}

/* NAV LIST ***********************************************************/
.nav-list {
	text-align:right;
	list-style:none;
	font-size:1em;
	padding:0 0 6px;
}
.nav-list li {
	overflow:hidden;
	width:100%;
	margin:0;
}
.nav-list li a {
	line-height:1.35;
	padding-top:3px;
	display:inline;
	float:right;
}
.nav-list li.current a {
	border-color:#00AEEF;
	color:#00AEEF;
	width:100%;
}

/* NEWS LIST ***********************************************************/
.news-list dt {
	border-top:1px solid #555;
	text-transform:uppercase;
	padding:11px 0 0;
	font-size:1em;
}
.news-list dd {
	margin:0 0 11px;
}
.news-list .alpha {
	border:none;
	padding:0;
}

/* SEARCH RESULTS ******************************************************/
.search-results {
	margin:22px 0;
}
.search-results dt {
	border-top:1px solid #555;
	text-transform:uppercase;
	margin:0 0 11px;
	padding:11px 0 0;
	font-size:1em;
}
.search-results dd {
	margin:0 0 11px;
}
.search-results .alpha {
	border:none;
	padding:0;
}

/* SERVICES LIST *******************************************************/
.services-list {
	list-style:none;
	padding:0;
}
.services-list li {
	border-top:1px solid #555555;
	padding:11px 0 0;
}
.services-list li.alpha,
.services-list li li {
	border:none;
	padding:0;
}
.services-list li ul {
	margin:0 0 11px;
}