img, div {
  behavior: url('/iepngfix.htc');
}

body {
  margin: 0;
  padding: 0;
  text-align: left;
}

body, caption, p, th, td, input, textarea, select, option, legend, fieldset {
  font-family: Verdana, Arial, sans-serif;
}

h1, h2, h3 {
  font-family: "Helvetica Neue Light", Helvetica, Arial, Verdana, sans-serif;
}

#page {
  width: 920px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
}

.centered, .centered p, td .centered p {
  text-align: center;
}

A img {
  border: none;
}

hr {
  margin-bottom: 15px;
  margin-top: 15px;
  border: none 0;
  border-top: 1px solid #ddd;
  width: 100%;
  height: 1px;
}

p img {
  vertical-align: text-bottom;
}

/* ========== LINKS ========== */

A:link,
  A:visited {
  text-decoration: none;
  color: #FF5500;
}

A:link:hover {
  text-decoration: none;
  color: #FF7722;
}

A.highlighted:link,
  A.highlighted:visited {
  border-bottom: 1px dashed #FF5500;
}

A.highlighted:link:hover {
  border-bottom: 1px dashed #FF7722;
}

/* ========== TABLES ========== */

table {
  margin: 0;
  width: 100%;
}

td {
  vertical-align: top;
}

td.left {
  padding-right: 15px;
}

table.two-columns td {
  width: 50%;
}

table.two-columns td div {
  height: 100%;
}

table.vertical-divider td.left {
  border-right: 1px solid #EEE;
}

td.center {
  padding-left: 15px;
  padding-right: 15px;
}

td.right {
  padding-left: 15px;
}

/* ========== FRONT PAGE ========== */

body.front {
  background: #fff url('bg_front.png') repeat-x;
  color: #383838;
}

body.front #header {
  margin-top: 30px;
}

body.front #header {
  width: 900px;
}

div#center-image {
  width: 980px;
  height: 176px;
  background: url('front_screen.png') no-repeat;
  color: #FFF;
  padding-top: 20px;
  padding-left: 240px;
}

div#slideshow-border {
  padding: 1px;
  background: #000;
  width: 620px;
  height: 160px;
}

body.front div#content {
  margin-top: 38px;
  margin-left: 6px;
  padding: 0;
  border: none;
}

body.front #content A:link,
  body.front #content A:visited {
  text-decoration: underline;
  color: #FF4F00;
}

body.front #content A:hover {
  text-decoration: underline;
  color: #FF8F44;
}

div#front-block {
  width: 890px;
  float: none;
  border-spacing: 0;
}

div#front-block div.header {
  background-repeat: no-repeat;
  background-image: url('front_block_top.png');
  height: 60px;
}

div#front-block div.content {
  background-repeat: repeat-y;
  background-image: url('front_block_middle.png');
}

div#front-block div.footer {
  background-repeat: no-repeat;
  background-image: url('front_block_bottom.png');
  height: 50px;
}

div#front-block span.highlight {
  font-weight: bold;
  font-size: 9pt;
  text-align: left;
  margin-bottom: 5px;
  background: none;
  padding-left: 0;
  color: #444;
}

div#front-block table td {
  width: 33%;
  padding-left: 15px;
}

div#front-block tr.content td {
  padding-top: 10px;
}

div#front-block td.left {
  padding-left: 30px;
}

div#front-block td.right {
  padding-right: 30px;
}

table h3 {
  margin-top: 0;
  font-size: 12pt;
}

body.front td h2 {
  text-align: left;
  font-weight: normal;
  color: #FF4400;
  font-size: 15pt;
  margin-top: 18px;
  margin-bottom: 10px;
}

body.front td h3 {
  font-weight: normal;
  font-size: 11pt;
  text-align: left;
  margin-bottom: 5px;
  background: none;
  padding-left: 0;
  color: #222;
}

body.front span.japanese {
  font-style: italic;
  margin-left: 2px;
  font-size: 8pt;
  color: #bba897;
}

body.front span.event {
  font-weight: bold;
  margin-left: 2px;
  font-size: 8pt;
  color: #444;
}

body.front td p, body.front td li {
  font-size: 9pt;
}

