article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){height:0;display:none}[hidden]{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;font-size:100%}button,html,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}h2{margin:.83em 0;font-size:1.5em}h3{margin:1em 0;font-size:1.17em}h4{margin:1.33em 0;font-size:1em}h5{margin:1.67em 0;font-size:.83em}h6{margin:2.33em 0;font-size:.67em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:1em 40px}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{color:#000;background:#ff0}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sup{top:-.5em}sub{bottom:-.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ol,nav ul{list-style:none}img{-ms-interpolation-mode:bicubic;border:0}svg:not(:root){overflow:hidden}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{white-space:normal;border:0;padding:0}button,input,select,textarea{vertical-align:baseline;margin:0;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}textarea{vertical-align:top;overflow:auto}table{border-collapse:collapse;border-spacing:0}@font-face{font-family:GeneralSans-Extralight;src:url(/fonts/general-sans/GeneralSans-Extralight.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-Extralight.woff)format("woff"),url(/fonts/general-sans/GeneralSans-Extralight.ttf)format("truetype");font-weight:200;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-ExtralightItalic;src:url(/fonts/general-sans/GeneralSans-ExtralightItalic.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-ExtralightItalic.woff)format("woff"),url(/fonts/general-sans/GeneralSans-ExtralightItalic.ttf)format("truetype");font-weight:200;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Regular;src:url(/fonts/general-sans/GeneralSans-Regular.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-Regular.woff)format("woff"),url(/fonts/general-sans/GeneralSans-Regular.ttf)format("truetype");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-Italic;src:url(/fonts/general-sans/GeneralSans-Italic.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-Italic.woff)format("woff"),url(/fonts/general-sans/GeneralSans-Italic.ttf)format("truetype");font-weight:400;font-display:swap;font-style:italic}@font-face{font-family:GeneralSans-Bold;src:url(/fonts/general-sans/GeneralSans-Bold.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-Bold.woff)format("woff"),url(/fonts/general-sans/GeneralSans-Bold.ttf)format("truetype");font-weight:700;font-display:swap;font-style:normal}@font-face{font-family:GeneralSans-BoldItalic;src:url(/fonts/general-sans/GeneralSans-BoldItalic.woff2)format("woff2"),url(/fonts/general-sans/GeneralSans-BoldItalic.woff)format("woff"),url(/fonts/general-sans/GeneralSans-BoldItalic.ttf)format("truetype");font-weight:700;font-display:swap;font-style:italic}@font-face{font-display:swap;font-family:Libre Baskerville;font-style:normal;font-weight:400;src:url(/fonts/libre-baskerville/libre-baskerville-v14-latin-regular.woff2)format("woff2"),url(/fonts/libre-baskerville/libre-baskerville-v14-latin-regular.ttf)format("truetype")}@font-face{font-display:swap;font-family:Libre Baskerville;font-style:italic;font-weight:400;src:url(/fonts/libre-baskerville/libre-baskerville-v14-latin-italic.woff2)format("woff2"),url(/fonts/libre-baskerville/libre-baskerville-v14-latin-italic.ttf)format("truetype")}@font-face{font-display:swap;font-family:Libre Baskerville;font-style:normal;font-weight:700;src:url(/fonts/libre-baskerville/libre-baskerville-v14-latin-700.woff2)format("woff2"),url(/fonts/libre-baskerville/libre-baskerville-v14-latin-700.ttf)format("truetype")}body{color:#fff;background-color:#232323;font-family:GeneralSans-Regular,sans-serif}h1,h2,h3,h4,h5{text-transform:uppercase;margin-top:0;font-family:GeneralSans-Bold,Arial,sans-serif}p{margin-top:0;font-size:.9rem}@media only screen and (min-width:768px){p{font-size:1rem}}strong{font-family:GeneralSans-Bold,Arial,sans-serif}h1{filter:drop-shadow(1rem 1rem 3rem #000);margin-bottom:2rem;font-size:calc(2rem + 4vw);line-height:.8}@media only screen and (min-width:768px){h1{font-size:calc(3.5rem + 3vw)}}h2{filter:drop-shadow(1rem 1rem 3rem #000);font-size:2rem;line-height:.9;display:block}@media only screen and (min-width:768px){h2{font-size:3.125rem}}h3{margin-bottom:.5rem;font-size:1.5rem;line-height:.9;display:block}@media only screen and (min-width:768px){h3{font-size:2rem}}ul{padding-left:1.5rem}li::marker{content:"+  ";font-family:GeneralSans-Bold,Arial,sans-serif;font-size:1.2em}.serif{font-family:Libre Baskerville,Arial,sans-serif;font-weight:400}.italic{font-style:italic}.comma{font-size:5rem;line-height:0}.bg-image-text{color:#0000;background:url(/img/grad-1-bg.webp) 50%/100%;-webkit-background-clip:text;background-clip:text;display:inline-block}@media only screen and (min-width:1300px){.break-mobile{display:none}}.break-desktop{display:none}@media only screen and (min-width:1300px){.break-desktop{display:inline}}.small-caps{letter-spacing:.2rem;text-transform:uppercase;margin-bottom:.5rem;font-family:GeneralSans-Regular,Arial,sans-serif;font-size:1rem}.grid-container{grid-template-columns:1fr repeat(22,minmax(2%,5rem)) 1fr;display:grid}.btn-primary{text-transform:uppercase;text-align:center;color:#fff;width:100%;height:3.5rem;font-family:GeneralSans-Bold,Arial,sans-serif;text-decoration:none;position:relative}.btn-primary span{justify-content:space-between;width:calc(100% - 2rem);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-primary span:after{content:url(/img/arrow.svg);display:block}.btn-primary svg{width:100%;height:3.5rem;position:absolute;top:0;left:0}.btn-primary rect{fill:none;stroke:#fff;stroke-width:2px;stroke-dasharray:422 0;transition:all .35s linear}.btn-primary:hover{font-weight:900}.btn-primary:hover rect{stroke-width:5px;stroke-dasharray:15 310;stroke-dashoffset:48px;transition:all 1.35s cubic-bezier(.19,1,.22,1)}.btn-secondary{letter-spacing:.1rem;text-transform:uppercase;align-items:center;margin-bottom:.5rem;font-family:GeneralSans-bold,Arial,sans-serif;font-size:1rem;display:flex}.btn-secondary .view{white-space:nowrap;margin-right:1rem}.btn-secondary .line-container{margin:0}.social-logo{margin:0 .5rem 0 0}.email,.linkedin,.phone{margin-top:0;margin-bottom:0;font-size:1rem}@media only screen and (min-width:768px){.email,.linkedin,.phone{font-size:1.25rem}}.email a,.linkedin a,.phone a{color:#fff;font-family:GeneralSans-Bold,Arial,sans-serif;text-decoration:none}.main-container{position:relative}.gradient-bg{z-index:-1;background:radial-gradient(circle,#555 0,#000 100%);height:100%;position:fixed;top:0;left:0;right:0}.col-1{flex-direction:column;grid-column:3/23;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.col-1 div{width:100%}@media only screen and (min-width:1200px){.col-1{grid-column:3/10;margin-bottom:0}}@media only screen and (min-width:1400px){.col-1{flex-direction:row}}.intro{flex-direction:column;grid-column:3/23;gap:.5rem;display:flex}@media only screen and (min-width:768px){.intro{flex-direction:row;gap:1rem}}@media only screen and (min-width:1200px){.intro{grid-column:11/23}}.project{cursor:pointer;flex-direction:column;width:75vw;max-width:31.25rem;transition:background-color .3s,color .3s;display:flex}.project:hover .project-headline-container{color:#fff;background-color:#232323;transition:background-color .3s,color .3s}@media only screen and (min-width:1399px){.project{width:31.25rem}}.project .project-image-container{aspect-ratio:697/418;width:100%;position:relative}.project .project-headline-container{color:#232323;background-color:#fff;margin-bottom:1rem;padding:1rem}@media only screen and (min-width:768px){.project .project-headline-container{padding:1.25rem 1.5rem}}.project .project-title{margin-bottom:.25rem;font-size:1.25rem}.project .project-tags{letter-spacing:0;margin-bottom:0;font-family:GeneralSans-Regular,Arial,sans-serif;font-size:.75rem;line-height:1}@media only screen and (min-width:768px){.project .project-tags{letter-spacing:.15rem}}.project .project-description{flex-grow:1;padding:0 1rem}@media only screen and (min-width:768px){.project .project-description{padding:0 1.5rem}}.project .btn-secondary{color:#fff;cursor:pointer;padding:0 1.5rem;text-decoration:none}nav{position:absolute;top:1rem;left:0;right:0}nav .nav-container{grid-column:3/23;justify-content:space-between;align-items:center;display:flex}nav a{color:#fff;margin:0 .5rem 0 0;text-decoration:none}nav a.selected{text-decoration:underline}@media only screen and (min-width:768px){nav a{margin:0 2rem 0 0}}nav .social-links a{margin-right:0}.footer{color:#fff;padding:0 0 3rem}@media only screen and (min-width:768px){.footer{padding:0 0 4rem}}.footer .row-1{grid-column:3/23}.footer .line-container{grid-column:3/23;margin:1rem 0}.footer .line{background-color:#fff}.footer .row-2{grid-column:3/18}.footer .row-3{grid-column:3/23}.footer .row-3 p{margin-bottom:0;font-size:.75rem}.footer .row-3 a{color:#fff;margin-left:.5rem;font-size:.75rem;text-decoration:none}.footer .row-3 a.selected{text-decoration:underline}.footer .row-3 .row-3-container{justify-content:space-between;display:flex}.footer .footer-headline{text-transform:uppercase;filter:drop-shadow(1rem 1rem 3rem #000);margin:0 0 3rem;font-family:GeneralSans-Bold,Arial,sans-serif;font-size:2rem;line-height:.8}@media only screen and (min-width:576px){.footer .footer-headline{font-size:calc(2rem + 4vw)}}@media only screen and (min-width:769px){.footer .footer-headline{font-size:calc(3.5rem + 3vw)}}.header{grid-template-rows:1fr auto;height:auto;min-height:50vh}@media only screen and (min-width:1200px){.header{min-height:80vh;margin-bottom:0}}.header .content{grid-area:2/3/3/23;align-self:flex-end}.featured-projects{padding:6rem 0}@media only screen and (min-width:768px){.featured-projects{padding:9rem 0}}.featured-projects .content{grid-column:3/24;align-self:flex-end}.featured-projects .projects-container{grid-column:3/25;align-items:center;min-height:550px;display:flex;position:relative;overflow:hidden}.featured-projects .inner-container{gap:20px;width:max-content;display:flex}@media only screen and (min-width:768px){.featured-projects .inner-container{padding-right:5rem}}.featured-projects .project-title{min-height:36px;margin-bottom:.25rem;font-size:1.25rem}@media only screen and (min-width:768px){.featured-projects .project-title{min-height:initial}}.featured-projects .view-all{color:#fff;text-transform:uppercase;text-align:center;cursor:pointer;border-left:1px solid #fff;justify-content:center;align-items:flex-end;width:3rem;margin-right:5rem;font-family:GeneralSans-Bold,Arial,sans-serif;font-size:1em;transition:background-color .3s,color .3s;display:flex}@media only screen and (min-width:768px){.featured-projects .view-all{width:5rem;margin-right:5rem;font-size:1.5rem}}.featured-projects .view-all .view-all-container{white-space:nowrap;position:relative;bottom:3rem;transform:rotate(-90deg)}@media only screen and (min-width:622px){.montage{grid-template-columns:56.81% 43.19%;display:grid}}.montage .everton{aspect-ratio:818/553;width:100%;position:relative}.montage .wcb{aspect-ratio:818/471;width:100%;position:relative}.montage .united{aspect-ratio:625/366;width:100%;position:relative}.montage .ftctc{aspect-ratio:622/301;width:100%;position:relative}.montage .city{aspect-ratio:622/358;width:100%;position:relative}.montage .montage-image{opacity:0;width:100%;transition:transform .5s,opacity .5s;display:block;transform:scale(.7)}.montage .montage-image.active{opacity:1;transition:transform .5s,opacity .5s;transform:scale(1)}@media only screen and (min-width:622px){.montage .montage-col-1{grid-column:1/2}.montage .montage-col-2{grid-column:2/3}}.client-logos{padding:6rem 0}@media only screen and (min-width:768px){.client-logos{padding:9rem 0}}.client-logos .content{grid-column:3/23;align-self:flex-end}.client-logos .logo-container{aspect-ratio:1;width:100%;position:relative}.client-logos .logos-container{grid-template-columns:1fr 1fr;column-gap:3rem;padding:3rem 3rem 0;display:grid}@media only screen and (min-width:500px){.client-logos .logos-container{grid-template-columns:1fr 1fr 1fr}}@media only screen and (min-width:768px){.client-logos .logos-container{grid-template-columns:1fr 1fr 1fr 1fr;column-gap:5rem;padding:5rem 5rem 0}}@media only screen and (min-width:1300px){.client-logos .logos-container{column-gap:10rem}}.client-logos .client-logo{opacity:0;align-self:center;width:100%;transition:transform .5s,opacity .5s;transform:scale(.7)}.client-logos .client-logo.active{opacity:1;transition:transform .5s,opacity .5s;transform:scale(1)}.expertise{padding:6rem 0}.expertise h2{margin-bottom:3rem}@media only screen and (min-width:768px){.expertise{padding:9rem 0}}.expertise .title{grid-column:3/23}.expertise .tech-col{grid-column:3/23;margin-bottom:3rem}@media only screen and (min-width:992px){.expertise .tech-col{border-left:1px solid #fff;grid-column:3/10;margin-bottom:0;padding-left:1.5rem}}@media only screen and (min-width:1300px){.expertise .tech-col{grid-column:3/8}}.expertise .platforms-col{grid-column:3/23;margin-bottom:3rem}@media only screen and (min-width:992px){.expertise .platforms-col{border-left:1px solid #fff;grid-column:10/17;margin-bottom:0;padding-left:1.5rem}}@media only screen and (min-width:1300px){.expertise .platforms-col{grid-column:8/13}}.expertise .software-col{grid-column:3/23}@media only screen and (min-width:992px){.expertise .software-col{border-left:1px solid #fff;grid-column:17/23;margin-bottom:0;padding-left:1.5rem}}@media only screen and (min-width:1300px){.expertise .software-col{grid-column:13/18}}label{letter-spacing:.1rem;text-transform:uppercase;color:#fff;margin-bottom:0;font-family:GeneralSans-Bold,Arial,sans-serif;font-size:.8rem}select{color:#fff;background-color:#0000;border:1px solid #fff;border-radius:.5rem;width:100%;margin-bottom:0;padding:1rem;font-family:GeneralSans-Bold,Arial,sans-serif;font-size:.8rem}@media only screen and (min-width:1300px){select{width:19.5rem}}.work .col-1{flex-direction:column;grid-area:2/3/3/23;align-items:flex-start;gap:1rem;max-width:32rem;height:96px;display:flex}.work .col-1 div{width:100%}@media only screen and (min-width:768px){.work .col-1{grid-area:1/3/1/10}}@media only screen and (min-width:1300px){.work .col-1{flex-direction:row}}.work .intro{grid-area:1/3/2/23;margin-bottom:2rem}@media only screen and (min-width:768px){.work .intro{grid-area:1/11/1/23}}#beacon-1{position:relative}.filter-container{box-sizing:border-box;flex-direction:column;gap:.5rem;padding-top:.2rem;display:flex}@media only screen and (min-width:768px){.filter-container{flex-direction:row;grid-column:3/9;align-items:center;gap:.5rem}}.filter-container.sticky{z-index:1;background-color:#000000b3;padding:1rem 2rem;transition:top .5s;position:fixed;top:-12rem;left:0;right:0}.filter-container.sticky.active{transition:top .5s;top:0}.work-container{grid-column:1/24}@media only screen and (min-width:1200px){.work-container{grid-template-rows:20vh auto auto}}.work-container .line-container{grid-column:3/23}.work-container .content{grid-column:3/23;grid-template-columns:1fr;gap:4rem 2rem;padding:0 0 6rem;display:grid}@media only screen and (min-width:768px){.work-container .content{grid-template-columns:1fr 1fr;padding:0 0 9rem}}@media only screen and (min-width:1200px){.work-container .content{grid-template-columns:1fr 1fr 1fr}}.work-container .projects-container{grid-column:3/25;overflow:scroll}.work-container .project{width:100%;max-width:none}.fade-up{opacity:0;position:relative;top:5rem}.fade-up.active{opacity:1;transition:top 1s,opacity 1s;top:0}.fade-left{opacity:0;position:relative;left:-5rem}.fade-left.active{opacity:1;transition:left 1s,opacity 1s;left:0}.fade-right{opacity:0;position:relative;right:-5rem}.fade-right.active{opacity:1;transition:right 1s,opacity 1s;right:0}.line-container{width:100%;margin-bottom:2rem}.line-container .line{background-color:#fff;width:0;height:1px;display:block}.line-container .line.active{width:100%;transition:width 2s}
