@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;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
  padding: 0pt;
  padding-top: 5px;
  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:0px
}

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,
#tutorial > a > i {
  font-size: 20pt;
  color: #496000;
  position: absolute;
  z-index: 100;
  top: 10pt;
  right: 20pt;
  cursor: pointer;
}

#tutorial > a > i {
  right: 40pt;
}

#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: 68px; /* like #top */
    z-index: 999;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 65%;
}

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