---
layout: nil
---

/*
 * Fonts
 */

@font-face {
    font-family: "fontello";
    font-weight: normal;
    font-style: normal;

    src: url("../fonts/fontello.eot");
    src: url("../fonts/fontello.eot#iefix") format("embedded-opentype"),
    url("../fonts/fontello.woff") format("woff"),
    url("../fonts/fontello.ttf") format("truetype"),
    url("../fonts/fontello.svg") format("svg");
}

[class^="icon-"]:before,
[class*="icon-"]:before {
    display: inline-block;

    margin-right: .2em;
    width: 1em;

    font-family: "fontello";
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    text-align: center;
    text-decoration: inherit;
    text-transform: none;

    speak: none;
}

.icon-github-circled:before {
    content: "\e800";
}
.icon-weibo:before {
    content: "\e801";
}


/*
 * Scaffolding and type
 */

html {
    font-size: 16px;
}
@media (min-width: 48em) {
    html {
        font-size: 20px;
    }
}

body {
    margin: 0;

    font: 1rem/1.5 "微软雅黑","PT Sans", sans-serif;

    color: #5a5a5a;
}

a {
    text-decoration: none;

    color: #08c;
}
a:hover {
    text-decoration: underline;
}

h1,
h2,
h3,
h4 {
    margin: 0 0 1rem;

    font-weight: normal;
    line-height: 1;
    letter-spacing: -.05em;

    color: #2a2a2a;
}
h1 {
    font-size: 3rem;
}
h2 {
    font-size: 2.5rem;
}
h3 {
    font-size: 1.75rem;
}
h4 {
    font-size: 1.25rem;
}

p {
    margin: 0 0 .5rem;
}
.lead {
    font-size: 1.3rem;
}

blockquote {
    position: relative;

    margin: 0 1rem 1rem;

    font-style: italic;

    color: #7a7a7a;
}
blockquote p {
    margin-bottom: 0;
}

ul li,
ol li {
    margin-bottom: .25rem;
}

ul {
    list-style-type: disc;
}

/* Tighten up margin on last items */
p:last-child,
ul:last-child,
blockquote:last-child {
    margin-bottom: 0;
}



/*
 * Code
 */

code,
pre {
    font-family: "PT Mono", Menlo, "Courier New", monospace;
    font-size: 95%;
}
code {
    border-radius: .2rem;
    padding: 2px 4px;

    font-size: 85%;

    color: #d44950;
    background-color: #f7f7f9;
}

pre {
    display: block;

    margin: 0 0 1rem;

    line-height: 1.4;
    white-space: pre;
    white-space: pre-wrap;
}
pre code {
    border: 0;
    padding: 0;

    color: inherit;
    background-color: transparent;
}
.highlight {
    margin: 0;
}
.highlight pre {
    margin-bottom: 0;
}
.highlight + .highlight {
    margin-top: 1rem;
}


/*
 * The Grid
 */

.col {
    padding: 2rem 1rem;
}
.col p {
    max-width: 45rem;
}
.col + .col {
    border-top: 1px solid #dfe1e8;

    background-color: #f7f7f9;
}
@media (min-width: 38em) {
    .col {
        padding: 2rem;
    }
}
@media (min-width: 48em) {
    .section {
        display: table;

        table-layout: fixed;

        width: 100%;
    }
    .col {
        display: table-cell;

        padding: 3rem;

        vertical-align: top;
    }
    .col + .col {
        border-top: 0;
    }
}

/* Make the ToC a whole section */
.toc .col + .col {
    background-color: #fff;
}


/*
 * Masthead
 */

.masthead {
    padding: 3rem 1rem;

    text-align: center;

    color: rgba(255,255,255,.5);
    background-color: #2a3440;
}
.masthead h1 {
    margin-bottom: .25rem;

    color: #fff;
}
.masthead .icon {
    display: inline-block;

    margin: 0 .5rem;

    font-size: 3rem;
}
.masthead-links {
    font-size: 2rem;
}
.masthead-links a {
    text-decoration: none;

    color: rgba(255,255,255,.5);

    transition: all .15s linear;
}
.masthead-links a:hover {
    color: #fff;
}

