/* recover from old-browser styling */

*.oldbl {display: block !important;}
*.oldin {display: inline !important;}
*.ahem {display: none !important;}
div#sidebar b {display: none !important;}
img.pic {display: block !important;}

/* NS6.x-specific fixes */

*|*:-moz-list-bullet, *|*:-moz-list-number {font-size: 1em;}

/* basic styles */

html {margin: 0; padding: 0;}
body {font: 11px Verdana, sans-serif; margin: 0; padding: 0; }
body div#main {margin: 0 17% 0 0; padding: 2.33em 4% 7.5em 7.5em;}

h1#sitemast {font-size: 200%; line-height: 0.9em;
  font-weight: bold; margin: 0; padding: 0.33em 0 0;
  text-transform: lowercase; letter-spacing: 0.13em;
  border-bottom: 1px solid;}
h1#sitemast span {padding-left: 0.33em; margin: 0;}
h2 {margin: 0; font-weight: bold; font-size: 200%;}
h3 {font-size: 130%; font-weight: bold;
  margin: 1em 0 0; padding: 0;
  border-style: solid; border-width: 0 0 1px 0;}
h3 a.hlinks {position: relative; bottom: -0.6em;
  padding: 1px 0.5em; margin: 0;
  border-style: solid; border-width: 1px 2px;
  text-decoration: none;}
h4 {margin: 1.66em 0 0; font-size: 115%; font-weight: bold;}
h5 {margin: 1.25em 0 0; font-size: 100%;}
h2#osx { border-style: solid; border-width: 0 0 2px 0; font-size: 150%; }
h5#osx { margin: 1.25em 0 0; margin-left: 1.75em; font-size: 100%; border-style: solid; border-width: 0 0 1px 0; }
h5#osxlb { margin: 1.25em 0 0; margin-left: 1.75em; font-size: 100%; border: none; }

div#main a:hover { background-color: rgb(85%,85%,95%); }
div#main p {margin: 0.66em 0 1em 1.75em; padding: 0;
  text-align: left; line-height: 1.4;}
div#main p.desc {margin-top: 1.5em;}
div#main ul, div#main ol {margin: 0.75em 0 1em 1.75em;
  padding: 0 0 0 2.5em;}
p#signature {margin-top: 2em; padding-right: 0.25em;
  text-align: left; font-style: italic;}
pre, code, tt {font: 103% "Andale Mono", "Courier New", Courier, monospace; line-height: 1em;}
dl {margin: 0.75em 0 0.75em 1.75em; padding: 0;}
dt {font-weight: bold;}
dd {margin-top: 0.33em; margin-bottom: 0.66em;}
li {margin-bottom: 0.33em;}

div#main blockquote {font-style: normal; margin-left: 4em; margin-bottom: 0.25em;}
div#main blockquote p {margin: 0.33em 2.5% 0.33em 0 !important; line-height: 1.2; text-indent: 2em;}
div#main blockquote em {font-style: italic; font-weight: inherit;}
div#main blockquote.book p {margin: 0 2.5% 0 0 !important;}
div#main blockquote.lyric {font-style: italic;}
div#main div.entry p.quoteattrib {margin: 0 4em 1em;}
p.quoteattrib cite {font-style: italic;}

img.pic {display: block; float: right; margin: 0 0 0.5em 1em;}
img.border {border: 3px double;}

a.dead {text-decoration: line-through !important;}

/* originally: width: 15%; margin: 0 1% 0 0; */
div#sidebar {float: right; width: 15%;
  margin: 0 0% 1em 0; padding: 0; text-align: left;}
div#sidebar h4 {margin: 2em 0 0 2px; padding: 0;
  font-size: 1em; font-weight: bold; line-height: 1.25em;
  text-align: left; text-transform: lowercase;
  border-bottom: 2px solid;}
div#sidebar h4#sidetop {margin-top: 1em;}
div#sidebar form, div#sidebar p {
  margin: 0 2px; border-style: solid; border-width: 0 0 0 1px;}
div#sidebar form {padding: 0.25em 0.66em;}
div#sidebar p {line-height: 1.1em; text-align: left;
  padding: 0.5em 0.5em 0.5em 5%;}
