body {
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 14px;
  color:#333;
  line-height:24px;
  margin: 0;
  background:#f8f9d3
}

section.comments {
  margin-top: 50px;
}

#container {
  margin-top:30px;
}

#container p {
  margin-top:20px;
}

.white {
  background:white;
}

.post {
  margin: 10px 20px 20px 20px;
}

#sidebar {
  margin-right: 15px;
}

#right a {
  color: #800;
  text-decoration:none;
}

#right a:hover {
  text-decoration:underline;
}

#right .header {
  font-size: 14px;
  color: #880000;
  margin-top: 10px;
  margin-bottom: 5px;
  padding-bottom: 0;
  line-height: 14px;
}

#right ul {
  list-style:none;
  padding: 0;
  margin-top: 0;
}

#right li {
  font-size: 11px;
  line-height: 12px;
  margin-bottom: 8px;
}

#right #feed {
  margin-left: 4px;
}

#right li#eBook {
  font-size: 12px;
  line-height: 12px;
  margin-bottom: 8px;
  font-weight: normal;
}

#about2 ul {
  list-style:none;
  padding: 0;
  margin-top: 0;
}

#about2 li {
  font-size: 11px;
  line-height: 12px;
  margin-bottom: 8px;
}

h1 {
  font-size: 24px;
  color: #880000;
  font-weight: normal;
  line-height:30px;
}

h2 {
  font-size: 18px;
  color: #880000;
  font-weight: normal;
  margin-top: 40px;
  margin-bottom: 5px;
}

.date {
  font-weight: normal;
  font-size: 14px;
  color: #C00;
  text-decoration:none;
}

.tag {
  font-weight: normal;
  font-size: 14px;
}

#banner {
  background-color: #880000;
  height: 35px;
  padding-top: 9px;
}

#banner a {
  text-decoration:none;
}

span#title {
  color: white;
  font-size: 18px;
  margin-top: 7px;
  width:142px;
}

span#tagline {
  color: white;
  font-size: 11px;
}

.name {
  padding:0.2em 1em;
  background:#880000;
  color:#FFF;
}

blockquote {
  border-left: 1px solid #AAA;
  font-style: italic;
  margin: 0px 30px 1.5em;
  padding: 0px 0px 0px 10px;
}

.about {
  float: left;
  font-size: 13px;
  line-height:18px;
  margin: 6px 0 0 10px;
}

#about1 p {
  margin-top: 0;
  margin-bottom: 5px;
}

#about2 p {
  margin-top: 0;
  margin-bottom: 5px;
}

.about b {
  color: #880000;
}

#about1 {
  max-width: 450px;
}

#about2 {
  max-width: 300px;
}

#about2-subscribe {
  max-width: 100px;
  float: left;
  margin-right: 20px;
}

#about2-book {
  width: 180px;
  float: left;
}

#about2-book .header {
  text-align: center;
}

#about2-book-icon {
  width: 100px;
  margin-left: 40px;
}

span#twitter_link a {
  color: #800;
  text-decoration:none;
  font-size: 11px;
  line-height: 12px;
  margin-bottom: 8px;
  position: relative;
  top: -5px;
}

span#twitter_link a:hover {
  text-decoration:underline;
}

#about_photo {
  float: left;
  margin: 4px 10px 0 0;
}

#all-articles {
  margin-top: 20px;
  margin-left: 20px;
}

#all-articles h2 {
  margin-top: 20px;
}

#archive-table {
  padding: 10px;
}

#archive-table td {
  padding-left: 10px;
}

pre {
  padding: 1em 0px 1em 1em;
  margin: 0px;
  background: #fff;
  border: none;
  font-family: Monaco, "Courier New", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace;
  font-size: 14px;
  line-height: 18px;
  overflow: hidden;
}

pre.console {
  margin: 20px;
  font-size: 9pt;
	width: 90%;
  background: #EEE;
	border: 1px solid #AAA;
}

.overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #CCCCFF;
	opacity: 0.35;
	-moz-opacity: 0.35;
	filter:alpha(opacity=35);
}
.container {
	position: relative;
}

#copyright {
  font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
  font-size: 10px;
  color:#333;
  margin: 0px;
  text-align: center;
  width: 100%;
  /*width: 800px;*/
}

