html {
  color: #050505;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.7; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #050505;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  text-transform: capitalize;
  margin: 0; }

h1 {
  font-size: 1.5em; }

h2 {
  font-size: 1.2em;
  font-weight: 500; }

h3 {
  font-size: 1.125em; }

h4 {
  font-size: 1em; }

ul,
li {
  font-family: "Roboto", sans-serif;
  color: #6A6A6A;
  font-weight: 400;
  margin-bottom: 16px; }

p {
  font-family: "Roboto", sans-serif;
  color: #6A6A6A;
  font-weight: 400;
  margin-bottom: 32px; }

a:visited, a:link, a:active {
  text-decoration: none;
  color: #1d78bd;
  font-weight: 400; }

a:hover {
  color: #03478C; }

blockquote,
figcaption {
  font-size: .75em;
  color: #6A6A6A;
  margin: 0 auto;
  width: 75%;
  text-align: center; }

figure {
  width: 100%;
  margin: 0 auto; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0; }

.container {
  width: 87.2%;
  max-width: 862px;
  margin: 0 auto; }

.row {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-flow: column nowrap;
  justify-content: space-between; }

.box {
  margin-bottom: 4em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.row p {
  -webkit-margin-after: 2em;
          margin-block-end: 2em; }

.cover {
  display: flex;
  height: 450px;
  align-items: center;
  justify-content: center;
  border-radius: 0.25em; }

.images2 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between; }

.center-item {
  align-items: center;
  width: 100%; }

.full {
  width: 100%; }

.half {
  width: 44%; }

/*
  Mobile 4 columns ((3 * 20)+( 4 * 66.75)) / 327
    margin: 24px
    gutter: 20px [0.05333333]
    width: 327px
    column: 66.75px [0.178] => 375 - (3* 20) - (2 * 24) => 267 / 4
    number of gutters: 3
    screen: 375px

    sm-1: 0.20412844
    sm-2: 0.46941896
    sm-3: 0.73470948
    sm-4: 1
*/
.col-sm,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.col-sm-1 {
  flex-basis: 20.412844%;
  max-width: 20.412844%; }

.col-sm-2 {
  flex-basis: 46.941896%;
  max-width: 46.941896%; }

.col-sm-3 {
  flex-basis: 73.470948%;
  max-width: 73.470948%; }

.col-sm-4 {
  flex-basis: 100%;
  max-width: 100%; }

.start-sm {
  justify-content: flex-start;
  text-align: start; }

.center-sm {
  justify-content: center;
  text-align: center; }

.end-sm {
  justify-content: flex-end;
  text-align: end; }

.top-sm {
  align-items: flex-start; }

.middle-sm {
  align-items: center; }

.bottom-sm {
  align-items: flex-end; }

.around-sm {
  justify-content: space-around; }

.between-sm {
  justify-content: space-between; }

.first-sm {
  order: -1; }

.last-sm {
  order: 1; }

/*
  Tablet 8 columns ((6 * 20) + ( 7 * 66.5)) / 672
    margin: 48px
    gutter: 20px [0.0297619]
    width: 672px
    column: 66.5px [0.09895833] => 768 - (7 * 20) - (2 * 48) => 532 / 8
    number of gutters: 7
    screen: 768px

    md-1: 9.89583333%
    md-2: 22.76785714%
    md-3: 35.63988095%
    md-4: 3 * 0.0297619 + 4 * 0.09895833 = 48.51190476%
    md-5: 61.38392857%
    md-6: 74.25595238%
    md-7: 87.12797619%
    md-8: 100%
 */
@media only screen and (min-width: 768px) {
  .container {
    width: 87.5%; }
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .col-md-1 {
    flex-basis: 9.89583333%;
    max-width: 9.89583333%; }
  .col-md-2 {
    flex-basis: 22.76785714%;
    max-width: 22.76785714%; }
  .col-md-3 {
    flex-basis: 35.63988095%;
    max-width: 35.63988095%; }
  .col-md-4 {
    flex-basis: 48.51190476%;
    max-width: 48.51190476%; }
  .col-md-5 {
    flex-basis: 61.38392857%;
    max-width: 61.38392857%; }
  .col-md-6 {
    flex-basis: 74.25595238;
    max-width: 74.25595238; }
  .col-md-7 {
    flex-basis: 87.12797619%;
    max-width: 87.12797619%; }
  .col-md-8 {
    flex-basis: 100%;
    max-width: 100%; }
  .start-md {
    justify-content: flex-start;
    text-align: start; }
  .center-md {
    justify-content: center;
    text-align: center; }
  .end-md {
    justify-content: flex-end;
    text-align: end; }
  .top-md {
    align-items: flex-start; }
  .middle-md {
    align-items: center; }
  .bottom-md {
    align-items: flex-end; }
  .around-md {
    justify-content: space-around; }
  .between-md {
    justify-content: space-between; }
  .first-md {
    order: -1; }
  .last-md {
    order: 1; } }

/*
  Desktop 12 columns ((6 * 24) + (7 * 87.33333333)) / 1312
    margin: 64px
    gutter: 24px [0.01666667]
    width: 1312px
    column: 87.33333333px [0.06064815] => 1440 - (11 * 24) - (2 * 64) =>  / 4
    number of gutters: 11
    total: 1440px

    lg-1: 6.65650406%
    lg-2: 15.14227642%
    lg-3: 23.62804878%
    lg-4: 32.11382114%
    lg-5: 40.59959349%
    lg-6: 49.08536585%
    lg-7: 57.57113821%
    lg-8: 66.05691057%
    lg-9: 74.54268292%
    lg-10: 83.02845528%
    lg-11: 91.51422764%
    lg-12: 100%
*/
@media (min-width: 1440px) {
  .col-lg,
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .col-lg-1 {
    flex-basis: 6.65650406%;
    max-width: 6.65650406%; }
  .col-lg-2 {
    flex-basis: 15.14227642%;
    max-width: 15.14227642%; }
  .col-lg-3 {
    flex-basis: 23.62804878%;
    max-width: 23.62804878%; }
  .col-lg-4 {
    flex-basis: 32.11382114%;
    max-width: 32.11382114%; }
  .col-lg-5 {
    flex-basis: 40.59959349%;
    max-width: 40.59959349%; }
  .col-lg-6 {
    flex-basis: 49.08536585%;
    max-width: 49.08536585%; }
  .col-lg-7 {
    flex-basis: 57.57113821%;
    max-width: 57.57113821%; }
  .col-lg-8 {
    flex-basis: 66.05691057%;
    max-width: 66.05691057%; }
  .col-lg-9 {
    flex-basis: 74.54268292%;
    max-width: 74.54268292%; }
  .col-lg-10 {
    flex-basis: 83.02845528%;
    max-width: 83.02845528%; }
  .col-lg-11 {
    flex-basis: 91.51422764%;
    max-width: 91.51422764%; }
  .col-lg-12 {
    flex-basis: 100%;
    max-width: 100%; }
  .start-lg {
    justify-content: flex-start;
    text-align: start; }
  .center-lg {
    justify-content: center;
    text-align: center; }
  .end-lg {
    justify-content: flex-end;
    text-align: end; }
  .top-lg {
    align-items: flex-start; }
  .middle-lg {
    align-items: center; }
  .bottom-lg {
    align-items: flex-end; }
  .around-lg {
    justify-content: space-around; }
  .between-lg {
    justify-content: space-between; }
  .first-lg {
    order: -1; }
  .last-lg {
    order: 1; } }

.navigation {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: 2em 3em;
  flex: 0 1 auto; }
  .navigation .nav-row {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: flex;
    flex: 0 1 auto;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
    margin: 0; }
  .navigation__items {
    list-style: none;
    margin-left: auto; }
  .navigation__item {
    display: inline;
    margin-right: 24px; }
  .navigation__item a {
    color: #050505;
    text-decoration: none;
    font-weight: 400;
    padding-left: 0.125em;
    padding-right: 0.125em; }
    .navigation__item a:hover {
      color: #03478C; }
  .navigation .icon {
    fill: #1d78bd; }
  .navigation .icon:hover {
    fill: #03478C; }

footer {
  align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 48px 0;
  align-items: center; }
  footer ul {
    color: #6A6A6A;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 16px;
    align-items: center; }
  footer h2 {
    text-align: center; }
  footer .footer a {
    text-decoration: none;
    font-weight: 400;
    padding-left: 0.125em;
    padding-right: 0.125em;
    color: #6A6A6A; }
  footer .icon {
    fill: #1d78bd; }
  footer .icon:hover {
    fill: #03478C; }

.home {
  margin-top: 140px;
  display: -ms-grid;
  display: grid; }
  .home .row > section {
    margin: 96px 0 160px 0; }
  .home .row p {
    margin-block: -0.125em; }
  .home a {
    text-decoration: none; }
  .home .row article {
    margin-bottom: 96px; }
  .home .cover {
    display: flex;
    height: 450px;
    align-items: center;
    justify-content: center;
    border-radius: 0.25em; }
  .home .cover img {
    max-height: 450px;
    width: auto; }
  .home .pink {
    background: #FFA4B6; }
  .home .purple {
    background: #AC93E6; }
  .home .green {
    background: #78BF30; }
  .home .navy {
    background: #125887; }
  @media (min-width: 320px) {
    .home .cover img {
      max-width: 100%; } }
  @media (min-width: 1024px) {
    .home {
      padding: 0 48px; } }
  .home__case-studies {
    margin: 6em 0;
    display: flex;
    flex-direction: column;
    align-items: center; }

.story {
  margin-top: 140px; }
  .story img {
    width: 100%;
    height: auto; }

.case-study .page-cover {
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center; }

.case-study .hiit-bg-color {
  background: #78BF30;
  display: flex; }

.case-study .gitlab-bg-color {
  background: #AC93E6; }

.case-study .uxd-bg-color {
  background-color: #FFA4B6;
  display: flex; }

.case-study .data-migration-bg-color {
  background: #125887; }

.case-study .page-cover img {
  -o-object-fit: cover;
     object-fit: cover; }

.case-study .project-description {
  margin: 64px 0; }

.case-study .image-row {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  justify-content: space-evenly; }

.case-study img {
  width: 100%;
  height: auto; }

.case-study .page-cover .contain {
  -o-object-fit: contain;
     object-fit: contain;
  width: 75%; }

.case-study hr {
  margin: 32px auto; }

.case-study .quote {
  padding: 3.3vmax;
  text-align: center;
  font-size: 1.5em; }

.case-study section {
  margin: 0 auto; }

.case-study section img,
.case-study figure {
  margin: 24px auto; }

.case-study h4 {
  margin-top: 16px; }
