/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.chroma{background-color:#f0f0f0}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffc}.chroma .ln,.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#7f7f7f}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn{color:#007020;font-weight:700}.chroma .kp,.chroma .kr{color:#007020}.chroma .kr{font-weight:700}.chroma .kt{color:#902000}.chroma .na{color:#4070a0}.chroma .nb{color:#007020}.chroma .nc{color:#0e84b5;font-weight:700}.chroma .no{color:#60add5}.chroma .nd{color:#555;font-weight:700}.chroma .ni{color:#d55537;font-weight:700}.chroma .ne{color:#007020}.chroma .nf{color:#06287e}.chroma .nl{color:#002070;font-weight:700}.chroma .nn{color:#0e84b5;font-weight:700}.chroma .nt{color:#062873;font-weight:700}.chroma .nv{color:#bb60d5}.chroma .dl,.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd{color:#4070a0}.chroma .sd{font-style:italic}.chroma .s2,.chroma .se{color:#4070a0}.chroma .se{font-weight:700}.chroma .sh{color:#4070a0}.chroma .si{color:#70a0d0;font-style:italic}.chroma .sx{color:#c65d09}.chroma .sr{color:#235388}.chroma .s1{color:#4070a0}.chroma .ss{color:#517918}.chroma .il,.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#40a070}.chroma .o{color:#666}.chroma .ow{color:#007020;font-weight:700}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#60a0b0;font-style:italic}.chroma .cs{color:#60a0b0;background-color:#fff0f0}.chroma .cp,.chroma .cpf{color:#007020}.chroma .gd{color:#a00000}.chroma .ge{font-style:italic}.chroma .gr{color:red}.chroma .gh{color:navy;font-weight:700}.chroma .gi{color:#00a000}.chroma .go{color:#888}.chroma .gp{color:#c65d09}.chroma .gp,.chroma .gs,.chroma .gu{font-weight:700}.chroma .gu{color:purple}.chroma .gt{color:#04d}.chroma .gl{text-decoration:underline}.chroma .w{color:#bbb}:root{--black-8:rgba(0,0,0,0.8);--black-6:rgba(0,0,0,0.6);--black-2:rgba(0,0,0,0.2);--card-shadow-4:0 4px 6px 0 rgba(0,0,0,0.2);--card-shadow-2:0 2px 6px 0 rgba(0,0,0,0.2);--accent:#f55500;--primary:#004ba0;--primary-light:#63a4ff;--code-background-grey:#f0f0f0;--light-grey:#f0f4f7;--dark-grey:#b4b6b7;--small:576px;--medium:768px;--large:992px;font-size:18px}@media screen and (min-width:768px){:root{font-size:20px}}@media screen and (min-width:992px){:root{font-size:21px}}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}.nested-links a{color:#004ba0;color:var(--primary)}.nested-links a:focus,.nested-links a:hover{opacity:.5;transition:all .15s ease-in}.btn{display:inline-block;border-style:solid;border-width:1px;border-radius:.25em;padding:.25rem .5rem;text-align:center;color:#000;color:initial;cursor:pointer}.btn:focus,.btn:hover{opacity:.5;transition:all .15s ease-in}.body-wrapper{background-color:#f0f4f7;background-color:var(--light-grey);color:rgba(0,0,0,.8);color:var(--black-8);line-height:1.5;font-family:georgia,times,serif;font-size:1rem}.site-header{background-color:#004ba0;background-color:var(--primary);z-index:20;position:relative;background-repeat:no-repeat;background-size:cover;box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4)}.site-header__social-follow-wrapper{padding:1rem}.site-header__text{font-family:avenir next,avenir,sans-serif;text-align:center;padding:4rem 1.5rem;margin:0 auto;max-width:576px;max-width:var(--small)}@media screen and (min-width:992px){.site-header__text{max-width:768px;max-width:var(--medium)}}.site-header__header-text{margin:0;color:#fff;font-weight:500;line-height:1.25;font-size:3rem}.site-header__subheader-text{margin:.75rem auto 0;padding:1rem;font-weight:300;color:#fff}.nav{z-index:200;position:relative;background-color:#004ba0;background-color:var(--primary);width:100%;padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4)}.nav__title{font-size:1.5rem;font-weight:300;font-family:avenir next,avenir,sans-serif;text-decoration:none;color:#fff;display:inline-block}.nav__title:focus,.nav__title:hover{color:#63a4ff;color:var(--primary-light)}.social-icon{display:inline-block;fill:#fff;transition:all .15s ease-in;margin-right:.5rem}.bio .social-icon{fill:#b4b6b7;fill:var(--dark-grey)}.social-icon--twitter :focus,.social-icon--twitter:hover{fill:#1da1f2}.social-icon--github :focus,.social-icon--github:hover{fill:#000}.page{margin:0 auto;padding:0 .75rem;max-width:576px;max-width:var(--small)}@media screen and (min-width:992px){.page{max-width:768px;max-width:var(--medium)}}.index-anchor,.index-share-horizontal{margin:.75rem auto}.index-anchor{display:block;background-color:#fff;box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4);text-decoration:none}.index-anchor:focus,.index-anchor:hover{transition:all .2s;background-color:#63a4ff;background-color:var(--primary-light)}.summary{padding:1.5rem;color:rgba(0,0,0,.8);color:var(--black-8);overflow:hidden}.summary__title{font-size:1.2rem;font-family:athelas,georgia,serif;line-height:normal;margin-top:1rem;margin-bottom:1rem}.summary__excerpt{color:rgba(0,0,0,.6);color:var(--black-6)}.article__publisher-info{padding-top:.75rem;font-size:.75rem;color:color(#004ba0 alpha(-30%));color:color(var(--primary) alpha(-30%))}.article{margin:1.5rem auto 0;padding:1.25rem;box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4);background-color:#fff}.article__date{font-family:avenir next,avenir,sans-serif;font-size:.75rem}.article__title{font-family:athelas,georgia,serif;line-height:normal;margin-top:.5rem}article img{max-width:100%}.article__content{margin-top:.5rem}.article-extra{margin:.5rem auto 0;padding-top:.25rem;max-width:768px;max-width:var(--medium)}.blog-extras-container{box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4);background-color:#fff;padding:1rem}.blog-extras-container__title{margin:0;font-weight:bolder}.blog-extras-container--center{text-align:center}.extra-content-items{padding-left:1rem}.bio{box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4);background-color:#fff;padding:1rem}@media screen and (min-width:576px){.bio--small{display:none}}.bio--large{display:none}@media screen and (min-width:576px){.bio--large{display:flex}}.bio__img{border-radius:50%;height:8rem;width:8rem}.bio__top{display:flex}.bio__left{flex:1}.bio__right{flex:1;text-align:right}.bio__large__top{display:flex}.bio__large__right{margin-left:1rem}.bio__large__author{margin:0}.bio__large__social{flex:1;text-align:right}.newsletter-link{white-space:nowrap;color:#004ba0;color:var(--primary)}.newsletter-link:focus,.newsletter-link:hover{opacity:.5;transition:all .15s ease-in}.link-to-repo{vertical-align:middle;text-align:center;margin:1rem auto 0}.btn--github{background-image:linear-gradient(180deg,#fafbfc,#e4ebf0);border-color:#d1d2d3}.site-license{margin:1rem auto;text-align:center}code{padding:.2em .4em;border-radius:3px;font-size:85%;background-color:#f0f0f0;background-color:var(--code-background-grey);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}pre{overflow-x:auto;overflow-y:hidden;position:relative;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}pre code{display:block;padding:1.25em;font-size:.75rem}.not-found{text-align:center;margin:1rem}.share-buttons-vertical{display:none}@media screen and (min-width:768px){.share-buttons-vertical{z-index:201;background-color:#fff;border-radius:.4rem;display:block;margin:100px .75rem .75rem;position:fixed;top:0;z-index:1;text-align:center;box-shadow:0 4px 6px 0 rgba(0,0,0,.2);box-shadow:var(--card-shadow-4)}}.share-buttons-vertical__text{padding:.25rem;font-size:.6rem}@media screen and (min-width:768px){.share-horizontal{display:none}}.share-buttons-horizontal{display:flex;justify-content:flex-start}.share-button-horizontal{margin:.5rem .5rem 0 0}