@charset "UTF-8";
.dbg * {
  border: solid 1px #ccc; }

a {
  color: inherit;
  text-decoration: inherit; }

body {
  margin: 0; }
  body #views {
    flex: 1; }
  body img.wallpaper {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: -1000; }

form {
  margin: 0; }

h2 {
  margin: 0 0 .5em; }

input.smart {
  font-family: inherit;
  font-size: inherit;
  min-width: 1em;
  border: none;
  box-shadow: none;
  color: inherit;
  background: none; }
  input.smart::placeholder {
    color: inherit;
    opacity: 0.4; }

input.smart.ul:not([readonly]):focus {
  outline: none;
  background: #fff;
  border-bottom: solid 1px #69b; }

input.smart.ul:not([readonly]):hover {
  border-bottom: solid 1px #69b; }

input.smart.ul-always {
  border-bottom: solid 1px #69b; }
  input.smart.ul-always:hover {
    background: #fff; }

ul.div {
  list-style: none;
  padding-left: 0;
  margin: 0; }

ul.inline-block {
  list-style: none;
  padding-left: 0;
  margin: 0; }
  ul.inline-block > li {
    display: inline-block; }

.a-images > li {
  margin: .5em;
  border: solid 1px gray;
  text-align: center; }
  .a-images > li img {
    max-width: 4em;
    max-height: 4em;
    object-fit: contain; }
  .a-images > li .caption {
    word-break: break-all;
    max-width: 12em;
    font-size: 80%; }

.btn-o.fa {
  border-radius: 200px;
  width: 1.7em;
  height: 1.3em;
  line-height: 1.5em;
  box-sizing: border-box;
  text-align: center;
  background: rgba(128, 128, 128, 0.4);
  cursor: pointer; }
  .btn-o.fa:hover {
    background: rgba(128, 128, 128, 0.6); }

.clear-each > * {
  clear: both; }

.clearfix {
  clear: both; }

.counter-pair {
  border: solid 1px gray;
  border-radius: 4px;
  margin: 0 .5em;
  font-family: Sans;
  font-size: 85%;
  vertical-align: top;
  display: flex; }
  .counter-pair > * {
    vertical-align: top;
    display: inline-block;
    padding: .1em .4em; }
  .counter-pair .name {
    background: #eee;
    border-right: solid 1px gray;
    border-radius: 4px 0 0 4px;
    cursor: pointer; }
    .counter-pair .name:hover {
      background: #ddd; }
    .counter-pair .name i.fa {
      margin: 0 .2em; }

.dataTables_wrapper .dataTable td.with-image img {
  max-width: 1.5em;
  max-height: 1.5em;
  object-fit: contain; }

.dataTables_wrapper ul.pagination {
  font-family: Sans; }
  .dataTables_wrapper ul.pagination li {
    display: inline-block;
    margin: 0 .3em; }

.disabled {
  opacity: 0.5;
  font-style: italic;
  cursor: not-allowed; }

.flex-1 {
  flex: 1; }

.flex-row, .flex-column {
  display: flex; }
  .flex-row .fill, .flex-column .fill {
    flex: 1; }
  .flex-row.center, .flex-column.center {
    align-items: center; }
  .flex-row .center, .flex-column .center {
    align-self: center; }
  .flex-row .wrap, .flex-column .wrap {
    flex-wrap: wrap; }
  .flex-row.even > *, .flex-column.even > * {
    flex: 1; }

.flex-row {
  flex-direction: row; }
  .flex-row.full {
    width: 100%; }

.flex-column {
  flex-direction: column; }
  .flex-column.full {
    height: 100%; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.full-width {
  width: 100%; }

.full-height {
  height: 100%; }

.full-size {
  width: 100%;
  height: 100%; }

.hidden {
  display: none; }

.iscroll {
  position: relative; }

.overflow-touch {
  overflow: auto;
  –webkit-overflow-scrolling: touch; }
  .overflow-touch > * {
    -webkit-transform: translateZ(0px); }

.kbd {
  display: inline-block;
  padding: 3px 5px;
  margin: 3px;
  border: solid 1px #000;
  background: #eee;
  font-family: Sans; }

.label-inputs > ul {
  list-style: none; }

.label-inputs:not(.-mixed) > ul > li, .label-inputs.-mixed .entry {
  display: flex;
  margin: .5em 0; }
  .label-inputs:not(.-mixed) > ul > li > .label, .label-inputs:not(.-mixed) > ul > li > label, .label-inputs.-mixed .entry > .label, .label-inputs.-mixed .entry > label {
    display: inline-block;
    width: 10em;
    text-align: right;
    vertical-align: middle; }
    .label-inputs:not(.-mixed) > ul > li > .label:after, .label-inputs:not(.-mixed) > ul > li > label:after, .label-inputs.-mixed .entry > .label:after, .label-inputs.-mixed .entry > label:after {
      content: ":"; }
  .label-inputs:not(.-mixed) > ul > li > .content, .label-inputs:not(.-mixed) > ul > li > :nth-child(2), .label-inputs.-mixed .entry > .content, .label-inputs.-mixed .entry > :nth-child(2) {
    text-align: left;
    flex: 1; }
  .label-inputs:not(.-mixed) > ul > li > :not(:first-child), .label-inputs.-mixed .entry > :not(:first-child) {
    margin-left: 8px; }
  .label-inputs:not(.-mixed) > ul > li > :last-child, .label-inputs.-mixed .entry > :last-child {
    margin-right: 16px; }
  .label-inputs:not(.-mixed) > ul > li input[type=text], .label-inputs.-mixed .entry input[type=text] {
    width: 100%;
    font-family: monospace; }

.list-cmds .list {
  padding: 1em;
  flex: 1;
  height: 100%;
  box-sizing: border-box;
  overflow: auto; }

.list-cmds .cmds {
  flex: 0 0 auto;
  overflow: auto;
  background: #eef;
  font-family: Sans; }
  .no-project .for-project {
    opacity: 0.5; }
  .list-cmds .cmds .header {
    padding: 0 .3em;
    font-size: 120%; }
  .list-cmds .cmds ul.btns {
    padding: 0; }
    .list-cmds .cmds ul.btns li {
      list-style-type: none; }
      .list-cmds .cmds ul.btns li .fa {
        width: 1.2em;
        text-align: right; }
      .list-cmds .cmds ul.btns li:hover {
        cursor: pointer; }

.list-cmds.flex-row {
  flex: 1;
  height: 100%; }
  .list-cmds.flex-row .cmds {
    padding: 1em;
    border-left: solid 1px gray; }
    .list-cmds.flex-row .cmds .btns li {
      margin: .5em 0;
      padding-right: 4px;
      border-bottom: solid 1px rgba(255, 255, 255, 0);
      border-right: solid 3px rgba(255, 255, 255, 0); }
      .list-cmds.flex-row .cmds .btns li:hover {
        border-bottom: dashed 1px gray;
        border-right: solid 3px gray; }

.list-cmds.flex-column {
  flex: 1;
  width: 100%;
  height: 100%; }
  .list-cmds.flex-column .cmds {
    padding: .3em;
    border-top: solid 1px gray;
    text-align: right; }
    .list-cmds.flex-column .cmds ul {
      margin: 0; }
    .list-cmds.flex-column .cmds li {
      display: inline-block;
      border: solid 1px rgba(255, 255, 255, 0);
      border-radius: 4px;
      padding: 4px 8px; }
      .list-cmds.flex-column .cmds li:hover {
        border: solid 1px gray;
        background: #eef;
        box-shadow: 3px 3px 5px 0 rgba(100, 100, 100, 0.1); }

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  cursor: wait;
  background: rgba(128, 128, 128, 0.6);
  animation: bgloop 1.3s infinite alternate ease-in-out; }

@keyframes bgloop {
  0% {
    background: rgba(99, 99, 54, 0.3); }
  100% {
    background: rgba(99, 99, 54, 0.8); } }
  .modal .flex-row {
    align-items: center;
    height: 100%; }
  .modal .content {
    width: 100%;
    text-align: center;
    font-size: 5em;
    font-family: Sans;
    font-weight: bold;
    color: #356; }

.notimpl {
  background-size: 100% 100%; }
  .notimpl:nth-child(odd) {
    background-image: url(../image/notimpl1.jpg); }
  .notimpl:nth-child(even) {
    background-image: url(../image/notimpl2.jpg); }
  .notimpl > * {
    display: none; }

.overflow-auto {
  overflow: auto; }

.overflow-hidden, .crop {
  overflow: hidden; }

.stack {
  position: relative; }
  .stack > div:not(.iscroll-wrapper), .stack > .iscroll-wrapper > div {
    position: absolute;
    padding: 0;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: auto; }
  .stack > :not(.selected) {
    visibility: hidden; }

.v-center {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -ms-transform: translateY(-50%); }

#footbar {
  padding: 3px 2em;
  border-top: solid 1px #ccc;
  background: #eee;
  color: gray;
  text-align: center;
  font-family: Serif; }

#proj-info {
  background: #fafaff;
  position: relative;
  padding: 1em 2em .5em; }
  #proj-info h2 {
    margin: 0; }
  #proj-info .subtitle {
    font-style: italic; }
  #proj-info [k=stats] {
    position: absolute;
    top: 1em;
    right: 2em; }
    #proj-info [k=stats] ul {
      display: flex;
      align-items: flex-start;
      margin: 0; }

