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

@namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */

/* blocks */

html, div, map, dt, :-moz-anonymous-block, :cell-content, :fieldset-content {
  display: block;
}

body {
  display: block;
  margin: 8px;
}

p, dl, multicol {
  display: block;
  margin: 1em 0;
}

dd {
  display: block;
  margin-left: 40px;
}

blockquote {
  display: block;
  margin: 1em 40px;
}

address {
  display: block;
  font-style: italic;
}

center {
  display: block;
  text-align: -moz-center;
}

blockquote[type=cite] {
  display: block;
  margin: 1em 0px;
  padding-left: 1em;
  border-left: solid;
  border-color: blue;
  border-width: thin;
}

h1 {
  display: block;
  font-size: 2em;
  font-weight: bold;
  margin: .67em 0;
}

h2 {
  display: block;
  font-size: 1.5em;
  font-weight: bold;
  margin: .83em 0;
}

h3 {
  display: block;
  font-size: 1.17em;
  font-weight: bold;
  margin: 1em 0;
}

h4 {
  display: block;
  font-weight: bold;
  margin: 1.33em 0;
}

h5 {
  display: block;
  font-size: 0.83em;
  font-weight: bold;
  margin: 1.67em 0;
}

h6 {
  display: block;
  font-size: 0.67em;
  font-weight: bold;
  margin: 2.33em 0;
}

listing {
  display: block;
  font-family: -moz-fixed;
  font-size: medium;
  white-space: pre;
  margin: 1em 0;
}

plaintext, xmp, pre {
  display: block;
  font-family: -moz-fixed;
  white-space: pre;
  margin: 1em 0;
}


/* tables */

table, :table {
  display: table;
  border-spacing: 2px; 
  border-collapse: separate;
  margin-top: 0;
  margin-bottom: 0;
  -moz-box-sizing: border-box;
}

:table-outer {
  display: table;
  margin: 0;
  border: none;
  padding: 0;
  width: 0;
  height: 0;
  float: inherit;
  clear: inherit;
  position: inherit;
  top: inherit;
  right: inherit;
  bottom: inherit;
  left: inherit;
  z-index: inherit;
  clip: inherit;
  -moz-opacity: inherit;
}
   
caption {
  display: table-caption;
  text-align: center;
  -moz-box-sizing: border-box;
}

tr {
  display: table-row;
  vertical-align: inherit;
}

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

col, :table-column {
  display: table-column;
}

colgroup, :table-column-group {
  display: table-column-group;
}

tbody {
  display: table-row-group;
  vertical-align: middle;
}

thead {
  display: table-header-group;
  vertical-align: middle;
}

tfoot {
  display: table-footer-group;
  vertical-align: middle;
}

:table-row-group {
  display: table-row-group;
}

td { /* must never set padding on TD */
  display: table-cell;
  vertical-align: inherit;
  text-align: inherit; 
}

th { /* must never set padding on TH */
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
}

:table-cell {
  display: table-cell;
}


/* inlines */

q:before {
  content: open-quote;
}

q:after {
  content: close-quote;
}

b, strong {
  font-weight: bolder;
}

i, cite, em, var, dfn {
  font-style: italic;
}

tt, code, kbd, samp {
  font-family: -moz-fixed;
}

u, ins {
  text-decoration: underline;
}

s, strike, del {
  text-decoration: line-through;
}

blink {
  text-decoration: blink;
}

big {
  font-size: larger;
}

small {
  font-size: smaller;
}

sub {
  vertical-align: sub;
  font-size: smaller;
  line-height: normal;
}

sup {
  vertical-align: super;
  font-size: smaller;
  line-height: normal;
}

nobr {
  white-space: nowrap;
}


/* lists */

:-moz-list-bullet {
  display: inline;
  vertical-align: baseline;
  margin-right: 8px;
}

ul, menu, dir {
  display: block;
  list-style-type: disc;
  margin: 1em 0;
  padding-left: 40px;
  counter-reset: -html-counter 0;
}

ol {
  display: block;
  list-style-type: decimal;
  margin: 1em 0;
  padding-left: 40px;
  counter-reset: -html-counter 0;
}

li {
  display: list-item;
  -moz-float-edge: margin-box;
}

/* nested lists have no top/bottom margins */
ul ul,   ul ol,   ul dir,   ul menu,   ul dl
ol ul,   ol ol,   ol dir,   ol menu,   ol dl
dir ul,  dir ol,  dir dir,  dir menu,  dir dl
menu ul, menu ol, menu dir, menu menu, menu dl
dl ul,   dl ol,   dl dir,   dl menu,   dl dl {
  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;
}


