    .c0 {
      background-color: #eef;
      color           : #3c3c40;
    }
    .c1 {
      background-color: #000;
      color           : #bfbfbf;
    }
    .c2 {
      background-color: #152b40;
      color           : #ffffff;
    }
    .c3 {
      background-color: #4080bf;
      color           : #ffffff;
    }
    .c4 {
      background-color: #5AF;
      color           : #000000;
    }
    .c5 {
      background-color: #80c0ff;
      color           : #000000;
    }
    .c6 {
      background-color: #d4eaff;
      color           : #353b40;
    }
    .c7 {
      background-color: #fff;
      color           : #404040;
    }
    .c8 {
      background-color: #4E4;
      color           : #000000;
    }

  body {
    behavior:url("/style/csshover2.htc");
  }

	html, body {
		padding     : 2px;
    margin      : 0;
    font-family : sans-serif;
    /*font-size   : 12pt;*/
    font-size   : normal;
		background  : white url("/images/backgrad.png") repeat-x 0% 0%;
    color       : #152b40;
	}

	html.x, html.x body {
		padding   : 0;
    margin    : 0;
		background: white none;
	}

  /** Main table layout **/
  
  table#layout {
    width   : 100%;
    margin  : 0;
    padding : 0;
    border-collapse : collapse;
    border-width    : 0;
  }

  td.nh { margin  : 0; padding : 0; height  : 0; } /* No Height */
  td.nw { margin  : 0; padding : 0; width   : 0; } /* No Width */

  #head .dialog { margin-bottom: 0; }
  
  #head table {
    color       : white;
    font-weight : bold;
    font-style  : italic;
    width       : 98%;
    margin      : 0 auto;
  }
  
  #head div.title,
  #head div.subtitle,
  #head img.fade {
    width     : 264pt;
    text-align: right;
  }

  #head div.subtitle {
    font-size : 10pt;
  }

  #head a, #head2 a:visited  {
    font-size       : 30pt;
    color           : white;
    text-decoration : none;
  }

  #head img.fade {
    margin-bottom: 0.7ex;
    height: 0.7ex;
  }

  #head td.img img {
    height: 66pt;
  }

  td#left {
    vertical-align: top;
  }

  table#layout td#pane {
    vertical-align  : top;
		padding         : 0;
		margin          : 0;
    background-color: transparent;
  }

  td#right {
    vertical-align: top;
  }

  .bold     { font-weight: bold; }
  .nobold   { font-weight: normal; }
  .italic   { font-style: italic; }
  .smaller  { font-size: 80%; }
  .larger   { font-size: 125%; }
  .sc       { font-variant: small-caps; }
  .left     { text-align: left; }
  .ctr      { text-align: center; }
  .right    { text-align: right; }
  .top      { vertical-align: top; }
  .ae       { font-weight: bold; font-style: italic; }
  .fleft    { float: left; }
  .fright   { float: right; }
  .fw       { font-family: monospace; }

  div.center {
    margin: 0 auto;
  }
  
  div#aecontent {
    margin  : 0;
    padding : 0;
  }

  div.b {
    border: 1px solid;
  }
  
  /** Tables for laying out **/
  table.layout {
    border: hidden;
  }

  table.layout tr.vmid td {
    vertical-align: middle;
    padding : 0.5ex;
    border  : hidden;
  }

  div#faq div {
  }

  div#faq ul {
    list-style-type : none;
  }

  div#faq ul li {
    margin-top: 1em;
  }

  div#faq ul li p {
    margin-left: 1em;
  }

  div#faq ul ul {
    font-weight: normal;
    list-style-type : disc;
  }

  div#faq ul ul li {
    margin-top: 0.5ex;
  }

  ol {
    list-style-type: decimal;
  }
  
  ol ol {
    list-style-type: lower-roman;
  }

  ol ol ol {
    list-style-type: lower-alpha;
  }

  div.help, div.info, div.alert {
    text-align      : center;
    padding         : 2px;
    margin          : inherit auto;
    font-size       : smaller;
  }

  div.help {
    font-weight     : bold;
  }

  div.info {
    font-weight     : normal;
    font-style      : italic;
  }

  div.alert {
    font-weight     : normal;
    font-style      : italic;
  }

  div.inline {
    display: inline;
  }

  div.alert.wide, caption div.alert,
  div.help.wide, caption div.help,
  div.info.wide, caption div.info {
    width: 90%;
  }
  
  /** Login div **/
  
  div#login {
    margin    : 0 auto;
    font-size : smaller;
    text-align: center;
    width     : 150px;
  }

  div#login th, div#login td input.field {
    font-size : smaller;
  }
  
  #relogin .s {
    padding: 1em;
  }

  #relogin form {
    width     : 15em;
    margin    : 0 auto;
    text-align: center;
  }
  
  form#relogin p {
    font-style: italic;
  }

  /** Horizontal menus **/
  
  div.hmenu {
    text-align      : center;
    font-weight     : bold;
    font-size       : smaller;
  }
  
  div.hmenu a, div.hmenu a:visited {
    padding         : 0 0.5em;
    text-decoration : none;
  }

  body div.hmenu a:hover {
    padding         : 0 0.5em;
    background-color: #4e4;
    color           : black;
  }

  div#btmhm a, div#btmhm a:visited {
    padding: 0 0.5em;
  }

  div#register a, div#register a:visited {
    color: black;
  }
  
  div#addprop a, div#addprop a:visited {
    color: black;
  }

  /** Errors **/

  div#errors {
    margin-bottom: 1em;
  }
  
  div#errors .s {
		background-color: white;
    color           : black;
    padding         : 1ex 0;
  }

  div#errors h1 {
		background-color: red;
  }

  div#errors ul {
    text-align: left;
    margin    : auto 20%;
    padding   : 0;
    font-style: italic;
    list-style-image: url("/images/fam/error.gif");
  }

  div#errors ul li {
    padding-left: 1ex;
  }

  .error {
    border              : medium solid #c00;
    padding-left        : 20px;
    background-repeat   : no-repeat;
    background-image    : url("/images/fam/error.gif");
    background-position : 2px 1px;
    background-color    : white;
  }

  table.form tr.error * {
    background-color: #fbb;
  }

  /** Messages **/
  
  div#messages {
    margin-bottom : 1em;
  }
  
  div#messages .s {
		background-color: white;
    color           : black;
    padding         : 1ex 0;
  }
  
  div#messages ul {
    text-align: left;
    margin    : auto 20%;
    padding   : 0;
    font-style: italic;
    list-style-image: url("/images/fam/info.gif");
  }
  
  div#messages ul li {
    padding-left: 1ex;
  }
  
  /** Actions **/

  div#actions .s {
		background-color: white;
    color           : black;
    padding         : 2px;
  }

  div#actions table {
    margin: 0 auto;
  }
  
  div#actions table td {
    margin: 0 auto;
    vertical-align: top;
  }

  div#actions ul {
    font-size: smaller;
    list-style-image: url("/images/fam/error.gif");
  }

  /** Place Browser **/
  
  div#browser {
    position      : relative;
    font-size     : smaller;
  }
  
  div#browser table {
    border-collapse : separate;
    margin-left     : 1em;
  }

  div#browser td {
    text-align  : left;
    padding     : 1ex;
  }

  div#browser td ul {
    margin          : 0;
    padding         : 0;
    list-style-type : none;
  }

  div#browser a:hover {
    background-color: #4e4;
    color: black;
  }

  div#browser .bwstwn {
    position  : relative;
    right     : -60%;
    font-style: italic;
  }

  /** Search **/

  #search {
    width: 95%;
    margin: 0 auto;
    font-size: normal;
  }
  
  #search label {
    margin-right: 1ex;
  }

  #search select {
    font-weight: bold;
  }

  #search fieldset {
    font-size : smaller;
    padding   : 1ex;
    margin    : 2px;
  }

  #search fieldset legend {
    font-weight : bold;
    font-style  : italic;
    font-size   : 110%;
    color       : black;
  }

  #byFeatures table .icon {
    padding : 0;
    margin  : 0;
    width   : 16px;
  }

  #byFeatures table input {
    padding : 0;
    margin  : 0;
    width   : 16px;
  }

  table#features {
    margin    : 0 auto;
    font-size : smaller;
  }

  #byPlace table td {
    vertical-align: top;
    text-align    : right;
  }

  #byPlace table table td {
    text-align: left;
  }

  #byAvail table {
    margin: 0 auto;
  }

  /** Previous/next navigation **/
  
  div.prvnxt {
    width       : 100%;
    text-align  : center;
    font-weight : bold;
    margin      : 1em 0;
  }
  
  div.prvnxt * {
    margin : 0 0.5ex;
  }

  div.prvnxt a, div.prvnxt a:visited {
    color: blue;
  }

  div.prvnxt .current {
    text-decoration: none;
  }

  /** Property browse page **/

  #browse #title1 {
    width   : 90%;
    padding : 1em;
    margin  : 0 auto;
  }
  
  #browse a img {
    margin: 0 1em 0 2px;
    border: none;
    text-decoration: none;
  }

  #browse a:hover {
    background-color: #4E4;
    color           : #000000;
  }

  div#title1 { margin  : 0 1ex; }
  div#title1 .s { padding: 1ex; }

  #browse #title1 pre { font-family: sans-serif; }

  #browse div#col1 {
    width: 80%;
    margin: 2em auto;
  }

  #browse div#col2 {
    width: 90%;
    margin: 2em auto;
  }

  #browse table.text {
    width: 100%;
  }

  #browse table.text th {
    font-size: larger;
  }

  #browse table.text h1 { font-size: larger; font-weight: bold; font-style: normal;
                          text-decoration: none; margin: 1em 0; text-align: left; padding: 0; }

  #browse table.text h2 { font-size: 120%; font-weight: bold; font-style: italic;
                          text-decoration: none; margin: 1em 0; text-align: left; padding: 0; }

  #browse table.text h3 { font-size: 100%; font-weight: bold; font-style: normal;
                          text-decoration: none; margin: 1em 0; text-align: left; padding: 0; }

  #browse table.text h4 { font-size: 100%; font-weight: bold; font-style: italic;
                          text-decoration: none; margin: 1em 0; text-align: left; padding: 0; }

  #browse table.text h5 { font-size: 100%; font-weight: normal; font-style: normal;
                          text-decoration: underline; margin: 1em 0; text-align: left; padding: 0; }

  #browse table.text td {
    padding: 1em;
    vertical-align: top;
  }

  #browse #col2 table.text td {
    width: 50%;
  }

  #browse #col2 table.text td.left {
    border-right: 1px solid #aaa;
  }

  #browse #features table {
    font-size : 80%;
    text-align: left;
  }

  #browse #features table td {
    padding-right: 1em;
  }

  #browse #features table td.yes {
    font-weight: bold;
  }

  #browse #features table td.no {
    color: grey;
  }

  #browse #pricing div.scroll {
    height: 30em;
    overflow: auto;
  }

  #browse table.periods {
    width: 95%;
    margin: 1em auto;
  }

  #browse table.periods th {
    border-top: 1px solid #aaa;
    padding: 1ex 0 0;
    text-align: left;
    color: #4080bf;
    font-weight: bold;
    font-size: larger;
  }

  #browse table.periods td {
    vertical-align: top;
    padding: 0 1em 1em 0;
  }
  
  #browse table.periods td.prices {
    font-weight: bold;
    font-size: 110%;
    color: #666;
    width: 70%;
  }

  #browse table.periods td.prices p.desc {
    color: #888;
    margin: 1ex 1em;
    font-weight: bold;
  }

  #browse table.periods td.prices p.notes {
    margin: 1ex 1em;
    padding-top: 2px;
    color: #888;
    font-size: 90%;
    font-weight: normal;
    font-style: italic;
    border-top: 1px solid #ccc;
  }
  
  #browse table.periods div.details {
    color: #888;
    font-size: smaller;
    border-left: 1px solid #ccc;
    padding-left: 1em;
  }

  #browse table.periods td.details {
  }
  
  #browse table.periods td.details .ms {
    font-size: 110%;
    color: #666;
  }

  #browse div.cal {
    font-size: smaller;
  }
  
  /**
  * Image browsing
  */

  #browse div.img {
    width         : 40%;
    padding-bottom: 1em;
    margin-bottom : 1em;
    text-align    : center;
    font-variant  : small-caps;
    border-bottom : 1px solid #aaa;
  }
  
  img.sig {
    width   : 100%;
    border  : medium inset;
    background-color: white;
    border-color: #888 #aaa #aaa #888;
    padding : 0px;
  }

  table#ShowCase {
    width   : 100%;
    margin  : 1em auto;
  }

  table#ShowCase caption {
    padding-bottom: 1ex;
  }

  table#ShowCase tr td {
    text-align    : center;
    vertical-align: top;
  }

  table#ShowCase td.sc div {
    width       : 8em;
    margin      : 0 auto;
    font-variant: small-caps;
    text-align  : center;
  }

  table#ShowCase td.sc img {
    width   : 8em;
    border  : thin inset;
    background-color: white;
    border-color: #888 #aaa #aaa #888;
    padding : 1px;
  }

  #gallery img.sig {
    width   : 400px;
    border  : medium inset;
    background-color: white;
    border-color: #888 #aaa #aaa #888;
    padding : 1px;
  }

  table.gallery {
    width       : 100%;
    margin      : 1em 0;
    font-variant: small-caps;
  }

  table.gallery td {
    text-align    : center;
    vertical-align: top;
  }

  table.gallery td .caption {
    font-size     : 80%;
  }

  table.gallery img {
    width   : 8em;
    border  : thin inset;
    background-color: white;
    border-color: #888 #aaa #aaa #888;
    padding : 1px;
  }

  table.gallery a {
    text-decoration: none;
  }

  /**
   * Text editor
   **/
   
  #EditText div.img {
    width         : 40%;
    padding-bottom: 1em;
    margin-bottom : 2em;
    text-align    : center;
    font-variant  : small-caps;
    border-bottom : 1px solid #aaa;
  }

  #EditText div.fl2 {
    width     : 40%;
    text-align: center;
  }

  #EditText span.hint {
    font-weight : bold;
    font-style  : italic;
    font-size   : smaller;
  }

  #EditText div.img img {
    width: 100%;
  }
  
  #EditText #title1, #EditText #col2 {
    width : 90%;
    margin: 1em auto;
  }
  
  #EditText #title1 .hint {
    margin-left: 1em;
  }

  #EditText textarea {
    overflow: auto;
  }

  #EditText #text1 {
    width: 50%;
    margin-left: 1em;
  }

  #EditText table.text {
    width: 100%;
  }
  
  #EditText table.text td {
    padding: 1ex;
    vertical-align: top;
  }

  #EditText #col2 td {
    width: 50%;
  }

  #EditText #col2 table.text td.left {
    border-right: 1px solid #aaa;
  }
  
  #EditText #col2 table.text td textarea {
    width: 95%;
  }

  /** Form/input tables **/
  
  table.form tr th {
		background-color: #a0d0ff;
    color           : #000000;
    border          : 1px solid #4080bf;
    font-weight     : bold;
    text-align      : center;
    vertical-align  : middle;
    padding         : 0.5ex;
  }

  table.form tr {
    border: 1px solid black;
  }
  
  table.form tr.action td {
    text-align: center;
  }

  table.form tr td {
    border-color: black;
    border-style: solid;
    border-width: 1px 0;
    padding     : 1ex;
    vertical-align  : top;
  }

  table.form tr.o { /* Odd */
    background-color  : #e0e0f0;
  }

  table.form tr.e { /* Even */
    background-color  : #fff;
  }

  table.form tr.action input,
  input.action {
    font-size: 100%;
    font-style: italic;
    font-weight: bold;
  }

  .dialog .s table.form tr td a,
  .dialog .s table.form tr td a:visited,
  div table.summary tr td a,
  div table.summary tr td a:visited {
    color: blue;
  }
  
  /** Summary/results tables **/
  
  table.form, table.summary {
    background-color: #ffe;
    color           : black;
    border          : 1px solid black;
    border-collapse : collapse;
    text-align      : left;
    margin          : 0 auto;
    font-weight     : normal;
  }

  table.form caption, table.summary caption {
    margin: 1em auto;
  }

  .dialog .s table.summary a, .dialog .s table.summary a:visited {
    color: black;
  }

  table.summary tr th {
		background-color: #a0d0ff;
    color           : #000000;
    border          : 1px solid #4080bf;
    font-weight : bold;
    text-align  : center;
    padding     : 0.5ex;
    position    : relative;
  }

  table.summary tr {
    border: 1px solid black;
  }

  table.summary tr.vmid td {
    vertical-align: middle;
  }

  table.summary tr.space {
    border-color: black;
    border-style: solid;
    border-width: 1px 0;
  }

  table.summary tr.space th {
    background-color: #ffe;
    border-style    : solid;
    border-color    : black;
    border-width    : 1px 0;
    height          : 1em;
    padding         : 1px 0;
  }
  
  table.summary tr td {
    border-color: black;
    border-style: solid;
    border-width: 1px 0;
    padding     : 1ex;
    vertical-align  : top;
  }

  table.summary td.hvctr {
    text-align    : center;
    vertical-align: middle;
  }
  
  table.summary tr.o { /* Odd */
    background-color  : #fff;
  }

  table.summary tr.e { /* Even */
    background-color  : #eef;
  }

  table.summary tr td.bl {
    border-left: 1px solid black;
  }

  table.summary tr td.br {
    border-right: 1px solid black;
  }

  /**
   * Enquiries
   */

  #enquiries table.summary tr.replied,
  #enquiries table.summary tr.replied td,
  #enquiries table.summary tr.reply,
  #enquiries table.summary tr.reply td {
		border-width: 0;
  }

  #enquiries table.summary tr.reply td {
		padding-top   : 0;
		padding-bottom: 0.5ex;
		padding-left  : 1em;
		font-style    : italic;
  }

  #enquiries table.summary tr.reply td.ni {
		padding: 0 1ex;
  }

  #enquiries table.summary tr.noreply {
    font-weight: bold;
  }

  /**
  * Search results
  */
  /*
  #results table.summary {
    border: none;
    width : 90%;
  }

  #results table.summary h3 {
    font-size   : 110%;
    font-weight : bold;
    margin      : 0;
  }

  #results table.summary h4 {
    font-size : 80%;
    font-style: italic;
    margin    : 0.5ex;
  }

  #results table.summary p {
    font-size   : 100%;
    font-weight : normal;
  }

  #results table.summary caption a {
    margin-right: 1em;
  }

  #results table.summary img.thumb {
    border: 2px inset;
  }

  img.thumb {
      width   : 10em;
  }

  #results img.sym {
    width : 5em;
    border: 2px inset;
  }
  */

  .noresults {
    margin: 0 auto;
    width : 50%;
  }

  .noresults .s {
    padding     : 1em;
    font-weight : normal;
    font-size   : larger;
  }
  
  /**
   * New results tables
   */

  table.found {
    border          : thin inset;
    background      : white;
    border-collapse : collapse;
  }

  table.found td {
    padding: 1ex 0 0;
  }

  table.found td.sel {
    background-color: #ddd;
    text-align: center;
    border-right: 1px solid grey;
  }

  table.found h2 {
    font-size   : 110%;
    font-weight : bold;
    margin      : 0;
  }

  table.found h3 {
    font-size : 80%;
    font-style: italic;
    margin    : 0.5em 0;
  }

  table.found h4 {
    font-size : 90%;
    font-weight: bold;
    margin    : 0;
  }

  table.found h5 {
    color     : #666;
    font-size : 90%;
    font-weight: bold;
    font-style: italic;
    margin    : 0;
  }

  table.found p {
    font-size   : 100%;
    font-weight : normal;
    font-style  : italic;
    color       : #888;
    margin      : 1ex;
  }

  table.found p.cb {
    clear : both;
    margin: 0;
  }
  
  table.found caption {
    margin-bottom : 1em;
  }

  table.found caption a {
    margin-right: 1em;
  }

  table.found img.thumb {
    border  : 1px inset;
    float   : left;
    margin  : 0.5em 1em;
    width   : 10em;
  }

  table.found img.sym {
    border  : none;
    float   : left;
    margin  : 0.5em 1em;
    width   : 5em;
  }

  /**
   * New tables wrapped in round 3D borders
   */

  div.table {
    margin: 0 1em;
  }
  
  div.table table {
    width:  100%;
  }

  /** CALENDARS **/
  
  div.cal {
    background-color: white;
    font-family     : sans-serif;
    font-size       : smaller;
  }
  
  div.cal table {
    background-color: inherit;
    border-collapse : collapse;
    border          : none;
  }

  div.cal table.cal th {
    text-align  : left;
    padding-top : 1em;
    font-weight: bold;
  }

  div.cal table.cal th a {
    text-decoration : none;
    margin          : 0 1em;
    color           : blue;
  }

  div.cal table.cal {
    margin-right: 1em;
  }
  
  div.cal table.cal td {
    text-align  : center;
    height      : 1.5em;
    padding     : 0;
  }

  div.cal table.cal tr.wdays td {
    width: 1.5em;
  }

  table.cal td.past {
    color    : silver;
  }

  table.cal td.today {
    font-weight : bold;
    border      : 1px solid black;
  }

  div.cal table.cal tr.clients td {
    font-size : smaller;
    text-align: left;
    height    : 1em;
  }

  tr.clients a {
    color     : blue;
    white-space : nowrap;
  }

  tr.wdays td {
    background-color    : #0f0;
    background-position : center center;
  }

  tr.wdays td.y { background-color: #ff0; }
  tr.wdays td.g { background-color: #ccc; }
  tr.wdays td.o { background-color: #f80; }
  tr.wdays td.r { background-color: #f00; }

  tr.wdays td.cy { background-image: url('/images/calyel.gif'); }
  tr.wdays td.cg { background-image: url('/images/calgry.gif'); }
  tr.wdays td.co { background-image: url('/images/calorn.gif'); }
  tr.wdays td.cr { background-image: url('/images/calred.gif'); }
  tr.wdays td.ca { background-image: url('/images/calgrn.gif'); }

  tr.wdays td span.doi {
    color       : #00f;
    font-weight : bold;
  }

  tr.dates td span.doi {
    color           : #00f;
    font-weight     : bold;
  }

  div.cal td.school {
    background-color: #8ee;
  }

  div.cal td.public {
    background-color: #e8f;
  }

  div.cal td.legend {
    vertical-align: top;
  }

  div.cal table.legend {
    margin      : 1em auto;
    border      : 1px solid black;
    width       : 18ex;
    white-space : nowrap;
    background  : #eee;
  }

  div.cal table.legend caption {
    font-size   : larger;
    font-weight : bold;
  }

  div.cal table.legend th {
    text-align  : left;
    padding     : 0 2px;
    font-weight : normal;
  }

  div.cal table.legend tr td {
    border  : 1px solid black;
    padding : 0 1ex;
  }

  /**
  * Wiki
  */
  
  #wiki {
    position: relative;
    left    : 0;
    padding   : 0.5em;
    font-weight : normal;
    padding-bottom: 1em;
    border: 1px solid black;
  }
  
  #wiki #toc,
  #wiki .toc {
    border: 1px solid #aaa;
    background-color: #f9f9f9;
    padding: 5px;
    font-size: 95%;
  }
  
  #wiki #catlinks {
  	border: 1px solid #aaa;
  	background-color: #f9f9f9;
  	padding: 5px;
  	margin-top: 1em;
  	clear: both;
  }

  #wiki h1 {
    font-size       : 200%;
    font-style      : auto;
    text-decoration : none;
    margin          : auto;
    margin-bottom   : 0;
    padding         : auto;
    padding-bottom  : 0;
    position        : relative; /* IE workaround **/
  }

  #wiki h1, #wiki h2 {
    border-bottom: 1px solid #aaa;
  }
  
  #wiki h1,
  #wiki h2,
  #wiki h3,
  #wiki h4,
  #wiki h5,
  #wiki h6 {
    text-align: left;
  }

  #contentSub, #contentSub2 {
  	font-size: 84%;
  	line-height: 1.2em;
  	margin: 0 0 1.4em 1em;
  	color: #7d7d7d;
  	width: auto;
  }

  span.subpages {
  	display: block;
  }

  /* Some space under the headers in the content area */
  #bodyContent h1, #bodyContent h2 {
  	margin-bottom: .6em;
  }
  #bodyContent h3, #bodyContent h4, #bodyContent h5 {
  	margin-bottom: .3em;
  }
  .firstHeading {
  	margin-bottom: .1em;
  }

  .wikilinks {
    text-align: center;
  }
  
  #wiki a, #wiki a:visited {
    text-decoration: none;
    color : blue;
  }
  
  #wiki #coordinates {
    position:absolute;
    z-index:1;
    top: auto;
    right: 0;
    left: 0;
    bottom: 0;
    text-align: center;
    border:none;
    background:none;
    margin:0.0em;
    padding:0.0em;
    line-height:1.5em;
    text-indent:0;
    font-size:85%;
    text-transform:none;
    white-space:nowrap;
  }
  
  /**
  * Maps
  */
  div#map {
    border  : medium ridge #152b40;
    overflow: hidden;
    width   : auto;
    height  : 400px;
    cursor  : crosshair;
  }

  div#townmap {
    border  : medium ridge #152b40;
    overflow: hidden;
    width   : auto;
    height  : 600px;
    cursor  : crosshair;
  }

  div#map.small {
    width : 280px;
    height: 210px;
  }

  div#map.small * {
    font-size: 7px;
  }
  
  /**
  * Image Edit Table
  */

  table#ImageEdit {
    text-align    : center;
  }

  table#ImageEdit td {
    vertical-align: middle;
  }

  table#ImageEdit td.img {
    text-align: center;
  }

  table#ImageEdit td img {
    width   : 10em;
    border  : 1px solid black;
    padding : 1px;
  }

  /**
  * Inventory.
  */
  div#inventory {
    width: 12em;
  }
  
  div#inventory table {
		margin: 0 auto;
  }

  div#inventory table th {
		white-space : nowrap;
		padding: 0;
  }

  div#inventory table tr.current {
    color           : black;
    background-color: yellow;
  }

  div#inventory table tr.adm {
    font-style: italic;
  }

  div#inventory a, div#inventory a:visited  {
    font-size   : smaller;
  }

  div#inventory table tr.current a, div#inventory table tr.current a:visited {
    color: black;
  }

  #favs .nvis, #favs .nvis:visited,
  div#inventory a.nvis, div#inventory a.nvis:visited {
    text-decoration : line-through;
  }

  /**
  * Pricing Options & Periods
  */
  
  #pricing {
    font-size: smaller;
  }
  
  #pricing h2 {
    font-size: 100%;
  }

  #pricing .dialog {
    margin: 1em auto;
    width : 95%;
    font-size: 90%;
  }

  #pricing fieldset {
    margin: 0 1em 1em;
    padding: 1em;
    border: 1px solid #4080bf;
  }
  
  #pricing form {
    margin: 0 auto;
  }
  
  #pricing fieldset legend {
    padding: 0 1ex;
    font-weight: bold;
    font-size: larger;
  }

  #pricing div.notes {
    float: right;
    margin-top: 0;
  }

  #pricing div.notes ul {
    margin-left: 0;
    padding-left: 0;
  }
  
  #pricing div.notes ul li {
    margin-bottom: 1ex;
  }

  table.pricing {
    width: 100%;
    border-collapse: collapse;
  }

  table.pricing a:hover {
    background-color: #4E4;
    color           : #000000;
  }

  table.pricing tr.tabs th {
    width: 25%;
    text-align: center;
    border-style: solid;
    border-color: black;
    border-width: 1px;
    font-weight: normal;
    background-color: #def;
  }

  table.pricing tr.tabs th.nosel {
    border-bottom-width: 2px;
  }

  table.pricing tr.tabs td.nosel {
    border-style: solid;
    border-color: black;
    border-width: 0 0 2px;
  }

  table.pricing tr.tabs th.sel {
    font-weight: bold;
    background-color: transparent;
    border-width: 2px 2px 0 2px;
    border-bottom-width: 0;
  }
  
  table.pricing td.content {
    border-style: solid;
    border-color: black;
    border-width: 0 2px 2px;
  }
  
  table.pricing table  {
    margin: 1em auto;
    width: 95%;
  }

  table.pricing table td {
    padding-left: 0;
    vertical-align: middle;
    text-align: left;
    white-space: nowrap;
  }
  
  table.pricing table td.help {
    font-size       : smaller;
    background-color: #ffc;
    border          : 1px solid black;
    padding         : 1ex;
    white-space     : normal;
  }

  table.pricing table td.thin {
    padding: 0 0 0 1ex;
  }
  
  table.pricing table tr.action td {
    padding: 1em;
  }

  table.pricing table {
    margin: 0 auto;
    width: 95%;
  }

  table.pricing th.section {
    font-size : larger;
    padding   : 1em 0;
  }

  table.pricing table table.prcday {
    width : 100%;
    margin: 0;
    border: 1px solid black;
  }

  table.pricing table table.prcday td {
    text-align: center;
    border    : none;
  }

  /** Period pricing calendar colours **/

  #pricing div.cal {
    font-size: 90%;
  }
  
  #pricing div.cal table.frm {
    margin: 1em auto;
  }

  div.cal div.scroll {
    height: 40em;
    overflow: auto;
  }

  #pricing div.cal {
    margin: 1em auto;
  }
  
  tr.wdays td.x { background-color: white; }
  
  tr.wdays td.pc0 {
    background-color: white;
    border: 1px solid #aaa;
  }
  
  div.cal td.pc1 { background-color: #c36; }
  div.cal td.pc2 { background-color: #36c; }
  div.cal td.pc3 { background-color: #6c3; }
  div.cal td.pc4 { background-color: #fc6; }
  div.cal td.pc5 { background-color: #c6f; }
  div.cal td.pc6 { background-color: #6fc; }
  div.cal td.pc7 { background-color: #f69; }
  div.cal td.pc8 { background-color: #69f; }
  div.cal td.pc9 { background-color: #9f6; }
  div.cal td.pc10 { background-color: #699; }
  div.cal td.pc11 { background-color: #996; }
  div.cal td.pc12 { background-color: #969; }
  div.cal td.pc13 { background-color: #ff8; }

  div.cal table.frm table.cal tr.prc td {
    color       : #00f;
    border-top  : 1px solid #cc6;
    font-size   : smaller;
    white-space : nowrap;
    text-align  : center;
  }

  div.cal table.frm table.cal tr.prc td.bl {
    border-left: 1px solid #cc6;
  }
  
  /*************************/

  *.invis {
      visibility  : hidden;
  }

  .cb {
    clear : both;
  }

  /** Navigator stuff **/
  
  div#nav {
    width: 11em;
  }

  div#nav .s {
    padding: 1ex 0;
  }

  div#nav ul {
		list-style-type	: none;
  }

  div#nav li {
		position    : relative;
		white-space : nowrap;
  }

  div#nav img {
    position: absolute;
    right   : 1.5ex;
    border  : none;
  }

  div#nav ul.root {
    background-color: #262626;
    margin      : 0 auto;
    padding     : 0;
    font-size   : 90%;
    font-weight : bold;
  }

  div#nav ul.root ul {
    background-color: #262626;
    padding     : 0;
    margin      : 0;
    font-weight : normal;
  }

  div#nav ul.root li {
		border          : 1px solid #888;

    margin      : 0 0;
    padding     : 2px 1ex 2px 1ex;
		z-index     : auto;
  }

  div#nav ul.root ul li {
    border      : none;
    padding     : 0 0 0 1em;
    margin      : 0;
  }

  div#nav ul.root ul ul {
    font-style: italic;
    font-size : 90%;
  }

  div#nav li a:hover {
    background-color: #4e4;
    color: #000;
  }

  div#nav a, div#nav a:visited {
		text-decoration : none;
  }

  div#nav li:hover {
		z-index : 1;
  }

  div#nav ul li.x {
    position    : relative;
    font-style  : italic;
    font-weight : bold;
  }

  div#nav li.x ul {
		display : none;
    position: absolute;
    left    : 50%;
		padding : 1ex;
		margin  : 0;
		font-size : larger;
    font-style: normal;
		z-index : 2;
  }

  div#nav li.x:hover ul {
		display : block;
  }

  /**
   * Invoices
   **/

  div#taxinv {
    width: 180mm;
    margin: 1em auto;
  }
  
  body.x div#taxinv {
    margin  : 0;
    padding : 0;
  }

  #taxinv table {
    width : 100%;
    margin-bottom: 1em;
  }

  #taxinv table caption {
    margin-bottom: 1em;
    font-weight: bold;
    font-size: 120%;
  }

  #taxinv table.items {
    border-top: 1px solid black;
    border-left: 1px solid black;
    border-collapse: separated;
    border-spacing: 0;
  }

  #taxinv table.items td, #taxinv table.items th {
    border-right: 1px solid black;
    border-bottom: 1px solid black;
    padding: 1ex;
  }

  #taxinv tr.t1 {
    font-weight: bold;
    font-size: 200%;
  }
  
  #taxinv tr.t2 {
    font-weight: bold;
    font-size: 120%;
  }

  #taxinv td.ctr { text-align: center; }

  #taxinv td.r { text-align: right; }

  #taxinv ul#payments li { margin-bottom: 1ex; }
  
  #taxinv ul#payments ul li { margin-bottom: 0; }

  /**
   * Hotpick
   **/

  .hotpick {
    width: 150px;
  }

  .hotpick h1 {
    font-size: 80%;
  }

  .hotpick .img {
    text-align  : center;
  }

  .hotpick img {
    width     : 128px;
    border    : thin inset;
    border-color: #888 #aaa #aaa #888;
    text-align: center;
  }
  
  .hotpick table {
    empty-cells: hide;
  }
  
  .hotpick .summary {
    background-color: white;
    color           : black;
    font-size       : 80%;
    font-style      : italic;
    padding         : 0.5ex;
    border          : 2px inset;
  }
  
  .hotpick .name {
    font-weight : bold;
    text-align  : center;
    font-size   : 90%;
  }

  /** Notes **/
  div.notes {
    margin-top: 1em;
  }
  
  div#debug {
    background-color: white;
    color           : black;
  }

  /**
   * Terms & conditions
   */

  div#terms div#box {
    margin: 0 auto;
    width:90%;
    padding-bottom:1em;
  }

  /**
   * Site stats
   */

  #sitestats {
    font-size : smaller;
    width     : 12em;
  }

  #sitestats table th {
    text-align: right;
  }

  #lslide, #rslide {
    position: relative;
    margin : 1ex auto;
  }
  
  #aetoc {
    font-size: smaller;
  }

  #aetoc .s {
    padding: 0;
  }
  
  #aetoc ul {
    list-style-type: none;
    padding-left: 1ex;
    font-style: italic;
    font-weight: bold;
    color: #222;
  }
  
  #aetoc ul li {
    margin-bottom: 0.5ex;
  }
  
  #aetoc ul li a, #aetoc ul li a:visited {
    color: #222;
  }
  
  #aetoc ul li img {
    float: right;
  }
  
  #googvL {
    margin: 1ex auto;
    width: 145px;
  }
  
  #googvL .s {
    width: 120px;
    margin: 0 auto;
    border: 1px inset;
  }

  #googvR {
    margin: 1ex auto;
    width: 185px;
  }

  #googvR .s {
    width: 160px;
    margin: 0 auto;
    border: 1px inset;
  }

  #googh .s {
    width: 728px;
    margin: 0 auto;
    border: 1px inset;
  }

  /**
   * misspellings
   */

  #misspellings .s {
    padding: 0.5em;
  }

  #misspellings .s h2 {
    font-size: 100%;
    margin-bottom: 0.5em;
  }

  #misspellings .s .typos {
    font-size: 70%;
    font-style: italic;
    color: #ccf;
  }

  /**
   * Sitemaps
   */
  #sitemap * {
    color: #444;
  }

  #sitemap h1 {
    color: #222;
    font-size: larger;
  }

  #sitemap table {
    margin: 0 auto;
    width : 90%;
  }

  #sitemap table td.buf {
    width: 15em;
  }

  #sitemap table td.left {
    text-align: left;
  }

  #sitemap table td.right {
    text-align: right;
  }

  #sitemap table td {
    vertical-align: top;
  }

  #sitemap a, #sitemap a:visited {
    color: #444;
    text-decoration: none;
  }
  
  #sitemap li.p {
    margin-top: 1ex;
  }
  
  #sitemap li.p a {
    text-decoration: underline;
  }
  
  #sitemap a.p { text-decoration: underline; }
  #sitemap a.l { text-decoration: underline; font-style: italic; }
  #sitemap a.r { text-decoration: underline; font-weight: bold; }

  #sitemap ul {
    list-style-type: none;
  }
  
  #sitemap ul.r {
    margin: 0.5ex 0 1em;
    padding-left: 1em;
  }

  #sitemap ul.l {
    margin: 0.25ex 0 0.5em;
    padding-left: 1em;
  }

  #sitemap h2 {
    margin: 1em auto 0.5em;
    font-size   : larger;
    font-weight : bold;
  }

  #sitemap h3 {
    margin: 0 auto 0.5em;
    font-style: italic;
  }

  #sitemap h4 {
    margin: 0 auto;
    font-weight : normal;
  }

  /**
   * Round dialogs.
   */
  
  .dialog {
    margin        : 0px auto;
    max-width     : 1600px;
    color         : #fff;
    margin-bottom : 1ex;
  }
  
  .dialog .hd .c,
  .dialog .ft .c {
   font-size: 1px; /* ensure minimum height */
   height   : 12px;
  }

  .dialog .ft .c {
   height:12px;
  }

  .dialog .hd {
   margin-right: 12px; /* space for right corner */
  }

  .dialog .hd .c {
   margin-right: -12px; /* pull right corner back over "empty" space (from above margin) */
  }

  .dialog .bd {
   margin-right: 12px;
  }

  .dialog .bd .c {
   margin-right: -12px;
  }

  .dialog .bd .x {
   margin : 0;
   padding: 0;
  }

  .dialog .bd .c .s {
   margin : 0px 8px 0px 4px;
   padding: 0;
  }

  .dialog .ft {
   margin-right: 12px;
  }

  .dialog .ft .c {
   margin-right: -12px;
  }
  
  .dialog h1 {
    font-size       : larger;
    font-style      : italic;
    margin          : 0 6px 0 2px;
    padding         : 0 0 2px 0;
    text-align      : center;
    position        : relative; /* IE workaround **/
  }
  
  .dialog p.eod {
    margin  : 0;
    padding : 0;
    clear   : both;
  }

  .dialog br.eod {
    margin    : 0;
    padding   : 0;
    font-size : 0;
  }

  .dialog .s.light {
    background-color: #eef;
    color           : black;
    border          : thin inset;
    padding         : 1ex;
  }

  /** Blue **/
  .dialog.blue .hd        { background:transparent url(/images/rc/blue/tl.gif) no-repeat 0px 0px; }
  .dialog.blue .hd .c     { background:transparent url(/images/rc/blue/tr.gif) no-repeat right 0px; }
  .dialog.blue .bd        { background:transparent url(/images/rc/blue/ml.gif) repeat-y 0px 0px; }
  .dialog.blue .bd .c     { background:transparent url(/images/rc/blue/mr.gif) repeat-y right 0px; }
  .dialog.blue .bd        { background-color: #4080bf; color: #ffffff; }
  .dialog.blue a, .dialog.blue a:visited { color: #ffffff; }
  .dialog.blue .ft        { background:transparent url(/images/rc/blue/bl.gif) no-repeat 0px 0px; }
  .dialog.blue .ft .c     { background:transparent url(/images/rc/blue/br.gif) no-repeat right 0px; }

  /** Light Blue **/
  .dialog.ltblue .hd        { background:transparent url(/images/rc/ltblue/tl.gif) no-repeat 0px 0px; }
  .dialog.ltblue .hd .c     { background:transparent url(/images/rc/ltblue/tr.gif) no-repeat right 0px; }
  .dialog.ltblue .bd        { background:transparent url(/images/rc/ltblue/ml.gif) repeat-y 0px 0px; }
  .dialog.ltblue .bd .c     { background:transparent url(/images/rc/ltblue/mr.gif) repeat-y right 0px; }
  .dialog.ltblue .bd        { background-color: #abd5ff; color: #000000; }
  .dialog.ltblue a, .dialog.ltblue a:visited { color: #000000; }
  .dialog.ltblue .ft        { background:transparent url(/images/rc/ltblue/bl.gif) no-repeat 0px 0px; }
  .dialog.ltblue .ft .c     { background:transparent url(/images/rc/ltblue/br.gif) no-repeat right 0px; }

  /** Aqua **/
  .dialog.aqua .hd        { background:transparent url(/images/rc/aqua/tl.gif) no-repeat 0px 0px; }
  .dialog.aqua .hd .c     { background:transparent url(/images/rc/aqua/tr.gif) no-repeat right 0px; }
  .dialog.aqua .bd        { background:transparent url(/images/rc/aqua/ml.gif) repeat-y 0px 0px; }
  .dialog.aqua .bd .c     { background:transparent url(/images/rc/aqua/mr.gif) repeat-y right 0px; }
  .dialog.aqua .bd        { background-color: #99ffff; color: #000000; }
  .dialog.aqua .bd .c .s a, .dialog.aqua .bd .c .s a:visited { color: #000000; }
  .dialog.aqua .ft        { background:transparent url(/images/rc/aqua/bl.gif) no-repeat 0px 0px; }
  .dialog.aqua .ft .c     { background:transparent url(/images/rc/aqua/br.gif) no-repeat right 0px; }

  /** Black **/
  .dialog.black .hd       { background:transparent url(/images/rc/black/tl.gif) no-repeat 0px 0px;  }
  .dialog.black .hd .c    { background:transparent url(/images/rc/black/tr.gif) no-repeat right 0px;  }
  .dialog.black .bd       { background:transparent url(/images/rc/black/ml.gif) repeat-y 0px 0px;  }
  .dialog.black .bd .c    { background:transparent url(/images/rc/black/mr.gif) repeat-y right 0px;  }
  .dialog.black .bd       { background-color: #262626; color: #ffffff; }
  .dialog.black .bd .c .s a, .dialog.black .bd .c .s a:visited { color: #ffffff; }
  .dialog.black .ft       { background:transparent url(/images/rc/black/bl.gif) no-repeat 0px 0px;  }
  .dialog.black .ft .c    { background:transparent url(/images/rc/black/br.gif) no-repeat right 0px;  }

  /** Pale Blue **/

  .dialog.paleblue .hd        { background:transparent url(/images/rc/paleblue/tl.gif) no-repeat 0px 0px; }
  .dialog.paleblue .hd .c     { background:transparent url(/images/rc/paleblue/tr.gif) no-repeat right 0px; }
  .dialog.paleblue .bd        { background:transparent url(/images/rc/paleblue/ml.gif) repeat-y 0px 0px; }
  .dialog.paleblue .bd .c     { background:transparent url(/images/rc/paleblue/mr.gif) repeat-y right 0px; }
  .dialog.paleblue .bd        { background-color: #D4EAFF; color: #353b40; }
  .dialog.paleblue .bd .c .s a, .dialog.paleblue .bd .c .s a:visited { color: black; }
  .dialog.paleblue .ft        { background:transparent url(/images/rc/paleblue/bl.gif) no-repeat 0px 0px; }
  .dialog.paleblue .ft .c     { background:transparent url(/images/rc/paleblue/br.gif) no-repeat right 0px; }

  /** Yellow **/

  .dialog.yellow .hd        { background:transparent url(/images/rc/yellow/tl.gif) no-repeat 0px 0px;  }
  .dialog.yellow .hd .c     { background:transparent url(/images/rc/yellow/tr.gif) no-repeat right 0px;  }
  .dialog.yellow .bd        { background:transparent url(/images/rc/yellow/ml.gif) repeat-y 0px 0px;  }
  .dialog.yellow .bd .c     { background:transparent url(/images/rc/yellow/mr.gif) repeat-y right 0px;  }
  .dialog.yellow .bd        { background-color: #e0e175; color: #000000; }
  .dialog.yellow .bd .c .s a, .dialog.yellow .bd .c .s a:visited { color: black; }
  .dialog.yellow .ft        { background:transparent url(/images/rc/yellow/bl.gif) no-repeat 0px 0px;  }
  .dialog.yellow .ft .c     { background:transparent url(/images/rc/yellow/br.gif) no-repeat right 0px;  }

  /** Green **/

  .dialog.green .hd       { background:transparent url(/images/rc/green/tl.gif) no-repeat 0px 0px;  }
  .dialog.green .hd .c    { background:transparent url(/images/rc/green/tr.gif) no-repeat right 0px;  }
  .dialog.green .bd       { background:transparent url(/images/rc/green/ml.gif) repeat-y 0px 0px;  }
  .dialog.green .bd .c    { background:transparent url(/images/rc/green/mr.gif) repeat-y right 0px;  }
  .dialog.green .bd       { background-color: #4e4; color: #000000; }
  .dialog.green .bd .c .s a, .dialog.green .bd .c .s a:visited { color: white; }
  .dialog.green .ft       { background:transparent url(/images/rc/green/bl.gif) no-repeat 0px 0px;  }
  .dialog.green .ft .c    { background:transparent url(/images/rc/green/br.gif) no-repeat right 0px;  }

  .dialog.green .bd .c .s.light,
  .dialog.green .bd .c .s.light a,
  .dialog.green .bd .c .s.light a:visited { color: black; }
  
  /** Red **/

  .dialog.red .hd         { background:transparent url(/images/rc/red/tl.gif) no-repeat 0px 0px; }
  .dialog.red .hd .c      { background:transparent url(/images/rc/red/tr.gif) no-repeat right 0px; }
  .dialog.red .bd         { background:transparent url(/images/rc/red/ml.gif) repeat-y 0px 0px; }
  .dialog.red .bd .c      { background:transparent url(/images/rc/red/mr.gif) repeat-y right 0px; }
  .dialog.red .bd         { background-color: #ff4d4d; color: #000000; }
  .dialog.red .bd .c .s a, .dialog.red .bd .c .s a:visited { color: black; }
  .dialog.red .ft         { background:transparent url(/images/rc/red/bl.gif) no-repeat 0px 0px; }
  .dialog.red .ft .c      { background:transparent url(/images/rc/red/br.gif) no-repeat right 0px; }

  .dialog .s.light a, .dialog .s.light a:visited {
    color: black;
  }
