











::-moz-selection {
    background: #66b6c7;
    color: #fff;
    text-shadow: none
}

::selection {
    background: #66b6c7;
    color: #fff;
    text-shadow: none
}

* {
    box-sizing: border-box;
    -moz-box-sizing: border-box
}

.about-service {
    padding-bottom: 2.30769em
}

.about-service svg {
    display: block;
    margin: 0 auto
}

.about-service .heading-set {
    margin-top: 2.30769em;
    margin-bottom: 1.23077em;
    min-height: 3.30769em
}

.about-service__description {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    margin-bottom: 2.66667em;
    line-height: 1.9
}

.additional-service-line p {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    display: inline-block;
    margin-right: 1.15385em;
    color: #6e675b;
    line-height: 1.9
}

.additional-service-line strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    color: #0085a1
}

.additional-service-line a {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    color: #6e675b
}

.anim-panel {
    position: fixed;
    top: 20px;
    right: 20px;
    width: 300px;
    z-index: 99999
}

.anim-panel .ui-slider {
    margin-top: 8px
}

.anim-panel__button {
    cursor: pointer;
    display: inline-block;
    font-family: "Helvetica Neue", Helvetica, Arial;
    font-size: 12px;
    line-height: 1;
    color: #fff;
    padding: 5px
}

.anim-panel__button:hover {
    color: #000
}

.anim-panel__button.is-active {
    color: #000
}

.approach-intro-graphic {
    position: relative
}

.approach-intro-graphic svg {
    display: block;
    margin: 0 auto
}

.approach-intro-graphic__before, .approach-intro-graphic__after {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: auto;
    position: absolute;
    color: #0085a1;
    top: 1.3em
}

.approach-intro-graphic__before {
    left: -5em
}

.approach-intro-graphic__before span {
    display: inline-block;
    border-bottom: 1px solid #0085a1;
    width: 5em;
    margin: 0 .3em
}

.approach-intro-graphic__after {
    right: -3.2em
}

.author__image img {
    max-width: 100%;
    display: block;
    margin: 0 auto;
    margin-bottom: 2.15385em
}

.author__byline {
    text-align: center;
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-size: 9px;
    font-size: 9px;
    font-size: .9rem;
    line-height: 2;
    color: #837d72
}

.author__byline a {
    text-transform: uppercase;
    color: #0085a1;
    text-decoration: none
}

.block {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover
}








.block--on-dark {
    color: #fff !important
}

.block--container {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.block--container:after {
    content: " ";
    display: block;
    clear: both
}


.block--bg-blue {
    background-color: #0085a1
}

.block--bg-med-blue {
    background-color: #66b6c7
}

.block--bg-light-blue {
    background-color: #ebf5f7
}

.block--center-vertical:before {
    display: inline-block;
    margin-right: -.30769em;
    width: 0.3%;
    height: 100%;
    content: "";
    vertical-align: middle
}

.block--center-vertical .block__inner {
    display: inline-block;
    width: 99.6%;
    vertical-align: middle
}

.block--center-horizontal {
    text-align: center
}

.block--quote .quote + .button-small, .block--intro .quote + .button-small {
    display: inline-block;
    margin-top: 12.5%
}


.block--image {
    text-align: center
}


.block--video video {
    max-width: 100%;
    margin: 0 auto;
    display: block
}

.block--gallery {
    text-align: center
}

.block--gallery > .block__inner > img, .block--gallery > .block__inner > span {
    display: block
}

.block--gallery img + img, .block--gallery span + span {
    /*margin-top: 8.33333%*/
}

.block--page-header {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0
}

.block--page-header:after {
    content: " ";
    display: block;
    clear: both
}


.block--page-header .heading-set {
    margin-top: 40px;
    margin-top: 4rem
}

.block--page-header .quote {
    margin-top: 6%
}


.block--page-header .button-small {
    display: inline-block;
    float: left;
    clear: left;
    margin-top: 3.84615em
}

@media (min-width: 39.375em) {
    .block--page-header .button-small {
        margin-top: 5%
    }
}

.block--cta {
    text-align: center
}

.block--cta .outline-button {
    display: inline-block;
    margin-top: 3.23077em
}

.block--embedded-case-study-intro .quote {
    margin-top: 2.30769em
}

.block--embedded-case-study-intro .button-small {
    display: inline-block;
    margin-top: 3.46154em
}

.block--ratio-1-1 .block__inner, .block--ratio-2-1 .block__inner, .block--ratio-3-1 .block__inner {
    position: absolute
}

.block--ratio-1-1 {
    padding-top: 48%
}

@media (min-width: 39.375em) {
    .block--ratio-1-1 {
        padding-top: 48%
    }
}

@media (min-width: 75em) {
    .block--ratio-1-1 {
        padding-top: 40%
    }
}

.block--ratio-3-1 {
    padding-top: 40%
}

.block .heading-set + .markdown-block {
    margin-top: 12.5%
}

@media (min-width: 39.375em) {
    .block .heading-set + .markdown-block {
        margin-top: 17%
    }
}

.block img {
    display: block;
    width: 100%
}

@media (min-width: 39.375em) {
    .csstransforms.csstransitions .blurb {
        opacity: 0;
        -webkit-transform: translateY(3.07692em);
        -ms-transform: translateY(3.07692em);
        transform: translateY(3.07692em);
        transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
        transition-property: opacity, -webkit-transform;
        transition-property: transform, opacity;
        transition-property: transform, opacity, -webkit-transform
    }

    .csstransforms.csstransitions .blurb.is-revealed {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.blurb__image, .blurb__content {
    display: block
}

@media (min-width: 39.375em) {
    .blurb__image, .blurb__content {
        display: inline-block;
        vertical-align: middle
    }
}

.blurb__image {
    margin: 0 auto .76923em
}

@media (min-width: 39.375em) {
    .blurb__image {
        margin: 0;
        margin-right: 1.53846em;
        width: 4.61538em
    }
}

@media (min-width: 62.5em) {
    .blurb__image {
        width: auto
    }
}

@media (min-width: 39.375em) {
    .blurb__content {
        max-width: 12.69231em
    }
}

@media (min-width: 62.5em) {
    .blurb__content {
        max-width: 18.07692em
    }
}

.blurb__content__heading {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    color: #0085a1
}

.blurb__content__body {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    color: #0085a1;
    -webkit-font-smoothing: antialiased
}

.blurb--on-dark .blurb__content__heading, .blurb--on-dark .blurb__content__body {
    color: #fff
}

.breadcrumb a, .breadcrumb span {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6;
    text-transform: uppercase;
    color: #0085a1;
    text-decoration: none
}

.breadcrumb span {
    color: #80c2d0
}

.breadcrumb a + a:before, .breadcrumb a + span:before, .breadcrumb span + span:before {
    content: "";
    display: block;
    content: ">";
    display: inline-block;
    color: #aca8a1;
    margin: 0 6px
}

.breadcrumb a:hover {
    text-decoration: underline
}

.button-small {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased;
    padding: .8em 1.3em;
    background-color: #0085a1;
    color: #fff;
    text-decoration: none;
    text-align: center
}

.button-small:hover {
    background-color: #302614 !important
}

.caption__heading {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    color: #0085a1;
    margin-bottom: .27273em
}

.caption__body {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #98938a;
    -webkit-font-smoothing: antialiased
}

.caption--on-dark .caption__heading, .caption--on-dark .caption__body {
    color: #fff
}

.caption--on-dark .caption__heading {
    -webkit-font-smoothing: antialiased
}

@media (min-width: 62.5em) {
    .careers-callout__heading, .careers-callout__image, .markdown-block {
        display: inline-block;
        vertical-align: middle
    }
}

.careers-callout__heading {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #0085a1;
    margin: 2.53333em
}

.careers-callout .markdown-block {
    margin: 2.66667em auto;
    max-width: 29.23077em;
    text-align: left;
    width: 80%
}

@media (min-width: 39.375em) {
    .careers-callout .markdown-block {
        width: 80%
    }
}

@media (min-width: 62.5em) {
    .careers-callout .markdown-block {
        margin: 2.66667em;
        width: 38%
    }
}

.client-block {
    position: relative;
    padding-top: 33.333%;
    height: 0;
    background-color: #f7f6f6
}

@media (min-width: 39.375em) {
    .client-block {
        padding-top: 18%
    }
}

@media (min-width: 62.5em) {
    .client-block {
        padding-top: 16.6%
    }
}

.client-block img {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    position: absolute;
    margin: auto
}

.code-language {
    position: absolute;
    right: 0;
    top: 0;
    display: inline-block;
    padding: 8px 10px;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6;
    text-transform: uppercase;
    border-left: 1px solid #d9edf1;
    border-bottom: 1px solid #d9edf1;
    border-bottom-left-radius: 3px;
    background-color: rgba(247, 251, 252, 0.8)
}

.contact-info p {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased
}

.contact-info strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    padding-right: .41667em
}

.contact-info__careers {
    padding-top: 2.84615em
}

.contact-info--footer p, .contact-info--footer a {
    color: rgba(255, 255, 255, 0.5)
}

.contact-info--footer a:hover {
    color: rgba(255, 255, 255, 0.9)
}

@media (min-width: 39.375em) {
    .block--indigo-letterhead {
        position: relative;
        top: -12rem
    }
}

@media (min-width: 62.5em) {
    .block--indigo-letterhead {
        position: relative;
        top: -18rem
    }
}

@media (min-width: 0) and (max-width: 39.375em) {
    .block--indigo-curating-the-story {
        position: relative;
        top: -5rem
    }
}

@media (min-width: 39.375em) {
    .block--indigo-natural-system {
        margin-top: -8%
    }
}

@media (min-width: 0) and (max-width: 39.375em) {
    .block--indigo-educating-everyone {
        background-color: #F65437;
        padding-bottom: 4rem;
        margin-bottom: 3rem
    }
}

@media (min-width: 39.375em) {
    .block--indigo-tablet {
        position: relative;
        top: -1rem
    }
}

@media (min-width: 62.5em) {
    .block--indigo-tablet {
        position: relative;
        top: -7rem
    }
}

@media (min-width: 39.375em) {
    .block--indigo-van {
        margin-top: -9rem
    }
}

@media (min-width: 62.5em) {
    .block--indigo-van {
        margin-top: -17rem
    }
}

@media (min-width: 39.375em) {
    .block--dmdii-tablet-and-phone {
        position: relative;
        z-index: 1;
        margin-bottom: -7.5%
    }
}

.divider-contact__item {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    display: inline-block;
    margin: 0 1.08333em;
    color: #0085a1;
    text-decoration: none;
    text-transform: none;
    line-height: 2.5em
}

.divider-contact__item:hover {
    color: #302614
}

@media (min-width: 39.375em) {
    .divider-contact__item {
        padding-left: 3.5em;
        background-position: left center;
        background-repeat: no-repeat
    }
}



.featured-project {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-top: 71.4%;
    background-color: #ebf5f7
}

@media (min-width: 39.375em) {
    .featured-project {
        padding-top: 35.7%
    }
}

.featured-project__image, .featured-project__image img {
    position: absolute;
    top: -2px;
    left: -2px;
    width: 102%;
    transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1)
}

.featured-project__description {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    transition: 0.5s cubic-bezier(0.19, 1, 0.22, 1)
}

.featured-project__description .heading-set {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    margin: auto;
    width: 25em;
    height: 9.23077em;
    transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    -webkit-transform: scale(0.8);
    -ms-transform: scale(0.8);
    transform: scale(0.8)
}

.featured-project__description__bg {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    top: -.38462em;
    right: -.38462em;
    bottom: -.38462em;
    left: -.38462em;
    opacity: 0.95
}

@media (min-width: 62.5em) {
    .featured-project--small {
        padding-top: 23.8%
    }
}

.no-touch .featured-project:hover .featured-project__image {
    -webkit-transform: scale(1.3);
    -ms-transform: scale(1.3);
    transform: scale(1.3)
}

.no-touch .featured-project:hover .featured-project__description {
    opacity: 1
}

.no-touch .featured-project:hover .heading-set {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

.featured-project:active .heading-set, .no-touch .featured-project:active .heading-set {
    opacity: 0.7;
    transition: 0.15s
}

.footer-callout {
    position: relative;
    display: block;
    min-height: 14.61538em;
    text-align: center;
    text-decoration: none
}

.footer-callout__burst {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    margin-top: -.61538em
}

.ie .footer-callout__burst {
    display: none
}

.footer-callout__image {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    overflow: hidden;
    margin: 0 auto;
    width: 14.61538em;
    height: 14.61538em;
    border-radius: 100%;
    background-color: rgba(255, 255, 255, 0.09);
    opacity: 0.8;
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-backface-visibility: hidden
}

.footer-callout__image img {
    max-width: 100%;
    -webkit-filter: grayscale(0.9) sepia(0.4) opacity(0.2);
    filter: grayscale(0.9) sepia(0.4) opacity(0.2)
}

.no-cssfilters .footer-callout__image {
    background-color: rgba(247, 246, 246, 0.05)
}

.no-cssfilters .footer-callout__image img {
    opacity: 0.1
}

.footer-callout__details {
    position: relative;
    z-index: 1
}

.footer-callout__details__heading {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: auto;
    -webkit-font-smoothing: antialiased;
    padding-top: 4.4em;
    color: #fff
}

.footer-callout__details__heading:after {
    content: "";
    display: block;
    margin: 1.3em auto .9em;
    width: 3em;
    border-bottom: 3px solid #fff
}

.footer-callout__details__title {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 19px;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    color: #fff
}

.footer-callout:hover .footer-callout__image {
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7)
}

.footer-contact-link {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    display: block;
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: 0.15s
}

.footer-contact-link:hover {
    color: #fff
}

.footer-contact-link span {
    display: inline-block;
    position: relative
}

.footer-contact-link span:after {
    position: absolute;
    right: 0;
    left: 0;
    width: 100%;
    display: block;
    padding-top: 3px;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    content: ""
}

.heading-set {
    margin-bottom: 12.5%;
    text-decoration: none;
    display: block
}

@media (min-width: 39.375em) {
    .heading-set {
        margin-bottom: 0
    }
}

.heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #0085a1;
    margin-bottom: 1.06667em
}

