@charset "UTF-8";
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1 {
  margin: 0 0 0.75em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.frame {
  margin: 0 auto;
  max-width: 100%;
}
.frame:after {
  content: "";
  display: table;
  clear: both;
}

[class*=bit-] {
  float: left;
  padding: 1em;
}

.bit-1 {
  width: 100%;
}

.bit-2 {
  width: 50%;
}

.bit-3 {
  width: 33.3333333333%;
}

.bit-4 {
  width: 25%;
}

.bit-5 {
  width: 20%;
}

.bit-6 {
  width: 16.6666666667%;
}

.bit-7 {
  width: 14.2857142857%;
}

.bit-8 {
  width: 12.5%;
}

.bit-9 {
  width: 11.1111111111%;
}

.bit-10 {
  width: 10%;
}

.bit-11 {
  width: 9.0909090909%;
}

.bit-12 {
  width: 8.3333333333%;
}

.bit-20 {
  width: 20%;
}

.bit-25 {
  width: 25%;
}

.bit-30 {
  width: 30%;
}

.bit-40 {
  width: 40%;
}

.bit-50 {
  width: 50%;
}

.bit-60 {
  width: 60%;
}

.bit-70 {
  width: 70%;
}

.bit-75 {
  width: 75%;
}

@media (max-width: 30em) {
  .bit-1 {
    width: 100%;
  }

  .bit-2 {
    width: 100%;
  }

  .bit-3 {
    width: 100%;
  }

  .bit-4 {
    width: 100%;
  }

  .bit-5 {
    width: 100%;
  }

  .bit-6 {
    width: 100%;
  }

  .bit-7 {
    width: 100%;
  }

  .bit-8 {
    width: 100%;
  }

  .bit-9 {
    width: 100%;
  }

  .bit-10 {
    width: 100%;
  }

  .bit-11 {
    width: 100%;
  }

  .bit-12 {
    width: 100%;
  }
}
@media (min-width: 30em) and (max-width: 50em) {
  .bit-4,
.bit-6,
.bit-8,
.bit-10,
.bit-12 {
    width: 50%;
  }

  .cf4 .bit-4:nth-child(odd) {
    clear: left;
  }

  .bit-1,
.bit-2,
.bit-3,
.bit-5,
.bit-7,
.bit-9,
.bit-11 {
    width: 100%;
  }
}
@media (min-width: 50em) and (max-width: 68.75em) {
  .bit-2,
.bit-7 {
    width: 100%;
  }

  .bit-4,
.bit-8,
.bit-10,
.bit-12 {
    width: 50%;
  }

  .cf4 .bit-4:nth-child(odd) {
    clear: left;
  }
}

::selection {
  color: #fff;
  background: #011993;
}

:root {
  --content-width: 65rem;
}

*,
*:after,
*:before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  font-size: 17px;
  font-weight: 400;
  color: #3E3E3E;
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  font-size: 1rem;
  font-family: "Raleway", Helvetica Neue, Helvetica, Arial, sans-serif;
  line-height: 1.25;
}

blockquote,
dd,
dl,
p,
pre {
  font-family: "Raleway", Helvetica Neue, Helvetica, Arial, sans-serif;
}

p {
  letter-spacing: 0.05em;
}

i {
  font-family: "Playfair Display", Georgia, serif;
}

li {
  list-style: none;
}

a {
  color: currentColor;
  text-decoration: none;
}

strong, b {
  font-weight: 700;
}

img {
  width: 100%;
}

a,
a:hover {
  cursor: pointer;
  transition: color 0.25s ease-in-out;
}

h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 3rem;
  color: #011993;
}

h2 {
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 2.75rem;
  font-weight: 400;
  text-transform: uppercase;
  color: #3E3E3E;
}

h2.subtitle {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.3rem;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 700;
  margin-bottom: 1em;
}

h4 {
  font-size: 1.3rem;
}

h5 {
  font-size: 1rem;
}

.ntm {
  margin-top: 0 !important;
}

.ntp {
  padding-top: 0 !important;
}

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

.cf {
  clear: both;
}

.flex {
  display: flex;
}

.black {
  color: #000;
}

.white {
  color: #fff;
}

.green {
  color: #04afd7;
}

.lt-green {
  color: #aadb82;
}

.serif {
  font-family: "Playfair Display", Georgia, serif;
}

.sans {
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
}

.bold {
  font-weight: 700;
}

.relative {
  position: relative;
}

