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),
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|button:enabled:hover,
200 html|select:enabled:hover,
201 xul|button:not([disabled="true"]):hover,
202 xul|colorpicker[type="button"]:not([disabled="true"]):hover,
203 xul|menulist:not([disabled="true"]):hover {
206 html|button:enabled:hover:active,
207 html|select:enabled:hover:active,
208 xul|button:not([disabled="true"]):hover:active,
209 xul|colorpicker[type="button"]:not([disabled="true"]):hover:active,
210 xul|menulist[open="true"]:not([disabled="true"]) {
211 border: 1px inset var(--in-content-box-border-color);
214 html|button:disabled,
215 html|select:disabled,
216 xul|button[disabled="true"],
217 xul|colorpicker[type="button"][disabled="true"],
218 xul|menulist[disabled="true"] {
219 border: 1px outset var(--in-content-box-border-color);
220 color: var(--in-content-disabled-text);
224 background-color: var(--in-content-primary-button-background);
225 border-color: transparent;
226 color: var(--in-content-selected-text);
229 html|button.primary:enabled:hover,
230 xul|button.primary:not([disabled="true"]):hover {
231 background-color: var(--in-content-primary-button-background-hover);
234 html|button.primary:enabled:hover:active,
235 xul|button.primary:not([disabled="true"]):hover:active {
236 background-color: var(--in-content-primary-button-background-active);
239 xul|colorpicker[type="button"] {
244 xul|button > xul|*.button-box,
245 xul|menulist > xul|*.menulist-label-box {
246 padding-right: 10px !important;
247 padding-left: 10px !important;
250 xul|menulist > xul|*.menulist-label-box > xul|*.menulist-icon[src] {
251 margin-inline-end: 5px;
254 xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
255 -moz-appearance: none;
257 margin-inline-start: 10px;
262 background-color: transparent;
263 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
268 margin-inline-end: 0;
270 background-image: none;
272 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
275 xul|*.help-button:not([disabled="true"]):hover {
276 background-image: none;
277 / Override default button background /
278 background-color: transparent;
279 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
281 xul|*.help-button:not([disabled="true"]):hover:active {
282 background-image: none;
283 / Override default button background /
284 background-color: transparent;
285 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
288 xul|*.close-icon > xul|*.button-box,
289 xul|*.help-button > xul|*.button-box {
292 padding-right: 0 !important;
293 padding-left: 0 !important;
296 xul|*.help-button > xul|*.button-box > xul|*.button-icon {
301 xul|*.help-button > xul|*.button-box > xul|*.button-text {
310 display: inline-block;
311 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
312 background-repeat: no-repeat;
313 background-position: center center;
314 background-size: contain;
317 html|*.help-button:hover {
318 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
321 html|*.help-button:hover:active {
322 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
325 xul|*.spinbuttons-button {
327 margin-inline-start: 10px !important;
328 margin-inline-end: 2px !important;
331 xul|*.spinbuttons-up {
332 margin-top: 2px !important;
333 border-radius: 1px 1px 0 0;
336 xul|*.spinbuttons-down {
337 margin-bottom: 2px !important;
338 border-radius: 0 0 1px 1px;
341 xul|*.spinbuttons-button > xul|*.button-box {
342 padding: 1px 5px 2px !important;
345 xul|*.spinbuttons-up > xul|*.button-box > xul|*.button-icon {
346 list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
349 xul|*.spinbuttons-up[disabled="true"] > xul|*.button-box > xul|*.button-icon {
350 list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
353 xul|*.spinbuttons-down > xul|*.button-box > xul|*.button-icon {
354 list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
357 xul|*.spinbuttons-down[disabled="true"] > xul|*.button-box > xul|*.button-icon {
358 list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
361 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
362 -moz-appearance: none;
363 margin-inline-end: 4px;
366 background-color: transparent;
367 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
370 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker > xul|*.dropmarker-icon {
375 xul|menulist[disabled="true"]:not([editable="true"]) > xul|*.menulist-dropmarker {
376 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown-disabled")
379 xul|menulist > xul|menupopup,
380 xul|button[type="menu"] > xul|menupopup {
381 -moz-appearance: none;
382 border: 1px solid var(--in-content-box-border-color);
384 background-color: var(--in-content-box-background);
387 xul|menulist > xul|menupopup xul|menu,
388 xul|menulist > xul|menupopup xul|menuitem,
389 xul|button[type="menu"] > xul|menupopup xul|menu,
390 xul|button[type="menu"] > xul|menupopup xul|menuitem {
391 -moz-appearance: none;
393 color: var(--in-content-text-color);
395 padding-bottom: 0.2em;
396 padding-inline-start: 10px;
397 padding-inline-end: 30px;
400 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
401 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"],
402 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
403 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"] {
404 color: var(--in-content-text-color);
405 background-color: var(--in-content-item-hover);
408 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
409 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"],
410 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
411 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"] {
412 color: var(--in-content-selected-text);
413 background-color: var(--in-content-item-selected);
416 xul|menulist > xul|menupopup > xul|menu[disabled="true"],
417 xul|menulist > xul|menupopup > xul|menuitem[disabled="true"],
418 xul|button[type="menu"] > xul|menupopup > xul|menu[disabled="true"],
419 xul|button[type="menu"] > xul|menupopup > xul|menuitem[disabled="true"] {
420 color: var(--in-content-box-border-color);
421 / override the [_moz-menuactive="true"] background color from
423 background-color: transparent;
426 xul|menulist > xul|menupopup xul|menuseparator,
427 xul|button[type="menu"] > xul|menupopup xul|menuseparator {
428 -moz-appearance: none;
431 border-top: 1px solid var(--in-content-box-border-color);
437 html|input[type="text"],
440 -moz-appearance: none;
441 color: var(--in-content-text-color);
442 border: 1px solid var(--in-content-box-border-color);
443 -moz-border-top-colors: none !important;
444 -moz-border-right-colors: none !important;
445 -moz-border-bottom-colors: none !important;
446 -moz-border-left-colors: none !important;
448 background-color: var(--in-content-box-background);
457 / Create a separate rule to unset these styles on .tree-input instead of
458 using :not(.tree-input) so the selector specifity doesn't change. /
459 xul|textbox.tree-input {
461 padding-right: unset;
465 html|input[type="text"],
467 font-family: inherit;
472 html|input[type="text"]:focus,
474 xul|textbox[focused] {
475 border-color: var(--in-content-border-focus);
478 html|input[type="text"]:disabled,
479 html|textarea:disabled,
480 xul|textbox[disabled="true"] {
488 color: var(--in-content-link-color);
489 text-decoration: none;
494 color: var(--in-content-link-color-hover);
495 text-decoration: none;
499 color: var(--in-content-link-color-visited);
503 .text-link:hover:active {
504 color: var(--in-content-link-color-active);
505 text-decoration: none;
508 /* Checkboxes and radio buttons */
510 / Hide the actual checkbox /
511 html|input[type="checkbox"] {
514 pointer-events: none;
518 / Create a box to style as the checkbox /
519 html|input[type="checkbox"] + html|label:before {
520 display: inline-block;
522 vertical-align: middle;
525 html|input[type="checkbox"] + html|label {
530 margin-inline-start: 0;
533 xul|*.checkbox-check,
534 html|input[type="checkbox"] + html|label:before {
535 -moz-appearance: none;
539 border: 1px solid var(--in-content-box-border-color);
540 margin-inline-end: 10px;
541 background-color: #f1f1f1;
542 / !important needed to override toolkit checked !important rule /
543 background-image: linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
544 background-position: center center;
545 background-repeat: no-repeat;
546 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
549 xul|checkbox:not([disabled="true"]):hover > xul|*.checkbox-check,
550 html|input[type="checkbox"]:not(:disabled) + html|label:hover:before {
551 border-color: var(--in-content-border-focus);
554 xul|*.checkbox-check[checked] {
555 background-image: url("chrome://global/skin/in-content/check.png"),
556 / * !important needed to override toolkit !important rule * /
557 linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
560 html|input[type="checkbox"]:checked + html|label:before {
561 background-image: url("chrome://global/skin/in-content/check.svg#check"), linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
564 xul|checkbox[disabled="true"] > xul|*.checkbox-check,
565 html|input[type="checkbox"]:disabled + html|label {
569 xul|*.checkbox-label-box {
570 margin-inline-start: -1px; / * negative margin for the transparent border * /
571 padding-inline-start: 0;
574 xul|richlistitem > xul|*.checkbox-check {
578 html|*.toggle-container-with-text {
584 margin-inline-start: 0;
588 -moz-appearance: none;
591 border: 1px solid var(--in-content-box-border-color);
593 margin-inline-end: 10px;
594 background-color: #f1f1f1;
595 background-image: linear-gradient(#fff, rgba(255,255,255,0.80));
596 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
599 xul|radio:not([disabled="true"]):hover > xul|*.radio-check {
600 border-color: var(--in-content-border-focus);
603 xul|*.radio-check[selected] {
604 list-style-image: url("chrome://global/skin/in-content/radio.svg#radio");
607 xul|radio[disabled="true"] > xul|*.radio-check {
611 xul|*.radio-label-box {
612 margin-inline-start: -1px; / * negative margin for the transparent border * /
613 margin-inline-end: 10px;
614 padding-inline-start: 0;
620 -moz-appearance: none;
621 background-color: var(--in-content-category-background);
628 -moz-appearance: none;
629 color: var(--in-content-category-text);
630 border-inline-end-width: 0;
631 padding-inline-start: 15px;
632 padding-inline-end: 21px;
634 transition: background-color 150ms;
638 background-color: var(--in-content-category-background-hover);
641 *|*.category[selected],
642 *|*.category.selected {
643 background-color: var(--in-content-category-background-active);
644 color: var(--in-content-category-text-selected);
645 padding-inline-start: 11px; /* compensate the 4px border */
646 border-inline-start: solid 4px var(--in-content-border-highlight);
649 *|*#categories[keyboard-navigation="true"]:-moz-focusring > xul|*.category[current] {
650 border-top: var(--in-content-category-border-focus);
651 border-bottom: var(--in-content-category-border-focus);
658 padding-inline-start: 9px;
660 -moz-user-select: none;
671 margin-inline-end: 4px; / add the 4px end-margin of other elements /
672 border-bottom: 1px solid var(--in-content-header-border-color);
674 padding-bottom: 15px;
675 -moz-box-align: baseline;
683 -moz-user-select: none;
689 -moz-appearance: none;
690 background-color: transparent;
695 xul|*.fileFieldContentBox {
696 background-color: transparent;
699 xul|*.fileFieldIcon {
700 margin-inline-start: 10px;
701 margin-inline-end: 0;
704 xul|*.fileFieldLabel {
705 margin-inline-start: -26px;
706 padding-inline-start: 36px;
709 xul|textbox:-moz-locale-dir(rtl),
710 xul|*.fileFieldLabel:-moz-locale-dir(rtl),
711 xul|textbox + xul|button:-moz-locale-dir(ltr),
712 xul|filefield + xul|button:-moz-locale-dir(ltr) {
713 border-top-left-radius: 0;
714 border-bottom-left-radius: 0;
717 xul|textbox:-moz-locale-dir(ltr),
718 xul|*.fileFieldLabel:-moz-locale-dir(ltr),
719 xul|textbox + xul|button:-moz-locale-dir(rtl),
720 xul|filefield + xul|button:-moz-locale-dir(rtl) {
721 border-top-right-radius: 0;
722 border-bottom-right-radius: 0;
725 xul|textbox + xul|button,
726 xul|filefield + xul|button {
727 border-inline-start: none;
734 -moz-appearance: none;
735 margin-inline-start: 0;
736 background-color: var(--in-content-box-background);
737 border: 1px solid var(--in-content-box-border-color);
738 color: var(--in-content-text-color);
741 xul|treechildren::-moz-tree-row,
742 xul|listbox xul|listitem {
747 background-image: none;
750 xul|treechildren::-moz-tree-row(hover),
751 xul|listbox xul|listitem:hover {
752 background-color: var(--in-content-item-hover);
755 xul|treechildren::-moz-tree-row(selected),
756 xul|listbox xul|listitem[selected="true"] {
757 background-color: var(--in-content-item-selected);
758 color: var(--in-content-selected-text);
764 -moz-appearance: none;
766 border: 1px solid var(--in-content-box-border-color);
767 background-color: var(--in-content-box-background);
771 xul|tree:-moz-focusring,
772 xul|richlistbox:-moz-focusring {
773 border: 1px dotted var(--in-content-border-focus);
778 -moz-appearance: none;
780 border-bottom: 1px solid var(--in-content-box-border-color);
784 .autocomplete-tree > xul|treecols {
785 border-bottom: none !important;
788 xul|treecol:not([hideheader="true"]),
790 -moz-appearance: none;
792 background-color: var(--in-content-box-background-hover);
797 xul|treecol:not([hideheader="true"]):not([sortable="false"]):hover,
798 xul|treecolpicker:hover {
799 background-color: var(--in-content-box-background-active);
800 color: var(--in-content-text-color);
803 xul|treecol:not([hideheader="true"]):not(:first-child),
805 border-inline-start-width: 1px;
806 border-inline-start-style: solid;
807 border-image: linear-gradient(transparent 0%, transparent 20%, #c1c1c1 20%, #c1c1c1 80%, transparent 80%, transparent 100%) 1 1;
810 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection] {
811 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
816 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection="ascending"] {
817 transform: scaleY(-1);
820 / This is the only way to increase the height of a tree row unfortunately /
821 xul|treechildren::-moz-tree-row {
825 / Color needs to be set on tree cell in order to be applied /
826 xul|treechildren::-moz-tree-cell-text {
827 color: var(--in-content-text-color);
830 xul|treechildren::-moz-tree-cell-text(selected) {
831 color: var(--in-content-selected-text);
834 /* === END common.inc.css === */
837 background-color: transparent;
842 xul|colorpicker[type="button"],
847 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
853 padding-inline-start: 0;
857 -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
858 padding-inline-start: 0;
862 xul|*.checkbox-icon {
863 margin-inline-end: 0;
866 .text-link:-moz-focusring {
867 border: 1px dotted -moz-DialogText;