.heading-set__primary:after {
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid;
    content: "";
    color: inherit;
    margin-top: 1.5em
}

.heading-set__secondary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: auto;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    color: #0085a1
}

@media (min-width: 62.5em) {
    .heading-set__secondary {
        font-size: 25px;
        font-size: 25px;
        line-height: auto
    }
}

.heading-set--centered {
    text-align: center;
    margin-bottom: 0
}

.heading-set--centered .heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: auto;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased;
    color: #0273b7;
    margin-bottom: .1em
}

@media (min-width: 62.5em) {
    .heading-set--centered .heading-set__primary {
        font-size: 25px;
        font-size: 2.5rem;
        line-height: auto
    }
}

.heading-set--centered .heading-set__primary:after {
    content: none
}

.heading-set--centered .heading-set__secondary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 15px;
    font-size: 15px;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #0273b7
}

.heading-set--centered--lc .heading-set__primary {
    text-transform: none
}

.heading-set--centered--alt-subhead .heading-set__secondary {
    color: #66b6c7 !important
}

.heading-set--centered--s .heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 19px;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    font-size: 20px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4;
    margin-bottom: .8em
}

@media (min-width: 39.375em) {
    .heading-set--large .heading-set__primary {
        font-style: normal;
        font-weight: normal;

        font-weight: 400;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        text-transform: uppercase;
        color: #0085a1;
        margin-bottom: 1.73077em
    }

    .heading-set--large .heading-set__primary:after {
        content: none
    }

    .heading-set--large .heading-set__secondary {
        font-style: normal;
        font-weight: normal;

        font-weight: 400;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.3;
        -webkit-font-smoothing: antialiased;
        color: #0085a1
    }
}

@media (min-width: 39.375em) and (min-width: 62.5em) {
    .heading-set--large .heading-set__secondary {
        font-size: 50px;
        font-size: 5rem;
        line-height: 1.3
    }
}

@media (min-width: 39.375em) {
    .heading-set--large .heading-set__secondary:after {
        display: block;
        width: 34px;
        height: 0;
        border-bottom: 4px solid;
        content: "";
        margin-top: .74em
    }
}

.heading-set--on-dark .heading-set__primary {
    color: #fff
}

.heading-set--on-dark .heading-set__primary:after {
    border-color: #fff
}

.heading-set--on-dark .heading-set__secondary {
    color: #fff
}

.heading-set--on-dark .heading-set__secondary:after {
    border-color: #fff
}

.heading-set--on-dark--alt-subhead-1 .heading-set__secondary {
    color: #80c2d0
}

.heading-set--on-dark--alt-subhead-2 .heading-set__secondary {
    color: #0085a1
}

.heading-set--link-list .heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: .73333em
}

.heading-set--link-list .heading-set__primary:after {
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid;
    content: "";
    border-bottom: 3px solid rgba(255, 255, 255, 0.3);
    width: 22px;
    margin-top: 1em
}

.heading-set--link-list .heading-set__secondary {
    color: rgba(255, 255, 255, 0.5)
}

.heading-set--alt .heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 19px;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    color: #222;
    text-transform: none;
    margin-bottom: .63158em
}

.heading-set--alt .heading-set__primary:after {
    content: none
}

.heading-set--alt .heading-set__secondary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #0085a1
}

.heading-set--minor {
    text-align: center
}

.heading-set--minor .heading-set__primary {
    margin-bottom: 1.06667em
}

.heading-set--minor .heading-set__primary:after {
    margin-right: auto;
    margin-left: auto
}

.heading-set--minor .heading-set__secondary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 19px;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase
}

.heading-set--post .heading-set__primary {
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: auto;
    margin-bottom: .8em
}

.heading-set--post .heading-set__primary:after {
    content: none
}

.heading-set--post .heading-set__secondary:after {
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid;
    content: "";
    margin-top: .72em
}

.heading-set--upper .heading-set__primary {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: inherit;
    margin-bottom: 0
}

.heading-set--upper .heading-set__primary:after {
    content: none
}

.home-intro-loader {
    overflow: hidden;
    width: 11.53846em;
    height: 3.15385em
}

