article.article ul.about-link-list{margin:0;padding:0;list-style:none;text-align:center;font-size:1.2em}article.article ul.about-link-list li{display:inline-block;padding-bottom:0.75em}article.article ul.about-link-list li a{padding:0.5em;margin:0 1em}article.article ul.about-link-list li a.email::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/mail.svg") no-repeat;background-size:contain}article.article ul.about-link-list li a.mastodon::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/simple-icons@8.3.0/icons/mastodon.svg") no-repeat;background-size:contain}article.article ul.about-link-list li a.linkedin::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/simple-icons@8.3.0/icons/linkedin.svg") no-repeat;background-size:contain}article.article ul.about-link-list li a:hover,article.article ul.about-link-list li a:focus{color:#ffffff!important;background:#2b537d!important}article.article ul.about-link-list li a:hover::before,article.article ul.about-link-list li a:focus::before{filter:invert(1)}main#content section.comments{margin-top:2rem;padding:1rem;display:block;border:0.1rem solid #eeeeec;border-radius:0.4rem;background:#fafaf9}main#content section.comments h2{margin-bottom:1rem;border-bottom:0.1rem solid #d3d7cf}main#content{margin:0;padding:2rem 0;color:#333333;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}main#content h1{font-size:2.3em}main#content h2{font-size:2em}main#content h3{font-size:1.5em}main#content h4{font-size:1.3em}main#content h5{font-size:1.2em}main#content h6{font-size:1.1em}main#content h1,main#content h2,main#content h3,main#content h4,main#content h5,main#content h6{margin:0;line-height:1.1em;font-weight:400}main#content h1 a,main#content h2 a,main#content h3 a,main#content h4 a,main#content h5 a,main#content h6 a{color:#333333;text-decoration:none}main#content header{margin-bottom:1em;padding-bottom:1em;border-bottom:0.1rem solid #d3d7cf}main#content article{margin:0 auto}@media (min-width:768px){main#content article{width:530px}}@media (min-width:992px){main#content article{width:630px}}@media (min-width:1200px){main#content article{width:830px}}main#content article header h1{padding-bottom:1rem}main#content article p{overflow-x:auto}main#content article ul.article-details{margin:0;padding:0;font-size:0.8em;list-style:none}@media (min-width:992px){main#content article ul.article-details li{display:inline-block;padding-left:2em}main#content article ul.article-details li:first-child{padding-left:0}}main#content article ul.article-details time::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/calendar.svg") no-repeat;background-size:contain}main#content article ul.article-details a.category{text-decoration:none;color:#3465a4}main#content article ul.article-details a.category:hover,main#content article ul.article-details a.category:focus{text-decoration:underline}main#content article ul.article-details a.category::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/tag.svg") no-repeat;background-size:contain}main#content article ul.article-details a.comments{text-decoration:none;color:#3465a4}main#content article ul.article-details a.comments:hover,main#content article ul.article-details a.comments:focus{text-decoration:underline}main#content article ul.article-details a.comments::before{content:'';display:inline-block;padding-right:0.5em;width:1em;height:1em;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/message-square.svg") no-repeat;background-size:contain}main#content article.article .article-wrapper{position:relative}main#content article.article .article-body{line-height:1.9}main#content article.article .article-body h1,main#content article.article .article-body h2,main#content article.article .article-body h3,main#content article.article .article-body h4,main#content article.article .article-body h5,main#content article.article .article-body h6{color:#a40000;margin:2rem 0}main#content article.article .article-body a{text-decoration:none;color:#333333;background:linear-gradient(to right,#98b9dc,#98b9dc) no-repeat;background-size:100% 0.25em;background-position:left bottom}main#content article.article .article-body a:hover,main#content article.article .article-body a:focus{background:#bed3e9;text-decoration:none;transition:background 300ms}main#content article.article .article-body code{padding:0.3em 0.5em}main#content article.article .article-body pre{padding:1em;display:block;border:0.1rem solid #f6d784;border-radius:0.4rem;overflow-x:auto;line-height:1.3}main#content article.article .article-body pre code{padding:0}main#content article.article .article-body code,main#content article.article .article-body pre{font-family:'Ubuntu Mono',Consolas,'Courier New',monospace;background:#fdf6e3}main#content article.article .article-body blockquote{margin-left:2em;padding-left:2em;border-left:0.2em solid #fcaf3e}main#content article.article-list ul.article-list{padding:0;list-style:none}main#content article.article-list ul.article-list>li{margin-bottom:2rem;padding-bottom:2rem;border-bottom:0.1rem solid #d3d7cf}main#content article.article-list ul.article-list>li:last-child{padding-bottom:0;border-bottom:none}main#content article.article-list ul.article-list>li h2{margin-bottom:1rem;font-size:1.5em}main#content article.article-list ul.article-list>li h2 a{text-decoration:none;color:#a40000}main#content article.article-list ul.article-list>li h2 a:hover,main#content article.article-list ul.article-list>li h2 a:focus{text-decoration:underline}main#content nav.pagination ul{padding:0;list-style:none;font-size:1.2rem;text-align:center}main#content nav.pagination ul li{display:inline-block}main#content nav.pagination ul li a{padding:0.5em 1em;border-radius:0.3em;color:#ffffff;background:#cc0000;text-decoration:none}main#content nav.pagination ul li a:hover,main#content nav.pagination ul li a:focus{color:#ffffff;background:#a40000}@media (max-width:767px){main#content{padding-left:1rem;padding-right:1rem}}pre{line-height:125%}td.linenos .normal{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}span.linenos{color:inherit;background-color:transparent;padding-left:5px;padding-right:5px}td.linenos .special{color:#000000;background-color:#ffffc0;padding-left:5px;padding-right:5px}span.linenos.special{color:#000000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.highlight .hll{background-color:#ffffcc}.highlight{background:#ffffff}.highlight .c{color:#888888}.highlight .err{color:#FF0000;background-color:#FFAAAA}.highlight .k{color:#008800;font-weight:bold}.highlight .o{color:#333333}.highlight .ch{color:#888888}.highlight .cm{color:#888888}.highlight .cp{color:#557799}.highlight .cpf{color:#888888}.highlight .c1{color:#888888}.highlight .cs{color:#cc0000;font-weight:bold}.highlight .gd{color:#A00000}.highlight .ge{font-style:italic}.highlight .gr{color:#FF0000}.highlight .gh{color:#000080;font-weight:bold}.highlight .gi{color:#00A000}.highlight .go{color:#888888}.highlight .gp{color:#c65d09;font-weight:bold}.highlight .gs{font-weight:bold}.highlight .gu{color:#800080;font-weight:bold}.highlight .gt{color:#0044DD}.highlight .kc{color:#008800;font-weight:bold}.highlight .kd{color:#008800;font-weight:bold}.highlight .kn{color:#008800;font-weight:bold}.highlight .kp{color:#003388;font-weight:bold}.highlight .kr{color:#008800;font-weight:bold}.highlight .kt{color:#333399;font-weight:bold}.highlight .m{color:#6600EE;font-weight:bold}.highlight .s{background-color:#fff0f0}.highlight .na{color:#0000CC}.highlight .nb{color:#007020}.highlight .nc{color:#BB0066;font-weight:bold}.highlight .no{color:#003366;font-weight:bold}.highlight .nd{color:#555555;font-weight:bold}.highlight .ni{color:#880000;font-weight:bold}.highlight .ne{color:#FF0000;font-weight:bold}.highlight .nf{color:#0066BB;font-weight:bold}.highlight .nl{color:#997700;font-weight:bold}.highlight .nn{color:#0e84b5;font-weight:bold}.highlight .nt{color:#007700}.highlight .nv{color:#996633}.highlight .ow{color:#000000;font-weight:bold}.highlight .w{color:#bbbbbb}.highlight .mb{color:#6600EE;font-weight:bold}.highlight .mf{color:#6600EE;font-weight:bold}.highlight .mh{color:#005588;font-weight:bold}.highlight .mi{color:#0000DD;font-weight:bold}.highlight .mo{color:#4400EE;font-weight:bold}.highlight .sa{background-color:#fff0f0}.highlight .sb{background-color:#fff0f0}.highlight .sc{color:#0044DD}.highlight .dl{background-color:#fff0f0}.highlight .sd{color:#DD4422}.highlight .s2{background-color:#fff0f0}.highlight .se{color:#666666;font-weight:bold;background-color:#fff0f0}.highlight .sh{background-color:#fff0f0}.highlight .si{background-color:#eeeeee}.highlight .sx{color:#DD2200;background-color:#fff0f0}.highlight .sr{color:#000000;background-color:#fff0ff}.highlight .s1{background-color:#fff0f0}.highlight .ss{color:#AA6600}.highlight .bp{color:#007020}.highlight .fm{color:#0066BB;font-weight:bold}.highlight .vc{color:#336699}.highlight .vg{color:#dd7700;font-weight:bold}.highlight .vi{color:#3333BB}.highlight .vm{color:#996633}.highlight .il{color:#0000DD;font-weight:bold}main#content details{margin-block:1em;padding:0.2em 1em;display:block;border:0.1rem solid #eeeeec;border-radius:0.4rem;background:#f5f5f4}main#content details summary{color:#204a87}main#content details summary:hover{text-decoration:underline;cursor:pointer}main#content details summary::after{content:'…'}footer#main-footer{margin:0;padding:1.5rem 0;font-size:0.8rem;line-height:3em;color:#333333;background:#f7f7f7;border-top:0.1rem solid #c4c4c4}footer#main-footer p{margin:0 auto}@media (min-width:768px){footer#main-footer p{width:530px}}@media (min-width:992px){footer#main-footer p{width:630px}}@media (min-width:1200px){footer#main-footer p{width:830px}}footer#main-footer p a{text-decoration:none;color:#337ab7}footer#main-footer p a:hover,footer#main-footer p a:focus{text-decoration:underline}@media (max-width:767px){footer#main-footer{padding-left:1rem;padding-right:1rem}}header#main-header{position:relative;height:120px;margin-bottom:4rem;background:url(/theme/background.jpg) no-repeat}@media only screen and (min-width:2166px){header#main-header{background-size:100% 100%}}header#main-header .main-navbar-wrapper{position:absolute;left:0;right:0;bottom:0;min-height:4rem;margin-bottom:-4rem;text-transform:uppercase;letter-spacing:0.1em;background:#125b9a}header#main-header .main-navbar-wrapper a{color:#ffffff;text-decoration:none}header#main-header .main-navbar-wrapper nav.main-navbar{margin:0 auto;position:relative}@media (min-width:768px){header#main-header .main-navbar-wrapper nav.main-navbar{width:530px}}@media (min-width:992px){header#main-header .main-navbar-wrapper nav.main-navbar{width:630px}}@media (min-width:1200px){header#main-header .main-navbar-wrapper nav.main-navbar{width:830px}}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-sitename{position:absolute;left:0;font-size:1.1rem;line-height:4rem}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-sitename a{display:inline-block}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links{position:absolute;right:0}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul{margin:0;padding:0;font-size:0.92rem;line-height:4rem;list-style:none}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul li{display:inline-block}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul li a{display:block;padding:0 1em}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul li a:hover,header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul li a:focus{background:#0d406c}@media (min-width:768px){header#main-header .main-navbar-wrapper nav.main-navbar button.main-navbar-expand{display:none}}@media (max-width:767px){header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-sitename{left:1rem}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links{position:static;height:0;padding-top:4rem;padding-left:1rem;padding-right:1rem;overflow-y:clip;visibility:hidden;transition:height 300ms}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul{margin:0 -1em;padding:0 1em;background:#0f4e83}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links ul li a:first-child{margin-left:-1em}header#main-header .main-navbar-wrapper nav.main-navbar .main-navbar-links.expanded{height:4rem;overflow-y:auto;visibility:visible}header#main-header .main-navbar-wrapper nav.main-navbar button.main-navbar-expand{position:absolute;top:1rem;right:1rem;padding:0;border:0;width:2rem;height:2rem;vertical-align:middle;background:url("https://cdn.jsdelivr.net/npm/feather-icons@4.29.0/dist/icons/menu.svg") no-repeat;background-size:contain;filter:invert(1)}}main#content img{display:block;height:auto;width:auto;max-width:calc(100% - 2 * 0.5em);padding:0.5em}main#content figure{display:block;border:0.1rem solid #d3d7cf;border-radius:0.4rem;margin-inline:0;background:#ffffff}@media (min-width:768px){main#content figure{margin-left:-4rem;margin-right:-4rem}}main#content figure img{margin:0 auto}main#content figure figcaption{padding:1em;font-size:0.9em;border-top:0.1rem solid #d3d7cf;background:#fafaf9}main#content aside.article-toc{position:absolute;left:100%;height:100%;margin-left:4rem;font-size:0.92rem;display:none}@media only screen and (min-width:calc(1200px + 20rem)){main#content aside.article-toc{display:block;width:calc(50vw - 830px / 2 - 4rem - 2rem)}}main#content aside.article-toc nav{position:sticky;top:4rem;margin-left:2rem;border-left:0.2em solid #729fcf}main#content aside.article-toc nav ol{margin:0;padding:0}main#content aside.article-toc nav ol li{padding-left:1em;line-height:1em;list-style:none}main#content aside.article-toc nav ol li a{display:inline-block;padding:0.4em 0.8em;border-radius:1em;text-decoration:none;color:#3465a4}main#content aside.article-toc nav ol li a:hover,main#content aside.article-toc nav ol li a:focus{background:#e1eaf6}main#content aside.article-toc nav ol li a.active{color:#fdfdfd;background:#477ec4}main#content aside.article-toc nav ol li a.active::before{content:'';position:absolute;left:-0.8em;width:0.8em;height:0.8em;margin-top:-0.15em;border-radius:50%;border:0.3em solid #fdfdfd;background:#729fcf}main#content aside.article-toc nav ol li a{color:#477ec4;transition:color 300ms}main#content aside.article-toc nav ol li a.active{color:#fdfdfd;background:#6d99d1;transition:background 300ms}main#content aside.article-toc nav:hover ol li a,main#content aside.article-toc nav:focus ol li a{color:#3465a4}main#content aside.article-toc nav:hover ol li a:hover,main#content aside.article-toc nav:focus ol li a:hover,main#content aside.article-toc nav:hover ol li a:focus,main#content aside.article-toc nav:focus ol li a:focus{background:#e1eaf6}main#content aside.article-toc nav:hover ol li a.active,main#content aside.article-toc nav:focus ol li a.active{color:#fdfdfd;background:#477ec4}main#content table{margin:0 auto;margin-block:1em;border-collapse:collapse;display:block;width:fit-content;max-width:100%;overflow-x:auto}main#content table thead tr{color:#ffffff;background:#ce5c00;text-align:left}main#content table tbody tr:nth-child(odd){background:#fafaf9}main#content table tbody tr:nth-child(even){background:#f5f5f4}main#content table td,main#content table th{padding:0.3em 1em}html,body{margin:0;padding:0;font-family:'Open Sans',sans-serif;background:#fdfdfd}