@charset "UTF-8";
* {
  box-sizing: border-box;
  font-family: Hack;
  font-weight: 400;
  line-height: 1.45;
  scrollbar-color: white black;
  scrollbar-width: thin; }
  *::-webkit-scrollbar {
    width: 4px; }
  *::-webkit-scrollbar-track {
    background-color: transparent; }
  *::-webkit-scrollbar-thumb {
    background-color: white; }

html {
  font-size: 14px; }

body {
  background-color: black;
  color: #333; }
  body #main {
    transition: filter .5s; }
  body.noscroll {
    overflow: hidden; }
    body.noscroll #main {
      filter: blur(2px);
      pointer-events: none; }

p {
  margin-bottom: 1.3em; }

h1, h2, h3, h4 {
  margin: 1.414em 0 0.5em;
  font-weight: inherit;
  line-height: 1.2; }

h1 {
  margin-top: 0;
  font-size: 2.441em; }

h2 {
  font-size: 1.953em; }

h3 {
  font-size: 1.563em; }

h4 {
  font-size: 1.25em; }

small, .font_small {
  font-size: 0.8em; }

body {
  margin: 0;
  padding: 0; }

input:focus, button:focus, .testrunner-testdb input.filter:focus, .testrunner-testdb label:focus {
  outline: 0; }

#app {
  position: relative;
  color: #aaa;
  background-color: black;
  display: flex;
  flex-direction: column; }

div#nprogress .bar {
  position: fixed;
  top: 4rem;
  height: 3px;
  background: #007000 !important; }
div#nprogress .spinner, div#nprogress .peg {
  display: none !important; }

ul {
  list-style-type: none; }

a:hover {
  text-decoration: underline; }

body::before {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
  z-index: 50;
  background-size: 100% 2px, 3px 100%;
  pointer-events: none; }
  @media (min-width: 3200px) {
    body::before {
      display: none; } }

a {
  color: white;
  text-decoration: none; }

div.line {
  min-height: 1em; }

.code span {
  display: inline-block; }

a.active-item {
  color: white; }

a.running {
  color: blue; }

a.success {
  color: green; }

a.failed {
  color: red; }

pre {
  margin: 0 !important; }

header.header {
  position: sticky;
  top: 0;
  height: 4em;
  min-height: 4em;
  background-color: black;
  display: flex;
  justify-content: space-between;
  z-index: 20; }
  header.header .logo {
    margin-left: 1em;
    width: 32px;
    height: 24px;
    display: inline-block;
    margin: auto 0;
    margin-left: 16px; }
    header.header .logo img {
      max-height: 100%;
      margin: auto; }
  header.header label.burger {
    flex-grow: 0;
    cursor: pointer;
    width: 32px;
    height: 28px;
    display: inline-block;
    position: relative;
    margin: auto 0;
    margin-right: 1em; }
    header.header label.burger span {
      position: absolute;
      display: block;
      width: 100%;
      height: 4px;
      background-color: white;
      transition: all 0.2s; }
      header.header label.burger span + span {
        margin-top: 11px; }
      header.header label.burger span + span + span {
        margin-top: 22px; }

.search input {
  width: 100%;
  display: block;
  padding: .3em .5em; }

.tt-menu {
  width: 100%; }

.left {
  background-color: black;
  position: absolute;
  left: -100%;
  width: 100%;
  transition: all 0.3s;
  padding: 0.5em; }
  @media (min-width: 58.25em) {
    .left {
      margin-top: 0;
      width: 100px;
      height: auto;
      position: relative;
      left: 0; } }

.logo a {
  display: block;
  text-align: center; }

#login {
  display: flex;
  flex-direction: column;
  margin: auto;
  margin-top: 10%;
  margin: auto; }
  #login input, #login label, #login button, #login .testrunner-testdb input.filter, .testrunner-testdb #login input.filter, #login .testrunner-testdb label, .testrunner-testdb #login label {
    font-size: 16px;
    display: block;
    padding: .5em;
    width: 250px; }
  #login label {
    padding-left: 0; }
    #login label:after {
      content: ":"; }
  #login input, #login button, #login .testrunner-testdb input.filter, .testrunner-testdb #login input.filter, #login .testrunner-testdb label, .testrunner-testdb #login label {
    border: 0;
    background-color: transparent;
    color: #aaa;
    border: 1px solid #aaa; }
  #login input {
    color: white; }
  #login button, #login .testrunner-testdb input.filter, .testrunner-testdb #login input.filter, #login .testrunner-testdb label, .testrunner-testdb #login label {
    margin-top: 1em;
    cursor: pointer; }

