@import url("https://cdnjs.cloudflare.com/ajax/libs/normalize/3.0.3/normalize.min.css");@import url("https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.css");@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/7.0.1/css/all.min.css");@import url("https://fonts.googleapis.com/css?family=Ubuntu:400,700&display=swap");*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body{margin:0;padding:0}:root{--font-scale: 1;--base-font-size: 22px;--large-font-size: 20px}html{font-size:calc(var(--base-font-size) * var(--font-scale))}@media (min-width: 38em){html{font-size:calc(var(--large-font-size) * var(--font-scale))}}body{font-family:"Ubuntu","Helvetica Neue",Helvetica,Arial,sans-serif;line-height:2;color:#2d2c2a;background-color:#ea8229;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}a{color:#2d2c2a;text-decoration:none;font-weight:bold;-webkit-transition:color 0.1s ease-in-out;-moz-transition:color 0.1s ease-in-out;-o-transition:color 0.1s ease-in-out;transition:color 0.1s ease-in-out}a:hover,a:focus{color:#fff;text-decoration:none}a strong{color:inherit}img{display:block;max-width:100%;margin:0 0 1rem;border-radius:5px}table{margin-bottom:1rem;width:100%;font-size:85%;border:1px solid #2d2c2a;border-collapse:collapse}td,th{padding:.25rem .5rem;border:1px solid #e5e5e5}th{text-align:left}tbody tr:nth-child(odd) td,tbody tr:nth-child(odd) th{background-color:#ea8229}ul{margin-left:0}ul li{list-style:none;text-align:left}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:600;line-height:1.25;color:#2d2c2a;text-rendering:optimizeLegibility}h1{font-size:2rem}h2{margin-top:1rem;font-size:1.5rem}h3{margin-top:1.5rem;font-size:1.25rem}h4,h5,h6{margin-top:1rem;font-size:1rem}p{color:#2d2c2a;margin-top:0;margin-bottom:1rem}strong{color:#2d2c2a}ul,ol,dl{margin-top:0;margin-bottom:1rem}dt{font-weight:bold}dd{margin-bottom:.5rem}hr{position:relative;margin:1.5rem 0;border:0;border-top:1px solid #2d2c2a;border-bottom:1px solid #2d2c2a}abbr{font-size:85%;font-weight:bold;color:#2d2c2a;text-transform:uppercase}abbr[title]{cursor:help;border-bottom:1px dotted #2d2c2a}blockquote{padding:.5rem 1rem;margin:.8rem 0;color:#2d2c2a;border-left:.25rem solid #2d2c2a}blockquote p:last-child{margin-bottom:0}@media (min-width: 30em){blockquote{padding-right:5rem;padding-left:1.25rem}}a[href^="#fn:"],a[href^="#fnref:"]{display:inline-block;margin-left:.1rem;font-weight:bold}.footnotes{margin-top:2rem;font-size:85%}.lead{font-size:1.25rem;font-weight:300}.highlight .hll{background-color:#ffc}.highlight .c{color:#999}.highlight .err{color:#a00;background-color:#faa}.highlight .k{color:#069}.highlight .o{color:#555}.highlight .cm{color:#09f;font-style:italic}.highlight .cp{color:#099}.highlight .c1{color:#999}.highlight .cs{color:#999}.highlight .gd{background-color:#fcc;border:1px solid #c00}.highlight .ge{font-style:italic}.highlight .gr{color:red}.highlight .gh{color:#030}.highlight .gi{background-color:#cfc;border:1px solid #0c0}.highlight .go{color:#aaa}.highlight .gp{color:#009}.highlight .gu{color:#030}.highlight .gt{color:#9c6}.highlight .kc{color:#069}.highlight .kd{color:#069}.highlight .kn{color:#069}.highlight .kp{color:#069}.highlight .kr{color:#069}.highlight .kt{color:#078}.highlight .m{color:#f60}.highlight .s{color:#d44950}.highlight .na{color:#4f9fcf}.highlight .nb{color:#366}.highlight .nc{color:#0a8}.highlight .no{color:#360}.highlight .nd{color:#99f}.highlight .ni{color:#999}.highlight .ne{color:#c00}.highlight .nf{color:#c0f}.highlight .nl{color:#99f}.highlight .nn{color:#0cf}.highlight .nt{color:#2f6f9f}.highlight .nv{color:#033}.highlight .ow{color:#000}.highlight .w{color:#bbb}.highlight .mf{color:#f60}.highlight .mh{color:#f60}.highlight .mi{color:#f60}.highlight .mo{color:#f60}.highlight .sb{color:#c30}.highlight .sc{color:#c30}.highlight .sd{color:#c30;font-style:italic}.highlight .s2{color:#c30}.highlight .se{color:#c30}.highlight .sh{color:#c30}.highlight .si{color:#a00}.highlight .sx{color:#c30}.highlight .sr{color:#3aa}.highlight .s1{color:#c30}.highlight .ss{color:#fc3}.highlight .bp{color:#366}.highlight .vc{color:#033}.highlight .vg{color:#033}.highlight .vi{color:#033}.highlight .il{color:#f60}.css .o,.css .o+.nt,.css .nt+.nt{color:#999}code,pre{font-family:"Ubuntu Mono",Menlo,Monaco,"Courier New",monospace}code{padding:.25em .5em;font-size:85%;color:#bf616a;background-color:#d4b28f;border-radius:3px}pre{margin-top:0;margin-bottom:1rem}pre code{padding:0;font-size:100%;color:inherit;background-color:transparent}.highlight{padding:1rem;margin-bottom:1rem;font-size:.8rem;line-height:1.4;background-color:#d4b28f;border-radius:.25rem}.highlight pre{margin-bottom:0;overflow-x:auto}.highlight .lineno{display:inline-block;padding-right:.75rem;padding-left:.25rem;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none}.intro-separator{display:none}.footer-separator{display:none}a:hover,a:focus{color:#fff !important;text-decoration:none}@media only screen and (max-width: 40em){.wide-content,.wide-intro{max-width:100% !important;padding:0 1.25rem;margin-left:auto !important;padding-top:0.5rem}.intro-code,.footer-code{padding:1rem !important;font-size:0.9rem !important}.profile-img-fixed{width:140px !important}.social-icons-top{top:16px !important;right:12px !important}}.wide-content{box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:3rem;padding-right:3rem;padding-top:0.5rem;padding-bottom:2rem;text-align:left;width:100%}.wide-intro{box-sizing:border-box;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:3rem;padding-right:3rem;padding-top:0.5rem;padding-bottom:0.5rem}.social-icons-top{position:static;top:auto;right:auto;margin:0;display:block;z-index:auto;pointer-events:auto;background:transparent}.social-icons-top a{pointer-events:auto}@media only screen and (max-width: 40em){.social-icons-top{right:10px !important;top:8px !important}}.intro-code{font-family:Ubuntu Mono;font-size:1.25rem;text-align:center;margin-left:auto;margin-right:auto;margin-bottom:3em;background:#fff;border:1px solid #2d2c2a;border-radius:8px;padding:1.5em 2em;color:#2d2c2a;box-shadow:0 2px 12px rgba(45,44,42,0.07);position:relative}.footer-code{font-family:Ubuntu Mono;font-size:1.05rem;background:#fff;border:1.5px solid #2d2c2a;border-radius:8px;padding:1em 1.5em;margin-bottom:2em;color:#2d2c2a;box-shadow:0 2px 12px rgba(45,44,42,0.07);position:relative}.intro-code .hello{font-size:2.3rem;font-weight:700;color:#ea8229;letter-spacing:1px;margin-right:0.5em;display:inline-block}@media only screen and (max-width: 40em){.intro-code .hello{font-size:1.8rem}}.intro-code a,.intro-code a:visited{color:#2d2c2a}.intro-code a:hover,.intro-code a:focus{color:#ea8229 !important;text-decoration:none}.site-footer{margin-top:3em}.social{text-align:right}@media only screen and (max-width: 40em){.social ul{text-align:center}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.social ul{text-align:center}}.social li{margin-bottom:.75em}@media only screen and (max-width: 40em){.social li{display:inline-block;padding-right:1em}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.social li{display:inline-block;padding-right:1em}}.social i{font-size:28px;display:block;line-height:1}.accessibility-controls{position:fixed;top:2rem;left:1.5rem;z-index:1001;display:flex;flex-direction:column;gap:1.5rem}.accessibility-controls .accessibility-btn{width:28px;height:28px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.accessibility-controls .accessibility-btn i{font-size:28px;color:#2d2c2a;transition:color 0.2s}.accessibility-controls .accessibility-btn:hover i{color:#fff}.accessibility-controls .accessibility-btn.active i{color:#ea8229}.accessibility-controls .accessibility-btn:focus{outline:2px solid rgba(234,130,41,0.4);outline-offset:2px}.accessibility-controls .accessibility-btn.disabled{opacity:0.4;cursor:not-allowed}.accessibility-controls .accessibility-btn.disabled:hover i{color:#2d2c2a}@media only screen and (min-width: 64.063em){.accessibility-controls{display:flex}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.accessibility-controls{display:flex}}@media only screen and (max-width: 40em){.accessibility-controls{display:none}}.accessibility-mobile{position:fixed;top:1rem;left:1rem;z-index:1002;display:none}@media only screen and (max-width: 40em){.accessibility-mobile{display:block}}.accessibility-mobile .accessibility-toggle{width:24px;height:24px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease}.accessibility-mobile .accessibility-toggle i{font-size:20px;color:#2d2c2a;transition:color 0.2s;filter:drop-shadow(1px 1px 2px rgba(0,0,0,0.3))}.accessibility-mobile .accessibility-toggle:hover i{color:#ea8229;transform:scale(1.1)}.accessibility-mobile .accessibility-toggle.menu-active i{color:#ea8229;transform:scale(1.1)}.accessibility-mobile .accessibility-menu{position:absolute;top:0;left:40px;display:flex;gap:16px;transform:translateX(-100%);opacity:0;transition:all 0.3s ease;pointer-events:none}.accessibility-mobile .accessibility-menu.expanded{transform:translateX(0);opacity:1;pointer-events:auto}.accessibility-mobile .accessibility-menu .accessibility-btn{width:20px;height:20px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.accessibility-mobile .accessibility-menu .accessibility-btn i{font-size:14px;color:#2d2c2a;transition:color 0.2s;filter:drop-shadow(1px 1px 2px rgba(0,0,0,0.3))}.accessibility-mobile .accessibility-menu .accessibility-btn:hover i{color:#ea8229;transform:scale(1.1)}.accessibility-mobile .accessibility-menu .accessibility-btn.active i{color:#ea8229}.tts-highlight{position:relative}.tts-highlight::after{content:'';position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid #ea8229;border-radius:4px;animation:tts-pulse 1.5s infinite;pointer-events:none}@keyframes tts-pulse{0%, 100%{opacity:0.3;transform:scale(1)}50%{opacity:0.8;transform:scale(1.02)}}.social-right-overlay{position:fixed;top:50%;right:1.5rem;transform:translateY(-50%);z-index:1000}.social-right-overlay .social{text-align:center}.social-right-overlay .social ul{list-style:none;padding:0;margin:0}.social-right-overlay .social li{display:block;margin-bottom:1.5rem}.social-right-overlay .social i{font-size:28px;display:block;line-height:1;color:#2d2c2a;transition:color 0.2s}.social-right-overlay .social i:hover{color:#fff}@media only screen and (min-width: 64.063em){.social-right-overlay{display:block}}@media only screen and (min-width: 40.063em) and (max-width: 64em){.social-right-overlay{display:block}}@media only screen and (max-width: 40em){.social-right-overlay{display:none}}.social-mobile{position:fixed;top:1rem;right:1rem;z-index:1002;display:none}@media only screen and (max-width: 40em){.social-mobile{display:block}}.social-mobile .social-toggle{width:24px;height:24px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease}.social-mobile .social-toggle i{font-size:20px;color:#2d2c2a;transition:color 0.2s;filter:drop-shadow(1px 1px 2px rgba(0,0,0,0.3))}.social-mobile .social-toggle:hover i{color:#ea8229;transform:scale(1.1)}.social-mobile .social-toggle.menu-active i{color:#ea8229;transform:scale(1.1)}.social-mobile .social-menu{position:absolute;top:0;right:40px;display:flex;gap:16px;transform:translateX(100%);opacity:0;transition:all 0.3s ease;pointer-events:none}.social-mobile .social-menu.expanded{transform:translateX(0);opacity:1;pointer-events:auto}.social-mobile .social-menu .social-btn{width:20px;height:20px;border:none;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;text-decoration:none}.social-mobile .social-menu .social-btn i{font-size:14px;color:#2d2c2a;transition:color 0.2s;filter:drop-shadow(1px 1px 2px rgba(0,0,0,0.3))}.social-mobile .social-menu .social-btn:hover i{color:#ea8229;transform:scale(1.1)}.social-centered{text-align:center;margin:2rem auto;max-width:400px}.social-centered ul{text-align:center;list-style:none;padding:0;margin:0}.social-centered li{display:inline-block;margin:0 1rem 1rem 1rem}.social-centered i{font-size:28px;display:block;line-height:1}footer{margin:2em 0}footer h2{margin-bottom:1em;font-size:22px}@media only screen and (max-width: 40em){footer h2{font-size:18px}}footer p{font-size:18px;line-height:2}@media only screen and (max-width: 40em){footer p{font-size:16px;line-height:1.6}}footer a:hover,footer a:focus{color:#ea8229 !important;text-decoration:none}footer .copyright{margin-top:2em;color:#2d2c2a;line-height:1.75;font-size:14px}@media only screen and (max-width: 40em){footer .copyright{text-align:center}}@media only screen and (min-width: 40.063em) and (max-width: 64em){footer .copyright{text-align:center}}footer .copyright a{color:#2d2c2a}footer .copyright a:hover,footer .copyright a:focus{color:#ea8229 !important;text-decoration:none}.profile-fixed{position:relative;top:auto;left:auto;transform:none;width:100%;max-width:400px;margin:0 auto 1rem auto;padding:0 1rem;text-align:center;z-index:auto;pointer-events:auto}.profile-img-fixed{width:120px;height:120px;border-radius:50%;overflow:hidden;display:block;margin:0 auto;border:3px solid #2d2c2a;box-sizing:border-box;background:#2d2c2a}.profile-img-fixed img,.profile-img-fixed{width:100%;height:100%;object-fit:cover;display:block}@media only screen and (max-width: 40em){.profile-img-fixed{width:72px !important;height:72px !important}}.masthead{padding:0.5rem 0;margin:0.5rem 0}.masthead img{width:250px;border-radius:50%;margin:0 auto;display:table;border:1px solid #2d2c2a;box-sizing:border-box}main h2{font-size:22px;margin-bottom:2em}.page,.post{margin-bottom:4em}.page li+li,.post li+li{margin-top:.25rem}.page-title,.post-title,.post-title a{color:#2d2c2a}.page-title,.post-title{margin-top:0}.post-date{display:block;margin-top:-.5rem;margin-bottom:1rem;color:#2d2c2a}.content-section{margin-bottom:2em}.project-post h3,.project-post p{font-size:18px}.project-post p{color:#2d2c2a;margin:20px 0 0 0;line-height:1.9}.project-post ul li{display:inline-block;padding-right:10px;margin-top:10px}.content-section p{line-height:2}.related{padding-top:2rem;padding-bottom:2rem;margin-bottom:2rem;border-top:1px solid #2d2c2a;border-bottom:1px solid #2d2c2a}.related-posts{padding-left:0;list-style:none}.related-posts h3{margin-top:0}.related-posts li small{font-size:75%;color:#2d2c2a}.related-posts li a:hover{color:#eab384;text-decoration:none}.related-posts li a:hover small{color:inherit}.pagination{overflow:hidden;margin:0 -1.5rem 1rem;color:#2d2c2a;text-align:center}.pagination-item{display:block;padding:1rem;border:solid #2d2c2a;border-width:1px 0}.pagination-item:first-child{margin-bottom:-1px}a.pagination-item:hover{background-color:#d4b28f}@media (min-width: 30em){.pagination{margin:3rem 0}.pagination-item{float:left;width:50%;border-width:1px}.pagination-item:first-child{margin-bottom:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination-item:last-child{margin-left:-1px;border-top-right-radius:4px;border-bottom-right-radius:4px}}.message{margin-bottom:1rem;padding:1rem;color:#2a2a2c;background-color:#d4b28f}
