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