/*! normalize.css v3.0.1 | MIT License | git.io/normalize */img,legend{border:0}legend,td,th{padding:0}blockquote,dfn{font-style:italic}.menu-link,a:link{text-decoration:none}.home ul,.menu-inner{list-style-type:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}.menu-opener,[hidden],template{display:none}audio:not([controls]){display:none;height:0}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}blockquote,blockquote>:nth-child(1){margin-top:0}blockquote,blockquote>:last-child{margin-bottom:0}table{border-collapse:collapse;border-spacing:0}*,:after,:before{box-sizing:inherit}blockquote{padding:30px;font-size:1rem}blockquote p{color:#888;font-weight:300}.menu-wrapper{width:100%}.menu,.menu-opener,.menu-opener-inner,.menu-opener-inner::after,.menu-opener-inner::before,.menu-opener.active,.menu-opener:hover,.menu.active{transition:250ms all}.menu-opener{cursor:pointer;height:80px;position:absolute;user-select:none;width:80px}.menu,.menu-opener{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.menu-opener.active,.menu-opener:hover{background:rgba(255,255,255,.8)}.menu-opener-inner{background:#fff;height:.5rem;margin-left:.75rem;margin-top:1.75rem;width:2.5rem}.menu-opener-inner::after,.menu-opener-inner::before{background:#fff;content:'';display:block;height:.5rem;width:2.5rem}.menu-opener-inner::before{-webkit-transform:translateY(-.75rem);-ms-transform:translateY(-.75rem);transform:translateY(-.75rem)}.menu-opener-inner::after{-webkit-transform:translateY(.25rem);-ms-transform:translateY(.25rem);transform:translateY(.25rem)}.menu-opener-inner.active{background:0 0}body>footer .services,body>header{background-image:url(/img/vectorized.png);background-size:cover}.menu-opener-inner.active::before{-webkit-transform:translateY(0) rotate(-45deg);-ms-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}.menu-opener-inner.active::after{-webkit-transform:translateY(-.5rem) translateX(0) rotate(45deg);-ms-transform:translateY(-.5rem) translateX(0) rotate(45deg);transform:translateY(-.5rem) translateX(0) rotate(45deg)}.menu{text-align:right;width:100%;color:transparent;height:80px;user-select:none;opacity:0}.menu-inner,.menu-link{display:-webkit-flex;display:-ms-flexbox;height:100%}.menu-link,.mobile-menu .menu{text-align:center}.menu.active{opacity:1}.page-scan .content,body>footer .content{opacity:0;transition:all .25s ease-in-out}.menu.active .menu-link{color:#fff}.menu-inner{display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;margin:0 0 0 4rem;padding:0}.menu-link{color:transparent;display:flex;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;font-size:2rem;font-weight:100}a:link,a:visited{color:#478ce5}.menu-link li{margin:auto}@media screen and (max-width:768px){.menu-inner,.menu-opener{display:block}.menu{height:auto}.menu-link{padding:10px 0;font-size:1.2em}}.mobile-menu a,body>header .menu a{white-space:nowrap;font-family:proxima-nova,sans-serif;font-size:20px;text-transform:uppercase;font-weight:100}body>header,body>header .wrapper{display:-webkit-flex;display:-ms-flexbox}a:active,a:focus,a:hover{color:#2465c0}a:link code,a:visited code,a:visited code *{color:#478ce5!important}body>header{margin:0 0 1em;background-position:0 20%;-webkit-animation-duration:15s;animation-duration:15s;-webkit-animation-name:clouds;animation-name:clouds;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;display:flex}@media (max-width:900px){body>header{margin:0}}body>header .filler{-webkit-flex:1;-ms-flex:1;flex:1;background-color:rgba(255,255,255,.8)}body>header .wrapper{width:100%;margin:0 auto;-webkit-flex:0 0 calc(850px);-ms-flex:0 0 calc(850px);flex:0 0 calc(850px);display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}body>header .wrapper a{margin:0 auto}body>header img{height:80px;padding:20px;display:block;mix-blend-mode:opacity}body>header .menu-wrapper{position:relative;display:-webkit-flex;display:-ms-flexbox;display:flex}body>header .menu-opener{position:relative;z-index:2}body>header .menu{position:relative;z-index:1;margin:0}body>header .menu a{color:#fff;margin-left:1em;line-height:110px}body>header .menu a:last-of-type{margin-right:20px}.mobile-menu{display:none;border-bottom:1px solid #f9f9f9}@media (max-width:900px){body>header .wrapper{-webkit-flex:1;-ms-flex:1;flex:1}body>header .menu-wrapper{display:none}body>header .menu{position:absolute;top:80px;right:0;left:auto}body>header .menu a{margin:0 1em}.mobile-menu{display:block}}.mobile-menu .menu .content,.side-block .author,.side-block .author .author-info{display:-webkit-flex;display:-ms-flexbox}.mobile-menu .menu .content{display:flex}.mobile-menu a{-webkit-flex:1;-ms-flex:1;flex:1;margin-left:1em;line-height:80px}.mobile-menu a:last-of-type{margin-right:.5em}@-webkit-keyframes clouds{from{background-position:0 0}to{background-position:0 20%}}@keyframes clouds{from{background-position:0 0}to{background-position:0 20%}}body{vertical-align:top;text-align:left;font-family:proxima-nova,sans-serif}body h1,body h2,body h3,body h4,body h5,body h6{font-family:proxima-nova,sans-serif;margin-top:1.5em}body h1{font-size:38px}.margin{max-width:900px;width:100%;padding:0 25px;margin:0 auto}.content{transition:all .25s ease-in-out}.home .post{margin-top:90px}.reference{color:#444}.super{vertical-align:super;font-size:.7em}.page-content b,.page-content optgroup,.page-content strong,.post-content b,.post-content optgroup,.post-content strong{font-weight:700}.page-content .campaign,.page-content ol,.page-content p,.page-content ul,.post-content .campaign,.post-content ol,.post-content p,.post-content ul{font-size:1.15rem;line-height:1.6;font-weight:300}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.post-content h1,.post-content h2,.post-content h3,.post-content h4{font-size:2em;margin-top:2em;font-weight:300}.page-content h3,.post-content h3{font-size:1.75em}.page-content a,.post-content a{background-color:rgba(0,106,255,.05)}.post-content h1 a,.post-content h2 a,.post-content h3 a,.post-content h4 a{color:#111}.post-header h1,.post-header h2{font-family:proxima-nova,sans-serif;font-weight:500;color:#478ce5}.post-header{margin:60px 0}.post-header h1{font-size:3em}@media (max-width:900px){.post-header h1{font-size:2em}}.post-header h2{font-size:1.5em}@media (max-width:900px){.post-header h2{font-size:2em}}.post-header p{font-size:.3833em;line-height:1.6;font-weight:300;text-transform:none;color:#111;margin:0}.commit{font-size:.85em}.commit a{font-family:"Source Code Pro",monospace;font-size:.75em}.literate-introduction{background-color:#f9f9f9;padding:1em 0}.side-block{float:right;margin:0 0 2em 2em;background-color:#fff;max-width:calc(130px + 2em + 2px)}.side-block .author{display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:1em}@media (max-width:900px){.side-block{width:100%;max-width:none}.side-block .author{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}}.side-block .author .author-info{display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}@media (max-width:900px){.side-block .author .author-info{-webkit-flex:2;-ms-flex:2;flex:2;margin-left:1em}.side-block .author .author-image{-webkit-flex:1;-ms-flex:1;flex:1}}.side-block .author img{width:120px;height:120px;border-radius:120px;display:block;margin:0 auto}@media (max-width:900px){.side-block .author img{max-width:100px;width:100%;height:auto}}.side-block .author p{margin:1em 0;font-size:.85em}.side-block .actions button{display:block;background-color:#f9f9f9;border:1px solid #ddd;font-size:1em;margin:1em;width:calc(100% - 2em);border-radius:4px;color:#444;line-height:1.6;font-weight:300}.post-footer{background-color:#f8f8f8;padding:2em 4em;margin:0 -4em}.post-footer .feather{height:1em;vertical-align:middle}body>footer{display:table;width:100%;height:12em;font-family:proxima-nova,sans-serif}body>footer h1,body>footer h2,body>footer h3,body>footer h4,body>footer h5,body>footer h6{font-family:proxima-nova,sans-serif;margin-top:1.5em}body>footer h1{font-size:38px}body>footer .footer-content{display:table-cell;vertical-align:middle}body>footer p{font-weight:100;padding:2em 25px;margin:0 auto;max-width:900px;width:100%;text-align:center;line-height:1.6em}body>footer .services{background-position:0 0;margin:0 0 6em}body>footer .services p{font-size:2em}body>footer .services p a{color:#fff}footer .signup-form{background-color:#fff;margin:0 auto 6em}.signup-form h2{margin:0;font-size:2em;font-weight:300}.signup-form p{font-size:1.15em;text-align:left;margin:2em 0;padding:0}.signup-form em{font-style:normal;font-weight:400}.signup-form form{position:relative;max-width:900px;margin:0 auto;text-align:left}.signup-form form p{font-weight:300;padding:2em 0;min-height:inherit;margin:0 auto}.signup-form form .email-wrapper{position:relative;font-size:1.15em}.signup-form form input{font-weight:300;background:#fff;border:1px solid #ddd;padding:.5em 1em;outline:0;margin-left:8px}.signup-form form input[type=email]{width:calc(70% - 166px)}.signup-form form input[type=submit]{padding:.5em 1em;width:150px;border:1px solid #ddd;background-color:#f9f9f9;border-radius:4px;color:#444;font-weight:300}.signup-form form input[name=FNAME]{width:calc(30%);margin-left:0}@media (max-width:700px){.signup-form form input[type=email],.signup-form form input[type=submit]{width:100%;margin-left:0;margin-top:16px}.signup-form form input[name=FNAME]{width:100%}}:not(pre)>code[class*=language-],pre[class*=language-]{color:#666;font-size:.9em;background-color:#f8f8f8!important}pre[class*=language-]{font-size:1em;line-height:1.6;margin:2em 0;background-color:#f8f8f8!important;padding:1em 1.5em;border-radius:4px}code[class*=language-],pre[class*=language-]{color:#666;font-family:"Source Code Pro",monospace;font-weight:500;text-shadow:none!important}code[class*=language-]{border-radius:0!important}.button{display:inline-block;padding:8px 30px;background-color:#478ce5;font-weight:700;border-radius:4px;color:#fff!important}.pagination,.pagination p{display:-webkit-flex;display:-ms-flexbox}.pagination{margin:80px 0 20px;background-image:url(/img/vectorized.png);background-size:cover;background-position:0 20%;font-family:proxima-nova,sans-serif;display:flex}.pagination .filler{-webkit-flex:1;-ms-flex:1;flex:1;background-color:rgba(255,255,255,.8)}.pagination p{display:flex;-webkit-flex:0 0 700px;-ms-flex:0 0 700px;flex:0 0 700px;font-size:20px;line-height:1.6;font-weight:300;text-transform:none;color:#111;margin:0;overflow:hidden;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.pagination p .invisible{visibility:hidden}@media (max-width:900px){.pagination p{-webkit-flex:3;-ms-flex:3;flex:3;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.pagination p .invisible{display:none}}.pagination p a{-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;height:80px;float:left;color:#fff;text-transform:uppercase;line-height:85px;font-weight:300;padding:0 30px;white-space:nowrap;text-align:left}@media (max-width:900px){.pagination p a{line-height:80px;float:none!important}}.page-scan p,p{line-height:23px}.pagination p a:last-of-type{float:right;text-align:right}.pagination p .all-posts{float:none;-webkit-flex:1;-ms-flex:1;flex:1;text-align:center}.page-portfolio{margin-top:60px}.page-portfolio h2{font-size:1.5em}.page-portfolio .client-logos{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin:2em 0 1.5em}.page-portfolio .client-logos img{height:2.5em;margin:1em 1.25em}.page-portfolio .phone-mockup{float:right;width:33%;margin:0 0 0 2em}.page-portfolio .admithub img{float:left;width:40%;padding:0 2em 0 0}.page-portfolio .portfolio-header{margin-top:1em;font-family:proxima-nova,sans-serif;font-weight:300;font-size:3em;color:#457cc9;text-transform:uppercase}@media (max-width:900px){.page-portfolio .portfolio-header{font-size:2em}}.home{margin-top:60px}.home img{float:left;margin:0 2em 1em 0;border-radius:150px}.home ul{font-size:1.6em}.blog-all .feather{height:1em;vertical-align:middle}.recommendation{margin:5em 0;background-image:url(/img/vectorized.png);background-size:cover;background-position:0 70%}.recommendation .margin{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.recommendation img{height:100px;width:100px;border-radius:100px;margin:0 25px 0 0}@media (max-width:700px){.recommendation{background-position:0 50%}.recommendation .margin{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.recommendation img{margin:25px;-webkit-order:1;-ms-flex-order:1;order:1}}.recommendation img:last-child{margin:0 0 0 25px}.recommendation p{-webkit-flex:0 0 575px;-ms-flex:0 0 575px;flex:0 0 575px;color:#fff;text-align:right}@media (max-width:700px){.recommendation img:last-child{margin:25px}.recommendation p{-webkit-order:2;-ms-flex-order:2;order:2;margin-top:0;-webkit-flex:1;-ms-flex:1;flex:1}}.recommendation p:last-child{text-align:left}.recommendation span{display:block;font-weight:400;font-size:.75em;color:#478ce5}.page-services{margin-top:60px}.page-services .meteor-image{float:left;margin:0 2em 2em 0}.page-services .contact-form{margin:6em 0}.page-services form{position:relative;max-width:900px;text-align:left}.page-services form p{font-weight:300;padding:0 0 2em;min-height:inherit;margin:0 auto;max-width:650px}.page-services form .email-wrapper{position:relative;font-size:1.15em}.page-services form input{font-weight:300;background:#fff;border:1px solid #ddd;padding:.5em 1em;outline:0;margin-left:8px}.page-services form input[type=email]{width:calc(70% - 166px)}.page-services form input[type=submit]{padding:.5em 1em;width:150px;border:1px solid #ddd;background-color:#fff;color:#478ce5;font-weight:300;text-transform:uppercase}.page-services form input[name=FNAME]{width:calc(30%);margin-left:0}@media (max-width:700px){.page-services form input[type=email],.page-services form input[type=submit]{width:100%;margin-left:0;margin-top:16px}.page-services form input[name=FNAME]{width:100%}}.page-scan .drop-target .prompt p,.page-scan .go-again a,.page-scan .results p{font-weight:100;font-size:1.5em}.page-scan .result-title{margin-bottom:1em!important}.page-scan .drop-target{width:calc(79%);margin:4em auto;border:2px dashed #ddd}.page-scan .drop-target p{transition:none}.page-scan .drop-target .prompt p{text-align:center;margin:.5em;color:#ddd;cursor:pointer}.page-scan .drop-target .prompt #file-select{position:absolute;left:-99999px}.page-scan .go-again{margin:3em 0;text-align:center!important}.page-scan .results{width:75%;margin:4em auto;padding:2em}.page-scan .results p{text-align:center;margin:0 auto}.page-scan .results p.info{font-weight:100;font-size:1.15em;color:#111}.page-scan .results.good{border:2px dashed #4ed45f;color:#4ed45f}.page-scan .results.good p.info{max-width:50%}.page-scan .results.bad{border:2px dashed #ff495c;color:#ff495c}.page-scan .results .result{color:#111;margin-top:2em}.page-scan .results .result p{font-size:1.15em;text-align:left}.page-scan .results .result .package{color:#ff495c}.page-scan .results .result .versions{float:right;color:#ff495c}.page-scan .results .result .alert{width:90%;font-weight:100;margin:.5em auto}.page-scan .results .result .links{width:90%}.page-scan .results .result ul{margin:0 0 0 5%;font-size:1.15em}.page-scan body{width:100%;height:100%;overflow-y:scroll;margin:0;text-align:center;color:#111;background-color:#fff}.page-scan hr{border:1px solid #eee;margin:3em auto;width:50%}.page-scan :not(pre)>code[class*=language-],.page-scan pre[class*=language-]{background-color:transparent!important}.page-scan pre[class*=language-]{background-color:#f9f9f9!important}.information{float:right;font-size:.75em!important;background-color:#e9e9e9!important;opacity:.75;margin:1em 0 0;padding:2px 4px;border-radius:4px}.language-elixirDiff,.language-javascriptDiff,.language-markupDiff{padding-top:0!important;padding-bottom:0!important}.language-elixirDiff .deleted,.language-javascriptDiff .deleted,.language-markupDiff .deleted{background-color:#F9F0F0!important;display:inline-block;width:calc(100% + 2em);margin-left:-1em;padding-left:1em}.language-elixirDiff .inserted,.language-javascriptDiff .inserted,.language-markupDiff .inserted{background-color:#F0F9F0!important;display:inline-block;width:calc(100% + 2em);margin-left:-1em;padding-left:1em}.language-elixirDiff .token.deleted,.language-elixirDiff .token.inserted,.language-javascriptDiff .token.deleted,.language-javascriptDiff .token.inserted,.language-markupDiff .token.deleted,.language-markupDiff .token.inserted{color:inherit!important}.language-elixirDiff>span:last-of-type,.language-javascriptDiff>span:last-of-type,.language-markupDiff>span:last-of-type{display:inline-block;padding-bottom:1em}.language-elixirDiff>span:first-of-type,.language-javascriptDiff>span:first-of-type,.language-markupDiff>span:first-of-type{display:inline-block;padding-top:1em}.feather{height:1em;vertical-align:middle}body{width:100%;height:100%;overflow-y:scroll;margin:0 0 6em;color:#111;background-color:#fff}hr{border:0;border-bottom:1px solid #eee;margin:3em auto;width:50%}.pull-right{float:right}.pull-left{float:left}