body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:exo_light,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:exo_light;src:url(/static/media/Exo2.0-Light.39c9e045dc99049ac83b.otf)}.blog-modal-menu{font-size:.9rem;height:40px;padding:8px 16px}.blog-modal-menuTitle{color:#fff;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.blog-modal-bodyTitle{align-items:baseline;color:#112d4e;display:flex;font-size:1.1rem;font-weight:700;gap:.75rem;letter-spacing:.08em;margin:20px 0 18px;text-transform:uppercase}.blog-modal-backLink{color:#38618c;font-size:.85rem;font-weight:600;letter-spacing:.12em;text-decoration:none}.blog-modal-backLink:focus,.blog-modal-backLink:hover{color:#0f172a;text-decoration:underline}.blog-modal-bodyTitleText{word-wrap:break-word;display:inline-block;flex:1 1;line-height:1.3;overflow:visible;text-overflow:clip;white-space:normal}.blog-modal-featured-image{border-radius:8px;box-shadow:0 4px 12px #0f172a1a;margin:1rem 0 1.5rem;overflow:hidden}.blog-modal-featured-image img{display:block;height:auto;max-height:300px;object-fit:cover;object-position:center;width:100%}body,html{background-color:#fff;height:100%;margin:0}img{max-width:100%}.layout{width:100%}.landingContainer{background-color:#94eafe;background:url(/static/media/bioniclylabs_cover.48ddaa75c603886dbf36.jpg) no-repeat;background-size:cover;height:100%;left:0;margin:0;padding:0;position:fixed;top:0;width:100%}.landingHeader{align-items:center;color:#fff;display:flex;height:75px;left:0;right:0;top:0}.landingCenter{color:#797979;display:block;font-size:25px;margin:0 auto;padding:10px;position:relative;text-align:center;width:80%}.landingLogo{display:flex;width:200px}.textButton{border:3px solid #797979;border-radius:5px;color:#797979;font-size:medium;margin:5px;padding:10px;text-decoration:none}@media screen and (max-width:768px){.layout{margin:0;width:100%}}@media screen and (min-width:768px) and (max-width:1200px){.layout{margin:0;width:100%}}@media screen and (min-width:1200px){.layout{margin:0;width:100%}}.menu{background-color:#38618c;color:#fff;height:50px;left:0;right:0;top:0}.menu,.menuLogo{align-items:center;display:flex}.menuLogo{height:70px;width:70px}.menuIcon{cursor:pointer;font-size:xx-large;height:42px;width:42px}.active{color:#ffe74c}.logo{height:60px;width:60px}.post{background-color:#fff;border:1px solid #e2e8f099;border-radius:12px;box-shadow:0 4px 14px #0f172a1f;cursor:pointer;height:300px;overflow:hidden;position:relative;transition:box-shadow .2s ease,filter .2s ease}.post-featured-image{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.post-featured-image img{height:100%;object-fit:cover;object-position:center;width:100%}.post-featured-image:after{background:linear-gradient(180deg,#0000000d,#00000026 60%,#0006);content:"";top:0;z-index:2}.post .title,.post-featured-image:after{bottom:0;left:0;position:absolute;right:0}.post .title{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(135deg,#0f172aed,#1e293bed 30%,#334155ed);border-top:1px solid #ffffff26;color:#fff;display:flex;font-size:16px;gap:.4rem;height:48px;overflow:hidden;padding:8px 12px;text-overflow:ellipsis;text-shadow:0 1px 3px #0006;z-index:4}.post .icon{align-items:center;display:inline-flex}.post .timestamp{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#fff3;border:1px solid #ffffff26;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:auto;padding:3px 8px;text-shadow:0 1px 2px #0000001a}.post .body{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(180deg,#ffffffeb,#ffffffe0 50%,#ffffffd1);bottom:48px;box-sizing:border-box;color:#fff;display:flex;flex-direction:column;font-size:.9rem;justify-content:flex-start;left:0;overflow:hidden;padding:1.2rem 1.4rem 1rem;position:absolute;right:0;top:0;z-index:3}.post .body p{color:#1f2933;line-height:1.5;margin:0 0 .75rem;text-shadow:0 1px 2px #fffc}.post:focus,.post:hover{box-shadow:0 12px 24px #0f172a29;filter:brightness(1.02)}.Modal{outline:none;position:absolute}.Modal,.Overlay{background-color:initial;bottom:0;left:0;right:0;top:0;z-index:200}.Overlay{position:fixed}.modalMenu{color:#fff;font-size:x-large;height:40px;justify-content:space-between;left:0;right:0;top:50px}.modalIcon,.modalMenu,.modalMenuOptions{align-items:center;display:flex}.modalIcon{height:36px;width:36px}.modalBody{background-color:#fffffff2;box-sizing:border-box;height:100%;overflow-y:scroll;padding:24px 28px;width:100%}.blog-modal-body{padding-top:20px}@media screen and (max-width:768px){.blog-modal-body{padding-top:30px}}.modalTitle{color:#fff;font-size:18px;padding-left:5px}.loadingScreen{align-items:center;color:#35a7ff;display:flex;flex-direction:column;font-size:medium;justify-content:center;min-height:100vh;text-align:center}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item>.react-resizable-handle{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.home-page{background-color:#f7f8fb;min-height:100vh}.home-nav-wrapper{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#f7f8fbf2;border-bottom:1px solid #d6dee9;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.home-nav-brand{display:flex;flex-direction:column;gap:.1rem}.home-nav-name{color:#112d4e;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.home-nav-role{color:#475569;font-size:.85rem}.home-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#f7f8fbfa;border-top:1px solid #d6dee9;box-shadow:0 4px 12px #0f172a1a;display:none;flex-direction:column;gap:.25rem;left:0;padding:.75rem;position:absolute;right:0;top:100%;z-index:101}.home-nav.nav-open{display:flex}.home-nav-brand{flex-shrink:0}.home-nav-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:32px;justify-content:center;padding:4px;width:32px}.home-nav-toggle span{background-color:#38618c;border-radius:1px;display:block;height:2px;margin:2px 0;transition:all .3s ease;width:20px}.home-nav-toggle.active span:first-child{transform:rotate(45deg) translate(3px,3px)}.home-nav-toggle.active span:nth-child(2){opacity:0}.home-nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(3px,-3px)}@media (max-width:768px){.home-nav-wrapper{padding:.6rem .8rem}.home-nav-brand{flex-shrink:0}.home-nav-name{font-size:.9rem}.home-nav-role{font-size:.75rem}.home-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#f7f8fbfa;border-top:1px solid #d6dee9;box-shadow:0 4px 12px #0f172a1a;display:none;flex-direction:column;gap:.25rem;left:0;padding:.75rem;position:absolute;right:0;top:100%;z-index:101}.home-nav.nav-open{display:flex}.home-nav-link{background-color:#ffffffb3;border:1px solid #38618c1a;border-radius:6px;font-size:.8rem;padding:.5rem .75rem;text-align:center}.home-nav-toggle{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:32px;justify-content:center;padding:4px;width:32px}.home-nav-toggle span{background-color:#38618c;border-radius:1px;display:block;height:2px;margin:2px 0;transition:all .3s ease;width:20px}.home-nav-toggle.active span:first-child{transform:rotate(45deg) translate(5px,5px)}.home-nav-toggle.active span:nth-child(2){opacity:0}.home-nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}}.home-nav-link{align-items:center;background:#0000;background-color:#fffc;border:1px solid #38618c1a;border-radius:8px;color:#38618c;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;letter-spacing:.06em;margin:.1rem 0;padding:.6rem .75rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:background-color .2s ease,color .2s ease}.home-nav-link--external:after{content:"↗";font-size:.75rem;margin-left:.35rem;opacity:.7}.home-nav-link:focus,.home-nav-link:hover{background-color:#38618c1f;color:#0f172a}.resume-page{background-color:#f7f8fb;color:#1e1e24;font-family:exo_light,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:1.5rem 1.5rem 4rem}.resume-summary{margin:1.5rem 0}.resume-summary-list p{line-height:1.6;margin:.5rem 0}.resume-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem}@media (max-width:1199px){.resume-content{grid-template-columns:1fr}}@media (min-width:1200px){.resume-content{grid-template-columns:1fr 1fr 1fr}.resume-section--experience{grid-column:1}.resume-section--skills{grid-column:2}.resume-column--details{grid-column:3}}.home-section{scroll-margin-top:120px}.resume-section h3{color:#112d4e;font-size:1rem;letter-spacing:.08em;margin:0 0 .75rem;text-transform:uppercase}.resume-section-heading{align-items:center!important;color:#112d4e!important;display:flex!important;font-size:1rem!important;gap:.5rem!important;letter-spacing:.08em!important;margin:0 0 .75rem!important;text-transform:uppercase!important}.resume-section-icon{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(135deg,#0f172aeb,#1e293beb 30%,#334155eb);border-radius:7px;box-shadow:0 2px 8px #0f172a26;color:#fff;display:flex;flex-shrink:0;font-size:.65rem;height:1.5rem;justify-content:center;min-width:1.5rem;padding:.25rem;width:1.5rem}.resume-card-grid{grid-gap:1.25rem;display:grid;gap:1.25rem}.resume-card{background-color:#fff;border:none;border-radius:12px;box-shadow:0 4px 14px #0f172a1f;cursor:pointer;padding:1.2rem 1.4rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.resume-card:focus,.resume-card:hover{box-shadow:0 12px 24px #0f172a29;transform:translateY(-4px)}.resume-card-header h4{color:#0f172a;font-size:1.1rem;margin:0}.resume-card-subtitle{color:#475569;display:block;font-size:.9rem;margin-top:.25rem}.resume-card-highlights{color:#1f2933;font-size:.95rem;margin:.75rem 0 0;padding-left:1.1rem;text-align:left}.resume-card-highlights li+li{margin-top:.4rem}.resume-card-highlights a{background:linear-gradient(135deg,#2563eb14,#3b82f614);border:1px solid #2563eb26;border-radius:4px;color:#2563eb;font-weight:600;padding:.1rem .3rem;position:relative;text-decoration:none;transition:all .2s ease}.resume-card-highlights a:focus,.resume-card-highlights a:hover{background:linear-gradient(135deg,#2563eb26,#3b82f626);border-color:#2563eb4d;box-shadow:0 2px 8px #2563eb33;color:#1d4ed8;transform:translateY(-1px)}.resume-card-highlights a:after{content:"↗";font-size:.7rem;margin-left:.2rem;opacity:.6;transition:opacity .2s ease}.resume-card-highlights a:hover:after{opacity:1}.resume-card-cta{align-items:center;color:#38618c;display:inline-flex;font-weight:600;gap:.4rem;margin-top:1rem}.resume-column--details{display:flex;flex-direction:column;gap:1.75rem}.blog-section{grid-column:1/-1;margin-top:1.5rem}.resume-recognition-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.resume-recognition-item{align-items:center;background-color:#fff;border:none;border-radius:999px;box-shadow:0 2px 8px #0f172a14;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:600;gap:.75rem;padding:.85rem 1.1rem;transition:transform .2s ease,box-shadow .2s ease}.resume-recognition-item:focus,.resume-recognition-item:hover{box-shadow:0 10px 18px #0f172a29;transform:translateY(-2px)}.resume-recognition-logo{border-radius:6px;flex-shrink:0;height:auto;max-height:32px;object-fit:contain;width:32px}.resume-recognition-text{text-align:left}.resume-stack{grid-gap:.9rem;display:grid;gap:.9rem}.resume-mini-card{background-color:#fff;border:none;border-radius:10px;box-shadow:0 3px 10px #0f172a1a;cursor:pointer;padding:1rem 1.1rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.resume-mini-card h4{color:#1b263b;font-size:1rem;margin:0}.resume-mini-card:focus,.resume-mini-card:hover{box-shadow:0 10px 20px #0f172a29;transform:translateY(-3px)}.resume-skill-card{padding-bottom:1.4rem}.resume-card-highlights--skill{color:#475569;font-size:.85rem;margin-top:.6rem}.resume-skill-meter{grid-gap:.35rem;display:grid;gap:.35rem;margin-top:1rem}.resume-skill-meter-track{background:#dbe4f3;border-radius:999px;height:8px;overflow:hidden;position:relative}.resume-skill-meter-fill{background:linear-gradient(90deg,#38618c,#35a7ff);border-radius:999px;height:100%}.resume-skill-meter-value{color:#6b7a90;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.resume-modal-overlay{align-items:center;background-color:#0f172a8c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.resume-modal{background-color:#fff;border-radius:14px;box-shadow:0 20px 40px #0f172a40;max-height:90vh;max-width:720px;outline:none;overflow-y:auto;padding:1.8rem;width:100%}.resume-modal-content{display:flex;flex-direction:column;gap:1.25rem}.resume-modal-header{display:flex;gap:1rem;justify-content:space-between}.resume-modal-header h3{color:#0f172a;font-size:1.4rem;margin:0}.resume-modal-subtitle{color:#475569;font-size:.95rem;margin:.4rem 0 0}.resume-modal-close{align-self:flex-start;background:#0000;border:none;color:#38618c;cursor:pointer;font-size:1.6rem}.resume-modal-highlights{color:#1f2933;margin:0;padding-left:1.2rem}.resume-modal-highlights a{background:linear-gradient(135deg,#2563eb14,#3b82f614);border:1px solid #2563eb26;border-radius:4px;color:#2563eb;font-weight:600;padding:.1rem .3rem;position:relative;text-decoration:none;transition:all .2s ease}.resume-modal-highlights a:focus,.resume-modal-highlights a:hover{background:linear-gradient(135deg,#2563eb26,#3b82f626);border-color:#2563eb4d;box-shadow:0 2px 8px #2563eb33;color:#1d4ed8;transform:translateY(-1px)}.resume-modal-highlights a:after{content:"↗";font-size:.7rem;margin-left:.2rem;opacity:.6;transition:opacity .2s ease}.resume-modal-highlights a:hover:after{opacity:1}.resume-modal-body p{color:#1f2933;line-height:1.6;margin:0 0 1rem}.resume-modal-links{display:flex;flex-wrap:wrap;gap:.75rem}.resume-modal-link{align-items:center;color:#38618c;display:inline-flex;font-weight:600;gap:.3rem;text-decoration:none}.resume-modal-link:focus,.resume-modal-link:hover{text-decoration:underline}.contentContainer{height:100%;margin:0;padding:0;width:100%}.layout{margin:0}
/*# sourceMappingURL=main.c1957967.css.map*/