@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;
}

#q-field {
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
}

#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:not(.active) > i.fa-bars {
  opacity: 1;
  cursor: pointer;
  background-color: #496000;
  position: fixed;
  font-size: 12pt;
  width: 11pt;  
  height: 12pt;
  padding: 4pt;
  bottom: 0;
  left: 0;
  border-top-right-radius: 5pt;
}

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

#sidebar.active > i.fa-bars {
  opacity: 0;
}

#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;
  display: block;
  z-index: 9999;
  background-color: #496000;
  border-radius: 15px;
  padding: 5px;
  top: 2%;
  bottom: 2%;
  left: 5%;
  right: 5%;
}

#tutorial:not(.active) {
  display: none;
}

#tutorial.active {
  display: block;
}

#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;
}

main {
  padding: 20px;
}