html {
    color:#000;
    background-color:#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;
}

li {
    list-style:none;
}

caption,th {
    text-align:left;
}

h1,h2,h3,h4,h5,h6 {
    font-size:1em;
    font-weight:400;
}

q:before,q:after {
    content:'';
}

abbr,acronym {
    border:0;
    font-variant:normal;
}

legend {
    color:#000;
}

label,input,button,textarea,select,optgroup,option {
    font-family:inherit;
    font-size:inherit;
    font-style:inherit;
    font-weight:inherit;
}

input,button,textarea,select {
    font-size:1em;
}

html,body {
    background-color:#FFBA54;
}

body {
	min-width:43em;
    max-width:60em;
    position:relative;
    margin:1em auto;
    padding:.3em;
    color:#59443C;
    font-size:.9em;
    font-family:sans-serif;
}

a:visited {
    color:#8C8281;
}

em {
    font-weight:700;
}

strong {
    font-style:italic;
}

form input,form textarea {
    color:#000;
    background-color:#FFF;
    vertical-align:middle;
    margin:0;
    padding:.2em;
    border:1px solid;
    border-color:#59443C;
}

form textarea {
    font-family:monospace;
}

form input[type=hidden] {
    border:none;
}

#menu {
    background-color:white;
    display:inline-block;
	text-align:center;
    font-family:sans-serif;
    border-top-left-radius:10px;
    border-top-right-radius:10px;
}

#menu ul {
    list-style-type:none;
    padding:.8em .5em .5em .5em;
}

#menu ul li {
    display:inline-block;
    padding:0 .3em 0 .3em;
}

#search {	
	background-color:white;
 	font-size:.8em;
	float:right;
	padding:1em 2.5em 0 2.2em;
	margin-top:.4em;
    border-top-right-radius:10px;
}

#search form input,#search form label {
    margin-left:.2em;
}

#search form input[type='text'] {
	padding:.1em;
	width:12em;
	margin-right:1em;
	margin-left:.5em;
	border-radius:4px;
}

/* Hack for Firefox */
#search input[type='submit']::-moz-focus-inner { 
	border: 0; 
	padding: 0; 
	margin-top:0; 
	margin-bottom:-.05em; 
}

#search form input[type='submit'] {
	padding:.1em .3em .1em;
	margin-right:1em;
	margin-left:-.5em;	
	border-radius:4px;
}

#search form label {
	color: #333;
	text-transform:capitalize;
}

#search form a {
	display:inline;
}

#page-specific-links {
	background-color:white;
    padding:1.4em 0 .5em 2.6em;
    font-size:.8em;
    border-top-right-radius:10px;
}

#page-specific-links li {
    display:inline;
    padding-right:.4em;
}

#page-specific-links a {
    color:#711;
}

#content,#search-results {
    background-color:white;
    font-family:sans-serif;
	line-height:1.3em;
    padding:.1em 2em 2em 2em;
    border-bottom-left-radius:10px;
    border-bottom-right-radius:10px;
}

/* call-cc.org homepage */
#content center img {
	margin-top:4em;
}

#content h1,#search-results h1 {
    clear:left;
    font-size:1.8em;
    font-weight:700;
    margin-top:1em;
}

#content h2,#search-results h2 {
    clear:left;
    font-size:1.5em;
    font-weight:700;
    margin-top:1em;
}

#content h3,#search-results h3 {
    clear:left;
    font-size:1.3em;
    font-weight:700;
    margin-top:1em;
}

#content h4,#search-results h4 {
    font-size:1.1em;
    clear:left;
    font-weight:700;
    margin-top:1em;
}

#content h5,#search-results h5 {
    font-size:1em;
    clear:left;
    font-weight:700;
    margin-top:1em;
}

#content h6,#search-results h6 {
    font-size:1em;
    clear:left;
    font-weight:700;
    margin-top:1em;
}

#content h3 + .definition,#content h4 + .definition,#content h5 + .definition {
	margin-top:.5em;
}

#content h3 + p,#content h4 + p,#content h5 + p {
	margin-top:.5em;
}

#content p + h3,#content p +h4,#content p + h5 {
	margin-top:1.3em;
}

#content pre,#search-results pre {
    background-color:#FFFBEA;
    margin-top:1em;
    padding:.75em .5em;
    overflow:auto;
    font-family:monospace;
	font-size:1.25em;
    border:1px solid;
    border-color:#E0E0E0;
    border-radius:10px;
}

#content #captcha {
    background-color:#FFF;
	width:30em;
    border:none;
    padding:0;
    margin:0;
}

#content tt,#search-results tt {
	font-size:1.23em;
    font-family:monospace;
	font-weight:bold;
}

/* <tt> should be bold only on text - not on definitions, tables or preformatted code */
#content .definition tt,#search-results .definition tt,
#content pre tt,#search-results pre tt,
#content table tt,#search-results table tt {
	font-weight:normal;
	font-size:1em;
}

#content table tt,#search-results table tt {
	font-size:1.23em;
}

#content ol,#content ul,#search-results ol,#search-results ul {
    margin-left:1.5em;
    margin-top:1em;
}

