/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, code,
del, dfn, em, img, q, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* Remove annoying border on linked images. */
a img { border: none; }

body {
  color: #666;
  font-size: 75%;
  line-height: 1.5;
  font-family: "Myriad Pro", "Lucida Grande", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a {
  color: #08c;
  font-weight: bold;
  text-decoration: none;
}

a:hover {
  color: #000;
  text-decoration: underline;
}

abbr, 
acronym {
  border-bottom: 1px dotted #ddd;
}

blockquote {
  color: #333;
}

code, dt {
  color: #000;
}

h1,h2,h3,h4,h5,h6 {
  font-weight: normal;
  color: #111;
}

h1 { font-size: 3em; line-height: 1; margin-bottom: 0.5em; }
h2 { font-size: 2em; margin-bottom: 0.75em; }
h3 { font-size: 1.5em; line-height: 1; margin-bottom: 1em; }
h4 { font-size: 1.2em; line-height: 1.25; margin-bottom: 1.25em; }
h5 { font-size: 1em; font-weight: bold; margin-bottom: 1.5em; }
h6 { font-size: 1em; font-weight: bold; }

/* Text elements
-------------------------------------------------------------- */
p           { margin: 0 0 1.5em; padding: 0; }

h1 {
  font-weight: bold;
  padding-bottom: .6em;
  font-size: 2.625em;
}

h2 { padding-top: 1em; }

li ul, 
li ol       { margin:0 1.5em; }
ul, ol      { margin: 0 1.5em 1.5em 1.5em; }

ul          { list-style-type: disc; }
ol          { list-style-type: decimal; }

dl          { margin: 0 0 1.5em 0; }
dl dt       { font-weight: bold; }
dd          { margin-left: 1.5em;}

hr {
  background:     #ffa;
  color:          #ffa;
}

table {
  border-top:     1px solid #ddd;
  border-left:    1px solid #ddd;
}

th,td {
  border-bottom:  1px solid #ddd;
  border-right:   1px solid #ddd;
}

pre {
  margin: 1.5em 0;
  white-space: pre;
}

pre,code,tt {
  font: 1em 'andale mono', 'lucida console', mono-space;
  line-height: 1.5;
}

/* page layout */
#content {
  font-size: 1.17em;
  margin-right: 280px;
  padding: 60px 60px 0;
}

#content li {
  padding-bottom: .5em;
}

#sidebar {
  float: right;
  width: 220px;
  background: url(images/sidebar.png) no-repeat;
  padding: 40px 30px;
  min-height: 500px;
  z-index: 100;
  position: relative;
}

#sidebar h4 {
  margin-bottom: .6em;
  color: #999;
  font-weight: bold;
  font-size: 1.17em;
}

#sidebar ul {
  padding: 0;
  margin: 0 0 3em;
  list-style: none;
}

#sidebar li {
  padding: 0 .5em 0 0;
  margin: 0;
  font-size: 12px;
}

#sidebar a {
  padding: .3em 0;
  display: block;
}

#sidebar li span {
  background: #000 url(images/current.png) no-repeat 0 50%;
  color: #fff;
  display: block;
  font-weight: bold;
  margin: 0 -.5em 0 -40px;
  padding: .3em .5em .3em 40px;
  text-shadow: #000 -1px -1px 1px;
  -moz-border-radius-topright: .5em;
  -moz-border-radius-bottomright: .5em;
  -webkit-border-top-right-radius: .5em;
  -webkit-border-bottom-right-radius: .5em;
}

#header {
  color: #999;
  margin: 3em 0;
}

#header, #sidebar {
  text-shadow: #fff 0px 1px 1px;
}

#sidebar a,
#toc a,
#footer a { font-weight: normal; }

#toc {
  background-color: #ffc;
  margin: 1em 0;
  padding: .5em;
  font-size: 12px;
}

#toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#toc li ul {
  margin: 0;
  padding: 0 0 0 1em;
}

#footer {
  padding: 60px;
  color: #666;
  clear: left;
}

#footer p {
  margin-bottom: 0;
}

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

#footer li {
  display: inline;
  margin-right: 1em;
}

.participate {
  margin: 3em 0;
  padding: 1em;
  color: #000 !important;
  background: #ffc;
}

.calm {
  color: #666;
}

.quiet {
  color: #999;  
}

a .quiet,
.quiet a {
  font-weight: normal !important;
}

.alt {
  color: ;
}

.highlight {
  color: #000;
  background-color: #ffa;
  padding: 0 .4em;
}

/* CodeRay */
.CodeRay {
  margin-bottom: 2em;
}

dl .CodeRay,
ol .CodeRay,
ul .CodeRay {
  margin-bottom: 1em;
  margin-top: .5em;
}

/* body.api
   custom, definition-list-look-alike styles for the API pages */
.api #content h3,
.api #content h4,
.api #content h5,
.api #content h6,
.api #content ul,
.api #content ol,
.api #content dl,
.api #content p,
.api #content blockquote,
.api #content .CodeRay {
  margin-left: 1.5em;
}

.api #content h2 {
  font-size: 1em;
  font-weight: bold;
}

.api #content h3 {
  font-weight: bold;
  font-size: 1em;
}

.api #content li .CodeRay {
  margin-left: 0;
}

/* external links */
a.external {
  background: url(images/external.png) no-repeat 100% 40%; 
  border: 0;
  padding: 0 16px 0 0;
}

form.toggle-external-links {
  margin-top: 3em;
  text-align: left !important;
}

form.toggle-external-links span {
  visibility: hidden;
  color: #999;
}

form.toggle-external-links label:hover span {
  visibility: visible;
}

/* self-clearing floats */
#footer:after {
	content: "."; 
  display: block; 
  height: 0; 
  clear: both; 
  visibility: hidden;
}