html, body {
  margin: 0;
  padding: 0;
}

body {
  background: #233779;
  font-family: sans-serif;
  text-align: left;
  padding: 10px 2%;
}

a:link {
  color: #1b43ba;
  font-weight: bold;
  text-decoration: none;
}

a:visited {
  color: #6b1bba;
  font-weight: bold;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

hr {
  border: 0;
  height: 1px;
  color: #a3b0aa;
  background-color: #a3b0aa;
}

h1, h2, h3 {
  font-weight: bold;
}

h1 {
  font-size: 2em;
}
h2 {
  font-size: 1.5em;
}
h3 {
  font-size: 1.1em;
  margin: 0.2em 0;
}

p {
  margin: 0.2em 0 1em 0;
}

img {
  border: 0;
}

div#width {
  min-width: 500px;
  max-width: 1100px;
  margin: 0 auto;
}

div#header {
  height: 64px;
  width: 100%;
  text-align: left;
}

div#header h1 {
  padding: 0 0 0 10px;
  margin: 0;
}

ul#mainnav, ul#mainnav li {
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul#mainnav li {
  float: left;
  margin-left: 3px;
  text-align: center;
}

ul#mainnav a, ul#mainnav span {
  float: left;
  padding: 4px 15px 3px 15px;
  text-decoration: none;
  width: auto;
  background: #919bbc;
  color: #233779;
}
ul#mainnav a:hover {
  background: #fff;
}
ul#mainnav li#active span {
  font-weight: bold;
  background: #fff;
  color: #000;
}
div#header {
  position: relative;
}

div#search {
  color: #fff;
  font-weight: bold;
  font-size: 1em;
  text-align: right;
  position: absolute;
  text-align: right;
  right: 0;
  top: -10px;
}

div#search input {
  color: #d1d5eb;
  background: #2d407f;
  border: 0;
  padding: 2px 5px;
  font-size: 1em;
  margin: 0;
}

div#query {
  color: #233779;
  padding: 5px;
}

div#menu {
  background: transparent;
  width: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
}

div#mainmenu {
  float: right;
  position: relative;
}

div#submenuplaceholder {
  width: 100%;
  background: #fff;
  height: 1.5em;
}

div#submenu {
  background: #fff;
  font-size: 0.9em;
  position: absolute;
  right: 3px;
  top: 2em;
}

ul#subnav, ul#subnav li {
  display: block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul#subnav li {
  white-space: nowrap;
  float: left;
  margin-right: 10px;
  text-align: center;
}
ul#subnav a, ul#subnav span {
  float: left;
  padding: 3px 7px;
  text-decoration: none;
  width: auto;
  background: #fff;
  color: #000;
  border-bottom: 2px dotted #919b9c;
}

ul#subnav a:hover {
  border-bottom: 2px solid #919bbc;
}
ul#subnav span {
  font-weight: bold;
  border-bottom: 2px solid #1b43ba;
}

div#canvastop {
  clear: both;
  width: 100%;
  height: 10px;
  background: #fff;
}

div#canvas {
  color: #000;
  background: #fff;
  clear: both;
  text-align: left;
  padding: 5px 15px 3px 15px;
}

div#content {
  clear: both;
  width: 100%;
  padding: 0;
}

div#main {
  border: 1px solid #fff;
  padding: 0;
  float: left;
  width: 78%;
}

div#main h2 {
  color: #667c72;
  margin-top: 0;
  text-transform: uppercase;
}

div#side {
  border: 1px solid #fff;
  padding: 0;
  float: right;
  width: 20%;
}

div#side div.sidebox {
  color: inherit;
  background: #e0e4e2;
  font-size: 0.9em;
  margin-bottom: 10px;
  padding: 5px 10px;
}

div#side div#dates {
  background: #ebd5d1;
}

div#side div#news {
}

div#side p, div#side ul {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

div.linkbox ul {
  margin: 0;
  padding: 0;
  display: block;
  list-style-type: none;
}

div.linkbox li {
  margin: 0.5em 0 0.5em 0.5em;
}

div#side span.date {
  font-weight: bold;
  display: block;
  margin-left: -0.5em;
  font-size: 0.9em;
}

div.newsitem {
  margin-left: 3.8em;
  margin-bottom: 1em;
}

div#side h2 {
  text-align: center;
  font-size: 120%;
  margin: 0;
  padding: 0;
}

div#main div.date {
  float: left;
  width: 4em;
  padding: 5px 0;
  background: #e0e4e2;
  color: #667c72;
  text-align: center;
  margin: 0;
  font-size: 80%;
  font-weight: normal;
  line-height: 0.9;
  text-transform: uppercase;
}
div#main div.date span {
  display: block;
  font-size: 150%;
  font-weight: bold;
}

div#footer {
  color: #a3b0aa;
  background: inherit;
  height: 1.8em;
  font-size: 0.8em;
  position: relative;
}

div#leftfooter {
  position: absolute;
  left: 0;
  top: 5px;
  z-index: 1;
}

div#rightfooter {
  position: absolute;
  right: 0;
  top: 5px;
  z-index: 1;
}

.hide {
  display: none;
}

.clear {
  margin: 0;
  padding: 0;
  clear: both;
  height: 0;
}

div#partnerlogos {
  text-align: center;
  margin: 2em 0 2em 0;
}

div#partnerlogos img {
  max-width: 22%;
  padding: 0 1%;
}

ol {
  margin-top: 0;
  padding-left: 1em;
  margin-left: 1em;
  counter-reset: item;
}

span.q {
  font-weight: bold;
}

table.sebra {
  border: 0;
}

tr.sebra1 {
  background: #eae8d4;
}

tr.sebra2 {
  background: #fff;
}

table.sebra td {
  padding: 2px 4px;
}

table.newslist a {
  color: inherit;
  font-weight: inherit;
}

/* Fancy nested ordered lists, crashes(?)) CSS parsing in IE6 */
/*
ol li {
  display: block;
}
ol li:before {
  content: counters(item, ".") ". ";
  counter-increment: item;
}*/


/* ------ IE specific styling ------ */

/* IE needs constant width for correct rounding of tabs */
* html ul#mainnav a, * html ul#mainnav span {
  width: 4.5em;
}
/* And thus the text must be explicitly centered */
* html ul#mainnav li {
  text-align: center;
}
* html ol {
  margin-left: 1em;
}

/* IE6 needs width when rounding corners */
* html div#search {
  text-align: left;
  width: expression('11em');
}

/* Fix rendering bug in IE6 */
* html div#canvas {
  margin-right: 2px;
}
