@font-face{font-family:Raleway;src:url(/assets/Raleway-VariableFont_wght-CdkF85Lz.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Red Hat Display;src:url(../assets/fonts/RedHatDisplay-VariableFont_wght.ttf) format("truetype");font-weight:400;font-style:normal}[site-theme=dark]{--bg-color: #081a24;--text-color: #f3f3f3;--active-link: #f3f3f3;--active-link-bg: #669bbc;--box-shadow-nav: #1d2d44}[site-theme=light]{--bg-color: #eef7fa;--text-color: #14213d;--active-link: #f3f3f3;--active-link-bg: #1d2d44;--box-shadow-nav: #b6b6b6}.no-select,.main-content h1,.main-content h2,.main-content p,footer p{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;cursor:default}html,body{height:100%;margin:0;padding:0;background:var(--bg-color);color:var(--text-color)}body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--bg-color)}#root{flex:1;display:flex;flex-direction:column}.main-content{padding:20px;font-family:Raleway,sans-serif;background-color:var(--bg-color);margin-top:30px;margin-bottom:40px}.main-content>*{margin-top:0;margin-bottom:30px}.main-content h1{font-weight:700;font-size:2.25rem;margin-bottom:20px;text-align:center;background:linear-gradient(90deg,#ff8a00,#e52e71);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.main-content h2{font-weight:500;font-size:2rem;margin-bottom:15px;text-align:center}.main-content p{text-align:center;font-weight:400;font-size:1.25rem;margin-left:auto;margin-right:auto}@media (min-width: 768px){.main-content{max-width:1000px;margin-left:auto;margin-right:auto}.main-content h1{font-size:3rem}.main-content h2{font-size:2.25rem}.main-content p{font-size:1.5rem}}.inline-link{color:var(--text-color);text-decoration:underline;text-underline-offset:3px;font-weight:600}nav{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;position:sticky;top:0;min-height:60px;padding:0 20px;z-index:200;background:var(--bg-color);box-shadow:0 4px 8px var(--box-shadow-nav)}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:none;border:none;padding:0;cursor:pointer;z-index:201}.menu-toggle span{display:block;width:100%;height:3px;background-color:var(--text-color);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}nav ul{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;list-style:none;margin:0;padding:0;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-color);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease;z-index:199}nav ul.open{opacity:1;visibility:visible;pointer-events:auto}nav ul li{list-style:none}.active-page{background-color:var(--active-link-bg);color:var(--active-link);border-radius:8px;transition:color background-color .3s ease}.active-page:hover{color:#fff;background-color:#3e5c76}nav ul li a{font-family:Raleway,sans-serif;font-weight:600;font-size:1.5rem;padding:.5rem 1rem;text-decoration:none;color:var(--text-color);border-radius:8px;transition:color .3s ease,background-color .3s ease}nav ul li a:hover{color:#e63946}@media (min-width: 768px){nav{justify-content:center;min-height:auto;padding-top:20px;padding-bottom:20px}.menu-toggle{display:none}nav ul{position:static;flex-direction:row;background:transparent;opacity:1;visibility:visible;pointer-events:auto;gap:40px}nav ul li a{font-size:1.25rem;padding:.5rem 1rem}}header{background-color:#0f2027;padding:20px;text-align:center;color:#fff;position:relative;height:fit-content;overflow:hidden}header h1{position:relative;z-index:1;color:#fff;text-align:center;font-size:3rem;margin:0;padding:50px 0;font-family:Red Hat Display,sans-serif;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.aurora-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.aurora{width:100%;height:100%;position:relative;overflow:hidden}.aurora__item{position:absolute;overflow:hidden;filter:blur(40px);opacity:.5;border-radius:50%;animation:aurora-movement 20s infinite ease-in-out}.aurora__item:nth-child(1){width:40vw;height:40vw;top:-25%;left:-10%;background:radial-gradient(circle at 50% 50%,rgba(58,141,222,.8),transparent);animation-delay:0s}.aurora__item:nth-child(2){width:50vw;height:50vw;top:-20%;right:-15%;background:radial-gradient(circle at 50% 50%,rgba(79,142,247,.8),transparent);animation-delay:-5s}.aurora__item:nth-child(3){width:45vw;height:45vw;bottom:-25%;left:10%;background:radial-gradient(circle at 50% 50%,rgba(30,60,114,.8),transparent);animation-delay:-10s}.aurora__item:nth-child(4){width:55vw;height:55vw;bottom:-30%;right:5%;background:radial-gradient(circle at 50% 50%,rgba(41,128,185,.8),transparent);animation-delay:-15s}@keyframes aurora-movement{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-40px,30px) scale(.9)}}footer{background-color:#1d2d44;color:#fff;padding:20px;text-align:center;font-family:Raleway,sans-serif;box-shadow:0 -4px 8px var(--box-shadow-nav);margin-top:auto}footer p{font-size:1.25rem;text-align:center;margin:0}.theme-toggle{position:fixed;bottom:16px;right:16px;z-index:1000;width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--text-color);border-radius:50%;background-color:var(--bg-color);cursor:pointer;opacity:.85;transition:opacity .2s ease,transform .2s ease}.theme-toggle:hover{opacity:1;transform:scale(1.05)}.theme-toggle-icon{position:relative;width:24px;height:24px;background-color:var(--text-color);-webkit-mask-image:var(--icon-mask);mask-image:var(--icon-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.theme-toggle-icon--auto{background-color:transparent;-webkit-mask-image:none;mask-image:none}.theme-toggle-icon-half{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--text-color);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:var(--icon-mask);mask-image:var(--icon-mask)}.theme-toggle-icon-half--sun{clip-path:polygon(0 0,100% 0,0 100%)}.theme-toggle-icon-half--moon{clip-path:polygon(100% 0,100% 100%,0 100%)}.theme-toggle-icon-divider{position:absolute;top:50%;left:50%;width:145%;height:2px;background-color:var(--text-color);transform:translate(-50%,-50%) rotate(-45deg)}.prettybox{border-radius:12px;border:2px solid var(--text-color);padding:20px;background-color:var(--bg-color);width:90%;max-width:600px;margin-left:auto;margin-right:auto}.prettybox-title{text-align:center;margin-bottom:15px;border-bottom:2px solid var(--text-color);padding-bottom:10px}.prettybox-title h3{margin:0;font-size:1.5rem;font-family:Raleway,sans-serif;color:var(--text-color)}.prettybox-body{text-align:left;margin-bottom:15px}.prettybox-body p{margin:0 auto;font-size:1rem;font-family:Raleway,sans-serif;color:var(--text-color);line-height:1.6;width:90%!important}.prettybox-list{text-align:left;display:flex;flex-direction:column;gap:10px}.prettybox-list-item{font-size:1rem;font-family:Raleway,sans-serif;color:var(--text-color);line-height:1.5}.prettybox-list-key{font-weight:600}#home-header{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;gap:30px;margin-left:auto;margin-right:auto}#home-header #home-header-profile{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0;gap:20px;padding:30px;border:2px solid var(--box-shadow-nav);border-radius:20px;box-sizing:border-box}#home-header #home-header-profile .profile-pic{width:200px;height:200px;border-radius:50%;object-fit:cover}#home-header #home-header-text{font-size:1.25rem;line-height:1.5}@media (min-width: 768px){#home-header{flex-direction:row;align-items:flex-start}#home-header #home-header-profile{width:280px;padding:38px}#home-header #home-header-text{font-size:1.5rem}}.social-icons .social-icon{height:1.5rem;width:1.5rem;margin-right:12px;display:block;flex-shrink:0;background-color:var(--text-color);-webkit-mask-image:var(--icon-mask);mask-image:var(--icon-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:background-color .3s ease}.social-icons ul{list-style-type:none;padding:0;display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-start;gap:20px;margin:0}.social-icons ul li{font-size:1rem;align-items:flex-start}.social-icons ul li p{width:150px;text-align:left;margin:0}.social-icons ul li a{display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--text-color);text-decoration:none;transition:color .3s}.social-icons ul li a:hover{color:#fc0}.portfolio-container{display:grid;grid-template-columns:1fr;gap:24px;width:90%;max-width:1200px;margin:0 auto;justify-items:center}.portfolio-element{border:2px solid var(--text-color);border-radius:12px;overflow:hidden;background-color:var(--bg-color);width:100%;max-width:350px;min-height:350px;max-height:450px;display:flex;flex-direction:column;transition:all .25s ease-out}.portfolio-element:hover{transform:scale(1.015);box-shadow:0 4px 12px #00000026}.portfolio-element .portfolio-header{display:flex;align-items:center}.portfolio-element .portfolio-header .portfolio-icon{display:inline-block;height:40px;width:40px;margin:20px 20px 10px;flex-shrink:0;background-color:var(--text-color);-webkit-mask-image:var(--icon-mask);mask-image:var(--icon-mask);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;transition:background-color .3s ease}.portfolio-element .portfolio-header .portfolio-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.portfolio-element .portfolio-header .portfolio-tags .portfolio-tag{background-color:var(--text-color);color:var(--bg-color);padding:4px 10px;border-radius:12px;font-size:.875rem;font-weight:500;width:fit-content;white-space:nowrap}.portfolio-element .portfolio-content{padding-top:0;padding-left:20px;padding-right:20px;cursor:pointer;display:flex;flex-direction:column;flex:1}.portfolio-element .portfolio-content h2{margin-top:0;margin-bottom:8px}.portfolio-element .portfolio-content p{margin-top:0;margin-bottom:12px;flex:1}.portfolio-element .portfolio-content .portfolio-buttons{display:flex;justify-content:space-between;gap:16px;margin-top:auto;margin-bottom:20px;width:100%}.portfolio-element .portfolio-content .portfolio-buttons a,.portfolio-element .portfolio-content .portfolio-buttons p{background-color:var(--text-color);color:var(--bg-color);padding:6px 12px;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;margin:0;transition:opacity .15s ease-out}.portfolio-element .portfolio-content .portfolio-buttons a:hover,.portfolio-element .portfolio-content .portfolio-buttons p:hover{opacity:.75}@media (min-width: 768px){.portfolio-container{grid-template-columns:repeat(auto-fit,minmax(350px,2fr));gap:32px;width:80%}.portfolio-element{width:350px}}@keyframes overlay-fade-in{0%{background-color:#0000}to{background-color:#0000008c}}@keyframes overlay-fade-out{0%{background-color:#0000008c}to{background-color:#0000}}@keyframes modal-ease-in{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modal-ease-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(16px) scale(.97)}}.portfolio-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:overlay-fade-in .2s ease-out forwards}.portfolio-modal-overlay.portfolio-modal-overlay--closing{animation:overlay-fade-out .25s ease-in forwards}.portfolio-modal{position:relative;width:100%;display:flex;flex-direction:column;max-width:700px;max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;border:2px solid var(--text-color);border-radius:12px;background-color:var(--bg-color);color:var(--text-color);padding:20px;animation:modal-ease-in .25s ease-out forwards}.portfolio-modal.portfolio-modal--closing{animation:modal-ease-out .25s ease-in forwards}.portfolio-modal h2{margin-top:0;margin-bottom:12px}.portfolio-modal p{margin:0;line-height:1.6}.portfolio-modal ul{padding-left:20px;margin:0;list-style:none}.portfolio-modal ul li{margin-bottom:8px;line-height:1.4;font-size:1.1rem}.portfolio-modal .portfolio-modal-close{position:absolute;top:8px;right:10px;border:0;background:transparent;color:var(--text-color);font-size:1.75rem;line-height:1;cursor:pointer;opacity:.8;transition:opacity .15s ease-out}.portfolio-modal .portfolio-modal-close:hover{opacity:1}.back-button{display:block;margin-bottom:1rem;padding:.5rem 1rem;background-color:#007bff;color:#fff;text-decoration:none;border-radius:4px;margin:auto;width:fit-content;transition:background-color .3s ease,color .3s ease}.back-button:hover{background-color:#0056b3}.sub-nav{display:flex;justify-content:center;gap:20px;margin-bottom:2rem;padding:0;list-style:none}.sub-nav li a{font-family:Raleway,sans-serif;font-weight:600;font-size:1.25rem;padding:.5rem 1rem;text-decoration:none;color:var(--text-color);border-radius:8px;transition:color .3s ease,background-color .3s ease}.sub-nav li a:hover{background-color:#3e5c76;color:#fff}h2 a{color:var(--text-color)}.sub-nav{margin:auto;display:flex;justify-content:center;gap:20px;margin-bottom:2rem;padding:0;list-style:none;flex-wrap:wrap}.photos-page>p{max-width:700px;margin-left:auto;margin-right:auto}#main-content h2{border-radius:12px;background-color:#003049;color:#fff;width:fit-content;padding:10px 20px;margin:50px auto 0;font-size:2rem}.react-photo-album{width:100%;max-width:100%}.react-photo-album img{max-width:100%;height:auto;object-fit:cover}.yarl__fullsize{height:100dvh!important;min-height:100dvh!important;top:0!important;left:0!important}@media (min-width: 1400px){.photos-page{width:1300px;position:relative;left:50%;transform:translate(-50%)}}@media (min-width: 1800px){.photos-page{width:1700px}}.yarl__fullsize{height:100%;width:100%}.yarl__relative{position:relative}.yarl__portal{bottom:0;left:0;opacity:0;overflow:hidden;position:fixed;right:0;top:0;transition:opacity var(--yarl__fade_animation_duration,.25s) var(--yarl__fade_animation_timing_function,ease);z-index:var(--yarl__portal_zindex,9999)}.yarl__portal_open{opacity:1}.yarl__container{background-color:var(--yarl__container_background_color,var(--yarl__color_backdrop,#000));bottom:0;left:0;outline:none;overflow:hidden;overscroll-behavior:var(--yarl__controller_overscroll_behavior,contain);position:absolute;right:0;top:0;touch-action:var(--yarl__controller_touch_action,none);-webkit-user-select:none;-moz-user-select:none;user-select:none}.yarl__carousel{align-content:center;align-items:stretch;display:flex;flex:0 0 auto;height:100%;justify-content:center;opacity:var(--yarl__pull_opacity,1);transform:translate(var(--yarl__swipe_offset,0),var(--yarl__pull_offset,0));width:calc(100% + (var(--yarl__carousel_slides_count) - 1)*(100% + var(--yarl__carousel_spacing_px, 0)*1px + var(--yarl__carousel_spacing_percent, 0)*1%))}.yarl__carousel_with_slides{-moz-column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%);column-gap:calc(var(--yarl__carousel_spacing_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_spacing_percent, 0)*1%)}.yarl__flex_center{align-content:center;align-items:center;display:flex;justify-content:center}.yarl__slide{flex:1;overflow:hidden;padding:calc(var(--yarl__carousel_padding_px, 0)*1px + 100/(var(--yarl__carousel_slides_count)*100 + (var(--yarl__carousel_slides_count) - 1)*var(--yarl__carousel_spacing_percent, 0))*var(--yarl__carousel_padding_percent, 0)*1%);position:relative}[dir=rtl] .yarl__slide{--yarl__direction:-1}.yarl__slide_image{max-height:100%;max-width:100%;-o-object-fit:contain;object-fit:contain;touch-action:var(--yarl__controller_touch_action,none);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.yarl__slide_image_cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.yarl__slide_image_loading{opacity:0}@media screen and (min-width:800px){.yarl__slide_wrapper:not(.yarl__slide_wrapper_interactive) .yarl__slide_image{-webkit-backface-visibility:hidden;-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d}}.yarl__slide_placeholder{left:50%;line-height:0;position:absolute;top:50%;transform:translate(-50%) translateY(-50%)}.yarl__slide_loading{animation:yarl__delayed_fadein 1s linear;color:var(--yarl__slide_icon_loading_color,var(--yarl__color_button,hsla(0,0%,100%,.8)))}.yarl__slide_loading line{animation:yarl__stroke_opacity 1s linear infinite}.yarl__slide_loading line:first-of-type{animation-delay:-1.875s}.yarl__slide_loading line:nth-of-type(2){animation-delay:-1.75s}.yarl__slide_loading line:nth-of-type(3){animation-delay:-1.625s}.yarl__slide_loading line:nth-of-type(4){animation-delay:-1.5s}.yarl__slide_loading line:nth-of-type(5){animation-delay:-1.375s}.yarl__slide_loading line:nth-of-type(6){animation-delay:-1.25s}.yarl__slide_loading line:nth-of-type(7){animation-delay:-1.125s}.yarl__slide_loading line:nth-of-type(8){animation-delay:-1s}.yarl__slide_error{color:var(--yarl__slide_icon_error_color,red);height:var(--yarl__slide_icon_error_size,48px);width:var(--yarl__slide_icon_error_size,48px)}@media (prefers-reduced-motion){.yarl__portal,.yarl__slide{transition:unset}.yarl__slide_loading,.yarl__slide_loading line{animation:unset}}.yarl__toolbar{bottom:auto;display:flex;justify-content:flex-end;left:auto;padding:var(--yarl__toolbar_padding,8px);position:absolute;right:0;top:0}[dir=rtl] .yarl__toolbar{bottom:auto;left:0;right:auto;top:0}.yarl__icon{height:var(--yarl__icon_size,32px);width:var(--yarl__icon_size,32px)}.yarl__button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--yarl__button_background_color,transparent);border:var(--yarl__button_border,0);color:var(--yarl__color_button,hsla(0,0%,100%,.8));cursor:pointer;filter:var(--yarl__button_filter,drop-shadow(2px 2px 2px rgba(0,0,0,.8)));line-height:0;margin:var(--yarl__button_margin,0);outline:none;padding:var(--yarl__button_padding,8px);-webkit-tap-highlight-color:transparent}.yarl__button:focus{color:var(--yarl__color_button_active,#fff)}.yarl__button:focus:not(:focus-visible){color:var(--yarl__color_button,hsla(0,0%,100%,.8))}.yarl__button:focus-visible{color:var(--yarl__color_button_active,#fff)}@media (hover:hover){.yarl__button:focus-visible:hover,.yarl__button:focus:hover,.yarl__button:hover{color:var(--yarl__color_button_active,#fff)}}.yarl__button:disabled{color:var(--yarl__color_button_disabled,hsla(0,0%,100%,.4));cursor:default}.yarl__navigation_next,.yarl__navigation_prev{padding:var(--yarl__navigation_button_padding,24px 16px);position:absolute;top:50%;transform:translateY(-50%)}.yarl__navigation_prev{left:0}[dir=rtl] .yarl__navigation_prev{left:unset;right:0;transform:translateY(-50%) rotate(180deg)}.yarl__navigation_next{right:0}[dir=rtl] .yarl__navigation_next{left:0;right:unset;transform:translateY(-50%) rotate(180deg)}.yarl__no_scroll{height:100%;overflow:hidden;overscroll-behavior:none}@keyframes yarl__delayed_fadein{0%{opacity:0}80%{opacity:0}to{opacity:1}}@keyframes yarl__stroke_opacity{0%{stroke-opacity:1}to{stroke-opacity:.125}}.react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding)*1px);position:relative}.react-photo-album--image{aspect-ratio:var(--react-photo-album--photo-width)/var(--react-photo-album--photo-height);display:block;height:auto;width:100%}.react-photo-album--button{background:initial;border:initial;cursor:pointer}.react-photo-album--columns{justify-content:space-between}.react-photo-album--columns .react-photo-album--track{flex-direction:column;justify-content:space-between;row-gap:calc(var(--react-photo-album--spacing)*1px);width:calc((100% - 1px*(var(--react-photo-album--columns) - 1)*var(--react-photo-album--spacing) - 2px*var(--react-photo-album--columns)*var(--react-photo-album--padding) - var(--react-photo-album--adjusted-gaps)*1px)*var(--react-photo-album--column-ratio)/var(--react-photo-album--total-ratio) + 2px*var(--react-photo-album--padding))}.react-photo-album--columns .react-photo-album--photo{width:100%}
