/* BEGIN RESET

Copyright (c) 2010, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.8.2r1
*/
html {
  color: #000;
  background: #FFF;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset,img {
  border: 0;
}
address,caption,cite,code,dfn,em,strong,th,var,optgroup {
  font-style: inherit;
  font-weight: inherit;
}
del,ins {
  text-decoration: none;
}
li {
  list-style: bullet;
  margin-left: 20px;
}
caption,th {
  text-align: left;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: bold;
}
q:before,q:after {
  content: '';
}
abbr,acronym {
  border: 0;
  font-variant: normal;
}
sup {
  vertical-align: baseline;
}
sub {
  vertical-align: baseline;
}
legend {
  color: #000;
}
input,button,textarea,select,optgroup,option {
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
}
input,button,textarea,select {
  font-size:100%;
}
/* END RESET */

/* LDoc styles customized for Lua4z */

@media screen {
  html {
    margin: 0;
    background-color: #EEEEEE; /* Fills the page */
    position: relative; /* Fix for absolute positioning */
  }
  body {
    position: relative;
  }
}

body {
  margin: 0;
  font-size: 1em;
  line-height: 1.5em;
}

body,
span.annotation {
  font-family: Arial, Geneva, sans-serif;
}

#container {
  position: relative;
  padding: 1em;
  background-color: #FFFFFF;
}

code,
tt,
span.parameter {
  font-family: "Andale Mono", "Lucida Console", monospace;
}

span.parameter:after {
  content: ":";
}

span.types:before {
  content: "(";
}

span.types:after {
  content: ")";
}

.type {
  font-weight: bold;
  font-style: italic;
}

p,
td,
th {
  font-size: 1em;
}

p,
ul {
  margin: 1em 0 0 0;
}

strong {
  font-weight: bold;
}

em,
var {
  font-style: italic;
}

var {
  color: #606060;
}

h1 {
  font-size: 2em;
  line-height: 1.2em;
  font-weight: bold;
  margin: 0.25em 0 0.5em 0;
  text-align: center;
}

h2,
h3,
h4 {
  margin: 1em 0 1em 0;
}

h2 {
  font-weight: normal;
  font-size: 1.5em;
  padding: 0.25em;
  background-color: #D0D0FF;
  border-radius: 0.25em;
  border: 1px solid #A0A0A0;
}

h3 {
  font-size: 1.2em;
}

h4 {
  font-size: 1em;
}

a:link {
  font-weight: normal;
  color: #004080;
  text-decoration: none;
}

a:visited {
  font-weight: normal;
  color: #006699;
  text-decoration: none;
}

a:link:hover {
  text-decoration: underline;
}

hr {
  color:#cccccc;
  background: #00007F;
  height: 1px;
}

blockquote {
  padding-left: 3em;
  border-left: 1px solid #CCCCCC;
}

ul {
  list-style-type: square;
}

li {
  padding-left: 1em;
}

p.name {
  font-family: "Andale Mono", monospace;
  padding-top: 1em;
}

pre.example,
pre {
  background-color: rgb(245, 245, 245);
  border: 1px solid #CCCCCC;
  padding: 0.5em;
  margin: 1em 0 0.5em 0;
  font-family: "Andale Mono", "Lucida Console", monospace;
  overflow: auto;
}

table.index {
  border: 1px solid #00007F;
}

table.index td {
  text-align: left;
  vertical-align: top;
}

#product a {
  outline: 0
}

#product {
  text-align: center;
  margin-top: 0.5em;
}

#product_name {
  font-size: 2em;
  margin: 0.5em 0 0.5em 0;
  font-weight: bold;
}

#main {
  background-color: #FFFFFF; /* was #F0F0F0 */
}

#navigation {
  margin: 1em -1em 1em -1em;
  background-color: #FFFFFF;
  overflow: visible;
  border-bottom: 1px solid #CCCCCC;
}

#navigation h2 {
  background-color: #D0D0FF;
  font-size: 1em;
  color: #000000;
  text-align: left;
  padding: 0.5em 0.5em 0.5em 1em;
  border: none;
  border-radius: 0;
  margin: 0;
}

#navigation ul {
  list-style-type: none;
  margin: 0;
}

#navigation ul ul {
  margin-top: 0.5em;
}

#navigation li {
  display: block;
  border-top: 1px solid #CCCCCC;
  padding: 0.5em 0.5em 0.5em 1em;
  margin: 0;
}

#navigation li li {
  border: none;
  padding: 0 0 0.5em 1em;
}

#content {
  padding: 0;
  background-color: #FFFFFF;
}

#footer {
  margin: 1em;
  color: #909090;
}

/* Mark item as Lua4z-only */
span.lua4z-only {
  position: relative;
}

span.lua4z-only:before {
  content: "z";
  line-height: 1.3em;
  font-size: 1em;
  float: right;
  display: inline-block;
  text-align: center;
  height: 1.5em;
  width: 1.5em;
  font-weight: bold;
  background-color: #00007F;
  border-radius: 0.75em;
  color: #FFFFFF;
}

/* If the span is a child of a paragraph, do not float right */
p > span.lua4z-only:before {
  float: none;
}

span.lua4z-only:hover {
  cursor: default;
}

span.module-std:before,
span.module-ext:before {
  color: #909090;
  float: right;
}

span.module-std:before {
  content: "std";
}

span.module-ext:before {
  content: "ext";
}

/* Introduce curved border around body */
@media only screen and (min-width: 30em) {
  body {
    margin: 1em;
  }
  #container {
    border: solid #A0A0A0 1px;
    border-radius: 1em;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  }
}