.mission img,
.intro img,
.approach img,
.img-redu {
  max-width: 520px;
  padding: 3em 0;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.v-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Style the collapsible content. Note: hidden by default */
.content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

.collapsible {
  border-bottom: 1px solid;
  font-weight: 700;
  display: inline-block;
}

.collapsible:after {
  content: "More";
  /* Unicode character for "plus" sign (+) */
  margin-left: 5px;
}

.active:after {
  content: "Less";
  /* Unicode character for "minus" sign (-) */
}

.btn {
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-size: 1.25rem;
  display: inline-block;
  text-transform: uppercase;
  padding: 0.75em 3em;
  font-weight: 700;
  border-radius: 2px;
}

.btn,
.btn:hover {
  transition: color 0.4s ease-in-out;
  transition: background 0.4s ease-in-out;
}

.btn-1 {
  border: 1px solid #011993;
  color: #011993;
}

.btn-1:after {
  position: absolute;
  content: "→";
  padding-left: 8px;
  margin-top: -4px;
  transition: all ease-out 0.15s;
  opacity: 0;
}

.btn-1:hover:after {
  opacity: 0.75;
  padding-left: 12px;
}

.btn-1:hover {
  border: 1px solid #011993;
  background: #011993;
  color: #fff;
}

.btn-2 {
  border: 1px solid #fff;
  color: #fff;
}

.btn-2:hover {
  border: 1px solid #fff;
  background: #fff;
  color: #232323;
}

.btn-3 {
  border: 1px solid #011993;
  color: #011993;
  position: relative;
}

.btn-3:after {
  position: absolute;
  content: "→";
  padding-left: 5px;
  margin-top: -2px;
  transition: all ease-out 0.15s;
}

.btn-3:hover:after {
  margin-left: 5px;
}

.logo img {
  max-width: 210px;
  position: relative;
  overflow: hidden;
}

.h-hero {
  overflow: hidden;
  background-size: cover;
  background-position: top center;
  background-color: #011993;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 70%, 0 100%);
}

.hero-title {
  padding: 4em 0 9.5em 0;
  float: right;
}

.hero-title h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 7rem;
  color: #fff;
  text-align: left;
  margin-top: 0.75em;
}

