@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap";html,body,#root{margin:0;padding:0;height:100%;overflow:hidden}html,body{min-height:100vh}#threejs-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1}.ui{position:fixed;z-index:1000;height:100vh;width:100vw;overflow-y:auto}:root{--background-color: #111111;--text-color: #EBF5EE;--accent-color: #EF946C;--border-color: #121212;--new-background-color: #13041f;--new-text-color: #111111;--logo-color: 0}[data-theme=light]{--background-color: transparent;--text-color: #111111;--accent-color: #EF6C94;--border-color: #CCCCCC;--logo-color: 1}[data-theme=dark]{--background-color: transparent;--text-color: #EBF5EE;--accent-color: #EF946C;--border-color: #121212;--logo-color: 0}@keyframes fadeInColors{0%{background-color:var(--background-color);color:var(--text-color)}to{background-color:var(--new-background-color);color:var(--new-text-color)}}.fade-transition{animation:fadeInColors 0s forwards}@keyframes fadeOutColors{0%{background-color:var(--new-background-color);color:var(--new-text-color)}to{background-color:var(--background-color);color:var(--text-color)}}html,body{background-color:var(--background-color);color:var(--text-color);transition:background-color 1s,color 1s,border-color 1s}div{border-color:var(--border-color);transition:border-color .9s linear;border:linear-gradient(to right,var(--border-color),transparent)}.custom-button2{all:unset;color:var(--text-color);padding:0 0 0 30px;cursor:pointer;font-family:Space Grotesk;font-size:18px;letter-spacing:2px;z-index:10000}.custom-button3{all:unset;color:var(--text-color);padding:0 0 0 10px;cursor:pointer;font-family:Space Grotesk;font-size:18px;letter-spacing:2px;z-index:10000}.custom-button{all:unset;color:var(--text-color);padding:15px 0 15px 30px;cursor:pointer;font-family:Space Grotesk;font-size:18px;letter-spacing:2px;z-index:10000}.custom-button:hover,.custom-button2:hover,.custom-button-big:hover{color:var(--accent-color)}.custom-button-big{all:unset;color:var(--text-color);padding:70px 50px 0;cursor:pointer;font-family:Space Grotesk;font-size:40px;text-align:start;margin-bottom:10px}.project-description{color:var(--text-color);font-family:Space Grotesk;text-align:start;width:calc(100% - 100px);padding-left:50px;padding-right:0;margin-bottom:20px;box-sizing:border-box}.home-text{color:var(--text-color);font-family:Space Grotesk;text-align:"end"}li::marker{content:" - "}.info-text{color:var(--text-color);font-family:Space Grotesk;text-align:"start"}.header{font-family:Space Grotesk;font-size:70px;padding:0;margin-top:20px;margin-left:30px;margin-bottom:40px;color:var(--text-color);letter-spacing:-2px;font-weight:100;display:inline-block;border-bottom:1px solid #444444;line-height:1}.loader{width:240px;height:100px;border:2px solid;box-sizing:border-box;border-radius:50%;display:grid;animation:l2 2s infinite linear}.loader:before,.loader:after{content:"";grid-area:1/1;border:inherit;border-radius:50%;animation:inherit;animation-duration:3s}.loader:after{--s:-1}@keyframes l2{to{transform:rotate(calc(var(--s,1)*1turn))}}.fade-in{animation:fadeIn .5s backwards}.fade-out{animation:fadeOut .5s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.ui-container{position:absolute;top:0;right:0;left:0;z-index:1000;box-sizing:border-box;height:100dvh;width:100%;display:flex;flex-direction:column;pointer-events:none;border:min(5vw,30px) solid var(--border-color);overflow:hidden;bottom:0;max-height:100dvh}.ui-inner{position:relative;color:var(--text-color);border:1px solid #333333;padding:calc(min(5vw,30px) - 1px);flex:1;pointer-events:auto;overflow:hidden}.ui-container,.ui-inner{padding:0!important}.ui-header{display:flex;justify-content:space-between;align-items:center}.social-buttons{display:flex;flex-direction:row;gap:10px}.social-icon{width:30px;height:30px;filter:invert(var(--logo-color));transition:transform .2s ease}.social-icon:hover{transform:scale(1.1)}.theme-button{all:unset;position:absolute;bottom:max(10px,2vh);left:20px;color:var(--text-color);font-family:Space Grotesk;font-size:18px;letter-spacing:2px;cursor:pointer}.theme-button:hover{color:var(--accent-color)}*{box-sizing:border-box}.utu-logo{position:fixed;bottom:40px;right:50px;width:200px;height:80px;filter:invert(var(--logo-color))}.cv-sidebar{position:fixed;top:30px;bottom:100px;right:0;height:100vh;width:500px;overflow-y:auto;color:#ebf5ee;pointer-events:auto;padding:20px;z-index:10;margin-top:0;box-sizing:border-box}.cv-sidebar h1{margin-top:20px;color:var(--text-color);font-family:Space Grotesk}.cv-sidebar ul{margin-left:-25px}.cv-sidebar img{width:40px;height:40px;filter:invert(var(--logo-color));vertical-align:middle;margin-left:10px}.projects-sidebar{position:fixed;top:30px;right:30px;bottom:30px;width:500px;overflow-y:scroll;pointer-events:auto;padding:0;z-index:2000;box-sizing:border-box}.contact-sidebar{position:fixed;top:30px;right:0;height:100vh;width:500px;overflow-y:auto;color:var(--text-color);pointer-events:auto;padding:20px;z-index:10;box-sizing:border-box}@media(max-width:768px){.header{font-size:30px;margin-bottom:0;margin-left:0;letter-spacing:0px}.cv-sidebar{top:15px;bottom:15px;height:calc(100vh - 60px);width:350px}.cv-sidebar h1{font-size:20px;margin-left:auto;margin-right:0}.social-icon{width:25px;height:25px;filter:invert(var(--logo-color));transition:transform .2s ease}.utu-logo{width:150px;height:60px;bottom:30px;right:30px}.ui-container{border:15px solid var(--border-color)}.ui-inner{padding:15px}.custom-button2{bottom:5px;left:20px;font-size:14px;padding:0}.custom-button{font-size:14px;padding:0}.custom-button-big{font-size:30px;padding:40px 20px 0}.theme-button{all:unset;position:absolute;bottom:20px;left:20px;color:var(--text-color);font-family:Space Grotesk;font-size:14px;letter-spacing:2px;cursor:pointer}.projects-sidebar{position:fixed;top:30px;right:30px;bottom:30px;width:350px;overflow-y:scroll;pointer-events:auto;padding:0;z-index:2000;box-sizing:border-box}.project-description{width:calc(100% - 50px);padding-left:20px}.contact-sidebar{position:fixed;top:40px;right:30px;bottom:30px;width:350px;padding:0;z-index:2000;box-sizing:border-box}.info-text,.home-text{font-size:16px;width:60%;margin-left:auto;margin-right:0;text-align:start}div{padding:10px}}@media(max-width:480px){.header{font-size:20px;margin-bottom:10px;margin-left:5px;letter-spacing:0px}.cv-sidebar{top:15px;bottom:15px;height:calc(100vh - 60px);width:70%;margin-right:10px;margin-top:10px;padding:10px}.cv-sidebar h1{font-size:18px}.cv-sidebar img{width:30px;height:30px}.social-icon{width:20px;height:20px;filter:invert(var(--logo-color));transition:transform .2s ease;gap:-30px}.utu-logo{width:100px;height:40px;bottom:20px;right:20px}.custom-button2{left:10px;font-size:12px;padding:0 0 0 8px}.custom-button{font-size:12px;padding:8px;left:10px}.custom-button-big{font-size:24px;padding:20px 10px 0}.theme-button{all:unset;position:absolute;bottom:10px;left:10px;color:var(--text-color);font-family:Space Grotesk;font-size:12px;letter-spacing:2px;cursor:pointer}.projects-sidebar{position:fixed;top:30px;right:30px;bottom:30px;width:200px;overflow-y:scroll;pointer-events:auto;padding:0;z-index:2000;box-sizing:border-box}.project-description{width:100%;padding-left:10px}.contact-sidebar{position:fixed;top:40px;right:30px;bottom:30px;width:200px;overflow-y:scroll;pointer-events:auto;padding:0;z-index:2000;box-sizing:border-box}.info-text,.home-text{font-size:14px}div{padding:5px}}.contact-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.contact-input,.contact-textarea{width:80%;padding:.75rem;border:1px solid var(--border-color, #000);border-radius:8px;font-size:1rem;font-family:Space Grotesk,sans-serif;background:var(--input-bg, #fff);color:#000;transition:border-color .2s,box-shadow .2s;opacity:.7}.contact-input:focus,.contact-textarea:focus{outline:none;border-color:var(--accent-color, #0077ff);box-shadow:0 0 4px var(--accent-color, #0077ff)}.contact-textarea{min-height:120px;resize:vertical}.send-button{align-self:flex-start}
