@font-face {
    font-family: 'Meslo LG';
    font-style: normal;
    src: local('Meslo LG S'), url(../lib/meslo-LG/fonts/MesloLGS-Regular.woff) format('woff');
  }
a {-webkit-tap-highlight-color:transparent;}

.ml0,.mx0 {
    margin-left: 0
}

.mr0,.mx0 {
    margin-right: 0
}

.mt0,.my0 {
    margin-top: 0
}

.mb0,.my0 {
    margin-bottom: 0
}

.pl0,.px0 {
    padding-left: 0
}

.pr0,.px0 {
    padding-right: 0
}

.pt0,.py0 {
    padding-top: 0
}

.pb0,.py0 {
    padding-bottom: 0
}

*,.border-box,:after,:before {
    box-sizing: border-box
}

#header .h1,#header h1,.content .h1,.content h1,body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}

.highlight,body,pre {
    font-family: Menlo,"Meslo LG","Helvetica Neue",Helvetica,Arial,sans-serif,"微软雅黑",monospace;
}


.inline {
    display: inline
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.table {
    display: table
}

.table-cell {
    display: table-cell
}

.overflow-hidden {
    overflow: hidden
}

.overflow-scroll {
    overflow: scroll
}

.overflow-auto {
    overflow: auto
}

.clearfix:after,.clearfix:before {
    content: " ";
    display: table
}

.left {
    float: left
}

.right {
    float: right
}

.fit {
    max-width: 100%
}

.truncate {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.max-width-1 {
    max-width: 24rem
}

.max-width-2 {
    max-width: 32rem
}

.max-width-3 {
    max-width: 48rem
}

.max-width-4 {
    max-width: 64rem
}

.m0 {
    margin: 0
}

.ml1,.mx1 {
    margin-left: .5rem
}

.mr1,.mx1 {
    margin-right: .5rem
}

.mt1,.my1 {
    margin-top: .5rem
}

.mb1,.my1 {
    margin-bottom: .5rem
}

.m1 {
    margin: .5rem
}

.ml2,.mx2 {
    margin-left: 1rem
}

.mr2,.mx2 {
    margin-right: 1rem
}

.mt2,.my2 {
    margin-top: 1rem
}

.mb2,.my2 {
    margin-bottom: 1rem
}

.m2 {
    margin: 1rem
}

.ml3,.mx3 {
    margin-left: 2rem
}

.mr3,.mx3 {
    margin-right: 2rem
}

.mt3,.my3 {
    margin-top: 2rem
}

.mb3,.my3 {
    margin-bottom: 2rem
}

.m3 {
    margin: 2rem
}

.ml4,.mx4 {
    margin-left: 4rem
}

.mr4,.mx4 {
    margin-right: 4rem
}

.mt4,.my4 {
    margin-top: 4rem
}

.mb4,.my4 {
    margin-bottom: 4rem
}

.m4 {
    margin: 4rem
}

.mxn1 {
    margin-left: -.5rem;
    margin-right: -.5rem
}

.mxn2 {
    margin-left: -1rem;
    margin-right: -1rem
}

.mxn3 {
    margin-left: -2rem;
    margin-right: -2rem
}

.mxn4 {
    margin-left: -4rem;
    margin-right: -4rem
}

.ml-auto,.mx-auto {
    margin-left: auto
}

.mr-auto,.mx-auto {
    margin-right: auto
}

.p0 {
    padding: 0
}

.pl1,.px1 {
    padding-left: .5rem
}

.pr1,.px1 {
    padding-right: .5rem
}

.pt1,.py1 {
    padding-top: .5rem
}

.pb1,.py1 {
    padding-bottom: .5rem
}

.p1 {
    padding: .5rem
}

.pt2,.py2 {
    padding-top: 1rem
}

.pb2,.py2 {
    padding-bottom: 1rem
}

.pl2,.px2 {
    padding-left: 1rem
}

.pr2,.px2 {
    padding-right: 1rem
}

.p2 {
    padding: 1rem
}

.pt3,.py3 {
    padding-top: 2rem
}

.pb3,.py3 {
    padding-bottom: 2rem
}

.pl3,.px3 {
    padding-left: 2rem
}

.pr3,.px3 {
    padding-right: 2rem
}

.p3 {
    padding: 2rem
}

.pt4,.py4 {
    padding-top: 4rem
}

.pb4,.py4 {
    padding-bottom: 4rem
}

.pl4,.px4 {
    padding-left: 4rem
}

.pr4,.px4 {
    padding-right: 4rem
}

.p4 {
    padding: 4rem
}

.content .h1,.content h1 {
    letter-spacing: .01em;
    font-size: 1.5em;
    font-style: normal;
    font-weight: 700;
    color: #2bbc8a;
    margin-top: 3rem;
    margin-bottom: 1rem;
    display: block
}

.content .h2,.content h2,.content h3 {
    font-size: 1rem;
    font-weight: 700;
    color: #eee
}

.content .h2,.content h2 {
    position: relative;
    text-transform: none;
    letter-spacing: normal;
    margin-top: 2rem;
    margin-bottom: .5rem;
    display: block
}

.content h4,.content h5,.content h6 {
    font-size: .9rem;
    font-weight: 400;
    color: #ccc;
    border-bottom: 1px dashed #ccc;
    display: inline;
    text-decoration: none
}

.content dt,.content strong,.content th {
    font-weight: 700
}

.content h3,.content h4,.content h5,.content h6 {
    margin-top: .9rem;
    margin-bottom: .5rem
}

.content hr {
    border: 1px dashed #ccc
}

#header #nav ul li,#header-post #nav ul li {
    border-right: 1px dotted #2bbc8a
}

.content cite,.content em {
    font-style: italic
}

.content sub,.content sup {
    font-size: .75em;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

.content dl,.content ol,.content ul,body {
    line-height: 1.725
}

.content sup {
    top: -.5em
}

.content sub {
    bottom: -.2em
}

.content small {
    font-size: .85em
}

.content abbr,.content acronym {
    border-bottom: 1px dotted
}

.content ol ol,.content ol ul,.content ul ol,.content ul ul {
    margin-top: 0;
    margin-bottom: 0
}

.content ol {
    list-style: decimal
}

#sociallinks,.project-list {
    list-style: none;
    padding: 0
}

.content table {
    width: 100%;
    font-size: 12px;
    border-collapse: collapse;
    text-align: left
}

.content th {
    font-size: 13px;
    color: #eee;
    border-bottom: 1px dashed #ccc;
    padding: 8px
}

.content td {
    border-bottom: none;
    padding: 9px 8px 0
}

html {
    height: 100%
}

body {
    color: #c9cacc;
    background-color: #1d1f21;
    font-size: 14px;
    font-weight: 400;
    text-rendering: geometricPrecision;
    min-height: 100%;
    display: flex;
    flex-direction: column
}

.content {
    flex: 1
}

.content p {
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
    margin-bottom: .5rem;
    word-break:break-all;
}

.content p code {
    color: #2bbc8a;
    padding: 0
}

.content code,.content pre {
    -moz-hyphens: manual;
    -ms-hyphens: manual;
    -webkit-hyphens: manual;
    hyphens: manual;
    margin-bottom: .5rem
}

.content a {
    text-decoration: none;
    color: #c9cacc;
    word-wrap: break-word;
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 100% 6px;
    background-image: linear-gradient(transparent,transparent 5px,#c9cacc 5px,#c9cacc)
}

.content a:hover {
    color: #2bbc8a;
    background-image: linear-gradient(transparent,transparent 5px,#2bbc8a 5px,#2bbc8a)
}

.content a.icon {
    background: 0 0
}

.content a.icon:hover {
    color: #2bbc8a
}

.content .h1 a,.content h1 a,.content h2 a,.content h3 a,.content h4 a,.content h5 a,.content h6 a {
    color: inherit;
    text-decoration: none;
    background: 0 0
}

.content .h1 a:hover,.content h1 a:hover,.content h2 a:hover,.content h3 a:hover,.content h4 a:hover,.content h5 a:hover,.content h6 a:hover {
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 100% 6px;
    background-image: linear-gradient(transparent,transparent 6px,#2bbc8a 6px,#2bbc8a)
}

@media (min-width: 540px) {
    .image-wrap {
        flex-direction:row;
        margin-bottom: 2rem
    }

    .image-wrap .image-block {
        margin-right: 2rem;
        flex: 1 0 35%
    }

    .image-wrap p {
        flex: 1 0 65%
    }
}

#header #nav ul li:last-child,#header #nav ul li:last-child a,#header-post #nav ul li:last-child a,#header-post ul li:last-child {
    margin-right: 0
}

.width {
    width: 100%;
    max-width: 39rem
}

@media (max-width: 480px) {
    pre .line {
        -webkit-text-size-adjust:none
    }

    .px3 {
        padding-left: 1.4rem;
        padding-right: 1.4rem
    }

    .my4 {
        margin-top: 2rem;
        margin-bottom: 2rem
    }
}

#header {
    max-width: 710px;
    width: 100%;
    margin: 0 auto 3rem
}

#header .h1,#header h1 {
    letter-spacing: .01em;
    font-size: 1.5rem;
    line-height: 2rem;
    font-style: normal;
    font-weight: 700;
    color: #c9cacc;
    margin-top: 0;
    margin-bottom: 0
}

#header #nav ul,#header-post #nav ul {
    line-height: 15px
}

