/*!
 * Caches To Caches - Gregory Stein
 * Copyright 2015 CachesToCaches.com / Gregory Stein
 * Licensed under MIT
 * 
 * $ lessc --clean-css cachestocaches_styles.less ../css/cachestocaches.min.css
 *
 * Social Media Icons Designed by Ibrandify - Freepik.com
 * responsive-embed class from Bootstrap 3.2.0
 */
 body{color:#333;background-color:#fdfdfd;font-family:freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:26px;margin:0}
 p{text-align:left;}
 div{display:block}
 a{text-decoration:none;color:#333;border-bottom:1px  #2d5066;}a:hover{color:#0644f1;}
 /* u{text-decoration:none;color:#333;border-bottom:1px solid #2d5066;} */
 h1,h2,h3,h4,h5,h6{text-transform:uppercase;font-family:'Unica One',sans-serif;line-height:1}h1{font-size:46px}h2{font-size:35px}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:#2d4352;color:#b6bec2}.dark-background a{color:#b6bec2;border:0}.dark-background a:hover{color:#eaeef0}.dark-background .center-dot:before{color:#b6bec2;content:".";padding:0 4px;vertical-align:15%}.dark-background .description,.dark-background li{color:#8d989f;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 0px}.dark-background .description a,.dark-background li a{color:#8d989f}.dark-background .active{border-color:#8d989f}.center-text{text-align:center}
 
 .largescreen{display:fixed}
 @media screen and (max-width: 1229px) {.largescreen{display:none}}
 @media screen and (min-width: 1230px) {.smallscreen{display:none}}

 .smallscreen{display:fixed}
 @media screen and (max-width: 1229px) {.smallscreen{display:fixed}}
 
 .sidebar{height:100%;position:fixed;padding-top:20px;z-index:100;font-family:freight-sans-condensed-pro,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;width:320px;background:#2d4352;color:#cfd8db}.sidebar
 a{color:#b6bec2;border:0}.sidebar a:hover{color:#eaeef0}.sidebar .center-dot:before{color:#b6bec2;content:".";padding:0 4px;vertical-align:15%}.sidebar .description,.sidebar li{color:#afa8ab;font-size:17px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 0}.sidebar .description a,.sidebar li a{color:#afa8ab}.sidebar .active{border-color:#8d989f}
 /* @media screen and (max-width:1229px){.sidebar{display:none}}@media print{.sidebar{display:none}}.sidebar */
 @media screen and (max-width: 1229px) {.sidebar { height:auto; position:fixed; width:100%; margin-top:0em;}}
 
 .title{font-family:'Unica One',sans-serif;text-transform:uppercase;line-height:1;padding-bottom:10px}.sidebar .content{margin:20px 40px}.sidebar hr{border:0;border-top:1px solid #8d989f;margin:4px 0}.sidebar ul{list-style-type:none;margin:0;padding:0}.sidebar li{margin:0px}.sidebar .floating-description{color:#8d989f;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #2d4352;color:#2d4352;border-left:1px none #2d4352;width:240px;bottom:2.5em;position:fixed}.sidebar .floating-description a{color:#8d989f}.sidebar .floating-description a{color:#2d4352}.sidebar .floating-description a:hover{color:#336e93}.sidebar
 .content-small{margin:0px 40px 10px 40px }

 .no_mobile{width:100%}
 @media screen and (max-width: 1229px) {.no_mobile{display:none}}

 .bottom-art{width:320px;position:absolute;left:0;bottom:1em}.footer,.header{display:none;background:#2d4352;color:#b6bec2;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:#b6bec2;border:0}.footer a:hover,.header a:hover{color:#eaeef0}.footer .center-dot:before,.header .center-dot:before{color:#b6bec2;content:".";padding:0 4px;vertical-align:15%}.footer .description,.footer li,.header .description,.header li{color:#8d989f;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #2d4352}.footer .description a,.footer li a,.header .description a,.header li a{color:#8d989f}.footer .active,.header .active{border-color:#8d989f}@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,freight-sans-pro,Dosis,Helvetica,sans-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:#8d989f;font-size:16px;line-height:17px;margin:0 0 4px -4px;padding:0 4px 0 4px;border-left:1px solid #2d4352}.footer .floating-description a,.header .floating-description a{color:#8d989f}.footer{padding:20px 0}
 
 .page{margin:0 60px 0 360px;padding-top:20px;position:relative}
 @media screen and (max-width:1229px){.page{margin:0 40px 0 40px;padding-top:150px}}
 @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,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:24px;line-height:1.1}.page .content,.page .content-bottom,.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:#2d5066;font-family:'Unica One',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:#2d5066;content:".";vertical-align:25%}.page .post-list .small-title{font-family:'Unica One',sans-serif;text-transform:uppercase;line-height:1}.page .post-list .small-detail{font-family:freight-sans-condensed-pro,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;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:46px;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 #799a47;margin:40px 0}.page img.cover{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:#eaeef0;box-shadow:inset 2px 5px 12px #b6bec2;padding:10px;padding-left:20px;padding-right:20px}.cv-content{font-size:17px;line-height:24px}.cv-content hr{margin:20px 0 4px 0;border-top:1.5px solid #454545}.cv-content h3{font-family:freight-sans-condensed-pro,freight-sans-pro,Dosis,Helvetica,sans-serif;text-transform:none;font-weight:400}.cv-content h4{font-weight:400;margin-bottom:0}.cv-content h5{font-family:freight-sans-pro,Dosis,Helvetica,sans-serif;text-transform:none;font-weight:400}.cv-content .sidenote{font-size:18px;border-color:#fdfefa;margin-top:-3px}.cv-content ul{margin-top:00px}.cv-content .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,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;border:0;border-top:1px solid #b6bec2;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:#b6bec2;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,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;margin-top:0;margin-bottom:16px;float:right;clear:right;position:relative;vertical-align:baseline;margin-right:-260px;width:249px}@media print{.marginnote,.sidenote{font-size:13px;line-height:16px;font-family:Palatino}}.img-caption{padding-left:40px;margin-left:-40px;margin-top:10px;font-family:freight-sans-condensed-pro,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;border:0;border-top:1px solid #b6bec2;border-bottom:1px none #fdfefa;padding-top:2px;text-align:left!important;border-top:1px solid #799a47}.img-caption.visible-sm{padding:.25em 0 .25em 0;margin:.75em 20px .75em 20px;border-color:#b6bec2;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,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px;border:0;border-top:1px solid #b6bec2;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:#b6bec2;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:#b6bec2}.quote-caption.visible-sm{border-color:#b6bec2}.post-detail{border-top:2px solid #2d5066;border-bottom:2px solid #2d5066}.post-detail.visible-sm{border-color:#2d5066}.center{display:block;margin-left:auto;margin-right:auto}.plain-font{font-family:freight-sans-pro,Dosis,Helvetica,sans-serif;text-transform:none;line-height:26px}.narrow-font{font-family:freight-sans-condensed-pro,freight-sans-pro,Dosis,Helvetica,sans-serif;font-size:18px;line-height:24px}.heading-font{font-family:'Unica One',sans-serif;text-transform:uppercase;line-height:1}.visible-sm{display:none}@media screen and (max-width:909px){.visible-sm{display:block}}.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}
 .social-icon-small{height:20px;width:20px;display:inline-block;margin:2px;margin-top:5px;margin-right:0;margin-left:0;border:0}
 .social-icon-small:hover{border:0} 
 
/* 
 .twitter{background:transparent url(../icons/icons.svg) 0 -32px no-repeat;background-size:256px 96px}
 .twitter:hover{background:transparent url(../icons/icons.svg) 0 0 no-repeat;background-size:256px 96px}
 .facebook{background:transparent url(../icons/icons.svg) -32px -32px no-repeat;background-size:256px 96px}
 .facebook:hover{background:transparent url(../icons/icons.svg) -32px 0 no-repeat;background-size:256px 96px}
 .googleplus{background:transparent url(../icons/icons.svg) -64px -32px no-repeat;background-size:256px 96px}
 .googleplus:hover{background:transparent url(../icons/icons.svg) -64px 0 no-repeat;background-size:256px 96px}
 .linkedin{background:transparent url(../icons/icons.svg) -96px -32px no-repeat;background-size:256px 96px}
 .linkedin:hover{background:transparent url(../icons/icons.svg) -96px 0 no-repeat;background-size:256px 96px}
 .github{background:transparent url(../icons/icons.svg) -128px -32px no-repeat;background-size:256px 96px}
 .github:hover{background:transparent url(../icons/icons.svg) -128px 0 no-repeat;background-size:256px 96px}
 .hacker-news{background:transparent url(../icons/icons.svg) -160px -32px no-repeat;background-size:256px 96px}
 .hacker-news:hover{background:transparent url(../icons/icons.svg) -160px 0 no-repeat;background-size:256px 96px}
 .stack-overflow{background:transparent url(../icons/icons.svg) -192px -32px no-repeat;background-size:256px 96px}
 .stack-overflow:hover{background:transparent url(../icons/icons.svg) -192px 0 no-repeat;background-size:256px 96px}
 .resume-twitter{background:transparent url(../icons/icons.svg) 0 -64px no-repeat;background-size:256px 96px}
 .resume-twitter:hover{background:transparent url(../icons/icons.svg) 0 0 no-repeat;background-size:256px 96px}
 .resume-facebook{background:transparent url(../icons/icons.svg) -32px -64px no-repeat;background-size:256px 96px}
 .resume-facebook:hover{background:transparent url(../icons/icons.svg) -32px 0 no-repeat;background-size:256px 96px}
 .resume-googleplus{background:transparent url(../icons/icons.svg) -64px -64px no-repeat;background-size:256px 96px}
 .resume-googleplus:hover{background:transparent url(../icons/icons.svg) -64px 0 no-repeat;background-size:256px 96px}
 .resume-linkedin{background:transparent url(../icons/icons.svg) -96px -64px no-repeat;background-size:256px 96px}
 .resume-linkedin:hover{background:transparent url(../icons/icons.svg) -96px 0 no-repeat;background-size:256px 96px}
 .resume-github{background:transparent url(../icons/icons.svg) -128px -64px no-repeat;background-size:256px 96px}
 .resume-github:hover{background:transparent url(../icons/icons.svg) -128px 0 no-repeat;background-size:256px 96px}
 .resume-hacker-news{background:transparent url(../icons/icons.svg) -160px -64px no-repeat;background-size:256px 96px}
 .resume-hacker-news:hover{background:transparent url(../icons/icons.svg) -160px 0 no-repeat;background-size:256px 96px}
 .resume-stack-overflow{background:transparent url(../icons/icons.svg) -192px -64px no-repeat;background-size:256px 96px}
 .resume-stack-overflow:hover{background:transparent url(../icons/icons.svg) -192px 0 no-repeat;background-size:256px 96px} */

 /* .resume-linkedin{background:transparent url(../icons/icons.svg) -0px -0px no-repeat;background-size:24px 24px}
 .resume-google{background:transparent url(../icons/icons.svg) -0px -0px no-repeat;background-size:24px 24px}
 .resume-github{background:transparent url(../icons/icons.svg) -0px -0px no-repeat;background-size:24px 24px}
 .resume-instagram{background:transparent url(../icons/icons.svg) -0px -0px no-repeat;background-size:24px 24px}
 .resume-facebook{background:transparent url(../icons/icons.svg) -0px -0px no-repeat;background-size:24px 24px}
 .resume-cv{background:transparent url(../icons/icons.png) -0px -0px no-repeat;background-size:24px 24px} */

 .resume-gscholar-small{background:transparent url(../icons/google_scholar.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-linkedin-small{background:transparent url(../icons/linkedin.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-facebook-small{background:transparent url(../icons/facebook.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-github-small{background:transparent url(../icons/octocat.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-dblp-small{background:transparent url(../icons/dblp.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-wordpress-small{background:transparent url(../icons/wordpress.svg) -0px -0px no-repeat;background-size:20px 20px}
 .resume-twitter-small{background:transparent url(../icons/twitter.svg) -0px -0px no-repeat;background-size:20px 20px}
 /* .resume-cv-small{background:transparent url(../icons/icons.png) -0px -0px no-repeat;background-size:20px 20px} */

 .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:#63911d}.hljs-doctag,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#799a47}.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#2d4352;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:#2d5066;font-weight:400}.hljs-attribute,.hljs-name,.hljs-variable,.lisp .hljs-body{color:#2d5066}.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:#336e93}.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 freight-sans-pro,Dosis,Helvetica,sans-serif}