/* * 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; } }