@charset "UTF-8";
html, body {
  background-color: #eee;
  color: #000;
  font-family: "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
  margin: 0;
  overflow: hidden;
  height: 100%; }

#container {
  height: 100%; }

.channel-root-container {
  text-size: 16px;
  margin-left: 2px;
  background-color: #fff;
  border: 1px solid #d3d3d3;
  float: left;
  border-radius: 3px;
  overflow-x: hidden;
  overflow-y: auto; }

.toolbar-horizontal ~ .channel-root-container {
  margin-top: 2px;
  width: calc(59% - 6px);
  height: calc(98% - 38px); }

.toolbar-vertical ~ .channel-root-container {
  margin-top: 1%;
  width: calc(59% - 6px);
  height: calc(98% - 6px); }

.chat {
  margin-right: 2px;
  float: left; }

.toolbar-horizontal ~ .chat {
  margin-top: 2px;
  margin-left: 1%;
  width: 39%;
  height: calc(98% - 38px); }

.toolbar-vertical ~ .chat {
  margin-top: 1%;
  margin-left: 2px;
  width: calc(39% - 36px);
  height: calc(98% - 4px); }

.log {
  background-color: #fff;
  height: calc(100% - 42px);
  padding: 5px;
  border: 1px #d3d3d3 solid;
  border-radius: 3px;
  overflow-x: hidden;
  overflow-y: scroll; }

.branch img {
  height: 19px; }

