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

html, body {
    margin: 0;
    padding: 0
}

html {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5
}

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

body {
    color: #515151;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%
}

a {
    color: #268bd2;
    text-decoration: none
}

a strong {
    color: inherit
}

a:hover, a:focus {
    text-decoration: underline
}

h1, h2, h3, h4, h5, h6 {
    margin-bottom: .5rem;
    font-weight: bold;
    line-height: 1.25;
    color: #313131;
    text-rendering: optimizeLegibility
}

h1 {
    font-size: 2rem
}

h2 {
    margin-top: 1rem;
    font-size: 1.5rem
}

h3 {
    margin-top: 1.5rem;
    font-size: 1.25rem
}

h4, h5, h6 {
    margin-top: 1rem;
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

strong {
    color: #303030
}

ul, ol, dl {
    margin-top: 0;
    margin-bottom: 1rem
}

dt {
    font-weight: bold
}

dd {
    margin-bottom: .5rem
}

hr {
    position: relative;
    margin: 1.5rem 0;
    border: 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #fff
}

abbr {
    font-size: 85%;
    font-weight: bold;
    color: #555;
    text-transform: uppercase
}

abbr[title] {
    cursor: help;
    border-bottom: 1px dotted #e5e5e5
}

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

code {
    padding: .25em .5em;
    font-size: 85%;
    color: #bf616a;
    background-color: #f9f9f9;
    border-radius: 3px
}

pre {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    margin-top: 0;
    margin-bottom: 1rem;
    padding: 1rem;
    font-size: .8rem;
    line-height: 1.4;
    white-space: pre;
    white-space: pre;
    word-break: break-all;
    word-wrap: break-word;
    background-color: #f9f9f9
}

pre code {
    padding: 0;
    font-size: 100%;
    color: inherit;
    background-color: transparent
}



img {
    display: block;
    max-width: 100%;
    margin: 0 0 1rem;
    border-radius: 5px
}

table {
    margin-bottom: 1rem;
    width: 100%;
    border: 1px solid #e5e5e5;
    border-collapse: collapse
}

td, th {
    padding: .25rem .5rem;
    border: 1px solid #e5e5e5
}

tbody tr:nth-child(odd) td, tbody tr:nth-child(odd) th {
    background-color: #f9f9f9
}

.lead {
    font-size: 1.25rem;
    font-weight: 300
}

.message {
    margin-bottom: 1rem;
    padding: 1rem;
    color: #717171;
    background-color: #f9f9f9
}

.container {
    max-width: 38rem;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: auto;
    margin-right: auto
}

.masthead {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem
}

.masthead-title {
    margin-top: 0;
    margin-bottom: 0;
    color: #505050
}

.masthead-title a {
    color: #505050
}

.masthead-title small {
    font-size: 75%;
    font-weight: 400;
    color: #c0c0c0;
    letter-spacing: 0
}

.page, .post {
    margin-bottom: 4em
}

.page-title, .post-title, .post-title a {
    color: #303030
}

.page-title, .post-title {
    margin-top: 0
}

.post-date {
    display: block;
    margin-top: -.5rem;
    margin-bottom: 1rem;
    color: #9a9a9a
}

.related {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid #eee
}

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

.related-posts h3 {
    margin-top: 0
}

.related-posts li small {
    font-size: 75%;
    color: #999
}

.related-posts li a:hover {
    color: #268bd2;
    text-decoration: none
}

.related-posts li a:hover small {
    color: inherit
}

.pagination {
    overflow: hidden;
    margin-left: -1rem;
    margin-right: -1rem;
    font-family: "PT Sans", Helvetica, Arial, sans-serif;
    color: #ccc;
    text-align: center
}

.pagination-item {
    display: block;
    padding: 1rem;
    border: 1px solid #eee
}

.pagination-item:first-child {
    margin-bottom: -1px
}

a.pagination-item:hover {
    background-color: #f5f5f5
}

@media (min-width: 30em) {
    .pagination {
        margin: 3rem 0
    }

    .pagination-item {
        float: left;
        width: 50%
    }

    .pagination-item:first-child {
        margin-bottom: 0;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px
    }

    .pagination-item:last-child {
        margin-left: -1px;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px
    }
}

.wrap {
    position: relative;
    width: 100%
}

.container {
    max-width: 28rem
}

.container a {
    color: #6a9fb5
}

@media (min-width: 38em) {
    .container {
        max-width: 32rem
    }

    .container.content {
        padding-top: 6.5rem
    }
}

@media (min-width: 56em) {
    .container {
        max-width: 40rem
    }
}

::-moz-selection {
    background: #6a9fb5;
    color: #fff
}

::selection {
    background: #6a9fb5;
    color: #fff
}

html, body {
    overflow-x: hidden
}

html {
    font-family: "PT Serif", Georgia, "Times New Roman", serif;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-rendering: optimizelegibility
}

h1, h2, h3, h4, h5, h6 {
    font-family: "PT Sans", Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: #313131;
    letter-spacing: -.025rem
}



.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 14rem;
    visibility: hidden;
    overflow-y: auto;
    font-family: "PT Sans", Helvetica, Arial, sans-serif;
    font-size: .875rem;
    color: rgba(255, 255, 255, 0.6);
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    left: auto;
    right: -14rem;
    background-color: #6a9fb5
}