/* Pop out navigation as left sidebar */
@media only screen and (min-width: 50em) {
  body {
    margin-left: 18em;
  }
  #navigation {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    padding: 0;
    margin: 0;
    width: 17em;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch; /* Enable inertial scrolling on iOS */
    height: 100vh;
  }
  #navigation h2 {
    border: none;
    margin: 0;
    border-radius: 0;
  }
  #navigation > ul > li:first-child {
    border-top: none;
  }
  #navigation * {
    -webkit-transform: translate3d(0, 0, 0);
  }
}

/* Railroad syntax diagram heading */
p.ebnf-symbol {
  font-size: 1.5em;
  margin: 1em 0 1em 0;
  font-weight: bold;
}

/* Limit maximum width of body */
@media only screen and (min-width: 80em) {
  body {
    max-width: 60em;
  }
}

/* Center body on wide screens, pop out sidebars */
@media only screen and (min-width: 100em) {
  body {
    margin-left: auto;
    margin-right: auto;
  }
  .sidebar {
    display: block;
    float: right;
    clear: both;
    top: -2em;
    padding: 0.5em;
    position: relative;
    margin: 0 -19em 0 0 ;
    width: 15em;
    background-color: #EFF2B9;
    border: solid #A0A0A0 1px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  }
}

@media print {
  body {
    font-size: 11pt;
  }

  a {
    color: #000000;
  }

  a[href] {
    font-weight: bold;
    color: #004080;
  }

  h2 {
    border: none;
    border-radius: 0;
    padding: 0;
    border-bottom: 0.5pt solid #CCCCCC;
    padding-bottom: 0.2em;
  }
  
  #main {
    background-color: #ffffff;
    border-left: 0px;
  }
  
  #container {
  }
  
  #navigation {
    display: none;
  }
  
  pre {
    border-width: 0.5pt;
  }
  
  pre.example {
    font-family: "Andale Mono", monospace;
    font-size: 10pt;
    page-break-inside: avoid;
  }

  span.lua4z-only:before {
    color: #000000;
    border: 1px solid #000000;
  }
}

table.module_list,
table.function_list {
  border: 1px solid #CCCCCC;
  border-collapse: collapse;
}

table.module_list td,
table.function_list td {
  border: 1px solid #CCCCCC;
  padding: 0.5em;
}

table.module_list td.name {
  background-color: #F0F0F0;
  min-width: 14em;
}

table.function_list td.name {
  background-color: #F6F6FF;
  min-width: 14em;
}

table.module_list td.summary,
table.function_list td.summary {
  width: 100%;
}

dl.table dt,
dl.function dt {
  border-top: 1px solid #CCCCCC;
  padding-top: 1em;
  font-size: 1.5em;
}

/* Suppress top border and top padding on first item */
dl.table dt:first-child,
dl.function dt:first-child {
  border-top: none;
  padding-top: 0;
}

dl.table dd,
dl.function dd {
  padding-bottom: 1em;
  margin: 0.5em 0 0 1em;
}

dl.table h3,
dl.function h3 {
  font-size: 1em;
}

ul.nowrap {
  overflow: auto;
}

/* Stop sublists from having initial vertical space */
ul ul,
ol ul,
ol ol,
ul ol {
  margin-top: 0;
}

/* Styles for prettification of source */
pre .comment {
  color: #558817;
}

pre .constant {
  color: #a8660d;
}

pre .escape {
  color: #844631;
}

pre .keyword {
  color: #2239a8;
  font-weight: bold;
}

pre .library {
  color: #0e7c6b;
}

pre .marker {
  color: #512b1e;
  background: #fedc56;
 font-weight: bold;
}

pre .string {
  color: #a8660d;
}

pre .number {
  color: #f8660d;
}

pre .operator {
  color: #2239a8;
  font-weight: bold;
}

pre .preprocessor,
pre .prepro {
  color: #a33243;
}

pre .global {
  color: #800080;
}

pre .prompt {
  color: #558817;
}

pre .url {
  color: #272fc2;
  text-decoration: underline;
}

/* Markdown content style */

table {
  width: 100%;
  border-collapse: collapse;
  margin: 1em 0 1em 0;
}

td,
th,
caption {
  border: 1px solid #CCCCCC;
  padding: 0.5em;
}

caption {
  background-color:  #D0D0FF;
  border-bottom: none;
}

td {
  vertical-align: top;
}

th {
  vertical-align: bottom;
  background-color:  #EEEEFF;
}

/* Miscellaneous */

span.highlight {
  background-color: #FFFF00;
  padding: 0 0.1em 0 0.1em;
}

span.annotation {
  background-color: #00FF00;
  padding: 0 0.1em 0 0.1em;
}

/* License styles */

/* The license.md source file contains the empty element */
/* <div class="license-start"></div> */
/* to trigger the following style */
/* Indent paragraphs in license */
.license-start ~ p {
  margin-left: 3em;
}
/* <div class="license-end"></div> */
/* resets the indent */
.license-end ~ p {
  margin-left: 0;
}

span.license-clause-marker,
span.license-sub-clause-marker,
span.license-recital-marker {
  float: left;
}

span.license-clause-marker + span,
span.license-recital-marker + span {
  display: block;
  margin-left: 3em;
}

h2 span.license-clause-marker + span,
h3 span.license-clause-marker + span {
  margin-left: 2.5em;
}

span.license-sub-clause-marker {
  float: left;
  margin-left: 3em;
}

span.license-sub-clause-marker + span {
  display: block;
  margin-left: 6em;
}
