*,:before,:after{box-sizing:border-box}body{font-family:var(--font-primary,"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);line-height:var(--line-height-base,1.55);color:#6c757d;width:100%;padding-top:3.375rem;overflow-x:hidden}@media (min-width:992px){body{padding-top:0}body.has-sidebar{padding-left:17rem}}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);text-transform:uppercase;font-weight:700;line-height:var(--line-height-heading,1.2);overflow-wrap:break-word}h1{font-size:var(--font-size-h1,3.25rem)}h2{font-size:var(--font-size-h2,2.625rem)}h3{font-size:var(--font-size-h3,2.0625rem)}h4{font-size:var(--font-size-h4,1.5rem)}h5{font-size:var(--font-size-h5,1.3125rem)}h6{font-size:var(--font-size-h6,1.125rem)}p.lead{font-size:1.15rem;font-weight:400}p,li,div{overflow-wrap:break-word}.subheading{font-family:var(--font-primary);text-transform:uppercase;font-weight:600;font-size:var(--font-size-h4,1.5rem);line-height:var(--line-height-heading)}.subheading a{word-break:break-all;overflow-wrap:break-word}@media (max-width:767px){.contact-info .contact-item{margin-bottom:.5rem;display:block}.contact-info .contact-separator{display:none}}a[href^=http],a[href^=https]{word-break:break-word;overflow-wrap:break-word}#sideNav .navbar-nav .nav-item .nav-link{font-family:var(--font-primary);text-transform:uppercase;font-weight:800}#sideNav .navbar-toggler:focus{outline-color:#d48a6e}@media (min-width:992px){#sideNav{text-align:center;flex-direction:column;width:17rem;height:100vh;display:flex;position:fixed;top:0;left:0}#sideNav .navbar-brand{margin:auto auto 0;padding:.5rem;display:flex}#sideNav .navbar-brand .img-profile{border:.5rem solid #fff3;max-width:10rem;max-height:10rem}#sideNav .navbar-collapse{flex-grow:0;align-items:flex-start;width:100%;margin-bottom:auto;display:flex}#sideNav .navbar-collapse .navbar-nav{flex-direction:column;width:100%}#sideNav .navbar-collapse .navbar-nav .nav-item,#sideNav .navbar-collapse .navbar-nav .nav-item .nav-link{display:block}}.social-icons .social-icon{color:#fff;background-color:#495057;border-radius:100%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin-right:1.5rem;font-size:1.5rem;display:inline-flex}.social-icons .social-icon:last-child{margin-right:0}.social-icons .social-icon:hover{background-color:var(--primary)}.dev-icons{font-size:3rem}section.resume-section{align-items:center;max-width:75rem;margin-left:auto;margin-right:auto;padding:3rem 1rem;display:flex}section.resume-section .resume-section-content{width:100%}@media (min-width:768px){section.resume-section{min-height:auto}}@media (min-width:992px){section.resume-section{padding:3rem}}@media (max-width:575px){section.resume-section{padding-left:.75rem;padding-right:.75rem}}section.resume-section:first-of-type{padding-top:4rem;padding-bottom:4rem}@media (min-width:992px){section.resume-section:first-of-type{padding-top:5rem;padding-bottom:4rem}}#topNav{z-index:1030;background-color:#343a40;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 4px #0000001a}#topNav .brand{font-family:var(--font-primary);font-size:var(--font-size-h4,1.5rem);color:#fff;text-transform:uppercase;font-weight:800}#topNav .brand span{color:var(--primary)}#topNav .nav-links{gap:2rem;margin:0;padding:0;list-style:none;display:flex}#topNav .nav-links a{font-family:var(--font-primary);color:#ffffffbf;text-transform:uppercase;font-weight:600;font-size:var(--font-size-sm,.875rem);text-decoration:none;transition:color .3s}#topNav .nav-links a:hover,#topNav .nav-links a.active{color:var(--primary)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;padding:0;display:none}.hamburger span{background-color:#fff;width:25px;height:3px;margin:3px 0;transition:all .3s}body{padding-top:60px!important}@media (min-width:992px){body{padding-top:60px!important}body.has-sidebar{padding-left:17rem}#sideNav{height:calc(100vh - 60px);top:60px}}@media (max-width:991px){#sideNav{display:none!important}#topNav{padding:0 1rem}.hamburger{display:flex}#topNav .nav-links{background-color:#343a40;flex-direction:column;gap:1.5rem;width:100%;padding:2rem;transition:left .3s;position:fixed;top:60px;left:-100%}#topNav .nav-links.active{left:0}#topNav .brand{font-size:var(--font-size-h5,1.3125rem)}}@media (max-width:575px){#topNav{padding:0 .5rem}#topNav .nav-links{padding:1rem}}@media (max-width:375px){#topNav .brand{font-size:1.125rem}}.coming-soon-banner{text-align:center;background-color:#f8f9fa;border-radius:.5rem;margin:2rem 0;padding:3rem 2rem}.coming-soon-banner i{color:var(--primary)}.coming-soon-banner h3{color:#343a40;margin-bottom:1rem}.coming-soon-banner p{color:#6c757d;font-size:1.1rem}.project-summary{margin-top:2rem}.project-summary h4{color:#343a40;border-bottom:2px solid var(--primary);margin-bottom:1.5rem;padding-bottom:.5rem}body.no-sidebar{padding-left:0!important}body.no-sidebar #sideNav{display:none}body.no-sidebar .resume-section{max-width:900px;margin:0 auto}.nav-category{margin-top:1.5rem;margin-bottom:.5rem}.nav-category:first-child{margin-top:.5rem}.nav-category-title{font-family:var(--font-primary);font-weight:800;font-size:var(--font-size-sm,.875rem);text-transform:uppercase;color:#ffffffe6;border-bottom:2px solid #fff3;padding:.5rem 1rem;display:block}.nav-category-title i{color:var(--primary);margin-right:.5rem}.nav-sub-item{padding-left:0}.nav-sub-item .nav-link{font-family:var(--font-primary);font-size:var(--font-size-sm,.875rem);color:#ffffffbf;padding-left:2rem;font-weight:600;transition:all .3s}.nav-sub-item .nav-link:hover{color:var(--primary);padding-left:2.3rem}.nav-sub-item .coming-soon-link{font-family:var(--font-primary);font-size:var(--font-size-sm,.875rem);color:#fff6;cursor:default;padding-left:2rem;font-style:italic}.nav-sub-item .nav-link.active{color:var(--primary)}@media (min-width:992px){.nav-category{margin-top:1.5rem}.nav-category-title{padding:.75rem 0}.nav-sub-item .nav-link{padding-left:1rem}.nav-sub-item .nav-link:hover{padding-left:1.3rem}.nav-sub-item .coming-soon-link{padding-left:1rem}}.text-sm{font-size:.9rem}.text-lg{font-size:1.2rem}.link-unstyled{color:inherit;text-decoration:none}.link-unstyled:hover{color:inherit}.img-responsive{max-width:100%;height:auto}.font-primary{font-family:var(--font-primary)}.font-code{font-family:var(--font-code)}.fw-400{font-weight:400}.fw-600{font-weight:600}.fw-700{font-weight:700}.fw-800{font-weight:800}.lh-base{line-height:var(--line-height-base)}.lh-heading{line-height:var(--line-height-heading)}.text-code{font-family:var(--font-code);color:#d6336c;background-color:#f4f4f4;border-radius:3px;padding:.2rem .4rem;font-size:.95em}pre{line-height:125%}td.linenos .normal,span.linenos{color:inherit;background-color:#0000;padding-left:5px;padding-right:5px}td.linenos .special,span.linenos.special{color:#000;background-color:#ffffc0;padding-left:5px;padding-right:5px}.codehilite .hll{background-color:#49483e}.codehilite{color:#f8f8f2;background:#272822}.codehilite .c{color:#959077}.codehilite .err{color:#ed007e;background-color:#1e0010}.codehilite .esc,.codehilite .g{color:#f8f8f2}.codehilite .k{color:#66d9ef}.codehilite .l{color:#ae81ff}.codehilite .n{color:#f8f8f2}.codehilite .o{color:#ff4689}.codehilite .x,.codehilite .p{color:#f8f8f2}.codehilite .ch,.codehilite .cm,.codehilite .cp,.codehilite .cpf,.codehilite .c1,.codehilite .cs{color:#959077}.codehilite .gd{color:#ff4689}.codehilite .ge{color:#f8f8f2;font-style:italic}.codehilite .ges{color:#f8f8f2;font-style:italic;font-weight:700}.codehilite .gr,.codehilite .gh{color:#f8f8f2}.codehilite .gi{color:#a6e22e}.codehilite .go{color:#66d9ef}.codehilite .gp{color:#ff4689;font-weight:700}.codehilite .gs{color:#f8f8f2;font-weight:700}.codehilite .gu{color:#959077}.codehilite .gt{color:#f8f8f2}.codehilite .kc,.codehilite .kd{color:#66d9ef}.codehilite .kn{color:#ff4689}.codehilite .kp,.codehilite .kr,.codehilite .kt{color:#66d9ef}.codehilite .ld{color:#e6db74}.codehilite .m{color:#ae81ff}.codehilite .s{color:#e6db74}.codehilite .na{color:#a6e22e}.codehilite .nb{color:#f8f8f2}.codehilite .nc{color:#a6e22e}.codehilite .no{color:#66d9ef}.codehilite .nd{color:#a6e22e}.codehilite .ni{color:#f8f8f2}.codehilite .ne,.codehilite .nf{color:#a6e22e}.codehilite .nl,.codehilite .nn{color:#f8f8f2}.codehilite .nx{color:#a6e22e}.codehilite .py{color:#f8f8f2}.codehilite .nt{color:#ff4689}.codehilite .nv{color:#f8f8f2}.codehilite .ow{color:#ff4689}.codehilite .pm,.codehilite .w{color:#f8f8f2}.codehilite .mb,.codehilite .mf,.codehilite .mh,.codehilite .mi,.codehilite .mo{color:#ae81ff}.codehilite .sa,.codehilite .sb,.codehilite .sc,.codehilite .dl,.codehilite .sd,.codehilite .s2{color:#e6db74}.codehilite .se{color:#ae81ff}.codehilite .sh,.codehilite .si,.codehilite .sx,.codehilite .sr,.codehilite .s1,.codehilite .ss{color:#e6db74}.codehilite .bp{color:#f8f8f2}.codehilite .fm{color:#a6e22e}.codehilite .vc,.codehilite .vg,.codehilite .vi,.codehilite .vm{color:#f8f8f2}.codehilite .il{color:#ae81ff}
