




@font-face{font-family:'Fira Code';src:url(/assets/fonts/FiraCode-Light.woff2) format('woff2'),url(/assets/fonts/FiraCode-Light.woff) format("woff");font-weight:300;font-display:swap;font-style:normal}@font-face{font-family:'Fira Code';src:url(/assets/fonts/FiraCode-Regular.woff2) format('woff2'),url(/assets/fonts/FiraCode-Regular.woff) format("woff");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:'Fira Code';src:url(/assets/fonts/FiraCode-Medium.woff2) format('woff2'),url(/assets/fonts/FiraCode-Medium.woff) format("woff");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:'Fira Code';src:url(/assets/fonts/FiraCode-Bold.woff2) format('woff2'),url(/assets/fonts/FiraCode-Bold.woff) format("woff");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:'Fira Code VF';src:url(/assets/fonts/FiraCode-VF.woff2) format('woff2-variations'),url(/assets/fonts/FiraCode-VF.woff) format('woff-variations');font-weight:300 700;font-display:swap;font-style:normal}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:100;src:local('Roboto Thin '),local('Roboto-Thin'),url(/assets/fonts/roboto-latin-100.woff2) format('woff2'),url(/assets/fonts/roboto-latin-100.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:100;src:local('Roboto Thin italic'),local('Roboto-Thinitalic'),url(/assets/fonts/roboto-latin-100italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-100italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:local('Roboto Light '),local('Roboto-Light'),url(/assets/fonts/roboto-latin-300.woff2) format('woff2'),url(/assets/fonts/roboto-latin-300.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:300;src:local('Roboto Light italic'),local('Roboto-Lightitalic'),url(/assets/fonts/roboto-latin-300italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-300italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:local('Roboto Regular '),local('Roboto-Regular'),url(/assets/fonts/roboto-latin-400.woff2) format('woff2'),url(/assets/fonts/roboto-latin-400.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:400;src:local('Roboto Regular italic'),local('Roboto-Regularitalic'),url(/assets/fonts/roboto-latin-400italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-400italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:local('Roboto Medium '),local('Roboto-Medium'),url(/assets/fonts/roboto-latin-500.woff2) format('woff2'),url(/assets/fonts/roboto-latin-500.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:500;src:local('Roboto Medium italic'),local('Roboto-Mediumitalic'),url(/assets/fonts/roboto-latin-500italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-500italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:local('Roboto Bold '),local('Roboto-Bold'),url(/assets/fonts/roboto-latin-700.woff2) format('woff2'),url(/assets/fonts/roboto-latin-700.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:700;src:local('Roboto Bold italic'),local('Roboto-Bolditalic'),url(/assets/fonts/roboto-latin-700italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-700italic.woff) format('woff')}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:900;src:local('Roboto Black '),local('Roboto-Black'),url(/assets/fonts/roboto-latin-900.woff2) format('woff2'),url(/assets/fonts/roboto-latin-900.woff) format('woff')}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:900;src:local('Roboto Black italic'),local('Roboto-Blackitalic'),url(/assets/fonts/roboto-latin-900italic.woff2) format('woff2'),url(/assets/fonts/roboto-latin-900italic.woff) format('woff')}@font-face{font-family:'Noto Serif';font-style:normal;font-display:swap;font-weight:400;src:local('Noto Serif Regular '),local('Noto Serif-Regular'),url(/assets/fonts/noto-serif-latin-400.woff2) format('woff2'),url(/assets/fonts/noto-serif-latin-400.woff) format('woff')}@font-face{font-family:'Noto Serif';font-style:italic;font-display:swap;font-weight:400;src:local('Noto Serif Regular italic'),local('Noto Serif-Regularitalic'),url(/assets/fonts/noto-serif-latin-400italic.woff2) format('woff2'),url(/assets/fonts/noto-serif-latin-400italic.woff) format('woff')}@font-face{font-family:'Noto Serif';font-style:normal;font-display:swap;font-weight:700;src:local('Noto Serif Bold '),local('Noto Serif-Bold'),url(/assets/fonts/noto-serif-latin-700.woff2) format('woff2'),url(/assets/fonts/noto-serif-latin-700.woff) format('woff')}@font-face{font-family:'Noto Serif';font-style:italic;font-display:swap;font-weight:700;src:local('Noto Serif Bold italic'),local('Noto Serif-Bolditalic'),url(/assets/fonts/noto-serif-latin-700italic.woff2) format('woff2'),url(/assets/fonts/noto-serif-latin-700italic.woff) format('woff')}img[src$=".svg"],svg{max-width:initial}body,html{margin:0;padding:0}html{height:100%}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}div.banner,footer.footer,header.header,main.content{margin-left:225px}body{display:flex;flex-direction:column}@supports (display:grid){div.banner,footer.footer,header.header,main.content{margin-left:0}}body{display:grid;grid-template-rows:auto auto 1fr auto;grid-template-columns:225px 1fr minmax(100px,48rem) 1fr;grid-template-areas:"nav banner banner banner" "nav . head ." "nav . main ." "nav foot foot foot";min-height:100%}body.toc-layout{grid-template-columns:225px 1fr minmax(100px,48rem) 1fr 225px;grid-template-areas:"nav banner banner banner banner" "nav . head . ." "nav . main . toc" "nav foot foot foot foot"}footer.footer,header.header,main.content{padding:1rem}.banner{grid-area:banner}header.header{grid-area:head}main.content{grid-area:main}footer.footer{grid-area:foot}nav.sidenav{grid-area:nav}aside.toc{grid-area:toc}main.content{position:relative}.sidenav{background:#562bbd;background:linear-gradient(180deg,#562bbd 66%,#090979 100%);color:#fff;position:fixed;top:0;bottom:0;left:0;width:225px;overflow-x:hidden;padding:0;z-index:10;transition:left .3s ease}.sidenav ul{display:flex;flex-direction:column;height:100vh;margin:0;padding:10px 0}.sidenav a{color:#e8f6fd;display:flex;align-items:center;text-decoration:none;padding:.5rem 1rem;border-left:4px solid transparent;transition:color .4s ease,border-left-color .4s ease}.sidenav a svg{width:20px;height:20px;margin-right:1rem}.page .sidenav a.active,.page .sidenav a:focus,.page .sidenav a:hover{color:#fff;border-left-color:#f4177f}.sidenav .divider{height:1px;min-height:1px;background:#ffffff33;margin:5px 18px}@media (max-width:1100px){body.toc-layout{grid-template-columns:225px 1fr minmax(100px,48rem) 1fr;grid-template-areas:"nav banner banner banner" "nav . head ." "nav . main ." "nav foot foot foot"}aside.toc{display:none}}@media (min-width:865px){.page .hamburger{display:none}}@media (max-width:865px){.page .hamburger{display:flex}div.banner,footer.footer,header.header,main.content{margin-left:0}body.page{grid-template-columns:1fr minmax(100px,48rem) 1fr;grid-template-areas:"banner banner banner" ". head ." ". main ." "foot foot foot"}.nav-closed nav.sidenav{left:-240px}.nav-closed nav.sidenav{left:-240px}body:not(.nav-closed) .banner{margin-left:225px}.header .brand{justify-content:flex-start}}aside.toc{position:sticky;top:-15px;height:100vh;padding:0 10px;overflow-y:auto}.toc>h3{margin-top:2.6rem}.toc ol{list-style:none;padding-left:0}.toc ol ol{padding-left:15px}.toc ol ol ol{padding-left:0}.toc a{color:#66777d;text-decoration:none;position:relative;transition:color .3s ease;width:100%;display:inline-block}.toc a:hover,.toc li.active>a{color:#1a7498}.toc a::before{content:"{";color:#1a7498;font-weight:700;position:absolute;left:-10px;top:-1px;opacity:0;transition:opacity .3s ease}.toc a:hover::before,.toc li.active>a::before{opacity:1}body{line-height:1.6;font-size:16px;color:#2d2d2d;background:#fffef9;font-family:Roboto,sans-serif;word-break:break-word}h1,h2,h3{line-height:1.2;font-family:'Noto Serif',serif}h2{margin-top:1.4em}h3{margin-top:1.3em}#header{font-family:'Noto Serif',serif}h1 a,h2 a,h3 a{line-height:1.4}.page-title,.post-title,h1{font-size:2.1rem;font-weight:700;color:#562bbd;text-decoration:none}blockquote,p,pre.hljs-container{margin:1rem 0}code,pre{font-family:'Fira Code',monospace;font-size:.9em}code{border-radius:2px;padding:1px 2px;border:1px solid #ffedd2;background:#fff8ee}kbd{border:1px solid #6a6a6a;padding:1px 3px;border-radius:3px;box-shadow:1px 1px 1px #8080806e}a>code{border:1px solid rgba(255,237,210,.8);background:rgba(255,237,210,.4)}pre code{width:100%;display:block;border:none;background:inherit;overflow-x:auto;padding:.5em;max-height:40rem}s{text-decoration:none;color:#7f7a75}small{font-size:.8em}blockquote{margin:0;padding:.1em 1em;border-left:2px solid #1a79a2;background:#f6fcff}blockquote strong{color:#066188}.content blockquote a{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),#c6eeff calc(50% - 8px),#89bcd2 100%)}hr{border:1px solid #cec7b8}abbr[title]{text-decoration:underline dotted #3e71c1}mark{padding:1px;background:#fff36b;border:1px solid #ece056;border-radius:1px}ins{padding:1px;color:#000;background:#77ff9a;border:1px solid #4ae672;border-radius:1px;text-decoration:underline;text-decoration-skip-ink:auto}.spoiler{position:relative;display:inline-block;cursor:help}.spoiler::before{content:'psst\02026';position:absolute;left:-2px;top:-2px;right:-2px;bottom:-2px;border-radius:1px;font-size:.9rem;color:#e6578c;background:#ffe5e5;display:flex;align-items:center;justify-content:center;text-align:center;opacity:1;transition:opacity .7s ease,transform .3s ease}.spoiler:hover::before{opacity:0;transform:translateY(-50%) rotateX(80deg);transition:opacity 1s ease,transform .5s ease}.alert{padding:5px 10px;border-radius:3px}.alert.alert-warn{background:#fde4b6;border:1px solid #f3d49b}.alert-warn b{color:#3f2901}.alert.alert-warn a,.alert.alert-warn a:hover{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),#ffbe2d calc(50% - 8px),#ffbe2d 100%)}.banner{display:flex;justify-content:center;align-items:center;text-align:center;padding:5px 15px;z-index:99}.banner.banner-dark{background:#1b1b1b;color:#fff}.banner-offline{display:none}.offline .banner-offline{display:flex}dl{display:grid;grid-template-columns:auto 1fr}dt{font-weight:700;margin-bottom:.3em}.d-flex{display:flex}.text-muted{color:grey}.split{display:flex}.split>*{flex:1;width:50%}.split hr{margin-top:1.7rem}.spacer{flex-grow:1}.page .m-0{margin:0}.page .mt-0{margin-top:0}.page .mt-1{margin-top:1em}.page .mt-2{margin-top:2em}.page .ml-1{margin-left:1em}.page .mb-0{margin-bottom:0}.page .my-1{margin-top:1em;margin-bottom:1em}.page .my-2{margin-top:2em;margin-bottom:2em}.page .list-unstyled{list-style:none;padding-left:0}.content a,.footer a{color:#111;padding:0;text-decoration:none;background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),rgba(198,238,255,.35) calc(50% - 8px),rgba(198,238,255,.35) 100%);transition:background-position 120ms ease-in-out,padding 120ms ease-in-out;background-size:100% 200%;background-position:0 0}.content a:focus,.content a:hover,.footer a:focus,.footer a:hover{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),#c6eeff calc(50% - 8px),#c6eeff 100%);background-position:0 100%}.content a.external-link:hover::after{content:"";background-image:url(/assets/icons/fa/external-link.svg);background-repeat:no-repeat;width:12px;height:12px;display:inline-block;filter:invert(1) brightness(.5);margin-left:-1px;margin-top:-5px;position:absolute}.content a.post-title{padding:4px}.content a.post-title::before{height:5px;bottom:4px}.content a.post-title:hover::before{height:calc(100% - 6px)}.radio-buttons a{padding:5px 10px;border:1px solid #64747b}.radio-buttons li:first-child a{border-radius:4px 0 0 4px}.radio-buttons li:last-child a{border-radius:0 4px 4px 0}.radio-buttons li+li a{margin-left:-1px}.radio-buttons a[aria-current]{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),#ddf5ff calc(50% - 8px),rgba(221,245,255) 100%);background-position:0 100%;cursor:default}.page .footer .btn,.page .page .btn{border:2px solid #820c82;color:#820c82;background:0 0;border-radius:2px;padding:1px 8px;display:inline-flex;justify-content:center;align-items:center;transition:.4s ease;transition-property:color,border-color,background}.page .content .btn:hover,.page .footer .btn:hover{color:#ba11ba;border-color:#a70fa7;background:#fff9ff}.btn svg{height:16px;margin-right:6px}.page .content .btn,.page .footer .btn{background-image:none}.icon-link{display:inline-flex;align-items:center}.icon-link svg{height:14px;margin-right:5px}.content .direct-link{opacity:0;color:grey;margin-left:5px;transition:opacity .2s ease}.direct-link:focus,h1:hover .direct-link,h2:hover .direct-link,h3:hover .direct-link,h4:hover .direct-link{opacity:1}header.header{display:flex;justify-content:center;align-items:center}.brand{flex:1 1 auto;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:2.9rem;font-weight:700;transition:.4s ease color}.site-title{margin-top:-4px;line-height:1}.site-title .coding{color:#f4177f;font-family:'Fira Code',monospace;font-size:.95em;display:inline-block}.site-title .everything{color:#562bbd;display:inline-block}.coding .letter{display:inline-block;font-size:1.7em;transform:scaleX(.75) translate(8px,4px)}.coding .word{background:linear-gradient(to right,#f4177f,#562bbd);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.everything .letter{font-size:1.3em}.everything .word{font-style:italic}.brand svg{height:55px;width:55px;margin:0 20px}section.intro{margin-top:1rem;font-size:1.2em}.page-title-section{display:flex;place-items:center;flex-wrap:wrap}.posts{padding-left:0;list-style:none;clear:both}.post{display:flex;flex-direction:column;margin-bottom:2em}.post h2{margin:.4em 0}.post a{background-image:none;display:block;padding:5px;margin-left:-5px;margin-right:-5px;border-radius:5px;transition:background-color 120ms ease-in-out}.post a:hover{background:rgba(198,238,255,.2)}.display-density-list .post a:hover{background:0 0}.post .post-title{color:#002331;display:inline-block}.post a .post-title{display:inline;background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),rgba(198,238,255,.55) calc(50% - 8px),rgba(198,238,255,.55) 100%);background-size:100% 200%;background-position:0 10%;transition:background-position 120ms ease-in-out}.post a:hover .post-title{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),rgba(198,238,255,.75) calc(50% - 8px),rgba(198,238,255,.75) 100%)}.post a .post-title:hover{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),#c6eeff calc(50% - 8px),#c6eeff 100%);background-position:0 100%}.post-title{font-size:1.7rem}.page-title+.post-meta{margin-top:-1rem}.post-meta{margin:.4em 0}.post-authors{margin:0;padding-left:0;list-style:none;display:inline-flex}.post-author{display:flex}.separator{margin-right:6px}.post-date{color:#6f6f6f}.page .taglist{margin-top:.5em}.post-nav ul{display:flex;padding-left:0;margin-top:3em}.post-nav li{list-style:none}.post-nav a{max-width:225px;display:inline-block;background-image:none;padding:5px;margin:-5px}.post-nav .next a{text-align:right}.post-nav a .nav-arrow{display:inline-flex;align-items:center}.post-nav .nav-label{margin:0 10px}.nav-title{color:#616161}.display-toggle{display:inline-flex;align-items:center;margin-top:1em;justify-content:flex-end}.page-title-section .display-toggle{flex-grow:1}.display-toggle-group{display:inline-flex;border:1px solid #6d6d6d;border-radius:3px;margin:0 7px}.display-toggle-group label:first-child .display-icon,.display-toggle-group label:first-child svg{border-right:1px solid #6d6d6d;border-radius:2px 0 0 2px}.display-toggle-group label:last-child .display-icon,.display-toggle-group label:last-child svg{border-radius:0 2px 2px 0}.display-icon,.display-toggle-group svg{width:35px;height:30px;padding:3px;cursor:pointer;display:flex;flex-direction:column}.display-toggle-group label svg{height:30px}.display-icon .bar{background:#b7b7b7;margin:2px;border-radius:3px;flex:1 1 auto;min-height:1px;transition:background .4s ease}.display-toggle-group input[type=radio]{height:0;width:0;position:absolute;left:-999px}.display-toggle-group input:checked+.display-icon,.display-toggle-group input:checked+svg{background:#5757ff;color:#fff;cursor:default}input:checked+.display-icon .bar{background:#d4d7ff}input:focus+.display-icon{box-shadow:0 0 3px 1px #2196f3}.display-toggle-group:focus-within{border-color:#2196f3;box-shadow:0 0 2px 0 #2196f3}.display-icon:hover{background:#bcbcf1}.display-icon:hover .bar{background:#777dcc}.display-density-list .post-meta,.display-density-list .post-summary{display:none}.display-density-list .post{margin-bottom:1em}footer.footer{text-align:center;background:#f7f8fc}.nav-links{padding-left:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;margin:0}.nav-links li a{margin:0 10px;text-decoration:none}.copy-line{margin:.4em}img{max-width:100%;border:5px solid #fff;box-shadow:1px 1px 2px 1px #c6c6c6,0 0 4px 1px #c6c6c6;border-radius:3px;vertical-align:middle}svg{max-width:100%}.content a img{border:none;box-shadow:none}.content a svg{width:20px;height:20px}img.fa{box-shadow:none;border:none;height:20px}.banner-dark img.fa{filter:invert(1)}form.search{position:relative;display:flex;align-items:center;justify-content:flex-start;margin-top:1em}form.search input{height:43px;width:100%;padding:7px 9px;border-radius:4px;box-shadow:none;border:1px solid #d0d0d0;background:#f3f3f3;font-size:1.1em;margin-top:2em}.searching form.search input{border-radius:4px 4px 0 0}form.search label{margin-left:-35px;margin-top:2em;height:20px;color:#676767}form.search svg{height:100%}input.hide-clear[type=search]::-ms-clear,input.hide-clear[type=search]::-ms-reveal{display:none;width:0;height:0}input.hide-clear[type=search]::-webkit-search-cancel-button,input.hide-clear[type=search]::-webkit-search-decoration,input.hide-clear[type=search]::-webkit-search-results-button,input.hide-clear[type=search]::-webkit-search-results-decoration{display:none}#search-results:empty{display:none}#search-results{border:1px solid #d0d0d0;border-radius:0 0 4px 4px;padding:.5rem;background:#fff;left:16px;right:16px;z-index:3}#search-results>p:first-child{margin-top:0}#search-results>p{padding:0 .5rem}.search-results-list{padding-left:0;list-style:none}.search-results-list .search-result{margin-bottom:1rem}.page .content .search-result a{background-image:none;display:block;padding:.5rem;border-radius:4px}.page .content .search-results-list a:hover{background-image:none}.search-result a:hover{background:#f2f9fc}.search-results-list h2{margin:0;margin-bottom:.4em;font-size:1.3em}span.match{word-break:break-word}.search-result h2 mark,dt mark{background:#dfecf1;border-radius:2px;color:#018eca}.search-result .match mark,dd mark{background:0 0;box-shadow:inset 0 -3px 0 0 #018ecad9;color:inherit}.search-result .text-muted{color:#6690a3}button#close-search{float:right;margin:15px .5rem;padding:2px 6px;border:none;border-radius:3px;font-size:1.5em;line-height:1em;background:#fff;cursor:pointer;transition:background .4s ease}button#close-search:hover{background:#e0e0e0}.table-wrapper{overflow-x:auto;margin:1em 0}table{border-collapse:collapse;width:100%;margin:0}table th{padding-top:12px;padding-bottom:12px;text-align:left;background-color:#048540;color:rgba(255,255,255,.91);min-width:75px;word-break:keep-all}table td,table th{border:1px solid #9e9e9e;padding:8px;position:relative;overflow:hidden}table th{border-color:#404040}table tr:nth-child(even){background-color:#fefefe}table tr:hover{background-color:#fefefe}td .fill{top:0;right:0;bottom:0;left:0;position:absolute}td svg{max-width:30px}td>ins{box-shadow:0 0 0 250px #77ff9a;border:none}td>mark{box-shadow:0 0 0 250px #fff36b;border:none}.category-item a{font-weight:700;font-size:1.2em}.category-count{border-radius:8px;background:#eff5f2;font-size:.8em;padding:0 6px;display:inline-flex;place-content:center;align-items:center;justify-content:center}.category-description{margin-bottom:1.5rem}.page .content .tag-badge{border:1px solid #688fa0;border-radius:3px;padding:1px 7px;background:#f6fbfd;background-image:none;transition:background .4s ease}.page .content .tag-badge:hover{background:#dff2fa}.page .content span.tag-badge{background:#fff;border-color:#95b1bd}.page .content span.tag-badge:hover{background:#fff}.post-meta .tag{margin-bottom:1rem;margin-right:.5rem}.post-meta .tag-badge{font-size:.9em;padding:0 5px}@media (max-width:800px){.brand{font-size:2.4rem}}@media (max-width:650px){.brand{font-size:2.2rem}}@media (max-width:500px){.brand{font-size:2rem}.brand svg{display:none}.site-title{margin-left:1rem}}@media (max-width:280px){.word{display:none}}@media (max-width:420px){.display-toggle-text{display:none}}@media (max-width:340px){.display-toggle{display:none}}@media print{body{background:#fff}#footer-nav{display:none}.page .content a{background:0 0;text-decoration:underline}footer.footer{border-top:1px solid grey;background:#fff}blockquote{background:#fff}thead{display:table-row-group}tfoot{display:table-row-group}}.hamburger{font:inherit;color:inherit;background-color:transparent;border:0;margin:0;overflow:visible;width:35px;height:30px;padding:3px;cursor:pointer;display:flex;flex-direction:column;border-radius:2px}.hamburger .bar{background:#5d5d5d;margin:2px;border-radius:2px;flex:1 1 auto;width:25px}.hamburger:hover{background:#ececec}.sidenav .hamburger:hover{background:#0b82b5}.sidenav .hamburger{float:right;margin-top:.4rem;margin-right:.4rem}.sidenav .hamburger .bar{background:0 0}.sidenav .hamburger .bar:first-child{background:#fff;transform:translateY(8px) rotate(45deg)}.sidenav .hamburger .bar:last-child{background:#fff;transform:translateY(-8px) rotate(-45deg)}::-moz-selection{background:#97defd}::selection{background:#97defd}.highlight-theme-ocean .hljs ::-moz-selection{background:#562bbd}.highlight-theme-ocean .hljs * ::selection{background:#562bbd}::-webkit-scrollbar{width:12px;height:10px}nav::-webkit-scrollbar{width:5px}aside::-webkit-scrollbar{width:0}::-webkit-scrollbar-track{background:#d8d7ca}::-webkit-scrollbar-thumb{background:#381884}::-webkit-scrollbar-thumb:hover{background:#1f81ab}.color-theme-dark::-webkit-scrollbar-track{background:#000}.page .hljs-container.hljs{overflow:hidden;position:relative;padding:0}.page .hljs-container.hljs .hljs{overflow-x:auto;padding:0}.page .hljs-container.hljs .hljs code{overflow:visible;padding:10px}.code-header{padding:3px 7px;font-variant:small-caps}.hljs{margin:0}.btn-copy{position:absolute;right:.5em;top:.5em;opacity:0;transition:opacity .4s ease}.btn-copy:focus,.hljs:hover .btn-copy{opacity:1}.btn-text{font-size:1.1em;margin-right:.5em}.btn-icon{display:flex;align-items:center;padding:3px 6px;border:none;box-shadow:none;background:0 0;cursor:pointer;border-radius:1px;margin:1px;border:1px solid transparent;width:auto;white-space:normal;user-select:none;color:inherit}.btn-icon:focus{outline:0;border:1px solid #2196f3;box-shadow:0 0 1px 1px #2196f3}.btn-icon img{border:none;box-shadow:none;width:15px}.btn-icon:hover{color:#000}.highlight-theme-ocean .btn-icon:hover,.highlight-theme-vs .btn-icon:hover{color:#fff}.highlight-theme-ocean .btn-copy img,.highlight-theme-vs .btn-copy img{filter:invert(1)}.highlight-theme-ocean .hljs mark,.highlight-theme-ocean .hljs mark *,.highlight-theme-vs .hljs mark,.highlight-theme-vs .hljs mark *{background:#726a17;border:none;color:inherit;font-weight:700}.highlight-theme-gist .hljs mark,.highlight-theme-gist .hljs mark *,.highlight-theme-github .hljs mark,.highlight-theme-github .hljs mark *{background:#fff36b;border:none;color:inherit;font-weight:700}.page-loading,.page-loading *{transition:none!important}.page .tweet-card a,.page .tweet-card a:hover{background-image:none}.checkbox input[type=checkbox]{opacity:0;width:1px;height:1px}.checkbox label{position:relative;display:inline-block;padding-left:22px}.checkbox label::after,.checkbox label::before{position:absolute;content:"";display:inline-block}.checkbox label::before{height:16px;width:16px;border:1px solid;left:-2px;top:4px;border-radius:1px}.checkbox label::after{height:5px;width:9px;border-left:2px solid;border-bottom:2px solid;transform:rotate(-45deg);left:1.5px;top:8px;border-color:#fff}.checkbox input[type=checkbox]+label::after{content:none}.checkbox input[type=checkbox]:checked+label::after{content:""}.checkbox input[type=checkbox]:checked+label::before{background:#4e8bd6}.checkbox input[type=checkbox]:focus+label::before{outline:#3b99fc auto 5px}.checkbox+br{display:none}.sidenav,.sidenav a,body,footer.footer{transition:background-color .3s ease,color .3s ease}body.color-theme-dark{color:#dadada;background:#272727}.color-theme-dark h1,.color-theme-dark h2,.color-theme-dark h3{color:#dedede}.color-theme-dark .page-title,.color-theme-dark .post-title,.color-theme-dark h1{color:#874aff}.color-theme-dark .site-title .everything{color:#874aff}.color-theme-dark .sidenav{background:#36128c;background:linear-gradient(180deg,#36128c 66%,#060652 100%)}.color-theme-dark .toc a{color:#b5c4c9}.color-theme-dark .toc a:hover,.color-theme-dark .toc li.active>a{color:#5db6d9}.color-theme-dark .toc a::before{content:"{";color:#5db6d9}.color-theme-dark footer.footer{background:#2d2d2d}.color-theme-dark .content a,.color-theme-dark .footer a{color:#ccc}.color-theme-dark.page .footer .btn,.color-theme-dark.page .page .btn{border:2px solid #b724b7;color:#b724b7}.color-theme-dark.page .content .btn:hover,.color-theme-dark.page .footer .btn:hover{color:#d641d6;border-color:#d641d6;background:#1c1c1c}.color-theme-dark a>code{border:1px solid rgba(72,64,52,.8);background:rgba(43,41,37,.4)}.color-theme-dark pre>code{border:none;background:0 0}.color-theme-dark img{border:5px solid #111;box-shadow:none}.color-theme-dark .btn-icon img{border:none;box-shadow:none}.color-theme-dark ins{color:#fff;background:#195027;border:1px solid #0b4c1b}.color-theme-dark mark{color:#fff;background:#635b00;border:1px solid #504a00}.color-theme-dark td>mark{box-shadow:0 0 0 250px #635b00;border:none}.color-theme-dark td>ins{box-shadow:0 0 0 250px #195027;border:none}.color-theme-dark blockquote{border-left:2px solid #0073a5;background:#162227}.color-theme-dark blockquote strong{color:#0e95d0}.color-theme-dark code{border:1px solid #484034;background:#2b2925}.color-theme-dark kbd{border:1px solid #858585;box-shadow:none}.color-theme-dark table td,.color-theme-dark table th{border-color:#5d5d5d}.color-theme-dark table th{background-color:#0e522e}.color-theme-dark table tr:hover{background-color:#080808}.color-theme-dark table tr:nth-child(even){background-color:#2f2f2f}.color-theme-dark .content a,.color-theme-dark .footer a{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),hsla(198,100%,37%,.3) calc(50% - 8px),hsla(198,100%,37%,.3) 100%)}.color-theme-dark #search-results{border:1px solid #5f5f5f;background:#1f1f1f}.color-theme-dark .search-result a:hover{background:#000}.color-theme-dark .search-result h2 mark,.color-theme-dark dt mark{background:#272d2f;border-radius:2px;color:#018eca}.color-theme-dark button#close-search{background:#383838;color:#fff}.color-theme-dark button#close-search:hover{background:#505050}.color-theme-dark form.search input{background:#252525;color:#fff}.color-theme-dark .content .tag-badge{border:1px solid #688fa0;background:#313132;transition:background-color .4s ease}.color-theme-dark .content .tag-badge:hover{background:#2e2e2f}.color-theme-dark .content span.tag-badge{background:#272727;border-color:#4b6975}.color-theme-dark .content span.tag-badge:hover{background:#272727}.color-theme-dark .category-count{background:#131313}.color-theme-dark .post-date{color:#b7b7b7}.color-theme-dark .post a{background-image:none}.color-theme-dark .post a:hover{background:rgba(62,73,77,.2)}.color-theme-dark .post .post-title{color:#e5f4fa}.color-theme-dark .post a .post-title{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),hsla(198,100%,37%,.2) calc(50% - 8px),hsla(198,100%,37%,.2) 100%)}.color-theme-dark .post a:hover .post-title{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),hsla(198,100%,37%,.4) calc(50% - 8px),hsla(198,100%,37%,.4) 100%)}.color-theme-dark .post a .post-title:hover{background-image:linear-gradient(transparent 0,transparent calc(50% - 8px),hsla(198,100%,37%,.4) calc(50% - 8px),hsla(198,100%,37%,.4) 100%)}.color-theme-dark .themes :checked+span{background:#3e527d;border-left:2px solid #2565f9}.color-theme-dark .themes label:hover span{background:#3e527d}.color-theme-dark .alert.alert-warn{background:#593a00;border:1px solid #7e5100;color:#faf9f7}.color-theme-dark .alert.alert-warn a{color:#faf9f7}.color-theme-dark .alert-warn b{color:#f9cc7a}.color-theme-dark .alert.alert-warn a,.color-theme-dark .alert.alert-warn a:hover{background-image:linear-gradient(transparent 0,transparent calc(50% - 4px),#704f01 calc(50% - 8px),#704f01 100%)}.color-theme-dark .tweet-card a,.color-theme-dark .tweet-card a:hover{background-image:none}.color-theme-dark blockquote.tweet-card{border:1px solid grey;background:#162227}.color-theme-dark .tweet-card:hover{border-color:#9a9ea0}.color-theme-dark .tweet-card{color:#d6d6d6}.color-theme-dark .tweet-card a{color:#3b94d9}.color-theme-dark .tweet-card a:hover{color:#55acee}.color-theme-dark .tweet-header .tweet-author-name{color:#fff}.color-theme-dark .tweet-header .tweet-author-name:hover{color:#55acee}.color-theme-dark .tweet-header .tweet-author-handle{color:#8899a6}.color-theme-dark .tweet-header .tweet-author-handle:hover{color:#a8b3bb}.color-theme-dark .tweet-footer .tweet-like:hover{color:#e0245e}.highlight-theme-gist .hljs{display:block;background:#fff;padding:.5em;color:#333;overflow-x:auto}.highlight-theme-gist .hljs-comment,.highlight-theme-gist .hljs-meta{color:#737373}.highlight-theme-gist .hljs-emphasis,.highlight-theme-gist .hljs-quote,.highlight-theme-gist .hljs-strong,.highlight-theme-gist .hljs-template-variable,.highlight-theme-gist .hljs-variable{color:#df5000}.highlight-theme-gist .hljs-keyword,.highlight-theme-gist .hljs-selector-tag,.highlight-theme-gist .hljs-type{color:#d73a49}.highlight-theme-gist .hljs-attribute,.highlight-theme-gist .hljs-bullet,.highlight-theme-gist .hljs-literal,.highlight-theme-gist .hljs-symbol{color:#01759c}.highlight-theme-gist .hljs-name,.highlight-theme-gist .hljs-section{color:#477742}.highlight-theme-gist .hljs-tag{color:#333}.highlight-theme-gist .hljs-attr,.highlight-theme-gist .hljs-selector-attr,.highlight-theme-gist .hljs-selector-class,.highlight-theme-gist .hljs-selector-id,.highlight-theme-gist .hljs-selector-pseudo,.highlight-theme-gist .hljs-title{color:#6f42c1}.highlight-theme-gist .hljs-addition{color:#55a532;background-color:#eaffea}.highlight-theme-gist .hljs-deletion{color:#bd2c00;background-color:#ffecec}.highlight-theme-gist .hljs-link{text-decoration:underline}.highlight-theme-gist .hljs-number{color:#005cc5}.highlight-theme-gist .hljs-string{color:#032f62}.highlight-theme-github .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8}.highlight-theme-github .hljs-comment,.highlight-theme-github .hljs-quote{color:#998;font-style:italic}.highlight-theme-github .hljs-keyword,.highlight-theme-github .hljs-selector-tag,.highlight-theme-github .hljs-subst{color:#333;font-weight:700}.highlight-theme-github .hljs-literal,.highlight-theme-github .hljs-number,.highlight-theme-github .hljs-tag .hljs-attr,.highlight-theme-github .hljs-template-variable,.highlight-theme-github .hljs-variable{color:#016d6d}.highlight-theme-github .hljs-doctag,.highlight-theme-github .hljs-string{color:#d14}.highlight-theme-github .hljs-section,.highlight-theme-github .hljs-selector-id,.highlight-theme-github .hljs-title{color:#900;font-weight:700}.highlight-theme-github .hljs-subst{font-weight:400}.highlight-theme-github .hljs-class .hljs-title,.highlight-theme-github .hljs-type{color:#458;font-weight:700}.highlight-theme-github .hljs-attr,.highlight-theme-github .hljs-attribute,.highlight-theme-github .hljs-name,.highlight-theme-github .hljs-tag{color:navy;font-weight:400}.highlight-theme-github .hljs-link,.highlight-theme-github .hljs-regexp{color:#009926}.highlight-theme-github .hljs-bullet,.highlight-theme-github .hljs-symbol{color:#990073}.highlight-theme-github .hljs-built_in,.highlight-theme-github .hljs-builtin-name{color:#0086b3}.highlight-theme-github .hljs-meta{color:#999;font-weight:700}.highlight-theme-github .hljs-deletion{background:#fdd}.highlight-theme-github .hljs-addition{background:#dfd}.highlight-theme-github .hljs-emphasis{font-style:italic}.highlight-theme-github .hljs-strong{font-weight:700}.highlight-theme-vs .hljs{display:block;overflow-x:auto;padding:.5em;background:#1e1e1e;color:#dcdcdc}.highlight-theme-vs .hljs-keyword,.highlight-theme-vs .hljs-literal,.highlight-theme-vs .hljs-name,.highlight-theme-vs .hljs-symbol{color:#569cd6}.highlight-theme-vs .hljs-link{color:#569cd6;text-decoration:underline}.highlight-theme-vs .hljs-built_in,.highlight-theme-vs .hljs-type{color:#4ec9b0}.highlight-theme-vs .hljs-class,.highlight-theme-vs .hljs-number{color:#b8d7a3}.highlight-theme-vs .hljs-meta-string,.highlight-theme-vs .hljs-string{color:#d69d85}.highlight-theme-vs .hljs-regexp,.highlight-theme-vs .hljs-template-tag{color:#9a5334}.highlight-theme-vs .hljs-formula,.highlight-theme-vs .hljs-function,.highlight-theme-vs .hljs-params,.highlight-theme-vs .hljs-subst,.highlight-theme-vs .hljs-title{color:#dcdcdc}.highlight-theme-vs .hljs-comment,.highlight-theme-vs .hljs-quote{color:#57a64a;font-style:italic}.highlight-theme-vs .hljs-doctag{color:#608b4e}.highlight-theme-vs .hljs-meta,.highlight-theme-vs .hljs-meta-keyword,.highlight-theme-vs .hljs-tag{color:#9b9b9b}.highlight-theme-vs .hljs-template-variable,.highlight-theme-vs .hljs-variable{color:#bd63c5}.highlight-theme-vs .hljs-attr,.highlight-theme-vs .hljs-attribute,.highlight-theme-vs .hljs-builtin-name{color:#9cdcfe}.highlight-theme-vs .hljs-section{color:gold}.highlight-theme-vs .hljs-emphasis{font-style:italic}.highlight-theme-vs .hljs-strong{font-weight:700}.highlight-theme-vs .hljs-bullet,.highlight-theme-vs .hljs-selector-attr,.highlight-theme-vs .hljs-selector-class,.highlight-theme-vs .hljs-selector-id,.highlight-theme-vs .hljs-selector-pseudo,.highlight-theme-vs .hljs-selector-tag{color:#d7ba7d}.highlight-theme-vs .hljs-addition{background-color:#144212;display:inline-block;width:100%}.highlight-theme-vs .hljs-deletion{background-color:#600;display:inline-block;width:100%}
/* card */
.tweet-card {
    background: white;
    margin: 15px 0;
    padding: 20px;
    background-color: #fff;
    border: 1px solid #e1e8ed;
    border-radius: 5px;
    font-size: 16px;
    line-height: 1.4;
    font-family: Helvetica, Roboto, "Segoe UI", Calibri, sans-serif;
    color: #1c2022;
    max-width: 500px;
    text-align: left;
}

.tweet-card:hover {
    border-color: #ccd6dd;
}

.tweet-card a {
    color: #2b7bb9;
    text-decoration: none;
}

.tweet-card a:hover {
    color: #3b94d9;
}



/* header */
.tweet-header {
    display: flex;
}

.tweet-header .tweet-profile {
    margin-right: 9px;
    flex-shrink: 0;
}

.tweet-header .tweet-profile img {
    border-radius: 50%;
    height: 36px;
    width: 36px;
}

.tweet-header .tweet-author {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.tweet-header .tweet-author-name {
    font-weight: 700;
    color: #1c2022;
    line-height: 1.3;
}

.tweet-header .tweet-author-name:hover {
    color: #3b94d9;
}

.tweet-header .tweet-author-handle {
    color: #697882;
    font-size: 14px;
    line-height: 1;
}

.tweet-header .tweet-bird {
    margin-left: 20px;
}


/* images */
.tweet-images img {
    width: 100%;
    max-height: 250px;
    object-fit: cover;
    margin-bottom: 10px;
    border-radius: 4px;
}


/* footer */
.tweet-footer {
    display: flex;
    align-items: center;
}

.tweet-card .tweet-footer a {
    color: #697882;
    font-size: 14px;
}

.tweet-footer .tweet-date:hover {
    color: #2b7bb9;
}

.tweet-footer .tweet-like {
    margin-right: 15px;
    font-size: 15px;
    display: flex;
    align-items: center;
}

.tweet-footer .tweet-like:hover {
    color: #e0245e;
}

.tweet-footer .tweet-like-count {
    margin-left: 4px;
}

.tweet-footer .tweet-like-icon {
    filter: grayscale(1)brightness(1.4);
    transition: filter;
}

.tweet-footer .tweet-like:hover .tweet-like-icon {
    filter: none;
}



/* icons */
.tweet-bird-icon,
.tweet-like-icon {
    display: inline-block;
    width: 1.25em;
    height: 1.25em;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: text-bottom;
}

.tweet-bird-icon {
    background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cpath%20fill%3D%22none%22%20d%3D%22M0%200h72v72H0z%22%2F%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%231da1f2%22%20d%3D%22M68.812%2015.14c-2.348%201.04-4.87%201.744-7.52%202.06%202.704-1.62%204.78-4.186%205.757-7.243-2.53%201.5-5.33%202.592-8.314%203.176C56.35%2010.59%2052.948%209%2049.182%209c-7.23%200-13.092%205.86-13.092%2013.093%200%201.026.118%202.02.338%202.98C25.543%2024.527%2015.9%2019.318%209.44%2011.396c-1.125%201.936-1.77%204.184-1.77%206.58%200%204.543%202.312%208.552%205.824%2010.9-2.146-.07-4.165-.658-5.93-1.64-.002.056-.002.11-.002.163%200%206.345%204.513%2011.638%2010.504%2012.84-1.1.298-2.256.457-3.45.457-.845%200-1.666-.078-2.464-.23%201.667%205.2%206.5%208.985%2012.23%209.09-4.482%203.51-10.13%205.605-16.26%205.605-1.055%200-2.096-.06-3.122-.184%205.794%203.717%2012.676%205.882%2020.067%205.882%2024.083%200%2037.25-19.95%2037.25-37.25%200-.565-.013-1.133-.038-1.693%202.558-1.847%204.778-4.15%206.532-6.774z%22%2F%3E%3C%2Fsvg%3E);
}

.tweet-like-icon {
    background-image: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20class%3D%22icon%22%20fill%3D%22%23E0245E%22%20d%3D%22M12%2021.638h-.014C9.403%2021.59%201.95%2014.856%201.95%208.478c0-3.064%202.525-5.754%205.403-5.754%202.29%200%203.83%201.58%204.646%202.73.813-1.148%202.353-2.73%204.644-2.73%202.88%200%205.404%202.69%205.404%205.755%200%206.375-7.454%2013.11-10.037%2013.156H12zM7.354%204.225c-2.08%200-3.903%201.988-3.903%204.255%200%205.74%207.035%2011.596%208.55%2011.658%201.52-.062%208.55-5.917%208.55-11.658%200-2.267-1.822-4.255-3.902-4.255-2.528%200-3.94%202.936-3.952%202.965-.23.562-1.156.562-1.387%200-.015-.03-1.426-2.965-3.955-2.965z%22%2F%3E%3C%2Fsvg%3E);
}
