#root{display:flex;flex-direction:row;text-align:center;min-height:100vh;background-color:#f5f5f5;font-family:Roboto,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}:root{line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:#000;text-decoration:none}@media (max-width: 768px){#root{flex-direction:column}}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance}#root,#__next{isolation:isolate}nav{display:flex;flex-direction:column;background-color:#e4e4e4;box-shadow:#32325d26 4px 0 6px -2px,#0003 2px 0 4px -2px;padding:1em;width:100%;max-width:300px}.my-name{text-align:center;color:#02ad28}.hire-me>h2{margin-top:1em;text-align:center;color:#02ad28}.link{display:flex}.nav-icon{width:1.5em;height:1.5em;margin-right:12px}.nav-link{padding-top:.5em;padding-bottom:.5em;padding-left:.5em;margin:1em 1em 1em .5em;font-weight:700;text-align:left;list-style:none;display:flex;align-items:center;transition:all .5s ease}.nav-link:hover{background-color:#f0f0f0;color:#086e11;border-radius:5px;transform:scale(1.05)}.nav-link.active{background-color:#f0f0f0;border-radius:5px;transform:scale(1.05)}.nav-link{display:flex;align-items:center;gap:.5rem;padding:1rem;text-decoration:none;color:#000}.nav-link:hover{background:#f0f0f0;border-radius:5px}.desktop-navbar{display:flex;flex-direction:column;background-color:#e4e4e4;padding:1rem;min-height:100vh;max-width:300px}.menu-toggle{display:flex;align-items:center;cursor:pointer;gap:.5rem}.menu-label{display:flex;flex-direction:row;font-weight:700;font-size:1rem}.menu-label:hover{cursor:pointer}.burger-menu{animation:slideDown .3s ease-out;position:absolute;top:80px;right:0;background-color:#e4e4e4;z-index:2}@keyframes slideDown{0%{opacity:0;transform:translateY(-5%)}to{opacity:1;transform:translateY(0)}}.mobile-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;min-width:100%}@media (max-width: 768px){.my-name{font-size:1.4rem}}main{display:flex;flex-direction:column;align-items:center;font-weight:700;width:100%}.flex{display:flex;align-items:center;padding:1em}.card{margin-top:2rem;display:flex;flex-direction:row;width:70%;max-width:800px;background-color:#e3fcec;box-shadow:0 12px 24px #3c3c1421,0 1.5px 7px #5050001a;padding:2.5rem 2rem;border-radius:2px;transform:rotate(-2.2deg);position:relative}.image-container{display:flex;flex-direction:column}main>h2{margin:1rem}.image-container>img{border-radius:5px;box-shadow:#32325d40 0 6px 12px -2px,#0000004d 0 3px 7px -3px;width:auto;transform:rotate(-2deg);transition:transform .3s ease}.italic{font-style:italic;font-weight:500}.projects{margin-top:2rem;display:flex;flex-direction:column;gap:5rem;align-items:center;width:80%;margin-bottom:5rem}.projects-row{display:flex;justify-content:space-between;width:100%;max-width:1000px;min-height:240px;padding:2em 2.5em;background:#fff;border-radius:1.5em;gap:3em;border:1.5px solid #e8e8e8}.git-icon{display:flex;align-items:center;gap:.4rem;color:inherit;font-weight:500}.projects-row:hover{box-shadow:#32325d40 0 6px 12px -2px,#0000004d 0 3px 7px -3px}.project-img{aspect-ratio:3 / 2;flex-shrink:0;width:100%;max-width:300px;height:auto;border-radius:10px;box-shadow:#32325d40 0 6px 12px -2px,#0000004d 0 3px 7px -3px;background:#fff}.projects-text{text-align:left;font-weight:500;font-size:1.17rem;color:#212832;transition:all .5s ease}.highlight:hover,.git-icon:hover{color:#02ad28}.projects-links{margin-top:1rem;display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.card{flex-direction:column;width:70%;padding:1rem}.image-container>img{width:70%;align-self:center}.projects-row{display:flex;flex-direction:column;align-items:center}.project-img{width:100%;max-width:250px}}.bounce-in{animation:bounce-in .6s ease-in both}.in-progress{display:flex;align-items:center;justify-content:center;gap:1em;padding:1em 0}.cog-spin{animation:spin 4s linear infinite;color:#2d7f45}.progress-text{font-size:1.2rem;font-weight:500;color:#333;letter-spacing:.03em}@keyframes spin{to{transform:rotate(360deg)}}.vertical-timeline-element-content{text-align:left}.vertical-timeline-element-date{font-style:italic}@media (max-width: 768px){.vertical-timeline-element-content{text-align:center}}.vertical-timeline *{box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 4px #fff,inset 0 2px #00000014,0 3px 0 4px #0000000d}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;-moz-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@-moz-keyframes cd-bounce-1{0%{opacity:0;-moz-transform:scale(.5)}60%{opacity:1;-moz-transform:scale(1.2)}to{-moz-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);-moz-transform:scale(.5);-ms-transform:scale(.5);-o-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);-moz-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;box-shadow:0 3px #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-title,.vertical-timeline-element-subtitle{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left:7px solid #fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;-moz-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;-moz-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2{0%{opacity:0;-moz-transform:translateX(-100px)}60%{opacity:1;-moz-transform:translateX(20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);-moz-transform:translateX(-100px);-ms-transform:translateX(-100px);-o-transform:translateX(-100px);transform:translate(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);-moz-transform:translateX(20px);-ms-transform:translateX(20px);-o-transform:translateX(20px);transform:translate(20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@-moz-keyframes cd-bounce-2-inverse{0%{opacity:0;-moz-transform:translateX(100px)}60%{opacity:1;-moz-transform:translateX(-20px)}to{-moz-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);-moz-transform:translateX(100px);-ms-transform:translateX(100px);-o-transform:translateX(100px);transform:translate(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);-moz-transform:translateX(-20px);-ms-transform:translateX(-20px);-o-transform:translateX(-20px);transform:translate(-20px)}to{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translate(0)}}.skills-certs{width:100%}.grid-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.skill-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.skill-icon{width:20px;height:20px}.grid-item{text-align:center;width:100%;margin-top:1rem}.grid-item>h4{margin-bottom:1rem}.grid-item>ul{list-style:none;text-align:center;font-weight:lighter}.cert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.5rem;padding:1rem 0;justify-items:center;text-align:center}.cert-badge{display:flex;flex-direction:column;align-items:center}.cert-badge img{display:block;width:100px;height:100px;object-fit:contain;margin-bottom:.5rem;transition:transform .2s ease}@media (max-width: 1100px){.grid-container{grid-template-columns:1fr;align-items:center;justify-items:center}}.skills-certifications{padding:2rem;background:#f8f9fa;border-radius:8px;margin-top:3rem}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;list-style-type:none;padding:0}main{margin-bottom:2rem}@keyframes bounce-in{0%{opacity:0;transform:translateY(30px)}60%{opacity:1;transform:translateY(-10px)}80%{transform:translateY(5px)}to{transform:translateY(0)}}.bounce-in{animation:bounce-in .6s ease-out both}.pre-bounce{opacity:0}.contact-me{display:flex;flex-direction:column;align-items:center}.item-hover{transition:all .2s ease}.item-hover:hover{border-radius:5px;transform:scale(1.05)}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:100;src:local("Roboto Thin "),local("Roboto-Thin"),url(/assets/roboto-latin-100-BJNx9A77.woff2) format("woff2"),url(/assets/roboto-latin-100-B3mHgoOJ.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:100;src:local("Roboto Thin italic"),local("Roboto-Thinitalic"),url(/assets/roboto-latin-100italic-DkGpOhj0.woff2) format("woff2"),url(/assets/roboto-latin-100italic-Bjs4D596.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:300;src:local("Roboto Light "),local("Roboto-Light"),url(/assets/roboto-latin-300-EvKWBL9d.woff2) format("woff2"),url(/assets/roboto-latin-300-Cx9SeV6m.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:300;src:local("Roboto Light italic"),local("Roboto-Lightitalic"),url(/assets/roboto-latin-300italic-CYatNKLh.woff2) format("woff2"),url(/assets/roboto-latin-300italic-Uxw9HR3T.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:400;src:local("Roboto Regular "),local("Roboto-Regular"),url(/assets/roboto-latin-400-CEEi-WbQ.woff2) format("woff2"),url(/assets/roboto-latin-400-CKhRtUFO.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:400;src:local("Roboto Regular italic"),local("Roboto-Regularitalic"),url(/assets/roboto-latin-400italic-DRWWNyaf.woff2) format("woff2"),url(/assets/roboto-latin-400italic-B7WW6HdJ.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:local("Roboto Medium "),local("Roboto-Medium"),url(/assets/roboto-latin-500-DRg8azjQ.woff2) format("woff2"),url(/assets/roboto-latin-500-BU-otfqs.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:500;src:local("Roboto Medium italic"),local("Roboto-Mediumitalic"),url(/assets/roboto-latin-500italic-CAWXcheQ.woff2) format("woff2"),url(/assets/roboto-latin-500italic-DC3lxgcN.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:700;src:local("Roboto Bold "),local("Roboto-Bold"),url(/assets/roboto-latin-700-CqGedB_1.woff2) format("woff2"),url(/assets/roboto-latin-700-CCwTn0--.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:700;src:local("Roboto Bold italic"),local("Roboto-Bolditalic"),url(/assets/roboto-latin-700italic-C5p_YAqY.woff2) format("woff2"),url(/assets/roboto-latin-700italic-DXbHVVaQ.woff) format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:900;src:local("Roboto Black "),local("Roboto-Black"),url(/assets/roboto-latin-900-BEowQPyJ.woff2) format("woff2"),url(/assets/roboto-latin-900-Blac3EU0.woff) format("woff")}@font-face{font-family:Roboto;font-style:italic;font-display:swap;font-weight:900;src:local("Roboto Black italic"),local("Roboto-Blackitalic"),url(/assets/roboto-latin-900italic-DBp_g5Ww.woff2) format("woff2"),url(/assets/roboto-latin-900italic-uSnr6All.woff) format("woff")}
