/* @group reset */

* {
	margin: 0;
	padding: 0;
	font-size: 1em;
	text-decoration: none;
	border: none;
	list-style: none;
	outline: none;
}

html {
	overflow-y:scroll;
}

/* @end */

/* @group skinny text */

/* http://orderedlist.com/articles/thining-text-in-safari-under-snow-leopard */

/*body {
	-webkit-text-stroke:1px transparent;
}

@media only screen and (max-device-width:480px) {
	body {
		-webkit-text-stroke:0 black;
	}
}*/

/* @end */

/* @group body */

body { 
	background: url(../img/body.gif) repeat-x fixed 0 0;
	font: 14px/20px Georgia, serif;
	color: #333;
	min-width: 960px;
}

/* @end */

/* @group default */

p {
	margin-bottom: 20px;
}

h2 {
	font-size: 14px;
	font-weight: bold;
	font-style: italic;
	line-height: 18px;
	padding-bottom: 2px;
	border-bottom: 1px solid #ddd;
	margin: 15px 0 17px;
}

img {
	vertical-align: bottom;
	-moz-force-broken-image-icon: 1;
}

hr {
	display: none;
}

/* @end */

/* @group header */

h1 {
	width: 220px;
	position: fixed;
	top: 69px;
	left: 50%;
	margin-left: -470px;
	font-size: 12px;
	font-weight: normal;
	font-style: italic;
	line-height: 20px;
}

h1 a {
	display: block;
	width: 220px;
	height: 52px; 
	background: url(../img/logo.png) no-repeat 0 0;
	color: #666;
	text-indent: 1px;
}

h1 a:hover,
h1 a:focus {
	text-decoration: underline;
}

h1 a:active {
	color: #000;
	background-position: 0 -100px;
}

h1 a strong {
	display: none;
}

/* @end */

/* @group chapters */

#chapters {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background: url(../img/chapters.png) repeat-x 0 0;
	z-index: 150;
}

/* @group vertical */

#vertical {
	position: fixed;
	top: 0;
	left: 50%;
	margin-left: -485px;
	width: 330px;
	height: 510px;
	background: url(../img/vertical.png) no-repeat;
}

#vertical h2 {
	float: left;
	width: 85px;
	padding: 1px 0 1px 20px;
	line-height: 38px;
	border: 0;
	margin: 0;
	color: #333;
	font-weight: normal;
	font-style: normal;
	cursor: pointer; 
	background: url(../img/vertical-h2.png) no-repeat 85px 6px;
}

#vertical h2:hover {
	color: #000;
	background-position: 85px -24px;
}

#vertical h2:active {
	padding: 2px 0 0 20px;
	background-position: 85px -23px;
}

#vertical ul {
	position: absolute;
	top: 40px;
	left: 15px;
	overflow: auto;
	height: 455px;
	width: 300px;
}

#vertical ul li {
	position: relative;
	border-top: 1px solid #fc9;
	padding: 1px 0;
}

#vertical ul li a {
	display: block;
	padding: 5px 5px 5px 40px;
}

#vertical ul li a:hover,
#vertical ul li a:focus {
	background-color: #fff2c3;
	background-color: rgba(255, 204, 153, .5);
}

#vertical ul li a:active {
	background-color: rgba(255, 204, 153, .75);
}

#vertical ul li a span {
	font: bold 14px/20px "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #966;
	position: absolute;
	top: 5px;
	left: 0;
	width: 30px;
	text-align: center;
}

#vertical ul li a strong {
	font-size: 16px;
	font-weight: normal;
	color: #333;
	display: block;
}

#vertical ul li a small {
	font-size: 12px;
	color: #963;
	font-style: italic;
	display: block;
	line-height: 16px;
}

#vertical ul li.intro {
	border-top: 0;
	border-bottom: 1px solid #fc9;
	margin-bottom: 1px;
	padding-top: 0;
}

#vertical ul li.unpublished {
	display: none;
}

/* @end */

/* @group horizontal */

#horizontal {
	position: absolute;
	top: 0;
	left: 50%;
	width: 960px;
	padding: 0 1px;
	height: 40px;
	margin-left: -481px; 
	background: url(../img/horizontal.png) no-repeat 0;
}

#horizontal h2 {
	float: left;
	width: 85px;
	padding: 1px 0 1px 15px;
	line-height: 38px;
	border: 0;
	margin: 0;
	text-shadow: #300 0 -1px 1px;
	color: #fff;
	font-weight: normal;
	font-style: normal;
	cursor: pointer; 
	background: url(../img/horizontal-h2.png) no-repeat right -40px;
}

#horizontal h2:hover {
	color: #ffc;
	background-position: right 0;
}

#horizontal h2:active {
	padding: 2px 0 0 15px;
	background-position: right 1px;
}

#horizontal ul {
	float: right;
	width: 860px;
}

