/* Copyright (c) 2006-07 Ben Hoskings <ben@hoskings.net>. */
* {
  margin: 0;
  padding: 0;
  background-color: transparent; }

body {
  color: #bbb;
  background-color: #000;
  line-height: 1.2;
  font: 11px/1.6em 'Lucida Grande', 'Lucida Sans', sans-serif; }

p {
  font-size: 1em;
  margin: 1.6em 0; }
  .careers p {
    margin-left: 0.8em;
    margin-right: 0.8em; }

img {
  border: 0;
  display: block; }
  img.inline_thumb {
    display: inline;
    vertical-align: top; }

tt {
  color: #aaa; }

h1, h2, h3, h4, h5, h6, .asset {
  color: #ccc; }

a {
  color: #999;
  text-decoration: none; }

a:hover {
  color: #ddd; }

a.noline, #content a.noline {
  border-bottom: none; }

/* remove the clicked link dotted border in gecko */
a.trigger:focus {
  -moz-outline: none; }

ul {
  list-style-type: none; }

ol {
  list-style-image: none; }

#world {
  padding-bottom: 1em; }

.mosaic_logo {
  float: right;
  margin: 1.6em 1.6em 0 1.6em;
  background: url(../images/mosaic_logo_transition.jpg) top right no-repeat;
  height: 440px;
  width: 440px; }

#nav a,
ul.list a.trigger,
ul.list a.like_trigger,
ul.list li .data,
.contact .cv .vitals,
.contact .cv .text {
  display: block;
  padding: 0.4em 0.8em; }

.js_enabled .department ul.list {
  width: 8.6em; }
  .js_enabled .department ul.list li .data {
    left: 8.6em;
    width: 48em; }
.js_enabled .consultants ul.list {
  width: 20em; }
  .js_enabled .consultants ul.list li .data {
    left: 20em;
    width: 16em; }
    .js_enabled .consultants ul.list li .data li .data {
      left: 16em;
      width: 24em; }
.js_enabled ul.list li {
  position: relative; }
  .js_enabled ul.list li .data {
    position: absolute;
    top: 0; }

ul.list li.nest .data {
  padding: 0; }

.js_enabled .department ul.list li.contacts .data,
.js_enabled .department ul.list li.contacts .data ul.list,
.js_enabled .consultants ul.list li .data ul.list {
  width: 16em; }

.js_enabled .department ul.list li.contacts .data li .data {
  left: 16em;
  width: 24em;
  overflow: hidden; }

.department ul.list li.nest .data a.trigger {
  white-space: nowrap; }

.home {
  overflow: hidden; }

.home .text {
  width: 26em;
  float: left; }

.home div.about,
.home div.departments,
.home div.careers,
.home div.contact {
  margin: 1.6em 1.2em 0 0.8em;
  color: #777; }

.home .about {
  color: #999; }
.home .departments,
.home .careers {
  margin: 1.6em 0.8em 0 0.8em; }
  .home .departments li,
  .home .careers li {
    color: #777;
    display: block;
    overflow: hidden;
    text-transform: uppercase;
    letter-spacing: 0.3em;
    line-height: 2; }
    .home .departments li a,
    .home .careers li a {
      display: inline;
      color: #eee; }
      .home .departments li a:hover,
      .home .careers li a:hover {
        color: #999; }
.home .contact {
  color: #666; }
  .home .contact div {
    padding-bottom: 1.6em; }
  .home .contact p {
    margin: 0; }

#footer {
  margin-top: 0.6em; }
  #footer .in div {
    padding: 0 0.8em; }
  #footer .in .r {
    float: right;
    padding-right: 0; }
    #footer .in .r a {
      color: #bbb;
      text-transform: uppercase;
      letter-spacing: 0.2em; }
  #footer span {
    display: block;
    font-size: 0.85em; }
  #footer div.first {
    width: 8em;
    padding: 0.6em 0.6em 0 0;
    text-align: right; }

.line {
  border-bottom: #aaa 1px solid; }

.l,
.col2,
.wr_pane,
#nav a,
#footer .in div,
#message .author {
  float: left; }

