@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;700&family=Fira+Sans:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box;margin:0;padding:0}html{--solar-blue:#268bd2;--solar-yellow:#b58900;--solar-green-l:#53c65b;--solar-green-d:#859900;--solar-red:#dc322f;--solar-cyan:#2aa198;--solar-brown-l:#54524c;--solar-brown-d:#442b09}:root{--bg-color:#fdf6e3;--txt-color:#002b36;--bg-image:url(/assets/img/background-cv-master-pattern.webp);--bt-bg-color:#2ba198;--cv-page-bg-color:#f4f1e2;--cv-page-shadow:0 4px 20px #00000014;--cv-page-top-b:1px solid #0000000d;--skills-stripe:#0000000f;--skills-highlight:var(--solar-brown-d)}:root[data-theme=dark]{--bg-color:#002b36;--txt-color:#fdf6e3;--bg-image:url(/assets/img/background-cv-master-pattern-dark.webp);--bt-bg-color:#54524c;--cv-page-bg-color:#041c29;--cv-page-shadow:0 10px 30px #00000080;--cv-page-top-b:1px solid #0000000d;--skills-stripe:#ffffff0f;--skills-highlight:var(--solar-cyan)}html,body{flex-direction:column;height:100%;margin:0;transition:background-color .5s,color .3s;display:flex}body{color:var(--txt-color);background-color:var(--bg-color);min-height:100vh;margin:0;padding:0;font-family:Fira Sans,Arial,sans-serif;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-variant-ligatures:contextual;-webkit-font-smoothing:antialiased;font-family:Fira Code,monospace}@media screen{.print-only-layout{display:none}}@media print{html,body,main,.print-only-layout,div{float:none!important;flex:none!important;grid:none!important;display:block!important;position:static!important;overflow:visible!important}main,.page-header,.cv-page{display:none!important}.print-only-layout{box-shadow:none;border:none;font-family:Arial,sans-serif;line-height:1.2;position:relative;top:0;color:#002b36!important;background-color:#fff!important;background-image:none!important;font-size:8pt!important;display:block!important;overflow:visible!important}.page-break{break-before:page!important;clear:both!important}h2,h3{break-after:avoid!important}p,li,blockquote{break-inside:avoid!important}a{color:var(--bt-bg-color);font-weight:400}h1{border-bottom:1px solid #000;margin-bottom:8pt;font-family:Arial,sans-serif;font-size:20pt}h2{margin-top:12pt;font-family:Arial,sans-serif;font-size:15pt}h3{border-bottom:1px double #002b36;margin-top:12pt;font-family:Arial,sans-serif;font-size:13pt}p,li{margin-top:4pt;margin-bottom:4pt}blockquote{border-left:1rem groove var(--solar-brown-l);text-wrap:balance;margin:1rem 0 0 .5rem!important;padding:0 0 0 1rem!important;font-style:italic!important}}.page-header{z-index:1001;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;height:auto;padding:2rem 1rem;transition:transform .3s ease-in-out;display:flex;position:sticky;top:0;transform:translate(0,0)}.page-header.hidden{transform:translateY(-100%)!important}.sun-icon{color:var(--bg-color)}.cv-button{appearance:none;-webkit-print-color-adjust:exact;background-color:var(--bt-bg-color);min-width:3rem;height:auto;min-height:3rem;color:var(--txt-color);white-space:nowrap;cursor:pointer;border:0;border-radius:2rem;justify-content:center;align-items:center;margin:0 1rem;padding:.6rem 1.4rem;font-size:medium;font-weight:700;line-height:1;transition:transform .3s ease-in-out,background-color .5s;display:inline-flex}.cv-button.active{background-color:var(--bt-bg-color);color:var(--txt-color)}.cv-button:hover{transform:scale(1.1)}.cv-page-container{border:0;flex-direction:column;width:100%;margin:0 auto;padding:0 1rem;display:flex;position:relative}.cv-page{box-shadow:var(--cv-page-shadow);border-top:var(--cv-page-top-b);z-index:1000;background-color:var(--cv-page-bg-color);border-radius:1rem/12rem;width:95%;min-height:90vh;margin:2rem auto;padding:5% 0% 5% 5%;transition:background-color .5s,color .5s,box-shadow .5s;position:relative;overflow-y:hidden}.cv-header{flex-direction:column;display:flex}.cv-header h1{letter-spacing:1px;text-transform:uppercase;margin-bottom:1.5rem;font-size:clamp(2.5rem,2.5vw,3.8rem)}.cv-roles-primary{font-family:Fira Sans,sans-serif;font-size:clamp(.9rem,4vw,1.25rem);font-weight:500}.cv-roles-secondary{opacity:.7;margin-top:1rem;margin-bottom:1rem;font-family:Fira Code,monospace;font-size:clamp(.5rem,4vw,1rem);font-weight:300}.cv-roles-primary,.cv-roles-secondary{flex-wrap:wrap;justify-content:flex-start;gap:.2rem .5rem;font-weight:500;display:flex}.role-item{white-space:nowrap;align-items:center;display:inline-flex}.role-sep{opacity:0;margin-left:.5rem}.cv-header h5{opacity:.7;margin-bottom:1rem;font-size:1rem}.header-contact{flex-direction:column;display:flex}.header-contact p{word-break:break-all;flex-wrap:wrap;column-gap:.5rem;display:flex}.header-contact strong{white-space:nowrap;min-width:100px}.cv-contact-item{align-items:center;margin:4px 0;display:flex}.cv-contact-label{letter-spacing:1px;width:100px;display:inline-block}.exp-link,.cv-contact-link,.project-link{cursor:pointer;color:var(--txt-color);margin-top:.5rem;padding:.2rem;font-size:clamp(.9rem,2.5vw,1.3rem);text-decoration:none;transition:color .5s ease-in-out,background-color .3s ease-in-out,-webkit-text-decoration .3s ease-in-out,text-decoration .3s ease-in-out,font-weight .3s ease-in-out}.exp-link:hover,.cv-contact-link:hover,.project-link:hover{color:var(--skills-highlight);background-color:var(--skills-stripe);border-radius:2rem/9rem;font-weight:600;text-decoration:underline}.exp-wrapper,.skills-wrapper,.project-wrapper{flex-direction:column;width:100%;max-width:800px;display:flex}.skills-header,.cv-aboutme-header,.project-header,.exp-header{text-transform:uppercase;border-bottom:4px dotted var(--skills-highlight);margin:2rem 0 1.5rem;font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:bolder}.exp-container,.skills-container,.project-container{letter-spacing:.8px;margin-top:.5rem;margin-bottom:.8rem;margin-right:.5rem}.skills-list{width:100%;margin:0 0 1rem;padding:.5rem;list-style-type:none}.exp-item,.skills-item,.project-item{word-break:break-word;text-wrap:balance;border:2px solid #0000;border-radius:1rem/2rem;width:100%;min-width:220px;max-width:800px;margin:.4rem 0;padding:.2rem 1rem;line-height:1.6;transition:border .6s ease-in-out,background-color .6s ease-in-out;display:inline-block}.skills-item:nth-child(odd),.project-item:nth-child(odd),.exp-item:nth-child(odd){background-color:var(--skills-stripe)}.skills-item:hover{border:2px solid var(--skills-highlight);color:var(--skills-highlight);background-color:#0000;border-radius:1rem/2rem;font-weight:600}.skills-key:hover{color:var(--skills-highlight)}.skills-key{padding-right:4%;font-size:clamp(.8rem,2.5vw,1.2rem);font-weight:bolder;display:block}.skills-value{text-align:right;font-weight:300;display:block}.about-text{letter-spacing:.6px;padding-right:2%;font-weight:300}.cv-aboutme-body{word-spacing:.5ch;text-wrap:balance;flex-direction:column;gap:1rem;max-width:800px;margin:0;padding:1rem 1rem .5rem;font-size:clamp(.9rem,2.5vw,1.2rem);display:flex}.cv-aboutme-content{white-space:break-spaces;padding:0 0 .8rem;font-weight:300}.cv-aboutme-cta{color:var(--skills-highlight);border-left:3px solid var(--skills-highlight);background-color:var(--skills-stripe);white-space:break-spaces;border-radius:.5rem/3rem;margin:0;padding:.5rem 1rem;font-style:italic;font-weight:700}.skills-item-name,.project-item-name,.exp-item-name{border-left:1rem groove var(--skills-highlight);margin-top:.5rem;margin-bottom:.5rem;padding:0 .8rem;font-size:clamp(1.3rem,2.5vw,1.5rem);font-weight:700}.exp-description,.project-description{letter-spacing:0;word-spacing:normal;padding:.5rem 0;font-size:clamp(.9rem,2.5vw,1.4rem);font-weight:200}.exp-tags,.project-tags{letter-spacing:.1ch;white-space:nowrap;flex-wrap:wrap;margin:.5rem 0;display:flex}.tag-item{color:var(--skills-highlight);font-size:clamp(.5rem,2.5vw,.9rem);font-weight:700}.tag-sep{opacity:.7;padding:0 .5rem}.exp-item-name{text-align:left;text-wrap:balance;letter-spacing:0;word-spacing:-.5ch}.exp-list-date{color:var(--skills-highlight);flex-direction:row;justify-content:left;align-items:center;padding:0;font-size:clamp(.7rem,4vw,.9rem);font-style:italic;font-weight:500;display:flex}.exp-timestamp{margin:.2rem .4rem auto}.exp-separator{color:var(--skills-highlight);vertical-align:middle;margin:0 .5rem;padding:0;position:relative;top:-1px}.exp-supervisor{margin:.5rem aute;font-size:1.1rem;font-weight:400}.exp-supervisor-label{margin-right:.4rem;font-weight:700}@media screen and (width>=430px){.role-sep{opacity:1;margin-left:.5rem}}@media screen and (width>=768px){.cv-page-container{width:90%;padding-left:0}.cv-page{padding:3% 12%}}@media screen and (width>=769px){.cv-page-container{max-width:1200px}}
