/*
 * noVNC base CSS
 * Copyright (C) 2012 Joel Martin
 * Copyright (C) 2013 Samuel Mannehed 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_controls ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}
#noVNC_controls li {
  padding-bottom:8px;
}

#noVNC_host {
  width:150px;
}
#noVNC_port {
  width: 80px;
}
#noVNC_password {
  width: 150px;
}
#noVNC_encrypt {
}
#noVNC_path {
  width: 100px;
}
#noVNC_connect_button {
  width: 110px;
  float:right;
}

#noVNC_buttons {
  white-space: nowrap;
}

#noVNC_view_drag_button {
  display: none;
}
#sendCtrlAltDelButton {
  display: none;
}
#fullscreenButton {
  display: none;
}
#noVNC_xvp_buttons {
  display: none;
}
#noVNC_mobile_buttons {
  display: none;
}

#noVNC_extra_keys {
  display: inline;
  list-style-type: none;
  padding: 0px;
  margin: 0px;
  position: relative;
}

.noVNC-buttons-left {
  float: left;
  z-index: 1;
  position: relative;
}

.noVNC-buttons-right {
  float:right;
  right: 0px;
  z-index: 2;
  position: absolute;
}

#noVNC_status {
  font-size: 12px;
  padding-top: 4px;
  height:32px;
  text-align: center;
  font-weight: bold;
  color: #fff;
}

#noVNC_settings_menu {
  margin: 3px;
  text-align: left;
}
#noVNC_settings_menu ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

#noVNC_apply {
  float:right;
}

/* Settings slider: currently only used by AST2100 code, but could be reused.  Horribly messy, like most of the rest of the UI widgetry. */
#noVNC_settings_menu .slider-end,
#noVNC_settings_menu .slider-front {
  display: inline-block;
  vertical-align: top;
  font-size: 0.8em;
}
#noVNC_settings_menu .slider-bar {
  margin: 0 10px;
}
#noVNC_settings_menu .slider-area {
  margin-top: 2px;  /* Just to keep the slider from getting too close to the label above. */
}
#noVNC_settings_menu .slider-front {
  text-align: right;
}
#noVNC_settings_menu .slider-label {
  width: 110px;
  display: inline-block;
  vertical-align: top;
}

/* Settings slider: video quality (quantization table selector) in AST2100 mode. */
#noVNC_settings_menu #noVNC_ast2100_quality {
  height: 20px;
  position: relative;
  cursor: pointer;
  display: inline-block;
}
#noVNC_settings_menu #noVNC_ast2100_quality:before {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: black;
}
#noVNC_settings_menu #noVNC_ast2100_quality span {
  display: block;
  height: inherit;
  position: relative;
  z-index: 2;
  background-color: gray;
}

/* Do not set width/height for VNC_screen or VNC_canvas or incorrect
 * scaling will occur. Canvas resizes to remote VNC settings */
#noVNC_screen {
  display: table;
  width:100%;
  height:100%;
  background-color:#313131;
  border-bottom-right-radius: 800px 600px;
  /*border-top-left-radius: 800px 600px;*/
}

#noVNC_container {
  display: none;
  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_canvas {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

#VNC_clipboard_clear_button {
  float:right;
}
#VNC_clipboard_text {
  font-size: 11px;
}

#noVNC_clipboard_clear_button {
  float:right;
}

/*Bubble contents divs*/
#noVNC_settings {
  display:none;
  margin-top:73px;
  right:20px;
  position:fixed;
}

#noVNC_controls {
  display:none;
  margin-top:73px;
  right:12px;
  position:fixed;
}
#noVNC_controls.top:after  {
  right:15px;
}

#noVNC_description {
  display:none;
  position:fixed;

  margin-top:73px;
  right:20px;
  left:20px;
  padding:15px;
  color:#000;
  background:#eee; /* default background for browsers without gradient support */

  border:2px solid #E0E0E0;
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border-radius:10px;
}

#noVNC_popup_status {
  display:none;
  position: fixed;
  z-index: 1;

  margin:15px;
  margin-top:60px;
  padding:15px;
  width:auto;

  text-align:center;
  font-weight:bold;
  word-wrap:break-word;
  color:#fff;
  background:rgba(0,0,0,0.65);

  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border-radius:10px;
}

#noVNC_xvp {
  display:none;
  margin-top:73px;
  right:30px;
  position:fixed;
}
#noVNC_xvp.top:after {
  right:125px;
}

#noVNC_clipboard {
  display:none;
  margin-top:73px;
  right:30px;
  position:fixed;
}
#noVNC_clipboard.top:after {
  right:85px;
}

#keyboardinput {
  width:1px;
  height:1px;
  background-color:#fff;
  color:#fff;
  border:0;
  position: relative;
  left: -40px;
  z-index: -1;
  ime-mode: disabled;
}

