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-size:100%;font:inherit;margin:0;padding:0;vertical-align:initial}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:ega;src:url(/static/media/ega.a77e36d675836b867c9c.woff)}*{box-sizing:border-box}body{background:#aaa;font-family:ega,Arial,sans-serif;font-size:1.6rem}nav{background:#000000bf;color:#eef;display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;padding:.8rem}.invalid a:focus,.invalid a:hover,.portfolio a:focus,.portfolio a:hover,body nav a.active:focus,body nav a.active:hover,body nav a:focus,body nav a:hover{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}body nav a.active{text-decoration:underline}nav .links{gap:8px}.container,nav .links{align-items:center;display:flex}.container{background-attachment:local;background-position:100% 0;background-size:cover;box-shadow:0 0 5px #333;flex-direction:column;margin:auto;max-width:1000px;min-height:100vh}.container .control{display:flex;gap:16px}.container .control button{background:none;border:none;border-bottom:2px solid #0000;color:#f3f34e;cursor:pointer;font-family:ega,Arial,sans-serif;font-size:1.6rem;padding:0;transform:translateY(6px)}.container .control button:focus,.container .control button:hover{border-bottom:2px dashed #f3f34e}.container .control-icon{height:32px}.container .control button:focus,.container .control button:hover{-webkit-text-decoration:underline dashed;text-decoration:underline dashed;text-decoration-thickness:2px;text-underline-offset:4px}.hamster{background:#0009;display:flex;flex-direction:column;gap:32px;list-style-position:inside;padding:8px}.hamster-header{font-size:2rem}.home nav a,.invalid a,.portfolio nav a{color:#f3f34e;text-decoration:none}.home,.portfolio{box-shadow:5px 5px 0 #000c;max-width:800px;overflow:auto}.blink{animation:blinker .75s step-start infinite}@keyframes blinker{50%{opacity:0}}.portfolio{max-height:100vh;overflow-wrap:break-word;width:100%}.portfolio::-webkit-scrollbar{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAACCAYAAAB/qH1jAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TtSKVDlYRcchQnSyIinTUKhShQqgVWnUwufRDaNKQpLg4Cq4FBz8Wqw4uzro6uAqC4AeIq4uToouU+L+k0CLWg+N+vLv3uHsHCLUS06yOcUDTbTOViIuZ7IoYeEUXQujHAGIys4xZSUqi7fi6h4+vd1Ge1f7cn6NXzVkM8InEM8wwbeJ14ulN2+C8TxxmRVklPiceM+mCxI9cVzx+41xwWeCZYTOdmiMOE4uFFlZamBVNjXiKOKJqOuULGY9VzluctVKFNe7JXxjM6ctLXKc5jAQWsAgJIhRUsIESbERp1UmxkKL9eBv/kOuXyKWQawOMHPMoQ4Ps+sH/4He3Vn5ywksKxoHOF8f5GAECu0C96jjfx45TPwH8z8CV3vSXa0Dsk/RqU4scAaFt4OK6qSl7wOUOMPhkyKbsSn6aQj4PvJ/RN2WBvlugZ9XrrbGP0wcgTV0lb4CDQ2C0QNlrbd7d3drbv2ca/f0AnVZyuFJK1vcAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfnBg8VGA8Y/4A/AAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAACBJREFUCNctxrENAAAIAyC80oNMfLsuMgHp2SBIfUDPOpcIB71tflUGAAAAAElFTkSuQmCC);width:16px}.portfolio::-webkit-scrollbar-thumb{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAYAAABytg0kAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TtSKVDlYRcchQnSyIinTUKhShQqgVWnUwufRDaNKQpLg4Cq4FBz8Wqw4uzro6uAqC4AeIq4uToouU+L+k0CLWg+N+vLv3uHsHCLUS06yOcUDTbTOViIuZ7IoYeEUXQujHAGIys4xZSUqi7fi6h4+vd1Ge1f7cn6NXzVkM8InEM8wwbeJ14ulN2+C8TxxmRVklPiceM+mCxI9cVzx+41xwWeCZYTOdmiMOE4uFFlZamBVNjXiKOKJqOuULGY9VzluctVKFNe7JXxjM6ctLXKc5jAQWsAgJIhRUsIESbERp1UmxkKL9eBv/kOuXyKWQawOMHPMoQ4Ps+sH/4He3Vn5ywksKxoHOF8f5GAECu0C96jjfx45TPwH8z8CV3vSXa0Dsk/RqU4scAaFt4OK6qSl7wOUOMPhkyKbsSn6aQj4PvJ/RN2WBvlugZ9XrrbGP0wcgTV0lb4CDQ2C0QNlrbd7d3drbv2ca/f0AnVZyuFJK1vcAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfnBg8VGC3Nn8HbAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAAABpJREFUCNcFwQEBAAAAgqA+OtWBBgNSmxrQAVhKCiHaIcBpAAAAAElFTkSuQmCC)}.portfolio::-webkit-scrollbar-button{height:32px}.portfolio::-webkit-scrollbar-button:vertical:decrement{background-image:url(data:image/png;base64,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l2tA7JP0alOLHAGhbeDiuqkpe8DlDjD4ZMim7Ep+mkI+D7yf0Tdlgb5boGfV662xj9MHIE1dJW+Ag0NgtEDZa23e3d3a279nGv39AJ1WcrhamRwwAAANGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo0MWJiMTZhNC1lNzc2LTQxZWItYTJmMS01NzkxYmEwNDA1MmIiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWY4N2MwZTAtYTZmYS00MDE0LWFhZmQtZDJhNzNlMDg3ODY3IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6YjI2Zjg5ZGEtOWJlYi00ZjViLWJkOTctN2QzZDc0OGNmZjg4IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjg2ODY0NjIwMzEzNjUyIgogICBHSU1QOlZlcnNpb249IjIuMTAuMzAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZjIyYjkwOTEtMWNiYS00NjRiLWI5ZTMtNmIyZDZlZjdjODcwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wNi0xNVQxNDozMDoyMC0wNzowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz57u7ltAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5wYPFR4UxMDuVQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACgSURBVEjH7ZTBCcMwDEW/lS7gOTpBtih4FQ2QBTyKaLfQVMU9lBxKZSMlp4D/RWBh//f/wYmZWykFIoIjM6lqO3pZRLDknLdJcHWC22i5rm8ADwD9R2jksCvcwdf5X8wvH0FPFgFZhz25O4gQ/HTQyz7qgjzOIxLyZB91cZogqWrzZre6oIizRUKR7FYXpwmWWuuW8xO13hGd80+cBPv8AMypVCi6kybkAAAAAElFTkSuQmCC)}.portfolio::-webkit-scrollbar-button:vertical:increment{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgCAYAAAAbifjMAAAFlXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHja7VdbtuQmDPxnFVkCCITEcnjpnOwgy0+B6de9fSczk5u/2KfNw1hIVSXZ7eZff5r7AwdRUZdYNJecPY5UUqGKjvrraPsafNrXM/C3zsu8o9sNwlREG69hud2YmEc/nHE5m4Tb+puh+04VPX7cqPXMt9f5dgySfjR0PIjh2tmP88AxFOl4lK5xPx7lovIS2uhn53Sm9PFLUShzDpJwTeRFckFfyScBnmM5ap3KNsQXoPeJ2/i2lOATzRiixzXG42Vcvxgr2oxriAyw0SQMsGhfwwbeg0q4AE/L2aj6O5jP2Dww+uL4mbA8NrG5Fj+x9hDIqz70C93ce0cGd9Y0nxvxlVaf7+3b+cA3Q7cb8b4PvXjU7zu/zGdZCD4O90y32VDbQSOKmjKwyCeoWyi7h3VtobifyjjFZwfVqpd9Fpzqq+/Q1PAdmdbQL4HAvYUURqjBwtxtDx0uJpokaIm6o7gnFSQV6vESA85gJLHEERWK6VtDKdLdl7C3LXu7HtQP50fAUgowFvDIb5/uZxearVwKweuFk25+aWUnvPAB9K8Gy8BIsAMqb4Bv58dj8RrBIG+YFQFW39xlonF4iCtuoiMWMtor64OMYwAQYWuGMyGCAZ+RaCHDIyGSEACkgqAK1ykmamAgMNOAk5RizCAH2YG98YyEvZSYrmlU1ZhcZOSvgJsSK8hKiaEfSQoNVY6cmDmzsHLhmmNemZez5FWeq0RJwpJFRJ0UqRo1KWtWUdWitVCJKN9ckKdFSym1YtMKyxVPVyyotVGLLTVuuUnTVlyrHfLpqXPPXbr20uugEQcSfOQhQ0cZdYYJKc00eeYpU2eZ1SA1i5aMLZs4UytW76yFk7Yfz19gLRzWaDO1FsqdNcyK3EyEVU54cQbGKAUQLmANjEHYizOvISVazC3O8D5CVjDBSV7kjLAYA4NpBmILd+4Ocw4ofgtvTnTzRv+WObeo+0nmPvP2jrWx3hJ9M3al4QLVR2RfFZ5V8I1QMq/S+n7gvr71awP3ry2cgfsmh5L7Joe8+yaH2P1gXS+DZ4MYC9sQkDsM5HOT1KaJRR7ap8TJcUh1baTZII9KbWQzztEgEQPtMzU0SS2PmaQaSy1jWU8cbNYuBqUhVYvgVYh61LLRMvmwqMvM3eJlb72DRpMSZhvLYcbbikMSqw0FPy1BYhGSEFelMEfralhoHKsh97RGGwzLVba5QuuKlP7kpnv1E4suTz87uu3jpZl6xQOhL2+R62z1yrXS5uRO0jswTphnHQdm8bDfG+w3EWMiwOwROeDE1t2vnlZ/te7Wede22cKOsC3XwI4WYMZgcMA86tYI8O3a3y0HyqI4FuR1MfZTDG/9VupA5jcGLSY0xc8cO8pMtdrzFWxtCDOmlfPRWSu99ZYRyZiLohYURbDXAPQgpopKzLvv37YbcHjhar7cSMcN2260y41w3NgxEvajFSDwHnE2uDqnkBGiHAYdSaHZs4Ep0s0mokZZnalUj808CluOWzfofCAgegCwQXUr5oY3+mZD37QPSBb/JeHTaisKmlyVcWo2CErdkw9GOc+PWXdTxCKkjq8JcZiIpceiRguGO+FLfe1gYQeLBiyg8A1FiBuKBTskF1BGNjnrv8iegRATNi1VRlpffh2lPjeDeJHSJKM3TWfXFTOAob4C7m7ESwjQn1xKkK2EsZXQ8EHY61O4YCbrj+vRc3oYI1pkNaHszDFspP5lfhw03Kv+UYU+Z8Ddm15Ke1LIkuR94F5Ge3BTzhbTLpAXYHYAkwWYbMD6I3Pc+9RZr8Yf5c6iJeVnUtxHVugX0uI5K9y7tHgLwj8M3G8h8vBW+9GPszfy8eln1fMYOPmml///XyP/0dcISqQN/Od3fwN/V3om7ZCLLAAAAYVpQ0NQSUNDIHByb2ZpbGUAAHicfZE9SMNAHMVfU7UilQ5WEXHIUJ0siIp01CoUoUKoFVp1MLn0Q2jSkKS4OAquBQc/FqsOLs66OrgKguAHiKuLk6KLlPi/pNAi1oPjfry797h7Bwi1EtOsjnFA020zlYiLmeyKGHhFF0LoxwBiMrOMWUlKou34uoePr3dRntX+3J+jV81ZDPCJxDPMMG3ideLpTdvgvE8cZkVZJT4nHjPpgsSPXFc8fuNccFngmWEznZojDhOLhRZWWpgVTY14ijiiajrlCxmPVc5bnLVShTXuyV8YzOnLS1ynOYwEFrAICSIUVLCBEmxEadVJsZCi/Xgb/5Drl8ilkGsDjBzzKEOD7PrB/+B3t1Z+csJLCsaBzhfH+RgBArtAveo438eOUz8B/M/Ald70l2tA7JP0alOLHAGhbeDiuqkpe8DlDjD4ZMim7Ep+mkI+D7yf0Tdlgb5boGfV662xj9MHIE1dJW+Ag0NgtEDZa23e3d3a279nGv39AJ1WcrhamRwwAAANGmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo0ODdiMmRkNy1lZDkzLTQ2NWQtODVjYi01YmY2NDI2MzY0ODMiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ZjRhNzQzNDQtMzhiNC00NTAxLWJlYWMtYzFjZDBmMzE4MmZkIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MDgzNjMxMDgtMzNkOC00ZTZkLWFhY2YtOThiYjRmNTJmMWU5IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNjg2ODY0NjMyNjQwOTc1IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NmMxMDNlMWUtNWQ4NS00YjMyLWJjZjMtN2RmOTEyMmZhYjA2IgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMy0wNi0xNVQxNDozMDozMi0wNzowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6VO/+EAAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5wYPFR4g5XQa4AAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAACTSURBVEjH7ZTRDYAgDERPcAHGcY6u0gFc6BK36FRGv4jGEJRGfwz9aYAcvLsAg6puIgKS8PTBzDavmCRiSmnuBL8gmKYVnlJdEEjCWyKCICLuDUi+RKC6wCw2eTeLB0FOteXkrAvnQYv3rHuX4C6Ls/ciwR1J6SaG0uQT798SXLMoea8SXElqr3GsLQL9T+wEz/oO3wBR4s0p0Q0AAAAASUVORK5CYII=)}.portfolio a{color:#0000c4;text-decoration:none}.portfolio a img{border-bottom:3px solid #0000;padding-bottom:1px}.portfolio a img:focus,.portfolio a img:hover{border-bottom:3px dashed #0000c4}.portfolio h1{font-size:2rem;margin-left:.2rem}.portfolio h2{color:#4ef3f3;font-size:1.8rem;margin-left:.2rem}.portfolio h3{color:#c40000}.portfolio .about,.portfolio .about-small,.portfolio .contact,.portfolio .contact .contact-info,.portfolio .projects,.portfolio .projects-grid{display:flex;flex-direction:column;gap:8px}.portfolio .about .about-large{display:none}.portfolio .contact .contact-details{display:flex;flex-direction:column;gap:8px}.portfolio .contact .contact-details .icons{display:flex;gap:16px}.portfolio .contact .details{font-size:1.5rem}.portfolio .contact .latin{color:#111;cursor:default;font-size:1.3rem;font-style:italic}.portfolio .contact .latin:hover{text-decoration:none}.portfolio .image-container{aspect-ratio:1/1;height:100%;max-height:416px;max-width:416px;width:100%}.portfolio .about .headshot,.portfolio .contact-photo{background-image:url(/static/media/sean.21b57f5a2149dd353f0b.png);background-repeat:no-repeat;background-size:cover;border:1px solid #333;box-shadow:5px 5px 0 #444;height:100%;width:100%}.portfolio .contact .contact-photo{background-image:url(/static/media/hiking.bc00521c3ae1063c2fd4.png)}.portfolio .project{background-color:#c4c4c4;border:1px solid #333;color:#001;display:flex;flex-direction:column;gap:8px;padding:.8rem;text-shadow:none}.portfolio .project img.link-icon{height:32px;transform:translateY(6px)}.portfolio .project .project-links,.portfolio .project .project-title{align-items:center;display:flex;gap:8px;justify-content:space-between;max-width:416px}.portfolio .contact .contact-info,.portfolio .project .project-description{max-width:416px}.portfolio .project .screenshot{aspect-ratio:1/1;background-repeat:no-repeat;background-size:cover;border:1px solid #333;box-shadow:5px 5px 0 #444;height:100%;width:100%}.portfolio .skills{display:flex;flex-direction:column;gap:8px}.portfolio .skills ul{grid-gap:8px;display:grid;font-size:.9rem;gap:8px;grid-template-columns:repeat(auto-fit,minmax(64px,1fr))}.portfolio .skills .skill-icon{background-size:cover;filter:brightness(0);height:40px;width:40px}.project.blog-post{gap:16px;white-space:pre-wrap}.project.blog-post .comment{background:#eee;box-shadow:5px 5px 0 #444;display:flex;flex-direction:column;font-size:1.4rem;gap:8px;padding:8px;white-space:pre-wrap}.project.blog-post .comment-form{background:#eee;box-shadow:5px 5px 0 #444;color:#111;padding:8px}.project .error{background:#c40000;color:#eee;padding:8px}.project.blog-post .comment-form form,.project.blog-post label{display:flex;flex-direction:column;gap:16px}.project.blog-post label{gap:4px}.project.blog-post .post-header{display:flex;flex-direction:column;gap:8px}.project.blog-post .published-info{padding:8px}.project.blog-post .published-info.no{background:#c47e00}.project.blog-post .published-info.yes{background:#00c400}.project.blog-post .post-control{display:flex;gap:8px}.project.blog-post .post-control.bottom{flex-direction:column}.project.blog-post .comment-form form button,.project.blog-post .post-control button{background:#0000c4;border:none;color:#eee;cursor:pointer;font-family:ega,Arial,sans-serif;font-size:1.4rem;outline:none;padding:8px;width:max-content}.project.blog-post .post-control button.delete{background:#c40000}.project.blog-post .post-control button.submit-edit{background:#c400c4}.project.blog-post .comment-form form button:focus,.project.blog-post .comment-form form button:hover,.project.blog-post .post-control button:focus,.project.blog-post .post-control button:hover{outline:4px solid #001}.project.blog-post input:hover,.project.blog-post textarea:hover{outline:4px solid #111}.project.blog-post input:focus,.project.blog-post textarea:focus{outline:4px solid #0000c4}.project.blog-post input,.project.blog-post textarea{background:#eee;border:2px solid #111;font-family:ega,Arial,sans-serif;font-size:1.4rem;outline:none;padding:4px}.project h1.blog-title{color:#c40000;font-size:32px;margin-left:0}.project .post-info{display:flex;flex-direction:column;font-size:1.4rem;gap:8px;margin-left:2rem}.project .post-info .post-timestamp{display:flex;flex-wrap:wrap;font-style:italic;gap:8px}.info,.quote{background:#101010b3;color:#eef;display:flex;flex-direction:column;gap:1rem;padding:.8rem;text-shadow:2px 2px 0 #333}.quote .author{font-size:1.5rem;font-style:italic;margin-left:2rem}.switch{display:inline-block;height:40px;position:relative;width:64px}.switch:focus,.switch:hover{outline:4px solid #111}.switch input{height:0;opacity:0;width:0}.slider{background:#c47e00;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.2s;-webkit-transition:.2s}.slider:before{background:#eee;bottom:6px;content:"";height:28px;left:5px;width:28px}input:checked+.slider{background:#00c400}input:focus+.slider{box-shadow:0 0 1px #111}input:checked+.slider:before{transform:translateX(26px);-ms-transform:translateX(26px);-webkit-transform:translateX(26px)}@media (min-width:650px){.portfolio .about .about-large{display:flex;flex-direction:column;gap:8px}.portfolio .about .about-small{display:none}.portfolio .about .project{grid-gap:16px;display:grid;gap:16px;grid-template-columns:50% 50%}.portfolio .about h2{color:#c40000}.portfolio .contact .project{flex-direction:row;padding-bottom:2.2rem;position:relative}.portfolio .contact .contact-info{gap:16px}.portfolio .contact .latin{bottom:.1rem;left:.5rem;position:absolute}.portfolio .projects{display:grid;grid-template-rows:auto 1fr}.portfolio .projects .projects-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-template-rows:auto repeat(auto-fit,1fr)}.portfolio .projects .project{grid-gap:8px;display:grid;gap:8px;grid-template-rows:auto 2rem 1fr}.portfolio .skills ul{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(auto-fit,minmax(56px,1fr))}}
/*# sourceMappingURL=main.f929e1d8.css.map*/