#horizontal ul li {
	float: left;
	width: 40px;
	text-align: center;
	position: relative;
	color: #fff;
}

#horizontal ul li span {
	display: block;
	font: bold 14px/38px "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #fff;
	text-shadow: #300 0 -1px 1px;
	padding: 1px 0;
}

#horizontal ul li.selected span { 
	background: url(../img/horizontal-selected.png) no-repeat 0 0;
	height: 58px;
	text-shadow: #036 0 -1px 1px;
}

#horizontal ul li.selected:hover span {
	color: #fff;
}

#horizontal ul li.selected:hover strong,
#horizontal ul li.selected:hover small {
	display: none;
}

#horizontal ul li:active a span {
	padding: 2px 0 0;
}

#horizontal ul li.unpublished span {
	opacity: .5;
	cursor: default;
}

#horizontal ul li.intro {
	width: 60px;
}

#horizontal ul li a {
	display: block;
	width: 40px;
	height: 40px;
	color: #fff;
}

#horizontal ul li:hover a span {
	color: #ffc;
}

#horizontal ul li.intro a {
	width: 60px;
}

#horizontal ul li strong {
	opacity: 0;
	-webkit-transition: opacity 0.25s linear;
	font-weight: normal;
	font-style: italic;
	position: absolute;
	top: -100px;
	right: 30px;
	white-space: nowrap;
	padding: 10px 0 10px 20px; 
	background: url(../img/horizontal-hover.png) no-repeat 0 0;
	line-height: 28px;
	text-shadow: #000 0 0 5px;
	color: #ccc;
}

#horizontal ul li a strong {
	color: #fff;
}

#horizontal ul li small {
	opacity: 0;
	-webkit-transition: opacity 0.25s linear;
	position: absolute;
	top: -100px;
	right: 10px;
	width: 20px;
	height: 50px;
	text-indent: 150%;
	white-space: nowrap;
	overflow: hidden;
	background: url(../img/horizontal-hover.png) no-repeat right -50px;
}

#horizontal ul li:hover strong,
#horizontal ul li:hover small {
	top: 40px;
	opacity: 1;
}

/* @end */

/* @end */

/* @group prevnext */

#prevnext {
	position: fixed;
	top: 70px;
	right: 50%;
	margin-right: -470px;
	width: 220px;
	height: 30px;
	padding: 9px 0;
	border: 1px solid #ccc;
	border-width: 1px 0;
	font-size: 10px;
	text-transform: uppercase;
	line-height: 13px;
	font-weight: bold;
}

#prevnext li {
	float: left;
	width: 110px;
	height: 30px;
}

#prevnext li a {
	display: block;
	padding: 3px 0 1px 40px;
	color: #333; 
	background: url(../img/prevnext.png) no-repeat 0 0;
	letter-spacing: 1px;
}

#prevnext li a small {
	display: block;
	text-transform: none;
	font-style: italic;
	color: #666;
	font-weight: normal;
	letter-spacing: 0;
}

#prevnext li.disabled a,
#prevnext li.disabled a small {
	color: #999 !important;
	background-position: 0 -60px !important;
	cursor: default;
	text-decoration: none !important;
}

li#next.disabled a,
li#next.disabled a small {
	background-position: right -150px !important;
}

li#next a {
	text-align: right;
	padding: 3px 40px 1px 0;
	background-position: right -90px;
}

#prevnext li a:hover,
#prevnext li a:focus {
	text-decoration: underline;
}

#prevnext li a:active,
#prevnext li a:active small {
	color: #000;
	background-position: 0 -30px;
}

li#next a:active {
	background-position: right -120px;
}

/* @end */

/* @group about */

#about {
	width: 220px;
	position: fixed;
	top: 150px;
	left: 50%;
	margin-left: -470px;
	font-size: 12px;
}

#about img {
	float: left;
	margin: 2px 10px 0 0;
}

#about p {
	margin-bottom: 10px;
}

#about a,
#uptodate a {
	padding: 1px;
	color: #633;
	background-color: #ffc;
}

#about a.mugshot {
	padding: 0;
	background: none;
}

#about a:hover,
#about a:focus,
#uptodate a:hover,
#uptodate a:focus {
	text-decoration: underline;
}

#about a:active,
#uptodate a:active {
	color: #000;
}

/* @end */

/* @group content */

#content-wrapper {
	width: 500px;
	padding-top: 20px;
	margin: 45px auto 5px; 
	background: url(../img/content.png) no-repeat 0 0;
	position: relative;
	z-index: 100;
}

#content {
	background: url(../img/content-wrapper.png) no-repeat 0 bottom;
	padding-bottom: 20px;
}

#content-inner {
	width: 400px;
	padding: 5px 50px 5px; 
	background: url(../img/content-inner.png) repeat-y;
}

