/* Make sure scrollbar always showing, to stablise horizontal position. */
html {
  height: 100%;
}
body {
  min-height: 101%;
}

/* ---------- ( Generic Display Styles ) ---------------------------------- */

body
{
  background: #fff url(../images/top-grad.png) repeat-x top left;
  color: #151515;
  /* if you change this, change the same for .sidebar h2 later in this file */
  font-family: "Lucida Grande", Lucidagrande, "Lucida Sans", Lucidasans, "Lucida Sans Unicode", Lucidasansunicode, Lucida, "Bitstream Vera Sans", Helvetica, sans-serif;
  font-size: 90%;
  line-height: 1.4em;
  text-align: left;
}

a
{ 
  color: #b00; 
  text-decoration: underline;
}
a:link    { color: #b22; text-decoration: underline; }
a:visited { color: #c22; text-decoration: underline; }
a:active  { color: #f22; text-decoration: underline; }
a:hover   { background-color: #F5E4DC; }

acronym, abbr 
{
  font-style: normal;
  text-decoration: none;
  border-bottom: 1px dotted #aaa;
}

acronym:hover, abbr:hover
{
  border-bottom: 1px dotted #151515;
  background: #eee;
  cursor: help;
}

p, ul, ol, table, h2, h3, h4, h5, h6 
{
  margin: 0 0 1.2em 0;
  padding: 0;
}

blockquote
{
  margin: 0 2em 1.4em 2em ! important; 
  padding: 0;
}

h1, h2, h3, h4, h5, h6 
{
  /* if you change this, change the styling for legends in forms.css */
  font-family: "Hoefler Text", Hoeflertext, Georgia, "Lucida Bright", Lucidabright, "Bitstream Vera Serif", serif;
  font-weight: normal;
  margin: 0.5em 0 0.7em 0;
  padding: 0;
}

h1 { font-size: 2.5em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.6em; }
h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }
h6 { font-size: 1.0em; }

h1 a:link,  h1 a:visited,
h1 a:hover, h1 a:active
{
  text-decoration: none;
}

h2 a:link,  h2 a:visited,
h2 a:hover, h2 a:active
{
  text-decoration: none;
}

a img { border: none; }
a:hover img { border: none; }

img.floatright { float: right; }
img.floatleft { float: left; }

ul, ol
{
  padding: 0 0 0 1.6em;
}

ul { list-style-type: square; }

li { padding: 0 0 0.1em 0; }

li ul, li ol 
{
  font-size: 99%;
  padding: 0 0 0 1.4em;
}

table 
{
  margin: 0 3em 1.2em 3em;
  padding: 0;
  font-size: 95%;
  background: #fff;
  border: 0.3em solid #f5f5f5;
}    

td, th 
{
  margin: 0;
  padding: 1px 3px;
  border: 1px solid #fff;
  background: #eee;
}

th 
{
  background: #fdd;
  text-align: left;
}

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

.hidden
{
  display: none;
}

.sidebar
{
  margin: 0;
  padding: 0;
  font-size: 0.8em;
  line-height: 1.4em;
}

.sidebar p, .sidebar ul, .sidebar ol, .sidebar table, .sidebar h2, .sidebar h3, .sidebar h4, .sidebar h5, .sidebar h6,
blockquote p, blockquote ul, blockquote ol, blockquote table, blockquote h2, blockquote h3, blockquote h4, blockquote h5, blockquote h6
{
  margin: 0.8em;
  padding: 0 0 0 0;
}

.sidebar p
{
  margin: 0.8em 1em;
}

blockquote h2
{
  font-size: 1.6em;
  margin: 0.7em 0.5em 0.5em 0.5em;
}

.sidebar h2
{
  margin: 0 0.8em 0.5em 0.8em;
  /* this 0.5em is top padding rather than a top margin in order to work
   * around a lovely Firefox rendering bug (gasp!) which seems to have been
   * fixed in Deer Park (FF 1.0+ Alpha 2). Odd.
   */
  padding: 0.5em 0 0 0;
  font-size: 1.2em;
  font-family: "Lucida Grande", Lucidagrande, "Lucida Sans", Lucidasans, "Lucida Sans Unicode", Lucidasansunicode, Lucida, "Bitstream Vera Sans", Helvetica, sans-serif;
}

.sidebar ul, .sidebar ol, blockquote ul, blockquote ol
{
  padding: 0;
}

.sidebar ol
{
  padding: 0 0 0 1.8em;
}

.sidebar ul li 
{ 
  list-style: none;
  background: transparent url(../images/bull.png) no-repeat center left;
  margin: 0;
  padding: 0 0 0 12px;
}

.sidebar ol li
{
  margin: 0;
  padding: 0;
}

.sidebar li ul, .sidebar li ol 
{
  font-size: 99%;
  padding: 0 0 0 1.4em;
}

.box
{
  background: #f9f2ce;
  color: #333;
  margin: 0 0 1em 0;
}

.box .rtop, 
.box .rbottom, 
blockquote .rtop, 
blockquote .rbottom
{
  background: #fff;
}

.box .rtop *,
.box .rbottom *,
blockquote .rtop *,
blockquote .rbottom *
{
  background: #efe5b1;
}

/* grey box variation */

body.greyboxen .box { background: #eee; }

body.greyboxen .box .rtop *,
body.greyboxen .box .rbottom *
{
  background: #999;
}

/* red box variation */

body.redboxen .box { background: #ffd2d2; }

body.redboxen .box .rtop *,
body.redboxen .box .rbottom *
{
  background: #c77;
}


/* beige box variation */
body.beigeboxen .box { background: #f2e9de; }

body.beigeboxen .box .rtop *,
body.beigeboxen .box .rbottom *
{
  background: #e6d4bb;
}


/* yellow box variation */

body.yellowboxen .box { background: #f9f2ce; }

body.yellowboxen .box .rtop *,
body.yellowboxen .box .rbottom *
{
  background: #efe5b1;
}

.box a:hover { background: #F7E7D5; }


/* rounded corner styles - for use in combination with the rounded corner js
 * to be found in scripts/master.js
 */
.rtop, .rbottom { display:block; }
.rtop *, .rbottom *
{
  display: block;
  height: 1px;
  overflow: hidden;
}
.r1 { margin: 0 5px }
.r2 { margin: 0 3px }
.r3 { margin: 0 2px }
.r4 { margin: 0 1px; height: 2px; }

.rs1 { margin: 0 2px; }
.rs2 { margin: 0 1px; }

.small { font-size: 0.8em; }

.greyed { color: #aaa; }
.greyed a:link, .greyed a:visited
{
  color: #bb8585;
}
.darkened { color: #000; }

.error-text
{
  font-weight: bold;
  color: #fff;
  background: #b22;
  padding: 2px;
}

.flash-notice
{
  padding: 0.8em;
  margin: 1em 0;
  background-color: #f0fff0;
  color: #18AE6F;
}

.flash-error
{
  padding: 0.8em;
  margin: 1em 0;
  background-color: #fff0f0;
  color: #AE171E;
}

.clear
{
  clear: both;
}

#top-inner
{
  padding: 0;
  border-bottom: 1px dotted #aaa;
}

#top-bar
{
  padding: 0 0 0.4em 0;
  text-align: right;
  width: auto;
  border-bottom: 1px dotted #aaa;
}

#top-bar a
{
  text-decoration: none;
}

#top-bar p
{
  margin: 0;
  padding: 0;
  font-size: 0.9em;
  display: inline;
}

#welcome
{
  color: #888;
  margin: 1em 0 0 0.3em;
  padding: 0;
}

#main
{
  font-size: 0.95em;
}

#footer
{
  border-top: 1px dotted #aaa;
  background: #f8f8f8;
  /* yowch ... */
  margin: 5em 0 0 0;
  padding: 0.6em;
  color: #666;
  font-size: 0.75em;
}

#footer p
{
  line-height: 1.5em;
  margin: 0;
  padding: 0;
}

#alphasearch
{
  font-size: 0.85em;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  background: #f5f5f5;
  margin: 0 0 1em 0;
  padding: 0 0.2em;
  line-height: 3.3em;
  text-align: center;
}

#alphasearch a:link, #alphasearch a:visited
{
  text-decoration: none;
  margin: 0em;
  padding: 1em 0.3em;
}

#alphasearch a:hover, #alphasearch a:active
{
  background: #ddd;
}

.greylinks a:link, .greylinks a:visited, .greylinks a:active, .greylinks a:hover {
  text-decoration: none;
  color: #151515;
}

th a:link, th a:visited, td a:link, td a:visited,
th a:active, th a:hover, td a:active, td a:hover {
  text-decoration: none;
  color: #151515;
}

th.ticket, td.ticket {
  text-align: center;
}

table.requirement {
  margin: 0;
  font-size: 100%;
  width: 90%;
}

.requirement td {
  padding: 1em;
}

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