.home-intro-loader:before {
    content: "";
    display: block;
    width: 19.23077em;
    height: 3.15385em;
   
    -webkit-animation-name: home-intro-loading;
    animation-name: home-intro-loading;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes home-intro-loading {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    100% {
        -webkit-transform: translateX(-4.69231em);
        transform: translateX(-4.69231em)
    }
}

@keyframes home-intro-loading {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    100% {
        -webkit-transform: translateX(-4.69231em);
        transform: translateX(-4.69231em)
    }
}

.input-set__input-wrapper {
    height: 2.76923em
}

.intro-anim-bg--1 {
    opacity: 0;
    background-color: #05c4b4
}

.intro-anim-bg--2 {
    opacity: 0;
    background-color: #0085a1
}

.intro-anim-bg--3 {
    opacity: 0;
    background-color: #30ca97
}

.intro-anim-bg--4 {
    opacity: 0;
    background-color: #00caca
}

.intro-anim-text {
    color: #fff
}

.intro-anim-text p, .intro-anim-text a {
    width: 267px;
    text-align: center;
    margin: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute
}

.intro-anim-text p span, .intro-anim-text a span {
    opacity: 0
}

.intro-anim-text a {
    color: #fff;
    transition: opacity 0.2s;
    text-decoration: none
}

.intro-anim-text a:hover {
    opacity: 0.85
}

.intro-anim-text__text {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 19px;
    font-size: 19px;
    font-size: 1.9rem;
    line-height: auto;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    font-size: 24px;
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.4;
    height: 2.95833em;
    opacity: 0
}

.intro-anim-text__large {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    font-size: 52px;
    font-size: 52px;
    font-size: 5.2rem;
    line-height: auto;
    height: 1.36538em
}

.intro-anim-text__text--single-line {
    height: 1.41667em
}

.intro-anim-text__text.is-loaded {
    opacity: 1
}

.intro-anim {
    width: 53.84615em;
    height: 38.46154em
}

.intro-anim .home-intro-loader {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    margin: auto
}

.ie .intro-anim .home-intro-loader {
    display: none
}

.intro-anim .intro-anim-text {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute
}

.intro-anim .intro-anim__content svg {
    opacity: 0
}

.intro-anim.is-loaded .intro-anim__content svg {
    opacity: 1
}

.intro-anim.is-loaded .home-intro-loader {
    display: none
}

.link-list a {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    line-height: 2.2;
    color: #fff;
    text-decoration: none;
    display: inline-block
}

.link-list--footer a {
    color: rgba(255, 255, 255, 0.5)
}

.link-list--footer a:hover {
    color: rgba(255, 255, 255, 0.9)
}

.link-list--bulleted a {
    color: #0085a1;
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    padding-left: 1.41667em;
    position: relative
}

.link-list--bulleted a:hover {
    color: #302614
}

.link-list--bulleted a:before {
    content: "\00BB";
    position: absolute;
    left: 0
}

.markdown-block p + p, .markdown-block h1 + p, .markdown-block h2 + p, .markdown-block h3 + p, .markdown-block h4 + p, .markdown-block h5 + p, .markdown-block h6 + p, .markdown-block ul + p, .markdown-block ol + p, .markdown-block a + p, .markdown-block dl + p, .markdown-block dt + p {
    margin-top: 17px
}

.markdown-block p + h1, .markdown-block h1 + h1, .markdown-block h2 + h1, .markdown-block h3 + h1, .markdown-block h4 + h1, .markdown-block h5 + h1, .markdown-block h6 + h1, .markdown-block ul + h1, .markdown-block ol + h1, .markdown-block a + h1, .markdown-block dl + h1, .markdown-block dt + h1 {
    margin-top: 17px
}

.markdown-block p + h2, .markdown-block h1 + h2, .markdown-block h2 + h2, .markdown-block h3 + h2, .markdown-block h4 + h2, .markdown-block h5 + h2, .markdown-block h6 + h2, .markdown-block ul + h2, .markdown-block ol + h2, .markdown-block a + h2, .markdown-block dl + h2, .markdown-block dt + h2 {
    margin-top: 17px
}

.markdown-block p + h3, .markdown-block h1 + h3, .markdown-block h2 + h3, .markdown-block h3 + h3, .markdown-block h4 + h3, .markdown-block h5 + h3, .markdown-block h6 + h3, .markdown-block ul + h3, .markdown-block ol + h3, .markdown-block a + h3, .markdown-block dl + h3, .markdown-block dt + h3 {
    margin-top: 17px
}

.markdown-block p + h4, .markdown-block h1 + h4, .markdown-block h2 + h4, .markdown-block h3 + h4, .markdown-block h4 + h4, .markdown-block h5 + h4, .markdown-block h6 + h4, .markdown-block ul + h4, .markdown-block ol + h4, .markdown-block a + h4, .markdown-block dl + h4, .markdown-block dt + h4 {
    margin-top: 17px
}

.markdown-block p + h5, .markdown-block h1 + h5, .markdown-block h2 + h5, .markdown-block h3 + h5, .markdown-block h4 + h5, .markdown-block h5 + h5, .markdown-block h6 + h5, .markdown-block ul + h5, .markdown-block ol + h5, .markdown-block a + h5, .markdown-block dl + h5, .markdown-block dt + h5 {
    margin-top: 17px
}

.markdown-block p + h6, .markdown-block h1 + h6, .markdown-block h2 + h6, .markdown-block h3 + h6, .markdown-block h4 + h6, .markdown-block h5 + h6, .markdown-block h6 + h6, .markdown-block ul + h6, .markdown-block ol + h6, .markdown-block a + h6, .markdown-block dl + h6, .markdown-block dt + h6 {
    margin-top: 17px
}

.markdown-block p + ul, .markdown-block h1 + ul, .markdown-block h2 + ul, .markdown-block h3 + ul, .markdown-block h4 + ul, .markdown-block h5 + ul, .markdown-block h6 + ul, .markdown-block ul + ul, .markdown-block ol + ul, .markdown-block a + ul, .markdown-block dl + ul, .markdown-block dt + ul {
    margin-top: 17px
}

.markdown-block p + ol, .markdown-block h1 + ol, .markdown-block h2 + ol, .markdown-block h3 + ol, .markdown-block h4 + ol, .markdown-block h5 + ol, .markdown-block h6 + ol, .markdown-block ul + ol, .markdown-block ol + ol, .markdown-block a + ol, .markdown-block dl + ol, .markdown-block dt + ol {
    margin-top: 17px
}

.markdown-block p + a, .markdown-block h1 + a, .markdown-block h2 + a, .markdown-block h3 + a, .markdown-block h4 + a, .markdown-block h5 + a, .markdown-block h6 + a, .markdown-block ul + a, .markdown-block ol + a, .markdown-block a + a, .markdown-block dl + a, .markdown-block dt + a {
    margin-top: 17px
}

.markdown-block p + dl, .markdown-block h1 + dl, .markdown-block h2 + dl, .markdown-block h3 + dl, .markdown-block h4 + dl, .markdown-block h5 + dl, .markdown-block h6 + dl, .markdown-block ul + dl, .markdown-block ol + dl, .markdown-block a + dl, .markdown-block dl + dl, .markdown-block dt + dl {
    margin-top: 17px
}

.markdown-block p + dt, .markdown-block h1 + dt, .markdown-block h2 + dt, .markdown-block h3 + dt, .markdown-block h4 + dt, .markdown-block h5 + dt, .markdown-block h6 + dt, .markdown-block ul + dt, .markdown-block ol + dt, .markdown-block a + dt, .markdown-block dl + dt, .markdown-block dt + dt {
    margin-top: 17px
}

.markdown-block p, .markdown-block ul, .markdown-block ol {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 13px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    color: inherit
}

@media (min-width: 62.5em) {
    .markdown-block p, .markdown-block ul, .markdown-block ol {
        line-height: 2.0
    }
}

.markdown-block a {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 13px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    color: #0085a1;
    text-decoration: none
}

@media (min-width: 62.5em) {
    .markdown-block a {
        line-height: 2.0
    }
}

.markdown-block strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 13px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700
}

@media (min-width: 62.5em) {
    .markdown-block strong {
        line-height: 2.0
    }
}

.markdown-block a:hover {
    text-decoration: underline
}

.markdown-block h1 {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase
}

.markdown-block h2 {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: auto;
    line-height: 1.4;
    -webkit-font-smoothing: antialiased
}

@media (min-width: 62.5em) {
    .markdown-block h2 {
        font-size: 25px;
        font-size: 2.5rem;
        line-height: auto
    }
}

.markdown-block h1 + h2 {
    margin-top: 9px
}

.markdown-block h1 + h2:before {
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid;
    content: "";
    margin-top: .72222em;
    margin-bottom: .5em
}

.markdown-block h2 + p {
    margin-top: 12.5%
}

@media (min-width: 39.375em) {
    .markdown-block h2 + p {
        margin-top: 3.84615em
    }
}

.markdown-block h3 {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    color: #a29d95 !important;
    margin-bottom: .18182em
}

.markdown-block p + h3:first-of-type {
    margin-top: 4.54545em
}

.markdown-block h3 + p {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #837d72;
    -webkit-font-smoothing: antialiased;
    margin-top: .5em;
    margin-bottom: 2.5em
}

.markdown-block code {
    font-family: Consolas, Monaco, 'Andale Mono', monospace;
    background-color: #f5fafb;
    -webkit-font-smoothing: subpixel-antialiased;
    font-size: 13px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: auto
}

.markdown-block--on-dark p, .markdown-block--on-dark h1, .markdown-block--on-dark h2, .markdown-block--on-dark h3, .markdown-block--on-dark h4, .markdown-block--on-dark h5, .markdown-block--on-dark h6, .markdown-block--on-dark ul, .markdown-block--on-dark ol, .markdown-block--on-dark a, .markdown-block--on-dark dl, .markdown-block--on-dark dt {
    color: #fff
}

.markdown-block--blue p, .markdown-block--blue h1, .markdown-block--blue h2, .markdown-block--blue h3, .markdown-block--blue h4, .markdown-block--blue h5, .markdown-block--blue h6, .markdown-block--blue ul, .markdown-block--blue ol, .markdown-block--blue a, .markdown-block--blue dl, .markdown-block--blue dt {
    color: #0085a1
}

.markdown-block--caption p, .markdown-block--caption h1, .markdown-block--caption h2, .markdown-block--caption h3, .markdown-block--caption h4, .markdown-block--caption h5, .markdown-block--caption h6, .markdown-block--caption ul, .markdown-block--caption ol, .markdown-block--caption a, .markdown-block--caption dl, .markdown-block--caption dt {
    color: #8d887e
}

.markdown-block--caption h1 {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #b7b3ad
}

.markdown-block--caption p {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased
}

.markdown-block--soft p, .markdown-block--soft h1, .markdown-block--soft h2, .markdown-block--soft h3, .markdown-block--soft h4, .markdown-block--soft h5, .markdown-block--soft h6, .markdown-block--soft ul, .markdown-block--soft ol, .markdown-block--soft a, .markdown-block--soft dl, .markdown-block--soft dt {
    color: #8d887e
}

@media (min-width: 39.375em) {
    .markdown-block--embedded-case-study-align {
        padding-top: 9.30769em
    }
}

.markdown-block--s p, .markdown-block--s h1, .markdown-block--s h2, .markdown-block--s h3, .markdown-block--s h4, .markdown-block--s h5, .markdown-block--s h6, .markdown-block--s ul, .markdown-block--s ol, .markdown-block--s a, .markdown-block--s dl, .markdown-block--s dt {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased
}

.markdown-block--s a {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    color: #0085a1
}

.markdown-block--s h3, .markdown-block--s strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700
}

.markdown-block--news h2 + p {
    margin-top: 17px
}

.markdown-block--news h2 {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    margin-top: 2.33333em !important;
    margin-bottom: 1.6em !important
}

.markdown-block--news h2:first-child {
    margin-top: 0 !important
}

.markdown-block--news ul li, .markdown-block--news ol li {
    padding-left: 1.53846em;
    position: relative
}

.markdown-block--news ul li:before, .markdown-block--news ol li:before {
    position: absolute;
    left: 0
}

.markdown-block--news ul li:before {
    content: "\2022"
}

.markdown-block--news ol {
    counter-reset: item
}

.markdown-block--news ol li:before {
    content: counter(item) ".";
    counter-increment: item
}

.nav-primary:after {
    content: "";
    display: table;
    clear: both
}

.nav-primary__item {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: auto;
    float: left;
    padding: .36364em .45455em;
    color: #302614;
    text-decoration: none;
    opacity: 0.4
}