.function table, .table table {
  width: 100%; }
  .function table td, .table table td {
    padding: 0 .3em; }
  .function table tr:first-child th, .table table tr:first-child th {
    border-bottom: 1px solid #aaa; }
  .function table tr:nth-child(2) > td, .table table tr:nth-child(2) > td {
    padding-top: .3em; }
  .function table .param-direction-IN, .table table .param-direction-IN {
    color: green; }
  .function table .param-direction-INOUT, .table table .param-direction-INOUT {
    color: green; }
  .function table .param-direction-VARIADIC, .table table .param-direction-VARIADIC {
    color: green; }
  .function table .param-direction-OUT, .table table .param-direction-OUT {
    color: blue; }
  .function table .param-direction-TABLE, .table table .param-direction-TABLE {
    color: blue; }

.revlist a.current {
  text-decoration: underline; }

.tt-menu {
  background-color: transparent;
  overflow: hidden; }
  .tt-menu .tt-suggestion {
    font-size: 0.85em;
    color: #aaa; }

.tabs > input {
  display: none; }
.tabs .tabs-header {
  display: flex;
  margin-top: 1em;
  border-bottom: 1px solid #aaa; }
  .tabs .tabs-header .shortlink {
    margin-left: auto; }
  .tabs .tabs-header span label {
    cursor: pointer;
    color: white;
    display: inline-block;
    padding: .3em 1em; }
  .tabs .tabs-header span:hover label {
    background-color: #555;
    text-decoration: underline; }
.tabs .tabs-content > div {
  display: none; }
.tabs #tab-1:checked ~ .tabs-header > span:nth-child(1) label {
  background-color: #aaa; }
.tabs #tab-1:checked ~ .tabs-content > div:nth-child(1) {
  display: block; }
.tabs #tab-2:checked ~ .tabs-header > span:nth-child(2) label {
  background-color: #aaa; }
.tabs #tab-2:checked ~ .tabs-content > div:nth-child(2) {
  display: block; }
.tabs #tab-3:checked ~ .tabs-header > span:nth-child(3) label {
  background-color: #aaa; }
.tabs #tab-3:checked ~ .tabs-content > div:nth-child(3) {
  display: block; }
.tabs #tab-4:checked ~ .tabs-header > span:nth-child(4) label {
  background-color: #aaa; }
.tabs #tab-4:checked ~ .tabs-content > div:nth-child(4) {
  display: block; }
.tabs #tab-5:checked ~ .tabs-header > span:nth-child(5) label {
  background-color: #aaa; }
.tabs #tab-5:checked ~ .tabs-content > div:nth-child(5) {
  display: block; }
.tabs #tab-6:checked ~ .tabs-header > span:nth-child(6) label {
  background-color: #aaa; }
.tabs #tab-6:checked ~ .tabs-content > div:nth-child(6) {
  display: block; }
.tabs #tab-7:checked ~ .tabs-header > span:nth-child(7) label {
  background-color: #aaa; }
.tabs #tab-7:checked ~ .tabs-content > div:nth-child(7) {
  display: block; }
.tabs #tab-8:checked ~ .tabs-header > span:nth-child(8) label {
  background-color: #aaa; }
.tabs #tab-8:checked ~ .tabs-content > div:nth-child(8) {
  display: block; }
.tabs #tab-9:checked ~ .tabs-header > span:nth-child(9) label {
  background-color: #aaa; }
.tabs #tab-9:checked ~ .tabs-content > div:nth-child(9) {
  display: block; }
.tabs #tab-10:checked ~ .tabs-header > span:nth-child(10) label {
  background-color: #aaa; }
.tabs #tab-10:checked ~ .tabs-content > div:nth-child(10) {
  display: block; }

.function-tests .suites a {
  display: block; }

.function-link.deleted, .overloaded .deleted {
  color: red; }

