@charset "utf-8";
body, html {
  color: #666;
  font-family: verdana, tahoma, arial;
  text-shadow: 1px 1px rgba(255, 255, 255, 0.4);
  margin: 0;
}

#top {
  background-color: #7ba400;
  padding: 0pt;
  padding-top: 10px;
  position: relative;
  height: 70px;
  padding-left: 30px;
}

#button-right {
  position: absolute;
  right: 15px;
  top: 15px;
}

input, button {
  border: 2px solid white;
  padding: 3px;
  font-size: 11pt;
}

form {
  margin-left: 235px;
  margin-top:10px
}

form input[type=search] {
  width: 50%;
}

a {
  text-decoration: none;
}

p.found {
  font-size: 10pt;
  padding: 0;
  margin: 0;
}

p.found {
  text-align: right;
}

#pagination {
  position: fixed;
  right: 20px;
  bottom: 10px;
  z-index: 800;
}

#pagination span {
  display: inline-block;
  background-color: #ddd;
  margin: 2pt;
  height: 1.5em;
  padding-left: .5em;
  padding-right: .5em;
  line-height: 1.5em;
  text-align: center;
  border-width: 2px;
  border-style: solid;
  border-color: #999;
  box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

#pagination a {
  text-shadow: 1px 1px rgba(255, 255, 255, 0.9);
}

#pagination a[rel=self] span {
  border-color: #ffa500;
  background-color: #f4eebb;
  color: #ff8000;
}

#pagination a[href] {
  color: #7ba400;
}

#pagination a[href] span:hover {
  background-color: #7ba400;
  border-color: #496000;
  color: #496000;
  text-shadow: none;
}

#total-results {
  color: #c1002b;
}

code.query {
  background-color: #f4eebb;
  display: block;
  border-style: solid;
  border-color: #ffa500;
  font-size: 12pt;
  padding: 2pt;
  color: #ff8000;
  text-shadow: 1px 1px rgba(255, 255, 255, 0.9);
  border-width: 2px;
  margin: 0;
  margin-bottom: 5pt;
  cursor: pointer;
}

code.query.serial:not(.active) span {
  padding: 2pt;
}

code.query pre {
  display: block;
  padding: 2px 5px;
  margin: 0;
}

code.query.serial:not(.active) pre {
  display: none;
}

code.query.serial.active span {
  display: none;
}

#sidebar.active {
  margin-left: 0px;
  left: 0;
  top: 0;
}

#sidebar {
  color: #fff;
  text-shadow: none;
  transition: all .3s ease-in-out;
  position: fixed;
  z-index: 500;
  height: 100%;
  background-color: #496000;
  width: 260px;
  margin-left: -245px;
  left: 0;
  top: 0;
}

#sidebar > * {
  opacity: 0;
  transition-property: opacity;
  transition-duration: .3s;
}

#sidebar.active > * {
  opacity: 1;
}

#sidebar h2 {
  font-size: 100%;
  font-weight: bold;
  text-align: center;
  padding: 0;
  margin: 0 0 5pt 0;
}

#sidebar ul {
  list-style-type: none;
  margin: 0;
  font-size: 10pt;
  text-indent: 0;
  padding: 0;
}

#sidebar ul li {
  padding: 4pt 10pt;
}

#sidebar ul li h3 {
  font-weight: bold;
  font-size: 100%;
  padding: 0;
  margin: 0;
}

#sidebar ul li.active h3 {
  margin-bottom: 2pt;
  padding-bottom: 2pt;
  border-bottom: 1px solid black;
}

#sidebar ul li.active {
  background-color: #7ba400;
  text-shadow: 1px 1px rgba(0, 0, 0, 0.4);
}

dl.info {
  font-size: 9pt;
  padding: 0 10pt;
}

dl.info dt {
  font-weight: bold;
  float: left;
}

dl.info dd {
  text-align: right;
}

#search {
  margin-left: 30px;
  margin-right: 15px;
  margin-bottom: 40px;
}

#tutorial {
  position: fixed;
  z-index: 9999;
  top: 2%;
  bottom: 2%;
  left: 5%;
  right: 5%;
  background-color: #496000;
  border-radius: 15px;
  padding: 5px;
}

#tutorial > i {
  font-size: 20pt;
  color: #496000;
  position: absolute;
  z-index: 100;
  top: 10pt;
  right: 20pt;
  cursor: pointer;
}

#tutorial iframe {
  width: 100%;
  min-height: 100%;
  border-width: 0;
  border-radius: 10px;
  background-image: url('img/crab.svg');
  background-size: 10%;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: white;
}

h1 {
    margin: 0;
    left: 0;
    top: 0;
    background-image: url('/img/korap-logo-solo.svg');
    position: absolute;
    width: 260px; /* like sidebars*/
    height: 80px; /* like #top */
    z-index: 999;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 65%;
}

h1 span {
    margin-left: -3000px;
}