/* Page body */
html { background: #fff url(/img/headbg.png) 0 -30px repeat-x; }
body { position: relative; margin: 0 auto; width: 80%; min-width: 670px; padding: 0; font: 90%/1.7 "Lucida Grande", Verdana, sans-serif; color: #555; }

/* =Links */
a:link { color: #da5200; }
a:visited { color: #c88e56; }
a:hover { color: #2f4086; }
a:focus, a:active { color: #2f4086; background-color: #ddd; }

/* =Headings */
h2, h3 { margin: 0 0 .5em; font: normal 200% Georgia, "Times New Roman", Times, serif; color: #1f2a58; }
h3 { font-size: 135%; }
h4 { margin-bottom: 0; color: #1f2a58; }
h5 { margin-bottom: 0; }

/* =Masthead */
#branding { position: relative; margin-bottom: 30px; height: 22em; background: #141938 url(/img/headbg_b.png) 0 -30px repeat-x; color: #a5a5a5; }
#branding h1 { margin: 0; /*width: 245px; height: 160px;*/ padding: 35px 0 0; /*overflow: hidden; background: transparent url(/img/title.png) 0 45px no-repeat;*/	color: #fff; /*text-indent: -9999em;*/ }
#branding h2 { margin-top: -.5em; font: inherit;	font-size: 130%; font-weight: normal;	color: inherit; }
#branding a:focus { background-color: #4d5d8b; }
#branding a img { border: none; background: transparent; }
#branding h1 a:link, #branding h1 a:visited { color: #fff; }
#branding h1 a:focus, #branding h1 a:active { background: transparent; }

#cover { float: left; margin: 20px 25px 0 -25px; }

#book-info { float: left; width: 60%; font-weight: normal; line-height: 1.3; font-size: 90%; }
#book-info p { margin: 0 0 .2em; }
#book-info p.author { font-size: 115%; margin-bottom: .7em; }
#book-info a:link, #book-info a:visited { text-decoration: none; color: #a5a5a5; border-bottom: 1px solid #34436e; }
#book-info a:hover { text-decoration: none; color: #f97b00; border-bottom-color: #f97b00; }
#book-info a:active, #book-info a:focus { color: #fff; }

/* =Order */
#order { position: absolute; top: 0; right: 0; padding: 10px; width: 165px;	background: transparent url(/img/buybox.png) 0 100% no-repeat; }
#order h3 { margin: 0 0 .3em; font: inherit; color: #51619c; }
#order ul { list-style: none; margin: 0 0 10px; padding: 0; }
#order ul li a { text-decoration: none; display: block; padding-left: 30px; background-position: 4px 6px; background-repeat: no-repeat; }
#order ul li a:visited { color: #b74500; }
#order ul li a:hover { background-position: 4px -33px; color: #fff; }
#order ul li a:active, #order ul li a:focus { background-color: #4d5d8b; color: #fff; }

#order a#us { background-image: url(/img/flags/usa.png); }
#order a#uk { background-image: url(/img/flags/uk.png); }
#order a#ca { background-image: url(/img/flags/canada.png); }
#order a#de { background-image: url(/img/flags/germany.png); }
#order a#fr { background-image: url(/img/flags/france.png); }
#order a#jp { background-image: url(/img/flags/japan.png); }

/* =Main content */
#main-content { width: 65%; min-height: 22em; float: right; padding-bottom: 1em; }
#main-content p, #main-content table { margin: 0 0 1.4em; }
#main-content img.fig-left { float: left; margin-left: 10px; border: 1px solid #666; padding: 2px; }
#main-content img.fig-right { float: right; margin-right: 10px; border: 1px solid #666; padding: 2px; }
#main-content img.fig { display: block; margin: auto; border: 1px solid #666; padding: 2px; }

.sidebar { font-size: 95%; margin-bottom: 1em; border: 1px solid #e9e9e9; background: #f6f6f6; padding: 1em 1.5em 0; }

code { font-size: 115%; font-family: monospace; }
dfn { font-style: italic; }

ol#toc { margin: 0; padding: 0; list-style: none; color: #777; }
ol#toc li { float: left; width: 100%; margin-bottom: .5em; }
ol#toc span { float: left; text-transform: uppercase; font-size: 75%; }
ol#toc p { float: left; width: 85%; margin-top: -1.85em; padding-left: 8em; font-size: 90%; }
ol#toc p strong { display: block; font-size: 120%; color: #1f2a58; }
ol#toc p cite { font-size: 90%; }

ol#code { list-style: none; margin: 0; padding: 0; }
ol#code li { margin-bottom: .3em; font-size: 80%; }
ol#code li a { font-size: 130%; padding-left: 25px; background: url(/img/dl.png) 0 50% no-repeat; }

table#langcodes { width: 100%; border-collapse: collapse; }
table#langcodes thead th { font-weight: normal; font-size: 90%; text-align: left; border-bottom: 3px double #eee; color: #777; }
table#langcodes thead { border-top: 1.2em solid #fff; }
table#langcodes tbody th { width: 30%; text-align: left; border-bottom: 1px solid #eee; }
table#langcodes tbody th.letter-break { font-weight: normal; padding-top: .75em; font-size: 90%; border-bottom: 3px double #eee; }
table#langcodes tbody td { border-bottom: 1px solid #eee; } 

/* =Navigation menu */
#navigation {	float: left; margin: .3em 0 0; border-top: 1px solid #ddd; padding: 0; width: 30%; list-style: none; }
#navigation li { border-bottom: 1px solid #ddd; padding: 6px 0 6px 38px; background: transparent url(/img/ornament.png) 5px 50% no-repeat; font: 120% Georgia, "Times New Roman", Times, serif; }
#navigation a { text-decoration: none; }
#navigation li.current { background-image: url(/img/ornament_on.png); font-style: italic; color: #1f2a58; }
	
/* =Meta navigaton */
#meta-nav { clear: both; margin: 0 0 2em; padding: 15px 8px 0 0; background: transparent url(/img/footline.png) 100% 0 no-repeat; list-style: none; font-size: 80%; color: #888; }
#meta-nav { text-align: right; }
#meta-nav li { display: inline; margin-left: 10px; }

/* =Book details */
#book-details { position: absolute; left: 0; bottom: 5em; margin: 0; width: 25%; padding: 0; list-style: none; font-size: 90%; color: #999; }

p#apress { position: absolute; left: 0; bottom: 0; margin: 0; width: 90px; }
p#apress a { display: block; width: 84px; height: 22px; text-indent: -9999em; overflow: hidden; background: transparent url(/img/apress_logo.png) 0 2px no-repeat; }
p#apress a:hover { background-position: 0 -34px; }

/* =Further reading */
ul.reading { float: left; width: 100%; list-style: none; margin: 0; padding: 0; }
ul.reading li { float: left; width: 48%; margin: 0 1.5% 1em 0; font-size: 90%; }
ul.reading a.thumb { float: left; margin: 0 1em 0 0; }
ul.reading a.thumb:link img { border: 1px solid #da5200; padding: 1px; }
ul.reading a.thumb:visited img { border: 1px solid #c88e56; padding: 1px; }
ul.reading a.thumb:hover img { border: 1px solid #2f4086; padding: 1px; }
ul.reading a.thumb:focus img, ul.reading a.thumb:active img { border: 1px solid #2f4086; padding: 1px; background: #ddd; }
ul.reading a.title { display: block; font-weight: bold; line-height: 1.4; }

/* =Contact form */
#contact { border: none; margin: 0;	padding: 0; }
#contact ol { list-style: none; margin: 0; padding: 0; }
#contact li {	margin: .2em 0;	float: left; width: 100%; }
#contact label { width: 30%; float: left;	text-align: right; margin-right: 2%; }
#contact input#submit {	margin-left: 32%;	width: 10em; }
#contact input, #contact select, #contact textarea { font-family: inherit; font-size: 100%; }
#contact #message, #contact #subject { width: 65%; }
#contact legend { color: #1f2a58; font: 135% Georgia, "Times New Roman", Times, serif; margin: 0 0 .5em; padding: 0; }

/* =Errata */
dl#errata dt { margin-top: 1.4em; color: #1f2a58; border-top: 1px dotted #ccc; }
dl#errata dd { margin-left: 0; padding-left: 0; }
dl#errata dd p { margin-bottom: .2em; }
dl#errata .err { background-color: #ff9; }
dl#errata .cor { background-color: #cf9; }
