.logo{cursor:pointer}.logo svg{height:48px;width:48px}@media (max-width:850px){.logo svg{height:56px;width:56px}}.section-header{font-size:30pt;letter-spacing:3px;color:#20313b;margin-bottom:32px;text-align:center;width:100%}@media (max-width:850px){.section-header{font-size:20pt;margin-bottom:24px}}#about{padding:96px 32px;-ms-flex-align:center;align-items:center;background-color:#f3efe0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;position:relative}@media (max-width:850px){#about{padding:48px 24px}}#about .about-content{height:100%;max-width:850px}#about .about-content .section-header{margin-bottom:96px}@media (max-width:850px){#about .about-content .section-header{margin-bottom:48px}}#about .about-content .about-content-body{height:100%}#about .about-content .about-content-body .about-content-paragraph{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;max-width:600px}@media (max-width:850px){#about .about-content .about-content-body .about-content-paragraph{line-height:1.8;font-size:10pt}}#about .about-content .about-content-body .about-content-paragraph:first-child{margin-bottom:32px}#about .about-content .about-content-body .about-highlight{color:#077;font-weight:700}#contact{padding:96px 32px;-ms-flex-align:center;align-items:center;background-color:#20313b;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%}@media (max-width:850px){#contact{padding:48px 24px}}#contact .contact-content{height:100%;max-width:850px}#contact .contact-content .contact-section-header{color:hsla(0,0%,100%,.9)}#contact .contact-content .contact-body{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%}#contact .contact-content .contact-body .contact-paragraph{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;font-size:16pt;letter-spacing:2px;color:hsla(0,0%,100%,.9);margin-bottom:96px;text-align:center}@media (max-width:850px){#contact .contact-content .contact-body .contact-paragraph{line-height:1.8;font-size:10pt;font-size:12pt}}.contact-info-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-bottom:32px}.contact-info-container .contact-info{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;margin-bottom:32px}.contact-info-container .contact-info svg{margin-right:32px;width:30px}.contact-info-container .contact-info a{text-decoration:underline}.contact-info-container .contact-info .contact-info-text{color:hsla(0,0%,100%,.9);font-size:12pt}#footer{background-color:#20313b;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding:16px}#footer .footer-copyright{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;color:hsla(0,0%,85.1%,.9)}@media (max-width:850px){#footer .footer-copyright{line-height:1.8;font-size:10pt}}#home{-ms-flex-align:center;align-items:center;background-color:#20313b;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;-ms-flex-pack:center;justify-content:center;position:relative;width:100%}#home .home-logo{display:none;left:24px;position:absolute;top:24px}@media (max-width:850px){#home .home-logo{display:inline}}#home .home-next-section-nav-container{cursor:pointer;margin-bottom:16px;padding:16px}#home .home-next-section-nav-container .home-next-section-nav{height:16px}.tag-line-container{height:100%}.tag-line-container,.tag-line-container .tag-line-circle{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.tag-line-container .tag-line-circle{-ms-flex-align:center;align-items:center;border:3px solid #008c8c;border-radius:50%;color:hsla(0,0%,100%,.9);height:68vmin;width:68vmin}.tag-line-container .tag-line-circle .sub-tag-line{font-family:Open Sans,sans-serif;font-size:3.5vmin;font-style:italic;letter-spacing:2px;margin-top:32px}@media (max-width:850px){.tag-line-container .tag-line-circle .sub-tag-line{margin-top:16px}}.tag-line-container .tag-line-circle .tag-line{font-family:Titillium Web,sans-serif;font-size:6.5vmin;font-weight:700;letter-spacing:8px;margin:8px 0}@media (max-width:850px){.tag-line-container .tag-line-circle .tag-line{font-size:5.5vmin;letter-spacing:4px}}.navbar-desktop{-ms-flex-align:center;align-items:center;background-color:#20313b;display:-ms-flexbox;display:flex;height:80px;-ms-flex-pack:justify;justify-content:space-between;padding:0 64px;position:fixed;transition:box-shadow .2s;width:100%;z-index:100000}@media (max-width:850px){.navbar-desktop{display:none}}.navbar-desktop.navbar-scrolled{box-shadow:0 4px 10px 0 rgba(0,0,0,.25)}.navbar-desktop .navbar-nav{color:hsla(0,0%,100%,.9);cursor:pointer}.navbar-desktop .navbar-nav .navbar-nav-item{font-family:Titillium Web,sans-serif;font-size:12pt;letter-spacing:3px;margin:0 24px;text-transform:uppercase}.navbar-desktop .navbar-nav .navbar-nav-item:last-child{margin-right:0}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */.hamburger{padding:15px;display:inline-block;cursor:pointer;transition-property:opacity,-webkit-filter;transition-property:opacity,filter;transition-property:opacity,filter,-webkit-filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger.is-active:hover,.hamburger:hover{opacity:1}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner:after,.hamburger.is-active .hamburger-inner:before{background-color:hsla(0,0%,100%,.9)}.hamburger-box{width:20px;height:14px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-1px}.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{width:20px;height:2px;background-color:hsla(0,0%,100%,.9);border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner:after,.hamburger-inner:before{content:"";display:block}.hamburger-inner:before{top:-6px}.hamburger-inner:after{bottom:-6px}.hamburger--spin .hamburger-inner{transition-duration:.22s;transition-timing-function:cubic-bezier(.55,.055,.675,.19)}.hamburger--spin .hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in}.hamburger--spin .hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.675,.19)}.hamburger--spin.is-active .hamburger-inner{-ms-transform:rotate(225deg);transform:rotate(225deg);transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.hamburger--spin.is-active .hamburger-inner:before{top:0;opacity:0;transition:top .1s ease-out,opacity .1s ease-out .12s}.hamburger--spin.is-active .hamburger-inner:after{bottom:0;-ms-transform:rotate(-90deg);transform:rotate(-90deg);transition:bottom .1s ease-out,transform .22s cubic-bezier(.215,.61,.355,1) .12s}.navbar-mobile{display:none}@media (max-width:850px){.navbar-mobile{display:-ms-flexbox;display:flex}}.navbar-mobile .navbar-nav{transition:all .15s cubic-bezier(0,.995,.99,1);-ms-flex-align:end;align-items:flex-end;bottom:144px;display:none;-ms-flex-direction:column;flex-direction:column;position:fixed;right:24px;opacity:0;z-index:99999}@media (max-height:450px),(orientation:landscape){.navbar-mobile .navbar-nav{bottom:120px;-ms-flex-direction:row;flex-direction:row}}.navbar-mobile .navbar-nav.navbar-nav--visible{display:-ms-flexbox;display:flex;opacity:1}.navbar-mobile .navbar-nav .navbar-nav-item{font-size:30pt;letter-spacing:3px;cursor:pointer;color:#20313b;margin-top:48px;text-transform:uppercase}@media (max-width:850px){.navbar-mobile .navbar-nav .navbar-nav-item{font-size:20pt}}@media (max-height:450px),(orientation:landscape){.navbar-mobile .navbar-nav .navbar-nav-item{font-size:12pt;margin:0 16px}.navbar-mobile .navbar-nav .navbar-nav-item:last-child{margin-right:0}}.navbar-mobile .navbar-nav .navbar-logo{position:fixed;top:24px;left:24px}.navbar-mobile .menu-background{transition:all .45s cubic-bezier(0,.995,.99,1);background:#fff;border-radius:50%;bottom:52px;height:0;opacity:1;position:fixed;right:52px;width:0;z-index:99998}.navbar-mobile .menu-background.menu-background--expand{bottom:-105vmax;height:235vmax;right:-105vmax;width:235vmax}.navbar-mobile .navbar-open-button{background-color:#008c8c;border:none;border-radius:50%;bottom:24px;box-shadow:0 4px 4px 0 rgba(0,0,0,.25);height:56px;-ms-flex-pack:center;justify-content:center;outline:none;position:fixed;right:24px;width:56px;z-index:99999}#projects,.navbar-mobile .navbar-open-button{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex}#projects{padding:96px 32px;background-color:hsla(0,0%,100%,.9);-ms-flex-direction:column;flex-direction:column;width:100%}@media (max-width:850px){#projects{padding:48px 24px}}#projects .projects-content{height:100%;max-width:1275px;width:100%}#projects .projects-content .section-header{color:#20313b}#projects .projects-content .projects-body{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%}#projects .projects-content .projects-body .projects-paragraph{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;font-size:16pt;letter-spacing:2px;margin-bottom:48px;text-align:center}@media (max-width:850px){#projects .projects-content .projects-body .projects-paragraph{line-height:1.8;font-size:10pt;font-size:12pt}}#projects .projects-content .projects-body .projects-cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-top:16px;width:100%}.floating-action{background-color:#008c8c;border:none;border-radius:100px;box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);cursor:pointer;line-height:0;outline:none;padding:16px;transition:all .2s}.floating-action:hover{background-color:#008282;box-shadow:0 4px 10px 0 rgba(0,0,0,.18),0 3px 14px 0 rgba(0,0,0,.15)}.floating-action:focus{background-color:#007373}.floating-action img{height:24px}.project-card{perspective:800px;margin:16px;max-width:350px;width:100%}.project-card .project-card-inner{box-shadow:0 2px 5px 0 rgba(0,0,0,.16),0 2px 10px 0 rgba(0,0,0,.12);height:350px;position:relative;transition:transform .5s;transform-style:preserve-3d}.project-card .project-card-inner.project-card--flipped{transform:rotateY(-180deg)}.project-card .project-card-inner .project-card-back,.project-card .project-card-inner .project-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;position:absolute;width:100%;transform:rotateX(0deg)}.project-card .project-card-inner .project-card-front .project-card-image-container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:215px;overflow:hidden}.project-card .project-card-inner .project-card-front .project-card-image-container .project-card-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.project-card .project-card-inner .project-card-front .project-card-flip-button{position:absolute;right:16px;top:187px}.project-card .project-card-inner .project-card-front .project-card-info{background-color:hsla(0,0%,100%,.9);padding:24px}.project-card .project-card-inner .project-card-front .project-card-info .project-card-title{color:#077;cursor:pointer;font-size:16pt;margin-bottom:16px}@media (max-width:850px){.project-card .project-card-inner .project-card-front .project-card-info .project-card-title{font-size:12pt}}.project-card .project-card-inner .project-card-front .project-card-info .project-card-description{color:#20313b;font-size:12pt;line-height:1.4}@media (max-width:850px){.project-card .project-card-inner .project-card-front .project-card-info .project-card-description{font-size:10pt}}.project-card .project-card-inner .project-card-back{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:24px;transform:rotateY(-180deg)}.project-card .project-card-inner .project-card-back .project-card-back-section{margin-bottom:16px}.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-header{color:#077;margin-bottom:16px}@media (max-width:850px){.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-header{font-size:12pt}}.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-list{list-style-type:disc;margin-left:32px}.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-list.project-card-list-tech-stack .project-card-tech-stack-list-item{font-weight:700}.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-list li{line-height:1.8}@media (max-width:850px){.project-card .project-card-inner .project-card-back .project-card-back-section .project-card-back-list li{font-size:10pt}}.project-card .project-card-inner .project-card-back .project-card-back-navigation{border-top:1px solid #e3e3e3;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;margin:auto -24px -24px;padding:8px 16px}@media (max-width:850px){.project-card .project-card-inner .project-card-back .project-card-back-navigation{padding-right:8px}}.project-card .project-card-inner .project-card-back .project-card-back-navigation .project-card-back-flip-button{background:none;border:none;cursor:pointer;margin:-16px;outline:none;padding:16px}.project-card .project-card-inner .project-card-back .project-card-back-navigation .project-card-back-flip-button img{height:30px}.project-card .project-card-inner .project-card-back .project-card-back-navigation .project-card-external-navigation{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.project-card .project-card-inner .project-card-back .project-card-back-navigation .project-card-external-navigation .project-card-navigation-button{margin:0 8px}#resume{padding:96px 32px;-ms-flex-align:center;align-items:center;background-color:#f3efe0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%}@media (max-width:850px){#resume{padding:48px 24px}}#resume .resume-content{height:100%;max-width:850px}#resume .resume-content .resume-body{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%}#resume .resume-content .resume-body .resume-paragraph{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;font-size:16pt;letter-spacing:2px;margin-bottom:48px;font-style:italic;text-align:center}@media (max-width:850px){#resume .resume-content .resume-body .resume-paragraph{line-height:1.8;font-size:10pt;font-size:12pt}}#resume .resume-content .resume-body .resume-paragraph .resume-paragraph-break{display:none}@media (max-width:850px){#resume .resume-content .resume-body .resume-paragraph .resume-paragraph-break{display:block}}@media (max-width:850px){#resume .resume-content .resume-body .resume-paragraph{margin-bottom:8px}}#resume .resume-content .resume-body .resume-download{background:none;border:2px solid #077;color:#077;font-size:12pt;margin-top:32px;margin-bottom:32px;padding:20px 40px;transition:all .1s}#resume .resume-content .resume-body .resume-download:hover{background-color:#077;color:#f3efe0}#skills{-ms-flex-direction:column;flex-direction:column;width:100%}#skills,#skills .skills-content{display:-ms-flexbox;display:flex}#skills .skills-content{height:100%}.skills-header{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;width:100%}.skills-header .skills-header-text{font-size:30pt;letter-spacing:3px;padding:96px 2px}@media (max-width:850px){.skills-header .skills-header-text{font-size:20pt;padding:32px 2px}}.skills-header .skills-header-left{background-color:#20313b;-ms-flex:1;flex:1;text-align:right}.skills-header .skills-header-left .skills-header-text{color:hsla(0,0%,100%,.9)}.skills-header .skills-header-right{background-color:hsla(0,0%,100%,.9);-ms-flex:1;flex:1}.skills-header .skills-header-right .skills-header-text{color:#20313b}.skills-content-header{height:120px}.skills-content-header .skills-content-header-left{padding:0 48px}@media (max-width:850px){.skills-content-header .skills-content-header-left{padding:0 16px}}.skills-content-header .skills-content-header-left .skills-selector-description{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;color:hsla(0,0%,100%,.9)}@media (max-width:850px){.skills-content-header .skills-content-header-left .skills-selector-description{line-height:1.8;font-size:10pt}}.skills-content-header .skills-content-header-left .skills-selector-description:first-child{margin-top:-8px}@media (max-width:850px){.skills-content-header .skills-content-header-left .skills-selector-description:first-child{margin-top:-4px}.skills-content-header .skills-content-header-left .skills-selector-description:last-child{margin-top:16px}}.skills-content-header .skills-content-header-left .skills-selector-description .skills-highlight{color:#00a9a9;font-weight:700}.skills-content-header .skills-content-header-right{padding:0 48px}@media (max-width:850px){.skills-content-header .skills-content-header-right{padding:0 16px}}.skills-content-header .skills-content-header-right .skills-description-header{color:#20313b;font-size:20pt;font-weight:700;letter-spacing:2px;text-align:left}@media (max-width:850px){.skills-content-header .skills-content-header-right .skills-description-header{font-size:16pt}}.skills-selector-container{padding:0 48px;background-color:#20313b;color:hsla(0,0%,100%,.9);-ms-flex:1;flex:1;text-align:right}@media (max-width:850px){.skills-selector-container{padding:0 16px}}.skills-selector-container .skills-selector{-ms-flex-align:end;align-items:flex-end;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;margin-bottom:160px}@media (max-width:450px){.skills-selector-container .skills-selector{padding-top:32px}}.skills-selector-item{-ms-flex-align:center;align-items:center;color:hsla(0,0%,100%,.7);cursor:pointer;display:-ms-flexbox;display:flex;font-weight:700;height:16px;letter-spacing:1px;font-size:12pt;-ms-flex-pack:end;justify-content:flex-end;margin-bottom:24px;margin-right:32px}@media (max-width:850px){.skills-selector-item{font-size:10pt}}.skills-selector-item.skills-selector-item--selected{color:#00a9a9;font-weight:700;margin-right:0}.skills-selector-item .skills-selector-item-circle{border:1.5px solid #00a9a9;border-radius:50%;height:16px;margin-left:16px;width:16px}.skills-description-container{background-color:hsla(0,0%,100%,.9);-ms-flex:1;flex:1;padding:0 48px}@media (max-width:850px){.skills-description-container{padding:0 16px}}.skills-description-container .skills-description{color:#20313b;font-size:12pt;letter-spacing:1px;line-height:2;margin-top:-8px;max-width:450px}@media (max-width:850px){.skills-description-container .skills-description{line-height:1.8;font-size:10pt}}@media (max-width:450px){.skills-description-container .skills-description{padding-top:32px}}.skills-description-container .skills-description a{color:#008c8c;font-weight:700;text-decoration:underline}.skills-description-container .skills-logos{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around;margin:32px 0 96px;max-width:450px}.skills-description-container .skills-logos .skills-logo{height:64px;width:64px}@media (max-width:850px){.skills-description-container .skills-logos .skills-logo{height:40px;width:40px}}@font-face{font-display:swap;font-family:Open Sans;font-style:normal;font-weight:400;src:local("Open Sans Regular"),local("OpenSans-Regular"),url(/cffb686d7d2f4682df8342bd4d276e09.woff2) format("woff2"),url(/bf2d0783515b7d75c35bde69e01b3135.woff) format("woff")}@font-face{font-display:swap;font-family:Titillium Web;font-style:normal;font-weight:400;src:local("Titillium Web Regular"),local("TitilliumWeb-Regular"),url(/6e40bbe7664083411a9b1499337724e6.woff2) format("woff2"),url(/641b87670b606f6816aed9de136c0f92.woff) format("woff")}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:baseline}body{line-height:1}ol,ul{list-style:none}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}a{text-decoration:none}h1,h2,h3,h4,h5,h6{font-weight:400;font-family:Titillium Web,sans-serif}#app,#app-content,body,html{font-family:Open Sans,sans-serif;height:100%;width:100%}#app-content{padding-top:80px}@media (max-width:850px){#app-content{padding-top:0}}