:root{--primary-color: #ff4500;--surface-color: #fcf7f0;--text-color: #6a6a6a;--navigation-background: #fafafa;--navigation-color: #1a73e8;--black-color: #000;--navigation-title-color: black;--on-surface-color: #2f2a20;--on-surface-color: #333;--link-color: #1a73e8;--border-radius: 4px;--meta-color: gray;--content-width: 800px;--mobile-width: 768px}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Atkinson;src:url(/fonts/atkinson-bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}html{scroll-behavior:smooth}body{font-family:Atkinson,sans-serif;margin:0;padding:0;text-align:left;background:linear-gradient(var(--gray-gradient)) no-repeat;background-size:100% 600px;word-wrap:break-word;overflow-wrap:break-word;color:rgb(var(--gray-dark));font-size:22px;line-height:1.7}main{width:var(--content-width);max-width:calc(100% - 2em);margin:auto;padding:1em}h1,h2,h3,h4,h5,h6{margin:0 0 .5rem;color:var(--black-color)!important;line-height:1.2}h1{font-size:3.052em}h2{font-size:2.441em}h3{font-size:1.953em}h4{font-size:1.563em}h5{font-size:1.25em}strong,b{font-weight:700}a,a:hover{color:var(--accent)}p{margin-bottom:1em;color:var(--text-color)}.prose p{margin-bottom:2em}textarea{width:100%;font-size:16px}input{font-size:16px}table{width:100%}img{max-width:100%;height:auto;border-radius:8px}code{padding:2px 5px;background-color:rgb(var(--gray-light));border-radius:2px}pre{padding:1.5em;border-radius:8px}pre>code{all:unset}blockquote{border-left:4px solid var(--accent);padding:0 0 0 20px;margin:0;font-size:1.333em}hr{border:none;border-top:1px solid rgb(var(--gray-light))}@media (max-width: 720px){body{font-size:18px}main{padding:1em}}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}.hero-avatar{max-width:50px;display:block;border-radius:999px;margin-right:1rem}@media (max-width: 768px){.navigation{padding:0rem!important}.hero-title{padding:1rem;border-bottom:1px dotted lightgray;width:100%}.navigation-menu{margin-top:0rem!important;padding:1rem}.navigation-content{padding:0rem!important}}.navigation{margin-bottom:2rem;padding:.5rem 0rem;background-color:var(--navigation-background);color:var(--navigation-title-color)!important;font-weight:700}.navigation-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;max-width:var(--content-width);margin:auto;padding:1rem}.hero-title{display:flex;align-items:center;font-size:1em!important}.navigation-menu{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}.navigation a.hero-title{color:var(--navigation-title-color)!important}.navigation a{color:var(--navigation-color)!important;text-decoration:none}.navigation a:hover{color:var(--primary-color)!important}.navigation a .material-icons{margin-right:.25rem}@media (max-width: 768px){.column-for-mobile{flex-direction:column;align-items:flex-start}}body{font-family:Roboto,sans-serif;margin:0;line-height:1.6;font-size:18px;background:linear-gradient(to bottom,#fff0,#fff 400px),radial-gradient(circle,#e5e5e5 1px,transparent 1px);background-repeat:no-repeat}article{max-width:800px;margin:auto}a,a:visited,a:hover{color:var(--link-color)}h1{text-transform:capitalize;margin-top:0rem;font-size:2rem;line-height:2.75rem}h2{font-size:1.8rem}h3{font-size:1.6rem}.material-icons{vertical-align:middle}.eyebrow{text-transform:uppercase;color:gray}.angular{color:var(--primary-color)}.firebase{color:#ff4500;color:var(--primary-color)}.contact{background-color:var(--surface-color);padding:1rem;border-radius:var(--border-radius);display:flex;align-items:center;margin-bottom:1rem}.contact .material-icons{font-size:2.5rem;margin:1.5rem}.block-for-desktop{display:block}.case-studies{display:grid;grid-template-columns:1fr 1fr;gap:16px;list-style-type:none;padding:0rem}@media (max-width: 768px){.case-studies{grid-template-columns:1fr}}.case-studies li{border-radius:9px;overflow:hidden}.case-studies li .image-container{width:100%;height:200px;margin-bottom:1rem}.case-studies li img{width:100%;height:100%;object-fit:cover;display:block;border:1px solid lightgray}.case-studies p{margin-bottom:0rem}.case-studies a{text-decoration:none;margin-bottom:2rem;display:block}.labels{list-style-type:none;display:flex;flex-flow:row wrap;padding:0rem}.labels li{background-color:var(--primary-color);color:#fff;padding:.1rem .5rem;margin-right:.5rem;margin-bottom:.5rem;font-size:.9rem}.case-study-title{margin-bottom:0rem}.case-study-description{margin-top:0rem}.case-study-content{padding:0rem 1rem 1rem}button{background-color:var(--primary-color);color:#fff;border:none;outline:none;padding:.5rem 1rem;text-transform:uppercase;border-radius:var(--border-radius);font-weight:700}.services-list{color:var(--link-color);text-decoration:none}.services-list li a{text-decoration:none}.services-list li a:hover{text-decoration:underline}.contact-list{list-style-type:none;display:flex;padding:0;color:gray}.contact{text-align:center}.contact-form{display:flex;flex-flow:column nowrap}.contact>div{padding:.5rem;width:50%;display:flex;flex-flow:column nowrap;justify-content:flex-start}.colorless-link,.colorless-link:hover,.colorless-link:visited{color:inherit}.bold{font-weight:700}.meta{color:var(--meta-color)}.block{display:block}section{margin:4rem 0rem}#call-to-action{background-color:var(--surface-color);text-align:center;padding:2rem;border-radius:var(--border-radius);transform:translate(-100%);width:100vw}