#search {
  flex-grow: 1;
  margin: 0 auto;
  padding: 0px 2em;
  position: relative;
  width: auto;
  height: 100%;
  display: flex; }
  #search .line:after {
    content: '';
    position: absolute;
    bottom: 14px;
    height: 1px;
    z-index: 99;
    left: 2.75em;
    right: calc( 100% - 12em );
    background-color: #4c6a75;
    transition: all .3s; }
  #search:hover .line:after {
    left: 2.75em;
    right: 1em;
    background-color: white; }
  #search .line:hover {
    background: none !important; }
  #search a:hover {
    text-decoration: none !important; }
  #search .search {
    height: 100%;
    transition: all .3s;
    background-color: black;
    margin: auto 0;
    position: relative;
    width: auto;
    flex-grow: 1; }
    #search .search.focus {
      margin-left: calc( -2em - 32px - 1em );
      margin-right: calc( -32px - 2em - 1em );
      z-index: 99; }
      #search .search.focus .close {
        width: 32px;
        height: 32px;
        z-index: 100;
        right: 1em;
        position: absolute;
        top: 1em;
        cursor: pointer; }
        #search .search.focus .close:before, #search .search.focus .close:after {
          content: '';
          position: absolute;
          left: 15px;
          right: 15px;
          background-color: white;
          top: 0;
          bottom: 0;
          transform: rotate(45deg); }
        #search .search.focus .close:after {
          transform: rotate(-45deg); }
      #search .search.focus .line:after {
        right: 4em; }
  #search .search input {
    position: relative;
    z-index: 12;
    font-size: 16px;
    padding-left: 2.5em;
    margin: auto 0;
    background-color: transparent;
    border: 0;
    color: white; }
  #search .search:before {
    content: '»';
    display: block;
    position: absolute;
    left: 0.85em;
    top: 1.025em;
    height: 1em;
    width: 1em;
    color: #555;
    font-size: 16px;
    z-index: 51; }
  #search .search:after {
    content: '';
    display: block;
    position: absolute;
    left: 0.55em;
    top: 1.2em;
    height: 18px;
    width: 18px;
    border: 2px solid #aaa;
    border-right-color: transparent;
    color: blue;
    z-index: 1000;
    border-radius: 50%;
    -webkit-animation: spinner 800ms linear infinite;
    animation: spinner 800ms linear infinite;
    opacity: 0;
    transition: opacity 0.3s; }
  #search .search.searching:after {
    opacity: 1; }
  #search .search-results {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    border-bottom: 2px solid #aaa;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 11;
    padding: 2em;
    overflow: auto;
    max-height: calc( 100vh - 4em ); }
    #search .search-results .tabs {
      display: grid;
      grid-template-columns: repeat(4, 1fr); }
      #search .search-results .tabs .tab {
        display: flex;
        justify-self: center;
        padding: .25rem 1rem;
        border-bottom: 2px solid transparent;
        transition: all .3s ease; }
        #search .search-results .tabs .tab:not(.hasResults) {
          filter: opacity(0.5); }
        #search .search-results .tabs .tab.selected, #search .search-results .tabs .tab:hover {
          color: green;
          border-bottom: 2px solid white; }
    #search .search-results ul {
      padding-left: 0; }
      #search .search-results ul li {
        position: relative; }
        #search .search-results ul li.selected a, #search .search-results ul li:hover a {
          color: green; }
        #search .search-results ul li.selected:before, #search .search-results ul li:hover:before {
          content: '»';
          position: absolute;
          left: -16px;
          color: green; }
        #search .search-results ul li.deleted * {
          color: red; }
    #search .search-results h2.selected ~ ul li.selected * {
      color: green; }
    #search .search-results h2.selected ~ ul li.selected:before {
      content: '»';
      position: absolute;
      left: -16px;
      color: green; }