.branch {
  position: absolute;
  padding-top: 3px;
  padding-bottom: 3px;
  background-color: #fff; }

.channel-sub {
  margin-left: 9px;
  border-left: 1px transparent solid;
  padding-left: 9px; }

.channel-wrapper:nth-last-child(n + 2) > .branch:not(:empty) + .channel-sub {
  border-left: 1px #d3d3d3 solid; }

.channel-tree,
.user-wrapper {
  margin-left: 9px; }

.channel-tree,
.user-tree {
  position: absolute; }

.channel-tree::before,
.user-tree::before {
  content: "";
  display: block;
  position: relative;
  width: 9px;
  border-left: 1px #d3d3d3 solid;
  border-bottom: 1px #d3d3d3 solid;
  height: 14px; }

.channel-wrapper:nth-last-child(n + 2) > .channel-tree:after,
.user-wrapper:nth-last-child(n + 2) .user-tree:after {
  content: "";
  display: block;
  position: relative;
  width: 0px;
  border-left: 1px #d3d3d3 solid;
  height: 14px; }

.user {
  margin-left: 9px; }

.user-avatar, .user-talk {
  vertical-align: middle; }

.user-avatar-talk-on {
  filter: drop-shadow(1px 1px 1px green) drop-shadow(1px -1px 1px green) drop-shadow(-1px 1px 1px green) drop-shadow(-1px -1px 1px green); }

.user-avatar-talk-whisper {
  filter: drop-shadow(1px 1px 1px purple) drop-shadow(1px -1px 1px purple) drop-shadow(-1px 1px 1px purple) drop-shadow(-1px -1px 1px purple); }

.user-avatar-talk-shout {
  filter: drop-shadow(1px 1px 1px cyan) drop-shadow(1px -1px 1px cyan) drop-shadow(-1px 1px 1px cyan) drop-shadow(-1px -1px 1px cyan); }

.user-status, .channel-status {
  float: right; }

.user, .channel {
  height: 23px;
  line-height: 23px;
  padding: 2px;
  border: 1px solid transparent; }

.selected {
  background-color: lightblue !important;
  border: 1px solid #888;
  border-radius: 3px; }

.user:hover, .channel:hover {
  background-color: #d3d3d3; }

.thisClient {
  font-weight: bold; }

.currentChannel {
  font-weight: bold; }

.user-status img, .channel-status img {
  margin-top: 2px;
  width: 19px;
  height: 19px; }

.channel img, .user img {
  width: auto;
  height: 19px; }

.channel-name, .user-name {
  display: inline; }

.channel:hover .tooltip, .user:hover .tooltip {
  visibility: visible;
  height: auto;
  transition-delay: 1s; }

.tooltip {
  visibility: hidden;
  height: 0px;
  background: #fff;
  border: 1px solid #888;
  margin-top: 16px;
  margin-left: 30px;
  padding: 10px;
  position: absolute;
  z-index: 100; }

.context-menu {
  position: absolute;
  z-index: 50;
  background: #eee;
  border: 1px solid #d3d3d3;
  margin: 0;
  padding: 0;
  list-style: none; }
  .context-menu > li {
    padding: 5px 20px;
    padding-left: 10px; }
    .context-menu > li::before {
      display: inline-block;
      width: 10px;
      padding-right: 5px;
      content: ''; }
    .context-menu > li.checked::before {
      content: '✓'; }
    .context-menu > li:hover {
      background: #d3d3d3; }
    .context-menu > li.disabled {
      background: #eee;
      color: #a9a9a9; }

.avatar-view {
  position: absolute;
  z-index: 200;
  max-width: 90%;
  max-height: 90%;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }

.toolbar {
  display: flex;
  align-items: center; }

.toolbar img {
  height: 28px;
  width: 28px;
  padding: 2px;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer; }

.toolbar img:hover {
  border: 1px solid #d3d3d3;
  background-color: #a9a9a9; }

.toolbar .tb-active {
  border: 1px solid #fff;
  background-color: #d3d3d3; }

.toolbar-horizontal {
  flex-direction: row;
  height: 36px;
  margin-top: 4px;
  margin-left: 1%;
  padding-left: 5px; }

.toolbar-vertical {
  flex-direction: column;
  width: 36px;
  margin-top: 1%;
  margin-left: 4px;
  padding-top: 5px;
  float: left; }

.toolbar-horizontal > * {
  margin-right: 5px; }

.toolbar-vertical > * {
  margin-bottom: 5px; }

.divider {
  display: inline-block; }

.toolbar-horizontal .divider {
  height: 32px;
  border-left: 1px #d3d3d3 solid; }

.toolbar-vertical .divider {
  width: 32px;
  border-top: 1px #d3d3d3 solid; }

.toolbar-horizontal .handle-horizontal {
  width: auto !important;
  border: none !important;
  background-color: #eee !important; }

.toolbar-horizontal .handle-vertical {
  display: none; }

.toolbar-vertical .handle-vertical {
  height: auto !important;
  border: none !important;
  background-color: #eee !important; }

.toolbar-vertical .handle-horizontal {
  display: none; }

.channel-icon .channel-icon-active {
  display: none; }

.channel-tag {
  font-weight: bold;
  color: orange; }

.user-tag {
  font-weight: bold;
  color: green; }

#message-box {
  width: 100%;
  border: none;
  background: none;
  color: #000;
  margin: 5px 0 5px 0;
  padding: 0;
  height: 20px; }

form {
  margin: 0;
  padding: 0; }

.message-content p {
  margin: 0; }

.tb-information.disabled, .tb-record, .tb-comment {
  filter: grayscale(100%); }

.dialog-header {
  height: 20px;
  width: calc(100% - 10px);
  padding: 5px;
  text-align: center;
  color: #fff;
  background-color: #888;
  border-bottom: 1px solid #a9a9a9; }

.dialog-footer {
  width: calc(100% - 20px);
  margin: 10px; }

.dialog-submit {
  float: right; }

.dialog-close, .dialog-submit {
  width: 45%;
  font-size: 15px;
  border: 1px #888 solid;
  border-radius: 3px;
  background-color: #fff;
  color: #000;
  padding: 1px;
  cursor: pointer; }

.connect-dialog table {
  text-align: center;
  width: 100%; }

.dialog {
  position: absolute;
  max-height: calc(100% - 20px);
  max-width: calc(100% - 20px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: auto;
  background-color: #eee;
  color: #000;
  border: 1px #888 solid;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
  z-index: 20; }

.settings-dialog table {
  width: 100%;
  padding: 5px; }

.settings-dialog td {
  width: 50%; }

.settings-dialog table select {
  width: 100%; }

.settings-dialog table input {
  width: 100%;
  margin: 0px; }

.settings-dialog table input[type="checkbox"] {
  width: auto;
  margin: auto; }

.settings-dialog .mic-volume-container {
  height: 10px;
  border: 3px solid #000; }

.settings-dialog .mic-volume {
  height: 100%; }

.join-dialog {
  width: 300px;
  height: 100px;
  top: 50%;
  left: 50%; }

.join-dialog .dialog-submit {
  float: none;
  width: 200px;
  position: absolute;
  top: calc(50% - 10px);
  left: calc(50% - 100px); }

.connect-dialog input[type=text], select {
  font-size: 15px;
  border: 1px #888 solid;
  border-radius: 3px;
  background-color: #fff;
  color: #000;
  padding: 2px;
  width: calc(100% - 8px); }

.connect-dialog input[type=password] {
  font-size: 15px;
  border: 1px #888 solid;
  border-radius: 3px;
  background-color: #fff;
  color: #000;
  padding: 2px;
  width: calc(100% - 8px); }

.connection-info-dialog h3 {
  margin-bottom: 5px; }

.connection-info-dialog .dialog-content {
  padding-left: 20px; }

/****************/
/* Minimal view */
/****************/
.minimal .toolbar-horizontal ~ .channel-root-container {
  width: calc(98% - 6px); }

.minimal .toolbar-vertical ~ .channel-root-container {
  width: calc(98% - 42px); }

.minimal .handle-horizontal {
  display: none; }

.minimal .handle-vertical {
  display: none; }

.minimal .divider {
  display: none; }

.minimal .tb-connect {
  display: none; }

.minimal .tb-information {
  display: none; }

.minimal .tb-record {
  display: none; }

.minimal .tb-comment {
  display: none; }

.minimal .tb-settings {
  display: none; }

.minimal .tb-sourcecode {
  display: none; }

.minimal .chat {
  display: none; }

.minimal .channel-wrapper {
  display: none; }

.minimal .channel {
  display: none; }

.minimal .user-tree {
  display: none; }

.minimal .user-wrapper {
  margin-left: 0px; }

.minimal .user {
  margin-left: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  border: none;
  height: 19px;
  line-height: 19px; }

.minimal .user-status {
  height: 19px; }

/* Mobile view */
@media only screen and (max-width: 600px) and (min-width: 320px) and (min-height: 600px) {
  .toolbar-horizontal ~ .channel-root-container, .toolbar-vertical ~ .channel-root-container {
    height: calc(100% - 440px);
    position: static;
    width: 100%; }
  .toolbar-horizontal ~ .chat, .toolbar-vertical ~ .chat {
    position: fixed;
    bottom: 60px;
    left: 0;
    width: 100%;
    height: 330px;
    y-overflow: auto;
    font-size: 0.8em;
    z-index: 10; }
  .toolbar-vertical {
    flex-direction: row;
    height: 36px;
    margin-top: 4px;
    margin-left: 1%;
    padding-left: 5px; }
  #message-box {
    margin: 10px 5px 10px 5px;
    padding: 10px;
    height: 2em;
    font-size: 1.2em;
    font-weight: bold; }
  .handle-vertical, .handle-horizontal {
    display: none; }
  .dialog {
    min-width: 350px; } }