/* leafs */

hr {
  display: block;
  border: 1px -moz-bg-inset;
  margin: 0 auto 0 auto;
}

:link img, :visited img, img[usemap], object[usemap] {
  border: 2px solid;
  cursor: pointer;
}

img[usemap], object[usemap] {
  color: blue;
  -moz-user-focus: normal;
}

frameset {
  display: block ! important;
  overflow: hidden;
}

frame {
  background-color: transparent ! important; /* (b=49779) */
}

iframe {
  background-color: transparent ! important; /* (b=49779) */
  border: 2px inset;
}

form {
  display: block;
  margin: 0 0 1em 0;
}


/* miscellaneous form elements */

label {
  /* our <label> support is badly broken. (b=47149) */
  vertical-align: bottom;
  padding-left: 3px;
  padding-right: 3px;
}

legend {
  padding-left: 2px;
  padding-right: 2px;
  border: none;
}

fieldset {
  display: block;
  border: 2px solid black;
  padding: 4px 4px 4px 4px;
  margin-left: 2px;
  margin-right: 2px;
}


/* focusable content */

/* links */
:link {
  cursor: pointer;
  -moz-user-focus: normal;
}

:visited {
  cursor: pointer;
  -moz-user-focus: normal;
}

:link:active, :visited:active {
  color: red;
}

:link:focus, :visited:focus {
  -moz-outline: 1px dotted WindowText;
}

/* default inputs, text inputs, and selects */
input {
  background-color: -moz-field;
  border: 2px inset ThreeDFace;
  color: WindowText;
  cursor: text;
  font: field;
  text-align: start;
  vertical-align: bottom;
  -moz-box-sizing: border-box;
  -moz-user-focus: normal;
  -moz-binding: url("chrome://global/content/platformHTMLBindings.xml#inputFields");
}

textarea {
  background-color: -moz-field;
  border: 2px inset ThreeDFace;
  color: WindowText;
  font: field;
  margin: 1px 0 1px 0;
  text-align: start;
  vertical-align: bottom;
  -moz-box-sizing: border-box;
  -moz-user-focus: normal;
  -moz-binding: url("chrome://global/content/platformHTMLBindings.xml#textAreas");
}

:-moz-singleline-textcontrol-frame {
  overflow: hidden;
  white-space: nowrap;
  background-color: inherit;
  text-align: inherit;
}

select {
  font: list;
  background-color: -moz-field;
  border: 2px inset ThreeDFace;
  margin: 1px 0 1px 0;
  vertical-align: bottom;
  color: WindowText;
  white-space: nowrap;
  text-align: start; 
  cursor: default;
  -moz-user-select: none;
  -moz-user-focus: normal;
  -moz-box-sizing: border-box;
}

select > input[type="button"] {
  position: static ! important;
  white-space: nowrap;
  background-image: url("arrow.gif");
  background-repeat: no-repeat;
  background-position: center;
  width: 12px;
  height: 12px;
  -moz-user-focus: none;
}

select > input[type="button"]:active {
  background-image: url("arrowd.gif");
}

select[size], :-moz-select-scrolled-content {
  overflow: -moz-scrollbars-vertical;
}

select:-moz-dummy-option { 
  visibility: hidden; 
  content: "XX"; /* demo 8, edge case test 1 */
}

:-moz-display-comboboxcontrol-frame {
  overflow: hidden;
  white-space: nowrap;
  background-color: inherit;
  color: inherit;
  text-align: inherit;
  padding: 1px 0 1px 4px;
  -moz-user-select: none;
}

option {
  min-height: 1em;
  display: block;
  -moz-user-select: none;
  -moz-user-focus: none;
}

select[size] > option {
  padding: 0 5px 0 5px;
}

select > option, select[size="1"] > option {
  padding: 0 5px 0 3px;
}

option[-moz-option-selected] {
  color: HighlightText ! important;
  background-color: Highlight ! important;
}

optgroup {
  display: block;
  font: list;
  font-style: italic;
  font-weight: bold;
}

optgroup > option {
  padding-left: 20px;
  font-style: normal;
  font-weight: normal;
}

optgroup:before {
  display: block;
  content: attr(label);
}

:-moz-dropdown-list {
  background-color: inherit;
  border: 1px outset ThreeDFace; 
  border-top-style: none;
  z-index: 2147483647;
  -moz-user-select: none;
} 

input[disabled],
textarea[disabled],
option[disabled],
select[disabled],
select[disabled] > :-moz-display-comboboxcontrol-frame {
  color: GrayText;
  cursor: default;
}

