:root{--neon-orange:#ff9100;--neon-green:#39ff14;--neon-blue:#00d4ff;--dark-bg:#121212;--darker-bg:#0a0a0a;--card-bg:#1e1e1e;--bs-navbar-color:rgba(0, 212, 255, 0.3)}body{background-color:var(--dark-bg);color:#f8f9fa;font-family:"Source Code Pro","Courier New";overflow-x:hidden;padding-top:50px}.navbar{background-color:rgba(18,18,18,.95)!important;border-bottom:1px solid rgba(255,145,0,.3);backdrop-filter:blur(10px)}.neon-text-orange{text-shadow:0 0 5px var(--neon-orange),0 0 10px var(--neon-orange),0 0 15px var(--neon-orange);color:#fff}.neon-text-green{text-shadow:0 0 5px var(--neon-green),0 0 10px var(--neon-green),0 0 15px var(--neon-green);color:#fff}.neon-text-blue{text-shadow:0 0 5px var(--neon-blue),0 0 10px var(--neon-blue),0 0 15px var(--neon-blue);color:#fff}.hero{height:75vh;display:flex;align-items:center;background-color:var(--darker-bg);position:relative;overflow:hidden}.section{padding:100px 0;position:relative}.section-title{margin-bottom:50px;font-weight:700;position:relative;display:inline-block}.section-title::after{content:"";position:absolute;left:0;bottom:-10px;width:100%;height:1px;background:linear-gradient(90deg,var(--neon-orange),var(--neon-green));border-radius:3px}.card{background-color:var(--card-bg);border:1px solid rgba(0,212,255,.3);transition:all .3s ease;height:100%}.card:hover{transform:translateY(-5px);box-shadow:0 0 20px rgba(0,212,255,.4)}.skill-card{background-color:rgba(30,30,30,.7);border:1px solid rgba(0,212,255,.3);border-radius:10px;padding:15px;margin-bottom:0;transition:all .3s ease;cursor:pointer}.skill-card:hover{background-color:rgba(30,30,30,.9);box-shadow:0 0 20px rgba(0,212,255,.4)}#skills h3,.skill-card h5{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.skill-icon{font-size:2.5rem;margin-bottom:15px}.skill-category{margin-bottom:40px}.skills-container{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:50px}.skill-section{display:flex;flex-direction:column}.skill-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}@media (max-width:992px){.skills-container{grid-template-columns:1fr;gap:40px}.skill-cards-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.btn-neon{background-color:transparent;border:2px solid var(--neon-orange);color:#fff;position:relative;overflow:hidden;z-index:1;transition:all .3s ease}#home .btn-neon{background-color:var(--darker-bg)}.btn-neon::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,145,0,.4),transparent);transition:all .4s ease;z-index:-1}.btn-neon:hover::before{left:100%}.btn-neon:hover{box-shadow:0 0 15px var(--neon-orange);color:#fff;border-color:var(--neon-orange)}.btn-neon-green{border-color:var(--neon-green)}.btn-neon-green::before{background:linear-gradient(90deg,transparent,rgba(57,255,20,.4),transparent)}.btn-neon-green:hover{box-shadow:0 0 15px var(--neon-green);border-color:var(--neon-green)}.btn-neon-blue{border-color:var(--neon-blue)}.btn-neon-blue::before{background:linear-gradient(90deg,transparent,var(--neon-blue),transparent)}.btn-neon-blue:hover{box-shadow:0 0 15px var(--neon-blue);border-color:var(--neon-blue)}.form-control,.form-select{background-color:rgba(30,30,30,.7);border:1px solid var(--neon-orange);color:#fff}.form-control:focus,.form-select:focus{background-color:rgba(30,30,30,.9);border-color:var(--neon-orange);box-shadow:0 0 0 .1rem var(--neon-orange);color:#fff}.form-control::placeholder,.form-select::placeholder{color:grey}.form-check-input:focus{border-color:var(--neon-orange);box-shadow:0 0 0 .1rem var(--neon-orange);color:#fff;outline:0}.form-check-input:checked{background-color:var(--neon-orange)}.project-card{position:relative;overflow:hidden;border-radius:10px;margin-bottom:30px}.project-card img{transition:all .5s ease;width:100%;height:250px;object-fit:cover}.project-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:all .5s ease;padding:20px;color:#fff}.project-card:hover .project-overlay{opacity:1}.project-card:hover img{transform:scale(1.1)}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;background-color:var(--card-bg);margin:0 10px;font-size:1.5rem;transition:all .3s ease;text-decoration:none}.social-icon:hover{transform:translateY(-5px);box-shadow:0 0 15px var(--neon-blue)}.footer{padding:30px 0;background-color:var(--dark-bg);border-top:1px solid rgba(57,255,20,.3)}.thank-you-message{display:none;background-color:rgba(57,255,20,.1);border:1px solid var(--neon-green);color:#fff;padding:15px;border-radius:5px;margin-bottom:20px;text-align:center}.skill-level{height:6px;background-color:rgba(255,255,255,.1);border-radius:3px;margin-top:5px;overflow:hidden}.skill-progress{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--neon-orange),var(--neon-green))}.wrapper{margin-top:5%;width:100%;height:100%}.line__1,.line__2{white-space:nowrap;overflow:hidden;margin:.5rem auto;font-size:2rem}.line__1{border-right:2px solid transparent;animation:animatedText1 2s steps(30,end) 1s 1 normal both,animatedCursor1 .9s steps(30,end) 3}.line__2{border-right:2px solid transparent;animation:animatedText2 2s steps(30,end) 1s 1 normal both,animatedCursor2 .9s steps(30,end) infinite;-webkit-animation-delay:3s;animation-delay:3s}@keyframes animatedCursor1{from{border-right-color:rgba(17,17,17,.9)}to{border-right-color:rgba(255,255,255,.8)}}@keyframes animatedCursor2{from{border-right-color:rgba(17,17,17,.9)}to{border-right-color:rgba(255,255,255,.8)}}@keyframes animatedText1{from{width:0}to{width:17.5rem}}@keyframes animatedText2{from{width:0}to{width:22rem}}.typing-effect{border-right:4px solid var(--neon-green);overflow:hidden;animation:typing 3.7s steps(32,end) forwards,blink-caret .75s step-end infinite;margin:0 auto;width:fit-content;text-align:center}.typing-container{text-align:center;line-height:1.5}.typing-line{display:block;width:fit-content;margin:0 auto;overflow:hidden;white-space:nowrap;position:relative}.typing-line::after{content:"";position:absolute;top:0;right:0;bottom:0;width:3px;background-color:transparent}@keyframes typing-reveal-text{from{width:0}to{width:100%}}@keyframes blink-caret-standard{0%,100%{border-right-color:var(--neon-green)}50%{border-right-color:transparent}}@keyframes force-hide-cursor{to{border-right-color:transparent}}.typing-line-1{animation-name:typing-reveal-text,blink-caret-standard,force-hide-cursor;animation-duration:1.4s,.75s,10ms;animation-timing-function:steps(14,end),step-end,step-end;animation-iteration-count:1,1,1;animation-fill-mode:forwards,forwards,forwards;animation-delay:0s,0s,1.4s}.typing-line-2{width:0;animation-name:typing-reveal-text,blink-caret-standard;animation-duration:1.8s,.75s;animation-timing-function:steps(18,end),step-end;animation-iteration-count:1,infinite;animation-fill-mode:forwards,forwards;animation-delay:1.45s,1.45s}.darker-bg{background-color:var(--darker-bg)}.contorned{float:left;margin:10px 20px 10px 0;width:50px}#about .btn{margin:0 auto}#about p{font-size:large}.about-img-container{position:relative;overflow:hidden;box-shadow:0 0 20px rgba(0,212,255,.3);width:40%;width:30%;max-width:430px;aspect-ratio:1/1;border-radius:50%}.about-img-container::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:conic-gradient(transparent,var(--neon-blue),transparent 30%);animation:rotate 6s linear infinite;z-index:1}@keyframes rotate{100%{transform:rotate(1turn)}}@media (max-width:768px){.hero{height:auto;padding:50px 0 100px}.section{padding:60px 0}}.about-img-container::after{content:"";position:absolute;inset:3px;background-color:var(--darker-bg);z-index:2;border-radius:50%}.about-img{position:absolute;inset:3px;width:100%;height:100%;z-index:3;object-fit:cover;border-radius:50%}@media (max-width:575.98px) and (orientation:portrait){.hero .d-flex.justify-content-center.gap-3{flex-direction:column;align-items:center}.hero .d-flex.justify-content-center.gap-3 .btn{width:75%}}#reticolo{position:absolute;width:100vw;height:75vh;top:0;left:0}#reticolo .row{display:inline-flex;margin-top:-32px;margin-left:-50px}#reticolo .row:nth-child(2n){margin-left:2px}#reticolo>.row>div{width:150px;height:110px;margin:2px}.codeSlash{position:absolute;top:-25;left:-25;width:250px;height:250px}.codeSlash{font-family:"Press Start 2P",cursive;font-size:xx-large;width:150px;height:auto;margin:2px;animation:animation 4s linear infinite;transition:1s}.codeSlash{color:transparent}.codeSlash:hover{color:var(--testo);transition:0s}.col-lg-8,.hero-content>div>div>div{position:relative;z-index:100!important}#contact{background-color:var(--darker-bg)}#errorMessage{display:none}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}100%{opacity:1;transform:translateY(0)}}#contact .card,#projects .card,.skill-card{opacity:0;transform:translateY(50px)}#contact .card.animate,#projects .card.animate,.skill-card.animate{animation-name:slideInFromBottom;animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:forwards}.tooltip-container{position:relative;display:inline-block}.tooltip{position:absolute;z-index:1000;padding:8px 12px;background-color:var(--card-bg);border:1px solid var(--neon-orange);border-radius:4px;color:#fff;font-size:.9rem;opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 0 10px rgba(255,145,0,.3);max-width:200px}.tooltip.top::after{bottom:-10px;left:50%;transform:translateX(-50%);border-color:var(--neon-orange) transparent transparent transparent}.tooltip.bottom::after{top:-10px;left:50%;transform:translateX(-50%);border-color:transparent transparent var(--neon-orange) transparent}.tooltip.left::after{right:-10px;top:50%;transform:translateY(-50%);border-color:transparent transparent transparent var(--neon-orange)}.tooltip.right::after{left:-10px;top:50%;transform:translateY(-50%);border-color:transparent var(--neon-orange) transparent transparent}.tooltip-container:focus-within .tooltip,.tooltip-container:hover .tooltip{opacity:1;visibility:visible}.tooltip.show{opacity:1;visibility:visible}.tooltip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.tooltip-content-text{flex-grow:1;margin-right:8px;word-wrap:break-word}.tooltip-content-text strong{color:#fff;text-shadow:0 0 5px var(--neon-orange),0 0 10px var(--neon-orange),0 0 15px var(--neon-orange);display:block;margin-bottom:4px}.tooltip-close{background-color:transparent;border:none;color:#fff;font-family:Arial,sans-serif;font-size:1.75rem;font-weight:700;line-height:1;padding:.1rem .3rem;margin-left:8px;cursor:pointer;opacity:.7;transition:opacity .2s ease,text-shadow .2s ease;text-shadow:0 0 5px var(--neon-green),0 0 10px var(--neon-green);align-self:flex-start}.tooltip-close:focus-visible,.tooltip-close:hover{opacity:1;text-shadow:0 0 7px var(--neon-green),0 0 14px var(--neon-green),0 0 20px var(--neon-green);outline:0}.tooltip-links{background-color:transparent!important;border:none!important;padding-top:4px}.tooltip-link{display:inline-block;margin-right:12px;margin-bottom:6px;color:#fff;text-decoration:none;transition:text-shadow .2s ease,opacity .2s ease;text-shadow:0 0 5px var(--neon-blue),0 0 10px var(--neon-blue);opacity:.85}.tooltip-link:focus-visible,.tooltip-link:hover{opacity:1;text-shadow:0 0 8px var(--neon-blue),0 0 16px var(--neon-blue),0 0 24px var(--neon-blue);text-decoration:underline;outline:0}:focus-visible{outline:2px solid var(--neon-green);outline-offset:2px}[aria-describedby]:focus{outline:0;box-shadow:0 0 0 3px rgba(57,255,20,.5)}.close-btn{width:20px;height:24px;background-color:transparent;border:none;cursor:pointer;opacity:.7;transition:opacity .2s ease}.close-btn:hover{opacity:1}.close-btn::after,.close-btn::before{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;background-color:#fff}.close-btn::before{transform:translate(-50%,-50%) rotate(45deg)}.close-btn::after{transform:translate(-50%,-50%) rotate(-45deg)}.close-btn:focus{outline:0}.close-btn:focus-visible::after,.close-btn:focus-visible::before{background-color:var(--neon-green)}#contactInfo a{color:var(--neon-green)}