body.front tr.headerRow td {
  padding-bottom: 10px;
}

body.front tr.contentRow td {
  border-left: 1px solid #DDD;
}

body.front tr.contentRow td.left {
  border-left: none;
}

body.front td.left {
  padding-left: 10px;
  padding-right: 25px;
}

body.front td.center {
  padding-left: 10px;
  padding-right: 25px;
}

body.front td.right {
  padding-left: 10px;
}

body.front td ul {
  margin-top: 5px;
  padding-left: 5px;
}

body.front td li {
  margin-top: 5px;
  margin-bottom: 10px;
  list-style-image: url(orange_arrow_front.png);
  list-style-type: disc;
  list-style-position: inside;
}

body.front p.more {
  text-align: right;
  font-size: 9pt;
}

body.front .menubar {
  margin-top: 0;
  margin-right: 40px;
  text-align: right;
}

/* ========== INNER PAGES HEADER ========== */

body.inner {
  background: #FFF url('bg_front.png') repeat-x;
  color: #383838;
  margin: 0;
  padding-top: 0;
}

body.inner #header {
  background: url('inner_header.png') no-repeat;
  height: 90px;
  width: 910px;
  margin-top: 0;
  margin-left: 0;
}

body.inner #logo {
  left: 0;
  width: 50%;
}

body.inner div#logo img {
  margin-top: 6px;
  margin-left: 30px;
}

body.inner .menubar {
  margin-top: 12px;
  margin-right: 20px;
  text-align: right;
}

/* ========== MENU ========== */

.menubar ul {
  margin: 0;
  padding: 0;
  text-align: right;
}

.menubar .expanded ul {
  font-size: 9pt;
}

.menubar li {
  font-size: 9pt;
  list-style-type: none;
  display: inline;
  padding-left: 4px;
  padding-right: 8px;
  border-right: solid 1px #AAA;
}

.menubar li.last {
  border-right: none;
}

.menubar li.current a {
  color: #666;
  font-weight: bold;
}

.menubar A:link, .menubar A:visited {
  text-decoration: none;
  color: #888;
  font-weight: normal;
  font-family: "Helvetica Neue Light", Helvetica, Arial, Verdana, sans-serif;
}

.menubar A:hover {
  text-decoration: underline;
  color: #FF4400;
}

.menubar A.active,
  .menubar li.expanded A:link,
  .menubar li.expanded A:visited {
  color: #333;
  font-weight: bold;
}

.menubar li.expanded ul A:link,
  .menubar li.expanded ul A:visited {
  color: #585858;
  font-weight: normal;
}

.menubar li.expanded ul A.active {
  color: #333;
  font-weight: bold;
  font-size: 10pt;
}

/* ========== Content blocks ========== */

div#content {
  width: 910px;
  margin-top: 40px;;
  margin-left: 0;
}

div#content .content-header {
  background: #FFF url(content-block-top.png) top left no-repeat;
  width: 870px;
  height: 82px;
  padding-top: 5px;
  padding-left: 40px;
  padding-right: 40px;
  margin-bottom: 0;
}

div#content .content-body {
  background: #FFF url(content-block-middle.png) top left repeat-y;
  width: 850px;
  margin-left: 1px;
  padding: 20px 40px 0;

}

div#content .content-bottom {
  background-image: url(content-block-bottom.png);
  background-repeat: no-repeat;
  width: 900px;
  height: 25px;
}

/* ========== INNER PAGES ========== */

h1 {
  padding-bottom: 0;
  font-weight: normal;
  font-size: 32px;
  margin-top: 25px;
  margin-bottom: 0;
  color: #444;
}

h2 {
  font-weight: bold;
  font-size: 14pt;
  margin-top: 10px;
  margin-bottom: 15px;
  color: #FF4F00;
}

h3 {
  font-weight: bold;
  font-size: 12pt;
  color: #444;
  margin-top: 20px;
  margin-bottom: 5px;
}

p, li, td {
  font-size: 13px;
  margin-top: 5px;
  margin-bottom: 5px;
  color: #555;
}

p {
  margin-top: 5px;
  margin-bottom: 15px;
}

