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);
77 xul|caption > xul|checkbox,
78 xul|caption > xul|label {
85 padding-inline-end: 48px; /* orig is 44px to compensate the 4px margin of child elements */
87 padding-inline-start: 48px;
91 xul|prefpane > xul|*.content-box {
98 -moz-appearance: none;
101 padding-inline-start: 0;
102 padding-inline-end: 0;
106 xul|groupbox xul|label:not(.menu-accel):not(.menu-text):not(.indent),
107 xul|groupbox xul|description {
108 / !important needed to override toolkit !important rule /
109 margin-inline-start: 0 !important;
110 margin-inline-end: 0 !important;
113 /* tabpanels and tabs */
116 -moz-appearance: none;
121 background-color: transparent;
127 border-top: 1px solid var(--in-content-box-border-color);
128 border-bottom: 1px solid var(--in-content-box-border-color);
129 background-color: var(--in-content-page-background);
138 -moz-appearance: none;
142 color: var(--in-content-tab-color);
143 background-color: var(--in-content-page-background);
145 / !important overrides tabbox.css RTL and visuallyselected rules /
146 border-radius: 0 !important;
147 transition: background-color 50ms ease 0s;
151 background-color: var(--in-content-box-background-hover);
155 background-color: var(--in-content-box-background-hover);
156 padding-bottom: 0; / compensate the 4px border /
157 border-bottom: 4px solid var(--in-content-border-highlight);
169 border: 1px outset var(--in-content-box-border-color);
170 background-color: var(--in-content-box-background);
171 color: var(--in-content-text-color);
172 /* override forms.css */
176 /* xul buttons and menulists */
180 xul|colorpicker[type="button"],
182 -moz-appearance: none;
184 color: var(--in-content-text-color);
185 border: 1px solid var(--in-content-box-border-color);
186 -moz-border-top-colors: none !important;
187 -moz-border-right-colors: none !important;
188 -moz-border-bottom-colors: none !important;
189 -moz-border-left-colors: none !important;
191 background-color: var(--in-content-page-background);
194 html|button:enabled:hover,
195 html|select:enabled:hover,
196 xul|button:not([disabled="true"]):hover,
197 xul|colorpicker[type="button"]:not([disabled="true"]):hover,
198 xul|menulist:not([disabled="true"]):hover {
201 html|button:enabled:hover:active,
202 html|select:enabled:hover:active,
203 xul|button:not([disabled="true"]):hover:active,
204 xul|colorpicker[type="button"]:not([disabled="true"]):hover:active,
205 xul|menulist[open="true"]:not([disabled="true"]) {
206 border: 1px inset var(--in-content-box-border-color);
209 html|button:disabled,
210 html|select:disabled,
211 xul|button[disabled="true"],
212 xul|colorpicker[type="button"][disabled="true"],
213 xul|menulist[disabled="true"] {
214 border: 1px outset var(--in-content-box-border-color);
215 color: var(--in-content-disabled-text);
219 background-color: var(--in-content-primary-button-background);
220 border-color: transparent;
221 color: var(--in-content-selected-text);
224 html|button.primary:enabled:hover,
225 xul|button.primary:not([disabled="true"]):hover {
226 background-color: var(--in-content-primary-button-background-hover);
229 html|button.primary:enabled:hover:active,
230 xul|button.primary:not([disabled="true"]):hover:active {
231 background-color: var(--in-content-primary-button-background-active);
234 xul|colorpicker[type="button"] {
239 xul|button > xul|*.button-box,
240 xul|menulist > xul|*.menulist-label-box {
241 padding-right: 10px !important;
242 padding-left: 10px !important;
245 xul|menulist > xul|*.menulist-label-box > xul|*.menulist-icon[src] {
246 margin-inline-end: 5px;
249 xul|button[type="menu"] > xul|*.button-box > xul|*.button-menu-dropmarker {
250 -moz-appearance: none;
252 margin-inline-start: 10px;
257 background-color: transparent;
258 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
263 margin-inline-end: 0;
265 background-image: none;
267 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
270 xul|*.help-button:not([disabled="true"]):hover {
271 background-image: none;
272 / Override default button background /
273 background-color: transparent;
274 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
276 xul|*.help-button:not([disabled="true"]):hover:active {
277 background-image: none;
278 / Override default button background /
279 background-color: transparent;
280 list-style-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
283 xul|*.close-icon > xul|*.button-box,
284 xul|*.help-button > xul|*.button-box {
287 padding-right: 0 !important;
288 padding-left: 0 !important;
291 xul|*.help-button > xul|*.button-box > xul|*.button-icon {
296 xul|*.help-button > xul|*.button-box > xul|*.button-text {
305 display: inline-block;
306 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help");
307 background-repeat: no-repeat;
308 background-position: center center;
309 background-size: contain;
312 html|*.help-button:hover {
313 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-hover");
316 html|*.help-button:hover:active {
317 background-image: url("chrome://global/skin/in-content/help-glyph.svg#help-pressed");
320 xul|*.spinbuttons-button {
322 margin-inline-start: 10px !important;
323 margin-inline-end: 2px !important;
326 xul|*.spinbuttons-up {
327 margin-top: 2px !important;
328 border-radius: 1px 1px 0 0;
331 xul|*.spinbuttons-down {
332 margin-bottom: 2px !important;
333 border-radius: 0 0 1px 1px;
336 xul|*.spinbuttons-button > xul|*.button-box {
337 padding: 1px 5px 2px !important;
340 xul|*.spinbuttons-up > xul|*.button-box > xul|*.button-icon {
341 list-style-image: url("chrome://global/skin/arrow/arrow-up.gif");
344 xul|*.spinbuttons-up[disabled="true"] > xul|*.button-box > xul|*.button-icon {
345 list-style-image: url("chrome://global/skin/arrow/arrow-up-dis.gif");
348 xul|*.spinbuttons-down > xul|*.button-box > xul|*.button-icon {
349 list-style-image: url("chrome://global/skin/arrow/arrow-dn.gif");
352 xul|*.spinbuttons-down[disabled="true"] > xul|*.button-box > xul|*.button-icon {
353 list-style-image: url("chrome://global/skin/arrow/arrow-dn-dis.gif");
356 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
357 -moz-appearance: none;
358 margin-inline-end: 4px;
361 background-color: transparent;
362 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
365 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker > xul|*.dropmarker-icon {
370 xul|menulist[disabled="true"]:not([editable="true"]) > xul|*.menulist-dropmarker {
371 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown-disabled")
374 xul|menulist > xul|menupopup,
375 xul|button[type="menu"] > xul|menupopup {
376 -moz-appearance: none;
377 border: 1px solid var(--in-content-box-border-color);
379 background-color: var(--in-content-box-background);
382 xul|menulist > xul|menupopup xul|menu,
383 xul|menulist > xul|menupopup xul|menuitem,
384 xul|button[type="menu"] > xul|menupopup xul|menu,
385 xul|button[type="menu"] > xul|menupopup xul|menuitem {
386 -moz-appearance: none;
388 color: var(--in-content-text-color);
390 padding-bottom: 0.2em;
391 padding-inline-start: 10px;
392 padding-inline-end: 30px;
395 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
396 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"],
397 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[_moz-menuactive="true"],
398 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[_moz-menuactive="true"] {
399 color: var(--in-content-text-color);
400 background-color: var(--in-content-item-hover);
403 xul|menulist > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
404 xul|menulist > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"],
405 xul|button[type="menu"] > xul|menupopup > xul|menu:not([disabled="true"])[selected="true"],
406 xul|button[type="menu"] > xul|menupopup > xul|menuitem:not([disabled="true"])[selected="true"] {
407 color: var(--in-content-selected-text);
408 background-color: var(--in-content-item-selected);
411 xul|menulist > xul|menupopup > xul|menu[disabled="true"],
412 xul|menulist > xul|menupopup > xul|menuitem[disabled="true"],
413 xul|button[type="menu"] > xul|menupopup > xul|menu[disabled="true"],
414 xul|button[type="menu"] > xul|menupopup > xul|menuitem[disabled="true"] {
415 color: var(--in-content-box-border-color);
416 / override the [_moz-menuactive="true"] background color from
418 background-color: transparent;
421 xul|menulist > xul|menupopup xul|menuseparator,
422 xul|button[type="menu"] > xul|menupopup xul|menuseparator {
423 -moz-appearance: none;
426 border-top: 1px solid var(--in-content-box-border-color);
432 html|input[type="text"],
435 -moz-appearance: none;
436 color: var(--in-content-text-color);
437 border: 1px solid var(--in-content-box-border-color);
438 -moz-border-top-colors: none !important;
439 -moz-border-right-colors: none !important;
440 -moz-border-bottom-colors: none !important;
441 -moz-border-left-colors: none !important;
443 background-color: var(--in-content-box-background);
452 / Create a separate rule to unset these styles on .tree-input instead of
453 using :not(.tree-input) so the selector specifity doesn't change. /
454 xul|textbox.tree-input {
456 padding-right: unset;
460 html|input[type="text"],
462 font-family: inherit;
467 html|input[type="text"]:focus,
469 xul|textbox[focused] {
470 border-color: var(--in-content-border-focus);
473 html|input[type="text"]:disabled,
474 html|textarea:disabled,
475 xul|textbox[disabled="true"] {
483 color: var(--in-content-link-color);
484 text-decoration: none;
489 color: var(--in-content-link-color-hover);
490 text-decoration: none;
494 color: var(--in-content-link-color-visited);
498 .text-link:hover:active {
499 color: var(--in-content-link-color-active);
500 text-decoration: none;
503 /* Checkboxes and radio buttons */
505 / Hide the actual checkbox /
506 html|input[type="checkbox"] {
509 pointer-events: none;
513 / Create a box to style as the checkbox /
514 html|input[type="checkbox"] + html|label:before {
515 display: inline-block;
517 vertical-align: middle;
520 html|input[type="checkbox"] + html|label {
525 margin-inline-start: 0;
528 xul|*.checkbox-check,
529 html|input[type="checkbox"] + html|label:before {
530 -moz-appearance: none;
534 border: 1px solid var(--in-content-box-border-color);
535 margin-inline-end: 10px;
536 background-color: #f1f1f1;
537 / !important needed to override toolkit checked !important rule /
538 background-image: linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
539 background-position: center center;
540 background-repeat: no-repeat;
541 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
544 xul|checkbox:not([disabled="true"]):hover > xul|*.checkbox-check,
545 html|input[type="checkbox"]:not(:disabled) + html|label:hover:before {
546 border-color: var(--in-content-border-focus);
549 xul|*.checkbox-check[checked] {
550 background-image: url("chrome://global/skin/in-content/check.png"),
551 / * !important needed to override toolkit !important rule * /
552 linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
555 html|input[type="checkbox"]:checked + html|label:before {
556 background-image: url("chrome://global/skin/in-content/check.svg#check"), linear-gradient(#fff, rgba(255,255,255,0.8)) !important;
559 xul|checkbox[disabled="true"] > xul|*.checkbox-check,
560 html|input[type="checkbox"]:disabled + html|label {
564 xul|*.checkbox-label-box {
565 margin-inline-start: -1px; / * negative margin for the transparent border * /
566 padding-inline-start: 0;
569 xul|richlistitem > xul|*.checkbox-check {
574 margin-inline-start: 0;
578 -moz-appearance: none;
581 border: 1px solid var(--in-content-box-border-color);
583 margin-inline-end: 10px;
584 background-color: #f1f1f1;
585 background-image: linear-gradient(#fff, rgba(255,255,255,0.80));
586 box-shadow: 0 1px 1px 0 #fff, inset 0 2px 0 0 rgba(0,0,0,0.03);
589 xul|radio:not([disabled="true"]):hover > xul|*.radio-check {
590 border-color: var(--in-content-border-focus);
593 xul|*.radio-check[selected] {
594 list-style-image: url("chrome://global/skin/in-content/radio.svg#radio");
597 xul|radio[disabled="true"] > xul|*.radio-check {
601 xul|*.radio-label-box {
602 margin-inline-start: -1px; / * negative margin for the transparent border * /
603 margin-inline-end: 10px;
604 padding-inline-start: 0;
610 -moz-appearance: none;
611 background-color: var(--in-content-category-background);
618 -moz-appearance: none;
619 color: var(--in-content-category-text);
620 border-inline-end-width: 0;
621 padding-inline-start: 15px;
622 padding-inline-end: 21px;
624 transition: background-color 150ms;
628 background-color: var(--in-content-category-background-hover);
631 *|*.category[selected],
632 *|*.category.selected {
633 background-color: var(--in-content-category-background-active);
634 color: var(--in-content-category-text-selected);
635 padding-inline-start: 11px; /* compensate the 4px border */
636 border-inline-start: solid 4px var(--in-content-border-highlight);
639 *|*#categories[keyboard-navigation="true"]:-moz-focusring > xul|*.category[current] {
640 border-top: var(--in-content-category-border-focus);
641 border-bottom: var(--in-content-category-border-focus);
648 padding-inline-start: 9px;
650 -moz-user-select: none;
661 margin-inline-end: 4px; / add the 4px end-margin of other elements /
662 border-bottom: 1px solid var(--in-content-header-border-color);
664 padding-bottom: 15px;
665 -moz-box-align: baseline;
673 -moz-user-select: none;
679 -moz-appearance: none;
680 background-color: transparent;
685 xul|*.fileFieldContentBox {
686 background-color: transparent;
689 xul|*.fileFieldIcon {
690 margin-inline-start: 10px;
691 margin-inline-end: 0;
694 xul|*.fileFieldLabel {
695 margin-inline-start: -26px;
696 padding-inline-start: 36px;
699 xul|textbox:-moz-locale-dir(rtl),
700 xul|*.fileFieldLabel:-moz-locale-dir(rtl),
701 xul|textbox + xul|button:-moz-locale-dir(ltr),
702 xul|filefield + xul|button:-moz-locale-dir(ltr) {
703 border-top-left-radius: 0;
704 border-bottom-left-radius: 0;
707 xul|textbox:-moz-locale-dir(ltr),
708 xul|*.fileFieldLabel:-moz-locale-dir(ltr),
709 xul|textbox + xul|button:-moz-locale-dir(rtl),
710 xul|filefield + xul|button:-moz-locale-dir(rtl) {
711 border-top-right-radius: 0;
712 border-bottom-right-radius: 0;
715 xul|textbox + xul|button,
716 xul|filefield + xul|button {
717 border-inline-start: none;
724 -moz-appearance: none;
725 margin-inline-start: 0;
726 background-color: var(--in-content-box-background);
727 border: 1px solid var(--in-content-box-border-color);
728 color: var(--in-content-text-color);
731 xul|treechildren::-moz-tree-row,
732 xul|listbox xul|listitem {
737 background-image: none;
740 xul|treechildren::-moz-tree-row(hover),
741 xul|listbox xul|listitem:hover {
742 background-color: var(--in-content-item-hover);
745 xul|treechildren::-moz-tree-row(selected),
746 xul|listbox xul|listitem[selected="true"] {
747 background-color: var(--in-content-item-selected);
748 color: var(--in-content-selected-text);
754 -moz-appearance: none;
756 border: 1px solid var(--in-content-box-border-color);
757 background-color: var(--in-content-box-background);
761 xul|tree:-moz-focusring,
762 xul|richlistbox:-moz-focusring {
763 border: 1px dotted var(--in-content-border-focus);
768 -moz-appearance: none;
770 border-bottom: 1px solid var(--in-content-box-border-color);
774 .autocomplete-tree > xul|treecols {
775 border-bottom: none !important;
778 xul|treecol:not([hideheader="true"]),
780 -moz-appearance: none;
782 background-color: var(--in-content-box-background-hover);
787 xul|treecol:not([hideheader="true"]):not([sortable="false"]):hover,
788 xul|treecolpicker:hover {
789 background-color: var(--in-content-box-background-active);
790 color: var(--in-content-text-color);
793 xul|treecol:not([hideheader="true"]):not(:first-child),
795 border-inline-start-width: 1px;
796 border-inline-start-style: solid;
797 border-image: linear-gradient(transparent 0%, transparent 20%, #c1c1c1 20%, #c1c1c1 80%, transparent 80%, transparent 100%) 1 1;
800 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection] {
801 list-style-image: url("chrome://global/skin/in-content/dropdown.svg#dropdown");
806 xul|treecol:not([hideheader="true"]) > xul|*.treecol-sortdirection[sortDirection="ascending"] {
807 transform: scaleY(-1);
810 / This is the only way to increase the height of a tree row unfortunately /
811 xul|treechildren::-moz-tree-row {
815 / Color needs to be set on tree cell in order to be applied /
816 xul|treechildren::-moz-tree-cell-text {
817 color: var(--in-content-text-color);
820 xul|treechildren::-moz-tree-cell-text(selected) {
821 color: var(--in-content-selected-text);
824 /* === END common.inc.css === */
827 background-color: transparent;
832 xul|colorpicker[type="button"],
837 xul|menulist:not([editable="true"]) > xul|*.menulist-dropmarker {
843 padding-inline-start: 0;
847 -moz-binding: url("chrome://global/content/bindings/radio.xml#radio");
848 padding-inline-start: 0;
852 xul|*.checkbox-icon {
853 margin-inline-end: 0;
856 .text-link:-moz-focusring {
857 border: 1px dotted -moz-DialogText;