main[data-v-88721512]{padding:0 0!important}@font-face{font-family:Inter;src:url(/fonts/Inter-VariableFont_slnt,wght.7385e8d9.ttf) format("truetype");font-weight:100 900;font-style:normal}@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-VariableFont_wght.f595c38f.ttf) format("truetype");font-weight:100 900;font-style:normal}:root{--main-font:"Montserrat";--secondary-font:"Inter";--text-xxl:3.052rem;--text-xl:2.441rem;--text-md:1.953rem;--text-sm:1.563rem;--text-xs:1.25rem;--text-xxs:1rem;--text-btn:0.8rem;--text-error:0.4rem;--main-color-light:#fff;--main-color-medium:#454a59;--main-color-dark:#000;--secondary-color-light:#e28484;--secondary-color-medium:#f53232;--secondary-color-dark:#851f1f;--accent-color-light:#9cb4e2;--accent-color-medium:#334e9c;--accent-color-dark:#042053;--space-xxl:32px;--space-xl:24px;--space-lg:16px;--space-s:8px;--space-xs:4px}*{box-sizing:border-box}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;line-height:1.6}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1.15}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}[id=app]{background-color:var(--main-color-dark);color:var(--main-color-light);min-height:100dvh;display:flex;flex-direction:column}[id=app]>main{padding:0 350px;position:relative}h1{margin-bottom:var(--space-lg)}form{display:flex;flex-direction:column}body{font-family:var(--main-font);font-size:var(--text-xs);text-rendering:geometricPrecision}h1,h2,h3,h4,h5,h6{line-height:1.5}h1{font-size:clamp(var(--text-sm),4vw,var(--text-xxl));text-align:left}h2{font-size:clamp(var(--text-xs),2vw,var(--text-sm))}a{color:inherit;text-decoration:none}img{max-width:100%}body::-webkit-scrollbar{display:none}[id=main-navigation]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-height:100px;padding:0 350px}[id=main-navigation]>a{display:flex;align-items:center;justify-content:center}.main-navigation-links{margin-left:auto;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;gap:var(--space-lg)}.main-navigation-links>a{color:var(--main-color-light);font-family:var(--secondary-font);font-size:var(--text-xxs);font-weight:500;-webkit-text-decoration:underline transparent;text-decoration:underline transparent;text-decoration-thickness:2px;text-underline-offset:4px;transition:-webkit-text-decoration .35s ease-in-out;transition:text-decoration .35s ease-in-out;transition:text-decoration .35s ease-in-out,-webkit-text-decoration .35s ease-in-out}.main-navigation-links>a:hover{-webkit-text-decoration:underline var(--main-color-light);text-decoration:underline var(--main-color-light);text-decoration-thickness:2px;text-underline-offset:4px}.main-navigation-links>a.router-link-exact-active{color:var(--accent-color-light)}[id=main-navigation]>button{display:none}[id=main-navigation]{animation:navFadeIn 2s ease-in-out;transform:translate(0);animation-fill-mode:forwards;animation-iteration-count:1}@keyframes navFadeIn{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media screen and (max-width:968px){[id=main-navigation]{background-color:var(--main-color-dark);z-index:10}[id=main-navigation] button{display:flex;background-color:var(--main-color-dark);color:var(--main-color-light);border:none;font-size:1.5rem}[id=main-navigation] .main-navigation-links{display:none;flex-direction:column;position:absolute;justify-content:flex-start;top:100px;right:0;background-color:var(--main-color-dark);opacity:.85;width:50%;padding:var(--space-lg);min-height:calc(100vh - 100px)}[id=main-navigation] .main-navigation-links.show{display:flex}[id=main-navigation] .main-navigation-links a{margin:var(--space-s) 0}.main-navigation-links.show{animation:slideIn .6s ease-in-out}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}}.main-header{position:relative;min-height:70dvh;display:flex;align-items:center;justify-content:flex-start;padding:0 350px}.main-header>img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.main-header>div{position:relative;text-align:left}.main-header>div>*+*{margin-top:var(--space-lg)}.main-header>div h1{font-size:clamp(var(--text-md),5vw,var(--text-xxl));font-weight:700;text-shadow:0 0 10px var(--main-color-dark)}.main-header>div p{font-size:var(--text-xs);font-weight:500;text-shadow:0 0 20px var(--main-color-dark)}.main-header-buttons{display:flex;gap:var(--space-lg);flex-wrap:wrap}.fade-enter-active,.fade-leave-active{transition:all 1.5s ease-in-out}.fade-enter-from,.fade-leave-to{opacity:0;transform:scale3d(.8,.8,.8);filter:blur(10px)}.button-send{background-color:var(--accent-color-light);border:1px solid var(--main-color-light);border-radius:4px;font-size:var(--text-s);color:var(--main-color-dark);cursor:pointer;padding:var(--space-s);align-self:center}.button-send:hover{background-color:var(--main-color-light);color:var(--main-color-dark)}.shake{animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;transform:translateZ(0)}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.header-btn{padding:var(--space-s) var(--space-lg);background-color:var(--main-color-dark);color:var(--main-color-light);border:none;border-radius:var(--space-lg);cursor:pointer;font-size:var(--text-btn);font-weight:700}.header-btn:hover{color:var(--accent-color-light)}.form-message{margin-top:var(--space-lg);display:flex;align-items:center;justify-content:center}.form-group{margin-bottom:var(--space-lg)}.form-group input,.form-group textarea{display:block;min-width:100%;border:1px solid var(--main-color-light);border-radius:var(--space-xs);margin-top:var(--space-xs);padding:var(--space-s);min-height:40px}.form-group textarea{resize:vertical}.form-group label{font-size:var(--text-xxs)}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--main-color-medium);font-family:var(--secondary-font)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--main-color-medium);font-family:var(--secondary-font)}.form-enter-active,.form-leave-active{transition:all 2s ease-in-out}.form-enter-from,.form-leave-to{opacity:0;transform:translateX(-100%)}.input-label{display:flex;justify-content:flex-start;gap:10px;align-items:center;margin-top:10px}.contact-container{display:flex;justify-content:space-between;gap:var(--space-xl);margin-top:var(--space-lg)}.message-enter-active,.message-leave-active{transition:all .4s ease-in-out}.message-enter-from,.message-leave-to{opacity:0;transform:scale3d(.8,.8,.8)}.input-error{color:var(--secondary-color-medium);font-size:var(--text-xxs);font-weight:500}.contact-social{display:grid;grid-template-columns:repeat(2,1fr);align-items:center;gap:var(--space-xl)}.contact-social-element>a{color:var(--main-color-light);text-decoration:none;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--space-s)}.contact-social-element svg{width:48px;height:48px}.contact-social-element span{font-size:var(--text-xxs);font-weight:500}.contact-social-element>a:hover{color:var(--accent-color-light);transition:all .3s ease-in-out}.contact{animation:scaleElement 2s ease-out;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes scaleElement{0%{transform:scale3d(.3,.3,.3);opacity:.6}to{transform:scaleX(1);opacity:1}}.contact-social-element{animation:fadeInElement 2s ease;animation-fill-mode:both;animation-delay:1s;opacity:0}.contact-social-element:nth-child(2){animation-delay:1.5s}.contact-social-element:nth-child(3){animation-delay:2s}.contact-social-element:nth-child(4){animation-delay:2.5s}@media screen and (max-width:1500px){.main-header,[id=app]>main,[id=main-navigation]{padding:0 200px}}@media screen and (max-width:968px){.main-header,[id=app]>main,[id=main-navigation]{padding:0 50px}.contact-social-element span{display:none}.contact-container{flex-direction:column}.contact-social{display:flex;flex-direction:row;justify-content:center}.form-group input{width:100%}}.dropdown{position:relative;display:inline-block}.dropdown-content{display:none;position:absolute;background-color:transparent}.dropdown-content a{color:var(--main-color-dark);padding:0 var(--space-s);text-decoration:none;display:block;cursor:pointer}.dropdown-content img{filter:grayscale(70%)}.dropdown-content img:hover{filter:grayscale(0);filter:drop-shadow(0 0 4px var(--main-color-light))}.dropdown .dropdown-content{display:none}.dropdown.open .dropdown-content{display:block}.dropbtn{background-color:transparent;padding:var(--space-s);border:none;cursor:pointer}.dropbtn img{height:24px}.language-switcher-mobile{display:flex;flex-direction:row;justify-content:center;gap:var(--space-sm)}.language-switcher-mobile button{background-color:transparent;border:none;cursor:pointer}.secondaryLocale{filter:grayscale(100%)}.selectedLocale{filter:grayscale(0);border:1px solid var(--main-color-light)}.about-container{display:flex;flex-direction:column;gap:var(--space-xl)}.about-content{display:flex;flex-direction:row;gap:var(--space-lg);border-bottom:2px solid var(--main-color-light);padding-bottom:var(--space-lg)}.about-text,.about-title{text-align:left}.about-text{font-size:var(--text-xxs)}.about-content>*{flex:1}.page-container{margin-bottom:var(--space-xl);animation:fadeInAnimation 3s ease;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.about-content{animation:fadeInElement 2s ease-out;animation-fill-mode:backwards;animation-delay:0s}.about-content:nth-child(2){animation-delay:.5s}.about-content:nth-child(3){animation-delay:1s}.about-content:nth-child(4){animation-delay:1.5s}@keyframes fadeInElement{0%{opacity:0;transform:translateY(3rem)}to{opacity:1;transform:translateY(0)}}.education-title,.experience-title{font-size:var(--text-xxs);font-weight:600;-webkit-text-decoration:solid underline var(--main-color-light);text-decoration:solid underline var(--main-color-light);text-underline-offset:5px}.experience-item>p{margin-top:var(--space-s)}.experience-task-list{list-style:circle;padding-left:var(--space-xl);margin-top:var(--space-xs)}.education-container,.experience-container{display:flex;flex-direction:column;gap:var(--space-s)}@media screen and (max-width:968px){.about-content{flex-direction:column}}.scroll-to-top{position:fixed;bottom:50%;right:var(--space-xl);transform:translateX(-50%);animation:bounce 2s infinite;color:var(--accent-color-medium)}.scroll-to-top svg{max-width:var(--space-xl);max-height:var(--space-xl);filter:drop-shadow(0 0 1px var(--accent-color-light))}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}figure>img{display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.projects-container{display:flex;flex-wrap:wrap;flex-direction:column;gap:var(--space-xl)}.project-card{display:flex;flex-wrap:wrap;max-width:100%;min-height:400px;background-color:var(--main-color-light);border:3px solid var(--accent-color-medium);border-radius:var(--space-s);color:var(--main-color-dark);box-shadow:0 20px 30px -10px var(--accent-color-light)}.project-card-image,.project-card-info{display:flex;flex-basis:300px;flex-grow:1}.project-card-info{flex-direction:column;gap:var(--space-lg);padding:var(--space-lg)}.project-card-info p{font-size:var(--text-xxs)}.project-card-links{display:flex;gap:var(--space-lg)}.project-card-links a{margin-bottom:0;color:var(--main-color-dark);text-align:center}.project-card-links-btn{background:none;border:none;cursor:pointer}.project-card-tech{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:auto}.project-card{animation:animationCard 2s ease;animation-iteration-count:1;animation-fill-mode:forwards}.project-card-description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;transition:max-height .3s ease}.project-card-read-more{cursor:pointer;color:var(--primary-color);font-size:var(--text-xxs);color:var(--accent-color-dark)}.project-card-description.expanded{-webkit-line-clamp:unset}@keyframes animationCard{0%{transform:perspective(500px) rotate3d(0,-1,-1,90deg) scale(.1);transform-style:preserve-3d;opacity:.5}to{transform:perspective(500px) rotate3d(0,0,0,0deg) scale(1);opacity:1}}@media screen and (max-width:968px){.project-card{flex-direction:column}}.modal{position:fixed;top:0;left:0;max-width:100dvw;display:flex;justify-content:center;align-items:center;z-index:100;padding:0 350px}.modal-content{background-color:var(--accent-color-light);opacity:1;padding:1rem;border-radius:5px}.modal-body,.modal-footer,.modal-header{color:var(--main-color-dark)}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-body,.modal-header{margin-bottom:1rem}.modal-footer{display:flex;justify-content:flex-end}.modal-close-btn{background:none;border:none;cursor:pointer}.modal-close-btn:hover{color:var(--secondary-color-medium)}.modal-enter-active,.modal-leave-active{transition:opacity .5s}.modal-enter-from,.modal-leave-to{opacity:0}@media screen and (max-width:1500px){.modal{padding:0 200px}}@media screen and (max-width:968px){.modal{padding:0}}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-s);justify-content:center}.skills-item{display:flex;flex-direction:column;align-items:center}.skills-item p{margin-top:var(--space-xxs)}.skills-item svg{font-size:3rem}.cookie-consent-banner p{font-size:var(--text-btn)}.cookie-consent-banner{position:fixed;bottom:var(--space-xs);left:0;right:0;background-color:var(--main-color-medium);opacity:.9;color:var(--main-color-light);padding:var(--space-s);text-align:center;z-index:10}.cookie-consent-banner button{margin-left:var(--space-s);padding:var(--space-s) var(--space-lg);color:var(--main-color-light);background-color:var(--accent-color-medium);border:none;border-radius:var(--space-xs);cursor:pointer}.cookie-consent-banner button:hover{background-color:var(--accent-color-light)}.download-cv-container{display:flex;justify-content:center;margin-top:var(--space-lg)}.download-cv-button{display:flex;align-items:center;padding:var(--space-s) var(--space-lg);background-color:var(--main-color-dark);color:var(--main-color-light);border:none;cursor:pointer}.download-cv-button p{margin-left:var(--space-xs)}.form-captcha{display:flex;justify-content:left;margin-bottom:var(--space-s);min-height:48px}.captcha-not-verified{background-color:var(--secondary-color-light)}.checkbox-button{display:flex;align-items:center;border:1px solid var(--main-color-medium);border-radius:4px;padding:var(--space-s);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-button:disabled{cursor:not-allowed;opacity:.6}.checkbox{width:var(--space-lg);height:var(--space-lg);border:1px solid var(--main-color-medium);border-radius:2px;margin-right:var(--space-s);position:relative}.checkbox-button:disabled .checkbox{border-color:var(--main-color-medium)}.checkbox:after{content:"";width:var(--space-s);height:var(--space-s);background-color:var(--accent-color-medium);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);transition:transform .4s ease}.checkbox-button.checked .checkbox:after{transform:translate(-50%,-50%) scale(1)}