Wed, 31 Dec 2014 06:55:50 +0100
Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2
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 /* Global Skin ------------------------------------------------------------- */
7 @import url(chrome://global/skin/);
9 %filter substitution
10 %include defines.inc
12 /* Typography & General Styling -------------------------------------------- */
14 ::-moz-selection {
15 color: white;
16 background-color: @metro_orange@;
17 }
19 :root {
20 font-family: "Segoe UI", sans-serif !important;
21 font-size: @font_normal@;
22 }
24 .text-link {
25 color: @metro_orange@;
26 text-decoration: none;
27 }
29 textbox,
30 menulist {
31 -moz-appearance: none;
32 min-width: @field_sizing@; /* button size */
33 min-height: @field_sizing@; /* button size */
34 margin: @metro_spacing_small@;
35 padding: @metro_spacing_xsmall@ @metro_spacing_small@;
37 font-size: @metro_font_normal@;
38 font-weight: normal !important;
40 color: @field_foreground_color@;
41 background: @field_background_color@;
42 border: @metro_border_thick@ solid @field_foreground_color@ !important;
43 border-radius: 0;
44 }
46 textbox[disabled],
47 menulist[disabled] {
48 border-color: @field_disabled_foreground_color@ !important;
49 color: @field_disabled_foreground_color@;
50 }
52 menulist:not([disabled]):hover:active {
53 color: @field_background_color@;
54 background: @field_foreground_color@;
55 }
57 /* Button ------------------------------------------------------------------ */
59 button {
60 -moz-appearance: none;
61 border: 1px solid;
62 font-size: @metro_font_normal@;
63 font-weight: normal;
64 margin: @metro_spacing_small@;
65 min-width: @field_sizing@;
66 min-height: 32px;
67 padding: 3px 16px;
68 }
70 /* Non-default button colors */
72 button {
73 background: linear-gradient(to bottom, hsl(210, 5%, 89%), hsl(210, 5%, 87%));
74 border-color: hsl(220, 5%, 86%);
75 color: hsl(0, 0%, 10%);
76 }
78 button:not([disabled]):hover {
79 background: linear-gradient(to bottom, hsl(210, 5%, 75%), hsl(210, 5%, 73%));
80 border-color: hsl(210, 5%, 71%);
81 color: hsl(0, 0%, 10%);
82 }
84 /* Default button colors */
86 button[default],
87 .notification-button-default {
88 background: linear-gradient(to bottom, hsl(35, 100%, 50%), hsl(30, 100%, 50%));
89 border-color: hsl(30, 100%, 48%);
90 color: white;
91 }
93 button[default]:not([disabled]):hover,
94 .notification-button-default:not([disabled]):hover {
95 background: linear-gradient(to bottom, hsl(25, 100%, 47%), hsl(25, 100%, 45%));
96 border-color: hsl(25, 100%, 43%);
97 color: white;
98 }
100 /* Pushed button colors (both default and non-default */
102 /* Note: these need enough specificity to override all the :hover rules above. */
103 button:not([disabled]):hover:active,
104 button:not([disabled])[checked="true"],
105 button[default]:not([disabled])[checked="true"],
106 .notification-button-default:not([disabled])[checked="true"] {
107 background: linear-gradient(to bottom, hsl(210, 5%, 28%), hsl(210, 5%, 25%));
108 border-color: hsl(216, 4%, 27%);
109 color: white;
110 }
112 /* Disabled button colors (both default and non-default */
114 button[disabled] {
115 background: linear-gradient(to bottom, hsl(210, 3%, 93%), hsl(210, 3%, 92%));
116 border-color: hsl(210, 3%, 91%);
117 color: hsl(0, 0%, 60%);
118 }
120 /* Textbox ----------------------------------------------------------------- */
122 textbox[isempty="true"] {
123 color: @field_mid_foreground_color@;
124 }
126 spinbuttons {
127 border: none;
128 }
130 .spinbuttons-box {
131 border: none;
132 -moz-box-orient: horizontal;
133 -moz-box-direction: reverse;
134 }
136 .spinbuttons-down,
137 .spinbuttons-up {
138 border: none !important;
139 }
141 .spinbuttons-down {
142 list-style-image: url("chrome://browser/skin/images/arrowdown-16.png");
143 }
145 .spinbuttons-up {
146 list-style-image: url("chrome://browser/skin/images/arrowup-16.png");
147 }
149 /* Menu List --------------------------------------------------------------- */
151 menulist {
152 -moz-user-focus: ignore;
153 padding: @metro_spacing_xsmall@ 0;
154 -moz-padding-start: @metro_spacing_small@;
155 border-color: @field_disabled_foreground_color@ !important;
156 }
158 /* Popup Menus ------------------------------------------------------------- */
160 .menu-container {
161 position: absolute;
162 opacity: 0;
163 }
165 .menu-container[showingfrom="below"] {
166 transform: translateY(@metro_spacing_normal@);
167 }
169 .menu-container[showingfrom="above"] {
170 transform: translateY(-@metro_spacing_normal@);
171 }
173 .menu-container[hiding],
174 .menu-container[showing] {
175 transition: opacity ease-out 0.2s,
176 transform ease-out 0.2s;
177 }
179 .menu-container[showing] {
180 opacity: 1;
181 transform: none;
182 }
184 .menu-popup > richlistbox {
185 padding: 3px 0;
186 border: #000 solid @metro_border_thick@;
187 -moz-appearance: none;
188 display: -moz-box;
189 }
191 .menu-popup > richlistbox > scrollbox {
192 width: 100%;
193 overflow-x: hidden !important;
194 }
196 .menu-popup richlistitem {
197 width: 100%;
198 min-height: @touch_button_small@;
199 min-width: @touch_action_minwidth@; /* keep the button from being too narrow */
200 border: 0 none;
201 -moz-box-align: center;
202 font-weight: 600;
203 }
204 .menu-popup > richlistbox > richlistitem {
205 -moz-padding-end: 50px;
206 }
207 /* Additional styles applied to popups for form <select> elements. */
208 #select-container {
209 padding: 0;
210 position: absolute;
211 background-color: transparent;
212 }
214 #select-commands {
215 -moz-appearance: none;
216 background-color: white;
217 border: #000 solid @metro_border_thick@;
218 display: -moz-box;
219 -moz-user-focus: ignore;
220 -moz-box-align: stretch;
221 width: 100%;
222 }
224 /* ensure click events are dispatched targetting the select option not the label */
225 #select-commands > .option-command > label {
226 pointer-events: none;
227 }
229 /* listcell element doesn't have flex="1" so we need to force it */
230 .option-command > listcell {
231 -moz-box-flex: 1 !important;
232 }
234 .option-command {
235 min-height: @touch_button_small@;
236 min-width: @touch_action_minwidth@; /* keep the button from being too narrow */
237 border: 0 none;
238 }
240 .option-command.optgroup {
241 font-weight: bold;
242 font-style: italic;
243 pointer-events: none;
244 }
246 .select-popup > richlistbox > scrollbox {
247 width: 100%;
248 overflow-x: hidden !important;
249 }
251 /* Toolbar Button --------------------------------------------------------- */
253 toolbarbutton {
254 min-width: @metro_spacing_large@; /* primary button size */
255 min-height: @metro_spacing_large@; /* primary button size */
256 -moz-appearance: none;
257 margin: 0;
258 padding: @metro_spacing_xsmall@;
259 }
261 toolbarbutton:not(.show-text) .toolbarbutton-text {
262 display: none;
263 }
265 .toolbarbutton-icon[label]:not([label=""]),
266 .toolbarbutton-icon[type="menu"] {
267 -moz-margin-end: @metro_spacing_xsmall@;
268 }
270 toolbarbutton:not(.show-text) .toolbarbutton-icon,
271 toolbarbutton:not([image]) .toolbarbutton-icon,
272 toolbarbutton[image=''] .toolbarbutton-icon {
273 -moz-margin-end: 0;
274 }
276 toolbarbutton:hover,
277 toolbarbutton:hover:active,
278 toolbarbutton[open="true"] {
279 border-color: transparent;
280 }
282 /* Toggleswitch ------------------------------------------------------------ */
284 checkbox.toggleswitch {
285 margin: @metro_spacing_small@;
286 min-height: @metro_spacing_normal@;
287 font-weight: bold;
288 }
290 checkbox.toggleswitch hbox {
291 -moz-box-align: center;
292 }
294 checkbox.toggleswitch:not([checked]) .onlabel,
295 checkbox.toggleswitch[checked] .offlabel {
296 display: none;
297 }
299 checkbox.toggleswitch radiogroup {
300 border: @metro_border_thick@ solid @field_disabled_foreground_color@;
301 -moz-box-orient: horizontal;
302 }
304 checkbox.toggleswitch radio {
305 -moz-appearance: none;
306 margin: 0;
307 border: 0 none;
308 border-radius: 0;
309 background: 0 none;
310 padding: 0;
311 min-height: @metro_spacing_normal@;
312 height: @metro_spacing_normal@;
313 }
315 checkbox.toggleswitch[checked] radio.checkbox-radio-on,
316 checkbox.toggleswitch:not([checked]) radio.checkbox-radio-off {
317 width: @metro_spacing_normal@;
318 min-width: @metro_spacing_normal@;
319 background: #000;
320 margin: -@metro_border_thick@;
321 }
323 checkbox.toggleswitch[checked] radio.checkbox-radio-off,
324 checkbox.toggleswitch:not([checked]) radio.checkbox-radio-on {
325 width: @metro_spacing_xxxnormal@;
326 min-width: @metro_spacing_xxxnormal@;
327 margin: @metro_border_thin@;
328 }
330 checkbox.toggleswitch:not([checked]) radio.checkbox-radio-on {
331 background: @field_disabled_foreground_color@;
332 }
334 checkbox.toggleswitch[checked] radio.checkbox-radio-off {
335 background: @selected_color@;
336 }
338 checkbox.toggleswitch[checked] radio:last-child {
339 -moz-margin-start: 0;
340 }
342 checkbox.toggleswitch[checked] radio:first-child {
343 -moz-margin-end: 0;
344 }
346 /* Color Picker ------------------------------------------------------------ */
348 colorpicker > panel {
349 background-color: #767973;
350 }
352 colorpicker > vbox {
353 background-color: #767973;
354 }
356 /* Rich List Box ---------------------------------------------------------- */
358 richlistbox {
359 -moz-user-focus: ignore;
360 margin: 0;
361 }
363 richlistitem {
364 -moz-user-focus: ignore;
365 min-height: @metro_spacing_normal@; /* row size */
366 padding: @metro_spacing_small@;
367 }
369 richlistitem label.normal,
370 richlistitem description.normal,
371 richlistitem label.normal-black,
372 richlistitem description.normal-black,
373 richlistitem label.normal-bold,
374 richlistitem description.normal-bold{
375 white-space: pre-wrap;
376 word-wrap: break-word;
377 }
379 richlistitem label.normal,
380 richlistitem description.normal {
381 color: gray;
382 }
384 richlistitem label.normal-bold,
385 richlistitem description.normal-bold {
386 font-weight: bold;
387 }
389 richlistitem[selected],
390 richlistitem:not([disabled]):not([selected]):active {
391 background-color: @metro_orange@;
392 color: #fff;
393 }
395 richlistitem:not([disabled]):not([selected]):hover {
396 background-color: #ccc;
397 }
399 richlistitem.section-header,
400 richlistitem[selected].section-header {
401 font-weight: bold;
402 color: #000;
403 background-color: lightgray;
404 }
406 richlistitem[selected] .hide-on-select,
407 richlistitem .show-on-select {
408 visibility: collapse;
409 }
411 richlistitem[selected] .show-on-select,
412 richlistitem .hide-on-select {
413 visibility: visible;
414 }
416 richlistitem[typeName="message"] {
417 border-bottom: 0;
418 }
420 /* Notification box ("info app bar") ---------------------------------------- */
422 notification {
423 background: hsl(0, 0%, 98%);
424 border-bottom: 1px solid hsla(0, 0%, 0%, .07);
425 box-shadow: 0 0 10px hsla(0, 0%, 0%, .1);
426 min-height: 64px;
427 }
429 notificationbox[count="0"] .notification-layer,
430 notificationbox[count="1"] .notification-layer,
431 notificationbox[count="2"] .notification-layer[anonid="layer2"] {
432 visibility: collapse;
433 }
435 notificationbox[count="2"] .notification-layer[anonid="layer1"],
436 notificationbox[count="3"] .notification-layer[anonid="layer1"],
437 notificationbox[count="3"] .notification-layer[anonid="layer2"] {
438 visibility: visible;
439 }
441 .notification-layer {
442 border: @metro_border_thin@ solid @field_disabled_foreground_color@;
443 border-bottom: none;
444 height:5px
445 }
447 .notification-inner {
448 border-style: none;
449 border: @metro_border_thin@ solid @field_disabled_foreground_color@;
450 }
452 .notification-button {
453 -moz-margin-start: 0;
454 -moz-margin-end: 20px;
455 }
457 .messageImage {
458 width: 32px;
459 height: 32px;
460 -moz-margin-start: 40px;
461 -moz-margin-end: 16px;
462 }
464 /* If there is no image set, collapse the image but keep the starting margin */
465 .messageImage:not([src]) {
466 width: 0;
467 -moz-margin-end: 0;
468 }
470 .messageText {
471 margin: 0;
472 }
474 .messageCloseButton {
475 list-style-image: url("chrome://browser/skin/images/infobar-close.png");
476 padding: 0;
477 -moz-margin-start: 0;
478 -moz-margin-end: 40px;
479 -moz-image-region: rect(0, 40px, 40px, 0);
480 }
482 .messageCloseButton > .toolbarbutton-icon {
483 margin: 0;
484 }
486 .messageCloseButton:hover {
487 -moz-image-region: rect(0, 80px, 40px, 40px);
488 }
490 .messageCloseButton:hover:active {
491 -moz-image-region: rect(0, 120px, 40px, 80px);
492 }
494 .notification-link {
495 /* Make the link take up all the space before the buttons. */
496 -moz-box-flex: 9999;
497 }
499 /* ensure the notification children pick up snapped-view box property overrides */
500 .notification-button.box-inherit {
501 -moz-margin-start: inherit;
502 -moz-margin-end: inherit;
503 width: inherit;
504 display: inherit;
505 overflow: inherit;
506 }
508 @media (max-width: 330px) {
509 /* notifications need layout tweaks in narrow viewport
510 */
511 .notification-button {
512 display: block;
513 width: calc(100% - 40px);
514 overflow: visible;
515 -moz-margin-start: 40px;
516 -moz-margin-end: 0;
517 }
519 .notification-inner {
520 display: block;
521 padding: @metro_spacing_xnormal@;
522 }
523 .notification-inner > [anonid="details"] {
524 display: inline-block;
525 width: calc(100% - 48px);
526 }
528 .notification-inner > .messageCloseButton {
529 display: inline-block;
530 vertical-align: top;
531 -moz-margin-start: 8px;
532 -moz-margin-end: 0;
533 }
534 .notification-inner > [anonid="details"] > .messageImage {
535 display: inline;
536 vertical-align: top;
537 -moz-margin-start: 0;
538 -moz-margin-end: 8px;
539 }
540 .notification-inner > [anonid="details"] > .messageText {
541 display: inline-block;
542 width: calc(100% - 40px);
543 overflow: visible;
544 }
546 }
548 /* Prompts ----------------------------------------------------------------- */
550 .mainContainer {
551 padding: 5vh 10vw;
552 }
554 .info\.title {
555 font-size: @metro_font_large@;
556 border-bottom: 1px solid #C7C7C7;
557 padding-bottom: @metro_spacing_normal@;
558 width: 100%;
559 margin-left: 0;
560 margin-right: 0;
561 }
563 .info\.body {
564 font-size: @metro_font_normal@;
565 padding-bottom: @metro_spacing_normal@;
566 height: 100%;
567 max-height: 30vh;
568 max-width: 55vw;
569 }
571 .buttonContainer {
572 background-color: transparent;
573 border: none;
574 }
576 .buttonContainer > button {
577 min-width: @touch_action_minwidth@;
578 margin: 5px 0 5px @metro_spacing_xnormal@;
579 }
581 /* set all the things to display block to allow body to grow with content and
582 obey overflow auto. Except on authentication prompts because a grid is used to
583 align labels and textboxes. */
584 tabmodalprompt:not([promptType="promptUserAndPass"]) .info\.body,
585 tabmodalprompt:not([promptType="promptUserAndPass"]) .infoContainer,
586 tabmodalprompt:not([promptType="promptUserAndPass"]) .topContainer,
587 tabmodalprompt:not([promptType="promptUserAndPass"]) .topContainer > rows > row:not([hidden]),
588 tabmodalprompt:not([promptType="promptUserAndPass"]) .topContainer > rows {
589 display: block;
590 }
592 tabmodalprompt:not([promptType="promptUserAndPass"]) .infoContainer {
593 overflow: auto;
594 }
596 .topContainer > rows > row > label {
597 margin-left: 0;
598 }
600 .topContainer > rows > row > checkbox {
601 -moz-margin-start: 0;
602 -moz-padding-start: 0;
603 }
605 .topContainer > rows > row > textbox {
606 font-size: @metro_font_normal@;
607 height: 40px;
608 margin: 5px 0;
609 width: 100%;
610 }
612 .topContainer > rows > row > textbox[focused] {
613 border-color: @metro_orange@ !important;
614 }
616 #stack[keyboardVisible] tabmodalprompt > spacer {
617 min-height: 20px;
618 max-height: 20px;
619 }
621 #stack[keyboardVisible] tabmodalprompt .info\.body {
622 max-height: 15vh;
623 }
625 @media (max-width: 600px) {
626 .mainContainer {
627 padding: 5vh 5vw;
628 width: 90vw;
629 }
631 .buttonContainer > button {
632 min-width: @touch_action_snapped_minwidth@;
633 }
634 }
636 /*.meta -------------------------------------------------------------------- */
638 .meta {
639 background-color: @panel_light_color@;
640 }
642 /* needs to observe the viewstate */
643 .meta-section-container {
644 padding: 45px 75px 0;
645 -moz-box-orient: horizontal;
646 }
648 .meta-section-container[viewstate="snapped"],
649 .meta-section-container[viewstate="portrait"] {
650 -moz-box-orient: vertical;
651 -moz-box-flex: 1;
652 }
654 .meta-section-container[viewstate="snapped"] {
655 padding: 0;
656 }
658 .meta-section {
659 margin: 0 @metro_spacing_large@;
660 }
662 .meta-section-container[viewstate="snapped"] > .meta-section {
663 margin: 0 @metro_spacing_xnormal@;
664 }
666 .meta-section-title {
667 margin: @metro_spacing_normal@ @tile_side_margin@;
668 font-size: @metro_font_large@;
669 font-weight: 100;
670 cursor: default;
671 }
673 .meta-section-title.wide-title {
674 font-size: @metro_font_xlarge@;
675 margin-bottom: calc(40px - @tile_side_margin@);
676 }
678 .meta-section:not([expanded]) > .meta-section-title.narrow-title:after {
679 content: ">";
680 }
682 .meta-section-container:not([viewstate="snapped"]) .meta-section-title.narrow-title,
683 .meta-section-container[viewstate="snapped"] .meta-section-title.wide-title {
684 display: none;
685 }
687 .meta-section-container[viewstate="snapped"] .meta-section-title,
688 .meta-section-container[viewstate="snapped"] richgrid {
689 margin-top: @metro_spacing_xnormal@;
690 padding: 0;
691 }
693 .meta-section > richgrid {
694 opacity: 1;
695 transform: translateX(0) translateY(0);
696 transition-duration: 367ms;
697 transition-delay: 500ms;
698 transition-timing-function: @metro_animation_easing@;
699 }
701 .meta-section:nth-child(2) > richgrid {
702 transition-delay: 600ms;
703 }
704 .meta-section:nth-child(3) > richgrid {
705 transition-delay: 700ms;
706 }
707 .meta-section:nth-child(4) > richgrid {
708 transition-delay: 800ms;
709 }
711 .meta-section > richgrid[fade] {
712 opacity: 0;
713 transform: translateX(150px) translateY(25px);
714 }
716 #start-container[viewstate="snapped"] .meta-section > richgrid {
717 transition-property: none;
718 }
720 /* Autocomplete ----------------------------------------------------------------- */
722 #urlbar-autocomplete-scroll:not([autocomplete]) {
723 transform: translateY(calc(3 * @grid_row_height@ + 64px));
724 visibility: collapse;
725 }
727 #urlbar-autocomplete-scroll[autocomplete] {
728 height: calc(3 * @grid_row_height@ + 64px);
729 max-height: calc(3 * @grid_row_height@ + 64px);
730 transform: translateY(0);
731 transition-timing-function: @metro_animation_easing@;
732 transition-property: transform;
733 transition-duration: @metro_animation_duration@;
734 transition-delay: 0s;
735 visibility: visible;
736 }
738 #urlbar-autocomplete-scroll:not([autocomplete]) > .meta-section-container > .meta-section {
739 opacity: 0;
740 }
742 #urlbar-autocomplete > .meta-section {
743 opacity: 1;
744 transition-property: opacity;
745 transition-timing-function: @metro_animation_easing@;
746 transition-duration: @metro_animation_duration@;
747 transition-delay: 0s;
748 visibility: visible;
749 }
751 #urlbar-autocomplete[nomatch] > .meta-section[anonid="results-container"] {
752 opacity: 0;
753 visibility: collapse;
754 }
756 #urlbar-autocomplete richgriditem:not([value]) {
757 visibility: collapse;
758 }
760 /* App bars ----------------------------------------------------------------- */
762 appbar {
763 display: block;
764 position: fixed;
765 bottom: 0;
766 width: 100%;
767 transform: translateY(100%);
768 transition: transform @metro_animation_duration@ @metro_animation_easing@;
769 font-size: 0;
770 visibility: hidden;
771 }
773 appbar[hiding],
774 appbar[visible] {
775 visibility: visible;
776 }
778 appbar[visible] {
779 transform: none;
780 }
782 #stack[keyboardVisible] > appbar {
783 /* Slow the bottom up transition since it's impossible to match the system's
784 soft keyboard movement. */
785 transition: transform @metro_animation_duration@ @metro_animation_easing@,
786 bottom @appbar_keyboard_slideup_duration@ @appbar_keyboard_slideup_easing@ @appbar_keyboard_slideup_delay@;
787 }
790 appbar toolbar {
791 -moz-appearance: none;
792 -moz-box-align: center;
793 border: 0;
794 width: 100%;
795 min-height: @toolbar_height@;
796 font-size: 1rem;
797 }
799 appbar toolbar toolbarbutton {
800 border: 0;
801 margin: 0 @toolbar_horizontal_spacing@;
802 padding: 0;
803 /* Don't inherit background-color from toolbarbutton[checked="true"] */
804 background-color: transparent;
805 }
807 appbar toolbar toolbarbutton[disabled] {
808 visibility: collapse;
809 }
811 appbar toolbar[labelled] {
812 min-height: @labelled_toolbar_height@;
813 }
815 appbar toolbar[labelled] toolbarbutton {
816 -moz-box-orient: vertical;
817 }
819 appbar toolbar[labelled] toolbarbutton > .toolbarbutton-text {
820 display: block;
821 padding-top: @metro_spacing_small@;
822 font-size: 0.75rem;
823 }
825 /* Sprites */
827 .appbar-primary .toolbarbutton-icon,
828 .appbar-secondary .toolbarbutton-icon {
829 width: 40px;
830 height: 40px;
831 }
833 /* Primary sprite format: one button per sprite.
835 States from left to right:
836 normal, hover, active/toggled, toggled+hover, toggled+active. */
838 .appbar-primary {
839 -moz-image-region: rect(0 40px 40px 0);
840 }
842 .appbar-primary:not([checked]):hover:not(:active):not([disabled]) {
843 -moz-image-region: rect(0 80px 40px 40px);
844 }
846 .appbar-primary:not([checked]):active:not([disabled]),
847 .appbar-primary[checked] {
848 -moz-image-region: rect(0 120px 40px 80px);
849 }
851 .appbar-primary[checked]:hover:not(:active):not([disabled]) {
852 -moz-image-region: rect(0 160px 40px 120px);
853 }
855 .appbar-primary[checked]:active:not([disabled]) {
856 -moz-image-region: rect(0 200px 40px 160px);
857 }
859 @media (min-resolution: @min_res_140pc@) {
860 .appbar-primary {
861 -moz-image-region: rect(0 56px 56px 0);
862 }
864 .appbar-primary:not([checked]):hover:not(:active):not([disabled]) {
865 -moz-image-region: rect(0 112px 56px 56px);
866 }
868 .appbar-primary:not([checked]):active:not([disabled]),
869 .appbar-primary[checked] {
870 -moz-image-region: rect(0 168px 56px 112px);
871 }
873 .appbar-primary[checked]:hover:not(:active):not([disabled]) {
874 -moz-image-region: rect(0 224px 56px 168px);
875 }
877 .appbar-primary[checked]:active:not([disabled]) {
878 -moz-image-region: rect(0 280px 56px 224px);
879 }
880 }
882 @media (min-resolution: @min_res_180pc@) {
883 .appbar-primary {
884 -moz-image-region: rect(0 72px 72px 0);
885 }
887 .appbar-primary:not([checked]):hover:not(:active):not([disabled]) {
888 -moz-image-region: rect(0 144px 72px 72px);
889 }
891 .appbar-primary:not([checked]):active:not([disabled]),
892 .appbar-primary[checked] {
893 -moz-image-region: rect(0 216px 72px 144px);
894 }
896 .appbar-primary[checked]:hover:not(:active):not([disabled]) {
897 -moz-image-region: rect(0 288px 72px 216px);
898 }
900 .appbar-primary[checked]:active:not([disabled]) {
901 -moz-image-region: rect(0 360px 72px 288px);
902 }
903 }
905 /* Secondary sprite format: one sprite for everything */
907 .appbar-secondary {
908 list-style-image: url(chrome://browser/skin/images/appbar-icons.png);
909 }
911 /* Flyout panels (sidebars) ------------------------------------------------- */
913 .flyout-narrow {
914 width: 346px;
915 }
917 /* Some elements don't resize to fit their container properly for some reason.
918 * Setting max-width on the element or a child fixes it. */
919 .flyout-narrow .flyoutpanel-hack {
920 max-width: calc(346px - 2 * 40px);
921 }
923 .console-row-code {
924 padding-top: 2px;
925 font-size: small;
926 }