* { -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.375; }
@media (min-width: 38em) { html { font-size: 18px; } }

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

audio, img, video { vertical-align: middle; }

textarea { resize: vertical; }

.caption--quote-source:before { content: '\2014'; }

.featured-quote { quotes: '\201C' '\201D' '\2018' '\2019'; }

.featured-quote:before { content: open-quote; }

.featured-quote:after { content: close-quote; }

figure { margin: 0; padding: 0; }

a, .link { color: #268bd2; text-decoration: none; }
a:hover, a:focus, .link:hover, .link:focus { text-decoration: underline; }
a strong, .link strong { color: inherit; }

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

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

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

th { text-align: left; }

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

.margin-auto { margin: auto; display: block; }

h1 { font-size: 2.8125rem; line-height: 4.125rem; margin-top: 2.75rem; margin-bottom: 1.375rem; }

h2 { font-size: 2rem; line-height: 2.75rem; margin-top: 2.75rem; margin-bottom: 1.375rem; }

h3 { font-size: 1.4375rem; line-height: 2.75rem; margin-top: 1.375rem; margin-bottom: 1.375rem; }

h4 { font-size: 1rem; line-height: 1.375rem; margin-top: 1.375rem; margin-bottom: 0rem; }

p, ul, ol, pre, table, blockquote { margin-top: 1.375rem; margin-bottom: 1.375rem; }

/* Sanitation */
hr { border: 1px solid; margin: -1px 0; }

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

b, strong, em, small, code { line-height: 1; }

sup, sub { vertical-align: baseline; position: relative; top: -0.4em; }

sub { top: 0.4em; }

dt { font-weight: bold; }

dd { margin-bottom: .5rem; }

abbr { font-size: 85%; font-weight: bold; color: #555; text-transform: uppercase; }
abbr[title] { cursor: help; border-bottom: 1px dotted #e5e5e5; }

blockquote { padding: .5rem 1rem; margin: .8rem 0; color: #7a7a7a; border-left: .25rem solid #e5e5e5; }
blockquote p:last-child { margin-bottom: 0; }
@media (min-width: 30em) { blockquote { padding-right: 5rem; padding-left: 1.25rem; } }

a[href^="#fn:"], a[href^="#fnref:"] { display: inline-block; margin-left: .1rem; font-weight: bold; }

.footnotes { margin-top: 2rem; font-size: 85%; }

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

.highlight .hll { background-color: #ffc; }

.highlight .c { color: #999; }

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

/* Error */
.highlight .k { color: #069; }

/* Keyword */
.highlight .o { color: #555; }

/* Operator */
.highlight .cm { color: #09f; font-style: italic; }

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

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

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

/* Comment.Special */
.highlight .gd { background-color: #fcc; border: 1px solid #c00; }

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

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

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

/* Generic.Heading */
.highlight .gi { background-color: #cfc; border: 1px solid #0c0; }

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

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

/* Generic.Prompt */
/* Generic.Strong */
.highlight .gu { color: #030; }

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

/* Generic.Traceback */
.highlight .kc { color: #069; }

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

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

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

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

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

/* Keyword.Type */
.highlight .m { color: #f60; }

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

/* Literal.String */
.highlight .na { color: #4f9fcf; }

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

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

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

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

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

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

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

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

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

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

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

/* Name.Variable */
.highlight .ow { color: #000; }

/* Operator.Word */
.highlight .w { color: #bbb; }

/* Text.Whitespace */
.highlight .mf { color: #f60; }

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

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

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

/* Literal.Number.Oct */
.highlight .sb { color: #c30; }

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

/* Literal.String.Char */
.highlight .sd { color: #c30; font-style: italic; }

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

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

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

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

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

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

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

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

/* Literal.String.Symbol */
.highlight .bp { color: #366; }

/* Name.Builtin.Pseudo */
.highlight .vc { color: #033; }

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

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

/* Name.Variable.Instance */
.highlight .il { color: #f60; }

/* Literal.Number.Integer.Long */
.css .o, .css .o + .nt, .css .nt + .nt { color: #999; }

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 { margin-top: 0; margin-bottom: 1rem; }

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

.highlight { padding: 1rem; margin-bottom: 1rem; font-size: .8rem; line-height: 1.4; background-color: #f9f9f9; border-radius: .25rem; }
.highlight pre { margin-bottom: 0; overflow-x: auto; }
.highlight .lineno { display: inline-block; padding-right: .75rem; padding-left: .25rem; color: #999; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

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

footer { margin-bottom: 2rem; }

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

.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, .single-post { padding-bottom: 1em; margin-bottom: 3em; display: block; border-bottom: solid 1px #ccc; }
.index-list .page, .index-list .post, .index-list .single-post { border: 0; padding: 0; }

.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; }

.post-media iframe { width: 100%; }

.video-media { width: 100%; height: auto; }
@media (min-width: 48em) { .video-media { height: 460px; } }

.pagination { overflow: hidden; color: #ccc; text-align: center; }

.pagination-item { display: block; padding: 1rem; border: solid #eee; border-width: 1px 0; }
.pagination-item:first-child { margin-bottom: -1px; }

a.pagination-item:hover { background-color: #f5f5f5; text-decoration: none; }

@media (min-width: 30em) { .pagination { margin: 3rem 0; }
  .pagination-item { float: left; width: 50%; border-width: 1px; }
  .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; } }
.message { margin-bottom: 1rem; padding: 1rem; color: #717171; background-color: #f9f9f9; }

/* Contents  Global resets Sidebar Container Reverse layout Themes */
/* Global resets  Update the foundational and global aspects of the page. */
html { /* font-family: Arial, Helvetica, sans-serif; */ font-family: "Lato", sans-serif; }

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

@media (min-width: 48em) { html { font-size: 16px; } }
@media (min-width: 58em) { html { font-size: 20px; } }
/* Sidebar  Flexible banner for housing site name, intro, and "footer" content. Starts out above content in mobile and later moves to the side with wider viewports. */
.sidebar { text-align: center; padding: 2rem 1rem; background-color: #202020; }

@media (min-width: 48em) { .sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 18rem; text-align: left; } }
/* Sidebar links */
/* About section */
.sidebar-about .profile_photo { background-image: url(https://lh3.googleusercontent.com/D3GlFfvAyoH4MshO9PjuaCU7Khs31jQPxx7560yePrTI=w730-h972-no); width: 100%; height: 100%; max-width: 13rem; max-height: 13rem; overflow: hidden; border-radius: 100%; background-size: 168%; background-position: 35% 40%; line-height: 13rem; margin: auto; padding: 0; font-size: 1rem; text-indent: -100rem; border: solid 4px white; background-clip: content-box; }
.sidebar-about h1 { color: #fff; margin-top: 0; font-size: 2rem; font-weight: 800; text-transform: lowercase; }
.sidebar-about .lead { font-size: 1rem; font-weight: 300; }

/* Blog Nav */
.site-header { border-bottom: solid 1px #ccc; }

.site-nav { list-style: none; margin: 0; padding: 0; display: flex; display: -webkit-flex; justify-content: space-around; -webkit-justify-content: space-around; }
@media (min-width: 48em) { .site-nav { justify-content: space-between; -webkit-justify-content: space-between; } }

/* Sidebar nav */
.sidebar-nav { margin-bottom: 1rem; }

.sidebar-nav-item { display: block; line-height: 1.75; }

a.sidebar-nav-item:hover, a.sidebar-nav-item:focus { text-decoration: underline; }

.sidebar-nav-item.active { font-weight: bold; }

/* Sticky sidebar  Add the `sidebar-sticky` class to the sidebar's container to affix it the contents to the bottom of the sidebar in tablets and up. */
@media (min-width: 48em) { .sidebar-sticky { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; } }
/* Container  Align the contents of the site above the proper threshold with some margin-fu with a 25%-wide `.sidebar`. */
.content.container.index-list { max-width: 100%; display: flex; }
.content.container.index-list .posts { display: flex; flex-wrap: wrap; }
@media (min-width: 64em) { .content.container.index-list .posts .post { margin-right: 4em; } }

.other-posts { margin-top: 2em; display: flex; display: -webkit-flex; flex-wrap: wrap; -webkit-flex-wrap: wrap; justify-content: space-around; -webkit-justify-content: space-around; }
.other-posts .other-post { width: 46%; filter: grayscale(100%); -webkit-filter: grayscale(100%); }
.other-posts .other-post:hover { filter: grayscale(0%); -webkit-filter: grayscale(0%); }

.content { padding-top: 4rem; padding-bottom: 4rem; }
.content.site-header { padding-top: 1rem; padding-bottom: 1rem; }
.content.pagination { padding-top: 0; }

@media (min-width: 48em) { .content { max-width: 38rem; margin-left: 20rem; margin-right: 2rem; }
  .content.site-header { padding-top: 3rem; } }
@media (min-width: 64em) { .content { margin-left: 22rem; margin-right: 4rem; } }
/* Reverse layout  Flip the orientation of the page by placing the `.sidebar` on the right. */
@media (min-width: 48em) { .layout-reverse .sidebar { left: auto; right: 0; }
  .layout-reverse .content { margin-left: 2rem; margin-right: 20rem; } }
@media (min-width: 64em) { .layout-reverse .content { margin-left: 4rem; margin-right: 22rem; } }
/* Themes  As of v1.1, Hyde includes optional themes to color the sidebar and links within blog posts. To use, add the class of your choosing to the `body`. */
/* Base16 (http://chriskempson.github.io/base16/#default) */
/* Red */
.theme-base-08 .sidebar { background-color: #ac4142; }

.theme-base-08 .content a, .theme-base-08 .related-posts li a:hover { color: #ac4142; }

/* Orange */
.theme-base-09 .sidebar { background-color: #d28445; }

.theme-base-09 .content a, .theme-base-09 .related-posts li a:hover { color: #d28445; }

/* Yellow */
.theme-base-0a .sidebar { background-color: #f4bf75; }

.theme-base-0a .content a, .theme-base-0a .related-posts li a:hover { color: #f4bf75; }

/* Green */
.theme-base-0b .sidebar { background-color: #90a959; }

.theme-base-0b .content a, .theme-base-0b .related-posts li a:hover { color: #90a959; }

/* Cyan */
.theme-base-0c .sidebar { background-color: #75b5aa; }

.theme-base-0c .content a, .theme-base-0c .related-posts li a:hover { color: #75b5aa; }

/* Blue */
.theme-base-0d .sidebar { background-color: #6a9fb5; }

.theme-base-0d .content a, .theme-base-0d .related-posts li a:hover { color: #6a9fb5; }

/* Magenta */
.theme-base-0e .sidebar { background-color: #aa759f; }

.theme-base-0e .content a, .theme-base-0e .related-posts li a:hover { color: #aa759f; }

/* Brown */
.theme-base-0f .sidebar { background-color: #8f5536; }

.theme-base-0f .content a, .theme-base-0f .related-posts li a:hover { color: #8f5536; }

/* MENG */
.theme-base-meng .sidebar { background-color: antiquewhite; color: #000; }
.theme-base-meng .sidebar a { color: #000; }
.theme-base-meng .sidebar .link { color: #2eaebb; }
.theme-base-meng a, .theme-base-meng .link { color: #2eaebb; text-decoration: none; }
.theme-base-meng a:hover, .theme-base-meng a:focus, .theme-base-meng .link:hover, .theme-base-meng .link:focus { text-decoration: underline; }
.theme-base-meng a strong, .theme-base-meng .link strong { color: inherit; }

/* Preload images */
body:after { content: url(../public/js/images/close.png) url(../public/js/images/loading.gif) url(../public/js/images/prev.png) url(../public/js/images/next.png); display: none; }

body.lb-disable-scrolling { overflow: hidden; }

.lightboxOverlay { position: absolute; top: 0; left: 0; z-index: 9999; background-color: #333; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80); opacity: 0.5; display: none; }

.lightbox { position: absolute; left: 0; width: 100%; z-index: 10000; text-align: center; line-height: 0; font-weight: normal; }

.lightbox .lb-image { display: block; height: auto; max-width: inherit; border-radius: 3px; }

.lightbox a img { border: none; }

.lb-outerContainer { position: relative; background-color: white; *zoom: 1; width: 250px; height: 250px; margin: 0 auto; border-radius: 4px; }

.lb-outerContainer:after { content: ""; display: table; clear: both; }

.lb-container { padding: 4px; }

.lb-loader { position: absolute; top: 43%; left: 0; height: 25%; width: 100%; text-align: center; line-height: 0; }

.lb-cancel { display: block; width: 32px; height: 32px; margin: 0 auto; background: url(../public/js/images/loading.gif) no-repeat; }

.lb-nav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }

.lb-container > .nav { left: 0; }

.lb-nav a { outline: none; background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next { height: 100%; cursor: pointer; display: block; }

.lb-nav a.lb-prev { width: 34%; left: 0; float: left; background: url(../public/js/images/prev.png) left 48% no-repeat; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transition: opacity 0.6s; -moz-transition: opacity 0.6s; -o-transition: opacity 0.6s; transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; }

.lb-nav a.lb-next { width: 64%; right: 0; float: right; background: url(../public/js/images/next.png) right 48% no-repeat; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -webkit-transition: opacity 0.6s; -moz-transition: opacity 0.6s; -o-transition: opacity 0.6s; transition: opacity 0.6s; }

.lb-nav a.lb-next:hover { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; }

.lb-dataContainer { margin: 0 auto; padding-top: 5px; *zoom: 1; width: 100%; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }

.lb-dataContainer:after { content: ""; display: table; clear: both; }

.lb-data { padding: 0 4px; color: #ccc; }

.lb-data .lb-details { width: 85%; float: left; text-align: left; line-height: 1.1em; }

.lb-data .lb-caption { font-size: 13px; font-weight: bold; line-height: 1em; }

.lb-data .lb-number { display: block; clear: left; padding-bottom: 1em; font-size: 12px; color: #999999; }

.lb-data .lb-close { display: block; float: right; width: 30px; height: 30px; background: url(../public/js/images/close.png) top right no-repeat; text-align: right; outline: none; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70); opacity: 0.7; -webkit-transition: opacity 0.2s; -moz-transition: opacity 0.2s; -o-transition: opacity 0.2s; transition: opacity 0.2s; }

.lb-data .lb-close:hover { cursor: pointer; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; }