@media (min-width: 39.375em) {
    .nav-primary__item {
        font-style: normal;
        font-weight: normal;

        font-weight: 400;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.6;
        -webkit-font-smoothing: antialiased;
        text-transform: uppercase;
        padding: .41667em .66667em
    }
}

.nav-primary__item:hover {
    opacity: 0.9
}

.nav-primary--knockout .nav-primary__item {
    color: #fff !important;
    opacity: 1
}

.nav-primary--knockout .nav-primary__item:hover {
    opacity: 0.8
}

.nav-primary__item.is-current {
    color: #0085a1;
    opacity: 1
}

.newsletter-signup__description {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    margin-bottom: 2.4em;
    color: #fff;
    line-height: 2
}

.newsletter-signup__description a {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: auto;
    padding-right: .4em;
    color: #fff;
    text-decoration: none
}

.newsletter-signup__description a:hover {
    text-decoration: underline
}

.newsletter-signup__form .submit-button-square {
    position: relative;
    top: -2.76923em;
    float: right
}

.newsletter-signup--contact {
    margin-top: 1em
}

.newsletter-signup--contact .newsletter-signup__form input[type="email"] {
    box-shadow: inset 0 0 0 2px #4daabd
}

.fim-logo-link--footer img {
    height: 1.46154em;
    opacity: 0.6;
    transition: 0.15s
}

.ie9 .fim-logo-link--footer img {
    height: 2.07692em;
    width: 6.07692em
}

.fim-logo-link--footer:hover img {
    opacity: 1
}

.outline-button {
    text-indent: -9999em;
    position: relative;
    display: block;
    width: 15.5em;
    height:60px; line-height:60px; 
    color: transparent;
    text-align: center
}

.outline-button:before, .outline-button:after {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 14px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    line-height: 1.33333em;
    content: "";
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    border: 4px solid #0085a1;
    color: #0085a1;
    text-decoration: none;
    padding: 1.33333em;
    content: attr(title);
    text-indent: 0
}

.outline-button:before {
    display: block
}

.outline-button:after {
    color: #fff;
    background-color: #0085a1;
    display: none
}

.outline-button:hover:before {
    display: none
}

.outline-button:hover:after {
    display: block
}

.csstransforms3d .outline-button:before, .csstransforms3d .outline-button:after {
    -webkit-transform-origin: 50% 50% -2.07692em;
    -ms-transform-origin: 50% 50% -2.07692em;
    transform-origin: 50% 50% -2.07692em;
    transition: 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    display: block
}

.csstransforms3d .outline-button:after {
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg)
}

.csstransforms3d .outline-button:hover:before {
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    opacity: 0.2
}

.csstransforms3d .outline-button:hover:after {
    -webkit-transform: rotateX(0);
    transform: rotateX(0)
}

.pagination__link {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    color: #0085a1;
    text-decoration: none
}

.pagination__link:hover {
    text-decoration: underline
}

.pagination__link--newer {
    padding-right: 1.18182em
}

.pagination__link + .pagination__link {
    border-left: 1px solid #aca8a1;
    padding-left: 1.18182em
}

.post {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.post:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .post__details {
        width: 16.66667%;
        float: left;
        min-width: 12.69231em
    }
}

.post__details .author {
    width: 7.69231em;
    margin: auto;
    margin-bottom: 15%
}

@media (min-width: 39.375em) {
    .post__details .author {
        margin: 0;
        margin-top: -.53846em
    }
}

.post__content .markdown-block, .post__content pre, .post__content .post__content__embed, .post__content .post__content__image, .post__content .button-small {
    margin-top: 2.69231em !important
}

.post__content .outline-button {
    margin-top: 5em !important
}

.post__content .button-small {
    display: inline-block
}

.post__content .markdown-block {
    width: 100%
}

@media (min-width: 39.375em) {
    .post__content {
        width: 66.66667%;
        float: left
    }
}

.post__content__embed {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased
}

.post__content__image img {
    max-width: 100%;
    display: block
}

.post__content__image img + .caption, .post__content__image .caption + img, .post__content__image a + .caption {
    margin-top: 2em
}

.post__content__embed.is-responsive {
    position: relative;
    padding-bottom: 55.65%;
    height: 0
}

.post__content__embed.is-responsive iframe {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    width: 100%;
    height: 100%
}

@media (min-width: 0) and (max-width: 39.375em) {
    .post__content__embed.is-mobile-hidden {
        display: none
    }
}

.project-details__heading {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #fff;
    padding-top: 1.66667em;
    margin-bottom: .16667em
}

.project-details__item {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #fff;
    text-decoration: none
}

.project-details__item:link:hover {
    text-decoration: underline
}

.quote p {
    font-style: normal;
    font-weight: normal;

    font-weight: 200;
    font-size: 18px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.6
}

@media (min-width: 62.5em) {
    .quote p {
        font-size: 23px;
        font-size: 2.3rem;
        line-height: auto
    }
}

.quote p strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    padding-right: 1em
}

.quote p a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid
}

.quote p + p {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    margin-top: 11.25%
}

@media (min-width: 39.375em) {
    .quote p + p {
        margin-top: 2.6em
    }
}

.quote--big {
    -webkit-font-smoothing: antialiased
}

@media (min-width: 39.375em) {
    .quote--big {
        padding: 4% 0
    }

    .quote--big p {
        font-size: 32px;
        font-size: 3.2rem;
        line-height: 1.5
    }

    .quote--big p + p {
        margin-top: 5.5em
    }
}

.social-link {
    text-indent: -9999em;
    display: block;
    width: 30px;
    height: 30px;
    background-position: center center;
    background-repeat: no-repeat;
    transition: opacity 0.15s;
    opacity: 0.5
}

.social-link:hover {
    opacity: 1
}



.submit-button-square {
    text-indent: -9999em;
    width: 2.76923em;
    height: 2.76923em;
    line-height: 1;
    border: none;
    transition: 0.15s;
   
    -webkit-appearance: none;
    border-radius: 0
}

.submit-button-square:hover {
    background-color: #3bb11c
}

#svg-about-teamwork-guide #dotted-line path {
    -webkit-animation-duration: 13s;
    animation-duration: 13s;
    -webkit-animation-name: svg-about-teamwork-guide-stroke;
    animation-name: svg-about-teamwork-guide-stroke;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes svg-about-teamwork-guide-stroke {
    0% {
        stroke-dashoffset: 0
    }
    100% {
        stroke-dashoffset: -108
    }
}

@keyframes svg-about-teamwork-guide-stroke {
    0% {
        stroke-dashoffset: 0
    }
    100% {
        stroke-dashoffset: -108
    }
}

#svg-about-teamwork-partners #outer-orbiting {
    -webkit-animation-duration: 50s;
    animation-duration: 50s;
    -webkit-animation-name: svg-about-teamwork-partners-outer;
    animation-name: svg-about-teamwork-partners-outer;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-about-teamwork-partners #camera, #svg-about-teamwork-partners #video, #svg-about-teamwork-partners #document {
    -webkit-animation-duration: 50s;
    animation-duration: 50s;
    -webkit-animation-name: svg-about-teamwork-partners-outer-circles;
    animation-name: svg-about-teamwork-partners-outer-circles;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-about-teamwork-partners #inner-orbiting-circles {
    -webkit-animation-duration: 50s;
    animation-duration: 50s;
    -webkit-animation-name: svg-about-teamwork-partners-inner;
    animation-name: svg-about-teamwork-partners-inner;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

@-webkit-keyframes svg-about-teamwork-partners-outer {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@keyframes svg-about-teamwork-partners-outer {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}

@-webkit-keyframes svg-about-teamwork-partners-outer-circles {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@keyframes svg-about-teamwork-partners-outer-circles {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@-webkit-keyframes svg-about-teamwork-partners-inner {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

@keyframes svg-about-teamwork-partners-inner {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(-360deg);
        transform: rotate(-360deg)
    }
}

#svg-about-teamwork-transparent #clouds {
    -webkit-animation-duration: 15s;
    animation-duration: 15s;
    -webkit-animation-name: svg-about-teamwork-transparent-clouds;
    animation-name: svg-about-teamwork-transparent-clouds;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

@-webkit-keyframes svg-about-teamwork-transparent-clouds {
    0% {
        -webkit-transform: translateX(62px);
        transform: translateX(62px)
    }
    100% {
        -webkit-transform: translateX(-62px);
        transform: translateX(-62px)
    }
}

@keyframes svg-about-teamwork-transparent-clouds {
    0% {
        -webkit-transform: translateX(62px);
        transform: translateX(62px)
    }
    100% {
        -webkit-transform: translateX(-62px);
        transform: translateX(-62px)
    }
}

#svg-approach-process text {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    -webkit-font-smoothing: antialiased
}

@media (min-width: 39.375em) and (max-width: 62.5em) {
    .csstransitions.no-ie #svg-approach-process #node-7 {
        -webkit-transform: translateY(5.76923em);
        -ms-transform: translateY(5.76923em);
        transform: translateY(5.76923em)
    }
}

.csstransitions.no-ie #svg-approach-process #path-1 path, .csstransitions.no-ie #svg-approach-process #path-2 path, .csstransitions.no-ie #svg-approach-process #path-3 path, .csstransitions.no-ie #svg-approach-process #path-4 path {
    transition: 0.5s
}

.csstransitions.no-ie #svg-approach-process #path-1.is-revealed path, .csstransitions.no-ie #svg-approach-process #path-2.is-revealed path, .csstransitions.no-ie #svg-approach-process #path-3.is-revealed path, .csstransitions.no-ie #svg-approach-process #path-4.is-revealed path {
    stroke-dashoffset: 0
}

.csstransitions.no-ie #svg-approach-process #path-1 path {
    stroke-dasharray: 640;
    stroke-dashoffset: 640
}

.csstransitions.no-ie #svg-approach-process #path-2 path {
    stroke-dasharray: 930;
    stroke-dashoffset: 930;
    transition-duration: 0.7s
}

.csstransitions.no-ie #svg-approach-process #path-3 path {
    stroke-dasharray: 1050;
    stroke-dashoffset: 1050;
    transition-duration: 1s
}

.csstransitions.no-ie #svg-approach-process #path-4 {
    opacity: 0;
    transition: 0.5s;
    transition-delay: 0.2s
}

.csstransitions.no-ie #svg-approach-process #path-4.is-revealed {
    opacity: 1
}

