html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}[hidden]{display:none}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}@media print{@page{margin:0}*{color:#000!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important;background:0 0!important}html,body{color:#000!important;background:#fff!important;font-size:12pt!important}body{margin:1.6cm!important}.slide-show,.nav-links,.contact-link-item,.screen-only{display:none!important}.print-only{display:inline!important}.application-container{max-width:100%!important;margin:0!important;padding:0!important}a,a:visited{color:#000!important;text-decoration:none!important}h1,h2,h3,h4,h5,h6{-webkit-column-break-after:avoid!important;-moz-column-break-after:avoid!important;break-after:avoid-page!important;page-break-after:avoid!important}.resume-section,.resume-list,.resume-list>li{-webkit-column-break-inside:auto!important;-moz-column-break-inside:auto!important;break-inside:auto!important;page-break-inside:auto!important}.resume-item-header{break-inside:avoid-page!important;page-break-inside:avoid!important;-webkit-column-break-after:avoid!important;-moz-column-break-after:avoid!important;break-after:avoid-page!important;page-break-after:avoid!important}.highlights-list>li,.keywords{break-inside:avoid-page!important;page-break-inside:avoid!important}p,blockquote,tr{break-inside:avoid-page;page-break-inside:avoid}}::-moz-selection{color:red;text-shadow:none;background:#ff0}::selection{color:red;text-shadow:none;background:#ff0}*{box-sizing:border-box}html{letter-spacing:.01em;word-spacing:.05em;-webkit-font-kerning:normal;font-kerning:normal;font-variant-numeric:oldstyle-nums;text-wrap:pretty;color:#2d3748;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:65ch;font-family:Georgia,serif;font-size:clamp(16px,1rem + .5vw,20px);line-height:1.65}html a{text-underline-offset:.2em;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-color .2s}html a:hover{text-decoration-color:#0000}@media (prefers-color-scheme:dark){html{color:#e2e8f0;letter-spacing:.02em}}html.has-drop-cap:first-letter{float:left;color:#1a202c;margin-top:6px;margin-right:12px;padding-bottom:2px;font-size:3.8rem;font-weight:700;line-height:.75}@media (prefers-color-scheme:dark){html.has-drop-cap:first-letter{color:#fff}}html{cursor:default;-webkit-overflow-scrolling:touch;background-color:#fff;max-width:none;overflow-x:hidden}@media (prefers-color-scheme:dark){html{background-color:#000}}html,body{margin:0;padding:0;overflow-x:hidden}body{line-height:inherit}.application-container{max-width:800px;margin:0;padding:24px}@media only screen and (width<=959px){.application-container{padding:16px}}h1,h2,h3{font-size:1rem;font-weight:400;line-height:inherit;margin:0 0 1rem}p{margin:0 0 1rem}a,a:visited{color:#00f}@media (prefers-color-scheme:dark){a,a:visited{color:#ff0}}ul{margin:0;padding:0;list-style:none}ul li{margin-bottom:.3rem;margin-right:1rem;display:inline-block}ul.inline li{margin-bottom:0;margin-right:.5rem}ul.inline li:last-child{margin-right:0}.comma-list{margin:0;padding:0;list-style:none;display:inline}.comma-list li{margin-right:0;display:inline}.comma-list li:not(:last-child):after{content:", "}@media screen{.print-only{display:none!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes scroll{0%{transform:translate(0,0)}to{transform:translate(-100%)}}.slide-show{width:100vw;height:0;margin:1rem -24px;padding-bottom:56.5%;font-size:0;position:relative}@media only screen and (width<=959px){.slide-show{width:calc(100% + 32px);margin:1rem -16px;left:auto;right:auto}}.slide-show.is-vertical{height:var(--v2e16189c);width:100%;margin:1rem 0;padding-bottom:0;overflow:hidden}@media only screen and (width<=959px){.slide-show.is-vertical{width:100%;margin:1rem 0}}.slide-show.is-vertical .slide-show-inner{white-space:normal;flex-direction:column;width:100%;height:auto;display:flex;position:absolute;top:0;left:0}.slide-show.is-vertical figure{width:100%;display:block;height:auto!important}.slide-show.is-vertical figure img,.slide-show.is-vertical figure video{width:100%;height:auto}.slide-show .slide-show-inner{white-space:nowrap;width:100%;height:100%;position:absolute;top:0;left:0}.slide-show figure{vertical-align:top;color:#fff;background-color:#00f;height:100%;display:inline-block;width:auto!important}@media (prefers-color-scheme:dark){.slide-show figure{background-color:#ff0}}.slide-show figure img,.slide-show figure video{width:auto;height:100%}.resume-section{outline:none;margin-bottom:2rem}.resume-section h2{text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #ccc;margin-bottom:1rem;padding-bottom:.25rem;font-size:1.5rem}.print-button{color:#00f;font-family:inherit;font-size:inherit;cursor:pointer;text-underline-offset:.2em;background:0 0;border:none;padding:0;text-decoration:underline;text-decoration-thickness:1px;transition:text-decoration-color .2s;display:inline}.print-button:hover,.print-button:focus{text-decoration-color:#0000}@media (prefers-color-scheme:dark){.print-button{color:#ff0}}.resume-list{padding:0;list-style:none}.resume-list li{width:100%;margin-bottom:1.5rem;display:block}.resume-item-header{flex-direction:column;margin-bottom:.5rem;line-height:1.25;display:flex}.resume-item-header .header-main{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;font-size:1rem;font-weight:400;display:flex}.resume-item-header h3.header-main{margin:0;font-size:1rem;font-weight:400}.resume-item-header .header-sub{margin-top:.3rem;font-style:italic}.resume-item-header .spacer{color:#999}.resume-item-header .date{color:#666;margin-top:.3rem;font-size:.9rem}.description{margin-top:.5rem;line-height:1.4}.about-text{white-space:pre-wrap}.highlights-list{margin-top:.5rem;padding-left:1.2rem;list-style-type:none}.highlights-list li{margin-bottom:.25rem;line-height:1.4;position:relative}.highlights-list li:before{content:"●";font-size:.8rem;position:absolute;top:.1rem;left:-1.2rem}.keywords{color:#666;margin-top:.25rem;font-size:.9rem}.skills-list li{margin-bottom:.5rem}.inline-list li{margin-right:1.5rem;display:inline-block}.skip-link:focus{color:#000;z-index:100;clip:auto;background:#ff0;border:2px solid #00f;width:auto;height:auto;margin:0;padding:10px 15px;font-weight:700;text-decoration:none;position:fixed;top:10px;left:10px}.project-media{height:0;margin:1rem 0;padding-bottom:56.25%;font-size:0;position:relative}@media only screen and (width<=959px){.project-media{margin:1rem -16px}}.project-media .project-inner{width:100%;height:100%;font-size:1rem;position:absolute;top:0;left:0}.project-media .project-inner img,.project-media .project-inner video{max-width:100%;height:100%;max-height:100%;margin:0 auto;display:block}.project-media .project-inner iframe{width:100%;height:100%;position:absolute}.project-information{width:100%;margin-bottom:1rem;padding-bottom:2px;top:0;left:0}.project-information p{margin-bottom:.25rem}.project-information a{display:inline-block}.project-information .technology{font-style:italic}.project-information .keywords{color:#666;margin-top:.25rem;font-size:.9rem}
