557 lines
12 KiB
CSS
557 lines
12 KiB
CSS
/*
|
|
* noVNC base CSS
|
|
* Copyright (C) 2012 Joel Martin
|
|
* Copyright (C) 2016 Samuel Mannehed for Cendio AB
|
|
* Copyright (C) 2016 Pierre Ossman for Cendio AB
|
|
* noVNC is licensed under the MPL 2.0 (see LICENSE.txt)
|
|
* This file is licensed under the 2-Clause BSD license (see LICENSE.txt).
|
|
*/
|
|
|
|
body {
|
|
margin:0;
|
|
padding:0;
|
|
font-family: Helvetica;
|
|
/*Background image with light grey curve.*/
|
|
background-color:#494949;
|
|
background-repeat:no-repeat;
|
|
background-position:right bottom;
|
|
height:100%;
|
|
}
|
|
|
|
html {
|
|
height:100%;
|
|
}
|
|
|
|
#noVNC_buttons {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Input Elements
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
input[type=input], input[type=password], input:not([type]), textarea {
|
|
/* Disable default rendering */
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
background: none;
|
|
|
|
margin: 2px;
|
|
padding: 2px;
|
|
border: 1px solid rgb(192, 192, 192);
|
|
border-radius: 5px;
|
|
color: black;
|
|
background: linear-gradient(to top, rgb(255, 255, 255) 80%, rgb(240, 240, 240));
|
|
}
|
|
|
|
input[type=button], select {
|
|
/* Disable default rendering */
|
|
-webkit-appearance: none;
|
|
-moz-appearance: none;
|
|
background: none;
|
|
|
|
margin: 2px;
|
|
padding: 2px;
|
|
border: 1px solid rgb(192, 192, 192);
|
|
border-bottom-width: 2px;
|
|
border-radius: 5px;
|
|
color: black;
|
|
background: linear-gradient(to top, rgb(255, 255, 255), rgb(240, 240, 240));
|
|
|
|
/* This avoids it jumping around when :active */
|
|
vertical-align: middle;
|
|
}
|
|
|
|
input[type=button] {
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
|
|
option {
|
|
color: black;
|
|
background: white;
|
|
}
|
|
|
|
input[type=input]:focus, input[type=password]:focus,
|
|
input:not([type]):focus, input[type=button]:focus,
|
|
textarea:focus, select:focus {
|
|
box-shadow: 0px 0px 3px rgba(74, 144, 217, 0.5);
|
|
border-color: rgb(74, 144, 217);
|
|
outline: none;
|
|
}
|
|
|
|
input[type=button]::-moz-focus-inner {
|
|
border: none;
|
|
}
|
|
|
|
input[type=input]:disabled, input[type=password]:disabled,
|
|
input:not([type]):disabled, input[type=button]:disabled,
|
|
textarea:disabled, select:disabled {
|
|
color: rgb(128, 128, 128);
|
|
background: rgb(240, 240, 240);
|
|
}
|
|
|
|
input[type=button]:active, select:active {
|
|
border-bottom-width: 1px;
|
|
margin-top: 3px;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* WebKit centering hacks
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
.noVNC_center {
|
|
/*
|
|
* This is a workaround because webkit misrenders transforms and
|
|
* uses non-integer coordinates, resulting in blurry content.
|
|
* Ideally we'd use "top: 50%; transform: translateY(-50%);" on
|
|
* the objects instead.
|
|
*/
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
pointer-events: none;
|
|
}
|
|
.noVNC_center > * {
|
|
pointer-events: auto;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Control Bar
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
#noVNC_control_bar {
|
|
position: fixed;
|
|
display: block;
|
|
height: 36px;
|
|
left: 0;
|
|
top: 0;
|
|
width: 100%;
|
|
z-index: 200;
|
|
|
|
background: #b2bdcd; /* Old browsers */
|
|
background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
|
|
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+ */
|
|
background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
|
|
background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
|
|
background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
|
|
background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
|
|
}
|
|
|
|
/* General button style */
|
|
.noVNC_button {
|
|
padding: 4px 4px;
|
|
vertical-align: middle;
|
|
border:1px solid #869dbc;
|
|
-webkit-border-radius: 6px;
|
|
-moz-border-radius: 6px;
|
|
border-radius: 6px;
|
|
background: #b2bdcd; /* Old browsers */
|
|
background: -moz-linear-gradient(top, #b2bdcd 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
|
|
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+ */
|
|
background: -webkit-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
|
|
background: -o-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
|
|
background: -ms-linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
|
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2bdcd', endColorstr='#6e84a3',GradientType=0 ); /* IE6-9 */
|
|
background: linear-gradient(top, #b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
|
|
/*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
|
|
font-size: 12px;
|
|
}
|
|
.noVNC_button.noVNC_selected {
|
|
border-color: #4366a9;
|
|
background: #779ced; /* Old browsers */
|
|
background: -moz-linear-gradient(top, #779ced 0%, #3970e0 49%, #2160dd 51%, #2463df 100%); /* FF3.6+ */
|
|
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+ */
|
|
background: -webkit-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Chrome10+,Safari5.1+ */
|
|
background: -o-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* Opera11.10+ */
|
|
background: -ms-linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* IE10+ */
|
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#779ced', endColorstr='#2463df',GradientType=0 ); /* IE6-9 */
|
|
background: linear-gradient(top, #779ced 0%,#3970e0 49%,#2160dd 51%,#2463df 100%); /* W3C */
|
|
}
|
|
.noVNC_button:disabled {
|
|
opacity: 0.4;
|
|
}
|
|
.noVNC_button.noVNC_hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* Panels */
|
|
.noVNC_panel {
|
|
position: fixed;
|
|
top: 46px;
|
|
right: 15px;
|
|
transform: translate(0, -50px);
|
|
|
|
transition: 0.5s ease-in-out;
|
|
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
|
|
padding: 15px;
|
|
|
|
background: #fff;
|
|
-webkit-border-radius: 10px;
|
|
-moz-border-radius: 10px;
|
|
border-radius: 10px;
|
|
color: #000;
|
|
border: 2px solid #E0E0E0;
|
|
box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5);
|
|
}
|
|
.noVNC_panel.noVNC_open {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
transform: translate(0, 0);
|
|
}
|
|
|
|
.noVNC_submit {
|
|
float: right;
|
|
}
|
|
|
|
/* noVNC Touch Device only buttons */
|
|
#noVNC_mobile_buttons {
|
|
display: inline;
|
|
}
|
|
#noVNC_mobile_buttons.noVNC_hidden {
|
|
display: none;
|
|
}
|
|
|
|
#noVNC_keyboardinput {
|
|
width: 1px;
|
|
height: 1px;
|
|
background-color: #fff;
|
|
color: #fff;
|
|
border: 0;
|
|
position: relative;
|
|
left: -40px;
|
|
z-index: -1;
|
|
ime-mode: disabled;
|
|
}
|
|
|
|
#noVNC_toggle_extra_keys_button {
|
|
display: none;
|
|
}
|
|
|
|
#noVNC_extra_keys {
|
|
display: inline;
|
|
list-style-type: none;
|
|
padding: 0px;
|
|
margin: 0px;
|
|
position: relative;
|
|
}
|
|
#noVNC_extra_keys.noVNC_hidden {
|
|
display: none;
|
|
}
|
|
#noVNC_toggle_ctrl_button {
|
|
display: inline;
|
|
}
|
|
#noVNC_toggle_alt_button {
|
|
display: inline;
|
|
}
|
|
#noVNC_send_tab_button {
|
|
display: inline;
|
|
}
|
|
#noVNC_send_esc_button {
|
|
display: inline;
|
|
}
|
|
#noVNC_modifiers {
|
|
display: inline;
|
|
}
|
|
|
|
.noVNC_buttons {
|
|
float: right;
|
|
z-index: 1;
|
|
position: relative;
|
|
padding-right: 10px;
|
|
padding-left: 10px;
|
|
}
|
|
|
|
/* XVP Shutdown/Reboot */
|
|
#noVNC_xvp {
|
|
}
|
|
#noVNC_xvp_buttons {
|
|
display: none;
|
|
}
|
|
|
|
/* Clipboard */
|
|
#noVNC_clipboard {
|
|
}
|
|
#noVNC_clipboard_text {
|
|
width: 500px;
|
|
}
|
|
|
|
/* Settings */
|
|
#noVNC_settings {
|
|
}
|
|
#noVNC_settings ul {
|
|
list-style: none;
|
|
margin: 3px;
|
|
padding: 0px;
|
|
}
|
|
#noVNC_setting_path {
|
|
width: 100px;
|
|
}
|
|
|
|
/* Connection Controls */
|
|
#noVNC_connect_controls {
|
|
}
|
|
#noVNC_connect_controls ul {
|
|
list-style: none;
|
|
margin: 0px;
|
|
padding: 0px;
|
|
}
|
|
#noVNC_connect_controls li {
|
|
padding-bottom:8px;
|
|
}
|
|
#noVNC_setting_host {
|
|
width:150px;
|
|
}
|
|
#noVNC_setting_port {
|
|
width: 80px;
|
|
}
|
|
#noVNC_setting_password {
|
|
width: 150px;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Status Dialog
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
#noVNC_status {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
z-index: 3;
|
|
transform: translateY(-100%);
|
|
|
|
transition: 0.5s ease-in-out;
|
|
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
|
|
padding: 5px;
|
|
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: center;
|
|
align-content: center;
|
|
|
|
line-height: 25px;
|
|
word-wrap: break-word;
|
|
color: #fff;
|
|
|
|
border-bottom: 1px solid rgba(0, 0, 0, 0.9);
|
|
}
|
|
#noVNC_status.noVNC_open {
|
|
transform: translateY(0);
|
|
visibility: visible;
|
|
opacity: 1;
|
|
}
|
|
|
|
#noVNC_status::before {
|
|
content: "";
|
|
display: inline-block;
|
|
width: 25px;
|
|
height: 25px;
|
|
margin-right: 5px;
|
|
}
|
|
|
|
#noVNC_status.noVNC_status_normal {
|
|
background: rgba(128,128,128,0.9);
|
|
}
|
|
#noVNC_status.noVNC_status_normal::before {
|
|
content: url("../images/info.svg") " ";
|
|
}
|
|
#noVNC_status.noVNC_status_error {
|
|
background: rgba(200,55,55,0.9);
|
|
}
|
|
#noVNC_status.noVNC_status_error::before {
|
|
content: url("../images/error.svg") " ";
|
|
}
|
|
#noVNC_status.noVNC_status_warn {
|
|
background: rgba(180,180,30,0.9);
|
|
}
|
|
#noVNC_status.noVNC_status_warn::before {
|
|
content: url("../images/warning.svg") " ";
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Password Dialog
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
#noVNC_password_dlg {
|
|
transform: translateY(-50px);
|
|
}
|
|
#noVNC_password_dlg.noVNC_open {
|
|
transform: translateY(0);
|
|
}
|
|
#noVNC_password_dlg ul {
|
|
list-style: none;
|
|
margin: 0px;
|
|
padding: 0px;
|
|
}
|
|
#noVNC_password_dlg li {
|
|
padding-bottom:8px;
|
|
}
|
|
#noVNC_password_input {
|
|
width: 150px;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Main Area
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
#noVNC_container {
|
|
display: table;
|
|
width: 100%;
|
|
height: 100%;
|
|
background-color: #313131;
|
|
border-bottom-right-radius: 800px 600px;
|
|
/*border-top-left-radius: 800px 600px;*/
|
|
}
|
|
|
|
/* HTML5 Canvas */
|
|
#noVNC_screen {
|
|
position: absolute;
|
|
margin: 0px;
|
|
padding: 0px;
|
|
bottom: 0px;
|
|
top: 36px; /* the height of the control bar */
|
|
left: 0px;
|
|
right: 0px;
|
|
width: auto;
|
|
height: auto;
|
|
}
|
|
#noVNC_screen.noVNC_hidden {
|
|
display: none;
|
|
}
|
|
|
|
/* Do not set width/height for VNC_canvas or incorrect
|
|
* scaling will occur. Canvas size depends on remote VNC
|
|
* settings and noVNC settings. */
|
|
#noVNC_canvas {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
}
|
|
|
|
/*Default noVNC logo.*/
|
|
/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */
|
|
@font-face {
|
|
font-family: 'Orbitron';
|
|
font-style: normal;
|
|
font-weight: 700;
|
|
src: local('?'), url('Orbitron700.woff') format('woff'),
|
|
url('Orbitron700.ttf') format('truetype');
|
|
}
|
|
|
|
#noVNC_logo {
|
|
margin-top: 170px;
|
|
margin-left: 10px;
|
|
color:yellow;
|
|
text-align:left;
|
|
font-family: 'Orbitron', 'OrbitronTTF', sans-serif;
|
|
font-size: 180px;
|
|
line-height:90%;
|
|
text-shadow:
|
|
5px 5px 0 #000,
|
|
-1px -1px 0 #000,
|
|
1px -1px 0 #000,
|
|
-1px 1px 0 #000,
|
|
1px 1px 0 #000;
|
|
}
|
|
#noVNC_logo.noVNC_hidden {
|
|
display: none;
|
|
}
|
|
|
|
#noVNC_logo span{
|
|
color:green;
|
|
}
|
|
|
|
/* ----------------------------------------
|
|
* Media sizing
|
|
* ----------------------------------------
|
|
*/
|
|
|
|
@media screen and (max-width: 640px){
|
|
#noVNC_clipboard_text {
|
|
width: 410px;
|
|
}
|
|
#noVNC_logo {
|
|
font-size: 150px;
|
|
}
|
|
.noVNC_button {
|
|
font-size: 10px;
|
|
}
|
|
.noVNC_buttons_left {
|
|
padding-left: 0px;
|
|
}
|
|
.noVNC_buttons_right {
|
|
padding-right: 0px;
|
|
}
|
|
/* collapse the extra keys on lower resolutions */
|
|
#noVNC_toggle_extra_keys_button {
|
|
display: inline;
|
|
}
|
|
#noVNC_modifiers {
|
|
display: none;
|
|
}
|
|
#noVNC_modifiers.noVNC_open {
|
|
display: inline;
|
|
}
|
|
#noVNC_toggle_ctrl_button {
|
|
position: absolute;
|
|
top: 30px;
|
|
left: 0px;
|
|
}
|
|
#noVNC_toggle_alt_button {
|
|
position: absolute;
|
|
top: 65px;
|
|
left: 0px;
|
|
}
|
|
#noVNC_send_tab_button {
|
|
position: absolute;
|
|
top: 100px;
|
|
left: 0px;
|
|
}
|
|
#noVNC_send_esc_button {
|
|
position: absolute;
|
|
top: 135px;
|
|
left: 0px;
|
|
}
|
|
}
|
|
|
|
@media screen and (min-width: 321px) and (max-width: 480px) {
|
|
#noVNC_clipboard_text {
|
|
width: 250px;
|
|
}
|
|
#noVNC_logo {
|
|
font-size: 110px;
|
|
}
|
|
}
|
|
|
|
@media screen and (max-width: 320px) {
|
|
.noVNC_button {
|
|
font-size: 9px;
|
|
}
|
|
#noVNC_clipboard_text {
|
|
width: 220px;
|
|
}
|
|
#noVNC_logo {
|
|
font-size: 90px;
|
|
}
|
|
}
|