]>
Commit | Line | Data |
---|---|---|
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 | 10 | body { |
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 | ||
21 | html { | |
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 | } |