.csstransitions.no-ie #svg-approach-process #arrow-1, .csstransitions.no-ie #svg-approach-process #arrow-2, .csstransitions.no-ie #svg-approach-process #arrow-3, .csstransitions.no-ie #svg-approach-process #arrow-4, .csstransitions.no-ie #svg-approach-process #arrow-5, .csstransitions.no-ie #svg-approach-process #arrow-6 {
    opacity: 0;
    transition: 0.4s
}

.csstransitions.no-ie #svg-approach-process #arrow-1.is-revealed, .csstransitions.no-ie #svg-approach-process #arrow-2.is-revealed, .csstransitions.no-ie #svg-approach-process #arrow-3.is-revealed, .csstransitions.no-ie #svg-approach-process #arrow-4.is-revealed, .csstransitions.no-ie #svg-approach-process #arrow-5.is-revealed, .csstransitions.no-ie #svg-approach-process #arrow-6.is-revealed {
    opacity: 1
}

.csstransitions.no-ie #svg-approach-process #right-moving-arrows, .csstransitions.no-ie #svg-approach-process #left-moving-arrows, .csstransitions.no-ie #svg-approach-process #down-moving-arrows, .csstransitions.no-ie #svg-approach-process #up-moving-arrows {
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

#svg-approach-process #up-moving-arrows {
    -webkit-animation-name: approach-process-up-arrows;
    animation-name: approach-process-up-arrows
}

@-webkit-keyframes approach-process-up-arrows {
    0% {
        -webkit-transform: translateY(2.30769em);
        transform: translateY(2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-2.30769em);
        transform: translateY(-2.30769em)
    }
}

@keyframes approach-process-up-arrows {
    0% {
        -webkit-transform: translateY(2.30769em);
        transform: translateY(2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-2.30769em);
        transform: translateY(-2.30769em)
    }
}

#svg-approach-process #down-moving-arrows {
    -webkit-animation-name: approach-process-down-arrows;
    animation-name: approach-process-down-arrows
}

@-webkit-keyframes approach-process-down-arrows {
    0% {
        -webkit-transform: translateY(-2.30769em);
        transform: translateY(-2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(2.30769em);
        transform: translateY(2.30769em)
    }
}

@keyframes approach-process-down-arrows {
    0% {
        -webkit-transform: translateY(-2.30769em);
        transform: translateY(-2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(2.30769em);
        transform: translateY(2.30769em)
    }
}

#svg-approach-process #left-moving-arrows {
    -webkit-animation-name: approach-process-left-arrows;
    animation-name: approach-process-left-arrows
}

@-webkit-keyframes approach-process-left-arrows {
    0% {
        -webkit-transform: translateX(2.30769em);
        transform: translateX(2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(-2.30769em);
        transform: translateX(-2.30769em)
    }
}

@keyframes approach-process-left-arrows {
    0% {
        -webkit-transform: translateX(2.30769em);
        transform: translateX(2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(-2.30769em);
        transform: translateX(-2.30769em)
    }
}

#svg-approach-process #right-moving-arrows {
    -webkit-animation-name: approach-process-right-arrows;
    animation-name: approach-process-right-arrows
}

@-webkit-keyframes approach-process-right-arrows {
    0% {
        -webkit-transform: translateX(-2.30769em);
        transform: translateX(-2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(2.30769em);
        transform: translateX(2.30769em)
    }
}

@keyframes approach-process-right-arrows {
    0% {
        -webkit-transform: translateX(-2.30769em);
        transform: translateX(-2.30769em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(2.30769em);
        transform: translateX(2.30769em)
    }
}

.csstransitions.no-ie #svg-approach-research #intro-line path {
    stroke-dasharray: 192;
    stroke-dashoffset: 192;
    transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.csstransitions.no-ie #svg-approach-research #outro-line path {
    stroke-dasharray: 881;
    stroke-dashoffset: -881;
    transition: 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.csstransitions.no-ie #svg-approach-research #outro-line.is-revealed path {
    stroke-dashoffset: 0
}

.csstransitions.no-ie #svg-approach-research #circle-1, .csstransitions.no-ie #svg-approach-research #circle-2, .csstransitions.no-ie #svg-approach-research #circle-3 {
    transition: 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    stroke-dasharray: 788;
    stroke-dashoffset: 788
}

.csstransitions.no-ie #svg-approach-research #circle-1 {
    transition-delay: 0.25s
}

.csstransitions.no-ie #svg-approach-research #circle-2.is-revealed, .csstransitions.no-ie #svg-approach-research #circle-3.is-revealed {
    stroke-dashoffset: 0
}

.csstransitions.no-ie #svg-approach-research #initial-intro-set.is-revealed #intro-line path, .csstransitions.no-ie #svg-approach-research #initial-intro-set.is-revealed #circle-1 {
    stroke-dashoffset: 0
}

.csstransitions.no-ie #svg-approach-research #circle-1-graphic, .csstransitions.no-ie #svg-approach-research #circle-2-3-graphics {
    opacity: 0;
    transition: 0.3s;
    transition-delay: 0.3s;
    -webkit-transform: translateY(.76923em);
    -ms-transform: translateY(.76923em);
    transform: translateY(.76923em)
}

.csstransitions.no-ie #svg-approach-research #circle-1-graphic.is-revealed, .csstransitions.no-ie #svg-approach-research #circle-2-3-graphics.is-revealed {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    fill: #fff
}

#svg-approach-team-table text, #svg-approach-team-table tspan {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased
}

.csstransitions.no-ie #svg-approach-team-table #intro-path-1 path {
    stroke-dasharray: 1109;
    stroke-dashoffset: 1109
}

.csstransitions.no-ie #svg-approach-team-table #intro-path-2 path {
    stroke-dasharray: 1920;
    stroke-dashoffset: -1920
}

.csstransitions.no-ie #svg-approach-team-table #outro-path path {
    stroke-dasharray: 700;
    stroke-dashoffset: 700
}

.csstransitions.no-ie #svg-approach-team-table #intro-path-1 path, .csstransitions.no-ie #svg-approach-team-table #intro-path-2 path, .csstransitions.no-ie #svg-approach-team-table #outro-path path {
    transition: 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.csstransitions.no-ie #svg-approach-team-table #intro-path-1.is-revealed path, .csstransitions.no-ie #svg-approach-team-table #intro-path-2.is-revealed path, .csstransitions.no-ie #svg-approach-team-table #outro-path.is-revealed path {
    stroke-dashoffset: 0 !important
}

.csstransitions.no-ie #svg-approach-team-table #outro-path path {
    transition-duration: 1s
}

.csstransitions.no-ie #svg-approach-team-table #developer-chair {
    -webkit-transform: translateY(-3.84615em);
    -ms-transform: translateY(-3.84615em);
    transform: translateY(-3.84615em)
}

.csstransitions.no-ie #svg-approach-team-table #project-owner-chair {
    -webkit-transform: translateX(-3.84615em);
    -ms-transform: translateX(-3.84615em);
    transform: translateX(-3.84615em)
}

.csstransitions.no-ie #svg-approach-team-table #specialist-chair {
    -webkit-transform: translateX(3.84615em);
    -ms-transform: translateX(3.84615em);
    transform: translateX(3.84615em)
}

.csstransitions.no-ie #svg-approach-team-table #designer-chair, .csstransitions.no-ie #svg-approach-team-table #project-manager-chair {
    -webkit-transform: translateY(3.84615em);
    -ms-transform: translateY(3.84615em);
    transform: translateY(3.84615em)
}

.csstransitions.no-ie #svg-approach-team-table #developer-chair, .csstransitions.no-ie #svg-approach-team-table #project-owner-chair, .csstransitions.no-ie #svg-approach-team-table #specialist-chair, .csstransitions.no-ie #svg-approach-team-table #designer-chair, .csstransitions.no-ie #svg-approach-team-table #project-manager-chair {
    opacity: 0;
    transition: 1s cubic-bezier(0.19, 1, 0.22, 1)
}

.csstransitions.no-ie #svg-approach-team-table #developer-chair.is-revealed, .csstransitions.no-ie #svg-approach-team-table #project-owner-chair.is-revealed, .csstransitions.no-ie #svg-approach-team-table #specialist-chair.is-revealed, .csstransitions.no-ie #svg-approach-team-table #designer-chair.is-revealed, .csstransitions.no-ie #svg-approach-team-table #project-manager-chair.is-revealed {
    -webkit-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
    opacity: 1;
    fill: #fff
}

#svg-china #waves-odd-2, #svg-china #waves-even-2 {
    opacity: 0
}

.csstransforms.csstransitions #svg-china #waves-odd-1, .csstransforms.csstransitions #svg-china #waves-even-1, .csstransforms.csstransitions #svg-china #waves-odd-2, .csstransforms.csstransitions #svg-china #waves-even-2 {
    opacity: 0;
    -webkit-transform: translate3d(20px, 11px, 0);
    transform: translate3d(20px, 11px, 0);
    -webkit-animation-name: coastal-waves;
    animation-name: coastal-waves;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-duration: 3s;
    animation-duration: 3s
}

.csstransforms.csstransitions #svg-china #waves-even-1 {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.csstransforms.csstransitions #svg-china #waves-odd-2 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.csstransforms.csstransitions #svg-china #waves-even-2 {
    -webkit-animation-delay: 1.7s;
    animation-delay: 1.7s
}

@-webkit-keyframes coastal-waves {
    0% {
        opacity: 0;
        fill: #fff;
        -webkit-transform: translate3d(20px, 11px, 0);
        transform: translate3d(20px, 11px, 0)
    }
    50% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 11px, 0);
        transform: translate3d(-20px, 11px, 0)
    }
}

@keyframes coastal-waves {
    0% {
        opacity: 0;
        fill: #fff;
        -webkit-transform: translate3d(20px, 11px, 0);
        transform: translate3d(20px, 11px, 0)
    }
    50% {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
    100% {
        opacity: 0;
        -webkit-transform: translate3d(-20px, 11px, 0);
        transform: translate3d(-20px, 11px, 0)
    }
}

#svg-field-notes-process-diagram text, #svg-field-notes-process-diagram tspan {
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    font-size: 11px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
    text-transform: uppercase;
    -webkit-font-smoothing: antialiased
}

#svg-field-notes-process-diagram #arrows_x5F_down, #svg-field-notes-process-diagram #arrows_x5F_right, #svg-field-notes-process-diagram #arrows_x5F_up {
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite
}

