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

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

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

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

.treeExplorer .treeExplorerExpander:before {
  content: "[+]";
  color: gray;
}

.treeExplorer .open > .nodeContent > .treeExplorerExpander:before {
  content: "[-]";
}

.treeExplorer .file > .nodeContent > .treeExplorerExpander {
  cursor: default;
}

.treeExplorer .file > .nodeContent > .treeExplorerExpander:before {
  content: "[=]"
}

.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, #loading {
  padding-right: 0 !important;
}

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

.floatRight {
  float: right;
  margin-right: 15px;
}

.fade {
  display: none;
}

.fade.in {
  display: block;
}

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

.popover {
  max-width: none;
}

.popover-container {
  position: relative;
}

.metaData {
  width: 600px;
  max-height: 800px;
  word-wrap: normal;
  overflow: auto;
}

#requestForm button {
  margin-bottom: 5px;
}

#templates {
  display: none;
}

#subsetVariables > .row:not(:last-child) {
  margin-bottom: 5px;
}

#subsetVariables {
  transition: opacity 1s, margin 1s, padding 1s;
}

#subsetVariables:empty {
  opacity: 0;
  margin: 0;
  padding: 0;
}

#direct-download-list:before {
  content: "The following are available for direct download:";
}

#direct-download-list:empty:before {
  content: "No names in the selection are available for direct download...";
}

#loading.loading #cancel-text {
  display: none;
}

#loading.cancelled #loading-text {
  display: none;
}
