@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap";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,project,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}project,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}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}#root{display:flex;flex-direction:column;height:100vh}.App{font-family:Roboto,sans-serif;box-sizing:border-box;display:contents}.root{display:contents;color:#4e4e4e;font-size:16px;text-align:center}.root a{color:#4e4e4e}.header{flex:0 1 auto}.header .header-main{background-color:#dadada;position:fixed;top:0;left:0;right:0;box-shadow:0 10px 10px #46464633;z-index:100}.header .header-main .header-title{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;padding-top:20px;padding-bottom:20px;flex-grow:1}.header .header-main .header-title h1{flex-grow:1}.header .header-main .header-title h1 a{font-size:18px;text-transform:uppercase;text-decoration:none}.header .header-main .header-title .mc-container{position:absolute;cursor:pointer;right:1.3em}.header .header-main .header-title .mc-container .mc-line{position:absolute;width:100%;border-radius:100px;background-color:#727272}.header .header-main .header-links{position:absolute;display:flex;flex-direction:column;width:100%;background-color:#c3c3c3}.header .header-main .header-links .header-internal-links{display:inline-flex;flex-direction:column;flex-wrap:wrap;justify-content:space-around}.header .header-main .header-links .header-internal-links a{text-decoration:none;padding:10px;display:inline-flex;flex-direction:column;align-items:center;flex-grow:1;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgb(114,114,114)}.header .header-main .header-links .header-internal-links a.active{color:gray;background:linear-gradient(45deg,#7d69dc,#3cabb8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header .header-main .header-links .header-internal-links a:hover{color:#fff;cursor:pointer}.header .header-main .header-links .header-internal-links a.active:hover{background:none;background-clip:unset;-webkit-text-fill-color:white}.header .header-main .header-links .header-internal-links a:after{content:attr(data-text);content:attr(data-text)/"";height:0;visibility:hidden;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:700}@media speech{.header .header-main .header-links .header-internal-links a:after{display:none}}.header .header-main .header-social-links{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.header .header-main .header-social-links a{display:inline-block}.header .header-main .header-social-links a img{width:25px;height:auto;margin:5px;vertical-align:middle}@media screen and (min-width: 570px){.header .header-main{padding-top:0;padding-bottom:0;position:fixed;height:80px;top:0;left:0;right:0;width:100%}.header .header-main .header-hamburger-icon{visibility:hidden}.header .header-main .header-title{position:absolute;top:50%;left:25px;transform:translateY(-50%)}.header .header-main .header-title h1 a{font-size:15px}.header .header-main .mc-container{visibility:hidden}.header .header-main .header-links{position:absolute;padding-top:0;padding-bottom:0;width:auto;background-color:transparent;right:10px;top:50%;transform:translateY(-50%);display:block;flex-direction:row;align-items:center}.header .header-main .header-links .header-internal-links{margin-right:0;flex-direction:row}.header .header-main .header-links .header-internal-links a{padding:.5rem;border-bottom:none}}@media screen and (min-width: 800px){.header .header-main{height:80px;position:fixed;top:0;left:0;right:0;width:100%;padding-top:0;padding-bottom:0}.header .header-main .header-title{position:absolute;top:50%;left:50px;transform:translateY(-50%)}.header .header-main .header-title h1 a{font-size:18px}.header .header-main .header-links{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:block;flex-direction:row;align-items:center}.header .header-main .header-links .header-internal-links a{padding:1rem 1.5rem}}@media screen and (min-width: 900px){.header .header-main .header-links .header-internal-links{margin-right:80px}}.header .header-bg{max-height:300px;overflow:hidden}.header .header-bg img{width:100%;height:auto;display:block}.body{background-color:#e2e2e2;padding-top:30px;flex:1 1 auto}.footer{flex:0 1 50px;background-color:#dadada;min-height:50px;position:relative}.footer h1{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);font-size:.7rem}@media screen and (min-width: 500px){.footer h1{font-size:.9rem}}@media screen and (min-width: 800px){.footer h1{font-size:1rem}}@keyframes react-loading-skeleton{to{transform:translate(100%)}}.react-loading-skeleton{--base-color: #ebebeb;--highlight-color: #f5f5f5;--animation-duration: 1.5s;--animation-direction: normal;--pseudo-element-display: block;background-color:var(--base-color);width:100%;border-radius:.25rem;display:inline-flex;line-height:1;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;z-index:1}.react-loading-skeleton:after{content:" ";display:var(--pseudo-element-display);position:absolute;top:0;left:0;right:0;height:100%;background-repeat:no-repeat;background-image:linear-gradient(90deg,var(--base-color),var(--highlight-color),var(--base-color));transform:translate(-100%);animation-name:react-loading-skeleton;animation-direction:var(--animation-direction);animation-duration:var(--animation-duration);animation-timing-function:ease-in-out;animation-iteration-count:infinite}@media (prefers-reduced-motion){.react-loading-skeleton{--pseudo-element-display: none}}.about{max-width:51rem;padding-left:2.5rem;padding-right:2.5rem;margin-left:auto;margin-right:auto}.about .about-header .about-photo{width:200px;height:200px;border-radius:50%}.about .about-header .about-name{font-weight:700;font-size:1.5rem;margin-top:1.25rem;margin-bottom:.25rem}.about .about-header .about-position{font-size:1.25rem}.about .about-header .about-location{margin-top:.5625rem;font-size:.875rem}.about .about-header .about-location .material-symbols-outlined{margin-right:.375rem}.about .about-header .about-location .material-symbols-outlined:before{content:"";font-size:18px}.about .about-summary .about-summary-title{font-size:1.25rem;font-weight:700;text-align:left;margin-top:2.5rem;margin-bottom:1.125rem}.about .about-summary p{text-align:left;font-size:.875rem}.about .about-skills .about-skills-title{font-size:1.25rem;font-weight:700;text-align:left;margin-top:2.5rem;margin-bottom:1.125rem}.about .about-skills .about-skills-list{text-align:left;transform-style:preserve-3d}.about .about-skills .about-skills-list li{transition:.5s;-webkit-user-select:none;user-select:none;display:inline-block;margin:5px;padding:8px 15px;border:solid rgb(78,78,78) .0625rem;border-radius:.125rem;font-weight:600;font-size:.6875rem;transition:all .3s ease-in-out}.about .about-skills .about-skills-list li:hover{color:#fff;border:solid linear-gradient(45deg,rgb(60,171,184) 0%,rgb(125,105,220) 100%) .0625rem;background:linear-gradient(45deg,#7d69dc,#3cabb8)}.about .about-software{padding-bottom:50px}.about .about-software .about-software-title{font-size:1.25rem;font-weight:700;text-align:left;margin-top:2.5rem;margin-bottom:1.125rem}.about .about-software .about-software-list{text-align:left}.about .about-software .about-software-list li{transition:.5s;-webkit-user-select:none;user-select:none;display:inline-block;margin:5px;padding:8px 15px;border:solid rgb(78,78,78) .0625rem;border-radius:.125rem;font-weight:600;font-size:.6875rem;transition:all .3s ease-in-out}.about .about-software .about-software-list li:hover{color:#fff;border:solid linear-gradient(45deg,rgb(60,171,184) 0%,rgb(125,105,220) 100%) .0625rem;background:linear-gradient(45deg,#7d69dc,#3cabb8)}.experiences .experiences-title{padding-bottom:1.25rem;font-size:1.25rem;font-weight:700}.experiences .experience-main{max-width:51rem;padding-left:2.5rem;padding-right:2.5rem;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;font-size:.875rem}.experiences .experience-main .experience-main-clearfix{display:flex;flex-direction:row;margin-bottom:20px}.experiences .experience-main+.experience-main:before{content:"";background-color:#92929233;height:2px;width:100%;margin-bottom:20px}.experiences .experience-main .experience-left{flex-grow:1}.experiences .experience-main .experience-left .experience-title,.experiences .experience-main .experience-left .experience-location{text-align:left}.experiences .experience-main .experience-left .experience-location{padding-top:.375rem;padding-bottom:.375rem;font-size:.6875rem}.experiences .experience-main .experience-right{flex-grow:auto}.experiences .experience-main .experience-right .experience-period{display:flex;flex-direction:column;align-items:flex-end;text-align:right;border:solid rgb(78,78,78) .0625rem;border-radius:.125rem;font-weight:600;font-size:.6875rem;padding:8px 15px;margin:5px;min-width:75px;justify-content:end;-webkit-user-select:none;user-select:none;transition:all .3s ease-in-out}.experiences .experience-main .experience-right .experience-period .experience-period-start,.experiences .experience-main .experience-right .experience-period .experience-period-end{display:flex}.experiences .experience-main .experience-right .experience-period .experience-period-startMonth,.experiences .experience-main .experience-right .experience-period .experience-period-endMonth{margin-right:5px}.experiences .experience-main .experience-right .experience-period .experience-period-separator{margin-left:5px;margin-right:5px}.experiences .experience-main .experience-right .experience-period:hover{color:#fff;border:solid linear-gradient(45deg,rgb(60,171,184) 0%,rgb(125,105,220) 100%) .0625rem;background:linear-gradient(45deg,#7d69dc,#3cabb8)}@media screen and (min-width: 320px){.experiences .experience-main .experience-right .experience-period{min-width:100px}}@media screen and (min-width: 500px){.experiences .experience-main .experience-right .experience-period{flex-direction:row;min-width:165px}}@media screen and (min-width: 800px){.experiences .experience-main .experience-right .experience-period{flex-direction:row;min-width:165px}}.project-main{max-width:51rem;padding-left:2.5rem;padding-right:2.5rem;margin-left:auto;margin-right:auto}.project-main+.project-main:before{content:"";background-color:#92929233;height:2px;width:100%;display:block;margin-bottom:20px}.project-main .project-link{float:none;cursor:default}@media screen and (min-width: 500px){.project-main .project-link{float:left}}@media screen and (min-width: 800px){.project-main .project-link{float:left}}.project-main .project-image{margin-right:20px;margin-bottom:10px;filter:drop-shadow(5px 5px 2px rgba(0,0,0,.15));border-radius:2px;transition:all .15s}.project-main .project-image:hover{transform:perspective(1000px) translateZ(100px) rotateY(15deg) rotateX(-5deg);box-shadow:2px 35px 32px -8px #00000026;-webkit-box-shadow:2px 35px 32px -8px rgba(0,0,0,.15);-moz-box-shadow:2px 35px 32px -8px rgba(0,0,0,.15);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}.project-main .project-publication-date{overflow:hidden;margin-bottom:10px}.project-main .project-publication-date h2{text-align:left;font-size:13px}.project-main .project-title{margin-bottom:15px;overflow:hidden}.project-main .project-title h1{text-align:left;font-size:1.25rem;font-weight:700}.project-main .project-title h1:after{content:"";height:2px;width:20px;display:block;background-color:#4e4e4e;margin-top:5px}.project-main .project-title.project-title-skeleton h1:after{visibility:hidden}.project-main p{text-align:left;overflow:hidden;padding-bottom:1.25rem}.project-main .project-info{overflow:hidden;padding-bottom:20px}.project-main .project-info .project-info-line{display:flex;margin-bottom:.93rem;padding-top:.93rem}.project-main .project-info .project-info-line+.project-info-line{border-top:solid rgb(78,78,78) 1px}.project-main .project-info .project-info-line .project-info-label{text-align:left;padding-right:.625rem;font-weight:700;font-size:.875rem;width:33%}.project-main .project-info .project-info-line .project-info-value{text-align:left;color:#4e4e4e;flex:1;font-size:.875rem}.contact{display:flex;flex-direction:column;max-width:51rem;padding-left:2.5rem;padding-right:2.5rem;margin-left:auto;margin-right:auto}.contact .contact-title{padding-bottom:1.25rem;font-size:1.25rem;font-weight:700}.contact .contact-description{padding-bottom:1.25rem;font-size:.875rem}.contact .contact-form{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:20px;font-size:.875rem}.contact .contact-form input[type=text],.contact .contact-form input[type=email]{text-align:left;border:0;background-color:#0000;border-bottom:solid rgb(114,114,114) 1px}.contact .contact-form textarea{text-align:left;resize:vertical;min-height:100px;background-color:#0000;border:solid rgb(114,114,114) 1px;transition:.5s}.contact .contact-form input[type=text]:focus,.contact .contact-form input[type=email]:focus{border:0;border-bottom:solid rgb(78,78,78) 1px;outline:none}.contact .contact-form textarea:focus{border:solid rgb(114,114,114) 1px;border-bottom:solid rgb(78,78,78) 1px;outline:none}.contact .contact-form input[type=submit]{border:solid rgb(78,78,78) .0625rem;border-radius:.125rem;font-size:.875rem;padding:8px 15px;transition:all .3s ease-in-out}.contact .contact-form input[type=submit]:hover{color:#fff;border:solid linear-gradient(45deg,rgb(60,171,184) 0%,rgb(125,105,220) 100%) .0625rem;background:linear-gradient(45deg,#7d69dc,#3cabb8);-webkit-text-stroke-width:.5px;-webkit-text-stroke-color:white}
