@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@200;400;600&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap";.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}body{margin:0}aside,main,nav,section{display:block}a{background-color:#0000}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}img{border:0}@font-face{font-family:webflow-icons;src:url(data:application/x-font-ttf;charset=utf-8;base64,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) format("truetype");font-weight:400;font-style:normal}*{box-sizing:border-box}html{height:100%}body{min-height:100%;color:#333;background-color:#fff;margin:0;font-family:Arial,sans-serif;font-size:14px;line-height:20px}img{max-width:100%;vertical-align:middle;display:inline-block}.w-inline-block{max-width:100%;display:inline-block}.w-button{color:#fff;line-height:inherit;cursor:pointer;background-color:#3898ec;border:0;border-radius:0;padding:9px 15px;text-decoration:none;display:inline-block}h1,h3,h4{margin-bottom:10px;font-weight:700}h1{margin-top:20px;font-size:38px;line-height:44px}h3{margin-top:20px;font-size:24px;line-height:30px}h4{margin-top:10px;font-size:18px;line-height:24px}p{margin-top:0;margin-bottom:10px}ul{margin-top:0;margin-bottom:10px;padding-left:40px}.w-richtext:before,.w-richtext:after{content:" ";grid-area:1 / 1 / 2 / 2;display:table}.w-richtext:after{clear:both}.w-richtext ul{overflow:hidden}.w-nav{z-index:1000;background:#ddd;position:relative}.w-nav:before,.w-nav:after{content:" ";grid-area:1 / 1 / 2 / 2;display:table}.w-nav:after{clear:both}.w-nav-brand{float:left;color:#333;text-decoration:none;position:relative}.w-nav-menu{float:right;position:relative}.w-nav-menu.is-open{display:block!important;position:fixed;left:0;right:0;top:92px}.w-nav-button{float:right;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-ms-user-select:none;user-select:none;padding:18px;font-size:24px;display:none;position:relative}.w-nav-button:focus{outline:0}@media screen and (max-width:991px){.w-nav[data-collapse=medium] .w-nav-menu{display:none}.w-nav[data-collapse=medium] .w-nav-menu.is-visible{display:block;position:fixed;left:0;right:0;top:92px;background:#fff;transform:translateY(-50%);opacity:0;transition:transform .25s ease,opacity .25s ease;will-change:transform,opacity}.w-nav[data-collapse=medium] .w-nav-menu.is-visible.is-open{transform:translateY(0);opacity:1}.w-nav[data-collapse=medium] .w-nav-button{display:block}}@media screen and (max-width:767px){.w-nav-brand{padding-left:10px}}body{color:#333;background-color:#161616;font-family:IBM Plex Sans,sans-serif;font-size:14px;line-height:20px}h1{color:#fff;letter-spacing:-.5px;margin-top:0;margin-bottom:18px;font-size:58px;font-weight:300;line-height:72px}h3{color:#fff;margin-top:0;margin-bottom:12px;font-size:32px;font-weight:400;line-height:42px}h4{color:#fff;margin-top:0;margin-bottom:0;font-size:18px;font-weight:400;line-height:24px}p{color:#a8a8a8;margin-bottom:10px;font-size:16px;line-height:26px}.content{width:100vw;height:100vh;display:flex}.sidebar{width:100%;height:100%;max-width:280px;background-color:#1c1c1c;border-right:1px solid #353535;padding:32px}.nav-content{width:100%;height:100%;grid-column-gap:36px;grid-row-gap:36px;flex-direction:column;display:flex}.label-white{color:#fff;margin-bottom:2px;font-size:16px;line-height:24px}.label-gray{color:#a8a8a8;font-size:14px;line-height:22px}.niv-data{align-items:center;display:flex}.niv-image{width:48px;height:48px;border:1px solid #353535;border-radius:100px;margin-right:12px}.main{width:100%;height:100%;background-image:linear-gradient(#1c1c1ca3,#1c1c1ca3),url(/assets/grid-top-right.svg),linear-gradient(#1c1c1c3d,#1c1c1c3d);background-position:0 0,0 0,0 0;background-size:auto,auto 1130px,auto;flex-direction:column;align-items:center;padding:46px 48px 82px;display:flex;overflow:auto}.container{width:100%;max-width:680px;grid-column-gap:68px;grid-row-gap:68px;flex-direction:column;display:flex}.lead{max-width:580px;color:#fff;margin-bottom:0;line-height:26px}.button{color:#fff;background-color:#1c1c1c;border:1px solid #363636;border-right-color:#353535;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;line-height:26px;transition:all 40ms}.button:hover{background-color:#202020;box-shadow:0 2px 4px #080808d1}.fold-content{margin-bottom:48px}.mini-label-white{color:#fff;letter-spacing:.75px;text-transform:uppercase;margin-top:24px;font-family:IBM Plex Mono,sans-serif;font-size:10px;font-weight:400;line-height:24px}.mini-label-white.gray-color{color:#a8a8a8}.chips-container{grid-column-gap:12px;grid-row-gap:12px;flex-wrap:wrap;align-items:flex-start;margin-top:8px;display:flex}.chips-container.chips-container-small-width{max-width:380px}.single-chip{color:#fff;background-color:#353535;border-radius:8px;padding:8px 12px;font-family:IBM Plex Mono,sans-serif}.single-chip.small-chip{padding:4px 8px;font-size:12px}.single-item{font-size:16px}.resouce-items{grid-column-gap:64px;grid-row-gap:64px;flex-direction:column;display:flex}.items-container{flex-direction:column}.nav-link-image{width:24px;opacity:.48}.nav-link-container{grid-column-gap:12px;grid-row-gap:12px;color:#a8a8a8;text-transform:none;border:1px solid rgba(0,0,0,0);border-radius:8px;justify-content:flex-start;align-items:center;padding:12px;text-decoration:none;display:flex}.nav-link-container.w--current{color:#fff;background-color:#2b2b2b;border-color:#353535}.projects-container{grid-column-gap:24px;grid-row-gap:24px;align-items:stretch;text-decoration:none;display:flex}.single-projects-category{display:flex}.projects-category-image-container{min-height:180px;min-width:180px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#3535351f;border:1px #000;border-radius:12px;justify-content:center;align-items:center;display:flex;box-shadow:0 1px 1px #ffffff3d,0 -1px 1px #ffffff3d}.projects-category-image-container.devops-img{background-image:none;background-position:0 0}.single-projects-content{flex-direction:column;justify-content:center;display:flex}.projects-section{grid-column-gap:32px;grid-row-gap:32px;flex-direction:column;display:flex}.tech-tools-container{flex-direction:column;justify-content:flex-end;display:flex}.back-nav-container{color:#fff;letter-spacing:2px;text-transform:uppercase;align-items:center;padding-bottom:0;font-weight:500;display:flex}.back-nav-img{width:18px}.back-nav-button{color:#fff;background-color:#0000;border-radius:8px;margin-top:-12px;padding:12px 16px;text-decoration:none;transition:all .12s;display:flex}.back-nav-button:hover{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0808083d}.project-desc{color:#a8a8a8;line-height:24px}.project-desc.project-desc-list{margin-left:-24px}.content-container{grid-column-gap:32px;grid-row-gap:32px;flex-direction:column;display:flex}.projects-category-image{width:82px;height:82px}@media screen and (max-width:991px){.content{flex-direction:column}.sidebar{height:auto;max-width:100%;padding-top:18px;padding-bottom:18px;padding-right:28px}.nav-content{height:auto;grid-column-gap:0px;grid-row-gap:0px;flex-direction:row;justify-content:space-between;align-items:center}.fold-content{margin-bottom:32px}.nav-link-container{background-color:#1c1c1c;border-radius:0;padding:18px 28px 18px 32px}.nav-link-container:active{color:#fff;background-color:#2b2b2b}.navbar-icon{width:32px;height:32px;color:#fff;font-size:32px}.navbar-icon-button{padding:12px;transition:all .24s}}@media screen and (max-width:767px){h1{font-size:54px;line-height:64px}h4{font-size:32px;font-weight:300;line-height:48px}.sidebar{padding-left:24px;padding-right:18px}.main{padding-left:28px;padding-right:28px}.container{grid-column-gap:68px;grid-row-gap:68px}.fold-content{margin-bottom:24px}.nav-link-container{padding-left:24px;padding-right:18px}.projects-container{flex-direction:column}.projects-category-image-container{min-height:124px;min-width:124px;margin-bottom:-42px;position:relative}.single-projects-content{position:relative;top:1.75rem}.projects-section{grid-column-gap:68px;grid-row-gap:68px}.projects-category-image{width:64px;height:64px}}.card-summary{color:#a8a8a8;margin:6px 0 0;font-size:14px;line-height:22px}.category-intro{max-width:620px}.section{display:flex;flex-direction:column;grid-row-gap:16px;row-gap:16px}.section-title{color:#fff;letter-spacing:2px;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,sans-serif;font-size:12px;font-weight:400;line-height:24px}.contact-links{display:flex;flex-wrap:wrap;gap:12px}.contact-link{color:#fff;background-color:#1c1c1c;border:1px solid #353535;border-radius:8px;padding:10px 16px;font-family:IBM Plex Mono,sans-serif;font-size:13px;text-decoration:none;transition:all .12s}.contact-link:hover{background-color:#2b2b2b}.project-link{display:inline-block;color:#cfcfcf;margin-top:12px;font-family:IBM Plex Mono,sans-serif;font-size:12px;overflow-wrap:anywhere;text-decoration:underline}.sidebar-footer{display:flex;align-items:center;margin-top:auto}.lang-switch{display:inline-flex;align-items:center;gap:8px;color:#fff;background-color:#2b2b2b;border:1px solid #353535;border-radius:8px;padding:8px 14px;font-family:IBM Plex Mono,sans-serif;font-size:12px;letter-spacing:.5px;text-decoration:none;transition:all .12s}.lang-switch:hover{background-color:#353535}.lang-switch-icon{width:18px;height:18px;opacity:.72}.timeline{display:flex;flex-direction:column;grid-row-gap:30px;row-gap:30px;border-left:1px solid #353535;margin-top:8px;padding-left:24px}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:-29px;top:7px;width:9px;height:9px;border:2px solid #1c1c1c;border-radius:50%;background-color:#7a7a7a}.timeline-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.timeline-role{color:#fff;font-size:18px;line-height:26px}.timeline-company{color:#cfcfcf;font-size:15px}.timeline-meta{color:#8a8a8a;font-family:IBM Plex Mono,sans-serif;font-size:12px;line-height:20px}.timeline-bullets{color:#a8a8a8;margin:10px 0 0;padding-left:20px;line-height:24px}.timeline-bullets li{margin-bottom:4px}.edu-grid{display:grid;grid-template-columns:1fr;gap:16px}.edu-card{background-color:#3535351f;border:1px solid #353535;border-radius:12px;padding:18px 20px}.edu-card h4{color:#fff;font-size:17px;line-height:24px}.edu-inst{color:#a8a8a8;margin-top:6px}.edu-period{color:#8a8a8a;margin-top:4px;font-family:IBM Plex Mono,sans-serif;font-size:12px}.edu-detail{color:#a8a8a8;margin:10px 0 0;font-size:14px;line-height:22px}.cert-list{display:flex;flex-wrap:wrap;gap:12px}.cert-item{border:1px solid #353535;border-radius:8px;padding:10px 14px}.cert-name{color:#fff;font-size:14px}.cert-issuer{color:#8a8a8a;margin-top:4px;font-family:IBM Plex Mono,sans-serif;font-size:12px}.hobby-grid{display:grid;grid-template-columns:1fr;gap:16px}.hobby-card{background-color:#3535351f;border:1px solid #353535;border-radius:12px;padding:18px 20px}.hobby-card h4{color:#fff;font-size:17px;line-height:24px}.hobby-card p{color:#a8a8a8;margin:8px 0 0;font-size:14px;line-height:22px}@media screen and (max-width:991px){.sidebar-footer{margin-top:0;margin-left:auto;margin-right:8px}}@media screen and (max-width:767px){h1{font-size:36px;line-height:44px}}.home-logo{display:block;width:170px;height:auto;margin-bottom:28px}@media screen and (max-width:767px){.home-logo{width:140px;margin-bottom:20px}}.brand{display:flex;flex-direction:column;align-items:flex-start;float:none}.brand-logo{display:block;width:100%;max-width:190px;height:auto}.brand-role{margin-top:10px}@media screen and (max-width:991px){.brand-logo{max-width:150px}.brand-role{display:none}}html{background-color:#161616;color-scheme:dark}::view-transition-old(root),::view-transition-new(root){background-color:#161616;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
