@keyframes portfolio-module-scss-module__a4uFbW__cycle-border-color{0%{border:2px solid var(--primary-color)}to{border:2px solid var(--secondary-color)}}@keyframes portfolio-module-scss-module__a4uFbW__cycle-colour{0%{color:var(--primary-color)}to{color:var(--secondary-color)}}@keyframes portfolio-module-scss-module__a4uFbW__fadeInSlideFromLeft{0%{opacity:0;left:-10rem}to{opacity:1;left:0}}@keyframes portfolio-module-scss-module__a4uFbW__fadeOutSlideToLeft{0%{opacity:1;left:0}to{opacity:0;left:-10rem}}@keyframes portfolio-module-scss-module__a4uFbW__fadeInKF{0%{opacity:0}to{opacity:1}}@keyframes portfolio-module-scss-module__a4uFbW__fadeOutKF{0%{opacity:1}to{opacity:0}}@keyframes portfolio-module-scss-module__a4uFbW__fadeInScaleDownKF{0%{opacity:0}to{opacity:1;transform:scale(1)}}@keyframes portfolio-module-scss-module__a4uFbW__fadeInSlideUpKF{0%{opacity:0;bottom:-5rem}to{opacity:1;bottom:0}}@keyframes portfolio-module-scss-module__a4uFbW__slideDownKF{0%{top:-5rem}to{top:0}}@keyframes portfolio-module-scss-module__a4uFbW__fadeInSlideDownKF{0%{opacity:0;top:-5rem}to{opacity:1;top:0}}@keyframes portfolio-module-scss-module__a4uFbW__fadeOutSlideUpKF{0%{opacity:1;top:0}to{opacity:0;top:-5rem}}.portfolio-module-scss-module__a4uFbW__animation{height:100%;display:block}.portfolio-module-scss-module__a4uFbW__animation--cycle-border-color{-ms-animation:cycle-border-color 2s linear infinite alternate;padding:.5rem;animation:2s linear infinite alternate portfolio-module-scss-module__a4uFbW__cycle-border-color}.portfolio-module-scss-module__a4uFbW__animation--cycle-colors{-ms-animation:cycle-colour 1s linear infinite alternate;animation:1s linear infinite alternate portfolio-module-scss-module__a4uFbW__cycle-colour}.portfolio-module-scss-module__a4uFbW__portfolio{max-width:960px;margin:0 auto;padding:120px 32px}@media screen and (min-width:0) and (max-width:800px){.portfolio-module-scss-module__a4uFbW__portfolio{padding:80px 16px}}.portfolio-module-scss-module__a4uFbW__fadeIn{opacity:0;will-change:opacity;animation-name:portfolio-module-scss-module__a4uFbW__fadeInKF;animation-duration:.8s;animation-iteration-count:1;animation-delay:.1s;animation-fill-mode:forwards}.portfolio-module-scss-module__a4uFbW__gitLog{flex-direction:column;display:flex}.portfolio-module-scss-module__a4uFbW__commit{opacity:0;will-change:opacity,transform;align-items:stretch;gap:20px;animation-name:portfolio-module-scss-module__a4uFbW__fadeInSlideFromLeft;animation-duration:.5s;animation-iteration-count:1;animation-delay:0s;animation-fill-mode:forwards;display:flex}.portfolio-module-scss-module__a4uFbW__commitNode{flex-direction:column;flex-shrink:0;align-items:center;width:22px;padding-top:3px;display:flex}.portfolio-module-scss-module__a4uFbW__commitDot{background:var(--background-color-dark-two);border:2px solid var(--primary-color);border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:background .4s ease-in-out,border-color .4s ease-in-out,box-shadow .3s}.portfolio-module-scss-module__a4uFbW__commitConnector{background:color-mix(in srgb, var(--primary-color) 25%, transparent);flex:1;width:2px;min-height:24px;margin-top:6px;transition:background .4s ease-in-out}.portfolio-module-scss-module__a4uFbW__commitCurrent .portfolio-module-scss-module__a4uFbW__commitDot{background:var(--primary-color);box-shadow:0 0 14px var(--primary-color);animation:2.8s ease-in-out infinite portfolio-module-scss-module__a4uFbW__commitPulse}@keyframes portfolio-module-scss-module__a4uFbW__commitPulse{0%,to{box-shadow:0 0 8px var(--primary-color)}50%{box-shadow:0 0 22px var(--primary-color),0 0 36px color-mix(in srgb, var(--primary-color) 35%, transparent)}}.portfolio-module-scss-module__a4uFbW__commitBody{flex:1;padding-bottom:36px}.portfolio-module-scss-module__a4uFbW__commitRefs{gap:6px;margin-bottom:8px;display:flex}.portfolio-module-scss-module__a4uFbW__headRef{background:var(--primary-color);color:var(--background-color-dark-one);letter-spacing:.05em;border-radius:4px;padding:2px 8px;font-family:Courier New,monospace;font-size:.68rem;font-weight:700;transition:background .4s ease-in-out,color .4s ease-in-out}.portfolio-module-scss-module__a4uFbW__branchRef{border:1px solid var(--primary-color);color:var(--primary-color);letter-spacing:.05em;border-radius:4px;padding:2px 8px;font-family:Courier New,monospace;font-size:.68rem;font-weight:600;transition:border-color .4s ease-in-out,color .4s ease-in-out}.portfolio-module-scss-module__a4uFbW__commitRole{color:var(--font-color);margin:0 0 4px;font-size:1rem}.portfolio-module-scss-module__a4uFbW__commitMeta{color:var(--light-grey);opacity:.75;margin:0 0 12px;font-family:Courier New,monospace;font-size:.78rem}.portfolio-module-scss-module__a4uFbW__areaTags{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.portfolio-module-scss-module__a4uFbW__areaTag{letter-spacing:.08em;text-transform:uppercase;opacity:.9;border:1px solid;border-radius:4px;padding:2px 9px;font-size:.65rem;font-weight:700;display:inline-block}.portfolio-module-scss-module__a4uFbW__techTags{flex-wrap:wrap;gap:7px;margin-bottom:14px;display:flex}.portfolio-module-scss-module__a4uFbW__techTag{color:var(--primary-color);background:color-mix(in srgb, var(--primary-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--primary-color) 28%, transparent);border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:600;transition:background .4s ease-in-out,border-color .4s ease-in-out;display:inline-flex}.portfolio-module-scss-module__a4uFbW__techTagLogo{object-fit:contain;border-radius:2px;flex-shrink:0;width:14px;height:14px}.portfolio-module-scss-module__a4uFbW__commitHighlights{margin:0;padding-left:18px}.portfolio-module-scss-module__a4uFbW__commitHighlights li{color:var(--light-grey);margin-bottom:5px;font-size:.9rem;line-height:1.65}.portfolio-module-scss-module__a4uFbW__commitHighlights li::marker{color:var(--primary-color)}
