1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 /* === BEGIN common.inc.css === */
7 @namespace html "http://www.w3.org/1999/xhtml";
8 @namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
11 --in-content-page-color: #000000;
12 --in-content-page-background: #CCD0DD;
13 --in-content-text-color: #000000;
14 --in-content-selected-text: #000000;
15 ---in-content-header-border-color: #c8c8c8;
16 --in-content-box-background: #CCD0DD;
17 ---in-content-box-background-odd: #f3f6fa;
18 ---in-content-box-background-hover: #ebebeb;
19 ---in-content-box-background-active: #dadada;
20 --in-content-box-border-color: #CCD0DD;
21 ---in-content-item-hover: rgba(0,149,221,0.25);
22 ---in-content-item-selected: #0095dd;
23 --in-content-border-highlight: #33FF33;
24 ---in-content-border-focus: #0095dd;
25 --in-content-border-color: #9999CC;
26 --in-content-category-text: #000000;
27 --in-content-category-border-focus: 1px dotted #FFFFFF;
28 --in-content-category-text-selected: #FFFFFF;
29 --in-content-category-background: #666699;
30 --in-content-category-background-hover: #CCD0DD;
31 --in-content-category-background-active: #336699;
32 ---in-content-tab-color: #424f5a;
33 ---in-content-link-color: #0095dd;
34 ---in-content-link-color-hover: #178ce5;
35 ---in-content-link-color-active: #ff9500;
36 ---in-content-link-color-visited: #551a8b;
37 ---in-content-primary-button-background: #0095dd;
38 ---in-content-primary-button-background-hover: #008acb;
39 ---in-content-primary-button-background-active: #006b9d;
40 --in-content-table-border-dark-color: #9999CC;
41 --in-content-table-header-background: #666699;
42 --in-content-disabled-text: #999999;
48 font: 11px "Liberation Sans",Arial,Tahoma,Helvetica,sans-serif;
49 -moz-appearance: none;
50 background-color: var(--in-content-page-background);
51 color: var(--in-content-page-color);
64 color: var(--in-content-text-color);
70 border-style: solid none none none;
71 border-color: var(--in-content-border-color);
78 xul|caption > xul|checkbox,
79 xul|caption > xul|label {
82 xul|caption > xul|checkbox,
83 xul|caption > xul|label {
90 padding-inline-end: 48px; /* orig is 44px to compensate the 4px margin of child elements */
92 padding-inline-start: 48px;
96 xul|prefpane > xul|*.content-box {
103 -moz-appearance: none;
106 padding-inline-start: 0;
107 padding-inline-end: 0;
111 xul|groupbox xul|label:not(.menu-accel):not(.menu-text):not(.indent):not(.learnMore),
112 xul|groupbox xul|description {
113 / !important needed to override toolkit !important rule /
114 margin-inline-start: 0 !important;
115 margin-inline-end: 0 !important;
118 /* tabpanels and tabs */
121 -moz-appearance: none;
126 background-color: transparent;
132 border-top: 1px solid var(--in-content-box-border-color);
133 border-bottom: 1px solid var(--in-content-box-border-color);
134 background-color: var(--in-content-page-background);
143 -moz-appearance: none;
147 color: var(--in-content-tab-color);
148 background-color: var(--in-content-page-background);
150 / !important overrides tabbox.css RTL and visuallyselected rules /
151 border-radius: 0 !important;
152 transition: background-color 50ms ease 0s;
156 background-color: var(--in-content-box-background-hover);
160 background-color: var(--in-content-box-background-hover);
161 padding-bottom: 0; / compensate the 4px border /
162 border-bottom: 4px solid var(--in-content-border-highlight);
174 border: 1px outset var(--in-content-box-border-color);
175 background-color: var(--in-content-box-background);
176 color: var(--in-content-text-color);
177 /* override forms.css */
181 /* xul buttons and menulists */
185 xul|colorpicker[type="button"],
187 -moz-appearance: none;
189 color: var(--in-content-text-color);
190 border: 1px solid var(--in-content-box-border-color);
191 -moz-border-top-colors: none !important;
192 -moz-border-right-colors: none !important;
193 -moz-border-bottom-colors: none !important;
194 -moz-border-left-colors: none !important;
196 background-color: var(--in-content-page-background);
199 html|select:not([size]):not([multiple]) {
200 background-image: url("chrome://global/skin/arrow/arrow-down.gif");
201 background-position: right 3px center;
202 background-repeat: no-repeat;
203 background-size: auto 18px;
205 padding-inline-start: 5px;
206 padding-inline-end: 24px;
207 text-overflow: ellipsis;
210 html|button:enabled:hover,
211 html|select:not([size]):not([multiple]):enabled:hover,
212 xul|button:not([disabled="true"]):hover,
213 xul|colorpicker[type="button"]:not([disabled="true"]):hover,
214 xul|menulist:not([disabled="true"]):hover {
217 html|button:enabled:hover:active,
218 html|select:not([size]):not([multiple]):enabled:hover:active,
219 xul|button:not([disabled="true"]):hover:active,
220 xul|colorpicker[type="button"]:not([disabled="true"]):hover:active,
221 xul|menulist[open="true"]:not([disabled="true"]) {
222 border: 1px inset var(--in-content-box-border-color);
225 html|button:disabled,
226 html|select:disabled,
227 xul|button[disabled="true"],
228 xul|colorpicker[type="button"][disabled="true"],
229 xul|menulist[disabled="true"] {
230 border: 1px outset var(--in-content-box-border-color);
231 color: var(--in-content-disabled-text);
235 background-color: var(--in-content-primary-button-background);
236 border-color: transparent;
237 color: var(--in-content-selected-text);
240 html|button.primary:enabled:hover,
241 xul|button.primary:not([disabled="true"]):hover {
242 background-color: var(--in-content-primary-button-background-hover);
245 html|button.primary:enabled:hover:active,
246 xul|button.primary:not([disabled="true"]):hover:active {
247 background-color: var(--in-content-primary-button-background-active);
250 xul|colorpicker[type="button"] {
255 xul|button > xul|*.button-box,
256 xul|menulist > xul|*.menulist-label-box {
257 padding-right: 10px !important;
258 padding-left: 10px !important;
261 xul|menulist > xul|*.menulist-label-box > xul|*.menulist-icon[src] {
262 margin-inline-end: 5px;
265 xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
266 -moz-appearance: none;
268 margin-inline-start: 10px;
273 background-color: transparent;
274 list-style-image: url("chrome://global/skin/in-content/dropdown.svg");
279 margin-inline-end: 0;
281 background-image: none;
283 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
286 xul|*.help-button:not([disabled="true"]):hover {
287 background-image: none;
288 / Override default button background /
289 background-color: transparent;
290 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
292 xul|*.help-button:not([disabled="true"]):hover:active {
293 background-image: none;
294 / Override default button background /
295 background-color: transparent;
296 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
299 xul|*.close-icon > xul|*.button-box,
300 xul|*.help-button > xul|*.button-box {
303 padding-right: 0 !important;
304 padding-left: 0 !important;
307 xul|*.help-button > xul|*.button-box > xul|*.button-icon {
312 xul|*.help-button > xul|*.button-box > xul|*.button-text {
321 display: inline-block;
322 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
323 background-repeat: no-repeat;
324 background-position: center center;
325 background-size: contain;
328 html|*.help-button:hover {
329 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
332 html|*.help-button:hover:active {
333 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
336 xul|*.spinbuttons-button {
338 margin-inline-start: 10px !important;
339 margin-inline-end: 2px !important;
342 xul|*.spinbuttons-up {
343 margin-top: 2px !important;
344 border-radius: 1px 1px 0 0;
347 xul|*.spinbuttons-down {
348 margin-bottom: 2px !important;
349 border-radius: 0 0 1px 1px;
352 xul|*.spinbuttons-button > xul|*.button-box {
353 padding: 1px 5px 2px !important;
356 xul|*.spinbuttons-up > xul|*.button-box > xul|*.button-icon {
357 list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
360 xul|*.spinbuttons-up[disabled="true"] > xul|*.button-box > xul|*.button-icon {
361 list-style-image: url("chrome://global/skin/arrow/arrow-up-disabled.gif");
364 xul|*.spinbuttons-down > xul|*.button-box > xul|*.button-icon {
365 list-style-image: url("chrome://global/skin/arrow/arrow-down.gif");
368 xul|*.spinbuttons-down[disabled="true"] > xul|*.button-box > xul|*.button-icon {
369 list-style-image: url("chrome://global/skin/arrow/arrow-down-disabled.gif");
372 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
373 -moz-appearance: none;
374 margin-inline-end: 4px;
377 background-color: transparent;
378 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
381 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker > xul|*.dropmarker-icon {
386 xul|menulist[disabled="true"]:not([editable="true"]) > xul|*.menulist-dropmarker {
387 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown-disabled")
390 xul|menulist > xul|menupopup,
391 xul|button[type="menu"] > xul|menupopup {
392 -moz-appearance: none;
393 border: 1px solid var(--in-content-box-border-color);
395 background-color: var(--in-content-box-background);
398 xul|menulist > xul|menupopup xul|menu,
399 xul|menulist > xul|menupopup xul|menuitem,
400 xul|button[type="menu"] > xul|menupopup xul|menu,
401 xul|button[type="menu"] > xul|menupopup xul|menuitem {
402 -moz-appearance: none;
404 color: var(--in-content-text-color);
406 padding-bottom: 0.2em;
407 padding-inline-start: 10px;
408 padding-inline-end: 30px;
411 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
412 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"],
413 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
414 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"] {
415 color: var(--in-content-text-color);
416 background-color: var(--in-content-item-hover);
419 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
420 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"],
421 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
422 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"] {
423 color: var(--in-content-selected-text);
424 background-color: var(--in-content-item-selected);
427 xul|menulist > xul|menupopup > xul|menu[disabled="true"],
428 xul|menulist > xul|menupopup > xul|menuitem[disabled="true"],
429 xul|button[type="menu"] > xul|menupopup > xul|menu[disabled="true"],
430 xul|button[type="menu"] > xul|menupopup > xul|menuitem[disabled="true"] {
431 color: var(--in-content-box-border-color);
432 / override the [_moz-menuactive="true"] background color from
434 background-color: transparent;
437 xul|menulist > xul|menupopup xul|menuseparator,
438 xul|button[type="menu"] > xul|menupopup xul|menuseparator {
439 -moz-appearance: none;
442 border-top: 1px solid var(--in-content-box-border-color);
448 html|input[type="email"],
449 html|input[type="tel"],
450 html|input[type="text"],
453 -moz-appearance: none;
454 color: var(--in-content-text-color);
455 border: 1px solid var(--in-content-box-border-color);
456 -moz-border-top-colors: none !important;
457 -moz-border-right-colors: none !important;
458 -moz-border-bottom-colors: none !important;
459 -moz-border-left-colors: none !important;
461 background-color: var(--in-content-box-background);
470 / Create a separate rule to unset these styles on .tree-input instead of
471 using :not(.tree-input) so the selector specifity doesn't change. /
472 xul|textbox.tree-input {
474 padding-right: unset;
478 xul|textbox[type="search"] > .textbox-input-box {
479 background: url(chrome://global/skin/icons/search-textbox.svg) no-repeat center left;
480 padding-inline-start: 16px;
483 xul|textbox[type="search"] > .textbox-input-box:-moz-locale-dir(rtl) {
484 background-position-x: right;
487 xul|textbox[type="search"] > .textbox-input-box > .textbox-search-icons > .textbox-search-icon {
491 html|input[type="email"],
492 html|input[type="tel"],
493 html|input[type="text"],
495 font-family: inherit;
500 html|input[type="email"]:focus,
501 html|input[type="tel"]:focus,
502 html|input[type="text"]:focus,
504 xul|textbox[focused] {
505 border-color: var(--in-content-border-focus);
508 html|input[type="email"]:disabled,
509 html|input[type="tel"]:disabled,
510 html|input[type="text"]:disabled,
511 html|textarea:disabled,
512 xul|textbox[disabled="true"] {
520 color: var(--in-content-link-color);
521 text-decoration: none;
526 color: var(--in-content-link-color-hover);
527 text-decoration: none;
531 color: var(--in-content-link-color-visited);
535 .text-link:hover:active {
536 color: var(--in-content-link-color-active);
537 text-decoration: none;
540 /* Checkboxes and radio buttons */
542 / Hide the actual checkbox /
543 html|input[type="checkbox"] {
546 pointer-events: none;
550 / Create a box to style as the checkbox /
551 html|input[type="checkbox"] + html|label:before {
552 display: inline-block;
554 vertical-align: middle;
557 html|input[type="checkbox"] + html|label {
562 margin-inline-start: 0;
563 -moz-appearance: none;
566 xul|*.checkbox-check,
567 html|input[type="checkbox"] + html|label:before {
568 -moz-appearance: none;
572 border: 1px solid var(--in-content-box-border-color);
573 margin-inline-end: 10px;
574 background-color: #f1f1f1;
575 background-image: linear-gradient(#fff, rgba(255,255,255,0.8));
576 background-position: center center;
577 background-repeat: no-repeat;
578 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
581 xul|checkbox:not([disabled="true"]):hover > xul|*.checkbox-check,
582 html|input[type="checkbox"]:not(:disabled) + html|label:hover:before {
583 border-color: var(--in-content-border-focus);
586 xul|*.checkbox-check[checked] {
587 background-image: url("chrome://global/skin/in-content/check.png"),
588 linear-gradient(#fff, rgba(255,255,255,0.8));
591 html|input[type="checkbox"]:checked + html|label:before {
592 background-image: url("chrome://global/skin/in-content/check.svg#check"), linear-gradient(#fff, rgba(255,255,255,0.8));
595 xul|checkbox[disabled="true"] > xul|*.checkbox-check,
596 html|input[type="checkbox"]:disabled + html|label {
600 xul|*.checkbox-label-box {
601 margin-inline-start: -1px; / * negative margin for the transparent border * /
602 padding-inline-start: 0;
605 xul|richlistitem > xul|*.checkbox-check {
609 html|*.toggle-container-with-text {
615 margin-inline-start: 0;
616 -moz-appearance: none;
620 -moz-appearance: none;
623 border: 1px solid var(--in-content-box-border-color);
625 margin-inline-end: 10px;
626 background-color: #f1f1f1;
627 background-image: linear-gradient(#fff, rgba(255,255,255,0.80));
628 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
631 xul|radio:not([disabled="true"]):hover > xul|*.radio-check {
632 border-color: var(--in-content-border-focus);
635 xul|*.radio-check[selected] {
636 list-style-image: url("chrome://global/skin/in-content/radio.svg#radio");
639 xul|radio[disabled="true"] > xul|*.radio-check {
643 xul|*.radio-label-box {
644 margin-inline-start: -1px; / * negative margin for the transparent border * /
645 margin-inline-end: 10px;
646 padding-inline-start: 0;
652 -moz-appearance: none;
653 background-color: var(--in-content-category-background);
660 -moz-appearance: none;
661 color: var(--in-content-category-text);
662 border-inline-end-width: 0;
663 padding-inline-start: 15px;
664 padding-inline-end: 21px;
666 transition: background-color 150ms;
670 background-color: var(--in-content-category-background-hover);
673 *|*.category[selected],
674 *|*.category.selected {
675 background-color: var(--in-content-category-background-active);
676 color: var(--in-content-category-text-selected);
677 padding-inline-start: 11px; /* compensate the 4px border */
678 border-inline-start: solid 4px var(--in-content-border-highlight);
681 *|*#categories[keyboard-navigation="true"]:-moz-focusring > xul|*.category[current] {
682 border-top: var(--in-content-category-border-focus);
683 border-bottom: var(--in-content-category-border-focus);
690 padding-inline-start: 9px;
692 -moz-user-select: none;
703 margin-inline-end: 4px; / add the 4px end-margin of other elements /
704 border-bottom: 1px solid var(--in-content-header-border-color);
706 padding-bottom: 15px;
707 -moz-box-align: baseline;
715 -moz-user-select: none;
721 -moz-appearance: none;
722 background-color: transparent;
727 xul|*.fileFieldContentBox {
728 background-color: transparent;
731 xul|*.fileFieldIcon {
732 margin-inline-start: 10px;
733 margin-inline-end: 0;
736 xul|*.fileFieldLabel {
737 margin-inline-start: -26px;
738 padding-inline-start: 36px;
741 xul|textbox:-moz-locale-dir(rtl),
742 xul|*.fileFieldLabel:-moz-locale-dir(rtl),
743 xul|textbox + xul|button:-moz-locale-dir(ltr),
744 xul|filefield + xul|button:-moz-locale-dir(ltr) {
745 border-top-left-radius: 0;
746 border-bottom-left-radius: 0;
749 xul|textbox:-moz-locale-dir(ltr),
750 xul|*.fileFieldLabel:-moz-locale-dir(ltr),
751 xul|textbox + xul|button:-moz-locale-dir(rtl),
752 xul|filefield + xul|button:-moz-locale-dir(rtl) {
753 border-top-right-radius: 0;
754 border-bottom-right-radius: 0;
757 xul|textbox + xul|button,
758 xul|filefield + xul|button {
759 border-inline-start: none;
764 html|select[size][multiple],
767 -moz-appearance: none;
768 margin-inline-start: 0;
769 background-color: var(--in-content-box-background);
770 border: 1px solid var(--in-content-box-border-color);
771 color: var(--in-content-text-color);
774 html|select[size][multiple] > html|option,
775 xul|treechildren::-moz-tree-row,
776 xul|listbox xul|listitem {
781 background-image: none;
784 html|select[size][multiple] > html|option:hover,
785 xul|treechildren::-moz-tree-row(hover),
786 xul|listbox xul|listitem:hover {
787 background-color: var(--in-content-item-hover);
790 xul|treechildren::-moz-tree-row(selected),
791 xul|listbox xul|listitem[selected="true"] {
792 background-color: var(--in-content-item-selected);
793 color: var(--in-content-selected-text);
799 -moz-appearance: none;
801 border: 1px solid var(--in-content-box-border-color);
802 background-color: var(--in-content-box-background);
806 xul|tree:-moz-focusring,
807 xul|richlistbox:-moz-focusring {
808 border: 1px dotted var(--in-content-border-focus);
813 -moz-appearance: none;
815 border-bottom: 1px solid var(--in-content-box-border-color);
819 .autocomplete-tree > xul|treecols {
820 border-bottom: none !important;
823 xul|treecol:not([hideheader="true"]),
825 -moz-appearance: none;
827 background-color: var(--in-content-box-background-hover);
832 xul|treecol:not([hideheader="true"]):not([sortable="false"]):hover,
833 xul|treecolpicker:hover {
834 background-color: var(--in-content-box-background-active);
835 color: var(--in-content-text-color);
838 xul|treecol:not([hideheader="true"]):not(:first-child),
840 border-inline-start-width: 1px;
841 border-inline-start-style: solid;
842 border-image: linear-gradient(transparent 0%, transparent 20%, #c1c1c1 20%, #c1c1c1 80%, transparent 80%, transparent 100%) 1 1;
845 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection] {
846 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
851 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection="ascending"] {
852 transform: scaleY(-1);
855 / This is the only way to increase the height of a tree row unfortunately /
856 xul|treechildren::-moz-tree-row {
860 / Color needs to be set on tree cell in order to be applied /
861 xul|treechildren::-moz-tree-cell-text {
862 color: var(--in-content-text-color);
865 xul|treechildren::-moz-tree-cell-text(selected) {
866 color: var(--in-content-selected-text);
869 /* === END common.inc.css === */
872 background-color: transparent;
877 xul|colorpicker[type="button"],
882 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
888 padding-inline-start: 0;
892 -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
893 padding-inline-start: 0;
897 xul|*.checkbox-icon {
898 margin-inline-end: 0;
901 .text-link:-moz-focusring {
902 border: 1px dotted -moz-DialogText;