html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  min-width: 650px;
  background-image: url(../background.jpg);
  background-size: contain;
  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;
}

.pager {
  /* margin: 0; */
}

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

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

.pager li > div {
  display: inline-block;
}
