.homepage_homedivmain__23UDO{height:100%;min-height:0;box-sizing:border-box;padding-left:var(--main-div-padding-left);padding-right:var(--main-div-padding-right);background-color:var(--primary-color);color:var(--text-color)}.homepage_lockedPage__c4G3x{overflow:hidden}.homepage_scrollPage__DGTlh{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.homepage_aboutDiv__ne7kP{font-size:var(--fsize-about);margin-top:var(--normal-margin-top);padding-top:10px;animation:homepage_fadeIn__9h6Hk var(--normal-transition-time) ease-in-out 0s}.homepage_aboutImage__Kg_Wv{display:block;margin:20px auto;max-width:150px;width:100%;height:auto;border-radius:5px}.homepage_skillsDiv__sVkXX{margin-top:var(--normal-margin-top);max-width:900px;display:flex;flex-wrap:wrap;align-items:center}.homepage_skillsDiv__sVkXX a:visited{color:var(--skill-color)}.homepage_skillsDiv__sVkXX a:hover{text-decoration:underline}.homepage_skillsDiv__sVkXX a,.homepage_skillsDiv__sVkXX span{font-size:var(--fsize-smol);display:inline-block;border-radius:5px;margin-left:10px;margin-top:10px;padding:10px;border:1px solid var(--skill-color);text-decoration:none;color:var(--skill-color);background:var(--skill-bg);animation:homepage_flipInY__wlytc var(--smooth-transition-time) ease;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.homepage_introDiv__xBlFd{margin-top:var(--normal-margin-top);animation:homepage_fadeInSlow__zcbsi var(--smooth-transition-time) ease}.homepage_introDiv__xBlFd span{display:inline-block;margin-bottom:2em}.homepage_introDiv__xBlFd h6{font-size:var(--fsize-smol);display:inline}.homepage_introDiv__xBlFd span h3{font-size:var(--fsize-large);display:inline}.homepage_introDiv__xBlFd h4{font-size:var(--fsize-mid)}.homepage_introDiv__xBlFd h1{font-size:var(--fsize-xlarge)}.homepage_inlineContainer__vdqJp{display:flex;align-items:baseline;gap:.5em}.homepage_inlineContainer__vdqJp h4,.homepage_inlineContainer__vdqJp h6{margin:0;line-height:1;vertical-align:baseline;display:inline}.homepage_contactDiv__4v5MW{margin-top:var(--normal-margin-top);animation:homepage_fadeIn2__J96rR var(--normal-transition-time) ease;display:flex;flex-direction:column;align-items:flex-start}.homepage_contactDiv__4v5MW h3{font-size:var(--fsize-mid);margin-bottom:.5em}.homepage_contactDiv__4v5MW p{font-size:var(--fsize-about);margin-bottom:1em}.homepage_emailLink__DacXe{background:none;border:none;font:inherit;text-align:inherit;color:inherit;display:block;margin:.5em 0 0;padding:5px 10px;cursor:pointer;color:var(--text-color);transform:translateY(3px);border-radius:5px;transition:transform var(--base-transition-time) ease,background-color var(--base-transition-time) ease-in}.homepage_emailLink__DacXe:hover{transform:translateY(0);background-color:var(--highlight-color)}.homepage_emailLink__DacXe:visited,.homepage_resumeBtn__LbSO0:visited{color:var(--text-color)}.homepage_emailWrapper__0XPN_{display:flex;flex-direction:column;align-items:flex-start}.homepage_mailIcon__x8KLU{display:inline-block;vertical-align:middle;width:1.5em;height:1.5em;margin:.15em;fill:var(--text-color);color:var(--text-color);flex-shrink:0}.homepage_copied__hTjZJ{margin-top:.3em;margin-left:0;font-size:var(--fsize-smol);color:var(--tag-color)}.homepage_resumeBtn__LbSO0{margin-top:1em;display:block;width:max-content;text-decoration:none;font-size:var(--fsize-smoll);border:1px solid var(--text-color-dark);border-radius:5px;color:var(--text-color-dark);background-color:var(--secondary-color);padding:10px 15px;transition:all var(--base-transition-time) ease}.homepage_contactDiv__4v5MW .homepage_resumeBtn__LbSO0:hover{color:var(--hover-color);border-color:var(--hover-color);box-shadow:0 0 2px 2px var(--hover-color)}@keyframes homepage_fadeInSlow__zcbsi{0%{opacity:0;transform:translateY(-20px)}30%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes homepage_fadeIn__9h6Hk{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes homepage_fadeIn2__J96rR{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes homepage_fillBackground__BUyIB{0%{background-size:0 100%}to{background-size:100% 100%}}@keyframes homepage_flipInY__wlytc{0%{transform:perspective(400px) rotateY(90deg) translateY(-20px);opacity:0}to{transform:perspective(400px) rotateY(0deg) translateY(0);opacity:1}}.homepage_sidebarDiv__nkNNI{opacity:0;animation:homepage_fadeInUp__rm_b_ var(--smooth-transition-time) ease}@keyframes homepage_fadeInUp__rm_b_{0%{opacity:0;transform:translateY(calc(100% + 40px))}to{opacity:1;transform:translateY(0)}}.homepage_sidebarDiv__nkNNI ul{margin:0;padding:0;list-style:none;position:absolute;bottom:0}.homepage_sidebarDiv__nkNNI li{list-style-type:none}.homepage_logoDiv__jSht9{width:var(--fsize-large);height:var(--fsize-large);transition:all var(--base-transition-time) ease}.homepage_logoDiv__jSht9 svg{transition:fill var(--base-transition-time) ease;fill:var(--sub-text-color)}.homepage_logoDiv__jSht9:hover svg{fill:var(--text-color-dark)}.homepage_logoDiv__jSht9:hover{filter:drop-shadow(0 0 10px var(--hover-color));transform:translateY(-3px)}@media screen and (max-width:1279px){.homepage_contactDiv__4v5MW h3,.homepage_contactDiv__4v5MW p{display:inline-block}.homepage_sidebarDiv__nkNNI{left:0;bottom:0;position:fixed;margin-bottom:.7em}.homepage_sidebarDiv__nkNNI ul{display:flex;justify-content:space-between;align-items:center;padding:0;margin:0}.homepage_sidebarDiv__nkNNI li{float:left;margin-left:1.5em}}@media screen and (max-height:700px){.homepage_skillsDiv__sVkXX{margin-top:var(--normal-margin-top)}}@media screen and (min-width:1280px){.homepage_sidebarDiv__nkNNI{position:fixed;left:0;top:0;box-sizing:border-box;height:100%}.homepage_sidebarDiv__nkNNI ul:after{opacity:.69;content:"";background-color:var(--sub-text-color);display:block;width:1px;margin:30px auto 0;height:var(--normal-margin-top)}.homepage_sidebarDiv__nkNNI ul{padding-left:3em}.homepage_sidebarDiv__nkNNI li{margin-left:0;margin-top:2em}}.homepage_nameHighlight__dFa6d{color:var(--hover-color)}.expv_expListContainer__TP8JD{display:flex;flex-direction:column;align-items:flex-start;animation:expv_fadeIn__YB8zS var(--normal-transition-time) ease}@keyframes expv_fadeIn__YB8zS{0%{transform:translateY(-2em);opacity:0}to{transform:translateY(0);opacity:1}}.expv_expContainer__ePBR8{padding-top:.5em;font-size:var(--fsize-smol);display:flex;justify-content:space-between;align-items:flex-start;gap:1em}.expv_expContainerLeft__CYGIM{float:none;flex:1 1;min-width:0}.expv_expContainerLeft__CYGIM span{display:block}.expv_expTitle__rFSqV{font-size:var(--fsize-smol);text-align:left}.expv_expTitle__rFSqV a{color:var(--tag-color);text-decoration:none}.expv_expDuration__4FScO{color:var(--sub-text-color);font-size:var(--fsize-smol)}.expv_expMaxMin__ub9gU{float:none;flex:0 0 auto;width:2ch;font-size:var(--fsize-mid);text-align:center;border-radius:100%;color:var(--text-color-dark);background-color:var(--highlight-color);cursor:pointer;position:relative;z-index:2;transition:background-color .2s ease,color .2s ease}.expv_expMaxMin__ub9gU:hover{opacity:.9;background-color:var(--text-color-dark);color:var(--primary-color)}.expv_contentDiv__2RF5_{font-size:var(--fsize-smol);position:relative;display:block;padding-top:.5em;padding-left:1em}.expv_contentDiv__2RF5_ a{text-decoration:none}.expv_contentDiv__2RF5_ li{font-size:var(--fsize-smol);padding:var(--li-padding)}.expv_expViewContainer__rFolm{margin-top:0;animation:expv_fadeIn__YB8zS var(--normal-transition-time) ease}@keyframes expv_fadeIn2__PiTOo{0%{opacity:0}to{opacity:1}}.expv_skillUsed__vX5Yx{align-content:center;padding-left:1em}.expv_skillUsed__vX5Yx span{font-size:var(--fsize-xsmol);display:inline-block;border-radius:5px;margin-left:10px;margin-top:10px;padding:3px 6px;color:var(--skill-box-color);background-color:var(--skill-box-bg);border:1px solid var(--skill-box-color)}@media screen and (max-width:1279px){.expv_expViewContainer__rFolm ul{padding:1em}.expv_expContainer__ePBR8{width:85vw;max-width:470px}.expv_expContainerLeft__CYGIM{font-size:1.45em}.expv_contentDiv__2RF5_{width:85vw;max-width:470px;font-size:.95em}.expv_expViewContainer__rFolm{margin-bottom:30px}.expv_skillUsed__vX5Yx span{font-size:.7em}}@media screen and (min-width:1280px){.expv_expViewContainer__rFolm ul{padding-left:2em}.expv_expContainer__ePBR8{width:600px}}.expv_tabContainer__gpF8U{display:flex;justify-content:flex-start;margin-top:var(--normal-margin-top);animation:expv_fadeIn2__PiTOo var(--normal-transition-time) ease}.expv_tab__7guc1{display:inline-block;padding:6px;margin-right:10px;margin-bottom:10px;border-radius:5px;font-size:var(--fsize-mid);cursor:pointer;transition:opacity var(--base-transition-time) ease;color:var(--text-color-dark);opacity:.7;background-color:var(--chip-bg)}.expv_tab__7guc1:hover{opacity:1}.expv_activeTab__qdQLy{opacity:.9;background-color:var(--chip-active-bg);color:var(--chip-active-text)}.expv_activeTab__qdQLy:hover{background-color:var(--text-color-dark);color:var(--primary-color)}html.theme-switching .expv_activeTab__qdQLy,html.theme-switching .expv_contentDiv__2RF5_,html.theme-switching .expv_expListContainer__TP8JD,html.theme-switching .expv_expMaxMin__ub9gU,html.theme-switching .expv_expViewContainer__rFolm,html.theme-switching .expv_skillUsed__vX5Yx,html.theme-switching .expv_skillUsed__vX5Yx span,html.theme-switching .expv_tabContainer__gpF8U,html.theme-switching .expv_tab__7guc1{transition:none!important}.loading_container__QFPKj{margin:0;padding:0;box-sizing:border-box}.loading_center__hIFAP{min-height:100vh;width:100%;display:flex;justify-content:center;align-items:center;background-color:var(--primary-color);color:var(--text-color)}.loading_wave__YylxG{width:10px;height:10px;background:var(--hover-color);margin:10px;animation:loading_wave__YylxG var(--smooth-transition-time) linear infinite;border-radius:20px;opacity:1}@keyframes loading_wave__YylxG{0%{transform:translateY(0)}25%{transform:translateY(-15px);opacity:.25}50%{transform:translateY(-30px);opacity:.5}75%{transform:translateY(-15px);opacity:.75}to{transform:translateY(0);opacity:1}}.menu_menudiv__IY6C_{position:absolute;bottom:0}.menu_menudiv__IY6C_ ul{list-style:none;display:flex;flex-direction:column;align-items:flex-start}.menu_menudiv__IY6C_ li{opacity:.9;color:var(--sub-text-color);font-size:var(--fsize-mid);padding:4px;transition:color var(--normal-transition-time) ease,transform var(--base-transition-time) ease;cursor:pointer}.menu_menudiv__IY6C_ a{text-decoration:none;color:inherit}.menu_menudiv__IY6C_ a:visited{color:inherit}.menu_menudiv__IY6C_ .menu_selectedoption__d6scG{opacity:1;color:var(--text-color);font-weight:700;transform:translateX(-6px)}.menu_menudiv__IY6C_ .menu_menuitem__7XeYj:hover{color:var(--text-color-dark)}@media screen and (max-width:1279px){.menu_menudiv__IY6C_{right:1em;padding-bottom:2em}}@media screen and (min-width:1280px){.menu_menudiv__IY6C_{right:10%;padding-bottom:5%}}html.theme-switching .menu_menudiv__IY6C_ .menu_menuitem__7XeYj,html.theme-switching .menu_menudiv__IY6C_ .menu_selectedoption__d6scG,html.theme-switching .menu_menudiv__IY6C_ li{transition:none!important}.themetoggle_navToggleWrapper__KrWeY{display:flex;align-items:center;color:var(--text-color)}.themetoggle_themeToggle__Q1kQ4{width:1.6rem;height:1.6rem;cursor:pointer;color:inherit;transition:color var(--base-transition-time) ease,transform .3s ease}.themetoggle_themeToggle__Q1kQ4:hover{color:var(--hover-color)}.navbar_navbar__bhGmN{position:-webkit-sticky;position:sticky;top:0;z-index:50;padding:.5em 1em;display:flex;justify-content:space-between;align-items:center;background-color:var(--primary-color);color:var(--text-color)}.navbar_navbar__bhGmN .navbar_logo___IyD2{font-size:var(--fsize-large);margin-left:var(--fsize-xsmol);color:var(--text-color-dark);text-decoration:none;font-weight:700;transition:color var(--base-transition-time) ease}.navbar_navbar__bhGmN .navbar_logo___IyD2:hover{color:var(--hover-color)}.navbar_navbar__bhGmN .navbar_routeb__jbOrU{transition:color var(--base-transition-time) ease;color:var(--text-color);font-size:var(--fsize-large);margin-right:2%;text-decoration:none}.navbar_navbar__bhGmN .navbar_routeb__jbOrU:hover{color:var(--hover-color)}.navbar_navright__HLokV{display:flex;align-items:center;gap:1rem}.navbar_navbar__bhGmN .navbar_theme-toggle__NUx8f{width:1.6rem;height:1.6rem;cursor:pointer;color:var(--text-color);transition:color var(--base-transition-time) ease,transform .3s ease}.navbar_navbar__bhGmN .navbar_theme-toggle__NUx8f:hover{color:var(--hover-color);transform:scale(1.1)}@media screen and (max-width:1279px){.navbar_navbar__bhGmN .navbar_logo___IyD2{margin-left:0}}html.theme-switching .navbar_logo___IyD2,html.theme-switching .navbar_routeb__jbOrU{transition:none!important}.sidebar_logoDiv__s4bWI{width:var(--fsize-large);height:var(--fsize-large);transition:transform var(--base-transition-time) ease,filter var(--base-transition-time) ease}.sidebar_logoDiv__s4bWI svg{fill:var(--sub-text-color);transition:fill var(--base-transition-time) ease}.sidebar_logoDiv__s4bWI:hover svg{fill:var(--text-color-dark)}.sidebar_logoDiv__s4bWI:hover{filter:drop-shadow(0 0 10px var(--hover-color));transform:translateY(-3px)}.sidebar_sidebarDiv__hUFRE ul{margin:0;padding:0;list-style:none;position:absolute;bottom:0}.sidebar_sidebarDiv__hUFRE li{list-style-type:none}@media screen and (max-width:1279px){.sidebar_sidebarDiv__hUFRE{left:0;bottom:0;position:fixed;margin-bottom:.7em}.sidebar_sidebarDiv__hUFRE ul{display:flex;justify-content:space-between;align-items:center;padding:0;margin:0}.sidebar_sidebarDiv__hUFRE li{float:left;margin-left:1.5em}}@media screen and (min-width:1280px){.sidebar_sidebarDiv__hUFRE{position:fixed;left:0;top:0;box-sizing:border-box;height:100%}.sidebar_sidebarDiv__hUFRE ul:after{opacity:.69;content:"";background-color:var(--sub-text-color);display:block;width:1px;margin:30px auto 0;height:var(--normal-margin-top)}.sidebar_sidebarDiv__hUFRE ul{padding-left:3em}.sidebar_sidebarDiv__hUFRE li{margin-left:0;margin-top:2em}}html.theme-switching .sidebar_logoDiv__s4bWI,html.theme-switching .sidebar_logoDiv__s4bWI svg,html.theme-switching .sidebar_sidebarDiv__hUFRE ul:after{transition:none!important}