@charset "UTF-8";
/*!
 * From @stubbornella's OOCSS Utilites
 * https://github.com/stubbornella/oocss/blob/master/oocss/src/components/utils/_fontSize.scss
 *
 * Convert font-size from px to rem with px fallback
 *
 * @param $size - the value in pixel you want to convert
 *
 * e.g. p {@include fontSize(12px);}
 *
 */
@layer base,type,components,site,utilities;@layer base{html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio],legend{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}}@layer type{.h1{font-size:24px;font-size:1.5rem;font-weight:600}.h1,.h2,.h3,.h4{-webkit-column-break-after:avoid;break-after:avoid;page-break-after:avoid}.h2{font-size:21px;font-size:1.3125rem;font-weight:600;-webkit-margin-after:.4em;margin-block-end:.4em}.h3,.h4{margin-bottom:0}.h3{font-weight:600;font-size:18px;font-size:1.125rem}.h3+p,.h4+p{margin-top:0}@media print{.h3.t-brk-before{margin-top:3.75rem}}.h4{font-size:16px;font-size:1rem}.h4,b,strong{font-weight:600}@supports (font-variation-settings:"wdth" 650){b,strong{font-weight:650}}p{margin:1em 0;page-break-inside:avoid}}@layer components{.employment-timeline,.list-inline,.list-styled,.list-unstyled{list-style-type:none;margin:0;padding:0}.employment-timeline{--timeline-padding-left: 36px;--timeline-padding-right: 30px;--timeline-dot-size: 14px;--timeline-role-gap: 18px;--timeline-dot-vertical-offset: calc(0.5lh - var(--timeline-dot-size) / 2 - 1px);--timeline-offset: calc((-1 * var(--timeline-padding-left)) + (var(--timeline-dot-size) / 2));padding:0 var(--timeline-padding-right) 0 var(--timeline-padding-left);position:relative}.employment-timeline__entry::before{display:block;content:"";background:var(--timeline-line-background, var(--brand-color, #e2e2e2));bottom:calc(-1*(var(--timeline-role-gap) + var(--timeline-dot-vertical-offset)));left:var(--timeline-offset);-webkit-mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),to(rgb(0,0,0,var(--timeline-line-final-opacity))));-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - var(--timeline-line-fade-length)),rgb(0,0,0,var(--timeline-line-final-opacity)) 100%);mask-image:-webkit-gradient(linear,left top,left bottom,from(#000),to(rgb(0,0,0,var(--timeline-line-final-opacity))));mask-image:linear-gradient(to bottom,#000 calc(100% - var(--timeline-line-fade-length)),rgb(0,0,0,var(--timeline-line-final-opacity)) 100%);position:absolute;top:1em;width:2px;z-index:1}.employment-timeline .h3{font-style:italic}.employment-timeline__entry{--timeline-line-background: var(--brand-color);--timeline-line-fade-length: 200px;--timeline-line-final-opacity: 20%;position:relative}.employment-timeline__entry li{page-break-inside:avoid}@media print{.employment-timeline__entry::before{background:var(--brand-color)}}.employment-timeline__entry:not(:has(~.employment-timeline__entry)){--timeline-line-final-opacity: 0.1}.employment-timeline__entry:not(:has(~.employment-timeline__entry))::before{bottom:0}.employment-timeline__entry h4{margin-bottom:0}.employment-timeline__entry h3+p,.employment-timeline__entry h4+p{margin-top:0}.employment-timeline__entry+.employment-timeline__entry .employment-timeline__company{margin-top:var(--timeline-role-gap)}.employment-timeline__company{margin:.5em 0 0;position:relative}.employment-timeline__company::before{background-color:var(--brand-color);border:1px solid var(--brand-color);border-radius:50%;content:"";display:block;position:absolute;left:calc(var(--timeline-offset) + var(--timeline-dot-size)/2*-1);top:var(--timeline-dot-vertical-offset);height:var(--timeline-dot-size);width:var(--timeline-dot-size);z-index:2}.employment-timeline__role{color:var(--color-grey-1);font-style:italic}}@layer utilities{.t-mb-0{margin-bottom:0}.t-mt-0{margin-top:0}@media print{.print-page-margin-top{padding-top:4em}}.t-avoid-brk-before{-webkit-column-break-before:avoid;break-before:avoid;page-break-before:avoid}.t-avoid-brk-after{-webkit-column-break-after:avoid;break-after:avoid;page-break-after:avoid}.t-avoid-brk-inside{-webkit-column-break-inside:avoid;break-inside:avoid;page-break-before:inside}.t-brk-before{-webkit-column-break-before:page;break-before:page;page-break-before:always}.t-brk-after{-webkit-column-break-after:page;break-after:page;page-break-after:always}@media print{.t-print-gap-before{padding-top:3.75rem}}}@layer site{@page{size:21cm 29.7cm;margin:0;padding-top:1cm;padding-bottom:1cm}@page :first{padding-top:0}html{--color-bg-light: #fff;--color-fg-light: #222;--color-bg-dark: oklch(0.1 0.2 159.56 / 1);--color-bg-dark: oklch(0.11 0.04 258.97);--color-fg-dark: rgba(255, 255, 255, 0.9);--color-link-light: rgb(0, 0, 238);--color-link-dark: rgb(158, 158, 255);--color-brand-1: #00ffa8;--color-grey-1: #8e8e8e;--color-grey-2: #b2b2b2;--background: light-dark(var(--color-bg-light), var(--color-bg-dark));--foreground: light-dark(var(--color-fg-light), var(--color-fg-dark));--link-color: light-dark(var(--color-link-light), var(--color-link-dark));--sans-serif-typeface: "Source Sans 3", sans-serif;background:var(--background);color:var(--foreground);color-scheme:light dark;font-family:var(--sans-serif-typeface);font-size:120%;line-height:1.5;min-width:20rem;text-rendering:optimizeLegibility;-webkit-transition:background .2s,color .2s;transition:background .2s,color .2s}@media print{html{-webkit-print-color-adjust:exact;font-size:8pt;--background: var(--color-bg-dark);--foreground: var(--color-fg-dark);--link-color: var(--color-link-dark)}}body{margin:0}section{position:relative;margin-bottom:2em}a{color:var(--link-color)}#main{background:url(../img/electric-green.svg) repeat-x 0 0;padding:.125rem .5rem .5rem}dd{margin:0 0 1em}.avatar{--size: 80px;border-radius:50%;height:var(--size);width:var(--size)}@media (min-width:480px){.avatar{--size: 100px}}@media print{.avatar{--size: 50px}}section .h1{margin-bottom:0}address{font-style:normal}.list-inline,.list-inline li{display:inline}.list-styled{list-style-type:none}.list-styled ul{list-style:none;padding-left:0}.list-styled ul li::before{content:"+ "}.list-styled li{padding-left:1rem;position:relative}.list-styled li::before{content:"» ";display:inline-block;position:absolute;left:0;top:0}.skills-list{--tag-color-light: oklch(0.62 0.22 152.55);--tag-color-dark: var(--color-brand-1);--tag-color: light-dark(var(--tag-color-light), var(--tag-color-dark));--tag-bg-color-light: oklch(0.8 0.2 159.59 / 0.1);--tag-bg-color-dark: transparent;--tag-bg-color: light-dark(var(--tag-bg-color-light), var(--tag-bg-color-dark));--tag-border-color: var(--tag-color);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:.5em .5em}@media print{.skills-list{--tag-color: var(--tag-color-dark);--tag-bg-color: var(--tag-bg-color-dark);--tag-border-color: var(--tag-color);color:var(--color-brand-1)}}.skills-list li{color:var(--tag-color);display:inline-block;background-color:var(--tag-bg-color);border:1px solid var(--tag-border-color);border-radius:4px;font-size:.9em;padding:4px 8px}@media print{.skills-list li{padding:0 3px}}.skills-list span{opacity:.7}.intro__detail p:first-child,h3+ul>li:first-child>h4{margin-top:0}.site-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:.5rem;margin:3.75rem 0 3.125rem;text-align:center}@media print{.page-header,.site-header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.site-header{gap:1.125rem;margin-top:0;margin-bottom:0;text-align:right}.page-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin:2rem 0 1.25rem}}.property--name{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.property--location{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.property--linkedin{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.property--github{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.property--email{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.property--mobile{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.overview{--gap: 1em;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;gap:var(--gap)}@media (min-width:392px) and (max-width:559px){.overview{grid-template-columns:repeat(2,1fr)}.overview .property--location{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}@media (min-width:560px){.overview{grid-template-columns:repeat(3,1fr)}.overview .property--email,.overview .property--linkedin{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.overview .property--github{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.overview .property--location{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}}@media print{.overview{margin-bottom:0;position:relative}}.name{font-size:28px;font-size:1.75rem;font-weight:600;margin:0}.role{font-size:20px;font-size:1.25rem;color:var(--color-grey-2);font-weight:400;margin:0 0 1em}.aux{margin:0 auto;max-width:60rem;padding-left:8px;padding-right:8px}@media (min-width:30rem){.aux{padding-left:16px;padding-right:16px}}@media (min-width:48rem){.aux{padding-left:32px;padding-right:32px}}.attribute,dt{display:block;font-weight:600}.attribute::after,dt::after{content:":"}.intro__summary{font-size:18px;font-size:1.125rem;border-left:3px solid var(--color-brand-1);font-style:italic;margin:2rem 0 2.25rem;padding-left:.5rem}@media only screen and (min-width:48rem){.intro__summary{font-size:20px;font-size:1.25rem;border-left:4px solid var(--color-brand-1);padding-left:1rem}}@media print{.intro__summary{margin:2rem 0}}.intro__detail{-webkit-column-count:1;column-count:1}.subtle{opacity:.8}.technologies{--divider-color-light: rgba(0, 0, 0, 0.4);--divider-color-dark: rgba(255, 255, 255, 0.3);--divider-color: light-dark(var(--divider-color-light), var(--divider-color-dark));border-top:1px dotted var(--divider-color);font-size:.9em;padding-top:.25em;margin-top:.25em;opacity:.8}@media print{.technologies{--divider-color: var(--divider-color-dark)}}p:has(+.technologies){margin-bottom:0}}