/*
 * Advanced Styling
 */

.noVNC_status_normal {
  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 */
}
.noVNC_status_error {
  background: #f04040; /* Old browsers */
  background: -moz-linear-gradient(top, #f04040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
  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+ */
  background: -webkit-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
  background: -ms-linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
  background: linear-gradient(top, #f04040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
}
.noVNC_status_warn {
  background: #f0f040; /* Old browsers */
  background: -moz-linear-gradient(top, #f0f040 0%, #899cb3 49%, #7e93af 51%, #6e84a3 100%); /* FF3.6+ */
  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+ */
  background: -webkit-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* Opera11.10+ */
  background: -ms-linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* IE10+ */
  background: linear-gradient(top, #f0f040 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); /* W3C */
}

/* Control bar */
#noVNC-control-bar {
  position:fixed;
  
  display:block;
  height:36px;
  left:0;
  top:0;
  width:100%;
  z-index:200;
}

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

.noVNC_status_button_selected {
  padding: 4px 4px;
  vertical-align: middle;
  border:1px solid #4366a9;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  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 */
 /*box-shadow:inset 0.4px 0.4px 0.4px #000000;*/
}

.noVNC_status_button:disabled {
  opacity: 0.4;
}


/*Settings Bubble*/
.triangle-right {
  position:relative;
  padding:15px;
  margin:1em 0 3em;
  color:#fff;
  background:#fff; /* default background for browsers without gradient support */
  /* css3 */
  /*background:-webkit-gradient(linear, 0 0, 0 100%, from(#2e88c4), to(#075698));
  background:-moz-linear-gradient(#2e88c4, #075698);
  background:-o-linear-gradient(#2e88c4, #075698);
  background:linear-gradient(#2e88c4, #075698);*/
  -webkit-border-radius:10px;
  -moz-border-radius:10px;
  border-radius:10px;
  color:#000;
  border:2px solid #E0E0E0;
}

.triangle-right.top:after {
  border-color: transparent #E0E0E0;
  border-width: 20px 20px 0 0;
  bottom: auto;
  left: auto;
  right: 50px;
  top: -20px;
}

.triangle-right:after {
  content:"";
  position:absolute;
  bottom:-20px; /* value = - border-top-width - border-bottom-width */
  left:50px; /* controls horizontal position */
  border-width:20px 0 0 20px; /* vary these values to change the angle of the vertex */
  border-style:solid;
  border-color:#E0E0E0 transparent;
  /* reduce the damage in FF3.0 */
  display:block;
  width:0;
}

.triangle-right.top:after {
  top:-40px; /* value = - border-top-width - border-bottom-width */
  right:50px; /* controls horizontal position */
  bottom:auto;
  left:auto;
  border-width:40px 40px 0 0; /* vary these values to change the angle of the vertex */
  border-color:transparent #E0E0E0;
}

/*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;
  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 span{
  color:green;
}

/* ----------------------------------------
 * Media sizing
 * ----------------------------------------
 */


.noVNC_status_button {
  font-size: 12px;
}

#noVNC_clipboard_text {
  width: 500px;
}

#noVNC_logo {
  font-size: 180px;
}

.noVNC-buttons-left {
  padding-left: 10px;
}

.noVNC-buttons-right {
  padding-right: 10px;
}

#noVNC_status {
  z-index: 0;
  position: absolute;
  width: 100%;
  margin-left: 0px;
}

#showExtraKeysButton { display: none; }
#toggleCtrlButton { display: inline; }
#toggleAltButton {  display: inline; }
#sendTabButton { display: inline; }
#sendEscButton { display: inline; }

/* left-align the status text on lower resolutions */
@media screen and (max-width: 800px){
  #noVNC_status {
    z-index: 1;
    position: relative;
    width: auto;
    float: left;
    margin-left: 4px;
  }
}

@media screen and (max-width: 640px){
  #noVNC_clipboard_text {
    width: 410px;
  }
  #noVNC_logo {
    font-size: 150px;
  }
  .noVNC_status_button {
    font-size: 10px;
  }
  .noVNC-buttons-left {
    padding-left: 0px;
  }
  .noVNC-buttons-right {
    padding-right: 0px;
  }
  /* collapse the extra keys on lower resolutions */
  #showExtraKeysButton {
    display: inline;
  }
  #toggleCtrlButton {
    display: none;
    position: absolute;
    top: 30px;
    left: 0px;
  }
  #toggleAltButton {
    display: none;
    position: absolute;
    top: 65px;
    left: 0px;
  }
  #sendTabButton {
    display: none;
    position: absolute;
    top: 100px;
    left: 0px;
  }
  #sendEscButton {
    display: none;
    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_status_button {
    font-size: 9px;
  }
  #noVNC_clipboard_text {
    width: 220px;
  }
  #noVNC_logo {
    font-size: 90px;
  }
}