#frame {
	width: 600px;
	position: relative;
	top: -3px;
	left: -3px;
	border-right: 1px solid #666666;
	border-bottom: 1px solid #666666;
	text-align: left;
	color: #666;
	background: #ff9966;
}
#header {
	width: 600px;
	height: 20px;
	text-align: left;
	background: #c0c0c0;
	line-height: 20px;
  font-family: Monaco;
  font-size: 10px;
}
#header_left {
  width: 300px;
  float: left;
	text-align: left;
}
#header_right {
  width: 300px;
  float: right;
	text-align: right;
	vertical-align: middle;
}
#header_right a.icon {
  background:url(/images/down.png);
  display:block;
  float:right;
  width:20px;
  height:20px;
}
#header_left a.icon {
  background:url(/images/up.png);
  display:block;
  float:left;
  width:20px;
  height:20px;
}

.navigation {
  font-size: 1.0em;
  width: 100%;
  padding-bottom: 10px;
  border-bottom: 1px solid
}

.previous {
  text-align: left;
}

.next {
  text-align: right;
}

.index {
  text-align: center;
}

span.code {
  font-family: Monaco;
  padding: 2px;
  font-size: 14px;
}

.reminder {
  background-color: #FFCCCC;
  padding: 2px;
  font-size: 14px;
  padding: 10px;
  margin-left: 30px;
  margin-bottom: 50px;
  float: right;
}

.tip-image {
  position: relative;
  top: 5px;
  left: -5px;
}

.diagram-frame {
  text-align: center;
}

#book-comments {
  margin: 10px 20px 20px 20px;
  clear: both;
}

#book-header {
  width: 500px;
  float: left;
}

#book-icon {
  margin: 14px 30px 10px 30px;
  clear: both;
  float: left;
}

#book-title {
  margin-top: 15px;
  font-size: 48px;
  line-height: 50px;
  color: #880000;
  font-weight: normal;
  width: 400px;
}

#book-subtitle {
  margin: 15px 0 0 0;
  font-size: 24px;
  color: #880000;
  font-weight: normal;
  line-height: 30px;
}

#book-tagline {
  margin-left: 30px;
  font-size: 18px;
  font-weight: normal;
  line-height: 40px;
  width: 400px;
  float: left;
}

#book-tweet {
  margin-top: 7px;
  margin-right: 0px;
  font-size: 18px;
  font-weight: normal;
  line-height: 40px;
  width: 200px;
  float: right;
  text-align: right;
}

.book-text {
  clear: left;
  margin-left: 40px;
  width: 700px;
}

#book-theory {
  margin-top: 10px;
  float: left;
}

#book-experiment {
  margin-top: 10px;
  margin-left: 60px;
  float: left;
}

#book-columns {
  clear: both;
}

#book-col {
  width: 275px;
  float: left;
  margin: 20px 40px 20px 40px;
}

#book-col ul {
  list-style:none;
  padding: 0;
}

#book-col li {
  margin-bottom: 10px;
}

#book-col .header {
  font-size: 16px;
  font-weight: bold;
  color: #880000;
  margin-bottom: 0;
}

#book-col input {
  font-size: 16px;
  border: 1px solid #999;
  -webkit-appearance: none;
  width: 300px;
  height: 30px;
  margin-bottom: 5px;
}

#book-col input:focus {
  border-color:#333;
}

#book-col .button {
  clear: both;
  background-color: #800;
  border: 0 none;
  border-radius:4px;
  color: #FFFFFF;
  cursor: pointer;
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  height: 32px;
  line-height: 32px;
  margin: 0 5px 10px 0;
  padding: 0;
  text-align: center;
  text-decoration: none;
  vertical-align: top;
  white-space: nowrap;
  width: 92px;
}

#book-col .button:hover { 
  background-color:#777;
}

#book-feedback-group {
  width: 800px;
  margin-top: 0px;
  clear: both;
}

.book-feedback {
  float: left;
  font-size: 12px;
  text-align: left;
  width: 200px;
  margin: 0px 20px 20px 20px;
  font-style: italic;
}

.book-feedback-person {
  text-align: right;
  font-style: normal;
}

.yellow {
  margin: 30px;
  padding: 20px;
  background:#CCCCCC;
}

#mc_embed_signup input.button {
display: block;
width: 35%;
margin: 0 0 10px 0;
min-width: 90px;
}
#mc_embed_signup .button {
clear: both;
background-color: #aaa;
border: 0 none;
border-radius: 4px;
color: #FFFFFF;
cursor: pointer;
display: inline-block;
font-size: 15px;
font-weight: bold;
height: 32px;
line-height: 32px;
margin: 0 5px 10px 0;
padding: 0;
text-align: center;
text-decoration: none;
vertical-align: top;
white-space: nowrap;
width: auto;
}

