@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/pt-serif-cyrillic-ext-400-normal.2e27cakzd5o3f.woff2)format("woff2"),url(../media/pt-serif-cyrillic-ext-400-normal.38w4bd-g0_4l8.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/pt-serif-cyrillic-400-normal.396vxl0ow71he.woff2)format("woff2"),url(../media/pt-serif-cyrillic-400-normal.0li_hfvbq_fca.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/pt-serif-latin-ext-400-normal.04-4-wl0kdlvh.woff2)format("woff2"),url(../media/pt-serif-latin-ext-400-normal.02pqfbvakbzou.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Serif;font-style:normal;font-display:swap;font-weight:400;src:url(../media/pt-serif-latin-400-normal.3nh0_xsfoo-vn.woff2)format("woff2"),url(../media/pt-serif-latin-400-normal.3m9nxqzaietxy.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-cyrillic-ext-400-normal.3o174edr_29j4.woff2)format("woff2"),url(../media/fira-code-cyrillic-ext-400-normal.1udv00yu_q9lg.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-cyrillic-400-normal.3hpg-8-i0_7bh.woff2)format("woff2"),url(../media/fira-code-cyrillic-400-normal.3p-4fft8y4ne4.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-greek-ext-400-normal.42enyq82atj1s.woff2)format("woff2"),url(../media/fira-code-greek-ext-400-normal.0uqonoyu0l63v.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-greek-400-normal.12gh_gtugyahw.woff2)format("woff2"),url(../media/fira-code-greek-400-normal.21boiyw7hfouf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-symbols2-400-normal.2i3odeo153e--.woff2)format("woff2"),url(../media/fira-code-symbols2-400-normal.3z8_bpm14xquk.woff)format("woff");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-latin-ext-400-normal.12x1gduvj9qad.woff2)format("woff2"),url(../media/fira-code-latin-ext-400-normal.3h4x_9wldil76.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(../media/fira-code-latin-400-normal.1ze2dss3phfym.woff2)format("woff2"),url(../media/fira-code-latin-400-normal.2oexgdqe2k8tz.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html,body,#root{color:#fff;background-color:#3d3051;width:100%;margin:0;padding:0;font-family:PT Serif}main{background-color:#3d3051;font-size:max(16pt,1.3vw)}header{text-align:right;height:max(50px,5vw);padding-left:max(10px,5vw);padding-right:max(10px,5vw)}@media screen and (max-width:700px){header{display:none}}footer{flex-direction:row;height:100px;padding-top:20px;padding-left:max(10px,5vw);padding-right:max(10px,5vw);font-size:max(14pt,.8vw);display:flex}.code{font-family:Fira Code,sans-serif}footer span.copyright{flex:1}footer span.links{text-align:right}footer span.links span{padding-left:10px}@media screen and (max-width:700px){footer span.links{flex-direction:column;display:flex}footer span.links span{padding-bottom:10px}}.section{min-height:100vh}.section:nth-child(odd),.section.inverted:nth-child(2n){background-color:#3d3051}.section:nth-child(odd) .card,.section.inverted:nth-child(2n) .card,.section:nth-child(2n),.section.inverted:nth-child(odd){background-color:#1d1727}.section:nth-child(2n) .card,.section.inverted:nth-child(odd) .card{background-color:#3d3051}a:link,a:visited{color:#fff}a:hover{color:#b36ae2}.section div.personal{flex-direction:row;display:flex}@media screen and (max-width:700px){.section div.personal{flex-direction:column}}.section div.personal .portrait{width:max(130px,25vw)}@media screen and (max-width:700px){.section div.personal .portrait{width:100%}}.section div.personal .portrait .photo{object-fit:cover;width:max(130px,25vw);height:auto;box-shadow:0 27px 24px #0000004d,0 40px 77px #00000052}@media screen and (max-width:700px){.section div.personal .portrait .photo{width:100%;height:max(400px,50vh)}}.section div.personal .title{flex:1;padding-left:max(10px,5vw);padding-right:max(10px,2vw)}@media screen and (max-width:700px){.section div.personal .title{padding-top:max(50px,5vw);padding-left:max(5px,3vw);padding-right:max(5px,3vw)}}.section div.personal .title .name{font-size:max(40pt,7.5vw);line-height:1}@media screen and (max-width:700px){.section div.personal .title .name{padding-bottom:max(5px,2vw)}}.section div.personal .title .summary{margin:5px 0 0;font-size:max(16pt,2.5vw)}.section div.personal nav{flex-flow:wrap;padding-top:max(20px,3vw);font-size:max(15pt,2vw);display:flex}.section div.personal nav div{cursor:pointer;white-space:nowrap;background-color:#1d1727;margin-bottom:max(15px,2vw);margin-right:max(15px,2vw);padding:max(10px,.5vw) max(15px,1vw)}@media screen and (max-width:700px){.section div.personal nav div{margin-right:0}}.section div.personal nav div:hover{background-color:#b36ae2}@media screen and (max-width:700px){.section div.personal nav{flex-direction:column;padding-left:0;padding-right:0}}.section.large-text p{font-size:max(15pt,2vw)}div.cards{flex-flow:wrap;margin-top:max(20px,1vw);display:flex}div.cards a.card{cursor:pointer;width:max(200px,20vw);margin-bottom:max(20px,1vw);margin-right:max(20px,1vw);padding:max(10px,2vw);text-decoration:none;box-shadow:0 17px 14px #0003,0 30px 67px #00000038}div.cards a.card .code{margin-bottom:max(20px,1vw)}@media screen and (max-width:700px){div.cards a.card{width:100%}}div.cards a.card:hover{color:#fff;background-color:#b36ae2}
