*,*:before,*:after{box-sizing:border-box}*{transition-duration:.15s}body{margin:0;padding:0;min-height:100%;background:var(--bg-0);font-family:var(--font-body),sans-serif;font-size:var(--font-size-body);line-height:1.5;color:var(--tx-1)}a{color:var(--accent);text-decoration:none;font-weight:600}a:hover{color:var(--tx-1)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading),sans-serif;font-size:var(--font-size-heading);color:var(--accent);margin-top:0}span.code{font-family:var(--font-mono),monospace}.icon{display:inline-block;width:var(--font-size-body);height:var(--font-size-body);transform:translateY(-4px);vertical-align:middle;margin-inline:.25rem}.icon svg{color:inherit;width:130%;height:130%}section{margin-block:2rem;margin-inline:10rem;border:2px solid var(--border-1);padding:1rem;border-radius:1rem;box-shadow:0 0 .5rem var(--border-1)}.tooltip-container{display:inline-block;position:relative;border-bottom:1px dotted black}.tooltip-container .tooltip{position:absolute;pointer-events:none;opacity:0;width:12rem;top:0;left:50%;margin-left:-6rem;transition:opacity .3s;padding:.5rem;border-radius:1rem;background-color:#1a1a1a;color:var(--bg-primary);font-size:var(--font-size-small);z-index:1}.tooltip-container:hover span.tooltip{opacity:100%}@media(max-width:1080px){section{margin-inline:2rem}}@media(max-width:720px){section{margin-inline:0;border-inline:0;border-radius:0}}.navigation-bar{position:absolute;z-index:1;width:100%;margin-inline:0;margin-top:0}.navigation-bar__container{width:100%;display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:.5rem;background-color:var(--nav-container-bg);border-bottom:.125rem solid var(--nav-container-border);box-shadow:0 0 .2rem var(--nav-container-shadow);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);font-size:var(--font-size-nav)}.navigation-bar__logo{display:inline-block;text-align:center;padding-inline:1rem;padding-block:.25rem;font-weight:600;background-color:var(--nav-title-bg);border-radius:var(--radius-lg);width:fit-content}.navigation-bar__container>.navigation-bar__link{display:inline-block;text-align:center;padding-inline:1rem;padding-block:.25rem;font-weight:600;background-color:var(--nav-title-bg);border-radius:var(--radius-lg);width:fit-content}.navigation-bar__router{justify-self:end;display:inline-flex;align-items:center;gap:0;padding:.25rem;background-color:var(--nav-router-bg);border-radius:var(--radius-xl)}.navigation-bar__router .navigation-bar__link{display:inline-block}.navigation-bar__router .navigation-bar__link:first-child a{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.navigation-bar__router .navigation-bar__link:last-child a{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.navigation-bar__link a{color:var(--tx-1);text-decoration:none;letter-spacing:.0417rem;padding-inline:1rem;padding-block:.1875rem;display:inline-block;border:.125rem solid transparent;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.navigation-bar__link a:hover{color:var(--accent);border-bottom-color:var(--accent);background-color:var(--nav-link-hover-bg);cursor:pointer}.navigation-bar__link a.active{color:var(--accent);font-weight:600;border-bottom-color:var(--nav-link-active-border)!important;border-bottom-right-radius:0;border-bottom-left-radius:0;background-color:var(--nav-link-active-bg)}.navigation-bar__link a.active:hover{color:var(--tx-1)!important;border-bottom-color:var(--nav-link-active-hover-border)!important;background-color:var(--nav-link-hover-bg)}@media screen and (max-width:720px){.navigation-bar__container{grid-template-columns:1fr;gap:.75rem}.navigation-bar__container>.navigation-bar__link{margin-inline:auto}.navigation-bar__container>.navigation-bar__logo{margin-inline:auto;background-color:transparent}.navigation-bar__router{justify-self:stretch;width:100%;overflow-x:auto;scrollbar-width:thin;text-align:center;justify-content:center;flex-direction:row}.navigation-bar__router .navigation-bar__link{flex-basis:20%}.navigation-bar__router .navigation-bar__link a{white-space:nowrap;padding-inline:.5rem}}header.header__container{display:flex;justify-content:center;align-items:center;height:40rem;background-size:cover;background-position:center;background-repeat:no-repeat;padding:1rem;position:relative;overflow:hidden;margin-bottom:2rem;margin-inline:0!important}header.header__container div.header__content{display:inline-block;background-color:#00000080;padding:2rem;border-radius:1rem;width:50%;min-width:300px;text-align:left;border:1px solid var(--border-1);box-shadow:0 0 .5rem var(--border-1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}header.header__container div.header__content h1{color:#fff;font-size:3rem;margin-top:0;padding-bottom:2rem}header.header__container div.header__content p{padding-top:0;margin-top:0}header.header__container .header__fade{position:absolute;bottom:0;left:0;width:100%;background-image:linear-gradient(to top,var(--bg-0) 0%,hsl(from var(--bg-0) h s l/.98) 8%,hsl(from var(--bg-0) h s l/.94) 14%,hsl(from var(--bg-0) h s l/.86) 22%,hsl(from var(--bg-0) h s l/.72) 32%,hsl(from var(--bg-0) h s l/.52) 46%,hsl(from var(--bg-0) h s l/.3) 64%,hsl(from var(--bg-0) h s l/.14) 80%,transparent 100%);height:4rem}header.header__container .header__children{position:absolute;bottom:1rem;right:1rem;display:flex;gap:1rem;color:#fff}header.header__container .header__children a:hover{color:var(--tx-link-hover)}@media(max-width:1080px){header.header__container{height:fit-content}header.header__container div.header__content{margin-block:6rem 3rem;width:100%}header.header__container div.header__content h1{font-size:2rem;padding-bottom:2rem}}.footer{padding-block:2rem;padding-inline:10rem;text-align:center}.footer__links{display:flex;flex-direction:row;gap:2rem;justify-content:center}.footer__copyright{margin-top:1rem;text-align:center}@media(max-width:720px){.footer{padding-inline:1rem}.footer__links{flex-direction:column;margin-block:0;padding-block:0;gap:.5rem}}.button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.375rem;padding:.5rem .875rem;border:.0625rem solid var(--button-border);border-radius:var(--radius-lg);background-color:var(--button-bg);color:var(--button-text);font-family:var(--font-body),sans-serif;font-size:.9375rem;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 0 .5rem #0000001f;transition-property:background-color,border-color,color,box-shadow,transform}.button .icon{margin-inline:0;transform:translateY(-2px)}.button:hover{border-color:var(--button-border-hover);background-color:var(--button-bg-hover);color:var(--button-text-hover);box-shadow:0 0 .5rem var(--accent)}.button:active{transform:translateY(.0625rem)}.button:focus-visible{outline:.125rem solid var(--button-focus-ring);outline-offset:.125rem}.button[aria-disabled=true],.button:disabled{opacity:.65;cursor:not-allowed;pointer-events:none}.image-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0d0c0dd6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-sizing:border-box}.image-modal-content{position:relative;display:flex;width:min(72rem,100%);max-height:calc(100vh - 2rem);flex-direction:column;gap:1rem;padding:1rem;overflow:auto;background-color:var(--bg-2);border:.15rem solid hsla(313,100%,87%,.4);border-radius:.5rem;box-shadow:0 0 24px var(--tx-1-contrast);box-sizing:border-box}.image-modal-content img{width:100%;max-height:calc(100vh - 11rem);object-fit:contain;margin-block:0}.image-modal-content__close-button{position:absolute;top:.75rem;right:.75rem;display:flex;width:2.5rem;height:2.5rem;align-items:center;justify-content:center;padding:0;border-radius:50%;line-height:1}.image-modal-content__info h3{margin-block:0 .5rem;color:var(--accent)}.image-modal-content__info p{margin:0}div.card-gallery{display:flex;gap:1rem;flex-wrap:wrap;flex-direction:row;justify-content:center}div.card-gallery a{flex-basis:25%;display:block;background-color:var(--bg-2);border-radius:.5rem;padding:1rem;border:1px solid var(--border-1);color:#fff;cursor:pointer}div.card-gallery a:hover{box-shadow:0 0 1rem var(--accent);transform:translateY(-1rem)}div.card-gallery a div.tooltip-container div.card{pointer-events:none;min-width:20rem}div.card-gallery a div.tooltip-container div.card h3{margin:0 0 .2rem;font-size:1.2rem;color:var(--tx-accent)}div.card-gallery a div.tooltip-container div.card p{font-weight:500}div.card-gallery a div.tooltip-container div.card img{width:100%;border-radius:.5rem;box-shadow:0 0 5px #0003}div.tooltip-container span.tooltip{position:absolute;transform:translateY(-100%)}section.index__renders h2,section.index__programming h2,section.index__technical-expertise h2,section.index__preferred-tooling h2,section.index__get-in-touch h2{font-size:1.5rem}section.index__renders p,section.index__programming p,section.index__technical-expertise p,section.index__preferred-tooling p,section.index__get-in-touch p{margin:.375rem 0 0;color:var(--tx-2);font-size:1rem}.index__header-links{display:flex;gap:1rem}section.index__technical-expertise h3,section.index__preferred-tooling h3{font-size:1.25rem;margin-bottom:.75rem}section.index__technical-expertise ul,section.index__preferred-tooling ul{list-style:none;padding:0;margin:0}section.index__technical-expertise li+li,section.index__preferred-tooling li+li{margin-top:.875rem;padding-top:.875rem;border-top:.0625rem solid var(--border-1)}.index__technical-expertise-grid,.index__preferred-tooling-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}section.index__get-in-touch .index__get-in-touch__actions{margin-top:.75rem}section.index__get-in-touch .index__get-in-touch__actions button,section.index__get-in-touch .index__get-in-touch__actions a{margin-inline:1rem}.index__technical-expertise-group,.index__preferred-tooling-group{border:.0625rem solid var(--border-1);border-radius:.75rem;padding:1rem;background-color:#25182559}@media(max-width:1080px){.index__technical-expertise-grid,.index__preferred-tooling-grid{grid-template-columns:1fr}}@media(max-width:720px){header.header__container div.header__content{width:100%}.header__children .index__header-links .icon{transform:scale(1.2);margin-inline:1rem}.header__children .index__header-links .index__header-link-text{display:none}}.route__about section{max-width:1000px;margin-inline:auto}.route__about .about__description:after{content:"";display:table;clear:both}.route__about .about__description p{margin-bottom:1rem;line-height:1.6;text-indent:3rem}.route__about .about__description .about__description__image{float:right;width:300px;max-width:100%;height:auto;margin-left:24px;margin-bottom:16px;border-radius:8px;box-shadow:0 4px 6px #0000001a}.route__contact section{max-width:1000px;margin:0 auto 2rem}.route__contact .contact__me__intro{margin-top:0}.route__contact .contact__me__methods{margin:0;padding:0;list-style:none;display:grid;gap:.85rem}.route__contact .contact__me__method{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.route__contact .contact__me__method .icon{margin-inline:0;transform:none}.route__contact .contact__me__label{color:var(--tx-2);font-weight:700;min-width:5.25rem}.route__contact .contact__me__method a{word-break:break-word}.route__credits-and-attributions section{max-width:1000px;margin:0 auto 2rem}.route__credits-and-attributions .credits-and-attributions__section h2{margin-bottom:1rem}.route__credits-and-attributions .credits-and-attributions__list{margin:0;padding-left:1.5rem}.route__credits-and-attributions .credits-and-attributions__list li{margin-bottom:.85rem;line-height:1.6}.route__credits-and-attributions .credits-and-attributions__nested-list{margin-top:.75rem;padding-left:1.25rem}.route__credits-and-attributions .credits-and-attributions__nested-list li{margin-bottom:.5rem}.route__credits-and-attributions .credits-and-attributions__logo-label{display:inline-flex;align-items:center;gap:.25rem;font-weight:700}@font-face{font-family:Audiowide;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/audiowide-400-normal.ttf) format("truetype")}@font-face{font-family:Play;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/play-400-normal.ttf) format("truetype")}@font-face{font-family:Play;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google/play-700-normal.ttf) format("truetype")}@font-face{font-family:Noto Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/noto-sans-400-normal.ttf) format("truetype")}@font-face{font-family:Noto Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/google/noto-sans-700-normal.ttf) format("truetype")}@font-face{font-family:Noto Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/google/noto-sans-400-italic.ttf) format("truetype")}@font-face{font-family:Noto Sans;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/google/noto-sans-700-italic.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/google/source-code-pro-400-normal.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/google/source-code-pro-600-normal.ttf) format("truetype")}@font-face{font-family:Source Code Pro;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/google/source-code-pro-400-italic.ttf) format("truetype")}:root{--bg-0: hsl(228deg 18% 8%);--bg-1: hsl(300, 21%, 12%);--bg-2: hsl(304, 17%, 16%);--bg-3: hsl(304, 17%, 20%);--tx-1: hsl(220deg 28% 92%);--tx-2: hsl(219deg 14% 74%);--tx-3: hsl(334, 50%, 15%);--accent: hsl(328deg 62% 85%);--border-1: hsl(300, 16%, 24%);--font-heading: "Audiowide";--font-body: "Play";--font-serif: "Noto Sans";--font-mono: "Source Code Pro";--font-size-body: 1.125rem;--font-size-heading: 1.75rem;--font-size-subheading: 1.25rem;--font-size-small: .8333rem;--font-size-nav: 1rem;--radius-lg: .75rem;--radius-xl: 1rem;--box-shadow-lg: 0 .1875rem .3125rem -.0625rem hsla(0, 0%, 0%, .46), 0 .3125rem .5rem 0 hsla(0, 0%, 0%, .47), 0 .0625rem .875rem 0 hsla(0, 0%, 0%, .21);--nav-container-bg: hsl(304deg 17% 16% / .88);--nav-container-border: hsl(328deg 62% 85% / .35);--nav-container-shadow: hsl(328deg 62% 85% / .5);--nav-title-bg: hsl(300deg 21% 12% / .8);--nav-router-bg: hsl(300deg 21% 12% / .8);--nav-link-hover-bg: hsl(328deg 62% 85% / .1);--nav-link-active-bg: hsl(328deg 62% 85% / .14);--nav-link-active-border: var(--accent);--nav-link-active-hover-border: var(--tx-1);--button-bg: hsl(304deg 17% 20% / .9);--button-bg-hover: hsl(328deg 62% 85% / .16);--button-border: hsl(328deg 62% 85% / .4);--button-border-hover: var(--accent);--button-text: var(--tx-1);--button-text-hover: var(--accent);--button-focus-ring: hsl(328deg 62% 85% / .65)}