.header {
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.menu {
  text-align: center;
  margin-top: 2em;
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
}

.menu a {
  position: relative;
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  padding: 0.25rem 0;
  margin: 0.5rem 0.75rem;
  display: inline-block;
  color: #fff;
}

.menu a:hover {
  border-bottom: 2px solid #04afd7;
}

.menu a[aria-current] {
  color: #fff;
  border-bottom: 2px solid #04afd7;
}

@media screen and (min-width: 44rem) {
  .header .logo {
    margin-bottom: 0;
  }

  .header {
    flex-direction: row;
    justify-content: space-between;
  }

  .menu {
    margin-right: -0.75rem;
    margin-top: 0;
  }

  .menu a {
    margin: 0 0.75rem;
  }
}
main {
  min-height: calc(100vh - 10rem);
}

.wrap {
  padding: 5vh 10vw 10vh;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.cf4 .bit-4:nth-child(5),
.cf4 .bit-4:nth-child(9),
.cf4 .bit-4:nth-child(13),
.cf4 .bit-4:nth-child(17) {
  clear: left;
}

.blue {
  color: #011993;
}

.fff img {
  padding: 1em;
}

.watermark-s,
.watermark-c,
.watermark-p {
  position: relative;
}

.watermark-s:before {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 3em;
  padding: 0;
  margin: 0;
  content: "S";
  top: -70px;
  left: -30px;
  position: absolute;
  z-index: -99;
  color: #04afd7;
}

.watermark-c:before {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 3em;
  padding: 0;
  margin: 0;
  content: "C";
  top: -70px;
  left: -30px;
  position: absolute;
  z-index: -99;
  color: #04afd7;
}

.watermark-p:before {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 3em;
  padding: 0;
  margin: 0;
  content: "P";
  top: -70px;
  left: -30px;
  position: absolute;
  z-index: -99;
  color: #04afd7;
}

.no-pad-l {
  padding-left: 0;
}

.no-pad-r {
  padding-right: 0;
}

.wwd {
  position: relative;
}

.wwd .bottom {
  position: absolute;
  bottom: 0;
}

.wwd .offset {
  margin-top: -100px;
}

.work {
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center center;
  position: relative;
}

.work .container {
  max-width: 65%;
}

.work .backer {
  position: absolute;
  z-index: -9;
}

.work-title {
  font-size: 1.5rem;
}

.approach h1 {
  padding-left: 36px;
}

.approach b {
  color: #011993;
}

.blurb {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 740px;
}

.blurb h1 {
  font-size: 1.25em;
  letter-spacing: 0.03em;
  font-weight: 400;
}

.approach h2,
.about h2 {
  font-size: 2.8em;
  margin-bottom: 0.5em;
}

.approach .shrink {
  padding-right: 4em;
}

.underlay-large {
  position: absolute;
  z-index: -99;
  font-size: 7rem;
  opacity: 0.1;
  top: -46px;
  left: 0;
  color: #011993;
}

.underlay-small {
  position: absolute;
  z-index: -99;
  font-size: 3rem;
  opacity: 0.25;
  top: -26px;
  left: -28px;
  color: #04afd7;
}

.services ul li {
  font-family: "Raleway", Helvetica Neue, Helvetica, Arial, sans-serif;
  padding-bottom: 0.5em;
}

.services h3 {
  padding-left: 30px;
  position: relative;
  color: #011993;
}

.services b {
  color: #04afd7;
}

.home > .services h3 {
  padding-left: 0;
}

.cities h4 {
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
  color: #011993;
}

.v-expand {
  background-position: center;
  background-size: cover;
  width: 100%;
  height: auto;
}

.footer {
  margin-top: 6em;
  padding: 3em 0;
}

.footer,
.footer h2 {
  background-color: #011993;
  color: #fff;
  font-weight: 300;
}

.footer p {
  line-height: 1.5;
}

.footer .crunch {
  max-width: 400px;
}

.footer ul li {
  letter-spacing: 0.15em;
  line-height: 2;
  font-weight: 400;
}

.footer ul li a:hover {
  border-bottom: 1px solid #fff;
}

.footer small {
  opacity: 0.5;
}

.showcase-link {
  background-color: #011993;
  position: relative;
  z-index: 0;
  border-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}

.showcase .bit-3:nth-child(2n) .showcase-link {
  background-color: #04afd7 !important;
}

.showcase-link:hover {
  opacity: 0.8;
  transition: opacity 0.25s ease-in-out;
  -moz-transition: opacity 0.25s ease-in-out;
  -webkit-transition: opacity 0.25s ease-in-out;
}

.showcase-link img {
  opacity: 0.2;
}

.showcase-caption {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translate(0, -50%);
  text-align: center;
  color: #eafded;
  letter-spacing: 0.05em;
  padding: 0 2em;
}

.showcase-caption h3 {
  font-size: 1.4rem;
  font-family: "Oswald", Helvetica Neue, Helvetica, Arial, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
}

.showcase-caption p {
  line-height: 1.5;
}

.about b {
  color: #011993;
}

.about ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.about li {
  width: 25%;
}

@media screen and (max-width: 101em) {
  .about li {
    width: 33%;
  }
}
@media screen and (max-width: 68.75em) {
  .approach h1 {
    margin: 0 0 1rem 0;
  }

  .approach .frame {
    margin-bottom: 4rem !important;
  }

  .flip-mobile {
    display: flex !important;
    flex-direction: column;
  }

  .m-order-1 {
    order: 1;
  }

  .m-order-2 {
    order: 2;
  }

  .m-order-3 {
    order: 3;
  }

  .m-order-4 {
    order: 4;
  }

  .v-center {
    display: block;
  }

  .wrap {
    padding: 5vh 5vw 10vh;
  }

  .h-hero {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
  }

  .bit-20 {
    width: 100%;
  }

  .bit-25 {
    width: 100%;
  }

  .bit-30 {
    width: 100%;
  }

  .bit-40 {
    width: 100%;
  }

  .bit-50 {
    width: 100%;
  }

  .bit-60 {
    width: 100%;
  }

  .bit-70 {
    width: 100%;
  }

  .bit-75 {
    width: 100%;
  }

  .wwd .bottom {
    position: relative;
  }

  .wwd .wrap {
    padding-bottom: 0;
    padding-top: 0;
  }

  .approach .shrink {
    padding-right: 2em;
  }

  .flex {
    display: inline-block;
  }

  .v-expand {
    height: 400px;
  }

  .hero-title h1 {
    font-size: 5rem;
  }
}
@media screen and (max-width: 50em) {
  html {
    font-size: 17px;
  }

  .intro h1,
.mission h1,
.fff h1,
.wwd h1,
.definitions h1 {
    font-size: 2.4rem;
  }

  .fff .bit-3 {
    margin-top: 2em;
  }

  .fff .bit-3:first-child {
    margin-top: 0;
  }

  h3 {
    margin-bottom: 0.5em;
  }

  .services .bit-4 {
    margin-bottom: 2em;
  }

  .hero-title {
    padding: 0 0 4em 0;
    float: left;
  }

  .h-hero {
    background-position: 30%;
    min-height: 0;
  }

  .flex {
    display: inline-block;
  }

  .hero-title h1 {
    font-size: 3.5rem;
  }

  .about li {
    width: 50%;
  }
}
@media screen and (max-width: 30em) {
  html {
    font-size: 16px;
  }

  .h-hero {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
  }

  .hero-title h1 {
    font-size: 3rem;
    margin-top: 0;
  }

  .hero-title {
    padding: 1em 0 2.5em 0;
    float: left;
  }

  .work .container {
    max-width: 100%;
  }

  .work {
    background-position: center bottom;
  }

  .work h1 {
    font-size: 1.5em;
  }

  .flex {
    display: inline-block;
  }

  .footer h2 {
    font-size: 2rem;
  }
}