/*
 * The contents of this file are subject to the Netscape Public License
 * Version 1.0 (the "NPL"); you may not use this file except in
 * compliance with the NPL.  You may obtain a copy of the NPL at
 * http://www.mozilla.org/NPL/
 *
 * Software distributed under the NPL is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
 * for the specific language governing rights and limitations under the
 * NPL.
 *
 * The Initial Developer of this code under the NPL is Netscape
 * Communications Corporation.  Portions created by Netscape are
 * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
 * Reserved.
 */

HTML {
  background: inherit;
  background-image: none;
  display: block;
}

BODY {
  background: inherit;
  display: block;
  line-height: normal;

//XXX Note: see the code in nsHTMLBodyElement that hacks away at the padding
//XXX when body margin attributes are used
//XXX not yet...  margin: 8px;
  padding: 8px;

  overflow: auto;
}

FRAMESET {
  overflow: hidden;
}

// Blocks

P {
  display: block;
  margin-bottom: auto;
  margin-top: auto;
}
ADDRESS {
  display: block;
  font-style: italic;
  margin-bottom: 0;
  margin-top: 0;
}
BLOCKQUOTE {
  display: block;
  margin-left: 40px;
  margin-right: 40px;
  margin-top: auto;
  margin-bottom: auto;
}
CENTER {
  display: block;
  text-align: center;
  margin-bottom: 0;
  margin-top: 0;
}
DIV {
  display: block;
  margin-bottom: 0;
  margin-top: 0;
}
H1 {
  display: block;
  font-size: xx-large;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
H2 {
  display: block;
  font-size: x-large;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
H3 {
  display: block;
  font-size: large;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
H4 {
  display: block;
  font-size: medium;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
H5 {
  display: block;
  font-size: small;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
H6 {
  display: block;
  font-size: x-small;
  font-weight: bold;
  margin-bottom: auto;
  margin-top: auto;
}
LAYER {
  display: block;
  position: absolute;
}
LISTING {
  display: block;
  font-family: monospace;
  font-size: medium;
  white-space: pre;
  margin-bottom: auto;
  margin-top: auto;
}
PLAINTEXT, XMP, PRE {
  display: block;
  font-family: monospace;
  white-space: pre;
  margin-bottom: auto;
  margin-top: auto;
}
MULTICOL {
  display: block;
  margin-bottom: auto;
  margin-top: auto;
}

// Tables

TABLE {
  display: table;
//  border-style: outset;
  border-color: #C0C0C0;
  cell-spacing: 2px;
  cell-padding: 2px;
  margin-top: 0;
  margin-bottom: 0;
  background: transparent;
}
TD, TH {
  vertical-align: inherit;
  background: inherit;
  text-align: left;
//  border-style: inset;
  border-color: #C0C0C0;
  display: table-cell;
}
TH {
  font-weight: bold;
  text-align: center;
}
CAPTION {
  text-align: center;
  display: table-caption;
}
TR {
  display: table-row;
  vertical-align: inherit;
  background: inherit;
}
TBODY {
  display: table-row-group;
  vertical-align: middle;
  background: inherit;
}
THEAD {
  display: table-header-group;
  vertical-align: middle;
  background: inherit;
}
TFOOT {
  display: table-footer-group;
  vertical-align: middle;
  background: inherit;
}
COL {
  display: table-column;
}
COLGROUP {
  display: table-column-group;
}

// Spans

A:link {
  display: inline;
  color: blue;
  text-decoration: underline;
  cursor: pointer;
}
A:visited {
  display: inline;
  color: purple;
  text-decoration: underline;
  cursor: pointer;
}
A:active {
  display: inline;
  color: lime;
  text-decoration: underline;
  cursor: pointer;
}
A:out-of-date {
  display: inline;
  color: red;
  text-decoration: underline;
  cursor: pointer;
}
A:link IMG {
  display: inline;
  border: 2px solid blue;
  font-family: sans-serif;
  font-size: 8.5pt;
  text-decoration: none;
}
A:visited IMG {
  display: inline;
  border: 2px solid purple;
  font-family: sans-serif;
  font-size: 8.5pt;
  text-decoration: none;
}
A:active IMG {
  display: inline;
  border: 2px solid lime;
  font-family: sans-serif;
  font-size: 8.5pt;
  text-decoration: none;
}
A:out-of-date IMG {
  display: inline;
  border: 2px solid red;
  font-family: sans-serif;
  font-size: 8.5pt;
  text-decoration: none;
}
B, STRONG {
  display: inline;
  font-weight: bolder;
}
I, CITE, EM, VAR {
  display: inline;
  font-style: italic;
}
TT, CODE, KBD, SAMP {
  display: inline;
  font-family: monospace;
}
U {
  display: inline;
  text-decoration: underline;
}
S, STRIKE {
  display: inline;
  text-decoration: line-through;
}
BLINK {
  display: inline;
  text-decoration: blink;
}
BIG {
  display: inline;
  font-size: larger;
}
SMALL {
  display: inline;
  font-size: smaller;
}
ABBR, ACRONYM, DEL, DFN, INS, Q, SPAN {
  display: inline;
}
INS { text-decoration: underline; }
DEL { text-decoration: line-through; }
DFN { font-style: italic; }
SUB {
  display: inline;
  vertical-align: sub;
  font-size: smaller;
}
SUP {
  display: inline;
  vertical-align: super;
  font-size: smaller;
}
ILAYER {
  position: absolute;
  display: inline;
}
NOBR {
  display: inline;
  white-space: nowrap;
}
LEGEND {
  display: inline;
	padding-left: 2px;
	padding-right: 2px;
  border: 2px solid black;
}
FIELDSET {
  display: block;
  border: 2px solid black;
	padding: 4px;
	margin-left: 2px;
	margin-right: 2px;
}

// Lists

:BULLET {
  display: inline;
  margin-right: 8px;
}

UL, MENU, DIR {
  display: block;
  margin-right: 0;
  margin-bottom: auto;
  margin-top: auto;
  list-style-type: disc;
  margin-left: 40px;
}

OL {
  display: block;
  margin-right: 0;
  margin-bottom: auto;
  margin-top: auto;
  list-style-type: decimal;
  margin-left: 40px;
}

LI {
  display: list-item;
  list-style-position: inside;
}

UL LI, OL LI, MENU LI, DIR LI {
  list-style-position: outside;
}

// Nested lists have no top/bottom margins
UL UL,   UL OL,   UL MENU,   UL DIR,
MENU UL, MENU OL, MENU MENU, MENU DIR,
DIR UL,  DIR OL,  DIR MENU,  DIR DIR,
OL UL,   OL OL,   OL MENU,   OL DIR
{
  margin-top: 0;
  margin-bottom: 0;
}

// 2 deep unordered lists use a circle
OL UL,   UL UL,   MENU UL,   DIR UL,
OL MENU, UL MENU, MENU MENU, DIR MENU,
OL DIR,  UL DIR,  MENU DIR,  DIR DIR
{
  list-style-type: circle;
}

// 3 deep (or more) unordered lists use a square
OL OL UL,   OL UL UL,   OL MENU UL,   OL DIR UL,
OL OL MENU, OL UL MENU, OL MENU MENU, OL DIR MENU,
OL OL DIR,  OL UL DIR,  OL MENU DIR,  OL DIR DIR,

UL OL UL,   UL UL UL,   UL MENU UL,   UL DIR UL,
UL OL MENU, UL UL MENU, UL MENU MENU, UL DIR MENU,
UL OL DIR,  UL UL DIR,  UL MENU DIR,  UL DIR DIR,

MENU OL UL,   MENU UL UL,   MENU MENU UL,   MENU DIR UL,
MENU OL MENU, MENU UL MENU, MENU MENU MENU, MENU DIR MENU,
MENU OL DIR,  MENU UL DIR,  MENU MENU DIR,  MENU DIR DIR,

DIR OL UL,   DIR UL UL,   DIR MENU UL,   DIR DIR UL,
DIR OL MENU, DIR UL MENU, DIR MENU MENU, DIR DIR MENU,
DIR OL DIR,  DIR UL DIR,  DIR MENU DIR,  DIR DIR DIR
{
  list-style-type: square;
}

DL {
  display: block;
  margin-bottom: auto;
  margin-top: auto;
}
DT {
  display: block;
}
DD {
  display: block;
  margin-left: 40px;
}

// Leafs

EMBED {
  display: inline;
}
HR {
  display: block;
  margin-top: 0;
  margin-bottom: 0;
  text-align: center;
}
BR {
  display: inline;
  color: cyan;
}
IMG {
  display: inline;
  font-family: sans-serif;
  font-size: 8.5pt;
}
SPACER {
  display: inline;
}
WBR {
  display: inline;
}
IFRAME {
  display: inline;
  border: 2px solid black;
}
INPUT {
  vertical-align: bottom;
}
LABEL {
  display: inline;
  vertical-align: bottom;
  background-color: white; 
	padding-left: 3px
	padding-right: 3px
}
BUTTON {
  display: inline;
  vertical-align: bottom;
  background-color: white; 
  border: 3px outset gray;
  padding: 3px;
  cursor: default;
}
SELECT {
  vertical-align: bottom;
}
OPTION {
}
TEXTAREA {
  vertical-align: bottom;
}

// Misc

APPLET {
  display: inline;
}
AREA {
  display: none;
}
HEAD {
  display: none;
}
MAP {
  display: none;
}
META {
  display: none;
}
OBJECT {
  display: inline;
}
SCRIPT {
  display: none;
}
STYLE {
  display: none;
}
TITLE {
  display: none;
}
NOEMBED {
  display: none;
}
NOSCRIPT {
  display: none;
}
NOFRAMES {
  display: none;
}

// Pseudo-element style

:SCROLLED-CONTENT {
  background: inherit;
  padding: inherit;
  display: inherit;
}

:WRAPPED-FRAME {
  display: inherit;
}

:XML-ROOT {
  background-color: inherit;
}

:TABLE {
  display: table;
  border-style: inherit;
  border-color: inherit;
  cell-spacing: inherit;
  cell-padding: inherit;
  margin-top: inherit;
  margin-bottom: inherit;
  background: inherit;
}

:TABLE-COLUMN {
	display: table-column;
}

:TABLE-COLUMN-GROUP {
	display: table-column-group;
}

:TABLE-ROW {
	display: table-row;
}

:TABLE-ROW-GROUP {
	display: table-row-group;
}
