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;
  top: 40px !important; /* Ignore the library style */
}

*: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 .nodeContent {
  display: inline-block;
  min-height: 24px;
}

.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"
}

.treeExplorer .treeSearch{
  display: none;
}

.treeExplorer .nodeContent:hover > .treeSearch {
  display: inline-block;
}

#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;
}

.fade {
  display: none;
}

.fade.in {
  display: block;
}

.navbar-brand {
  text-shadow: 1px 1px 1px black;
}
