html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;font-family:inherit;font-size:100%;font-stretch:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}ul{list-style:none}a{color:inherit;cursor:pointer;text-decoration:none}html{color:#20232a;font-family:Muli,sans-serif;font-size:16px;font-weight:400;line-height:1.7}b,strong{font-weight:800}body,html{height:100%}body{display:flex;flex-direction:column}body>*{flex-grow:0;flex-shrink:0}body>.footer{flex-grow:1}.topbar{position:relative;z-index:2}.page-content{position:relative;z-index:1}.container{margin:0 auto;max-width:1260px;padding:0 30px;width:100%}@media only screen and (max-width:767px){.container:not(.container--always-spacious){padding-left:15px;padding-right:15px}}.container--wide{max-width:1400px}.topbar{background:#20232a;color:#fff}@media only screen and (max-width:767px){.responsive-enabled .topbar{overflow:auto}}.topbar__container{align-items:center;display:flex;height:74px}.topbar__branding,.topbar__github,.topbar__notice{flex-grow:0}.topbar__nav{align-items:stretch;align-self:stretch;display:flex;flex-grow:1;padding-left:50px}.topbar__nav-item{display:flex;flex-direction:column;justify-content:center;padding:0 15px}.topbar__nav-handle{cursor:default;padding:8px 0}a.topbar__nav-handle{cursor:pointer}.topbar__nav-item--selected{background-color:#121419}.topbar__nav-item--selected .topbar__nav-handle{color:#fac863}.topbar__flyout-wrap{height:0;position:relative}.topbar__flyout{background:#20232a;border-top:2px solid #61dafb;display:none;left:0;min-width:150px;padding:6px 0;position:absolute;top:0}.topbar__nav-item:hover .topbar__flyout{display:block}.topbar__flyout-handle,.topbar__nav-handle{display:block;font-weight:300;white-space:nowrap}.topbar__flyout-handle:hover,.topbar__nav-handle:hover{color:#61dafb}.topbar__flyout-handle{padding:8px 15px}.topbar__notice{font-size:13px;padding-right:20px}.topbar__notice-link{border-bottom:2px solid #fac863;color:#fff;font-weight:600;padding-bottom:2px}.responsive-enabled .topbar__notice-link{white-space:nowrap}.topbar__github,.topbar__github-link{align-items:center;display:flex}.topbar__github-link{color:#fff}.topbar__github-text{font-size:13px;padding-right:10px}.topbar__github-graphic{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA2CAYAAACIsLrgAAAAAXNSR0IArs4c6QAABX9JREFUaAXdmluIVVUYx2fG1EnRkUgxi5g0R5NizMJLBY2WUBSpPfRST9VDQUEvIoIIVqgURdCFXnwryYeCkjQpeyzNS9SD2mCRdLHMLCttTHT6/c/svdvXtb59zt5H6YM/a6/v/q2z9tprr306Ov5n1FlHPcPDw9347QPTQQ+YAER/gpPgGzDY2dk5RFspVVIQBYwlq7vAneAOMAt0ARedR/gV2Ak+BDso8AzthSMKmQ1eAydAqyQf8jW77RURdHIQ/Cxt1SSfKmxy7YURpBusBidB3aQYiqX7sXrCcR8YBO0mxdQCUx3hcDGo4j5pdjAUe3ElFeHoUfBPs5lUaKccHmmpKBxoDl9stLqpoqhiGTh/sVUT5LSsqKjcBytG12GwG4RP+CL7C8XXjmMBD+KD6QQyBVGMtip7wMy0ctDfSvsr6AdzQcYHvFZoGOPPwZfgcnAvyKNBmPMpSlupYqKgzcBFV4bWKM0EL4MzLgOjTD7kKxpIrq/y2G4OcwnbxOhiPA/BXpDgh8q0hxgRTccEYdcL4xVwTyA4TrsP/ABOBKDpuCyABuUmoF9A9D54At/fqhMnfB+ir71hHunXvBm7/XnCDox3ABe9lWsYMDG8DVzj0onLpCubOC99jXwLcNEHaZtGH4sBl1Ug25RrXCOTuJsMeQ2EKcS3+BtCpqMd5ZDVJbrE4DjKvVEQI6B7Z6HBsNo9lSEgKtEi4VBfSA03Sh7+Qg86lOOifgwtIxa3afo6iKXHg4UeipQwPAIstDIyatMFSa20JIbOkUZKXMwwGuxBr2g5r608xQSKbaHpmnK3G7NZx3qvdb+tFMR82hh0QAVp++IjPRy3+5RqlG/D928G/3NVkGXl2slInTM4rEUliK3TIR/1qaAZPi3khw06dat8bQjQuId6DIrHDDp1q1hymKRfyPLOM6bubA3+LTlMUEGCj8JdsU+vTrklhy4Vo62+j+o/9PNl8N+rhkvzuLWgXpeXNsksOZgLuoXH9Lg2JZ4JQ+zxMBdlBFlGo6CfsvwMRzekdUeRMa6AodiWReGoptwuY8DWDvmMQQrUHi7gp9m79dqtVwIrzU97qLtPYgusyaHXr4K6wO9GI+1623YvEWs82GvMTTVoxnWoqPeMRlLbBmp/ySPGaLAdWOndaLZgscJqFeh9Smt5NY5ilLnAtz7d7ApiWZsVUQwsRoHvU5bn6L8NdLQ1lJKpewq8AMzHVlHAggt8XQteAqdBGfoO5eQBDoy1KQ9/05+j2LQTwRspedhV4Z+AdeBu0Au8b7boaBBngfvAevAZaPbjwNrMGOFsKvgLxEmfBe8PlbnWt08fHUDBu3Cgcymw3vCumMp5aphjokWwKsdSv8BSKdKOAV/k6MRZtyacOjoYLYobNnm9qjAEDrWyaITT9DMMbT9U1BxQ9HnyKDLvdIsngP5h0CwdxHB03F/mGoUlBd6jIyzkmvsfp/R+of9UxqGHgc2bKT9luks87kfEeNRNmqYfYYyNO6B/BZgHrgbJVSau6LjG7kXQDK13uE2K8K6zsHdyomxMarbeI0be4OWETrCUW6mprXtF2479CTcjnTU0I1uM1utRnLIFKafG/Vw6PIZTgJ4PadoH4zGg//r0BNAmt/TuAZsNwErKZUrpQuIGOBgHthoj2ud1EAS/G42+lYP3l/FOHQ75ThN7OdAnRx95/eU4sNwLr2K3nFxO5dgnWKYEdHIJnsRSD1jXgZ/JXyID96mT/ii4lNj6/mo6uS2VAE4/IsAN4DlwFqSpmaU7Lwf5fh5cH8RMx6m+z3yeBp4Bx0BIa8pGwlCrZkh6OD8LppX1E+pb5m+om9sSvBvBA0AbxNcZ0T9yFQuY2E9E9DjQYc0W7IcKVE3sfwFTt/2ffqzKdgAAAABJRU5ErkJggg==) no-repeat;background-size:contain;height:27px;width:26px}.branding{align-items:center;display:flex}a.branding{color:#fff}.branding-graphic{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAsBJREFUeAHtW8FqFEEQrers4sUf2ERBEN2D0at39TM8GKN7j4fsQRKJEDAezH2TGEE/Q/yImCAhEQSTzSeIZnfK6tnFTWanxhoh0lPbDQPdVW9m672q7ukdZhC4Ndq7TwFogbtNIHLeZrYhJsxtHwDXT9ZmNzAlT0nHLOEiYuhaDoGeFWFs+2jBEcBN2yQL2TWd+TlfxJ/XO9sLXhH5oS8KoBDJNCRWgOn0KsjFClCIZBoSK8B0ehXkYgUoRDINqYnsEHoO3ArQpXfHr28cibjAHTOLB1cAfswlCMtAMMYXG4s7/IdwvCHCi+7anZfjnmpapts7y0Swko1eXgNquJ0FV3os8BEF6K7e/l5pwpngJT6iAJnzzQ6jAGZTqyQWK0AplFlYrACzqVUSixWgFMosLFaA2dQqicUKUAplFhYrwGxqlcRiBSiFMguLFWA2tUpiY4+Jlef9VxgR4fzX/hNIaJ5fb7s1+HHaA4dbW9enNhEx98m2Jsjgp0DrGzUeH/Y/UkIdZnmXgC4PDu6zzfs8RkM2DxO0AD7zp6f9D/wi17284FMb+3q/+u89VsQUOIIWIC37IvJDYlwR91NsAVHJFbQAgzkvhZ6xp+tDxqYYhi3AnwVPwaQUdnS9wAUYBXpRvcAF4FudupXBji4atgB8nx+F+pdeGeyZSwUtgN/kAOKnM/HmdxmTYvO9hdagBfA7vHp96mGhCEzeY/51Nxj8VrhzDU94k/PgorbCwQvg63eY3Q3u+uNce3tuVH4Q9BQoT6f8GVGA8prZOiNWgJTP6eefr0q+KtolPnIF9GiuikTFmAU+4m2Qn74szbR3E6zVt49Wm8fihQN3pG+K4s9HCSRLeaGKb4rmgS3aHO8y/Le0k9mYu18D+EPiiW37LACuTyp93mK/cf4TcuCvqHkqfJmI6eCnfMrVtbqvZjd/Ayj3u2zl1YldAAAAAElFTkSuQmCC) no-repeat;background-size:contain;height:32px;margin-right:10px;width:32px}.branding-text{font-size:24px;font-weight:800}.page-content__container{padding-bottom:50px}.page-content__container:after,.page-content__container:before{clear:both;content:"";display:table}.page-content__title{font-size:34px;font-weight:900;margin:1.4em 0}.page-content__title a:hover{color:#1976d2}.page-content__title--small{font-size:24px}.page-showcase{background-color:rgba(130,215,247,.12);overflow:hidden}.page-showcase__main{box-shadow:0 0 356px 0 rgba(130,215,247,.5)}.page-content-tray{background:#f5f6f8}.section-bottom-shadow{border-bottom:1px solid #ccc;box-shadow:0 0 8px 1px rgba(0,0,0,.1)}.section-top-shadow{border-top:1px solid #ccc;box-shadow:0 0 8px 1px rgba(0,0,0,.1)}.footer{background:#20232a;color:#fff;font-size:14px}.footer a{color:#61dafb;text-decoration:none}.footer a:hover{text-decoration:underline}.footer li,.footer p,.footer ul{margin:1em 0}.footer__container{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:4em;margin-top:4em}.footer__left{text-align:left}.footer__right{text-align:right}@media only screen and (max-width:767px){.responsive-enabled .footer__container{align-items:center;flex-direction:column;margin-bottom:0;margin-top:0}.responsive-enabled .footer__left,.responsive-enabled .footer__right{text-align:center}.responsive-enabled .footer__left{margin:2em 0}.responsive-enabled .footer__right{margin:2em 0 0}}.footer-text-input{background:#000;color:#fff;line-height:24px;width:180px}.footer-button,.footer-text-input{border:1px solid #616a6f;height:26px;padding:0 8px}.footer-button{background:transparent;color:#cbd3d6;cursor:pointer}.footer-ad-card{background-color:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.15);border-radius:10px;color:inherit!important;display:flex;text-decoration:none!important}.footer-ad-card span:first-child{font-size:1.2em;padding:8px 12px}.footer-ad-card span:last-child{align-self:center;border-left:1px solid hsla(0,0%,100%,.15);color:#61dafb;padding:2px 12px}.footer-ad-card:hover span:last-child{text-decoration:underline!important}@media only screen and (max-width:767px){.responsive-enabled .footer-ad-card{flex-direction:column;text-align:center}.responsive-enabled .footer-ad-card span:last-child{align-self:stretch;border-left:0;border-top:1px solid hsla(0,0%,100%,.15)}}.sidebar-layout{display:flex;flex-direction:row;margin-bottom:1em}.sidebar-layout__main{flex-grow:1}.sidebar-layout__main>:first-child{margin-top:0}.sidebar-layout__sidebar{flex-basis:35%;flex-shrink:0;margin-left:40px}.sidebar-layout__sidebar--narrow{flex-basis:30%}@media only screen and (max-width:1023px){.responsive-enabled .sidebar-layout{align-items:stretch;flex-direction:column}.responsive-enabled .sidebar-layout__sidebar{margin-left:0;margin-top:3em}}.sidebar-card{background-color:#ddf8ff;border:1px solid #61d9fa;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-top:-1em;padding:1.5em}.sidebar-card p{margin:1.5em 0}.sidebar-card>:first-child{margin-top:0}.sidebar-card:last-child{position:sticky;top:3em}.sidebar-layout__sidebar--narrow .sidebar-card{padding:20px}.sidebar-bordered-section{border-left:1px solid #c8c9cc;padding-left:20px}@media only screen and (max-width:1023px){.responsive-enabled .sidebar-bordered-section{border-left:0;border-top:1px solid #c8c9cc;padding-left:0;padding-top:20px}}.button{border:2px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;line-height:1.7;padding:3px 8px;text-decoration:none!important}.button:disabled{cursor:auto;opacity:.5}.button--filled{box-shadow:0 1px 2px rgba(0,0,0,.15)}button.button,input.button{font-family:inherit;font-size:inherit}.button--red.button--filled{background-color:#d20404;color:#fff}.button--red.button--filled:not(:disabled):hover{background-color:transparent;border-color:#d20404;color:inherit}.button--blue.button--filled{background-color:#1976d2;color:#fff}.button--blue.button--filled:not(:disabled):hover{background-color:transparent;border-color:#1976d2;color:inherit}.button--blue.button--outlined{border-color:#1976d2;color:inherit}.button--blue.button--outlined:not(:disabled):hover{background-color:#1976d2;color:#fff}.button--purple.button--filled{background-color:#5f1481;color:#fff}.button--purple.button--filled:not(:disabled):hover{background-color:transparent;border-color:#5f1481;color:inherit}.button--green.button--filled{background-color:#007c00;color:#fff}.button--green.button--filled:not(:disabled):hover{background-color:transparent;border-color:#007c00;color:inherit}.button--lightblue.button--outlined{border-color:#61dafb;color:inherit}.button--lightblue.button--outlined:not(:disabled):hover{background-color:#61dafb;color:#20232a}.button--yellow.button--filled{background-color:#fac863;box-shadow:none;color:#20232a}.button--yellow.button--filled:not(:disabled):hover{background-color:transparent;border-color:#fac863}.badge{background-color:#1976d2;border-radius:2px;color:#fff!important;font-size:11px;line-height:14px;padding:2px 4px;vertical-align:middle}.inline-list li{display:inline}.inline-list li:before{content:"· ";margin:0 4px}.inline-list li:first-child:before{display:none}.text-content h1{font-size:34px;font-weight:900;margin:1.4em 0}.text-content h1 a:hover{color:#1976d2}.text-content h2,.text-content h3,.text-content h4{font-weight:800;margin:2.3em 0 1.3em}.text-content h2{font-size:24px}.text-content h3{font-size:22px}.text-content h4{font-size:20px}.text-content p{margin:1.5em 0}.text-content a{color:#1976d2;text-decoration:none}.text-content a:hover{text-decoration:underline}.text-content dl,.text-content ol,.text-content ul{margin:1.5em 0 1.5em 3em}.text-content ul{list-style-position:outside;list-style:disc}.text-content ul ul{list-style-position:outside;list-style:circle}.text-content ul ul ul{list-style:square}.text-content li{margin:1em 0}.text-content dl{margin:2em 0 2em 2em}.text-content dt{margin:1.5em 0 1em}.text-content dd{margin:1em 0 1.5em 2em}.text-content table{margin:1.5em 0;text-align:left;width:100%}.text-content td,.text-content th{border:1px solid #e4e4e4;padding:7px 10px}.text-content th{background-color:#f2f2f2;border-color:#ddd}.text-content td>p:first-child{margin-top:0}.text-content td>p:last-child{margin-bottom:0}.text-content code{background:#f2f2f2;border:solid #ddd;border-width:0 0 1px;font-family:Monaco,Consolas,Lucida Console,monospace;font-size:.8em;padding:0 2px}.text-content pre code{border-width:1px;display:block;line-height:1.8em;margin:1.5em 0;padding:.5em .7em}.more-link{white-space:nowrap}.more-link:after{content:" »"}.highlight .hll{background-color:#ffc}.highlight{background:#fff}.highlight .c{color:#998;font-style:italic}.highlight .err{background-color:#e3d2d2;color:#a61717}.highlight .k,.highlight .o{font-weight:700}.highlight .ch,.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:700}.highlight .c1,.highlight .cpf{color:#998;font-style:italic}.highlight .cs{color:#999;font-style:italic;font-weight:700}.highlight .gd{background-color:#fdd;color:#000}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{background-color:#dfd;color:#000}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:700}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{font-weight:700}.highlight .kt{color:#458}.highlight .m{color:#099}.highlight .s{color:#b84}.highlight .na{color:teal}.highlight .nb{color:#999}.highlight .nc{color:#458;font-weight:700}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne,.highlight .nf{color:#900;font-weight:700}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:700}.highlight .w{color:#bbb}.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:#099}.highlight .dl,.highlight .s2,.highlight .sa,.highlight .sb,.highlight .sc,.highlight .sd,.highlight .se,.highlight .sh,.highlight .si,.highlight .sx{color:#b84}.highlight .sr{color:olive}.highlight .s1,.highlight .ss{color:#b84}.highlight .bp{color:#999}.highlight .fm{color:#900;font-weight:700}.highlight .vc,.highlight .vg,.highlight .vi,.highlight .vm{color:teal}.highlight .il{color:#099}.bold-table strong,.bold-table thead th{font-weight:800}.bold-table td,.bold-table th{padding:20px}.bold-table th{white-space:nowrap}.bold-table td{width:50%}.bordered-image{border:7px solid #c8c9cc;box-sizing:content-box;max-width:calc(100% - 14px)!important}.image-caption{color:#999;display:block;font-size:14px;line-height:1.7;margin:.5em 0}.split-image{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;margin:0 -15px;overflow:hidden;padding:7px 0 0}.split-image>*{flex-basis:0;flex-grow:1;margin:-7px -7px 0}.split-image img{display:block}@media only screen and (min-width:768px){.split-image{align-items:flex-start;flex-direction:row;margin:0;padding:0 0 0 7px}.split-image>*{margin:0 0 0 -7px}}@media only screen and (min-width:1024px){.split-image{margin:0 0 0 -1.5em;padding:0}.split-image>*{margin:0 0 0 1.5em}}