/*
 * General stuff to make all browsers consistent.
 */
 
*, html * {
  margin: 0px;
  padding: 0px;
}

p, table, td, th {
  border: 0px;
}

body, p, li, td, th {
  font-family: Verdana, Helvetica, Arial;
  font-size: 11px;
}

/*
 * Specific elements.
 */
 
h1 {
  font-size: 16px;
  margin: 3px 0px 10px 0px;
}

h1#title {
  margin: 0px;
}

h2 {
  font-size: 13px;
  margin: 3px 0px 5px 0px;
}

h3 {
  font-size: 12px;
  font-weight: normal;
  margin: 3px 0px 4px 0px;
}

p {
  margin: 3px 0px 10px 0px;
}

ul {
  margin: 10px 0px 10px 0px;
  padding: 0px;
}

li {
  margin: 0px 0px 2px 40px;
  padding: 0px;
}

ul.pretty {
}

ul.pretty li {
  font-size: 12px;
  list-style-type: circle;
}

a:link {
  text-decoration: underline;
}

a:visited {
  text-decoration: underline;
}

a:active {
  text-decoration: underline;
}

a:hover {
  text-decoration: none;
}

.hover {
  border-bottom: dotted 1px;
  font-weight: bold;
}

.hover:hover {
  border: none;
}

th {
  text-align: left;
  padding: 0px 10px 5px 0px;
}

td {
  padding: 0px 10px 5px 0px;
}

img {
  border: 0px;
}

th * {
  text-decoration: none ! important;
}

hr {
  border-style: outset;
  border-width: 1px;
  height: 3px;
}

/*
 * Overall layout.
 */
 
body {
  margin: 5px;
  background: #eee;
}

div#bodywrap,
div#header,
div#footer {
  width: 975px;
}

div#bodywrap {
  margin: auto;
  background: white;
  padding: 6px 10px 2px 10px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #888;
  border-bottom: 1px solid #888;
}

div#header {
  min-height: 20px;
  border-bottom: 0px solid;
  position: relative;
}

div#header div#logo {
  position: absolute;
  right: 0px;
  top: -23px;
}

div#logo p {
  margin: 0px;
  font-weight: bold;
}

div#site,
#title {
/*  position: absolute;*/
  right: 0px;
  padding: 0px 0px 0px 0px;
  font-weight: bold;
}

div#site a {
  display: none;
  font-size: 13px;
  text-decoration: none;
}

#title {
  font-size: 16px;
/*  left: 160px;
  top: 25px;*/
}

#icon-breadcrumb td {
  vertical-align: middle ! important;
}

div#breadcrumb {
  vertical-align: top;
  margin: 0px 0px 0px 5px;
}

div#breadcrumb * {
  font-size: 12px;
  font-weight: bold;
  font-variant: small-caps;
}

div#footer {
  clear: both;
  position: relative;
  border-top: 3px solid;
  padding-top: 2px;
}

div#footer p {
  margin: 0px;
  font-size: 10px;
}

div#footer span#terms-link {
  position: absolute;
  right: 10px;
}

div#footer span#email-link a,
div#footer span#phone-link span,
div#footer span#terms-link a {
  position: relative;
}

div#footer span#email-link a,
div#footer span#terms-link a {
  top: -4px;
}

div#footer span#phone-link span {
  top: -3px;
}

div#footer span#phone-link {
  position:relative;
  left: 10px;
}

div#main {
  clear: both;
  border-top: 3px solid;
}

div#main.min-height {
  min-height: 400px;
}

div#main.min-height table#main-table {
  height: 400px;
}

table#main-table td {
  vertical-align: top;
}

table#main-table td#main-left {
  padding: 10px 15px 10px 10px;
}

table#main-table td#main-right {
  padding: 0px;
}

#main-left,
#main-right {
  height: 100%;
}

#main-left {
  width: 555px;
}

#main-right,
#main-right div#two-col-image,
#main-right div#two-col-image img {
  width: 420px;
}

#main-right div#two-col-image,
#main-right div#two-col-image img {
  height: 280px;
}

div#two-col-image {
  border-bottom: 3px solid;
}

div#main-left-content,
div#main-right-content {
  padding: 5px;
}

div.two-col-summary-text {
  padding: 10px;
}

div.two-col-summary-text p {
  font-size: 12px;
}

div#after-two-cols {
  border-left: 2px solid #ccc;
  border-right: 2px solid #004159;
}

/*
 * Layout detail.
 */