#header #nav,#header-post #nav {
    font-style: normal;
    font-weight: 200;
    letter-spacing: .01em
}

#header a,#header-post a {
    color: inherit;
    text-decoration: none
}

#header #nav,#header-post #menu-icon-tablet:hover,#header-post #menu-icon:hover,#header-post #toc a:hover,#header-post #top-icon-tablet:hover,#header-post .active,#header-post a.icon:hover {
    color: #2bbc8a
}

#header a {
    background: 0 0
}

#header #logo {
    display: inline-block;
    float: left;
    margin-right: 20px;
    width: 50px;
    height: 50px;
    background-repeat: no-repeat;
    background-size: 50px 50px;
    border-radius: 5px;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%)
}

#header #nav {
    font-size: .8rem
}

#header #nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

#header #nav ul a {
    margin-right: 15px;
    color: color-accent
}

#header #nav ul a:hover {
    background-repeat: repeat-x;
    background-position: bottom;
    background-size: 100% 6px;
    background-image: linear-gradient(transparent,transparent 5px,#2bbc8a 5px,#2bbc8a)
}



#header #nav ul li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px
}

#header #nav ul .icon {
    display: none
}

#header #nav ul li:last-child {
    border-right: 0
}

#header:hover #logo {
    -webkit-filter: none;
    filter: none
}