@media (min-width: 30em) {
    .sidebar {
        font-size: .75rem
    }
}

.sidebar a {
    font-weight: normal;
    color: #fff
}

.sidebar-item {
    padding: 1rem
}

.sidebar-item p:last-child {
    margin-bottom: 0
}

.sidebar-nav {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1)
}

.sidebar-nav-item {
    display: block;
    padding: .5rem 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1)
}

.sidebar-nav-item-sub {
    font-size: 85%;
    line-height: 85%
}

.sidebar-nav-item-sub:before {
    content: "";
    padding-left: 1em
}

.sidebar-nav-item.active, a.sidebar-nav-item:hover, a.sidebar-nav-item:focus {
    text-decoration: none;
    background-color: rgba(255, 255, 255, 0.1);
    border-color: transparent
}

@media (min-width: 48em) {
    .sidebar-item {
        padding: 1.5rem
    }

    .sidebar-nav-item {
        padding-left: 1.5rem;
        padding-right: 1.5rem
    }
}

.sidebar-checkbox {
    position: absolute;
    opacity: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.sidebar-toggle {
    position: absolute;
    top: .8rem;
    left: auto;
    right: 1rem;
    display: block;
    padding: .25rem .75rem;
    color: #6a9fb5;
    background-color: #fff;
    border-radius: .25rem;
    cursor: pointer
}

.sidebar-toggle:before {
    display: inline-block;
    width: 1rem;
    height: .75rem;
    content: "";
    background-image: -webkit-linear-gradient( top , #4e869e, #4e869e 20%, #fff 20%, #fff 40%, #4e869e 40%, #4e869e 60%, #fff 60%, #fff 80%, #4e869e 80%, #4e869e 100%);
    background-image: linear-gradient(to bottom, #4e869e, #4e869e 20%, #fff 20%, #fff 40%, #4e869e 40%, #4e869e 60%, #fff 60%, #fff 80%, #4e869e 80%, #4e869e 100%)
}

.sidebar-toggle:active, #sidebar-checkbox:focus ~ .sidebar-toggle,
#sidebar-checkbox:checked ~ .sidebar-toggle {
    color: #fff;
    background-color: #6a9fb5
}

.sidebar-toggle:active:before, #sidebar-checkbox:focus ~ .sidebar-toggle:before,
#sidebar-checkbox:checked ~ .sidebar-toggle:before {
    background-image: -webkit-linear-gradient( top , #fff, #fff 20%, #4e869e 20%, #4e869e 40%, #fff 40%, #fff 60%, #4e869e 60%, #4e869e 80%, #fff 80%, #fff 100%);
    background-image: linear-gradient(to bottom, #fff, #fff 20%, #4e869e 20%, #4e869e 40%, #fff 40%, #fff 60%, #4e869e 60%, #4e869e 80%, #fff 80%, #fff 100%)
}

@media (min-width: 30.1em) {
    .sidebar-toggle {
        position: fixed
    }
}

@media print {
    .sidebar-toggle {
        display: none
    }
}

.wrap, .sidebar, .sidebar-toggle {
    -webkit-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    backface-visibility: hidden
}

.wrap, .sidebar-toggle {
    -webkit-transition: -webkit-transform .3s ease-in-out;
    -moz-transition: -moz-transform .3s ease-in-out;
    transition: transform .3s ease-in-out
}

#sidebar-checkbox:checked + .sidebar {
    z-index: 10;
    visibility: visible
}

#sidebar-checkbox:checked ~ .wrap {
    -webkit-transform: translateX(-14rem);
    -moz-transform: translateX(-14rem);
    -ms-transform: translateX(-14rem);
    -o-transform: translateX(-14rem);
    transform: translateX(-14rem)
}

#sidebar-checkbox:checked ~ .sidebar {
    -webkit-transform: translateX(-14rem);
    -moz-transform: translateX(-14rem);
    -ms-transform: translateX(-14rem);
    -o-transform: translateX(-14rem);
    transform: translateX(-14rem)
}

#sidebar-checkbox:checked ~ .sidebar-toggle {
    -webkit-transform: translateX(-14rem);
    -moz-transform: translateX(-14rem);
    -ms-transform: translateX(-14rem);
    -o-transform: translateX(-14rem);
    transform: translateX(-14rem)
}

.sidebar-personal-info .sidebar-personal-info-section {
    line-height: 1rem
}

.sidebar-personal-info .sidebar-personal-info-section:not(:first-of-type) {
    margin-top: .75rem
}

.sidebar-personal-info .sidebar-personal-info-section a, .sidebar-personal-info .sidebar-personal-info-section strong {
    color: #fff;
    text-decoration: none
}

.hero {
    text-align: center;
    font-size: 0.75rem
}

.hero img {
    height: 28rem;
    width: auto;
    display: inline;
    margin-top: -1rem
}

.post {
    margin-bottom: 4em
}

.post h1, .post h2, .post h3, .post h4, .post h5, .post h6 {
    font-weight: 700
}

