body {
  background: #000 url("/images/background.jpg") scroll repeat-x top left;
  margin: 0;
  font-family: Arial, Helvetica, Sans-serif;
}

a { color: #422713; }
a:visited { color: #584b42; }
a img { border: none; }
.info { font-size: 85%; }

#site-container {
  margin: 0 auto;
  width: 1004px;
  background: transparent url("/images/background-shadow.png") scroll repeat-y top left;
}

#site {
  margin: 0 auto;
  width: 950px;
}

#page {
  background-color: #f7f4e6;
}

#header {
  position: relative;
  height: 154px;
  z-index: 100;
}

#logo {
  position: absolute;
  left: 20px;
  top: 4px;
  z-index: 100;
}

#language-links {
  position: absolute;
  top: 10px;
  right: 20px;
}

#language-links a {
  padding-left: 20px;
  font-size: 11px;
  color: #333;
  background: transparent url("/images/flags/us.png") scroll no-repeat top left;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
}

body.en a#language-en,
body.pt a#language-pt {
  border-bottom: 1px dotted #999;
}

a#language-pt {
  margin-left: 20px;
  background-image: url("/images/flags/br.png");
}

#menu {
  position: absolute;
  top: 59px;
  left: 0;
  width: 100%;
  height: 41px;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #e5dcab;
  font-family: Georgia, Serif;
}

#menu li {
  display: block;
  float: left;
  position: relative;
}

#menu li a {
  display: block;
  float: left;
  margin: 0;
  padding: 0;
  line-height: 41px;
  font-size: 18px;
  color: #555;
  text-decoration: none;
  text-align: center;
  padding: 0 15px;
}

#menu li a:hover, #menu li.active a {
  background-color: #cfc594;
}

#menu li.first a {
  margin-left: 200px;
}


#menu li ul.subnav {
  z-index: 100;
  list-style: none;
  position: absolute;
  left: 0;
  top: 41px;
  display: none;
  background: #ede9d0 url("/images/drop-down-background.png") scroll repeat-x top left;
  margin: 0;
  padding: 0;
  float: left;
  width: 170px;
}
#menu li ul.subnav li {
  margin: 0; padding: 0;
  clear: both;
}
#menu li ul.subnav li a {
  width: 140px;
  margin: 0;
  padding: 0 10px 0 20px;
  text-align: left;
  font-size: 12px;
  line-height: 24px;
}
#menu li ul.subnav li a:hover {
  background-color: #b4aa7b;
}

#photo-box {
  margin-top: -45px;
  height: 226px;
} 

#home-photo-box {
  margin-top: -40px;
  margin-bottom: 60px;
  height: 419px;
  position: relative;
}

#thumbnails {
  width: 767px;
  position: absolute;
  bottom: -45px;
  left: 93px;
  z-index: 100;
}

.thumbnail {
  z-index: 100;
  display: block;
  float: left;
  width: 104px;
  height: 87px;
  margin: 0 10px;
  background: transparent url("/images/thumbnail-frame.png") scroll no-repeat top left;
  position: relative;
}

.thumbnail img {
  padding: 7px;
}

.thumbnail .caption {
  font-size: 10px;
  text-align: center;
  overflow: visible;
  white-space: nowrap;
  width: 204px;
  position: absolute;
  bottom: -12px;
  left: -51px;
}

#breadcrumbs {
  margin: 0 0 1em 0;
  color: #948c85;
  height: 13px;
  line-height: 13px;
  font-size: 11px;
}

#breadcrumbs a {
  color: #948c85;
  margin-right: 5px;
  padding-right: 10px;
  background: transparent url("/images/breadcrumb-divider.png") scroll no-repeat center right;
  line-height: 13px;
  font-size: 11px;
  display: block;
  float: left;
}

#content {
  padding: 15px 30px;
  font-size: 14px;
}

#content h1 {
  font-size: 21px;
  margin-top: 0;
}

#content h2 {
  font-size: 18px;
  margin-bottom: 0.2em;
}

#content h3 {
  font-size: 16px;
  margin-bottom: 0.2em;
}

#content h4 {
  margin: 0;
}

#content p {
  line-height: 150%;
  margin: 0 0 1em 0;
}

.section-container {
  padding: 1em 0 0 0;
  width: 100%;
  border-top: 1px dotted #ccc;
  clear: both;
}

.first {
  border-top: none;
}

