@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: 10pt 0 10pt 30pt;
  position: relative;
  height: 62.5px;
}

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

/*
iframe {
  border-width: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  height: 300px;
  width: 100%;
}
*/

#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/loading.gif');
  background-repeat: no-repeat;
  background-position: center center;
  background-color: white;
}