body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-color:#465b6b;background-image:url(/static/media/background.c67ccbf580c3d4361185.png);background-position:center 0;background-position:center var(--background-offset,0);background-repeat:no-repeat;background-size:cover;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;transition:background-position .05s ease-out}body:before{background:#0003;content:"";height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.glass-container{backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);background:none;border:0;padding:0}@media only screen and (max-width:768px){.glass-container{backdrop-filter:blur(.5px);-webkit-backdrop-filter:blur(.5px)}}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}.progress-bar{background:linear-gradient(90deg,#00c6ff,#0072ff);height:4px;left:0;max-width:100%!important;position:-webkit-sticky;position:sticky;top:0;transition:width .1s ease;width:0;z-index:9999}@media (prefers-reduced-motion:no-preference){.App-logo{animation:app-logo-spin 20s linear infinite}}.app-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes app-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fade-in{animation:fade-in-animation 1s ease;animation-fill-mode:forwards;opacity:0}@keyframes fade-in-animation{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}#header{display:inline-block;transition:transform .5s ease-in-out}#header:hover{text-shadow:1px 1px 5px #0909094d;transform:scale(1.1)}h1#title{-webkit-text-fill-color:#ffffff9e;background:linear-gradient(0deg,#fff,#f6fbff);font-size:xx-large;margin:0;text-transform:uppercase}h1#title,h2{background-clip:text;-webkit-background-clip:text}h2{background-image:linear-gradient(0deg,#fff,#787878);color:#ffffffe0;font-weight:500;margin:0 10px;text-shadow:1px 2px 5px #0000007d}section{margin:1px;position:relative}.subtitle{align-content:center;align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;font-size:small;font-style:normal;justify-content:center}h2.subheading{position:relative;transition:font-weight .4s ease-in-out}h2.subheading:after,h2.subheading:before{color:#000;content:"[";display:inline-block;font-size:1.25em;height:100%;position:relative;top:1px;transition:all .3s ease-in-out}h2.subheading:before{color:#404040}h2.subheading:after{color:#404040;content:"]"}h2.subheading:hover:before{color:#fff;transform:translateX(-10px)}h2.subheading:hover:after{color:#fff;transform:translateX(10px)}h2.subheading:hover{font-weight:700}h3{background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(0deg,#fff,#787878);color:#ffffffbd;font-size:1.4rem;margin:10px;text-shadow:1px 1px 5px #000}h3,h3:hover{transition:color .2s ease-in-out}h3:hover{color:#fff}h4{margin:.3rem 0 .5rem}a{border-bottom:2px solid #0000;color:#007bff;text-decoration:none;transition:border-color .2s ease,color .2s ease}a:hover{border-bottom:2px solid #0056b3;color:#0056b3}img#about{background-color:#fff;border:1px solid #7fa1b9;border-radius:50%;box-shadow:0 0 15px -3px #000;height:100px;margin:10px 10px 0;padding:2px;width:100px}@media only screen and (max-width:768px){h1#title{float:left;font-size:x-large;margin-bottom:10px;position:relative;top:2rem}img#about{float:left;height:64px;margin-right:10px;width:64px}#header{align-items:center;transform:translateX(-2vw)}section{margin:5px;position:relative}h2.subheading{font-size:small}a:hover{border-bottom-width:1px}}#footer{background-image:linear-gradient(180deg,#eee0,#445a69);bottom:0;color:#fff;cursor:default;font-size:.6rem;height:auto;left:0;padding:3px 0;position:-webkit-sticky;position:sticky;text-align:center;text-shadow:0 0 1px #000000bf;width:100%;z-index:10}.social-links{display:inline-flex;gap:25px;margin-bottom:0;margin-top:1em;transition:all .3s ease-in-out}.social-icon{color:#1a1a1a;height:24px;width:24px}.social-icon:hover{transform:scale(1.8) translateY(-5px)!important;transition:transform .2s ease,color .1s ease,background-color .1s ease,fill .1s ease}.social-icon-button{background:none;border:none;cursor:pointer;padding:0}a[href*="bsky.app"] svg.at-bottom,a[href*="bsky.app"] svg:hover,a[href*="credly.com"] svg.at-bottom,a[href*="credly.com"] svg:hover,a[href*="github.com"] svg.at-bottom,a[href*="github.com"] svg:hover,a[href*="stackoverflow.com"] svg.at-bottom,a[href*="stackoverflow.com"] svg:hover{background-color:#ffffffd4;border-radius:6px;padding:1px 1px 0}a[href*="skillsoft.com"] svg.at-bottom,a[href*="skillsoft.com"] svg:hover{background-color:#c7ffedd4;border-radius:6px;color:#2e4592;padding:2px 1px 0 3px}a[href*="linkedin.com"] svg.at-bottom,a[href*="linkedin.com"] svg:hover{color:#fff}a[href*="stackoverflow.com"] svg.at-bottom>path:first-child,a[href*="stackoverflow.com"] svg:hover>path:first-child{fill:#ffffffd4}a[href*="linkedin.com"] svg.at-bottom>g>path:first-child,a[href*="linkedin.com"] svg:hover>g>path:first-child{fill:#0077b5}a[href*="stackoverflow.com"] svg.at-bottom,a[href*="stackoverflow.com"] svg:hover{background-color:#1b1b1bd4;border-radius:7px;color:#f48024}a[href*="github.com"] svg.at-bottom,a[href*="github.com"] svg:hover{color:#24292f}a[href*="bsky.app"] svg.at-bottom,a[href*="bsky.app"] svg:hover{color:#1da1f2}a[href*="credly.com"] svg.at-bottom,a[href*="credly.com"] svg:hover{color:#ff6a00}#footer button svg.at-bottom{color:#3033f6e0}#footer button svg.at-bottom,#footer button svg:hover{background-color:#ffffffc4;border-radius:6px;padding:1.5px}#footer button svg:hover{color:#2e4592}.social-links a,.social-links a:hover{border-bottom:none;text-decoration:none}.social-icon.at-bottom{transition:all .1s ease}#footer p{margin:0 auto;padding:0;width:90vw}.footer-title{margin:15px auto;opacity:0;transform:translateY(20px);transition:all .1s ease-in-out;width:90vw}.footer-title.visible{opacity:1;transform:translateY(0)}.resume-overlay{background-color:#00000050;left:0;overflow:hidden;position:fixed;width:100%;z-index:9999}.resume-container,.resume-overlay{align-items:flex-start;display:flex;height:100%;justify-content:center;top:0;transition:all .2s ease}.resume-container{background:#fff;overflow:visible;overflow-x:hidden;overflow-y:scroll;width:50%}.resume-container img{display:block;height:auto;max-width:90%;object-fit:contain;position:relative;top:0;transition:all .2s ease}.resume-container img.zoomed{transform:scale(2)}.image-wrapper{display:contents}.close-btn{background:#00000080;border:none;border-radius:0 0 8px 0;color:#fff;cursor:pointer;font-size:2rem;padding:.25rem .5rem;position:fixed;right:0;top:0;transition:all .2s ease}.close-btn:hover{background:#fffc;color:#000;font-size:2.5rem}@media only screen and (max-width:768px){.social-links{gap:20px}.resume-container{height:100%;overflow:visible;overflow:initial;padding:0;position:fixed;top:0;width:auto}.resume-container img{max-width:95%;position:fixed;top:5%}}.work-history{background-color:#f4f4f41a;border-radius:8px;box-shadow:0 0 15px #0000001f;margin:1.5em auto .5em;max-width:635px;padding:.5rem 1rem}.company-logo{height:64px;margin-left:.5rem;margin-right:.75rem;object-fit:contain;transition:width .3s ease-in-out,height .3s ease-in-out;vertical-align:middle;width:64px}.company-logo:hover{height:70px;width:70px}.bigger_logo{height:100px!important;width:100px!important}.cert-logo{scale:.8}.work-history ul{list-style:none;margin-top:5px;padding:0}.work-history li.job-item{align-items:center;background:#ffffff80;border-radius:6px;box-shadow:0 1px 3px #00000080;cursor:pointer;display:flex;gap:1rem;max-width:600px;padding:.25rem 1rem;transition:background-color .3s ease;width:100%}.work-history li.job-item:hover{background-color:#e9f5ff;border-image:linear-gradient(90deg,#8bffeaeb,#7eb9faed) 1;border-style:solid;box-shadow:0 3px 5px #4e2fff61}.work-history-header{align-items:center;display:grid;grid-template-columns:1fr auto 1fr;margin:10px 0;position:relative}.expanded{background-color:#e9f5ff!important}.work-history-header h3{grid-column:2;margin:0;text-align:center}.work-history-header button{background:none;border:none;color:#fff;cursor:pointer;font-size:13px;grid-column:3;justify-self:end;padding:0 20px;text-decoration:none;text-shadow:0 0 1px #000000af;transition:all .2s ease}.work-history-header button:hover{text-decoration:underline;text-shadow:0 0 1px #000000e6}.job-list{list-style:none;margin-bottom:0;padding:0}.job-item{background-color:#f9f9f9a1;border:1px solid #ccc;border-radius:5px;cursor:pointer;margin-bottom:10px;padding:10px;position:relative;transition:all .3s ease}.job-summary{align-items:center;display:flex;gap:10px;opacity:1;transition:opacity .3s ease-in-out}.job-summary div{opacity:1;padding-left:1em}.job-summary div.hide{height:0;opacity:0;padding:0;transition:max-height .3s ease,height .3s ease,opacity .5s ease .3s;visibility:hidden;width:0}.job-item:hover{background-color:#f9f9f9d5}.job-details{height:0;max-height:0;opacity:0;overflow:hidden;visibility:hidden;width:0}.job-details,.job-details.show{text-align:left;transition:all .75s ease}.job-details.show{cursor:text;height:auto;margin:5px 0 5px -2em;max-height:300px;opacity:1;visibility:visible;width:auto}.job-details p{margin:3px}.certifications{background-color:#f4f4f41a;border-radius:8px;box-shadow:0 0 15px #0000001f;cursor:default;display:inline-grid;margin:.75rem auto 0;max-width:635px;padding:.5rem 2rem;text-align:center}.certification-list{display:inline-block;list-style:none;margin-top:5px;padding:0;text-align:left;width:600px}.certification-item{align-items:center;box-shadow:0 1px 2px #00000038;cursor:default;display:flex;margin-bottom:5px;padding:10px}.cert-info{display:flex;flex-direction:column}.cert-info a{color:#2c3e50;font-size:.95rem;font-weight:700}.cert-info a:hover{color:#007bff}.issuer{color:#171717;font-size:.9rem;font-style:italic}.awards ul{list-style-type:disc;padding-left:1.5rem}.awards li{cursor:context-menu;margin-bottom:.25rem}@media only screen and (max-width:768px){.work-history{margin:5% 3% 0;padding:.5rem 1rem}.work-history-header{margin-bottom:10px}.work-history-header h3{padding-right:20px}.work-history li.job-item{font-size:small;gap:0;padding:.1rem;text-align:left}.work-history-header button{padding:0 0 0 4px;text-shadow:0 0 1px #000000e6}.company-logo{padding-left:2px;padding-right:2px}.company-logo,.company-logo:hover{height:35px;width:35px}.bigger_logo{height:50px!important;width:50px!important}.certifications{margin:5% 3% 0;padding:.5rem}.cert-info a{font-size:.8em}.issuer{font-size:.8rem}.job-summary{gap:2px}.certification-list{margin:0 2%;width:95%}.job-summary div{padding-left:0}.job-details.show{margin:5px 3px 5px -5px}}.projects{padding:1rem;text-align:center}.project-list{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-top:1em}.project-card{background:#ffffff70;border:1px solid #acacac;border-radius:8px;box-shadow:0 1px 3px #00000080;padding:.5rem;transition:background-color .2s ease;width:12%}.project-card:hover{background-color:#e9f5ff;border-image:linear-gradient(90deg,#8bffeaeb,#7eb9faed) 1;border-style:solid;box-shadow:0 3px 5px #4e2fff61}.project-card a{color:#000000e8;text-decoration:none}.project-card a:hover{color:#007bff}.project-card p{font-size:smaller;margin:0 auto}.badge{background-color:#f3f4f6;border-radius:6px;cursor:default;display:inline-block;font-size:1em;font-weight:500;margin-right:4px;min-width:30px;padding:2px 5px}.stars{background-color:#fff7d5ba;color:#a13f03}.forks{background-color:#eaf7ffb8;color:#02727e}.fork-icon{font-size:1.5em;line-height:0}.fork-icon,.star-icon{font-weight:700;margin:0;padding:0}.star-icon{line-height:1em}.stars:hover{background-color:#000}.forks:hover,.stars:hover{color:#fff;transform:scale(1.1);transition:transform .2s ease-in-out,color .3s ease,background-color .3s ease}.forks:hover{background-color:#00748a}.repo-stats{margin-top:5px}@media only screen and (max-width:768px){.projects{padding:0}.project-list{gap:.5rem;margin-bottom:3rem}.project-card{width:80%}.repo-stats{margin-top:5px;scale:.9}}
/*# sourceMappingURL=main.dfb2ad31.css.map*/