@font-face{font-display:fallback;font-family:Montserrat;font-style:normal;font-weight:900;src:url("../fonts/montserrat-black-webfont.woff2") format("woff2"),url("../fonts/montserrat-black-webfont.woff") format("woff")}@font-face{font-display:fallback;font-family:Montserrat;font-style:normal;font-weight:800;src:url("../fonts/montserrat-extrabold-webfont.woff2") format("woff2"),url("../fonts/montserrat-extrabold-webfont.woff") format("woff")}@font-face{font-display:fallback;font-family:Montserrat;font-style:normal;font-weight:700;src:url("../fonts/montserrat-bold-webfont.woff2") format("woff2"),url("../fonts/montserrat-bold-webfont.woff") format("woff")}@font-face{font-display:fallback;font-family:Montserrat;font-style:normal;font-weight:500;src:url("../fonts/montserrat-medium-webfont.woff2") format("woff2"),url("../fonts/montserrat-medium-webfont.woff") format("woff")}@font-face{font-display:fallback;font-family:Montserrat;font-style:normal;font-weight:400;src:url("../fonts/montserrat-regular-webfont.woff2") format("woff2"),url("../fonts/montserrat-regular-webfont.woff") format("woff")}.case-studies,.intro,.coding-projects{background-position:top center;background-repeat:no-repeat;background-size:cover}.button{-webkit-appearance:none;border:2px solid rgba(0,0,0,0);border-radius:4px;cursor:pointer;display:inline-block;font-family:inherit;font-size:.9375rem;font-weight:700;line-height:1;padding:.75em 1.25em;text-align:center;text-decoration:none;transition:background-color .25s ease-out,border-color .25s ease-out,color .25s ease-out;vertical-align:middle}.button:hover,.button:focus{cursor:pointer;text-decoration:none}.button:focus:not(:focus-visible){outline:0}.button:focus-visible{outline:2px solid currentColor;outline-offset:3px}.button.disabled,.button[disabled]{cursor:not-allowed;opacity:.5}.button--primary{background-color:#0b3c67;border-color:#0b3c67;color:#fefefe}.button--primary:hover,.button--primary:focus{background-color:rgb(7.0631578947,38.5263157895,66.1368421053);border-color:rgb(7.0631578947,38.5263157895,66.1368421053);color:#fefefe}.button--primary-light{background:hsla(0,0%,100%,.9);border-color:hsla(0,0%,100%,.9);color:#191936}.button--primary-light:hover,.button--primary-light:focus{background:#fefefe;border-color:#fefefe;color:#191936}.button--primary-dark{background-color:#191936;border-color:#191936;color:#fefefe}.button--primary-dark:hover,.button--primary-dark:focus{background-color:hsl(240,36.7088607595%,7.4901960784%);border-color:hsl(240,36.7088607595%,7.4901960784%);color:#fefefe}.button--secondary{background:rgba(0,0,0,0);border-color:#0b3c67;color:#0b3c67}.button--secondary:hover,.button--secondary:focus{background:rgba(11,60,103,.08);color:#0b3c67}.button--secondary-light{background:rgba(0,0,0,0);border-color:hsla(0,0%,100%,.5);color:#fefefe}.button--secondary-light:hover,.button--secondary-light:focus{background:hsla(0,0%,100%,.12);border-color:#fefefe;color:#fefefe}.button--secondary-dark{background:rgba(0,0,0,0);border-color:#191936;color:#191936}.button--secondary-dark:hover,.button--secondary-dark:focus{background:rgba(25,25,54,.06);color:#191936}*,*::before,*::after{box-sizing:inherit}html{box-sizing:border-box;font-size:100%;-webkit-text-size-adjust:100%}body{background:#191936;color:#0a0a0a;font-family:"Montserrat",sans-serif;font-weight:normal;line-height:1.8;margin:0;padding:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}img{display:inline-block;height:auto;max-width:100%;vertical-align:middle}a{background-color:rgba(0,0,0,0)}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:"Consolas","Liberation Mono","Courier",monospace;font-size:1em;overflow:auto;-webkit-overflow-scrolling:touch}b,strong{font-weight:bolder}code,kbd,samp{font-family:"Consolas","Liberation Mono","Courier",monospace;font-size:1em}small{font-size:80%}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button{-webkit-appearance:none;appearance:none;background:rgba(0,0,0,0);border:0;border-radius:0;cursor:auto;line-height:1;overflow:visible;padding:0;text-transform:none}[type=button],[type=reset],[type=submit]{-webkit-appearance:button;cursor:pointer}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;box-shadow:inset 0 1px 2px rgba(10,10,10,.1);box-sizing:border-box;color:#0a0a0a;display:block;font-family:inherit;font-size:1rem;font-weight:normal;height:2.7375rem;line-height:1.8;margin:0 0 1rem;padding:.5rem;transition:box-shadow .5s,border-color .25s ease-in-out;width:100%}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{background-color:#fefefe;border:1px solid #8a8a8a;box-shadow:0 0 5px #cacaca;outline:2px solid #8a8a8a;outline-offset:1px}textarea{height:auto;max-width:100%;min-height:50px;overflow:auto}select{-webkit-appearance:none;appearance:none;background-color:#fefefe;border:1px solid #cacaca;border-radius:0;box-sizing:border-box;color:#0a0a0a;font-family:inherit;font-size:1rem;height:2.7375rem;line-height:1.8;margin:0 0 1rem;padding:.5rem;width:100%}fieldset{border:0;margin:0;padding:0}.show-for-sr{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.skip-link{background-color:#191936;color:#fefefe;font-weight:700;left:0;padding:.75em 1.25em;position:absolute;top:-100%;z-index:9999}.skip-link:focus{top:0}.row{display:flex;flex-flow:row wrap;margin-left:auto;margin-right:auto;max-width:72.5rem}.row .row{margin-left:calc(1.25rem/-2);margin-right:calc(1.25rem/-2)}@media screen and (min-width: 47.5em){.row .row{margin-left:calc(2.5rem/-2);margin-right:calc(2.5rem/-2)}}.column,.columns{flex:1 1 0;min-width:0;padding-left:calc(1.25rem/2);padding-right:calc(1.25rem/2)}@media screen and (min-width: 47.5em){.column,.columns{padding-left:calc(2.5rem/2);padding-right:calc(2.5rem/2)}}.small-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.small-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.small-3{flex:0 0 25%;max-width:25%}.small-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.small-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.small-6{flex:0 0 50%;max-width:50%}.small-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.small-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.small-9{flex:0 0 75%;max-width:75%}.small-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.small-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.small-12{flex:0 0 100%;max-width:100%}.small-offset-0{margin-left:0%}.small-offset-1{margin-left:8.3333333333%}.small-offset-2{margin-left:16.6666666667%}.small-offset-3{margin-left:25%}.small-offset-4{margin-left:33.3333333333%}.small-offset-5{margin-left:41.6666666667%}.small-offset-6{margin-left:50%}.small-offset-7{margin-left:58.3333333333%}.small-offset-8{margin-left:66.6666666667%}.small-offset-9{margin-left:75%}.small-offset-10{margin-left:83.3333333333%}.small-offset-11{margin-left:91.6666666667%}.small-up-1{flex-wrap:wrap}.small-up-1>.column,.small-up-1>.columns{flex:0 0 100%;max-width:100%}.small-up-2{flex-wrap:wrap}.small-up-2>.column,.small-up-2>.columns{flex:0 0 50%;max-width:50%}.small-up-3{flex-wrap:wrap}.small-up-3>.column,.small-up-3>.columns{flex:0 0 33.3333333333%;max-width:33.3333333333%}.small-up-4{flex-wrap:wrap}.small-up-4>.column,.small-up-4>.columns{flex:0 0 25%;max-width:25%}.small-up-5{flex-wrap:wrap}.small-up-5>.column,.small-up-5>.columns{flex:0 0 20%;max-width:20%}.small-up-6{flex-wrap:wrap}.small-up-6>.column,.small-up-6>.columns{flex:0 0 16.6666666667%;max-width:16.6666666667%}.small-up-7{flex-wrap:wrap}.small-up-7>.column,.small-up-7>.columns{flex:0 0 14.2857142857%;max-width:14.2857142857%}.small-up-8{flex-wrap:wrap}.small-up-8>.column,.small-up-8>.columns{flex:0 0 12.5%;max-width:12.5%}@media screen and (min-width: 47.5em){.medium-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.medium-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.medium-3{flex:0 0 25%;max-width:25%}.medium-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.medium-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.medium-6{flex:0 0 50%;max-width:50%}.medium-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.medium-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.medium-9{flex:0 0 75%;max-width:75%}.medium-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.medium-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.medium-12{flex:0 0 100%;max-width:100%}.medium-offset-0{margin-left:0%}.medium-offset-1{margin-left:8.3333333333%}.medium-offset-2{margin-left:16.6666666667%}.medium-offset-3{margin-left:25%}.medium-offset-4{margin-left:33.3333333333%}.medium-offset-5{margin-left:41.6666666667%}.medium-offset-6{margin-left:50%}.medium-offset-7{margin-left:58.3333333333%}.medium-offset-8{margin-left:66.6666666667%}.medium-offset-9{margin-left:75%}.medium-offset-10{margin-left:83.3333333333%}.medium-offset-11{margin-left:91.6666666667%}.medium-up-1{flex-wrap:wrap}.medium-up-1>.column,.medium-up-1>.columns{flex:0 0 100%;max-width:100%}.medium-up-2{flex-wrap:wrap}.medium-up-2>.column,.medium-up-2>.columns{flex:0 0 50%;max-width:50%}.medium-up-3{flex-wrap:wrap}.medium-up-3>.column,.medium-up-3>.columns{flex:0 0 33.3333333333%;max-width:33.3333333333%}.medium-up-4{flex-wrap:wrap}.medium-up-4>.column,.medium-up-4>.columns{flex:0 0 25%;max-width:25%}.medium-up-5{flex-wrap:wrap}.medium-up-5>.column,.medium-up-5>.columns{flex:0 0 20%;max-width:20%}.medium-up-6{flex-wrap:wrap}.medium-up-6>.column,.medium-up-6>.columns{flex:0 0 16.6666666667%;max-width:16.6666666667%}.medium-up-7{flex-wrap:wrap}.medium-up-7>.column,.medium-up-7>.columns{flex:0 0 14.2857142857%;max-width:14.2857142857%}.medium-up-8{flex-wrap:wrap}.medium-up-8>.column,.medium-up-8>.columns{flex:0 0 12.5%;max-width:12.5%}}@media screen and (min-width: 64em){.large-1{flex:0 0 8.3333333333%;max-width:8.3333333333%}.large-2{flex:0 0 16.6666666667%;max-width:16.6666666667%}.large-3{flex:0 0 25%;max-width:25%}.large-4{flex:0 0 33.3333333333%;max-width:33.3333333333%}.large-5{flex:0 0 41.6666666667%;max-width:41.6666666667%}.large-6{flex:0 0 50%;max-width:50%}.large-7{flex:0 0 58.3333333333%;max-width:58.3333333333%}.large-8{flex:0 0 66.6666666667%;max-width:66.6666666667%}.large-9{flex:0 0 75%;max-width:75%}.large-10{flex:0 0 83.3333333333%;max-width:83.3333333333%}.large-11{flex:0 0 91.6666666667%;max-width:91.6666666667%}.large-12{flex:0 0 100%;max-width:100%}.large-offset-0{margin-left:0%}.large-offset-1{margin-left:8.3333333333%}.large-offset-2{margin-left:16.6666666667%}.large-offset-3{margin-left:25%}.large-offset-4{margin-left:33.3333333333%}.large-offset-5{margin-left:41.6666666667%}.large-offset-6{margin-left:50%}.large-offset-7{margin-left:58.3333333333%}.large-offset-8{margin-left:66.6666666667%}.large-offset-9{margin-left:75%}.large-offset-10{margin-left:83.3333333333%}.large-offset-11{margin-left:91.6666666667%}.large-up-1{flex-wrap:wrap}.large-up-1>.column,.large-up-1>.columns{flex:0 0 100%;max-width:100%}.large-up-2{flex-wrap:wrap}.large-up-2>.column,.large-up-2>.columns{flex:0 0 50%;max-width:50%}.large-up-3{flex-wrap:wrap}.large-up-3>.column,.large-up-3>.columns{flex:0 0 33.3333333333%;max-width:33.3333333333%}.large-up-4{flex-wrap:wrap}.large-up-4>.column,.large-up-4>.columns{flex:0 0 25%;max-width:25%}.large-up-5{flex-wrap:wrap}.large-up-5>.column,.large-up-5>.columns{flex:0 0 20%;max-width:20%}.large-up-6{flex-wrap:wrap}.large-up-6>.column,.large-up-6>.columns{flex:0 0 16.6666666667%;max-width:16.6666666667%}.large-up-7{flex-wrap:wrap}.large-up-7>.column,.large-up-7>.columns{flex:0 0 14.2857142857%;max-width:14.2857142857%}.large-up-8{flex-wrap:wrap}.large-up-8>.column,.large-up-8>.columns{flex:0 0 12.5%;max-width:12.5%}}.modal__overlay{backdrop-filter:blur(11px);background:rgba(0,0,0,.8);bottom:0;left:0;overflow-y:auto;padding:0;position:fixed;right:0;top:0;z-index:1000}@media screen and (min-width: 47.5em){.modal__overlay{padding:2rem 1.5rem}}.modal__container{background:#fefefe;border-radius:0;box-shadow:0 24px 80px rgba(0,0,0,.55);margin:0 auto;max-width:860px;overflow:hidden;padding:0;position:relative;width:100%}@media screen and (min-width: 47.5em){.modal__container{border-radius:8px}}.modal__close-dock{display:flex;height:0;justify-content:flex-end;margin:0 auto;max-width:860px;overflow:visible;padding:0 .75rem;position:sticky;top:.75rem;width:100%;z-index:20}.modal__close{align-items:center;backdrop-filter:blur(4px);background:rgba(0,0,0,.52);border:2px solid hsla(0,0%,100%,.35);border-radius:50%;color:#fefefe;cursor:pointer;display:flex;flex-shrink:0;height:2.375rem;justify-content:center;transition:background .2s;width:2.375rem}.modal__close::before{content:"✕";font-size:1rem;line-height:1}.modal__close:hover{background:rgba(0,0,0,.8)}.modal__close:focus-visible{outline:2px solid #382d8e;outline-offset:2px}.modal__hero-image{border:0;box-shadow:0 -21px 14px 15px #0a0a0a;display:block;height:clamp(11.25rem,40vh,26.25rem);object-fit:cover;object-position:top center;width:100%}.modal__content{color:rgba(0,0,0,.85);line-height:1.7;padding:1.5rem 1.25rem}@media screen and (min-width: 47.5em){.modal__content{padding:2rem}}.modal__header{margin-bottom:1.25rem}.modal__title{font-size:1.25rem;line-height:1.2;margin:0 0 .75rem}@media screen and (min-width: 47.5em){.modal__title{font-size:1.625rem}}.modal__tech-tags{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0;padding:0}.modal__tech-tag{background:rgba(122,106,247,.1);border:1px solid rgba(122,106,247,.35);border-radius:4px;color:#4a3ca0;font-size:.6875rem;font-weight:700;letter-spacing:.3px;line-height:1;padding:.25rem .5rem}.modal__case-study p{font-size:.9375rem;line-height:1.8;margin-bottom:1rem}@media screen and (min-width: 47.5em){.modal__case-study p{font-size:1rem}}.modal__case-study a{color:#0b3c67;font-weight:600}.modal__meta{border-top:1px solid #e6e6e6;margin-top:1.5rem;padding-top:1rem}.modal__meta-item{color:#8a8a8a;font-size:.8125rem;margin:0 0 .25rem}.modal__actions{border-top:1px solid #e6e6e6;margin-top:1.5rem;padding-top:1.25rem}.modal__live-link{background:#191936;border-radius:5px;color:#fefefe;display:inline-block;font-size:.875rem;font-weight:700;padding:.75rem 1.5rem;text-decoration:none;transition:background-color .2s}.modal__live-link:hover,.modal__live-link:focus{background:#2e2a69;color:#fefefe}@keyframes mmfadeIn{from{opacity:0}to{opacity:1}}@keyframes mmfadeOut{from{opacity:1}to{opacity:0}}@keyframes mmslideIn{from{transform:translateY(15%)}to{transform:translateY(0)}}@keyframes mmslideOut{from{transform:translateY(0)}to{transform:translateY(-10%)}}.micromodal-slide{display:none}.micromodal-slide.is-open{display:block}.micromodal-slide[aria-hidden=false] .modal__overlay{animation:mmfadeIn .3s cubic-bezier(0, 0, 0.2, 1)}.micromodal-slide[aria-hidden=false] .modal__container{animation:mmslideIn .3s cubic-bezier(0, 0, 0.2, 1)}.micromodal-slide[aria-hidden=true] .modal__overlay{animation:mmfadeOut .3s cubic-bezier(0, 0, 0.2, 1)}.micromodal-slide[aria-hidden=true] .modal__container{animation:mmslideOut .3s cubic-bezier(0, 0, 0.2, 1)}.micromodal-slide .modal__container,.micromodal-slide .modal__overlay{will-change:transform}.nav-hamburger{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:8px}@media screen and (max-width: 56.25em){.nav-hamburger{display:flex}}.nav-hamburger:focus-visible{outline:2px solid #382d8e;outline-offset:2px}.nav-hamburger__bar{background:#fefefe;border-radius:2px;display:block;height:3px;transition:background .2s;width:24px}.nav-modal__overlay{background:rgba(25,25,54,.97);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.nav-modal__container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:4rem 1.5rem 2.5rem;position:relative}.nav-modal__close{align-items:center;background:hsla(0,0%,100%,.12);border:2px solid hsla(0,0%,100%,.35);border-radius:50%;color:#fefefe;cursor:pointer;display:flex;height:2.75rem;justify-content:center;position:absolute;right:1.25rem;top:1.25rem;transition:background .2s;width:2.75rem}.nav-modal__close::before{content:"✕";font-size:1.125rem;line-height:1}.nav-modal__close:hover{background:hsla(0,0%,100%,.25)}.nav-modal__close:focus-visible{outline:2px solid #382d8e;outline-offset:2px}.nav-modal__container .main-menu{align-items:center;display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0;text-align:center}.nav-modal__container .main-menu li{display:block}.nav-modal__container .main-menu a{color:#fefefe;display:block;font-size:1.375rem;font-weight:700;padding:.625rem 1.5rem;text-transform:uppercase}.nav-modal__container .main-menu a:hover,.nav-modal__container .main-menu a:focus{color:#fff700}.nav-modal__container .main-menu .menu-item--active a{border-bottom:2px solid #fff700;color:#fff700;padding-bottom:calc(0.625rem - 2px)}.nav-modal{display:none}.nav-modal.is-open{display:block}.nav-modal[aria-hidden=false] .nav-modal__overlay{animation:mmfadeIn .25s cubic-bezier(0, 0, 0.2, 1)}.nav-modal[aria-hidden=true] .nav-modal__overlay{animation:mmfadeOut .25s cubic-bezier(0, 0, 0.2, 1)}.nav-modal[aria-hidden=false] .nav-modal__container{animation:mmslideIn .25s cubic-bezier(0, 0, 0.2, 1)}.nav-modal[aria-hidden=true] .nav-modal__container{animation:mmslideOut .25s cubic-bezier(0, 0, 0.2, 1)}.nav-modal .nav-modal__overlay,.nav-modal .nav-modal__container{will-change:transform}.career-timeline{margin:2rem 0 2.625rem;padding-left:1.75rem;position:relative}.career-timeline__item{margin-bottom:1.75rem;position:relative}.career-timeline__item:last-child{margin-bottom:0}.career-timeline__item::before{background:#0b3c67;border-radius:50%;content:"";height:.75rem;left:-1.875rem;position:absolute;top:.25rem;width:.75rem}.career-timeline__item:not(:last-child)::after{border-right:1px dashed #0b3c67;bottom:-1.75rem;content:"";left:-1.54rem;position:absolute;top:1rem}.career-timeline__employer{font-size:1rem;font-weight:800;line-height:1.2;margin:0 0 .125rem}@media screen and (min-width: 47.5em){.career-timeline__employer{font-size:1.125rem}}.career-timeline__role{color:#8a8a8a;font-size:.8125rem;font-weight:700;letter-spacing:.5px;margin:0 0 .375rem;text-transform:uppercase}.career-timeline__description{font-size:.875rem;line-height:1.7;margin:0}@media screen and (min-width: 47.5em){.career-timeline__description{font-size:1rem}}.js-timeline-animate .career-timeline__item{opacity:0;transition:opacity .5s ease var(--reveal-delay, 0s),transform .5s ease var(--reveal-delay, 0s)}@media(prefers-reduced-motion: no-preference){.js-timeline-animate .career-timeline__item{transform:translateX(16px)}}.js-timeline-animate .career-timeline__item.is-visible{opacity:1;transform:none}.skills-list{display:grid;gap:.5rem 1.5rem;grid-template-columns:1fr;margin:1rem 0 .5rem}@media screen and (min-width: 47.5em){.skills-list{grid-template-columns:1fr 1fr}}.skills-list__group{display:flex;flex-direction:column;gap:.25rem}.skills-list__label{font-size:.75rem;font-weight:800;letter-spacing:1.5px;margin:0;text-transform:uppercase}.skills-list__items{color:#8a8a8a;font-size:.875rem;font-weight:400;line-height:1.5;margin:0}@media screen and (min-width: 47.5em){.skills-list__items{font-size:.9375rem}}footer.main{background:url("../images/footer-background.svg") bottom right no-repeat,linear-gradient(to top, rgb(42, 42, 80), rgb(25, 25, 54));color:#fefefe;padding:60px 0;width:100%}footer.main h2{color:#d3d4ff;font-size:.9375rem;font-weight:700;margin-bottom:5px;text-transform:uppercase;line-height:1.8}footer.main p{font-size:.8125rem;font-weight:700;line-height:24px;margin:0}footer.main a{color:#fefefe}footer.main ul{font-size:.8125rem;font-weight:700;line-height:24px;margin:0;padding:0}footer.main li{font-size:.8125rem;font-weight:700;line-height:24px;list-style-type:none;margin-bottom:10px}footer.main strong{font-family:"Montserrat",sans-serif}footer.main hr{margin:20px 0;max-width:100%}footer.main .copyright{text-align:right}footer .sub-footer{color:#d3d4ff;padding-top:4.0625rem}@media screen and (min-width: 64em){footer.main{background:url("../images/footer-background.svg") bottom center no-repeat,linear-gradient(to top, rgb(42, 42, 80), rgb(25, 25, 54))}}@media screen and (max-width: 47.4375em){footer.main{padding:25px 0}footer.main .freelance{margin:30px 0}footer.main .sub-footer,footer.main .copyright{text-align:center}}.coding-projects-page .top-header{border-bottom:2px solid #fefefe}.coding-projects{background-color:#191936;background-image:url("../images/projects-background.webp");background-position:center;padding:60px 0 90px}@media(max-width: 768px){.coding-projects{background-image:url("../images/projects-background-sm.webp")}}.coding-projects__title{color:#fefefe;font-size:1rem;font-weight:900;letter-spacing:4.8px;line-height:1.8;margin-bottom:.5rem;text-align:center;text-transform:uppercase}@media screen and (min-width: 47.5em){.coding-projects__title{font-size:1.875rem}}.coding-projects__subtitle{color:hsla(0,0%,100%,.7);font-size:.8125rem;font-weight:400;letter-spacing:.5px;margin-bottom:3.75rem;text-align:center}@media screen and (min-width: 47.5em){.coding-projects__subtitle{font-size:.9375rem}}.coding-projects .columns{display:flex}.coding-projects__archive-cta{margin-top:1.125rem;text-align:center}.coding-project{backdrop-filter:blur(11px);background:hsla(0,0%,100%,.1);border-radius:10px;border:1px solid hsla(0,0%,100%,.25);box-shadow:0 48px 18px -36px rgba(0,0,0,.18);color:#fefefe;margin-bottom:30px;padding:30px 20px 80px;position:relative;width:100%}.coding-project p{font-size:1rem}.coding-project__title{font-size:1.1875rem;line-height:1;margin:0;text-transform:uppercase}.coding-project strong,.coding-project__subheading{font-size:1.1875rem;line-height:1;text-transform:uppercase;margin-bottom:5px;margin-top:40px}.coding-project__description{font-size:.9375rem;margin-top:0}.coding-project__link{bottom:30px;margin-top:20px;position:absolute;color:#fefefe;font-size:1.1875rem;font-weight:900}@media screen and (max-width: 47.4375em){.coding-project strong,.coding-project__link,.coding-project__title{font-size:1rem}}.no-cssgradients .coding-project{background:#1b162b}body{padding-top:100px}@media screen and (min-width: 56.3125em){body{padding-top:113px}}.top-header{background-color:#191936;border-bottom:3px solid #1b162b;padding:30px 0;position:fixed;top:0;transform:translateZ(0);transition:all .3s;width:100%;z-index:1000}.top-header .logo-name a{align-items:center;display:flex;text-decoration:none}@media screen and (max-width: 56.25em){.top-header .logo-name a{margin:0 16px}}@media screen and (min-width: 56.3125em){.top-header.smaller{padding:5px 0}.top-header.smaller .name{font-size:1.25rem}.top-header.smaller .main-logo{height:28px;width:28px}.top-header.smaller .main-menu{padding:4px 0}}@media screen and (max-width: 56.25em){.top-header{padding:25px 0}.top-header .row{align-items:center;display:flex;flex-wrap:nowrap}.top-header .logo-name{flex:1 1 auto;max-width:none;transition:all .3s;width:auto}.top-header nav{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end;width:auto}.top-header.smaller{padding:5px 0}.top-header.smaller .main-logo{height:28px;width:28px}.top-header.smaller .name{font-size:1.125rem}}.name{color:#fefefe;display:inline-block;font-size:1.5625rem;font-weight:700;line-height:1;margin:11px 0;padding:0;text-transform:uppercase;transition:all .3s}@media screen and (max-width: 56.25em){.name{font-size:1.25rem}}.main-logo{display:inline-block;height:50px;margin-right:12px;transition:all .3s;vertical-align:bottom;width:50px}.nav-modal{display:none}.intro{background-image:url("../images/header-background.webp")}@media(max-width: 768px){.intro{background-image:url("../images/header-background-sm.webp")}}.intro{background-position:center;color:#fefefe;line-height:26px;padding:clamp(150px,8vw,230px) 0;position:relative}.intro:before{background-color:rgba(0,0,0,.12);backdrop-filter:blur(10px);bottom:0;content:"";display:block;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:0;box-shadow:1px 0 1px rgba(195,227,254,.37);transition:left .3s,background-color .3s}@media screen and (min-width: 64em){.intro:before{background-color:hsla(0,0%,100%,.12);left:calc(-50% + 130px)}}.intro>.row{position:relative;z-index:20}.intro .title{font-size:3.75rem;font-weight:800;line-height:1;margin-bottom:1rem;text-transform:capitalize}.intro .line-1{margin:0;font-size:2rem;line-height:1}.intro .line-2{font-size:1rem;margin:1rem 0}.intro .line-3{font-weight:500;margin-top:64px}.intro p{font-size:1.125rem;font-weight:800}.intro__availability{align-items:center;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.25);border-radius:20px;color:#fefefe;display:inline-flex;font-size:.75rem;font-weight:600;gap:.4375rem;letter-spacing:.8px;margin-bottom:1rem;padding:.3125rem .875rem;text-transform:uppercase}.intro__availability-dot{background:#4ade80;border-radius:50%;display:inline-block;flex-shrink:0;height:7px;width:7px}.intro__cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}.intro__headshot-column{display:none}@media screen and (min-width: 64em){.intro__headshot-column{align-items:center;display:flex;justify-content:end}}.intro__headshot{align-items:center;display:flex;justify-content:center}.intro__headshot-img{border:4px solid hsla(0,0%,100%,.35);border-radius:50%;box-shadow:0 8px 32px rgba(0,0,0,.3);height:auto;max-width:17.5rem;width:100%}@media screen and (max-width: 47.4375em){.intro{padding:clamp(150px,8vw,230px) 0 clamp(90px,8vw,230px)}.intro .title{font-size:2.25rem}.intro .line-1{font-size:1.5rem}.intro .line-2{font-size:.875rem}.intro .line-3{font-size:1rem;margin-top:2.25rem}.intro .intro__availability{font-size:.6875rem;padding:.25rem .75rem}.intro .intro__cta{margin-top:1.75rem}}.wrapper{background-color:#e4e4e4;padding:40px 0 70px}@media screen and (min-width: 47.5em){.wrapper{padding:80px 0 90px}}.browserupgrade{background:#f4f4f4;color:#0a0a0a;margin:.2em 0;padding:.2em 0;position:fixed;top:0;width:100%;z-index:2000}.main-menu{margin:0;padding:8px 0;text-align:right}.main-menu li{display:inline;font-size:1rem}.main-menu a{color:#fefefe;display:inline-block;font-size:.875rem;font-weight:700;padding:3px 8px;text-decoration:none;text-transform:uppercase;transition:all .3s}@media screen and (min-width: 64em){.main-menu a{padding:3px 15px}}.main-menu a:hover,.main-menu a:focus{color:rgb(224.4,217.36,0);text-decoration:none}.main-menu .menu-item--active a{border-bottom:2px solid #fff700;color:#fff700;padding-bottom:1px}@media screen and (max-width: 56.25em){.main-menu{display:none}}.nav-hamburger{display:none}@media screen and (max-width: 56.25em){.nav-hamburger{display:flex}}.sidebar{background-color:#fefefe;border-left:3px solid #1b162b;display:none;margin:40px 0 0;padding:35px}@media screen and (min-width: 64em){.sidebar{display:block;margin:0}}.sidebar h2{font-weight:800;line-height:1.8;margin-bottom:0}.sidebar ul{margin-top:0;padding-left:18px}.sidebar li{font-size:1rem;line-height:1.3}.sidebar a{display:block;padding:10px 0}.sidebar .widget:first-child .widget-title{margin-top:0}.widget_categories ul{list-style-type:none;margin:0;padding:0}.widget_categories a{padding-left:50px;position:relative}.widget_categories a::before{background-image:url("../images/icons.svg");background-position:-450px -112px;background-repeat:no-repeat;bottom:50%;content:"";height:30px;left:0;margin-top:-15px;padding-left:30px;position:absolute;top:50%;width:40px}.no-svg .widget_categories a::before{background-image:url("../images/icons.png")}.widget_categories a[href*=css]::before{background-position:-28px -198px}.widget_categories a[href*=docker]::before{background-position:-108px -198px}.widget_categories a[href*=javascript]::before{background-position:-198px -198px}.widget_categories a[href*=webpack]::before{background-position:-280px -198px}.widget_recent_entries ul{list-style-type:none;margin:0;padding:0}.articles-intro{background-color:#d3d4ff;border:1px solid #0072bc;border-radius:4px;font-size:1rem;margin-bottom:30px;padding:20px 25px}.articles-intro a{font-weight:bold}.articles-intro p{margin-bottom:0;margin-top:0}.page-title{font-weight:800}@media screen and (min-width: 47.5em){.page-title{font-size:2.625rem}}.entry-title{font-size:1.375rem;font-weight:800;line-height:1.2;margin:0}.entry-title a{color:#0a0a0a;text-decoration:none}.taxonomy-description p{margin-bottom:40px;margin-top:0}.post-item{margin-bottom:50px;position:relative}.post-item:hover .entry-title{text-decoration:underline;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}.post-item .entry-content{margin:15px 20px 15px 0}.post-item .entry-content p{font-size:.9375rem}.post-item .date-meta{height:100%;padding:20px}.post-item .date-meta span{color:#fefefe;display:block;font-size:1.25rem;font-weight:400;letter-spacing:2px;line-height:1;text-align:right;text-transform:uppercase}@media screen and (min-width: 47.5em){.post-item .date-meta span{font-size:1.875rem}}.post-item .date-meta sup{font-size:.875rem;text-transform:lowercase}.post-item:nth-child(6n+1) .date-meta{background-color:#00808e}.post-item:nth-child(6n+2) .date-meta{background-color:#1e58d2}.post-item:nth-child(6n+3) .date-meta{background-color:#5a28c8}.post-item:nth-child(6n+4) .date-meta{background-color:#9614af}.post-item:nth-child(6n+5) .date-meta{background-color:#c3146e}.post-item:nth-child(6n) .date-meta{background-color:#d22d14}.post-item .post-link{background-color:#fefefe;display:block;overflow:clip;padding:0;transition:background-color .3s,box-shadow .3s}.post-item .post-link:hover,.post-item .post-link:focus{box-shadow:2px 2px 0 1px rgba(0,0,0,.23);text-decoration:none}.post-item .post-link:focus-visible{outline:2px solid #191936;outline-offset:-2px}.post-item .post-link:focus:not(:focus-visible){outline:0}.post-item .post-link p{margin-bottom:0}@media screen and (max-width: 47.4375em){.post-item .date-meta{height:auto;line-height:1;padding:10px 15px}.post-item .date-meta span{display:inline-block;margin-right:5px}.post-item .entry-content{margin:15px}}.entry-meta{font-weight:700;line-height:1.5}.entry-meta p{font-size:.8125rem}.entry-meta time,.entry-meta .author{font-weight:400}.entry-meta span:not(:last-child){margin-right:20px}@media screen and (max-width: 47.4375em){.entry-meta .post-meta{display:block}}.related-posts{border-top:1px solid #e6e6e6;margin-top:2rem;padding-top:1.5rem}.related-posts__title{font-size:1rem;font-weight:700;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.related-posts__list{list-style:none;margin:0;padding:0}.related-posts__item{border-bottom:1px solid #e6e6e6;display:flex;flex-direction:column;gap:.125rem;padding:.625rem 0}@media screen and (min-width: 47.5em){.related-posts__item{align-items:baseline;flex-direction:row;gap:.75rem}}.related-posts__link{color:#0b3c67;font-weight:700;text-decoration:none}.related-posts__link:hover,.related-posts__link:focus{text-decoration:underline}.related-posts__date{color:#8a8a8a;font-size:.8125rem;white-space:nowrap}.post-cta{border-top:1px solid #e6e6e6;margin-top:1.5rem;padding-top:1.25rem}.post-cta p{font-size:.9375rem;margin:0}.post-cta a{font-weight:700}.main-content-block .entry-title{font-weight:800;margin-bottom:30px;text-transform:none}@media screen and (min-width: 47.5em){.main-content-block .entry-title{font-size:2.625rem}}.main-content-block .entry-content{background-color:#fefefe;border-top:3px solid #1b162b;padding:20px}.main-content-block .entry-content>*:first-child{margin-top:0}.main-content-block .entry-content>*:last-child{margin-bottom:0}@media screen and (min-width: 64em){.main-content-block .entry-content{padding:30px}}.main-content-block .entry-content>figure:first-child:not(.alignright):not(.alignleft),.main-content-block .entry-content>img:first-child:not(.alignright):not(.alignleft){margin-top:-20px}@media screen and (min-width: 64em){.main-content-block .entry-content>figure:first-child:not(.alignright):not(.alignleft),.main-content-block .entry-content>img:first-child:not(.alignright):not(.alignleft){margin-top:-30px}}.main-content-block .entry-content>figure:last-child:not(.alignright):not(.alignleft),.main-content-block .entry-content>img:last-child:not(.alignright):not(.alignleft){margin-bottom:-20px}@media screen and (min-width: 64em){.main-content-block .entry-content>figure:last-child:not(.alignright):not(.alignleft),.main-content-block .entry-content>img:last-child:not(.alignright):not(.alignleft){margin-bottom:-30px}}.main-content-block .entry-content>.code-toolbar:first-child{margin-top:-28px}@media screen and (min-width: 64em){.main-content-block .entry-content>.code-toolbar:first-child{margin-top:-38px}}.main-content-block .entry-content>.code-toolbar:last-child{margin-bottom:-28px}@media screen and (min-width: 64em){.main-content-block .entry-content>.code-toolbar:last-child{margin-bottom:-38px}}.main-content-block .entry-content p.small,.main-content-block .entry-content li.small{font-size:.6875rem}@media screen and (min-width: 47.5em){.main-content-block .entry-content p.small,.main-content-block .entry-content li.small{font-size:.8125rem}}.main-content-block .entry-content>p:first-child::first-letter{float:left;font-family:Georgia,serif;font-size:4.6875rem;font-weight:700;line-height:1;margin:-6px 10px -6px -3px;padding:0}@media screen and (min-width: 47.5em){.main-content-block .entry-content>p:first-child::first-letter{font-size:5.625rem}}.main-content-block .entry-content a{font-weight:700}.main-content-block .entry-content img:not(.alignright):not(.alignleft){display:block;margin:0 auto;margin-left:-20px;max-width:calc(100% + 40px)}@media screen and (min-width: 64em){.main-content-block .entry-content img:not(.alignright):not(.alignleft){margin-left:-30px;max-width:calc(100% + 60px)}}.main-content-block .entry-content table{font-size:.875rem}@media screen and (min-width: 47.5em){.main-content-block .entry-content table{font-size:.9375rem}}.main-content-block .entry-content .table-wrapper table{min-width:100%}.main-content-block .entry-content pre[class*=language-].line-numbers{border:0;border-radius:0}.main-content-block .entry-content .cp_embed_wrapper,.main-content-block .entry-content .code-toolbar,.main-content-block .entry-content .video-embed,.main-content-block .entry-content .table-wrapper{margin-left:-20px;margin-right:-20px}@media screen and (min-width: 64em){.main-content-block .entry-content .cp_embed_wrapper,.main-content-block .entry-content .code-toolbar,.main-content-block .entry-content .video-embed,.main-content-block .entry-content .table-wrapper{margin-left:-30px;margin-right:-30px}}.main-content-block .entry-content .video-embed{aspect-ratio:16/9;margin-bottom:1.5rem;margin-top:1.5rem}.main-content-block .entry-content .video-embed iframe{border:none;height:100%;width:100%}.main-content-block .entry-content .video-embed .youtube-facade{cursor:pointer;display:block;height:100%;position:relative;width:100%}.main-content-block .entry-content .video-embed .youtube-facade img{display:block;height:100%;margin:0;object-fit:cover;width:100%}.main-content-block .entry-content .video-embed .youtube-facade__play{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%, -50%);width:4.25rem}.main-content-block .entry-content .video-embed .youtube-facade__play svg{display:block;width:100%}.main-content-block .entry-content .video-embed .youtube-facade__play .youtube-facade__play-bg{fill:#d30600;transition:fill .15s ease}.main-content-block .entry-content .video-embed .youtube-facade__play .youtube-facade__play-arrow{fill:#fefefe}.main-content-block .entry-content .video-embed .youtube-facade:hover,.main-content-block .entry-content .video-embed .youtube-facade:focus-visible{outline:none}.main-content-block .entry-content .video-embed .youtube-facade:hover .youtube-facade__play-bg,.main-content-block .entry-content .video-embed .youtube-facade:focus-visible .youtube-facade__play-bg{fill:#212121}.main-content-block .entry-content .video-embed .youtube-facade:focus-visible{box-shadow:0 0 0 3px #fefefe,0 0 0 5px #0072bc}.related-posts{border-top:1px solid #8a8a8a;margin-top:2rem;padding-top:1.5rem}.related-posts__title{font-size:1rem;font-weight:900;letter-spacing:3px;margin-bottom:1.5rem;text-transform:uppercase}.related-posts .recent-articles__item{border-top-color:#e6e6e6}.related-posts .recent-articles__date{color:#8a8a8a}.related-posts .recent-articles__item-title{font-size:.9375rem}.related-posts .recent-articles__link{color:#0a0a0a}.related-posts .recent-articles__link:hover,.related-posts .recent-articles__link:focus{color:#1b162b}.related-posts .recent-articles__description{color:#0a0a0a;opacity:1;font-size:.75rem}.tags-links{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.tags-links a{background-color:#382d8e;border-radius:30px;color:#fefefe;display:inline-block;font-size:.875rem;font-weight:700;line-height:1.3;margin:3px 0;padding:5px 15px;transition:background-color .3s}.tags-links a:hover,.tags-links a:focus{background-color:rgb(40.7272727273,32.7272727273,103.2727272727);text-decoration:none}.cat-links{align-items:center;display:flex;flex-wrap:wrap;font-weight:600;gap:5px}.page-links{background-color:#1b162b;clear:both;color:#fefefe;font-weight:700;margin:25px 20px 0;padding:5px 15px;position:relative}.page-links a{border-radius:5px;color:#fefefe}.page-links a:hover,.page-links a:focus{background-color:#fefefe;color:#1b162b}.page-links span{display:inline-block;padding:0 10px}.page-links::after,.page-links::before{border:19px solid #1b162b;border-bottom-color:rgba(0,0,0,0);border-top-color:rgba(0,0,0,0);bottom:0;content:"";display:block;height:0;position:absolute;top:0;width:0}.page-links::before{border-left-color:rgba(0,0,0,0);left:-38px}.page-links::after{border-right-color:rgba(0,0,0,0);right:-38px}.post-pagination{overflow:hidden}.post-pagination ul{background-color:#1b162b;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 24px;padding:4px;position:relative;text-align:center}.post-pagination ul::after,.post-pagination ul::before{border:24px solid #1b162b;border-bottom-color:rgba(0,0,0,0);border-top-color:rgba(0,0,0,0);bottom:0;content:"";display:block;height:0;position:absolute;top:0;width:0}.post-pagination ul::before{border-left-color:rgba(0,0,0,0);left:-48px}.post-pagination ul::after{border-right-color:rgba(0,0,0,0);right:-48px}.post-pagination li{display:inline-block;list-style-type:none;margin:0;padding:0}.post-pagination li.active a{background-color:#fefefe;color:#0a0a0a}.post-pagination li.active a:hover{background-color:rgba(254,254,254,.8)}.post-pagination a{border-radius:5px;color:#fefefe;display:block;font-size:.875rem;font-weight:700;padding:6px 9px;transition:background-color .3s}@media screen and (min-width: 47.5em){.post-pagination a{padding:6px 15px}}.post-pagination a:hover,.post-pagination a:focus{background-color:#fefefe;color:#0a0a0a;text-decoration:none}.post-pagination a:focus-visible{outline:2px solid #fefefe;outline-offset:2px}.post-pagination a:focus:not(:focus-visible){outline:0}.case-study .entry-title{margin-bottom:.25rem}.case-study .post-cta{text-align:center}.case-study .entry-content{border-top:none}.case-study .entry-content img{border-top:1px solid rgba(25,25,54,.15);border-bottom:1px solid rgba(25,25,54,.15)}.case-study .entry-content img.case-study__hero-img{border-top:none}@media screen and (min-width: 64em){.case-study-content-col{margin-left:auto;margin-right:auto}}.case-study__back{font-size:.8125rem;font-weight:600;margin-bottom:1.5rem;margin-top:0}.case-study__back a{color:rgb(105.5,105.5,124.35);text-decoration:none;transition:color .2s ease}.case-study__back a:hover{color:#191936}.case-study__tech-tags{margin-top:.75rem}.case-study__hero-img{border-bottom:1px solid #dedede}.case-study__meta{border-bottom:1px solid rgba(25,25,54,.15);border-top:1px solid rgba(25,25,54,.15);color:rgb(89.4,89.4,110.28);margin:2.625rem 0;padding:1rem 0}.case-study__meta p{margin-bottom:.125rem}.case-study__meta p:first-child{margin-top:0}.case-study__meta p:last-child{margin-bottom:0}.case-study__actions{margin-bottom:2rem;margin-top:2rem}a.case-studies__card{text-decoration:none}.more-case-studies{padding:0 0 5rem}@media screen and (max-width: 47.4375em){.more-case-studies{padding:2.5rem 0 3.75rem}}.more-case-studies__title{font-size:1.5rem;font-weight:900;letter-spacing:4.8px;line-height:1.8;margin-bottom:2rem;text-align:center;text-transform:uppercase}.case-studies{background:linear-gradient(to bottom, #e8f5f6, #74a2bf);padding:5rem 0 6.25rem}@media screen and (max-width: 47.4375em){.case-studies{padding:3.75rem 0 5rem}}.case-studies__grid{row-gap:3.125rem}.case-studies__title{font-size:1rem;font-weight:900;letter-spacing:4.8px;line-height:1.8;margin-bottom:.5rem;text-align:center;text-transform:uppercase}@media screen and (min-width: 47.5em){.case-studies__title{font-size:1.875rem}}.case-studies__subtitle{color:rgba(25,25,54,.6);font-size:.8125rem;font-weight:400;letter-spacing:.5px;margin-bottom:2.5rem;text-align:center}@media screen and (min-width: 47.5em){.case-studies__subtitle{font-size:.9375rem}}.case-studies__card{backdrop-filter:blur(11px);background:hsla(0,0%,100%,.88);border:1px solid hsla(0,0%,100%,.25);border-radius:10px;box-shadow:0 48px 18px -36px rgba(0,0,0,.18);color:#191936;cursor:pointer;display:flex;flex-direction:column;font:inherit;height:100%;overflow:hidden;padding:0;text-align:left;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;width:100%}.case-studies__card:hover,.case-studies__card:focus,.case-studies__card:focus-visible{box-shadow:0 58px 28px -46px rgba(0,0,0,.18);outline:none;transform:translateY(-4px) scale(1.06);text-decoration:none}.case-studies__card:hover .case-studies__cta-hint,.case-studies__card:focus .case-studies__cta-hint,.case-studies__card:focus-visible .case-studies__cta-hint{text-decoration:underline}@media screen and (max-width: 47.4375em){.case-studies__card:hover,.case-studies__card:focus,.case-studies__card:focus-visible{transform:translateY(-4px)}}.case-studies__card:focus:not(:focus-visible){outline:none}.case-studies__card:focus-visible{outline:2px solid #191936;outline-offset:2px}.case-studies__image-wrap{box-shadow:0 -21px 14px 15px #0a0a0a;overflow:hidden}.case-studies__image{border:0;display:block;transition:transform .4s ease,filter .2s ease;width:100%}.case-studies__card-body{display:flex;flex-direction:column;flex:1;gap:.625rem;padding:.875rem 1rem}.case-studies__item-title{color:#191936;font-size:.9375rem;font-weight:700;line-height:1.3;margin:0}.case-studies__tags{display:flex;flex-wrap:wrap;gap:.3125rem;list-style:none;margin:0;padding:0}.entry-header .case-studies__tags{margin-bottom:1.875rem}.case-studies__tag{background:rgba(122,106,247,.12);border:1px solid rgba(122,106,247,.35);border-radius:4px;color:#191936;font-size:.5625rem;font-weight:600;line-height:1;padding:.25rem .5rem;white-space:nowrap}.case-studies__cta-hint{color:rgba(25,25,54,.65);font-size:.75rem;font-weight:700;margin-top:auto;padding-bottom:.125rem}.case-studies__archive-header{margin-top:4.5rem;margin-bottom:2.5rem;text-align:center}.case-studies__archive-title{color:#191936;font-size:.875rem;font-weight:900;letter-spacing:4px;margin:0;opacity:.6;text-transform:uppercase}@media screen and (min-width: 47.5em){.case-studies__archive-title{font-size:1.125rem}}.case-studies__archive-cta{margin-top:3rem;text-align:center}.recent-articles{background:#0b3c67;color:#fefefe;padding-bottom:5rem;padding-top:5rem}@media screen and (max-width: 47.4375em){.recent-articles{padding-bottom:3.75rem;padding-top:3.75rem}}.recent-articles__title{font-size:1rem;font-weight:900;letter-spacing:4.8px;line-height:1.8;margin-bottom:3rem;text-align:center;text-transform:uppercase}@media screen and (min-width: 47.5em){.recent-articles__title{font-size:1.875rem}}.recent-articles__item{border-top:1px solid hsla(0,0%,100%,.2);margin-bottom:2rem;padding-top:1.25rem}@media screen and (min-width: 64em){.recent-articles__item{margin-bottom:0}}.recent-articles__date{display:block;font-size:.75rem;font-weight:700;letter-spacing:1.5px;margin-bottom:.5rem;opacity:.6;text-transform:uppercase}.recent-articles__item-title{font-size:1.0625rem;font-weight:700;line-height:1.3;margin-bottom:.625rem}.recent-articles__link{color:#fefefe;text-decoration:none}.recent-articles__link:hover,.recent-articles__link:focus{text-decoration:underline}.recent-articles__description{font-size:.875rem;line-height:1.7;margin:0;opacity:.8}.recent-articles__cta-row{margin-top:2.5rem;text-align:center}@media screen and (orientation: landscape){.top-header,.intro,.coding-projects,.case-studies,.recent-articles,.testimonials,body>.wrapper{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.top-header.smaller,.intro.smaller,.coding-projects.smaller,.case-studies.smaller,.recent-articles.smaller,.testimonials.smaller,body>.wrapper.smaller{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}footer.main{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body>.row{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}.testimonials{background:#191936;color:#fefefe;padding-bottom:5rem;padding-top:5rem}.testimonials__title{font-size:1rem;font-weight:900;letter-spacing:4.8px;line-height:1.8;margin-bottom:3rem;text-align:center;text-transform:uppercase}@media screen and (min-width: 47.5em){.testimonials__title{font-size:1.875rem}}.testimonials__card{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;display:flex;flex-direction:column;justify-content:space-between;margin:0 0 1.5rem;padding:1.75rem 1.5rem}@media screen and (min-width: 64em){.testimonials__card{height:100%;margin-bottom:0}}.testimonials__quote{font-size:1rem;font-style:italic;font-weight:400;line-height:1.7;margin:0 0 1.25rem}.testimonials__attribution{align-items:center;display:flex;gap:.75rem}.testimonials__avatar{border-radius:50%;display:block;flex-shrink:0;height:2.625rem;object-fit:cover;object-position:center top;width:2.625rem}.testimonials__meta{display:flex;flex-direction:column;gap:.125rem}.testimonials__name{font-size:.9375rem;font-style:normal;font-weight:700;line-height:1.2}.testimonials__role{font-size:.8125rem;line-height:1.3;opacity:.7}body{word-wrap:break-word}h1{font-size:1.75rem;text-transform:uppercase}@media screen and (max-width: 47.4375em){h1{font-size:1.25rem}}h2{font-size:1.125rem;line-height:1.2;font-weight:800}@media screen and (min-width: 47.5em){h2{font-size:1.25rem}}p,li{font-size:.875rem}@media screen and (min-width: 47.5em){p,li{font-size:1rem}}p code,li code{background-color:#fefefe;border:1px solid #dedede;display:inline-block;line-height:1.4;overflow-wrap:anywhere;padding:0 10px}blockquote{border-left:2px solid #1b162b;font-style:italic;margin:15px 25px;padding:15px 0 10px 30px}pre{background-color:#e6e6e6;border:1px solid #cacaca;color:#0a0a0a;font-family:"Consolas","Liberation Mono","Courier",monospace;font-weight:normal;padding:.125rem .3125rem .0625rem;white-space:pre-wrap}a{color:#1b162b;text-decoration:none;-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}a:hover,a:focus{text-decoration:underline}.entry-content a:not(.button){color:#382d8e}a[target=_blank]::after{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 2h5v5M10 2L2 10' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center/contain;background-color:currentColor;content:"";display:inline-block;height:.75em;margin-left:3px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 2h5v5M10 2L2 10' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center/contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M5 2h5v5M10 2L2 10' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat center/contain;vertical-align:-0.1em;width:.75em}.button[target=_blank]::after,.post-cta a[target=_blank]::after{display:none}table{border-collapse:collapse;border-spacing:0;margin-bottom:1.5rem;overflow:hidden;width:100%}table caption{caption-side:bottom;color:#8a8a8a;font-size:.8125rem;padding:.5rem 0;text-align:left}table th,table td{border-bottom:1px solid #dedede;padding:.625rem .875rem;text-align:left;vertical-align:top}table thead th{background-color:#1b162b;border-bottom:2px solid #2e2a69;color:#fefefe;font-size:.8125rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}table tbody tr{background-color:#fefefe;transition:background-color .15s ease}table tbody tr:nth-child(even){background-color:#f4f4f4}table tbody tr:hover,table tbody tr:focus-within{background-color:#d3d4ff}table tbody tr:last-child td,table tbody tr:last-child th{border-bottom:none}table tfoot td,table tfoot th{border-top:2px solid #dedede;font-size:.8125rem;font-weight:700}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrapper table{min-width:30rem}.hidden{display:none}.alignright{float:right;margin:0 0 0 25px}.alignleft{float:left;margin:0 25px 0 0}.aligncenter{display:block;margin-left:auto;margin-right:auto}

/*# sourceMappingURL=global-styles.min.css.map */