@media (min-width: 38em) {
    .masthead {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}


/*
 * Sections
 */

.heading {
    padding: 2rem 1rem 1.5rem;

    background-color: #dfe1e8;
}

@media (min-width: 38em) {
    .heading {
        padding: 3rem 3rem 2.5rem;
    }
}

.section {
    border-bottom: 1px solid #dfe1e8;
}


/*
 * Footer
 */

.footer {
    padding: 3rem 1rem;

    font-size: 90%;
    text-align: center;
}
.footer p {
    margin-bottom: .5rem;
}

.quick-links {
    list-style: none;

    margin-left: 0;
}
.quick-links li {
    display: inline;
}


/*
 * Syntax highlighting
 */

.hll {
    background-color: #ffc;
}

/* Comment */
.c {
    color: #999;
}

/* Error */
.err {
    color: #a00;
    background-color: #faa;
}

/* Keyword */
.k {
    color: #069;
}

/* Operator */
.o {
    color: #555;
}

/* Comment.Multiline */ /* Edited to remove italics and make into comment */
.cm {
    color: #999;
}

/* Comment.Preproc */
.cp {
    color: #099;
}

/* Comment.Single */
.c1 {
    color: #999;
}

/* Comment.Special */
.cs {
    color: #999;
}

/* Generic.Deleted */
.gd {
    border: 1px solid #c00;

    background-color: #fcc;
}

/* Generic.Emph */
.ge {
    font-style: italic;
}

/* Generic.Error */
.gr {
    color: #f00;
}

/* Generic.Heading */
.gh {
    color: #030;
}

/* Generic.Inserted */
.gi {
    border: 1px solid #0c0;

    background-color: #cfc;
}

/* Generic.Output */
.go {
    color: #aaa;
}

/* Generic.Prompt */
.gp {
    color: #009;
}

/* Generic.Subheading */
.gu {
    color: #030;
}

/* Generic.Traceback */
.gt {
    color: #9c6;
}

/* Keyword.Constant */
.kc {
    color: #069;
}

/* Keyword.Declaration */
.kd {
    color: #069;
}

/* Keyword.Namespace */
.kn {
    color: #069;
}

/* Keyword.Pseudo */
.kp {
    color: #069;
}

/* Keyword.Reserved */
.kr {
    color: #069;
}

/* Keyword.Type */
.kt {
    color: #078;
}

/* Literal.Number */
.m {
    color: #f60;
}

/* Literal.String */
.s {
    color: #d44950;
}

/* Name.Attribute */
.na {
    color: #4f9fcf;
}

/* Name.Builtin */
.nb {
    color: #366;
}

/* Name.Class */
.nc {
    color: #0a8;
}

/* Name.Constant */
.no {
    color: #360;
}

/* Name.Decorator */
.nd {
    color: #99f;
}

/* Name.Entity */
.ni {
    color: #999;
}

/* Name.Exception */
.ne {
    color: #c00;
}

/* Name.Function */
.nf {
    color: #c0f;
}

/* Name.Label */
.nl {
    color: #99f;
}

/* Name.Namespace */
.nn {
    color: #0cf;
}

/* Name.Tag */
.nt {
    color: #2f6f9f;
}

/* Name.Variable */
.nv {
    color: #033;
}

/* Operator.Word */
.ow {
    color: #000;
}

/* Text.Whitespace */
.w {
    color: #bbb;
}

/* Literal.Number.Float */
.mf {
    color: #f60;
}

/* Literal.Number.Hex */
.mh {
    color: #f60;
}

/* Literal.Number.Integer */
.mi {
    color: #f60;
}

/* Literal.Number.Oct */
.mo {
    color: #f60;
}

/* Literal.String.Backtick */
.sb {
    color: #c30;
}

/* Literal.String.Char */
.sc {
    color: #c30;
}

/* Literal.String.Doc */
.sd {
    font-style: italic;

    color: #c30;
}

/* Literal.String.Double */
.s2 {
    color: #c30;
}

/* Literal.String.Escape */
.se {
    color: #c30;
}

/* Literal.String.Heredoc */
.sh {
    color: #c30;
}

/* Literal.String.Interpol */
.si {
    color: #a00;
}

/* Literal.String.Other */
.sx {
    color: #c30;
}

/* Literal.String.Regex */
.sr {
    color: #3aa;
}

/* Literal.String.Single */
.s1 {
    color: #c30;
}

/* Literal.String.Symbol */
.ss {
    color: #fc3;
}

/* Name.Builtin.Pseudo */
.bp {
    color: #366;
}

/* Name.Variable.Class */
.vc {
    color: #033;
}

/* Name.Variable.Global */
.vg {
    color: #033;
}

/* Name.Variable.Instance */
.vi {
    color: #033;
}

/* Literal.Number.Integer.Long */
.il {
    color: #f60;
}

.css .o,
.css .o + .nt,
.css .nt + .nt {
    color: #999;
}
