body, * {
  margin:  0;
  border:  0;
  padding: 0;
  color:            #787878;
  background-color: #ffffff;
  text-decoration: none;
}

#logo {
  position: absolute;
  top: 25px;
  left: 25px;
}

#lang {
  position: absolute;
  top: 0;
  left: 955px;
}

#lang a {
  border-right: 1px solid white;
  padding-top: 25px;
  width: 12px;
  text-align: center;
  display: block;
  float: left;
  font-size: 10px;
}

#lang .selected {
  color:            #ffffff;
  background-color: #fb0001;
}

#left {
  position: absolute;
  top: 138px;
  left: 0;
  width: 200px;
}

#left {
  font-family: "Georgia", serif;
}

#menu1 {
  font-size: 20px;
  margin-bottom: 30px;
}

#menu1 a {
  display: block;
  line-height: 100%;
  margin-top: 5px;
  margin-bottom: 5px;
}

#menu1 .selected {
  border-left: 23px solid #fb0001;
  padding-left: 2px;
  color:            #fb0001;
  background-color: #ffffff;
}

#menu1 .deselected {
  border-left: 23px solid #ffffff;
  padding-left: 2px;
  color:            #4b4b4b;
  background-color: #ffffff;
}

#menu2 {
  font-size: 15px;
  margin-top: 30px;
}

#menu2 a {
  display: block;
  line-height: 100%;
  margin-top: 5px;
  margin-bottom: 5px;
}

#menu2 .selected {
  border-left: 23px solid #fb0001;
  padding-left: 2px;
  color:            #fb0001;
  background-color: #ffffff;
}

#menu2 .deselected {
  border-left: 23px solid #ffffff;
  padding-left: 2px;
  color:            #818181;
  background-color: #ffffff;
}

#main {
  margin-top: 138px;
  margin-left: 225px;
  width: 753px;
  font-family: "Tahoma", "Verdana", sans-serif;
  font-size: 11px;
}

#col1 {
  float: left;
  width: 341px;
  margin-bottom: 25px;
}
#main ul {
  margin-left: 15px;
}
#main li {
  margin-top: 7px;
  margin-bottom: 7px;
}
#main table th {
  vertical-align: top;
  text-align: left;
}

#col2 {
  float: left;
  width: 387px;
  margin-left: 25px;
  margin-bottom: 25px;
}

/* double-wide column for schedule */
#colw table {
  width: 100%;
  border-collapse: collapse;
}
#colw table tr.h0m30 {
  height: 9px;
}
#colw table tr.h1m00 {
  height: 18px;
}
#colw table tr.h1m30 {
  height: 27px;
}
#colw table tr.h2m00 {
  height: 36px;
}
#colw table tr.h3m30 {
  height: 63px;
}
#colw table tr.h4m00 {
  height: 72px;
}
#colw table td {
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}
#colw table tr th {
  vertical-align: top;
  font-weight: normal;
}
#colw table tr th.time {
  border-top: 1px solid #cccccc;
  padding-left: 25px;
  padding-right: 25px;
  text-align: center;
}
#colw table tr th.date {
  border-left: 1px solid #cccccc;
  text-align: center;
}
#colw table tr td {
  text-align: center;
  vertical-align: center;
}
#colw table tr td.orange { border: 2px solid #f67c22; }
#colw table tr td.yellow { border: 2px solid #dfd837; }
#colw table tr td.blue   { border: 2px solid #4560b6; }
#colw .key {
  text-align: center;
  margin-top: 50px;
}
#colw .key span    { margin: 50px; }
#colw .key .orange { border: 2px solid #f67c22; }
#colw .key .yellow { border: 2px solid #dfd837; }
#colw .key .blue   { border: 2px solid #4560b6; }

form#contact .textinput { border: 1px solid #818181; }
form#contact .button { border: 1px solid #fb0001; }

/* hack to let thumbnail contents fit */
.thumbnails {
  width: 366px;
}

.thumbnails a {
  display: block;
  float: left;
  width: 158px;
  height: 128px;
  margin-right: 25px;
  margin-bottom: 12px;
}

#main a {
  color: #fb0001;
  background-color: #ffffff;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Georgia", serif;
  font-weight: normal;
}

h1 { font-size: 50px; }
h1 a img { color: #fb0001; background-color: #ffffff; }
h2 { font-size: 30px; }
h3 { font-size: 17px; }

h2 {
  margin-bottom: 10px;
}

h3 {
  margin-top: 10px;
}

p {
  margin-top: 7px;
  margin-bottom: 7px;
}

/* absolute position relative to bottom is ugly on long pages,
   but otherwise it overlaps with menu items on shorter pages
   - no easy fix it seems */
#foot {
  display: block;
  position: absolute;
  bottom: 25px;
  left: 25px;
  color:            #b7b7b7;
  background-color: #ffffff;
  font-size: 10px;
}

/* gallery stuff */

.gspacer {
  clear: both;
}

.gthumbnails {
  margin-bottom: 20px;
}

.gthumbnails ul {
  margin: 0px;
  border: 0px;
  padding: 0px;
}

.gthumbnails ul li {
  margin: 9px;
  border: 0px;
  padding: 0px;
  display: block;
  float: left;
  width: 128px;
  height: 128px;
  text-align: center;
}

.gimage {
  margin-bottom: 20px;
}

.ginfo {
  width: 100%;
}

.gwhat {
  float: left;
}

.gcredit {
  float: right;
}