div#sidebar p.subhead {font-size: 95%; font-style: italic;
  line-height: 1em;
  text-align: left; padding: 0.125em 0.5em 0;}

div#sidebar a {display: block; 
  padding: 5px 5px 2px; margin: 0 0 0 2px;
  border-style: solid; border-width: 0 0 0 1px;
  text-decoration: none; outline-width: 0;}
div#sidebar a:hover {border-left-width: 5px; padding-left: 3px; margin-left: 0;}
div#sidebar img {width: 95%; max-width: 150px; 
  margin: 3px 0 5px; border: 1px solid;}

div.sublinks {border-left: 1px solid; margin: 0 1em 0 2px; background: transparent;}

div#sidebar div.sublinks a {border-left: 3px double; margin-left: 1px; padding-left: 3px; padding-top: 2px;}
/*
div#sidebar div.sublinks a:hover {border-left: 4px solid; margin-left: 0; padding-left: 3px;}
*/
div#sidebar div.sublinks a:hover {border-left: 3px solid; margin-left: 1px; padding-left: 3px; padding-top: 2px;}

div#footer {font-size: 90%; padding: 0.5em 1em 0.5em; border: 1px solid; border-width: 1px 0; text-align: right; clear: both; line-height: 1em;}
/*
div#footer {font-size: 90%; padding: 0.5em 1em 0.5em; border: 1px solid; border-width: 1px 0; text-align: right; clear: both; line-height: 1em; position: absolute; bottom: 0; width: 100%;}
*/
div#footer p {margin: 0.25em 0 0.5em;}
div#footer p + p {margin-bottom: 0.125em;}

/* thought-specific styles */

div#thoughts {margin: 3em 0 0.5em; padding: 0;}
div#thoughts div.entry p {margin: 0.66em 0 1em 1.75em;}
div#thoughts pre {margin-left: 3.25em;}
div#thoughts h4 {margin: 0; padding: 0.25em 0 2px 0;
  font: bold italic 150% Arial, Helvetica, sans-serif;
  text-align: right; line-height: 0.75em; letter-spacing: 1px;}
div.entry {border-top: 1px solid;
  padding: 0; margin: 0 0 2.5em;}
h5.title {border-style: solid; border-width: 1px 1px 1px 2px; 
  display: inline; position: relative; top: -0.66em;
  margin: 0; padding: 1px 0.5em;
  font-weight: bold;}
h5.date {float: right; margin: -1.2em 0 0;
  font-weight: normal; text-align: right;}
a.plink {padding: 0 0.4em; margin-left: 0.5em;
  border-left: 1px solid;}
span.update {font-style: italic;}
span.update:before {content: "[";}
span.update:after {content: "]";}

span.gol { float: left; font-size: 80%; margin-top: 1em; margin-bottom: 1em; margin-left: 1.75em; }
span.gor { float: right; font-size: 80%; margin-top: 1em; margin-bottom: 1em; }

div.gonav { margin-left: 1.75em; }
table.gonav { font-size: 80%; width: 100%; background-color: #EAEAF4; border: none; margin-top: 2em; } 
td.gol      { width: 42%; text-align: left;   }
td.gom      { width: 16%; text-align: center; }
td.gor      { width: 42%; text-align: right;  }

/* book-specific styling */

body.book div#main {margin: 0 15% 0 140px !important;
  padding: 2.33em 7.5% 1em 0;}
body.book h2 {margin-left: 0.5em;}
body.book div#main img.cover {position: absolute; width: 125px;
  top: 6em; left: 10px; padding: 0;
  border-style: solid; border-width: 1px 2px 2px 1px;
  border-color: gray black black gray;}
body.book p#excerpt {border: 2px solid; border-left-width: 2em;
  padding: 0.5em; margin-bottom: 2em;}

/* color settings */

body {color: rgb(23%,23%,23%); background: rgb(96%,96%,94%);}
h1#sitemast {color: rgb(30%,30%,50%); background: rgb(45%,45%,65%); border-color: rgb(30%,30%,50%);}
h1#sitemast span {background: rgb(96%,96%,94%); color: rgb(27%,27%,47%);}
h1#sitemast a {color: rgb(30%,30%,50%); text-decoration: none;}
h2 {color: rgb(20%,20%,40%);}
h3 {color: rgb(20%,20%,30%); border-color: rgb(50%,50%,60%);}
h3 a.hlinks {border-color: rgb(50%,50%,60%);
  background-color: rgb(100%,100%,97%);}
