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