/*** colors ***/

html {
  background: #FFF;
}

a:link {
  color: #FF1A1A;
}

a:visited {
  text-decoration: none;
  border-bottom: 1px dotted;
  color: #000;
}

a:active {
  color: #ccc;
}

a:hover {
  background: #efefef;
  color: #33e;
}


#menu, #menu ul li h2 {
  background: #F91010;
  color: #E7F5E7;
}

div#menu ul li:hover h2 {
  background: #fff;
  color: #F91010;
}

div#menu ul li:hover ul li h2 {
  background: #efefef;
  color: #F91010;
}


#photos, #rightside, #logintitle {
  background: #EAE8E8;
}

td.content, #footer {
  background: #FFF;
}

span.highlight {
  background-color: #FF0;
}

span.req {
  color: #1A1;
}


/*** menu bar ***/

#menu {
  width: 45em;
  text-align: center;
}

#menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 9em;
  float: left;
}

#menu a, #menu h2 {
  font: bold 14px/18px arial, helvetica, sans-serif;
  display: block;
  border-width: 1px;
  border-style: solid;
  border-color: #caa #866 #533 #b99;
  margin: 0;
  padding: 2px 3px;
}

#menu h2 {
  color: #ddd;
  background: #e11;
  text-transform: uppercase;
}

#menu a {
  color: #c00;
  background: #efefef;
  text-decoration: none;
}

#menu a:hover {
  background: #fff;
  color: #c00;
}

#menu li {
  position: relative;
  z-index: 3;
}

#menu ul ul {
  position: absolute;
  z-index: 3;
}

#menu ul ul ul {
  position: absolute;
  top: 0;
  left: 100%;
}

div#menu ul ul,
div#menu ul li:hover ul ul,
div#menu ul ul li:hover ul ul
{display: none;}

div#menu ul li:hover ul,
div#menu ul ul li:hover ul,
div#menu ul ul ul li:hover ul
{ display: block; }


/*** structuring ***/

body {
  margin: auto;
  text-align: center;
  min-width: 800px;
  font-family: Arial, serif;
}

#logo {
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

#logo img {
  border-width: 0px;
  padding: 0;
  margin: 0;
}


#leftside, #rightside, #footer {
  overflow: hidden;
  display: inline;
}

#photos { width: 160px; }

#content {
  width: 45em;
  text-align: left;
}

#iaesteIntro {
  padding: 0 1.5em;
}


table#main {
  width: 100%;
  display: inline;
  clear: left;
}

#leftside {
  margin-left: 3px;
  width: 160px;
}

td.content {
  text-align: left;
  border-width: 3px;
  border-color: #FFF;
  border-style: solid;
  vertical-align: top;
}

#rightside {
  margin-right: 3px;
  width: 160px;
}

#loginbox {
  font: 9pt Arial, Helvetica, sans-serif;
  background: #fff;
  border-width: 1px;
  border-color: #aaa;
  border-style: solid;
  text-align: center;
  width: 158px;
  margin: 0 auto;
}



#footer {
  width: 100%;
  text-align: center;
  padding: 0;
  padding-bottom: 5px;
  margin-top: 0;
  clear: left;
}

#footer hr {
  color: #f22;
  text-align: center;
  width: 81%;
}


/*** news items ***/

div.newsitem {
  font-family: arial, helvetica, sans-serif;
  border-width: 2px;
  border-style: solid;
  border-color: #999;
  margin: 1em;
  padding: 3px;
}

div.newstitle {
  position: relative;
  z-index: 0;
  left: -.3em;
  top: -.3em;
}

span.title {
  background: #FFF;
  color: #E11;
  font: bold 120% arial, helvetica, sans-serif;
}

div.newspost {
  font-family: arial, helvetica, sans-serif;
  padding-left: 5px;
}

div.byline {
  clear: left;
  text-align: right;
  font: 80% arial, helvetica, sans-serif;
}

div.comments {
  font: 80% arial, helvetica, sans-serif;
}


/*** forms ***/

td.label {
  width: 50%;
  text-align: right;
}

td.input {
  width: 50%;
  text-align: left;
}


div.error {
  text-align: center;
  color: #D11;
  font-weight: bold;
  padding: 14px 0;
}


/*** contacts table ***/


#contacts {
  clear: left;
  width: 90%;
  margin: 16px auto;
  padding: 2px;
  border: 1px solid #333;
  border-collapse: collapse;
}

#contacts th {
  background-color: #fff;
  font-weight:bold;
  text-align:left;
  color:#003;
  font-size:.9em;
  line-height: 150%;
  padding-top: 3px;
}

#contacts th a {
  display: block;
  width: 90%;
  height: 90%;
  background-color: #ddd;
  border: 2px solid;
  border-color: #ddd #999 #888 #ddd;
  margin-left: 5%;
  padding-left: 5px;
  text-decoration: none;
  color: #33C;
}

#contacts th a:hover {
  text-decoration: underline;
  border-color: #999 #ddd #ddd #888;
}

#contacts td {
  background-color:#fff;
  margin: 0;
  font-size:.85em;
  line-height: 1.7em;
}

#contacts a.button {
  border: 1px solid black;
  border-color: #ddd #888 #999 #ccc;
  padding: 1px 2px;
  margin: 2px 3px;
  text-decoration: none;
}

#contacts a.button:visited {
  color: #f11;
}

#contacts a.button:hover {
  color: #33e;
}

#contacts tr.other td {
  background-color: #edf3fe;
}


#contacts .contactDetails {
  border: 1px dotted #003;
  width: 100%;
}

#contacts .contactDetails td {

}

#contacts .contactDetails td.results {
  border-left: 1px dotted #003;
}


/*** content for pages other than the main page ***/

div.article {
  width: 700px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
  clear: left;
}

div.testify {
 margin: 5px .5em;
}

div.testify blockquote {
 line-height: 1.1em;
 background: url(../images/quotes.gif) no-repeat 0 0;
}

div.testify blockquote p {
 background: url(../images/quotes2.gif) no-repeat bottom right;
}

div.testify blockquote p.noendquote {
 background: transparent;
}

div.testify .author {
 font-style: italic;
 text-align: right;
}

table#climate, table#costs {
 border: solid 1px black;
 border-spacing: 3px;
}

table#climate td {
 border: solid 1px #CCC;
}

table#costs td { border-bottom: dashed 1px #CCC; }

tr.head, table#climate td.month {
 background-color: #333;
 color: #FFF;
 margin-left: 3px;
}

table#climate tr.focus td {
 background-color: #FFCCCC;
 color: black;
}

table#climate tr.focus td.month {
 background-color: #666;
 color: white;
}