]> git.proxmox.com Git - mirror_novnc.git/blame - app/styles/base.css
Set input type number for port & reconnect_delay
[mirror_novnc.git] / app / styles / base.css
CommitLineData
d58f8b51
JM
1/*
2 * noVNC base CSS
3 * Copyright (C) 2012 Joel Martin
682fd02b 4 * Copyright (C) 2016 Samuel Mannehed for Cendio AB
6cba147d 5 * Copyright (C) 2016 Pierre Ossman for Cendio AB
1d728ace 6 * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
d58f8b51
JM
7 * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
8 */
9
cac935ff
PO
10/*
11 * Z index layers:
12 *
13 * 0: Main screen
14 * 10: Control bar
15 * 50: Transition blocker
16 * 60: Connection popups
17 * 100: Status bar
18 * ...
19 * 1000: Javascript crash
20 * ...
21 * 10000: Max (used for polyfills)
22 */
23
c327865b 24body {
01a9eee9
JM
25 margin:0;
26 padding:0;
27 font-family: Helvetica;
28 /*Background image with light grey curve.*/
29 background-color:#494949;
30 background-repeat:no-repeat;
31 background-position:right bottom;
32 height:100%;
b1358a1f 33 touch-action: none;
c327865b
CG
34}
35
36html {
01a9eee9 37 height:100%;
c327865b
CG
38}
39
65e3d7d6
PO
40.noVNC_only_touch.noVNC_hidden {
41 display: none;
42}
43
8d710e8b
PO
44/* ----------------------------------------
45 * Spinner
46 * ----------------------------------------
47 */
48
49.noVNC_spinner {
50 position: relative;
51}
52.noVNC_spinner, .noVNC_spinner::before, .noVNC_spinner::after {
53 width: 10px;
54 height: 10px;
3f48c701
PO
55 border-radius: 2px;
56 animation: noVNC_spinner 1.0s linear infinite;
8d710e8b
PO
57}
58.noVNC_spinner::before {
59 content: "";
60 position: absolute;
3f48c701
PO
61 left: 0px;
62 top: 0px;
63 animation-delay: -0.1s;
8d710e8b
PO
64}
65.noVNC_spinner::after {
66 content: "";
67 position: absolute;
3f48c701
PO
68 top: 0px;
69 left: 0px;
70 animation-delay: 0.1s;
8d710e8b
PO
71}
72@keyframes noVNC_spinner {
3f48c701
PO
73 0% { box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); width: 20px; }
74 25% { box-shadow: 20px 10px 0 rgba(255, 255, 255, 1); width: 10px; }
75 50% { box-shadow: 60px 10px 0 rgba(255, 255, 255, 0); width: 10px; }
8d710e8b
PO
76}
77
79fd3b1f
PO
78/* ----------------------------------------
79 * Input Elements
80 * ----------------------------------------
81 */
82
6c857dc5
SM
83input[type=input], input[type=password], input[type=number],
84input:not([type]), textarea {
79fd3b1f
PO
85 /* Disable default rendering */
86 -webkit-appearance: none;
87 -moz-appearance: none;
88 background: none;
89
90 margin: 2px;
91 padding: 2px;
92 border: 1px solid rgb(192, 192, 192);
93 border-radius: 5px;
94 color: black;
95 background: linear-gradient(to top, rgb(255, 255, 255) 80%, rgb(240, 240, 240));
96}
97
84b05d24 98input[type=button], input[type=submit], select {
79fd3b1f
PO
99 /* Disable default rendering */
100 -webkit-appearance: none;
101 -moz-appearance: none;
102 background: none;
103
104 margin: 2px;
105 padding: 2px;
106 border: 1px solid rgb(192, 192, 192);
107 border-bottom-width: 2px;
108 border-radius: 5px;
109 color: black;
110 background: linear-gradient(to top, rgb(255, 255, 255), rgb(240, 240, 240));
111
112 /* This avoids it jumping around when :active */
113 vertical-align: middle;
114}
115
84b05d24 116input[type=button], input[type=submit] {
79fd3b1f
PO
117 padding-left: 20px;
118 padding-right: 20px;
119}
120
121option {
122 color: black;
123 background: white;
124}
125
126input[type=input]:focus, input[type=password]:focus,
127input:not([type]):focus, input[type=button]:focus,
84b05d24 128input[type=submit]:focus,
79fd3b1f
PO
129textarea:focus, select:focus {
130 box-shadow: 0px 0px 3px rgba(74, 144, 217, 0.5);
131 border-color: rgb(74, 144, 217);
132 outline: none;
133}
134
84b05d24
PO
135input[type=button]::-moz-focus-inner,
136input[type=submit]::-moz-focus-inner {
79fd3b1f
PO
137 border: none;
138}
139
140input[type=input]:disabled, input[type=password]:disabled,
141input:not([type]):disabled, input[type=button]:disabled,
6c857dc5 142input[type=submit]:disabled, input[type=number]:disabled,
79fd3b1f
PO
143textarea:disabled, select:disabled {
144 color: rgb(128, 128, 128);
145 background: rgb(240, 240, 240);
146}
147
84b05d24
PO
148input[type=button]:active, input[type=submit]:active,
149select:active {
79fd3b1f
PO
150 border-bottom-width: 1px;
151 margin-top: 3px;
152}
153
84b05d24
PO
154:root:not(.noVNC_touch) input[type=button]:hover:not(:disabled),
155:root:not(.noVNC_touch) input[type=submit]:hover:not(:disabled),
156:root:not(.noVNC_touch) select:hover:not(:disabled) {
1a15cb5b
PO
157 background: linear-gradient(to top, rgb(255, 255, 255), rgb(250, 250, 250));
158}
159
8a7ec6ea
SM
160/* ----------------------------------------
161 * WebKit centering hacks
162 * ----------------------------------------
163 */
164
165.noVNC_center {
166 /*
167 * This is a workaround because webkit misrenders transforms and
168 * uses non-integer coordinates, resulting in blurry content.
169 * Ideally we'd use "top: 50%; transform: translateY(-50%);" on
170 * the objects instead.
171 */
172 display: flex;
173 align-items: center;
174 justify-content: center;
175 position: fixed;
176 top: 0;
177 left: 0;
178 width: 100%;
179 height: 100%;
180 pointer-events: none;
181}
182.noVNC_center > * {
183 pointer-events: auto;
184}
fb7c3b3b
PO
185.noVNC_vcenter {
186 display: flex;
187 flex-direction: column;
188 justify-content: center;
189 position: fixed;
190 top: 0;
191 left: 0;
192 height: 100%;
193 pointer-events: none;
194}
195.noVNC_vcenter > * {
196 pointer-events: auto;
197}
8a7ec6ea 198
cac935ff
PO
199/* ----------------------------------------
200 * Layering
201 * ----------------------------------------
202 */
203
204.noVNC_connect_layer {
205 z-index: 60;
206}
207
d24de750
SM
208/* ----------------------------------------
209 * Fallback error
210 * ----------------------------------------
211 */
212
213#noVNC_fallback_error {
214 position: fixed;
cac935ff 215 z-index: 1000;
d24de750
SM
216 left: 50%;
217 transform: translate(-50%, -50px);
218 transition: 0.5s ease-in-out;
219
220 visibility: hidden;
221 opacity: 0;
222
223 top: 60px;
224 padding: 15px;
225 width: auto;
226
227 text-align: center;
228 font-weight: bold;
229 word-wrap: break-word;
230 color: #fff;
231
232 border-radius: 10px;
233 box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
234 background: rgba(200,55,55,0.8);
235}
236#noVNC_fallback_error.noVNC_open {
237 transform: translate(-50%, 0);
238 visibility: visible;
239 opacity: 1;
240}
d8ff7c9e 241
d24de750
SM
242#noVNC_fallback_errormsg {
243 font-weight: normal;
244}
245
d8ff7c9e
SM
246#noVNC_fallback_error .noVNC_location {
247 font-style: italic;
248 font-size: 0.8em;
249 color: rgba(255, 255, 255, 0.8);
250}
251
252#noVNC_fallback_error .noVNC_stack {
253 padding: 10px;
254 margin: 10px;
255 font-size: 0.8em;
256 text-align: left;
257 white-space: pre;
258 border: 1px solid rgba(0, 0, 0, 0.5);
259 background: rgba(0, 0, 0, 0.2);
260}
261
2869308c 262/* ----------------------------------------
263 * Control Bar
264 * ----------------------------------------
265 */
266
fb7c3b3b
PO
267#noVNC_control_bar_anchor {
268 /* The anchor is needed to get z-stacking to work */
2869308c 269 position: fixed;
cac935ff 270 z-index: 10;
ca5c74ad 271
728b5d9e
PO
272 transition: 0.5s ease-in-out;
273
fb7c3b3b
PO
274 /* Edge misrenders animations wihthout this */
275 transform: translateX(0);
276}
728b5d9e
PO
277:root.noVNC_connected #noVNC_control_bar_anchor.noVNC_idle {
278 opacity: 0.8;
279}
8ee432f1
PO
280#noVNC_control_bar_anchor.noVNC_right {
281 left: auto;
282 right: 0;
283}
fb7c3b3b
PO
284
285#noVNC_control_bar {
286 position: relative;
8ee432f1 287 left: -100%;
38323d4d
PO
288
289 transition: 0.5s ease-in-out;
fb7c3b3b
PO
290
291 background-color: rgb(110, 132, 163);
292 border-radius: 0 10px 10px 0;
293
fb7c3b3b 294}
38323d4d
PO
295#noVNC_control_bar.noVNC_open {
296 box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
8ee432f1
PO
297 left: 0;
298}
299#noVNC_control_bar::before {
300 /* This extra element is to get a proper shadow */
301 content: "";
302 position: absolute;
303 z-index: -1;
304 height: 100%;
305 width: 30px;
38323d4d 306 left: -30px;
8ee432f1
PO
307 transition: box-shadow 0.5s ease-in-out;
308}
309#noVNC_control_bar.noVNC_open::before {
310 box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
311}
312.noVNC_right #noVNC_control_bar {
313 left: 100%;
314 border-radius: 10px 0 0 10px;
315}
316.noVNC_right #noVNC_control_bar.noVNC_open {
317 left: 0;
318}
319.noVNC_right #noVNC_control_bar::before {
320 visibility: hidden;
38323d4d
PO
321}
322
323#noVNC_control_bar_handle {
324 position: absolute;
8ee432f1 325 left: -15px;
04b399e2
SM
326 top: 0;
327 transform: translateY(35px);
8ee432f1 328 width: calc(100% + 30px);
38323d4d 329 height: 50px;
cac935ff 330 z-index: -1;
38323d4d 331 cursor: pointer;
8ee432f1 332 border-radius: 5px;
38323d4d
PO
333 background-color: rgb(83, 99, 122);
334 background-image: url("../images/handle_bg.svg");
335 background-repeat: no-repeat;
336 background-position: right;
337 box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5);
338}
339#noVNC_control_bar_handle:after {
340 content: "";
8ee432f1 341 transition: transform 0.5s ease-in-out;
38323d4d
PO
342 background: url("../images/handle.svg");
343 position: absolute;
344 top: 22px; /* (50px-6px)/2 */
345 right: 5px;
346 width: 5px;
347 height: 6px;
348}
349#noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after {
350 transform: translateX(1px) rotate(180deg);
351}
352:root:not(.noVNC_connected) #noVNC_control_bar_handle {
353 display: none;
354}
8ee432f1
PO
355.noVNC_right #noVNC_control_bar_handle {
356 background-position: left;
357}
358.noVNC_right #noVNC_control_bar_handle:after {
359 left: 5px;
360 right: 0;
361 transform: translateX(1px) rotate(180deg);
362}
363.noVNC_right #noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after {
364 transform: none;
365}
65e3d7d6
PO
366#noVNC_control_bar_handle div {
367 position: absolute;
368 right: -35px;
369 top: 0;
370 width: 50px;
371 height: 50px;
372}
373:root:not(.noVNC_touch) #noVNC_control_bar_handle div {
374 display: none;
375}
8ee432f1
PO
376.noVNC_right #noVNC_control_bar_handle div {
377 left: -35px;
378 right: auto;
379}
fb7c3b3b
PO
380
381#noVNC_control_bar .noVNC_scroll {
382 max-height: 100vh; /* Chrome is buggy with 100% */
383 overflow-x: hidden;
384 overflow-y: auto;
385 padding: 0 10px 0 5px;
c327865b 386}
8ee432f1
PO
387.noVNC_right #noVNC_control_bar .noVNC_scroll {
388 padding: 0 5px 0 10px;
389}
c327865b 390
2869308c 391/* General button style */
a49d9298 392.noVNC_button {
fb7c3b3b 393 display: block;
2869308c 394 padding: 4px 4px;
fb7c3b3b 395 margin: 10px 0;
2869308c 396 vertical-align: middle;
fb7c3b3b 397 border:1px solid rgba(255, 255, 255, 0.2);
2869308c 398 border-radius: 6px;
01a9eee9 399}
d9e86214 400.noVNC_button.noVNC_selected {
fb7c3b3b
PO
401 border-color: rgba(0, 0, 0, 0.8);
402 background: rgba(0, 0, 0, 0.5);
c327865b 403}
a49d9298 404.noVNC_button:disabled {
2869308c 405 opacity: 0.4;
c327865b 406}
f7c725ce
PO
407.noVNC_button:focus {
408 outline: none;
409}
410.noVNC_button:active {
411 padding-top: 5px;
412 padding-bottom: 3px;
413}
1a15cb5b
PO
414:root:not(.noVNC_touch) .noVNC_button.noVNC_selected:hover {
415 border-color: rgba(0, 0, 0, 0.4);
416 background: rgba(0, 0, 0, 0.2);
417}
418:root:not(.noVNC_touch) .noVNC_button:hover {
419 background: rgba(255, 255, 255, 0.2);
420}
a49d9298 421.noVNC_button.noVNC_hidden {
e40978c7
PO
422 display: none;
423}
2869308c 424
425/* Panels */
286947cb 426.noVNC_panel {
fb7c3b3b 427 transform: translateX(25px);
24d8b311
PO
428
429 transition: 0.5s ease-in-out;
430
fb7c3b3b
PO
431 max-height: 100vh; /* Chrome is buggy with 100% */
432 overflow-x: hidden;
433 overflow-y: auto;
434
24d8b311
PO
435 visibility: hidden;
436 opacity: 0;
437
2869308c 438 padding: 15px;
24d8b311
PO
439
440 background: #fff;
2869308c 441 border-radius: 10px;
442 color: #000;
443 border: 2px solid #E0E0E0;
24d8b311 444 box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
c327865b 445}
e40978c7 446.noVNC_panel.noVNC_open {
24d8b311
PO
447 visibility: visible;
448 opacity: 1;
fb7c3b3b 449 transform: translateX(75px);
a5df24b4 450}
8ee432f1
PO
451.noVNC_right .noVNC_vcenter {
452 left: auto;
453 right: 0;
454}
455.noVNC_right .noVNC_panel {
456 transform: translateX(-25px);
457}
458.noVNC_right .noVNC_panel.noVNC_open {
459 transform: translateX(-75px);
460}
2869308c 461
1fe9faee
PO
462.noVNC_panel hr {
463 border: none;
464 border-top: 1px solid rgb(192, 192, 192);
465}
466
467.noVNC_panel label {
468 display: block;
81345892 469 white-space: nowrap;
1fe9faee
PO
470}
471
5454c345
PO
472.noVNC_panel .noVNC_heading {
473 background-color: rgb(110, 132, 163);
474 border-radius: 5px;
475 padding: 5px;
476 /* Compensate for padding in image */
477 padding-right: 8px;
478 color: white;
479 font-size: 20px;
480 margin-bottom: 10px;
481 white-space: nowrap;
482}
483.noVNC_panel .noVNC_heading img {
484 vertical-align: bottom;
485}
486
79fd3b1f
PO
487.noVNC_submit {
488 float: right;
489}
490
575f6983
PO
491/* Expanders */
492.noVNC_expander {
493 cursor: pointer;
494}
495.noVNC_expander::before {
496 content: url("../images/expander.svg");
497 display: inline-block;
498 margin-right: 5px;
499 transition: 0.2s ease-in-out;
500}
501.noVNC_expander.noVNC_open::before {
502 transform: rotateZ(90deg);
503}
504.noVNC_expander ~ * {
505 margin: 5px;
506 margin-left: 10px;
507 padding: 5px;
508 background: rgba(0, 0, 0, 0.05);
509 border-radius: 5px;
510}
511.noVNC_expander:not(.noVNC_open) ~ * {
512 display: none;
513}
514
515/* Control bar content */
516
b3c932c3
PO
517#noVNC_control_bar .noVNC_logo {
518 font-size: 13px;
519}
520
6244e383
PO
521:root:not(.noVNC_connected) #noVNC_view_drag_button {
522 display: none;
523}
524
2869308c 525/* noVNC Touch Device only buttons */
6244e383
PO
526:root:not(.noVNC_connected) #noVNC_mobile_buttons {
527 display: none;
528}
529:root:not(.noVNC_touch) #noVNC_mobile_buttons {
a6357e82 530 display: none;
531}
2869308c 532
fb7c3b3b 533/* Extra manual keys */
6244e383 534:root:not(.noVNC_connected) #noVNC_extra_keys {
608e0f52
JM
535 display: none;
536}
537
fb7c3b3b
PO
538#noVNC_modifiers {
539 background-color: rgb(92, 92, 92);
540 border: none;
541 padding: 0 10px;
542}
543
2869308c 544/* XVP Shutdown/Reboot */
6244e383
PO
545:root:not(.noVNC_connected) #noVNC_xvp_button {
546 display: none;
547}
2869308c 548#noVNC_xvp {
2869308c 549}
550#noVNC_xvp_buttons {
551 display: none;
f4bce783
JM
552}
553
1fe9faee
PO
554#noVNC_xvp input[type=button] {
555 width: 100%;
556}
557
2869308c 558/* Clipboard */
6244e383
PO
559:root:not(.noVNC_connected) #noVNC_clipboard_button {
560 display: none;
561}
2869308c 562#noVNC_clipboard {
fb7c3b3b
PO
563 /* Full screen, minus padding and left and right margins */
564 max-width: calc(100vw - 2*15px - 75px - 25px);
2869308c 565}
566#noVNC_clipboard_text {
567 width: 500px;
fb7c3b3b 568 max-width: 100%;
2869308c 569}
f4bce783 570
2869308c 571/* Settings */
572#noVNC_settings {
2869308c 573}
eeb395dc 574#noVNC_settings ul {
2869308c 575 list-style: none;
1fe9faee 576 margin: 0px;
2869308c 577 padding: 0px;
578}
575f6983
PO
579#noVNC_setting_port {
580 width: 80px;
581}
2869308c 582#noVNC_setting_path {
583 width: 100px;
584}
f4bce783 585
2869308c 586/* Connection Controls */
6244e383
PO
587:root:not(.noVNC_connected) #noVNC_disconnect_button {
588 display: none;
2869308c 589}
c327865b 590
ca5c74ad 591/* ----------------------------------------
592 * Status Dialog
593 * ----------------------------------------
594 */
595
596#noVNC_status {
2869308c 597 position: fixed;
ca5c74ad 598 top: 0;
599 left: 0;
600 width: 100%;
cac935ff 601 z-index: 100;
24d8b311
PO
602 transform: translateY(-100%);
603
a7619faf
PO
604 cursor: pointer;
605
24d8b311
PO
606 transition: 0.5s ease-in-out;
607
608 visibility: hidden;
609 opacity: 0;
2869308c 610
ca5c74ad 611 padding: 5px;
2869308c 612
24d8b311 613 display: flex;
ca5c74ad 614 flex-direction: row;
615 justify-content: center;
616 align-content: center;
617
618 line-height: 25px;
2869308c 619 word-wrap: break-word;
620 color: #fff;
2869308c 621
ca5c74ad 622 border-bottom: 1px solid rgba(0, 0, 0, 0.9);
c327865b 623}
ca5c74ad 624#noVNC_status.noVNC_open {
24d8b311
PO
625 transform: translateY(0);
626 visibility: visible;
627 opacity: 1;
ca5c74ad 628}
629
630#noVNC_status::before {
631 content: "";
632 display: inline-block;
633 width: 25px;
634 height: 25px;
635 margin-right: 5px;
636}
637
638#noVNC_status.noVNC_status_normal {
639 background: rgba(128,128,128,0.9);
640}
641#noVNC_status.noVNC_status_normal::before {
642 content: url("../images/info.svg") " ";
643}
644#noVNC_status.noVNC_status_error {
645 background: rgba(200,55,55,0.9);
646}
647#noVNC_status.noVNC_status_error::before {
648 content: url("../images/error.svg") " ";
649}
650#noVNC_status.noVNC_status_warn {
651 background: rgba(180,180,30,0.9);
652}
653#noVNC_status.noVNC_status_warn::before {
654 content: url("../images/warning.svg") " ";
e40978c7 655}
c327865b 656
b3c932c3
PO
657/* ----------------------------------------
658 * Connect Dialog
659 * ----------------------------------------
660 */
661
662#noVNC_connect_dlg {
663 transition: 0.5s ease-in-out;
664
665 transform: scale(0, 0);
666 visibility: hidden;
667 opacity: 0;
668}
669#noVNC_connect_dlg.noVNC_open {
670 transform: scale(1, 1);
671 visibility: visible;
672 opacity: 1;
673}
674#noVNC_connect_dlg .noVNC_logo {
675 transition: 0.5s ease-in-out;
676 padding: 10px;
677 margin-bottom: 10px;
678
679 font-size: 80px;
680 text-align: center;
681
682 border-radius: 5px;
683}
684@media (max-width: 440px) {
685 #noVNC_connect_dlg {
686 max-width: calc(100vw - 100px);
687 }
688 #noVNC_connect_dlg .noVNC_logo {
689 font-size: calc(25vw - 30px);
690 }
691}
692#noVNC_connect_button {
693 cursor: pointer;
694
695 padding: 10px;
696
697 color: white;
698 background-color: rgb(110, 132, 163);
699 border-radius: 12px;
700
701 text-align: center;
702 font-size: 20px;
703
704 box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
705}
706#noVNC_connect_button div {
707 margin: 2px;
708 padding: 5px 30px;
709 border: 1px solid rgb(83, 99, 122);
710 border-bottom-width: 2px;
711 border-radius: 5px;
712 background: linear-gradient(to top, rgb(110, 132, 163), rgb(99, 119, 147));
713
714 /* This avoids it jumping around when :active */
715 vertical-align: middle;
716}
717#noVNC_connect_button div:active {
718 border-bottom-width: 1px;
719 margin-top: 3px;
720}
721:root:not(.noVNC_touch) #noVNC_connect_button div:hover {
722 background: linear-gradient(to top, rgb(110, 132, 163), rgb(105, 125, 155));
723}
724
725#noVNC_connect_button img {
726 vertical-align: bottom;
727 height: 1.3em;
728}
729
8a7ec6ea
SM
730/* ----------------------------------------
731 * Password Dialog
732 * ----------------------------------------
733 */
734
735#noVNC_password_dlg {
cac935ff
PO
736 position: relative;
737
8a7ec6ea
SM
738 transform: translateY(-50px);
739}
740#noVNC_password_dlg.noVNC_open {
741 transform: translateY(0);
742}
743#noVNC_password_dlg ul {
744 list-style: none;
745 margin: 0px;
746 padding: 0px;
747}
8a7ec6ea 748
2869308c 749/* ----------------------------------------
750 * Main Area
751 * ----------------------------------------
752 */
753
8d710e8b
PO
754/* Transition screen */
755#noVNC_transition {
756 display: none;
757
758 position: fixed;
759 top: 0;
760 left: 0;
761 bottom: 0;
762 right: 0;
763
764 color: white;
765 background: rgba(0, 0, 0, 0.5);
cac935ff 766 z-index: 50;
8d710e8b
PO
767
768 /*display: flex;*/
769 align-items: center;
770 justify-content: center;
771 flex-direction: column;
772}
773:root.noVNC_connecting #noVNC_transition,
044d54ed
AN
774:root.noVNC_disconnecting #noVNC_transition,
775:root.noVNC_reconnecting #noVNC_transition {
8d710e8b
PO
776 display: flex;
777}
044d54ed
AN
778:root:not(.noVNC_reconnecting) #noVNC_cancel_reconnect_button {
779 display: none;
780}
8d710e8b
PO
781#noVNC_transition_text {
782 font-size: 1.5em;
783}
784
785/* Main container */
2869308c 786#noVNC_container {
2869308c 787 width: 100%;
788 height: 100%;
789 background-color: #313131;
790 border-bottom-right-radius: 800px 600px;
791 /*border-top-left-radius: 800px 600px;*/
792}
793
f6299e0a
PO
794#noVNC_keyboardinput {
795 width: 1px;
796 height: 1px;
797 background-color: #fff;
798 color: #fff;
799 border: 0;
800 position: absolute;
801 left: -40px;
802 z-index: -1;
803 ime-mode: disabled;
804}
805
2869308c 806/* HTML5 Canvas */
807#noVNC_screen {
9865432a
PO
808 display: flex;
809 width: 100%;
810 height: 100%;
648c8398 811 overflow: auto;
9865432a 812 background-color: rgb(40, 40, 40);
2869308c 813}
6244e383 814:root:not(.noVNC_connected) #noVNC_screen {
e40978c7
PO
815 display: none;
816}
2869308c 817
818/* Do not set width/height for VNC_canvas or incorrect
819 * scaling will occur. Canvas size depends on remote VNC
820 * settings and noVNC settings. */
821#noVNC_canvas {
47fbdced 822 margin: auto;
f3b77275
SM
823 /* IE miscalculates width without this :( */
824 flex-shrink: 0;
c327865b
CG
825}
826
b70ce077 827/*Default noVNC logo.*/
479bfa99
JM
828/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
829@font-face {
830 font-family: 'Orbitron';
831 font-style: normal;
832 font-weight: 700;
833 src: local('?'), url('Orbitron700.woff') format('woff'),
834 url('Orbitron700.ttf') format('truetype');
835}
836
4d3aa0ef 837.noVNC_logo {
01a9eee9 838 color:yellow;
479bfa99 839 font-family: 'Orbitron', 'OrbitronTTF', sans-serif;
01a9eee9 840 line-height:90%;
b3c932c3 841 text-shadow: 0.1em 0.1em 0 black;
4d3aa0ef
PO
842}
843.noVNC_logo span{
844 color:green;
845}
846
63bf2ba5
PO
847#noVNC_bell {
848 display: none;
849}
850
a5df24b4
JM
851/* ----------------------------------------
852 * Media sizing
853 * ----------------------------------------
854 */
855
35b29c98 856@media screen and (max-width: 640px){
9d04096e 857 #noVNC_logo {
858 font-size: 150px;
859 }
a5df24b4
JM
860}
861
862@media screen and (min-width: 321px) and (max-width: 480px) {
a5df24b4
JM
863 #noVNC_logo {
864 font-size: 110px;
865 }
866}
867
868@media screen and (max-width: 320px) {
a5df24b4
JM
869 #noVNC_logo {
870 font-size: 90px;
871 }
872}