#content h2 {
	font-size: 24px;
	font-weight: normal;
	font-style: normal;
	color: #369;
	text-align: center;
	line-height: 34px;
	padding: 15px 10px 25px;
	margin: 0 -10px 10px;
	border-bottom: 0; 
	background: url(../img/content-h2.png) no-repeat 0 bottom;
}

#content h2 a {
	text-decoration: none;
}

#content h2 a:hover,
#content h2 a:focus {
	text-decoration: underline;
}

#content a {
	color: #369;
	text-decoration: underline;
}

#content a:hover,
#content a:focus {
	color: #036;
}

#content a:active {
	color: #000;
}

.meta {
	color: #999;
	text-align: right;
	font-size: 12px;
	font-style: italic;
	padding: 0 10px;
	line-height: 49px;
	border-bottom: 1px solid #ddd;
	margin: 0 -10px;
}

.meta.alt {
	border-bottom: 0;
	border-top: 1px solid #ddd;
}

.meta strong {
	float: left;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 11px;
	font-style: normal;
	text-transform: uppercase;
}

h3 {
	font-size: 18px;
	font-weight: normal;
	margin-bottom: 20px;
}

/* @end */

/* @group calltoaction */

#calltoaction {
	position: fixed;
	top: 150px;
	right: 50%;
	margin-right: -470px;
	width: 220px;
	font-size: 12px;
}

/* @group preorder */

#preorder p {
	margin-bottom: 15px;
}

/* @end */

/* @group uptodate */

#uptodate h2 {
	margin-bottom: 15px;
}

#uptodate p em {
	display: block;
	color: #999;
	margin-bottom: 3px;
}

#uptodate a {
	padding-left: 18px; 
	background-image: url(../img/rss.png);
	background-repeat: no-repeat;
	background-position: 3px 3px;
}

#uptodate form p {
	margin-bottom: 0;
}

#uptodate form {
	margin-bottom: 5px;
	width: 220px;
	height: 26px;
	position: relative;
}

#uptodate form input[type="text"] {
	width: 140px;
	padding: 5px 5px 5px 4px;
	border: 1px solid #ccc;
	border-right: 0;
	position: absolute;
	top: 0;
	left: 0;
	font: 12px/14px Georgia, serif;
	height: 14px;
	color: #333; 
	background: url(../img/subscribe-input.png) repeat-x 0 0;
}

#uptodate form input[type="text"]:hover {
	border-color: #999;
}

#uptodate form input[type="text"]:focus {
	border-color: #666;
}

#uptodate form input[type="submit"] {
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: 26px; 
	padding: 1px 0;
	background: url(../img/subscribe-button.png) repeat-x 0 0;
	color: #fff;
	font: 9px/24px Georgia, serif;
	text-transform: uppercase;
	text-shadow: #036 0 -1px 0;
	cursor: pointer;
}

#uptodate form input[type="submit"]:active {
	padding: 2px 0 0;
}

/* @end */

/* @end */

/* @group footer */

#footer {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0; 
	background-image: url(../img/body.gif);
	z-index: 50;
	height: 100px;
}

/* @group copyrights */

#copyrights {
	font-size: 10px;
	text-transform: uppercase;
	position: absolute;
	right: 50%;
	margin-right: -470px;
	margin-bottom: 0;
	bottom: 30px;
	height: 40px;
	width: 220px;
	letter-spacing: 1px;
}

#copyrights small {
	display: block;
}

/* @end */

/* @group link */

#links {
	font-size: 10px;
	text-transform: uppercase;
	position: absolute;
	left: 50%;
	margin-left: -470px;
	bottom: 30px;
	height: 40px;
	width: 220px;
	letter-spacing: 1px;
}

#links li {
	position: absolute;
}

#links-adii {
	top: 0;
	left: 0;
}

#links-woo {
	right: 0;
	top: 0;
	text-align: right;
}

#links-rsf {
	bottom: 0;
	left: 0;
}

#links-radii {
	right: 0;
	bottom: 0;
	text-align: right;
}

#links a {
	color: #333;
}

#links a:hover,
#links a:focus {
	text-decoration: underline;
}

#links a:active {
	color: #000;
}

/* @end */

/* @end */

#shopp #cart { font-size: 0.9em !important; }
#shopp #cart big { display: none !important; }
#shopp #cart .remove { color: #633 !important; background: none !important; border: none !important; }
#shopp #cart .cart a {
	padding: 1px !important;
	color: #633 !important;
	background-color: #ffc !important;
	text-decoration: none !important;
}
#shopp #cart .cart .buttons { display: none !important; }
#shopp #cart #promocode { border: 1px solid #333; padding: 3px 5px; }
#shopp #cart #apply-code { border: none !important; background: none !important; font-weight: bold; font-size: 0.8em !important; cursor: pointer; padding: 6px 0; }
