/* 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 parsererror url(http://www.mozilla.org/newlayout/xml/parsererror.xml); @namespace html url(http://www.w3.org/1999/xhtml); @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* magic -- some of these rules are important to keep pages from overriding them */ /* Tables */ *|*::-moz-table { display: table; box-sizing: border-box; /* XXX do we really want this? */ } *|*::-moz-inline-table { display: inline-table; box-sizing: border-box; /* XXX do we really want this? */ } *|*::-moz-table-wrapper { /* The inherited properties here need to be safe to have on both the * table and the table wrapper, generally because code ignores them * for the table. */ display: inherit; /* table or inline-table */ -moz-top-layer: inherit; margin: inherit; float: inherit; clear: inherit; position: inherit; top: inherit; right: inherit; bottom: inherit; left: inherit; z-index: inherit; page-break-before: inherit; page-break-after: inherit; page-break-inside: inherit; vertical-align: inherit; /* needed for inline-table */ line-height: inherit; /* needed for vertical-align on inline-table */ /* Bug 722777 */ transform: inherit; transform-origin: inherit; /* Bug 724750 */ backface-visibility: inherit; clip: inherit; /* Other transform-related properties */ /* transform-style: inherit; Bug 1560704 */ rotate: inherit; scale: inherit; translate: inherit; /* When the table wrapper is a Flex/Grid item we need these: */ align-self: inherit; justify-self: inherit; grid-column-start: inherit; grid-column-end: inherit; grid-row-start: inherit; grid-row-end: inherit; order: inherit; outline: inherit; outline-offset: inherit; column-span: inherit; /* needed if has "column-span:all" */ contain: inherit; /* needed if table has 'contain:layout' or 'paint' */ container: inherit; /* Bug 1805588 */ scroll-margin: inherit; /* Bug 1633192 */ } *|*::-moz-table-row { display: table-row; } /* The ::-moz-table-column pseudo-element is for extra columns at the end of a table. */ *|*::-moz-table-column { display: table-column; /* Make sure anonymous columns don't interfere with hit testing. Basically, * they should pretend as much as possible to not exist (since in the spec * they do not exist). * * Please make sure to not reintroduce * https://bugzilla.mozilla.org/show_bug.cgi?id=1403293 if you change this * bit! */ visibility: hidden; } *|*::-moz-table-column-group { display: table-column-group; /* Make sure anonymous colgroups don't interfere with hit testing. Basically, * they should pretend as much as possible to not exist (since in the spec * they do not exist). * * Please make sure to not reintroduce * https://bugzilla.mozilla.org/show_bug.cgi?id=1403293 if you change this * bit! */ visibility: hidden; } *|*::-moz-table-row-group { display: table-row-group; } *|*::-moz-table-cell { display: table-cell; white-space: inherit; } /* Ruby */ *|*::-moz-ruby { display: ruby; unicode-bidi: isolate; } *|*::-moz-ruby-base { display: ruby-base; unicode-bidi: isolate; } *|*::-moz-ruby-text { display: ruby-text; unicode-bidi: isolate; } *|*::-moz-ruby-base-container { display: ruby-base-container; unicode-bidi: isolate; } *|*::-moz-ruby-text-container { display: ruby-text-container; unicode-bidi: isolate; } /* https://drafts.csswg.org/css-lists-3/#ua-stylesheet */ ::marker { text-align: end; text-transform: none; unicode-bidi: isolate; font-variant-numeric: tabular-nums; white-space: pre; } /* SVG documents don't always load this file but they do have links. * If you change the link rules, consider carefully whether to make * the same changes to svg.css. */ /* Links and focusable content */ :any-link { cursor: pointer; text-decoration: underline; } :link { color: LinkText; } :any-link:active { color: ActiveText; } :visited { color: VisitedText; } /* stylelint-disable-next-line media-query-no-invalid */ @media (-moz-bool-pref: "layout.css.always_underline_links") { :any-link { text-decoration: underline !important; } } :focus-visible { outline: 1px auto; } /* Inert subtrees */ :-moz-inert { -moz-inert: inert; } /* Miscellaneous */ *|*::-moz-cell-content { display: block; unicode-bidi: inherit; text-overflow: inherit; overflow: inherit; overflow-clip-box: inherit; resize: inherit; padding: inherit; box-decoration-break: inherit; } *|*::-moz-block-inside-inline-wrapper { display: block; /* we currently inherit from the inline that is split */ position: inherit; /* static or relative or sticky */ outline: inherit; outline-offset: inherit; clip-path: inherit; filter: inherit; mask: inherit; opacity: inherit; text-decoration: inherit; overflow-clip-box: inherit; unicode-bidi: inherit; user-select: inherit; text-overflow: inherit; /* The properties below here don't apply if our position is static, and we do want them to have an effect if it's not, so it's fine to always inherit them. */ top: inherit; left: inherit; bottom: inherit; right: inherit; z-index: inherit; } *|*::-moz-scrolled-content, *|*::-moz-scrolled-canvas { /* e.g., text inputs, select boxes */ padding: inherit; /* The display doesn't affect the kind of frame constructed here. This just affects auto-width sizing of the block we create. */ display: block; /* make unicode-bidi inherit, otherwise it has no effect on text inputs and blocks with overflow: scroll; */ unicode-bidi: inherit; text-overflow: inherit; /* Please keep the declarations below in sync with ::-moz-fieldset-content / ::-moz-button-content in forms.css */ content: inherit; /* Multicol container */ column-count: inherit; column-width: inherit; column-gap: inherit; column-rule: inherit; column-fill: inherit; /* Flex container */ flex-direction: inherit; flex-wrap: inherit; /* -webkit-box container (aliased from -webkit versions to -moz versions) */ -moz-box-orient: inherit; -moz-box-direction: inherit; -moz-box-pack: inherit; -moz-box-align: inherit; -webkit-line-clamp: inherit; /* Grid container */ grid-auto-columns: inherit; grid-auto-rows: inherit; grid-auto-flow: inherit; grid-column-gap: inherit; grid-row-gap: inherit; grid-template-areas: inherit; grid-template-columns: inherit; grid-template-rows: inherit; /* CSS Align */ align-content: inherit; align-items: inherit; justify-content: inherit; justify-items: inherit; /* Do not change these. nsCSSFrameConstructor depends on them to create a good frame tree. */ overflow-clip-box: inherit; } *|*::-moz-viewport, *|*::-moz-viewport-scroll, *|*::-moz-canvas, *|*::-moz-scrolled-canvas { display: block; background-color: inherit; } *|*::-moz-viewport-scroll { overflow: auto; } *|*::-moz-column-set, *|*::-moz-column-content { /* the column boxes inside a column-flowed block */ /* make unicode-bidi inherit, otherwise it has no effect on column boxes */ unicode-bidi: inherit; text-overflow: inherit; /* Both -moz-column-set and -moz-column-content need to be blocks. */ display: block; } *|*::-moz-column-set { /* Inherit from ColumnSetWrapperFrame so that nsColumnSetFrame is aware of them.*/ columns: inherit; column-gap: inherit; column-rule: inherit; column-fill: inherit; } *|*::-moz-column-span-wrapper { /* As a result of the discussion in * https://github.com/w3c/csswg-drafts/issues/1072, most of the styles * currently applied to ::-moz-block-inside-inline-wrapper should not * apply here. */ display: block; column-span: all; } *|*::-moz-anonymous-item { /* Anonymous blocks that wrap contiguous runs of text * inside of a flex / grid / -moz-box container. */ display: block; } *|*::-moz-page-sequence { /* Collection of pages in print/print preview. Visual styles may only appear * in print preview. */ display: block; background: #606060 linear-gradient(#606060, #8a8a8a) fixed; print-color-adjust: exact; /* We always fill the available space in both directions */ height: 100%; width: 100%; } *|*::-moz-printed-sheet { /* Individual sheet of paper in print/print preview. Visual styles may only * appear in print preview. */ display: block; background: white; print-color-adjust: exact; box-shadow: 5px 5px 8px #202020; box-decoration-break: clone; /* TODO: Remove margin if viewport is small or something? */ margin: 0.125in 0.25in; } @media (monochrome) and (-moz-print-preview) { *|*::-moz-page { filter: grayscale(1); } } *|*::-moz-page-content { display: block; margin: auto; } *|*::-moz-page-break { display: block; } /* Printing */ @media print { * { cursor: default !important; } } :fullscreen:not(:root) { -moz-top-layer: top !important; position: fixed !important; inset: 0 !important; width: 100% !important; height: 100% !important; margin: 0 !important; min-width: 0 !important; max-width: none !important; min-height: 0 !important; max-height: none !important; box-sizing: border-box !important; object-fit: contain; transform: none !important; } /* This pseudo-class is used to remove the inertness for the topmost modal * element in top layer. * * Avoid doing this if the element is explicitly inert though. */ :-moz-topmost-modal:not(html|*[inert]) { -moz-inert: none; /* Topmost modal elements need to be selectable even though ancestors are * inert, but allow users to override this if they want to. */ user-select: text; } /** * Ensure we recompute the default color for the root based on its * computed color-scheme. This matches other browsers. * * For the default background, we look at the root * element style frame in * PresShell::GetDefaultBackgroundColorToDraw, however we * can't make the initial style (the style the root element * inherits from) depend on the root element's style, as that * is trivially cyclic. */ :root { color: CanvasText; } ::backdrop { -moz-top-layer: top !important; display: block; position: fixed; inset: 0; /* This prevents undesired interactions with the selection code. */ user-select: none; } :fullscreen:not(:root)::backdrop { background: black; } /* XML parse error reporting */ parsererror|parsererror { display: block; font-family: sans-serif; font-weight: bold; white-space: pre; margin: 1em; padding: 1em; border-width: thin; border-style: inset; border-color: red; font-size: 14pt; background-color: lightyellow; color: black; } parsererror|sourcetext { display: block; white-space: pre; font-family: -moz-fixed; margin-top: 2em; margin-bottom: 1em; color: red; font-weight: bold; font-size: 12pt; } /* Custom content container in the CanvasFrame, positioned on top of everything everything else, not reacting to pointer events. */ .moz-custom-content-container:-moz-native-anonymous { pointer-events: none; user-select: none; -moz-top-layer: top; position: absolute; top: 0; left: 0; width: 100%; height: 100%; /* Initial direction depends on the document, make sure to reset it */ direction: ltr; }