.r {
  float: right; }

.c {
  text-align: center; }

.col2 {
  width: 50%; }

.in {
  margin-left: 80px;
  width: 80em;
  overflow: visible; }
  .in .department,
  .in .consultants {
    overflow: visible; }
  #content .in {
    padding-left: 0; }

#header #logo {
  margin-top: 20px;
  margin-left: 63px;
  margin-bottom: 9px; }
  #header #logo img {
    height: 84px; }

#nav {
  white-space: nowrap; }
  #nav a {
    font-size: 0.9em; }

.consultants .contacts a {
  padding: 0;
  margin: 0; }
.consultants .cv a {
  display: inline; }

.in.careers {
  height: 480px;
  background: #fff; }
  .in.careers img {
    float: right;
    padding: 20px 60px 0 0; }
  .in.careers .text {
    width: 30.558em; }

.js_enabled .in.department,
.js_enabled .in.consultants,
.js_enabled .in.message {
  height: 44em; }

.box {
  padding: 0.8em 1.2em; }
  .home .list .box {
    margin-left: 0;
    padding: 0.8em 0.4em;
    text-align: left; }

ul.list li a {
  color: #bbb; }
  ul.list li a.trigger.cur {
    color: #fff; }

a.trigger,
a.like_trigger {
  background-color: #444; }

a.trigger.cur,
a.trigger:hover,
ul.list ul.data a.trigger,
ul.list div.data {
  background-color: #222; }

ul.list li.nest .data li a.cur,
ul.list li.nest .data li a:hover,
ul.list li.nest .data li .data {
  background-color: #060606; }

.department .contact {
  color: #ddd; }

.home .message,
.home .sig,
.home .author,
.home .back {
  margin: 0 0.8em;
  color: #444; }

.home a {
  color: #444; }
  .home a:hover {
    color: #999; }
.home #contact a {
  color: #777; }
  .home #contact a:hover {
    color: #ccc; }
.home .about a {
  color: #eee; }
  .home .about a:hover {
    color: #777; }
.home .sig {
  margin-left: 0; }
.home .more, .home .back {
  padding-top: 1.6em; }
.home .back {
  font-weight: bold; }

.consultants .cur .contact {
  color: #ddd; }

#contact .email,
#contact .phone,
#contact .brochure {
  margin-top: 1.6em; }

.home .brochure, .home #contact {
  margin-top: 0.4em; }
.home #contact {
  border-left: #aaa 1px solid; }
.home .author {
  font-weight: bold; }
.home .sig {
  padding-top: 0.8em; }

.home .box,
.in.message,
.in.careers {
  color: #555; }

.home .box {
  text-align: justify; }

.department .address, .department .phone, .department .email {
  padding-bottom: 0.8em; }

.message p, .message img, .message .author_name, .message .author_title {
  margin-left: 0.8em;
  margin-right: 0.8em; }
.message .col2, .message .signature {
  margin-top: 0.8em; }
.message .author_name {
  margin-top: 0.8em;
  font-weight: bold; }

.top {
  margin-top: 0; }

.bottom {
  margin-bottom: 0; }

#footer, #footer a {
  color: #888; }

#footer .dim, #footer .dim a {
  color: #585858; }
#footer a:hover {
  color: #bbb; }
  .dim #footer a:hover {
    color: #888; }

#nav a {
  color: #999; }
  #nav a:hover {
    color: #ccc; }
  #nav a.cur {
    color: #fff; }

#content {
  clear: both; }
  #content .in {
    border-top: #444 1px solid;
    border-bottom: #444 1px solid; }

#footer .in div {
  border-left: #444 1px solid; }

#footer a {
  border-bottom: #444 1px solid; }

#footer .dim a {
  border-bottom: #333 1px solid; }

#nav a:first-child,
#footer div.first {
  border-left: #000 1px solid; }

#footer div.last {
  border-left: none;
  border-right: #000 1px solid;
  float: right;
  text-align: right;
  margin-right: 0.8em; }
