/*
 * ### Start sticky footer ###
 * Force the footer to always stay on the bottom of the page regardless of how
 * little content is on the page.
*/
body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}
/* ### End sticky footer ### */

/* add custom bold class */
.bold {
  font-weight: bold;
}

/* CSS for clickable th elements in tables. Needed for sortable table data with
list js. On click on th header elements will be sorted accordingly. Also a caret
indicator will show up how the column is sorted right now.; */
.sort {
  cursor: pointer;
}
.sort:after {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid transparent;
  content:"";
  position: relative;
  top:-10px;
  right:-5px;
}
.sort.asc:after {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid #000000;
  content:"";
  position: relative;
  top:13px;
  right:-5px;
}
.sort.desc:after {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 5px solid #000000;
  content:"";
  position: relative;
  top:-10px;
  right:-5px;
}

/* Sticy side elements */
.sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  padding: 50px;
  z-index: 999; /* tmp fix */
}

/* class for expert view */
.expert-view {
  cursor: pointer;
}

/* styles for resource lists */
.service[data-service]:before {
  content: "help";
}
.service[data-service="corpus_analysis"]:before {
  content: "search";
}
.service[data-service="setup_files"]:before {
  content: "burst_mode";
}
.service[data-service="nlp"]:before {
  content: "format_textdirection_l_to_r";
}
.service[data-service="ocr"]:before {
  content: "find_in_page";
}
.status[data-status]:before {
  content: attr(data-status);
}
.status[data-status] {
  background-color: #f44336 !important; /* ~materialize "red" */
}
.status[data-status="unprepared"] {
  background-color: #9e9e9e !important; /* ~materialize grey */
}
.status[data-status="submitted"] {
  background-color: #9e9e9e !important; /* ~materialize grey */
}
.status[data-status="queued"] {
  background-color: #2196f3 !important; /* ~materialize blue */
}
.status[data-status="running"] {
  background-color: #ffc107 !important; /* ~materialize amber */
}
.status[data-status="complete"] {
  background-color: #4caf50 !important; /* ~materialize green */
}
.status[data-status="prepared"] {
  background-color: #4caf50 !important; /* ~materialize green */
}
.status[data-status="start analysis"] {
  background-color: #2196f3 !important; /* ~materialize blue */
}
.status[data-status="analysing"] {
  background-color: #4caf50 !important; /* ~materialize green */
}
.status[data-status="stop analysis"] {
  background-color: #ff5722 !important; /* ~materialize deep-orange */
}