/* Movable Type Ltd general stylesheet */

body {
  font-family: Verdana, Arial, Helvetica, sans-serif;
  font-size: 75%;  /* adjust from default 16px (!) to 9pt (@ 96ppi) */
  padding-left: 120px; /* left margin: note margin-left won't work in IE */
  padding-right: 12px;
  max-width: 72em;
  line-height: 1.6;
  background: white;
  color: #333333;
  }

/* the header */
div#header     { margin-left: -120px; }
div#header hr  { margin-top: 4px; }
div#header img { float: left; }
div#header a:hover { text-decoration: none; }

h1 {  /* page title */
  font: italic 4em Garamond, "Times New Roman", Times, serif;
  margin-top:    0;
  margin-bottom: 0;
  }

h2 {  /* section / sub-head */
  font: 2.5em Impact, Tahoma, Arial, Helvetica, sans-serif;
  text-align: right;
  color: #333333;
  }

h3 {  /* top-level 'content' header */
  font-size: 1.5em;
  color: black;
  }

h4 {  /* second-level 'content' header (not currently used?) */
  font-size: 1.2em;
  font-style: italic;
  color: black;
  }

p {
  margin-top:    0.8em;
  margin-bottom: 0.8em;
  }

p, li, td  {
  max-width:     64em; /* no one wants to read longer lines than that! */
  /* whether it's better to have max-width on <p> or on <body> depends on page design... */
  /* li right margin may exceed p right margin! */
}

table {
  border-collapse: collapse;
  }
table tr {
  vertical-align: baseline;
  }
table td {
  padding-right: 0.4em;  /* give all tables some spacing between cells */
  }

ul {
  margin-top:   -0.5em;
  margin-bottom: 0.5em;
  margin-left:   3.2em;
  margin-right:    0em; 
  list-style-type: disc;
  list-style-image: url(../images/listbullet.gif);
  list-style-position: outside;
  }
  
li {
  max-width: 64em; /* broadly matches max-width on p */
  }

img.right {
  float: right;
  }
img.floatRight {
  float: right;
  }
img.floatLeft {
  float: left;
  }

/* even line spacing with sub/superscripts: www.cs.tut.fi/~jkorpela/www/linespacing.html */
sup, sub { vertical-align: 0; position: relative; }
sup      { bottom: 1ex; }
sub      { top: 0.8ex; }  

hr { 
  color: #cccccc; 
  background: #cccccc; 
  height: 2px; 
  border: 0; 
  }
hr.fullwidth {  /* rule running into margin */
  margin-left: -120px;
  }

a {
  color: #993300;  /* brick red */
  font-weight: bold;
  text-decoration: none;
  }

a img {
  border: 0;
  }

.small {
  font-size: 66%;
  }

a:visited {
  font-weight: normal;
  }

a:hover {
  text-decoration: underline;
  }

/* over-ride 'a' when inside h2 */
h2 a {
  color: #333333;
  font-weight: normal;
  }
/* over-ride 'a:visited' when inside h2 */
h2 a:visited {
  color: #333333;
  }

.margin {
  margin-left: -150px;
  }

tr.tableRule td {
  border-top: 2px solid #CCCCCC;
  }

/* scripts pages */

pre {
  font-family: "Lucida Console", "Courier New", Courier, monospace;
  font-size: 0.8em;
  line-height: 1.4;
  margin-left: 1cm;
  margin-top:0;
  }
pre.fullwidth, p.fullwidth {  /* use margin to get full width of page */
  margin-left: -80px;
  }

.note {
  font-size: 0.9em;
  line-height: 1.5;
  }

.small-caps {
  font-variant: small-caps;
  }

code, .code { /* in-line code frags */
  font-family: "Lucida Console", "Courier New", Courier, monospace;
  font-size: 0.9em;
  }

.align-right {
  text-align: right;
}

/* validation */
label.error       { color: #990000; font-style: italic; margin-left: 1em; }
input.error       { border: 1px dotted #990000; }

span.rtl { /* obfuscate email */
  unicode-bidi: bidi-override; 
  direction: rtl; 
  white-space: nowrap;
  }

/* suppress left margin for printing */
@media print {
  body           { padding-left: 0; }
  div#header     { margin-left: 0; }
  div#header img { display: none; }
  pre.fullwidth     { margin-left: 0; }
  }