/* hidden inputs */
input[type="hidden"] {
  border: none;
  visibility: hidden;
  -moz-binding: none;
}

/* image buttons */
input[type="image"] {
  border: none;
  vertical-align: baseline;
  background-color: transparent;
  cursor: pointer;
  font-family: sans-serif;
  font-size: small;
  -moz-binding: none;
}

input[type="image"][disabled] {
  cursor: default;
}

/* file selector */
input[type="file"] {
  white-space: nowrap;
  border: none;
  cursor: default;
  -moz-binding: none;
}

/* button part of file selector */
input[type="file"] > input[type="button"] {
  height: inherit;
}

/* radio buttons */
input[type="radio"] {
  border: 2px inset ThreeDFace;
  background-color: -moz-field;
  color: WindowText;
  width: 12px;
  height: 12px;
  cursor: default;
  vertical-align: baseline;
  -moz-border-radius: 100%;
  -moz-binding: none;
}

/* check boxes */
input[type="checkbox"] {
  border: 2px inset ThreeDFace;
  background-color: -moz-field;
  color: WindowText;
  width: 13px;
  height: 13px;
  cursor: default;
  vertical-align: baseline;
  -moz-binding: none;
}

/* common features of radio buttons and check boxes */
input[type="radio"][disabled],
input[type="radio"][disabled]:active,
input[type="radio"][disabled]:hover,
input[type="radio"][disabled]:hover:active,
input[type="checkbox"][disabled],
input[type="checkbox"][disabled]:active,
input[type="checkbox"][disabled]:hover,
input[type="checkbox"][disabled]:hover:active {
  padding: 1px;
  border: 1px inset ThreeDShadow;
  background-color: GrayText;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
  border-style: groove;
}

input[type="checkbox"]:hover:active,
input[type="radio"]:hover:active {
  border-style: inset;
  background-color: ThreeDHighlight;
}

:-moz-radio {
  background-color: WindowText;
  width: 4px;
  height: 4px;
  left: 6px;
  top: 6px;
  -moz-border-radius: 3px;
}

/* buttons */
button, 
input[type="reset"],
input[type="button"],
input[type="submit"] { 
  border: 2px outset ButtonFace;
  background-color: ButtonFace;
  color: ButtonText; 
  padding: 1px 1px 1px 1px;
  font: button;
  cursor: default;
  white-space: pre;
  -moz-box-sizing: border-box;
  -moz-user-select: none;
  -moz-binding: none;
}

:button-content {
  display: block;
  text-align: center;
}

button:active:hover,
input[type="reset"]:active:hover,
input[type="button"]:active:hover,
input[type="submit"]:active:hover {
  border-style: inset;
  padding: 2px 0 0 2px;
}

button:-moz-focus-inner,
input[type="reset"]:-moz-focus-inner,
input[type="button"]:-moz-focus-inner,
input[type="submit"]:-moz-focus-inner {
  padding: 1px 2px 1px 2px;
  border: 1px dotted transparent;
}

button:focus:-moz-focus-inner,
input[type="reset"]:focus:-moz-focus-inner,
input[type="button"]:focus:-moz-focus-inner,
input[type="submit"]:focus:-moz-focus-inner {
  border-color: ButtonText;
}

button[disabled]:active, button[disabled],
input[type="reset"][disabled]:active,
input[type="reset"][disabled],
input[type="button"][disabled]:active,
input[type="button"][disabled],
input[type="file"][disabled] > input[type="button"],
input[type="file"][disabled] > input[type="button"]:active,
select[disabled] > input[type="button"],
select[disabled] > input[type="button"]:active,
input[type="submit"][disabled]:active,
input[type="submit"][disabled] {
  border: 1px outset ButtonShadow;
  padding: 1px 1px 1px 1px;
  color: GrayText;
}


/* hidden elements */
area, base, basefont, head, meta, script, style, title, noembed,
noscript, noframes, param, :-moz-comment, :-moz-pi {
  display: none;
}


/* magic */

:viewport, :viewport-scroll, :canvas {
  display: block;
  background-color: inherit;
}

:scrolled-content { 
  /* e.g., text inputs, select boxes */
  background: inherit;
  padding: inherit;
  display: inherit;
}

:wrapped-frame {
  display: inherit;
}

:placeholder-frame {
  display: inline;
  width: 0;
  height: 0;
}

:-moz-page, :-moz-page-sequence {
  display: block;
  background: transparent;
}

:-moz-anonymous-positioned-block {
  display: block;
  position: relative;
  top: inherit; 
  left: inherit;
  bottom: inherit;
  right: inherit;
  z-index: inherit;
  clip: inherit;
  -moz-opacity: inherit;
}
