/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


/* blocks */
article,
aside,
div,
dt,
figcaption,
footer,
form,
header,
hgroup,
html,
nav,
section {
  display: block;
}

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

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

dd {
  display: block;
}

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

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

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

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

span[_moz_quote=true] {
  color: blue;
}

pre[_moz_quote=true] {
  color: blue;
}

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-size: 1.00em;
  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: monospace;
  font-size: medium;
  white-space: pre;
  margin: 1em 0;
}

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

/* tables */

table {
  display: table;
  border-spacing: 0px;
  border-collapse: separate;
  margin-top: 0;
  margin-bottom: 0;
  text-indent: 0;
}

table[align="left"] {
  float: left;
}

table[align="right"] {
  float: right;
/*  text-align: start;*/
}


/* border collapse rules */

  /* Set hidden if we have 'frame' or 'rules' attribute.
     Set it on all sides when we do so there's more consistency
     in what authors should expect */

  /* Put this first so 'border' and 'frame' rules can override it. */
table[rules] { 
  border-width: thin;
  border-style: hidden;
}
 

/* only specified rules override 'border' settings  
  (increased specificity to achieve this) */
table[rules]:not([rules=""])> tr > td,
table[rules]:not([rules=""])> * > tr > td,
table[rules]:not([rules=""])> tr > th,
table[rules]:not([rules=""])> * > tr > th,
table[rules]:not([rules=""])> td,
table[rules]:not([rules=""])> th
{
  border-width: thin;
  border-style: none;
}


table[rules][rules="none"]  > tr > td,
table[rules][rules="none"] > * > tr > td,
table[rules][rules="none"] > tr > th,
table[rules][rules="none"] > * > tr > th,
table[rules][rules="none"] > td,
table[rules][rules="none"] > th
{
  border-width: thin;
  border-style: none;
}

table[rules][rules="all"] > tr > td,
table[rules][rules="all"] > * > tr > td,
table[rules][rules="all"] > tr > th,
table[rules][rules="all"] > * > tr > th,
table[rules][rules="all"] > td,
table[rules][rules="all"] > th 
{
  border-width: thin;
  border-style: solid;
}

table[rules][rules="rows"] > tr,
table[rules][rules="rows"] > * > tr {
  border-top-width: thin;
  border-bottom-width: thin;
  border-top-style: solid;
  border-bottom-style: solid;
}


table[rules][rules="cols"] > tr > td,
table[rules][rules="cols"] > * > tr > td,
table[rules][rules="cols"] > tr > th,
table[rules][rules="cols"] > * > tr > th {
  border-left-width: thin;
  border-right-width: thin;
  border-left-style: solid;
  border-right-style: solid;
}

table[rules][rules="groups"] > colgroup {
  border-left-width: thin;
  border-right-width: thin;
  border-left-style: solid;
  border-right-style: solid;
}
table[rules][rules="groups"] > tfoot,
table[rules][rules="groups"] > thead,
table[rules][rules="groups"] > tbody {
  border-top-width: thin;
  border-bottom-width: thin;
  border-top-style: solid;
  border-bottom-style: solid;
}
  
  
/* caption inherits from table not table-outer */  
caption {
  display: table-caption;
  text-align: center;
}

table[align="center"] > caption {
  margin-left: auto;
  margin-right: auto;
}

table[align="center"] > caption[align="left"] {
  margin-right: 0;
}

table[align="center"] > caption[align="right"] {
  margin-left: 0;
}

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

col {
  display: table-column;
}

colgroup {
  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;
}

/* for XHTML tables without tbody */
table > tr {
  vertical-align: middle;
}

td { 
  display: table-cell;
  vertical-align: inherit;
  text-align: inherit; 
  padding: 1px;
}

th {
  display: table-cell;
  vertical-align: inherit;
  font-weight: bold;
  padding: 1px;
}

table[bordercolor] > tbody,
table[bordercolor] > thead,
table[bordercolor] > tfoot,
table[bordercolor] > col,
table[bordercolor] > colgroup,
table[bordercolor] > tr,
table[bordercolor] > * > tr,
table[bordercolor]  > tr > td,
table[bordercolor] > * > tr > td,
table[bordercolor]  > tr > th,
table[bordercolor] > * > tr > th {
  border-color: inherit;
}

/* 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: monospace;
}

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;
}

mark {
  background: yellow;
  color: black;
}

/* titles */
abbr[title], acronym[title] {
  border-bottom: dotted 1px;
}

/* lists */

ul, menu, dir {
  display: block;
  list-style-type: disc;
  margin: 0;
  padding-left: 0px;
}

menu[type="context"] {
  display: none !important;
}

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

li {
  display: list-item;
}

/* 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, ul ul, menu ul, dir ul,
ul ol ul, ul ul, menu ul, dir ul,
menu ol ul, ul ul, menu ul, dir ul,
dir ol ul, ul ul, menu ul, dir ul,
ol ol ul, ul ul, menu ul, dir menu,
ul ol ul, ul ul, menu ul, dir menu,
menu ol ul, ul ul, menu ul, dir menu,
dir ol ul, ul ul, menu ul, dir menu,
ol ol ul, ul ul, menu ul, dir dir,
ul ol ul, ul ul, menu ul, dir dir,
menu ol ul, ul ul, menu ul, dir dir,
dir ol ul, ul ul, menu ul, dir dir {
  list-style-type: square;
}


/* leafs */

/* <hr> noshade and color attributes are handled completely by
 * the nsHTMLHRElement attribute mapping code
 */
hr {
  display: block;
  height: 2px;
  border: 1px inset;
  margin: 0.5em auto 0.5em auto;
  color: gray;
}

hr[size="1"] {
  border-style: solid none none none;
}


img[usemap], object[usemap] {
  color: blue;
}

frame {
  border: none ! important;
}

/*iframe {
  border: 2px inset;
}*/

noframes {
  display: none;
}

spacer {
  position: static ! important;
  float: none ! important;
}

/* hidden elements */
base, basefont, datalist, head, meta, script, style, title,
noembed, param {
   display: none;
}

area {
  /* Don't give it frames other than its imageframe */
  display: none ! important;
}


/* emulation of non-standard HTML <marquee> tag */
marquee {
  display: inline-block;
  vertical-align: text-bottom;
/*  text-align: start;*/
}

marquee[direction="up"], marquee[direction="down"] {
  height: 200px;
}

