/* 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/. */ @namespace url(http://www.w3.org/1999/xhtml); /* set default namespace to HTML */ @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* bidi */ [dir] { unicode-bidi: isolate; } [dir="rtl"] { direction: rtl; } [dir="ltr"] { direction: ltr; } bdi:dir(ltr), [dir="auto"]:dir(ltr) { direction: ltr; } bdi:dir(rtl), [dir="auto"]:dir(rtl) { direction: rtl; } /* To ensure http://www.w3.org/TR/REC-html40/struct/dirlang.html#style-bidi: * * "When a block element that does not have a dir attribute is transformed to * the style of an inline element by a style sheet, the resulting presentation * should be equivalent, in terms of bidirectional formatting, to the * formatting obtained by explicitly adding a dir attribute (assigned the * inherited value) to the transformed element." * * and the rules in http://dev.w3.org/html5/spec/rendering.html#rendering */ address, article, aside, blockquote, body, caption, center, col, colgroup, dd, dir, div, dl, dt, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, hr, html, legend, li, listing, main, menu, nav, noframes, ol, p, plaintext, pre, section, summary, table, tbody, td, tfoot, th, thead, tr, ul, xmp { unicode-bidi: isolate; } bdi, output { unicode-bidi: isolate; } bdo, bdo[dir] { unicode-bidi: isolate-override; } textarea[dir="auto"], pre[dir="auto"] { unicode-bidi: plaintext; } /* blocks */ article, aside, details, div, dt, figcaption, footer, form, header, hgroup, html, main, nav, section, summary { display: block; } body { display: block; margin: 8px; } p, dl, multicol { display: block; margin-block-start: 1em; margin-block-end: 1em; } dd { display: block; margin-inline-start: 40px; } blockquote, figure { display: block; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 40px; margin-inline-end: 40px; } address { display: block; font-style: italic; } center { display: block; text-align: -moz-center; } blockquote[type=cite] { display: block; margin-block-start: 1em; margin-block-end: 1em; margin-inline-start: 0; margin-inline-end: 0; padding-inline-start: 1em; border-inline-start: 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-block-start: .67em; margin-block-end: .67em; } h2, :-moz-any(article, aside, nav, section) h1 { display: block; font-size: 1.5em; font-weight: bold; margin-block-start: .83em; margin-block-end: .83em; } h3, :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { display: block; font-size: 1.17em; font-weight: bold; margin-block-start: 1em; margin-block-end: 1em; } h4, :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { display: block; font-size: 1.00em; font-weight: bold; margin-block-start: 1.33em; margin-block-end: 1.33em; } h5, :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { display: block; font-size: 0.83em; font-weight: bold; margin-block-start: 1.67em; margin-block-end: 1.67em; } h6, :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) :-moz-any(article, aside, nav, section) h1 { display: block; font-size: 0.67em; font-weight: bold; margin-block-start: 2.33em; margin-block-end: 2.33em; } listing { display: block; font-family: -moz-fixed; font-size: medium; white-space: pre; margin-block-start: 1em; margin-block-end: 1em; } xmp, pre, plaintext { display: block; font-family: -moz-fixed; white-space: pre; margin-block-start: 1em; margin-block-end: 1em; } /* tables */ table { display: table; border-spacing: 2px; border-collapse: separate; /* XXXldb do we want this if we're border-collapse:collapse ? */ box-sizing: border-box; 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; } /* 'border' before 'frame' so 'frame' overrides A border with a given value should, of course, pass that value as the border-width in pixels -> attr mapping */ /* :-moz-table-border-nonzero is like [border]:not([border="0"]) except it also checks for other zero-like values according to HTML attribute parsing rules */ table:-moz-table-border-nonzero { border-width: thin; border-style: outset; } table[frame] { border: thin hidden; } /* specificity must beat table:-moz-table-border-nonzero rule above */ table[frame="void"] { border-style: hidden; } table[frame="above"] { border-style: outset hidden hidden hidden; } table[frame="below"] { border-style: hidden hidden outset hidden; } table[frame="lhs"] { border-style: hidden hidden hidden outset; } table[frame="rhs"] { border-style: hidden outset hidden hidden; } table[frame="hsides"] { border-style: outset hidden; } table[frame="vsides"] { border-style: hidden outset; } table[frame="box"], table[frame="border"] { border-style: outset; } /* Internal Table Borders */ /* 'border' cell borders first */ table:-moz-table-border-nonzero > * > tr > td, table:-moz-table-border-nonzero > * > tr > th, table:-moz-table-border-nonzero > * > td, table:-moz-table-border-nonzero > * > th, table:-moz-table-border-nonzero > td, table:-moz-table-border-nonzero > th { border-width: thin; border-style: inset; } /* collapse only if rules are really specified */ table[rules]:not([rules="none"]):not([rules=""]) { border-collapse: collapse; } /* 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-block-start-width: thin; border-block-end-width: thin; border-block-start-style: solid; border-block-end-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-inline-start-width: thin; border-inline-end-width: thin; border-inline-start-style: solid; border-inline-end-style: solid; } table[rules][rules="groups"] > colgroup { border-inline-start-width: thin; border-inline-end-width: thin; border-inline-start-style: solid; border-inline-end-style: solid; } table[rules][rules="groups"] > tfoot, table[rules][rules="groups"] > thead, table[rules][rules="groups"] > tbody { border-block-start-width: thin; border-block-end-width: thin; border-block-start-style: solid; border-block-start-style: solid; } /* caption inherits from table not table-outer */ caption { display: table-caption; text-align: center; } table[align="center"] > caption { margin-inline-start: auto; margin-inline-end: auto; } table[align="center"] > caption[align="left"]:dir(ltr) { margin-inline-end: 0; } table[align="center"] > caption[align="left"]:dir(rtl) { margin-inline-start: 0; } table[align="center"] > caption[align="right"]:dir(ltr) { margin-inline-start: 0; } table[align="center"] > caption[align="right"]:dir(rtl) { margin-inline-end: 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; } tr > form:-moz-is-html, tbody > form:-moz-is-html, thead > form:-moz-is-html, tfoot > form:-moz-is-html, table > form:-moz-is-html { /* Important: don't show these forms in HTML */ display: none !important; } 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: -moz-fixed; } u, ins { text-decoration: underline; } s, strike, del { text-decoration: line-through; } 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] { text-decoration: dotted underline; } /* lists */ ul, menu, dir { display: block; list-style-type: disc; margin-block-start: 1em; margin-block-end: 1em; padding-inline-start: 40px; } menu[type="context"] { display: none !important; } ol { display: block; list-style-type: decimal; margin-block-start: 1em; margin-block-end: 1em; padding-inline-start: 40px; } li { display: list-item; text-align: match-parent; } /* nested lists have no top/bottom margins */ :-moz-any(ul, ol, dir, menu, dl) ul, :-moz-any(ul, ol, dir, menu, dl) ol, :-moz-any(ul, ol, dir, menu, dl) dir, :-moz-any(ul, ol, dir, menu, dl) menu, :-moz-any(ul, ol, dir, menu, dl) dl { margin-block-start: 0; margin-block-end: 0; } /* 2 deep unordered lists use a circle */ :-moz-any(ol, ul, menu, dir) ul, :-moz-any(ol, ul, menu, dir) menu, :-moz-any(ol, ul, menu, dir) dir { list-style-type: circle; } /* 3 deep (or more) unordered lists use a square */ :-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) ul, :-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) menu, :-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) dir { list-style-type: square; } /* leafs */ /*