browser/metro/theme/platform.css

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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 }

mercurial