#content ol li,#content ul li,#search-results ol li,#search-results ul li {
    list-style-position:outside;
    margin-top:.2em;
}

#content ol li ol,#content ol li ul,#content ul li ol,#content ul li ul,#search-results ol li ol,#search-results ol li ul,#search-results ul li ol,#search-results ul li ul {
    margin-top:0;
}

#content ul li,#search-results ul li {
    list-style-type:disc;
}

#content ol li,#search-results ol li {
    list-style-type:decimal;
}

#content dl dt,#search-results dl dt {
    font-weight:700;
    margin-top:.5em;
}

#content dl dd,#search-results dl dd {
    margin-left:1em;
}

#content table:first-child {
    margin-top:1em;
}

#content table,#search-results table {
	margin-top:.5em;
    border-spacing:0;
    font-size:1em;
    width:100%;
}

#content table tr > td,#search-results table tr > td {
    padding-top:.3em;
    padding-bottom:.3em;
}

#content table tr.odd,#search-results table tr.odd {
    background-color:#FFC;
}

#content table th,#search-results table th {
    text-align:left;
    font-weight:700;
    font-size:1em;
    padding:.2em 1em .2em .2em;
}

#content table td,#search-results table td {
    padding:.5em;
}

#content ol.pager,#search-results ol.pager {
    list-style-type:none;
    display:block;
    text-align:center;
    margin:2em 0 0;
    padding:0;
}

#content ol.pager li,#search-results ol.pager li {
    display:inline;
}

#content form label {
    display:block;
    margin-top:1em;
}

#content form textarea {
    width:99%;
}

#content form #auth-checkbox {
    float:left;
    margin-right:.5em;
    margin-top:.2em;
}

#content .definition {
    background-color:#FFB;
    display:block;
    padding:.4em;
    border-color:#FFD06A;
	border-radius:10px;
    margin-top:1em;
	margin-bottom:-.7em;
	font-size:1.23em;
}

#content .definition em {
    color:#9C4320;
	font-size:1em;
    font-style:normal;
    font-family:monospace;
    font-weight:700;
}

#content .definition ~ p {
	padding-left:.2em;
	padding-right:.2em;
}

#content .definition + .definition {
    margin-top:-.1em;
}

#content .highlight {
    background-color:#FFFBEA;
	font-size:1em;
}

#content .highlight .symbol,#content .highlight .default,#content .highlight .comment {
    background-color:#FFFBEA;
    color:#59443C;
    font-weight:400;
}

#content .highlight i {
    font-style:normal;
}

#content .highlight i .symbol {
    color:#B64926;
}

#content .highlight .paren1,#content .highlight .paren2,#content .highlight .paren3,#content .highlight .paren4,#content .highlight .paren5,#content .highlight .paren6 {
    background-color:inherit;
}

#content .highlight .paren1:hover,#content .highlight .paren2:hover,#content .highlight .paren3:hover,#content .highlight .paren4:hover,#content .highlight .paren5:hover,#content .highlight .paren6:hover {
    color:#FFF;
    font-weight:700;
}

#content .highlight .paren1:hover {
    background-color:#DB7859;
}

#content .highlight .paren2:hover {
    background-color:#1B804C;
}

#content .highlight .paren3:hover {
    background-color:#9F214E;
}

#content .highlight .paren4:hover {
    background-color:#DBA059;
}

#content .highlight .paren5:hover {
    background-color:#B64926;
}

#content .highlight .paren6:hover {
    background-color:#64A422;
}

#content .highlight .comment {
    color:#8C8281;
    font-style:italic;
}

#content p,#search-results p,#content dl,#search-results dl,#content form #actions {
    margin:1em .1em 0 .1em;
}

#content form #actions input,ul.tags li {
    display:inline;
}

/* For pages that don't generate menu and search bar - ex.: Tests */
#content:first-child {
    padding:.1em 2em 2em 2em;
    border-top-left-radius:10px;
    border-top-right-radius:10px;
}

/* For pages that generate menu, but no search bar - ex.: Pastiche and code.call-cc.org */
#menu + #content {
    padding:.1em 2em 2em 2em;
    border-top-right-radius:10px;
}

/* Specifically for search results page */
#search-results {
	padding-top:2em;
}

/* Specifically for Pastiche */
#heading {
	padding-top:.5em;
	margin-bottom:2em;
}

#toc > ol > li {
    list-style-type:none;
}

#toc ol {
    counter-reset:section;
}

#toc ol li:before {
    counter-increment:section;
    content:counters(section,".") " ";
}

#toc ol > ol {
    counter-reset:subsection;
}

#toc ol > ol li:before {
    counter-increment:subsection;
    content:counters(subsection,".") " ";
}

#toc ol li,#content form textarea,#content form input {
    display:block;
}

ul.tags {
    position:absolute;
    bottom:.5em;
    right:1em;
    list-style-type:none;
    font-size:.8em;
}

del,ins,#toc a,#menu ul li a,ul#page-specific-links li a {
    text-decoration:none;
}

sup,sub {
    vertical-align:baseline;
}

a:link,#menu ul li a:visited,#content .highlight .string {
    color:#9C4320;
}