#svg-field-notes-process-diagram #arrows_x5F_down {
    -webkit-animation-name: field-notes-process-arrows_x5F_down-arrows;
    animation-name: field-notes-process-arrows_x5F_down-arrows
}

@-webkit-keyframes field-notes-process-arrows_x5F_down-arrows {
    0% {
        -webkit-transform: translateY(-1.53846em);
        transform: translateY(-1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(1.53846em);
        transform: translateY(1.53846em)
    }
}

@keyframes field-notes-process-arrows_x5F_down-arrows {
    0% {
        -webkit-transform: translateY(-1.53846em);
        transform: translateY(-1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(1.53846em);
        transform: translateY(1.53846em)
    }
}

#svg-field-notes-process-diagram #arrows_x5F_right {
    -webkit-animation-name: field-notes-process-arrows_x5F_right-arrows;
    animation-name: field-notes-process-arrows_x5F_right-arrows
}

@-webkit-keyframes field-notes-process-arrows_x5F_right-arrows {
    0% {
        -webkit-transform: translateX(-1.53846em);
        transform: translateX(-1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(1.53846em);
        transform: translateX(1.53846em)
    }
}

@keyframes field-notes-process-arrows_x5F_right-arrows {
    0% {
        -webkit-transform: translateX(-1.53846em);
        transform: translateX(-1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateX(1.53846em);
        transform: translateX(1.53846em)
    }
}

#svg-field-notes-process-diagram #arrows_x5F_up {
    -webkit-animation-name: field-notes-process-arrows_x5F_up-arrows;
    animation-name: field-notes-process-arrows_x5F_up-arrows
}

@-webkit-keyframes field-notes-process-arrows_x5F_up-arrows {
    0% {
        -webkit-transform: translateY(1.53846em);
        transform: translateY(1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-1.53846em);
        transform: translateY(-1.53846em)
    }
}

@keyframes field-notes-process-arrows_x5F_up-arrows {
    0% {
        -webkit-transform: translateY(1.53846em);
        transform: translateY(1.53846em);
        opacity: 0;
        fill: #fff
    }
    5% {
        opacity: 1
    }
    95% {
        opacity: 1
    }
    100% {
        opacity: 0;
        -webkit-transform: translateY(-1.53846em);
        transform: translateY(-1.53846em)
    }
}

#svg-footer-callout-burst line {
    transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.footer-callout:hover #svg-footer-callout-burst line {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}

#svg-intro-anim text, #svg-intro-anim tspan {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    -webkit-font-smoothing: antialiased
}

#svg-intro-anim #hello #hand {
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-intro-anim #hello #were-odc-text {
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    opacity: 0
}

#svg-intro-anim #transform-research circle {
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-intro-anim #into-insight #lens-lines-right, #svg-intro-anim #into-insight #lens-lines-left, #svg-intro-anim #into-insight #inner-lens-right, #svg-intro-anim #into-insight #inner-lens-left, #svg-intro-anim #into-insight #outer-lens-right, #svg-intro-anim #into-insight #outer-lens-left, #svg-intro-anim #into-insight #frame-center-hub, #svg-intro-anim #into-insight #frame-center-hub, #svg-intro-anim #into-insight #frameBottom_1_, #svg-intro-anim #into-insight #frameTop_1_, #svg-intro-anim #into-insight #frame-center-lines {
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-intro-anim #experiences #ring3, #svg-intro-anim #experiences #ring2, #svg-intro-anim #experiences #ring1, #svg-intro-anim #experiences #ring4, #svg-intro-anim #experiences #ring5, #svg-intro-anim #experiences #pointer, #svg-intro-anim #experiences #cloud3, #svg-intro-anim #experiences #cloud1, #svg-intro-anim #experiences #cloud2 {
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

#svg-intro-anim #experiences #repeatGroup {
    cursor: pointer;
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    transition: 0.4s;
    z-index: 9999;
    position: absolute
}

#svg-intro-anim #experiences #repeatGroup:hover {
    -webkit-transform: rotateZ(90deg);
    -ms-transform: rotate(90deg);
    transform: rotateZ(90deg)
}

.l-home-services__service #svg-services-branding path, .l-home-services__service #svg-services-branding line, .l-home-services__service #svg-services-branding polygon, .l-home-services__service #svg-services-branding polyline, .l-home-services__service #svg-services-branding circle, .l-home-services__service #svg-services-branding rect {
    stroke: #80c2d0;
    transition: 0.3s
}

.l-home-services__service #svg-services-branding path {
    fill-opacity: 0.25
}

.l-home-services__service #svg-services-design path, .l-home-services__service #svg-services-design line, .l-home-services__service #svg-services-design polygon, .l-home-services__service #svg-services-design polyline, .l-home-services__service #svg-services-design circle, .l-home-services__service #svg-services-design rect {
    stroke: #80c2d0;
    transition: 0.3s
}

.l-home-services__service #svg-services-design rect {
    stroke: transparent;
    fill: #fff;
    fill-opacity: 0.4
}

.l-home-services__service #svg-services-development path, .l-home-services__service #svg-services-development line, .l-home-services__service #svg-services-development polygon, .l-home-services__service #svg-services-development polyline, .l-home-services__service #svg-services-development circle, .l-home-services__service #svg-services-development rect {
    stroke: #80c2d0;
    transition: 0.3s
}

.l-home-services__service svg path, .l-home-services__service svg line, .l-home-services__service svg polygon, .l-home-services__service svg polyline, .l-home-services__service svg circle, .l-home-services__service svg rect {
    stroke: #80c2d0;
    transition: 0.3s
}

.l-home-services__service .svg-services--design rect {
    stroke: transparent;
    fill: #fff;
    fill-opacity: 0.4
}

.l-home-services__service .svg-services--design rect:last-of-type {
    fill: transparent;
    stroke: #80c2d0
}

.l-home-services__service .svg-services--branding path {
    fill-opacity: 0.25
}

.team-member {
    cursor: pointer;
    padding-top: 27%
}

@media (min-width: 39.375em) {
    .team-member {
        padding-top: 9%
    }
}

@media (min-width: 39.375em) and (max-width: 62.5em) {
    .team-member:nth-of-type(2n-1) {
        padding-right: 9%
    }

    .team-member:nth-of-type(2n) {
        padding-left: 9%
    }
}

@media (min-width: 62.5em) {
    .team-member:nth-of-type(3n-2) {
        padding-right: 9%
    }

    .team-member:nth-of-type(3n+2) {
        padding-right: 4.5%;
        padding-left: 4.5%
    }

    .team-member:nth-of-type(3n) {
        padding-left: 9%
    }
}

.team-member__details {
    margin-bottom: 1.15385em
}

.team-member__details__name {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-transform: uppercase;
    color: #222;
    margin-bottom: .66667em
}

.team-member__details__position {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #98938a
}

.team-member__photo {
    position: relative;
    overflow: hidden
}

.team-member__photo img {
    max-width: 100%;
    display: block;
    -webkit-transform: translateY(1.53846em);
    -ms-transform: translateY(1.53846em);
    transform: translateY(1.53846em);
    transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.team-member__photo__plus {
    -webkit-perspective: 1000;
    perspective: 1000;
    position: absolute;
    display: block;
    opacity: 0;
    transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    bottom: 15%;
    left: 50%;
    width: 5.76923em;
    height: 5.76923em;
    margin-left: -2.84615em
}

.team-member__photo__plus:before {
    content: "";
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    -webkit-transform: translateZ(-.92308em);
    transform: translateZ(-.92308em);
    background-color: #0085a1;
    border-radius: 100%
}

.team-member__photo__plus:after {
    content: "";
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    
}

.team-member__bio {
    padding: 3.46154em 0
}

.team-member__bio:before {
    content: "";
    display: block;
    display: block;
    width: 34px;
    height: 0;
    border-bottom: 4px solid #0085a1;
    margin-bottom: 1.5em
}

.team-member__bio p, .team-member__bio p a {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #6e675b
}

.team-member__bio p strong {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700
}

.js .team-member__bio {
    position: absolute;
    opacity: 0;
    left: -999999px;
    top: -999999px;
    -webkit-transform: translateY(-.76923em);
    -ms-transform: translateY(-.76923em);
    transform: translateY(-.76923em);
    transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition-property: opacity transform
}

.no-touch .team-member:hover:not(.is-expanded) .team-member__photo img, .team-member.is-expanded:not(.is-expanded) .team-member__photo img {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.no-touch .team-member:hover .team-member__photo__plus, .team-member.is-expanded .team-member__photo__plus {
    opacity: 1;
    -webkit-transform: rotateX(0);
    transform: rotateX(0)
}

.team-member.is-expanded .team-member__bio {
    position: static;
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}



.text-input {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    padding: 7px 13px;
    width: 100%;
    border: none;
    transition: background-color 0.2s;
    height: 100%;
    -webkit-appearance: none;
    border-radius: 0
}

.text-input:focus {
    outline: none;
    background-color: #ebf5f7
}

.text-input--tiny {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 10px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 2.2
}

.l-about-careers {
    text-align: center;
    padding: 8.33333% 2.33333%
}

.l-about-careers .careers-callout {
    margin: 0 auto;
    display: block
}

.l-about-header-group {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-about-header-group:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-header-group .heading-set {
        width: 20%;
        float: left;
        margin-right: 20%
    }
}

@media (min-width: 39.375em) {
    .l-about-header-group .markdown-block {
        width: 60%;
        float: left;
        margin-top: -.61538em
    }
}

@media (min-width: 62.5em) {
    .l-about-header-group .markdown-block {
        width: 50%;
        float: left;
        margin-top: 1.38462em
    }
}

.l-about-intro {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%;
    padding-top: 0
}

.l-about-intro:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-intro {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-about-intro {
        padding-top: 4.16667%
    }
}

.l-about-intro > .heading-set {
    margin-bottom: 2.30769em
}

@media (min-width: 39.375em) {
    .l-about-intro > .heading-set {
        margin-bottom: 3.84615em
    }
}

.l-about-intro__services {
    margin-bottom: 5%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-about-intro__services:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-intro__services .about-service {
        padding-left: 1.84615em;
        padding-right: 1.84615em;
        width: 33.33333%;
        float: left
    }

    .l-about-intro__services .about-service:first-of-type {
        padding-left: 0
    }

    .l-about-intro__services .about-service:nth-of-type(2n) {
        padding-left: .92308em;
        padding-right: .92308em
    }

    .l-about-intro__services .about-service:nth-of-type(3n) {
        padding-right: 0
    }
}

.l-about-leadership-team {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%;
    padding-bottom: 0 !important;
    background-color: #f7f6f6
}

.l-about-leadership-team:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-leadership-team {
        padding: 8.33333%
    }
}

.l-about-leadership-team .team-member:first-of-type {
    clear: left
}

@media (min-width: 39.375em) {
    .l-about-leadership-team .team-member {
        width: 33.33333%;
        float: left
    }

    .l-about-leadership-team .team-member:nth-of-type(3n-2) {
        clear: left
    }
}

.l-about-team {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 6.25% 12.5% 0
}

.l-about-team:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-team {
        padding: 2% 8.33333% 0
    }
}