@media screen and (max-width: 480px) {
    #header #title {
        padding-top:9px;
        padding-bottom: 9px
    }

    #header #nav ul a:hover {
        background: 0 0
    }

    #header #nav ul li {
        display: none;
        border-right: 0
    }

    #header #nav ul li.icon {
        display: inline-block;
        position: absolute;
        top: 55px;
        right: 1rem
    }

    #header #nav ul.responsive li {
        display: block
    }

    #header #nav li:not(:first-child) {
        padding-top: 1rem;
        padding-left: 70px;
        font-size: 1rem
    }
}


#sociallinks,#sociallinks li {
    display: inline-block
}


#sociallinks {
    margin: 0
}

#sociallinks li:after {
    content: " "
}

#sociallinks li:last-child:after {
    content: ""
}

#sociallinks li:nth-last-child(2):after {
    content: " "
}


.description {
    min-height: 105px
}

@media (min-width: 480px) {
    p {
        text-align:justify
    }

}

.project-list .project-item {
    margin-bottom: 5px
}


#footer li,#footer li a {
    margin-right: 15px
}

#footer,.pagination {
    text-align: center;
    width: 100%
}


#footer,#footer a {
    color: #666
}

#footer {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 11px;
    max-width: 700px;
    margin: 0 auto 1rem;
    vertical-align: top
}

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

#footer li {
    display: inline-block;
    vertical-align: middle;
    border-right: 1px solid #4a4a4a
}

#footer li:last-child {
    border-right: 0;
    margin-right: 0
}

#footer li:last-child a {
    margin-right: 0
}

#footer a:hover {
    color: #999
}

#footer .footer-left {
    height: 20px;
    line-height: 25px;
    vertical-align: middle
}

@media (min-width: 39rem) {
    #footer {
        padding-top:20px;
        padding-bottom: 20px
    }

    #footer .footer-left {
        float: left
    }

    #footer .footer-right {
        float: right
    }
}

.coding {
    position: relative
}

.coding .prompt {
    display: inline;
    white-space: pre-wrap;
    line-height: 30px;
    margin-bottom: .75em;
    
}

.coding .typed-cursor {
    display: inline;
}

.coding .typed-cursor:after {
    display: inline;
    vertical-align: -.15em;
    width: .5em;
    height: 12px;
    margin-left: 5px;
    background: #2bbc8a;
    box-shadow: 0 0 0 rgba(31,240,66,.65);
    -webkit-animation: cursor-blink 1.25s steps(1) infinite;
    -o-animation: cursor-blink 1.25s steps(1) infinite;
    animation: cursor-blink 1.25s steps(1) infinite;
    content: ''
}