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}html{background-color:#121212}h1,h2,h3{color:#fff}.left{align-items:center;background-color:#333;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center;left:0;overflow:hidden;padding:1rem;position:fixed;text-align:center;top:0;width:18%}.right{margin-left:25%;overflow-y:auto;padding:20px;width:75%}#logo-img{border-radius:50%;height:auto;margin-bottom:10px;max-width:60%;width:100%}#contacts{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:1rem 0;max-width:100%}#icons{background:#3498db1a;border-radius:50%;flex-shrink:0;height:40px;padding:8px;transition:all .3s ease;width:40px}#icons:hover{background:#3498db4d;transform:translateY(-2px)}#bio{font-size:1.1rem;margin:5px 0}#colour{color:#9c9c9c}#copyright{color:#bbb;font-size:.9rem}.navbuttons{margin-top:2rem;width:100%}.navbuttons .pad{margin-bottom:1rem}.button-style{background:#0000;border:2px solid #3498db;border-radius:25px;box-sizing:border-box;color:#3498db;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.75rem;max-width:100%;overflow:hidden;padding:8px 16px;text-overflow:ellipsis;text-transform:uppercase;transition:all .3s ease;white-space:nowrap;width:100%}.button-style:hover{background:#3498db;box-shadow:0 5px 15px #3498db66;color:#fff;transform:translateY(-2px)}.button-style:active{transform:translateY(0)}.button-style:focus{box-shadow:0 0 0 3px #3498db4d;outline:none}.left,.right{box-sizing:border-box}@media (max-width:768px){.left{gap:.5rem;height:auto;padding:1rem;position:relative;width:100%}.right{margin-left:0;width:100%}.left #logo-img{margin-bottom:.5rem;width:50%}.left #contacts{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:.75rem 0}.left #icons{height:32px;padding:6px;width:32px}.left .navbuttons{margin-top:1rem;width:100%}.left .navbuttons .pad{margin-bottom:.75rem}.left .button-style{font-size:.8rem;letter-spacing:.3px;padding:6px 12px;width:100%}}.projects-body{color:#333;margin:0 auto;max-width:1200px;padding:2rem}.projects-content{display:flex;flex-direction:column;gap:3rem}.projects-section{margin-bottom:2rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-box{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;transition:transform .2s ease,box-shadow .2s ease}.project-box:hover{box-shadow:0 4px 15px #0000001a;transform:translateY(-4px)}.project-details{display:flex;flex-direction:column;gap:.8rem;padding:1.5rem}.project-title{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;gap:.8rem;margin:0}.project-icon{border-radius:4px;height:2rem;object-fit:contain;width:2rem}.project-description{color:#666;font-size:.95rem;line-height:1.5;margin:0}.icon{height:1.5rem;transition:opacity .2s ease,transform .2s ease;width:1.5rem}.icon:hover{opacity:1;transform:scale(1.1)}@media (max-width:768px){.projects-body{padding:1rem}.projects-grid{gap:1.5rem;grid-template-columns:1fr}.section-header{font-size:1.7rem;margin-bottom:1.5rem}.project-box{max-width:100%}}@media (prefers-color-scheme:dark){.projects-body,.section-header{color:#f5f5f5}.project-box{background:#2c3e50;box-shadow:0 2px 10px #0003}.project-title{color:#f5f5f5}.project-description{color:#ddd}}.main-body{color:#333;margin:0 auto;max-width:1200px;padding:2rem}.content-status{color:#555;font-size:1.05rem;margin:2rem 0}.content-error{color:#c0392b}.section-header{align-items:center;color:#2c3e50;display:flex;font-size:2rem;gap:.5rem;margin-bottom:2rem}.duration,.section-header i{color:#3498db}.duration{background:#e1f0fa;border-radius:1rem;display:inline-block;font-size:.85rem;margin-bottom:.5rem;padding:.15rem .5rem}@media (prefers-color-scheme:dark){.main-body,.section-header{color:#f5f5f5}}.hero-section{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:1rem;margin-bottom:4rem;padding:4rem 0}.hero-content{align-items:center;display:flex;gap:4rem;margin:0 auto;max-width:1000px;padding:0 2rem}.hero-text{flex:1 1}.hero-title{color:#2c3e50;font-size:3.5rem;margin-bottom:1rem}.hero-subtitle{color:#3498db;font-size:1.5rem;margin-bottom:1.5rem}.hero-description{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:2rem}@media (max-width:768px){.hero-content{flex-direction:column;gap:2rem;text-align:center}.hero-title{font-size:2.5rem}}@media (prefers-color-scheme:dark){.hero-section{background:linear-gradient(135deg,#2c3e50,#1a252f)}.hero-title{color:#f5f5f5}.hero-description{color:#ddd}}.experience-section{margin-bottom:4rem}.timeline{padding-left:2rem;position:relative}.timeline:before{background:#3498db;bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transform-origin:top;transition:transform .9s ease;width:2px}.experience-section.is-visible .timeline:before{transform:scaleY(1)}.timeline-item{margin-bottom:1rem;opacity:0;padding-left:2rem;position:relative;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease;transition-delay:0s;transition-delay:calc(var(--item-index, 0)*.12s)}.experience-section.is-visible .timeline-item{opacity:1;transform:translateY(0)}.timeline-item:before{background:#3498db;border-radius:50%;content:"";height:1rem;left:-.5rem;position:absolute;top:.5rem;transform:scale(0);transition:transform .35s ease;transition-delay:.2s;transition-delay:calc(.2s + var(--item-index, 0)*.12s);width:1rem}.experience-section.is-visible .timeline-item:before{transform:scale(1)}.timeline-content{background:#fff;border-radius:.5rem;box-shadow:0 2px 10px #0000000d;padding:.75rem 1rem;transition:transform .25s ease,box-shadow .25s ease}.timeline-content:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-3px)}.company-name{color:#666;font-size:1.1rem;margin-bottom:.5rem;margin-top:.2rem}.company-link{color:#666;text-decoration:none;transition:color .3s ease}.company-link:hover,.job-title{color:#3498db}.job-title{font-size:1.7rem;font-weight:600;margin-bottom:.2rem;margin-top:.2rem}.job-description{line-height:1.4;margin-bottom:.5rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.tech-tag{background:#f0f0f0;border-radius:1rem;color:#666;font-size:.85rem;opacity:0;padding:.15rem .5rem;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;transition-delay:.35s;transition-delay:calc(.35s + var(--item-index, 0)*.12s + var(--tag-index, 0)*.03s)}.experience-section.is-visible .tech-tag{opacity:1;transform:translateY(0)}@media (max-width:768px){.timeline{padding-left:1rem}}@media (prefers-color-scheme:dark){.timeline-content{background:#2c3e50;box-shadow:0 2px 10px #0003}.company-link{color:#f5f5f5}.job-description{color:#ddd}.tech-tag{background:#34495e;color:#f5f5f5}}@media (prefers-reduced-motion:reduce){.tech-tag,.timeline-content,.timeline-item,.timeline-item:before,.timeline:before{opacity:1;transform:none;transition:none}}.certificates-section{margin-bottom:4rem}.certificates-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.certificate-item{background:#fff;border-radius:.5rem;box-shadow:0 2px 10px #0000000d;padding:1.25rem}.certificate-title{color:#3498db;font-size:1.2rem;font-weight:600;margin:0 0 .4rem}.certificate-title a{color:#3498db;text-decoration:none;transition:color .3s ease}.certificate-title a:hover{color:#2980b9}.certificate-issuer{color:#666;font-size:1rem;font-weight:500;margin:0 0 .5rem}.certificate-description{color:#555;font-size:.95rem;line-height:1.5;margin:.75rem 0 0}@media (prefers-color-scheme:dark){.certificate-item{background:#2c3e50;box-shadow:0 2px 10px #0003}.certificate-issuer{color:#bbb}.certificate-description{color:#ddd}}.skills-section{margin-bottom:4rem}.skills-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skills-box{animation:skillsFadeIn .5s ease-out forwards;background:#fff;border-radius:.5rem;box-shadow:0 2px 10px #0000000d;padding:1.5rem}.skills-header{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;gap:.5rem;margin-bottom:1.5rem}.skills-header i{color:#3498db}.skills-grid{grid-gap:1rem;display:grid;gap:1rem}.skill-item{display:flex;flex-direction:column;gap:.5rem;will-change:transform}.skill-name{color:#2c3e50;font-weight:500}.skill-level{background:#f0f0f0;border-radius:4px;height:8px;overflow:hidden}.skill-progress{background:#3498db;border-radius:4px;height:100%;transition:width .8s ease}@keyframes skillsFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.skills-container{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.skills-box{background:#2c3e50;box-shadow:0 2px 10px #0003}.skill-name,.skills-header{color:#f5f5f5}}@media (prefers-reduced-motion:reduce){.skills-box{animation:none}.skill-progress{transition:none}}.pictures-page{margin:0 auto;max-width:1100px;padding:1rem 1.5rem 3rem}.pictures-title{color:#2c3e50;font-size:2rem;margin:0 0 .5rem}.pictures-coming-soon{color:#666;font-size:1.15rem;margin:0}@media (max-width:560px){.pictures-title{font-size:1.6rem}}@media (prefers-color-scheme:dark){.pictures-title{color:#f5f5f5}.pictures-coming-soon{color:#ddd}}.welcome-container{align-items:center;animation:fadeInBackground 1.5s ease-in-out;background-color:inherit;color:#fff;display:flex;flex-direction:column;height:100vh;justify-content:center;text-align:center}.welcome-text{animation:textFadeIn 2s ease-in-out;font-size:3rem;font-weight:700;margin-bottom:20px}.continue-button{align-items:center;animation:textFadeIn 2.5s ease-in-out;background-color:#9c9c9c;border:none;border-radius:25px;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;gap:10px;justify-content:center;padding:10px 20px;transition:background-color .3s ease,transform .3s ease}.continue-button:hover{background-color:#1c86ee;transform:scale(1.05)}.arrow-icon{font-size:1.5rem}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.error-page{background:linear-gradient(135deg,#121212,#2b2b2b 50%,#333);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.error-container,.error-page{align-items:center;display:flex}.error-container{gap:4rem;justify-content:space-between;max-width:1200px;width:100%}.error-content{flex:1 1;text-align:left;z-index:2}.error-code{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#3498db,#2980b9);-webkit-background-clip:text;background-clip:text;font-size:6rem;font-weight:900;line-height:1;margin:0}.error-title{color:#fff;font-size:2.5rem;font-weight:600;margin:.5rem 0}.error-message{color:#bbb;font-size:1.2rem;line-height:1.6;margin:1rem 0}.error-suggestion{color:#9c9c9c;font-size:1rem;font-style:italic;margin:.5rem 0 2rem}.error-actions{display:flex;gap:1rem;margin-bottom:2rem}.back-button,.home-link{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.home-link{background:#3498db;color:#fff}.home-link:hover{background:#2980b9;box-shadow:0 4px 15px #3498db4d;transform:translateY(-2px)}.back-button{background:#0000;border:2px solid #3498db;color:#3498db}.back-button:hover{background:#3498db;box-shadow:0 4px 15px #3498db4d;color:#fff;transform:translateY(-2px)}.error-visual{align-items:center;display:flex;flex:1 1;height:400px;justify-content:center;position:relative}.glitch-text{animation:glitch 2s infinite;color:#3498db;font-size:12rem;font-weight:900;opacity:.1;position:absolute;z-index:1}.floating-elements{height:100%;position:absolute;width:100%}.floating-element{animation:float 3s ease-in-out infinite;background:linear-gradient(45deg,#3498db,#2980b9);border-radius:50%;height:20px;position:absolute;width:20px}.element-1{animation-delay:0s;left:20%;top:20%}.element-2{animation-delay:1s;right:30%;top:60%}.element-3{animation-delay:2s;bottom:20%;left:60%}@keyframes glitch{0%,to{text-shadow:2px 0 #2980b9,-2px 0 #3498db;transform:translate(0)}20%{text-shadow:-2px 0 #2980b9,2px 0 #3498db;transform:translate(-2px,2px)}40%{text-shadow:2px 2px #2980b9,-2px -2px #3498db;transform:translate(2px,-2px)}60%{text-shadow:-2px -2px #2980b9,2px 2px #3498db;transform:translate(-2px,-2px)}80%{text-shadow:2px 0 #2980b9,-2px 0 #3498db;transform:translate(2px,2px)}}@keyframes float{0%,to{opacity:.7;transform:translateY(0) rotate(0deg)}50%{opacity:1;transform:translateY(-20px) rotate(180deg)}}@media (max-width:768px){.error-container{flex-direction:column;gap:2rem}.error-container,.error-content{text-align:center}.error-code{font-size:4rem}.error-title{font-size:2rem}.error-actions{flex-wrap:wrap;justify-content:center}.glitch-text{font-size:8rem}.error-visual{height:200px}}
/*# sourceMappingURL=main.eb5431e2.css.map*/