@media (min-width: 38rem) {
    .post {
        font-size: .8rem
    }

    .post h1 {
        font-size: 1.6rem
    }

    .post h2 {
        margin: 2em 0 1em 0;
        font-size: 1.0rem
    }

    .post h3, .post h4, .post h5, .post h6 {
        margin: 2em 0 1em 0;
        font-size: 0.8rem
    }
}

.post .post-title {
    color: #6a9fb5;
    margin-top: 0
}

.post .post-date {
    display: inline-block;
    margin-top: -.5rem;
    margin-bottom: 1rem;
    color: #9a9a9a
}

.post .post-more {
    margin-top: .5em;
    text-align: right
}

.post .post-more .fa {
    margin-right: .2em
}

.post article {
    line-height: 1.4rem
}

.post img {
    margin: 0 auto 1rem auto
}

.related {
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-top: 1px solid #eee
}

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

.related-posts h3 {
    margin-top: 0
}

.related-posts li small {
    font-size: 75%;
    color: #999
}

.related-posts li a:hover {
    color: #6a9fb5;
    text-decoration: none
}

.related-posts li a:hover small {
    color: inherit
}

.page {
    margin-bottom: 4em
}

.page .page-title {
    color: #6a9fb5;
    margin-top: 0;
    text-transform: uppercase
}

.post-tag {
    display: inline-block;
    background: rgba(106, 159, 181, 0.15);
    padding: 0 .5rem;
    margin-right: .5rem;
    border-radius: 4px;
    color: #6a9fb5;
    font-family: "PT Sans", Helvetica, Arial, sans-serif;
    font-size: 90%;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out
}

.post-tag:before {
    content: "\f02b";
    font-family: FontAwesome;
    padding-right: .5em
}

.post-tag:hover {
    text-decoration: none;
    background: #6a9fb5;
    color: #fff
}

.tags-expo :target:before {
    content: "";
    display: block;
    height: 72px;
    margin: -72px 0 0
}

@media (min-width: 38em) {
    .tags-expo .tags-expo-list {
        font-size: 0.9rem
    }

    .tags-expo .tags-expo-list .post-tag {
        margin: .2em .3em
    }
}

.tags-expo .tags-expo-section {
    font-family: "PT Sans", Helvetica, Arial, sans-serif
}

.tags-expo .tags-expo-section ul {
    list-style-type: circle;
    list-style-position: inside;
    padding: 0
}

.tags-expo .tags-expo-section ul li {
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;
    padding: 0 1rem
}

.tags-expo .tags-expo-section ul li:hover {
    list-style-type: disc;
    padding: 0 .5rem
}

.tags-expo .tags-expo-section a {
    text-decoration: none
}

.tags-expo .tags-expo-section .post-date {
    display: inline-block;
    font-size: 80%;
    color: #9a9a9a;
    margin: 0;
    padding: 0
}

.masthead {
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem;
    border-bottom: 1px solid #eee;
    background-color: rgba(255, 255, 255, 0.75)
}

@media (min-width: 30rem) {
    .masthead {
        position: fixed;
        width: 100%
    }
}

.masthead .masthead-title {
    margin-top: 0;
    margin-bottom: 0;
    color: #6a9fb5
}

.masthead .masthead-title a {
    color: #6a9fb5;
    text-decoration: none
}

.masthead .masthead-title small {
    font-size: 75%;
    font-weight: 400;
    color: silver;
    letter-spacing: 0
}

@media (max-width: 48em) {
    .masthead .masthead-title {
        text-align: center
    }

    .masthead .masthead-title small {
        display: none
    }
}

.masthead .masthead-logo {
    height: 30px;
    width: auto;
    vertical-align: text-bottom;
    display: inline;
    padding: 0;
    margin: 0
}

.pagination {
    overflow: hidden;
    margin-left: -1rem;
    margin-right: -1rem;
    font-family: "PT Sans", Helvetica, Arial, sans-serif;
    color: #ccc;
    text-align: center
}

.pagination-item {
    display: block;
    padding: 1rem;
    border: 1px solid #eee
}

.pagination-item:first-child {
    margin-bottom: -1px
}

a.pagination-item:hover {
    background-color: #f5f5f5
}

@media (min-width: 30em) {
    .pagination {
        margin: 3rem 0
    }

    .pagination-item {
        float: left;
        width: 50%
    }

    .pagination-item:first-child {
        margin-bottom: 0;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px
    }

    .pagination-item:last-child {
        margin-left: -1px;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px
    }
}

.codinfox-changing-keywords {
    width: 7em;
    position: relative;
    vertical-align: top;
    display: inline-block
}

.codinfox-changing-keywords b {
    color: #fff;
    position: absolute;
    left: 0;
    top: .3em;
    display: inline-block;
    opacity: 0;
    transition: all 0.2s ease-out
}

.codinfox-changing-keywords b.hidden {
    animation: slide-out 0.6s;
    -webkit-animation: slide-out 0.6s
}

.codinfox-changing-keywords b.visible {
    opacity: 1;
    top: 0;
    animation: slide-in 0.6s;
    -webkit-animation: slide-in 0.6s
}

