/*
----------------------------------------------------------------------------------------------


|GLOBALS |RESET


----------------------------------------------------------------------------------------------
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent
}
body {
	line-height:1
}
blockquote, q {
	quotes:none
}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none
}
:focus {
	outline:0
}
ins {
	text-decoration:none
}
del {
	text-decoration:line-through
}
table {
	border-collapse:separate;
	border-spacing:0
}
/*
----------------------------------------------------------------------------------------------


|GLOBALS |TYPOGRAPHY


----------------------------------------------------------------------------------------------
*/

@font-face {
	font-family: 'Museo700';
	src: url('../type/museo700-regular-webfont.eot');
	src: url('../type/museo700-regular-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/museo700-regular-webfont.woff') format('woff'),  url('../type/museo700-regular-webfont.ttf') format('truetype'),  url('../type/museo700-regular-webfont.svg#Museo700') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Museo500';
	src: url('../type/museo500-regular-webfont.eot');
	src: url('../type/museo500-regular-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/museo500-regular-webfont.woff') format('woff'),  url('../type/museo500-regular-webfont.ttf') format('truetype'),  url('../type/museo500-regular-webfont.svg#Museo500') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'Museo300';
	src: url('../type/museo300-regular-webfont.eot');
	src: url('../type/museo300-regular-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/museo300-regular-webfont.woff') format('woff'),  url('../type/museo300-regular-webfont.ttf') format('truetype'),  url('../type/museo300-regular-webfont.svg#Museo300') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'TeXGyreHeros';
	src: url('../type/texgyreheros-regular-webfont.eot');
	src: url('../type/texgyreheros-regular-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheros-regular-webfont.woff') format('woff'),  url('../type/texgyreheros-regular-webfont.ttf') format('truetype'),  url('../type/texgyreheros-regular-webfont.svg#TeXGyreHerosRegular') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'TeXGyreHeros';
	src: url('../type/texgyreheros-italic-webfont.eot');
	src: url('../type/texgyreheros-italic-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheros-italic-webfont.woff') format('woff'),  url('../type/texgyreheros-italic-webfont.ttf') format('truetype'),  url('../type/texgyreheros-italic-webfont.svg#TeXGyreHerosItalic') format('svg');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'TeXGyreHeros';
	src: url('../type/texgyreheros-bold-webfont.eot');
	src: url('../type/texgyreheros-bold-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheros-bold-webfont.woff') format('woff'),  url('../type/texgyreheros-bold-webfont.ttf') format('truetype'),  url('../type/texgyreheros-bold-webfont.svg#TeXGyreHerosBold') format('svg');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'TeXGyreHeros';
	src: url('../type/texgyreheros-bolditalic-webfont.eot');
	src: url('../type/texgyreheros-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheros-bolditalic-webfont.woff') format('woff'),  url('../type/texgyreheros-bolditalic-webfont.ttf') format('truetype'),  url('../type/texgyreheros-bolditalic-webfont.svg#TeXGyreHerosBoldItalic') format('svg');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: 'TeXGyreHerosCn';
	src: url('../type/texgyreheroscn-regular-webfont.eot');
	src: url('../type/texgyreheroscn-regular-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheroscn-regular-webfont.woff') format('woff'),  url('../type/texgyreheroscn-regular-webfont.ttf') format('truetype'),  url('../type/texgyreheroscn-regular-webfont.svg#TeXGyreHerosCnRegular') format('svg');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'TeXGyreHerosCn';
	src: url('../type/texgyreheroscn-italic-webfont.eot');
	src: url('../type/texgyreheroscn-italic-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheroscn-italic-webfont.woff') format('woff'),  url('../type/texgyreheroscn-italic-webfont.ttf') format('truetype'),  url('../type/texgyreheroscn-italic-webfont.svg#TeXGyreHerosCnItalic') format('svg');
	font-weight: normal;
	font-style: italic;
}
@font-face {
	font-family: 'TeXGyreHerosCn';
	src: url('../type/texgyreheroscn-bold-webfont.eot');
	src: url('../type/texgyreheroscn-bold-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheroscn-bold-webfont.woff') format('woff'),  url('../type/texgyreheroscn-bold-webfont.ttf') format('truetype'),  url('../type/texgyreheroscn-bold-webfont.svg#TeXGyreHerosCnBold') format('svg');
	font-weight: bold;
	font-style: normal;
}
@font-face {
	font-family: 'TeXGyreHerosCn';
	src: url('../type/texgyreheroscn-bolditalic-webfont.eot');
	src: url('../type/texgyreheroscn-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),  url('../type/texgyreheroscn-bolditalic-webfont.woff') format('woff'),  url('../type/texgyreheroscn-bolditalic-webfont.ttf') format('truetype'),  url('../type/texgyreheroscn-bolditalic-webfont.svg#TeXGyreHerosCnBoldItalic') format('svg');
	font-weight: bold;
	font-style: italic;
}
strong, th, thead td, h1, h2 {
	font-weight: bold;
}
cite, em, dfn {
	font-style: italic
}
code, kbd, samp, pre, tt, var {
	font-size: .9em;
	font-family: TeXGyreHerosCnRegular;
}
del {
	text-decoration: line-through;
	color: #666;
}
ins, dfn {
	border-bottom: 1px solid #ccc;
}
small, sup, sub {
	font-size: .8em;
}
abbr, acronym {
	text-transform: uppercase;
	font-size: .8em;
	letter-spacing: .1em;
}
a abbr, a acronym {
	border: none;
}
abbr[title], acronym[title], dfn[title] {
	cursor: help;
	border-bottom: 1px solid #ccc;
}
sup {
	vertical-align: super;
}
sub {
	vertical-align: sub;
}
blockquote {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	color: #666;
}
blockquote *:first-child:before {
	content: "\201C";
}
blockquote *:first-child:after {
	content: "\201D";
}
fieldset {
	padding:1.4em;
	margin: 0 0 1.5em 0;
	border: 1px solid #ccc;
}
legend {
	font-weight: bold;
	font-size:1.2em;
}
label {
	font-weight: bold;
}
textarea, input[type='text'], input[type='password'], select {
	border: 1px solid #ccc;
	background: #fff;
	font-family: TeXGyreHerosCnRegular;
	font-size: .9em
}
select {
	font-size: 1em
}
textarea:hover, input[type='text']:hover, input[type='password']:hover, select:hover {
	border-color: #aaa;
}
textarea:focus, input[type='text']:focus, input[type='password']:focus, input[type='checkbox']:focus, select:focus {
	border-color: #c90062;
	outline: 2px solid #f7b6d6;
}
input, select {
	cursor: pointer;
}
input[type='text'], input[type='password'] {
	cursor: text;
	width: 145px;
}
input[type='text'].half_width_input, input[type='password'].half_width_input {
	width: 5em
}
textarea.monospaced {
	font: .8em 'Courier New', Courier, monospace
}
a {
	text-decoration: underline;
	color: #c90062;
	padding: 0.3em 0 .1em 0;
}
a:hover {
	color: #fe007e;
}
p {
	font-size: 15px
}
p strong {
	font-weight:bold;
}
p em {
	font-style: italic;
	font-weight: normal
}
h1, h2, h3, h4, .toc p {
	font-family: TeXGyreHerosCn;
	margin: 1.6em 0 .8em;
	font-weight: normal
}
h5, h6 {
	margin: 1em 0 .4em
}
h1, h2 {
	font-family: Museo500;
}
h3, h4, h5, h6, h7, .toc p {
	font-weight:bold;
}
h1 {
	font-size: 2.9em;
	color: #000
}
h2 {
	font-size: 2.2em;
	color: #555;
}
h3, .toc p {
	font-size: 1.5em;
	text-transform: uppercase;
	color: #c90062
}
h4 {
	font-size: 18px;
	color: #5E5E5E;
	margin-top: 1.2em
}
h5 {
    color: #636363;
    font-size: 15px;
}
h6 {
	font-size: 14px;
	color: #828282;
}
ul li {
	margin-left: .65em;
}
ul {
	list-style-type: disc;
}
ul ul {
	list-style-type: square;
}
ul ul ul {
	list-style-type: circle;
}
li p {
	margin-bottom: .6em;
	color: #333
}
.orderedlist > li {
	font-size: 15px
}
.orderedlist > li > p {
	font-size: 15px;
	line-height: 21px
}

ol {
	list-style-position: outside;
	list-style-type: decimal;
	color: #c90062
}

ol.unnumbered {
	list-style-type: none;
}

.small {
	font-size:.8em;
	margin-bottom:1.875em;
	line-height:1.875em;
}
.large {
	font-size:1.2em;
	line-height:2.5em;
	margin-bottom:1.25em;
}
.hide {
	display:none;
}
.quiet {
	color:#666;
}
.loud {
	color:#000;
}
.highlight {
	background:#ff0;
}
.top {
	margin-top:0;
	padding-top:0;
}
.bottom {
	margin-bottom:0;
	padding-bottom:0;
}
.thin {
	font-weight: lighter;
}
.center {
	text-align: center;
}
.caps {
	font-variant: small-caps;
	letter-spacing: 1px;
	text-transform: lowercase;
	font-size:1.2em;
	font-weight:bold;
	padding:0 2px;
}
blockquote *:first-child {
	margin: .8em 0;
}
hr, p, ul, ol, dl, pre, blockquote, address, table, form {
	margin: 0 0 24px 0;
}
.error p:last-child, .error-note p:last-child, .warning p:last-child, .notice p:last-child, .success p:last-child {
	margin-bottom: 0
}
caption {
	padding-bottom: .8em;
} /* padding instead of margin for IE */
blockquote {
	padding: 0 1em;
	margin: 1.6em 0;
}
fieldset {
	padding: 0 1em 1em 1em;
	margin: 1.6em 0;
} /* padding-top is margin-top for fieldsets in Opera */
legend {
	padding-left: .8em;
	padding-right: .8em;
}
legend+* {
	margin-top: 1em;
} /* compensates for the opera margin bug */
textarea, input {
	padding: .3em .4em .15em .4em;
}
ul {
	margin-left: 1.5em;
}
ol {
	margin-left: 3.35em;
}
ol ol, ul ol {
	margin-left: 2.5em;
}
code, pre {
	font-family: "Courier New",Courier,monospace;
	background-color: #f2f2f2;
	color: #666;
	border: 1px solid #fff;
	border-radius: .2em;
	box-shadow: 0 1px 4px #bebebe;
	padding: .1em .2em 0;
}

code, pre span {
	color: #d8005b;
}
/*
----------------------------------------------------------------------------------------------


|GLOBALS |HELPERS


----------------------------------------------------------------------------------------------
*/
.last {
	margin-right:0;
}
.border {
	padding-right:4px;
	margin-right:5px;
	border-right:1px solid #eee;
}
.colborder {
	padding-right:24px;
	margin-right:25px;
	border-right:1px solid #eee;
}
hr {
	background: none;
	clear:both;
	float:none;
	width:100%;
	height:.1em;
	margin:0 0 1.45em;
	border:none;
}
hr.space {
	background:#fff;
	color:#fff;
}
.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
	max-height:0;
	overflow: hidden;
}
.clearfix {
	display:inline-block;
}
* html .clearfix, * html .container {
	height:1%;
}
.clear {
	clear:both;
}
.right {
	text-align: right!important;
}
.left {
	text-align: left!important;
}
.center {
	text-align: center!important;
}
.nowrap {
	white-space: nowrap
}
.ui-helper-clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.ui-helper-clearfix {
	display: inline-block;
}
* html .ui-helper-clearfix {
	height:1%;
}
.ui-helper-clearfix {
	display:block;
}
.hollow {
	background: none !important
}
/*
----------------------------------------------------------------------------------------------


|LAYOUT |BASIC LAYOUT


----------------------------------------------------------------------------------------------
*/
html {
	padding:0px;
	margin:0px;
}
body {
	font-size: 14px;
	font-family: "TeXGyreHerosCn", "HelveticaNeueCondensed", "HelveticaNeue-Condensed", "Helvetica Neue Condensed", "HelveticaNeueRomanCondensed", "HelveticaNeue-Roman-Condensed", "Helvetica Neue Roman Condensed", "HelveticaNeue", "Helvetica Neue", "HelveticaNeueRoman", "HelveticaNeue-Roman", "Helvetica Neue Roman", "Helvetica", "Tahoma", "Geneva", "Arial Narrow", "Arial", sans-serif;
	line-height: 1.6em;
	padding: 0;
	margin: 0;
	background: url(../img/small-crackle-bright.png)
}
div.header {
    background: none repeat scroll 0 0 #FFFFFF;
    color: #333333;
    height: 30px;
    margin: 42px auto 0;
    padding: 0 4em;
    position: relative;
    width: 60em;
    z-index: 100;
}
body > .section,
div.article {
	padding: 3em 4em;
	margin: 0 auto 1em;
	width: 60em;
	color: #333;
	background: #fff;
	-moz-box-shadow: 0 0px 20px rgba(0,0,0,.4);
	-webkit-box-shadow: 0 0px 20px rgba(0,0,0,.4);
	box-shadow: 0 0px 20px rgba(0,0,0,.4);
	position: relative
}
.toc {
	background-color: #FFEAF4;
	border: 2px solid #FFD7EA;
	-moz-border-radius: 0.5em 0.5em 0.5em 0.5em;
	-webkit-border-radius: 0.5em 0.5em 0.5em 0.5em;
	border-radius: 0.5em 0.5em 0.5em 0.5em;
	padding: 0 2em;
	width: 22em;
}
.toc b {
	font-weight:normal;
}
.toc a {
	text-decoration: none;
	font-size: 1.2em;
}
.toc dd {
	font-size: 0.9em;
    padding-left: 17px;
}
.programlisting {
	background-color: white;
	border-left: 10px solid #C90062;
	color: #0E0E0E;
	font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
	padding: 1.5em;
	margin-top: 5px;
    overflow: auto;
    white-space: pre-line;
	font-size: 13px;
	-webkit-box-shadow: 0 1px 5px rgba(0,0,0,.4);
	-moz-box-shadow: 0 1px 5px rgba(0,0,0,.4);
	box-shadow: 0 1px 5px rgba(0,0,0,.4);
}
.programlisting ol {
	margin: 0 0 0 1em;
}
.programlisting ol li {
	padding-left: 1em;
	background-color: #eaeaea
}
.programlisting ol li:nth-child(2n+1) {
	background-color: #f9f9f9
}
.programlisting pre {
	color: #666666;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
	margin: 0;
}
pre ol {
	color: #0E0E0E;
}
.figure-title {
	font-size: 1.1em;
	margin-bottom: .5em;
	color: #666
}
.mediaobject img {
	background-color: #fff;
	border: 1px solid #ddd;
	padding: 5px;
	margin: 7px 0;	
	-moz-border-radius: 2px 2px 2px 2px;
	-webkit-border-radius: 2px 2px 2px 2px;
	border-radius: 2px 2px 2px 2px;
	-moz-box-shadow: 0 2px 2px #ccc;
	-webkit-box-shadow: 0 2px 2px #ccc;
	box-shadow: 0 2px 2px #ccc;
}
.logo {
	position: absolute;
	top:-39px;
	left: 10px
}
.pubdate {
	color: #888;
	margin-top: -1.5em;
	font-size: 1em
}
.top_nav {
	position: absolute;
	top: 0;
	left: 0;
	padding: 1em;
	margin: 0;
	border-top: 6px solid #c90062;
	width: 66em
}
.top_nav.fixed {
	position: fixed;
	left: auto;
	margin-left: -4em;
}
.top_nav.fixed .books {
	box-shadow: 0 5px 10px rgba(0,0,0,.3)
}
.top_nav a {
	text-decoration: none;
}
.books, .pager {
	list-style: none;
	position: absolute;
	top: 0;
	margin: 0;
	height: 23px;
}
.books > li, .pager > li {
	display: inline-block;
	overflow: hidden;
	margin: 0
}
.books {
	background-color: #fbe6ea;
	width: 66em;
	border-radius: 0 0 5px 5px;
	box-shadow: 0 1px 3px rgba(0,0,0,.2)
}
.books > li {
	margin-left: -5px
}
#books_home {
	display: block;
	padding: 0;
	text-indent: 40px;
	width: 33px;
	background: url(../img/navigation_sprites.png);
	margin-right: 7px
}
#books_home:hover {
	background-position: 0 23px
}
.books li a, .pager li a {
	display: block;
	padding: 0;
	height: 23px
}
.books > li > a {
	padding-right: 24px;
	background: url(../img/breadcrumb_separator.png) no-repeat right
}
.books li.current > a  {
	cursor: default;
	background: none
}
.books li.current > a:hover  {
	color: #c90062
}
.books ul {
	position: absolute;
	display: none;
	background: #fbe6ea url(../img/breadcrumb_menu.png) repeat-x;
	list-style: none;
	margin: 0 0 0 -11px;
	padding: 2em 1.5em;
	box-shadow: 0 3px 10px rgba(0,0,0,.3)
}
.books ul.sub_home {
	margin: 0 0 0 0px
}
.books ul li {
	margin: 0
}
.books > li:hover ul {
	display: block
}
.pager {
	right: 10px;
}
.pager li a {
	width: 27px;
	text-indent: 30px;
}
.pager li:last-child {
	-moz-border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	border-bottom-right-radius: 5px;
}
#pager_prev {
	background: url(../img/navigation_sprites.png) -33px 0
}
#pager_prev:hover {
	background-position: -33px 23px
}
#pager_next {
	background: url(../img/navigation_sprites.png) -60px 0
}
#pager_next:hover {
	background-position: -60px 23px
}
.itemizedlist ul > li {
	list-style-type: none;
	background: url(../img/star_bullet.png) no-repeat 0 5px;
	padding-left: 21px
}
table {
	width: 100%;
	background: url(../img/table_shadow.png) no-repeat center bottom;
	padding-bottom: 31px;
	margin: 1.6em 0;
	position: relative
}
tbody tr:nth-child(odd) {
	background-color: #f2f2f2;
}
td,th {
	padding: .7em 1.6em;
	line-height: 1.1em
}
thead td,
th {
	border-bottom: 1px solid #ddd;
	text-transform: uppercase;
	font-weight:bold;
	font-size: 1.2em;
	padding: .45em 1.35em;
	color: #1a1a1a
}
thead td p {
	font-weight:bold;
	font-size: 15px;
	margin: 0 0 8px;
}
tbody td p {
	margin: 0 0 3px
}
th.mark {
	border-color: #333;
    border-style: solid;
    border-width: 10px 2px 1px 2px;
	border-bottom: 1px solid #ddd !important;
}
td.mark {
	border-color: #333;
    border-style: solid;
    border-width: 0 2px;
}
tr:last-child td.mark {
	border-color: #333;
    border-style: solid;
    border-width: 0 2px 2px 2px;
}
tr:last-child td.mark.pink {
	border-color: #C90062;
}
.mark.pink {
	background-color: rgba(201, 0, 100, 0.05);
	border-color: #C90062;
}
.emphasize {
	font-size: 1.2em;
	font-family: TeXGyreHerosCn;
	font-weight: bold;
	color: #000
}
.fineprint {
	font-size: .85em;
	line-height: 1em;
	color: #666;
}

.note {
	background-color: #eff4ff;
	color: #3d7099;
	padding: 1.5em;
	border: 2px solid #91bbff;
	border-radius: .5em;
}
.footer {
	width: 66em;
	margin: 0 auto;
	position: relative
}
.footer p {
	color: #666
}
.footer a {
	font-weight: bold;
	color: #555;
	text-decoration: none
}
.footer a:hover {
	color: #333
}
.footer .links {
	position: absolute;
	top: 0;
	right: 0
}
