@charset "UTF-8";
.util-remove-child-margins > :first-child {
  margin-top: 0; }

.util-remove-child-margins > :last-child {
  margin-bottom: 0; }

.util-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.util-sr-only-focusable:active, .util-sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  white-space: normal;
  clip-path: none; }

@-ms-viewport {
  width: device-width;
  zoom: 1.0; }

@-o-viewport {
  width: device-width;
  zoom: 1.0; }

@viewport {
  width: device-width;
  zoom: 1.0; }

body {
  background-color: #fbf8f4;
  color: #58595b;
  font-family: "Supra W01", sans-serif;
  line-height: 1.5;
  margin: 0; }

a {
  color: inherit; }
  a img {
    border: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400; }

figcaption {
  font-size: smaller;
  font-style: italic; }

iframe {
  width: 1px;
  min-width: 100%; }

ins {
  display: inline-block;
  color: #191;
  background: #cfc;
  font-size: inherit;
  vertical-align: top; }

code,
kbd,
output,
samp {
  background-color: #fff;
  box-shadow: rgba(22, 22, 21, 0.125) 0.125em 0.125em 0;
  display: inline-block;
  font-family: "Operator Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
  margin: -0.0625em 0.125em;
  padding: 0.0625em 0.25em; }
  a code, a
  kbd, a
  output, a
  samp {
    color: #cc5e51; }
  a:focus code,
  a:hover code, a:focus
  kbd,
  a:hover
  kbd, a:focus
  output,
  a:hover
  output, a:focus
  samp,
  a:hover
  samp {
    color: #aa3c2f;
    box-shadow: rgba(22, 22, 21, 0.25) 0.125em 0.125em 0; }

pre {
  background-color: #fff;
  box-shadow: rgba(22, 22, 21, 0.125) 0.25em 0.25em 0;
  overflow: auto; }
  pre > code,
  pre > kbd,
  pre > output,
  pre > samp {
    background-color: transparent;
    box-shadow: none;
    display: block;
    margin: 0;
    padding: 1rem; }

mark {
  background-color: #f6f29d;
  display: inline-block;
  margin: -0.0625em 0.125em;
  padding: 0.0625em 0.25em; }

.prettyprint ins span {
  -webkit-text-size-adjust: none; }

cite {
  font-style: normal; }

iframe {
  border: 0; }

img {
  max-width: 100%; }

sup {
  line-height: 1; }

#comments {
  padding: 2em 0; }

/*
label {
  color: $dark-grey;
  display: block;
  font-family: $alt-font-stack;
  font-size: $l-font-size;
  margin: 0.5em 0 0.2em;
}

input[type=text],
input[type=email],
textarea {
  background: $white;
  border: solid 1px $light-grey;
  box-sizing: border-box;
  color: $pure-black;
  display: block;
  font-family: $alt-font-stack;
  font-size: $l-font-size;
  padding: 0.6em;
  width: 100%;
}

input[type=text],
input[type=email] {
  margin: 0.2em 0 1em;
}

textarea {
  height: 6em;
}
*/
p a {
  text-decoration: underline; }

.downcase {
  text-transform: lowercase; }

.hidden {
  display: none !important; }

@media screen and (max-width: 690px) {
  .hidden-sm {
    display: none !important; } }

@media screen and (max-width: 534px) {
  .hidden-xs {
    display: none !important; } }

hr {
  border: 1px solid #ddd;
  border-width: 1px 0 0;
  margin-bottom: 2rem;
  margin-top: 2rem; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

.sr-only-focusable {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }
  .sr-only-focusable:active, .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    clip-path: none; }

.clearfix {
  position: relative;
  clear: both; }

.l-container {
  position: relative;
  max-width: 1080px;
  margin-right: auto;
  margin-left: auto; }
  .l-container--padded {
    padding-bottom: 4rem;
    padding-top: 4rem; }
    .l-container--padded .banner:last-child {
      margin-bottom: -4rem; }

@media screen and (max-width: 1120px) {
  .l-container {
    margin-right: 20px;
    margin-left: 20px; } }

.row {
  display: -ms-flexbox;
  -ms-flex-flow: row wrap;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  clear: both;
  margin-right: -20px;
  margin-left: -20px; }

.row--tight {
  margin-right: -10px;
  margin-left: -10px; }
  .row--tight > .column {
    padding: 0 10px; }

.column {
  box-sizing: border-box;
  padding: 0 20px;
  margin-right: 0;
  margin-left: 0; }

.column-0 {
  width: 0;
  padding: 0; }

.column-1 {
  width: 8.33333%; }

.column-2 {
  width: 16.66667%; }

.column-3 {
  width: 25%; }

.column-4 {
  width: 33.33333%; }

.column-5 {
  width: 41.66667%; }

.column-6 {
  width: 50%; }

.column-7 {
  width: 58.33333%; }

.column-8 {
  width: 66.66667%; }

.column-9 {
  width: 75%; }

.column-10 {
  width: 83.33333%; }

.column-11 {
  width: 91.66667%; }

.column-12 {
  width: 100%; }

@media screen and (min-width: 900px) {
  .row--reverse {
    -ms-flex-flow: row-reverse wrap;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; } }