@keyframes spinner {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.teststep {
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  margin-left: .5em;
  transition: background-color .1s; }
  .teststep:hover, .teststep.focused {
    background-color: #111; }
    .teststep:hover pre.line-numbers .aline::before, .teststep.focused pre.line-numbers .aline::before {
      background-color: #111; }
  .teststep.highlight {
    background-color: #500101; }
  .teststep:not(.collapsed) {
    margin-bottom: .5em; }
  .teststep .column-helper {
    flex-grow: 1;
    display: flex; }
    .teststep .column-helper > * {
      flex-grow: 1;
      width: 50%; }
  .teststep.zen {
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 1000;
    padding: 1em 2em;
    margin: 0;
    background-color: #111; }
    .teststep.zen .source-wrapper {
      height: 95%;
      overflow: auto; }
    .teststep.zen .teststep-source {
      margin: 0; }
    .teststep.zen.debug .source-wrapper {
      height: 70%; }
    .teststep.zen.debug .debug {
      overflow: auto;
      max-height: 25%; }
  .teststep #teststep-collapse-toggler {
    display: none; }
  .teststep.collapsed header ~ * {
    display: none; }
  .teststep header {
    min-height: auto !important;
    height: auto !important;
    display: flex;
    width: 100%;
    z-index: 1; }
    .teststep header label.status {
      min-width: 20ch; }
    .teststep header label.save-state {
      width: 2ch;
      pointer-events: none; }
      .teststep header label.save-state.is-modified:before {
        content: 'M';
        cursor: pointer;
        pointer-events: all;
        position: absolute;
        color: inherit;
        transition: all .2s; }
      .teststep header label.save-state.is-modified:hover {
        color: white; }
    .teststep header label {
      cursor: pointer;
      max-height: 1.25em;
      flex-grow: 0;
      padding: 0 .35em; }
      .teststep header label span {
        white-space: nowrap; }
    .teststep header label.firstline {
      overflow: hidden;
      width: 100%; }
    .teststep header input {
      display: none; }
    .teststep header label.status.success, .teststep header label.firstline.success {
      color: green; }
    .teststep header label.status.failure, .teststep header label.firstline.failure {
      color: red; }
    .teststep header label.status {
      font-size: 1em; }
      @media (max-width: 58.25em) {
        .teststep header label.status {
          padding-bottom: .5em; } }
      .teststep header label.status input {
        display: none; }
      .teststep header label.status input + span.runtime:before {
        content: " »"; }
      .teststep header label.status input:checked + span.runtime:before {
        content: " «"; }
      .teststep header label.status:before {
        content: '[ ]';
        padding-right: 4px; }
      .teststep header label.status.success:before {
        content: '[✓]'; }
      .teststep header label.status.failure:before {
        content: '[×]'; }
      .teststep header label.status.expectedFail::before {
        content: '[E]'; }
    .teststep header .ci-step-setting, .teststep header form, .teststep header textarea {
      outline: none; }
    .teststep header .ci-step-setting {
      cursor: pointer;
      font-size: 12px; }
      .teststep header .ci-step-setting span {
        transition: color .1s; }
      .teststep header .ci-step-setting:hover span, .teststep header .ci-step-setting input:checked + span {
        color: white; }
      @media (max-width: 58.25em) {
        .teststep header .ci-step-setting span {
          display: block;
          max-width: 1ch;
          overflow: hidden; } }
  .teststep .errormsg, .teststep .debug {
    transition: filter .15s; }
  .teststep.resultsPending .errormsg, .teststep.resultsPending .debug {
    filter: opacity(0.5); }
  .teststep .errormsg, .teststep div.debug {
    width: 100%;
    margin-top: 1em;
    margin-left: 2em; }
    .teststep .errormsg strong, .teststep div.debug strong {
      font-weight: 700; }
  .teststep .errormsg {
    display: flex;
    overflow: auto;
    flex-direction: column; }
  .teststep div.debug {
    overflow: auto; }
    .teststep div.debug table {
      width: 100%; }
      .teststep div.debug table th {
        font-weight: bold;
        text-align: left;
        border-bottom: 1px solid; }
      .teststep div.debug table tr td:first-child, .teststep div.debug table th:first-child {
        font-weight: bold;
        border-right: 1px solid; }
      .teststep div.debug table th:nth-child(n+1), .teststep div.debug table td:nth-child(n+1) {
        border-right: 1px solid #755555;
        padding-right: 4px; }
    .teststep div.debug td {
      white-space: pre;
      vertical-align: top; }
    .teststep div.debug td.null:before {
      content: '[null]';
      opacity: 0.7; }
    .teststep div.debug .notices {
      padding-top: .5rem; }
      .teststep div.debug .notices .filter-notices input {
        background: transparent;
        border: none;
        font-size: 0.85rem;
        color: white;
        padding: .25rem 0;
        width: 100%;
        transition: all .2s; }
        .teststep div.debug .notices .filter-notices input:hover {
          background-color: #222;
          padding: .25rem; }

#runner-name {
  background: transparent;
  border: none;
  color: white;
  display: block;
  font-size: 1.2em;
  width: 100%;
  margin-top: 1em;
  margin-bottom: 1em; }
  #runner-name.skip .runner-name {
    color: red !important; }

.ci-teststeplist .teststep-controls {
  position: sticky;
  top: 4em;
  background-color: black;
  padding: 0em 1em 1em 1em;
  z-index: 3;
  display: flex; }
  .ci-teststeplist .teststep-controls button, .ci-teststeplist .teststep-controls .testrunner-testdb input.filter, .testrunner-testdb .ci-teststeplist .teststep-controls input.filter, .ci-teststeplist .teststep-controls .testrunner-testdb label, .testrunner-testdb .ci-teststeplist .teststep-controls label {
    margin-right: 1em; }
    .ci-teststeplist .teststep-controls button[disabled], .ci-teststeplist .teststep-controls .testrunner-testdb input[disabled].filter, .testrunner-testdb .ci-teststeplist .teststep-controls input[disabled].filter, .ci-teststeplist .teststep-controls .testrunner-testdb label[disabled], .testrunner-testdb .ci-teststeplist .teststep-controls label[disabled] {
      color: grey;
      border-color: grey;
      cursor: not-allowed; }
    .ci-teststeplist .teststep-controls button.undo, .ci-teststeplist .teststep-controls .testrunner-testdb input.undo.filter, .testrunner-testdb .ci-teststeplist .teststep-controls input.undo.filter, .ci-teststeplist .teststep-controls .testrunner-testdb label.undo, .testrunner-testdb .ci-teststeplist .teststep-controls label.undo {
      margin-left: auto;
      border-color: red;
      color: red; }
    .ci-teststeplist .teststep-controls button.right, .ci-teststeplist .teststep-controls .testrunner-testdb input.right.filter, .testrunner-testdb .ci-teststeplist .teststep-controls input.right.filter, .ci-teststeplist .teststep-controls .testrunner-testdb label.right, .testrunner-testdb .ci-teststeplist .teststep-controls label.right {
      float: right; }
.ci-teststeplist #runner-name {
  position: relative;
  height: 1.5em; }
  .ci-teststeplist #runner-name input {
    left: 0;
    right: 0;
    background-color: transparent;
    border: none;
    margin: 0;
    padding: 0;
    position: absolute;
    display: block;
    width: 100%; }
    .ci-teststeplist #runner-name input:focus {
      outline: none; }
  .ci-teststeplist #runner-name .runner-name {
    color: white;
    z-index: 1;
    top: 0; }
  .ci-teststeplist #runner-name .runner-name-shadow {
    top: 0;
    color: grey;
    z-index: 1; }
