@charset "UTF-8";
body {
    font-family: "思源黑体", "Source Han Sans CN", "PingFang SC", miui, system-ui, -apple-system, BlinkMacSystemFont, "微软雅黑", sans-serif;
    line-height: 1.5rem;
    font-weight: 400;
    margin: 0;
    color: #25262D
}

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

body, button, input, select, textarea, pre {
    margin: 0;
}

h1, h2, h3, h4, h5, h6, p, dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

article, aside, details, figcaption, figure, footer, header, main, nav, section, summary {
    display: block;
}

.purecolor {
    width: 110%;
    height: 10px;
    background-color: #2d6fe8aa;
    z-index: -1000;
    bottom: 0;
    position: fixed;
}

:root {
    font: 16px/1 "Enriqueta", sans;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

::-moz-selection {
    background: rgba(33, 212, 253, 0.3)
}

::selection {
    background: rgba(33, 212, 253, 0.3)
}

h1, h2, h3 {
    margin: 0;
    color: #000
}

p {
    margin: 0
}

a {
    text-decoration: none;
    color: inherit;
    outline: none;
    -webkit-tap-highlight-color: rgba(33, 212, 253, 0.3);
    tap-highlight-color: rgba(33, 212, 253, 0.3)
}

a:hover {
    color: #2d6fe8 !important;
}

.listama {
    color: #2d6fe8 !important;
}

@media screen and (max-width: 620px) {
    :root {
        font-size: 13px
    }
}

.o-container {
    display: flex;
    flex-direction: column;
    max-width: 940px;
    margin-right: auto;
    margin-left: auto
}

.o-content {
    align-self: flex-end;
    max-width: 700px
}

.o-h1 {
    font-size: 2.0625rem;
    line-height: 2.5rem
}

.o-h2 {
    font-size: 1.6875rem;
    line-height: 2rem
}

.o-h3 {
    font-size: 1.375rem;
    line-height: 2rem
}

.o-bullet-link {
    position: relative;
    border: none
}

.o-bullet-link::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px;
    width: .5rem;
    height: .5rem;
    margin: auto;
    content: '';
    border-radius: 50%;
    background: currentColor
}

@media screen and (max-width: 740px) {
    .o-bullet-link::before {
        top: 0;
        bottom: 0;
        width: .25rem;
        height: 100%;
        border-radius: 0
    }
}

.about {
    padding-top: 4.9375rem
}

.about__heading {
    margin-bottom: 1.0625rem
}

.about > p {
    font-size: 1.3125rem;
    line-height: 2rem
}

.about > p:not(:last-child) {
    margin-bottom: 1rem
}

.articles {
    padding-top: 4.8125rem
}

.articles__heading {
    margin-bottom: 1.875rem
}

.article:not(:last-child) {
    margin-bottom: 1.75rem
}

.article__date {
    font: .9375rem/1rem "PT Sans", sans;
    display: block;
    margin-bottom: .25rem;
    color: rgba(37, 38, 45, 0.8)
}

.projects {
    padding-top: 4.875rem
}

.projects__heading {
    margin-bottom: 1.625rem
}

.project:not(:last-child) {
    margin-bottom: 1.5625rem
}

.project__description {
    font: 1.125rem/1.5rem "PT Sans", sans;
    margin-top: .4375rem;
    color: rgba(37, 38, 45, 0.8)
}

.portfolios {
    padding-top: 5rem
}

.portfolios__heading {
    margin-bottom: 1.625rem
}

footer {
    font-size: 1rem;
    line-height: 1.5rem;
    padding-top: 4.8125rem;
    padding-bottom: 2rem
}

.centermiddle {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 100%;
    height: 300px;
    margin-top: -150px;
    margin-bottom: 100px
}

.centerup {
    position: absolute;
    top: 25%;
    width: 100%;
    height: 100%;
    height: 300px;
    margin-top: -150px;
    margin-bottom: 100px
}

