:root{--light-mode-main-color:#fff;--light-mode-secondary-color:#181818;--light-mode-text-color:#000;--light-mode-last-name-color:#444;--dark-mode-main-color:#181818;--dark-mode-secondary-color:#eee;--dark-mode-text-color:#fff;--dark-mode-last-name-color:#ccc;--light-mode-home-color:#06f;--dark-mode-home-color:#1e78ff;--light-mode-home-gradient:linear-gradient(#0ff 20%,#06f);--dark-mode-home-gradient:linear-gradient(#74ffff,#1e78ff);--default-home-color:#181818;--about-color:#7000ff;--projects-color:#de6c01;--light-mode-projects-cards-background:hsla(0,0%,80%,.2);--dark-mode-projects-cards-background:hsla(0,0%,9%,.2);--light-mode-projects-cards-box-shadow:15px 15px 10px rgba(0,0,0,.15),inset 10px 10px 10px 1px hsla(0,0%,100%,.44);--dark-mode-projects-cards-box-shadow:15px 15px 10px rgba(0,0,0,.15),inset 5px 5px 10px hsla(0,0%,100%,.2);--light-mode-projects-cards-border:rgba(0,0,0,.15);--dark-mode-projects-cards-border:hsla(0,0%,100%,.2);--light-mode-invert-color:invert(0);--dark-mode-invert-color:invert(100%)}.color_theme,.light{--main-color:var(--light-mode-main-color);--secondary-color:var(--light-mode-secondary-color);--text-color:var(--light-mode-text-color);--home-color:var(--light-mode-home-color);--home-gradient:var(--light-mode-home-gradient);--last-name-color:var(--light-mode-last-name-color);--projects-cards-background:var(--light-mode-projects-cards-background);--projects-cards-box-shadow:var(--light-mode-projects-cards-box-shadow);--projects-cards-border:var(--light-mode-projects-cards-border);--invert-color:var(--light-mode-invert-color)}.dark{--main-color:var(--dark-mode-main-color);--secondary-color:var(--dark-mode-secondary-color);--text-color:var(--dark-mode-text-color);--home-color:var(--dark-mode-home-color);--home-gradient:var(--dark-mode-home-gradient);--last-name-color:var(--dark-mode-last-name-color);--projects-cards-background:var(--dark-mode-projects-cards-background);--projects-cards-box-shadow:var(--dark-mode-projects-cards-box-shadow);--projects-cards-border:var(--dark-mode-projects-cards-border);--invert-color:var(--dark-mode-invert-color)}@font-face{font-family:Roboto;font-weight:400;src:url(/fonts/Roboto-Regular.0e6e4c28.ttf);font-display:swap}@font-face{font-family:Roboto;font-weight:700;src:url(/fonts/Roboto-Bold.97f4a80e.ttf);font-display:swap}@font-face{font-family:Roboto;font-weight:900;src:url(/fonts/Roboto-Black.598dd5f1.ttf);font-display:swap}@font-face{font-family:Source Sans Pro;font-weight:300;src:url(/fonts/SourceSansPro-Light.eef8e5d5.ttf);font-display:swap}@font-face{font-family:Source Sans Pro;font-weight:400;src:url(/fonts/SourceSansPro-Regular.770ca066.ttf);font-display:swap}@font-face{font-family:Source Sans Pro;font-weight:600;src:url(/fonts/SourceSansPro-SemiBold.4de1bdaa.ttf);font-display:swap}@font-face{font-family:Inter;font-weight:600;src:url(/fonts/Inter-SemiBold.2a2f0a2a.ttf);font-display:swap}@font-face{font-family:Titillium Web;font-weight:600;src:url(/fonts/TitilliumWeb-SemiBold.7a982025.ttf);font-display:swap}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:focus-visible{outline:0}a{text-decoration:none}.color_theme{overflow-x:hidden;max-width:100%;min-height:100vh;min-height:100dvh;background-color:var(--main-color);transition:all .3s;background-size:100% 100%}@media only screen and (max-width:1000px){.color_theme{background-image:url(/img/background-light-mobile.4b30025a.png)}.color_theme.dark{background-image:url(/img/background-dark-mobile.5f4b8aea.png)}.color_theme.light{background-image:url(/img/background-light-mobile.4b30025a.png)}}@media only screen and (min-width:1000px){.color_theme{background-image:url(/img/background-light.e67791ac.png)}.color_theme.dark{background-image:url(/img/background-dark.36c888e5.png)}.color_theme.light{background-image:url(/img/background-light.e67791ac.png)}}[v-cloak]{display:none}header{width:100%;height:109px;justify-content:space-between;padding:0 50px;display:flex;align-items:center;gap:23px;font-family:Roboto;font-weight:400}@media only screen and (max-width:1000px){header{flex-direction:column;justify-content:space-between;align-items:stretch;padding-top:30px;padding-bottom:30px;min-height:0;transition:min-height .3s cubic-bezier(1,0,1,0)}header.menu_is_active{min-height:100vh;min-height:100svh;transition:min-height .3s cubic-bezier(0,1,0,1)}header .menu,header .menu nav{flex-direction:column;flex-shrink:10}header .menu nav{gap:60px!important;margin-top:calc(50svh - 227px);font-size:24px!important;line-height:28px!important}header .menu .mobile_bottom{justify-content:flex-end;flex-wrap:wrap}}@media only screen and (max-height:500px){header .menu nav{margin-top:calc(50svh - 183px);gap:10px!important}}@media only screen and (max-width:600px){header{padding:30px 20px}}header .topbarMobile{display:flex;justify-content:space-between;align-items:center}header .topbarMobile .website_title{display:flex;flex-direction:column;padding-right:50px;font-family:Inter,sans serif;font-weight:600;font-size:30px;line-height:39px;letter-spacing:.05em}header .topbarMobile .website_title .first_name{color:var(--text-color)}header .topbarMobile .website_title .last_name{color:var(--last-name-color);padding-left:41px}header .menu{flex-grow:2;display:flex;justify-content:space-between}header .menu nav{display:flex;align-items:center;gap:40px;font-size:19px;line-height:33px}header .menu nav a{position:relative;text-decoration:none;color:var(--text-color)}header .menu nav a.router-link-active:after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:var(--text-color)}header .menu nav a:focus-visible{box-shadow:0 0 5px 2px #888;border-radius:5px}header .menu .mobile_bottom{display:flex;align-items:center;gap:23px}header .menu .mobile_bottom select{display:block;border:0;background:transparent;color:var(--text-color);font-size:19px}header .menu .mobile_bottom select:focus{outline:0;text-decoration:underline}header .menu .mobile_bottom select option{color:var(--text-color);background-color:var(--main-color);padding:5px 10px}header .menu .mobile_bottom .download_CV{display:block;font-size:24px;line-height:30px;padding:10px 15px;color:#fff;text-decoration:none;border-radius:4px}header .menu .mobile_bottom .download_CV:focus-visible{box-shadow:0 0 5px 2px #888}.home{min-height:calc(100vh - 109px);min-height:calc(100dvh - 109px);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Roboto;padding:0 20px;transition:padding .3s}@media only screen and (max-height:900px){.home{padding-top:125px}}.home .title{color:var(--secondary-color);font-weight:600;font-size:62px;line-height:74px;text-align:center;max-width:862px;margin-bottom:32px}@media only screen and (min-width:1800px){.home .title{font-size:90px;line-height:120px;max-width:1200px}}@media only screen and (max-width:920px){.home .title{font-size:43px;line-height:54px;max-width:510px}}@media only screen and (max-width:350px){.home .title{font-size:38px;line-height:48px}}.home .title .title_colored{font-weight:900;background:var(--home-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-fill-color:transparent}.home p{color:var(--text-color);font-family:Source Sans Pro;font-weight:400;font-size:22px;line-height:30px;text-align:center;letter-spacing:.05em;max-width:848px;margin-bottom:90px}@media only screen and (min-width:1800px){.home p{font-size:32px;line-height:38px;letter-spacing:.1em;max-width:1200px}}@media only screen and (max-width:920px){.home p{font-size:21px;line-height:27px;max-width:464px;margin-bottom:22px}}@media only screen and (max-width:520px){.home p{max-width:348px;letter-spacing:.02em}}@media only screen and (max-width:350px){.home p{font-size:18px;line-height:23px}}.home .contact_button{padding:16px 19px;background-color:var(--secondary-color);border-radius:10px;color:var(--main-color);font-weight:400;font-size:24px;line-height:30px;letter-spacing:.05em;margin-bottom:120px;transition:all .3s}@media only screen and (min-width:1800px){.home .contact_button{font-size:28px;line-height:32px;border-radius:15px}}@media only screen and (max-width:920px){.home .contact_button{font-size:22px;line-height:30px;padding:10px 15px}}@media only screen and (max-width:350px){.home .contact_button{font-size:19px;padding:8px 10px}}.home .contact_button:focus{text-decoration:underline}.home .contact_button:hover{border-radius:5px}.about{gap:80px;padding:80px 10px}.about,.about section{display:flex;flex-direction:column;align-items:center}.about section{gap:30px;max-width:860px;color:var(--text-color)}.about section h2{position:relative;display:block;font-family:Roboto;font-weight:900;font-size:48px;line-height:48px;padding-bottom:10px}@media only screen and (max-width:540px){.about section h2{font-size:40px;line-height:40px}}.about section h2:after{content:"";position:absolute;bottom:0;left:0;display:block;width:100%;height:3px;background-color:var(--about-color)}.about section.biography{font-family:Source Sans Pro;font-weight:400;font-size:19px;line-height:31px;text-align:justify;padding:0 20px}@media only screen and (max-width:540px){.about section.biography{font-size:16px;line-height:28px;padding:0}}.about section.skills{gap:62px;width:100%;padding:0 20px}@media only screen and (max-width:540px){.about section.skills{padding:0;gap:37px}}.about section.skills .skills_diagram{display:flex;flex-direction:column;align-items:center;gap:52px;width:100%;font-family:Roboto;font-weight:700;font-size:24px;line-height:36px}@media only screen and (max-width:540px){.about section.skills .skills_diagram{font-size:20px}}.about section.skills .skills_diagram h3{font-style:normal;font-weight:700;font-size:36px;line-height:36px;color:#fff;background-color:var(--about-color);padding:15px 25px;border-radius:20px}@media only screen and (max-width:540px){.about section.skills .skills_diagram h3{font-size:32px;padding:10px 20px;border-radius:15px}}.about section.skills .skills_diagram .mastered_skills{display:flex;justify-content:center;flex-wrap:wrap;gap:30px}.about section.skills .skills_diagram .mastered_skills span{padding:10px 20px;border-radius:20px;color:var(--main-color);background-color:var(--secondary-color)}@media only screen and (max-width:540px){.about section.skills .skills_diagram .mastered_skills span{padding:6px 9px;border-radius:10px}}.about section.skills .skills_diagram .good_skills{display:flex;justify-content:center;flex-wrap:wrap;width:100%;gap:30px}@media only screen and (max-width:820px){.about section.skills .skills_diagram .good_skills{max-width:590px}}.about section.skills .skills_diagram .good_skills span{padding:10px 20px;border-radius:20px;background:var(--main-color);border:2px solid var(--text-color)}@media only screen and (max-width:540px){.about section.skills .skills_diagram .good_skills span{padding:6px 9px;border-radius:10px}}.about section.education{gap:65px}@media only screen and (max-width:540px){.about section.education{gap:40px}}.about section.education .establishment{display:flex}.about section.education .establishment .years{flex-shrink:0;text-align:end;padding-right:5px;padding-top:8px;width:138px;font-family:Roboto;font-weight:600;font-size:20px;line-height:22px}@media only screen and (max-width:540px){.about section.education .establishment .years{font-size:14px;max-width:69px;padding-top:0}}.about section.education .establishment .separator{display:flex;flex-direction:column;align-items:center}.about section.education .establishment .separator .circle{width:38px;height:38px;border:3px solid var(--about-color);border-radius:50%}@media only screen and (max-width:540px){.about section.education .establishment .separator .circle{width:25px;height:25px}}.about section.education .establishment .separator .stroke{width:2px;height:calc(100% - 38px);background-color:var(--about-color)}@media only screen and (max-width:540px){.about section.education .establishment .separator .stroke{height:calc(100% - 25px)}}.about section.education .establishment .text{font-family:Source Sans Pro;padding:0 15px 13px 40px}@media only screen and (max-width:540px){.about section.education .establishment .text{padding-right:0;padding-left:5px}}.about section.education .establishment .text .formation{display:block;margin-bottom:5px;font-weight:600;font-size:26px;line-height:36px;color:var(--text-color)}@media only screen and (max-width:540px){.about section.education .establishment .text .formation{font-size:21px;line-height:24px}}.about section.education .establishment .text .place{display:block;margin-bottom:5px;font-weight:300;font-size:22px;line-height:24px;color:var(--secondary-color)}@media only screen and (max-width:540px){.about section.education .establishment .text .place{font-size:16px;line-height:18px}}.about section.education .establishment .text .description{display:block;font-weight:400;font-size:22px;line-height:24px;text-align:justify}@media only screen and (max-width:540px){.about section.education .establishment .text .description{font-size:16px;line-height:21px}}.projects{display:flex;flex-direction:column;align-items:center;margin-top:80px}.projects h2{margin-left:calc(50% - 443px);align-self:flex-start;position:relative;display:block;font-family:Roboto;font-weight:900;font-size:48px;line-height:48px;color:var(--text-color);padding-bottom:10px;margin-bottom:50px}@media only screen and (max-width:1000px){.projects h2{align-self:center;margin-left:0}}@media only screen and (max-width:540px){.projects h2{font-size:40px;line-height:40px}}.projects h2:after{content:"";position:absolute;bottom:0;left:0;display:block;width:100%;height:3px;background-color:var(--projects-color)}.projects .featured_projects_cards_container{display:flex;flex-direction:column;align-items:center;max-width:886px;width:100%;padding:0 17px}.projects .other_projects_cards_container{max-width:886px;padding:0 17px;display:grid;grid-template-columns:repeat(2,1fr);gap:54px;margin-bottom:110px}@media only screen and (max-width:720px){.projects .other_projects_cards_container{grid-template-columns:repeat(1,minmax(100%,361px))}}footer{display:flex;justify-content:center;align-items:center;gap:47px;width:100%;height:46px;font-family:Roboto;font-weight:400;font-size:14px;line-height:14px;color:var(--text-color);padding:0 20px}@media only screen and (max-width:600px){footer{font-size:11px;line-height:11px;gap:5%;gap:0}}footer button{display:block;align-self:end;background-color:transparent;border:none;filter:var(--invert-color);transition:all .3s}footer button:focus{outline:2px solid #000}footer button img{display:block;width:78px;height:36px}footer span{width:176px;text-align:start}@media only screen and (max-width:600px){footer span{width:130px}}@media only screen and (max-width:400px){footer span{text-align:center}}.error404{min-height:calc(100vh - 109px);min-height:calc(100svh - 109px);display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Roboto;color:var(--text-color)}.error404 h2{font-size:72px;margin-bottom:25px}@media screen and (max-width:750px){.error404 h2{font-size:58px}}.error404 span{font-size:24px;padding-bottom:100px}.card{background-color:var(--projects-cards-background);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:30px;box-shadow:var(--projects-cards-box-shadow);border:1px solid var(--projects-cards-border);min-height:300px}.card .content{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.card .content .top_card h3{font-family:Roboto;font-weight:700;font-size:28px;line-height:28px;color:var(--text-color);margin-bottom:14px}.card .content .top_card p{font-family:Source Sans Pro;font-weight:400;font-size:22px;line-height:24px;text-align:justify;color:var(--text-color);margin-bottom:20px}.card .content .bottom_card{align-self:flex-end;display:flex;align-items:center;gap:19px}.card .content .bottom_card .github{border-radius:50%;opacity:.8;filter:var(--invert-color);transition:all .3s}.card .content .bottom_card .github:focus{opacity:1;box-shadow:0 0 10px #000}.card .content .bottom_card .github img{width:37px;height:36px}.card .content .bottom_card .website_link{display:flex;align-items:baseline;gap:19px;padding:8px 16px;background-color:var(--text-color);border-radius:5px;transition:all .3s}.card .content .bottom_card .website_link span{font-family:Roboto;font-weight:400;font-size:24px;line-height:24px;color:var(--main-color)}.card .content .bottom_card .website_link img{width:20px;height:20px;filter:var(--invert-color)}.card .content .bottom_card .website_link:focus{filter:invert(100%);box-shadow:0 0 2px 2px var(--main-color)}.larger_card{margin-bottom:50px;padding:27px;display:flex;align-items:center;gap:27px}@media only screen and (max-width:720px){.larger_card{flex-direction:column;width:361px;max-width:100%}}.larger_card .image{position:relative;flex-shrink:0;width:307px;height:246px;overflow:hidden;border-radius:5px}.larger_card .image:hover img{opacity:1;top:var(--hover-translation)}@media only screen and (max-width:420px){.larger_card .image{width:100%}.larger_card .image:hover img{opacity:1;top:0}}.larger_card .image img{position:absolute;top:0;left:0;display:block;width:100%;height:auto;opacity:80%;transition:opacity .3s,top 2s}.larger_card .content .top_card{display:flex;flex-direction:column;align-items:flex-start}@media only screen and (max-width:720px){.larger_card .content .top_card{align-items:center}}.larger_card .content .top_card .tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}@media only screen and (max-width:720px){.larger_card .content .top_card .tags{justify-content:space-between;gap:20px}}@media only screen and (max-width:400px){.larger_card .content .top_card .tags{gap:15px}}@media only screen and (max-width:360px){.larger_card .content .top_card .tags{gap:8px}}.larger_card .content .top_card .tags .tag{font-family:Titillium Web;font-weight:600;font-size:18px;line-height:18px;padding:1px 3px;color:var(--projects-color);border:2px solid var(--projects-color);border-radius:3px}.smaller_card{padding:27px;display:flex}.color_modes_btn{position:relative;display:block;width:40px;height:40px;border:none;background:transparent;cursor:pointer;border-radius:50%}.color_modes_btn:focus{box-shadow:0 0 10px 0 #888}.color_modes_btn img{position:absolute}.color_modes_btn .sunray{width:40px;height:40px;top:0;left:0;transition:all .3s}.color_modes_btn .sun_circle{transition:all .3s}.light .moon{top:0;left:0;width:40px;height:40px;transition:all .5s}.light .sunray{transform:rotate(-180deg);transition:all .3s}.light .sun_circle,.light .sunray{width:40px;height:40px;top:0;left:0;opacity:0;filter:invert(100%)}.dark .color_modes_btn .moon{top:10px;left:10px;width:20px;height:20px;opacity:0;filter:invert(100%);transform:rotate(1turn);transition:all .3s}.dark .color_modes_btn .sunray{opacity:1;filter:invert(0);transform:rotate(180deg);transition:all .5s}.dark .color_modes_btn .sun_circle{width:20px;height:20px;top:10px;left:10px;opacity:1;filter:invert(0)}#mobileMenuButton{--burger-width:48px;--burger-height:30px;--burger-line-height:4px;--burger-line1-width:100%;--burger-line2-width:100%;--burger-line3-width:100%;--burger-align-line:center;--burger-have-line-border-radius:0;--burger-color:var(--text-color);--transition-duration:.3s;--burger-line-border-radius:calc(var(--burger-have-line-border-radius)*var(--burger-line-height)/2);--burger-active-line-translate:calc(var(--burger-height)/2 - var(--burger-line-height)/2 - 1px);width:var(--burger-width);height:var(--burger-height);border:none;background-color:transparent;display:flex;flex-direction:column;justify-content:space-between;align-items:var(--burger-align-line)}#mobileMenuButton span{flex-shrink:0;height:var(--burger-line-height);background-color:var(--burger-color);border-radius:var(--burger-line-border-radius);pointer-events:none;transition:all var(--transition-duration)}#mobileMenuButton span:first-of-type{width:var(--burger-line1-width)}#mobileMenuButton span:nth-of-type(2){width:var(--burger-line2-width)}#mobileMenuButton span:nth-of-type(3){width:var(--burger-line3-width)}#mobileMenuButton.active span:first-of-type{width:100%;transform:translateY(var(--burger-active-line-translate)) rotate(-45deg)}#mobileMenuButton.active span:nth-of-type(2){opacity:0}#mobileMenuButton.active span:nth-of-type(3){width:100%;transform:translateY(calc(0px - var(--burger-active-line-translate))) rotate(45deg)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .3s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateX(100vw);opacity:0}