@charset "UTF-8";:where(:not(html,iframe,canvas,img,svg,video):not(svg *,symbol *)){all:unset;display:revert}*,:after,:before{box-sizing:border-box}a,button{cursor:revert}menu,ol,ul{list-style:none}img{max-width:100%}table{border-collapse:collapse}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}::placeholder{color:unset}:where([hidden]){display:none}:where([contenteditable]){-moz-user-modify:read-write;-webkit-user-modify:read-write;-webkit-line-break:after-white-space;overflow-wrap:break-word}:where([draggable=true]){-webkit-user-drag:element}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#98b1ff}.token.punctuation{color:#f8f8f2}.namespace{opacity:.7}.token.constant,.token.deleted,.token.property,.token.symbol,.token.tag{color:#ff79c6}.token.boolean,.token.number{color:#bd93f9}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#50fa7b}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url,.token.variable{color:#f8f8f2}.token.atrule,.token.attr-value,.token.class-name,.token.function{color:#f1fa8c}.token.keyword{color:#8be9fd}.token.important,.token.regex{color:#ffb86c}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}a:focus{outline:2px dashed currentcolor}h1{font-family:Brygada\ 1918,serif;font-size:2.5rem}h1,h2,h3{font-weight:700}h2,h3{font-size:2rem}.svg-inline--fa{margin-left:.15em;margin-right:.3em}#about-us-container{background:#023;box-shadow:inset 0 32px 32px -32px #00111a;display:flex;flex-grow:1;justify-content:center}#about-us-container #about-us{color:#fff;display:flex;flex-direction:row;padding:48px 0;width:960px}#about-us-container #about-us>*{flex-basis:50%;padding:0 32px}#about-us-container #about-us #company-info h2,#about-us-container #about-us #company-info p{margin-bottom:16px}#about-us-container #about-us #company-info p .email,#about-us-container #about-us #company-info p a{color:#fcbf49;font-weight:700;white-space:nowrap}#about-us-container #about-us #company-info p a{text-decoration:underline}#about-us-container #about-us #profiles section{align-items:center;display:flex;margin-bottom:16px}#about-us-container #about-us #profiles section img{border:2px solid #f6f2df;border-radius:100%;box-shadow:0 0 32px 0 #00111a;height:100px;width:100px}#about-us-container #about-us #profiles section .details{display:flex;flex-direction:column;justify-content:center;padding-left:16px}#about-us-container #about-us #profiles section .details ul li{display:inline-block;margin-right:8px;padding:6px 0}#about-us-container #about-us #profiles section .details ul li a{color:#fcbf49;text-decoration:underline;white-space:nowrap}@media (max-width:720px){#about-us-container #about-us{flex-direction:column;padding-bottom:32px}#about-us-container #about-us #profiles{align-self:center;padding-top:32px}}.article-preview{width:100%}.article-preview:not(:last-of-type){border-bottom:1px dotted #023;margin-bottom:16px;padding-bottom:16px}.article-preview a{display:block}.article-preview h2{font-size:1.2rem;font-weight:700;margin-bottom:8px}.article-preview__date{color:#00527c;margin-right:8px}.article-preview__excerpt{margin-bottom:8px;max-width:600px}.article-preview__more{font-weight:600}.article-preview__more svg{opacity:0;transition:opacity 125ms cubic-bezier(.4,0,.2,1)}a:hover .article-preview__more svg{opacity:1}a:focus .article-preview__more{color:#d62828}.blog-featured{background-color:#fcbf49;display:flex;flex-direction:column;margin:0 auto;max-width:100%;padding:16px;position:relative;transition:transform .2s cubic-bezier(.4,0,.2,1);width:960px}@media (min-width:720px){.blog-featured{border-radius:16px;flex-direction:row;margin-bottom:32px;margin-top:32px;max-width:95%;padding:21px 24px 16px}.blog-featured:hover{transform:scale(1.02)}}.blog-featured:after{background-color:#003049;border-radius:4px;color:#fff;content:"From Our Blog";font-size:.8rem;font-weight:700;left:16px;padding:5px;position:absolute}@media (min-width:720px){.blog-featured:after{top:-12px}}.blog-featured__title{font-family:Brygada\ 1918,serif;font-size:1.2rem}@media (min-width:720px){.blog-featured__title{margin-top:0}}.blog-featured__link{margin-top:35.2px;text-decoration:underline}.blog-featured__link:after{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}@media (min-width:720px){.blog-featured__link{align-self:top;flex-shrink:0;margin-top:0;max-width:25%}}.blog-featured__excerpt{padding-top:16px}@media (min-width:720px){.blog-featured__excerpt{align-self:center;padding-left:16px;padding-top:0}}.blog-featured__more{font-weight:600;padding-top:8px}@media (min-width:720px){.blog-featured__more{display:none}}footer{align-items:center;background:#00111a;color:#fff;display:flex;flex-direction:column;font-size:.8rem;padding:32px 0}footer>*{max-width:100%;padding:0 32px;width:960px}footer nav{margin-top:8px}footer nav ul li{display:inline-block}footer nav ul li:after{color:#bdd1db;content:"|";margin:0 8px}footer nav ul li:last-child:after{content:""}footer nav ul li a{color:#fcbf49;font-weight:700;text-decoration:underline}header{align-items:center}.logo-container,header{display:flex;flex-direction:column}.logo-container{flex-wrap:wrap;max-width:100%;overflow:hidden;padding-top:32px;width:960px}@media (min-width:720px){.logo-container{flex-direction:row}}.logo-container>a{display:block;margin-left:16px}.logo-container svg{fill:#003049;height:50px;margin-bottom:.7rem;margin-top:.4rem}.logo-container canvas{margin-left:192px;z-index:-1}@media (max-width:720px){.logo-container canvas{margin-left:20vw}}.logo-container.logo-container-trunk{background-image:url(/assets/images/swirls.png);background-position:100%;background-repeat:no-repeat;background-size:auto 100%}.lead{font-size:1.2rem}.meta{margin-bottom:32px}.meta__title{font-size:32pt;line-height:1.1;margin-bottom:.5rem}.meta__published{font-style:italic}.motion-warning{border-radius:16px;margin:32px 0!important}.motion-warning summary{background:#fdd994;border-radius:16px;cursor:default;font-weight:700;list-style-position:inside;list-style-type:disclosure-closed;padding:8px 16px}.motion-warning[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0;list-style-type:disclosure-open}.motion-warning__wrapper{border:5px solid #fdd994;border-bottom-left-radius:16px;border-bottom-right-radius:16px}nav.navbar{background:#003049;color:#f6f2df;flex-basis:100%;padding:8px 0 8px 16px}nav.navbar ul{display:flex;gap:16px;max-width:960px;padding:0 8px}nav.navbar a{font-family:Brygada\ 1918,serif;font-size:1.2rem;font-weight:400;padding:2px 4px}nav.navbar a.active{font-weight:700;text-decoration:underline}@media (min-width:720px){nav.navbar{background:none;color:#003049}}.newsletter{box-shadow:inset 0 32px 32px -32px #00111a;margin-top:32px}.newsletter__inner{display:flex;flex-direction:column}@media (min-width:720px){.newsletter__inner{flex-direction:row}.newsletter__text{margin-right:32px}}.newsletter__form{flex-grow:1}.newsletter h2{font-size:19.8pt;margin-bottom:16px}.newsletter p{font-size:1rem;margin-bottom:8px}.newsletter .inline-container{margin-top:32px}.newsletter .btn{font-weight:600!important}.newsletter .emailoctopus-form-wrapper p{color:#fff!important;margin-bottom:24px}.newsletter .form-control:focus{box-shadow:none!important;outline:2px solid #fcbf49!important}.newsletter--filled{background-color:#023;color:#fff}.newsletter--subtle{background-color:#feebc6}.newsletter--left .form-container{margin:0!important}.newsletter--left .text-center{text-align:left!important}.projects{border-collapse:collapse;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));margin:0 auto;max-width:100%;width:960px}@media (min-width:720px){.projects{gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:16px}}.project{align-items:center;background:#fff;border:1px solid #000;display:flex;flex-direction:column;justify-content:center;order:var(--project-i);padding:16px;position:relative;text-align:center;transition:transform .2s cubic-bezier(.4,0,.2,1)}@media (min-width:720px){.project{border-radius:16px;order:unset}.project:hover{transform:scale(1.02)}}.project h2{font-family:Brygada\ 1918,serif;font-size:1.2rem}.project>.project__image{margin-bottom:32px}.project__link{margin-top:5px}.project__link:after{bottom:0;content:" ";left:0;position:absolute;right:0;top:0}.project__link:focus{outline:none}.project:focus-within{outline:2px dashed #000}.project--is-double{flex-direction:row;padding:16px 0 0;text-align:left}@media (min-width:720px){.project--is-double{grid-column:span 2/span 2}}.project--is-double h2{font-size:2rem;margin-bottom:8px}.project--is-double>.project__image{margin-bottom:0;margin-right:32px}.project--is-new:after{background-color:#fcbf49;border-radius:4px;color:#023;content:"NEW";font-size:.8rem;font-weight:700;left:16px;padding:5px;position:absolute;top:16px}.project--theme-popcat{background-color:#bdaa90;border:none;color:#000;overflow:hidden;padding-bottom:0}.project--theme-popcat>.project__content,.project--theme-popcat>.project__image{z-index:2}.project--theme-popcat:before{background-image:url(/assets/images/projects/popcat-bg.jpg);background-repeat:repeat-x;background-size:contain;content:"";height:120%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) rotate(-3deg);width:120%;z-index:1}.project--theme-popcat>.project__image{aspect-ratio:80/93;background:url(/assets/images/projects/popcat-spritesheet.png);background-position:0 0;background-size:auto 100%;border-bottom-left-radius:16px;width:25%}.project--theme-popcat:hover>.project__image{background-position:100% 0}.project--theme-spinningrat{background-color:#000;color:#fff}.project--theme-spinningrat>.project__image{aspect-ratio:1294/275;background:url(/assets/images/projects/spinning-rat.jpg);background-size:100% 100%;width:100%}.project--theme-tiltime{background-color:#d0e699;border:none}.project--theme-maxwellcat{align-items:flex-start;background:url(/assets/images/projects/maxwellcat.png);background-position:100%;background-repeat:no-repeat;background-size:cover;border:none;color:#fff;flex-direction:column;height:200px;justify-content:flex-end;padding:16px}hr.stripe{background-image:linear-gradient(180deg,#002e47,#2f3a6f 15%,#763078 22%,#b61161 28%,#d72828 33%,#e14323 37%,#ea551a 42%,#f1690e 46%,#f57e00 50%,#f89216 54%,#faa329 58%,#fbb037 63%,#fcc14a 67%,#f8cc6d 72%,#f6db93 78%,#f4e6b8 85%,#f6f2df);display:block;height:60px;width:100%}body{text-rendering:optimizeLegibility;background:#f6f2df;color:#003049;display:flex;flex-direction:column;font-family:Manrope,sans-serif;font-size:12pt;min-height:100vh}main{flex-grow:1}.contained{margin:32px auto;max-width:100%;padding-left:16px;padding-right:16px;width:960px}.page-blog-list .lead{margin-bottom:32px}.page-blog-list .newsletter{margin-top:16px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.blog{display:flex;justify-content:center}.blog article{font-family:Brygada\ 1918,serif;font-size:12pt;font-weight:400;font-weight:500;line-height:1.35;max-width:100%;position:relative;width:650px}@media (min-width:720px){.blog article{font-size:1.2rem;font-weight:400}}@media (min-width:1150px){.blog article{left:-100px}.blog article nav.table-of-contents{font-size:12pt;height:100%;position:absolute;right:-250px;top:0;width:250px}.blog article nav.table-of-contents ol{border-left:1px dotted #023;list-style:none;margin:8px 0 16px 8px;padding:0 16px;position:sticky;top:16px}.blog article nav.table-of-contents ol li{line-height:1;padding:0}.blog article nav.table-of-contents ol li a{font-size:.8rem;font-weight:400}.blog article nav.table-of-contents>ol{margin:8px 0 16px 16px}.blog article nav.table-of-contents>ol:before{content:"Table of Contents";display:block;font-size:1.2rem;font-weight:700;margin-bottom:8px}}.blog article iframe{display:block;margin:32px auto;max-width:100%}.blog article iframe.demo{border:8px solid #003049}.blog article pre{font-size:12pt}.page-home .company-tagline{font-size:1.2rem;margin-left:auto;margin-right:auto;max-width:100%;padding:32px 32px 48px;width:960px}.page-home main{display:flex;flex-direction:column}.markdown>*{margin-bottom:16px}.markdown h1,.markdown h2,.markdown h3{font-family:Brygada\ 1918,serif;margin-bottom:16px;padding:0}.markdown h1{font-size:24pt;margin-top:48px}.markdown h2{font-size:19.8pt;margin-top:32px}.markdown h3{font-size:16.8pt;margin-top:32px}.markdown em{font-style:italic}.markdown p{margin:16px 0}.markdown ol,.markdown ul{margin-left:1rem}.markdown ol li,.markdown ul li{margin-bottom:8px;padding-left:.5rem}.markdown ol ol,.markdown ol ul,.markdown ul ol,.markdown ul ul{margin-top:8px}.markdown ul{list-style:disc}.markdown ul ul{list-style:circle}.markdown ol{list-style:decimal}.markdown a:not(.header-anchor){font-weight:700;overflow-wrap:break-word;text-decoration:underline;word-break:break-all;word-break:break-word}.markdown strong{font-weight:700}.markdown pre{background:#003049;border-radius:16px;color:#fff;font-family:Courier Prime,monospace;margin:32px 0;max-width:100%;overflow-x:auto;padding:16px;white-space:pre}.markdown pre code{display:block;overflow-x:auto}.markdown :not(pre)>code{background:#003049;border-radius:16px;color:#fff;font-family:Courier Prime,monospace;padding:.1rem .3rem}.markdown blockquote{background:#fdd994;border-left:16px solid #003049;border-radius:0 16px 16px 0;font-style:italic;margin:32px 0;padding:8px 16px}.markdown table tr{border:1px solid #003049}.markdown table td,.markdown table th{padding:5px}.markdown table th{font-weight:700}.markdown table.horizontal tr{border-width:0 0 1px}.markdown table.horizontal td{padding-left:0;padding-right:0}.markdown table.horizontal th{padding-right:10px}.markdown .header-anchor{display:inline-block}.markdown .header-anchor:after{content:" #";font-weight:700;opacity:0;transition:opacity 50ms ease-in-out}.markdown .header-anchor:focus:after,.markdown .header-anchor:hover:after{opacity:.4}.markdown .footnote-ref{font-size:.6em;vertical-align:super}.markdown .footnotes-sep{border-top:1px solid #003049;margin-top:32px;width:64px}.markdown .footnotes{font-size:.8em}