/*!
 * Caches To Caches - Gregory Stein
 * Copyright 2016 CachesToCaches.com / Gregory Stein
 * Licensed under MIT
 *
 * Social Media Icons Designed by Ibrandify - Freepik.com
 * responsive-embed class from Bootstrap 3.2.0
 */@import url(https://fonts.googleapis.com/css2?family=Marcellus+SC&family=Alegreya:ital,wght@0,400;0,700;1,400&family=Alegreya+SC&display=swap);body{color:#333;background-color:#fdfefa;font-family:Alegreya,serif;font-size:18px;line-height:26px;margin:0}div{display:block}a{text-decoration:none;color:#333;border-bottom:1px dotted #6e2b2b}a:hover{color:#6e2b2b;border-bottom:1px solid #6e2b2b}h1,h2,h3,h4,h5,h6{text-transform:none;font-family:'Marcellus SC',sans-serif;line-height:1}h1{font-size:46px}h2{font-size:38px}h3{font-size:31px}h4{font-size:23px}h5{font-size:18px}h6{font-size:16px}@media screen and (max-width:909px){h1{font-size:41px}h2{font-size:34px}h3{font-size:28px}h4{font-size:20px}h5{font-size:16px}h6{font-size:14px}}.dark-background{background:#422;color:#c8b6b6}.dark-background a{color:#c8b6b6;border:0}.dark-background a:hover{color:#f1eaea}.dark-background .center-dot:before{color:#c8b6b6;content:".";padding:0 4px;vertical-align:15%}.dark-background .description,.dark-background li{color:#a78b8b;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #422}.dark-background .description a,.dark-background li a{color:#a78b8b}.dark-background .active{border-color:#a78b8b}.center-text{text-align:center}.sidebar{height:100%;position:fixed;padding-top:20px;font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;width:320px;background:#422;color:#c8b6b6}.sidebar a{color:#c8b6b6;border:0}.sidebar a:hover{color:#f1eaea}.sidebar .center-dot:before{color:#c8b6b6;content:".";padding:0 4px;vertical-align:15%}.sidebar .description,.sidebar li{color:#a78b8b;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #422}.sidebar .description a,.sidebar li a{color:#a78b8b}.sidebar .active{border-color:#a78b8b}@media screen and (max-width:1229px){.sidebar{display:none}}@media print{.sidebar{display:none}}.sidebar .title{font-family:'Marcellus SC',sans-serif;text-transform:none;line-height:1}.sidebar .content{margin:20px 40px}.sidebar hr{border:0;border-top:1px solid #a78b8b;margin:4px 0}.sidebar ul{list-style-type:none;margin:0;padding:0}.sidebar .floating-description{color:#a78b8b;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #422;color:#422;border-left:1px none #422;width:240px;bottom:2.5em;position:fixed}.sidebar .floating-description a{color:#a78b8b}.sidebar .floating-description a{color:#422}.sidebar .floating-description a:hover{color:#9d2f2f}.sidebar .bottom-art{width:320px;position:absolute;left:0;bottom:1em}.footer,.header{display:none;background:#422;color:#c8b6b6;min-height:40px;padding:0 40px 0 360px;position:relative}@media screen and (max-width:1229px){.footer,.header{display:block}}.footer a,.header a{color:#c8b6b6;border:0}.footer a:hover,.header a:hover{color:#f1eaea}.footer .center-dot:before,.header .center-dot:before{color:#c8b6b6;content:".";padding:0 4px;vertical-align:15%}.footer .description,.footer li,.header .description,.header li{color:#a78b8b;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #422}.footer .description a,.footer li a,.header .description a,.header li a{color:#a78b8b}.footer .active,.header .active{border-color:#a78b8b}@media screen and (max-width:1229px){.footer,.header{padding:0 40px 0 40px}}@media screen and (max-width:909px){.footer,.header{padding:0 20px 0 20px}}.footer .content,.header .content{font-family:freight-sans-condensed-pro,Alegreya,serif;max-width:550px;line-height:1;padding-top:8px;padding-bottom:8px;padding-right:280px}@media screen and (max-width:909px){.footer .content,.header .content{padding-right:0}}@media screen and (max-width:1229px){.footer .content,.header .content{margin:auto}}.footer .floating-description,.header .floating-description{color:#a78b8b;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #422}.footer .floating-description a,.header .floating-description a{color:#a78b8b}.footer{padding:20px 0}.page{margin:0 40px 0 360px;padding-top:20px;position:relative}@media screen and (max-width:1229px){.page{margin:0 40px 0 40px}}@media screen and (max-width:909px){.page{margin:0 20px 0 20px}}.page .title a,.page a.title{border:0;border-bottom:0}.page blockquote{font-family:tekton-pro,Alegreya,serif;font-size:24px;line-height:1.1}.page .content,.page .content-bottom,.page .content-top{max-width:550px;padding-right:280px}.page .content p,.page .content-bottom p,.page .content-top p{text-align:justify}.page .content pre,.page .content-bottom pre,.page .content-top pre{margin:-10px;padding:10px;box-shadow:2px 5px 10px #ccc}.page .content .quote-wrapper,.page .content-bottom .quote-wrapper,.page .content-top .quote-wrapper{margin:-10px;padding:10px}.page .content ul,.page .content-bottom ul,.page .content-top ul{padding-left:0}.page .content li,.page .content-bottom li,.page .content-top li{line-height:24px;padding-bottom:4px;padding-top:4px;list-style:none}.page .content li:before,.page .content-bottom li:before,.page .content-top li:before{display:inline-block;color:#6e2b2b;font-family:'Marcellus SC',sans-serif;content:".";vertical-align:20%;width:10px;margin-left:-10px}@media screen and (max-width:909px){.page .content,.page .content-bottom,.page .content-top{padding-right:0}}@media screen and (max-width:1229px){.page .content,.page .content-bottom,.page .content-top{margin:auto}}.page h1{padding:5px 0;margin:0;line-height:.9}.page h2{margin:36px 0 26px 0}.page h3{margin:30px 0 20px 0}.page .post-list{line-height:1.2}.page .post-list a{display:block}.page .post-list .small-post-list{line-height:1}.page .post-list .center-dot:before{color:#6e2b2b;content:".";vertical-align:25%}.page .post-list .small-title{font-family:'Marcellus SC',sans-serif;text-transform:none;line-height:1}.page .post-list .small-detail{font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;line-height:1.3}.page .post-list h3{margin:5px 0 10px 0}.page .post-list ul{margin:5px 0}.page .post-list li{padding-top:8px;padding-bottom:8px}.page .post-list li:before{display:none}.page h1.title{font-size:62px;padding:5px 0;margin:0;line-height:.9}@media screen and (max-width:909px){.page h1.title{font-size:41px}}.page h2.title{font-size:51px;padding:5px 0;margin:0;line-height:.9}@media screen and (max-width:909px){.page h2.title{font-size:34px}}.page hr{border:0;border-top:1px solid #7a8a87;margin:40px 0}.page .img-shadow,.page img{box-shadow:2px 5px 10px #7a8a87;position:relative;z-index:101}.page .img-shadow.cover,.page .img-shadow.no-shadow,.page img.cover,.page img.no-shadow{box-shadow:none}@media print{.page{margin:0 20px 0 20px;font-size:14px;line-height:17px;font-family:Palatino}}code,pre{font-family:mplus-1m,'Anonymous Pro',monospace;hyphens:none;-ms-word-break:none!important;word-break:normal!important;-webkit-hyphens:none!important;-moz-hyphens:none!important}code{color:#000;font-size:16px;background-color:#fdfefa}code.code-language{font-size:15px}pre,pre code{background:#fdfefa;color:#333;display:block;font-size:15px;line-height:20px;overflow-x:auto;-webkit-text-size-adjust:none}.quote{background:#f1eaea;box-shadow:inset 2px 5px 12px #c8b6b6;padding:10px;padding-left:20px;padding-right:20px}sc{font-family:'Alegreya SC',Alegreya,serif}.cv-content{font-size:18px;line-height:24px}.cv-content hr{margin:20px 0 4px 0;border-top:1px solid #7a8a87}.cv-content h3{font-family:freight-sans-condensed-pro,Alegreya,serif;text-transform:none;font-weight:400}.cv-content h4{font-weight:400;margin-bottom:0}.cv-content h5{font-family:Alegreya,serif;text-transform:none;font-weight:400}.cv-content .sidenote{font-size:18px;font-family:Alegreya,serif;border-color:#fdfefa;margin-top:-3px}.cv-content .note{font-family:Alegreya,serif}.cv-content li .sidenote{margin-top:0}.cv-content ul{margin-top:0}.cv-content ul.experience{margin-top:-.8em;margin-bottom:1.4em}.cv-content ul.experience li{padding-top:0;padding-bottom:0}.cv-content p{margin:0 0 1em 0}.cv-content hcv{margin-top:-3px;font-size:21.6px;font-weight:700}.normal-font-weight{font-weight:400}.project h4{margin-top:0;margin-bottom:0}.content .pub-content{font-size:18px;line-height:20px}.content .pub-content .project .post-list h4{margin-top:0;margin-bottom:0}.content .pub-content b{font-weight:400;font-style:italic}.content .pub-content p{margin-top:.5em}.content .pub-content ul li::before{width:6px}.content .pub-content .abstract-toggle-checkbox{display:none}.content .pub-content .abstract-toggle-show::after{content:'Show Abstract'}.content .pub-content .abstract-toggle-hide::after{content:''}.content .pub-content .abstract{display:none;color:#333!important}.content .pub-content :checked+.abstract-toggle-show::after{content:'Hide Abstract'}.content .pub-content :checked~.abstract{display:block}.content .pub-content .abstract{margin-left:10px;margin-right:10px}.note{font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;border:0;border-top:1px solid #c8b6b6;border-bottom:1px none #fdfefa;padding-top:2px;text-align:left!important}.note.visible-sm{padding:.25em 0 .25em 0;margin:.75em 20px .75em 20px;border-color:#c8b6b6;border-bottom-style:solid}.note img{margin-top:8px;margin-bottom:8px}@media print{.note{font-size:13px;line-height:16px;font-family:Palatino}}.marginnote,.sidenote{font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;margin-top:0;margin-bottom:16px;float:right;clear:right;position:relative;vertical-align:baseline;margin-right:-280px;width:240px}@media print{.marginnote,.sidenote{font-size:13px;line-height:16px;font-family:Palatino}}.img-caption{padding-left:315px;margin-left:-315px;margin-top:10px;font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;border:0;border-top:1px solid #c8b6b6;border-bottom:1px none #fdfefa;padding-top:2px;text-align:left!important;border-top:1px solid #7a8a87;z-index:100}.img-caption.visible-sm{padding:.25em 0 .25em 0;margin:.75em 20px .75em 20px;border-color:#c8b6b6;border-bottom-style:solid}.img-caption img{margin-top:8px;margin-bottom:8px}@media print{.img-caption{font-size:13px;line-height:16px;font-family:Palatino}}.img-caption p{margin-top:0;text-align:left!important;hyphens:none;-ms-word-break:none!important;word-break:normal!important;-webkit-hyphens:none!important;-moz-hyphens:none!important}.img-caption.visible-sm{border-top:0;border-bottom:0;margin:0;padding:4px 20px 0 20px}.listing-caption,.quote-caption{font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px;border:0;border-top:1px solid #c8b6b6;border-bottom:1px none #fdfefa;padding-top:2px;text-align:left!important;border-top:1px solid #ccc}.listing-caption.visible-sm,.quote-caption.visible-sm{padding:.25em 0 .25em 0;margin:.75em 20px .75em 20px;border-color:#c8b6b6;border-bottom-style:solid}.listing-caption img,.quote-caption img{margin-top:8px;margin-bottom:8px}@media print{.listing-caption,.quote-caption{font-size:13px;line-height:16px;font-family:Palatino}}.listing-caption.visible-sm,.quote-caption.visible-sm{padding:.25em 10px .25em 10px;margin:.75em -10px .5em -10px;border-color:#ccc;border-bottom:0}.listing-caption{padding-left:30px;margin-left:-30px}.listing-caption.visible-sm{border-color:#ccc}.quote-caption{padding-left:40px;margin-left:-40px;margin-top:10px;border-color:#c8b6b6}.quote-caption.visible-sm{border-color:#c8b6b6}.post-detail{border-top:2px solid #6e2b2b;border-bottom:2px solid #6e2b2b}.post-detail.visible-sm{border-color:#6e2b2b}.center{display:block;margin-left:auto;margin-right:auto}.plain-font{font-family:Alegreya,serif;text-transform:none;line-height:26px}.narrow-font{font-family:freight-sans-condensed-pro,Alegreya,serif;font-size:18px;line-height:22px}.heading-font{font-family:'Marcellus SC',sans-serif;text-transform:none;line-height:1}.visible-sm{display:none}@media screen and (max-width:909px){.visible-sm{display:block}}.visible-sm-inline{display:none}@media screen and (max-width:909px){.visible-sm-inline{display:inline}}.invisible-sm{display:block}@media screen and (max-width:909px){.invisible-sm{display:none}}.visible-md{display:none}@media screen and (max-width:1229px){.visible-md{display:block}}.invisible-md{display:block}@media screen and (max-width:1229px){.invisible-md{display:none}}.unit-line-height{line-height:1}.justify p{text-align:justify}.word-break p{hyphens:auto;word-break:break-word;-webkit-hyphens:auto;-moz-hyphens:auto}.no-word-break{hyphens:none;-ms-word-break:none!important;word-break:normal!important;-webkit-hyphens:none!important;-moz-hyphens:none!important}.img-responsive{display:block;max-width:100%;height:auto;margin:auto}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.social-icon-container{padding-left:0;text-align:center}.social-icon{height:32px;width:32px;display:inline-block;margin:2px;margin-right:0;margin-left:0;border:0}.social-icon:hover{border:0}.twitter{background:transparent url(/static/sm_icons/icons.svg) 0 -32px no-repeat;background-size:256px 96px}.twitter:hover{background:transparent url(/static/sm_icons/icons.svg) 0 0 no-repeat;background-size:256px 96px}.facebook{background:transparent url(/static/sm_icons/icons.svg) -32px -32px no-repeat;background-size:256px 96px}.facebook:hover{background:transparent url(/static/sm_icons/icons.svg) -32px 0 no-repeat;background-size:256px 96px}.googleplus{background:transparent url(/static/sm_icons/icons.svg) -64px -32px no-repeat;background-size:256px 96px}.googleplus:hover{background:transparent url(/static/sm_icons/icons.svg) -64px 0 no-repeat;background-size:256px 96px}.linkedin{background:transparent url(/static/sm_icons/icons.svg) -96px -32px no-repeat;background-size:256px 96px}.linkedin:hover{background:transparent url(/static/sm_icons/icons.svg) -96px 0 no-repeat;background-size:256px 96px}.github{background:transparent url(/static/sm_icons/icons.svg) -128px -32px no-repeat;background-size:256px 96px}.github:hover{background:transparent url(/static/sm_icons/icons.svg) -128px 0 no-repeat;background-size:256px 96px}.hacker-news{background:transparent url(/static/sm_icons/icons.svg) -160px -32px no-repeat;background-size:256px 96px}.hacker-news:hover{background:transparent url(/static/sm_icons/icons.svg) -160px 0 no-repeat;background-size:256px 96px}.stack-overflow{background:transparent url(/static/sm_icons/icons.svg) -192px -32px no-repeat;background-size:256px 96px}.stack-overflow:hover{background:transparent url(/static/sm_icons/icons.svg) -192px 0 no-repeat;background-size:256px 96px}.rss-feed{background:transparent url(/static/sm_icons/icons.svg) -224px -32px no-repeat;background-size:256px 96px}.rss-feed:hover{background:transparent url(/static/sm_icons/icons.svg) -224px 0 no-repeat;background-size:256px 96px}.resume-twitter{background:transparent url(/static/sm_icons/icons.svg) 0 -64px no-repeat;background-size:256px 96px}.resume-twitter:hover{background:transparent url(/static/sm_icons/icons.svg) 0 0 no-repeat;background-size:256px 96px}.resume-facebook{background:transparent url(/static/sm_icons/icons.svg) -32px -64px no-repeat;background-size:256px 96px}.resume-facebook:hover{background:transparent url(/static/sm_icons/icons.svg) -32px 0 no-repeat;background-size:256px 96px}.resume-googleplus{background:transparent url(/static/sm_icons/icons.svg) -64px -64px no-repeat;background-size:256px 96px}.resume-googleplus:hover{background:transparent url(/static/sm_icons/icons.svg) -64px 0 no-repeat;background-size:256px 96px}.resume-linkedin{background:transparent url(/static/sm_icons/icons.svg) -96px -64px no-repeat;background-size:256px 96px}.resume-linkedin:hover{background:transparent url(/static/sm_icons/icons.svg) -96px 0 no-repeat;background-size:256px 96px}.resume-github{background:transparent url(/static/sm_icons/icons.svg) -128px -64px no-repeat;background-size:256px 96px}.resume-github:hover{background:transparent url(/static/sm_icons/icons.svg) -128px 0 no-repeat;background-size:256px 96px}.resume-hacker-news{background:transparent url(/static/sm_icons/icons.svg) -160px -64px no-repeat;background-size:256px 96px}.resume-hacker-news:hover{background:transparent url(/static/sm_icons/icons.svg) -160px 0 no-repeat;background-size:256px 96px}.resume-stack-overflow{background:transparent url(/static/sm_icons/icons.svg) -192px -64px no-repeat;background-size:256px 96px}.resume-stack-overflow:hover{background:transparent url(/static/sm_icons/icons.svg) -192px 0 no-repeat;background-size:256px 96px}.resume-rss-feed{background:transparent url(/static/sm_icons/icons.svg) -224px -64px no-repeat;background-size:256px 96px}.resume-rss-feed:hover{background:transparent url(/static/sm_icons/icons.svg) -224px 0 no-repeat;background-size:256px 96px}.diff .hljs-header,.hljs-comment{color:#999}.css .rule .hljs-keyword,.hljs-keyword,.hljs-request,.hljs-status,.hljs-subst,.hljs-winutils,.nginx .hljs-title{color:#000}.hljs-hexcolor,.hljs-number,.ruby .hljs-constant{color:#428f80}.hljs-doctag,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#7a8a87}.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#422;font-weight:700}.hljs-list .hljs-keyword,.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type,.tex .hljs-command,.vhdl .hljs-literal{color:#357;font-weight:700}.django .hljs-tag .hljs-keyword,.hljs-rule .hljs-property,.hljs-tag,.hljs-tag .hljs-title{color:#6e2b2b;font-weight:400}.hljs-attribute,.hljs-name,.hljs-variable,.lisp .hljs-body{color:#6e2b2b}.hljs-regexp{color:#373}.clojure .hljs-keyword,.hljs-prompt,.hljs-symbol,.lisp .hljs-keyword,.ruby .hljs-symbol .hljs-string,.scheme .hljs-keyword,.tex .hljs-special{color:#737}.hljs-built_in{color:#9d2f2f}.hljs-cdata,.hljs-doctype,.hljs-pi,.hljs-pragma,.hljs-preprocessor,.hljs-shebang{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}#mc_embed_signup #mc-embedded-subscribe,#mc_embed_signup #mce-EMAIL{clear:left;font:18px Alegreya,serif}