@media screen and (max-width: 900px) {
  .row--reverse-md {
    -ms-flex-flow: row-reverse wrap;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .column-md-0 {
    width: 0;
    padding: 0; }
  .column-md-1 {
    width: 8.33333%; }
  .column-md-2 {
    width: 16.66667%; }
  .column-md-3 {
    width: 25%; }
  .column-md-4 {
    width: 33.33333%; }
  .column-md-5 {
    width: 41.66667%; }
  .column-md-6 {
    width: 50%; }
  .column-md-7 {
    width: 58.33333%; }
  .column-md-8 {
    width: 66.66667%; }
  .column-md-9 {
    width: 75%; }
  .column-md-10 {
    width: 83.33333%; }
  .column-md-11 {
    width: 91.66667%; }
  .column-md-12 {
    width: 100%; } }

@media screen and (max-width: 690px) {
  .row--reverse-sm {
    -ms-flex-flow: row-reverse wrap;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .column-sm-0 {
    width: 0;
    padding: 0; }
  .column-sm-1 {
    width: 8.33333%; }
  .column-sm-2 {
    width: 16.66667%; }
  .column-sm-3 {
    width: 25%; }
  .column-sm-4 {
    width: 33.33333%; }
  .column-sm-5 {
    width: 41.66667%; }
  .column-sm-6 {
    width: 50%; }
  .column-sm-7 {
    width: 58.33333%; }
  .column-sm-8 {
    width: 66.66667%; }
  .column-sm-9 {
    width: 75%; }
  .column-sm-10 {
    width: 83.33333%; }
  .column-sm-11 {
    width: 91.66667%; }
  .column-sm-12 {
    width: 100%; } }

@media screen and (max-width: 534px) {
  .row--reverse-xs {
    -ms-flex-flow: row-reverse wrap;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; }
  .column-xs-0 {
    width: 0;
    padding: 0; }
  .column-xs-1 {
    width: 8.33333%; }
  .column-xs-2 {
    width: 16.66667%; }
  .column-xs-3 {
    width: 25%; }
  .column-xs-4 {
    width: 33.33333%; }
  .column-xs-5 {
    width: 41.66667%; }
  .column-xs-6 {
    width: 50%; }
  .column-xs-7 {
    width: 58.33333%; }
  .column-xs-8 {
    width: 66.66667%; }
  .column-xs-9 {
    width: 75%; }
  .column-xs-10 {
    width: 83.33333%; }
  .column-xs-11 {
    width: 91.66667%; }
  .column-xs-12 {
    width: 100%; } }

.img-left {
  float: left;
  margin: 0 1em 1em 0; }

.img-right {
  float: right;
  margin: 0 0 1em 1em; }

.img-left.column,
.img-right.column {
  padding: 0; }

.embed {
  position: relative;
  width: 100%;
  height: 0; }
  .embed[data-ratio="4:3"] {
    padding-bottom: 75%; }
  .embed[data-ratio="16:10"] {
    padding-bottom: 62.5%; }
  .embed[data-ratio="16:9"] {
    padding-bottom: 56.25%; }
  .embed[data-ratio="2:1"] {
    padding-bottom: 50%; }
  .embed > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

table {
  width: 100%;
  font-size: 80%;
  border-collapse: collapse; }

table, td, th {
  font-family: inherit;
  -moz-font-feature-settings: "lnum" 1, "tnum" 1;
  -moz-font-feature-settings: "lnum=1, tnum=1";
  -ms-font-feature-settings: "lnum" 1, "tnum" 1;
  -o-font-feature-settings: "lnum" 1, "tnum" 1;
  -webkit-font-feature-settings: "lnum" 1, "tnum" 1;
  font-feature-settings: "lnum" 1, "tnum" 1; }

th {
  text-align: left; }

tbody > tr:nth-child(odd) {
  background: #d1d3d3; }

.caret {
  display: inline-block;
  width: .8485281374em;
  height: .8485281374em;
  vertical-align: baseline; }
  .caret:after {
    display: block;
    width: calc(.6em - 4px);
    height: calc(.6em - 4px);
    border: solid 2px;
    border-top-color: transparent;
    border-right-color: transparent;
    margin: .155em;
    content: "";
    transform: rotate(-45deg); }
  .caret.open {
    vertical-align: top; }
  .caret.open:after {
    transform: rotate(135deg); }

.section-header {
  padding: 100px 0 100px;
  text-align: center; }

.section-header p {
  font-size: 1.5rem; }

.section-header > h2 {
  color: #004876;
  font-size: 54px;
  line-height: 1.25; }

@media screen and (max-width: 768px) {
  .section-header {
    padding: 80px 0;
    padding: 8vh 0; }
    .section-header > h2 {
      font-size: 42px; } }

@media screen and (max-width: 534px) {
  .section-header {
    padding: 5vh 0; }
    .section-header > h2 {
      font-size: 28px; } }

.app-store {
  display: inline-block;
  overflow: hidden;
  min-width: 135px;
  min-height: 40px;
  background: url(./images/app-store.svg) no-repeat;
  text-indent: -100%;
  white-space: nowrap; }

.archive-list,
.tag-list {
  padding: 0;
  margin: 0 0 40px;
  list-style: none; }
  .archive-list > li,
  .tag-list > li {
    padding: 0;
    margin: 0 0 .2em; }

.home-taglines-wrapper {
  position: relative;
  background-color: #004876; }

.home-header {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  min-height: 80vh;
  padding: 128px 8% 368px;
  color: #000;
  font-size: 2rem;
  font-weight: 300; }
  .home-header br {
    display: none; }
  @media (min-width: 534px) {
    .home-header .phone-up {
      display: initial; } }
  @media (min-width: 900px) {
    .home-header .tablet-portrait-up {
      display: initial; } }
  .home-header .text-heading-1,
  .home-header .text-heading-2 {
    color: #000; }
  .home-header .text-heading-1 {
    margin-bottom: 0.25em;
    text-align: left; }
  .home-header .text-heading-2 {
    font-family: "Supra W01", sans-serif;
    font-weight: 300;
    margin: 0 0 170px; }
    .home-header .text-heading-2 em {
      display: inline-block;
      padding: 0 5px;
      margin: 0 -5px;
      background: #EEDB22;
      background: rgba(238, 219, 34, 0.8);
      font-style: normal; }

@media screen and (max-width: 1000px) {
  .home-header {
    padding-top: 10vh;
    padding-bottom: 10vh; } }

@media screen and (max-width: 534px) {
  .home-header {
    min-height: 80vh;
    box-sizing: border-box;
    padding: 80px 5% 10vh;
    font-size: 1.5rem;
    overflow: hidden; } }

.casestudy-container {
  max-width: 1020px;
  display: block;
  margin: 0 auto;
  font-weight: 300; }
  .casestudy-container::after {
    clear: both;
    content: "";
    display: block; }
  .casestudy-container b {
    font-weight: 700; }
  .casestudy-container strong {
    font-weight: 700; }

.casestudy-grid {
  margin: 2em 0; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-grid {
      left: calc(6.25% - 1.0625em + 1em);
      position: relative;
      width: calc(87.5% - 1.875em);
      float: left;
      margin-left: 1em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-grid {
      width: calc(83.33333% - 36.66667px);
      float: left;
      margin-left: 20px;
      left: calc(8.33333% - 21.66667px + 20px);
      position: relative; } }

.casestudy-full-bg {
  width: 100%;
  height: auto;
  overflow: auto;
  margin: 0 auto;
  color: #fbf8f4; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-full-bg {
      padding-top: 0;
      padding-bottom: 2em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-full-bg {
      padding-top: 3em;
      padding-bottom: 6em; } }

/* full backgrounds */
.casestudy-dark-bg {
  background: #003252; }

.casestudy-darker-bg {
  background: #00192a; }

.casestudy-light-bg {
  background: #c5d7e3; }

.casestudy-header {
  height: 30em;
  position: relative;
  z-index: 0; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-header {
      height: 16em;
      background-size: 150%; } }

.casestudy-work-description {
  font-size: .8em;
  color: #004876;
  border-top: #0067a9 1px solid; }

.casestudy-header-aal {
  background: #e5e4e2 url("../../../../assets/aal-header-bg.jpg") fixed no-repeat; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-header-aal {
      background-position: 40% 0%;
      background-size: 150%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-header-aal {
      background-position: 40% 60%;
      background-size: 130%; } }

.casestudy-header-bb {
  background: #000 url("../../../../assets/blackbird-header.jpg") fixed no-repeat; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-header-bb {
      background-position: 40% 0%;
      background-size: 150%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-header-bb {
      background-size: cover;
      background-position: top right; } }

.casestudy-header-sc {
  background: #ffffff url("../../../../assets/sc-header-bg.png") fixed no-repeat; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-header-sc {
      background-position: 20% 0%;
      background-size: 200%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-header-sc {
      background-position: 0% 0%;
      background-size: 130%; } }

.casestudy-intro-text .text-heading-1 {
  margin-bottom: .2em; }

.casestudy-intro-text .text-heading-5 {
  margin: 0;
  color: #002943; }

.casestudy-header-logo {
  height: 2em;
  position: absolute;
  top: 12em;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  text-align: center;
  z-index: 500; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-header-logo {
      top: 6.3em;
      left: calc(6.25% - 1.0625em + 1em);
      position: relative;
      width: calc(87.5% - 1.875em);
      float: left;
      margin-left: 1em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-header-logo {
      width: calc(66.66667% - 33.33333px);
      float: left;
      margin-left: 20px;
      left: calc(16.66667% - 23.33333px + 20px);
      position: relative; } }
  .casestudy-header-logo img {
    margin: 0 auto;
    vertical-align: middle; }

.casestudy-headline {
  text-transform: uppercase;
  font-size: 2.8em;
  font-weight: 300 !important;
  margin-top: .5em;
  margin-bottom: .5em;
  color: #002943;
  text-align: center; }
  .casestudy-headline span {
    text-transform: none; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-headline {
      font-size: 2.1em; } }

.casestudy-services {
  color: #002c48;
  font-size: .7em;
  text-align: center;
  letter-spacing: .06em;
  padding: 1.4em 0 .3em;
  margin: 6rem auto 0;
  border-top: 1px solid #ddd; }
  .casestudy-services h5 {
    font-size: 1.8em;
    text-transform: uppercase;
    margin: .3em 0 .5em 0; }
    .casestudy-services h5:before {
      width: 22px;
      height: 22px;
      content: "";
      display: inline-block;
      margin: 0 5px -4px 0;
      background: url("../../../../assets/i-blue-logo.png") center center no-repeat;
      background-size: 100%; }
  .casestudy-services p {
    line-height: 1.6em;
    margin: .3em auto 0 auto; }
    @media screen and (min-width: 320px) and (max-width: 800px) {
      .casestudy-services p {
        font-size: 1.4em;
        width: 100%; } }
    @media only screen and (min-width: 801px) {
      .casestudy-services p {
        font-size: 1.6em;
        width: 70%; } }

.casestudy-goals-bb {
  height: 33em;
  background: #00192c url("../../../../assets/blackbird-goals.jpg") center left no-repeat;
  background-size: 130%;
  color: #fbf8f4;
  z-index: 0; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-goals-bb {
      height: auto;
      background-size: 150%; }
      .casestudy-goals-bb ol {
        font-size: 1.2em;
        line-height: 1.8em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-goals-bb ol {
      font-size: 1.68em;
      line-height: 1.8em; } }
  .casestudy-goals-bb h2 {
    color: #fbf8f4; }
  .casestudy-goals-bb ol {
    list-style-type: decimal;
    font-weight: 300; }
    .casestudy-goals-bb ol li {
      margin-bottom: .8em; }

.casestudy-steps-pain {
  background: #003252 url("../../../../assets/aal-spec-comp-bg.png") 112% 20% repeat fixed;
  background-size: 27%; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-steps-pain aside {
      margin: 2em 1em 0 -1em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-steps-pain aside {
      margin-top: 1em; } }

.casestudy-steps-solution {
  background: #003252; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-steps-solution aside {
      margin: 3em 1em 0 -1em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-steps-solution aside {
      margin-top: 7em; } }

casestudy-steps-solution-list {
  margin-top: -15em; }

@media only screen and (min-width: 801px) {
  .casestudy-steps .casestudy-steps-intro {
    left: calc(0% - 20px + 20px);
    position: relative;
    width: calc(75% - 35px);
    float: left;
    margin-left: 20px; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-steps .casestudy-steps-list {
    left: calc(0% - 1em + 1em);
    position: relative;
    width: calc(100% - 2em);
    float: left;
    margin-left: 1em; }
    .casestudy-steps .casestudy-steps-list img {
      padding-right: 1.5em; } }

@media only screen and (min-width: 801px) {
  .casestudy-steps .casestudy-steps-list {
    width: calc(100% - 40px);
    float: left;
    margin-left: 20px; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-steps aside {
    left: calc(0% - 1em + 1em);
    position: relative;
    width: calc(31.25% - 1.3125em);
    float: left;
    margin-left: 1em; }
    .casestudy-steps aside img {
      padding-right: 1.5em; } }

@media only screen and (min-width: 801px) {
  .casestudy-steps aside {
    width: calc(25% - 25px);
    float: left;
    margin-left: 20px; } }

.casestudy-callout-aal {
  background: #003D5E url("../../../../assets/aal-illo.jpg") no-repeat;
  box-shadow: inset 0px 0px 51px -5px rgba(0, 0, 0, 0.2); }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-aal {
      background-size: 149%;
      background-position: 50% 80%; }
      .casestudy-callout-aal aside {
        width: calc(50% - 1.5em);
        float: left;
        margin-left: 1em;
        left: calc(25% - 1.25em + 1em);
        position: relative; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-aal {
      background-size: 70%;
      background-position: 120% 50%;
      height: 25em; }
      .casestudy-callout-aal aside {
        margin-top: 3em; } }

.casestudy-callout-bb {
  background: #fff url("../../../../assets/blackbird-taco-bg.png") bottom left repeat fixed;
  box-shadow: inset 0px 0px 51px -5px rgba(0, 0, 0, 0.5);
  padding: 2em 0; }
  .casestudy-callout-bb::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-bb aside {
      width: calc(25% - 1.25em);
      float: left;
      margin-left: 1em;
      left: calc(37.5% - 1.375em + 1em);
      position: relative; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-bb aside {
      margin-top: 2em;
      left: calc(16.66667% - 23.33333px + 20px);
      position: relative;
      width: calc(25% - 25px);
      float: left;
      margin-left: 20px; } }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-bb article {
      width: calc(87.5% - 1.875em);
      float: left;
      margin-left: 1em;
      left: calc(6.25% - 1.0625em + 1em);
      position: relative; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-bb article {
      width: calc(41.66667% - 28.33333px);
      float: left;
      margin-left: 20px;
      left: calc(16.66667% - 23.33333px + 20px);
      position: relative; } }

.casestudy-screenshot-sc {
  width: calc(83.33333% - 36.66667px);
  float: left;
  margin-left: 20px;
  left: calc(8.33333% - 21.66667px + 20px);
  position: relative; }

.casestudy-callout-sc {
  background: #d07582 url("../../../../assets/sc-goals-bg.png") fixed no-repeat;
  color: #fbf8f4; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-sc {
      background-size: 140%;
      background-position: 0% 0%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-sc {
      background-size: contain;
      background-position: 0% 20%; } }
  .casestudy-callout-sc h2 {
    color: #fbf8f4; }
  .casestudy-callout-sc::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-sc aside {
      width: calc(62.5% - 1.625em);
      float: left;
      margin-left: 1em;
      left: calc(18.75% - 1.1875em + 1em);
      position: relative; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-sc aside {
      margin: 2em auto;
      left: calc(0% - 20px + 20px);
      position: relative;
      width: calc(33.33333% - 26.66667px);
      float: left;
      margin-left: 20px; } }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-callout-sc article {
      width: calc(100% - 2em);
      float: left;
      margin-left: 1em;
      left: calc(0% - 1em + 1em);
      position: relative;
      background-size: 150%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-callout-sc article {
      width: calc(66.66667% - 33.33333px);
      float: left;
      margin-left: 20px;
      left: calc(0% - 20px + 20px);
      position: relative;
      background-size: 100%;
      margin-top: .4em; } }

.casestudy-btn {
  margin: 3em auto;
  text-align: center; }
  .casestudy-btn a {
    transition: all 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    padding: .7em 4em;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #fbf8f4;
    background-color: #20a2c6;
    border: solid 1px #7cd2ea;
    white-space: nowrap; }
    @media screen and (min-width: 320px) and (max-width: 800px) {
      .casestudy-btn a {
        transition: all 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53);
        padding: .7em 2em;
        font-size: 1em; } }
    @media only screen and (min-width: 801px) {
      .casestudy-btn a {
        padding: .7em 4em;
        font-size: 1.3em; } }
  .casestudy-btn a:hover {
    background-color: #50c3e3;
    transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    cursor: hand !important; }
  .casestudy-btn a:focus {
    cursor: hand !important; }

.casestudy-screenshot {
  margin-top: 1em;
  margin-bottom: 2em; }
  .casestudy-screenshot::after {
    clear: both;
    content: "";
    display: block; }

.casestudy-wireframes {
  background: url("../../../../assets/blackbird-wireframes.jpg") center top no-repeat;
  height: 18em;
  width: 100%;
  box-shadow: inset 0px 0px 51px -5px rgba(0, 50, 82, 0.6); }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-wireframes {
      background-size: 130%;
      background-size: scroll; } }
  @media only screen and (min-width: 801px) {
    .casestudy-wireframes {
      background-size: cover;
      background-attachment: fixed; } }

.casestudy-quote::after {
  clear: both;
  content: "";
  display: block; }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote blockquote {
    width: calc(100% - 2em);
    float: left;
    margin-left: 1em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote blockquote {
    width: calc(66.66667% - 33.33333px);
    float: left;
    margin-left: 20px;
    margin-right: 0; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote .casestudy-quote-first h5 {
    font-size: 1.63em;
    line-height: 1.54em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote .casestudy-quote-first h5 {
    font-size: 1.87em;
    line-height: 1.5; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote .casestudy-quote-second h5 {
    font-size: 1.33em;
    line-height: 1.54em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote .casestudy-quote-second h5 {
    font-size: 1.58em;
    line-height: 1.45em; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote .casestudy-quote-aal h5 {
    font-size: 1.23em;
    line-height: 1.34em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote .casestudy-quote-aal h5 {
    font-size: 1.5em;
    line-height: 1.52em; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote .casestudy-quote-sc h5 {
    font-size: 1.23em;
    line-height: 1.34em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote .casestudy-quote-sc h5 {
    font-size: 2em;
    line-height: 1.52em; } }

.casestudy-quote .casestudy-byline {
  letter-spacing: .8em;
  text-transform: uppercase;
  margin-left: .24em; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-quote .casestudy-byline {
      font-size: .8em;
      letter-spacing: .03em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-quote .casestudy-byline {
      font-size: .86em;
      letter-spacing: .1em;
      margin-top: 1.5em; } }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote aside {
    width: calc(50% - 1.5em);
    float: left;
    margin-left: 1em;
    left: calc(25% - 1.25em + 1em);
    position: relative;
    margin: 0 auto; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote aside {
    width: calc(33.33333% - 26.66667px);
    float: left;
    margin-left: 20px; }
    .casestudy-quote aside img {
      margin-top: .5em; } }

.casestudy-quote blockquote {
  position: relative;
  quotes: "“" "”" "‘" "’";
  /* two pairs */ }
  .casestudy-quote blockquote h5 {
    padding: 0;
    margin: 0;
    font-weight: 300 !important; }
  .casestudy-quote blockquote h5:before {
    font-weight: 300;
    font-size: 1.2em;
    line-height: .1em;
    margin-left: -.5em;
    padding-right: .1em;
    content: open-quote;
    display: inline-block;
    vertical-align: middle; }
  .casestudy-quote blockquote h5:after {
    font-weight: 300;
    font-size: 1.2em;
    line-height: .1em;
    content: close-quote;
    display: inline-block;
    vertical-align: middle; }

.casestudy-quote-inline::after {
  clear: both;
  content: "";
  display: block; }

@media screen and (min-width: 320px) and (max-width: 800px) {
  .casestudy-quote-inline .casestudy-quote-sc-2 h5 {
    font-size: 1.23em;
    line-height: 1.34em; } }

@media only screen and (min-width: 801px) {
  .casestudy-quote-inline .casestudy-quote-sc-2 h5 {
    margin-top: 2em;
    font-size: 1.76em;
    line-height: 1.4em; } }

.casestudy-quote-inline .casestudy-byline {
  letter-spacing: .8em;
  text-transform: uppercase;
  margin-left: .24em; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-quote-inline .casestudy-byline {
      font-size: .8em;
      letter-spacing: .03em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-quote-inline .casestudy-byline {
      font-size: .92em;
      letter-spacing: .14em;
      margin-top: 1.5em; } }

.casestudy-quote-inline blockquote {
  position: relative;
  quotes: "“" "”" "‘" "’";
  /* two pairs */ }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-quote-inline blockquote {
      width: calc(100% - 2em);
      float: left;
      margin-left: 1em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-quote-inline blockquote {
      width: calc(83.33333% - 36.66667px);
      float: left;
      margin-left: 20px;
      left: calc(8.33333% - 21.66667px + 20px);
      position: relative; } }
  .casestudy-quote-inline blockquote h5 {
    padding: 0;
    margin: 0;
    font-weight: 300 !important; }
  .casestudy-quote-inline blockquote h5:before {
    font-weight: 300;
    font-size: 1.2em;
    line-height: .1em;
    margin-left: -.5em;
    padding-right: .1em;
    content: open-quote;
    display: inline-block;
    vertical-align: middle; }
  .casestudy-quote-inline blockquote h5:after {
    font-weight: 300;
    font-size: 1.2em;
    line-height: .1em;
    content: close-quote;
    display: inline-block;
    vertical-align: middle; }

.casestudy-specs {
  color: #fbf8f4;
  padding: 1em 0 2em; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-specs p {
      font-size: 1em;
      line-height: 1.5em;
      letter-spacing: .06em; } }
  @media only screen and (min-width: 801px) {
    .casestudy-specs h3 {
      font-size: 1.7em; } }
  .casestudy-specs h3 {
    margin: 0 0 -.3em 0;
    padding: 0; }
  .casestudy-specs .casestudy-specs-column-one {
    width: calc(33.33333% - 26.66667px);
    float: left;
    margin-left: 20px; }
  .casestudy-specs .casestudy-specs-column-two {
    width: calc(66.66667% - 33.33333px);
    float: left;
    margin-left: 20px;
    left: calc(8.33333% - 21.66667px + 20px);
    position: relative; }

.casestudy-specs-aal {
  color: #fbf8f4; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-specs-aal {
      background: #141718 url("../../../../assets/aal-students-bg.jpg") 80% 100% no-repeat;
      background-size: cover; } }
  @media only screen and (min-width: 801px) {
    .casestudy-specs-aal {
      background: #141718 url("../../../../assets/aal-students-bg.jpg") 90% 40% no-repeat;
      background-size: cover; } }
  .casestudy-specs-aal h2 {
    color: #fbf8f4; }

.casestudy-specs-bb {
  color: #fbf8f4; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-specs-bb {
      background: #141718 url("../../../../assets/blackbird-specs-bg.jpg") 80% 100% no-repeat;
      background-size: 150%; } }
  @media only screen and (min-width: 801px) {
    .casestudy-specs-bb {
      background: #141718 url("../../../../assets/blackbird-specs-bg.jpg") bottom left no-repeat;
      background-size: 130%; } }

.casestudy-specs-sc {
  background: #142746 url("../../../../assets/sc-list-bg.png") 0% 0% no-repeat; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .casestudy-specs-sc {
      padding-top: 1em;
      background-size: contain; } }
  @media only screen and (min-width: 801px) {
    .casestudy-specs-sc {
      padding-top: 2em;
      background-size: cover; } }

.casestudy-credit {
  font-size: 60%;
  opacity: .4; }

.casestudy-grid sup {
  font-size: 60%; }

.casestudy-outro {
  text-align: center;
  color: #004876;
  text-transform: uppercase; }
  .casestudy-outro h2 {
    color: #004876; }
  .casestudy-outro h3 {
    font-weight: 700;
    font-size: 2em; }
  .casestudy-outro a {
    transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    opacity: 1;
    color: #004876; }
    .casestudy-outro a .casestudy-outro-icon {
      height: 40px;
      width: 40px;
      display: inline-block;
      margin: 0 0 0 .2em;
      background: url("../../../../assets/blackbird-talk-icon.png") 40% 40% no-repeat;
      background-size: 90%;
      transition: all 0.3s cubic-bezier(0.55, 0.085, 0.68, 0.53); }
  .casestudy-outro a:hover {
    opacity: .8;
    transition: all 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53); }
    .casestudy-outro a:hover .casestudy-outro-icon {
      transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53);
      background: url("/assets/blackbird-talk-icon.png") 60% 10% no-repeat;
      background-size: 100%; }

.template-portfolio .casestudy {
  margin-bottom: 40px;
  color: #58595b;
  font-size: 1.25rem;
  line-height: 1.5; }
  .template-portfolio .casestudy a {
    color: #004876;
    opacity: 1;
    transition: all 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53); }
    .template-portfolio .casestudy a:focus, .template-portfolio .casestudy a:hover {
      opacity: .7;
      transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53); }

.template-portfolio .casestudy-grid {
  color: #58595b; }
  .template-portfolio .casestudy-grid strong {
    color: #004876;
    font-size: 1.16em;
    line-height: 1.32em; }

.template-portfolio .callout-ourwork {
  background: #003252 url("../../../../assets/ourwork-wall.jpg") 112% 20% repeat fixed;
  margin-top: 2em;
  box-shadow: inset 0px 0px 51px -5px rgba(0, 0, 0, 0.5);
  color: #fbf8f4; }
  .template-portfolio .callout-ourwork::after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .template-portfolio .callout-ourwork {
      background-size: 100%;
      padding: 2em 0 4em; } }
  @media only screen and (min-width: 801px) {
    .template-portfolio .callout-ourwork {
      background-size: cover;
      padding: 5em 0 7em; } }
  @media screen and (min-width: 320px) and (max-width: 800px) {
    .template-portfolio .callout-ourwork article {
      width: calc(100% - 2em);
      float: left;
      margin-left: 1em;
      left: calc(0% - 1em + 1em);
      position: relative; } }
  @media only screen and (min-width: 801px) {
    .template-portfolio .callout-ourwork article {
      width: calc(83.33333% - 36.66667px);
      float: left;
      margin-left: 20px;
      left: calc(8.33333% - 21.66667px + 20px);
      position: relative; } }
  .template-portfolio .callout-ourwork article ul {
    list-style-type: none;
    display: inline;
    padding: 0; }
  .template-portfolio .callout-ourwork article li {
    color: #f1e7da;
    background: rgba(32, 162, 198, 0.3);
    display: inline;
    margin-right: .9em;
    padding: .3em;
    opacity: .7;
    text-transform: uppercase; }
    @media screen and (min-width: 320px) and (max-width: 800px) {
      .template-portfolio .callout-ourwork article li {
        font-size: .98em;
        line-height: 2.3em;
        letter-spacing: .03em; } }
    @media only screen and (min-width: 801px) {
      .template-portfolio .callout-ourwork article li {
        font-size: 1.39em;
        line-height: 2.3em;
        letter-spacing: .03em; } }

.template-portfolio .casestudy-outro h2 {
  font-size: 1.6em; }

.template-portfolio .casestudy-list {
  max-width: 560px;
  padding: 0;
  margin: 50px auto;
  list-style: none; }

.template-portfolio .logo {
  max-width: 92%;
  max-height: 92%; }

.template-portfolio .logo-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 40px;
  box-shadow: 0 0 0 rgba(32, 32, 32, 0);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 150%;
  transition: all 0.2s cubic-bezier(0.55, 0.085, 0.68, 0.53); }
  .template-portfolio .logo-wrap:hover {
    transition: all 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
    opacity: .8;
    background-size: auto 153%; }

@media screen and (min-width: 768px) {
  .template-portfolio .casestudy {
    width: calc(50% - 90px);
    float: left;
    margin-left: 60px; }
  .template-portfolio .casestudy-list {
    max-width: none;
    margin-right: -60px;
    margin-left: -60px; }
    .template-portfolio .casestudy-list::after {
      clear: both;
      content: "";
      display: block; } }

@media screen and (min-width: 1024px) {
  .template-portfolio .casestudy:nth-last-child(2),
  .template-portfolio .casestudy:nth-last-child(2) ~ .casestudy {
    width: calc(50% - 90px);
    float: left;
    margin-left: 60px; }
  .template-portfolio .casestudy:nth-last-child(3),
  .template-portfolio .casestudy:nth-last-child(3) ~ .casestudy {
    width: calc(33.33333% - 80px);
    float: left;
    margin-left: 60px; } }

hr.footnotes {
  height: 1px;
  padding: 0;
  border: none;
  margin: 1em auto;
  color: #d1d3d3;
  background: #d1d3d3; }
  hr.footnotes ~ * {
    font-size: 0.875rem; }
  hr.footnotes ~ p {
    padding-left: 1em;
    text-indent: -1em; }
    hr.footnotes ~ p sup {
      display: inline-block;
      width: 1em;
      text-indent: 0; }

.blog-photo-header {
  position: relative;
  display: block;
  padding: 357px 0 68px;
  margin: 0 0 40px;
  color: #fff;
  background: none center no-repeat #004876;
  background-size: cover; }
  .blog-photo-header > .blog-photo-link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .blog-photo-header > .p-name,
  .blog-photo-header .subtitle {
    text-shadow: 0 0 9px rgba(0, 0, 0, 0.5); }
  .blog-photo-header .subtitle {
    color: #fff; }
  .blog-photo-header .license {
    position: absolute;
    right: 10px;
    left: 10px;
    bottom: 5px;
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.625rem;
    text-align: right;
    text-shadow: 0 0 3px #000; }
    .blog-photo-header .license a {
      color: inherit; }
      .blog-photo-header .license a:hover {
        color: #fff;
        background: rgba(0, 0, 0, 0.5); }
    @media screen and (max-width: 534px) {
      .blog-photo-header .license {
        right: 20px;
        left: 20px;
        text-align: left; } }

.blog-photo-header--multiply {
  background-color: #ccc;
  background-blend-mode: multiply; }

.blog-header {
  padding: 136px 0 0;
  margin: 0 0 40px;
  color: #004876; }
  .blog-header .p-summary {
    color: #a03123; }

.post-title {
  margin-top: 0;
  margin-bottom: 0; }

.blog-meta,
.post-author,
.post-meta > h3 {
  color: #ac6d29;
  font-size: 131.25%;
  -webkit-font-smoothing: antialiased; }

.post-author {
  margin-top: 0; }

.subtitle {
  color: #a03123;
  font-size: 1rem;
  font-style: italic;
  -webkit-font-smoothing: antialiased; }

.p-summary {
  color: #58595b;
  font-size: 112.5%;
  line-height: 1.5; }

.p-summary > p:first-child {
  margin-top: 0; }

.about-the-author {
  margin-bottom: 4rem;
  margin-top: 4rem;
  overflow: hidden;
  position: relative; }
  .about-the-author img {
    border-radius: 50%;
    display: block;
    margin-bottom: 1rem;
    width: 100%; }
  .about-the-author .post-author {
    margin-bottom: 0.333em; }
  .about-the-author .p-note {
    color: #58595b;
    max-width: 26rem; }
    .about-the-author .p-note > :first-child {
      margin-top: 0; }
    .about-the-author .p-note > :last-child {
      margin-bottom: 0; }

.post-meta {
  margin-bottom: 50px; }
  .post-meta > h3 {
    margin-top: 45px; }

.template-blog-labels .l-container,
.template-blog-archives .l-container,
.template-posts_by_person .l-container,
.item-blog .l-container {
  max-width: 1200px; }
  @media screen and (max-width: 1240px) {
    .template-blog-labels .l-container,
    .template-blog-archives .l-container,
    .template-posts_by_person .l-container,
    .item-blog .l-container {
      margin: 0 20px; } }

.template-blog-labels .h-entry,
.template-blog-archives .h-entry,
.template-posts_by_person .h-entry,
.item-blog .h-entry {
  margin-bottom: 70px; }

.template-blog-labels .p-author,
.template-blog-archives .p-author,
.template-posts_by_person .p-author,
.item-blog .p-author {
  display: block;
  margin: 0 0 .944em;
  font-size: 1.125rem;
  -webkit-font-smoothing: antialiased; }

.template-blog-labels .post-title,
.template-blog-archives .post-title,
.template-posts_by_person .post-title,
.item-blog .post-title {
  line-height: 1.25; }

.item-blog .blog-photo-header {
  position: relative;
  height: 0;
  padding: 0 0 40%;
  margin-bottom: 20px;
  background-position: center;
  background-size: cover; }

.template-blog-labels .latest-post .post-title,
.template-blog-labels .latest-post .post-title,
.item-blog .latest-post .post-title,
.item-blogpost .post-title {
  font-size: 3rem;
  line-height: 1.25;
  margin-bottom: 0.25em; }
  @media screen and (max-width: 600px) {
    .template-blog-labels .latest-post .post-title,
    .template-blog-labels .latest-post .post-title,
    .item-blog .latest-post .post-title,
    .item-blogpost .post-title {
      font-size: 2rem; } }

.template-blog-labels .latest-post .subtitle,
.template-blog-labels .latest-post .subtitle,
.item-blog .latest-post .subtitle,
.item-blogpost .subtitle {
  font-size: 1.5rem; }

.item-blogpost > .h-entry {
  overflow: hidden; }

.template-blog-labels .subtitle,
.template-blog-archives .subtitle,
.template-posts_by_person .subtitle,
.item-blog .subtitle {
  line-height: 1.5;
  margin-bottom: .41em; }

.template-blog-labels .p-author,
.template-blog-archives .p-author,
.template-posts_by_person .p-author,
.item-blog .p-author {
  color: #ac6d29; }

.template-blog-labels .h-entry:not(.latest-post) .h-card,
.template-blog-archives .h-entry:not(.latest-post) .h-card,
.template-posts_by_person .h-entry:not(.latest-post) .h-card,
.item-blog .h-entry:not(.latest-post) .h-card {
  margin-top: .33em;
  margin-bottom: .5em; }

.template-press_release .dateline .p-locality {
  text-transform: uppercase; }

.contact-form {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.05) 0 0 2rem, rgba(0, 0, 0, 0.05) 0 0 0.5rem;
  box-sizing: border-box;
  margin: 0;
  padding: 2rem; }
  .contact-form > :first-child {
    margin-top: 0; }
  .contact-form__footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0; }
    .contact-form__footer > .checkbox,
    .contact-form__footer > .submit {
      flex-shrink: 0;
      margin: 1em 0;
      white-space: nowrap; }
    .contact-form__footer > .checkbox {
      padding-right: 2rem; }
  .contact-form form .fields {
    margin-bottom: 0;
    margin-top: 0; }
    .contact-form form .fields li:first-child {
      margin-top: 0; }
    .contact-form form .fields li:last-child {
      margin-bottom: 0; }
  .contact-form ul,
  .contact-form li {
    list-style: none;
    margin: 1em 0 0;
    padding: 0; }
  .contact-form .submit {
    text-align: right; }
  .contact-form input[type=submit] {
    -webkit-appearance: none;
    background: #20a2c6;
    border: none;
    border-radius: 5px;
    box-shadow: 0 0 16px rgba(0, 0, 0, 0.2);
    color: #fbf8f4;
    display: inline-block;
    font-family: "Supra W01", sans-serif;
    font-size: 1.5rem;
    padding: 1rem 2rem; }
  .contact-form textarea {
    resize: vertical; }
  .contact-form .required {
    border-bottom: none;
    color: #00837d;
    cursor: help;
    text-decoration: none; }
  .contact-form .select_list + .short_text {
    display: none; }
  @media screen and (max-width: 666px) {
    .contact-form {
      padding: 1rem; }
      .contact-form .select_list > select {
        display: block;
        width: 100%; } }
  @media screen and (min-width: 861px) and (max-width: 1099px) {
    .contact-form ul {
      align-items: baseline;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
    .contact-form li {
      flex-basis: 100%; }
    .contact-form .short_text {
      flex-basis: 48%;
      margin: 0; }
    .contact-form .select_list {
      flex-basis: 48%;
      margin-top: 0; }
      .contact-form .select_list > select {
        display: block;
        height: 28px;
        width: 100%; }
      .contact-form .select_list + .short_text,
      .contact-form .select_list + .short_text > label {
        display: block;
        visibility: hidden; } }
  @media screen and (min-width: 667px) and (max-width: 860px), screen and (min-width: 1100px) {
    .contact-form .select_list,
    .contact-form .short_text {
      display: flex; }
      .contact-form .select_list > input,
      .contact-form .select_list > label,
      .contact-form .select_list > select,
      .contact-form .short_text > input,
      .contact-form .short_text > label,
      .contact-form .short_text > select {
        display: inline-block;
        margin: 0; }
      .contact-form .select_list > label,
      .contact-form .short_text > label {
        box-sizing: border-box;
        padding-right: 1em; }
    .contact-form .select_list > label,
    .contact-form .select_list > select {
      flex-basis: 50%;
      width: 49%; }
    .contact-form .short_text {
      align-items: center;
      display: flex; }
      .contact-form .short_text > label {
        flex-basis: 30%;
        width: 30%; }
      .contact-form .short_text > input {
        flex-basis: 70%;
        width: 69%; }
    .contact-form .select_details > input {
      flex-basis: 100%;
      width: 100%; } }

.banner {
  background-color: #004876;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
  color: #004876;
  position: relative; }
  @media (min-width: 900px) {
    .banner {
      padding: 16vh 10%; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .banner {
      padding: 12vh 8%; } }
  @media (max-width: 533px) {
    .banner {
      padding: 10vh 5%; } }
  .banner__background-blend-mode-fallback {
    color: currentColor;
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .no-css-background-blend-mode .banner {
    background-image: none !important; }
  .css-background-blend-mode .banner {
    background-blend-mode: multiply; }
    .css-background-blend-mode .banner__background-blend-mode-fallback {
      display: none; }
  .main__section + .banner {
    margin-top: 6rem; }
  .banner__title {
    margin-bottom: 0;
    margin-top: 0;
    text-align: center; }
    .banner__title.text-heading-1 {
      color: #fff; }
  .banner--color-aqua {
    background-color: #00837d;
    color: #00837d; }
  .banner--color-blue {
    background-color: #004876;
    color: #004876; }
  .banner--color-foam {
    background-color: #acdcd4;
    color: #acdcd4; }
  .banner--color-rust {
    background-color: #ac6d29;
    color: #ac6d29; }
  .banner--attachment-fixed {
    background-attachment: fixed; }
  .banner--cta {
    position: relative; }
    .banner--cta::before {
      background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
      content: "";
      height: 50%;
      left: 0;
      position: absolute;
      right: 0;
      top: 0; }
    .banner--cta .l-container {
      text-shadow: rgba(0, 0, 0, 0.333) 0 0.05em 0.1em; }
    .banner--cta .banner__content {
      color: #fff;
      font-size: 1.5rem;
      margin-left: auto;
      margin-right: auto;
      max-width: 30rem;
      text-align: center; }
      .banner--cta .banner__content p:first-child {
        margin-top: 1rem; }
  @media (min-width: 900px) {
    .banner--page-header {
      padding-top: calc(16vh + 3.875rem); } }
  @media (min-width: 534px) and (max-width: 899px) {
    .banner--page-header {
      padding-top: calc(12vh + 3.875rem); } }
  @media (max-width: 533px) {
    .banner--page-header {
      padding-top: calc(10vh + 3.875rem); } }
  .l-container .banner {
    position: relative;
    left: 50%;
    margin-left: -50vw;
    width: 100vw; }

[class*='bg-color-'] {
  transition: all 100ms; }

.bg-color-pure-black {
  background-color: #000; }
  .bg-color-pure-black[href]:hover,
  [href]:hover .bg-color-pure-black {
    background-color: #060606; }

.bg-color-black {
  background-color: #161615; }
  .bg-color-black[href]:hover,
  [href]:hover .bg-color-black {
    background-color: #1d1d1b; }

.bg-color-dark-grey {
  background-color: #565657; }
  .bg-color-dark-grey[href]:hover,
  [href]:hover .bg-color-dark-grey {
    background-color: #5c5c5d; }

.bg-color-medium-grey {
  background-color: #909092; }
  .bg-color-medium-grey[href]:hover,
  [href]:hover .bg-color-medium-grey {
    background-color: #969698; }

.bg-color-light-grey {
  background-color: #d1d3d3; }
  .bg-color-light-grey[href]:hover,
  [href]:hover .bg-color-light-grey {
    background-color: #d8d9d9; }

.bg-color-white {
  background-color: #fbf8f4; }
  .bg-color-white[href]:hover,
  [href]:hover .bg-color-white {
    background-color: #fefefd; }

.bg-color-pure-white {
  background-color: #fff; }
  .bg-color-pure-white[href]:hover,
  [href]:hover .bg-color-pure-white {
    background-color: white; }

.bg-color-blue {
  background-color: #004876; }
  .bg-color-blue[href]:hover,
  [href]:hover .bg-color-blue {
    background-color: #005083; }

.bg-color-turquoise {
  background-color: #20a2c6; }
  .bg-color-turquoise[href]:hover,
  [href]:hover .bg-color-turquoise {
    background-color: #22abd1; }

.bg-color-teal {
  background-color: #00837d; }
  .bg-color-teal[href]:hover,
  [href]:hover .bg-color-teal {
    background-color: #009089; }

.bg-color-aqua {
  background-color: #acdcd4; }
  .bg-color-aqua[href]:hover,
  [href]:hover .bg-color-aqua {
    background-color: #b5e0d9; }

.bg-color-butter {
  background-color: #f6f29d; }
  .bg-color-butter[href]:hover,
  [href]:hover .bg-color-butter {
    background-color: #f7f4a9; }

.bg-color-yellow {
  background-color: #f3ed79; }
  .bg-color-yellow[href]:hover,
  [href]:hover .bg-color-yellow {
    background-color: #f4ef85; }

.bg-color-orange {
  background-color: #eed26e; }
  .bg-color-orange[href]:hover,
  [href]:hover .bg-color-orange {
    background-color: #efd679; }

.bg-color-rust {
  background-color: #d58d3e; }
  .bg-color-rust[href]:hover,
  [href]:hover .bg-color-rust {
    background-color: #d79348; }

.bg-color-pink {
  background-color: #f5b5ba; }
  .bg-color-pink[href]:hover,
  [href]:hover .bg-color-pink {
    background-color: #f7c0c4; }

.bg-color-red {
  background-color: #cc5e51; }
  .bg-color-red[href]:hover,
  [href]:hover .bg-color-red {
    background-color: #cf675b; }

.blog-tiles {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  list-style: none;
  margin-bottom: 2rem;
  margin-top: 2rem;
  padding-left: 0; }
  @media (min-width: 900px) {
    .blog-tiles {
      flex-direction: row;
      margin-left: -0.5rem;
      margin-right: -0.5rem; } }

.blog-tile {
  box-sizing: border-box; }
  .blog-tile__link {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    text-decoration: none; }
    .blog-tile__link__image {
      display: block; }
    .blog-tile__link__info {
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 2rem;
      transition: height 100ms, margin 100ms, padding 100ms; }
      .blog-tile__link__info .blog-tile__title {
        margin-bottom: 0.25em; }
      .blog-tile__link__info .blog-tile__author, .blog-tile__link__info .blog-tile__date {
        margin: 0; }
  @media (min-width: 900px) {
    .blog-tile {
      padding-left: 0.5rem;
      padding-right: 0.5rem;
      width: 33.33333%; }
      .blog-tile__link__info {
        height: 17rem; }
      .blog-tile__link:focus .blog-tile__link__info, .blog-tile__link:hover .blog-tile__link__info {
        height: 19rem;
        margin-top: -2rem; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .blog-tile + .blog-tile {
      margin-top: 1rem; }
    .blog-tile__link {
      flex-direction: row; }
      .blog-tile__link__image {
        flex: 0 0 auto;
        height: 33.33333vw;
        width: 33.33333vw; }
      .blog-tile__link__info {
        flex: 1 1 auto; }
      .blog-tile__link:focus .blog-tile__link__info, .blog-tile__link:hover .blog-tile__link__info {
        width: calc((100% * 2 / 3) + 2rem);
        margin-left: -2rem;
        padding-right: 4rem; } }
  @media (max-width: 533px) {
    .blog-tile {
      margin-top: 2rem; }
      .blog-tile__link__image {
        height: 16rem;
        width: 16rem;
        transform: translateX(2rem);
        transition: transform 100ms; }
      .blog-tile__link__info {
        height: auto;
        padding-top: 15rem;
        margin-top: -14rem; }
      .blog-tile__link:focus .blog-tile__link__image, .blog-tile__link:hover .blog-tile__link__image {
        transform: translateX(4rem); } }

.blog-post-meta > :first-child {
  margin-top: 0; }

.blog-post-meta > :last-child {
  margin-bottom: 0; }

.blog-post-meta .blog-post-meta__authors {
  margin-bottom: 0; }

.blog-post-meta .blog-post-meta__pubdate {
  margin-top: 0; }

.blog-post-meta__section {
  margin-top: 4rem; }
  .blog-post-meta__section__title {
    color: #d58d3e;
    font-size: 1.125rem;
    line-height: 1.25;
    margin-bottom: 0.5rem;
    margin-top: 0;
    text-transform: uppercase; }

.button {
  background-color: #abacad;
  border: 1px solid #abacad;
  border-radius: 0.125rem;
  color: #fff;
  display: inline-block;
  font-family: "Supra W01", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.0333em;
  line-height: 1;
  padding: 1em 1.5em;
  text-align: center;
  text-decoration: none;
  transition: background-color 100ms, border-color 100ms, transform 100ms; }
  .button:focus, .button:hover {
    box-shadow: rgba(0, 0, 0, 0.05) 0 0 2rem, rgba(0, 0, 0, 0.05) 0 0 0.5rem;
    cursor: pointer;
    transform: scale(1.05); }
  .button:disabled {
    opacity: 0.33333;
    pointer-events: none; }
  @media (min-width: 534px) and (max-width: 899px) {
    .button {
      font-size: 1.125rem;
      padding-left: 1.25em;
      padding-right: 1.25em; } }
  @media (max-width: 533px) {
    .button {
      font-size: 1rem;
      padding: 0.8em 1em; } }
  .button--small {
    font-size: 1rem; }
    @media (min-width: 534px) and (max-width: 899px) {
      .button--small {
        font-size: 0.875rem; } }
    @media (max-width: 533px) {
      .button--small {
        font-size: 0.75rem; } }
  .button--color-blue {
    background-color: #004876;
    border-color: #004876; }
    .button--color-blue:focus, .button--color-blue:hover {
      background-color: #005890;
      border-color: #005890; }
    .button--color-blue.button--outline {
      background-color: #fff;
      color: #004876; }
      .button--color-blue.button--outline:focus, .button--color-blue.button--outline:hover {
        background-color: #fff;
        color: #005890; }
  .button--color-teal {
    background-color: #20a2c6;
    border-color: #20a2c6; }
    .button--color-teal:focus, .button--color-teal:hover {
      background-color: #24b4dc;
      border-color: #24b4dc; }
    .button--color-teal.button--outline {
      background-color: #fff;
      color: #20a2c6; }
      .button--color-teal.button--outline:focus, .button--color-teal.button--outline:hover {
        background-color: #fff;
        color: #24b4dc; }
  .button--color-aqua {
    background-color: #00837d;
    border-color: #00837d; }
    .button--color-aqua:focus, .button--color-aqua:hover {
      background-color: #009d95;
      border-color: #009d95; }
    .button--color-aqua.button--outline {
      background-color: #fff;
      color: #00837d; }
      .button--color-aqua.button--outline:focus, .button--color-aqua.button--outline:hover {
        background-color: #fff;
        color: #009d95; }
  .button--color-foam {
    background-color: #acdcd4;
    border-color: #acdcd4; }
    .button--color-foam:focus, .button--color-foam:hover {
      background-color: #bee4dd;
      border-color: #bee4dd; }
    .button--color-foam.button--outline {
      background-color: #fff;
      color: #acdcd4; }
      .button--color-foam.button--outline:focus, .button--color-foam.button--outline:hover {
        background-color: #fff;
        color: #bee4dd; }
  .button--color-rust {
    background-color: #d58d3e;
    border-color: #d58d3e; }
    .button--color-rust:focus, .button--color-rust:hover {
      background-color: #da9953;
      border-color: #da9953; }
    .button--color-rust.button--outline {
      background-color: #fff;
      color: #d58d3e; }
      .button--color-rust.button--outline:focus, .button--color-rust.button--outline:hover {
        background-color: #fff;
        color: #da9953; }
  .button--color-yellow {
    background-color: #f3ed79;
    border-color: #f3ed79; }
    .button--color-yellow:focus, .button--color-yellow:hover {
      background-color: #f5f090;
      border-color: #f5f090; }
    .button--color-yellow.button--outline {
      background-color: #fff;
      color: #f3ed79; }
      .button--color-yellow.button--outline:focus, .button--color-yellow.button--outline:hover {
        background-color: #fff;
        color: #f5f090; }
  .button--color-butter {
    background-color: #f6f29d;
    border-color: #f6f29d; }
    .button--color-butter:focus, .button--color-butter:hover {
      background-color: #f8f5b4;
      border-color: #f8f5b4; }
    .button--color-butter.button--outline {
      background-color: #fff;
      color: #f6f29d; }
      .button--color-butter.button--outline:focus, .button--color-butter.button--outline:hover {
        background-color: #fff;
        color: #f8f5b4; }
  .button--color-red {
    background-color: #cc5e51;
    border-color: #cc5e51; }
    .button--color-red:focus, .button--color-red:hover {
      background-color: #d27065;
      border-color: #d27065; }
    .button--color-red.button--outline {
      background-color: #fff;
      color: #cc5e51; }
      .button--color-red.button--outline:focus, .button--color-red.button--outline:hover {
        background-color: #fff;
        color: #d27065; }
  .button--color-muted {
    background-color: #909092;
    border-color: #909092; }
    .button--color-muted:focus, .button--color-muted:hover {
      background-color: #9d9d9f;
      border-color: #9d9d9f; }
    .button--color-muted.button--outline {
      background-color: #fff;
      color: #909092; }
      .button--color-muted.button--outline:focus, .button--color-muted.button--outline:hover {
        background-color: #fff;
        color: #9d9d9f; }

.copy-box {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.05) 0 0 2rem, rgba(0, 0, 0, 0.05) 0 0 0.5rem;
  box-sizing: border-box;
  margin-bottom: 2rem;
  max-width: 40em;
  padding: 2rem; }
  .copy-box :first-child {
    margin-top: 0; }
  .copy-box :last-child {
    margin-bottom: 0; }
  .copy-box--accent {
    border-top: 0.25rem solid #d1d3d3; }
    .copy-box--accent-red {
      border-top-color: #a03123; }
    .copy-box--accent-aqua {
      border-top-color: #00837d; }
    .copy-box--accent-yellow {
      border-top-color: #eedb22; }
  @media (max-width: 533px) {
    .copy-box {
      font-size: 1rem; }
      .copy-box p:first-of-type {
        font-size: 1.125rem; } }

.comment + .comment {
  margin-top: 2rem; }

@media (min-width: 534px) {
  .comment__meta {
    align-items: center;
    display: flex;
    justify-content: space-between; } }

.comment__meta__author {
  align-items: center;
  display: flex; }
  .comment__meta__author img {
    border-radius: 50%;
    display: block;
    height: 1.5rem;
    margin-right: 0.5rem;
    width: 1.5rem; }
  .comment__meta__author a:focus, .comment__meta__author a:hover {
    color: #004876; }
  @media (max-width: 533px) {
    .comment__meta__author .p-name {
      margin-top: -0.5rem; } }

.comment__meta__pubdate {
  display: block; }
  @media (max-width: 533px) {
    .comment__meta__pubdate {
      margin-bottom: 0.25rem;
      margin-top: -0.5rem;
      padding-left: 2rem; } }

.comment__body {
  padding-left: 2rem; }

.comments {
  margin-bottom: 6rem; }
  .comments__form-toggle {
    overflow: hidden;
    transition: font-size 200ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .comments__form-toggle[aria-expanded="true"] {
      border-width: 0;
      font-size: 0; }
  .comments__form {
    margin-bottom: 0;
    margin-top: 0;
    max-height: 0;
    overflow: hidden; }
    .comments__form.form {
      padding-bottom: 0;
      padding-top: 0;
      transition: max-height 200ms cubic-bezier(0.455, 0.03, 0.515, 0.955), padding 200ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .comments__form[aria-hidden="false"] {
      max-height: 50rem; }
      @media (max-width: 533px) {
        .comments__form[aria-hidden="false"].form {
          padding: 1rem; } }
      @media (min-width: 534px) {
        .comments__form[aria-hidden="false"].form {
          border-radius: 0.25rem;
          padding: 2rem; } }
  .comments__list {
    list-style: none;
    margin-bottom: 0;
    margin-top: 0;
    padding-left: 0;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.05) 0 0 2rem, rgba(0, 0, 0, 0.05) 0 0 0.5rem;
    margin-bottom: 2rem;
    margin-top: 2rem; }
    .comments__list > :first-child {
      margin-top: 0; }
    .comments__list > :last-child {
      margin-bottom: 0; }
    @media (max-width: 533px) {
      .comments__list {
        padding: 1rem; } }
    @media (min-width: 534px) {
      .comments__list {
        padding: 2rem; } }
    .comments__list__item--internal {
      background-color: rgba(0, 72, 118, 0.05);
      margin: -1rem;
      padding: 1rem; }

.fancy-block {
  align-items: start;
  display: flex;
  margin-bottom: 2rem; }
  .fancy-block__copy {
    width: 60%;
    z-index: 1; }
  .fancy-block__media {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 2rem;
    position: relative;
    transform: translateY(2.5rem);
    width: 40%;
    z-index: 2; }
    .fancy-block__media img {
      max-height: 50vh;
      visibility: hidden; }
  @media (max-width: 533px) {
    .fancy-block {
      flex-direction: column; }
      .fancy-block__copy, .fancy-block__media {
        width: calc(100% - 2rem); }
      .fancy-block__copy {
        margin-bottom: 0;
        margin-top: -4rem;
        padding-top: 4rem; }
      .fancy-block__media {
        transform: translateY(0); } }
  .fancy-block--ltr .fancy-block__media {
    box-shadow: #ac6d29 0.5rem 0.5rem 0; }
  @media (max-width: 533px) {
    .fancy-block--ltr .fancy-block__copy {
      align-self: flex-end; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .fancy-block--ltr .fancy-block__copy {
      padding-left: 4rem;
      transform: translateX(-2rem); }
    .fancy-block--ltr .fancy-block__media {
      margin-left: 2rem; } }
  @media (min-width: 900px) {
    .fancy-block--ltr {
      flex-direction: row; }
      .fancy-block--ltr .fancy-block__copy {
        padding-left: 6rem;
        transform: translateX(-4rem); } }
  .fancy-block--rtl .fancy-block__media {
    box-shadow: #ac6d29 -0.5rem 0.5rem 0; }
  @media (max-width: 533px) {
    .fancy-block--rtl .fancy-block__media {
      align-self: flex-end; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .fancy-block--rtl {
      transform: translateX(-2rem); } }
  @media (min-width: 534px) {
    .fancy-block--rtl {
      flex-direction: row-reverse; }
      .fancy-block--rtl .fancy-block__copy {
        padding-right: 6rem;
        transform: translateX(4rem); } }

.feature {
  align-items: center;
  display: flex; }
  .feature__info {
    box-sizing: border-box; }
  .feature__media__image {
    display: block;
    height: auto;
    width: 100%; }
  .feature__media--round img {
    border-radius: 50%; }
  .feature__media--triplet a {
    display: inline-block;
    position: relative;
    transition: opacity 100ms, transform 100ms; }
    .feature__media--triplet a:focus, .feature__media--triplet a:hover {
      opacity: 0.9;
      transform: scale(1.0333); }
    .feature__media--triplet a + a {
      margin-top: 1rem; }
  @media (min-width: 534px) {
    .feature__info {
      flex: 1 1 auto;
      padding-right: 2rem; }
    .feature__media {
      flex: 0 0 auto; } }
  @media (min-width: 900px) {
    .feature__info {
      width: 66.66667%; }
    .feature__media {
      width: 33.33333%; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .feature__media {
      width: 12rem; } }
  @media (max-width: 533px) {
    .feature {
      flex-direction: column-reverse;
      text-align: center; }
      .feature__info, .feature__media {
        padding-bottom: 1rem;
        width: 100%; }
      .feature__media__image {
        margin-left: auto;
        margin-right: auto;
        max-width: 16rem; } }
  @media (min-width: 534px) {
    .feature--work > :last-child {
      display: none; } }
  @media (max-width: 533px) {
    .feature--work {
      flex-direction: column; }
      .feature--work .feature__info > :last-child {
        display: none; }
      .feature--work > :last-child {
        display: inline-block; } }

.filter > * {
  border-radius: 0.25em;
  color: #58595b;
  display: inline-block;
  line-height: 1;
  padding: 0.75em; }

.filter__label {
  font-weight: 700; }

.filter__button {
  background-color: transparent;
  border-width: 0;
  cursor: pointer;
  font-size: 1em;
  padding-left: 2.25em;
  position: relative; }
  .filter__button::before {
    background-color: #d1d3d3;
    border: 1px solid transparent;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 1em;
    left: 0.75em;
    margin-top: -0.6em;
    position: absolute;
    top: 50%;
    transition: background-color 100ms, border-color 100ms, box-shadow 100ms, transform 100ms;
    width: 1em; }
  .filter__button--variant-0::before {
    background-color: #d1d3d3; }
  .filter__button--variant-1::before {
    background-color: #004876; }
  .filter__button--variant-2::before {
    background-color: #a03123; }
  .filter__button--variant-3::before {
    background-color: #eedb22; }
  .filter__button--variant-4::before {
    background-color: #00837d; }
  .filter__button:focus, .filter__button:hover, .filter__button--active {
    background-color: white; }
  .filter__button:focus {
    outline: none; }
  .filter__button:focus, .filter__button:hover {
    border-color: #e7d4bc;
    box-shadow: #f4ece1 0 0 0.5em; }
  .filter__button:active {
    box-shadow: #ede0cf 0 0 1.5em;
    transform: scale(1.05); }
  .filter__button--active {
    border-color: #e0c8a9;
    box-shadow: #ede0cf 0 0 1em; }

.footer {
  background-color: #fff;
  font-size: 0.75rem;
  padding: 1.5rem 1.5rem 0.5rem;
  text-align: justify; }
  .footer::after {
    content: "";
    display: inline-block;
    width: 100%; }
  .footer__nav {
    background-color: #004876;
    color: #fff;
    font-size: 1.25rem;
    margin: -1.5rem -1.5rem 0;
    text-align: center; }
    .footer__nav__item {
      display: inline-block;
      margin-right: -5px;
      padding: 1rem 0.75rem;
      transition: background-color 100ms; }
      .footer__nav__item .icon {
        transition: transform 100ms; }
      .footer__nav__item:focus, .footer__nav__item:hover {
        background-color: #00385d; }
        .footer__nav__item:focus .icon, .footer__nav__item:hover .icon {
          transform: scale(1.2); }
    .footer__nav .text {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      clip-path: inset(50%);
      border: 0; }
  .footer__logo {
    display: block;
    width: 10.25rem;
    height: auto;
    margin: 2rem auto; }
  .footer__credits, .footer__copyright {
    display: inline-block;
    margin-bottom: 0;
    margin-top: 0; }
  @media (max-width: 533px) {
    .footer__logo {
      margin-bottom: 1rem; }
    .footer__credits, .footer__copyright {
      display: block;
      text-align: center; }
    .footer__copyright {
      margin-top: 0.5rem; } }

.form {
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.05) 0 0 2rem, rgba(0, 0, 0, 0.05) 0 0 0.5rem;
  box-sizing: border-box;
  transition: padding 100ms; }
  .form > :first-child {
    margin-top: 0; }
  .form > :last-child {
    margin-bottom: 0; }
  @media (max-width: 533px) {
    .form {
      padding: 1rem; } }
  @media (min-width: 534px) {
    .form {
      border-radius: 0.25rem;
      padding: 2rem; } }
  .form__group {
    border-width: 0;
    margin: 2rem 0;
    padding: 0; }
  .form__label {
    color: #565657;
    font-family: "Tuna W01", serif;
    font-size: 1rem;
    line-height: 1.5; }
    .form__label[for] {
      cursor: pointer; }
  .form__note {
    color: #909092;
    display: block;
    font-family: "Supra W01", sans-serif;
    font-size: 0.75rem;
    line-height: 1.25;
    margin: 0; }
    .form__label .form__note {
      margin-top: -0.125rem; }
  .form__actions {
    text-align: right; }
  .form > .text-style-h3:first-of-type {
    margin-top: 0; }

.form-item {
  min-height: 3rem; }
  .form-item + .form-item {
    margin-top: 1rem; }
  .form-item__name {
    display: block;
    margin: 0; }
  .form-item__fields,
  .form-item__fields > * + * {
    margin-top: 0.25rem; }
  @media (min-width: 534px) {
    .form-item--inline {
      display: flex;
      margin-top: 0; }
      .form-item--inline .form-item__name {
        flex: 0 0 auto;
        margin-top: 0.5em;
        width: 25%; }
      .form-item--inline .form-item__fields {
        flex: 1 1 auto;
        width: 75%; } }

.header {
  background-color: #004876;
  color: #fff;
  left: 0;
  min-height: 3.875rem;
  overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  transition: top 200ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition-delay: 50ms;
  width: 100%;
  z-index: 10; }
  .header.js-hidden {
    top: -3.875rem;
    transition-delay: 100ms; }
  .header__section--primary .header__link::after {
    display: none; }
  .header__section--secondary {
    overflow: hidden;
    transition: max-height 100ms, padding 100ms; }
  .header__link {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 300;
    letter-spacing: 0.025em;
    line-height: 1.625rem;
    margin: 0 -3px 0 0;
    padding: 1.125rem;
    padding-bottom: 0.925rem;
    padding-top: 1.325rem;
    position: relative;
    text-decoration: none;
    transition: background-color 100ms;
    white-space: nowrap; }
    .header__link::after {
      background-color: #20a2c6;
      bottom: 0;
      content: "";
      display: block;
      left: 0;
      position: absolute;
      right: 0;
      height: 2px;
      transition: background-color 100ms, transform 100ms;
      transform: scaleX(0); }
    .header__link:focus, .header__link:hover {
      background-color: #00385d; }
      .header__link:focus::after, .header__link:hover::after {
        transform: scaleX(1); }
    .header__link:active {
      background-color: #002943;
      transition-duration: 0ms; }
    .header__link--active::after, .header__link--active:focus::after, .header__link--active:hover::after {
      background-color: #acdcd4;
      transform: scaleX(1); }
  .header__brand {
    margin: 0; }
    .header__brand__image {
      display: block;
      height: 1em;
      width: auto; }
    .header__brand.header__link {
      display: block;
      font-size: 1.625rem;
      padding-bottom: 1.125rem;
      padding-top: 1.125rem; }
  .header__toggle.header__link {
    color: #fff;
    font-size: 0.875rem; }
  .header__toggle-input {
    left: -9999px;
    position: absolute; }
  @media (min-width: 50.0625rem) {
    .header {
      display: flex;
      justify-content: space-between; }
      .header__toggle {
        display: none; }
      .header__link--primary:nth-child(3) {
        margin-right: calc(2rem - 5px); }
        .header__link--primary:nth-child(3)::before {
          background-color: rgba(255, 255, 255, 0.2);
          bottom: 0.5rem;
          content: "";
          position: absolute;
          right: -1rem;
          top: 0.5rem;
          width: 1px; } }
  @media (max-width: 62rem) {
    .header__section--secondary .header__link {
      font-size: 1rem; }
    .header__section--secondary .decorative {
      display: none; }
    .header__brand__image {
      height: 0.875em;
      margin-top: 0.125em;
      margin-bottom: -0.125em; } }
  @media (max-width: 50rem) {
    .header__section--primary {
      display: flex;
      justify-content: space-between; }
    .header__section--secondary {
      max-height: 0; }
      .header__section--secondary .header__nav {
        margin-left: auto;
        margin-right: auto;
        width: 18.75rem;
        text-align: center; }
      .header__section--secondary .header__link {
        padding-top: 0.925rem;
        width: 6.25rem; }
    .header__toggle-input:checked + .header__section {
      margin-top: -3.875rem;
      max-height: calc(100vh - 3.875rem);
      overflow-x: hidden;
      overflow-y: auto;
      padding-top: 3.875rem; }
      .header__toggle-input:checked + .header__section .header__nav {
        max-height: 15rem;
        padding-bottom: 4.5rem;
        padding-top: 2.25rem; } }

.hero {
  background-color: #d1d3d3;
  background-position: 75% center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 50vh;
  position: relative; }
  @media (min-width: 534px) and (max-width: 899px) {
    .hero {
      margin-bottom: 9.5rem; } }
  @media (max-width: 533px) {
    .hero {
      margin-bottom: 17rem; } }
  .hero__box {
    color: #fff;
    margin-bottom: 2rem;
    margin-top: 2rem;
    max-width: 30rem;
    padding: 2rem;
    position: relative;
    transition: margin 100ms; }
    @media (min-width: 534px) and (max-width: 899px) {
      .hero__box {
        margin-bottom: -7.5rem;
        margin-top: 20vh; } }
    @media (max-width: 533px) {
      .hero__box {
        margin-bottom: -15rem;
        margin-top: 40vh; } }
    .hero__box::before {
      background-color: #004876;
      bottom: 0;
      content: "";
      display: block;
      left: 0;
      mix-blend-mode: multiply;
      position: absolute;
      right: 0;
      top: 0; }
    .hero__box__content {
      position: relative; }
  .hero__image-license {
    display: block;
    font-size: 0.75rem;
    padding: 0.5rem 1rem; }
    @media (min-width: 900px) {
      .hero__image-license {
        background-color: rgba(22, 22, 21, 0.5);
        bottom: 0;
        color: #fbf8f4;
        position: absolute;
        right: 0; } }
    @media (max-width: 899px) {
      .hero__image-license {
        bottom: -8.5rem;
        position: relative; } }
    @media (min-width: 534px) and (max-width: 899px) {
      .hero__image-license {
        bottom: -8.5rem; } }
    @media (max-width: 533px) {
      .hero__image-license {
        bottom: -16rem; } }

.icon-set {
  display: none; }

.icon {
  display: inline-block;
  fill: currentColor;
  height: 1em;
  position: relative;
  top: 0.1em;
  width: 1em; }
  .icon__stroke {
    stroke: currentColor; }
  .icon--muted {
    opacity: 0.5; }

.label-grid {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0;
  line-height: 1.25; }
  @media (min-width: 534px) {
    .label-grid {
      column-gap: 1rem; } }
  @media (min-width: 900px) {
    .label-grid {
      column-count: 4; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .label-grid {
      column-count: 3; } }
  .label-grid__item {
    -webkit-column-break-inside: avoid;
    /* Chrome, Safari */
    break-inside: avoid-column;
    /* IE 11 */
    page-break-inside: avoid;
    /* FF 20+ */ }
    .label-grid__item__link {
      border-bottom: 1px solid #dedfdf;
      display: block;
      padding: 1rem; }
      .section-blog .main .label-grid__item__link {
        text-decoration: none; }
      .label-grid__item__link:focus, .label-grid__item__link:hover {
        background-color: #fdfcfa;
        border-bottom: 1px solid #d1d3d3; }
    .label-grid__item__title {
      display: block;
      margin-bottom: 0.25rem; }
      .label-grid__item__title code {
        margin: 0; }
    .label-grid__item__count {
      color: #abacad;
      display: block;
      font-size: 0.875rem; }

.label-list {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0; }
  .label-list__item + .label-list__item {
    margin-top: 0.5rem; }
  .label-list__item a {
    text-decoration: none; }
  .label-list__item code {
    margin: 0; }

.main__section {
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  transition: all 100ms; }
  .main__section--full {
    max-width: 100vw; }
  @media (min-width: 900px) {
    .main__section--padded {
      padding: 2rem 4rem; }
      .main__section--padded:first-child {
        padding-top: 5.875rem; } }
  @media (min-width: 534px) and (max-width: 899px) {
    .main__section--padded {
      padding: 1rem 2rem; }
      .main__section--padded:first-child {
        padding-top: 4.875rem; } }
  @media (max-width: 533px) {
    .main__section--padded {
      padding: 0.5rem 1rem; }
      .main__section--padded:first-child {
        padding-top: 4.375rem; } }
  .main__section + .main__section {
    margin-top: 4rem; }

.message {
  margin-bottom: 2rem;
  max-height: 6rem;
  overflow-y: hidden;
  padding: 2em;
  transition: max-height 300ms, padding 300ms; }
  .message h6,
  .message p {
    margin: 0; }
  .message p {
    margin-top: 0.25rem; }
  .message--success {
    background-color: #eef2ee;
    color: #00837d; }
  .message--error {
    background-color: #f9f0ec;
    color: #cc5e51; }
  .message[aria-hidden] {
    margin-bottom: 0;
    margin-top: 0;
    max-height: 0;
    padding-bottom: 0;
    padding-top: 0; }

body.modal-open {
  overflow: hidden; }

.modal {
  align-items: center;
  background-color: rgba(251, 248, 244, 0);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  transition: background-color 300ms;
  transition-delay: 150ms;
  z-index: 10; }
  .modal--hidden {
    display: none; }
  .modal--open {
    background-color: rgba(251, 248, 244, 0.8);
    transition-delay: 0ms; }
  .modal__inner {
    opacity: 0;
    position: relative;
    transform: scale(0.95) translateY(2rem);
    transition-delay: 150ms, 0ms;
    transition-duration: 300ms, 300ms;
    transition-property: opacity, transform; }
    .modal--open .modal__inner {
      opacity: 1;
      transform: scale(1) translateY(0);
      transition-delay: 0ms, 150ms; }
    .modal__inner__close {
      background-color: #58595b;
      border-radius: 50%;
      border-width: 0;
      box-sizing: border-box;
      color: #ddd;
      cursor: pointer;
      display: block;
      font-size: 1.5rem;
      font-weight: 300;
      height: 1.5em;
      line-height: 1;
      padding: 0.25em;
      position: absolute;
      transform: scale(0);
      transition: background-color 100ms, color 100ms, transform 100ms;
      width: 1.5em;
      z-index: 2; }
      .modal__inner__close:focus {
        outline: none; }
      .modal--open .modal__inner__close {
        transform: scale(1); }
        .modal--open .modal__inner__close:focus, .modal--open .modal__inner__close:hover {
          background-color: #a03123;
          color: #fff;
          transform: scale(1.2); }
      @media (max-width: 533px) {
        .modal__inner__close {
          font-size: 1.25rem;
          right: 1.25rem;
          top: 1.25rem; } }
      @media (min-width: 534px) {
        .modal__inner__close {
          right: -1.25rem;
          top: -1.25rem; } }
    .modal__inner__content {
      background-color: #fff;
      box-sizing: border-box;
      overflow-y: auto;
      padding: 2rem;
      position: relative;
      z-index: 1; }
      @media (max-width: 533px) {
        .modal__inner__content {
          height: 100vh; } }
      @media (min-width: 534px) {
        .modal__inner__content {
          box-shadow: rgba(224, 200, 169, 0.5) 0 0.5rem 2rem;
          max-height: 80vh; } }

.parsley-errors-list {
  color: #cc5e51;
  font-family: "Tuna W01", serif;
  font-size: 0.875rem;
  line-height: 1;
  list-style: none;
  margin-bottom: inherit;
  margin-top: inherit;
  padding-left: 0; }

.text-field.parsley-error {
  border-color: #cc5e51; }
  .text-field.parsley-error:focus, .text-field.parsley-error:hover {
    border-color: #b54335; }
  .text-field.parsley-error:focus {
    outline-color: #cc5e51; }
  .text-field.parsley-error:active {
    border-color: #8e3429; }

.toggle-field.parsley-error input,
.toggle-field.parsley-error ~ .toggle-field input {
  box-shadow: #cc5e51 0 0 0 1px; }
  .toggle-field.parsley-error input:focus,
  .toggle-field.parsley-error ~ .toggle-field input:focus {
    outline-color: #cc5e51; }

.people {
  text-align: center;
  width: 100%; }
  .people .text-heading-1 {
    margin-bottom: 0.25em; }
  .people__filter {
    margin-bottom: 2rem; }
  .people__list {
    margin-bottom: 4rem; }
    .people__list .people__list__item {
      display: inline-block;
      margin-left: -5px;
      vertical-align: top; }
      .people__list .people__list__item:focus {
        outline: none; }
      @media (max-width: 533px) {
        .people__list .people__list__item {
          width: 50%; }
          .people__list .people__list__item:nth-child(2n + 1) {
            clear: left; } }
      @media only screen and (max-width: 360px) {
        .people__list .people__list__item {
          width: 100%; }
          .people__list .people__list__item .person__figure__image {
            max-width: 7.5rem; } }
      @media (min-width: 534px) and (max-width: 899px) {
        .people__list .people__list__item {
          width: 25%; }
          .people__list .people__list__item:nth-child(4n + 1) {
            clear: left; } }
      @media (min-width: 900px) {
        .people__list .people__list__item {
          width: 20%; }
          .people__list .people__list__item:nth-child(5n + 1) {
            clear: left; } }

.person {
  box-sizing: border-box;
  font-size: 1rem; }
  .person.hidden {
    display: none; }
  .person__bio {
    color: #58595b;
    font-weight: 300; }
    .people__list .person__bio {
      display: none; }
    .person__bio a {
      color: #004876;
      text-decoration: underline; }
      .person__bio a:focus, .person__bio a:hover {
        color: #002654; }
    .person__bio__copy {
      font-size: 1.125rem;
      line-height: 1.5; }
    .person__bio__blog em {
      font-size: 0.875rem; }
  .person__figure {
    margin: 0;
    text-align: center; }
    .person__figure__modal-link[href] {
      display: block;
      padding: 1rem;
      text-decoration: none; }
      .person__figure__modal-link[href]:focus .person__figure__image image, .person__figure__modal-link[href]:hover .person__figure__image image {
        transform: scale(1.05) translate(0); }
    .person__figure__caption {
      font-style: normal;
      margin-top: 0.5rem; }
      .person__figure__caption > * {
        margin: 0; }
      .person__figure__caption .p-name {
        color: #58595b;
        font-size: 1.125rem; }
      .person__figure__caption .p-job-title {
        color: rgba(88, 89, 91, 0.666);
        font-size: 0.875rem; }
    .person__figure__image {
      border-radius: 50%;
      display: block;
      height: auto;
      margin-left: auto;
      margin-right: auto;
      max-width: 12rem;
      width: 100%; }
      .person__figure__image image {
        transition: transform 100ms;
        transform: translate(0);
        transform-origin: center; }
      .person__figure__image circle {
        fill: none;
        stroke: #d1d3d3;
        stroke-linecap: round;
        stroke-linejoin: round; }
        .person__figure__image circle[data-role-leadership-operations] {
          stroke: #004876; }
        .person__figure__image circle[data-role-strategy] {
          stroke: #a03123; }
        .person__figure__image circle[data-role-development] {
          stroke: #eedb22; }
        .person__figure__image circle[data-role-design] {
          stroke: #00837d; }
      .person__figure__image[data-role-count="2"] circle {
        stroke-dasharray: 455.53093; }
        .person__figure__image[data-role-count="2"] circle:nth-child(2) {
          stroke-dashoffset: 455.53093; }
      .person__figure__image[data-role-count="3"] circle {
        stroke-dasharray: 303.68729; }
        .person__figure__image[data-role-count="3"] circle:nth-child(2) {
          stroke-dashoffset: 303.68729; }
        .person__figure__image[data-role-count="3"] circle:nth-child(3) {
          stroke-dasharray: 607.37458;
          stroke-dashoffset: 607.37458; }
    .person__figure__social {
      margin-top: 0.25rem; }
      .people__list .person__figure__social {
        display: none; }
      .person__figure__social__link {
        display: inline-block; }
        .person__figure__social__link + .person__figure__social__link {
          margin-left: 0.25em; }
        .person__figure__social__link .icon {
          color: #d1d3d3;
          transition: color 200ms, transform 200ms; }
        .person__figure__social__link .text {
          display: none; }
        .person__figure__social__link:focus .icon, .person__figure__social__link:hover .icon {
          color: #004876;
          transform: scale(1.2); }
  @media (min-width: 534px) {
    .modal .person {
      align-items: center;
      display: flex;
      max-width: 32rem;
      width: 80vw; }
      .modal .person__figure {
        flex: 0 0 auto;
        max-width: 12.5rem;
        width: 33.33333%; }
      .modal .person__bio {
        margin-left: 2rem;
        overflow-y: auto; }
        .modal .person__bio__copy :first-child {
          margin-top: 0; } }

.product-highlight {
  align-items: center;
  color: #58595b;
  display: flex;
  text-decoration: none;
  width: auto; }
  .product-highlight__icon {
    height: 4rem;
    margin-right: 1rem;
    max-width: 4rem;
    width: auto; }
  .product-highlight__copy {
    font-size: 0.875rem;
    line-height: 1.25; }
    .product-highlight__copy b {
      display: block;
      font-size: 1.25rem;
      font-weight: inherit; }

.select-field {
  background-color: #fbf8f4;
  border: 1px solid #d1d3d3;
  border-radius: 0.125rem;
  font-family: "Tuna W01", serif;
  font-size: 1rem;
  height: 2.375em;
  width: auto; }
  .select-field:focus, .select-field:hover {
    border-color: #b7baba; }
  .select-field:active {
    border-color: #9da1a1; }
  .select-field--block {
    width: 100%; }

.service-sellers {
  margin-bottom: 6rem; }

.service-seller {
  align-items: center;
  display: flex; }
  @media (max-width: 533px) {
    .service-seller {
      flex-direction: column; } }
  @media (min-width: 1220px) {
    .service-seller--pull-left {
      transform: translateX(-70px); }
    .service-seller--pull-right {
      transform: translateX(70px); } }
  @media (max-width: 533px) {
    .service-seller + .service-seller {
      margin-top: 4rem; } }
  @media (min-width: 534px) {
    .service-seller + .service-seller {
      margin-top: 2rem; } }
  .service-seller__client {
    box-sizing: border-box;
    display: flex;
    flex: 0 0 auto;
    margin: 0; }
    @media (max-width: 533px) {
      .service-seller__client {
        align-items: start;
        padding-bottom: 1rem; } }
    @media (min-width: 534px) {
      .service-seller__client {
        align-items: center;
        padding-right: 20px;
        width: 50%; } }
    @media (min-width: 900px) {
      .service-seller__client {
        width: 33.33333%; } }
    .service-seller__client__avatar {
      border-radius: 50%;
      display: block;
      height: 4.375rem;
      width: 4.375rem; }
    .service-seller__client__comment {
      background-color: #fff;
      border-radius: 0.25rem;
      filter: drop-shadow(#f4ece1 0 0 0.25rem);
      margin-left: -0.5rem;
      padding: 0.5rem;
      position: relative;
      width: calc(100% + 0.5rem); }
      .service-seller__client__comment:after {
        border-color: #fff transparent transparent transparent;
        border-style: solid;
        border-width: 1rem 1rem 0 0;
        bottom: -1rem;
        content: "";
        display: block;
        height: 0;
        left: 1rem;
        position: absolute;
        width: 0; }
  .service-seller__bar {
    flex: 1 1 auto; }
    @media (min-width: 534px) and (max-width: 899px) {
      .service-seller__bar {
        width: 50%; } }
    @media (min-width: 900px) {
      .service-seller__bar {
        width: 66.66667%; } }
    .service-seller__bar__chunk {
      height: 1.25rem;
      text-indent: -9999px; }
      .service-seller__bar__chunk:first-child {
        border-bottom-left-radius: 1rem;
        border-top-left-radius: 1rem; }
      .service-seller__bar__chunk:last-child {
        border-bottom-right-radius: 1rem;
        border-top-right-radius: 1rem; }
      .service-seller__bar__chunk--strategy {
        background-color: #a03123; }
      .service-seller__bar__chunk--design {
        background-color: #00837d; }
      .service-seller__bar__chunk--development {
        background-color: #eedb22; }
    .service-seller__bar__label {
      color: #717374;
      font-size: 0.75rem;
      font-weight: 300;
      line-height: 1;
      padding-top: 0.5rem; }

.stripe {
  clear: both;
  float: none;
  width: 100%; }
  .stripe--social {
    background-color: #004876;
    color: #fff;
    font-size: 1.25rem;
    padding: 1rem 0;
    position: relative;
    text-align: center; }
    .stripe--social a {
      display: inline-block;
      transition: transform 100ms; }
      .stripe--social a:focus, .stripe--social a:hover {
        transform: scale(1.2); }
      .stripe--social a + a {
        margin-left: 1em; }
    html.js .stripe--social .text {
      display: none; }
  .stripe--taglines {
    box-sizing: border-box;
    min-height: 748px;
    padding: 140px 8%;
    margin: 0;
    list-style: none; }
    .stripe--taglines .text-heading-1 {
      color: #fff;
      margin-bottom: 0.25em; }
    .stripe--taglines .text-body {
      color: #abacad; }
    @media (max-width: 533px) {
      .stripe--taglines {
        padding: 36px 8%; } }

.suggested-posts {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0; }
  .suggested-posts__item + .suggested-posts__item {
    margin-top: 0.5rem; }
  .suggested-posts__item a {
    color: #004876; }
    .suggested-posts__item a:focus, .suggested-posts__item a:hover {
      color: #002654; }
  .suggested-posts__item .suggested-posts__item__name {
    margin: 0;
    text-transform: uppercase; }

.testimonial {
  display: flex;
  flex-direction: row-reverse; }
  .testimonial > * {
    flex: 0 0 auto; }
  .testimonial__quote {
    box-sizing: border-box;
    padding: 2rem;
    width: 66.66667%; }
    .testimonial__quote a {
      text-decoration: underline; }
  .testimonial__media {
    width: 33.33333%; }
    .testimonial__media__image {
      display: block; }
  @media (max-width: 533px) {
    .testimonial {
      flex-direction: column-reverse;
      text-align: center; }
      .testimonial > * {
        width: 90%; }
      .testimonial__quote {
        margin-left: auto;
        padding-top: 6rem; }
      .testimonial__media {
        margin-bottom: -4rem;
        margin-right: auto;
        max-width: 16rem; } }

.text-heading-1,
.text-heading-2,
.text-heading-3 {
  color: #004876;
  line-height: 1.25;
  transition: font-size 100ms; }

.text-heading-1 {
  font-size: 3rem; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-heading-1 {
      font-size: 2.4rem; } }
  @media (max-width: 533px) {
    .text-heading-1 {
      font-size: 1.8rem; } }

.text-heading-2 {
  font-size: 2rem;
  margin-bottom: 0.75rem; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-heading-2 {
      font-size: 1.7rem; } }
  @media (max-width: 533px) {
    .text-heading-2 {
      font-size: 1.4rem; } }

.text-heading-3 {
  font-size: 1.5rem; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-heading-3 {
      font-size: 1.35rem; } }
  @media (max-width: 533px) {
    .text-heading-3 {
      font-size: 1.2rem; } }

.text-heading-4 {
  color: #004876;
  font-size: 1.25rem;
  line-height: 1; }

.text-heading-5 {
  color: #58595b;
  font-size: 1.125rem;
  line-height: 1; }

.text-heading-6 {
  color: #717374;
  font-size: 1rem;
  line-height: 1.25;
  text-transform: uppercase; }

.text-body {
  font-size: 1rem;
  font-style: normal;
  line-height: 1.5; }
  .text-body--bold {
    font-weight: 700; }
  .text-body--italic {
    font-style: italic; }
  .text-body--large {
    font-size: 1.25rem; }
  .text-body--muted {
    color: #717374; }
  .text-body li + li {
    margin-top: 0.5em; }

div.text-body > :first-child,
p.text-body {
  margin-top: 0; }

.text-footnote {
  color: #717374;
  font-size: 0.875rem;
  font-weight: 300;
  line-height: 1.25;
  text-transform: uppercase; }

.text-footer {
  color: #004876;
  font-size: 1rem;
  line-height: 1; }

.text-inverted {
  color: #fff; }

.text-align-center {
  text-align: center; }

.text-align-left {
  text-align: left; }

.text-align-right {
  text-align: right; }

.text-color-pure-black {
  color: #000; }

.text-color-black {
  color: #161615; }

.text-color-dark-grey {
  color: #565657; }

.text-color-medium-grey {
  color: #909092; }

.text-color-light-grey {
  color: #d1d3d3; }

.text-color-white {
  color: #fbf8f4; }

.text-color-pure-white {
  color: #fff; }

.text-color-blue {
  color: #004876; }

.text-color-turquoise {
  color: #20a2c6; }

.text-color-teal {
  color: #00837d; }

.text-color-aqua {
  color: #acdcd4; }

.text-color-butter {
  color: #f6f29d; }

.text-color-yellow {
  color: #f3ed79; }

.text-color-orange {
  color: #eed26e; }

.text-color-rust {
  color: #d58d3e; }

.text-color-pink {
  color: #f5b5ba; }

.text-color-red {
  color: #cc5e51; }

.text-muted {
  opacity: 0.5; }

.text-size-xxxxxl {
  font-size: 4rem; }

.text-size-xxxxl {
  font-size: 3rem; }

.text-size-xxxl {
  font-size: 2rem; }

.text-size-xxl {
  font-size: 1.5rem; }

.text-size-xl {
  font-size: 1.25rem; }

.text-size-l {
  font-size: 1.125rem; }

.text-size-m {
  font-size: 1rem; }

.text-size-s {
  font-size: 0.875rem; }

.text-size-xs {
  font-size: 0.75rem; }

.text-size-xxs {
  font-size: 0.625rem; }

.text-size-xxxxxl, .text-size-xxxxl {
  line-height: 1.125; }

.text-size-xxxl, .text-size-xxl {
  line-height: 1.25; }

.text-stack-alt {
  font-family: "Tuna W01", serif; }

.text-stack-base {
  font-family: "Supra W01", sans-serif; }

.text-style-h1, .text-style-h2, .text-style-h3, .text-style-h4, .text-style-h5, .text-style-h6 {
  line-height: 1.25;
  margin-top: 1em; }
  .text-style-h1.text-stack-alt,
  .text-stack-alt .text-style-h1, .text-style-h2.text-stack-alt,
  .text-stack-alt .text-style-h2, .text-style-h3.text-stack-alt,
  .text-stack-alt .text-style-h3, .text-style-h4.text-stack-alt,
  .text-stack-alt .text-style-h4, .text-style-h5.text-stack-alt,
  .text-stack-alt .text-style-h5, .text-style-h6.text-stack-alt,
  .text-stack-alt .text-style-h6 {
    font-weight: 700; }

.text-style-h1, .text-style-h2, .text-style-h3 {
  font-weight: 300;
  line-height: 1.125;
  transition: font-size 100ms; }

.text-style-h4, .text-style-h5, .text-style-h6 {
  font-weight: 400; }

.text-style-h1 {
  font-size: 4rem;
  margin-bottom: 0.125em; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-style-h1 {
      font-size: 3.4rem; } }
  @media (max-width: 533px) {
    .text-style-h1 {
      font-size: 2.8rem; } }

.text-style-h2 {
  font-size: 3rem;
  margin-bottom: 0.25em; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-style-h2 {
      font-size: 2.625rem; } }
  @media (max-width: 533px) {
    .text-style-h2 {
      font-size: 2.25rem; } }

.text-style-h3 {
  font-size: 2rem;
  margin-bottom: 0.5em; }
  @media (min-width: 534px) and (max-width: 899px) {
    .text-style-h3 {
      font-size: 1.8rem; } }
  @media (max-width: 533px) {
    .text-style-h3 {
      font-size: 1.6rem; } }

.text-style-h4 {
  font-size: 1.5rem;
  margin-bottom: 0.75em; }
  @media (max-width: 533px) {
    .text-style-h4 {
      font-size: 1.3125rem; } }

.text-style-h5 {
  font-size: 1.25rem;
  margin-bottom: 0.875em; }

.text-style-h6 {
  font-size: 1.125rem;
  margin-bottom: 1em; }

.text-style-body {
  font-family: "Tuna W01", serif;
  font-size: 1rem;
  line-height: 1.5;
  max-width: 40em; }
  .text-style-body--large {
    font-size: 1.25rem; }
  .text-style-body--xlarge {
    font-size: 1.5rem; }
  .text-style-body--xxlarge {
    font-size: 2rem;
    line-height: 1.25; }
  .text-style-body--leadin > :first-child {
    font-size: 1.25em; }
  .text-style-body h1,
  .text-style-body h2,
  .text-style-body h3,
  .text-style-body h4,
  .text-style-body h5,
  .text-style-body h6 {
    color: #004876;
    font-family: "Supra W01", sans-serif; }
  .text-style-body p,
  .text-style-body ol,
  .text-style-body ul {
    margin-top: 0; }
  .text-style-body ol,
  .text-style-body ul {
    list-style-type: none;
    padding-left: 0; }
  .text-style-body ol {
    counter-reset: item; }
    .text-style-body ol li {
      counter-increment: item; }
      .text-style-body ol li::before {
        color: #cc5e51;
        content: counter(item) ".";
        font-size: 0.875em;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        top: 0.375em; }
  .text-style-body ul li::before {
    background-color: #cc5e51;
    border-radius: 50%;
    content: "";
    height: 0.5em;
    top: 0.5em;
    width: 0.5em; }
  .text-style-body li {
    position: relative;
    padding-left: 1.5em; }
    .text-style-body li::before {
      left: 0;
      position: absolute; }
    .text-style-body li + li {
      margin-top: 1em; }
  .text-style-body a {
    color: #00837d; }
    .text-style-body a:focus, .text-style-body a:hover {
      color: #00504c; }
  .text-style-body figure,
  .text-style-body img,
  .text-style-body pre {
    margin: 2rem 0; }
  .text-style-body figure img {
    margin: 0; }
  .text-style-body img {
    height: auto;
    margin: 2rem 0;
    max-width: 100%; }
    .text-style-body img.aside {
      float: left;
      margin: 0 2rem 1rem 0;
      max-width: 33.33333%; }

.text-style-footnote {
  font-size: 0.75em; }

.text-weight-light {
  text-weight: light; }

.text-weight-normal {
  text-weight: normal; }

.text-weight-bold {
  text-weight: bold; }

.text-field {
  background-color: #fbf8f4;
  border: 1px solid #d1d3d3;
  border-radius: 0.125rem;
  box-sizing: border-box;
  color: #161615;
  display: block;
  font-family: "Tuna W01", serif;
  font-size: 1rem;
  padding: 0.5rem;
  width: 100%; }
  .text-field:focus, .text-field:hover {
    border-color: #b7baba; }
  .text-field:active {
    border-color: #9da1a1; }
  .text-field--phone {
    width: 10em; }

textarea.text-field {
  height: 6rem;
  resize: vertical; }

.toggle-field {
  cursor: pointer;
  display: block;
  font-family: "Tuna W01", serif;
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 -0.5rem;
  padding: 0.5rem;
  position: relative; }
  .toggle-field::after {
    clear: both;
    content: "";
    display: table; }
  .toggle-field + .toggle-field {
    margin-top: -0.5rem; }
  .toggle-field:focus, .toggle-field:hover {
    background-color: #fbf8f4; }
  .toggle-field__input, .toggle-field__text {
    display: block; }
  .toggle-field__input {
    left: 0.5rem;
    margin: 0.25em 0 0;
    position: absolute;
    top: 0.75rem; }
  .toggle-field__text {
    margin: 0;
    padding-left: 1.5rem;
    position: relative; }
  .toggle-field--small {
    font-size: 0.875rem; }

.template-blog .main {
  padding-top: 124px; }
  @media screen and (max-width: 800px) {
    .template-blog .main {
      padding-top: 0; }
      .template-blog .main > .l-container {
        padding-top: 20px; } }

.template-contact {
  -webkit-text-size-adjust: 100%; }
  .template-contact .main {
    box-sizing: border-box;
    padding-bottom: 4rem;
    padding-top: 30rem;
    position: relative; }
    @media (max-width: 533px) {
      .template-contact .main {
        padding-bottom: 0; } }
    @media (min-width: 900px) {
      .template-contact .main {
        min-height: 100vh;
        padding-top: 7.875rem; } }
  .template-contact .map {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0; }
    .template-contact .map__infobox {
      background-color: #cc5e51;
      border-radius: 4px;
      color: #fbf8f4;
      display: inline-block;
      font-family: "Tuna W01", serif;
      font-size: 1.125rem;
      -webkit-font-smoothing: antialiased;
      padding: 2rem;
      position: relative;
      transform: translate(-50%, -100%);
      white-space: nowrap; }
      .template-contact .map__infobox::after {
        border: 1rem solid transparent;
        border-bottom-width: 0;
        border-top-color: #cc5e51;
        content: "";
        left: 50%;
        margin-left: -1rem;
        position: absolute;
        top: 100%; }
      .template-contact .map__infobox a {
        display: block;
        font-family: "Supra W01", sans-serif; }
      .template-contact .map__infobox h1 {
        font-family: "Supra W01", sans-serif;
        font-size: 2rem;
        font-weight: 300;
        line-height: 1;
        margin: 0; }
      .template-contact .map__infobox p {
        margin: 1rem 0; }
        .template-contact .map__infobox p:last-child {
          margin-bottom: 0; }
      .template-contact .map__infobox .p-name,
      .template-contact .map__infobox .p-name + br {
        display: none; }
      .template-contact .map__infobox .p-region {
        border: none;
        text-decoration: none; }
  .template-contact .form {
    margin-left: auto;
    margin-right: auto;
    max-width: 35rem;
    position: relative;
    width: 100%;
    z-index: 4; }
    .template-contact .form .validated:invalid {
      border-color: #cc5e51;
      box-shadow: 0 0 5px #cc5e51; }
    @media (min-width: 900px) {
      .template-contact .form {
        margin-left: 50vw;
        width: 45vw; } }

.template-media {
  text-align: center; }
  .template-media .main {
    background-color: #fff; }
  .template-media h3 {
    text-align: left; }
  .template-media .assets {
    padding: 0 20px 50px; }
    .template-media .assets a {
      display: block;
      margin: 20px 0; }
  .template-media .asset-url {
    text-align: center;
    text-decoration: none; }
    .template-media .asset-url:focus img, .template-media .asset-url:hover img {
      opacity: 0; }
    .template-media .asset-url:focus .meta, .template-media .asset-url:hover .meta {
      opacity: 1;
      top: 50%; }
  .template-media .asset-wrapper {
    background-blend-mode: multiply;
    background-color: #004876;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative; }
    .template-media .asset-wrapper img,
    .template-media .asset-wrapper .meta {
      display: block;
      width: 100%; }
    .template-media .asset-wrapper img {
      margin: 0;
      transition: opacity 150ms; }
    .template-media .asset-wrapper .meta {
      color: #fff;
      left: 0;
      line-height: 1.25;
      margin-top: -1.2em;
      opacity: 0;
      position: absolute;
      text-align: center;
      top: 55%;
      transition: opacity 150ms, top 150ms; }
      .template-media .asset-wrapper .meta b,
      .template-media .asset-wrapper .meta i {
        display: block; }
      .template-media .asset-wrapper .meta i {
        font-size: 0.75rem; }
  .template-media .headshots h4, .template-media .headshots h5 {
    margin: 0; }
  .template-media .headshots h4 {
    color: #58595b;
    font-size: 1.125rem; }
  .template-media .headshots h5 {
    color: #717374; }
  .template-media .headshots .asset-wrapper {
    margin-bottom: 0.5rem; }
  .template-media .inquiries {
    color: #58595b; }
    .template-media .inquiries > a {
      color: #004876; }
  .template-media .news-item {
    padding: 0;
    margin: 50px 0;
    text-align: left; }
    .template-media .news-item h3 {
      margin: 0;
      text-decoration: underline; }
    .template-media .news-item time {
      color: #58595b;
      font-weight: normal; }
  .template-media .news-item:nth-child(4) ~ .news-item {
    display: none; }
  .template-media .news-items {
    padding: 0;
    margin: 0;
    list-style: none; }
    .template-media .news-items.expanded .news-item {
      display: flex; }
    .template-media .news-items + button {
      display: block;
      width: 100%;
      padding: 0;
      border: 0;
      margin-bottom: 1rem;
      background: transparent;
      font-size: 1.125rem;
      line-height: 1;
      text-align: center;
      -webkit-appearance: none; }
      .template-media .news-items + button:focus {
        outline: none;
        text-decoration: underline; }
  .template-media .news-logo {
    display: block;
    max-width: 100%;
    max-height: 3em;
    margin: 0 0 0 auto; }
  .template-media .people {
    margin-bottom: 50px;
    text-align: left; }
  .template-media .person {
    position: relative;
    padding-top: 0;
    margin-bottom: 20px; }
    .template-media .person .p-name {
      display: block;
      margin-top: 20px;
      color: #000;
      font-size: 1rem; }
  .template-media .press-releases {
    text-align: left; }
    .template-media .press-releases li {
      padding: 0;
      margin: 0 0 1rem; }
    .template-media .press-releases h4 {
      margin: 0;
      text-decoration: underline; }
    .template-media .press-releases ol {
      padding: 0;
      margin: 0;
      list-style: none; }
    .template-media .press-releases time {
      color: #58595b;
      font-weight: normal; }
    .template-media .press-releases .archives {
      display: block;
      text-align: right; }

.template-portfolio .banner--with-image {
  background-position: center top; }

.template-services__service-blocks {
  position: relative;
  z-index: 2; }

.template-services__bridge-the-gap-banner {
  margin-top: -6rem; }
  @media (min-width: 900px) {
    .template-services__bridge-the-gap-banner {
      padding-top: calc(16vh + 4rem); } }
  @media (min-width: 534px) and (max-width: 899px) {
    .template-services__bridge-the-gap-banner {
      padding-top: calc(12vh + 4rem); } }
  @media (max-width: 533px) {
    .template-services__bridge-the-gap-banner {
      padding-top: calc(10vh + 4rem); } }

@media (max-width: 899px) {
  .template-services__contact-banner .column:first-of-type {
    margin-bottom: 2rem; } }

@media (min-width: 900px) {
  .template-services__contact-banner .column:first-of-type {
    padding-right: calc(20px + 3rem); } }

.template-services__contact-banner .column:first-of-type [class^='text-heading-'] {
  color: #fff; }

.template-services__contact-banner .column:first-of-type .text-body {
  color: #d1d3d3; }

.template-newsletter .banner--page-header {
  height: 50vh;
  transition: height 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  @media (min-width: 900px) {
    .template-newsletter .banner--page-header {
      height: 70vh; } }

.template-newsletter .main {
  position: relative; }
  @media (min-width: 534px) {
    .template-newsletter .main {
      padding-bottom: 4rem; } }

.template-newsletter .text-style-h3 {
  margin-bottom: 0.25em; }

.template-newsletter .form {
  margin-left: auto;
  margin-right: auto;
  margin-top: -25vh;
  max-width: 594px;
  position: relative;
  transition: margin-top 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  z-index: 4; }
  @media (min-width: 900px) {
    .template-newsletter .form {
      margin-top: -50vh; } }
