:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--primary-color: #FFA500;--secondary-color: #FFFFFF;--background-color: #1a1a1a;--card-background: #242424;--hover-color: #FFC107;--current-primary: var(--primary-color);--current-secondary: var(--secondary-color);--current-background: var(--background-color);--current-card-background: var(--card-background);--current-hover: var(--hover-color);color:var(--current-secondary);background-color:var(--current-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.light-theme{--current-primary: #FFA500;--current-secondary: #1a1a1a;--current-background: #e0dddd;--current-card-background: #f8f9fa;--current-hover: #e69500;color-scheme:light;color:var(--current-secondary);background-color:var(--current-background)}body.light-theme #projects h2,body.light-theme #contact h2{-webkit-text-stroke:.5px var(--current-secondary)}body.light-theme:before{opacity:.1}body.light-theme .navbar{background-color:var(--current-background);box-shadow:0 2px 4px #0000001a}body.light-theme .card{background-color:var(--current-card-background);box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}body.light-theme .navbar-brand span{color:var(--current-secondary)}body.light-theme .skills-list li{background-color:var(--current-card-background);color:var(--current-secondary);border:1px solid var(--current-primary)}body.light-theme .portfolio-footer{background-color:var(--current-card-background);color:var(--current-secondary)}body.light-theme .navbar-links a,body.light-theme .navbar-links-mobile a{color:var(--current-secondary)}body.light-theme .navbar-links a:hover,body.light-theme .navbar-links-mobile a:hover{color:var(--current-primary)}body.light-theme .social-link.github-link img,body.light-theme .social-link.linkedin-link img{content:none}.social-link{display:inline-block;position:relative;width:24px;height:24px;vertical-align:middle;color:transparent}.social-link img{display:block;width:100%;height:100%;transition:opacity .25s ease-in-out;opacity:1}body.light-theme .social-link.github-link{background-image:url(/media/github-mark.png);background-size:contain;background-repeat:no-repeat;background-position:center}body.light-theme .social-link.linkedin-link{background-image:url(/media/InBug-Black.png);background-size:contain;background-repeat:no-repeat;background-position:center}.social-link.github-link,.social-link.linkedin-link{background-image:none}a{font-weight:500;color:var(--current-primary);text-decoration:inherit;transition:color .25s}a:hover{color:var(--current-hover)}body{margin:0;min-width:320px;min-height:100vh;position:relative;z-index:0}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;z-index:-2;background-image:url(/techbackorange.png);background-position:center;background-repeat:no-repeat;background-size:cover;opacity:.4}h1,h2,h3,h4,h5,h6{color:var(--current-primary)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--current-primary);color:#fff;cursor:pointer;transition:background-color .25s,border-color .25s}button:hover{background-color:var(--current-hover);border-color:var(--current-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{background-color:var(--current-card-background)}.navbar{background-color:var(--current-background)}.navbar-links a{color:var(--current-secondary)}.navbar-links a:hover{color:var(--current-primary)}.navbar-links-mobile{background-color:var(--current-background);border-top:1px solid var(--current-primary)}.navbar-links-mobile a{color:var(--current-secondary)}.navbar-links-mobile a:hover{color:var(--current-primary)}.navbar-toggler span{background-color:var(--current-primary)}.navbar-brand span{color:var(--current-secondary)}.theme-toggle-button,.project-card h3{color:var(--current-primary)}.project-link{background-color:var(--current-primary);color:var(--current-background)}.project-link:hover{background-color:var(--current-hover);color:var(--current-background)}body.light-theme .project-link,body.light-theme .button{color:#fff}.project-screenshot{border:2px solid var(--current-primary)}.slick-dots li button:before{color:var(--current-primary)}.slick-dots li.slick-active button:before{color:var(--current-primary)}.slick-prev:before,.slick-next:before{color:var(--current-primary)}.skills-list li{background-color:var(--current-card-background);color:var(--current-secondary);border:1px solid var(--current-primary)}.contact-link{color:var(--current-primary)}.portfolio-footer{background-color:var(--current-card-background);color:var(--current-secondary)}.social-link{color:var(--current-primary);transition:color .25s}.parallax-container{z-index:-1}#root{width:80%;margin:0 auto;padding:2rem;text-align:center}.card{padding:2em;background-color:var(--card-background);opacity:.9;border-radius:8px;margin-top:2rem}.portfolio-main{padding-top:60px}.portfolio-section{padding:3rem 2rem;margin-bottom:2rem;scroll-margin-top:70px}.portfolio-section h2{margin-bottom:1.5rem;text-align:center}.portfolio-section-container{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.portfolio-section-container.visible{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;width:100%;background-color:var(--background-color);box-shadow:0 2px 4px #0003;z-index:1000;padding:0 1rem}.navbar-content{width:80%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:60px}.navbar-brand{display:flex;align-items:center;gap:.5rem}.brand-headshot{height:40px;width:auto;border-radius:50%;object-fit:cover}.navbar-right-group{display:flex;align-items:center;gap:1rem}.navbar-mobile-toggles,.theme-toggle-button.mobile-toggle{display:none}.theme-toggle-button.desktop-toggle{display:inline-flex}.navbar-links{list-style:none;padding:0;margin:0;display:flex}.navbar-links li{display:inline-block;margin-left:1.2rem}.navbar-links li:first-child{margin-left:0}.navbar-links a{color:var(--secondary-color);text-decoration:none;transition:color .2s}.navbar-links a:hover{color:var(--primary-color)}.navbar-links-mobile{display:none}.navbar-toggler{display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin-left:1rem}.navbar-toggler span{display:block;width:25px;height:3px;background-color:var(--primary-color);margin:5px 0;transition:transform .3s ease,opacity .3s ease}.theme-toggle-button{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:1.5rem;padding:.5rem;display:inline-flex;align-items:center;justify-content:center}.theme-toggle-button:hover{opacity:.8}.light-theme .theme-toggle-button{color:var(--primary-color)}.light-theme .navbar-toggler span{background-color:var(--primary-color)}.light-theme .navbar-links-mobile{background-color:var(--background-color);border-top:1px solid var(--primary-color)}.light-theme .navbar-links-mobile li{border-bottom:1px solid var(--card-background)}.light-theme .navbar-links-mobile a{color:var(--secondary-color)}.light-theme .navbar-links-mobile a:hover{color:var(--primary-color)}.project-carousel{margin:0 auto}.project-card{height:100%;display:flex;flex-direction:column;justify-content:space-between;margin:0 .75rem;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.project-card h3{color:var(--primary-color);margin-bottom:.5rem}.project-card:hover{transform:scale(1.03);box-shadow:0 8px 16px #0000004d}.project-link{display:inline-block;margin-top:1rem;padding:.5em 1em;background-color:var(--primary-color);color:var(--background-color);border-radius:4px;text-decoration:none;transition:background-color .2s,color .2s,transform .2s ease-out;align-self:center}.project-link:hover{background-color:var(--hover-color);color:var(--background-color);transform:translateY(-3px)}.project-screenshot{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px;margin-bottom:1rem;border:2px solid var(--primary-color)}.slick-dots li button:before{font-size:12px;color:var(--primary-color);opacity:.5}.slick-dots li.slick-active button:before{opacity:1;color:var(--primary-color)}.slick-prev:before,.slick-next:before{color:var(--primary-color);font-size:24px}.skills-list{list-style:none;padding:0;text-align:center}.skills-list li{display:inline-block;background-color:var(--card-background);color:var(--secondary-color);padding:.5em 1em;margin:.5em;border-radius:4px;border:1px solid var(--primary-color)}.contact-link{display:block;margin-top:1rem;text-align:center;color:var(--primary-color)}.portfolio-footer{text-align:center;padding:1.5rem;margin-top:3rem;background-color:var(--card-background);color:var(--secondary-color);font-size:.9em}.social-links{margin-bottom:1rem}.social-link{color:var(--primary-color);text-decoration:none;margin:0 .75rem;font-size:1.2em;display:inline-block;vertical-align:middle}.social-link:hover{color:var(--primary-color)}.social-icon{height:24px;width:auto;vertical-align:middle;transition:transform .2s ease-out}.social-link:hover .social-icon{transform:scale(1.3)}.resume-download-button{display:inline-block;margin-top:20px;padding:12px 25px;background-color:var(--primary-color);color:var(--background-color);border:none;border-radius:5px;text-decoration:none;font-weight:700;text-align:center;cursor:pointer;transition:background-color .3s ease,transform .2s ease}.resume-download-button:hover{background-color:var(--secondary-color);transform:translateY(-2px);box-shadow:0 4px 8px #0003}.parallax-container{position:fixed;top:0;left:0;width:100%;height:100vh;pointer-events:none;z-index:-1}.parallax-icon{position:absolute;width:60px;height:auto;animation:float 4s ease-in-out infinite;will-change:transform;background-color:transparent;visibility:visible;opacity:.3;pointer-events:none}.parallax-icon{position:absolute;left:attr(data-x percent);top:attr(data-y percent)}.parallax-icon:nth-child(odd){left:calc(10% + 5vw * var(--random-offset));top:calc(20% + 10vh * var(--random-offset))}.parallax-icon:nth-child(2n){left:calc(70% - 5vw * var(--random-offset));top:calc(50% - 10vh * var(--random-offset))}:root{--random-offset: 1}@keyframes float{0%,to{transform:translateY(-5px)}50%{transform:translateY(-10px)}}@media (max-width: 992px){#root{width:80%;padding:1.5rem}.portfolio-section{padding:2rem 1rem}.navbar{padding:1rem 1.5rem}.navbar-content{width:80%}.navbar-links li{margin-left:1rem}.project-card{margin:0 .5rem}}@media (max-width: 768px){#root{width:90%;padding:1rem}.portfolio-main{padding-top:50px}.navbar{padding:0;flex-direction:row;justify-content:space-between;align-items:center}.navbar-content{width:90%;padding:.8rem 1rem;min-height:50px;display:flex;justify-content:space-between;align-items:center}.navbar-right-group,.theme-toggle-button.desktop-toggle,.navbar-links{display:none}.navbar-mobile-toggles{display:flex;align-items:center;gap:.5rem}.theme-toggle-button.mobile-toggle{display:inline-flex}.navbar-toggler{display:block;order:initial}.navbar-links-mobile{display:none;list-style:none;padding:1rem 0;margin:0;position:absolute;top:100%;left:0;background-color:var(--background-color);width:100%;box-shadow:0 4px 6px #0000001a;border-top:1px solid var(--primary-color);z-index:999}.navbar-links-mobile.open{display:block}.navbar-links-mobile li{display:block;text-align:center;padding:.8rem 1rem;border-bottom:1px solid var(--card-background)}.navbar-links-mobile li:last-child{border-bottom:none}.navbar-links-mobile a{display:block;width:100%;color:var(--secondary-color)}.navbar-links-mobile a:hover{color:var(--primary-color)}.portfolio-section{padding:1.5rem .5rem;scroll-margin-top:60px}.portfolio-section h2{font-size:1.8em}.project-card{margin:0 .25rem}.skills-list li{padding:.4em .8em;margin:.4em}.portfolio-footer{padding:1rem;font-size:.8em}}.error-boundary{text-align:center;padding:2rem;background-color:var(--card-background);border-radius:8px;margin:2rem;border:2px solid #e74c3c}.error-boundary h2{color:#e74c3c;margin-bottom:1rem}.error-boundary p{margin-bottom:1.5rem;color:var(--text-color)}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-color);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:1000;transition:top .3s}.skip-link:focus{top:6px}