.section {
  font-size: 12px;
  width: 256px;
  float: left;
  padding-bottom: 1em;
}

.section-container .middle {
  margin: 0 60px;
}

.section h4 {
  margin: 0;
  font-size: 12px;
}

.section p {
  margin: 0;
}

#interview {
  clear: both;
  padding: 1em 0;
  margin: 0;
}

#interview a {
  display: block;
  background-color: #e6dcb0;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
  color: #555;
}


#footer {
  font-size: 11px;
  color: #aeaa93;
  text-align: center;
  padding: 1em 0;
  clear: both;
}

#footer a {
  color: #aeaa93;
}

#copyright {
  float: left;
}

#moki-systems {
  float: right;
}




/* Slideshow */
#slideshow {
  position: relative;
  width: 950px;
  height: 419px;
}

#slideshow a {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
}

#slideshow a.active {
  z-index: 10;
}

#slideshow a.last-active {
  z-index: 9;
}


/* Footnotes */
p.footnote {
  font-size: 80%;
}

sup.footnote a {
  text-decoration: none;
  color: #000;
}


/* Partners */
div.partner {
  float: left;
  width: 190px;
  height: 180px;
  padding: 10px;
  text-align: center;
}

div.partner img {
  background-color: #fff;
  border: 2px solid #eee;
}

div.partner h4 {
  margin: 0.5em 0 0 0;
  padding: 0;
}

div.partner .link {
  font-size: 90%;
  margin: 0;
}


/* Sidebar */
#sidebar {
  width: 190px;
  float: left;
}

#sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#sidebar ul li a {
  color: #555;
  text-decoration: none;
  display: block;
  padding: 5px;
}

#sidebar ul li a:hover {
  background-color: #e5dcab;
}

#sidebar ul li.selected-sub a {
  background-color: #cfc594;
}

div.with-sidebar {
  margin-left: 210px;
  padding-left: 20px;
  border-left: 1px dotted #e5dcab;
}


/* Photo styles */
img.photo {
  border: 6px solid #fff;
}

img.center {
  display: block;
  margin: 0 auto;
}

img.left {
  float: left;
  margin: 0 10px 10px 0;
}

img.right {
  float: right;
  margin: 0 0 10px 10px;
}


/* Team profiles */
.profile img {
  float: left;
  margin: 0 10px 10px 0;
  border: 6px solid #fff;
}

.profile em {
  font-size: 90%;
  color: #555;
}

.profile p {
  margin: 0 0 0.5em 0;
}

/* Interview */

h3.question {
  font-family: Georgia, Serif;
  color: #555;
  font-style: italic;
  font-weight: normal;
  font-size: 18px;
  margin-bottom: 0.5em;
}


/* Contact form */

/* sneaky class is used to hide form elements that trigger the spam filter - people wont see these fields, but spam bots will */
.sneaky {
  display: none;
}

#contact-form {
  width: 500px;
  margin: 2em auto;
  font-size: 12px;
  color: #555;
}

#contact-form .column1 input, #contact-form .column2 input {
  width: 100%;
}

#contact-form .column1 {
  width: 240px;
  float: left;
}

#contact-form .column2 {
  width: 240px;
  float: right;
}

#contact-form textarea {
  width: 100%;
}


/* News */
.entry {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px dotted #e5dcab;
}

#content .entry p.date {
  color: #777;
  font-size: 90%;
  margin: 0 0 0.2em 0;
}

#content .entry p.preview {
  margin: 0;
}

#content .entry p.read-more {
  margin: 0;
  text-align: right;
}


/* Internships */
.internship-link-container {
  float: left;
  width: 410px;
  margin-bottom: 2em;
}

.internship-link-container h3 {
  margin-top: 0;
}

#internship-links-container .odd {
  clear: left;
  padding-right: 60px;
}

.open {
  color: #61ad49;
}

.closed {
  color: #811313;
}


/* Methodology Page */

body#methodology #main-content p {
  margin-bottom: 2em;
}

body#methodology #main-content img.left {
  margin: 0 2em 2em 0;
}


/* Clearing floats without extra markup
   Based on How To Clear Floats Without Structural Markup by PiE
   [http://www.positioniseverything.net/easyclearing.html] */

.clearfix:after, .container:after {
  content: "\0020";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow:hidden;
}
.clearfix, .container {display: block;}


.clear { clear: both; }

