/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--primary-font-color:#1b252d;--secondary-font-color:#646464;--background-color:#fdfdfd;--table-zebra-color:#f1f7fb;--table-hover-color:#ddd;--post-title-color:#145286;--site-title-color:#fff;--menu-color:#fff;--hover-color:#f5f5f5;--header-color:#3a7ab0;--accent-color:#3676aa;--code-color:#eee;}body{font-family:var(--font-family);color:var(--primary-font-color);word-wrap:break-word;line-height:1.7em;}main{padding:3em 1.2em 0em 1.2em;margin:0 auto;}main figure,main audio,main video,main table{margin:2.8em 0em;padding:0px;text-align:center;}main img{max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain;}main a{color:var(--primary-font-color);}main h2 a{text-decoration:none;color:var(--post-title-color);}main .summary{font-size:125%;font-weight:300;line-height:1.45em;margin-bottom:1.6em;}main .pullquote{font-size:150%;word-spacing:2px;font-weight:300;margin:2em 0em;padding:0em 1.2em;border-left:5px solid var(--header-color);}main article + article{margin-top:3em;}main article.introduction p{font-size:105%;}figcaption{color:var(--secondary-font-color);font-size:85%;line-height:1.6em;}input[type=submit]{background:var(--header-color);color:var(--site-title-color);border:0 none;padding:3px 15px;border-radius:5px;}sub,sup{line-height:0;}@media not print{@media (prefers-color-scheme:dark){:root{--primary-font-color:#dadee2;--secondary-font-color:#b1b4b7;--background-color:#172028;--table-zebra-color:#1f2931;--table-hover-color:#1a262d;--header-color:#3a7ab0;--post-title-color:#9ebbd1dd;--site-title-color:#fff;--menu-color:#fff;--hover-color:#555;--accent-color:#5a9fd4;--code-color:#2a2a2a;}}html{font-size:max(1em,17px);}body{background-color:var(--background-color);word-spacing:1px;margin:0;}header{background-color:var(--header-color);}header a{text-decoration:none;color:var(--site-title-color);}header h1{text-transform:uppercase;font-size:1.6em;font-weight:200;letter-spacing:2px;padding:20px 0px 5px 0px;text-align:center;margin:0;position:relative;}.status-bar{background-color:rgba(0,0,0,0.15);width:100%;height:28px;display:flex;justify-content:flex-end;align-items:center;padding:0 10px;box-sizing:border-box;}.battery-link{display:inline-flex;align-items:center;justify-content:center;height:100%;opacity:0.8;}.battery-header-icon{width:28px;height:20px;display:block;margin:auto;vertical-align:middle;}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0;}header nav{display:flex;flex-flow:row wrap;justify-content:center;}header .menu a{color:var(--menu-color);font-weight:200;padding:10px;text-transform:uppercase;text-decoration:none;}footer{margin:2.4em 0;text-align:center;}footer svg{width:40px;height:40px;}main article{max-width:576px;margin:auto;}.content-normal{max-width:576px;margin:auto;}.content-wide{max-width:960px;margin:auto;}main a:link,main a:visited{transition:color 0.25s;}main a:hover,main a:focus{color:var(--accent-color);}main h2,main h3,main h4,main h5{white-space:unset;font-weight:400;scroll-margin-top:5em;}main h2{font-size:250%;line-height:1.2em;font-style:italic;text-wrap:balance;margin:0em 0em 1em 0em;}main h3{font-size:200%;margin:1.8em 0em 1.2em 0em;}main h4{font-size:125%;}main h2 a,main h3 a{text-decoration:none;}main p{text-wrap:pretty;}main article p,main article h3,main article h4,main article pre,main article figure{animation:fade-in ease forwards;animation-timeline:view();animation-range:entry 0% cover 40%;}@keyframes fade-in{0%{opacity:0.2;}40%{opacity:0.5;}100%{opacity:1;}}blockquote{margin:0.6em 0em;padding:0.2em 2em 0.2em 3em;position:relative;color:var(--secondary-font-color);}blockquote::before{content:'\201C';font-family:Georgia,serif;font-size:60px;font-weight:bold;color:var(--header-color);position:absolute;left:20px;}.side-by-side{display:flex;flex-direction:column;justify-content:space-between;}.side-by-side > div{flex:1;}ul{list-style-type:square;}li{margin:0.6em 0em;}table{width:100%;}th{background-color:var(--header-color);color:var(--background-color);}th,td{padding:10px;text-align:left;}tr:nth-child(even){background-color:var(--table-zebra-color);}tr:hover{background-color:var(--table-hover-color);}code{background-color:var(--code-color);border-radius:5px;padding:3px 4px;font-size:85%;}small{font-size:80%;}article footer{display:flex;flex-flow:row wrap;color:var(--secondary-font-color);}article footer > *{margin-bottom:0.6em;margin-right:1em;font-family:var(--secondary-primary-family);font-size:80%;}article footer .tags ul{display:inline-block;list-style:none;padding:0;margin:0;}article footer .tags ul li{display:inline-block;padding:0;margin:0;}article footer .tags ul li:not(:last-child):after{content:", ";white-space:pre;}article svg{height:17px;width:17px;vertical-align:text-bottom;margin-right:6px;margin-top:6px;fill:var(--secondary-font-color);}article footer a{text-decoration:none;color:var(--secondary-font-color);}#block-tabs{position:absolute;right:0;text-transform:uppercase;font-size:85%;width:200px;}#block-tabs ul{list-style:none;margin:0;padding:0;}#block-tabs ul li{display:inline;}#block-tabs ul li a{text-decoration:none;margin:0;padding:2px 4px;border:1px solid #ccc !important;color:#999;}#block-tabs ul li a:hover{background-color:#333;color:#fff;}#block-tabs ul li a.is-active{background-color:#fff;color:#000;}section.note{background-color:var(--table-zebra-color);color:var(--secondary-font-color);font-size:80%;line-height:1.6em;padding:1em;margin:2.6em 0em;}.resume li{clear:both;}.resume .title{font-weight:bold;}.resume .location,.resume .date,.resume .authors{font-style:italic;}.resume a[href$=".pdf"]:after{content:" (PDF)";}.resume a[href$=".pdf"][data-size]:after{content:" (PDF, " attr(data-size) ")";}#toc{display:none;}.pager ul{list-style:none;margin:1em 0 0 0;text-align:center;}.pager ul li{display:inline;padding:0;margin:0.1em;}.pager ul li a{text-transform:uppercase;text-decoration:none;font-size:85%;padding:0.2em;}.pager ul li.is-active a{color:white;background-color:var(--header-color);}.messages{padding:0.5em;}.messages--status{background-color:#e8f5e1;color:#325e1c;}.messages--warning{background-color:#fdf4e1;color:#734c00;}.messages--error{background-color:#efd1ca;color:#a51b00;}label{display:block;font-weight:bold;}label.option{display:inline;font-weight:normal;}.form-item{margin-bottom:0.6em;}q{quotes:'"''"';font-style:italic;}@media all and (min-width:960px){header .menu a + a{margin-left:0.6em;}.large,.side-by-side{position:relative;width:170%;left:-35%;}.side-by-side{flex-direction:row;justify-content:center;gap:1.2em;}main footer .tags{align-items:flex-start;}}@media screen and (min-width:1280px){.pullquote{position:relative;width:130%;left:-15%;margin:70px 0px;}article{position:relative;}#toc{display:block;position:absolute;left:720px;width:175px;top:110px;margin-top:0;font-size:80%;color:var(--secondary-font-color);}#toc h3{font-weight:normal;}#toc ul{list-style:none;padding:0;}#toc li{line-height:1.4em;margin:1.4em 0em;}}}.newsletter{border-radius:0.3em;padding:1.5em;margin:1.5em auto;background:var(--header-color);text-align:center;}.newsletter p{margin:0 0 1.2em 0;color:var(--site-title-color);}.newsletter form{display:flex;gap:0.6em;max-width:350px;margin:0 auto;}input[type="email"]{flex:1;padding:0.5em;border:1px solid var(--table-zebra-color);border-radius:0.3em;background:var(--background-color);color:var(--primary-font-color);transition:all 0.2s ease;font-size:90%;}input[type="email"]:focus{outline:2px solid var(--table-zebra-color);outline-offset:1px;}.newsletter input[type="email"]{border:none;background:var(--site-title-color);}.newsletter button{background:transparent;color:var(--site-title-color);padding:0.5em 0.8em;min-width:6em;border:2px solid var(--site-title-color);border-radius:0.3em;text-transform:uppercase;font-size:90%;white-space:nowrap;}.newsletter .alternatives{margin:1.5em 0 0 0;font-size:85%;}.newsletter .alternatives a{color:var(--site-title-color);}pre{margin:1.5em 0;padding:1em;padding-top:2em;font-size:80%;line-height:1.5em;word-break:break-all;background:var(--code-color);border-left:3px solid var(--header-color);overflow-x:scroll;position:relative;}pre > code{display:block;padding:0;font-family:'SF Mono',Monaco,'Menlo','Courier New',monospace;font-size:95%;line-height:1.6;color:var(--primary-font-color);background:transparent;}code[class*="language-"]::before{content:"";position:absolute;top:0;right:0;padding:0.35em 0.75em;font-size:70%;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;background-color:var(--header-color);color:var(--site-title-color);border-radius:0 0 0 5px;z-index:1;pointer-events:none;}code.language-bash::before{content:"BASH";}code.language-shell::before{content:"BASH";}code.language-javascript::before{content:"JAVASCRIPT";}code.language-php::before{content:"PHP";}code.language-python::before{content:"PYTHON";}code.language-css::before{content:"CSS";}code.language-html::before{content:"HTML";}code.language-markdown::before,code.language-md::before{content:"MARKDOWN";}code.language-sql::before{content:"SQL";}code.language-yaml::before{content:"YAML";}code.language-json::before{content:"JSON";}:not(pre) > code{padding:0.2em 0.4em;font-size:85%;font-family:'SF Mono',Monaco,'Menlo','Courier New',monospace;background:var(--code-color);border-radius:3px;}
