body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.App-header{align-items:center;background:#000;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh;overflow:hidden;position:relative}#tsparticles{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.portfolio-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;position:relative;width:100%;z-index:1}.content{position:relative;text-align:center;z-index:10}.main-title{margin-bottom:2rem}.main-title h1{-webkit-animation:fadeInUp 1.2s ease-out .5s forwards;animation:fadeInUp 1.2s ease-out .5s forwards;color:#fff;font-size:4rem;font-weight:100;letter-spacing:8px;margin:0;opacity:0}.title-underline{-webkit-animation:expandLine 1s ease-out 1.5s forwards;animation:expandLine 1s ease-out 1.5s forwards;background:#fff;height:1px;margin:1.5rem auto;opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0);width:60px}.role{-webkit-animation:fadeInUp 1s ease-out 2s forwards;animation:fadeInUp 1s ease-out 2s forwards;color:#fff;font-size:1.2rem;font-weight:300;letter-spacing:3px;margin:1.5rem 0;opacity:0}.location{-webkit-animation:fadeInUp 1s ease-out 2.5s forwards;animation:fadeInUp 1s ease-out 2.5s forwards;font-weight:200;margin-top:.5rem;opacity:.7}.contact-button,.location{color:#fff;font-size:.9rem;letter-spacing:2px;opacity:0}.contact-button{-webkit-animation:fadeInUp 1s ease-out 3s forwards;animation:fadeInUp 1s ease-out 3s forwards;background:transparent;border:2px solid #fff;border-radius:8px;cursor:pointer;font-weight:300;margin-top:2.5rem;padding:12px 30px;transition:all .3s ease}.contact-button:hover{background:#fff;box-shadow:0 5px 15px hsla(0,0%,100%,.3);color:#000;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.contact-button:active{-webkit-transform:translateY(0);transform:translateY(0)}.contact-text{display:inline-block}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(30px);transform:translateY(30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes expandLine{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes expandLine{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.intro-text p{color:#fff;font-size:1.4rem;font-weight:300;letter-spacing:2px;margin:1rem 0}.intro-text .subtitle{-webkit-animation:subtitleAppear 1s ease-out 3.5s forwards;animation:subtitleAppear 1s ease-out 3.5s forwards;color:#fff;font-size:1rem;letter-spacing:1px;margin:.5rem 0;opacity:0}@-webkit-keyframes dotAppear{0%{opacity:0;-webkit-transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(0) rotate(180deg);transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(0) rotate(180deg)}70%{-webkit-transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(1.1) rotate(0deg);transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(1.1) rotate(0deg)}to{opacity:1;-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1) rotate(0deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1) rotate(0deg)}}@keyframes dotAppear{0%{opacity:0;-webkit-transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(0) rotate(180deg);transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(0) rotate(180deg)}70%{-webkit-transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(1.1) rotate(0deg);transform:translate(-50%,-50%) translate(var(--base-x),var(--base-y)) scale(1.1) rotate(0deg)}to{opacity:1;-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1) rotate(0deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1) rotate(0deg)}}@-webkit-keyframes dotFloat{0%,to{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(0) rotate(0deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(0) rotate(0deg)}33%{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(-8px) rotate(1deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(-8px) rotate(1deg)}66%{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(4px) rotate(-1deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(4px) rotate(-1deg)}}@keyframes dotFloat{0%,to{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(0) rotate(0deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(0) rotate(0deg)}33%{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(-8px) rotate(1deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(-8px) rotate(1deg)}66%{-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(4px) rotate(-1deg);transform:translate(-50%,-50%) translate(var(--x),var(--y)) translateY(4px) rotate(-1deg)}}@-webkit-keyframes dotGlow{0%,to{-webkit-filter:blur(0);filter:blur(0);-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1)}50%{-webkit-filter:blur(.5px);filter:blur(.5px);-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.05);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.05)}}@keyframes dotGlow{0%,to{-webkit-filter:blur(0);filter:blur(0);-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1)}50%{-webkit-filter:blur(.5px);filter:blur(.5px);-webkit-transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.05);transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.05)}}@-webkit-keyframes dotPulse{0%,to{box-shadow:0 0 15px currentColor,0 0 30px currentColor}50%{box-shadow:0 0 25px currentColor,0 0 50px currentColor}}@keyframes dotPulse{0%,to{box-shadow:0 0 15px currentColor,0 0 30px currentColor}50%{box-shadow:0 0 25px currentColor,0 0 50px currentColor}}@-webkit-keyframes textAppear{0%{opacity:0;-webkit-transform:translateY(50px) scale(.8);transform:translateY(50px) scale(.8)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes textAppear{0%{opacity:0;-webkit-transform:translateY(50px) scale(.8);transform:translateY(50px) scale(.8)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@-webkit-keyframes subtitleAppear{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes subtitleAppear{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@media (max-width:768px){.face-dots{height:300px;-webkit-transform:scale(.85);transform:scale(.85);width:300px}.intro-text h1{font-size:2.5rem;letter-spacing:2px}.intro-text p{font-size:1.1rem}.intro-text .subtitle{font-size:.9rem}}@media (max-width:480px){.face-dots{height:250px;-webkit-transform:scale(.7);transform:scale(.7);width:250px}.intro-text h1{font-size:2rem;letter-spacing:1px}.intro-text p{font-size:1rem}.intro-text .subtitle{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.dot{-webkit-animation:dotAppear .8s ease-out forwards;animation:dotAppear .8s ease-out forwards}.intro-text h1{-webkit-text-fill-color:transparent;-webkit-animation:none;animation:none;background:#61dafb;background-clip:text;-webkit-background-clip:text}}.App-link{color:#fff}
/*# sourceMappingURL=main.7af63ea1.css.map*/