* { margin: 0; padding: 0; }
a img { border: 0; }

/*----------------------------------------------------------------
layout
----------------------------------------------------------------*/
body {
	font-size: 12px;
	line-height: 1.7;
	font-family:"Lucida Grande", "Lucida Sans Unicode", "Lucida Sans Std", Arial, sans-serif;
	margin: 0; padding: 0;
	text-align: left;
	background:#fffcfb url(/images/page_bkgd.png) 0 0 repeat-x;
	color: #6b6b6b;
	}

#pageWrap {
	width:774px;
	margin:0 auto;
	background-color:#fff;
	position:relative;
	/*border-left:1px solid #bbb;
	border-right:1px solid #bbb; */
}

#header {
	background-color:#000;
	height:91px;
	position:relative;
}
	#header #tagline {
		position:absolute;
		bottom:10px;
		right:20px;
		font-size:10px;
	}

#contentWrap {
	vertical-align:top;
	background:#fff url(/images/content_bkgd.gif) top left repeat-y;
}
#content {
	float:right;
	width:470px;
	vertical-align:top;
	padding:30px;
}
#shadowLeft {
	position:absolute;
	width:30px;
	height:300px;
	top:130px;
	left:-25px;
}
#shadowLeft[id] {
	background:url(/images/shadow_left.png) 0 0 no-repeat;
}
#shadowRight {
	position:absolute;
	width:30px;
	height:300px;
	top:130px;
	right:-30px;
}
#shadowRight[id] {
	background:url(/images/shadow_right.png) 0 0 no-repeat;
}
/*----------------------------------------------------------------
sidebar
----------------------------------------------------------------*/
#sidebar {
	width:242px;
	float:left;
}
#sidebar .callout {
	width:208px;
	margin:30px auto 20px auto;
	background: #fff url(/images/sidebar_callout_bottom.gif) 0 bottom no-repeat;
}
#sidebar .calloutInner {
	background: url(/images/sidebar_callout_top.gif) 0 0 no-repeat;
	padding:12px;
}
/*----------------------------------------------------------------
site intro
----------------------------------------------------------------*/
#intro {
	background:url(/images/intro_bkgd.gif) 0 0 repeat-x;
	height:131px;
	position:relative;
}
	#intro #introText {
		color:#ef8d8d;
		font-size:16px;
		line-height:1.5;
		font-weight:bold;
		position:absolute;
		width:470px;
		height:65px;
		top:0;
		right:0;
		padding:30px;
		overflow:hidden;
	}
	#intro #introText em {
		color:#fff;
		font-style: normal;
	}
	
#introSub {
	background:url(/images/intro_bkgd.gif) 0 0 repeat-x;
	height:131px;
	position:relative;
	overflow:hidden;
}

#introSub h1 {
	position:absolute;
	font-size:30px;
	line-height:40px;
	bottom:40px;
	left:270px;
	color:#ef8d8d;
	letter-spacing:-1px;
	font-weight:normal;
	text-transform:uppercase;
}
/*----------------------------------------------------------------
navigation
----------------------------------------------------------------*/
#nav {
	list-style-type:none;
}
	#nav li {
		background-color:#ae0712;
		border-bottom:1px solid #950f11;
	}
	#nav li.selected {
		background:#950f11 url(/images/nav_bkgd_selected.gif) 0 0 repeat-x;
	}
	#nav li a:link, #nav li a:visited {
		color:#df9ca0;
		text-transform:uppercase;
		font-size:12px;
		display:block;
		text-decoration:none;
		padding-left:40px;
		background:url(/images/nav_icon.gif) 5px 0 no-repeat;
		line-height:28px;
	}
	#nav li a:hover {
		background:url(/images/nav_icon_rollover.gif) 5px 0 no-repeat;
		color:#fff;
		text-decoration:none;
	}
	#nav li.selected a:link, #nav li.selected a:visited {
		background:url(/images/nav_icon_selected.gif) 5px 0 no-repeat;
		color:#fff;
	}
