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.
6 html
, body
, div
, span
, applet
, object
, iframe
, h1
, h2
, h3
, h4
, h5
, h6
, p
,
7 blockquote
, pre
, a
, abbr
, acronym
, address
, big
, cite
, code
, del
, dfn
, em
,
8 font
, img
, ins
, kbd
, q
, s
, samp
, small
, strike
, strong
, sub
, sup
, tt
, var
, dl
,
9 dt
, dd
, ol
, ul
, li
, fieldset
, form
, label
, legend
, table
, caption
, tbody
,
10 tfoot
, thead
, tr
, th
, td
, button
{
18 vertical-align: baseline
;
22 padding: 20px 20px 0 20px;
26 font-family: "Arial", "Helvetica", sans-serif
;
30 direction: __MSG_@@bidi_dir__
;
34 * The "app-v2" class is added to the <html> node by remoting.init if it's
35 * running as a V2 app.
37 html
.apps-v2
.apps-v1-only
{
38 display: none
!important
;
41 html:not
(.apps-v2
) .apps-v2-only
{
42 display: none
!important
;
46 text-decoration: none
;
59 /*------------------------------------------------------------------
61 ------------------------------------------------------------------*/
64 border:1px solid
#DCDCDC;
72 -webkit-transition: all
0.218s;
73 background-image: -webkit-gradient
(linear
, left top
, left bottom
,
74 from
(#f5f5f5), to
(#f1f1f1));
75 box-shadow: 0px 1px 3px rgba
(0, 0, 0, 0.1);
79 border: 1px solid
#C6C6C6;
82 background-image: -webkit-gradient
(linear
, left top
, left bottom
,
83 from
(#f8f8f8), to
(#f1f1f1));
84 box-shadow: 0px 1px 1px rgba
(0, 0, 0, 0.1);
88 background: #f6f6f6 -webkit-gradient
(linear
,left top
,left bottom
,
89 from
(#f6f6f6),to
(#f1f1f1));
90 box-shadow: inset
0px 1px 3px rgba
(0, 0, 0, 0.2);
95 border: 1px solid
#4d90fe;
98 button
[disabled
], button
[disabled
]:hover
, button
[disabled
]:active
{
99 background: linear-gradient
(#fafafa, #f4f4f4 40%, #e5e5e5);
105 /* Colored Buttons */
107 border: 1px solid
#29691d;
109 text-shadow: 0px 1px rgba
(0,0,0,0.1);
110 background-image: -webkit-gradient
(linear
,left top
,left bottom
,
111 from
(#3d9400),to
(#398a00));
114 .kd-button-share:hover {
115 border: 1px solid
#404040;
117 text-shadow: 0px 1px rgba
(0,0,0,0.3);
118 background-image: -webkit-gradient
(linear
,left top
,left bottom
,
119 from
(#3d9400),to
(#368200));
122 .kd-button-share:active, .kd-button-share:focus:active {
123 box-shadow: inset
0px 1px 2px rgba
(0,0,0,0.3);
124 background-image: -webkit-gradient
(linear
,left top
,left bottom
,
125 from
(#3d9400),to
(#368200));
128 .kd-button-share:focus {
129 border-color:#29691d;
130 box-shadow:inset
0 0 0 1px rgba
(255,255,255,0.5);
133 .kd-button-share:focus:hover {
134 box-shadow:inset
0 0 0 1px #fff, 0px 1px 1px rgba
(0,0,0,0.1);
137 .kd-button-share
[disabled
], .kd-button-share
[disabled
]:hover
,
138 .kd-button-share[disabled]:active {
139 border: 1px solid
#505050;
142 text-shadow: 0px 1px rgba
(0,0,0,0.1);
143 background-image: -webkit-gradient
(linear
,left top
,left bottom
,
144 from
(#3d9400),to
(#398a00));
147 ::-webkit-scrollbar
{
152 ::-webkit-scrollbar-button
{
157 ::-webkit-scrollbar-thumb
{
160 background-clip:padding-box
;
161 background-color: rgba
(0,0,0,0.2);
162 box-shadow: inset
1px 1px 0px rgba
(0,0,0,0.10),
163 inset
0px -1px 0px rgba
(0,0,0,0.07);
166 ::-webkit-scrollbar-thumb:hover
{
167 background-color: rgba
(0,0,0,0.4);
168 box-shadow: inset
1px 1px 1px rgba
(0,0,0,0.25);
171 ::-webkit-scrollbar-thumb:active
{
172 box-shadow: inset
1px 1px 3px rgba
(0,0,0,0.35);
173 background-color: rgba
(0,0,0,0.5);
176 ::-webkit-scrollbar-track:hover
{
177 background-color:rgba
(0,0,0,0.05);
178 box-shadow: inset
1px 0px 0px rgba
(0,0,0,0.10);
181 ::-webkit-scrollbar-track:active
{
182 background-color:rgba
(0,0,0,0.05);
183 box-shadow: inset
1px 0px 0px rgba
(0,0,0,0.14),
184 inset
-1px -1px 0px rgba
(0,0,0,0.07);
187 ::-webkit-scrollbar-track-piece
{
191 /*------------------------------------------------------------------
192 Component: Text Field
193 ------------------------------------------------------------------*/
195 input
[type
=password
] {
197 padding-__MSG_@@
bidi_start_edge__: 8px;
199 border: 1px solid
#d9d9d9;
200 border-top: 1px solid
#c0c0c0;
202 -webkit-border-radius: 1px;
204 input
[type
=text
]:hover
,
205 input
[type
=password
]:hover
{
206 border: 1px solid
#b9b9b9;
207 border-top: 1px solid
#a0a0a0;
208 box-shadow: inset
0px 1px 2px rgba
(0,0,0,0.1);
210 input
[type
=text
]:focus
,
211 input
[type
=password
]:focus
{
212 box-shadow: inset
0px 1px 2px rgba
(0,0,0,0.3);
214 border: 1px solid
#4d90fe;
217 /*------------------------------------------------------------------
218 Component: Modal Dialog
219 ------------------------------------------------------------------*/
220 .kd-modaldialog:not([hidden]) {
222 -webkit-transform: scale
(1.0);
226 box-shadow: 0 4px 16px rgba
(0,0,0,0.2);
228 outline:1px solid rgba
(0,0,0,0.2);
236 -webkit-transform: scale
(1.05);
237 -webkit-transition: all
0.218s;
241 vertical-align: 14px;
246 font-family: "Open sans", "Ariel", sans-serif
;
248 display: inline-block
;
249 margin-__MSG_@@
bidi_start_edge__: 10px;
261 float: __MSG_@@bidi_end_edge__
;
264 #host-list-loading-indicator:not
(.loading
) #host-list-loading
,
265 #host-list-loading-indicator.loading #host-list-reload
{
273 .icon-black:hover > img {
287 -webkit-user-select: none
;
297 border: 1px solid
#e5e5e5;
299 padding: 20px 30px 20px 30px;
301 box-shadow: 0 2px 5px rgba
(0,0,0,0.07);
305 .access-code-digit-group {
307 Used for each of the four-digit components of the access code as
308 displayed by the host.
324 justify-content: flex-end
;
332 .button-row span:first-child {
344 .host-list-empty-instructions {
345 padding-__MSG_@@
bidi_start_edge__: 36px;
347 background-image: url
('host_setup_instructions.webp');
348 background-repeat: no-repeat
;
349 background-position: -3px -2px;
352 #host-list-empty-hosting-supported {
355 border-top: 1px solid
#E5E5E5;
356 background-position-y: 18px;
360 -webkit-user-select: text
;
366 -webkit-align-items: center
;
368 border-top: 1px solid
#EBEBEB;
371 .section-row button {
372 margin-__MSG_@@
bidi_start_edge__: 20px;
375 .section-row:first-child
,
376 .section-row.no-non-local-hosts {
386 background-image: url
('icon_warning.webp');
387 background-repeat: no-repeat
;
388 background-position: top __MSG_@@bidi_start_edge__
;
389 padding-__MSG_@@
bidi_start_edge__: 30px;
394 .error-state.multi-line-error-state {
400 color: #900 !important
;
405 __MSG_@@
bidi_end_edge__: 22px;
409 .infographic-description {
416 background-color: #f9edbe;
417 border: 1px solid
#f0c36d;
418 -webkit-border-radius: 2px;
419 box-shadow: 0px 2px 4px rgba
(0,0,0,0.2);
431 display: -webkit-box
;
435 #butter-bar-dismiss img
{
438 margin-__MSG_@@
bidi_start_edge__: 2px;
439 margin-__MSG_@@
bidi_end_edge__: -12px;
442 #butter-bar-dimiss:hover
{
447 background-color: #f9edbe;
448 border: 1px solid
#f0c36d;
450 box-shadow: 0px 2px 4px rgba
(0,0,0,0.2);
459 text-decoration: underline
;
460 padding-__MSG_@@
bidi_start_edge__: 2px;
463 #paired-clients-list table
{
471 .mode-select-button-column {
472 text-align: __MSG_@@bidi_end_edge__
;
475 .mode-select-button-column button {
480 vertical-align: middle
;
487 .host-online
.clickable:hover
,
488 .host-online.clickable.child-focused {
489 background-color: #f2f2f2;
492 .host-list-rename-icon
,
493 .host-list-remove-icon {
497 .section-row:hover
.host-list-rename-icon
,
498 .section-row.child-focused .host-list-rename-icon {
502 .section-row:hover
.host-list-remove-icon
,
503 .section-row.child-focused .host-list-remove-icon {
507 .host-list-rename-icon:hover {
508 opacity: 1 !important
;
511 .host-list-remove-icon:hover {
512 opacity: 0.5 !important
;
519 .host-list-label, .host-list-label:visited, .host-list-label:active {
524 .host-list-main-icon {
525 margin-__MSG_@@
bidi_end_edge__: 10px;
526 vertical-align: middle
;
530 .host-list-main-icon > span {
531 background-image: url
('icon_warning.webp');
532 background-repeat: no-repeat
;
540 .host-offline
.host-list-label
,
541 .host-offline .host-list-main-icon {
555 background-image: url
('spinner.gif');
556 background-repeat: no-repeat
;
557 background-position: __MSG_@@bidi_start_edge__
3px;
559 color: rgb
(180, 180, 180);
566 #access-code-countdown-container {
571 #access-code-display {
579 #access-code-entry-row {
583 #ask-pin-form .table-label
{
585 text-align: __MSG_@@bidi_end_edge__
;
586 display: inline-block
;
589 #ask-pin-form > div
{
595 padding-__MSG_@@
bidi_start_edge__: 20px;
599 .checkbox-label input[type=checkbox] {
600 float: __MSG_@@bidi_start_edge__
;
601 margin-__MSG_@@
bidi_start_edge__: -20px;
602 margin-__MSG_@@
bidi_end_edge__: 0;
608 color: rgba
(0, 0, 0, 0.5);
611 #daemon-plugin-container {
629 background-color: #fff;
633 /* TODO(jamiewalch): crbug.com/252796: Remove these once crbug.com/240772
635 .no-horizontal-scroll {
636 overflow-x: hidden
!important
;
639 .no-vertical-scroll {
640 overflow-y: hidden
!important
;
643 html
.apps-v2
.scrollable
{
648 /* TODO(jamiewalch): Reinstate this if we're able to get translations for
649 * "Why is this safe?" that don't overflow in any language.
655 #host-plugin-container {
660 /* The NAT traversal state is independent of the app mode, and both need
661 * to be combined to determine the visibility of the butter bar. We use
662 * a style for the former and the 'hidden' property for the latter. */
663 #nat-box.traversal-enabled
{
671 #session-client-plugin {
672 box-shadow: 0 0 8px 0 black
;
673 -webkit-user-select: none
;
676 #session-client-plugin {
680 .session-client-inactive {
681 -webkit-filter: grayscale
(70%);
682 transition: -webkit-filter
0.218s;
686 border-bottom: 6px solid transparent
;
693 #webapp-description {
698 box-sizing: border-box
;
702 * Setting hidden on elements that match some rule overriding 'display' doesn't
703 * do what you would expect unless this is made explicit (and !important).
706 display: none
!important
;
713 .horizontally-centered {
717 .vertically-centered {
719 flex-direction: column
;
723 .horizontally-centered::before
,
724 .horizontally-centered::after
,
725 .vertically-centered::before
,
726 .vertically-centered::after {
731 /* Bump-scrolling is currently implemented by adjusting the margins, which is
732 * easier to implement with "position: fixed". In full-screen mode there are
733 * no scroll-bars, so the advantages of flex-box layout to achieve centering
734 * (ie, the DOM is easier to measure to determine when scroll-bars are needed)
736 .full-screen #session-mode {
743 /* video-container needs relative position so that mediasource-video-output can
744 * be positioned relative to the parent with position:absolute. */
749 /* mediasource-video-output is hidden by default. */
750 #mediasource-video-output {
754 /* Use absolute positioning for mediasource-video-output so that it's rendered
755 * at the same position as the plugin. */
756 #video-container.mediasource-rendering #mediasource-video-output
{
761 box-shadow: 0 0 8px 0 black
;
765 * With MediaSource-based rendering the plugin is transparent and is placed on
766 * top of the <video> element so that it can still receive mouse events.
768 * TODO(sergeyu): This is temporary solution. Ideally mouse and keyboard events
769 * should be captured on JS level and passed to the plugin.
771 #video-container.mediasource-rendering #client-plugin-container
{