#mc_embed_signup input.email {
display: block;
padding: 8px 0;
margin: 0 4% 10px 0;
text-indent: 5px;
width: 58%;
min-width: 130px;
}
#mc_embed_signup input {
border: 1px solid #999;
-webkit-appearance: none;
}

#toc {
  width: 100%;
  margin-bottom: 1.5em; }
  #toc td {
    border-bottom: 1px dotted #ccc; }
    #toc td:first-child {
      text-indent: 1em; }
    #toc td:last-child {
      text-align: right; }
  #toc .main:first-child {
    text-indent: 0;
    font-weight: bold; }
  #toc tr:last-child td {
    border-bottom: none; }

div.sign {
  width: 600px;
  border: 1px solid;
  border-radius: 5px;
  padding: 10px;
  background-color: rgb(223, 223, 223);
  border-color: rgb(81, 38, 14);
  /*
  margin-left: auto;
  margin-right: auto;
  */
}

div.function-info {
  width: 300px;
  float: left;
}

div.function-name {
  font-family: Courier;
  font-size: 18pt;
  margin-top: 8px;
  margin-bottom: 5px;
}

div.function-link {
  font-family: Courier;
  font-size: 10pt;
}

div.sign-icon {
  background-image:url('/assets/images/sign.png');
  background-repeat: no-repeat;
  width:75px; 
  height:75px;
  margin: 0 10px 10px 0;
  float: left;
}

div.function-code {
  clear: left;
  border-top: thin dotted;
  border-color: rgb(81, 38, 14);
  padding-top: 10px;
  padding-bottom: 10px;
}

div.function-bt {
  clear: left;
  border-top: thin dotted;
  border-color: rgb(81, 38, 14);
  padding-top: 10px;
  padding-bottom: 0;
}