code {color: rgb(20%,30%,40%);}
blockquote {color: rgb(25%,30%,35%);}
p.quoteattrib {color: rgb(50%,52%,55%);}
/* div#sidebar {background-color: transparent;} */
div#sidebar {background-color: rgb(91%,91%,96%);}
div#sidebar a {border-color: rgb(30%,30%,50%);}
div#sidebar a:link {color: rgb(30%,30%,60%);}
div#sidebar a:visited {color: rgb(50%,50%,60%);}
div#sidebar a:hover {border-color: rgb(30%,30%,60%);}
div#sidebar a:visited:hover {border-color: rgb(50%,50%,60%);}
div#sidebar h4 {color: rgb(30%,30%,50%); border-color: rgb(30%,30%,50%);}
div#sidebar p, div#sidebar form {border-color: rgb(30%,30%,50%);}
div#sidebar p.subhead {color: rgb(60%,60%,75%);}
div.sublinks {border-color: rgb(30%,30%,50%);}
div#sidebar div.sublinks a {border-left-color: rgb(78%,78%,81%);}
div#sidebar div.sublinks a:hover {border-left-color: rgb(65%,65%,80%);}
div#sidebar div.sublinks a:visited:hover {border-left-color: rgb(75%,75%,75%);}
div#footer {border-color: rgb(30%,30%,50%) navy rgb(75%,80%,85%) navy;
  background: rgb(88%,90%,92%);}
body#book p#excerpt {border-color: #CC9; background: #FFFFF0;}

div#thoughts h4 {color: rgb(45%,45%,55%);}
div#thoughts img.border {border-color: gray;}
div.entry {border-color: rgb(60%,60%,65%);}
h5.title {border-color: rgb(40%,40%,50%);
  background-color: rgb(231,231,236); color: rgb(25%,25%,25%);}
