@import "https://use.fontawesome.com/releases/v5.0.10/css/all.css";
*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family-base);color:var(--body-color);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:#0000;background-color:#fff;margin:0;font-size:1rem;font-weight:400;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--headings-font-family);margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}a{color:var(--primary);text-decoration:underline}a:hover{color:color-mix(in srgb,var(--primary)85%,black)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}b,strong{font-weight:bolder}small{font-size:.875em}img,svg{vertical-align:middle}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}[hidden]{display:none!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:.75rem;padding-right:.75rem}@media (min-width:576px){.container{max-width:calc(var(--min-width) - 2*var(--container-gutter))}}.btn{color:var(--body-color);text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:#0000;border:1px solid #0000;border-radius:6px;padding:.375rem .75rem;font-family:inherit;font-size:1rem;font-weight:400;line-height:1.5;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:inline-block}.btn:hover{text-decoration:none}.btn:focus-visible{box-shadow:var(--focus-ring);outline:0}.btn:disabled,.btn.disabled{pointer-events:none;opacity:.65}.btn-outline-primary{color:var(--primary);border-color:var(--primary);background-color:#0000}.btn-outline-primary:hover{color:#000;background-color:var(--primary);border-color:var(--primary)}.btn-outline-primary:focus-visible{box-shadow:var(--focus-ring)}.btn-outline-primary:active,.btn-outline-primary.active{color:#000;background-color:var(--primary);border-color:var(--primary)}.btn-lg{border-radius:6px;padding:.5rem 1.25rem;font-size:1.15rem}.lead{font-size:1.25rem;font-weight:300}.profile-section{--profile-section-article-gap:.5rem;--profile-section-article-padding:0px}@media screen{.profile-section{--profile-section-article-padding:1rem;padding-top:3.5rem;padding-bottom:2.5rem}.profile-section:nth-of-type(2n){background-color:var(--section-alt-bg)}.profile-section>div.container{border-left:3px solid #0000;transition:border-left-color .2s}.profile-section:hover>div.container{border-left-color:var(--primary)}.profile-section:last-of-type{padding-bottom:4rem}}.profile-section h2{font-variant:small-caps;text-align:left;border-bottom:3px solid var(--primary);color:var(--dark);margin-bottom:1.75rem;padding-bottom:.5rem;font-size:1.75rem;font-weight:700}@media screen{.profile-section h2{letter-spacing:1px}}.profile-section h4,.profile-section h5{text-align:left;font-size:1.3rem;font-weight:700;display:inline-block}.profile-section h4{border-bottom:2px solid var(--primary-underline-color);font-variant:small-caps;padding-bottom:.25rem}.profile-section h4.company-name{margin-left:calc(var(--print-col-size) + var(--profile-section-article-gap) + var(--profile-section-article-padding))}.profile-section h5.company-name{font-size:1.1rem}.profile-section article{gap:var(--profile-section-article-gap);grid-template:"date wrapper""date extra";grid-template-columns:var(--print-col-size)auto;padding:var(--profile-section-article-padding);margin-bottom:2rem;display:grid}@media screen{.profile-section article{background-color:#fff;border-radius:8px;transition:box-shadow .2s,transform .2s;box-shadow:0 1px 4px #0000000f}.profile-section article:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0000001a}}@media print{.profile-section article{box-shadow:none;page-break-inside:avoid;break-inside:avoid;background:0 0}}.profile-section article h5{color:var(--dark);margin:0;padding:0;font-size:1.1rem;font-weight:600;display:inline}.profile-section article p{margin-bottom:0}@media screen{.profile-section article p{line-height:1.6}}@media print{.profile-section article{flex-basis:0;margin-bottom:.5rem;line-height:1.15rem}.profile-section article+article{margin-top:-.35rem}}.profile-section article .profile-date{color:var(--primary);grid-area:date;font-size:.9rem;font-weight:600}.profile-section article .profile-date p{white-space:"pre";margin-bottom:0}.profile-section article .profile-date span{display:inline}.profile-section article .profile-date span:before{content:"\a "}.profile-section article .profile-date span:after{content:" "}@media (max-width:767.98px){.profile-section article .profile-date{display:block}}@media (max-width:575.98px){.profile-section article .profile-date{width:100%}.profile-section article .profile-date p{display:inline}.profile-section article .profile-date p+p:before{content:" "}}.profile-section article .profile-wrapper{grid-area:wrapper}.profile-section article .profile-extra{color:var(--muted);grid-area:extra;font-size:.95rem;font-weight:300}.profile-section article .profile-extra span{font-weight:500}.profile-section article .profile-extra ul{padding-left:1.25rem}.profile-section article .profile-extra ul li{line-height:1.6}.profile-section article .profile-extra ul li::marker{color:var(--primary)}.profile-section article .profile-extra ul li{padding-left:.25rem}.profile-section article.skill{background-color:#fff;border-radius:8px;flex-direction:column;min-width:6rem;margin:0;padding:.75rem 1rem;display:flex}@media screen{.profile-section article.skill{transition:box-shadow .2s;box-shadow:0 1px 3px #0000000d}.profile-section article.skill:hover{transform:none;box-shadow:0 3px 8px #0000001a}}.profile-section article.skill p{font-variant:normal;width:100%;margin:0 0 .4rem;padding:0;font-size:.9rem;font-weight:500;display:inline-block}.profile-section article.skill .profile-level{--level-color:var(--primary);gap:3px;width:100%;display:flex}.profile-section article.skill .profile-level[data-category="Frameworks & Libraries"]{--level-color:#e6a817}.profile-section article.skill .profile-level[data-category="Tools & DevOps"]{--level-color:#5aa0d5}.profile-section article.skill .profile-level[data-category="Design & Engineering"]{--level-color:var(--success)}.profile-section article.skill .profile-level[data-category=Scientific\ Computing]{--level-color:#8e6bb5}.profile-section article.skill .profile-level[data-category=Languages]{--level-color:var(--danger)}.profile-section article.skill .profile-level .level-segment{background-color:#e9ecef;border-radius:2px;flex:1;height:4px}.profile-section article.skill .profile-level .level-segment.filled{background-color:var(--level-color)}@media screen{.profile-section article:has(h5.company-name){box-shadow:none;background-color:#0000;border-radius:0;margin-bottom:.5rem;padding:.5rem 0}.profile-section article:has(h5.company-name):hover{box-shadow:none}}.skills-grid{flex-direction:column;display:flex}.skill-group{margin-bottom:1.5rem}.skill-group h4{margin-bottom:1rem}.skill-group-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;display:grid}.jumbotron{flex-direction:column;justify-content:center;align-items:flex-start;margin-bottom:0;display:flex}@media print{.jumbotron{background-color:inherit;text-align:center;border-top:1rem solid var(--dark);padding:0}}@media screen{.jumbotron{background:linear-gradient(160deg,#fff 0%,#fdf6ec 40%,#fef9f0 100%);min-height:100vh;padding:4rem 0}.jumbotron .hero-content{max-width:800px}.jumbotron .hero-content h1{letter-spacing:-.02em;margin-bottom:1rem;font-size:4.5rem;line-height:1.1}.jumbotron .hero-content h1 span{color:inherit;font-weight:inherit}.jumbotron .hero-content .lead{color:color-mix(in srgb,var(--dark)80%,white);max-width:700px;font-size:1.35rem;font-weight:300;line-height:1.6}.jumbotron .hero-content p:not(.lead){color:var(--muted);max-width:600px;margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.jumbotron .hero-content .btn-group{margin-top:2rem}}.jumbotron h1{margin-bottom:0}.jumbotron h1 span{color:var(--primary);font-weight:700}.jumbotron .btn{margin:calc(var(--spacer)/4)}@media (min-width:992px){.jumbotron .btn{display:block}}@media (max-width:767.98px){.jumbotron{text-align:center;flex-wrap:wrap;justify-content:center}.jumbotron>div{width:100%}}#contact-bar{font-variant:normal;font-size:.9rem;font-weight:400;line-height:1.2rem;display:none;margin:0!important;padding:0!important}#contact-bar a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}#contact-bar span:not(:last-child):after{content:" • "}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}html{font-size:16px}@page{margin:.5in;size:letter portrait}body[data-print=safari]{margin:.18in}.container{max-width:100%}main{grid-template-areas:"summary summary""experience education""experience skills""projects skills";grid-template-columns:1fr fit-content(var(--print-sidebar-width));gap:var(--print-gutter);display:grid}main>section:first-child{grid-area:summary}main>section:nth-child(2){grid-area:education}main>section:nth-child(2) article{flex-direction:column;display:flex}main>section:nth-child(2) article h5.institution{margin-bottom:.15rem;font-size:.95rem;font-weight:700;line-height:1.1}main>section:nth-child(2) article p{margin-bottom:.1rem;font-size:.85rem;line-height:1.1}main>section:nth-child(2) article{margin-bottom:.75rem}main>section:nth-child(3){grid-area:experience}main>section:nth-child(4){grid-area:projects}main>section:nth-child(5){grid-area:skills}main>section:nth-child(5) h2{margin-bottom:.35rem;font-size:1rem}main>section:nth-child(5) h3{margin-bottom:.3rem;font-size:.85rem;font-weight:700}main>section:nth-child(5) h4{font-size:1.1rem}main>section:nth-child(5) .skills-grid,main>section:nth-child(5) .skill-group-grid{flex-direction:column;gap:1rem;display:flex}main>section:nth-child(5) .skill-group-grid{gap:.3rem;margin-bottom:.4rem}main>section:nth-child(5) article.skill{box-shadow:none;background:0 0;border-radius:0;flex-direction:row;justify-content:space-between;align-items:center;margin:0;padding:0;display:flex}main>section:nth-child(5) article.skill p{flex:1;margin:0;font-size:.85rem}main>section:nth-child(5) article.skill .profile-level{gap:2px;width:50px;margin-left:.5rem;display:flex}main>section:nth-child(5) article.skill .profile-level .level-segment{print-color-adjust:exact;background-color:#ddd;border-radius:1px;flex:1;height:3px}main>section:nth-child(5) article.skill .profile-level .level-segment.filled{background-color:#333}main>section:nth-child(3) h2,main>section:nth-child(4) h2{margin-bottom:.5rem;font-size:1.25rem}main>section:nth-child(3) h4,main>section:nth-child(4) h4{margin-bottom:.5rem;font-size:1.1rem}main>section:nth-child(3) article p,main>section:nth-child(4) article p{font-size:.9rem}main>section:nth-child(3) article .profile-extra,main>section:nth-child(4) article .profile-extra{font-size:.85rem}main>section:nth-child(3) article .profile-extra ul li,main>section:nth-child(4) article .profile-extra ul li{margin-bottom:.1rem;line-height:1.2}main>section:nth-child(3) article .profile-date,main>section:nth-child(4) article .profile-date{font-size:.85rem}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:root{--primary:#e8962e;--success:#28a745;--warning:#ffc107;--danger:#dc3545;--dark:#2b2f33;--body-color:#1a1d21;--muted:#6c757d;--section-alt-bg:#fafafa;--focus-ring-color:color-mix(in srgb,var(--primary)50%,transparent);--focus-ring:0 0 0 .25rem var(--focus-ring-color);--primary-underline-color:color-mix(in srgb,var(--primary)30%,transparent);--font-family-base:"Roboto","sans-serif";--headings-font-family:"Noto Serif","serif";--spacer:1rem;--print-col-size:80px;--print-sidebar-width:2in;--print-gutter:.0625in}@media (min-width:576px){:root{--min-width:576px;--container-gutter:18px}}@media (min-width:768px){:root{--min-width:768px;--container-gutter:24px}}@media (min-width:992px){:root{--min-width:992px;--container-gutter:16px}}@media (min-width:1200px){:root{--min-width:1200px;--container-gutter:30px}}@media (min-width:1400px){:root{--min-width:1400px;--container-gutter:40px}}
