@keyframes wave-emoji{0%{transform:rotate(0deg)}15%{transform:rotate(14deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(14deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(10deg)}to{transform:rotate(0deg)}}@keyframes messageRead{0%{opacity:0;transform:scale(.5) translate(0)}to{opacity:1;transform:scale(1) translate(0)}}:root{--landing:#ffffff;--header-text-color:#676767;--landing-text:#88888A;--sender:#0d85ff;--receiver:#EAE8EB;--body-padding:2em;--shadow:0px 0px 4px rgba(0,0,0,0.2);--border:1px solid rgba(0,0,0,0.2);--max-width:1600px}html{scroll-behavior:smooth}body{margin:0;font-family:Elza;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--landing)}img{-webkit-user-select:none;-moz-user-select:none;user-select:none}a{color:inherit;text-decoration:none}#root{align-items:center}#root,.landing{display:flex;flex-direction:column}.landing{width:100%;box-sizing:border-box;color:var(--landing-text);align-items:flex-end;justify-content:flex-end;padding:var(--body-padding);min-height:max(100svh,550px);position:relative}.message-edge{position:absolute;bottom:0;height:40%;right:0;margin-right:0;fill:var(--receiver);transform:translateX(47%)}.message.sender .message-edge{fill:var(--sender)}.emoji{margin-left:.25em;display:inline-block;height:1em!important;width:auto!important;transform-origin:60% 90%;animation:wave-emoji 2s ease-in-out infinite;margin-top:-.5em}.message-content{background-color:var(--receiver);border-radius:1em;position:relative;padding:.5em .8em .3em;color:white;font-size:2em;line-height:1.25em;font-weight:400;z-index:1;overflow:hidden;word-break:break-word}.message.sender .message-content{background-color:var(--sender);color:white}.message{position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:messagePopUp .4s ease-out .5s forwards}.message,.message-read{margin-right:.8em;opacity:0}.message-read{font-weight:500;color:var(--landing-text);margin-top:.25em;animation:messageRead .4s ease-out .7s forwards}.message-read span{font-weight:400}.chat{box-sizing:border-box;display:flex;flex-direction:column;gap:.25em;align-items:flex-end;font-size:3vw;position:absolute;top:50%;transform:translateY(-50%)}.landing-title{font-size:4em;font-weight:500;color:var(--landing-text)}.projects{margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2em;gap:2em;width:100%}.project-bg-holder{z-index:0;border-radius:8px;aspect-ratio:16/9;box-shadow:var(--shadow);font-size:2em;font-weight:500;position:relative;overflow:hidden}.project-bg,.project-bg-holder{width:100%;object-fit:cover;display:flex;flex-direction:row;justify-content:center;align-items:center}.project-bg{height:100%;transition:opacity .2s ease-out,transform .2s ease-out}.landing-content{width:100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1em}.short-desc{font-size:1.5em;max-width:19em;line-height:1.25em;text-align:right}.landing-socials{display:flex;flex-direction:row;align-items:center;gap:1em;fill:var(--landing-text)}.landing-socials a svg{height:2.25em;fill:inherit;transition:fill .15s ease-out}.landing-socials a{display:flex}.njit{transition:color .15s ease-out;cursor:pointer;color:inherit;text-decoration:underline}.njit:hover{color:#EF3122}.resume:hover{fill:#459af1}.github:hover{fill:#171515}.linkedin:hover{fill:#0A66C2}.panel-title{font-size:2.5em;font-weight:500;background-size:contain;line-height:1em;margin-bottom:.5em}.panel-header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;margin-bottom:6em;flex-wrap:wrap;gap:2em}.header-gap{margin-top:57.5px}.body-panel{width:100%;padding:6em var(--body-padding);box-sizing:border-box}.mw{max-width:var(--max-width);margin:0 auto}.large{font-size:4em;margin-bottom:0}.panel-desc{font-size:1.5em;max-width:30em;line-height:1.5em;margin-top:.5em;color:#808080;font-weight:400}.panel-button{font-size:1.25em;background-color:#000;color:#fff;padding:.9em 1.5em .7em;border-radius:32px;font-weight:500;cursor:pointer}.project-title{font-size:1.5em;font-weight:500}.project-subtitle{font-size:1.5em;font-weight:400;color:#808080}.project-links{display:flex;gap:1em}.project-links a{display:flex}.project-links a svg{height:28px;fill:var(--landing-text);transition:fill .15s ease-out}.project-links a svg.large{height:40px}.project-links a:hover svg{fill:rgba(0,0,0,1)}.fc{flex-direction:column}.fc,.fr{display:flex}.fr{flex-direction:row}.center-sb,.project-info-holder{align-items:center;justify-content:space-between}.project-info-holder{display:flex;flex-direction:row;margin-top:2em}.project-info{box-sizing:border-box;z-index:1;display:flex;flex-direction:column;justify-content:flex-end}.project-sub{margin-top:.25em;font-size:1em;color:#808080}.project-cell:hover .project-bg{transform:scale(1.02);opacity:.85}.wg1{flex-wrap:wrap;gap:1em}@media (max-width:1400px){.chat{font-size:3.5vw}}@media (max-width:1200px){.chat{font-size:3.5vw}.projects{grid-template-columns:repeat(2,1fr)}}@media (max-width:992px){.chat{font-size:4.5vw}}@media (max-width:768px){.chat{font-size:4.5vw}.projects{grid-template-columns:repeat(1,1fr)}}@media (max-width:700px){.large{font-size:3em}.chat{font-size:4.4vw}.short-desc{text-align:center}.landing-content{flex-direction:column-reverse;justify-content:center;align-items:center}.short-desc{font-size:1.25em}}@media (max-width:576px){.chat{font-size:4.2vw}}.logo{width:2.5em;height:2.5em;background:linear-gradient(180deg,#99DBFB,#6DCDF7);border-radius:64px;justify-content:center;line-height:.5em;font-weight:500;color:white;font-size:1.25em;padding-top:.3125em;flex-shrink:0;pointer-events:all}.header,.logo{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.header{justify-content:space-between;width:100%;color:var(--header-text-color);padding:var(--body-padding);position:fixed;top:0;left:0;z-index:99999;pointer-events:none;background-color:#ffffff00;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);border-bottom:1px solid transparent;max-height:124px;transition:background-color .15s ease-out,border-color .15s ease-out,max-height .15s ease-out,color .15s ease-out,-webkit-backdrop-filter .15s ease-out;transition:background-color .15s ease-out,backdrop-filter .15s ease-out,border-color .15s ease-out,max-height .15s ease-out,color .15s ease-out;transition:background-color .15s ease-out,backdrop-filter .15s ease-out,border-color .15s ease-out,max-height .15s ease-out,color .15s ease-out,-webkit-backdrop-filter .15s ease-out}.header.active{max-height:80px;background-color:#fafafccc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:var(--border)}.nav{font-weight:500;font-size:1em;pointer-events:all}.nav a{padding:1em .75em}