browser/metro/theme/platform.css

Wed, 31 Dec 2014 06:55:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:55:50 +0100
changeset 2
7e26c7da4463
permissions
-rw-r--r--

Added tag UPSTREAM_283F7C6 for changeset ca08bd8f51b2

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

mercurial