.ci-teststeplist .history-slider {
  display: block;
  width: 100%; }

.ci-teststeplist .options-panel, .suite .options-panel {
  overflow: hidden;
  max-height: 0px;
  transition: all .2s; }
  .ci-teststeplist .options-panel > div, .suite .options-panel > div {
    padding-bottom: .5em; }
  .ci-teststeplist .options-panel label, .suite .options-panel label {
    cursor: pointer;
    transition: color .3s; }
    .ci-teststeplist .options-panel label:hover, .suite .options-panel label:hover {
      color: white; }
  .ci-teststeplist .options-panel .mark-deleted, .suite .options-panel .mark-deleted {
    float: right;
    border-color: red;
    color: red; }
.ci-teststeplist input#show-options, .suite input#show-options {
  display: none; }
  .ci-teststeplist input#show-options:checked ~ .options-panel, .suite input#show-options:checked ~ .options-panel {
    max-height: 1000px; }
.ci-teststeplist .options-label, .suite .options-label {
  position: absolute;
  right: 0;
  font-size: 1.4em;
  top: -0.3em;
  cursor: pointer;
  display: block;
  z-index: 2;
  color: #888; }
  .ci-teststeplist .options-label:hover, .suite .options-label:hover {
    color: white; }

nav a.changelog {
  display: inline-block;
  margin-top: 2em; }

.button-group {
  position: relative; }

.testrunner-testdb {
  display: flex;
  flex-direction: column;
  white-space: pre;
  position: absolute;
  max-height: 40vh;
  overflow: auto; }
  .testrunner-testdb input.filter {
    margin-right: 0 !important; }
  .testrunner-testdb input {
    display: none; }
  .testrunner-testdb label {
    margin-right: 0 !important; }
  .testrunner-testdb input:checked + label {
    background-color: white;
    color: black; }

.branch-matcher > label > input {
  display: block;
  width: 100%; }
.branch-matcher .branch {
  width: auto;
  border: 1px solid white;
  padding: .125rem .5rem;
  display: inline-block;
  margin-right: .25rem; }
  .branch-matcher .branch.matching {
    background-color: white;
    color: black; }

.testsuite h3 {
  position: relative; }

.ci-comment {
  position: relative;
  margin: .3em 0em .3em .3em;
  max-width: 100%;
  overflow-y: auto;
  padding-bottom: 2em; }
  .ci-comment .comment-text {
    cursor: pointer;
    font-size: 0.85em;
    margin-left: .3em;
    padding-left: 1em;
    border-left: 1px solid #aaa; }
  .ci-comment .no-comment {
    color: #888; }
  .ci-comment textarea {
    background-color: transparent;
    font-size: 0.85em;
    padding: 1em;
    border: none;
    border-left: 2px solid #aaa;
    color: #aaa;
    width: calc(100%);
    box-sizing: border-box;
    display: block;
    height: auto;
    overflow: hidden;
    min-height: 100px; }
  .ci-comment button, .ci-comment .testrunner-testdb input.filter, .testrunner-testdb .ci-comment input.filter, .ci-comment .testrunner-testdb label, .testrunner-testdb .ci-comment label {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: black;
    color: white;
    border: 1px solid #aaa;
    cursor: pointer; }
  .ci-comment pre {
    cursor: pointer; }

.ci-grid .grid-element, .ci-grid .grid-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
  grid-auto-rows: auto; }
.ci-grid .grid-header .grid-column {
  overflow: hidden;
  padding: 2px 4px; }
.ci-grid .grid-column {
  display: flex; }

.dbupdates .columns-picker {
  padding-bottom: 2rem; }
.dbupdates .grid-column {
  display: block; }
.dbupdates .server {
  background-color: transparent;
  color: white;
  padding: .25rem;
  cursor: pointer;
  border: 1px solid white;
  margin-bottom: 1rem;
  outline: none !important;
  text-transform: lowercase; }
.dbupdates .search {
  margin-bottom: 1em; }
  .dbupdates .search input, .dbupdates .search button, .dbupdates .search .testrunner-testdb input.filter, .testrunner-testdb .dbupdates .search input.filter, .dbupdates .search .testrunner-testdb label, .testrunner-testdb .dbupdates .search label {
    font-size: 12px;
    display: inline-block;
    background-color: transparent;
    color: white;
    border: 1px solid white;
    padding: 0.375em .5em .25em .5em;
    box-sizing: border-box; }
    .dbupdates .search input[disabled], .dbupdates .search button[disabled], .dbupdates .search .testrunner-testdb input[disabled].filter, .testrunner-testdb .dbupdates .search input[disabled].filter, .dbupdates .search .testrunner-testdb label[disabled], .testrunner-testdb .dbupdates .search label[disabled] {
      color: #555; }
  .dbupdates .search input {
    width: 400px; }
  .dbupdates .search button:hover, .dbupdates .search .testrunner-testdb input.filter:hover, .testrunner-testdb .dbupdates .search input.filter:hover, .dbupdates .search .testrunner-testdb label:hover, .testrunner-testdb .dbupdates .search label:hover {
    background-color: #333; }
.dbupdates .grid-column.upd_bez {
  padding-left: 3.5ch;
  position: relative; }
  .dbupdates .grid-column.upd_bez .expaned {
    position: absolute;
    left: 0; }
.dbupdates .grid-element {
  /*grid-template-columns: 25ch auto 14ch 10ch 10ch 12ch 9ch 19ch;*/ }
.dbupdates .grid-header .header {
  transform-origin: left;
  overflow: visible;
  padding-left: 0; }
  .dbupdates .grid-header .header.upd_projekt, .dbupdates .grid-header .header.upd_kunde, .dbupdates .grid-header .header.modified_by, .dbupdates .grid-header .header.insert_by {
    transform: rotate(-20deg); }
.dbupdates .grid-header {
  border-bottom: 1px solid #eee;
  margin-bottom: .5em; }
.dbupdates .dbupdate .grid-element.update-is-locked > .grid-column,
.dbupdates .dbupdate .grid-element.update-is-locked > .grid-column a {
  color: red !important; }
.dbupdates .dbupdate .loadMore {
  margin-left: auto;
  padding-right: 1em;
  font-size: 0.875rem;
  align-self: center; }
.dbupdates .dbupdate .dbupdate {
  padding-left: 1.5em; }
.dbupdates .dbupdate .grid-element:hover {
  background-color: #333; }
.dbupdates .dbupdate .grid-header {
  display: none; }
.dbupdates .dbupdate .source {
  padding-left: 4ch;
  font-size: 12px; }
  .dbupdates .dbupdate .source > span {
    width: 100%;
    display: block; }

.testsuite .grid-row {
  grid-template-columns: 1fr auto; }
.testsuite .grid-branch-match {
  text-align: center; }
.testsuite form input {
  width: 100%;
  margin-bottom: 1rem; }
.testsuite form button, .testsuite form .testrunner-testdb input.filter, .testrunner-testdb .testsuite form input.filter, .testsuite form .testrunner-testdb label, .testrunner-testdb .testsuite form label {
  display: none; }
.testsuite .skip a {
  color: red; }
.testsuite .skip > div:first-child:after {
  content: '[skipped]'; }

.historyElement .grid-row {
  grid-template-columns: auto 15ch 30ch; }

.ci-sqleditor {
  position: relative;
  padding: 0;
  margin: 0; }
  .ci-sqleditor .source-editor {
    position: absolute;
    background-color: transparent;
    border: none;
    width: 100%;
    display: inline-block;
    font-size: 12px;
    z-index: 2;
    overflow: visible;
    color: transparent;
    caret-color: white;
    outline: none;
    width: 100%;
    margin: 0;
    outline: none;
    left: 4em;
    right: 0;
    top: 1em;
    bottom: 2.5em;
    padding: 0;
    width: calc( 100% - 5em);
    white-space: pre-wrap;
    word-break: break-word;
    resize: none;
    height: calc(100% - 3em); }
  .ci-sqleditor > pre {
    overflow-x: hidden;
    padding-left: 3em;
    padding-top: 1em; }
  .ci-sqleditor small.cursorpos {
    opacity: 0; }
  .ci-sqleditor pre {
    padding: 0; }
  .ci-sqleditor .statusline {
    padding-left: 2.35em;
    padding-top: 1.25em; }
    .ci-sqleditor .statusline small.lastupdate {
      float: right;
      padding-right: 1em; }
    .ci-sqleditor .statusline small.cursorpos {
      opacity: 1; }
  .ci-sqleditor .autocomplete {
    position: absolute;
    z-index: 10;
    font-size: 12px;
    margin-left: 3.5em;
    margin-top: 1em; }
    .ci-sqleditor .autocomplete ul, .ci-sqleditor .autocomplete li {
      margin: 0;
      padding: 0;
      list-style-type: none; }
    .ci-sqleditor .autocomplete ul {
      background-color: yellow; }
    .ci-sqleditor .autocomplete li {
      display: block;
      background-color: black; }
      .ci-sqleditor .autocomplete li.selected {
        color: green; }
      .ci-sqleditor .autocomplete li.type-tables_full:after {
        content: " - complete generated"; }
  .ci-sqleditor .token.comment {
    font-style: italic; }

.ci-taglist {
  padding-top: 1em;
  padding-bottom: 1em; }
  .ci-taglist .taglist .ci-tag {
    padding-left: 1em; }
  .ci-taglist .addTag {
    position: relative; }
    .ci-taglist .addTag .autocomplete {
      margin-top: .5em;
      border-left: 2px solid #444;
      margin-left: .5em;
      padding-left: .5em;
      display: block; }
      .ci-taglist .addTag .autocomplete ul, .ci-taglist .addTag .autocomplete li {
        margin: 0;
        padding: 0; }

.ci-tag {
  display: flex;
  padding-right: .5em;
  position: relative; }
  .ci-tag:hover > a {
    color: darkviolet; }
  .ci-tag label {
    color: white;
    font-weight: 700;
    padding-right: .125em; }
  .ci-tag a {
    color: white; }
  .ci-tag .linklist {
    z-index: 4;
    position: absolute;
    overflow: hidden;
    display: none;
    background-color: #333;
    border: 2px solid black;
    padding: .5em;
    top: 1em;
    left: 5em;
    min-width: 600px;
    overflow: hidden;
    max-height: 500px; }
    .ci-tag .linklist ul, .ci-tag .linklist li {
      margin: 0;
      padding: 0; }
  .ci-tag:hover .linklist {
    display: block; }

.tag-link.testrunner:before {
  content: '🏃 '; }
.tag-link.sqlfunction:before {
  content: 'ƒ '; }
.tag-link.sqltable:before {
  content: '🗊 '; }

nav.mainmenu > ul {
  display: flex;
  flex-direction: column;
  flex-grow: 0;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  width: 100px; }
  nav.mainmenu > ul > li > a {
    width: 75px;
    height: 75px;
    display: flex;
    margin: auto;
    flex-direction: column;
    text-align: center;
    transition: color .2s;
    font-size: .85em; }
    nav.mainmenu > ul > li > a:before {
      margin: 0 auto;
      font-size: 2rem;
      display: block;
      width: 100%; }
    nav.mainmenu > ul > li > a:hover {
      text-decoration: none; }
    nav.mainmenu > ul > li > a.buildlog:before {
      content: '⌂'; }
    nav.mainmenu > ul > li > a.tests:before {
      content: '✓'; }
    nav.mainmenu > ul > li > a.functions:before {
      content: 'ƒ'; }
    nav.mainmenu > ul > li > a.tables:before {
      content: '🗊'; }
    nav.mainmenu > ul > li > a.bde:before {
      content: '⏱'; }
    nav.mainmenu > ul > li > a.updates:before {
      content: '⟳'; }
    nav.mainmenu > ul > li > a.tags:before {
      content: '🏷'; }
    nav.mainmenu > ul > li > a.tests.active {
      color: green; }
    nav.mainmenu > ul > li > a.tables.active {
      color: orange; }
    nav.mainmenu > ul > li > a.buildlog.active {
      color: blue; }
    nav.mainmenu > ul > li > a.functions.active {
      color: yellow; }
    nav.mainmenu > ul > li > a.tables.active {
      color: pink; }
    nav.mainmenu > ul > li > a.tags.active {
      color: darkviolet; }
  nav.mainmenu > ul li:hover a.tests {
    color: green; }
  nav.mainmenu > ul li:hover a.tables {
    color: orange; }
  nav.mainmenu > ul li:hover a.buildlog {
    color: blue; }
  nav.mainmenu > ul li:hover a.functions {
    color: yellow; }
  nav.mainmenu > ul li:hover a.bde {
    color: pink; }
  nav.mainmenu > ul li:hover a.tags {
    color: darkviolet; }
  nav.mainmenu > ul ul a:hover, nav.mainmenu > ul ul a.active {
    text-decoration: underline; }
  @media (max-height: 42rem) {
    nav.mainmenu > ul > li > a {
      justify-content: center;
      height: 40px; }
      nav.mainmenu > ul > li > a:before {
        display: none; } }
nav.mainmenu ul {
  margin: 0;
  padding: 0; }
nav.mainmenu .menu-sub {
  overflow: auto;
  width: 450px;
  position: absolute;
  left: 100px;
  top: 0;
  bottom: 0;
  padding-top: 5.75em;
  background-color: rgba(0, 0, 0, 0.9);
  color: white;
  transition: max-width .3s;
  white-space: nowrap; }
  nav.mainmenu .menu-sub li a {
    width: auto;
    height: auto;
    display: inline; }
  nav.mainmenu .menu-sub .logs ul li span.active-item {
    float: left;
    position: absolute; }
  nav.mainmenu .menu-sub .logs ul li .build-info-link-tiny {
    display: inline-block;
    width: .5ch; }
  nav.mainmenu .menu-sub .logs ul li > a:first-child, nav.mainmenu .menu-sub .logs ul li span + a {
    padding-left: 1em; }
  nav.mainmenu .menu-sub .logs ul li span.author {
    font-size: 1rem;
    padding-left: 1em; }
nav.mainmenu .menu-sub {
  max-width: 0px; }
nav.mainmenu li.active .menu-sub {
  max-width: 600px; }
@media (min-width: 58.25em) {
  nav.mainmenu li.active .menu-sub {
    max-width: 0px; }
  nav.mainmenu li:hover .menu-sub {
    max-width: 100vw;
    width: auto;
    padding-right: 1vw; } }

.left {
  padding: 0;
  padding-top: .5rem;
  z-index: 5;
  height: calc( 100vh - 4em );
  position: absolute;
  top: 4em;
  left: -100%;
  width: 100%; }
  @media (min-width: 58.25em) {
    .left {
      width: 100px;
      position: sticky;
      left: -100px; } }
  .left .status-indicator {
    display: flex;
    padding-top: 1em;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    font-size: 0.75em;
    padding-bottom: 1em; }
    .left .status-indicator.running {
      color: blue; }
      .left .status-indicator.running span.spinner {
        animation: spinner 800ms linear infinite; }
    .left .status-indicator span.spinner {
      display: inline-block;
      font-size: 2em; }
    .left .status-indicator span {
      margin: 0 auto; }

.bde {
  margin: auto;
  text-align: center; }
  .bde button, .bde .testrunner-testdb input.filter, .testrunner-testdb .bde input.filter, .bde .testrunner-testdb label, .testrunner-testdb .bde label {
    display: block;
    margin: 2em auto;
    font-size: 2em; }

.teststeps {
  display: block;
  width: 100%; }
  .teststeps textarea {
    background-color: transparent;
    border: none;
    width: 100%;
    display: inline-block;
    color: white; }

button, .testrunner-testdb input.filter, .testrunner-testdb label {
  background-color: black;
  color: white;
  border: 1px solid white;
  padding: 4px 8px;
  font-size: 11px;
  cursor: pointer;
  transition: background-color .1s; }
  button:hover, .testrunner-testdb input.filter:hover, .testrunner-testdb label:hover {
    background-color: #333; }

a {
  transition: color .1s; }

button:focus, .testrunner-testdb input.filter:focus, .testrunner-testdb label:focus {
  outline: none; }

#nav-toggle {
  display: none; }
  @media (max-width: 58.25em) {
    #nav-toggle:checked ~ .left {
      margin-top: 0;
      left: 0;
      z-index: 10; }
    #nav-toggle:checked ~ .content {
      filter: blur(2px);
      pointer-events: none; } }
  @media (min-width: 58.25em) {
    #nav-toggle:checked ~ .left {
      margin-left: -100px; } }

@media (min-width: 58.25em) {
  #main {
    display: flex; }
    #main .left {
      flex-grow: 0;
      flex-shrink: 0; }
    #main .content {
      width: calc(100% - 100px ); } }
#main .content {
  transition: filter .3s;
  padding: 1em;
  flex-grow: 1; }

.green {
  color: green; }

.red {
  color: green; }

.table label.hint {
  color: white;
  cursor: help; }

.hover:hover, div.line:hover, .function table tr:hover, .table table tr:hover, .teststep div.debug table tr:hover {
  background-color: #333; }

.log.success > a {
  color: green; }
.log.failed > a {
  color: red; }

.file {
  width: 100%; }
  .file.error {
    color: red; }
  .file:hover {
    background-color: #333; }
  .file .time {
    color: yellow; }
  .file pre.error {
    padding-left: 1rem; }

.suite {
  padding-top: .5rem; }
  .suite .runner {
    padding-left: 2rem; }
    .suite .runner.success > a {
      color: green; }
    .suite .runner.failed > a {
      color: red; }
    .suite .runner:hover {
      background-color: #333; }
    .suite .runner .testresult {
      float: right; }

.errors {
  padding: 2rem 1.5rem 2rem 3rem;
  font-size: .85rem; }
  .errors strong {
    color: white;
    font-size: 1rem; }

/*# sourceMappingURL=style.css.map */
