html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  min-width: 650px;
  /* background-image: url(../background.jpg); */
  background-size: cover;
  background-attachment: fixed;
}

body#body {}

.sidebar {
  height: 100%;
  max-height: 100%;
  overflow: auto;
}

.fail {
  color: red;
}

.sucess {
  color: green;
}

.subnav {
  display: none;
  max-height: 500px;
  overflow: auto;
  margin-left: 15px;
  border-left: gray 3px solid;
}

.autoComplete .list-group {
  margin-bottom: 0;
  border: none;
}

#searchBar {
  display: inline-block;
}

#filters {
  margin-bottom: 10px;
  visibility: visible;
  opacity: 1;
  transition: visibility 1s ease-out, opacity 1s ease-out, margin-bottom 1s ease-out;
}

#filters .label {
  /* display: none; */
  font-size: inherit;
  transition: background-color 1s, 
  
  border-color 2s;
  cursor: pointer;
}

#filters .label::after {
  content: " \2716";
}

#filters .label:hover {
  /* font-size: 0; */
  background-color: red;
  border-color: red;
}

#filters .label:hover::before {
  content: "Remove ";
}

#filters .label:hover::after {
  content: "?";
}

#filters .label:not(:last-child) {
  margin-right: 5px;
}

#filters:empty {
  visibility: hidden;
  opacity: 0;
  margin-bottom: 0;
}

/* Magic filters text that won't get picked up in jquery.text */
#filters:not(:empty)::before {
  content: "Filters: ";
}

#search {
  min-width: 500px;
}

.autoComplete {
  max-height: 0;
  overflow-y: auto;
  position: absolute;
  left: 0;
  transition: max-height 1s;
  z-index: 1;
}

*:focus ~ .autoComplete { /* If the parent detects focus on any subelement or itself */
  max-height: 500px;
}

.interest-button {
  font-size: medium;
}

.interest-button.disabled {
  cursor: not-allowed !important;
  color: gray;
}

.hidden {
  height: 0;
  display: none;
}

.disabled {
  cursor: not-allowed;
}

.panel-heading a[data-toggle="collapse"]::after {
  font-family: "Glyphicons Halflings";
  content: "\e114";
  float: right;
  color: white;
}

.panel-heading a[data-toggle="collapse"].collapsed::after {
  content: "\e080";
}

.treeExplorer .treeExplorerNode {
  padding-left: 25px;
  display: block;
  cursor: pointer;
}

.treeExplorer .treeExplorerNode > .nodeChildren {
  display: none;
}

.treeExplorer .treeExplorerNode.open > .nodeChildren {
  display: block;
}

.treeExplorer .treeExplorerNode::before {
  font-family: "Glyphicons Halflings";
  content: "\e080";
  color: gray;
}

.treeExplorer .treeExplorerNode.open::before {
  content: "\e114";
}

.treeExplorer .treeExplorerNode.file {
  cursor: default;
}

.treeExplorer .treeExplorerNode.file::before {
  content: "\e022"
}

#popup {
  top: 0;
  left: 0;
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9000;
  pointer-events: none;
}

#popup > * {
  display: none;
  pointer-events: auto;
}

.modal-open, #request {
  padding-right: 0 !important;
}

.sk-cube-grid {
  display: none;
}

table:empty ~ .sk-cube-grid {
  display: block;
}

#requestForm {
  max-width: 500px;
  min-height: 300px;
  position: relative;
}

.absBotRight {
  position: absolute;
  bottom: 0;
  right: 0;
}