#sitebar {
  background: #888;
  padding: 0 1em; }
  #sitebar > * {
    vertical-align: middle; }
  #sitebar .site-nav {
    margin-left: 1em;
    font-weight: bold;
    font-family: sans;
    font-size: 120%;
    color: #fff; }
    #sitebar .site-nav > * {
      display: inline-block; }
    #sitebar .site-nav li {
      margin: 0 .2em; }
    #sitebar .site-nav .level1 {
      font-size: 90%;
      padding: 0.5em 0.5em;
      border-left: solid 1px gray;
      border-right: solid 1px gray; }
    #sitebar .site-nav .level2 {
      font-size: 90%; }
    #sitebar .site-nav .btn {
      padding: .1em .5em;
      border: solid 1px rgba(0, 0, 0, 0);
      border-radius: 4px;
      cursor: pointer; }
      #sitebar .site-nav .btn:hover {
        background: #9ca; }
    #sitebar .site-nav a {
      color: #fff; }

#top.hide {
  background: #89a;
  height: 5px; }
  #top.hide * {
    display: none; }

#view-nav {
  white-space: nowrap; }
  #view-nav > a {
    display: inline-block;
    cursor: pointer; }
  #view-nav.-tabular {
    padding: .5em 2em 0;
    border-bottom-style: solid;
    border-bottom-width: 1px; }
    #view-nav.-tabular > a {
      padding: .3em 1em;
      margin-bottom: -1px;
      border-style: solid;
      border-width: 1px;
      border-bottom-style: solid;
      border-bottom-width: 1px;
      border-radius: 4px 4px 0 0;
      font-family: Sans;
      vertical-align: bottom; }
      #view-nav.-tabular > a:hover {
        border-style: solid;
        border-width: 1px; }
      #view-nav.-tabular > a.selected {
        border-style: solid;
        border-width: 1px;
        border-top-style: solid;
        border-top-width: 2px;
        padding-bottom: .5em; }
  #view-nav.-bw {
    background: #fafaff;
    border-bottom-color: gray; }
    #view-nav.-bw > a {
      border-color: rgba(0, 0, 0, 0);
      border-bottom-color: gray; }
      #view-nav.-bw > a:hover {
        background: #fff;
        border-color: gray;
        border-bottom-color: #fff; }
      #view-nav.-bw > a.selected {
        background: #fff;
        border-color: gray;
        border-top-color: #e96;
        border-bottom-color: #fff; }
