/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:border-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}*{padding:0;margin:0;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-smoothing:antialiased}*,a{outline:none}a{text-decoration:none;color:inherit}body,html{width:100%}body{font-size:16px;line-height:1.3;color:#171717;font-family:Lato,sans-serif;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Montserrat,sans-serif}h2{font-size:34px;text-align:center;margin:0;letter-spacing:6px;font-weight:700;text-transform:uppercase;line-height:1.2}hr{margin:30px auto;height:1px;width:106px;border:0;background-color:#a4a4a4}h3{margin-top:32px;font-size:26px;color:#171717;line-height:1.2;letter-spacing:6px;font-weight:400;width:100%}.container{max-width:960px;width:100%;padding:0 30px;margin:0 auto}#navigation{position:fixed;top:0;left:0;width:100%;z-index:2;text-align:right}#navigation .navMenu{position:absolute;top:10px;right:10px;display:inline-block;transform:rotate(180deg);z-index:5}#navigation .navMenu label{display:flex;flex-direction:column;width:70px;transform:scale(.5);-webkit-backface-visibility:hidden;backface-visibility:hidden;cursor:pointer}#navigation .navMenu label input[type=checkbox]{display:none}#navigation .navMenu label span{background:#f7f0f0;border-radius:10px;height:7px;margin:7px 0;transition:.2s cubic-bezier(.68,-.6,.32,1.6);transition:all .2s ease-in-out}#navigation .navMenu label span:first-of-type{width:50%}#navigation .navMenu label span:nth-of-type(2){width:100%}#navigation .navMenu label span:nth-of-type(3){width:75%}#navigation nav{position:absolute;top:0;right:0;z-index:4;width:100%;height:100vh;background:hsla(0,0%,9%,.8);transition:all .2s ease-in-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#navigation nav .navItems{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}#navigation nav .navItems a{font-family:Montserrat,sans-serif;font-size:55px;padding:25px;color:#fff;text-transform:uppercase;letter-spacing:3px;cursor:pointer;transition:color .2s ease-in-out}#navigation nav .navItems a:hover{color:#58a4b0}#navigation .navMenu.active label span{background:#58a4b0}#navigation .navMenu.active label span:first-of-type{transform-origin:bottom;transform:rotate(45deg) translate(8px)}#navigation .navMenu.active label span:nth-of-type(2){transform-origin:top;transform:rotate(-45deg)}#navigation .navMenu.active label span:nth-of-type(3){transform-origin:bottom;width:50%;transform:translate(30px,-11px) rotate(45deg)}#navigation.darkMode label span{background:#171717}header.homepageHeader{height:100vh;width:100%;background-image:url(/_next/static/media/headerBackground2.0b0324bb.webp);background-size:cover;background-repeat:no-repeat;background-attachment:fixed;background-position:50%;position:relative}header.homepageHeader .overlay{height:100%;width:100%;background:linear-gradient(0deg,#171717,hsla(0,0%,9%,0) 75%)}header.homepageHeader .overlay .welcomeInfo{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%}header.homepageHeader .overlay .welcomeInfo h2.welcomeTitle{font-size:60px;color:#f7f0f0;line-height:1.2;font-weight:400;margin:30px 0 0;letter-spacing:6px;text-align:center;text-transform:uppercase}header.homepageHeader .overlay .welcomeInfo hr{color:#f7f0f0;margin-top:30px;margin-bottom:0;background-color:#f7f0f0;height:1px;width:106px;border:0}header.homepageHeader .overlay .welcomeInfo p{color:#f7f0f0;letter-spacing:.04em;font-size:24px;line-height:1.4;font-weight:300;margin-top:30px;text-align:center}header.homepageHeader .downChevron{position:absolute;display:flex;align-items:center;justify-content:center;height:50px;cursor:pointer;left:0;right:0;margin:0 auto;text-align:center;animation:bounce-fade 1.2s infinite}header.homepageHeader .downChevron img{width:20px;height:11px}header.homepageHeader .cityOuyline{width:100%;position:absolute;left:0;bottom:0;overflow-x:hidden}header.homepageHeader .cityOuyline img{opacity:.03}@keyframes bounce-fade{0%{opacity:0;bottom:70px}to{opacity:1;bottom:35px}}.aboutMe p{color:#a4a4a4;margin:0 auto 30px;line-height:30px;letter-spacing:.05em;font-size:18px;font-weight:300;text-align:center;max-width:750px}.aboutMe .aboutGrid{display:flex;justify-content:space-between;align-items:flex-start;margin-top:60px}.aboutMe .aboutGrid .gridItem{margin:5px;width:260px;text-align:center;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.aboutMe .aboutGrid .gridItem img{object-fit:contain;height:70px;max-width:100%}.aboutMe .aboutGrid .gridItem h3{line-height:1}.aboutMe .aboutGrid .gridItem p{font-size:15px;margin:20px auto;color:#a4a4a4;line-height:26px;letter-spacing:.03em;font-weight:300;width:100%}.aboutMe .aboutGrid .gridItem:first-of-type{margin-left:0}.aboutMe .aboutGrid .gridItem:last-of-type{margin-right:0}.recentWork{background:#f3f3f3;min-height:977px}.recentWork .workNav{width:100%;display:flex;justify-content:center;margin-bottom:50px}.recentWork .workNav p{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:8px 20px;margin:0 3px;font-weight:400;text-transform:uppercase;letter-spacing:2px;cursor:pointer;border-radius:25px;transition:all .2s ease-in-out}.recentWork .workNav p.active,.recentWork .workNav p:hover{background:#58a4b0;color:#fff}.recentWork .workGrid{transition:all 5s ease-in-out}.recentWork .workGrid .workItem{position:relative;width:440px;height:285px;margin:5px;display:inline-block;vertical-align:top;background-size:cover;background-repeat:no-repeat;background-position:50%;cursor:pointer;transition:transform .1s ease-in-out}.recentWork .workGrid .workItem:hover{transform:scale(1.03)}.recentWork .workGrid .workItem .overlay{position:absolute;bottom:0;width:100%;padding:20px 0;background-color:hsla(0,0%,7%,.8);text-align:center}.recentWork .workGrid .workItem .overlay h4{font-size:26px;text-transform:uppercase;text-align:center;line-height:1.2;font-weight:400;letter-spacing:6px;color:#fff;margin-top:0}.recentWork .workGrid .workItem .overlay p{text-transform:uppercase;font-size:12px;margin-top:10px;text-align:center;line-height:20px;font-weight:300;color:#58a4b0;letter-spacing:6px;position:relative}.recentWork .workGrid .largeImage{width:calc(100% - 10px)}.contactForm{position:relative}.contactForm hr{margin-bottom:35px}.contactForm form.contact{max-width:560px;width:100%;margin:0 auto;position:relative}.contactForm form.contact div{width:calc(50% - 6px);display:inline-block;text-align:left}.contactForm form.contact div input{width:100%;font-family:Amatic SC,sans-serif;font-weight:700;padding:8px 10px;background:#fff;margin-bottom:12px;font-size:20px;letter-spacing:1px;border:2px solid hsla(0,0%,9%,.5);background-color:#fff}.contactForm form.contact div input:focus{border-color:hsla(0,0%,9%,.8);background-color:#fff}.contactForm form.contact div input[name=companyName]{display:none}.contactForm form.contact textarea{display:block;font-family:Amatic SC,sans-serif;font-weight:700;width:100%;padding:8px 12px;height:150px;resize:none;background:#fff;margin:0 auto 10px;font-size:20px;letter-spacing:1px;border:2px solid hsla(0,0%,9%,.5);background-color:#fff}.contactForm form.contact textarea:focus{border-color:hsla(0,0%,9%,.8);background-color:#fff}.contactForm form.contact .formLeft{margin-right:6px}.contactForm form.contact .formRight{margin-left:6px}.contactForm form.contact button{display:block;position:relative;width:200px;height:45px;margin:0 auto;border:1px solid #333;text-transform:uppercase;text-align:center;color:#fff;cursor:pointer;font-size:14px;background:#171717;transition:all .2s ease-in;letter-spacing:1px}.contactForm form.contact button:hover{background-color:transparent;color:#333}.contactForm form.contact .error,.contactForm form.contact .success{text-align:center;position:absolute;left:0;right:0;font-weight:700;bottom:-35px}.contactForm form.contact .success{color:green}.contactForm form.contact .error{color:red}.contactForm .cityOutline{position:absolute;right:0;bottom:0;left:0;z-index:-1;height:100%;width:100%;opacity:.7;margin:0 auto;overflow:hidden;background-image:url(/_next/static/media/chicago-skyline.eaf367ca.webp);background-repeat:no-repeat;background-size:1200px;background-attachment:local;background-position:50%}.contactForm .cityOutline:before{content:"";position:absolute;top:0;left:0;right:0;height:60%;background:linear-gradient(180deg,#fff 0,transparent);z-index:0}.contactForm .cityOutline .skyline-mobile{display:none}.contactForm .cityOutline .skyline{object-fit:contain;height:100%;width:100%;min-width:960px;position:relative}@media screen and (max-width:768px){.contactForm .cityOutline .skyline{left:-100px}}.contactForm .cityOutline .waves{position:absolute;left:0;right:0;object-fit:fill;bottom:0;height:50%;margin:0 auto}.contactForm .cityOutline .waves-bw{-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 25%,#000);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) 30%,#000);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.homepageSection{padding:100px 0}.projects .projectItem{text-align:center}.projects .projectItem .projectOverview{padding:75px 0;background-color:#f6f6f6;position:relative}.projects .projectItem .projectOverview h1{font-size:32px}.projects .projectItem .projectOverview p{color:#a4a4a4;margin:35px auto;width:85%;line-height:1.5;letter-spacing:.04em;font-size:18.5px;font-weight:300;text-align:center}.projects .projectItem .projectOverview a{width:200px;height:70px;position:relative;margin:50px auto 0;display:inline-block;line-height:70px;border:1px solid #171717;text-transform:uppercase;text-align:center;color:#171717;cursor:pointer;font-size:14px;background:none;transition:all .2s ease-in-out;letter-spacing:1px}.projects .projectItem .projectOverview a:hover{color:#fff;background-color:#171717}.projects .projectItem .projectOverview a.github{margin-left:30px}.projects .projectItem .projectDemo{padding:115px 0;position:relative;overflow:hidden}.projects .projectItem .projectDemo .compVideo{position:relative;text-align:center;margin:0 auto;max-width:700px}.projects .projectItem .projectDemo .compVideo video{position:absolute;top:2px;left:0;width:100%;padding:3.75%;border-radius:25px;z-index:-1}.projects .projectItem .projectDemo .compVideo img{max-width:100%;height:auto}.projects .projectItem .projectDemo .topAngle{width:110%;height:150px;position:absolute;left:0;top:-129px;background-color:#f6f6f6;transform:rotate(1deg)}.projects .projectItem .projectDemo .bottomAngle{width:110%;height:150px;position:absolute;left:0;bottom:-129px;background-color:#171717;transform:rotate(-1deg)}.projects .projectItem .projectDemo .pageSpeedGrid{display:flex;flex-wrap:wrap;justify-content:center;margin-top:50px}.projects .projectItem .projectDemo .pageSpeedGrid .gridItem{margin:4px;border:1px solid #e2dfdf}@media screen and (max-width:976px){.projects .projectItem .projectDemo .pageSpeedGrid .gridItem img{width:100%!important;height:auto!important}}.customErrorPage .container,.thankYouPage .container{height:100vh;display:flex;align-items:center;justify-content:center}.customErrorPage .container h1,.thankYouPage .container h1{display:inline-block;border-right:1px solid rgba(0,0,0,.3);margin:0 20px 0 0;padding:10px 23px 10px 0;font-size:24px;font-weight:500;vertical-align:top}.customErrorPage .container h2,.thankYouPage .container h2{font-size:15px;font-weight:400}.customErrorPage .container h2 a,.thankYouPage .container h2 a{color:#58a4b0;font-weight:700}footer{padding:35px 0;background:#171717}footer .container{text-align:center}footer .container .quickNav{margin-top:26px}footer .container .quickNav a{line-height:46px;padding:10px;font-size:13px;color:#a4a4a4;letter-spacing:.05em;transition:all .2s}footer .container .quickNav a:hover{color:#58a4b0}footer .container p{width:100%;position:relative;font-weight:300;margin:0 auto;padding:25px 0 0;text-align:center;font-size:13px;line-height:36px;color:#a4a4a4}@media screen and (max-width:976px){.recentWork .workNav{flex-wrap:wrap}.recentWork .workNav .navItem{margin:5px 10px}.recentWork .workGrid{text-align:center;width:100%}.recentWork .workGrid .workItem{width:100%!important;margin:10px 5px}.recentWork .workGrid .workItem .overlay h4{font-size:20px}.aboutMe .aboutGrid{flex-direction:column;align-items:center}.aboutMe .aboutGrid .gridItem{margin:10px 5px!important}}@media screen and (max-width:600px){#navigation nav .navItems a{font-size:35px}h2{font-size:30px}.recentWork .workNav{flex-wrap:wrap}.recentWork .workNav .navItem{margin:10px 15px}.homepageSection{padding:60px 0}header.homepageHeader .overlay .welcomeInfo h2.welcomeTitle{font-size:35px}header.homepageHeader .overlay .welcomeInfo p{font-size:20px}header.homepageHeader .overlay .welcomeInfo div img{width:85px}.contactForm form.contact div{display:block;margin:0!important;width:100%}.contactForm form.contact div input,.contactForm form.contact textarea{padding:12px;margin-bottom:15px}.contactForm form.contact button{width:100%;height:60px}.contactForm .cityOutline{background-image:url(/_next/static/media/chicago-skyline-mobile2.f583bf60.webp);background-size:auto 100%;opacity:1}.projects .projectItem .projectOverview{text-align:center;padding:60px 0}.projects .projectItem .projectOverview p{width:100%}.projects .projectItem .projectOverview a{display:block;margin:25px auto;width:100%;height:60px;line-height:60px}.projects .projectItem .projectOverview a:last-of-type{margin:0}.projects .projectItem .projectDemo{padding:75px 0}.projects .projectItem .projectDemo .topAngle{transform:rotate(2deg);top:-140px}.projects .projectItem .projectDemo .bottomAngle{bottom:-140px}}@media screen and (max-width:450px){.customErrorPage .container,.thankYouPage .container{flex-direction:column}.customErrorPage .container h1,.thankYouPage .container h1{border-right:none;margin:0;padding:10px 0;font-size:20px}.customErrorPage .container h2,.thankYouPage .container h2{line-height:2;font-size:13px}.projects .projectItem .projectDemo .compVideo video{padding:6px!important}}