main.css revision 2385ea399aae016c0806a4f9ef3c9cfe3d2a39df
1/* Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 * Use of this source code is governed by a BSD-style license that can be 3 * found in the LICENSE file. 4 */ 5 6html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, 7blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, 8font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, 9dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, 10tfoot, thead, tr, th, td, button { 11 margin: 0; 12 padding: 0; 13 border: 0; 14 font-weight: inherit; 15 font-style: inherit; 16 font-size: 100%; 17 font-family: inherit; 18 vertical-align: baseline; 19} 20 21body { 22 font-family: "Arial", "Helvetica", sans-serif; 23 color: #222; 24 font-size: 13px; 25 margin: 0; 26 padding: 20px 20px 0 20px; 27 direction: __MSG_@@bidi_dir__; 28} 29 30/* 31* The "app-v2" class is added to the <html> node by remoting.init if it's 32* running as a V2 app. 33*/ 34body.apps-v2 .apps-v1-only { 35 display: none !important; 36} 37 38a { 39 text-decoration: none; 40 color: #15c; 41 cursor: pointer; 42} 43 44a:active { 45 color: #d14836; 46} 47 48strong, b { 49 color: #000; 50} 51 52/*------------------------------------------------------------------ 53Component: Buttons 54------------------------------------------------------------------*/ 55button { 56 min-width: 72px; 57 border:1px solid #DCDCDC; 58 color: #444; 59 font-size: 11px; 60 font-weight: bold; 61 height: 27px; 62 padding: 0 8px; 63 line-height: 27px; 64 border-radius:2px; 65 -webkit-transition: all 0.218s; 66 background-image: -webkit-gradient(linear, left top, left bottom, 67 from(#f5f5f5), to(#f1f1f1)); 68 box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); 69} 70 71button:hover { 72 border: 1px solid #C6C6C6; 73 color: #222; 74 transition: all 0.0s; 75 background-image: -webkit-gradient(linear, left top, left bottom, 76 from(#f8f8f8), to(#f1f1f1)); 77 box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1); 78} 79 80button:active { 81 background: #f6f6f6 -webkit-gradient(linear,left top,left bottom, 82 from(#f6f6f6),to(#f1f1f1)); 83 box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.2); 84} 85 86button:focus { 87 outline: none; 88 border: 1px solid #4d90fe; 89} 90 91button[disabled], button[disabled]:hover, button[disabled]:active { 92 background: linear-gradient(#fafafa, #f4f4f4 40%, #e5e5e5); 93 border-color: #aaa; 94 color: #888; 95 box-shadow: none; 96} 97 98/* Colored Buttons */ 99.kd-button-share { 100 border: 1px solid #29691d; 101 color: #FFF; 102 text-shadow: 0px 1px rgba(0,0,0,0.1); 103 background-image: -webkit-gradient(linear,left top,left bottom, 104 from(#3d9400),to(#398a00)); 105} 106 107.kd-button-share:hover { 108 border: 1px solid #404040; 109 color: #FFF; 110 text-shadow: 0px 1px rgba(0,0,0,0.3); 111 background-image: -webkit-gradient(linear,left top,left bottom, 112 from(#3d9400),to(#368200)); 113} 114 115.kd-button-share:active, .kd-button-share:focus:active { 116 box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3); 117 background-image: -webkit-gradient(linear,left top,left bottom, 118 from(#3d9400),to(#368200)); 119} 120 121.kd-button-share:focus { 122 border-color:#29691d; 123 box-shadow:inset 0 0 0 1px rgba(255,255,255,0.5); 124} 125 126.kd-button-share:focus:hover { 127 box-shadow:inset 0 0 0 1px #fff, 0px 1px 1px rgba(0,0,0,0.1); 128} 129 130.kd-button-share[disabled], .kd-button-share[disabled]:hover, 131.kd-button-share[disabled]:active { 132 border: 1px solid #505050; 133 color: #FFF; 134 opacity: 0.5; 135 text-shadow: 0px 1px rgba(0,0,0,0.1); 136 background-image: -webkit-gradient(linear,left top,left bottom, 137 from(#3d9400),to(#398a00)); 138} 139 140::-webkit-scrollbar { 141 width: 16px; 142 height: 16px; 143} 144 145::-webkit-scrollbar-button { 146 height: 0px; 147 width: 0px; 148} 149 150::-webkit-scrollbar-thumb { 151 min-height: 28px; 152 padding-top:100px; 153 background-clip:padding-box; 154 background-color: rgba(0,0,0,0.2); 155 box-shadow: inset 1px 1px 0px rgba(0,0,0,0.10), 156 inset 0px -1px 0px rgba(0,0,0,0.07); 157} 158 159::-webkit-scrollbar-thumb:hover { 160 background-color: rgba(0,0,0,0.4); 161 box-shadow: inset 1px 1px 1px rgba(0,0,0,0.25); 162} 163 164::-webkit-scrollbar-thumb:active { 165 box-shadow: inset 1px 1px 3px rgba(0,0,0,0.35); 166 background-color: rgba(0,0,0,0.5); 167} 168 169::-webkit-scrollbar-track:hover { 170 background-color:rgba(0,0,0,0.05); 171 box-shadow: inset 1px 0px 0px rgba(0,0,0,0.10); 172} 173 174::-webkit-scrollbar-track:active { 175 background-color:rgba(0,0,0,0.05); 176 box-shadow: inset 1px 0px 0px rgba(0,0,0,0.14), 177 inset -1px -1px 0px rgba(0,0,0,0.07); 178} 179 180::-webkit-scrollbar-track-piece { 181 background: white; 182} 183 184/*------------------------------------------------------------------ 185Component: Text Field 186------------------------------------------------------------------*/ 187input[type=text], 188input[type=password] { 189 height: 29px; 190 padding-__MSG_@@bidi_start_edge__: 8px; 191 color: #333; 192 border: 1px solid #d9d9d9; 193 border-top: 1px solid #c0c0c0; 194 vertical-align: top; 195 -webkit-border-radius: 1px; 196} 197input[type=text]:hover, 198input[type=password]:hover { 199 border: 1px solid #b9b9b9; 200 border-top: 1px solid #a0a0a0; 201 box-shadow: inset 0px 1px 2px rgba(0,0,0,0.1); 202} 203input[type=text]:focus, 204input[type=password]:focus { 205 box-shadow: inset 0px 1px 2px rgba(0,0,0,0.3); 206 outline: none; 207 border: 1px solid #4d90fe; 208} 209 210/*------------------------------------------------------------------ 211Component: Modal Dialog 212------------------------------------------------------------------*/ 213.kd-modaldialog:not([hidden]) { 214 opacity: 1.0; 215 -webkit-transform: scale(1.0); 216} 217 218.kd-modaldialog { 219 box-shadow: 0 4px 16px rgba(0,0,0,0.2); 220 background: white; 221 outline:1px solid rgba(0,0,0,0.2); 222 padding:30px 42px; 223 width: 500px; 224 height: auto; 225 overflow: hidden; 226 z-index: 100; 227 opacity: 0.0; 228 -webkit-transform: scale(1.05); 229 -webkit-transition: all 0.218s; 230} 231 232h1.icon-label { 233 vertical-align: 14px; 234 margin-bottom: 60px; 235 font-size: 28px; 236 font-weight: 300; 237 color: #999; 238 font-family: "Open sans", "Ariel", sans-serif; 239 line-height: 24px; 240 display: inline-block; 241 margin-__MSG_@@bidi_start_edge__: 10px; 242} 243 244h2 { 245 font-size: 16px; 246 line-height:24px; 247 font-weight: normal; 248 color: #222; 249 margin-bottom: 10px; 250} 251 252section > h2 { 253 color: #666; 254} 255 256header { 257 display: -webkit-flex; 258 width: 100%; 259} 260 261html { 262 -webkit-user-select: none; 263 cursor: default; 264 height: 100%; /* Remove phantom pixels at the bottom of the body. */ 265} 266 267section { 268 width: 690px; 269 margin: 30px auto; 270} 271 272section { 273 border: 1px solid #e5e5e5; 274 background: #f9f9f9; 275 padding: 20px 30px 20px 30px; 276 border-radius: 3px; 277 box-shadow: 0 2px 5px rgba(0,0,0,0.07); 278 position: relative; 279} 280 281.access-code-digit-group { 282 /* 283 Used for each of the four-digit components of the access code as 284 displayed by the host. 285 */ 286 padding: 0px 6px; 287} 288 289.box-spacer { 290 -webkit-flex: 1; 291} 292 293.centered { 294 text-align: center; 295} 296 297.button-row { 298 display: -webkit-flex; 299 -webkit-flex-direction: row; 300 -webkit-justify-content: flex-end; 301 margin-top: 20px; 302} 303 304.button-row button { 305 margin-left: 5px; 306} 307 308.button-row span:first-child { 309 width: 100%; 310} 311 312.clickable { 313 cursor: pointer; 314} 315 316.box { 317 display: -webkit-flex; 318} 319 320.host-list-empty-instructions { 321 padding-__MSG_@@bidi_start_edge__: 36px; 322 color: #666; 323 background-image: url('host_setup_instructions.webp'); 324 background-repeat: no-repeat; 325 background-position: -3px -2px; 326} 327 328#host-list-empty-hosting-supported { 329 margin-top: 14px; 330 padding-top: 20px; 331 border-top: 1px solid #E5E5E5; 332 background-position-y: 18px; 333} 334 335.selectable { 336 -webkit-user-select: text; 337 cursor: text; 338} 339 340.section-row { 341 display: -webkit-flex; 342 -webkit-align-items: center; 343 padding: 10px 0; 344 border-top: 1px solid #EBEBEB; 345} 346 347.section-row button { 348 margin-__MSG_@@bidi_start_edge__: 20px; 349} 350 351.section-row:first-child, 352.section-row.no-non-local-hosts { 353 border-top: none; 354} 355 356.editbox-label { 357 line-height: 29px; 358 font-weight: bold; 359} 360 361.error-state { 362 background-image: url('icon_warning.webp'); 363 background-repeat: no-repeat; 364 background-position: top __MSG_@@bidi_start_edge__; 365 padding-__MSG_@@bidi_start_edge__: 30px; 366 padding-top: 5px; 367 color: #900; 368} 369 370.error-state.multi-line-error-state { 371 padding-top: 0; 372 min-height: 22px; 373} 374 375.expiring { 376 color: #900 !important; 377} 378 379.infographic { 380 position: absolute; 381 __MSG_@@bidi_end_edge__: 22px; 382 top: 24px; 383} 384 385.infographic-description { 386 height: 80px; 387 width: 400px; 388 padding-top: 2em; 389} 390 391.information-box { 392 background-color: #f9edbe; 393 border: 1px solid #f0c36d; 394 -webkit-border-radius: 2px; 395 box-shadow: 0px 2px 4px rgba(0,0,0,0.2); 396 color: #222; 397 padding: 8px 16px; 398 text-align: center; 399 font-size: 12px; 400 margin-top: 30px; 401} 402 403#butter-bar { 404 position: absolute; 405 top: 80px; 406 left: 0; 407 display: -webkit-box; 408 width: 100%; 409} 410 411#butter-bar-dismiss img { 412 vertical-align: top; 413 opacity: 0.4; 414 margin-__MSG_@@bidi_start_edge__: 2px; 415 margin-__MSG_@@bidi_end_edge__: -12px; 416} 417 418#butter-bar-dimiss:hover { 419 opacity: 0.7; 420} 421 422#butter-bar > p { 423 background-color: #f9edbe; 424 border: 1px solid #f0c36d; 425 -webkit-border-radius: 2px; 426 -webkit-box-shadow: 0px 2px 4px rgba(0,0,0,0.2); 427 color: #222; 428 font-size: 12px; 429 padding: 4px 16px; 430 margin: auto; 431} 432 433#butter-bar a { 434 color: inherit; 435 text-decoration: underline; 436 padding-__MSG_@@bidi_start_edge__: 2px; 437} 438 439#paired-clients-list table { 440 width: 100%; 441} 442 443.message { 444 margin-bottom: 24px; 445} 446 447.mode-select-button-column { 448 text-align: __MSG_@@bidi_end_edge__; 449} 450 451.mode-select-button-column button { 452 min-width: 72px; 453} 454 455td { 456 vertical-align: middle; 457} 458 459thead { 460 font-weight: bold; 461} 462 463.host-online.clickable:hover, 464.host-online.clickable.child-focused { 465 background-color: #f2f2f2; 466} 467 468.host-list-rename-icon, 469.host-list-remove-icon { 470 opacity: 0; 471} 472 473.section-row:hover .host-list-rename-icon, 474.section-row.child-focused .host-list-rename-icon { 475 opacity: 0.6; 476} 477 478.section-row:hover .host-list-remove-icon, 479.section-row.child-focused .host-list-remove-icon { 480 opacity: 0.3; 481} 482 483.host-list-rename-icon:hover { 484 opacity: 1 !important; 485} 486 487.host-list-remove-icon:hover { 488 opacity: 0.5 !important; 489} 490 491.host-list-edit { 492 padding: 0 5px; 493} 494 495.host-list-label, .host-list-label:visited, .host-list-label:active { 496 color: inherit; 497 cursor: inherit; 498} 499 500.host-list-main-icon { 501 margin-__MSG_@@bidi_end_edge__: 10px; 502 vertical-align: middle; 503 position: relative; 504} 505 506.host-list-main-icon > span { 507 background-image: url('icon_warning.webp'); 508 background-repeat: no-repeat; 509 position: absolute; 510 width: 22px; 511 height: 22px; 512 bottom: -5px; 513 right: -10px; 514} 515 516.host-offline .host-list-label, 517.host-offline .host-list-main-icon { 518 opacity: 0.5; 519} 520 521button { 522 white-space:nowrap; 523} 524 525.small-print { 526 font-size: 13px; 527 color: #AAA; 528} 529 530.waiting { 531 background-image: url('spinner.gif'); 532 background-repeat: no-repeat; 533 background-position-y: 3px; 534 padding-__MSG_@@bidi_start_edge__: 30px; 535 padding-top: 5px; 536 color: rgb(180, 180, 180); 537} 538 539.prominent { 540 color: #222; 541} 542 543.space-before { 544 margin-top: 20px; 545} 546 547#access-code-countdown-container { 548 height: 50px; 549 text-align: center; 550} 551 552#access-code-display { 553 margin-top: 50px; 554 color: rgb(0, 0, 0); 555 font-weight: bold; 556 font-size: 26px; 557 text-align: center; 558} 559 560#access-code-entry-row { 561 margin-top: 24px; 562} 563 564#ask-pin-form .table-label { 565 min-width: 120px; 566 text-align: __MSG_@@bidi_end_edge__; 567 display: inline-block; 568} 569 570#ask-pin-form > div { 571 margin-bottom: 8px; 572} 573 574.checkbox-label { 575 display: block; 576 padding-__MSG_@@bidi_start_edge__: 20px; 577 margin-top: 12px; 578} 579 580.checkbox-label input[type=checkbox] { 581 float: __MSG_@@bidi_start_edge__; 582 margin-__MSG_@@bidi_start_edge__: -20px; 583 margin-__MSG_@@bidi_end_edge__: 0; 584 width: 20px; 585 margin-top: 2px; 586} 587 588#current-email { 589 color: rgba(0, 0, 0, 0.5); 590} 591 592#daemon-plugin-container { 593 width: 0; 594 height: 0; 595} 596 597.dialog-container { 598 position: absolute; 599 top: 200px; 600 left: 0; 601 width: 100%; 602 display: -webkit-flex; 603} 604 605.dialog-screen { 606 position: fixed; 607 top: 0; 608 left: 0; 609 width: 100%; 610 height: 100%; 611 background-color: #fff; 612 opacity: 0.75; 613} 614 615/* TODO(jamiewalch): crbug.com/252796: Remove these once crbug.com/240772 616 * is fixed. */ 617.no-horizontal-scroll { 618 overflow-x: hidden !important; 619} 620 621.no-vertical-scroll { 622 overflow-y: hidden !important; 623} 624 625html.apps-v2.scrollable { 626 overflow: scroll; 627} 628 629 630/* TODO(jamiewalch): Reinstate this if we're able to get translations for 631 * "Why is this safe?" that don't overflow in any language. 632#host-setup-dialog { 633 width: 460px; 634} 635*/ 636 637#host-plugin-container { 638 width: 0; 639 height: 0; 640} 641 642/* The NAT traversal state is independent of the app mode, and both need 643 * to be combined to determine the visibility of the butter bar. We use 644 * a style for the former and the 'hidden' property for the latter. */ 645#nat-box.traversal-enabled { 646 display: none; 647} 648 649#session-mode { 650 position: absolute; 651 box-shadow: 0 0 8px 0 black; 652 -webkit-user-select: none; 653} 654 655#session-client-plugin { 656 display: block; 657} 658 659.session-client-inactive { 660 -webkit-filter: grayscale(70%); 661 -webkit-transition: -webkit-filter 0.218s; 662} 663 664#set-pin-table td { 665 border-bottom: 6px solid transparent; 666} 667 668#top-secondary { 669 margin-top: 10px 670} 671 672#webapp-description { 673 margin-bottom: 10px; 674} 675 676* { 677 box-sizing: border-box; 678} 679 680/* 681 * Setting hidden on elements that match some rule overriding 'display' doesn't 682 * do what you would expect unless this is made explicit (and !important). 683 */ 684[hidden] { 685 display: none !important; 686} 687