/*
 * LLVM documentation style sheet
 */

/* Common styles */
.body { color: black; background: white; margin: 0 0 0 0 }

/* No borders on image links */
a:link img, a:visited img {border-style: none}

address img { float: right; width: 88px; height: 31px; }
address     { clear: right; }

TR, TD      { border: 2px solid gray; padding: 4pt 4pt 2pt 2pt; }
TH          { border: 2px solid gray; font-weight: bold; font-size: 105%; 
              background: url("img/lines.gif");
              font-family: "Georgia,Palatino,Times,Roman,SanSerif"; text-align:center;
              vertical-align: middle; }
TABLE       { text-align: center; border: 2px solid black; 
              border-collapse: collapse; margin-top: 1em; margin-left: 1em; 
              margin-right: 1em; margin-bottom: 1em; }
/* 
 * Documentation 
 */
/* Common for title and header */
.doc_title, .doc_section, .doc_subsection { 
  color: black; background: url("img/lines.gif");
  font-family: "Georgia,Palatino,Times,Roman,SanSerif"; font-weight: bold;
  border-width: 1px;
  border-style: solid none solid none;
  text-align: center;
  vertical-align: middle;
  padding-left: 8pt;
  padding-top: 1px;
  padding-bottom: 2px
}

.doc_title      { text-align: left;   font-size: 25pt }
.doc_section    { text-align: center; font-size: 22pt;
                  margin: 20pt 0pt 5pt 0pt; }
.doc_subsection { width: 75%;
                  text-align: left;  font-size: 12pt; padding: 4pt 4pt 4pt 4pt;
                  margin: 1.5em 0.5em 0.5em 0.5em }

.doc_subsubsection { margin: 2.0em 0.5em 0.5em 0.5em;
                     font-weight: bold; font-style: oblique;
                     border-bottom: 1px solid #999999; font-size: 12pt;
                     width: 75%; }
.doc_author     { text-align: left; font-weight: bold; padding-left: 20pt }
.doc_text       { text-align: left; padding-left: 20pt; padding-right: 10pt }

.doc_footer     { text-align: left; padding: 0 0 0 0 }

.doc_hilite     { color: blue; font-weight: bold; }

.doc_table      { text-align: center; width: 90%; 
                  padding: 1px 1px 1px 1px; border: 1px; }

.doc_table_nw   { text-align: center; border: 1px; 
    		  padding: 1px 1px 1px 1px; }

.doc_warning    { color: red; font-weight: bold }

.doc_code       { border: solid 1px gray; background: #eeeeee;
                  margin: 0 1em 0 1em; 
                  padding: 0 1em 0 1em;
                  display:table;
                }
.doc_notes      { background: #fafafa; border: 1px solid #cecece; padding: 0.1em }

TABLE.layout    { text-align: left; border: none; border-collapse: collapse;
                  padding: 4px 4px 4px 4px; }
TR.layout       { border: none; padding: 4pt 4pt 2pt 2pt; }
TD.layout       { border: none; padding: 4pt 4pt 2pt 2pt; 
                  vertical-align: top;}
TD.left         { border: none; padding: 4pt 4pt 2pt 2pt; text-align: left; 
                  vertical-align: top;}
TD.right        { border: none; padding: 4pt 4pt 2pt 2pt; text-align: right; 
                  vertical-align: top;}
TH.layout       { border: none; font-weight: bold; font-size: 105%; 
                  text-align:center; vertical-align: middle; }

/* Left align table cell */
.td_left        { border: 2px solid gray; text-align: left; }