.l-about-team .team-member:first-of-type {
    clear: left
}

@media (min-width: 39.375em) and (max-width: 62.5em) {
    .l-about-team .team-member {
        width: 50%;
        float: left
    }

    .l-about-team .team-member:nth-of-type(2n-1) {
        clear: left
    }
}

@media (min-width: 62.5em) {
    .l-about-team .team-member {
        width: 33.33333%;
        float: left
    }

    .l-about-team .team-member:nth-of-type(3n-2) {
        clear: left
    }
}

.l-about-team--leadership {
    padding: 12.5%;
    padding-bottom: 0 !important;
    background-color: #f7f6f6
}

@media (min-width: 39.375em) {
    .l-about-team--leadership {
        padding: 8.33333%
    }
}

.l-about-teamwork__header {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%;
    position: relative;
    background-color: #302614;
    background-image: url("../images/blurry-bg.jpg");
    background-position: center center;
    background-size: cover
}

.l-about-teamwork__header:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-teamwork__header {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-about-teamwork__header {
        padding-top: 10.41667%;
        padding-bottom: 10.41667%
    }

    .l-about-teamwork__header:before {
        content: "";
        display: block;
        position: absolute;
        top: -3.61538em;
        left: 50%;
        margin-left: -3.23077em;
        width: 6.53846em;
        height: 6.53846em;
        border-radius: 100%;
        
        background-color: #fff;
        /*background-size: 55%;*/
    }
}

.l-about-teamwork__subsections {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%
}

.l-about-teamwork__subsections:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections {
        background-image: linear-gradient(to right, #fff, #fff 33.5%, #ebf5f7 33.5%, #ebf5f7 100%)
    }
}

.l-about-teamwork__subsections__subsection {
    position: relative;
    width: 100%;
    float: left
}

.l-about-teamwork__subsections__subsection + .l-about-teamwork__subsections__subsection {
    margin-top: 2.30769em
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections__subsection + .l-about-teamwork__subsections__subsection {
        margin-top: 6.15385em
    }
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections__subsection {
        padding-left: 40%
    }
}

.l-about-teamwork__subsections__subsection svg {
    display: block;
    margin: auto;
    margin-bottom: 1.53846em;
    position: relative;
    left: -3%
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections__subsection svg {
        position: absolute;
        top: 0;
        bottom: 0;
        left: -5.9%;
        margin: auto 0
    }
}

@media (min-width: 62.5em) {
    .l-about-teamwork__subsections__subsection svg {
        left: 0.1%
    }
}

.l-about-teamwork__subsections__subsection .heading-set {
    margin-bottom: 2.92308em
}

@media (min-width: 39.375em) {
    .l-about-teamwork__subsections__subsection .markdown-block {
        width: 70%;
        float: left
    }
}

.l-approach-blurbs {
    margin-bottom: 16.66667%
}

.l-approach-blurbs .blurb + .blurb {
    margin-top: 3.07692em
}

@media (min-width: 39.375em) {
    .l-approach-blurbs {
        width: 33.33333%;
        float: left;
        margin: 0 8.33333%
    }
}

