@font-face{font-family:calibre;font-style:normal;font-weight:400;src:url(/assets/fonts/calibre-regular.eot);src:url(/assets/fonts/calibre-regular.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/calibre-regular.woff2) format("woff2"),url(/assets/fonts/calibre-regular.woff) format("woff")}@font-face{font-family:calibre;font-style:italic;font-weight:400;src:url(/assets/fonts/calibre-regular-italic.eot);src:url(/assets/fonts/calibre-regular-italic.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/calibre-regular-italic.woff2) format("woff2"),url(/assets/fonts/calibre-regular-italic.woff) format("woff")}@font-face{font-family:calibre;font-style:normal;font-weight:700;src:url(/assets/fonts/calibre-semibold.eot);src:url(/assets/fonts/calibre-semibold.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/calibre-semibold.woff2) format("woff2"),url(/assets/fonts/calibre-semibold.woff) format("woff")}@font-face{font-family:calibre;font-style:italic;font-weight:700;src:url(/assets/fonts/calibre-semibold-italic.eot);src:url(/assets/fonts/calibre-semibold-italic.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/calibre-semibold-italic.woff2) format("woff2"),url(/assets/fonts/calibre-semibold-italic.woff) format("woff")}@font-face{font-family:sailec;font-style:normal;font-weight:400;src:url(/assets/fonts/sailec-regular.eot);src:url(/assets/fonts/sailec-regular.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/sailec-regular.woff2) format("woff2"),url(/assets/fonts/sailec-regular.woff) format("woff")}@font-face{font-family:sailec;font-style:normal;font-weight:700;src:url(/assets/fonts/sailec-bold.eot);src:url(/assets/fonts/sailec-bold.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/sailec-bold.woff2) format("woff2"),url(/assets/fonts/sailec-bold.woff) format("woff")}@font-face{font-family:hack;font-style:normal;font-weight:400;src:url(/assets/fonts/hack-regular.woff) format("woff"),url(/assets/fonts/hack-regular.woff2) format("woff2"),url(/assets/fonts/inputmonocompressed-regular.svg#InputMonoCompressed-Regular) format("svg")}*{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0;margin:0;border:0;outline:0}html{font-family:sans-serif;text-rendering:optimizeSpeed;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary,progress{display:block}a{background-color:transparent;color:inherit;text-decoration:none}a:active,a:hover{outline:0}abbr{text-decoration:none}b,strong{font-weight:inherit;font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:65%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.15em}img{border:0;height:auto;max-width:100%}svg{color-interpolation-filters:sRGB;fill:currentColor}svg:not(:root){overflow:hidden}hr{-webkit-box-sizing:content-box;box-sizing:content-box;overflow:visible;height:0}pre{overflow:auto}code,pre{font-family:monospace,monospace;font-size:1em}table{text-align:left;width:100%;max-width:100%;border-collapse:collapse}table td,table th{vertical-align:top}ul,ol{list-style:none}input[type=text],input[type=email],textarea,button,progress{-webkit-appearance:none;-moz-appearance:none;appearance:none}select,input,textarea,button{font:inherit;color:inherit;background:0 0}button,select{cursor:pointer}progress{border:none}progress::-webkit-progress-bar{background:0 0}html{font-size:16px}@media(max-width:51em){html{font-size:13px}}body{font-family:calibre,Helvetica,Arial,sans-serif;background:#fff;color:#1e1935}body *::-moz-selection{background:#1e1935;color:#fff;text-shadow:none}body *::selection{background:#1e1935;color:#fff;text-shadow:none}.l-main{display:grid;grid-template-columns:minmax(1.875rem,1fr) minmax(auto,86.25rem) minmax(1.875rem,1fr);grid-template-rows:-webkit-min-content auto -webkit-min-content;grid-template-rows:min-content auto min-content;grid-template-areas:". header ." ". content ." ". footer .";padding:0 1.875rem}@media(max-width:51em){.l-main{grid-template-columns:minmax(1rem,1fr) minmax(auto,88rem) minmax(1rem,1fr);padding:0 1rem}}@supports(display:grid){.l-main{padding:0}}.l-main>*{min-width:0}.l-content{background:#f6f6f6;grid-area:content}.l-wrapper{padding:6rem 3rem .25rem}.l-wrapper--article{padding-top:3rem;margin-bottom:2rem}@media(min-width:64em){.l-wrapper{padding-left:6rem;padding-right:6rem}.l-wrapper--page{padding-right:15rem}.l-wrapper--article{padding:4rem 27.5rem 0 6rem}.l-wrapper--article-footer{margin-top:7.5rem;padding-top:6rem;padding-bottom:3rem;background:rgba(148,158,155,.2)}}.l-header{grid-area:header;padding:1.75rem 1rem .5rem;position:relative}.l-logo{position:absolute;top:25%;left:1rem;width:5rem;height:4.75rem;padding:.25rem .5rem;background:#fff;border-radius:50%;z-index:20}.l-nav{text-align:right}.l-nav>*{display:inline;padding-bottom:calc(0.5rem - 4px);border-bottom:4px solid #fff}.l-nav>*:not(:last-child){margin-right:2rem}.l-nav>*.is-active{border-bottom-color:currentColor}.l-footer{padding:5rem 5rem 2rem;grid-area:footer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports(display:grid){.l-footer{display:grid}}.l-footer>*{min-width:0}@media(min-width:64em){.l-footer{grid-template-columns:1.5fr 1fr 1fr 1fr;grid-column-gap:5rem}.l-footer>*{-webkit-box-flex:0;-ms-flex:0 0 calc(33.33333% - 6rem);flex:0 0 calc(33.33333% - 6rem)}}@media(max-width:63em){.l-footer{padding:4rem 1rem;grid-template-columns:1fr}}p{margin-bottom:3rem}code,kbd{font-family:hack,Consolas,andale mono,Menlo,Monaco,Courier,monospace;font-weight:400;text-shadow:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}*:not(pre)>code,kbd{font-size:.7em;display:inline-block;padding:0 .5em .1em;background:rgba(148,158,155,.25);color:#1e1935;border-radius:2px;line-height:inherit;line-height:1.7}kbd{-webkit-box-shadow:inset 0 -1px 0 #949e9b;box-shadow:inset 0 -1px 0 #949e9b;border:1px solid #949e9b;background:rgba(255,255,255,.75);border-radius:4px;text-transform:uppercase;font-size:.75rem}.u-a:not(.u-a-x){cursor:pointer;-webkit-box-shadow:inset 0 calc(-.14em + 1px) 0 0 #f6f6f6,inset 0 -.14em 0 0 #949e9b;box-shadow:inset 0 calc(-.14em + 1px) 0 0 #f6f6f6,inset 0 -.14em 0 0 #949e9b;text-decoration:none;text-shadow:1px 1px #f6f6f6,2px 1px #f6f6f6,-1px 1px #f6f6f6,-2px 1px #f6f6f6}.u-a:not(.u-a-x):focus{outline:1px dotted}.o-box .u-a:not(.u-a-x){-webkit-box-shadow:inset 0 calc(-.14em + 1px) 0 0 #fff,inset 0 -.14em 0 0 #949e9b;box-shadow:inset 0 calc(-.14em + 1px) 0 0 #fff,inset 0 -.14em 0 0 #949e9b;text-decoration:none;text-shadow:1px 1px #fff,2px 1px #fff,-1px 1px #fff,-2px 1px #fff}.u-a-perma:target{padding-top:2.5rem}.u-c-subtle{color:#616b68}.u-c-red{color:#f44d61}.u-c-green{color:#2fbf71}.u-t-xs{font-size:.95rem;line-height:1.35}.u-t-sm{font-size:1.1rem;line-height:1.25}.u-t-md,p,ol,ul,table{font-size:1.3rem}.u-t-lg{font-size:1.8rem}.u-strong{font-weight:700}.u-italics{font-style:italic}.u-t-center{text-align:center}.u-t-right{text-align:right}.u-quotes:before{content:"\201c"}.u-quotes:after{content:"\201d"}.u-sc{display:inline-block;text-transform:uppercase;font-size:.75em}.u-sc:first-letter{font-size:1.25em}.u-h0,.u-h1,.u-h2,.u-h3,.u-h4{font-family:sailec,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.25}.u-h0{font-size:4.5rem}.u-h1{font-size:3.6rem}.u-h2{font-size:2.2rem}.u-h3{font-size:1.7rem;line-height:1.35}.u-h4{font-size:1.45rem}.u-h5{font-weight:700;font-size:1.45rem}.u-h6{font-weight:700;font-size:1.3rem}@media(max-width:51em){.u-h0,.u-h1{font-size:2.6rem;word-wrap:break-word}}.u-b-xs{margin-bottom:.5rem}.u-b-sm{margin-bottom:1.3rem}.u-b-md{margin-bottom:3.4rem}.u-b-lg{margin-bottom:5.5rem}.u-b-xl{margin-bottom:8.9rem}.u-b-x.u-b-x{margin-bottom:0}.u-p-xs{padding:.5rem}.u-p-sm{padding:1rem}.u-p-md{padding:1.5rem}.u-block{display:block}.u-fit{max-width:100%}.u-inline-list>*:not(:last-child){margin-right:1rem}.u-a-rotate{-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out,-webkit-transform .5s ease-in-out}.u-a-rotate:hover{-webkit-transform:rotate(360deg);transform:rotate(360deg)}@media(max-width:51em){.u-hide-sm.u-hide-sm{display:none}}.o-grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;grid-column-gap:5rem}@supports(display:grid){.o-grid{display:grid}}.o-grid--narrow{grid-column-gap:3rem}.o-grid>*{min-width:0}@media(min-width:52em){.o-grid{grid-template-columns:repeat(2,1fr)}.o-grid>*{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem)}}@media(min-width:64em){.o-grid{grid-template-columns:repeat(3,1fr)}.o-grid>*{-webkit-box-flex:0;-ms-flex:0 0 calc(33.33333% - 4rem);flex:0 0 calc(33.33333% - 4rem)}.o-grid--half>*,.o-grid--blog>*{-webkit-box-flex:0;-ms-flex:0 0 calc(50% - 2rem);flex:0 0 calc(50% - 2rem)}.o-grid--half{grid-template-columns:repeat(2,1fr)}.o-grid--profile{grid-template-columns:225px 1fr}.o-grid--profile>*:first-child{-webkit-box-flex:0;-ms-flex:0 0 225px;flex:0 0 225px;height:auto}}.has-aside,p,ol,ul,table{position:relative}.has-aside:hover .o-aside,p:hover .o-aside,ol:hover .o-aside,ul:hover .o-aside,table:hover .o-aside{opacity:1}.o-aside{border-left:1px solid #949e9b;padding:.5rem 0 .5rem 1rem}@media(min-width:64em){.o-aside{position:absolute;top:0;left:calc(100% + 4.5rem);width:calc(17.5rem + 2rem);-webkit-transition:opacity .2s ease;transition:opacity .2s ease;opacity:.7;z-index:10}}@media(max-width:63em){.o-aside{display:block;margin:2rem 0}}.o-aside__title{display:block}.o-card{display:grid;grid-template-rows:-webkit-min-content 1fr -webkit-min-content;grid-template-rows:min-content 1fr min-content;background:#fff;position:relative;-webkit-transition:-webkit-transform .1s ease;transition:-webkit-transform .1s ease;transition:transform .1s ease;transition:transform .1s ease,-webkit-transform .1s ease}.o-card:before{width:100%;height:100%;position:absolute;top:0;left:0;content:"";z-index:0;-webkit-box-shadow:2px 2px 30px #949e9b;box-shadow:2px 2px 30px #949e9b;opacity:.1;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;pointer-events:none}.o-card:hover,.o-card:active,.o-card:focus{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.o-card:hover:before,.o-card:active:before,.o-card:focus:before{opacity:1}.o-card__image{padding-bottom:50%;background-size:cover;background-position:top center}@media(min-width:64em){.o-card--featured{grid-column:span 2}}.o-logo-box{color:#fff;max-width:350px;position:relative}.o-logo-box>*{width:100%;height:auto;max-width:350px;padding:20%}.o-list--numbers{counter-reset:li}.o-list--numbers .o-list__item{margin-left:1em;padding-left:2em}.o-list--numbers .o-list__item:before{font-size:1.25em;content:counter(li,decimal) "."}.o-list--letters{counter-reset:li}.o-list--letters .o-list__item{margin-left:1em;padding-left:2em}.o-list--letters .o-list__item:before{font-size:1.25em;content:counter(li,upper-latin) "."}.o-list--roman{counter-reset:li}.o-list--roman .o-list__item{margin-left:1em;padding-left:2em}.o-list--roman .o-list__item:before{font-size:1.25em;content:counter(li,lower-roman) "."}.o-list__item{padding-left:1.5em}.o-list__item:before{content:"\25A0";font-size:.9em;display:inline-block;font-weight:700;line-height:1;padding-right:1em;margin-left:-3em;text-align:right;width:2em;counter-increment:li}.o-progress{position:fixed;position:-webkit-sticky;position:sticky;top:0;left:0;width:100%;height:5px;color:var(--progress-color,#1e1935);background:0 0;z-index:5}.o-progress[value="0"]{background:#fff}.o-progress::-webkit-progress-bar{background:0 0;border-radius:none}.o-progress::-webkit-progress-value{background:var(--progress-color,#1e1935);border-radius:none}.o-progress::-moz-progress-bar{background:var(--progress-color,#1e1935)}.o-hero{position:relative}.o-hero__img{position:relative;z-index:8;top:-5px}.o-hero__credit{text-align:right;padding-right:1rem}@media(min-width:52em){.o-hero__credit{position:absolute;bottom:1.35rem;right:.65rem;background:#fff;padding:.15rem .35rem .2rem;line-height:1;display:inline-block;z-index:10;-webkit-transform:rotate(-90deg) translateX(100%);transform:rotate(-90deg) translateX(100%);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}}.o-profile-img{border-radius:50%;margin:0 2rem 2rem 0;shape-outside:circle();border:3px solid #fff;-webkit-box-shadow:2px 2px 30px #949e9b;box-shadow:2px 2px 30px #949e9b}@media(min-width:52em){.o-profile-img{float:left;margin-bottom:1rem}}.o-input{background:#fff;font:inherit;border:1px solid #949e9b;padding:.75rem;margin-bottom:.75rem;color:#1e1935}.o-button{background:#1e1935;color:#fff;display:inline-block;font-weight:700;padding:.75rem 1.25rem;border:1px solid #1e1935;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.o-button--light{background:#fff;color:#1e1935;border-color:#fff}.o-button:hover{opacity:.9}.o-icon{vertical-align:middle}@media(min-width:52em){.o-abbr{cursor:help;border-bottom:2px dotted #949e9b}@supports((-webkit-text-decoration-style:wavy) or (text-decoration-style:wavy)){.o-abbr{border-bottom:none;-webkit-text-decoration:underline wavy #616b68;text-decoration:underline wavy #616b68}}}@media(max-width:51em){.o-abbr:after{content:" (" attr(aria-label) ")";color:#616b68}}.o-box{padding:2rem;background:#fff;position:relative}.o-box--dark{background:rgba(148,158,155,.2)}.has-label.has-label{padding-top:5.5rem}.o-box-label{position:absolute;top:1.5rem;left:0;display:inline-block;font-family:inherit;background:#1e1935;color:#fff;line-height:1;padding:.4rem .8rem .6rem 2rem}.o-box-label--light{background:#fff;color:#1e1935}.o-displacy{background:radial-gradient(ellipse at 0 50%,rgba(30,25,53,0.2) 0%,transparent 75%) 0 center,radial-gradient(ellipse at 100% 50%,rgba(30,25,53,0.2) 0%,transparent 75%) 100% center;background-attachment:scroll,scroll;background-repeat:no-repeat;background-size:10px 100%,10px 100%;overflow-x:auto;overflow-y:hidden;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap}.o-displacy:after,.o-displacy:before{content:"";width:20px;z-index:10;-webkit-box-flex:0;-ms-flex:0 0 20px;flex:0 0 20px;background:#f6f6f6}.o-quote{border-left:5px solid;padding-left:2rem}.twitter-tweet-rendered{-webkit-box-shadow:2px 2px 30px #949e9b;box-shadow:2px 2px 30px #949e9b;border-radius:5px;margin:2rem auto}[data-tooltip]{position:relative}@media(min-width:52em){[data-tooltip]:before{position:absolute;top:125%;left:50%;display:inline-block;content:attr(data-tooltip);background:#1e1935;border-radius:2px;color:#fff;font:bold 1rem/1 "Calibre",Helvetica,Arial,sans-serif;opacity:0;padding:.25rem .75rem .5rem;-webkit-transform:translateX(-50%) translateY(-2px);transform:translateX(-50%) translateY(-2px);-webkit-transition:opacity .1s ease-out,-webkit-transform .1s ease-out;transition:opacity .1s ease-out,-webkit-transform .1s ease-out;transition:opacity .1s ease-out,transform .1s ease-out;transition:opacity .1s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out;visibility:hidden;white-space:nowrap;z-index:100}[data-tooltip]:hover:before{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0);visibility:visible}}.o-table{vertical-align:top}@media(max-width:63em){.o-table{background:radial-gradient(ellipse at 0 50%,rgba(30,25,53,0.2) 0%,transparent 75%) 0 center,radial-gradient(ellipse at 100% 50%,rgba(30,25,53,0.2) 0%,transparent 75%) 100% center;background-attachment:scroll,scroll;background-repeat:no-repeat;background-size:10px 100%,10px 100%;display:inline-block;overflow-x:auto;overflow-y:hidden;width:auto;-webkit-overflow-scrolling:touch}}.o-table__row:nth-child(odd):not(.o-table__row--head){background:rgba(148,158,155,.2)}.o-table__cell{padding:.75rem 1rem}.o-table__cell:not(:last-child){border-right:1px solid #949e9b}.o-table__cell--num{text-align:right;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.o-table__head-cell{font-weight:700;color:#1e1935;padding:1rem .5rem;border-bottom:2px solid}@media(max-width:63em){.o-table__cell:first-child,.o-table__head-cell:first-child{background-repeat:no-repeat;background-image:-webkit-gradient(linear,left top,right top,color-stop(50%,#f6f6f6),to(rgba(246,246,246,0)));background-image:linear-gradient(to right,#f6f6f6 50%,rgba(246,246,246,0) 100%);background-size:20px 100%}.o-table__cell:last-child,.o-table__head-cell:last-child{background-repeat:no-repeat;background-position:100% 0;background-image:-webkit-gradient(linear,right top,left top,color-stop(50%,#f6f6f6),to(rgba(246,246,246,0)));background-image:linear-gradient(to left,#f6f6f6 50%,rgba(246,246,246,0) 100%);background-size:20px 100%}.o-table__cell:first-child:last-child,.o-table__head-cell:first-child:last-child{background-repeat:no-repeat;background-image:-webkit-gradient(linear,right top,left top,color-stop(50%,#f6f6f6),to(rgba(246,246,246,0))),-webkit-gradient(linear,left top,right top,color-stop(50%,#f6f6f6),to(rgba(246,246,246,0)));background-image:linear-gradient(to left,#f6f6f6 50%,rgba(246,246,246,0) 100%),linear-gradient(to right,#f6f6f6 50%,rgba(246,246,246,0) 100%);background-position:100% 0,0 0;background-size:20px 100%,20px 100%}}.o-code{position:relative;background:#1e1935;color:#fff;padding:2rem;font-family:inherit;overflow:auto;white-space:pre;direction:ltr;width:100%}.o-code *::-moz-selection{background:#fff;color:#1e1935}.o-code *::selection{background:#fff;color:#1e1935}.o-code__content{color:#d8d4ed;line-height:1.75;width:100%}.o-code__content[data-prompt]:before{content:attr(data-prompt) " ";color:#949e9b}[class*=language-] .token.comment,[class*=language-] .token.prolog,[class*=language-] .token.doctype,[class*=language-] .token.cdata,[class*=language-] .token.punctuation{color:#949e9b}[class*=language-] .token.property,[class*=language-] .token.tag,[class*=language-] .token.constant,[class*=language-] .token.symbol,[class*=language-] .token.deleted{color:#6ef6e3}[class*=language-] .token.boolean,[class*=language-] .token.number{color:#dbfe87}[class*=language-] .token.selector,[class*=language-] .token.attr-name,[class*=language-] .token.string,[class*=language-] .token.char,[class*=language-] .token.builtin,[class*=language-] .token.inserted{color:#faca60}.language-css .token.string,[class*=language-] .token.operator,[class*=language-] .token.entity,[class*=language-] .token.url,[class*=language-] .token.variable{color:#ff45a8}[class*=language-] .token.atrule,[class*=language-] .token.attr-value,[class*=language-] .token.function,[class*=language-] .token.decorator{color:#b8a8ff}[class*=language-] .token.regex,[class*=language-] .token.important{color:#faca60}[class*=language-] .token.keyword{color:#ff45a8}.o-graph__bar{cursor:pointer;-webkit-transition:fill .15s ease;transition:fill .15s ease}.o-graph__value:hover .o-graph__bar,.o-graph__segment:hover .o-graph__bar{fill:#3e3565}.o-graph__value:hover .o-graph__number,.o-graph__value:hover+.o-graph__segment .o-graph__bar{fill:#3e3565}.o-graph__number{cursor:ppinter;-webkit-transition:opacity .25s ease;transition:opacity .25s ease}.o-graph__value .o-graph__number{fill:#1e1935}.o-graph__segment .o-graph__number{fill:#fff;opacity:0}.o-graph__segment:hover .o-graph__number{opacity:1}.o-graph__value .o-graph__bar,.o-graph__legend-value{fill:#1e1935}