.navigation{background-color:var(--deep-charcoal);left:0;padding:10px 0;position:fixed;top:0;width:100%;z-index:1000}.navigation .navigation-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px;position:relative}.navigation .navigation-content:has(dialog[open]) .hamburger-toggle{display:none}.navigation .navigation-content .skip-link{align-content:center;background-color:var(--deep-charcoal);height:42px;position:absolute;text-align:center;width:144px}.navigation .navigation-content .navigation-logo{display:inline-block}.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo{padding-top:5px;width:144px}.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo .msp-logo-mack{fill:var(--msp-red)}.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo .msp-logo-pipe,.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo .msp-logo-studiopro{fill:#fff}@media (forced-colors: active){.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo .msp-logo-pipe,.navigation .navigation-content .navigation-logo .msp-logo-link .msp-logo .msp-logo-studiopro{fill:CanvasText}}@media (forced-colors: active){.navigation .navigation-content .navigation-logo .msp-logo-link:hover .msp-logo-pipe,.navigation .navigation-content .navigation-logo .msp-logo-link:hover .msp-logo-studiopro{fill:HighlightText}}.navigation .navigation-content .navigation-links{align-items:center;display:flex;gap:5px;margin:0;padding:0}@media (width <= 768px){.navigation .navigation-content .navigation-links{display:none}}.navigation .navigation-content .navigation-links li{display:inline-block}.navigation .navigation-content .hamburger-toggle{cursor:pointer;display:none;height:44px;line-height:1;padding:0}.navigation .navigation-content .hamburger-toggle:hover .hamburger{background-color:var(--vibrant-cyan)}@media (forced-colors: active){.navigation .navigation-content .hamburger-toggle:hover .hamburger{background-color:Highlight}}.navigation .navigation-content .hamburger-toggle:hover .hamburger span{border-top:3px solid var(--deep-charcoal)}@media (forced-colors: active){.navigation .navigation-content .hamburger-toggle:hover .hamburger span{border-color:HighlightText}}@media (width <= 768px){.navigation .navigation-content .hamburger-toggle{display:flex}}.navigation .navigation-content .hamburger{border-radius:8px;display:flex;flex-direction:column;height:24px;justify-content:space-between;padding:10px;transition:all var(--transition-speed) ease;width:30px}.navigation .navigation-content .hamburger span{border-top:3px solid #fff;transition:all var(--transition-speed) ease;width:100%}@media (forced-colors: active){.navigation .navigation-content .hamburger span{border-top:3px solid ButtonText}}.navigation .navigation-content .hamburger.open:hover{background-color:var(--vibrant-cyan)}@media (forced-colors: active){.navigation .navigation-content .hamburger.open:hover{background-color:Highlight}}.navigation .navigation-content .hamburger.open:hover span{border-top:3px solid var(--deep-charcoal)}@media (forced-colors: active){.navigation .navigation-content .hamburger.open:hover span{border-color:HighlightText}}.navigation .navigation-content .hamburger.open span:nth-child(1){transform:translateY(11px) rotate(45deg)}.navigation .navigation-content .hamburger.open span:nth-child(2){opacity:0}.navigation .navigation-content .hamburger.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}.navigation .navigation-content dialog{background-color:var(--deep-charcoal);border:none;top:62px;right:0;bottom:0;left:0;margin:0;max-width:none;padding:0;position:fixed;width:100%}.navigation .navigation-content dialog::backdrop{background-color:#00000040}.navigation .navigation-content dialog .mobile-nav-close-button{height:44px;padding:0;position:fixed;right:20px;top:10px}.navigation .navigation-content dialog ul{list-style:none;margin:0;padding:20px}@media (forced-colors: active){.navigation .navigation-content dialog ul{border-bottom:2px solid CanvasText}}.navigation .navigation-content dialog ul li{border-bottom:1px solid rgb(255 255 255 / 10%);cursor:pointer;padding-left:0}@media (forced-colors: active){.navigation .navigation-content dialog ul li{border-bottom:none;margin-bottom:15px}}.navigation .navigation-content dialog ul li:last-child{border-bottom:none}.freeze{overflow:hidden}button{--hover-bkgd-color: var(--vibrant-cyan);--hover-text-color: var(--deep-charcoal);background:var(--normal-bkgd-color);border-radius:8px;border:var(--border);color:var(--normal-text-color);cursor:pointer;font-family:inherit;font-size:1em;font-weight:600;padding:.6em 1.2em;text-decoration:none;transition:all var(--transition-speed) ease}button.nav,button.recommendation,button.footer{--normal-text-color: #fff;--normal-bkgd-color: transparent;padding:.6em}button.skills{--normal-text-color: var(--deep-charcoal);--normal-bkgd-color: #fff;--active-text-color: #fff;--active-bkgd-color: var(--msp-red)}button.experience{--normal-text-color: var(--msp-red)}button.mobile-nav{--normal-text-color: #fff;--normal-bkgd-color: transparent;--hover-bkgd-color: transparent;--hover-text-color: var(--vibrant-cyan);padding:1em 0;text-align:left;width:100%}button.mobile-nav:focus-visible{text-indent:15px}button.active,button.active:hover{background:var(--active-bkgd-color);color:var(--active-text-color)}button:hover{background:var(--hover-bkgd-color);color:var(--hover-text-color)}button:focus-visible{outline:3px solid var(--vibrant-cyan);outline-offset:2px}@media screen and (width >= 600px){button{flex:0 1 auto}}@media (forced-colors: active){button{border:2px solid ButtonBorder;color:ButtonText}button:focus-visible{outline:3px solid Highlight;outline-offset:2px}button.active,button.active:hover,button:hover{background-color:Highlight;border:2px solid Highlight;color:HighlightText;forced-color-adjust:none}}.link{--hover-bkgd-color: var(--vibrant-cyan);--hover-text-color: var(--deep-charcoal);--normal-text-color: #fff;--normal-bkgd-color: transparent;background:var(--normal-bkgd-color);border-radius:8px;border:var(--border);color:var(--normal-text-color);cursor:pointer;font-family:inherit;font-size:1em;font-weight:600;padding:.6em 1.2em;text-decoration:none;transition:all var(--transition-speed) ease;white-space:nowrap}.link.mobile-nav-link,.link.msp-logo-link{--hover-bkgd-color: transparent}.link.mobile-nav-link{display:block;padding:1em 0;text-align:left;width:100%}.link.mobile-nav-link:hover{color:var(--vibrant-cyan)}@media (forced-colors: active){.link.mobile-nav-link:hover{color:HighlightText}}.link.mobile-nav-link:hover i svg{fill:var(--vibrant-cyan)}@media (forced-colors: active){.link.mobile-nav-link:hover i svg{fill:HighlightText}}.link.mobile-nav-link:focus-visible{text-indent:15px}@media (forced-colors: active){.link.mobile-nav-link{padding-left:15px}}.link.msp-logo-link{display:inline-block;padding:0 1.2em}.link.skip-link{padding-block:0}.link.hamburger-toggle{display:inline-block;padding:0}.link.activity-outline{--border: 1px solid var(--vibrant-cyan)}.link.nav{padding:.6em}.link i{margin-left:8px}.link i svg{fill:#fff;height:1em;transition:all 0 ease;width:1em}@media (forced-colors: active){.link i svg{fill:CanvasText}}.link.active,.link.active:hover{background:var(--active-bkgd-color);color:var(--active-text-color)}.link:hover{background:var(--hover-bkgd-color);color:var(--hover-text-color)}.link:hover i svg{fill:var(--deep-charcoal)}.link:focus-visible{outline:3px solid var(--vibrant-cyan);outline-offset:2px}@media screen and (width >= 600px){.link{flex:0 1 auto}}@media (forced-colors: active){.link{border:2px solid LinkText;color:LinkText}.link:focus-visible{outline:3px solid Highlight;outline-offset:2px}.link.active,.link.active:hover,.link:hover{background-color:Highlight;border:2px solid Highlight;color:HighlightText;forced-color-adjust:none}.link.active i svg,.link.active:hover i svg,.link:hover i svg{fill:HighlightText}}.app-footer{background-color:var(--deep-charcoal);color:#fff;font-family:var(--primary-font);padding:20px;text-align:center}.app-footer .footer-content{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1200px}@media (forced-colors: active){.app-footer .footer-content{row-gap:20px}}@media (width >= 768px){.app-footer .footer-content{flex-flow:row wrap;column-gap:20px}}.app-footer .footer-content .copyright{font-weight:600;padding:.6em 1.2em}.visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only:not(:focus,:active,:focus-within){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/open-sans-latin-400-normal-Bk63H6sG.woff2) format("woff2"),url(/assets/open-sans-latin-400-normal-DKniycaP.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/open-sans-latin-600-normal-Cp4N6AwT.woff2) format("woff2"),url(/assets/open-sans-latin-600-normal-C3dWW5mx.woff) format("woff")}@font-face{font-family:Open Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/open-sans-latin-700-normal-CceUhp2e.woff2) format("woff2"),url(/assets/open-sans-latin-700-normal-CZCQA30i.woff) format("woff")}:root{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;background-color:var(--deep-charcoal);line-height:1.5;text-rendering:optimizelegibility}html{-webkit-text-size-adjust:100%;scroll-padding-top:62px;text-size-adjust:100%}body{background-color:#fff;margin:0;min-height:100vh;min-width:320px}h1{line-height:1.1}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--deep-charcoal: #2c3e50;--msp-red: #c00;--vibrant-cyan: #00d9ff;--warm-gray: #edf2f7;--primary-font: "Open Sans", sans-serif;--transition-speed: .25s;--h1-mobile: 32px;--h1-desktop: 54px;--h2-mobile: 28px;--h2-desktop: 42px;--h3-mobile: 17px;--h3-desktop: 21px;--h4-mobile: 15px;--h4-desktop: 15px;--body-text-mobile: 14px;--body-text-desktop: 16px}.app{font-family:var(--primary-font);margin:0;min-height:100vh;padding:0}.app-main{display:flex;flex-direction:column;margin:64px auto 0;padding:0}.app-main:focus-visible{outline:3px solid var(--vibrant-cyan)}.app-main:focus-visible:before{border-top:1px solid var(--vibrant-cyan);content:"";position:absolute;width:100%}.app-section{font-family:var(--primary-font);padding:0 20px}@media (forced-colors: active){.app-section{border-bottom:2px solid CanvasText}}.app-section#skills,.app-section#experience,.app-section#build{background-color:var(--warm-gray)}.app-section#profile,.app-section#recommendations,.app-section#heatmap{background-color:var(--deep-charcoal)}#heatmap{text-align:center}#heatmap header h2,#heatmap header p{color:#fff;text-align:center}#heatmap header h2 i{line-height:1em;vertical-align:middle}#heatmap header h2 i svg{fill:#fff;transition:all var(--transition-speed) ease;height:1em;width:1em}@media (forced-colors: active){#heatmap header h2 i svg{fill:CanvasText}}
