@import url(https://fonts.googleapis.com/css2?family=Spartan:wght@500&display=swap);body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.grid-left{grid-column:1}.grid-right{grid-column:3}.grid-h-center{grid-column:2}.grid-top{grid-row:1}.grid-bottom{grid-row:3}.grid-v-center{grid-row:2}.icons-mobile-primary span *{color:#e0ffff}@media screen and (min-width:600px){.icons-desktop-primary span *{color:#e0ffff}}.icons-mobile-secondary span *{color:navy}@media screen and (min-width:600px){.icons-desktop-secondary span *{color:navy}}.hero-component:not(.app-hero){display:grid;grid-template:1;justify-content:center;align-content:center;position:relative;width:100%;min-height:50rem}.hero-component:not(.app-hero) .hero-title{border:10px solid #fff;padding:1rem;margin:0}@media screen and (min-width:600px){.hero-component:not(.app-hero){grid-template:repeat(3,30%)/repeat(3,30%)}}.hero-component:not(.app-hero)>*{align-self:center;justify-self:center}.hero-component:not(.app-hero)>:not(.background-video){z-index:2}.hero-component:not(.app-hero).home{height:100vh;min-height:auto}.hero-component:not(.app-hero) .home-content{color:#fff;text-align:center}@media screen and (min-width:600px){.hero-component:not(.app-hero) .home-content{color:#000;text-align:left}}.hero-component:not(.app-hero) .about-me-content{display:flex;flex-direction:column;align-items:center;justify-content:space-between}.hero-component:not(.app-hero) .about-me-content .headshot{border-radius:200px;width:50%}.hero-component:not(.app-hero) .about-me-content .about-me-text{padding:2rem;text-align:center}.hero-component:not(.app-hero) .about-me-content .about-me-text .title-wrapper{display:flex;justify-content:center}@media screen and (min-width:760px){.hero-component:not(.app-hero) .about-me-content .about-me-text .title-wrapper{justify-content:flex-end}}@media screen and (min-width:600px){.hero-component:not(.app-hero) .about-me-content{flex-direction:row;min-width:50rem}.hero-component:not(.app-hero) .about-me-content img{width:75%}.hero-component:not(.app-hero) .about-me-content .about-me-text{text-align:end;margin-right:5rem}}.hero-component:not(.app-hero).projects-hero .hero-title{align-self:auto}@media screen and (min-width:600px){.hero-component:not(.app-hero).projects-hero .carousel-component{margin-top:10rem}}@media screen and (min-width:760px){.hero-component:not(.app-hero).projects-hero .carousel-component{margin-top:5rem}}@media screen and (min-width:960px){.hero-component:not(.app-hero).projects-hero .carousel-component{margin-top:10rem}}.hero-component:not(.app-hero).misc-hero{display:flex;flex-direction:column}@media screen and (min-width:1080px){.hero-component:not(.app-hero).misc-hero{display:grid;margin-bottom:0}}.hero-component:not(.app-hero).misc-hero .hero-title,.hero-component:not(.app-hero).misc-hero h1{text-align:center}.hero-component:not(.app-hero).misc-hero .arrow-down{text-align:center;margin-bottom:1rem;animation:glow 2s ease infinite}.hero-component:not(.app-hero).misc-hero .misc-section{margin-top:2rem;text-align:center}.hero-component:not(.app-hero).misc-hero .misc-section h1{text-decoration:underline}.hero-component:not(.app-hero).misc-hero .misc-section h5{margin-top:0}.hero-component:not(.app-hero).misc-hero .resume{display:flex;flex-direction:column}.hero-component:not(.app-hero).misc-hero .resume .resume-download{padding:1.5rem;border-radius:10px;text-align:center;font-weight:700;color:inherit;box-shadow:2rem 2rem 2rem #000;text-decoration:none;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient 5s ease infinite;transition:transform .5s ease}.hero-component:not(.app-hero).misc-hero .resume .resume-download:hover{transform:scale(1.15)}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes glow{0%{text-shadow:0 #fff}50%{text-shadow:2px 0 5px #fff,-2px 0 5px #fff}to{text-shadow:0 #fff}}@media screen and (min-width:1080px){.hero-component:not(.app-hero).misc-hero .tech-stack{margin-top:9rem}}.hero-component .background-video{position:fixed;width:100vw;height:100vh;object-fit:cover;z-index:-1}.links-component span a{color:navy;opacity:.6;text-decoration:none;padding-right:.75rem}.links-component span a:hover{opacity:1}.links-component span:not(.text-link):hover svg{transform:scale(1.25);transition:transform .25s}.card-component{display:flex;flex-direction:column;justify-content:center;background-size:contain;align-items:center;background-repeat:no-repeat;width:18rem;height:45rem}@media screen and (min-width:760px){.card-component{width:35rem;height:35rem}}@media screen and (min-width:960px){.card-component{width:45rem;height:45rem}}.card-component .card-container{position:absolute;display:flex;flex-direction:column;margin:0 0 5rem;top:2rem;object-fit:contain;border-radius:20px;border:1px solid #fff;width:18rem;height:75%;background-size:cover;background-repeat:no-repeat;background-color:rgba(0,0,0,.7);box-shadow:2rem 2rem 2rem #000}@media screen and (min-width:760px){.card-component .card-container{flex-direction:row;width:35rem}}@media screen and (min-width:960px){.card-component .card-container{width:45rem}}.card-component .card-container .card-image{width:100%;height:100%;flex:2 1}@media screen and (min-width:760px){.card-component .card-container .card-image{border-radius:20px 0 0 20px}}.card-component .card-container .card-image .card-image-filter{position:absolute;width:100%;height:100%;border-radius:20px;z-index:10;background:linear-gradient(#000,transparent,transparent,rgba(0,0,0,.701961))}@media screen and (min-width:760px){.card-component .card-container .card-image .card-image-filter{background:linear-gradient(90deg,transparent,rgba(0,0,0,.0588235),rgba(0,0,0,.701961))}}.card-component .card-container .card-image img{object-fit:cover;margin-top:6rem;height:20rem}@media screen and (min-width:760px){.card-component .card-container .card-image img{margin-top:0;height:100%}}.card-component .card-container .card-text-container{z-index:10;flex:1 1;border-radius:20px}@media screen and (min-width:760px){.card-component .card-container .card-text-container{background-color:#fff;opacity:.95;display:flex;flex-direction:column;justify-content:space-evenly;border-radius:0 20px 20px 0;box-shadow:-2px 0 10px #fff}}.card-component .card-container .card-text{position:absolute;display:flex;flex-direction:column;align-items:center;width:100%;z-index:10;color:#000;background-color:#fff;min-height:3rem;justify-content:center;opacity:.95}@media screen and (min-width:760px){.card-component .card-container .card-text{position:relative;bottom:0;min-height:7rem}}.card-component .card-container .card-text.title{top:0;right:0;border-radius:20px 20px 0 0;box-shadow:0 2px 10px #fff}@media screen and (min-width:760px){.card-component .card-container .card-text.title{bottom:auto;border-radius:0 20px 0 0;box-shadow:none}}.card-component .card-container .card-text.title h1{margin-bottom:0}.card-component .card-container .card-text.description{right:0;bottom:0;font-size:.75rem;line-height:1.25rem;display:flex;box-shadow:0 -2px 10px #fff;min-height:7rem;border-radius:0 0 20px 20px}.card-component .card-container .card-text.description p{padding-bottom:3rem}@media screen and (min-width:760px){.card-component .card-container .card-text.description p{padding-bottom:0}}@media screen and (min-width:760px){.card-component .card-container .card-text.description{min-height:3rem;border-radius:0 0 20px 0;box-shadow:none;bottom:0}}.card-component .card-container .card-text h1,.card-component .card-container .card-text p{text-align:center;padding:0 1rem}.card-component .card-container .card-text .card-links{display:flex;flex-direction:row;justify-content:space-evenly;padding:1rem}.card-component .card-container .card-text .card-links span{text-align:center}header{position:fixed;width:100%;z-index:100;display:flex;justify-content:space-evenly}@media screen and (min-width:660px){header{justify-content:flex-end}}header a{padding:1rem;text-decoration:none;color:inherit;transition:color .25s ease,text-shadow .25s ease}header a:hover{color:#fff!important;text-shadow:1px 1px 1px #000}header a.desktop-only{display:none}@media screen and (min-width:600px){header a.desktop-only{display:inherit}}footer{display:flex;flex-direction:column;justify-content:center;align-items:center;padding-top:10rem;background:linear-gradient(transparent,#fff);color:#000;text-align:center}.copyright{color:#000;margin:0;padding:1rem 0;opacity:.8}.carousel-component{position:relative;display:flex;justify-content:center;width:100vw;max-height:40rem}.carousel-component .carousel-tabs{position:absolute;bottom:5rem;background:rgba(0,0,0,.7);padding:.25rem;border-radius:10px;z-index:10;border:1px solid hsla(0,0%,100%,.5)}.carousel-component .carousel-tabs .carousel-tab{padding:0 .25rem}.carousel-component .carousel-tabs .carousel-tab circle{fill:#fff}.carousel-component .carousel-tabs .carousel-tab.active circle{fill:#ffef40}.carousel-component .viewport-wrapper{overflow:hidden;width:100%}.carousel-component .carousel-viewport{height:100%;position:relative;white-space:nowrap;overflow-x:auto;overflow-y:hidden;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;scroll-behavior:smooth;touch-action:none;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.carousel-component .carousel-viewport.no-scroll-animation{scroll-behavior:auto}.carousel-component .carousel-viewport::-webkit-scrollbar{display:none}.carousel-component .slide{white-space:normal;position:relative;vertical-align:top;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;scroll-snap-align:start;width:100%}.carousel-component .carousel-nav{position:absolute;bottom:15%;height:65%;width:45%;outline:none;z-index:15}@media screen and (min-width:600px){.carousel-component .carousel-nav{top:45%;height:auto;width:auto;bottom:auto}}.carousel-component .carousel-nav .nav-icon{cursor:pointer;align-items:center;justify-content:center;border-radius:200px;background:#fff;color:#000;position:absolute;top:45%}.carousel-component .carousel-nav .nav-icon.icon-right{right:0}.carousel-component .carousel-nav .nav-icon.icon-left{left:0}@media screen and (min-width:600px){.carousel-component .carousel-nav .nav-icon{position:relative}}@media screen and (min-width:1080px){.carousel-component .carousel-nav .nav-icon svg{font-size:4rem}}@media screen and (min-width:1440px){.carousel-component .carousel-nav .nav-icon svg{font-size:5rem}}.carousel-component .carousel-nav .nav-icon:hover{color:#fff;cursor:pointer;background:#000}.carousel-component .carousel-nav.nav-left{left:1rem}@media screen and (min-width:600px){.carousel-component .carousel-nav.nav-left{left:5rem}}@media screen and (min-width:1080px){.carousel-component .carousel-nav.nav-left{left:10rem}}@media screen and (min-width:1440px){.carousel-component .carousel-nav.nav-left{left:15rem}}.carousel-component .carousel-nav.nav-right{right:1rem}@media screen and (min-width:600px){.carousel-component .carousel-nav.nav-right{right:5rem}}@media screen and (min-width:1080px){.carousel-component .carousel-nav.nav-right{right:10rem}}@media screen and (min-width:1440px){.carousel-component .carousel-nav.nav-right{right:15rem}}.logo-component{background:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;transition:transform .5s ease;width:100%;height:100%;box-shadow:2px 2px 10px #000;cursor:pointer}.logo-component:hover{transform:scale(1.25)}.logo-component a{display:flex;height:100%;align-items:center}.logo-component img{max-width:100%;height:100%;max-height:4rem;border-radius:50%;object-fit:contain}.logo-component.img-resize img{max-height:3rem;border-radius:0}.logos-component .logo-wrapper{background:rgba(0,0,0,.5019607843137255);border-radius:50%;margin:.5rem}.logos-component.tech{top:3rem}.logos-component.tech.tech1{position:relative;width:20rem;height:20rem;padding:0;border-radius:50%;list-style:none}.logos-component.tech.tech1>*{display:block;position:absolute;top:50%;left:50%;width:5.5rem;height:5.5rem;margin:-2.75rem}.logos-component.tech.tech1>:first-of-type{transform:rotate(270deg) translate(10rem) rotate(-270deg)}.logos-component.tech.tech1>:nth-of-type(2){transform:rotate(306deg) translate(10rem) rotate(-306deg)}.logos-component.tech.tech1>:nth-of-type(3){transform:rotate(342deg) translate(10rem) rotate(-342deg)}.logos-component.tech.tech1>:nth-of-type(4){transform:rotate(378deg) translate(10rem) rotate(-378deg)}.logos-component.tech.tech1>:nth-of-type(5){transform:rotate(414deg) translate(10rem) rotate(-414deg)}.logos-component.tech.tech1>:nth-of-type(6){transform:rotate(450deg) translate(10rem) rotate(-450deg)}.logos-component.tech.tech1>:nth-of-type(7){transform:rotate(486deg) translate(10rem) rotate(-486deg)}.logos-component.tech.tech1>:nth-of-type(8){transform:rotate(522deg) translate(10rem) rotate(-522deg)}.logos-component.tech.tech1>:nth-of-type(9){transform:rotate(558deg) translate(10rem) rotate(-558deg)}.logos-component.tech.tech1>:nth-of-type(10){transform:rotate(594deg) translate(10rem) rotate(-594deg)}.logos-component.tech.tech1>:hover>*{transform:scale(1.25)}.logos-component.tech.tech2{position:relative;width:10rem;height:10rem;padding:0;border-radius:50%;list-style:none;top:-12rem;left:25%}.logos-component.tech.tech2>*{display:block;position:absolute;top:50%;left:50%;width:3.5rem;height:3.5rem;margin:-1.75rem}.logos-component.tech.tech2>:first-of-type{transform:rotate(270deg) translate(5rem) rotate(-270deg)}.logos-component.tech.tech2>:nth-of-type(2){transform:rotate(306deg) translate(5rem) rotate(-306deg)}.logos-component.tech.tech2>:nth-of-type(3){transform:rotate(342deg) translate(5rem) rotate(-342deg)}.logos-component.tech.tech2>:nth-of-type(4){transform:rotate(378deg) translate(5rem) rotate(-378deg)}.logos-component.tech.tech2>:nth-of-type(5){transform:rotate(414deg) translate(5rem) rotate(-414deg)}.logos-component.tech.tech2>:nth-of-type(6){transform:rotate(450deg) translate(5rem) rotate(-450deg)}.logos-component.tech.tech2>:nth-of-type(7){transform:rotate(486deg) translate(5rem) rotate(-486deg)}.logos-component.tech.tech2>:nth-of-type(8){transform:rotate(522deg) translate(5rem) rotate(-522deg)}.logos-component.tech.tech2>:nth-of-type(9){transform:rotate(558deg) translate(5rem) rotate(-558deg)}.logos-component.tech.tech2>:nth-of-type(10){transform:rotate(594deg) translate(5rem) rotate(-594deg)}.logos-component.tech.tech2>:hover>*{transform:scale(1.25)}.logos-component.places{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;padding:2rem}@media screen and (min-width:760px){.logos-component.places{padding:0;max-width:20rem}}.logos-component.places>.logo-wrapper{width:7rem;height:7rem}.picker-component{position:relative;display:flex;flex-direction:column;justify-content:center;max-height:40rem}@media screen and (min-width:760px){.picker-component{margin-top:10rem}}.picker-component .card-component .card-text-container{margin-bottom:4rem}@media screen and (min-width:760px){.picker-component .card-component .card-text-container{border-radius:0 20px 0 0;margin-bottom:3.5rem}}@media screen and (min-width:960px){.picker-component .card-component .card-text-container{margin-bottom:3rem}}.picker-component .thumbnails{z-index:10;width:100%;height:4rem;display:flex;justify-content:space-evenly;align-items:flex-end;position:absolute;bottom:8rem;background:linear-gradient(hsla(0,0%,100%,0),#292929);border-radius:0 0 20px 20px}@media screen and (min-width:760px){.picker-component .thumbnails{background:linear-gradient(hsla(0,0%,100%,0),#373737,#000);height:6.5rem;bottom:6.7rem}}@media screen and (min-width:960px){.picker-component .thumbnails{height:8rem;bottom:7.95rem}}.picker-component .thumbnails .thumbnail{width:2rem;height:2rem;background-size:3rem 3rem;cursor:pointer;transition:transform .25s ease-in-out,opacity .25s;display:none;border:1px solid #a2a2a2;border-radius:100px;opacity:.75;margin-bottom:.5rem}.picker-component .thumbnails .thumbnail.active{border:1px solid #fff;opacity:1}@media screen and (min-width:760px){.picker-component .thumbnails .thumbnail{display:block;width:2rem;height:2rem}}@media screen and (min-width:960px){.picker-component .thumbnails .thumbnail{width:3rem;height:3rem}}.picker-component .thumbnails .thumbnail:hover{opacity:1;transform:scale(1.25);z-index:50}.picker-component .thumbnail-navigation{position:absolute;display:flex;height:0;bottom:11.5rem;text-align:center;align-items:center;text-shadow:2px 2px 2px #000;right:5%;left:5%;width:90%;justify-content:space-between;z-index:30}@media screen and (min-width:760px){.picker-component .thumbnail-navigation{width:120%;left:-10%;right:-10%;bottom:21rem}}@media screen and (min-width:960px){.picker-component .thumbnail-navigation{width:130%;left:-15%;right:-15%;bottom:25rem}.picker-component .thumbnail-navigation .nav-icon{font-size:5em}}.picker-component .thumbnail-navigation .nav-icon{position:absolute;top:30%;cursor:pointer;transition:transform .25s ease-in-out}.picker-component .thumbnail-navigation .nav-icon.nav-left{left:0}.picker-component .thumbnail-navigation .nav-icon.nav-right{right:0}.picker-component .thumbnail-navigation .nav-icon:hover{transform:scale(1.25)}.picker-component .thumbnail-title-wrapper{position:absolute;bottom:4rem;width:100%}@media screen and (min-width:960px){.picker-component .thumbnail-title-wrapper{bottom:5rem}}.picker-component .thumbnail-title-wrapper .thumbnail-title{text-align:center;margin:0}html{scroll-behavior:smooth}#app{font-family:"Spartan",sans-serif;color:#fff;position:relative;width:100%;overflow:hidden}#app .app-border{position:absolute;border:.25rem solid hsla(0,0%,100%,.4);height:95%;top:1%;left:1rem;right:1rem}
/*# sourceMappingURL=main.533f15f7.chunk.css.map */