/* global */
* { margin:0; padding:0; border:none; -webkit-text-size-adjust:none; }
body { background:#fff; color:#000; font-size:13px; line-height:18px; font-family:'PT Sans', Arial, sans-serif; }
/*body.careers, body.career { background:url(/img/careers_bg.jpg) 306px 0px no-repeat; }
body.contact { background:url(/img/contact_bg.jpg) 306px 0px no-repeat; }
body.introduction { background:url(/img/introduction_bg.jpg) 306px 0px no-repeat; }*/
a {
	color:#000;
	text-decoration:none;
	-webkit-transition:all .2s ease-in;
	-moz-transition:all .2s ease-in;
	-o-transition:all .2s ease-in;
	transition:all .2s ease-in;
}
a:hover { color:#858585; border-bottom:1px solid #858585; }
a:focus, a:active { outline:none; }
h1 { font-size:33px; line-height:36px; font-family:'PT Sans Caption', Arial, sans-serif; font-weight:600; }
h2 { font-size:28px; line-height:30px; font-family:'PT Sans Caption', Arial, sans-serif; font-weight:600; }
ul { float:left; width:100%; height:auto; display:block; list-style:none; }
ul li { float:left; width:100%; height:auto; margin-bottom:6px; display:block; list-style:none; }
sup { line-height:0px; }

#container { position:absolute; top:0px; left:0px; height:100%; min-height:765px; width:100%; min-width:960px; display:block; z-index:1; }
/*body.gradient #container { background:url(/img/bg_gradient.png) top left repeat-y; }*/
.project #container, .culture #container { min-width:1180px; }
#bg { position:fixed; z-index:-1; }
#bg img {
	position:absolute;
	height:100%;
	width:100%;
	display:block;
	-webkit-transition:opacity 1s linear;
	-moz-transition:opacity 1s linear;
	-o-transition:opacity 1s linear;
	transition:opacity 1s linear;
	opacity:0;
	filter:alpha(opacity=0);
	z-index:-1;
}
#bg img.active { opacity:1; filter:alpha(opacity=100); }

/* sidebar */
#container #sidebar { position:relative; float:left; width:89px; height:100%; min-height:765px; margin-left:97px; display:block; overflow:visible; }
#container #sidebar a#logo { float:left; width:89px; height:119px; margin-top:29px; display:block; }
#container #sidebar a#logo:hover { border:none; }
.home #container #sidebar { margin-left:67px; padding:0px 120px 0px 30px; background:#fff; background:rgba(255, 255, 255, .85); }
.home #container #sidebar #footer { margin-left:30px; }

#container #sidebar ul.nav { float:left; width:89px; height:54px; margin-top:84px; padding-top:5px; border-top:1px solid #000; list-style:none; overflow:visible; }
#container #sidebar ul.nav li { float:left; width:100%; height:auto; margin:0px; }
#container #sidebar ul.nav li a {  }
#container #sidebar ul.nav li a.current { color:#000; border-bottom:1px solid #000; }
#container #sidebar ul.nav.secondary { margin-top:189px; font-weight:bold; }

#container #sidebar h1#tagline { position:absolute; top:320px; left:0px; width:670px; height:auto; display:none; }

#container #sidebar #footer { position:absolute; bottom:0px; left:0px; width:89px; height:auto; padding-top:5px; border-top:1px solid #000; color:#000; overflow:visible; }
#container #sidebar #footer .inner { float:left; width:174px; height:auto; margin-bottom:23px; }
#container #sidebar #footer .inner.copyright { font-size:11px; line-height:normal; }

/* content */
#container #content { position:relative; float:left; width:100%; height:auto; display:block; }

/* subnav */
#container #subnav { position:relative; float:left; width:120px; height:100%; display:block; overflow:visible; }
#container #subnav ul { float:left; width:100px; height:54px; margin-top:232px; padding-top:5px; border-top:1px solid #000; list-style:none; overflow:visible; }
#container #subnav ul li { float:left; width:100%; height:auto; margin:0px; }
#container #subnav ul li a.current { color:#000; border-bottom:1px solid #000; }
#container #subnav ul li a.all { float:left; width:29px; height:13px; margin-top:13px; display:block; background:#000 url(/img/prev.png) 0px 0px no-repeat; border:none !important; text-indent:-9000px; overflow:hidden; }
#container #subnav ul li a.all:hover { background-color:#858585; text-decoration:none; border:none; }

/* fixed navigation - only for smaller screens */
.culture.large #container #sidebar, .portfolio.large #container #sidebar, .project.large #container #sidebar { position:fixed; top:0px; left:0px; min-height:765px; }
.culture.large #container #content, .portfolio.large #container #content, .project.large #container #content { margin-left:186px; }
.culture.large #container #content #subnav, .portfolio.large #container #content #subnav, .project.large #container #content #subnav { position:fixed; top:0px; left:186px; }
.culture.large #container #content #culture_wrapper, .portfolio.large #container #content #portfolio_wrapper, .project.large #container #content #project_wrapper { margin-left:120px; }
.project.large #container #content .box { position:fixed; left:306px; }
.project.large #login, .portfolio.large #login, .culture.large #login { position:fixed; top:auto; bottom:151px; }
.project #login, .portfolio #login, .culture #login { position:absolute; top:114px; }

/* leadership */
#leadership_wrapper { float:left; width:100%; height:auto; margin-top:79px; }
.leadership { float:left; width:318px; height:325px; padding-bottom:30px; display:block; }
.leadership .photo { float:left; width:100%; height:153px; margin-bottom:10px; display:block; border-bottom:1px solid #000; }
.leadership .text { float:left; width:210px; }
.leadership a.link { float:left; width:auto; height:13px; padding:0px 5px; display:block; background-color:#000; color:#fff !important; font-size:11px; line-height:13px; }
.leadership a.link:hover { background-color:#858585; text-decoration:none; border:none; }

/* box */
.box { float:left; width:256px; height:auto; margin-top:232px; display:block; border-top:1px solid #000; overflow:visible; }
.box .inner { float:left; width:227px; height:auto; padding:9px 30px 17px 48px; display:block; background:#fff; background:rgba(255,255,255,.85); overflow:hidden; }
.box .inner h2 { margin-bottom:20px; }
.box .inner a.link { float:left; width:auto; height:13px; padding:0px 5px; display:block; background-color:#000; color:#fff !important; font-size:11px; line-height:13px; }
.box .inner a.link:hover { background-color:#858585; text-decoration:none; border:none; }

/* careers */
.careers .box, .career .box { position:relative; width:483px; }
.careers .box .inner, .career .box .inner { width:454px; }
.box .inner .career_heading { float:left; width:100%; margin-bottom:36px; }
.box .inner .career_info { float:left; width:100%; height:auto; margin-bottom:12px; }
.box .inner .career_info h2 { margin-bottom:9px; }
.box .inner .career_info a.back { float:left; width:29px; height:13px; margin:18px 10px 0px 0px; display:block; background:#000 url(/img/back.png) 0px 0px no-repeat; text-indent:-9000px; overflow:hidden; }
.box .inner .career_info a.back:hover { background-color:#858585; text-decoration:none; border:none; }
.box .inner .career_info ul { float:none; width:auto; list-style:disc; }
.box .inner .career_info ul li { float:none; width:auto; display:list-item; list-style:disc; }
#controls { position:absolute; top:-14px; right:0px; height:13px; width:59px; display:block; }
#controls a { float:left; width:29px; height:13px; display:block; text-indent:-9000px; overflow:hidden; }
#controls a.prev { margin-right:1px; background:#000 url(/img/prev.png) 0px 0px no-repeat; }
#controls a.next { background:#000 url(/img/next.png) 0px 0px no-repeat; }
#controls a:hover { background-color:#858585; text-decoration:none; border:none; }

/* login */
#login { position:absolute; bottom:151px; left:186px; width:0px; height:452px; display:none; border-bottom:1px solid #000; overflow:hidden; z-index:101; }
#login .inner { position:relative; float:right; height:438px; width:253px; margin-top:453px; padding:15px 44px 0px 26px; display:block; background:#fff; background:rgba(255,255,255,.85); }
#login .inner h2 { margin-bottom:20px; }
#login .inner .links { float:left; width:100%; margin-top:84px; line-height:22px; }
#login .inner a.close { position:absolute; left:27px; bottom:11px; height:14px; width:29px; display:block; background:#000 url(/img/close.png) 0px 0px no-repeat; text-indent:-9000px; overflow:hidden; }
#login .inner a.close:hover { background-color:#858585; text-decoration:none; border:none; }

#mask { position:fixed; top:0px; left:0px; height:100%; width:100%; display:none; background:transparent; background:rgba(0,0,0,.40); cursor:pointer; z-index:100; }

/* portfolio landing */
#portfolio_wrapper { position:relative; float:left; width:100%; height:auto; margin-top:29px; overflow:hidden; }
#portfolio_wrapper a.tile {
	width:322px;
	height:auto;
	margin:0px 10px 10px 0px;
	display:block;
	text-decoration:none !important;
	border:none !important;
	-webkit-transition:none;
	-moz-transition:none;
	-o-transition:none;
	transition:none;
}
#portfolio_wrapper a.tile img { position:relative; width:322px; height:auto; border:none; z-index:-9; }
#portfolio_wrapper a.tile > span {
	position:absolute;
	top:0px;
	left:0px;
	width:322px;
	height:100%;
	display:block;
	background:transparent;
	background:rgba(0,0,0,.25);
	-webkit-transition:all .2s ease-in;
	-moz-transition:all .2s ease-in;
	-o-transition:all .2s ease-in;
	transition:all .2s ease-in;
	z-index:9;
}
#portfolio_wrapper a.tile > span:hover { background:rgba(0,0,0,0); }
#portfolio_wrapper a.tile > span .title { float:left; width:auto; margin:8px 0px 0px 12px; display:block; color:#fff; font-size:14px; line-height:14px; text-decoration:none !important; }

/* project detail */
#project_wrapper { position:relative; float:left; width:100%; height:auto; margin-top:29px; overflow:hidden; }
#project_wrapper .image { width:auto; height:auto; margin:0px 10px 10px 0px; display:block; }
.project .box { position:absolute; left:120px; top:0px; z-index:99;}
.project .box .inner { width:241px; margin-right:36px; }
.project .box h2 { margin-bottom:5px; }
.project .box .location { float:left; width:100%; height:auto; margin-bottom:7px; }
.project .box .line { float:left; width:100%; line-height:15px; }
.project .box .line .left { float:left; width:90px; }
.project .box .line .right { float:left; width:151px; }
.project .box .reveal { float:left; width:100%; display:none; }
.project .box .reveal .text { float:left; width:100%; margin-top:18px; }
.project a.link { width:29px; padding:0px; margin-top:15px; }
.project a.close { float:left; height:14px; width:29px; margin:18px 10px 0px 0px; display:block; background:#000 url(/img/close.png) 0px 0px no-repeat; text-indent:-9000px; overflow:hidden; cursor:pointer; }
.project a.close:hover { background-color:#858585; text-decoration:none; border:none; }
#project_wrapper .play { position:relative; float:left; width:auto; height:auto; display:block; }
#project_wrapper .play span {
	position:absolute;
	top:0px;
	left:0px;
	height:100%;
	width:100%;
	display:block;
	background:url(/img/play.png) center center no-repeat;
	opacity:.75;
	filter:alpha(opacity=75);
	-webkit-transition:opacity .2s ease-in;
	-moz-transition:opacity .2s ease-in;
	-o-transition:opacity .2s ease-in;
	transition:opacity .2s ease-in;
	z-index:9;
}
#project_wrapper .play:hover { border:none; }
#project_wrapper .play:hover span { opacity:1; filter:alpha(opacity=100); }

/* culture */
#culture_wrapper { position:relative; float:left; width:100%; height:auto; margin-top:29px; overflow:hidden; }
#culture_wrapper .tile { width:auto; width:427px; height:auto; margin:0px 10px 10px 0px; display:block; }
#culture_wrapper .tile h2 { margin-bottom:3px; }
#culture_wrapper .tile .text { float:left; width:100%; height:auto; margin-top:13px; padding-top:12px; display:block; background:url(/img/divider.jpg) top left no-repeat; font-size:14px; line-height:19px; }
#culture_wrapper .play { position:relative; float:left; width:auto; height:auto; display:block; }
#culture_wrapper .play span {
	position:absolute;
	top:0px;
	left:0px;
	height:100%;
	width:100%;
	display:block;
	background:url(/img/play.png) center center no-repeat;
	opacity:.75;
	filter:alpha(opacity=75);
	-webkit-transition:opacity .2s ease-in;
	-moz-transition:opacity .2s ease-in;
	-o-transition:opacity .2s ease-in;
	transition:opacity .2s ease-in;
	z-index:9;
}
#culture_wrapper .play:hover { border:none; }
#culture_wrapper .play:hover span { opacity:1; filter:alpha(opacity=100); }

/* introduction */
.introduction .box { width:483px; }
.introduction .box .inner { width:454px; }

#video_overlay { width:640px; height:390px; display:none; background:#fff; background:rgba(255,255,255,.85); z-index:10000; }
#video_overlay .close { position:absolute; float:none; top:-14px; right:0px; height:14px; width:29px; margin:0; display:block; background:#000 url(/img/close.png) 0px 0px no-repeat; text-indent:-9000px; overflow:hidden; cursor:pointer; }
#video_overlay .close:hover { background-color:#858585; text-decoration:none; border:none; }