:root{--color-mode:'light';--color-background:#eee;--color-resume-background:#fff;--color-text:#222;--color-heading:#0d3d70;--color-subheading:#0d3d70;--color-caption:#305a86;--color-caption-emphasis:#db5a27;--color-nav-item:#222;--color-link:#0462c1;--color-link-hover:#0d3d70;--color-link-active:#0a3059;--color-highlight:#b6c4d4;--color-highlight-text:#0d3d70;--color-theme-toggle-button:#49407e;--color-theme-toggle-button-hover:#322c55}@media(prefers-color-scheme:dark){:root{--color-mode:'dark'}:root:not([data-user-color-scheme]){--color-background:#222;--color-resume-background:#222;--color-text:#ccc;--color-heading:#81b8f1;--color-subheading:#81b8f1;--color-caption:#65a1e2;--color-caption-emphasis:#eccca2;--color-nav-item:#eee;--color-link:#3795f4;--color-link-hover:#73a3d6;--color-link-active:#80b0e3;--color-highlight:#404f5f;--color-highlight-text:#eee;--color-theme-toggle-button:#ffe3a4;--color-theme-toggle-button-hover:#ffd46e}}[data-user-color-scheme=dark]{--color-background:#222;--color-resume-background:#222;--color-text:#ccc;--color-heading:#81b8f1;--color-subheading:#81b8f1;--color-caption:#65a1e2;--color-caption-emphasis:#eccca2;--color-nav-item:#eee;--color-link:#3795f4;--color-link-hover:#73a3d6;--color-link-active:#80b0e3;--color-highlight:#404f5f;--color-highlight-text:#eee;--color-theme-toggle-button:#ffe3a4;--color-theme-toggle-button-hover:#ffd46e}/*!* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/.fa,.fas,.far,.fal,.fad,.fab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-envelope:before{content:"\f0e0"}.fa-file-alt:before{content:"\f15c"}.fa-pen:before{content:"\f304"}.fa-twitter:before{content:"\f099"}.fa-github:before{content:"\f09b"}.fa-linkedin:before{content:"\f08c"}.fa-moon:before{content:"\f186"}.fa-sun:before{content:"\f185"}/*!* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/@font-face{font-family:'font awesome 5 free';font-style:normal;font-weight:900;font-display:block;src:url(/vendor/fontawesome/fa-solid-900.eot);src:url(/vendor/fontawesome/fa-solid-900.eot?#iefix)format("embedded-opentype"),url(/vendor/fontawesome/fa-solid-900.woff2)format("woff2"),url(/vendor/fontawesome/fa-solid-900.woff)format("woff"),url(/vendor/fontawesome/fa-solid-900.ttf)format("truetype"),url(/vendor/fontawesome/fa-solid-900.svg#fontawesome)format("svg")}.fa,.fas{font-family:'font awesome 5 free';font-weight:900}/*!* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/@font-face{font-family:'font awesome 5 free';font-style:normal;font-weight:400;font-display:block;src:url(/vendor/fontawesome/fa-regular-400.eot);src:url(/vendor/fontawesome/fa-regular-400.eot?#iefix)format("embedded-opentype"),url(/vendor/fontawesome/fa-regular-400.woff2)format("woff2"),url(/vendor/fontawesome/fa-regular-400.woff)format("woff"),url(/vendor/fontawesome/fa-regular-400.ttf)format("truetype"),url(/vendor/fontawesome/fa-regular-400.svg#fontawesome)format("svg")}.far{font-family:'font awesome 5 free';font-weight:400}/*!* Font Awesome Free 5.15.3 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)*/@font-face{font-family:'font awesome 5 brands';font-style:normal;font-weight:400;font-display:block;src:url(/vendor/fontawesome/fa-brands-400.eot);src:url(/vendor/fontawesome/fa-brands-400.eot?#iefix)format("embedded-opentype"),url(/vendor/fontawesome/fa-brands-400.woff2)format("woff2"),url(/vendor/fontawesome/fa-brands-400.woff)format("woff"),url(/vendor/fontawesome/fa-brands-400.ttf)format("truetype"),url(/vendor/fontawesome/fa-brands-400.svg#fontawesome)format("svg")}.fab{font-family:'font awesome 5 brands';font-weight:400}body{font-family:dejavu sans,Tahoma,Helvetica,sans-serif;font-size:14pt;color:#222;color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:dejavu sans,Tahoma,Helvetica,sans-serif;text-rendering:optimizeLegibility}h1{font-size:4rem;line-height:1.2}h2{font-size:3.6rem;line-height:1.25}h3{font-size:3rem;line-height:1.3}h4{font-size:2.4rem;line-height:1.35}h5{font-size:1.8rem;line-height:1.5}h6{font-size:1.5rem;line-height:1.6}p{font-size:14pt}li{font-size:14pt}@supports(font:-apple-system-body){body{font:-apple-system-body}}@supports(font:-apple-system-headline){h1{font:-apple-system-headline}}@supports(font:-apple-system-subheadline){h2,h3{font:-apple-system-subheadline}}@supports(font:-apple-system-caption1){h4{font:-apple-system-caption1}}@supports(font:-apple-system-caption2){h5,h6{font:-apple-system-caption2}}pre{height:auto;overflow:auto;max-height:750px;padding:1em}.chroma{color:#1f1f24;background-color:#1f1f24}.chroma ::-moz-selection{background-color:#515b70;color:inherit}.chroma ::selection{background-color:#515b70;color:inherit}.chroma .x{color:#fff}.chroma .err{color:#960050}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0;color:#fff}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block;color:#fff}.chroma .hl{display:block;width:100%;color:#fff;background-color:#ffc}.chroma .lnt{margin-right:.4em;padding:0 .4em;color:#8f8f91}.chroma .ln{margin-right:.4em;padding:0 .4em;color:#8f8f91}.chroma .k{color:#fc5fa3}.chroma .kc{color:#fc5fa3}.chroma .kd{color:#fc5fa3}.chroma .kn{color:#fc5fa3}.chroma .kp{color:#fc5fa3}.chroma .kr{color:#fc5fa3}.chroma .kt{color:#fc5fa3}.chroma .n{color:#fff}.chroma .na{color:#fff}.chroma .nb{color:#d0a8ff}.chroma .bp{color:#a167e6}.chroma .nc{color:#5dd8ff}.chroma .no{color:#fff}.chroma .nd{color:#fff}.chroma .ni{color:#fff}.chroma .ne{color:#fff}.chroma .nf{color:#41a1c0}.chroma .fm{color:#fff}.chroma .nl{color:#fff}.chroma .nn{color:#fff}.chroma .nx{color:#fff}.chroma .py{color:#fff}.chroma .nt{color:#fff}.chroma .nv{color:#41a1c0}.chroma .vc{color:#fff}.chroma .vg{color:#fff}.chroma .vi{color:#fff}.chroma .vm{color:#fff}.chroma .l{color:#fff}.chroma .ld{color:#fff}.chroma .s{color:#fc6a5d}.chroma .sa{color:#fc6a5d}.chroma .sb{color:#fc6a5d}.chroma .sc{color:#fc6a5d}.chroma .dl{color:#fc6a5d}.chroma .sd{color:#fc6a5d}.chroma .s2{color:#fc6a5d}.chroma .se{color:#fc6a5d}.chroma .sh{color:#fc6a5d}.chroma .si{color:#fff}.chroma .sx{color:#fc6a5d}.chroma .sr{color:#fc6a5d}.chroma .s1{color:#fc6a5d}.chroma .ss{color:#fc6a5d}.chroma .m{color:#d0bf69}.chroma .mb{color:#d0bf69}.chroma .mf{color:#d0bf69}.chroma .mh{color:#d0bf69}.chroma .mi{color:#d0bf69}.chroma .il{color:#d0bf69}.chroma .mo{color:#d0bf69}.chroma .o{color:#fff}.chroma .ow{color:#fff}.chroma .p{color:#fff}.chroma .c{color:#6c7986}.chroma .ch{color:#6c7986}.chroma .cm{color:#6c7986}.chroma .c1{color:#6c7986}.chroma .cs{color:#6c7986;font-style:italic}.chroma .cp{color:#fd8f3f}.chroma .cpf{color:#fd8f3f}.chroma .g{color:#fff}.chroma .gd{color:#fff}.chroma .ge{color:#fff}.chroma .gr{color:#fff}.chroma .gh{color:#fff}.chroma .gi{color:#fff}.chroma .go{color:#fff}.chroma .gp{color:#fff}.chroma .gs{color:#fff}.chroma .gu{color:#fff}.chroma .gt{color:#fff}.chroma .gl{color:#fff}.chroma .w{color:#fff}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}::-moz-selection{background-color:#b6c4d4;background-color:var(--color-highlight);color:#0d3d70;color:var(--color-highlight-text);text-shadow:none}::selection{background-color:#b6c4d4;background-color:var(--color-highlight);color:#0d3d70;color:var(--color-highlight-text);text-shadow:none}body{font-size:1.5em;font-weight:400;line-height:1.6;margin:0;background-color:#eee;background-color:var(--color-background);transition-property:background,color;transition-duration:250ms,75ms;transition-timing-function:ease-in-out,ease}p{margin:0;padding:0}u,ins{text-decoration:none;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#222;border-bottom-color:var(--color-text)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-right:0;margin-bottom:.67em;margin-left:0}a{color:#0462c1;color:var(--color-link);text-decoration:none;background-color:transparent}a:hover{color:#0d3d70;color:var(--color-link-hover)}a:active{color:#0a3059;color:var(--color-link-active)}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}a:hover,a:active{outline:0}figure,img{transition:all .2s ease}.main_container{position:relative;margin:0 auto;max-width:80%;min-height:100vh;padding:3rem 0}.content h2{font-size:28pt}.content h3{font-size:18pt;font-weight:600;color:#0d3d70;color:var(--color-subheading)}.content p{margin-bottom:1.5em}.emphasized{color:#db5a27;color:var(--color-caption-emphasis)}.visually_hidden{display:block;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(1px);white-space:nowrap;position:absolute}.posts.content img{display:block;margin-left:auto;margin-right:auto;width:100%}@media screen and (min-width:1024px){.posts.content img{width:80%}}.posts.content li{padding-bottom:.5em}.posts.content blockquote{padding-left:15px;font-style:italic;border-left-width:3px;border-left-style:solid;border-left-color:#db5a27;border-left-color:var(--color-caption-emphasis)}.posts.content code{color:#db5a27;color:var(--color-caption-emphasis)}.posts_title{font-size:24pt;color:#0d3d70;color:var(--color-subheading);margin-bottom:0}.posts_date{font-weight:700;font-size:14pt}.posts_list{padding-left:inherit;list-style:none}.posts_list_item{padding-bottom:1em}.posts_list_item_title{font-size:14pt}.resume h2{color:#0d3d70;color:var(--color-heading)}.resume h2.resume_section_heading{font-size:24pt;font-weight:600}.resume h2.resume_project_heading{font-size:18pt;font-weight:600}.resume h3{color:#0d3d70;color:var(--color-subheading)}.resume h3.resume_project_heading{font-size:14pt;font-weight:600}.resume h3.resume_skill_heading{font-size:14pt}.resume .resume_skill_item{font-size:14pt}.resume p{margin-bottom:1.5em}.resume p.resume_project_description.education{margin-bottom:.25rem}.resume ul{margin-top:0;padding-left:0}.resume ul>li.resume_skill_item{list-style-type:none}.header{margin:1em auto;width:100%;display:flex;align-items:center;flex-direction:column;justify-content:space-between;color:#0d3d70;color:var(--color-heading);border-bottom:1px solid}@media screen and (min-width:768px){.header{flex-direction:row;align-items:flex-end}}.header_author{margin:0 auto;font-size:36pt;font-weight:700}.header_caption{font-size:18pt;font-weight:400;margin-bottom:0}.header_nav{padding:0 .5em .5em}.header_nav_item{box-sizing:border-box;color:#222;color:var(--color-nav-item);padding:.5em}a.header_nav_item{box-shadow:0 0 transparent;transition-duration:.25s;transition-property:color,box-shadow}a:hover.header_nav_item{color:#0d3d70;color:var(--color-link-hover);box-shadow:0 4px}.icons{display:flex;flex-direction:row;justify-content:center;align-items:center;font-size:24pt}.icons>.header_nav_item{padding:.3em .4em}.site_functions .go_home_link{position:absolute;left:.75em;top:.75em;height:40px;animation-fill-mode:both;animation-duration:1s;transform:rotateZ(0);transition:transform .4s}.site_functions .go_home_link:hover{transform:rotateZ(10deg);transition:transform .4s}.site_functions .go_home_link:active{transform:rotateZ(-10deg);transition:transform .25s}.site_functions .theme_toggle_button{position:absolute;right:.75em;top:.5em;margin:-.5em;padding:.5em;border:none;cursor:pointer;background-color:transparent;color:#49407e;color:var(--color-theme-toggle-button);font-size:24pt;transition:color .25s}@media(hover:hover){.site_functions .theme_toggle_button:hover{animation:rockBackAndForth 4s linear infinite;color:#322c55;color:var(--color-theme-toggle-button-hover)}}@keyframes rockBackAndForth{0%{transform:rotateZ(0)}24%{transform:rotateZ(-20deg)}49%{transform:rotateZ(0)}74%{transform:rotateZ(20deg)}99%{transform:rotateZ(1deg)}}@media(prefers-reduced-motion:reduce){body{scroll-behavior:auto}*{transition:none!important;animation:none!important}}