.code_window {
  @include border-top-radius(5px);
  @include border-bottom-radius(2px);
  background: #aaaaaa image-url("code_bg.png") top repeat-x;
  position: relative;
  margin: 0.3em 0 1.3em;
  padding: 0 3px 3px;
  font-size: 14px;
  border: 1px solid #898989;
  border-top-color: #cbcbcb;
  border-left-color: #a5a5a5;
  border-right-color: #a5a5a5;
  em {
    text-align: center;
    text-shadow: #cccccc 1px 1px 1px;
    display: block;
    padding: 1px 0;
    color: #333333;
    font-style: normal; }
  .highlight {
    margin: 0; } }

pre {
  color: #cccccc;
  font-size: 13px;
  background: #222222;
  line-height: 1.5em;
  border: #aaaaaa 1px solid;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 25px 20px;
  .lineno {
    color: #888888;
    background: #e3e3e3;
    display: inline-block;
    padding: 0 0 0 10px;
    &:first-child {
      padding-top: 15px;
      display: inline-block; } } }

.highlight {
  position: relative;
  .pre_expander {
    font-size: 10px;
    text-align: right;
    padding: 4px 8px;
    line-height: 150%;
    position: absolute;
    cursor: pointer;
    top: 2px;
    right: 2px;
    @include border-bottom-left-radius;
    display: block;
    color: #777777;
    background: #333333;
    &:hover {
      background: #444444;
      color: #cccccc; } } }

// based on: http://github.com/mojombo/tpw/raw/master/css/syntax.css
.editor {
  background: rgb(0, 22, 41);
  line-height: 1.25; }

pre.console {
  background-color: black;
  color: lighten(green, 25);
  letter-spacing: 1px;
  padding: 0.5em;
  .prompt {
    color: lighten(navy, 50);
    &:before {
      color: white;
      content: "["; }
    &:after {
      color: white;
      content: "]"; } }
  .stdin {
    font-weight: bold;
    color: lighten(green, 75); } }

.highlight {
  padding: 0 0 0.1em;
  color: white;
  // Comment
  .c {
    color: #999988;
    font-style: italic; }
  // Error
  .err {
    color: #a61717;
    background-color: #e3d2d2; }
  // Name
  .n {
    color: white; }
  // Keyword
  .k {
    color: rgb(255, 157, 0); }
  // Paren
  .p {
    color: darken(#ff9d00, 33); }
  // Operator
  .o {
    color: rgb(255, 157, 0); }
  // Comment.Multiline
  .cm {
    color: #999988;
    font-style: italic; }
  // Comment.Preproc
  .cp {
    color: #999999; }
  // Comment.Single
  .c1 {
    color: #999988;
    font-style: italic; }
  // Comment.Special
  .cs {
    color: #999999;
    font-style: italic; }
  // Generic.Deleted
  .gd {
    color: black;
    background-color: #ffdddd; }
  // Generic.Deleted.Specific
  .gd .x {
    color: black;
    background-color: #ffaaaa; }
  // Generic.Emph
  .ge {
    font-style: italic; }
  // Generic.Error
  .gr {
    color: #aa0000; }
  // Generic.Heading
  .gh {
    color: #999999; }
  // Generic.Inserted
  .gi {
    color: black;
    background-color: #ddffdd; }
  // Generic.Inserted.Specific
  .gi .x {
    color: black;
    background-color: #aaffaa; }
  // Generic.Output
  .go {
    color: #888888; }
  // Generic.Prompt
  .gp {
    color: #555555; }
  // Generic.Strong
  .gs {
    color: white; }
  // Generic.Subheading
  .gu {
    color: #aaaaaa; }
  // Generic.Traceback
  .gt {
    color: #aa0000; }
  // Keyword.Constant
  .kc {
    color: white; }
  // Keyword.Declaration
  .kd {
    color: white; }
  // Keyword.Pseudo
  .kp {
    color: white; }
  // Keyword.Reserved
  .kr {
    color: white; }
  // Keyword.Type
  .kt {
    color: #445588; }
  // Literal.Number
  .m {
    color: rgb(255, 98, 140); }
  // Literal.String
  .s {
    color: #dd1144; }
  // Name.Attribute
  .na {
    color: teal; }
  // Name.Builtin
  .nb {
    color: darken(rgb(128, 255, 187), 20); }
  // Name.Class
  .nc {
    color: darken(rgb(128, 255, 187), 20); }
  // Name.Constant
  .no {
    color: rgb(128, 255, 187); }
  // Name.Entity
  .ni {
    color: purple; }
  // Name.Exception
  .ne {
    color: rgb(255, 221, 0); }
  // Name.Function
  .nf {
    color: rgb(255, 221, 0); }
  // Name.Namespace
  .nn {
    color: #555555; }
  // Name.Tag
  .nt {
    color: white; }
  // Name.Variable
  .nv {
    color: teal; }
  // Operator.Word
  .ow {
    color: white; }
  // Text.Whitespace
  .w {
    color: #bbbbbb; }
  // Literal.Number
  .nl {
    color: rgb(255, 98, 140); }
  // Literal.Number.Float
  .mf {
    color: rgb(255, 98, 140); }
  // Literal.Number.Hex
  .mh {
    color: rgb(255, 98, 140); }
  // Literal.Number.Integer
  .mi {
    color: rgb(255, 98, 140); }
  // Literal.Number.Oct
  .mo {
    color: rgb(255, 98, 140); }
  // Literal.String.Backtick
  .sb {
    color: rgb(58, 217, 0); }
  // Literal.String.Char
  .sc {
    color: rgb(58, 217, 0); }
  // Literal.String.Doc
  .sd {
    color: rgb(58, 217, 0); }
  // Literal.String.Double
  .s2 {
    color: rgb(58, 217, 0); }
  // Literal.String.Escape
  .se {
    color: rgb(58, 217, 0); }
  // Literal.String.Heredoc
  .sh {
    color: rgb(58, 217, 0); }
  // Literal.String.Interpol
  .si {
    color: rgb(158, 255, 128); }
  // Literal.String.Other
  .sx {
    color: rgb(58, 217, 0); }
  // Literal.String.Regex
  .sr {
    color: #009926; }
  // Literal.String.Single
  .s1 {
    color: rgb(58, 217, 0); }
  // Literal.String.Symbol
  .ss {
    color: rgb(255, 98, 140); }
  // Name.Builtin.Pseudo
  .bp {
    color: #999999; }
  // Name.Variable.Class
  .vc {
    color: teal; }
  // Name.Variable.Global
  .vg {
    color: teal; }
  // Name.Variable.Instance
  .vi {
    color: teal; }
  // Literal.Number.Integer.Long
  .il {
    color: rgb(255, 98, 140); } }