@media (min-width: 39.375em) {
    .csstransforms.csstransitions .l-approach-content {
        opacity: 0;

        -webkit-transform: translateY(3.07692em);
        -ms-transform: translateY(3.07692em);
        transform: translateY(3.07692em);
        transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
        transition-property: opacity, -webkit-transform;
        transition-property: transform, opacity;
        transition-property: transform, opacity, -webkit-transform
    }

    .csstransforms.csstransitions .l-approach-content.is-revealed {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

@media (min-width: 39.375em) {
    .l-approach-content {
        width: 33.33333%;
        float: left;
        margin: 0 8.33333%;
        max-width: 34.61538em
    }
}

.l-approach-content .heading-set {
    margin-bottom: 3.07692em
}

@media (min-width: 39.375em) {
    .csstransforms.csstransitions .l-approach-heading {
        opacity: 0;
        -webkit-transform: translateY(3.07692em);
        -ms-transform: translateY(3.07692em);
        transform: translateY(3.07692em);
        transition: 1s cubic-bezier(0.19, 1, 0.22, 1);
        transition-property: opacity, -webkit-transform;
        transition-property: transform, opacity;
        transition-property: transform, opacity, -webkit-transform
    }

    .csstransforms.csstransitions .l-approach-heading.is-revealed {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

@media (min-width: 39.375em) {
    .l-approach-heading {
        max-width: 34.61538em;
        width: 33.33333%;
        float: left;
        margin: 0 8.33333%
    }
}

.l-approach-intro {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 12.5%;
    padding-top: 0;
    padding-bottom: 0
}

.l-approach-intro:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-approach-intro {
        padding: 0 8.33333%;
        padding-top: 4.16667%
    }
}

@media (min-width: 39.375em) {
    .l-approach-intro .heading-set {
        width: 50%;
        float: left
    }
}

.l-approach-intro .markdown-block {
    margin-bottom: 12.5%
}

@media (min-width: 39.375em) {
    .l-approach-intro .markdown-block {
        margin-bottom: 8.33333%;
        width: 50%;
        float: left
    }
}

.l-approach-intro .approach-intro-graphic {
    display: block;
    clear: left;
    margin: 0 auto;
    width: 21.53846em
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-intro .approach-intro-graphic {
        display: none
    }
}

.l-approach-process {
    padding: 12.5%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    background-color: #ebf5f7
}

.l-approach-process:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-approach-process {
        padding: 0;
        padding-bottom: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-approach-process .l-approach-heading {
        float: right;
        margin-top: 8.33333%;
        margin-bottom: 28.46154em
    }
}

@media (min-width: 62.5em) {
    .l-approach-process .l-approach-heading {
        margin-bottom: 36.53846em
    }
}

.l-approach-process .l-approach-blurbs {
    clear: right;
    float: left
}

.l-approach-process .l-approach-content {
    float: right
}

.l-approach-process__line-art {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    overflow: hidden;
    margin: auto
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-process__line-art {
        display: none
    }
}

@media (min-width: 39.375em) {
    .l-approach-process__line-art {
        width: 53.84615em;
        margin-top: -8.76923em
    }
}

@media (min-width: 62.5em) {
    .l-approach-process__line-art {
        width: 68.30769em;
        margin-top: 0
    }
}

.l-approach-process__line-art #svg-approach-process {
    width: 100%
}

.l-approach-project-callout {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-approach-project-callout:after {
    content: " ";
    display: block;
    clear: both
}

.l-approach-project-callout .block--container {
    float: none
}

.l-approach-research {
    padding: 12.5%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    background-color: #73bccb
}

.l-approach-research:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-approach-research {
        padding: 0;
        padding-bottom: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-approach-research .l-approach-heading {
        float: left;
        margin-top: 8.33333%;
        margin-bottom: 43.07692em
    }
}

@media (min-width: 62.5em) {
    .l-approach-research .l-approach-heading {
        margin-bottom: 40em
    }
}

.l-approach-research .l-approach-blurbs {
    clear: left;
    float: right
}

.l-approach-research .l-approach-content {
    float: left
}

.l-approach-research__line-art {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    overflow: hidden;
    width: 38.46154em;
    margin: auto
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-research__line-art {
        display: none
    }
}

.l-approach-team {
    padding: 12.5%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    background-color: #302614;
    background-image: url("../images/blurry-bg.jpg");
    background-position: center center;
    background-size: cover
}

.l-approach-team:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-approach-team {
        padding: 0;
        padding-bottom: 8.33333%
    }
}

.l-approach-team svg {
    display: block;
    margin: 0 auto
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-team svg {
        display: none
    }
}

@media (min-width: 39.375em) {
    .l-approach-team .l-approach-heading {
        float: right;
        margin-top: 5.76923em;
        margin-bottom: 40em
    }
}

@media (min-width: 62.5em) {
    .l-approach-team .l-approach-heading {
        margin-top: 7.69231em;
        margin-bottom: 49.23077em
    }
}

.l-approach-team .l-approach-blurbs {
    float: left;
    clear: right
}

.l-approach-team .l-approach-content {
    float: right
}

.l-approach-team__intro {
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 13px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    font-style: normal;
    font-weight: normal;

    font-weight: 700;
    color: #fff;
    line-height: 1.7
}

@media (min-width: 62.5em) {
    .l-approach-team__intro {
        line-height: 2.0
    }
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-team__intro {
        margin-bottom: 2.30769em
    }
}

@media (min-width: 39.375em) {
    .l-approach-team__intro {
        margin: 0 auto;
        padding: 1.38462em 1.76923em;
        max-width: 26.30769em;
        border: 5px solid #fff;
        border-radius: 4px
    }
}

.l-approach-team__line-art {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute;
    overflow: hidden
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-approach-team__line-art {
        display: none
    }
}

@media (min-width: 39.375em) {
    .l-approach-team__line-art {
        top: 20.69231em;
        margin: auto;
        margin-top: -6.92308em;
        width: 57.69231em
    }
}

@media (min-width: 62.5em) {
    .l-approach-team__line-art {
        top: 23.23077em;
        margin-top: 0;
        width: 100%
    }
}

.l-approach-team__line-art #svg-approach-team-table {
    max-width: 100%
}

.l-contact-body {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-contact-body:after {
    content: " ";
    display: block;
    clear: both
}

.l-contact-details {
    padding: 12.5%
}

@media (min-width: 39.375em) {
    .l-contact-details {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-contact-details {
        width: 50%;
        float: left
    }
}

.l-contact-details__subsection + .l-contact-details__subsection {
    margin-top: 15.3%
}

.l-contact-details__subsection .heading-set {
    margin-bottom: .76923em
}

.l-contact-details__subsection .button-small {
    display: block;
    max-width: 10em;
    margin-top: 1.3em
}

.l-contact-details__subsection .social-link {
    display: inline-block
}

.l-contact-details__subsection .social-link + .social-link {
    margin-left: 1.84615em
}

.l-contact-details__subsection .newsletter-signup {
    margin-top: 2.30769em
}

.l-contact-details__callout {
    padding: 12.5%;
    background-color: #f7f6f6
}

@media (min-width: 39.375em) {
    .l-contact-details__callout {
        padding: 8.33333%
    }
}

.l-contact-details__callout + .l-contact-details__callout {
    background-color: #ebf5f7
}

@media (min-width: 39.375em) {
    .l-contact-details__callout + .l-contact-details__callout {
        padding-bottom: 13%
    }
}

@media (min-width: 39.375em) {
    .l-contact-details__callout {
        width: 50%;
        float: right
    }
}

.l-contact-details__callout .outline-button {
    margin: 3.84615em auto 0
}

.l-contact-intro {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #339db4;
    position: relative
}

.l-contact-intro:after {
    content: " ";
    display: block;
    clear: both
}

.l-contact-intro .heading-set {
    float: left;
    padding: 12.5%;
    margin-bottom: 0
}

@media (min-width: 39.375em) {
    .l-contact-intro .heading-set {
        max-width: 28.46154em;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        height: 10.76923em;
        padding: 0 8.33333%
    }
}

@media (min-width: 62.5em) {
    .l-contact-intro .heading-set {
        max-width: 42.30769em
    }
}

.l-contact-intro svg {
    float: right;
    display: none
}

@media (min-width: 39.375em) {
    .l-contact-intro svg {
        display: block
    }
}

.l-container {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    background-color: #eeeeee
}

.l-container:after {
    content: " ";
    display: block;
    clear: both
}

body {
    background-color: #f7f6f6
}

.l-featured-list:after {
    content: "";
    display: table;
    clear: both
}

.l-featured-list__col {
    float: left
}

@media (min-width: 39.375em) {
    .l-featured-list__col {
        width: 47%
    }
}

.l-featured-list__col:nth-child(even) {
    margin-top: 30px;
    margin-top: 3rem
}

@media (min-width: 39.375em) {
    .l-featured-list__col:nth-child(even) {
        margin-top: 0;
        float: right
    }
}

.l-featured-list__list > li {
    margin-top: 10px;
    margin-top: 1rem
}

.l-featured-list__footer {
    margin-top: 35px;
    margin-top: 3.5rem;
    float: left;
    clear: both
}

.l-featured-list__footer-footnote {
    margin-top: 25px;
    margin-top: 2.5rem;
    font-style: normal;
    font-weight: normal;

    font-weight: 400;
    font-size: 12px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    color: #837d72
}

.l-featured-projects {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-featured-projects:after {
    content: " ";
    display: block;
    clear: both
}

.l-featured-projects .featured-project {
    width: 100%;
    float: left
}

@media (min-width: 39.375em) {
    .l-featured-projects .featured-project {
        width:33.33333333333333%;
        float: left;
		padding-top:23.6%;
    }
}

.l-footer {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #362d1b
}

.l-footer:after {
    content: " ";
    display: block;
    clear: both
}

.l-footer__left, .l-footer__center, .l-footer__right {
    padding: 12.5%
}

@media (min-width: 39.375em) {
    .l-footer__left, .l-footer__center, .l-footer__right {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-footer__center, .l-footer__right {
        width: 50%;
        float: left
    }
}

@media (min-width: 62.5em) {
    .l-footer__left, .l-footer__center, .l-footer__right {
        width: 33.33333%;
        float: left
    }
}

.l-footer__left {
    background-color: #302614
}

.l-footer__left .newsletter-signup {
    margin: 0 auto;
    max-width: 25.38462em
}

.l-footer__left .footer-callout {
    margin: 0 -10%;
    margin-bottom: 3.46154em;
    z-index: 1
}

@media (min-width: 62.5em) {
    .l-footer__left .footer-callout {
        margin-top: -2.46154em
    }
}

.l-footer__center {
    padding-bottom: 0
}

@media (min-width: 39.375em) {
    .l-footer__center {
        padding-right: 0;
        padding-bottom: 8.33333%
    }
}

.l-footer__center .footer-contact-link {
    margin-bottom: 3.84615em
}

.l-footer__right {
    padding-right: 1.53846em
}

.l-footer__right .fim-logo-link {
    display: block;
    margin-bottom: 2.15385em
}

.l-footer__right .contact-info {
    margin-bottom: 2.61538em
}

.l-footer__right .social-link {
    display: inline-block
}

.l-footer__right .social-link + .social-link {
    margin-left: 1.84615em
}

.l-header {
    padding: 3.07692em 10.8%;
    text-align: center;
    position: relative;
    z-index: 1;
    width: 100%
}

@media (min-width: 39.375em) {
    .l-header {
        padding: 3.69231em 8.33333%;
        text-align: left
    }
}

.l-header .fim-logo-link, .l-header .nav-primary {
    vertical-align: bottom;
    margin: 0 auto
}

.l-header .fim-logo-link {
    display: block;
    margin: 0 auto;
    margin-bottom: .92308em;
    width: 6.07692em
}

@media (min-width: 39.375em) {
    .l-header .fim-logo-link {
        margin: 0;
        margin-right: 1.53846em;
        display: inline-block
    }
}

.l-header .nav-primary {
    width: 20.76923em
}

@media (min-width: 39.375em) {
    .l-header .nav-primary {
        width: auto;
        display: inline-block
    }
}

.l-header--knockout {
    position: absolute
}

@media (min-width: 62.5em) {
    .l-header--knockout {
        padding-top: 5.38462em
    }
}

.l-home-clients {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

.l-home-clients:after {
    content: " ";
    display: block;
    clear: both
}

.l-home-clients .client-block {
    width: 33.33333%;
    float: left
}

@media (min-width: 39.375em) {
    .l-home-clients .client-block {
        width: 12.5%
    }
}

@media (min-width: 62.5em) {
    .l-home-clients .client-block {
        width: 16.66667%;
        float: left
    }
}

.l-home-clients__content {
    padding: 12.5%
}

@media (min-width: 39.375em) {
    .l-home-clients__content {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-home-clients__content {
        padding-right: -3.33333%;
        padding-bottom: 5.55556%;
        width: 50%;
        float: left
    }
}

@media (min-width: 62.5em) {
    .l-home-clients__content {
        padding-top: 7.57576%
    }
}

.l-home-clients__content .heading-set {
    margin-bottom: 3.23077em;
    max-width: 22.30769em
}

.l-home-clients__content .markdown-block {
    margin-bottom: 3.84615em
}

.l-home-header {
    position: relative;
    padding-top: 11.92308em;
    height: 0;
    background-color: #0085a1
}

@media (min-width: 39.375em) {
    .l-home-header {
        padding-top: 80%
    }
}

@media (min-width: 62.5em) {
    .l-home-header {
        padding-top: 55.5%
    }
}

.l-home-header .intro-anim {
    display: none
}

@media (min-width: 39.375em) {
    .l-home-header .intro-anim {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        position: absolute;
        display: block;
        margin: auto;
        top: 5%
    }
}

.l-home-header .intro-anim-bg {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    position: absolute
}

.l-home-services {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    background-color: #0085a1
}

.l-home-services:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-home-services:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 33.33333%;
        display: block;
        width: 33.33333%;
        background-color: #007892;
        content: ""
    }
}

.l-home-services .heading-set {
    margin-left: 12.5%;
    padding-top: 12.5%
}

@media (min-width: 39.375em) {
    .l-home-services .heading-set {
        margin-left: 8.33333%;
        padding-top: 7.08333%
    }
}

.l-home-services__service {
    padding: 12.5%;
    padding-top: 0
}

@media (min-width: 39.375em) {
    .l-home-services__service {
        padding: 8.33333%
    }
}

.l-home-services__service + .l-home-services__service {
    margin-top: -4.16667%
}

@media (min-width: 0) and (max-width: 39.375em) {
    .l-home-services__service + .l-home-services__service {
        padding-top: 0
    }
}

@media (min-width: 39.375em) {
    .l-home-services__service {
        width: 33.33333%;
        float: left;
        position: relative;
        padding-top: 0;
        padding-right: 6.66667%
    }

    .l-home-services__service + .l-home-services__service {
        margin-top: 0
    }
}

.l-home-services__service svg {
    margin: 0 auto 12.5%;
    position: relative;
    display: block
}

@media (min-width: 39.375em) {
    .l-home-services__service svg {
        margin: 0 auto 30%
    }
}

.l-news-index {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%;
    padding-top: 0
}

.l-news-index:after {
    content: " ";
    display: block;
    clear: both
}

@media (min-width: 39.375em) {
    .l-news-index {
        padding: 8.33333%
    }
}

@media (min-width: 39.375em) {
    .l-news-index {
        padding-top: 3.47222%
    }
}

.l-news-index .breadcrumb {
    margin-bottom: 16%
}

@media (min-width: 39.375em) {
    .l-news-index .breadcrumb {
        margin-top: -2.69231em;
        margin-bottom: 5.38462em
    }
}

.l-news-index .post + .post, .l-news-index .pagination {
    margin-top: 24%
}

@media (min-width: 39.375em) {
    .l-news-index .post + .post, .l-news-index .pagination {
        margin-top: 7.69231em
    }
}

.l-section-divider-content {
    padding: 2.30769em;
    padding-top: 12.5%;
    padding-bottom: 12.5%;
    text-align: center
}

@media (min-width: 39.375em) {
    .l-section-divider-content {
        padding-top: 7%;
        padding-bottom: 7%
    }
}

@media (min-width: 62.5em) {
    .l-section-divider-content {
        padding-top:4%;
        padding-bottom:2%
    }
}

.l-section-divider-content .outline-button {
    margin: .83333em auto
}

.l-section-divider-content .divider-contact {
    margin-top: 2.69231em
}

.l-section-divider-content--alt {
    background-color: #fff
}

.l-services {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 12.5%;
    padding-top: 0
}

.l-services:after {
    content: " ";
    display: block;
    clear: both
}


