@import "https://cdn.jsdelivr.net/npm/hack-font@3/build/web/hack-subset.css";
.page-module___8aEwW__main{flex-direction:column;justify-content:space-between;align-items:center;min-height:100vh;padding:6rem;display:flex}.page-module___8aEwW__description{display:inherit;justify-content:inherit;align-items:inherit;max-width:var(--max-width);z-index:2;width:100%;font-size:.85rem;font-family:var(--font-mono)}.page-module___8aEwW__description a{justify-content:center;align-items:center;gap:.5rem;display:flex}.page-module___8aEwW__description p{background-color:rgba(var(--callout-rgb),.5);border:1px solid rgba(var(--callout-border-rgb),.3);border-radius:var(--border-radius);margin:0;padding:1rem;position:relative}.page-module___8aEwW__code{font-weight:700;font-family:var(--font-mono)}.page-module___8aEwW__grid{max-width:100%;width:var(--max-width);grid-template-columns:repeat(4,minmax(25%,auto));display:grid}.page-module___8aEwW__card{border-radius:var(--border-radius);background:rgba(var(--card-rgb),0);border:1px solid rgba(var(--card-border-rgb),0);padding:1rem 1.2rem;transition:background .2s,border .2s}.page-module___8aEwW__card span{transition:transform .2s;display:inline-block}.page-module___8aEwW__card h2{margin-bottom:.7rem;font-weight:600}.page-module___8aEwW__card p{opacity:.6;text-wrap:balance;max-width:30ch;margin:0;font-size:.9rem;line-height:1.5}.page-module___8aEwW__center{justify-content:center;align-items:center;padding:4rem 0;display:flex;position:relative}.page-module___8aEwW__center:before{background:var(--secondary-glow);border-radius:50%;width:480px;height:360px;margin-left:-400px}.page-module___8aEwW__center:after{background:var(--primary-glow);z-index:-1;width:240px;height:180px}.page-module___8aEwW__center:before,.page-module___8aEwW__center:after{content:"";filter:blur(45px);position:absolute;left:50%;transform:translateZ(0)}.page-module___8aEwW__logo{position:relative}@media (hover:hover) and (pointer:fine){.page-module___8aEwW__card:hover{background:rgba(var(--card-rgb),.1);border:1px solid rgba(var(--card-border-rgb),.15)}.page-module___8aEwW__card:hover span{transform:translate(4px)}}@media (prefers-reduced-motion){.page-module___8aEwW__card:hover span{transform:none}}@media (max-width:700px){.page-module___8aEwW__content{padding:4rem}.page-module___8aEwW__grid{text-align:center;grid-template-columns:1fr;max-width:320px;margin-bottom:120px}.page-module___8aEwW__card{padding:1rem 2.5rem}.page-module___8aEwW__card h2{margin-bottom:.5rem}.page-module___8aEwW__center{padding:8rem 0 6rem}.page-module___8aEwW__center:before{height:300px;transform:none}.page-module___8aEwW__description{font-size:.8rem}.page-module___8aEwW__description a{padding:1rem}.page-module___8aEwW__description p,.page-module___8aEwW__description div{justify-content:center;width:100%;display:flex;position:fixed}.page-module___8aEwW__description p{border:none;border-bottom:1px solid rgba(var(--callout-border-rgb),.25);background:linear-gradient(to bottom,rgba(var(--background-start-rgb),1),rgba(var(--callout-rgb),.5));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background-clip:padding-box;border-radius:0;align-items:center;padding:2rem 1rem 1.4rem;inset:0 0 auto}.page-module___8aEwW__description div{pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgb(var(--background-end-rgb))40%);z-index:1;align-items:flex-end;height:200px;padding:2rem;inset:auto 0 0}}@media (min-width:701px) and (max-width:1120px){.page-module___8aEwW__grid{grid-template-columns:repeat(2,50%)}}@media (prefers-color-scheme:dark){.page-module___8aEwW__vercelLogo{filter:invert()}.page-module___8aEwW__logo{filter:invert()drop-shadow(0 0 .3rem #ffffff70)}}@keyframes page-module___8aEwW__rotate{0%{transform:rotate(360deg)}to{transform:rotate(0)}}
.browsehappy{color:#000;background:#ccc;margin:.2em 0;padding:.2em 0}.header,.marketing,.footer{padding-left:15px;padding-right:15px}.header{border-bottom:1px solid #e5e5e5}.header h3{margin-top:0;margin-bottom:0;padding-bottom:19px;line-height:40px}.footer{color:#777;border-top:1px solid #e5e5e5;padding-top:19px}.container-narrow>hr{margin:30px 0}a{color:#337ab7;text-decoration:none}.jumbotron{text-align:center;background-color:#eee;border-bottom:1px solid #e5e5e5;margin-bottom:12px;padding-top:32px;padding-bottom:32px;font-family:Hack,monospace}.jumbotron .btn{padding:14px 24px;font-size:21px}.jumbotron h1{margin-top:20px;margin-bottom:10px;font-size:62px}.marketing{margin:40px 0}.markerting>p+h4{margin-top:28px}@media print{.footer,.breadcrumbs{display:none}}@media screen and (min-width:768px){.container{max-width:730px}.header,.marketing,.footer{padding-left:0;padding-right:0}.header{margin-bottom:10px}}h3.resumesection{color:#fff;text-align:center;background-color:#999;margin-bottom:6px;font-family:Hack,monospace;font-size:16px}h3.subsection{text-align:center;background-color:#eee;margin-bottom:6px;font-family:Hack,monospace;font-size:14px}.job ul li{font-size:10pt;line-height:12pt}#porthead{padding-top:6px;padding-left:8px}.titletitle{padding-left:6px;padding-right:6px}p{margin:0 0 10px}.techskills{padding-left:6px;font-size:12pt}.summary{border-bottom:1px solid #e5e5e5;margin-bottom:12px;padding-left:6px;font-size:12pt}.job{margin-bottom:0;padding-bottom:0;padding-left:6px;font-size:14pt}.jobtitle{margin-top:0;margin-bottom:10px;margin-left:10px;padding-top:0;font-size:12pt}.jobskillslist{margin-top:-12px;margin-bottom:10px;margin-left:10px;padding-top:0;font-size:8pt;font-style:italic}ul.lead li{display:inline}
