html,body{color:#0a677c;margin:0;padding:0;font-family:Montserrat,Helvetica Neue,system-ui,sans-serif;font-size:calc(12px + 1.5vw)}a{color:inherit;text-decoration:none}*{box-sizing:border-box}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:#fff;background:#000}}main{font-size:.7rem}.navbar-toggler:focus{box-shadow:none!important}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(193, 244, 255)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")!important;width:26px!important;height:26px!important}.header .navflex{justify-content:space-between;align-items:self-start!important}@media screen and (max-width:400px){.header .navflex{padding:0}}.navbar-button{margin-top:-3px;border:none!important;padding-right:0!important}.navbar-button button{all:unset}.navbar-button:hover .navbar-toggler-icon:hover{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(10, 103, 124)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E")!important}.header{z-index:91;padding:0;position:relative}.header .navbar{width:100%;padding:10px 15px;line-height:1.2;display:flex}.header .navbar .navflex{justify-content:space-between;width:100%;display:flex}.header .navbar .navflex .mobile-only{display:none}.header .navbar .navflex .mobile-only .navbar-nav{background-color:#2b2a2a;padding:.5rem 1rem}.header .navbar .navflex .mobile-only .navbar-nav a.nav-link{color:#0092b3;font-family:Montserrat,system-ui,sans-serif;font-weight:300}.header .navbar .navflex .mobile-only .navbar-nav a.nav-link:active{font-weight:700}.header .navbar .navflex .mobile-only .navbar-nav a.nav-link:hover{color:#c1f4ff;text-underline-position:under;text-underline-offset:3px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#c1f4ff;transition:all .2s ease-in-out}.header .navbar .navflex .desktop-only{padding:10px 15px}.header .navbar .navflex .desktop-only .navbar-nav{flex-direction:row;display:flex}.header .navbar .navflex .desktop-only .navbar-nav .nav-item{padding-left:50px}.header .navbar .navflex .desktop-only .navbar-nav .nav-item a.nav-link{color:#0092b3;font-size:14pt;transition:all .2s ease-in-out}.header .navbar .navflex .desktop-only .navbar-nav .nav-item a.nav-link.active{color:#0092b3;font-weight:700;transition:all .2s ease-in-out}.header .navbar .navflex .desktop-only .navbar-nav .nav-item a.nav-link:hover{color:#c1f4ff;text-underline-position:under;text-underline-offset:3px;text-decoration-line:underline;text-decoration-style:solid;text-decoration-color:#c1f4ff;transition:all .2s ease-in-out}@media screen and (max-width:767px){.header{background-color:#252424}.header .navbar .navflex .mobile-only{align-self:center;display:block}.header .mobile-only.nav-close .navbar-nav{display:none}.header .mobile-only.nav-open .navbar-nav{display:#000;position:absolute;top:20px;right:50px}.header .navbar .desktop-only{display:none}}@media screen and (max-width:400px){.header .navbar .navflex .collapse.navbar-collapse,.header .navbar .navflex .mobile-only{padding:0}.header .navbar .navflex .collapse.navbar-collapse.nav-open,.header .navbar .navflex .mobile-only.nav-open{padding:0!important}.header .navbar .navflex .collapse.navbar-collapse.nav-open .nav-item,.header .navbar .navflex .mobile-only.nav-open .nav-item{padding-left:20px}.header .navbar .navflex .collapse.navbar-collapse.nav-open .nav-item a.nav-link,.header .navbar .navflex .mobile-only.nav-open .nav-item a.nav-link{font-size:12pt;transition:all .2s ease-in-out}.header .navbar .navflex .collapse.navbar-collapse .nav-item,.header .navbar .navflex .mobile-only .nav-item{padding-left:20px}.header .navbar .navflex .collapse.navbar-collapse .nav-item a.nav-link,.header .navbar .navflex .mobile-only .nav-item a.nav-link{font-size:12pt;line-height:1.2;transition:all .2s ease-in-out}}.header.sticky{z-index:91;background-color:#252424;width:100%;position:sticky;top:0;left:0}.header.sticky .header.sticky .navbar{opacity:0;opacity:1;background-color:#252424;width:100%;padding:10px 15px;transition:all .3s cubic-bezier(.645,.045,.355,1);animation:.95s ease-in-out fadeInDown;position:fixed;top:0;left:0;transform:translateY(0%);box-shadow:0 6px 13px #0000000f}.section{padding-top:100px;padding-bottom:100px;position:relative}.caption{text-align:center;margin-top:5px;font-size:.8rem;font-style:italic}.logo-img{max-height:80px}.section.hero{z-index:1;background:url(/images/dark-background.jpg);height:800px;margin-top:-175px;padding:0;overflow:hidden}.section.hero .hero-text{z-index:2;color:#c1f4ff;text-shadow:2px 2px 2px #000;width:100%;max-width:100%;padding:300px 100px 100px;font-size:2rem;line-height:1.2;position:absolute}.section.hero .hero-text .page-title{color:#c1f4ff}.section.hero .hero-text .main-saying{color:#fff;margin-bottom:10px}.section.hero .hero-text .subhead{color:#fff}@media screen and (max-width:810px){.section.hero div.hero-text{padding:300px 50px 50px}}@media screen and (max-width:420px){.section.hero div.hero-text{padding:300px 20px 20px;font-size:1.75rem}}.section.hero.splash{background:url(/images/typewriter.jpg) 100%;justify-content:flex-end;height:600px;display:flex}.section.hero.splash div.hero-text{align-items:flex-end;height:100%;padding:100px;display:flex}.section.hero.splash div.hero-text p{margin-bottom:0}.section.hero.splash .hero-img img{object-fit:fill;object-position:right center;height:600px}.section.hero.splash.ads div.hero-text p.page-title{max-width:700px}.section.hero.splash.groceries div.hero-text p.page-title{max-width:600px}.container{padding:0 2rem}.main{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100vh;padding:4rem 0;font-size:.8rem;display:flex}.home-section .page-title{color:#0a677c;text-transform:uppercase;font-weight:400}.home-section .img-box{max-width:350px;height:100%;max-height:400px;margin:0 auto}.home-section .img-box .section-img{object-fit:contain;height:auto}@media screen and (max-width:700px){.home-section .page-title,.home-section .main-saying,.home-section .text-body{font-size:12pt}}.footer{border-top:1px solid #eaeaea;flex:1;justify-content:center;align-items:center;padding:2rem 0;display:flex}.footer .copyright{font-size:12pt}.footer div.col-md-6{max-width:200px;margin:0 auto}.footer div.col-md-6 .company-sub-menu a{line-height:44px}.footer div.col-md-6 a{color:#0a677c;flex-grow:1;justify-content:flex-start;align-items:center;font-size:12pt;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:flex}.footer div.col-md-6 a:hover{color:#0092b3;transition:all .2s ease-in-out}.footer div.col-md-6 p.column-title{color:#0092b3;font-size:.7rem;font-weight:700}.footer div.col-md-6 .footer-social-list a{font-size:1rem}.title a{color:#0a677c;text-decoration:none}.title a:hover,.title a:focus,.title a:active{text-decoration:underline}.title{margin:0;font-size:4rem;line-height:1.15}.title,.description{text-align:center}.description{margin:4rem 0;font-size:1.5rem;line-height:1.5}.code{background:#fafafa;border-radius:5px;padding:.75rem;font-family:Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;font-size:1.1rem}.grid{flex-wrap:wrap;justify-content:center;align-items:center;max-width:800px;display:flex}.card{text-align:left;color:inherit;border:1px solid #eaeaea;border-radius:10px;max-width:300px;margin:1rem;padding:1.5rem;text-decoration:none;transition:color .15s,border-color .15s}.card:hover,.card:focus,.card:active{color:#0a677c;border-color:#1bb7da}.card h2{margin:0 0 1rem;font-size:1.5rem}.card p{margin:0;font-size:1.25rem;line-height:1.5}.logo{height:1em;margin-left:.5rem}@media (max-width:600px){.grid{flex-direction:column;width:100%}}@media (prefers-color-scheme:dark){.card,.footer{border-color:#222}.code{background:#111}.logo img{filter:invert()}}section.index.section.hero .page-title{margin-bottom:1rem;font-size:3rem;font-weight:700;line-height:1}section.index.section.hero .main-saying{margin-bottom:0;font-size:1.2rem;font-style:italic}section.index.section.hero .subhead{letter-spacing:.1rem;font-size:1.2rem;font-weight:700}@media screen and (max-width:810px){section.index.section.hero div.hero-text{padding:300px 50px 50px}section.index.section.hero h1.page-title{margin-bottom:1rem;font-size:3rem;line-height:.9}}@media screen and (max-width:420px){section.index.section.hero div.hero-text{padding:300px 20px 20px;font-size:1.75rem}}section.intro{padding:100px 100px 50px}section.intro a{margin-bottom:1rem;display:block}section.intro h2{text-transform:uppercase;color:#0092b3;font-size:1.5rem;font-weight:300}section.intro p{margin-bottom:0}@media screen and (max-width:900px){section.intro{padding:50px}section.intro .intro-summary p{font-size:12pt}}@media screen and (max-width:400px){section.intro{padding:25px}}section.experience{padding:0 100px}section.experience h2{text-transform:uppercase;color:#0092b3;font-size:1.5rem;font-weight:300}section.experience .jobs .job-details .intro-line{color:#0092b3;grid-template-rows:1fr;grid-template-columns:auto auto 1fr;justify-content:left;column-gap:.5rem;width:100%;font-size:.8rem;display:grid}section.experience .jobs .job-details .intro-line p{margin-bottom:5px}section.experience .jobs .job-details .intro-line .job-title{font-weight:700}section.experience .jobs .job-details .intro-line .company{font-weight:400}section.experience .jobs .job-details .intro-line .dates{justify-self:right;font-style:italic;font-weight:300}section.experience .jobs .job-details .summary{margin-bottom:.5rem;font-size:.6rem}@media screen and (max-width:900px){section.experience{padding:50px 50px 0}section.experience .jobs .job-details .intro-line,section.experience .jobs .job-details .summary{font-size:12pt}}@media screen and (max-width:650px){section.experience{padding:50px 50px 0}section.experience .jobs .job-details .intro-line{grid-template-areas:"job company""date date"}section.experience .jobs .job-details .intro-line .job-title{grid-area:job}section.experience .jobs .job-details .intro-line .company{grid-area:company}section.experience .jobs .job-details .intro-line .dates{grid-area:date;justify-self:left}}@media screen and (max-width:400px){section.experience{padding:25px 25px 0}section.experience .jobs .job-details .summary{margin-bottom:1rem}}section.education{padding:50px 100px}section.education h2{text-transform:uppercase;color:#0092b3;font-size:1.5rem;font-weight:300}section.education .schools .school-details{color:#0092b3;grid-template-rows:1fr;grid-template-columns:1.5fr 1.5fr .5fr;justify-content:left;column-gap:.5rem;width:100%;font-size:.8rem;display:grid}section.education .schools .school-details p{margin-bottom:5px}section.education .schools .school-details .school{font-weight:700}section.education .schools .school-details .degree{font-weight:400}section.education .schools .school-details .date{font-style:italic;font-weight:300}@media screen and (max-width:900px){section.education{padding:50px}section.education .schools .school-details{font-size:12pt}}@media screen and (max-width:650px){section.education{padding:50px}section.education .schools .school-details{grid-template-rows:repeat(3,1fr);grid-template-columns:1fr}}@media screen and (max-width:400px){section.education{margin-bottom:1rem;padding:25px}}section.publication{padding:0 100px 50px}section.publication h2{text-transform:uppercase;color:#0092b3;font-size:1.5rem;font-weight:300}section.publication .articles .article{color:#0a677c;font-size:.8rem;display:block}section.publication .articles .article:hover{color:#0092b3}@media screen and (max-width:900px){section.publication{padding:50px}section.publication .articles .article{font-size:12pt}}@media screen and (max-width:400px){section.publication{margin-bottom:1rem;padding:25px}}section.skills{padding:0 100px 50px}section.skills h2{text-transform:uppercase;color:#0092b3;font-size:1.5rem;font-weight:300}section.skills .skills-list{grid-template-rows:repeat(2,auto);grid-template-columns:repeat(2,auto);display:grid}section.skills .skills-list .category{color:#0a677c;margin-bottom:10px;font-weight:700}section.skills .skills-list .skill{color:#000;font-size:.6rem;display:block}section.skills .skills-list .skill:before{content:"• "}section.skills .skills-list .skill .detail{margin-left:1rem;display:block}section.skills .skills-list .skill .detail:before{content:"◦ "}@media screen and (max-width:900px){section.skills{padding:50px}section.skills .skills-list{grid-template-rows:repeat(3,auto);grid-template-columns:1fr;font-size:12pt}section.skills .skills-list .skill{font-size:12pt}}@media screen and (max-width:400px){section.skills{margin-bottom:1rem;padding:25px}}div.writing.container{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(auto,300px);gap:1rem;width:100%;max-width:800px;margin:1rem auto;display:grid}@media screen and (max-width:675px){div.writing.container{grid-template-columns:1fr}}div.writing.container .card{border-radius:5px;width:300px;max-width:300px;height:300px;max-height:300px;margin:0 auto;padding:25px;display:block;position:relative}div.writing.container .card:hover{border-color:#1bb7da}div.writing.container .card a{color:#fff;text-shadow:1px 1px 3px #032434;grid-template-rows:20px 1fr;grid-template-columns:1fr;height:100%;text-decoration:none;transition:all .2s ease-in-out;display:grid}div.writing.container .card a span.type{text-transform:uppercase;font-size:10pt}div.writing.container .card a div.info-text{align-self:center}div.writing.container .card a p.title{font-size:20pt}div.writing.container .card a p.tagline{text-align:center;font-size:12pt}div.writing.container .card.blog#first{background-color:#0000;background-image:linear-gradient(#0000,#0000),url(/images/gen-tac.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.blog#first:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/gen-tac.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.blog#first:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.article#second{background:url(/images/jobs-article.jpg) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.article#second:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/jobs-article.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.article#second:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.blog#third{background:url(/images/diagram.jpg) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.blog#third:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/diagram.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.blog#third:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.blog#fifth{background:url(/images/philosophy.jpg) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.blog#fifth:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/philosophy.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.blog#fifth:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.article#fourth{background:url(/images/pitfalls.png) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.article#fourth:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/pitfalls.png);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.article#fourth:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.case-study#first{background:url(/images/groceries.jpg) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.case-study#first:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/groceries.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.case-study#first:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.case-study#second{background:url(/images/auto.jpg) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.case-study#second:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/auto.jpg);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.case-study#second:hover a{color:#c1f4ff;transition:all .2s ease-in-out}div.writing.container .card.case-study#third{background:url(/images/cranes.png) 0 0/contain;transition:all .2s ease-in-out}div.writing.container .card.case-study#third:hover{background-color:#0000;background-image:linear-gradient(#0003,#0003),url(/images/cranes.png);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:contain;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;transition:all .2s ease-in-out}div.writing.container .card.case-study#third:hover a{color:#c1f4ff;transition:all .2s ease-in-out}.blog.container{max-width:900px;margin:3rem auto}.blog.container .in-text-link{color:#0092b3;transition:all .2s ease-in-out}.blog.container .in-text-link:hover{color:#0a677c;transition:all .2s ease-in-out}.blog.container p.title{color:#0092b3;text-align:left;font-size:1.5rem}.blog.container p.subhead{color:#0a677c;text-transform:uppercase;font-size:1rem}.blog.container ul{padding-left:25px;font-size:14pt}.blog.container ul li{margin:10px 0}.blog.container div.content ul,.blog.container div.content ol{padding-left:25px;font-size:12pt}.blog.container div.content ul li,.blog.container div.content ol li{margin:10px 0}.blog.container div.content p{margin-bottom:.5rem;font-size:14pt;line-height:1.5}.blog.container div.content p strong{color:#0a677c}.blog.container div.content .subhead{margin-top:25px;margin-bottom:15px}.blog.container div.content .section-title{text-transform:uppercase;color:#0a677c;margin-top:2rem;margin-bottom:.5rem;font-size:16pt}.blog.container div.content .blog-img-box{height:auto;margin:1rem 0;max-width:600px!important}.blog.container div.content .blog-img-box.centered{margin:1rem auto}.blog.container .content.case-study.groceries strong{color:#0a677c}.blog.container .content.case-study.groceries .section-title{font-weight:700}.blog.container .content.case-study.groceries .subhead{text-transform:none;margin-top:-15px;font-style:italic}.blog.container .content.case-study.groceries .subhead.stronger{text-transform:uppercase;font-size:16pt}.blog.container .content.case-study.groceries .img-box.workflow-issues{max-width:400px;margin:1rem auto}.blog.container .content.case-study.groceries .img-box.ads3x3{margin:1rem auto}.blog.container .content.case-study.groceries .test-q-block{grid-template-rows:1fr;grid-template-columns:62px 1fr;margin:1rem auto;display:grid}.blog.container .content.case-study.groceries .test-q-block .gen-spec{grid-template-rows:30px 1fr 30px;grid-template-columns:1fr;display:grid}.blog.container .content.case-study.groceries .test-q-block .gen-spec p{text-align:center;font-size:12pt;font-weight:light;color:#0092b3;margin:0}.blog.container .content.case-study.groceries .test-q-block ul,.blog.container .content.case-study.groceries .test-q-block ul>li{margin-bottom:0}.blog.container .content.case-study.groceries .test-q-block li:first-of-type{margin-top:0}.blog.container .content.case-study.groceries .line-vertical{background:#0092b3;position:relative}.blog.container .content.case-study.groceries .arrow-up:after,.blog.container .content.case-study.groceries .arrow-down:before,.blog.container .content.case-study.groceries .arrow-left:after,.blog.container .content.case-study.groceries .arrow-right:before{content:"";border:5px solid #0000;width:0;height:0;position:absolute}.blog.container .content.case-study.groceries .line-vertical{float:left;width:3px;height:calc(100% - 10px);margin:0 auto}.blog.container .content.case-study.groceries .arrow-down:before{border-top:15px solid #0092b3;bottom:-15px;left:-4px}.blog.container .content.case-study.groceries .presentation-block#two{grid-template-rows:repeat(2,auto);grid-template-columns:1fr;gap:10px;max-width:800px;margin:1rem auto;display:grid}.blog.container .content.case-study.groceries .presentation-block#two .image-heading{color:#0a677c;text-align:center;font-size:.5rem;font-weight:700}.blog.container .content.case-study.groceries .presentation-block#two .img-box-one{max-width:300px;margin:0 auto}@media screen and (min-width:800px){.blog.container .content.case-study.groceries .presentation-block#two{grid-template-rows:1fr;grid-template-columns:1fr 3fr}}