hr {
    max-width: 400px;
    height: 1px;
    margin-top: -1px;
    border: none;
    background-image: -webkit-linear-gradient(bottom, transparent, #d5d5d5, transparent);
    background-image: -o-linear-gradient(bottom, transparent, #d5d5d5, transparent);
    background-image: linear-gradient(to top, transparent, #d5d5d5, transparent);
}

.centerfield img {
    display: inline-block;
    -o-object-fit: cover;
    object-fit: cover;
    overflow: hidden
}

.centerfield .name {
    font-size: 26px;
    font-weight: bold;
    font-style: normal;
    line-height: 50px;
    height: 50px;
    margin: 0 auto;
    letter-spacing: -.03em
}

.centerfield .slogan {
    font-size: 16px;
    font-weight: bold;
    margin-top: 12px;
    margin-bottom: 12px;
    color: #2d6fe8
}

ul {
    line-height: 1.8em;
    padding: 0;
    list-style: none
}

ul li {
    list-style: none
}

.text-center {
    text-align: center
}

.text-left {
    text-align: left;
    margin: 0% 20%
}

.centerfield .nav .item a {
    font-size: 14px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #000;
    transition-duration: 0.5s;
    transition-propety: background-color
}

.centerfield .nav .item {
    display: inline-block
}

.centerfield .nav .item a {
    font-size: 14px;
    display: inline-block;
    text-align: center;
    text-decoration: none;
    color: #000;
    transition-duration: 0.5s;
    transition-propety: background-color
}

.centerfield .nav .item:last-child span {
    display: none
}

body, button, input, select, textarea, pre {
    margin: 0;
}

h1, h2, h3, h4, h5, h6, p, dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
}

article, aside, details, figcaption, figure, footer, header, main, nav, section, summary {
    display: block;
}

body {
    font-family: 'Helvetica Neue', Helvetica, sans-serif;
    line-height: 1.5rem;
    font-weight: 400;
}

h1, .h1, .f1 {
    font-size: 2rem;
    line-height: 2.5rem;
}

h2, .h2, .f2 {
    font-size: 1.5rem;
    line-height: 2rem;
}

h3, .h3, .f3 {
    font-size: 1.25rem;
    line-height: 1.5rem;
}

p, .p, .f4, h4, h5, h6, dl, ol, ul {
    font-size: 1.125rem;
    line-height: 1.5rem;
}

small, .small, .f5 {
    font-size: .875rem;
    line-height: 1.5rem;
}

@media screen and (min-width: 48em) {
    .h1 {
        font-size: 4rem;
        line-height: 5rem;
    }

    .h2 {
        font-size: 2rem;
        line-height: 2.5rem;
    }

    .h3 {
        font-size: 1.5rem;
        line-height: 2rem;
    }

    .p {
        font-size: 1.25rem;
        line-height: 2rem;
    }

    .small {
        font-size: 1rem;
    }
}

@media screen and (min-width: 64em) {
    .h1 {
        font-size: 6rem;
        line-height: 8rem;
    }

    .h2 {
        font-size: 3rem;
        line-height: 3.5rem;
    }
}

strong, .bold {
    font-weight: bold;
}

.regular {
    font-weight: normal;
}

.italic {
    font-style: italic;
}

.caps {
    text-transform: uppercase;
    letter-spacing: .2em;
}

.center {
    text-align: center;
}

.right-align {
    text-align: right;
}

.measure {
    max-width: 48rem;
}

.measure-narrow {
    max-width: 32rem;
}

.measure-wide {
    max-width: 60rem;
}

.leading-1 {
    line-height: 1.5rem;
}

.leading-2 {
    line-height: 2rem;
}

.leading-3 {
    line-height: 3rem;
}

.leading-4 {
    line-height: 4rem;
}

.m0 {
    margin: 0;
}

.mb0 {
    margin-bottom: 0;
}

.m1 {
    margin: 1rem;
}

.mt1 {
    margin-top: 1rem;
}

.mr1 {
    margin-right: 1rem;
}

.mb1 {
    margin-bottom: 1rem;
}

.ml1 {
    margin-left: 1rem;
}

.m2 {
    margin: 2rem;
}

.mt2 {
    margin-top: 2rem;
}

.mr2 {
    margin-right: 2rem;
}

.mb2 {
    margin-bottom: 2rem;
}

.ml2 {
    margin-left: 2rem;
}

.m3 {
    margin: 3rem;
}

.mt3 {
    margin-top: 3rem;
}

.mr3 {
    margin-right: 3rem;
}

.mb3 {
    margin-bottom: 3rem;
}

.ml3 {
    margin-left: 3rem;
}

.m4 {
    margin: 4rem;
}

.mt4 {
    margin-top: 4rem;
}

.mr4 {
    margin-right: 4rem;
}

.mb4 {
    margin-bottom: 4rem;
}

.ml4 {
    margin-left: 4rem;
}

.wrap {
    margin-right: auto;
    margin-left: auto;
}

.m-responsive {
    margin: 2rem;
}

.mt-responsive {
    margin-top: 2rem;
}

.mr-responsive {
    margin-right: 2rem;
}

.mb-responsive {
    margin-bottom: 2rem;
}

.ml-responsive {
    margin-left: 2rem;
}

@media screen and (min-width: 48em) and (max-width: 64em) {
    .m-responsive {
        margin: 3rem;
    }

    .mt-responsive {
        margin-top: 3rem;
    }

    .mr-responsive {
        margin-right: 3rem;
    }

    .mb-responsive {
        margin-bottom: 3rem;
    }

    .ml-responsive {
        margin-left: 3rem;
    }
}

@media screen and (min-width: 64em) {
    .m-responsive {
        margin: 4rem;
    }

    .mt-responsive {
        margin-top: 4rem;
    }

    .mr-responsive {
        margin-right: 4rem;
    }

    .mb-responsive {
        margin-bottom: 4rem;
    }

    .ml-responsive {
        margin-left: 4rem;
    }
}

.p1 {
    padding: 1rem;
}

.px1 {
    padding-right: 1rem;
    padding-left: 1rem;
}

.py1 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.p2 {
    /* padding: 2rem;*/
    padding: 2rem;
}

.px2 {
    padding-right: 2rem;
    padding-left: 2rem;
}

.py2 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.p3 {
    padding: 3rem;
}

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

.py3 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.p4 {
    padding: 4rem;
}

.px4 {
    padding-right: 4rem;
    padding-left: 4rem;
}

.py4 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.p-responsive {
    padding: 1.5rem;
}

.px-responsive {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.py-responsive {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

@media screen and (min-width: 48em) and (max-width: 64em) {
    .p-responsive {
        padding: 3rem;
    }

    .px-responsive {
        padding-right: 3rem;
        padding-left: 3rem;
    }

    .py-responsive {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
}

@media screen and (min-width: 64em) {
    .p-responsive {
        padding: 4rem;
    }

    .px-responsive {
        padding-right: 4rem;
        padding-left: 4rem;
    }

    .py-responsive {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
}

.inline {
    display: inline;
}

.block {
    display: block;
}

.inline-block {
    display: inline-block;
}

.oh {
    overflow: hidden;
}

.left {
    float: left;
}

.right {
    float: right;
}

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

.clearfix:after {
    clear: both;
}

.fit {
    max-width: 100%;
}

.full-width {
    width: 100%;
}

.half-width {
    width: 50%;
}

.mobile-show {
    display: none;
}

@media screen and (max-width: 48em) {
    .mobile-show,
    .mobile-block {
        display: block;
    }

    .mobile-block {
        width: 100%;
    }

    .mobile-hide {
        display: none;
    }

    .mobile-center {
        text-align: center;
    }
}

.button {
    font-family: inherit;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    white-space: nowrap;
    display: inline-block;
    line-height: 2rem;
    height: auto;
    min-height: 2rem;
    padding: .5rem 1rem;
}

.button-big {
    padding: 1rem 1.5rem;
}

.button-small {
    padding: 0 1rem;
}

.form {
    font-size: 1rem;
}

.input {
    appearance: none;
    border-style: solid;
    border-width: 1px;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    max-width: 100%;
    height: 3rem;
    line-height: 2rem;
    padding: .5rem;
    border-radius: .25rem;
}

.select {
    box-sizing: border-box;
    height: 3rem;
    margin-right: 0;
    margin-left: 0;
    border-radius: .25rem;
}

.textarea {
    box-sizing: border-box;
    padding: 1rem;
    line-height: 1.5rem;
    border-radius: .25rem;
}

.form-stacked label,
.form-stacked .input,
.form-stacked .select {
    display: block;
    width: 100%;
}

.form-stacked .input,
.form-stacked .select,
.form-stacked .radio,
.form-stacked .checkbox {
    margin-bottom: 1rem;
}

.list {
    padding-left: 2rem;
}

.list-simple {
    list-style: none;
    padding-left: 0;
}

.list-inline {
    list-style: none;
    padding-left: 0;
}

.list-inline li {
    display: inline;
    white-space: nowrap;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.t0 {
    top: 0;
}

.r0 {
    right: 0;
}

.b0 {
    bottom: 0;
}

.l0 {
    left: 0;
}

.z1 {
    z-index: 1;
}

.z2 {
    z-index: 2;
}

.z3 {
    z-index: 3;
}

.z4 {
    z-index: 4;
}

.absolute-center {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    display: table;
}

.white {
    color: #fff;
}

.blue {
    color: #0096cc;
}

.light-gray {
    color: #eeeeee;
}

.mid-gray {
    color: #777777;
}

.dark-gray {
    color: #333333;
}

.red {
    color: #ff5522;
}

.green {
    color: #00ff66;
}

.orange {
    color: #ffcc22;
}

.bg-white {
    background-color: #fff;
}

.bg-blue {
    background-color: #0096cc;
}

.bg-light-gray {
    background-color: #eeeeee;
}

.bg-mid-gray {
    background-color: #777777;
}

.bg-dark-gray {
    background-color: #333333;
}

.bg-red {
    background-color: #ff5522;
}

.bg-green {
    background-color: #00ff66;
}

.bg-orange {
    background-color: #ffcc22;
}

body {
    color: #333333;
    background-color: #fff;
}

a {
    color: #0096cc;
    text-decoration: none;
}

a:hover {
    color: #007199;
}

.button {
    border-radius: .25rem;
    transition-duration: .2s;
    transition-timing-function: ease;
    transition-property: box-shadow, background-color;
}

.button:focus {
    outline: none;
    box-shadow: 0 0 0 2px white, 0 0 1px 4px rgba(0, 150, 204, 0.5);
}

.button-blue {
    color: #fff;
    background-color: #0096cc;
}

.button-blue:hover {
    color: #fff;
    background-color: #004b66;
}

.button-gray {
    color: #fff;
    background-color: #777777;
}

.button-gray:hover {
    color: #fff;
    background-color: #444444;
}

.form-light .input,
.form-light .textarea,
.form-light .select {
    transition: box-shadow .2s ease;
    border-color: #777777;
}

.form-light .input:focus,
.form-light .textarea:focus,
.form-light .select:focus {
    outline: none;
    border-color: #0096cc;
    box-shadow: 0 0 0.125rem rgba(0, 150, 204, 0.5);
}

.form-light .radio input,
.form-light .checkbox input {
    transition: box-shadow .2s ease;
}

.form-light .radio input:focus,
.form-light .checkbox input:focus {
    outline: none;
    box-shadow: 0 0 0 2px white, 0 0 1px 4px rgba(0, 150, 204, 0.5);
}

.form-light .radio input {
    border-radius: 50%;
}

.border {
    border-style: solid;
    border-width: 1px;
}

.border-top {
    border-top-style: solid;
    border-top-width: 1px;
}

.border-light-gray {
    border-color: #eeeeee;
}

.rounded {
    border-radius: .25rem;
}

.transition-all {
    transition: all .2s ease;
}


html, body {
    height: 100%;
}

img {
    width: auto;
    max-width: 100%;
}

.site-wrap {
    min-height: 100%;
    margin-bottom: -120px;
}

.site-wrap:after {
    content: "";
    display: block;
}

.footer, .site-wrap:after {
    height: 120px;
}

body {
    font-size: 1.5rem;

    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.gist,
.gist .highlight .p {
    font-size: .75rem;
}

.gist .lines {
    width: 100%;
}

.site-header a {
    color: #333;
    font-weight: 300;
}

.site-header nav a {
    font-size: 1rem;
    color: #666;
}

.site-header nav a:hover {
    color: #444;
    opacity: 1;
    border-bottom: 2px solid #444;
}

.site-nav a + a {
    margin-left: 1em;
}

.site-nav {
    margin: 0;
    padding: 0;
}

.site-header a:hover,
.posts .post a:hover .post-meta,
.posts .post a:hover .post-title,
.posts .post a:hover .post-summary {
    opacity: 0.88;
}

.related-post-title {
    border-bottom: thin solid #f3f3f3;
}

.posts {
    margin: 0;
}

.posts .post {
    margin-bottom: 0.75em;
    padding-bottom: .375em;
    border-bottom: thin solid #f3f3f3;
}

.posts .post:last-child {
    border-bottom: none;
    margin-bottom: .375em;
    padding-bottom: 0;
}

.post-link .post-title {
    margin-top: 0;
    font-weight: 600;
    color: #333;
}

.post-footer {
@extend . italic;

    margin-top: .75rem;
    text-align: center;
}

.post-footer .avatar {
    margin: 2rem 0;
    width: 100px;
    border-radius: 50%;
}

.pagination,
.button {
    font-size: 1rem;
    font-family: 'Lato', 'Helvetica Neue', Helvetica, sans-serif;
    font-weight: 300;
    text-align: center;
}

.pagination a, .pagination .disabled {
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    background: #fafafa;
    border-radius: 0.1875em;
    border: 1px solid #f3f3f3;
    color: #333333;
    padding: 1em 1.5em;
}

.pagination .disabled {
    opacity: 0.5;
}

.pagination a:hover, .pagination a:focus {
    background: white;
    color: #477dca;
}

.pagination a:active {
    background: #f7f7f7;
}

.wrap .measure {
    margin: 0 auto;
}

.meta,
.post-meta {
    width: auto;
    font-size: 1rem;
    font-weight: 300;
    margin: 0;
    padding: .25em 0;
    color: #7a7a7a;
    font-style: italic;
}

.pagination .button {
    font-size: 1rem;
    font-weight: 300;
    letter-spacing: 1px;
}

.button-disabled {
    opacity: 0.55;
    background-color: #999;
}

.button-disabled:hover,
.button-disabled:active,
.button-disabled:focus {
    cursor: not-allowed;
    background-color: #999;
}

form {
    font-family: 'Lato', 'Helvetica Neue', Helvetica, sans-serif;
    font-weight: 300;
    font-size: 1rem;
}

textarea.input {
    height: 8em;
}

p {
    font-weight: 300;
    line-height: 1.5;
    color: #333;
}

abbr {
    border-bottom: 1px black dotted;
    cursor: help;
}

pre, code {
    font-family: Menlo, Monaco, "Courier New", monospace
}

code {
    color: #7a7a7a;
}

pre {
    padding: 1.125em;
    font-size: 1.125rem;
    line-height: 1.11;
    overflow-x: scroll;
    margin-bottom: 0.88em;
}

.highlight .p {
    font-size: 1.125rem;
    line-height: 1;
}

blockquote {
    padding: 1.33em;
    font-style: italic;
    border-left: 5px solid #7a7a7a;
}

blockquote footer {
    font-size: .85rem;
    font-style: normal;
    background-color: #fff;
    color: #7a7a7a;
    border-color: transparent;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-family: "Lato", 'Helvetica Neue', Helvetica, sans-serif;
    font-weight: 500;
    line-height: 1.2;
    /*margin: 1.414em 0 0.5em;*/
}

.social-icons {
    padding: 0.5em 0 0 0;
    font-size: 1.25rem;
    width: 100%;
}

.social-icons a.fa {
    padding: 0.2em;
    opacity: 0.8;
    cursor: pointer;
}

.social-icons a.fa:hover {
    opacity: 1;
}

.social-icons iframe[title=Flattr] {
    position: relative;
    top: 0.1em;
}

@media screen and (min-width: 48em) {
    .site-header .site-title {
        float: left;
    }

    .meta,
    .post-meta {
        margin: 0;
        padding: 0;
        font-size: 1.25rem;
    }

    .h1,
    h1 {
        font-size: 2.701rem;
    }

    .h2,
    h2 {
        font-size: 2.298rem;
    }

    .h3,
    h3 {
        font-size: 1.625rem;
    }

    .h4,
    h4 {
        font-size: 1.150rem;
    }

    .p,
    p,
    li {
        font-size: 1.25rem;
        line-height: 1.8;
    }

    .small {
        font-size: 1rem;
    }

    .post-link .post-title {
        margin-top: 0.5em;
    }

    .posts .post {
        margin-bottom: 1.333em;
        padding-bottom: 0.666em;
        border-bottom: thin solid #f3f3f3;
    }

    .posts .post:last-child {
        border-bottom: none;
        margin-bottom: .333em;
        padding-bottom: 0;
    }
}

@media screen and (max-width: 48em) {
    .h1,
    h1 {
        font-size: 2.701rem;
    }

    .h2,
    h2 {
        font-size: 1.999rem;
    }

    .h3,
    h3 {
        font-size: 1.413rem;
    }

    .h4,
    h4 {
        font-size: 1rem;
    }

    .site-header {
        text-align: center;
    }

    .site-header .site-title {
        float: center;
    }

    .site-header .site-nav {
        width: 100%;
        float: left;
        text-align: center;
        margin-top: 0.666em;
        margin-bottom: 1.333em;
    }

    .social-icons .left, .social-icons .right {
        text-align: center;
        float: none;
    }
}

@media screen and (min-width: 64em) {
    .h1,
    h1 {
        font-size: 3.570rem;
    }

    .h2,
    h2 {
        font-size: 3.18rem;
    }

    .h3,
    h3 {
        font-size: 2.249rem;
    }

    .h4,
    h4 {
        font-size: 1.591rem;
    }

    .posts .post-meta {
        padding-bottom: .2em;
    }

    .post-link .post-title {
        margin-top: .125em;
    }

    .posts .post {
        margin-bottom: 2.666em;
        padding-bottom: 1.333em;
        border-bottom: thin solid #f3f3f3;
    }

    .posts .post:last-child {
        border-bottom: none;
        margin-bottom: .666em;
        padding-bottom: 0;
    }
}

footer {
    border-top: thin solid #f3f3f3;
}

footer,
footer .wrap {
    color: #7a7a7a;
    background-color: #fafafa;
    font-family: 'Lato', 'Helvetica Neue', Helvetica, sans-serif;
    font-weight: 300;
    clear: both;
}

footer:after {
    content: "";
    display: block;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.animated.infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.animated.hinge {
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
}

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-20px) translate3d(0, 0, 0);
        -ms-transform: translateY(-20px) translate3d(0, 0, 0);
        transform: translateY(-20px) translate3d(0, 0, 0);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0) translate3d(0, 0, 0);
        -ms-transform: translateY(0) translate3d(0, 0, 0);
        transform: translateY(0) translate3d(0, 0, 0);
    }
}

.fade-in-down {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes bounceInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px);
        transform: translateY(-2000px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(30px);
        transform: translateY(30px)
    }
    80% {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px)
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes bounceInDown {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-2000px);
        -ms-transform: translateY(-2000px);
        transform: translateY(-2000px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(30px);
        -ms-transform: translateY(30px);
        transform: translateY(30px)
    }
    80% {
        -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
        transform: translateY(-10px)
    }
    100% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown
}

@-webkit-keyframes bounceInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(2000px);
        transform: translateY(2000px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(-30px);
        transform: translateY(-30px)
    }
    80% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes bounceInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(2000px);
        -ms-transform: translateY(2000px);
        transform: translateY(2000px)
    }
    60% {
        opacity: 1;
        -webkit-transform: translateY(-30px);
        -ms-transform: translateY(-30px);
        transform: translateY(-30px)
    }
    80% {
        -webkit-transform: translateY(10px);
        -ms-transform: translateY(10px);
        transform: translateY(10px)
    }
    100% {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp
}

/* Solarized Light

For use with Jekyll and Pygments

http://ethanschoonover.com/solarized

SOLARIZED HEX      ROLE
--------- -------- ------------------------------------------
base01    #586e75  body text / default code / primary content
base1     #93a1a1  comments / secondary content
base3     #fdf6e3  background
orange    #cb4b16  constants
red       #dc322f  regex, special keywords
blue      #268bd2  reserved keywords
cyan      #2aa198  strings, numbers
green     #859900  operators, other keywords
*/

.highlight, .gist-syntax .highlight {
    background-color: #fdf6e3;
    color: #586e75
}

.highlight .c, .gist-syntax .highlight .c {
    color: #93a1a1
}

/* Comment */
.highlight .err, .gist-syntax .highlight .err {
    color: #586e75
}

/* Error */
.highlight .g, .gist-syntax .highlight .g {
    color: #586e75
}

/* Generic */
.highlight .k, .gist-syntax .highlight .k {
    color: #859900
}

/* Keyword */
.highlight .l, .gist-syntax .highlight .l {
    color: #586e75
}

/* Literal */
.highlight .n, .gist-syntax .highlight .n {
    color: #586e75
}

/* Name */
.highlight .o, .gist-syntax .highlight .o {
    color: #859900
}

/* Operator */
.highlight .x, .gist-syntax .highlight .x {
    color: #cb4b16
}

/* Other */
.highlight .p, .gist-syntax .highlight .p {
    color: #586e75
}

/* Punctuation */
.highlight .cm, .gist-syntax .highlight .cm {
    color: #93a1a1
}

/* Comment.Multiline */
.highlight .cp, .gist-syntax .highlight .cp {
    color: #859900
}

/* Comment.Preproc */
.highlight .c1, .gist-syntax .highlight .c1 {
    color: #93a1a1
}

/* Comment.Single */
.highlight .cs, .gist-syntax .highlight .cs {
    color: #859900
}

/* Comment.Special */
.highlight .gd, .gist-syntax .highlight .gd {
    color: #2aa198
}

/* Generic.Deleted */
.highlight .ge, .gist-syntax .highlight .ge {
    color: #586e75;
    font-style: italic
}

/* Generic.Emph */
.highlight .gr, .gist-syntax .highlight .gr {
    color: #dc322f
}

/* Generic.Error */
.highlight .gh, .gist-syntax .highlight .gh {
    color: #cb4b16
}

/* Generic.Heading */
.highlight .gi, .gist-syntax .highlight .gi {
    color: #859900
}

/* Generic.Inserted */
.highlight .go, .gist-syntax .highlight .go {
    color: #586e75
}

/* Generic.Output */
.highlight .gp, .gist-syntax .highlight .gp {
    color: #586e75
}

/* Generic.Prompt */
.highlight .gs, .gist-syntax .highlight .gs {
    color: #586e75;
    font-weight: bold
}

/* Generic.Strong */
.highlight .gu, .gist-syntax .highlight .gu {
    color: #cb4b16
}

/* Generic.Subheading */
.highlight .gt, .gist-syntax .highlight .gt {
    color: #586e75
}

/* Generic.Traceback */
.highlight .kc, .gist-syntax .highlight .kc {
    color: #cb4b16
}

/* Keyword.Constant */
.highlight .kd, .gist-syntax .highlight .kd {
    color: #268bd2
}

/* Keyword.Declaration */
.highlight .kn, .gist-syntax .highlight .kn {
    color: #859900
}

/* Keyword.Namespace */
.highlight .kp, .gist-syntax .highlight .kp {
    color: #859900
}

/* Keyword.Pseudo */
.highlight .kr, .gist-syntax .highlight .kr {
    color: #268bd2
}

/* Keyword.Reserved */
.highlight .kt, .gist-syntax .highlight .kt {
    color: #dc322f
}

/* Keyword.Type */
.highlight .ld, .gist-syntax .highlight .ld {
    color: #586e75
}

/* Literal.Date */
.highlight .m, .gist-syntax .highlight .m {
    color: #2aa198
}

/* Literal.Number */
.highlight .s, .gist-syntax .highlight .s {
    color: #2aa198
}

/* Literal.String */
.highlight .na, .gist-syntax .highlight .na {
    color: #586e75
}

/* Name.Attribute */
.highlight .nb, .gist-syntax .highlight .nb {
    color: #B58900
}

/* Name.Builtin */
.highlight .nc, .gist-syntax .highlight .nc {
    color: #268bd2
}

/* Name.Class */
.highlight .no, .gist-syntax .highlight .no {
    color: #cb4b16
}

/* Name.Constant */
.highlight .nd, .gist-syntax .highlight .nd {
    color: #268bd2
}

/* Name.Decorator */
.highlight .ni, .gist-syntax .highlight .ni {
    color: #cb4b16
}

/* Name.Entity */
.highlight .ne, .gist-syntax .highlight .ne {
    color: #cb4b16
}

/* Name.Exception */
.highlight .nf, .gist-syntax .highlight .nf {
    color: #268bd2
}

/* Name.Function */
.highlight .nl, .gist-syntax .highlight .nl {
    color: #586e75
}

/* Name.Label */
.highlight .nn, .gist-syntax .highlight .nn {
    color: #586e75
}

/* Name.Namespace */
.highlight .nx, .gist-syntax .highlight .nx {
    color: #586e75
}

/* Name.Other */
.highlight .py, .gist-syntax .highlight .py {
    color: #586e75
}

/* Name.Property */
.highlight .nt, .gist-syntax .highlight .nt {
    color: #268bd2
}

/* Name.Tag */
.highlight .nv, .gist-syntax .highlight .nv {
    color: #268bd2
}

/* Name.Variable */
.highlight .ow, .gist-syntax .highlight .ow {
    color: #859900
}

/* Operator.Word */
.highlight .w, .gist-syntax .highlight .w {
    color: #586e75
}

/* Text.Whitespace */
.highlight .mf, .gist-syntax .highlight .mf {
    color: #2aa198
}

/* Literal.Number.Float */
.highlight .mh, .gist-syntax .highlight .mh {
    color: #2aa198
}

/* Literal.Number.Hex */
.highlight .mi, .gist-syntax .highlight .mi {
    color: #2aa198
}

/* Literal.Number.Integer */
.highlight .mo, .gist-syntax .highlight .mo {
    color: #2aa198
}

/* Literal.Number.Oct */
.highlight .sb, .gist-syntax .highlight .sb {
    color: #93a1a1
}

/* Literal.String.Backtick */
.highlight .sc, .gist-syntax .highlight .sc {
    color: #2aa198
}

/* Literal.String.Char */
.highlight .sd, .gist-syntax .highlight .sd {
    color: #586e75
}

/* Literal.String.Doc */
.highlight .s2, .gist-syntax .highlight .s2 {
    color: #2aa198
}

/* Literal.String.Double */
.highlight .se, .gist-syntax .highlight .se {
    color: #cb4b16
}

/* Literal.String.Escape */
.highlight .sh, .gist-syntax .highlight .sh {
    color: #586e75
}

/* Literal.String.Heredoc */
.highlight .si, .gist-syntax .highlight .si {
    color: #2aa198
}

/* Literal.String.Interpol */
.highlight .sx, .gist-syntax .highlight .sx {
    color: #2aa198
}

/* Literal.String.Other */
.highlight .sr, .gist-syntax .highlight .sr {
    color: #dc322f
}

/* Literal.String.Regex */
.highlight .s1, .gist-syntax .highlight .s1 {
    color: #2aa198
}

/* Literal.String.Single */
.highlight .ss, .gist-syntax .highlight .ss {
    color: #2aa198
}

/* Literal.String.Symbol */
.highlight .bp, .gist-syntax .highlight .bp {
    color: #268bd2
}

/* Name.Builtin.Pseudo */
.highlight .vc, .gist-syntax .highlight .vc {
    color: #268bd2
}

/* Name.Variable.Class */
.highlight .vg, .gist-syntax .highlight .vg {
    color: #268bd2
}

/* Name.Variable.Global */
.highlight .vi, .gist-syntax .highlight .vi {
    color: #268bd2
}

/* Name.Variable.Instance */
.highlight .il, .gist-syntax .highlight .il {
    color: #2aa198
}

/* Literal.Number.Integer.Long */
