/*
  Only edit main.css.
  Do not edit docs.css, it is generaed from main.css.
*/

@import url('https://fonts.googleapis.com/css?family=Roboto:300,300i,400,700,700i&subset=greek,greek-ext,latin-ext');

body {
  font-family: 'Roboto', Arial, sans-serif;
  font-size: 15px;
  margin: 0;
  padding: 0;
}

a {
  color: #1f78b4;
}


main {
  width: calc(100% - 30em);
  padding: 1em 2em 2em 1em;
  /* https://css-tricks.com/snippets/css/momentum-scrolling-on-ios-overflow-elements/ */
  -webkit-overflow-scrolling: touch;
  margin: 0 0 0 2em;
  display: inline-block;
  clear: both;
}


pre {
  margin-left: 1em;
  padding: 1em;
  background: #fafafa;
  -webkit-overflow-scrolling: touch;
}

pre code {
  color: #000;
}

code {
  color: darkgreen;
}

h2, h3, h4 {
  font-weight: normal;
}

h1 {
  font-size: 3rem;
  font-weight: 300;
}

h2 {
  margin-top: 1em;
  margin-bottom: 0.2em;
}

img {
  margin: 1em;
}

aside {
  z-index: 10;
  -webkit-overflow-scrolling: touch;
  float: left;
  width: 20em;
  background: #fafafa;
  padding: 10px;
}

aside ul {
  padding-left: 1em;
}

aside li {
  list-style-type: none;
  margin-top: 8px;
  font-size: 13px;
  padding-top: 0.5em;
}

aside li a.selected {
  color: black;
  font-weight: bold;
  text-decoration: none;
}

aside li a {
  text-decoration: none;
}

aside ul.depth0>li,
aside ul.depth1>li {
  font-weight: bold;
  font-size: 110%;
  font-variant: small-caps;
}

aside ul.depth0>li {
  font-size: 120%;
}

aside ul.depth2>li {
  font-weight: bold;
}

#menu {
  display: none;
}

#___gcse_0 {
  width: 260px;
  display: inline-block;
  margin: 0.4em;
}

#___gcse_0 button {
  height: 25px;
}

.float {
  position: fixed;
  top: 0;
  right: 0;
  border: 2px solid;
  padding: 1em;
}

.float li {
  list-style-type: none;
}

.float ul {
  padding: 0;
}

#rhs,
#lhs {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  font-size: 18px;
  font-weight: 300;
}

#rhs > *,
#lhs > * {
  margin-left: 0.6em;
}

header {
  z-index: 20;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  border-bottom: solid 24px #4285F4;
  background: #f8f8f8;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  height: 4em;
}

header img {
  width: auto;
  height: 32px;
  margin: 0;
}

footer {
  background: #f8f8f8;
}

@media (max-width: 900px) {
  #rhs {
    display: none;
  }

  #menu {
    width: 30px;
    height: 30px;
    border: 0;
    padding: 0;
    margin: 0;
    background: #f8f8f8;
    display: inline-block;
  }

  aside {
    display: block;
    left: -350px;
    position: absolute;
    transition: left 0.5s;
    width: 300px;
  }

  #menu:hover {
    background: lightgray;
  }

  aside.opened {
    left: 0%;
  }

  main {
    margin-left: 10px;
    width: 100%;
  }
}

.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}