@media(prefers-reduced-motion:no-preference){*{scroll-behavior:smooth}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}*{scrollbar-width:thin}button{border:none;padding:0;background-color:transparent}button,input,textarea{font-size:inherit;font-family:inherit;color:inherit}::placeholder{color:inherit;opacity:.75}a{color:inherit;text-decoration:none;cursor:pointer}ul{list-style-type:none}button{cursor:pointer}fieldset{border:none}html{font-size:16px;scrollbar-width:thin}:root{--base-transition-duration: .15s;--base-content-horizontal-padding: 30px;--base-content-vertical-padding: 100px;--base-section-title-font-size: 2.15rem;--max-content-width: 1000px;--blur-img-loader-bg-color: rgba(0, 0, 0 , .05);--text-color: #2d2e32;--text-color-secondary: #555;--text-color-tertiary: #000;--contrast-text-color: #fff;--bg-color: #f9f9f9;--bg-color-secondary: #fff;--bg-color-tertiary: #eceff3;--contrast-color: #147efb;--contrast-color-secondary: #0098e0;--contrast-color-tertiary: #2c5af1;--contrast-color-quaternary: #541efb;--contrast-color-2: #ff4d6b;--contrast-color-2-secondary: #f9617a;--select-lang-bg-color: #fff;--select-lang-border-color: #e8e8e1;--contact-form-input-bg: #fff;--contact-input-border: #ced4da;--footer-color: var(--text-color);--text-color-footer: #fff}.dark-theme{--text-color: #f5f6f7;--text-color-secondary: #d0d0d5;--text-color-tertiary: #ffffff;--contrast-text-color: #2d2e32;--blur-img-loader-bg-color: rgba(59, 59, 79, .25);--bg-color: #1b1b32;--bg-color-secondary: #0a0a23;--bg-color-tertiary: #3b3b4f;--contrast-color: #99ffc2;--contrast-color-secondary: #b9fae4;--contrast-color-tertiary: #68ffa4;--contrast-color-quaternary: #b7ffb0;--contrast-color-2: #c7bbf1;--contrast-color-2-secondary: #dad3fa;--select-lang-bg-color: var(--bg-color-tertiary);--select-lang-border-color: var(--bg-color-tertiary);--contact-form-input-bg: var(--bg-color-tertiary);--contact-input-border: var(--bg-color);--footer-color: var(--bg-color-tertiary);--text-color-footer: #f5f6f7}body{background-color:var(--bg-color);font-family:Poppins,sans-serif;min-width:fit-content;color:var(--text-color);transition:background-color .15s}#about{scroll-margin-top:79px}.lcp-text{opacity:.01;font-size:1px;position:absolute}.visually-hidden{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.no-wrap{white-space:nowrap}.slide-in-and-out,.slide-in-and-back,.slide-middle-out,.appear-bg-from-center{position:relative;z-index:1}.appear-bg-from-center{overflow:hidden}.slide-in-and-out:after,.slide-in-and-out.underline:before,.slide-in-and-back:after,.slide-in-and-back.underline:before,.slide-middle-out:after,.slide-middle-out.underline:before,.appear-bg-from-center:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:.1em;background-color:currentColor;border-radius:2px;transform:scaleX(0)}.slide-in-and-out.fixed-height:after,.slide-in-and-out.underline.fixed-height:before,.slide-in-and-back.fixed-height:after,.slide-in-and-back.underline.fixed-height:before,.slide-middle-out.fixed-height:after,.slide-middle-out.underline.fixed-height:before{height:2px}.slide-in-and-out:after,.slide-in-and-back:after,.slide-middle-out:after,.appear-bg-from-center:after{transition:transform .3s,opacity .5s,background-color var(--base-transition-duration);will-change:transform}.slide-in-and-out:after{transform-origin:right}.slide-in-and-back:after{transform-origin:left}.slide-middle-out:after{transform-origin:center}.appear-bg-from-center:after{background-color:var(--bg-color-tertiary);z-index:-1;inset:0;height:100%;transform:scale(0);opacity:0}.appear-bg-from-center.rounded{border-radius:50%}.appear-bg-from-center.rounded:after{border-radius:50%}.slide-in-and-out.underline:before,.slide-in-and-back.underline:before,.slide-middle-out.underline:before{transform:scaleX(1);opacity:.3}.slide-button{position:relative;overflow:hidden;transition:background-color var(--base-transition-duration),color var(--base-transition-duration),padding .25s;will-change:padding}.slide-button:after{content:"";position:absolute;width:1.5rem;height:1.5rem;background-color:currentColor;transition:right .25s;right:-30px;top:50%;transform:translateY(-50%)}.slide-button.contact__submit-btn:after{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none'%3E%3Cpath d='m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z' /%3E%3Cpath fill='currentColor' d='M20 4a2 2 0 0 1 1.995 1.85L22 6v12a2 2 0 0 1-1.85 1.995L20 20H4a2 2 0 0 1-1.995-1.85L2 18v-1h2v1h16V7.414l-6.94 6.94a1.5 1.5 0 0 1-2.007.103l-.114-.103L4 7.414V8H2V6a2 2 0 0 1 1.85-1.995L4 4zM6 13a1 1 0 1 1 0 2H1a1 1 0 1 1 0-2zm12.586-7H5.414L12 12.586zM5 10a1 1 0 0 1 .117 1.993L5 12H2a1 1 0 0 1-.117-1.993L2 10z' /%3E%3C/g%3E%3C/svg%3E") no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none'%3E%3Cpath d='m12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.018-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z' /%3E%3Cpath fill='currentColor' d='M20 4a2 2 0 0 1 1.995 1.85L22 6v12a2 2 0 0 1-1.85 1.995L20 20H4a2 2 0 0 1-1.995-1.85L2 18v-1h2v1h16V7.414l-6.94 6.94a1.5 1.5 0 0 1-2.007.103l-.114-.103L4 7.414V8H2V6a2 2 0 0 1 1.85-1.995L4 4zM6 13a1 1 0 1 1 0 2H1a1 1 0 1 1 0-2zm12.586-7H5.414L12 12.586zM5 10a1 1 0 0 1 .117 1.993L5 12H2a1 1 0 0 1-.117-1.993L2 10z' /%3E%3C/g%3E%3C/svg%3E") no-repeat}.slide-button.about__download-link:after{mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m17 17.2l-.9-.9q-.275-.275-.7-.275t-.7.275t-.275.7t.275.7l2.6 2.6q.3.3.7.3t.7-.3l2.6-2.6q.275-.275.275-.7t-.275-.7t-.7-.275t-.7.275l-.9.9v-3.175q0-.425-.288-.712T18 13.025t-.712.288t-.288.712zM15 22h6q.425 0 .713.288T22 23t-.288.713T21 24h-6q-.425 0-.712-.288T14 23t.288-.712T15 22m-9-2q-.825 0-1.412-.587T4 18V4q0-.825.588-1.412T6 2h6.175q.4 0 .763.15t.637.425l4.85 4.85q.275.275.425.638t.15.762v1.2q0 .425-.288.712t-.712.288t-.712-.288t-.288-.712V9h-3.5q-.625 0-1.062-.437T12 7.5V4H6v14h5q.425 0 .713.288T12 19t-.288.713T11 20zm0-2V4z' /%3E%3C/svg%3E") no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='m17 17.2l-.9-.9q-.275-.275-.7-.275t-.7.275t-.275.7t.275.7l2.6 2.6q.3.3.7.3t.7-.3l2.6-2.6q.275-.275.275-.7t-.275-.7t-.7-.275t-.7.275l-.9.9v-3.175q0-.425-.288-.712T18 13.025t-.712.288t-.288.712zM15 22h6q.425 0 .713.288T22 23t-.288.713T21 24h-6q-.425 0-.712-.288T14 23t.288-.712T15 22m-9-2q-.825 0-1.412-.587T4 18V4q0-.825.588-1.412T6 2h6.175q.4 0 .763.15t.637.425l4.85 4.85q.275.275.425.638t.15.762v1.2q0 .425-.288.712t-.712.288t-.712-.288t-.288-.712V9h-3.5q-.625 0-1.062-.437T12 7.5V4H6v14h5q.425 0 .713.288T12 19t-.288.713T11 20zm0-2V4z' /%3E%3C/svg%3E") no-repeat}@media screen and (pointer:fine)and (hover:hover){.slide-in-and-out:is(:hover,:focus-visible):after{transform:scaleX(1);transform-origin:left}.slide-in-and-back:is(:hover,:focus-visible):after,.slide-middle-out:is(:hover,:focus-visible):after{transform:scaleX(1)}.appear-bg-from-center:is(:hover,:focus-visible):after{transform:scale(1);opacity:1}.slide-button:is(:hover,:focus-visible){padding:12px 55px 12px 25px;transition:background-color .15s,padding .4s}.slide-button:is(:hover,:focus-visible):after{right:17px;transition:right .4s}}.custom-select-container{display:inline-block;position:relative;border-radius:2px}.custom-select__label-container{display:flex;align-items:center;padding:7px 36px 7px 10px;border-radius:2px;border:1px solid var(--select-lang-border-color);cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px;width:170px;word-break:break-word;font-size:.925rem;transition:color var(--base-transition-duration),border var(--base-transition-duration)}.mobile-menu__custom-select-container .custom-select__label-container{font-size:1.075rem}.custom-select__label-container img{width:1.5rem}.mobile-menu__custom-select-container .custom-select__label-container img{width:1.55rem}.custom-select__chevron-icon{width:.75rem;position:absolute;top:50%;transform:translateY(-50%);right:15px;will-change:transform;transition:transform var(--base-transition-duration),color var(--base-transition-duration);pointer-events:none}.mobile-menu__custom-select-container .custom-select__chevron-icon,.custom-select__chevron-icon.active{transform:translateY(-50%) rotate(180deg)}.mobile-menu__custom-select-container .custom-select__chevron-icon.active{transform:translateY(-50%) rotate(0)}.custom-select__options{display:none;position:absolute;border:1px solid var(--select-lang-border-color);width:100%;overflow-y:auto;scrollbar-width:thin;border-radius:2px;top:50px;background-color:var(--select-lang-bg-color);padding:10px 0;box-shadow:4px 4px 5px #080f3406}.mobile-menu__custom-select-container .custom-select__options{bottom:50px;top:auto}.custom-select__options.show{display:block}.custom-select__option{cursor:pointer;display:flex;align-items:center;gap:10px;padding:8px 14px}.mobile-menu__custom-select-container .custom-select__option{font-size:1.075rem}.custom-select__option img{width:1.5rem}.mobile-menu__custom-select-container .custom-select__option img{width:1.55rem}.custom-select__option.selected span{color:var(--contrast-color-tertiary)}.mobile-menu__custom-select-container{display:none}.mobile-menu{background-color:var(--bg-color-secondary);position:fixed;inset:0;transform:translate(-100vw);z-index:80;align-items:center;justify-content:center;transition:transform .3s ease-in-out;display:none}.mobile-menu.show{transform:translate(0)}.mobile-menu__close-btn{position:absolute;top:27px;right:37px;padding:3px;line-height:0}.mobile-menu__close-icon{width:2rem}.mobile-menu__custom-select-container{position:absolute!important;left:30px;bottom:40px}.mobile-menu__links-list{display:flex;flex-flow:column;align-items:center;gap:35px}.mobile-menu__title{font-size:1.45rem;font-weight:500}.mobile-menu__link{padding:3px;color:var(--text-color-secondary);transition:color var(--base-transition-duration)}.navigation-bar{background-color:var(--bg-color-secondary);padding:0 50px;display:flex;align-items:center;width:100%;box-shadow:0 0 10px #00000017;position:fixed;top:0;z-index:50;height:79px;will-change:transform;transition:background-color var(--base-transition-duration),transform .425s ease-in-out}.scroll-down .navigation-bar{transform:translateY(-90px)}.scroll-up .navigation-bar{transform:translateY(0)}.navigation-bar__nav{flex:1;display:flex;justify-content:space-between;align-items:center}.navigation-bar__right-container{display:flex;align-items:center;gap:1.25rem}.navigation-bar__links-list{display:flex;gap:1.25rem}.navigation-bar__title{font-size:1.175rem}.navigation-bar__title-link{color:var(--text-color-tertiary);transition:color var(--base-transition-duration);padding:3px}.navigation-bar__links-list h2{font-size:1.05rem;color:var(--text-color);font-weight:600}.navigation-bar__link{padding:3px;transition:color var(--base-transition-duration)}.navigation-bar__menu-btn{padding:5px;margin:0 -5px;line-height:0;display:none;color:var(--text-color);transition:color var(--base-transition-duration)}.navigation-bar__menu-icon{width:1.75rem}.navigation-bar__toggle-theme-btn{line-height:0;transition:color 1s;padding:3px;margin:0 -3px}.navigation-bar__light-theme-icon{width:1.85rem;display:none}.navigation-bar__dark-theme-icon{width:1.85rem}.hero-header{margin:0 auto;min-height:max(750px,100vh);display:flex;justify-content:center;align-items:center;padding:0 var(--base-content-horizontal-padding)}.hero-container{max-width:var(--max-content-width)}.hero__title-image{display:flex;column-gap:5rem;margin:0 0 100px}.hero__title-container{flex:1}.hero__title{font-size:3.35rem;line-height:4rem;margin:20px 0;color:var(--text-color);transition:color var(--base-transition-duration)}.hero__title-hand-img{width:1.2em;vertical-align:middle;margin-left:10px}.hero__title-intro-text{font-size:1.1rem;color:var(--text-color-secondary);margin-bottom:25px;transition:color var(--base-transition-duration)}.hero__title-location-img{width:1.25em;vertical-align:text-bottom}.hero__social-links-list{display:flex;align-items:center;gap:.75rem}.hero__social-link-icon{width:2.25rem;color:var(--text-color);transition:color var(--base-transition-duration)}.hero__freecodecamp-icon{width:2.4rem}.hero__github-icon{width:2rem}.hero__social-link{display:block;line-height:0}.hero__avatar-container{width:350px;height:350px;overflow:hidden;border-radius:50%;background-color:var(--blur-img-loader-bg-color)}.hero__avatar{width:100%;height:100%;object-fit:cover}.hero__tech-stack{display:flex;align-items:center;gap:70px}.hero__tech-stack-title{border-right:2px solid var(--text-color);padding-right:20px;font-weight:600;font-size:1.1rem;transition:color var(--base-transition-duration),border-color var(--base-transition-duration)}.hero__tech-stack-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero__tech-stack-list img{width:3.125rem;display:block;transition:transform .15s;border-radius:10px}.about-section{background-color:var(--bg-color-secondary);padding:var(--base-content-vertical-padding) var(--base-content-horizontal-padding);transition:background-color var(--base-transition-duration)}.about-container{max-width:var(--max-content-width);margin:0 auto;display:flex;text-align:center;align-items:center;gap:40px}.about__image-container{max-width:400px;max-height:540px;height:100%;width:100%;overflow:hidden;border-radius:5px;background-color:var(--blur-img-loader-bg-color)}.about__image{object-fit:cover;width:100%;height:100%;display:block}.about__info{flex:1}.about__info-title-container{display:inline-block;position:relative;margin:0 0 40px;font-size:var(--base-section-title-font-size)}.about__title{color:var(--contrast-color);font-size:1em;transition:color var(--base-transition-duration)}.about__title-underline{position:absolute;width:2.5em;height:.1165em;background-color:var(--contrast-color);bottom:-20px;left:50%;transform:translate(-50%);border-radius:5px;transition:background-color var(--base-transition-duration)}.about__text{margin:10px 0;font-size:1.025rem;transition:color var(--base-transition-duration)}.about__download-link{margin:25px 0 0;background-color:var(--contrast-color);color:var(--contrast-text-color);display:inline-block;padding:12px 30px;border-radius:2px;font-size:1.1rem;font-weight:500}.projects-section{padding:var(--base-content-vertical-padding) var(--base-content-horizontal-padding);text-align:center}.projects-section-container{max-width:var(--max-content-width);margin:0 auto}.projects-section__title-container{display:inline-block;position:relative;margin:0 0 70px;font-size:var(--base-section-title-font-size)}.projects-section__title{color:var(--text-color-secondary);font-size:1em;transition:color var(--base-transition-duration)}.projects-section__title-underline{position:absolute;width:2.5em;background-color:var(--text-color-secondary);bottom:-20px;left:50%;transform:translate(-50%);height:.1165em;border-radius:5px;transition:background-color var(--base-transition-duration)}.project-list{display:flex;flex-flow:column;gap:50px}.project{display:grid;background-color:var(--bg-color-secondary);border-radius:2px;box-shadow:0 0 10px #0000001a;align-items:center;transition:background-color var(--base-transition-duration)}.project.original{grid-template-columns:4fr 3fr}.project.mirrowed{grid-template-columns:3fr 4fr}.project__img-link{position:relative;display:block;overflow:hidden;height:100%;width:100%;aspect-ratio:3 / 2}.project.original .project__img-link{box-shadow:5px 0 10px -2px #0000000d}.project.mirrowed .project__img-link{box-shadow:-5px 0 10px -2px #0000000d}.project__img-container{width:100%;height:100%;background-color:var(--blur-img-loader-bg-color)}.project__img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}.project__tooltip{position:absolute;bottom:35px;will-change:right;display:flex;align-items:center;gap:15px;background-color:var(--bg-color);padding:10px 20px;opacity:1;transition:left .15s,right .15s,opacity var(--base-transition-duration);color:var(--text-color-tertiary);pointer-events:none}.project.original .project__tooltip{right:-220px;box-shadow:5px 5px 0 var(--contrast-color-secondary)}.project.mirrowed .project__tooltip{left:-220px;box-shadow:-5px 5px 0 var(--contrast-color-secondary)}.project__tooltip-icon{width:1.9rem}.project__info{padding:20px;transition:background-color var(--base-transition-duration)}.project__title{display:inline-flex;margin-bottom:20px;font-size:1.7rem;align-items:center;gap:5px}.project__demo-link{display:block;padding:3px 5px;transition:color var(--base-transition-duration)}.project__summary-text{margin-bottom:15px;font-size:.99rem;color:var(--text-color-secondary);transition:color var(--base-transition-duration)}.project__technologies-list{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 30px;flex-wrap:wrap}.project__technologies-list img{width:2.65rem;display:block;transition:transform .15s;border-radius:8px}.project__links-container{display:grid;justify-content:center;grid-template-columns:1fr 1fr;justify-items:center;align-items:center}.project__link{gap:5px;display:flex;align-items:center;justify-content:center;color:inherit}.project__link-title{font-weight:500;font-size:1.125rem;color:var(--text-color-secondary);transition:color var(--base-transition-duration)}.project__link-icon{width:1.675rem;transition:color var(--base-transition-duration)}.project__video-link{line-height:0;transition:color var(--base-transition-duration),opacity var(--base-transition-duration)}.project__video-link-icon{width:2rem}.project__more-info-btn{display:none;position:absolute;background-color:var(--bg-color);padding:7px;border-radius:50%;z-index:2;top:14px;right:15px;justify-content:center;align-items:center;box-shadow:0 0 10px #00000026;transition:color var(--base-transition-duration),background-color var(--base-transition-duration)}.project__more-info-icon{width:1.85rem}.project__close-btn{display:none;position:absolute;right:20px;top:20px;z-index:2;background-color:var(--text-color-secondary);color:var(--contrast-text-color);border-radius:50%;box-shadow:0 0 10px #0000001a;padding:4px;transition:background-color var(--base-transition-duration),color var(--base-transition-duration)}.project__close-icon{width:1.55rem}.skills{background-color:var(--contrast-color-2);padding:20px var(--base-content-horizontal-padding);color:var(--contrast-text-color);transition:background-color var(--base-transition-duration),color var(--base-transition-duration)}.slider__title-container{display:flex;align-items:center;gap:1rem}.silder__title{font-size:1.75rem}.slider__progress-bar{position:relative;height:.5rem;width:100%;border:1px solid var(--contrast-text-color);border-radius:10px;transition:border var(--base-transition-duration)}.slider__progress-bar-inner{position:absolute;top:0;left:0;width:0%;height:100%;background-color:var(--contrast-text-color);transition:background-color var(--base-transition-duration)}.slider-container{border-radius:5px;max-width:1000px;margin:0 auto}.slider{background-color:var(--contrast-color-2-secondary);cursor:grab;position:relative;height:200px;overflow:scroll;scroll-behavior:auto!important;transition:background-color var(--base-transition-duration)}.slider__inner{position:absolute;display:flex;left:0;gap:4rem;height:100%;padding:0 20px;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.slider__item{display:flex;flex-flow:column;align-items:center;justify-content:center}.slider__item-icon{width:5.3rem}.slider__item-title{font-size:1.2rem;font-weight:500;white-space:nowrap}.slider::-webkit-scrollbar{display:none}.slider{-ms-overflow-style:none;scrollbar-width:none}.contact{padding:var(--base-content-vertical-padding) var(--base-content-horizontal-padding)}.contact-container{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}.contact__form{padding:30px;background-color:var(--bg-color-secondary);box-shadow:0 0 10px #0000001a;border-radius:2px;transition:background-color var(--base-transition-duration)}.contact__form-title{font-size:var(--base-section-title-font-size);margin:0 0 30px;transition:color var(--base-transition-duration)}.contact__name-input,.contact__email-input,.contact__message-textarea{border:1px solid var(--contact-input-border);border-radius:5px;background-color:var(--contact-form-input-bg);transition:border var(--base-transition-duration),background-color var(--base-transition-duration),color var(--base-transition-duration)}.contact__name-input,.contact__email-input{padding:12px 18px;font-size:1rem;margin:0 0 20px;width:100%;flex:1}.contact__name-email-container{display:flex;gap:20px}.contact__message-textarea{resize:vertical;width:100%;height:275px;min-height:200px;max-height:400px;padding:12px 18px;font-size:1rem;margin:0 0 20px}.contact__submit-btn{background-color:var(--contrast-color);color:var(--contrast-text-color);padding:12px 30px;font-size:1.1rem;font-weight:500;border-radius:2px}.contact__submit-message{margin-top:20px;display:none;transition:color var(--base-transition-duration)}.contact__submit-message.active{display:block}.contact__submit-message.error{color:var(--contrast-color-2)}.contact__image-container{text-align:center}.contact__coffee-img-container{aspect-ratio:1 / 1;width:75%;height:75%;display:inline-block;margin:0 0 20px}.contact__coffee-img{width:100%;height:100%;object-fit:cover;display:block}.contact__coffee-icon{width:75%;display:none;margin:0 0 20px}.contact__title{font-size:2.5rem;font-weight:600;line-height:3rem;transition:color var(--base-transition-duration)}.contact__title span{font-size:1.3em;font-weight:700;color:var(--text-color-tertiary);transition:color var(--base-transition-duration)}footer{background-color:var(--footer-color);color:var(--text-color-footer);padding:60px var(--base-content-horizontal-padding);transition:color var(--base-transition-duration),background-color var(--base-transition-duration)}.footer-container{display:flex;justify-content:space-between;max-width:1000px;margin:0 auto;align-items:center;gap:30px}.footer__text{font-size:1.125rem;font-weight:500;white-space:nowrap}.footer__text-link{font-size:1.1em;font-weight:700;white-space:wrap}.footer__text-link-line-break{display:none}.footer__social-links-list{display:flex;align-items:center;gap:.75rem}.footer__social-link-icon{width:2rem;transition:color var(--base-transition-duration)}.footer__freecodecamp-icon{width:2.1rem}.footer__github-icon{width:1.9rem}.footer__social-link{display:block;line-height:0;transition:transform var(--base-transition-duration);will-change:transform}.footer__right-container{display:flex;align-items:center;gap:1.25rem}.footer__scroll-to-top-btn{line-height:0;will-change:transform;transition:transform .15s}.footer__scroll-to-top-icon{width:1.75rem}@media screen and (pointer:fine)and (hover:hover){.custom-select__option:is(:hover,:focus-visible){color:var(--contrast-color)}.mobile-menu__link:is(:hover,:focus-visible){color:var(--contrast-color)}.navigation-bar__link:is(:hover,:focus-visible),.navigation-bar__menu-btn:is(:hover,:focus-visible){color:var(--contrast-color)}.hero__social-link:is(:hover,:focus-visible) .hero__social-link-icon{color:var(--contrast-color)}.about__download-link:is(:hover,:focus-visible){background-color:var(--contrast-color-tertiary)}.project.original .project__img-link:is(:hover,:focus-visible) .project__tooltip{right:20px;opacity:1}.project.mirrowed .project__img-link:is(:hover,:focus-visible) .project__tooltip{left:20px;opacity:1}.project__link:is(:hover,:focus-visible) .project__link-title{color:inherit}.project__link:is(:hover,:focus-visible){color:var(--contrast-color-secondary)}.project__video-link:is(:hover,:focus-visible){opacity:.75}.project__more-info-btn:is(:hover,:focus-visible){color:var(--text-color-secondary)}.project__close-btn:is(:hover,:focus-visible){background-color:var(--contrast-color-2-secondary)}@media screen and (max-width:1050px){.project.original .project__img-link:is(:hover,:focus-visible) .project__tooltip{left:20px;right:auto;opacity:1}}.contact__submit-btn:is(:hover,:focus-visible){background-color:var(--contrast-color-tertiary)}.footer__social-link:is(:hover,:focus-visible){transform:scale(1.1)}.footer__scroll-to-top-btn:is(:hover,:focus-visible){transform:translateY(-5px)}}.mobile-menu__close-btn:active .mobile-menu__close-icon{opacity:.7}.mobile-menu__link:active,.navigation-bar__link:active,.navigation-bar__menu-btn:active,.hero__social-link:active .hero__social-link-icon{transition:none;color:var(--contrast-color-tertiary)}.about__download-link:active{transition:padding .25s;background-color:var(--contrast-color-quaternary)}.project__more-info-btn:active,.project__close-btn:active{transform:scale(.95)}.project__link:active .project__link-title{transition:none;color:inherit}.project__link:active .project__link-icon{transition:none}.project__link:active{transition:none;color:var(--contrast-color)}.contact__submit-btn:active{transition:padding .25s;background-color:var(--contrast-color-quaternary)}@media screen and (max-width:1110px){.navigation-bar{padding:0 var(--base-content-horizontal-padding)}}@media screen and (max-width:1050px){.project.original .project__img-link,.project.mirrowed .project__img-link{box-shadow:none}.projects-section-container{max-width:600px}.project.original .project__tooltip{left:-220px;right:auto;box-shadow:-5px 5px 0 var(--contrast-color-secondary)}.project{position:relative;display:block;aspect-ratio:3 / 2}.project__more-info-btn{display:flex;will-change:transform}.project__more-info-btn.hide{display:none}.project__close-btn{justify-content:center;align-items:center;will-change:transform}.project__close-btn.show{display:flex}.project__img-link{aspect-ratio:initial;height:100%;width:100%}.project__img-link.hide{display:none}.project__info{position:absolute;flex-flow:column;justify-content:center;inset:0;padding:20px;height:100%;overflow:auto;scrollbar-width:thin;scrollbar-gutter:stable both-edges;display:none}.project__info.show{display:flex}.project__title{align-self:center}.about-container{flex-flow:column;max-width:650px}#about{scroll-margin-top:0}.contact-container{grid-template-columns:1fr;max-width:650px;row-gap:50px}.contact__image-container{grid-row:1}}@media screen and (max-width:900px){.navigation-bar__links-list{display:none}.navigation-bar__menu-btn{display:initial}.hero-header{padding:124px var(--base-content-horizontal-padding) 75px var(--base-content-horizontal-padding)}.hero-container{display:flex;flex-flow:column;align-items:center}.hero__title-image{display:grid;grid-template-columns:1fr;row-gap:3rem;max-width:500px;margin:0 0 50px}.hero__avatar-container{grid-row:1;margin:0 auto}.hero__title-container{text-align:center}.hero__social-links-list{justify-content:center}.hero__tech-stack{display:block;text-align:center}.hero__tech-stack-title{border-right:none;border-bottom:2px solid var(--text-color);padding:0 0 10px;margin:0 0 30px;display:inline-block}.hero__tech-stack-list{justify-content:center}}@media screen and (max-width:600px){.mobile-menu__custom-select-container{display:inline-block}.navigation-bar__custom-select-container{display:none}}@media screen and (max-width:560px){.project__info{justify-content:normal}}@media screen and (max-width:540px){.footer__text-link-line-break{display:initial}}@media screen and (max-height:800px){html{font-size:15px}}@media screen and (max-width:500px){:root{--base-content-horizontal-padding: 20px;--base-content-vertical-padding: 75px}html{font-size:15px}.hero__title{font-size:3rem}.hero__avatar-container{width:300px;height:300px}.hero__title-image{row-gap:2rem}.contact__name-email-container{flex-flow:column;gap:0}.contact__form{text-align:center}footer{padding:40px var(--base-content-horizontal-padding)}}@media screen and (max-width:450px){.contact__form{padding:25px 20px}}@media screen and (max-width:400px){.hero__title{font-size:2.75rem;line-height:1.4}.hero__avatar-container{width:250px;height:250px}.hero__title-image{row-gap:1rem}.contact__title{font-size:2.25rem}}@media screen and (max-width:380px){.footer__text a.slide-in-and-out.underline:before{display:none}}.bouncer-container{position:fixed;background-color:var(--bg-color-secondary);inset:0;z-index:100;transition:background-color .5s}.bouncer{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;padding-top:100px;gap:.4rem;transition:opacity var(--base-transition-duration)}.bouncer div{--bounce-animation-duration: .5s;width:1.35rem;height:1.35rem;background:var(--contrast-color);border-radius:50%;animation:bounce var(--bounce-animation-duration) cubic-bezier(.19,.57,.3,.98) infinite alternate .5s,fallDown var(--bounce-animation-duration) cubic-bezier(.67,.11,1,.43)}.bouncer div:nth-child(2){opacity:.8;animation-delay:.6s,0s;animation-duration:var(--bounce-animation-duration),.6s}.bouncer div:nth-child(3){opacity:.6;animation-delay:.7s,0s;animation-duration:var(--bounce-animation-duration),.7s}.bouncer div:nth-child(4){opacity:.4;animation-delay:.8s,0s;animation-duration:var(--bounce-animation-duration),.8s}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-100px)}}@keyframes fallDown{0%{transform:translateY(-100px)}to{transform:translateY(0)}}.blur-img-loader{position:relative;background-size:cover;background-position:center}.blur-img-loader:before{content:"";position:absolute;inset:0;animation:pulse 2s infinite ease-in-out alternate}.blur-img-loader.loaded:before{content:none}.blur-img-loader img{opacity:0;transition:opacity .25s ease-in-out;object-fit:cover;object-position:center}.blur-img-loader.loaded img{opacity:1}@keyframes pulse{0%{background-color:#fff0}to{background-color:#ffffff40}}