.superscript {
  font-size:70%;
  position:relative;
  bottom: 0.5em;
}

.error {
  font-weight: bold;
}

.nobr {
  white-space: nowrap
}

div.small-examples {
  height: 0.01%;
  margin: 15px 0px 10px 0px;
}

div.small-examples div.img-caption-wrap {
  float: left;
  margin: 0px 10px 0px 10px;
}

div.small-examples img {
  width: 140px;
}

div.small-examples p {
  font-size: 9px;
  width: 136px;
  text-align: center;
  padding: 0px;
  margin: 0px;
}

.firstletter {
  font-size: 1.2em;
  padding-right: 0px;
}

div.image-with-caption {
  margin: 5px;
}

div.image-with-caption,
div.image-with-caption * {
  text-align: center;
}

div.image-with-caption .caption {
  /*margin: auto;*/
}

.caption {
  font-size: 9px;
  font-style: italic;
}

table.list-table {
  margin: 10px 0px 10px 0px;
  width: 98%;
}

table.list-table td,
table.list-table th {
  padding: 5px 10px 5px 10px;
  vertical-align: top;
  background: #ddd;
}

#approvals-links td,
#approvals-links td * {
  text-align: center;
}

.date {
  font-size: 10px;
  color: #888;
}

.label {
  font-size: 80%;
  font-weight: bold;
}

/*
 * Content
 */

div#case-studies {
  padding: 10px 5px 5px 10px;
}

div#case-studies table#case-study-list th,
div#case-studies table#case-study-list td {
  vertical-align: top;
  padding: 1px 5px 5px 0px;
  font-size: 9px;
}

td.image-cell {
  padding: 0px ! important;
}

div.job {
  margin: 10px;
}

.job-title, .news-item-title {
  font-size: 13px;
}

.job-summary,
.job-description,
.job-contact {
  font-size: 11px;
  padding-left: 5px;
}

/* List of news items. */

/* All news items in list. */

/* Recent news items in list. */

.recent-news-item {
  padding: 5px 20px 15px 10px;
  margin: 0px 10px 10px 0px;
  border-bottom: 1px solid gray;
  background:#eee;
}

.recent-news-item h3 {
  font-size: 16px;
  margin: 0px;
}

.recent-news-item h3 a {
  text-decoration: none ! important;
}

.recent-news-item img {
  margin:0px;
  width: 130px;
}

/* Older news items in list. */

.news-item summary,
.news-item article {
  font-size: 11px;
  padding-left: 5px;
}

#news-item .summary,
.news-item .summary {
  font-weight: bold;
}

.news-item .summary {
  padding-top: 6px;
}

.job-summary,
.news-item .summary {
  font-size: 12px;
}

.news-item .title {
  font-size: 12px;
}

#job .date,
#case-study .date,
#news-item .date {
}

#news-item h2,
#case-study h2,
#job h2 {
  font-size: 16px;
}

#page-image-slideshow {
  height: 182px;
  margin-top: 20px;
}

#page-image-slideshow img {
  height: 177px ! important;
  width: auto ! important;
  margin-left: auto ! important;
  margin-right: auto ! important;
}

/*#page-image-slideshow-title {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 20px;
}*/

.sortarrow {
  position: relative;
  top: 5px;
}


/*
 * Overlib
 */
/*
.ovfl {
   width:266px; height:100px; border:1px none #000000; padding:6px;
   overflow:auto;
}
.olbg {background-color:#333399;}
.olcg {background-color:#aa00aa; text-align:center;}
.olfg {background-color:#ccccff; text-align:center;}
.olcap {font-family:Arial; font-size:12px; font-weight:bold; color:#ffffff;}
a.olclo {font-family:Verdana; font-size:10px; font-weight:bold; color:#ddddff;}
a.olclo:hover {color:#ffffff;}
.oltxt {font-family:Arial; font-size:16px; color:#000000;}
*/

#overLib {
}

.olbg {
}

.olcg {
  background-color:#888;
  text-align:center;
}

.olfg {
  background-color:#eee;
  border: 1px solid #444;
}

.olcap {
  color:red;
}

a.olclo {
  color:green;
}

a.olclo:hover {
  color:blue;
}

.oltxt {
  padding: 5px;
}

/*
 * Debug
 */
div#logger {
  margin: 10px 0px 0px 0px;
  padding: 5px;
  background: #eee;
}
 
span.logger-trace {
}

span.logger-error {
  color: red;
}
