]> git.proxmox.com Git - mirror_novnc.git/blob - include/base.css
Implement XVP UI in HTML
[mirror_novnc.git] / include / base.css
1 /*
2 * noVNC base CSS
3 * Copyright (C) 2012 Joel Martin
4 * Copyright (C) 2013 Samuel Mannehed for Cendio AB
5 * noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
6 * This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
7 */
8
9 body {
10 margin:0;
11 padding:0;
12 font-family: Helvetica;
13 /*Background image with light grey curve.*/
14 background-color:#494949;
15 background-repeat:no-repeat;
16 background-position:right bottom;
17 height:100%;
18 }
19
20 html {
21 height:100%;
22 }
23
24 #noVNC_controls ul {
25 list-style: none;
26 margin: 0px;
27 padding: 0px;
28 }
29 #noVNC_controls li {
30 padding-bottom:8px;
31 }
32
33 #noVNC_host {
34 width:150px;
35 }
36 #noVNC_port {
37 width: 80px;
38 }
39 #noVNC_password {
40 width: 150px;
41 }
42 #noVNC_encrypt {
43 }
44 #noVNC_path {
45 width: 100px;
46 }
47 #noVNC_connect_button {
48 width: 110px;
49 float:right;
50 }
51
52 #noVNC_buttons {
53 white-space: nowrap;
54 }
55
56 #noVNC_view_drag_button {
57 display: none;
58 }
59 #sendCtrlAltDelButton {
60 display: none;
61 }
62 #noVNC_xvp_buttons {
63 display: none;
64 }
65 #noVNC_mobile_buttons {
66 display: none;
67 }
68
69 #noVNC_extra_keys {
70 display: inline;
71 list-style-type: none;
72 padding: 0px;
73 margin: 0px;
74 position: relative;
75 }
76
77 .noVNC-buttons-left {
78 float: left;
79 z-index: 1;
80 position: relative;
81 }
82
83 .noVNC-buttons-right {
84 float:right;
85 right: 0px;
86 z-index: 2;
87 position: absolute;
88 }
89
90 #noVNC_status {
91 font-size: 12px;
92 padding-top: 4px;
93 height:32px;
94 text-align: center;
95 font-weight: bold;
96 color: #fff;
97 }
98
99 #noVNC_settings_menu {
100 margin: 3px;
101 text-align: left;
102 }
103 #noVNC_settings_menu ul {
104 list-style: none;
105 margin: 0px;
106 padding: 0px;
107 }
108
109 #noVNC_apply {
110 float:right;
111 }
112
113 /* Do not set width/height for VNC_screen or VNC_canvas or incorrect
114 * scaling will occur. Canvas resizes to remote VNC settings */
115 #noVNC_screen_pad {
116 margin: 0px;
117 padding: 0px;
118 height: 36px;
119 }
120 #noVNC_screen {
121 text-align: center;
122 display: table;
123 width:100%;
124 height:100%;
125 background-color:#313131;
126 border-bottom-right-radius: 800px 600px;
127 /*border-top-left-radius: 800px 600px;*/
128 }
129
130 #noVNC_container, #noVNC_canvas {
131 margin: 0px;
132 padding: 0px;
133 }
134
135 #noVNC_canvas {
136 left: 0px;
137 }
138
139 #VNC_clipboard_clear_button {
140 float:right;
141 }
142 #VNC_clipboard_text {
143 font-size: 11px;
144 }
145
146 #noVNC_clipboard_clear_button {
147 float:right;
148 }
149
150 /*Bubble contents divs*/
151 #noVNC_settings {
152 display:none;
153 margin-top:73px;
154 right:20px;
155 position:fixed;
156 }
157
158 #noVNC_controls {
159 display:none;
160 margin-top:73px;
161 right:12px;
162 position:fixed;
163 }
164 #noVNC_controls.top:after {
165 right:15px;
166 }
167
168 #noVNC_description {
169 display:none;
170 position:fixed;
171
172 margin-top:73px;
173 right:20px;
174 left:20px;
175 padding:15px;
176 color:#000;
177 background:#eee; /* default background for browsers without gradient support */
178
179 border:2px solid #E0E0E0;
180 -webkit-border-radius:10px;
181 -moz-border-radius:10px;
182 border-radius:10px;
183 }
184
185 #noVNC_popup_status_panel {
186 display:none;
187 position: fixed;
188 z-index: 1;
189
190 margin:15px;
191 margin-top:60px;
192 padding:15px;
193 width:auto;
194
195 text-align:center;
196 font-weight:bold;
197 word-wrap:break-word;
198 color:#fff;
199 background:rgba(0,0,0,0.65);
200
201 -webkit-border-radius:10px;
202 -moz-border-radius:10px;
203 border-radius:10px;
204 }
205
206 #noVNC_xvp {
207 display:none;
208 margin-top:73px;
209 right:30px;
210 position:fixed;
211 }
212 #noVNC_xvp.top:after {
213 right:125px;
214 }
215
216 #noVNC_clipboard {
217 display:none;
218 margin-top:73px;
219 right:30px;
220 position:fixed;
221 }
222 #noVNC_clipboard.top:after {
223 right:85px;
224 }
225
226 #keyboardinput {
227 width:1px;
228 height:1px;
229 background-color:#fff;
230 color:#fff;
231 border:0;
232 position: relative;
233 left: -40px;
234 z-index: -1;
235 }
236
237 /*
238 * Advanced Styling
239 */
240
241 .noVNC_status_normal {
242 background: #b2bdcd; /* Old browsers */
243 background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
244 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
245 background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
246 background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
247 background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
248 background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
249 }
250 .noVNC_status_error {
251 background: #f04040; /* Old browsers */
252 background: -moz-linear-gradient(top, #f04040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
253 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f04040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
254 background: -webkit-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
255 background: -o-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
256 background: -ms-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
257 background: linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
258 }
259 .noVNC_status_warn {
260 background: #f0f040; /* Old browsers */
261 background: -moz-linear-gradient(top, #f0f040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
262 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f040), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
263 background: -webkit-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
264 background: -o-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
265 background: -ms-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
266 background: linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
267 }
268
269 /* Control bar */
270 #noVNC-control-bar {
271 position:fixed;
272
273 display:block;
274 height:36px;
275 left:0;
276 top:0;
277 width:100%;
278 z-index:200;
279 }
280
281 .noVNC_status_button {
282 padding: 4px 4px;
283 vertical-align: middle;
284 border:1px solid #869dbc;
285 -webkit-border-radius: 6px;
286 -moz-border-radius: 6px;
287 border-radius: 6px;
288 background: #b2bdcd; /* Old browsers */
289 background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
290 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b2bdcd), color-stop(49%,#899cb3), color-stop(51%,#7e93af), color-stop(100%,#6e84a3)); /* Chrome,Safari4+ */
291 background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
292 background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
293 background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
294 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2bdcd', endColorstr='#6e84a3',GradientType=0 ); /* IE6-9 */
295 background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
296 /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
297 }
298
299 .noVNC_status_button_selected {
300 padding: 4px 4px;
301 vertical-align: middle;
302 border:1px solid #4366a9;
303 -webkit-border-radius: 6px;
304 -moz-border-radius: 6px;
305 background: #779ced; /* Old browsers */
306 background: -moz-linear-gradient(top, #779ced 0%, #3970e0 49%, #2160dd 51%, #2463df 100%); /* FF3.6+ */
307 background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#779ced), color-stop(49%,#3970e0), color-stop(51%,#2160dd), color-stop(100%,#2463df)); /* Chrome,Safari4+ */
308 background: -webkit-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Chrome10+,Safari5.1+ */
309 background: -o-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Opera11.10+ */
310 background: -ms-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* IE10+ */
311 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#779ced', endColorstr='#2463df',GradientType=0 ); /* IE6-9 */
312 background: linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* W3C */
313 /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
314 }
315
316
317 /*Settings Bubble*/
318 .triangle-right {
319 position:relative;
320 padding:15px;
321 margin:1em 0 3em;
322 color:#fff;
323 background:#fff; /* default background for browsers without gradient support */
324 /* css3 */
325 /*background:-webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));
326 background:-moz-linear-gradient(#2e88c4, #075698);
327 background:-o-linear-gradient(#2e88c4, #075698);
328 background:linear-gradient(#2e88c4, #075698);*/
329 -webkit-border-radius:10px;
330 -moz-border-radius:10px;
331 border-radius:10px;
332 color:#000;
333 border:2px solid #E0E0E0;
334 }
335
336 .triangle-right.top:after {
337 border-color: transparent #E0E0E0;
338 border-width: 20px 20px 0 0;
339 bottom: auto;
340 left: auto;
341 right: 50px;
342 top: -20px;
343 }
344
345 .triangle-right:after {
346 content:"";
347 position:absolute;
348 bottom:-20px; /* value = - border-top-width - border-bottom-width */
349 left:50px; /* controls horizontal position */
350 border-width:20px 0 0 20px; /* vary these values to change the angle of the vertex */
351 border-style:solid;
352 border-color:#E0E0E0 transparent;
353 /* reduce the damage in FF3.0 */
354 display:block;
355 width:0;
356 }
357
358 .triangle-right.top:after {
359 top:-40px; /* value = - border-top-width - border-bottom-width */
360 right:50px; /* controls horizontal position */
361 bottom:auto;
362 left:auto;
363 border-width:40px 40px 0 0; /* vary these values to change the angle of the vertex */
364 border-color:transparent #E0E0E0;
365 }
366
367 /*Default noVNC logo.*/
368 /* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
369 @font-face {
370 font-family: 'Orbitron';
371 font-style: normal;
372 font-weight: 700;
373 src: local('?'), url('Orbitron700.woff') format('woff'),
374 url('Orbitron700.ttf') format('truetype');
375 }
376
377 #noVNC_logo {
378 margin-top: 170px;
379 margin-left: 10px;
380 color:yellow;
381 text-align:left;
382 font-family: 'Orbitron', 'OrbitronTTF', sans-serif;
383 line-height:90%;
384 text-shadow:
385 5px 5px 0 #000,
386 -1px -1px 0 #000,
387 1px -1px 0 #000,
388 -1px 1px 0 #000,
389 1px 1px 0 #000;
390 }
391
392
393 #noVNC_logo span{
394 color:green;
395 }
396
397 /* ----------------------------------------
398 * Media sizing
399 * ----------------------------------------
400 */
401
402
403 .noVNC_status_button {
404 font-size: 12px;
405 }
406
407 #noVNC_clipboard_text {
408 width: 500px;
409 }
410
411 #noVNC_logo {
412 font-size: 180px;
413 }
414
415 .noVNC-buttons-left {
416 padding-left: 10px;
417 }
418
419 .noVNC-buttons-right {
420 padding-right: 10px;
421 }
422
423 #noVNC_status {
424 z-index: 0;
425 position: absolute;
426 width: 100%;
427 margin-left: 0px;
428 }
429
430 #showExtraKeysButton { display: none; }
431 #toggleCtrlButton { display: inline; }
432 #toggleAltButton { display: inline; }
433 #sendTabButton { display: inline; }
434 #sendEscButton { display: inline; }
435
436 /* left-align the status text on lower resolutions */
437 @media screen and (max-width: 800px){
438 #noVNC_status {
439 z-index: 1;
440 position: relative;
441 width: auto;
442 float: left;
443 margin-left: 4px;
444 }
445 }
446
447 @media screen and (max-width: 640px){
448 #noVNC_clipboard_text {
449 width: 410px;
450 }
451 #noVNC_logo {
452 font-size: 150px;
453 }
454 .noVNC_status_button {
455 font-size: 10px;
456 }
457 .noVNC-buttons-left {
458 padding-left: 0px;
459 }
460 .noVNC-buttons-right {
461 padding-right: 0px;
462 }
463 /* collapse the extra keys on lower resolutions */
464 #showExtraKeysButton {
465 display: inline;
466 }
467 #toggleCtrlButton {
468 display: none;
469 position: absolute;
470 top: 30px;
471 left: 0px;
472 }
473 #toggleAltButton {
474 display: none;
475 position: absolute;
476 top: 65px;
477 left: 0px;
478 }
479 #sendTabButton {
480 display: none;
481 position: absolute;
482 top: 100px;
483 left: 0px;
484 }
485 #sendEscButton {
486 display: none;
487 position: absolute;
488 top: 135px;
489 left: 0px;
490 }
491 }
492
493 @media screen and (min-width: 321px) and (max-width: 480px) {
494 #noVNC_clipboard_text {
495 width: 250px;
496 }
497 #noVNC_logo {
498 font-size: 110px;
499 }
500 }
501
502 @media screen and (max-width: 320px) {
503 .noVNC_status_button {
504 font-size: 9px;
505 }
506 #noVNC_clipboard_text {
507 width: 220px;
508 }
509 #noVNC_logo {
510 font-size: 90px;
511 }
512 }