* { font-family: Verdana, Helvetica, sans-serif; }
BODY {	background-color: #000050; /* color: #FFFFFF; */  margin-left: auto; margin-right: auto;}  
A:link { color: #0000EB; } 
A:visited {	color : #5A5A5A; }
A.menulink { color: #000000; text-decoration: none;}
A.menulink:hover { color: #0000FF; text-decoration: underline;}

LI { margin-top: .5em }

.contentcell P {margin: 1em 0 0 0 }

TABLE { background-color: #FFFFFF; color: #000000; }

table { font-size: 76%; }
table table { font-size: 100%; }

TH.label {padding: 5px .75em 5px 0; white-space: nowrap; text-align: left; vertical-align: top;}
TD.data {padding: 5px; border: 0; background-color: #FFFFFF; color: #000000; vertical-align: top;}

.main { background-color: #FFFFFF; color: #000000; border: 8px solid #000050; width: 100%;} 
.menua { padding: 15px; background-color: #FFFCBB; color: #000000; padding-top: 30px; font-size: 93%; width: 8em;} 
.contentcell { padding: 15px; }

TD.masthead {background-color: #CCCCCC; color: #000000; font-size: 160%; padding: 15px 15px 10px 15px; font-weight: bold;}
TD.bodycolor { padding: 15px; background-color: #000050; }
TD.kludge { background-color: #000050; width: 10px; padding: 0; margin: 0; border: 0; font-size: 6px}
P.menuitem { padding-top: 0; padding-bottom: 0; margin: .1em 0 0 .5em; margin-bottom: 0;}
P.menusingle { color: #000000; padding-top: 1.3em; padding-bottom: 0; margin-top: 0; margin-bottom: 0; font-weight: bold;}
P.menuhistory { color: #000000; font-size:50%; padding-top: 0.5em; padding-bottom: 0; margin-top: 0; margin-bottom: 0;}


TABLE.sidebox { width: 195px; border-spacing: 0; margin: 0 0 12px 0; font-size: 100%; }
TD.sidemast {background-color: #CCCCCC; color: #000000; font-weight: bold; padding: 6px; margin: 0; border-spacing: 0; border: 0; padding: 10px; }
TD.sidebody {background-color: #FFFFFF; color: #000000; font-size: 93%; margin: 0; border-spacing: 0; border: 0; padding: 10px; }
TD.rightcol {width: 195px; background-color: #000050; padding: 0;}


TABLE.leftsidebox { 
/* padding: 15px; background-color: #FFFCBB; color: #000000; padding-top: 30px; font-size: 93%; width: 8em;}  */
border-spacing: 0; margin: 0 0 12px 0; font-size: 100%; }
TD.sidemast {background-color: #CCCCCC; color: #000000; font-weight: bold; padding: 6px; margin: 0; border-spacing: 0; border: 0; padding: 10px; }
TD.sidebody {background-color: #FFFFFF; color: #000000; font-size: 93%; margin: 0; border-spacing: 0; border: 0; padding: 10px; }
TD.rightcol {width: 195px; background-color: #000050; padding: 0;}


TABLE.sidephoto { width: 195px; border-spacing: 0; margin: 0 0 12px 0; font-size: 100%; background-color: #CCCCCC; padding: 0}
TABLE.sidephoto TD { background-color: #CCCCCC; padding: 0; }
TABLE.sidephoto IMG { text-align: center; margin: 15px 22px 18px 23px; border: none; padding: 0;}

STRONG.invert { background-color: #000050; }
H1 { margin: .5em 0 0 0; padding: 0; font-size: 140%; font-weight: bold; }
H2 { padding: 0; font-size: 110%; margin: 1.2em 0 0 0; font-weight: bold; clear: left}
/* TD.contentcell H2 + P {margin-top: .1em; padding-top: 0;  } */
H3 { padding: 0; font-size: 100%; margin: 1.2em 0 0 0; font-weight: 600; clear: left; }
TD { margin: 0; border: none; vertical-align: top; margin: 0; border-spacing: 0; border: 0;}
TR {margin: 0; padding: 0; border-spacing: 0; border: 0;}

IMG { border: none; padding-bottom: 5px; }
IMG.cover { margin: 8px 5px 5px 0; padding: 0;}
P.illustration { text-align: center; font-size: 76%; }

/* front page */
P.first {margin-top: 0; padding-top: 0;}
.brucephoto {padding: 0; margin: 0 5px 15px 15px; }
/*   logo */
TABLE.lcent {float: left; background-color: #FFFFFF; color: #000000; width: 184px; margin: 0 15px 10px 0; font-size: 100%; }
TD.lcentcell { padding: 3px 3px 3px 12px; font-size: 93%; }

/* legacy formatting table on, e.g., blowfish page -- should be reworked */
TABLE.legacy { background-color: #FFFFFF; color: #000000; font-size: 100%; border-spacing: 0; border: none; padding: 0; }
TD.legacycell { padding: 0; width: 50%; }
TD.legacy-rpad { padding: 0 1em 0 0; width: 50%; } 
TD.legacy-paypal { padding: 1em 1em 0 0; }

/* legacy news and sandl book reviews page -- rework */
TH.legacyright {padding: 1.25em 0 0 0; text-align: left; vertical-align: top;}
TH.legacyrightalign {padding: 1.25em 0 0 0; text-align: right; vertical-align: top;}
TH.legacyleft { padding: 1.25em 1em 0 0; text-align: left; vertical-align: top;}
TD.legacyfullwidth { padding: .1em 0 0 0; }

TABLE.datatable { background-color: #FFFFFF; color: #000000; font-size: 100%; border-spacing: 0;}
TABLE.book { background-color: #FFFFFF; color: #000000; font-size: 100%; border-spacing: 0; border: none; }

TABLE.shaded { }
TABLE.shaded CAPTION {margin: 0; background-color: navy; color: white; padding: 5px; font-weight: bold; font-size: 110%; border: solid white 1px}
TABLE.shaded TH { background-color: lightsteelblue; color: black; padding: 5px; text-align: left; border: solid white 1px}
TABLE.shaded TD { background-color: gainsboro; padding: 5px; margin-top: 5px; border: solid white 1px}


/* disclaimers, blurbs, etc. */
P.disclaim { margin-top: 1.5em; font-size: 86%; padding-top: .25em; border-top: solid gray 1px; }
P.endnote {padding-top: .75em; margin-top: 1em;}

/* legacy style */
.extraspace {padding-top: .75em; margin-top: 1em; }

/* "up one level" &c */
P.bottomnav {margin-top: 1.5em; }

/* for main books page */
DIV.book { float: left; text-align: center; width: 138px; }
DIV.booktitle { margin: 0; padding: 0; font-size: 76%; height: 4em; }
DIV.book IMG { margin: 10px 5px 5px 5px; padding: 0;}

/* for individual book pages */
TABLE.bookcolumns { background-color: #FFFFFF; color: #000000; font-size: 100%; border-spacing: 0; border: none; font-size: 100%; }
P.subtitle { font-weight: bold; margin-top: 0; } 
P.quote { margin: .25em 0 .5em 0; padding: 0;}
P.attribution { text-align: right; font-style: italic; margin: 0 0 1.5em 0; }
H2.sidebar { font-size: 100%; }
IMG.sidebar-cover { padding: 0 0 .5em 0; border: none; margin: auto; }
TD.maintext-table { padding: 0; }
TD.sidebar-table { padding: 0 .5em 0 1.25em; width: 30%; font-size: 93%; }

/* for book table of contents */
TD.toc-part, TD.toc1, TD.toc2, TD.toc3, TD.toc4 { text-align: left; padding: 0 0 .2em 0;}
TD.toc-part, TD.part-pn{ font-weight: bold; padding: 1.5em 0 .25em 0; }
TD.toc2{ padding-left: 2em; }   
TD.toc3{ padding-left: 4em; }
TD.toc4{ padding-left: 8em; }
TD.toc-pn{ text-align: right; vertical-align: top; padding: 0 0 .2em 0;}

/* for munging e-mail addresses in crypto-gram */
IMG.nym, IMG.num { margin: 0 1px 0 1px; padding: 0; vertical-align: baseline;}

/* save paper by not printing menus or sidebars */
@media print {
   TD.menua { display:none; }
   TABLE.sidebox { display:none; }
   TD.sidemast { display:none; }
   TD.sidebody { display:none; }
   .main { border:none;}
   .kludge { display:none; }
   .bodycolor { display:none; }
   .rightcol { display:none; }
    BODY, TD.masthead, TD.kludge, TABLE.main { background-color: white; }  
}
@media screen {
	BODY { max-width: 1000px; }
}

/* blowfish and twofish product pages */
DT { margin-top: .5em; }
DD { margin-left: .75em; }

/* search form */
FORM { margin-bottom: 0; }

/* papers */
SUP { font-size: 86%; }

TABLE.essays { padding: 0; margin: 5px 0 0 0;}
TABLE.essays TD, TABLE.essays TH { padding: 2px 7px 2px 2px; vertical-align: top; margin: 0;}
TABLE.essays TH { white-space: nowrap; text-align: left; font-weight: normal; }
TABLE.essays TH + TD + TD { font-style: italic; }
TABLE.essays TR.even { background-color: #EEEEEE; }

P.essay span.pubdate { font-size: 86%; }
P.essay, P.essay-nodate { margin: .75em 0 0 0 }