img.centered {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

div.jp {
  margin-top: 40px;
  margin-left: 100px;
  border: 1px solid;
  border-radius: 5px;
  padding: 10px;
  background-color: rgb(235, 235, 235);
  border-color: rgb(220, 220, 220);
}

div.jp p {
  margin-top: 0px !important;
  text-indent: 10px;
}

div.jp h2 {
  margin-top: 10px;
  font-size: 18px;
  color: #880000;
  font-weight: normal;
}

hr {
  align: left;
  width: 200px;
  height: 1px;
}

.epigraph {
  float: left;
  width: 390px;
  position: relative;
}
  
.epigraph-text {
  font-size: 14px;
  text-align: center;
  font-style: italic;
  position: absolute;
  top: 90px;
  left: 120px;
}

.epigraph-caption {
  font-style: italic;
}

.appendix {
  margin-left: auto;
  margin-right: auto;
  margin-top: 60px;
  padding-top: 100px;
  width: 100%;
  text-align: center;
  font-size: 160pt;
}

.appendix-title {
  font-size: 21pt;
  padding-top: 100px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  text-align: center;
  line-height: 40px;
}

.appendix-translation {
  font-size: 21pt;
  text-align: center;
  font-style: italic;
}

.CodeRay {
  background-color: #FFF;
  font-family: Monaco, "Courier New", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", monospace;
  color: #000;
  padding: 1em 0px 1em 1em;
}

.CodeRay pre .console {
  background: #000;
}

div.CodeRay { }
span.CodeRay { white-space: pre; border: 0px; padding: 2px }

table.CodeRay { border-collapse: collapse; width: 100%; padding: 2px }
table.CodeRay td {
  padding: 1em 0.5em;
  vertical-align: top;
}

.CodeRay .line-numbers, .CodeRay .no {
  background-color: #ECECEC;
  color: #AAA;
  text-align: right;
}

.CodeRay .line-numbers a {
  color: #AAA;
}

.CodeRay .line-numbers tt { font-weight: bold }
.CodeRay .line-numbers .highlighted { color: red }
.CodeRay .line { display: block; float: left; width: 100%; }
.CodeRay span.line-numbers { padding: 0px 4px }
.CodeRay .code { width: 100% }

ol.CodeRay { font-size: 10pt }
ol.CodeRay li { white-space: pre }

.CodeRay .code pre { overflow: auto }
.CodeRay .debug { color:white ! important; background:blue ! important; }

.CodeRay .annotation { color:#007 }
.CodeRay .attribute-name { color:#f08 }
.CodeRay .attribute-value { color:#700 }
.CodeRay .binary { color:#509; font-weight:bold }
.CodeRay .comment  { color:#998; font-style: italic;}
.CodeRay .char { color:#04D }
.CodeRay .char .content { color:#04D }
.CodeRay .char .delimiter { color:#039 }
.CodeRay .class { color:teal;}
.CodeRay .complex { color:#A08; font-weight:bold }
.CodeRay .constant { color:teal; }
.CodeRay .color { color:#0A0 }
.CodeRay .class-variable { color:#369 }
.CodeRay .decorator { color:#B0B; }
.CodeRay .definition { color:#099; font-weight:bold }
.CodeRay .directive { color:#a71d5d; }
.CodeRay .delimiter { color:black }
.CodeRay .doc { color:#970 }
.CodeRay .doctype { color:#34b }
.CodeRay .doc-string { color:#D42; font-weight:bold }
.CodeRay .escape  { color:#666; font-weight:bold }
.CodeRay .entity { color:#800; font-weight:bold }
.CodeRay .error { color:#F00; background-color:#FAA }
.CodeRay .exception { color:#C00; font-weight:bold }
.CodeRay .filename { color:#099; }
.CodeRay .function { color:#795da3; }
.CodeRay .global-variable { color:teal;}
.CodeRay .hex { color:#058; font-weight:bold }
.CodeRay .integer  { color:#099; }
.CodeRay .include { color:#B44; }
.CodeRay .inline { color: black }
.CodeRay .inline .inline { background: #ccc }
.CodeRay .inline .inline .inline { background: #bbb }
.CodeRay .inline .inline-delimiter { color: #D14; }
.CodeRay .inline-delimiter { color: #D14; }
.CodeRay .important { color:#f00; }
.CodeRay .interpreted { color:#B2B; font-weight:bold }
.CodeRay .instance-variable { color:teal }
.CodeRay .label { color:#970; font-weight:bold }
.CodeRay .local-variable { color:#963 }
.CodeRay .octal { color:#40E; font-weight:bold }
.CodeRay .operator { }
.CodeRay .predefined-constant { color:#a71d5d; }
.CodeRay .predefined { color:#369; font-weight:bold }
.CodeRay .preprocessor { color:#579; }
.CodeRay .pseudo-class { color:#00C; font-weight:bold }
.CodeRay .predefined-type { color:#a71d5d; }
.CodeRay .reserved, .keyword  { color:#a71d5d; }

.CodeRay .key { color: #808; }
.CodeRay .key .delimiter { color: #606; }
.CodeRay .key .char { color: #80f; }
.CodeRay .value { color: #088; }

.CodeRay .regexp { background-color:#fff0ff }
.CodeRay .regexp .content { color:#808 }
.CodeRay .regexp .delimiter { color:#404 }
.CodeRay .regexp .modifier { color:#C2C }
.CodeRay .regexp .function  { color:#404; font-weight: bold }

.CodeRay .string { color: #D20; }
.CodeRay .string .string { }
.CodeRay .string .string .string { background-color:#ffd0d0 }
.CodeRay .string .content { color: #D14; }
.CodeRay .string .char { color: #D14; }
.CodeRay .string .delimiter { color: #D14; }

.CodeRay .shell { color:#D14 }
.CodeRay .shell .content { }
.CodeRay .shell .delimiter { color:#D14 }

.CodeRay .symbol { color:teal }
.CodeRay .symbol .content { color:#A60 }
.CodeRay .symbol .delimiter { color:#630 }

.CodeRay .tag { color:#070 }
.CodeRay .tag-special { color:#D70; font-weight:bold }
.CodeRay .type { color:#a71d5d; }
.CodeRay .variable  { color:#036 }

.CodeRay .insert { background: #afa; }
.CodeRay .delete { background: #faa; }
.CodeRay .change { color: #aaf; background: #007; }
.CodeRay .head { color: #f8f; background: #505 }

.CodeRay .insert .insert { color: #080; font-weight:bold }
.CodeRay .delete .delete { color: #800; font-weight:bold }
.CodeRay .change .change { color: #66f; }
.CodeRay .head .head { color: #f4f; }

.transcribe.CodeRay {
  padding: 0px
}
