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