h5.date {color: rgb(60%,60%,65%);}
span.update {color: #448;}
a.plink {border-color: #BBC;}

ul#upcoming {list-style: none; font-weight: bold; margin: 1.5em 0 3em 0 !important; padding: 0 !important;}
ul#upcoming li {margin: 2em 0 0 0.75em;}
ul#upcoming ul.details {margin-left: 1em;}
ul#upcoming ul li {margin: 0;}
ul#upcoming li.offer {font-style: italic;}
ul#upcoming > li:first-line {font-size: 120%; text-decoration: underline; letter-spacing: 1px;}
ul#upcoming li#noevents:first-line {font-weight: normal; font-size: 1em; text-decoration: none;}
ul#upcoming ul {list-style: none; font-weight: normal; margin: 0; padding: 0;}
ul#upcoming dl {margin: 0.66em 0 1.33em 1em; padding: 0;}
ul#upcoming dt {margin: 0; padding: 0;}
ul#upcoming dd {font-weight: normal; margin: 0 0 0.5em 0; padding: 0;}

h3#egtopk {border-top: 5px solid #332; margin: 0; background: #554; color: #443; font: normal 166% Arial, Verdana, sans-serif; border-bottom-width: 0; }
h3#egtopk span {padding: 0 0.5em; background: #DDB;}

h3#egtop {margin-bottom: 0; border: 6px solid #332; border-bottom-width: 0; margin: 0; background: #554; color: #443; font: normal 166% Arial, Verdana, sans-serif;}
h3#egtop span {border-right: 1px solid #332; padding: 0 0.5em; background: #DDB;}
table#eg {background: #332; color: #443; border: 5px solid #332; border-top-width: 0; margin: 0; font-size: 1em;}
table#eg th {background: #BBB; color: #333; font-size: 1em;}
table#eg td {vertical-align: top; border-top: 1px solid #332; background: white; padding: 0.25em; font-size: 1em;}
table#eg th.event {background: #887;}
table#eg td.event {font-weight: bold; background: #DDC;}
table#eg th.dates {background: #998;}
table#eg td.dates {background: #DDF;}
table#eg th.generic {background: #332;}
table#eg th.resources {background: #AA9;}
table#eg td.resources {background: rgb(92%,92%,96%);}
table#eg td.resources ul {margin: 0; padding-left: 1.5em;}
table#eg td.resources ul li {list-style: none; text-indent: -1em; padding: 0 0 0.25em;}

p#brownbox { background-color: #332; color: white; margin: 0; margin-top: 1em; padding: 0; }
table#browntab { border: 1px solid #332; }

p#topicbar { background: url(basic/lcurve.gif); background-color: rgb(45%,45%,65%); background-repeat: no-repeat; color: white; margin: 0; padding: 0; padding-left: .5em; }
p#topicbarmain { background: url(basic/lcurve.gif); background-color: rgb(45%,45%,65%); background-repeat: no-repeat; color: rgb(20%,20%,40%); margin: 0; padding: 0; font-size: 130%; font-weight: bold; padding-left: .5em; }
p#topicbox { border: 1px solid rgb(45%,45%,65%); background: #EAEAF4; font: 11px Verdana, sans-serif; }
p#topicboxmain { border: 1px solid rgb(80%,80%,100%); background: #EAEAF4; font: 11px Verdana, sans-serif; }
p#topicboxmain:first-letter { font-weight: bold; }
p#fbp:first-letter { font-weight: bold; }
body p#review { text-align: justify; }
body p#review:first-letter { font-weight: bold; }
/*
p#review:first-letter { font-weight: bold; font-size: 320%; float: left; padding-top: 0; }
*/
div#topicbox { border: 1px solid rgb(45%,45%,65%); background: #EAEAF4; font: 11px Verdana, sans-serif; }

body p#codebox { border: 1px solid black; padding: .5em; white-space: pre; font-family: code; background-color: #FFFFFF;}
body p#xcodebox { border: 1px solid rgb(65%,65%,85%); padding: .5em; white-space: pre; font-family: code; background-color: #FFFFFF;}
body p#paperbox { text-align: justify; }
body p#paperbox:first-letter { font-weight: bold; }

body p#opaperbox { text-align: justify; }
body p#opaperbox:first-letter { font-weight: bold; }

body p#quotbox  { text-align: justify; border-left: 3px solid rgb(45%,45%,65%); padding-left: 1em; }

table#hanoi { font-size: 1em; }
table#hanoi td       { text-align: center; background-color: rgb(75%,75%,95%); }
table#hanoi td#hdr   { background-color: rgb(30%,30%,50%); color: white; }      
table#hanoi td#hname { background-color: #EAEAF4; text-align: left; }
table#hanoi td#nr    { background-color: red; color: white; }
table#hanoi td#gfx   { background-color: blue; color: white; }

table#maclinks { font-size: 1em; }
table#maclinks th#maclinkname { background-color: rgb(45%,45%,65%); color: #FFF; }    
table#maclinks td#maclinkname { background-color: #EAEAF4; border-right: 1px solid rgb(45%,45%,65%);}
table#maclinks td#maclinkdesc { background-image: url(/mac/images/ribbed.gif); }

table#os { font-size: 1em; }
table#os td#oslink { background-color: #EAEAF4; padding-left: .5em; }
table#os td#osname { background-color: rgb(65%,65%,85%); }
table#os td#oscat { background-color: #FFFFFF; border-bottom: 1px solid rgb(65%,65%,85%); font-size: 120%; }
table#os td#oshiva { background-color: rgb(65%,65%,85%); border-right: 4px solid rgb(45%,45%,85%); }  

body div#picture { text-align: center; border: none; padding: 0; margin-top: 1em; }
body img#thumb { border: 1px solid black; }
body div#table { margin-top: 1em; margin-left: 1.75em; }

/* hacks */

/* For IE */
table { width: auto; }
body img#picture { border: 1px solid black; width: auto; height: auto; }
body img#picturenb { width: auto; height: auto; }

body div#dualogo { text-align: center; }
body img#dualogo { width: 100%; height: auto; display: none;}
body span#dualogo { font-size: 400%; text-align: center;}

/* IE can't see these */
html>body table { width: 100%; }
html>body img#picture { border: 1px solid black; width: 100%; height: auto; }
html>body img#picturenb { width: 100%; height: auto; }

html>body img#dualogo { width: 100%; height: auto; display: block; }
html>body span#dualogo { display:none; }