.centered-quote {
  text-align: center;
  color: #444;
  font-weight: bold;
  margin-top: 15px;
  margin-bottom: 15px;
}


/* ========== Inner blocks ========== */

div.block {
  border-left: 1px solid #CCC;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 10px;
  padding-right: 20px;
  margin-top: 20px;
  margin-bottom: 10px;
  border-spacing: 0;
}

div.block div.header h2 {
  padding-top: 0;
  margin-top: 5px;
}

div.block div.content ul {
  margin-top: 5px;
  margin-bottom: 5px;
  padding-left: 20px;
}

div.block h3.top {
  margin-top: 0;
}

div.block h3 {
  margin-top: 15px;
  margin-bottom: 5px;
  color: #000;
  font-weight: normal;
}

/* ========== RESOURCES PAGE ========== */

#resources td {
  width: 50%;
}

#resources table.books td {
  width: auto;
}

/* ========== FOOTER ========== */

#footer {
  margin-top: 10px;
  text-align: center;
  font-size: 9pt;
  color: #AAA;
  margin-bottom: 20px;
}

#footer A:link,
  #footer A:visited {
  color: #AAA;
  text-decoration: underline;
}

/* ========== BOOKS TABLE ========== */

table.books {
  margin-top: 5px;
  padding-left: 0;
}

table.books td {
  border: none;
  padding-bottom: 10px;
}


table.books td.left {
  width: 5%;
}

table.books td.right {
  width: 95%;
}

table.books p.title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
}

table.books p.author {
  margin-top: 0;
  color: #888;
}

table.books p.description {
}

table.books p.order {
  font-size: 9pt;
  text-align: right;
}

/* ========== REFERENCES ========== */

#reference-list {
  margin-top: 10px;
  margin-bottom: 40px;
  margin-left: 20px;
  margin-right: 20px;
  padding-top: 5px;
  padding-bottom: 5px;
  border-top: solid 1px #CCC;
  border-bottom: solid 1px #CCC;
}

#reference-list td {
  padding-left: 5px;
  padding-right: 5px;
}

#reference-list td.left, #reference-list td.center {
  color: #999;
  font-size: 9pt;
}

div.reference {
   margin-bottom: 10px;
}

div.reference div.portfolio {
  font-size: 9pt;
  color: #AAA;
}

div.reference h2 {
  margin-top: 5px;
  margin-bottom: 0;
}

div.reference div.context {
  font-size: 10pt;
  margin-top: 10px;
  margin-bottom: 15px;
}

div.reference div.summary {
  border: 1px solid #CCC;
  background: #FBFBFB;
  padding: 5px;
  margin-top: 10px;
}

div.reference div.summary td {
  width: 33%;
  padding: 5px;
}

div.reference div.summary h3 {
  text-align: center;
  font-weight: normal;
  border-bottom: 1px solid #DDD;
  margin-top: 0;
  margin-bottom: 10px;
  padding-bottom: 5px;
}

div.reference div.summary ul {
  margin-top: 5px;
  padding-left: 20px;
}

div.reference div.summary td.right {
  font-weight: bold;
}

body#references hr {
  margin-top: 20px;
  margin-bottom: 20px;
  width: 50px;
}

/* ========== EVENTS ========== */

table#events h3 {
  font-size: 10pt;
}

/* ========== TIMELINE ========== */

table.timeline {
  margin-bottom: 15px;
}

table.timeline td.date {
  vertical-align: top;
  padding-top: 0.6em;
  padding-right: 5px;
  color: #aaa;
  font-size: 9pt;
  border-right: 1px dashed #ccc;
  width: 60px;
}

table.timeline td.content {
  vertical-align: top;
  padding-left: 10px;
  padding-bottom: 10px;
  width: auto;
}

/* ========== CONTACT ========== */

table#contact td {
  padding-left: 10px;
  text-align: center;
  vertical-align: middle;
  width: 33%;
}

table#contact h2 {
  margin-bottom: 5px;
}

table#contact td p {
  font-size: 13pt;
  color: #222;
}

table#contact img.pic {
  border: solid 1px #555;
}

