@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500;600&display=swap";.content{position:relative;height:90vh;display:flex;justify-content:center;padding-top:5rem;text-align:center}.content h1{font-family:Workbench,sans-serif}.content .personalContainer{display:flex;flex-direction:column;align-items:center;height:fit-content;width:100%}.content .personalContainer .eyebrow{font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;letter-spacing:3px;color:#2dd4ff;opacity:0;text-transform:uppercase;padding:.4rem 1rem;border:1px solid rgba(45,212,255,.35);border-radius:999px;background:#2dd4ff0f;animation:fadeUp .7s ease-out .1s forwards}.content .personalContainer .eyebrow:after{content:"_";animation:blinkCursor 1s step-end infinite;color:#b18aff}.content .personalContainer .lastName{text-transform:uppercase;padding:1rem 0 .5rem;font-weight:700;height:fit-content;display:flex;flex-direction:column;text-align:center;font-family:Space Grotesk,sans-serif;opacity:0;animation:fadeUp .8s ease-out .3s forwards}.content .personalContainer .lastName span{font-size:4.5rem;letter-spacing:4px;padding:5px;background:linear-gradient(100deg,#eef1f6 10%,#2dd4ff 45%,#b18aff 75%,#eef1f6);background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmerText 7s linear infinite}@media(max-width:567px){.content .personalContainer .lastName span{font-size:2.8rem}}.content .personalContainer .logoIcon{padding:1.25rem 0 .5rem;opacity:0;animation:fadeUp .8s ease-out .7s forwards}.content .personalContainer .logoIcon .spinnerLogoIcon{transform-origin:center center;font-size:2.6rem;color:#2dd4ff;filter:drop-shadow(0 0 10px rgba(45,212,255,.5))}.content .personalContainer .animatedText{font-size:1.1rem;font-family:JetBrains Mono,Fira Code,monospace;padding:5px 0;color:#7d8699;letter-spacing:.5px;min-height:70px;display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fadeUp .8s ease-out .5s forwards}.content .personalContainer .animatedText .firstName{word-wrap:break-word;white-space:nowrap;color:#eef1f6;font-weight:500;animation:typing 4s steps(60) forwards}.content .personalContainer .animatedText .title{overflow:hidden;word-wrap:break-word;white-space:nowrap;color:#2dd4ff;animation:typingTitle 8s steps(60) forwards infinite;animation-delay:4s;opacity:0}@media(max-width:567px){.content .personalContainer .animatedText{font-size:.95rem}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes typingTitle{0%{opacity:1;width:0}to{opacity:1;width:100%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes blinkCursor{0%,to{opacity:1}50%{opacity:0}}@keyframes shimmerText{0%{background-position:0% center}to{background-position:220% center}}.parallaxRowLine{display:flex;justify-content:center;align-items:center;padding-top:.5rem}.parallaxRowLine .parallaxLine{position:relative;height:1px;background-color:#2dd4ff;filter:brightness(150%);transform-origin:center center;width:40vw}.parallaxRowLine .parallaxSpace{position:absolute;height:max-content;width:60px;display:flex;justify-content:center;align-items:center;background-color:#070a12}.parallaxRowLine .parallaxSpace .BsTriangleHalfIcon{color:#2dd4ff;filter:brightness(150%)}.navList{z-index:2;background-color:#070a12cc;align-items:center;display:flex;font-size:1rem;padding:1.2rem;position:absolute;bottom:0}.navList .logo{color:#2dd4ff;display:flex;align-items:center;font-family:Workbench,sans-serif}.navList .logo a{cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.navList .logo a .logoIcon{width:50px;height:50px;color:#2dd4ff;transform-origin:center center}.navList .logo a span{font-size:1.3rem}.navList nav{width:80%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:4rem}.navList nav a{color:#2dd4ff;text-decoration:none;letter-spacing:2px;font-weight:700;font-size:1rem}.navList nav a:first-letter{font-size:1.5rem}.navList nav a:hover{cursor:pointer;transform:scale(1.2)}.navList .burgerMenu{transition:all .3s ease;position:sticky;left:100%;width:50px;height:50px;display:none}.navList .burgerMenu .menuIconX{display:none}.navList .burgerMenu .menuIcon{cursor:pointer;width:40px;height:40px}.navList .menuOpen{transform:translate(0);width:70%;background-color:#070a12cc;transition:all .3s linear}.navList .menuOpen div{position:absolute;top:2%;right:10%}.navList .menuOpen div .menuIcon{cursor:pointer;width:30px;height:30px;color:#2dd4ff}.navList .menuOpen div .menuIcon:hover{transform:scale(1.2)}.navList .menuOpen a{font-size:1.2rem;position:relative}.navList .menuOpen a:first-letter{font-size:1.6rem}.navList .menuOpen a:after{content:"";position:absolute;height:1px;width:100%;bottom:0;left:0;background-color:#2dd4ff}.sticky{position:sticky;top:0}@media(max-width:768px){.navList .burgerMenu{display:block}.navList .burgerMenu .menuIcon{color:#2dd4ff}.menu{display:flex;flex-direction:column;justify-content:center;align-items:center;width:50%;height:110%;position:fixed;row-gap:3rem;top:0;right:0;transition:all step-start;transform:translate(100%)}}.circuitBackground{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;z-index:0;pointer-events:none}.circuitBackground .circuitSvg{width:100%;height:100%;opacity:.35}.circuitBackground .circuitSvg .line{fill:none;stroke:#2dd4ff;stroke-width:1.5;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(45,212,255,.6))}.circuitBackground .circuitSvg .line2,.circuitBackground .circuitSvg .line4{stroke:#b18aff;filter:drop-shadow(0 0 3px rgba(177,138,255,.6))}.circuitBackground .circuitSvg .node{fill:#2dd4ff;filter:drop-shadow(0 0 6px rgba(45,212,255,.9));animation:pulseNode 3s ease-in-out infinite}.circuitBackground .circuitSvg .n2,.circuitBackground .circuitSvg .n4,.circuitBackground .circuitSvg .n6{fill:#b18aff;filter:drop-shadow(0 0 6px rgba(177,138,255,.9));animation-delay:1s}.circuitBackground .circuitSvg .n3,.circuitBackground .circuitSvg .n5,.circuitBackground .circuitSvg .n7{animation-delay:2s}.circuitBackground .glowOrb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.15}.circuitBackground .orb1{width:400px;height:400px;background:#2dd4ff;top:10%;left:10%;animation:floatOrb 12s ease-in-out infinite}.circuitBackground .orb2{width:350px;height:350px;background:#b18aff;bottom:5%;right:10%;animation:floatOrb 14s ease-in-out infinite reverse}@keyframes pulseNode{0%,to{opacity:.4;r:3}50%{opacity:1;r:5}}@keyframes floatOrb{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}.pageProjects{padding:1rem 2rem;background-color:#070a12;text-align:center;padding:2rem 0}.pageProjects .projects{place-items:stretch;display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem;margin:1rem;text-align:center}.pageProjects .projects .project{position:relative;background:#ffffff09;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.09);min-height:110px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;border-radius:12px;color:#eef1f6;font-family:Space Grotesk,sans-serif;cursor:pointer;padding:1rem .75rem;transition:all .3s ease;overflow:hidden}.pageProjects .projects .project:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#2dd4ff14,#b18aff14);opacity:0;transition:opacity .3s ease}.pageProjects .projects .project .linkIndicator{position:absolute;top:.65rem;right:.65rem;font-size:.9rem;color:#2dd4ff;opacity:.7}.pageProjects .projects .project h4{position:relative;padding:5px;font-size:.9rem;font-weight:500;letter-spacing:.2px}.pageProjects .projects .project:hover{transform:translateY(-6px);border-color:#2dd4ff66;box-shadow:0 12px 30px #2dd4ff1f}.pageProjects .projects .project:hover:before{opacity:1}.pageProjects .projects .project:active{transform:translateY(-2px)}@media not (max-width:650px){.pageProjects .projects{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin:1rem 2rem}.pageProjects .projects .project{min-height:140px;padding:1.5rem 1rem}.pageProjects .projects .project h4{font-size:1rem}.pageProjects .projects .project .linkIndicator{top:.85rem;right:.85rem;font-size:1rem}}@media not (max-width:950px){.pageProjects .projects{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.pageProjects .projects .project h4{font-size:1.15rem}}.popupContainer{display:flex;flex-direction:column;justify-content:center;align-items:center}.popupContainer h3{padding:10px 0 1rem;color:#eef1f6;font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:1px;font-size:1.4rem}.popupContainer .popUpImage{display:flex;gap:.75rem;overflow-x:auto;max-width:100%;padding-bottom:.5rem}.popupContainer .popUpImage img{height:160px;width:auto;max-width:300px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.09);flex-shrink:0}.popupContainer .tags{display:flex;gap:.75rem;padding:1rem;flex-wrap:wrap;justify-content:center;font-family:Inter,sans-serif}.popupContainer .tags .tag{border-radius:8px;text-align:center;font-weight:600;padding:6px 14px;font-size:.85rem;letter-spacing:.3px;border:1px solid transparent}.popupContainer .tags .tag.typescript{color:#2e8bc0;background-color:#2e8bc026}.popupContainer .tags .tag.react{color:#61dafb;background-color:#61dafb26}.popupContainer .tags .tag.express{color:#b1d4e0;background-color:#b1d4e026}.popupContainer .tags .tag.scss{color:#ffaebc;background-color:#ffaebc26}.popupContainer .tags .tag.sqlite{color:#4f0;background-color:#44ff0026}.popupContainer .tags .tag.mongodb{color:#18a558;background-color:#18a55826}.popupContainer .tags .tag.html5{color:#e55b13;background-color:#e55b1326}.popupContainer .tags .tag.css3{color:#5082ef;background-color:#5082ef26}.popupContainer .tags .tag.javascript{color:#fad02c;background-color:#fad02c26}.popupContainer .tags .tag.ejs{color:#cb0e55;background-color:#cb0e5526}.popupContainer .tags .tag.tailwind{color:#1592b4;background-color:#1592b426}.popupContainer .tags .tag.nextJs{color:#f26127;background-color:#f2612726}.popupContainer .tags .tag.cypress{color:#beb1b0;background-color:#beb1b026}.popupContainer .tags .tag.vitest{color:#f8d210;background-color:#76b94726}.popupContainer .tags .tag.postgres{color:#f36187;background-color:#f3618726}.popupContainer .tags .tag.strapi{color:#beb9c0;background-color:#beb9c026}.popupContainer .tags .tag.EPLAN{color:#2dd4ff;background-color:#2dd4ff26}.popupContainer .tags .tag.CAD{color:#b18aff;background-color:#b18aff26}.popupContainer .tags .tag.SPS{color:#ff8fb1;background-color:#ff8fb126}.popupContainer .row{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem}.popupContainer .row .icons{display:flex;justify-content:space-evenly;width:100%}.popupContainer .row .icons .icon{display:flex;font-size:2rem;color:#7d8699;transition:color .25s ease}.popupContainer .row .icons .icon.ic1:hover,.popupContainer .row .icons .icon.ic2:hover{color:#2dd4ff;cursor:pointer}.popupContainer .row .icons .notUrl{color:#7d869966;cursor:auto}.popupContainer .row .description{color:#7d8699;font-weight:400;font-family:Inter,sans-serif;line-height:1.6}.pageSkills{padding:1rem 2rem;background-color:#070a12;padding:10px}.pageSkills .skills{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-bottom:1rem}.pageSkills .skills .skill{display:flex;flex-direction:column;align-items:center;text-transform:uppercase;background:#ffffff09;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.09);border-radius:14px;transition:all .3s ease}.pageSkills .skills .skill:hover{border-color:#2dd4ff59;transform:translateY(-3px)}.pageSkills .skills .skill .skillImg{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;padding:20px 0}.pageSkills .skills .skill .skillImg img{width:55px;aspect-ratio:1;filter:drop-shadow(0 0 6px rgba(45,212,255,.15));transition:transform .25s ease}.pageSkills .skills .skill .skillImg img:hover{transform:scale(1.12)}.pageSkills .skills .skill .title{font-size:1.1rem;font-weight:600;letter-spacing:1px;padding:.85rem;color:#eef1f6;background-color:#ffffff08;border-top:1px solid rgba(255,255,255,.09);width:100%;font-family:Space Grotesk,sans-serif}.pageSkills .skills .frameworks{grid-column-start:1;grid-column-end:3;grid-row-start:5;grid-row-end:10}.pageSkills .skills .technologies{grid-column-start:1;grid-column-end:4;grid-row-start:1;grid-row-end:5}.pageSkills .skills .database{grid-column-start:2;grid-column-end:4;grid-row-start:10;grid-row-end:15}.pageSkills .skills .devops{grid-column-start:3;grid-column-end:4;grid-row-start:5;grid-row-end:10}.pageSkills .skills .testing{grid-column-start:1;grid-column-end:2;grid-row-start:10;grid-row-end:15}.pageSkills .skills .devtools{grid-column-start:1;grid-column-end:3;grid-row-start:15;grid-row-end:20}.pageSkills .skills .devtools .skillImg img{width:55px;height:55px}.pageSkills .skills .devtools .skillImg .netlify,.pageSkills .skills .devtools .skillImg .vercel,.pageSkills .skills .devtools .skillImg .render{width:85px}.pageSkills .skills .devtools .skillImg .vercel{height:38px}.pageSkills .skills .libraries{grid-column-start:3;grid-column-end:4;grid-row-start:15;grid-row-end:20}.pageSkills .skills .others{grid-column-start:1;grid-column-end:4;grid-row-start:20;grid-row-end:25}.pageContact{background-color:#070a12;display:flex;flex-direction:column;align-items:center}.pageContact .messageRowContainer{padding:10px}.pageContact .messageRowContainer .messageRow{font-size:1.15rem;text-align:center;font-family:Inter,sans-serif;font-weight:500}.pageContact .messageRowContainer .messageRow span{display:flex;justify-content:center;align-items:center;gap:.75rem;padding:10px 0}.pageContact .messageRowContainer .messageRow .messageTrue{color:#4ade80}.pageContact .messageRowContainer .messageRow .messageFalse{color:#f87171}.pageContact .messageRowContainer .messageRow .msgIcon{font-size:1.6rem}.pageContact form{display:flex;flex-direction:column;gap:.75rem;width:70%}.pageContact form .nameEmailContent{display:flex;align-items:center;column-gap:1rem;row-gap:.5rem}.pageContact form input{height:60px;padding:10px 14px;color:#eef1f6;background:#ffffff09;font-weight:500;font-family:Inter,sans-serif;font-size:1.05rem;outline:none;border:1px solid rgba(255,255,255,.09);border-radius:10px;width:100%;transition:border-color .25s ease}.pageContact form input::placeholder{color:#7d8699;letter-spacing:.5px}.pageContact form .textAreaMessage{height:220px}.pageContact form .textAreaMessage textarea{font-size:1.05rem;font-family:Inter,sans-serif;height:100%;padding:14px;color:#eef1f6;background:#ffffff09;outline:none;border:1px solid rgba(255,255,255,.09);border-radius:10px;resize:none;width:100%;transition:border-color .25s ease}.pageContact form .textAreaMessage textarea::placeholder{color:#7d8699}.pageContact form .row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:1rem 0}.pageContact form .row .capture{display:flex;justify-content:center;align-items:center;height:56px;width:220px;background:#ffffff09;border:1px solid rgba(255,255,255,.09);border-radius:10px;gap:.75rem;padding:0 1rem}.pageContact form .row .capture input{width:60px;height:40px;text-align:center;font-weight:600;font-size:1.1rem;background:#2dd4ff14;border:1px solid rgba(45,212,255,.25);color:#2dd4ff}.pageContact form .row .capture .numbers{font-size:1.3rem;font-weight:600;letter-spacing:4px;color:#eef1f6}.pageContact form .row .msgButton{height:56px;width:220px;display:flex;justify-content:center;align-items:center}.pageContact form .row .msgButton button{height:100%;width:100%;cursor:pointer;background:transparent;color:#2dd4ff;border:1px solid #2dd4ff;border-radius:10px;font-size:14px;font-weight:600;letter-spacing:1.5px;overflow:hidden;transition:all .3s ease;position:relative}.pageContact form .row .msgButton button:hover{color:#070a12;background-color:#2dd4ff;box-shadow:0 8px 22px #2dd4ff4d}.pageContact .inputName,.pageContact .inputEmail,.pageContact .inputSubject,.pageContact .textAreaMessage{width:100%;transition:all .3s ease;display:inline-block;position:relative}.pageContact .inputName:focus-within input,.pageContact .inputName:focus-within textarea,.pageContact .inputEmail:focus-within input,.pageContact .inputEmail:focus-within textarea,.pageContact .inputSubject:focus-within input,.pageContact .inputSubject:focus-within textarea,.pageContact .textAreaMessage:focus-within input,.pageContact .textAreaMessage:focus-within textarea{border-color:#2dd4ff}.pageContact .messageNotValid input,.pageContact .messageNotValid textarea,.pageContact .subjectNotValid input,.pageContact .subjectNotValid textarea,.pageContact .nameNotValid input,.pageContact .nameNotValid textarea,.pageContact .emailNotValid input,.pageContact .emailNotValid textarea{border-color:#f8717180}.pageContact .messageNotValid:focus-within input,.pageContact .messageNotValid:focus-within textarea,.pageContact .subjectNotValid:focus-within input,.pageContact .subjectNotValid:focus-within textarea,.pageContact .nameNotValid:focus-within input,.pageContact .nameNotValid:focus-within textarea,.pageContact .emailNotValid:focus-within input,.pageContact .emailNotValid:focus-within textarea{border-color:#f87171}.pageContact .contactIcons{display:flex;padding:3rem 0;font-size:2.2rem;justify-content:space-evenly;width:100%}.pageContact .contactIcons .linkedIn,.pageContact .contactIcons .whatsApp,.pageContact .contactIcons .gitHub{padding:5px;color:#7d8699;transition:color .25s ease}.pageContact .contactIcons .gitHub:hover{color:#eef1f6;transform:scale(1.15)}.pageContact .contactIcons .whatsApp:hover{color:#4ade80;transform:scale(1.15)}.pageContact .contactIcons .linkedIn:hover{color:#2dd4ff;transform:scale(1.15)}@media(max-width:967px){form{min-width:90%}}@media(max-width:767px){.pageContact .nameEmailContent{flex-wrap:wrap}}@media(max-width:567px){.row{flex-direction:column;row-gap:.5rem}}*{padding:0;margin:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:#070a12;color:#eef1f6}body .line{padding-top:2rem}body h1{color:#eef1f6;padding:2rem 0;text-align:center;font-size:2.5rem;font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:2px}body .App .loadingPage{display:flex;justify-content:center;align-items:center;gap:1rem;height:100vh;background-color:#070a12;font-family:Space Grotesk,sans-serif}body .App .loadingPage .spinnerLogoIcon{animation:spinner 1.2s linear infinite;transform-origin:center center;font-size:3.5rem;color:#2dd4ff}body .App .loadingPage span{font-size:2rem;color:#eef1f6;letter-spacing:2px}@media(max-width:567px){body .shadowBlackImg{max-height:300px}body .rightImg{max-height:350px}}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
