@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;700&display=swap);:root{--bg-color:#101010;--hl-color:#009e66;--text-color:#f3f3f3;--secondary-text-color:#9f9f9f;--grey:#9f9f9f76;--surface-bg:#ffffff08;--surface-border:#ffffff14;--notice-bg:#9f9f9f33;--notice-border:#9f9f9f59;--notice-text:#f3f3f3c7;--spacing:50px;--sm-spacing:30px}[data-theme=light]{--bg-color:#f4f6f8;--hl-color:#0f8a61;--text-color:#1c232b;--secondary-text-color:#556273;--grey:#55627399;--surface-bg:#ffffffe0;--surface-border:#1c232b1f;--notice-bg:#7880882e;--notice-border:#78808852;--notice-text:#1c232bcc}@keyframes slideDown{0%{opacity:0;transform:translateY(0)}to{opacity:1;transform:translateY(1%)}}.imgUnselectable{pointer-events:none;-webkit-user-select:none;user-select:none}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{background-color:#101010;background-color:var(--bg-color);height:100%}html{overflow-y:scroll;scrollbar-gutter:stable}body{color:#f3f3f3;color:var(--text-color);font-family:Poppins,sans-serif;transition:background-color .25s ease-in-out,color .25s ease-in-out}::selection{background-color:#009e66;background-color:var(--hl-color);color:#f3f3f3;color:var(--text-color)}.pageHeader{align-items:center;display:flex;flex-direction:column;text-align:center}.pageTitle{border-bottom:3px solid #009e66;border-bottom:3px solid var(--hl-color);color:#f3f3f3;color:var(--text-color);display:inline-block;font-size:36px;margin-bottom:50px;margin-bottom:var(--spacing);margin-top:0}.pageDescription{color:#9f9f9f76;color:var(--grey);font-size:14px;margin-bottom:6px}.socialIcons .icon{color:#f3f3f3;color:var(--text-color)}.socialIcons .icon:hover{color:#009e66;color:var(--hl-color);scale:1.2}.btn{background-color:#009e66;background-color:var(--hl-color);border:none;border-radius:20px;color:#f9f9f9;cursor:pointer;font-size:14px;margin-top:10px;padding:12px 30px;padding:12px var(--sm-spacing)}.btn:hover{background-color:#03b979}header{align-items:center;color:#f3f3f3;color:var(--text-color);display:flex;gap:14px;justify-content:flex-end;margin-left:10px;padding:30px 50px;padding:var(--sm-spacing) var(--spacing)}header a:first-child{margin-right:auto}.logo{height:30px}.themeToggle{align-items:center;background-color:color-mix(in srgb,#101010 82%,#009e66 18%);background-color:color-mix(in srgb,var(--bg-color) 82%,var(--hl-color) 18%);border:1px solid #ffffff14;border:1px solid var(--surface-border);border-radius:999px;bottom:18px;box-shadow:inset 0 1px 0 #ffffff47,0 5px 14px #00000024;cursor:pointer;display:inline-grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));height:32px;justify-items:center;left:50px;overflow:hidden;padding:2px;position:fixed;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out;width:90px;z-index:1200}.themeToggle:focus-visible{outline:2px solid #009e66;outline:2px solid var(--hl-color);outline-offset:2px}.themeLabel{color:#f3f3f3;color:var(--text-color);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1;opacity:.6;text-transform:uppercase;-webkit-user-select:none;user-select:none;z-index:1}.themeKnob{background-color:color-mix(in srgb,#009e66 28%,#f3f3f3 72%);background-color:color-mix(in srgb,var(--hl-color) 28%,var(--text-color) 72%);border-radius:999px;box-shadow:0 2px 8px #00000038,inset 0 1px 0 #ffffff47;height:26px;left:2px;opacity:.2;position:absolute;top:2px;transform:translateX(0);transition:transform .22s ease-in-out;width:42px}.themeToggle.isLight .themeKnob{transform:translateX(44px)}.themeToggle.isDark .themeLabel:first-child,.themeToggle.isLight .themeLabel:last-child{opacity:1}.links{background-color:#101010;background-color:var(--bg-color);border-radius:10px;display:none;padding:10px;position:absolute;right:0;top:93px;width:100%;z-index:999}.links a{display:flex;font-size:15px;justify-content:center;padding:20px 0;position:relative;text-decoration:none}.links a,.links a:hover{color:#f3f3f3;color:var(--text-color)}.links.open{animation:slideDown .5s ease-in-out forwards;display:block}.dropdown-toggle{background:none;border:none;cursor:pointer;font-size:16px}.closeMenu,.openMenu{height:20px;transition:transform .5s ease-in-out}.closeMenu{cursor:pointer;transform:rotate(180deg)}.links .closed{background-color:initial}@media (min-width:750px){.links{background-color:#101010;background-color:var(--bg-color);display:flex;justify-content:flex-end;left:0;padding:0 10px;position:relative;top:auto;width:0}.links a{margin-left:3px;padding:0}.links a:not(:last-child){margin-right:20px}.links.open{display:flex}.dropdown-toggle{display:none}.links a:before{background-color:#f3f3f3;background-color:var(--text-color);bottom:-5px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease-in-out;width:0}.links a:hover:before{width:100%}.links a.active:before{background-color:#f3f3f3;background-color:var(--text-color);bottom:-5px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease-in-out;width:0;width:100%}.closed{background-color:initial}}.landing .name{color:var(--text-color);font-size:48px;margin-top:-100px;padding-bottom:28px}.landing .description{color:var(--secondary-text-color);font-size:26px}.landing .textContainer{color:var(--text-color);display:flex;flex-direction:column;letter-spacing:1px;text-align:center;z-index:1}.landingImage{bottom:0;filter:drop-shadow(0 12px 36px rgba(0,0,0,.35));height:80%;mix-blend-mode:lighten;opacity:.34;position:absolute;right:0}[data-theme=light] .landing .textContainer{text-shadow:none}[data-theme=light] .landingImage{filter:drop-shadow(0 8px 20px rgba(28,35,43,.2));mix-blend-mode:multiply;opacity:.5}.landing .socialIcons{bottom:64px;display:flex;left:50px;position:absolute}@media (min-width:750px){.landing .name{font-size:70px}.landing .description{font-size:32px}.landingImage{bottom:0;right:80px}.landing .socialIcons{flex-direction:column}}.about{align-items:center;display:flex;flex-direction:column;margin-top:var(--spacing)}.aboutContainer{border-bottom:1px solid var(--grey)}.personalImage{display:flex;justify-content:center;margin-bottom:var(--spacing);margin-top:18px}.personalImage img{border:1px solid var(--grey);border-radius:250px;height:250px;z-index:50}.contentContainer{padding:10px}.contentContainer h4{color:var(--hl-color);font-size:18px;font-weight:400;margin-bottom:15px}.contentContainer h5{color:var(--text-color);font-size:20px;margin-bottom:15px}.contentDescription{color:var(--secondary-text-color)}.infoContainer{border-top:1px solid var(--grey);margin-top:var(--sm-spacing);padding-top:var(--sm-spacing)}.info{padding-left:0}.infoContainer span{color:var(--text-color)}.infoContainer p{color:var(--secondary-text-color);display:inline-block;margin-bottom:10px;margin-left:10px}.infoContainer a{color:var(--hl-color)}.infoContainer a:hover{color:#03b979}.buttonContainer{align-items:center;display:flex;justify-content:space-between;margin-right:var(--sm-spacing)}.downloadCV{margin-bottom:var(--sm-spacing);margin-top:var(--sm-spacing)}.about .socialIcons .icon{display:none}@media (max-width:1200px){.contentContainer{padding-left:40px}}@media (min-width:750px){.about .socialIcons .icon{display:inline}.about .socialIcons:before{background-color:var(--grey);content:"";display:inline-block;height:2px;margin-bottom:5px;margin-right:10px;width:var(--sm-spacing)}}@media (min-width:992px){.personalImage img{border-radius:0;height:330px;padding:6px;z-index:50}.personalImage{align-items:center;display:flex;height:330px;justify-content:center}}.articlesPage{align-items:center;display:flex;flex-direction:column;margin-top:var(--spacing);padding:0 var(--sm-spacing) var(--spacing)}.copyrightNotice{background-color:var(--notice-bg);border:1px solid var(--notice-border);border-radius:10px;margin-bottom:18px;padding:14px 18px;width:min(1050px,100%)}.copyrightNotice p{color:var(--notice-text);font-size:13px;line-height:1.65;margin:0}.articlesSection{margin-bottom:22px;width:min(1050px,100%)}.articlesCategoryTitle{color:var(--text-color);font-size:20px;font-weight:600;margin-bottom:10px}.articlesList{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:14px;width:100%}.articleEntry{border-bottom:1px solid var(--surface-border);padding:16px 18px}.articleEntry:last-child{border-bottom:0}.articleText{font-size:14px;line-height:1.7;margin:0}.articleExtraInfo,.articleText{color:var(--secondary-text-color)}.articleExtraInfo{font-size:13px;line-height:1.6;margin:2px 0 0}.articleCitation{color:var(--text-color)}.articleLinkGroup{margin-left:8px}.articleLink{border-bottom:1px solid #0000;color:var(--hl-color);margin-left:6px;text-decoration:none;transition:border-color .2s ease-in-out}.articleLink:hover{border-bottom-color:var(--hl-color)}@media (min-width:750px){.articlesPage{padding:0 var(--spacing) var(--spacing)}.copyrightNotice p{font-size:14px}.articleText{font-size:15px}}.teachingPage{align-items:center;display:flex;flex-direction:column;margin-top:var(--spacing);padding:0 var(--sm-spacing) var(--spacing)}.teachingList{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:14px;width:min(1050px,100%)}.teachingBulletList{list-style:disc;margin:0;padding:10px 22px 8px 38px}.teachingEntry{border-bottom:1px solid var(--surface-border);padding:14px 8px 14px 4px}.teachingEntry::marker{color:var(--hl-color);font-size:1.05rem}.teachingEntry:last-child{border-bottom:0}.teachingHeadline{color:var(--text-color);font-size:14px;line-height:1.55;margin:0}.teachingDates{color:var(--hl-color)}.teachingDates,.teachingTitle{font-weight:600}.teachingContext,.teachingDescription{color:var(--secondary-text-color)}.teachingDescription{font-size:13px;line-height:1.6;margin:6px 0 0}.teachingLinks{margin:8px 0 0}.teachingLink{border-bottom:1px solid #0000;color:var(--hl-color);margin-right:10px;text-decoration:none;transition:border-color .2s ease-in-out}.teachingLink:hover{border-bottom-color:var(--hl-color)}@media (min-width:750px){.teachingPage{padding:0 var(--spacing) var(--spacing)}.teachingHeadline{font-size:15px}.teachingDescription{font-size:14px}}.experiencePage{align-items:center;display:flex;flex-direction:column;margin-top:var(--spacing);padding:0 var(--sm-spacing) var(--spacing)}.experienceList{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:var(--surface-bg);border:1px solid var(--surface-border);border-radius:14px;width:min(1050px,100%)}.experienceBulletList{list-style:disc;margin:0;padding:10px 22px 8px 38px}.experienceEntry{border-bottom:1px solid var(--surface-border);padding:14px 8px 14px 4px}.experienceEntry::marker{color:var(--hl-color);font-size:1.05rem}.experienceEntry:last-child{border-bottom:0}.experienceHeadline{color:var(--text-color);font-size:14px;line-height:1.55;margin:0}.experienceDates{color:var(--hl-color);font-weight:600}.experienceTitle{font-weight:600}.experienceContext,.experienceDescription{color:var(--secondary-text-color)}.experienceDescription{font-size:13px;line-height:1.6;margin:6px 0 0}.experienceLinks{margin:8px 0 0}.experienceLink{border-bottom:1px solid #0000;color:var(--hl-color);margin-right:10px;text-decoration:none;transition:border-color .2s ease-in-out}.experienceLink:hover{border-bottom-color:var(--hl-color)}@media (min-width:750px){.experiencePage{padding:0 var(--spacing) var(--spacing)}.experienceHeadline{font-size:15px}.experienceDescription{font-size:14px}}.portfolio{align-items:center;display:flex;margin-top:var(--spacing);padding-bottom:var(--spacing)}.portfolio,.projectCard{flex-direction:column;overflow:hidden}.projectCard{border-radius:3px;color:#fff;cursor:pointer;margin-bottom:20px;padding:0!important;position:relative;transition:all .5s ease-in-out}.row{margin:0;padding:0}.textWrap{transition:all .9s ease-in-out;z-index:1}.projectLink{text-decoration:none}.imageContainer img{height:12em;margin-top:25px;transition:all 1.3s ease-in-out}.tech{font-size:12px;white-space:nowrap}.viewWork{font-size:14px}.projectTitle{font-size:24px;padding:10px 0}.githubLink{text-decoration:none}.projectCard:before{background-color:#000000b3;bottom:0;content:"";display:block;left:0;opacity:.3;position:absolute;right:0;top:0;transition:opacity .3s ease-in-out}.closeModal{margin-left:250px;margin-top:-20px}.closeModal:hover{filter:brightness(100)}.modalTitle{color:#fff;text-align:center}.modalTitle,.projectDescription{margin-bottom:10px}@media (min-width:750px){.projectCard{flex-direction:row;height:350px;padding:var(--sm-spacing)!important}.portfolio{padding-left:var(--spacing);padding-right:var(--spacing)}.projectCard:hover .imageContainer{transform:translateX(-70%)}.projectCard:hover .textWrap{transform:translateX(-250%)}.projectCard:hover:before{opacity:0}.projectCard:hover .imageContainer img{scale:1.4}.imageContainer{transform:translateX(30%);transition:all .3s ease-in-out}.textWrap{text-shadow:none}.projectTitle{font-size:30px;padding:10px 0}.viewWork{font-size:16px}.tech{font-size:14px}}.contact{align-items:center;display:flex;flex-direction:column;margin-top:var(--spacing)}.contentTitle{color:var(--text-color);padding-bottom:10px}.contactInfo{color:var(--secondary-text-color);font-size:12px;margin-bottom:var(--sm-spacing);margin-left:10px}.contentDescription,.info{font-size:15px}.infoDescription{margin-bottom:var(--sm-spacing)}.personalContactInfo{align-items:center;display:flex}ul{list-style:none}.mediaWrap{border-left:2px solid var(--grey);padding-bottom:12px;padding-left:var(--sm-spacing);padding-top:12px}.formGroup{padding-right:15px}.formControl{background-color:var(--surface-bg);border-bottom:1px solid var(--surface-border);border:1px solid var(--surface-border);border-bottom-color:var(--grey);border-radius:1px;color:var(--text-color);font-size:15px;margin-bottom:20px;outline:#0000;padding:10px;transition:border-color .2s ease-in-out,background-color .2s ease-in-out;width:100%}.formControl:focus{border-bottom:1px solid var(--hl-color)}.formControl::placeholder{color:var(--secondary-text-color);opacity:.9}textarea{font-family:Poppins,sans-serif;height:auto;resize:none}.icon{color:var(--hl-color);font-size:28px}.infoIcon{align-items:center;display:flex;width:var(--spacing)}.infoType{color:var(--text-color);font-size:15px}.infoValue a{color:var(--hl-color)}.contactForm{margin-bottom:var(--sm-spacing)}.contact .socialIcons{display:none}.mediaWrap a:hover{color:#03b979}@media (min-width:400px){.contactInfo{font-size:15px}}@media (min-width:750px){.contact .socialIcons{display:inline;padding-bottom:var(--sm-spacing)}.contact .socialIcons:after,.contact .socialIcons:before{background-color:var(--grey);content:"";display:inline-block;height:2px;margin-bottom:7px;margin-right:10px;width:var(--spacing)}}
/*# sourceMappingURL=main.2949be8c.css.map*/