/*----------------------------------------------------------------
text
----------------------------------------------------------------*/
#content .leadin {
	font-size:16px;
	line-height:1.5;
	margin-bottom:20px;
}
#content .leadin strong {
	color:#000;
	font-wieght:normal;
}
#content .leadin em {
	font-style:normal;
	color:#e78b05;
}
#content h1 {
	color:#950f11;
	font-size:18px;
}
#content cite {
	color:#950f11;
	font-weight:bold;
	font-style:italic;
}
#content p {
	margin-bottom:20px;
}
#sidebar h1 {
	color: #e78b05;
	font-size:16px;
	font-weight:bold;
}
#sidebar h2 {
	color:#e78b05;
	font-size:12px;
	font-weight:normal;
	line-height:1.5;
	margin-bottom:5px;
}
#sidebar p {
	font-size:10px;
	line-height:1.5;
}
#sidebar a:link, #sidebar a:visited {
	color:#e78b05;
	text-decoration:none;
}
#sidebar a:hover {
	text-decoration:underline;
}
#sidebar #bookimage {
	width:150px;
	height:170px;
	margin:-30px auto 0 auto;
}
#sidebar #book2image {
	width:150px;
	height:170px;
	margin:-30px auto 0 auto;
}
#sidebar #bookimage[id] {
	background: url(/images/ruby_for_rails.png) top center no-repeat;
}
#sidebar #book2image[id] {
	background: url(/images/twgr.jpg) top center no-repeat;
}


/*----------------------------------------------------------------
content block
----------------------------------------------------------------*/
#content .contentBlock {
	width:220px;
	background-color: #f2f2f2;
	font-size:11px;
	line-height:1.5;
	min-height:180px;
	margin-bottom:20px;
	padding-bottom:10px
}
#content .contentBlock .titleBar {
	background-color:#000;
	color: #fff;
	font-size:12px;
	text-transform: uppercase;
	padding-left:15px;
	line-height:30px;
	white-space:nowrap;
}
#content .contentBlock p {
	padding:10px 15px;
	color:#000;
}
#content .contentBlock ul {
	margin:0 10px 10px 35px;
}
#content .contentBlock li {
	
}
#programmingBlock {
	float:right;
	margin-left:15px
}
#trainingBlock {
	float:left;
	margin-right:15px
}
/*----------------------------------------------------------------
footer
----------------------------------------------------------------*/
#footer {
	width:773px;
	margin:0 auto;
	text-align:center;
	color:#8f8f8f;
	padding-bottom:30px;
}
#footer strong {
	font-weight:bold;
	color:#000;
}
#footer a:link, #footer a:visited {
	text-decoration:none;
	color:#950f11;
	font-weight:bold;
}
#footer a:hover {
	text-decoration:underline;
}
/*----------------------------------------------------------------
misc
----------------------------------------------------------------*/
.divider {
	background:#ddd url(/images/divider.gif) 0 0 repeat-x;
	height:4px;
	font-size:0;
}
#capper {
	width:793px;
	margin:0 auto;
}
#capper[id] {
	background:url(/images/bottom_capper.png) 0 0 no-repeat;
}
.clearfix {
	clear:both;
}

/*--- added by DAB --- */

span.special {
	color:#aa1133;
	background:yellow;
}

/* Local additions (DAB) */

p.see { font-style: italic; color: #333333 }
div.reviews { margin-top: .2in }
p.review { padding-left: .2in; color: #333333; font-family: times;
font-size: larger }
span.reason { font-weight: bold;color: #dd3333 }
li.reason,li.reason6 { margin-bottom: .2in }
ol.reason6 { margin-top: .2in }
div.special { background: #eeeeee; padding: 5px 5px 5px 5px }
.special p { font-size: larger }
.special h2 { font-size: 18pt; color: #dd3333 }
