@font-face {
    font-family: "Good Sans";
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/goodsans-thin3860.woff2?v=1") format("woff2"), url("../fonts/goodsans-thin3860.woff?v=1") format("woff")
}

@font-face {
    font-family: "Good Sans";
    font-style: italic;
    font-weight: normal;
    src: url("../fonts/goodsans-thin-italic3860.woff2?v=1") format("woff2"), url("../fonts/goodsans-thin-italic3860.woff?v=1") format("woff")
}

@font-face {
    font-family: "Good Sans";
    font-style: normal;
    font-weight: bold;
    src: url("../fonts/goodsans-light3860.woff2?v=1") format("woff2"), url("../fonts/goodsans-light3860.woff?v=1") format("woff")
}

@font-face {
    font-family: "Good Sans";
    font-style: italic;
    font-weight: bold;
    src: url("../fonts/goodsans-light-italic3860.woff2?v=1") format("woff2"), url("../fonts/goodsans-light-italic3860.woff?v=1") format("woff")
}

@font-face {
    font-family: "Site Icons";
    font-style: normal;
    font-weight: normal;
    src: url("../fonts/icomoon3860.eot?v=1");
    src: url("../fonts/icomoond41d.eot?#iefix") format("embedded-opentype"), url("../fonts/icomoon3860.woff?v=1") format("woff"), url("../fonts/icomoon3860.ttf?v=1") format("truetype"), url("../fonts/icomoon3860.svg?v=1") format("svg")
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
    border: 0;
    color: inherit;
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    vertical-align: baseline
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}

body {
    line-height: 1
}

body, input[type=submit], input[type=button], button {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote::before, blockquote::after, q::before, q::after {
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

input[type=text], input[type=email], input[type=password], input[type=number], input[type=color], input[type=submit], input[type=button], button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    background: none;
    border: none;
    border-radius: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    font-size: 1rem;
    line-height: 1rem
}

input[type=text], input[type=email], input[type=password], input[type=number], input[type=color], textarea, select {
    width: 100%
}

select::-ms-expand {
    display: none
}

input[type=radio], input[type=checkbox], input[type=color], input[type=submit], input[type=button], button, select {
    cursor: pointer
}

textarea {
    resize: none
}

strong, b {
    font-weight: bold
}

em, i {
    font-style: italic
}

.flex-container {
    height: 0;
    overflow: hidden;
    position: relative
}

.flex-container iframe, .flex-container object {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

img, object, video, audio {
    max-width: 100%
}

img {
    height: auto;
    display: block
}

.flex-container {
    padding-bottom: 56.25%
}

.view-all-work--reverse .view-all-work__link::after, .view-all-work__link::before, .text-overlay__cta::after, .text-overlay__close::before, .block-grid__item-cta::after, .person__close-overlay::before, .client__close-overlay::before, .content-block__button::after, .job-listing__apply::after, .job-listing__see-more::after, .project-buttons .back-to-top__button::after, .back-to-top__button::before, .icon::before, .icon-end::after {
    font-family: "Site Icons";
    vertical-align: middle;
    speak: none;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1
}

.view-all-work--reverse .view-all-work__link::after, .view-all-work__link::before, .icon--arrow-left-long::before, .icon-end--arrow-left-long::after {
    content: "\e900"
}

.icon--twitter::before, .icon-end--twitter::after {
    content: "\e600"
}

.icon--instagram::before, .icon-end--instagram::after {
    content: "\e602"
}

.icon--chevron-right::before, .icon-end--chevron-right::after {
    content: "\e901"
}

.icon--chevron-left::before, .icon-end--chevron-left::after {
    content: "\e902"
}

.text-overlay__cta::after, .block-grid__item-cta::after, .content-block__button::after, .job-listing__apply::after, .icon--arrow-top-right::before, .icon-end--arrow-top-right::after {
    content: "\e903"
}

.job-listing__see-more::after, .icon--plus::before, .icon-end--plus::after {
    content: "\e904"
}

.icon--arrow-left::before, .icon-end--arrow-left::after {
    content: "\e905"
}

.icon--arrow-right::before, .icon-end--arrow-right::after {
    content: "\e906"
}

.icon--minus::before, .icon-end--minus::after {
    content: "\e907"
}

.text-overlay__close::before, .person__close-overlay::before, .client__close-overlay::before, .icon--times::before, .icon-end--times::after {
    content: "\e908"
}

.icon--chevron-down::before, .icon-end--chevron-down::after {
    content: "\e909"
}

.icon--chevron-up::before, .icon-end--chevron-up::after {
    content: "\e90a"
}

.icon--arrow-up::before, .icon-end--arrow-up::after {
    content: "\e90b"
}

.icon--linkedin::before, .icon-end--linkedin::after {
    content: "\e90c"
}

.icon--behance::before, .icon-end--behance::after {
    content: "\e90d"
}

.icon--linkedin-2::before, .icon-end--linkedin-2::after {
    content: "\e90e"
}

.icon--vimeo::before, .icon-end--vimeo::after {
    content: "\e90f"
}

.icon--facebook::before, .icon-end--facebook::after {
    content: "\e910"
}

.project-buttons .back-to-top__button::after, .back-to-top__button::before, .icon--arrow-up-long::before, .icon-end--arrow-up-long::after {
    content: "\e911"
}

[todo] {
    position: relative
}

[todo]:before {
    font-size: 11px;
    font-weight: bold;
    text-transform: none;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
    content: "TODO " attr(todo);
    color: #fff;
    background-color: #f35100;
    border: 2px dashed rgba(255, 255, 255, .2);
    z-index: 999;
    padding: 2px
}

.a1-12 {
    width: 8.3333333333%
}

.a2-12 {
    width: 16.6666666667%
}

.a3-12 {
    width: 25%
}

.a4-12 {
    width: 33.3333333333%
}

.a5-12 {
    width: 41.6666666667%
}

.a6-12 {
    width: 50%
}

.a7-12 {
    width: 58.3333333333%
}

.a8-12 {
    width: 66.6666666667%
}

.a9-12 {
    width: 75%
}

.a10-12 {
    width: 83.3333333333%
}

.a11-12 {
    width: 91.6666666667%
}

.a12-12 {
    width: 100%
}

@media only screen and (max-width: 1449px) {
    .b1-12 {
        width: 8.3333333333%
    }

    .b2-12 {
        width: 16.6666666667%
    }

    .b3-12 {
        width: 25%
    }

    .b4-12 {
        width: 33.3333333333%
    }

    .b5-12 {
        width: 41.6666666667%
    }

    .b6-12 {
        width: 50%
    }

    .b7-12 {
        width: 58.3333333333%
    }

    .b8-12 {
        width: 66.6666666667%
    }

    .b9-12 {
        width: 75%
    }

    .b10-12 {
        width: 83.3333333333%
    }

    .b11-12 {
        width: 91.6666666667%
    }

    .b12-12 {
        width: 100%
    }
}

@media only screen and (max-width: 979px) {
    .e1-6 {
        width: 16.6666666667%
    }

    .e2-6 {
        width: 33.3333333333%
    }

    .e3-6 {
        width: 50%
    }

    .e4-6 {
        width: 66.6666666667%
    }

    .e5-6 {
        width: 83.3333333333%
    }

    .e6-6 {
        width: 100%
    }
}

@media only screen and (max-width: 649px) {
    .g1-6 {
        width: 16.6666666667%
    }

    .g2-6 {
        width: 33.3333333333%
    }

    .g3-6 {
        width: 50%
    }

    .g4-6 {
        width: 66.6666666667%
    }

    .g5-6 {
        width: 83.3333333333%
    }

    .g6-6 {
        width: 100%
    }
}

.cookie-banner__button, .cookie-manager__button {
    border: 2px solid #1d1d20;
    border-radius: 999px;
    color: #1d1d20;
    padding: 0 1.5rem;
    text-align: center;
    -webkit-transition: background-color .25s ease-in-out, color .25s ease-in-out, border-color .25s ease-in-out;
    transition: background-color .25s ease-in-out, color .25s ease-in-out, border-color .25s ease-in-out
}

.cookie-banner__button:hover, .cookie-manager__button:hover, .cookie-banner__button:focus, .cookie-manager__button:focus {
    background: #1d1d20;
    border-color: #1d1d20;
    color: #fff
}

@media only screen and (max-width: 449px) {
    .cookie-banner__button, .cookie-manager__button {
        font-size: .875rem;
        line-height: 1.75
    }
}

.cookie-manager {
    font-size: .75rem;
    line-height: 1.66
}

.cookie-manager h3, .cookie-manager h4 {
    margin-bottom: .5rem
}

.cookie-manager h2 {
    font-size: 1.38rem;
    line-height: 1.6;
    margin-bottom: 2rem
}

.cookie-manager h3 {
    font-size: 3.75rem;
    line-height: 1.135
}

.cookie-manager h4 {
    font-size: 2.5rem;
    line-height: 1.2
}

.cookie-manager p {
    font-size: 1.38rem;
    margin-bottom: 1rem
}

.cookie-manager a {
    color: #1d1d20;
    text-decoration: underline
}

.cookie-manager--overlay-mode h3 {
    font-size: 1.38rem;
    line-height: 1.6
}

.cookie-manager--overlay-mode p {
    font-size: .875rem
}

.cookie-manager--overlay-mode {
    background-color: rgba(46, 42, 43, .8);
    bottom: 0;
    display: none;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    left: 0;
    padding: 4.5rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000
}

@media only screen and (max-width: 699px) {
    .cookie-manager--overlay-mode {
        padding: .5rem
    }
}

.cookie-manager-open .cookie-manager--overlay-mode {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cookie-manager__button-parent {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%
}

.cookie-manager--overlay-mode .cookie-manager__button-parent {
    max-width: 640px;
    position: relative
}

.cookie-manager__scroller {
    background-color: #fff
}

.cookie-manager--overlay-mode .cookie-manager__scroller {
    bottom: 0;
    left: 0;
    overflow: auto;
    position: absolute;
    right: 0;
    top: 0
}

.cookie-manager__container {
    color: #1d1d20
}

.cookie-manager__container--spaced {
    padding: 2rem
}

.cookie-manager__container--spaced p {
    margin-bottom: 1.5rem
}

.cookie-manager--overlay-mode .cookie-manager__container {
    padding-bottom: 8rem
}

@media only screen and (max-width: 699px) {
    .cookie-manager__container--spaced {
        padding: 1.5rem
    }
}

.cookie-manager__title-hidden {
    left: -999rem;
    position: absolute;
    visibility: hidden
}

.cookie-manager__logo {
    background: url("../img/logo-black.svg") no-repeat 0 0;
    background-size: contain;
    height: 50px;
    margin-bottom: 2rem;
    width: 100px
}

.cookie-manager__category-list {
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    list-style-type: none;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    padding-left: 0 !important
}

.cookie-manager__category-list--spaced {
    margin-bottom: 2rem;
    padding-bottom: 2rem
}

.cookie-manager__category {
    border-top: 1px solid rgba(255, 255, 255, .3);
    list-style-type: none !important;
    margin-top: 1rem;
    padding-top: 1rem
}

.cookie-manager__category-list--spaced .cookie-manager__category {
    margin-top: 2rem;
    padding-top: 2rem
}

.cookie-manager__category-info, .cookie-manager__provider-info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: .5rem;
    margin-left: -1rem
}

.cookie-manager__category-info > div, .cookie-manager__provider-info > div {
    margin-left: 1rem
}

@media only screen and (max-width: 699px) {
    .cookie-manager__category-info {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .cookie-manager--overlay-mode .cookie-manager__category-info {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
}

.cookie-manager__category-buttons {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cookie-manager__button-container {
    background-color: #fff;
    bottom: 0;
    -webkit-box-shadow: 0 -4px 16px rgba(0, 0, 0, .2);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, .2);
    display: none;
    left: 0;
    padding: 1rem;
    position: fixed;
    right: 0;
    z-index: 1001
}

.cookie-manager--overlay-mode .cookie-manager__button-container {
    padding: 1.5rem 2.5rem;
    position: absolute
}

.cookie-manager-buttons-visible .cookie-manager__button-container {
    display: block
}

.cookie-manager__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: .875rem
}

.cookie-manager-save-changes .cookie-manager__buttons-accept-deny {
    display: none
}

.cookie-manager__buttons-save-deny {
    display: none
}

.cookie-manager-save-changes .cookie-manager__buttons-save-deny {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.cookie-manager__button {
    margin-right: .5rem;
    max-width: 400px;
    white-space: nowrap;
    width: 100%
}

.cookie-manager__button:last-of-type {
    margin-right: 0
}

.cookie-manager__button--primary {
    background-color: #1d1d20;
    border-color: #1d1d20;
    color: #fff
}

.cookie-manager__button--primary:hover, .cookie-manager__button--primary:focus {
    background: #fff;
    color: #1d1d20
}

.cookie-manager__cookie-table {
    background-color: #fff;
    border-radius: 4px;
    color: #2e2a2b;
    margin-bottom: 2rem;
    width: 100%
}

@media only screen and (max-width: 699px) {
    .cookie-manager__cookie-table {
        background: none
    }
}

@media only screen and (max-width: 699px) {
    .cookie-manager__cookie-table thead {
        display: block;
        height: 0;
        visibility: hidden
    }
}

@media only screen and (max-width: 699px) {
    .cookie-manager__cookie-table tbody {
        display: block
    }
}

.cookie-manager__cookie-table tbody tr:last-child th, .cookie-manager__cookie-table tbody tr:last-child td {
    border-bottom: 0
}

@media only screen and (max-width: 699px) {
    .cookie-manager__cookie-table tr {
        background-color: #fff;
        border-radius: 4px;
        display: block;
        margin-bottom: .5rem;
        padding: .75rem
    }
}

.cookie-manager__cookie-table th, .cookie-manager__cookie-table td {
    border-bottom: 1px solid #2e2a2b;
    padding: .75rem
}

.cookie-manager__cookie-table th {
    font-weight: bold
}

@media only screen and (max-width: 699px) {
    .cookie-manager__cookie-table td {
        display: block;
        margin-top: .75rem;
        padding: 0
    }

    .cookie-manager__cookie-table td:first-child {
        margin-top: 0
    }

    .cookie-manager__cookie-table td::before {
        content: attr(data-label);
        display: block;
        font-weight: bold
    }
}

.cookie-manager__bullet-list {
    margin-bottom: 1rem
}

.cookie-manager__bullet-list li {
    list-style: disc inside
}

.cookie-manager__lightswitch {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 1rem;
    margin: 0 auto .5rem;
    position: relative;
    width: 1.75rem
}

.cookie-manager__lightswitch input {
    height: 0;
    opacity: 0;
    width: 0
}

.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider {
    background-color: #2e2a2b
}

.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider::before {
    -webkit-transform: translateX(0.75rem);
    transform: translateX(0.75rem)
}

.cookie-manager__lightswitch input:checked + .cookie-manager__lightswitch-slider::after {
    content: "On"
}

.cookie-manager__lightswitch input:focus + .cookie-manager__lightswitch-slider {
    -webkit-box-shadow: 0 0 1px #2e2a2b;
    box-shadow: 0 0 1px #2e2a2b
}

.cookie-manager__lightswitch--global input:checked + .cookie-manager__lightswitch-slider::after {
    content: "Accept all"
}

.cookie-manager__lightswitch-slider {
    background-color: rgba(175, 171, 159, .5);
    border-radius: 1rem;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: .3s;
    transition: .3s
}

.cookie-manager__lightswitch-slider::before {
    background-color: #fff;
    border-radius: 1rem;
    bottom: .125rem;
    content: "";
    height: .75rem;
    left: .125rem;
    position: absolute;
    -webkit-transition: .2s;
    transition: .2s;
    width: .75rem
}

.cookie-manager__lightswitch-slider::after {
    font-size: .444rem;
    content: "Off";
    left: 0;
    position: absolute;
    right: 0;
    text-align: center;
    text-transform: uppercase;
    top: 1.5rem;
    white-space: nowrap
}

.cookie-manager__lightswitch--global .cookie-manager__lightswitch-slider::after {
    content: "Deny all";
    left: -60%
}

.cookie-consent-wrapper__blocked {
    background-color: #fff;
    border: 2px solid #afab9f;
    border-radius: 4px;
    margin: 0 auto;
    max-width: 360px;
    padding: 2.5rem;
    text-align: center
}

.cookie-consent-wrapper__unblocked {
    display: none
}

.cookie-banner {
    font-size: .75rem;
    bottom: 0;
    color: #1d1d20;
    display: none;
    position: fixed;
    right: 0;
    z-index: 1000
}

@media only screen and (max-width: 799px) {
    .cookie-banner {
        width: 100%
    }
}

.cookie-banner-open .cookie-banner {
    display: block
}

.cookie-banner a {
    color: #1d1d20;
    text-decoration: underline
}

.cookie-banner__inner {
    background-color: #fff;
    border: 1px solid #e4e1d7;
    bottom: 1rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 1.5rem;
    position: absolute;
    right: 1rem;
    width: 25rem
}

.cookie-banner__inner p {
    margin-bottom: 1rem
}

@media only screen and (max-width: 799px) {
    .cookie-banner__inner {
        bottom: 0;
        right: 0;
        -webkit-transform: none;
        transform: none;
        width: 100%
    }
}

.cookie-banner__title {
    font-size: 1.38rem;
    line-height: 1.6;
    font-weight: bold
}

.cookie-banner__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.cookie-banner__button {
    margin-right: .5rem;
    width: 100%
}

.cookie-banner__button--primary {
    background-color: #1d1d20;
    border-color: #1d1d20;
    color: #fff
}

.cookie-banner__button--primary:hover, .cookie-banner__button--primary:focus {
    background: #fff;
    color: #1d1d20
}

.cookie-banner__button-customise {
    display: inline;
    font-size: inherit;
    text-decoration: underline
}

.container {
    margin: 0 auto;
    max-width: 1920px;
    padding: 0 32px;
    -webkit-transition: padding-top .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: padding-top .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-open .container {
    padding-top: 2.5rem
}

.container--full-bleed {
    padding: 0
}

.container--full-bg {
    padding: 0 calc((100% - 1920px) / 2)
}

@media only screen and (max-width: 1984px) {
    .container--full-bg {
        padding: 0 32px
    }
}

.container--dark-bg {
    background: #1d1d20;
    color: #fff
}

@media only screen and (max-width: 649px) {
    .container {
        padding: 0 16px
    }
}

.container__inner {
    max-width: 1920px;
    padding-bottom: 8rem;
    padding-top: 16rem
}

@media only screen and (max-width: 979px) {
    .container__inner {
        padding-bottom: 4rem;
        padding-top: 8rem
    }
}

.container__inner--full-bleed {
    max-width: none
}

.container__inner--top-padding-small {
    padding-top: 12.5rem
}

@media only screen and (max-width: 979px) {
    .container__inner--top-padding-small {
        padding-top: 4rem
    }
}

.container__inner--top-padding-smaller {
    padding-top: 10rem
}

@media only screen and (max-width: 979px) {
    .container__inner--top-padding-smaller {
        padding-top: 4rem
    }
}

.container__inner--bottom-padding-small {
    padding-bottom: 6rem
}

@media only screen and (max-width: 979px) {
    .container__inner--bottom-padding-small {
        padding-bottom: 3rem
    }
}

.container__inner--no-bottom-padding {
    padding-bottom: 0
}

.container__inner--no-top-padding {
    padding-top: 0
}

.container__inner--no-padding {
    padding-bottom: 0;
    padding-top: 0
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 1;
    flex-shrink: 1
}

.flex--inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.flex--wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.flex--column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.flex--row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.flex--column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

.flex--align-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.flex--align-start {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.flex--align-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.flex--justify-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.flex--justify-end {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.flex--justify-space-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.flex--gap-small {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    row-gap: 1rem
}

@media only screen and (max-width: 649px) {
    .flex--gap-small {
        -webkit-column-gap: .25rem;
        -moz-column-gap: .25rem;
        column-gap: .25rem;
        row-gap: .25rem
    }
}

.grid {
    margin-left: -4rem
}

@media only screen and (max-width: 979px) {
    .grid {
        margin-left: -2rem
    }
}

@media only screen and (max-width: 649px) {
    .grid {
        margin-left: -1rem
    }
}

.grid__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 4rem
}

@media only screen and (max-width: 979px) {
    .grid__item {
        padding-left: 2rem
    }
}

@media only screen and (max-width: 649px) {
    .grid__item {
        padding-left: 1rem
    }
}

.invisible {
    left: -999rem;
    position: absolute
}

.p, .project__related-work-title, .person__role, .nav-overlay__socials-link, .contact__social-icon, .typeset p, .typeset ul, .typeset ol, .typeset img {
    font-size: 1.125rem;
    line-height: 1.75;
    display: block;
    margin: 0 0 1rem
}

@media only screen and (max-width: 979px) {
    .p, .project__related-work-title, .person__role, .nav-overlay__socials-link, .contact__social-icon, .typeset p, .typeset ul, .typeset ol, .typeset img {
        font-size: .75rem;
        line-height: 1.66
    }
}

.p--small, .article__post-date, .slider__slide-author, .project__tag, .content-block__side-text--small, .content-block__quote-text--small, .contact-form__submit {
    font-size: .75rem;
    line-height: 1.66
}

.p--light {
    color: #afab9f
}

.h {
    font-size: 8.5rem;
    line-height: 1.75;
    font-weight: bold;
    margin-bottom: 1rem
}

@media only screen and (max-width: 979px) {
    .h {
        font-size: 5.75rem;
        line-height: 1.086;
        margin-bottom: .6rem
    }
}

.h2, .value-block__title {
    font-size: 5.75rem;
    line-height: 1.086;
    margin-bottom: .6rem
}

@media only screen and (max-width: 979px) {
    .h2, .value-block__title {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: .5rem
    }
}

.h3, .text-overlay__title, .article__title, .slider__slide-testimonial-text, .project__title, .person__detail-name, .page-header__title, .content-block__side-text--large, .content-block__quote-text--large, .project-buttons .back-to-top__button::after, .back-to-top__button::before, .typeset h2 {
    font-size: 3.75rem;
    line-height: 1.135;
    margin-bottom: .5rem
}

@media only screen and (max-width: 979px) {
    .h3, .text-overlay__title, .article__title, .slider__slide-testimonial-text, .project__title, .person__detail-name, .page-header__title, .content-block__side-text--large, .content-block__quote-text--large, .project-buttons .back-to-top__button::after, .back-to-top__button::before, .typeset h2 {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: .3rem
    }
}

.h4, .page-header__text p, .page-header__text, .listing__overlay-title, .content-block__side-text, .content-block__quote-text, .typeset h3 {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: .3rem
}

@media only screen and (max-width: 979px) {
    .h4, .page-header__text p, .page-header__text, .listing__overlay-title, .content-block__side-text, .content-block__quote-text, .typeset h3 {
        font-size: 1.38rem;
        line-height: 1.6;
        margin-bottom: .2rem
    }
}

.h5, .text-overlay__intro-text, .cta-block__text, .value-block__text, .slider__slide-count, .slider__title, .person__linkedin, .person__bio, .person__name, .page-header__text--small p, .page-header__text--small, .listing__no-results, .listing__title, .job-listing__content p, .job-listing__content ul, .job-listing__content, .contact-form, .contact-form__start, .contact-form__input, .contact-form__success, .contact, .typeset--large p, .typeset--large ul, .typeset--large ol, .typeset--large img, .project__description p, .project__description ul, .project__description ol, .project__description img, .typeset--large, .project__description, .typeset h5, .typeset h4 {
    font-size: 1.38rem;
    line-height: 1.6;
    margin-bottom: .2rem
}

@media only screen and (max-width: 979px) {
    .h5, .text-overlay__intro-text, .cta-block__text, .value-block__text, .slider__slide-count, .slider__title, .person__linkedin, .person__bio, .person__name, .page-header__text--small p, .page-header__text--small, .listing__no-results, .listing__title, .job-listing__content p, .job-listing__content ul, .job-listing__content, .contact-form, .contact-form__start, .contact-form__input, .contact-form__success, .contact, .typeset--large p, .typeset--large ul, .typeset--large ol, .typeset--large img, .project__description p, .project__description ul, .project__description ol, .project__description img, .typeset--large, .project__description, .typeset h5, .typeset h4 {
        font-size: 1.125rem;
        line-height: 1.75
    }
}

.subheading, .cta-block__title {
    font-size: 1.125rem;
    line-height: 1.75
}

.a, .project__tag--clear-bg, .contact__info a, .typeset a {
    color: #2e2a2b;
    line-height: 1.5rem;
    text-decoration: underline;
    -webkit-text-decoration-color: rgba(0, 0, 0, 0);
    text-decoration-color: rgba(0, 0, 0, 0);
    -webkit-transition: -webkit-text-decoration-color .2s ease-in-out;
    transition: -webkit-text-decoration-color .2s ease-in-out;
    transition: text-decoration-color .2s ease-in-out;
    transition: text-decoration-color .2s ease-in-out, -webkit-text-decoration-color .2s ease-in-out
}

.a:hover, .a:focus, .project__tag--clear-bg:hover, .contact__info a:hover, .typeset a:hover, .project__tag--clear-bg:focus, .contact__info a:focus, .typeset a:focus {
    -webkit-text-decoration-color: #2e2a2b;
    text-decoration-color: #2e2a2b
}

.typeset ul, .typeset ol, .ul, .ol {
    padding-left: 1.2rem
}

.typeset ul li, .typeset ol li, .ul li, .ol li {
    margin-bottom: .6rem
}

.typeset ul li, .ul li {
    list-style: disc outside
}

.typeset ol li, .ol li {
    list-style: decimal outside
}

.hr {
    border: 0;
    border-bottom: 1px solid #e4e1d7;
    width: 100%
}

.typeset h2 {
    margin-bottom: 2rem
}

.typeset h3 {
    margin-bottom: 2rem
}

.typeset h4 {
    margin-bottom: 1rem
}

.typeset h5 {
    margin-bottom: 1rem
}

.typeset p, .typeset ul, .typeset ol, .typeset img {
    margin-bottom: 2rem
}

@media only screen and (max-width: 979px) {
    .typeset p, .typeset ul, .typeset ol, .typeset img {
        font-size: 1.125rem;
        line-height: 1.75
    }
}

.typeset--large p, .typeset--large ul, .typeset--large ol, .typeset--large img, .project__description p, .project__description ul, .project__description ol, .project__description img {
    margin-bottom: 2rem
}

html {
    background: #fff;
    font-size: 16px;
    -ms-overflow-style: none;
    overflow-y: scroll;
    scrollbar-width: none
}

html::-webkit-scrollbar {
    display: none
}

body, input, textarea, button {
    font-family: "Good Sans"
}

input, textarea, button, body {
    font-size: 1.125rem;
    line-height: 1.75
}

body {
    color: #2e2a2b
}

main {
    opacity: 1;
    -webkit-transition: opacity .2s ease-in;
    transition: opacity .2s ease-in
}

.loading--fade main {
    opacity: 0
}

.skip-to-content {
    left: -999rem;
    position: absolute;
    top: 0;
    z-index: 99
}

.skip-to-content:focus {
    left: 0
}

.nav-open, .overlay-open {
    height: 100%;
    margin: 0;
    overflow-y: hidden
}

.overlay-background {
    background: #1d1d20;
    bottom: 0;
    height: 100vh;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    width: 100vw;
    z-index: 5
}

.overlay-background--open {
    opacity: 1
}

.mt-small {
    margin-top: 1.5rem
}

@media only screen and (max-width: 979px) {
    .mt-small {
        margin-top: .75rem
    }
}

.mt-extra-large {
    margin-top: 12rem
}

@media only screen and (max-width: 979px) {
    .mt-extra-large {
        margin-top: 6rem
    }
}

.mb-smaller {
    margin-bottom: 1rem
}

@media only screen and (max-width: 979px) {
    .mb-smaller {
        margin-bottom: .5rem
    }
}

.mb-small {
    margin-bottom: 1.5rem
}

@media only screen and (max-width: 979px) {
    .mb-small {
        margin-bottom: .75rem
    }
}

.mb-small-plus {
    margin-bottom: 3rem
}

@media only screen and (max-width: 979px) {
    .mb-small-plus {
        margin-bottom: 1.5rem
    }
}

.mb-medium {
    margin-bottom: 4rem
}

@media only screen and (max-width: 979px) {
    .mb-medium {
        margin-bottom: 2rem
    }
}

.mb-medium-plus {
    margin-bottom: 5rem
}

@media only screen and (max-width: 979px) {
    .mb-medium-plus {
        margin-bottom: 2.5rem
    }
}

.mb-large {
    margin-bottom: 8rem
}

@media only screen and (max-width: 979px) {
    .mb-large {
        margin-bottom: 4rem
    }
}

.mb-extra-large {
    margin-bottom: 12rem
}

@media only screen and (max-width: 979px) {
    .mb-extra-large {
        margin-bottom: 6rem
    }
}

.half-width {
    max-width: 50%
}

.full-bleed-border {
    border-bottom: 1px solid #e4e1d7;
    width: 100%
}

.btn, .text-overlay__cta, .block-grid__item-cta, .cta-block__action, .article__view-all-link, .project__tag:not(.project__tag--clear-bg), .filter-groups__toggle, .content-block__button, .job-listing__apply, .job-listing__see-more, .contact-form__submit {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border: 1px solid #2e2a2b;
    border-radius: 100px;
    color: #2e2a2b;
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: .125rem .75rem;
    position: relative;
    text-decoration: none;
    -webkit-transition: color .5s cubic-bezier(0.39, 0.71, 0.48, 0.98), background .5s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: color .5s cubic-bezier(0.39, 0.71, 0.48, 0.98), background .5s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.btn:hover, .btn:focus, .text-overlay__cta:hover, .block-grid__item-cta:hover, .cta-block__action:hover, .article__view-all-link:hover, .project__tag:hover:not(.project__tag--clear-bg), .filter-groups__toggle:hover, .content-block__button:hover, .job-listing__apply:hover, .job-listing__see-more:hover, .contact-form__submit:hover, .text-overlay__cta:focus, .block-grid__item-cta:focus, .cta-block__action:focus, .article__view-all-link:focus, .project__tag:focus:not(.project__tag--clear-bg), .filter-groups__toggle:focus, .content-block__button:focus, .job-listing__apply:focus, .job-listing__see-more:focus, .contact-form__submit:focus {
    background: #2e2a2b;
    color: #fff
}

.btn--fill, .project__tag:not(.project__tag--clear-bg) {
    background: #2e2a2b;
    border: 0;
    color: #fff
}

.btn--fill:hover, .btn--fill:focus, .project__tag:hover:not(.project__tag--clear-bg), .project__tag:focus:not(.project__tag--clear-bg) {
    background: rgba(0, 0, 0, 0);
    color: #2e2a2b
}

.btn.icon::after, .btn.icon::before, .btn.icon-end::after, .btn.icon-end::before, .icon.text-overlay__cta::after, .icon.block-grid__item-cta::after, .icon.cta-block__action::after, .icon.article__view-all-link::after, .icon.project__tag:not(.project__tag--clear-bg)::after, .icon.filter-groups__toggle::after, .icon.content-block__button::after, .icon.job-listing__apply::after, .icon.job-listing__see-more::after, .icon.contact-form__submit::after, .icon.text-overlay__cta::before, .icon.block-grid__item-cta::before, .icon.cta-block__action::before, .icon.article__view-all-link::before, .icon.project__tag:not(.project__tag--clear-bg)::before, .icon.filter-groups__toggle::before, .icon.content-block__button::before, .icon.job-listing__apply::before, .icon.job-listing__see-more::before, .icon.contact-form__submit::before, .icon-end.text-overlay__cta::after, .icon-end.block-grid__item-cta::after, .icon-end.cta-block__action::after, .icon-end.article__view-all-link::after, .icon-end.project__tag:not(.project__tag--clear-bg)::after, .icon-end.filter-groups__toggle::after, .icon-end.content-block__button::after, .icon-end.job-listing__apply::after, .icon-end.job-listing__see-more::after, .icon-end.contact-form__submit::after, .icon-end.text-overlay__cta::before, .icon-end.block-grid__item-cta::before, .icon-end.cta-block__action::before, .icon-end.article__view-all-link::before, .icon-end.project__tag:not(.project__tag--clear-bg)::before, .icon-end.filter-groups__toggle::before, .icon-end.content-block__button::before, .icon-end.job-listing__apply::before, .icon-end.job-listing__see-more::before, .icon-end.contact-form__submit::before {
    font-size: 150%;
    padding-left: .25rem
}

.btn.icon:hover::after, .btn.icon:hover::before, .btn.icon:focus::after, .btn.icon:focus::before, .btn.icon-end:hover::after, .btn.icon-end:hover::before, .btn.icon-end:focus::after, .btn.icon-end:focus::before, .icon.text-overlay__cta:hover::after, .icon.block-grid__item-cta:hover::after, .icon.cta-block__action:hover::after, .icon.article__view-all-link:hover::after, .icon.project__tag:hover:not(.project__tag--clear-bg)::after, .icon.filter-groups__toggle:hover::after, .icon.content-block__button:hover::after, .icon.job-listing__apply:hover::after, .icon.job-listing__see-more:hover::after, .icon.contact-form__submit:hover::after, .icon.text-overlay__cta:hover::before, .icon.block-grid__item-cta:hover::before, .icon.cta-block__action:hover::before, .icon.article__view-all-link:hover::before, .icon.project__tag:hover:not(.project__tag--clear-bg)::before, .icon.filter-groups__toggle:hover::before, .icon.content-block__button:hover::before, .icon.job-listing__apply:hover::before, .icon.job-listing__see-more:hover::before, .icon.contact-form__submit:hover::before, .icon.text-overlay__cta:focus::after, .icon.block-grid__item-cta:focus::after, .icon.cta-block__action:focus::after, .icon.article__view-all-link:focus::after, .icon.project__tag:focus:not(.project__tag--clear-bg)::after, .icon.filter-groups__toggle:focus::after, .icon.content-block__button:focus::after, .icon.job-listing__apply:focus::after, .icon.job-listing__see-more:focus::after, .icon.contact-form__submit:focus::after, .icon.text-overlay__cta:focus::before, .icon.block-grid__item-cta:focus::before, .icon.cta-block__action:focus::before, .icon.article__view-all-link:focus::before, .icon.project__tag:focus:not(.project__tag--clear-bg)::before, .icon.filter-groups__toggle:focus::before, .icon.content-block__button:focus::before, .icon.job-listing__apply:focus::before, .icon.job-listing__see-more:focus::before, .icon.contact-form__submit:focus::before, .icon-end.text-overlay__cta:hover::after, .icon-end.block-grid__item-cta:hover::after, .icon-end.cta-block__action:hover::after, .icon-end.article__view-all-link:hover::after, .icon-end.project__tag:hover:not(.project__tag--clear-bg)::after, .icon-end.filter-groups__toggle:hover::after, .icon-end.content-block__button:hover::after, .icon-end.job-listing__apply:hover::after, .icon-end.job-listing__see-more:hover::after, .icon-end.contact-form__submit:hover::after, .icon-end.text-overlay__cta:hover::before, .icon-end.block-grid__item-cta:hover::before, .icon-end.cta-block__action:hover::before, .icon-end.article__view-all-link:hover::before, .icon-end.project__tag:hover:not(.project__tag--clear-bg)::before, .icon-end.filter-groups__toggle:hover::before, .icon-end.content-block__button:hover::before, .icon-end.job-listing__apply:hover::before, .icon-end.job-listing__see-more:hover::before, .icon-end.contact-form__submit:hover::before, .icon-end.text-overlay__cta:focus::after, .icon-end.block-grid__item-cta:focus::after, .icon-end.cta-block__action:focus::after, .icon-end.article__view-all-link:focus::after, .icon-end.project__tag:focus:not(.project__tag--clear-bg)::after, .icon-end.filter-groups__toggle:focus::after, .icon-end.content-block__button:focus::after, .icon-end.job-listing__apply:focus::after, .icon-end.job-listing__see-more:focus::after, .icon-end.contact-form__submit:focus::after, .icon-end.text-overlay__cta:focus::before, .icon-end.block-grid__item-cta:focus::before, .icon-end.cta-block__action:focus::before, .icon-end.article__view-all-link:focus::before, .icon-end.project__tag:focus:not(.project__tag--clear-bg)::before, .icon-end.filter-groups__toggle:focus::before, .icon-end.content-block__button:focus::before, .icon-end.job-listing__apply:focus::before, .icon-end.job-listing__see-more:focus::before, .icon-end.contact-form__submit:focus::before {
    color: #fff
}

.btn.icon--fill:hover::after, .btn.icon--fill:hover::before, .btn.icon--fill:focus::after, .btn.icon--fill:focus::before, .btn.icon-end--fill:hover::after, .btn.icon-end--fill:hover::before, .btn.icon-end--fill:focus::after, .btn.icon-end--fill:focus::before, .icon--fill.text-overlay__cta:hover::after, .icon--fill.block-grid__item-cta:hover::after, .icon--fill.cta-block__action:hover::after, .icon--fill.article__view-all-link:hover::after, .icon--fill.project__tag:hover:not(.project__tag--clear-bg)::after, .icon--fill.filter-groups__toggle:hover::after, .icon--fill.content-block__button:hover::after, .icon--fill.job-listing__apply:hover::after, .icon--fill.job-listing__see-more:hover::after, .icon--fill.contact-form__submit:hover::after, .icon--fill.text-overlay__cta:hover::before, .icon--fill.block-grid__item-cta:hover::before, .icon--fill.cta-block__action:hover::before, .icon--fill.article__view-all-link:hover::before, .icon--fill.project__tag:hover:not(.project__tag--clear-bg)::before, .icon--fill.filter-groups__toggle:hover::before, .icon--fill.content-block__button:hover::before, .icon--fill.job-listing__apply:hover::before, .icon--fill.job-listing__see-more:hover::before, .icon--fill.contact-form__submit:hover::before, .icon--fill.text-overlay__cta:focus::after, .icon--fill.block-grid__item-cta:focus::after, .icon--fill.cta-block__action:focus::after, .icon--fill.article__view-all-link:focus::after, .icon--fill.project__tag:focus:not(.project__tag--clear-bg)::after, .icon--fill.filter-groups__toggle:focus::after, .icon--fill.content-block__button:focus::after, .icon--fill.job-listing__apply:focus::after, .icon--fill.job-listing__see-more:focus::after, .icon--fill.contact-form__submit:focus::after, .icon--fill.text-overlay__cta:focus::before, .icon--fill.block-grid__item-cta:focus::before, .icon--fill.cta-block__action:focus::before, .icon--fill.article__view-all-link:focus::before, .icon--fill.project__tag:focus:not(.project__tag--clear-bg)::before, .icon--fill.filter-groups__toggle:focus::before, .icon--fill.content-block__button:focus::before, .icon--fill.job-listing__apply:focus::before, .icon--fill.job-listing__see-more:focus::before, .icon--fill.contact-form__submit:focus::before, .icon-end--fill.text-overlay__cta:hover::after, .icon-end--fill.block-grid__item-cta:hover::after, .icon-end--fill.cta-block__action:hover::after, .icon-end--fill.article__view-all-link:hover::after, .icon-end--fill.project__tag:hover:not(.project__tag--clear-bg)::after, .icon-end--fill.filter-groups__toggle:hover::after, .icon-end--fill.content-block__button:hover::after, .icon-end--fill.job-listing__apply:hover::after, .icon-end--fill.job-listing__see-more:hover::after, .icon-end--fill.contact-form__submit:hover::after, .icon-end--fill.text-overlay__cta:hover::before, .icon-end--fill.block-grid__item-cta:hover::before, .icon-end--fill.cta-block__action:hover::before, .icon-end--fill.article__view-all-link:hover::before, .icon-end--fill.project__tag:hover:not(.project__tag--clear-bg)::before, .icon-end--fill.filter-groups__toggle:hover::before, .icon-end--fill.content-block__button:hover::before, .icon-end--fill.job-listing__apply:hover::before, .icon-end--fill.job-listing__see-more:hover::before, .icon-end--fill.contact-form__submit:hover::before, .icon-end--fill.text-overlay__cta:focus::after, .icon-end--fill.block-grid__item-cta:focus::after, .icon-end--fill.cta-block__action:focus::after, .icon-end--fill.article__view-all-link:focus::after, .icon-end--fill.project__tag:focus:not(.project__tag--clear-bg)::after, .icon-end--fill.filter-groups__toggle:focus::after, .icon-end--fill.content-block__button:focus::after, .icon-end--fill.job-listing__apply:focus::after, .icon-end--fill.job-listing__see-more:focus::after, .icon-end--fill.contact-form__submit:focus::after, .icon-end--fill.text-overlay__cta:focus::before, .icon-end--fill.block-grid__item-cta:focus::before, .icon-end--fill.cta-block__action:focus::before, .icon-end--fill.article__view-all-link:focus::before, .icon-end--fill.project__tag:focus:not(.project__tag--clear-bg)::before, .icon-end--fill.filter-groups__toggle:focus::before, .icon-end--fill.content-block__button:focus::before, .icon-end--fill.job-listing__apply:focus::before, .icon-end--fill.job-listing__see-more:focus::before, .icon-end--fill.contact-form__submit:focus::before {
    color: #2e2a2b
}

.btn.icon-end::after, .btn.icon-end::before, .icon-end.text-overlay__cta::after, .icon-end.block-grid__item-cta::after, .icon-end.cta-block__action::after, .icon-end.article__view-all-link::after, .icon-end.project__tag:not(.project__tag--clear-bg)::after, .icon-end.filter-groups__toggle::after, .icon-end.content-block__button::after, .icon-end.job-listing__apply::after, .icon-end.job-listing__see-more::after, .icon-end.contact-form__submit::after, .icon-end.text-overlay__cta::before, .icon-end.block-grid__item-cta::before, .icon-end.cta-block__action::before, .icon-end.article__view-all-link::before, .icon-end.project__tag:not(.project__tag--clear-bg)::before, .icon-end.filter-groups__toggle::before, .icon-end.content-block__button::before, .icon-end.job-listing__apply::before, .icon-end.job-listing__see-more::before, .icon-end.contact-form__submit::before {
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.header__logo-container {
    z-index: 1
}

.header__logo {
    background: url("../img/logo-black.svg") no-repeat 0 0;
    background-size: contain;
    display: block;
    height: 5rem;
    left: 32px;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 1.5rem;
    -webkit-transition: top .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: top .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    width: 5rem
}

.logo-white .header__logo {
    background: url("../img/logo-white.svg") no-repeat 0 0;
    background-size: contain
}

.nav-open .header__logo {
    top: 4rem
}

@media only screen and (max-width: 649px) {
    .header__logo {
        left: 16px
    }
}

.header__current-page {
    margin-right: 4rem;
    margin-top: 1rem;
    opacity: 1;
    -webkit-transition: margin-top .8s cubic-bezier(0.77, 0, 0.43, 0.99), opacity .4s ease-in-out;
    transition: margin-top .8s cubic-bezier(0.77, 0, 0.43, 0.99), opacity .4s ease-in-out
}

.nav-open .header__current-page {
    margin-top: 3.7rem
}

.loading--fade .header__current-page {
    opacity: 0
}

.footer {
    border-top: 1px solid #e4e1d7;
    padding-bottom: 2rem;
    padding-top: 4rem;
    width: 100%
}

.back-to-top {
    color: #2e2a2b;
    cursor: pointer;
    margin-bottom: 4rem;
    overflow: hidden
}

.back-to-top__button {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    -webkit-transform: translateY(1.4rem);
    transform: translateY(1.4rem);
    -webkit-transition: -webkit-transform .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: -webkit-transform .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .4s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .4s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.back-to-top__button:hover, .back-to-top__button:focus {
    -webkit-transform: translateY(0.4rem);
    transform: translateY(0.4rem)
}

.back-to-top__button:hover .back-to-top__text, .back-to-top__button:focus .back-to-top__text {
    opacity: 1
}

.back-to-top__button::before {
    margin: 0
}

.project-buttons .back-to-top__button::before {
    content: none
}

.project-buttons .back-to-top__button::after {
    margin: 0
}

@media only screen and (max-width: 979px) {
    .back-to-top__button {
        -webkit-transform: translateY(0.25rem);
        transform: translateY(0.25rem)
    }

    .back-to-top__button .back-to-top__text {
        color: #2e2a2b;
        opacity: 1
    }

    .project-buttons .back-to-top__button .back-to-top__text {
        display: none
    }
}

.back-to-top__text {
    color: #afab9f;
    opacity: 0;
    position: relative;
    -webkit-transition: opacity .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .4s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.contact {
    margin-bottom: 2.5rem
}

.contact--newsletter-form {
    min-height: 6rem;
    position: relative
}

.contact__label {
    color: #afab9f
}

.contact__info {
    color: #2e2a2b;
    padding-bottom: .1rem;
    text-decoration: none
}

.contact__social-icons {
    line-height: 1
}

.contact__social-icon:not(:last-of-type) {
    margin-right: 1rem
}

.contact__social-icon a {
    color: #2e2a2b;
    text-decoration: none;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.contact__social-icon a:hover, .contact__social-icon a:focus {
    color: #afab9f
}

.contact-form, .contact-form__start, .contact-form__input, .contact-form__success {
    opacity: 1;
    -webkit-transition: opacity .6s ease-in-out;
    transition: opacity .6s ease-in-out;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.contact-form--hidden, .contact-form__start--hidden, .contact-form__input--hidden, .contact-form__success--hidden {
    opacity: 0;
    pointer-events: none;
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.contact-form__start, .contact-form__input, .contact-form__success {
    left: 0;
    position: absolute;
    top: 2rem
}

.contact-form {
    max-height: 1.8rem
}

.contact-form__input {
    display: block;
    margin-bottom: .25rem;
    outline: none
}

.contact-form__input[type=email] {
    font-size: 1.68rem;
    line-height: 2.2rem;
    margin-top: -0.2rem
}

@media only screen and (max-width: 979px) {
    .contact-form__input[type=email] {
        font-size: 1.125rem;
        line-height: 1.5rem;
        margin-top: 0
    }
}

.contact-form__submit {
    opacity: 1;
    top: 2rem;
    -webkit-transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99), background .25s ease-in-out, color .25s ease-in-out;
    transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99), background .25s ease-in-out, color .25s ease-in-out
}

.contact-form__submit--hidden {
    height: 0;
    opacity: 0;
    pointer-events: none
}

.job-listing {
    border-bottom: 1px solid #e4e1d7;
    margin-bottom: 8rem;
    position: relative
}

.job-listing__title {
    font-size: 3.75rem;
    line-height: 1.135;
    margin-bottom: 1rem
}

.job-listing__title a {
    color: #2e2a2b;
    text-decoration: none
}

@media only screen and (max-width: 979px) {
    .job-listing__title {
        font-size: 1.38rem;
        line-height: 1.6
    }
}

.job-listing__content {
    display: block;
    overflow: hidden
}

.job-listing__content p, .job-listing__content ul {
    margin-bottom: 2rem
}

.job-listing__content ul {
    list-style: disc
}

.job-listing__content li {
    margin-bottom: 1rem;
    margin-left: 2rem
}

.job-listing__meta {
    padding-bottom: 1rem;
    row-gap: .5rem
}

.job-listing__nav {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

.job-listing__apply::after, .job-listing__see-more::after {
    font-size: 150%
}

@media only screen and (max-width: 979px) {
    .job-listing__apply, .job-listing__see-more {
        font-size: .75rem;
        line-height: 1.66
    }
}

.homepage__intro-text-wrapper {
    margin-bottom: 8rem;
    padding-top: 20rem;
    -webkit-transition: -webkit-transform .2s ease;
    transition: -webkit-transform .2s ease;
    transition: transform .2s ease;
    transition: transform .2s ease, -webkit-transform .2s ease
}

@media only screen and (max-width: 979px) {
    .homepage__intro-text-wrapper {
        margin-bottom: 4rem;
        padding-top: 8rem
    }
}

.homepage__intro-title {
    color: #afab9f
}

.homepage__intro-text, .homepage__intro-title {
    font-size: 3.75rem;
    line-height: 1.135
}

@media only screen and (max-width: 979px) {
    .homepage__intro-text, .homepage__intro-title {
        font-size: 1.38rem;
        line-height: 1.6
    }
}

.homepage__intro-text {
    max-width: 66%
}

@media only screen and (max-width: 1920px) {
    .homepage__intro-text {
        max-width: 85%
    }
}

@media only screen and (max-width: 1600px) {
    .homepage__intro-text {
        max-width: 90%
    }
}

@media only screen and (max-width: 1449px) {
    .homepage__intro-text {
        max-width: 100%
    }
}

.homepage__content {
    padding-left: 20%;
    padding-right: 32px
}

.scrolled-down .homepage__content {
    padding-right: 32px
}

.content-block {
    margin-bottom: 8rem
}

@media only screen and (max-width: 979px) {
    .content-block {
        margin-bottom: 4rem
    }
}

@media only screen and (max-width: 979px) {
    .content-block__full-image-wrapper, .content-block__full-video-wrapper {
        margin-left: -32px;
        margin-right: -32px
    }
}

@media only screen and (max-width: 649px) {
    .content-block__full-image-wrapper, .content-block__full-video-wrapper {
        margin-left: -16px;
        margin-right: -16px
    }
}

.content-block__full-image {
    height: auto;
    width: 100%
}

.content-block__quote-text::before {
    content: "“";
    display: inline;
    margin-left: 3rem;
    margin-right: -0.7rem
}

.content-block__quote-text::after {
    content: "”";
    display: inline;
    margin-left: -0.5rem
}

.content-block__two-images, .content-block__image-with-text {
    row-gap: 2rem
}

.content-block__two-images img, .content-block__image-with-text img {
    -o-object-fit: contain;
    object-fit: contain
}

.content-block__button {
    border: 1px solid var(--foreground_colour);
    color: var(--foreground_colour);
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    font-size: 1rem
}

.content-block__button::after {
    font-size: 1.5rem
}

.content-block__button:hover, .content-block__button:focus {
    background: var(--foreground_colour);
    color: var(--background_colour)
}

.content-block__button:active {
    background: #f97247;
    color: #2e2a2b
}

.content-block__three-image-grid {
    -webkit-column-gap: 16px;
    -moz-column-gap: 16px;
    column-gap: 16px;
    position: relative
}

.content-block__three-image-large-wrapper {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 16px
}

@media only screen and (max-width: 649px) {
    .content-block__three-image-large-wrapper {
        padding-bottom: 16px;
        padding-right: 0
    }
}

.content-block__three-image-side-wrapper {
    height: 100%;
    position: absolute;
    right: 0;
    row-gap: 16px
}

@media only screen and (max-width: 649px) {
    .content-block__three-image-side-wrapper {
        -webkit-column-gap: 16px;
        -moz-column-gap: 16px;
        column-gap: 16px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        position: static
    }
}

.content-block__three-image-side-image-1, .content-block__three-image-side-image-2 {
    height: calc(50% - 8px);
    -o-object-fit: cover;
    object-fit: cover
}

@media only screen and (max-width: 649px) {
    .content-block__three-image-side-image-1, .content-block__three-image-side-image-2 {
        height: auto;
        width: calc(50% - 8px)
    }
}

.content-block__video-grid-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.content-block__video-grid-wrapper--reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media only screen and (max-width: 649px) {
    .content-block__video-grid-wrapper--reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}

@media only screen and (max-width: 649px) {
    .content-block__video-grid-wrapper {
        row-gap: 16px
    }
}

.content-block__full-autoplay-video {
    width: 100%
}

.content-block__full-controlled-video-container {
    position: relative
}

.content-block__full-controlled-video {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    width: 100%
}

.content-block__full-fill-video-wrapper {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 250vh;
    margin: 0 auto;
    max-width: 1920px;
    padding: 0 32px;
    -webkit-transition: padding .5s ease-in-out, max-width .5s ease-in-out;
    transition: padding .5s ease-in-out, max-width .5s ease-in-out;
    width: 100%
}

@media only screen and (max-width: 649px) {
    .content-block__full-fill-video-wrapper {
        padding: 0 16px
    }
}

.content-block__full-fill-video-wrapper--expand {
    max-width: 100%;
    padding: 0
}

.content-block__full-fill-video-inner-wrapper {
    max-height: 100vh;
    position: sticky;
    top: 0
}

.content-block__full-fill-video-container {
    position: relative
}

.content-block__full-fill-video {
    height: 100vh;
    max-height: 56.25vh;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: max-height .5s ease-in-out;
    transition: max-height .5s ease-in-out;
    width: 100%
}

.content-block__full-fill-video-wrapper--expand .content-block__full-fill-video {
    max-height: 100vh
}

.content-block__before-after-wrapper {
    position: relative
}

.content-block__before-after-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.content-block__before-after-item--after {
    border-right: 1px solid #fff;
    bottom: 0;
    height: 100%;
    left: 0;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: left;
    object-position: left;
    position: absolute;
    top: 0;
    width: 50%;
    z-index: 1
}

.content-block__before-after-wrapper--video .content-block__before-after-item {
    pointer-events: none
}

.content-block__before-after-slider {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: rgba(0, 0, 0, 0);
    height: 100%;
    left: -1rem;
    margin: 0;
    outline: none;
    position: absolute;
    top: 0;
    width: calc(100% + 2rem);
    z-index: 3
}

.content-block__before-after-slider:focus {
    outline: none
}

.content-block__before-after-slider:hover::-webkit-slider-thumb {
    opacity: 1;
    -webkit-transform: scale(100%);
    transform: scale(100%)
}

.content-block__before-after-slider:hover::-moz-range-thumb {
    opacity: 1;
    transform: scale(100%)
}

.content-block__before-after-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    background: rgba(29, 29, 32, .96);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: 2rem;
    opacity: 0;
    outline: none;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: opacity .2s ease, -webkit-transform .2s ease;
    transition: opacity .2s ease, -webkit-transform .2s ease;
    transition: opacity .2s ease, transform .2s ease;
    transition: opacity .2s ease, transform .2s ease, -webkit-transform .2s ease;
    width: 2rem
}

.content-block__before-after-slider::-moz-range-thumb {
    background: rgba(29, 29, 32, .96);
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    height: 2rem;
    opacity: 0;
    outline: none;
    transform: scale(0);
    -moz-transition: opacity .2s ease, transform .2s ease;
    transition: opacity .2s ease, transform .2s ease;
    width: 2rem
}

.nav-overlay {
    background: #1d1d20;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 100vh;
    max-height: 0;
    overflow: hidden;
    padding-bottom: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), padding-bottom .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), padding-bottom .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    width: 100%;
    z-index: 9
}

.nav-overlay--open {
    max-height: 100vh;
    -ms-overflow-style: none;
    overflow-y: scroll;
    padding-bottom: 4rem;
    pointer-events: all;
    scrollbar-width: none
}

.nav-overlay--open::-webkit-scrollbar {
    display: none
}

.nav-overlay--open .nav-overlay__list-container {
    opacity: 1
}

@media only screen and (max-width: 979px) {
    .nav-overlay--open {
        padding-bottom: 0
    }
}

.nav-overlay[tabindex="-1"] * {
    visibility: hidden
}

.nav-overlay__title {
    color: #afab9f;
    cursor: pointer;
    display: inline-block;
    margin-top: 0;
    opacity: 0;
    padding-bottom: 4rem;
    -webkit-transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99), padding-top .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99), padding-top .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-overlay--open .nav-overlay__title {
    opacity: 1;
    padding-top: 1rem
}

.nav-overlay__list-container {
    margin-left: 32px;
    margin-right: 32px;
    min-height: 100%;
    opacity: 1;
    text-align: right;
    -webkit-transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: opacity .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-overlay__list-container--align-left {
    text-align: left
}

@media only screen and (max-width: 979px) {
    .nav-overlay__list-container {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media only screen and (max-width: 649px) {
    .nav-overlay__list-container {
        margin-left: 16px;
        margin-right: 16px
    }
}

.nav-overlay__list-item {
    overflow: hidden
}

.nav-overlay__list-link {
    font-size: 3.75rem;
    line-height: 1.135;
    color: #fff;
    display: block;
    line-height: 1.25;
    margin-bottom: .5rem;
    text-decoration: none;
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.nav-overlay__list-link:hover, .nav-overlay__list-link:focus {
    color: #596152
}

.nav-overlay--open .nav-overlay__list-link {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

@media only screen and (max-width: 979px) {
    .nav-overlay__list-link {
        font-size: 2.5rem;
        line-height: 1.2;
        margin-bottom: .3rem
    }
}

.nav-overlay__socials {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

@media only screen and (max-width: 979px) {
    .nav-overlay__socials {
        margin-top: 4rem
    }
}

.nav-overlay__socials-item {
    overflow: hidden
}

.nav-overlay__socials-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 100px;
    color: #fff;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    -webkit-transition: color .2s ease-in-out, -webkit-transform .8s .25s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: color .2s ease-in-out, -webkit-transform .8s .25s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s .25s cubic-bezier(0.77, 0, 0.43, 0.99), color .2s ease-in-out;
    transition: transform .8s .25s cubic-bezier(0.77, 0, 0.43, 0.99), color .2s ease-in-out, -webkit-transform .8s .25s cubic-bezier(0.77, 0, 0.43, 0.99)
}

@media only screen and (max-width: 979px) {
    .nav-overlay__socials-link {
        font-size: .875rem;
        line-height: 1.75
    }
}

.nav-overlay__socials-link:hover, .nav-overlay__socials-link:focus {
    color: #596152
}

.nav-overlay--open .nav-overlay__socials-link {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition-delay: 0;
    transition-delay: 0
}

.nav-toggle {
    --nav-colour: #596152;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    display: block;
    height: 4rem;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    width: 10rem;
    z-index: 100
}

.nav-toggle::before {
    background-color: var(--nav-colour);
    border-radius: 50%;
    content: "";
    display: block;
    height: 1.5rem;
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    -webkit-transition: background-color .2s ease-out;
    transition: background-color .2s ease-out;
    width: 1.5rem
}

.nav-toggle:hover::before, .nav-toggle:focus::before {
    background: #2e2a2b
}

.nav-toggle--open {
    -webkit-transform: translateX(calc(-100vw + 4rem));
    transform: translateX(calc(-100vw + 4rem))
}

.nav-toggle--open::before {
    background: #fff
}

.nav-toggle--open:hover::before, .nav-toggle--open:focus::before {
    background: #afab9f
}

.nav-toggle--open:hover::after, .nav-toggle--open:focus::after {
    color: #afab9f;
    content: "Back";
    position: absolute;
    right: -2.6rem;
    top: 1.1rem
}

.nav-toggle--open.nav-toggle--bottom-left {
    -webkit-transform: translate(calc(-100vw + 4rem), calc(100vh - 5.125rem));
    transform: translate(calc(-100vw + 4rem), calc(100vh - 5.125rem))
}

.listing__item {
    margin-bottom: 10rem;
    -webkit-transform: translate3d(0, 6rem, 0);
    transform: translate3d(0, 6rem, 0);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.listing__item.reveal {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

@media only screen and (max-width: 979px) {
    .listing__item {
        margin-bottom: 5rem
    }
}

.listing__link {
    text-decoration: none
}

.listing__link:hover .listing__title, .listing__link:focus .listing__title {
    color: #afab9f
}

.listing__link:hover .listing__overlay-title, .listing__link:focus .listing__overlay-title {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.listing__link:hover .listing__image, .listing__link:focus .listing__image {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.listing__link:hover .listing__image--out-of-bounds, .listing__link:focus .listing__image--out-of-bounds {
    -webkit-transform: scale(0.85);
    transform: scale(0.85)
}

.listing__image-container {
    cursor: none;
    max-height: calc(100% - 2rem);
    max-width: 100%;
    overflow: hidden;
    position: relative
}

.listing__image-container--out-of-bounds {
    overflow: visible
}

.listing__image {
    height: auto;
    -webkit-transform: scale(1.25);
    transform: scale(1.25);
    -webkit-transition: -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    width: 100%
}

.listing__image--out-of-bounds {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-transition: -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.listing__image--out-of-bounds.lazy {
    -webkit-transform: scale(0.98) translateY(12rem);
    transform: scale(0.98) translateY(12rem);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

.listing__image--no-animation {
    -webkit-transform: none;
    transform: none
}

.listing__out-of-bounds-container {
    height: calc(100% + 4rem);
    left: -2rem;
    position: absolute;
    top: -2rem;
    width: calc(100% + 4rem)
}

.listing__out-of-bounds-container::after {
    border: 2rem solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99
}

@media only screen and (max-width: 649px) {
    .listing__out-of-bounds-container {
        height: calc(100% + 1rem);
        left: -0.5rem;
        top: -0.5rem;
        width: calc(100% + 1rem)
    }

    .listing__out-of-bounds-container::after {
        border: .5rem solid #fff
    }
}

.listing__overlay-title {
    color: #fff;
    display: block;
    height: auto;
    left: 1.5rem;
    opacity: 0;
    position: absolute;
    top: 1.5rem;
    -webkit-transform: translate3d(0, 4rem, 0);
    transform: translate3d(0, 4rem, 0);
    -webkit-transition: opacity .6s ease-in-out, -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .6s ease-in-out, -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98), opacity .6s ease-in-out;
    transition: transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98), opacity .6s ease-in-out, -webkit-transform .7s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.listing__overlay-title--black {
    color: #2e2a2b
}

.listing__title {
    color: #2e2a2b;
    margin-top: 2rem;
    text-decoration: none;
    -webkit-transition: color .4s ease-in-out;
    transition: color .4s ease-in-out
}

.listing__hover-dot {
    background-color: rgba(255, 255, 255, .96);
    border-radius: 100px;
    height: 1.5rem;
    opacity: 1;
    pointer-events: none;
    position: fixed;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    width: 1.5rem;
    z-index: 10
}

.listing__hover-dot::after {
    content: "";
    display: block;
    padding-bottom: 100%
}

.listing__hover-dot--hidden {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.listing__hover-dot--black {
    background-color: rgba(29, 29, 32, .96)
}

@media only screen and (max-width: 1279px) {
    .listing__hover-dot {
        display: none
    }

    .listing__hover-dot::after {
        display: none
    }
}

.client__logo {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: none;
    display: block;
    margin-bottom: 2rem;
    padding: 4rem
}

@media only screen and (max-width: 1449px) {
    .client__logo {
        padding: 2rem
    }
}

@media only screen and (max-width: 649px) {
    .client__logo {
        cursor: pointer
    }
}

@media only screen and (max-width: 449px) {
    .client__logo {
        margin-bottom: 1rem;
        padding: 1rem
    }
}

.client__overlay {
    background: var(--background_colour);
    bottom: 0;
    color: var(--foreground_colour);
    left: 0;
    opacity: 0;
    overflow: scroll;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    z-index: 1
}

.client__overlay--open {
    opacity: 1;
    pointer-events: all
}

.client__close-overlay {
    color: inherit;
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    left: 0;
    padding: 1rem;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-open .client__close-overlay {
    -webkit-transform: translateY(2.5rem);
    transform: translateY(2.5rem)
}

.page-header {
    padding-bottom: 8rem
}

.page-header--less-bottom-padding {
    padding-bottom: 4rem
}

@media only screen and (max-width: 979px) {
    .page-header {
        padding-bottom: 4rem
    }

    .page-header--less-bottom-padding {
        padding-bottom: 2rem
    }
}

.page-header__title {
    margin-bottom: 2rem
}

.page-header__text p {
    margin-bottom: 1rem
}

.page-header__text--light {
    color: #afab9f
}

.page-header__text--small p {
    margin-bottom: 1rem
}

.page-header__see-all {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.person {
    margin-bottom: 8rem;
    -webkit-transform: translateY(6rem);
    transform: translateY(6rem);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.person.reveal {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

@media only screen and (max-width: 979px) {
    .person .listing__image-container {
        height: calc(100% - 2rem)
    }

    .person .listing__image-container .listing__image {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover
    }
}

.person__link {
    cursor: none
}

@media only screen and (max-width: 649px) {
    .person__link {
        cursor: pointer
    }
}

.person__name {
    margin-top: 2rem
}

.person__overlay {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #1d1d20;
    bottom: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    cursor: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    left: 0;
    opacity: 0;
    -ms-overflow-style: none;
    overflow-y: scroll;
    padding: 0 7.5rem;
    pointer-events: none;
    position: fixed;
    scrollbar-width: none;
    top: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    width: 100%;
    z-index: 6
}

.person__overlay::-webkit-scrollbar {
    display: none
}

.person__overlay--open {
    opacity: 1;
    pointer-events: all;
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.person__overlay--hover-left {
    cursor: url("../img/arrow-left.svg"), auto
}

.person__overlay--hover-right {
    cursor: url("../img/arrow-right.svg"), auto
}

@media only screen and (max-width: 1099px) {
    .person__overlay {
        padding: 0 2.5rem
    }
}

@media only screen and (max-width: 979px) {
    .person__overlay {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 5rem 0
    }
}

.person__close-overlay {
    color: #fff;
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    left: 0;
    padding: 1rem;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-open .person__close-overlay {
    -webkit-transform: translateY(2.5rem);
    transform: translateY(2.5rem)
}

.person__details {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 4rem
}

@media only screen and (max-width: 979px) {
    .person__details {
        padding-left: 0
    }

    .person__details:not(.person__details--top) {
        padding-top: 2rem
    }
}

.person__details--top .person__detail-name, .person__details--top .person__detail-role {
    display: none
}

@media only screen and (max-width: 979px) {
    .person__details--top .person__detail-name, .person__details--top .person__detail-role {
        display: block
    }
}

.person__detail-name {
    margin-bottom: 1rem
}

@media only screen and (max-width: 979px) {
    .person__detail-name {
        display: none
    }
}

.person__detail-role {
    margin-bottom: 2rem
}

@media only screen and (max-width: 979px) {
    .person__detail-role {
        display: none
    }
}

.person__bio {
    margin-bottom: 2rem
}

.person__linkedin {
    color: #fff;
    text-decoration: none;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.person__linkedin:hover, .person__linkedin:focus {
    color: #2e2a2b
}

.filter-groups {
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    row-gap: .5rem
}

.project__header {
    height: auto;
    width: 100%
}

.project__inner-page {
    padding-bottom: 4rem;
    padding-top: 4rem
}

.project__description {
    margin-top: 3rem
}

.project__tags {
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    row-gap: .5rem
}

@media only screen and (max-width: 649px) {
    .project__tags {
        -webkit-column-gap: .25rem;
        -moz-column-gap: .25rem;
        column-gap: .25rem;
        row-gap: .25rem
    }
}

.project__tag {
    display: block
}

.project__tag--clear-bg {
    margin-left: .5rem;
    margin-top: .2rem
}

.project__content {
    padding-bottom: 7.5rem;
    padding-top: 7.5rem
}

@media only screen and (max-width: 649px) {
    .project__content {
        padding-bottom: 4rem
    }
}

.project__related-work {
    background: #fff
}

.project__related-work-title {
    color: #2e2a2b;
    margin-bottom: 4rem
}

.project__transition {
    background: #1d1d20;
    height: 100%;
    left: 0;
    max-height: 100%;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transform: translateY(120%);
    transform: translateY(120%);
    -webkit-transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: max-height .8s cubic-bezier(0.77, 0, 0.43, 0.99), transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    z-index: 10
}

.project__transition--reveal {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

.project__transition--hide {
    max-height: 0;
    top: 0;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition-delay: .25s;
    transition-delay: .25s
}

.project__transition-text-container {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100vh;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

@media only screen and (max-width: 799px) {
    .project__transition-text-container {
        height: 100 lvh
    }
}

.project__transition-text {
    font-size: 8.5rem;
    color: #fff;
    line-height: 1.25;
    opacity: 0;
    padding: 0 3rem;
    pointer-events: none;
    text-align: center;
    -webkit-transition: opacity .8s ease-in-out;
    transition: opacity .8s ease-in-out;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.project__transition-text--reveal {
    opacity: 1
}

@media only screen and (max-width: 1449px) {
    .project__transition-text {
        font-size: 5.75rem
    }
}

@media only screen and (max-width: 1279px) {
    .project__transition-text {
        font-size: 3.75rem
    }
}

@media only screen and (max-width: 979px) {
    .project__transition-text {
        font-size: 2.5rem
    }
}

.project-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.project-slider {
    overflow: hidden
}

.project-slider__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 1080px;
    max-height: 80vh
}

@media only screen and (max-width: 1449px) {
    .project-slider__container {
        height: calc(56.25vw - 32px)
    }
}

@media only screen and (max-width: 649px) {
    .project-slider__container {
        height: calc(56.25vw - 16px)
    }
}

.project-slider__slide {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    height: 100%;
    margin-right: 4rem;
    opacity: 1;
    position: relative;
    -webkit-transition: opacity 0s ease-in-out .1s;
    transition: opacity 0s ease-in-out .1s
}

.project-slider__slide--hide {
    opacity: 0;
    -webkit-transition: opacity 0s ease-in-out .21s;
    transition: opacity 0s ease-in-out .21s
}

@media only screen and (max-width: 649px) {
    .project-slider__slide {
        margin-right: 1rem
    }
}

.project-slider__slide-img {
    cursor: none;
    height: 100%;
    width: auto
}

@media only screen and (max-width: 649px) {
    .project-slider__slide-img {
        cursor: pointer
    }
}

.project-slider__detail-img-wrapper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: padding .5s ease-in-out, opacity .25s ease-in-out;
    transition: padding .5s ease-in-out, opacity .25s ease-in-out;
    z-index: 1
}

.project-slider__detail-img-wrapper::before {
    background-color: rgba(29, 29, 32, .75);
    content: "";
    height: 300vh;
    left: -100vw;
    position: absolute;
    top: -100vh;
    width: 300vw
}

.project-slider__detail-img-wrapper--reveal {
    opacity: 1;
    pointer-events: all
}

.project-slider__detail-img-wrapper--animate {
    -webkit-transition: padding .5s ease-in-out, opacity .25s ease-in-out, inset .5s ease-in-out;
    transition: padding .5s ease-in-out, opacity .25s ease-in-out, inset .5s ease-in-out
}

.project-slider__detail-img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
    z-index: 1
}

.gallery-slider {
    position: relative
}

.gallery-slider__viewport {
    overflow: hidden;
    width: 100%
}

.gallery-slider__container {
    margin-left: 2rem;
    margin-right: 2rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.gallery-slider__slide-outer {
    margin-right: 2rem;
    min-width: 30%;
    position: relative
}

@media only screen and (max-width: 1279px) {
    .gallery-slider__slide-outer {
        min-width: 45%
    }
}

@media only screen and (max-width: 979px) {
    .gallery-slider__slide-outer {
        min-width: 60%
    }
}

@media only screen and (max-width: 649px) {
    .gallery-slider__slide-outer {
        min-width: 80%
    }
}

.gallery-slider__slide-inner {
    height: 100vh;
    overflow: hidden;
    position: relative
}

@media only screen and (max-width: 1279px) {
    .gallery-slider__slide-inner {
        height: 85vh
    }
}

@media only screen and (max-width: 979px) {
    .gallery-slider__slide-inner {
        height: 70vh
    }
}

@media only screen and (max-width: 649px) {
    .gallery-slider__slide-inner {
        height: 50vh
    }
}

.gallery-slider__slide-img {
    cursor: none;
    display: block;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    width: auto
}

@media only screen and (max-width: 649px) {
    .gallery-slider__slide-img {
        cursor: pointer
    }
}

.slider {
    cursor: pointer;
    height: calc(100vh - 5rem);
    overflow: hidden;
    width: 100%
}

@media only screen and (max-width: 979px) {
    .slider {
        height: calc(50vh - 5rem)
    }
}

.slider--hover-left {
    cursor: url("../img/arrow-left.svg"), auto
}

.slider--hover-right {
    cursor: url("../img/arrow-right.svg"), auto
}

.slider--testimonials {
    cursor: default;
    height: auto
}

.slider--testimonials.slider--hover-right {
    cursor: url("../img/arrow-right-black.svg"), auto
}

.slider--testimonials.slider--hover-left {
    cursor: url("../img/arrow-left-black.svg"), auto
}

.slider--testimonials .slider__slide-outer {
    margin-right: 1rem
}

@media only screen and (max-width: 1279px) {
    .slider--testimonials.slider--hover-left, .slider--testimonials.slider--hover-right {
        cursor: default
    }
}

.slider__container {
    height: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.slider__slide-outer {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    position: relative;
    width: 100%
}

.slider__slide-inner {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media only screen and (max-width: 1279px) {
    .slider__slide-inner {
        cursor: default
    }
}

.slider__slide-parallax {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.slider__slide-gallery-image {
    max-height: 100%;
    width: auto
}

.slider__slide-gallery-image img {
    margin-right: 4rem;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    width: auto
}

.slider__slide-img, .slider__slide-vid, .slider__slide-placeholder {
    display: block;
    height: auto;
    left: 50%;
    max-width: 100%;
    min-height: 100%;
    min-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.slider__slide-placeholder {
    background-position: center;
    background-size: cover
}

.slider__titlebar {
    position: relative;
    width: 100%
}

.slider__title {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: default;
    left: auto;
    max-width: 1920px;
    padding-left: 32px;
    padding-right: 32px;
    padding-top: 1.5rem;
    position: absolute;
    right: auto;
    top: 0;
    -webkit-transition: opacity .6s ease-in-out;
    transition: opacity .6s ease-in-out;
    width: 100%
}

.slider__title--count-only {
    padding: 0
}

.slider__title--over-slides {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.slider__title--hidden:not(.slider__title--total-count) {
    opacity: 0;
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.slider__slide-testimonial-text {
    margin-bottom: 2rem;
    max-width: 80%
}

.slider__slide-testimonial-text--tab {
    display: inline-block;
    margin-left: 3rem
}

@media only screen and (max-width: 649px) {
    .slider__slide-testimonial-text {
        max-width: 100%
    }
}

.slider__slide-count {
    color: #afab9f
}

.article__header {
    text-align: center
}

@media only screen and (max-width: 979px) {
    .article__header {
        margin-left: -32px;
        margin-right: -32px
    }

    .article__header .article__post-date, .article__header .article__title {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: 32px;
        padding-right: 32px
    }
}

@media only screen and (max-width: 649px) {
    .article__header {
        margin-left: -16px;
        margin-right: -16px
    }

    .article__header .article__post-date, .article__header .article__title {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px
    }
}

.article__post-date {
    color: #afab9f
}

.article__view-all-link {
    cursor: pointer;
    position: absolute;
    text-align: right
}

@media only screen and (max-width: 649px) {
    .article__view-all-link {
        margin-bottom: 1.5rem;
        position: static
    }
}

.article__link {
    color: #2e2a2b;
    text-decoration: none
}

@media only screen and (max-width: 649px) {
    .article__intro {
        margin-bottom: 4rem
    }
}

.hover-circle {
    background-color: rgba(29, 29, 32, .96);
    border-radius: 100px;
    min-width: 8rem;
    opacity: 1;
    pointer-events: none;
    position: fixed;
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: opacity .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98), -webkit-transform .2s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    width: auto;
    z-index: 10
}

.hover-circle::after {
    content: "";
    display: block;
    padding-bottom: 100%
}

.hover-circle--hidden {
    opacity: 0;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.hover-circle--inverted {
    background-color: #fff
}

.hover-circle--inverted .hover-circle__content {
    color: rgba(29, 29, 32, .96)
}

@media only screen and (max-width: 1279px) {
    .hover-circle {
        display: none
    }
}

.hover-circle__content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 .5rem;
    position: absolute;
    text-align: center;
    width: 100%
}

.search-form {
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    -webkit-transition-delay: 0s;
    transition-delay: 0s
}

.nav-overlay--open .search-form {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

.search-form__input[type=text] {
    font-size: 3.75rem;
    line-height: 1.135;
    color: #fff;
    display: block;
    line-height: 1.25;
    text-decoration: none
}

.search-form__input::-webkit-input-placeholder {
    color: #fff;
    padding-left: .5rem
}

.search-form__input::-moz-placeholder {
    color: #fff;
    padding-left: .5rem
}

.search-form__input:-ms-input-placeholder {
    color: #fff;
    padding-left: .5rem
}

.search-form__input::-ms-input-placeholder {
    color: #fff;
    padding-left: .5rem
}

.search-form__input::placeholder {
    color: #fff;
    padding-left: .5rem
}

@media only screen and (max-width: 649px) {
    .search-form__input[type=text] {
        font-size: 2.5rem;
        line-height: 1.2
    }

    .search-form__input::-webkit-input-placeholder {
        padding-left: 0
    }

    .search-form__input::-moz-placeholder {
        padding-left: 0
    }

    .search-form__input:-ms-input-placeholder {
        padding-left: 0
    }

    .search-form__input::-ms-input-placeholder {
        padding-left: 0
    }

    .search-form__input::placeholder {
        padding-left: 0
    }
}

.search-form__input--no-focus-visible {
    outline: none
}

.value-block {
    border-bottom: 1px solid #e4e1d7;
    margin-bottom: 4rem
}

.value-block__title {
    margin-bottom: 2rem
}

.value-block__text {
    margin-bottom: 2rem
}

.cta-block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-bottom: 5rem;
    padding-right: 5rem
}

@media only screen and (max-width: 979px) {
    .cta-block {
        padding-right: 0
    }
}

.cta-block__title {
    margin-bottom: 3rem
}

@media only screen and (max-width: 979px) {
    .cta-block__title {
        margin-bottom: 1.5rem
    }
}

.cta-block__text {
    margin-bottom: 3rem
}

@media only screen and (max-width: 979px) {
    .cta-block__text {
        margin-bottom: 1.5rem
    }
}

.block-grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    row-gap: 2rem
}

.block-grid__item {
    text-align: left;
    -webkit-transform: translateY(6rem);
    transform: translateY(6rem);
    -webkit-transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    -webkit-transition-delay: .2s;
    transition-delay: .2s
}

.block-grid__item.reveal {
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

.block-grid__image {
    margin-bottom: 1rem
}

.block-grid__item-details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

.block-grid__item-description {
    color: #afab9f
}

.block-grid__item-cta {
    font-size: .75rem;
    line-height: 1.66;
    margin-bottom: 1rem;
    margin-top: 1rem
}

.block-grid__item-cta::after {
    font-size: 150%
}

.text-overlay {
    background: #1d1d20;
    color: #fff;
    height: 100vh;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    z-index: 1
}

.text-overlay--open {
    opacity: 1;
    pointer-events: all
}

.text-overlay__container {
    height: 100%;
    overflow: auto;
    scrollbar-width: none;
    width: 100%
}

.text-overlay__container::-webkit-scrollbar {
    display: none
}

.text-overlay__container-inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 100%
}

.text-overlay__close {
    color: inherit;
    -webkit-column-gap: .5rem;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    left: 0;
    padding: 1rem;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99);
    transition: transform .8s cubic-bezier(0.77, 0, 0.43, 0.99), -webkit-transform .8s cubic-bezier(0.77, 0, 0.43, 0.99)
}

.nav-open .text-overlay__close {
    -webkit-transform: translateY(2.5rem);
    transform: translateY(2.5rem)
}

.text-overlay__title {
    margin-bottom: 2rem
}

.text-overlay__intro-text {
    margin-bottom: 2rem
}

.text-overlay__cta {
    border-color: #fff;
    color: #fff;
    margin-bottom: 2rem
}

.text-overlay__cta:hover, .text-overlay__cta:focus {
    background-color: #fff;
    color: #2e2a2b
}

.text-overlay__description {
    padding-bottom: 2rem
}

.video-timer {
    bottom: 4rem;
    height: 4rem;
    opacity: 0;
    position: absolute;
    right: 4rem;
    -webkit-transition: opacity 1s ease-in;
    transition: opacity 1s ease-in;
    width: 4rem
}

.content-block__full-fill-video-wrapper--expand .video-timer {
    opacity: 1
}

.video-timer__circle {
    fill: none;
    stroke: none
}

.video-timer__path-elapsed {
    stroke: rgba(0, 0, 0, 0);
    stroke-width: .25rem
}

.video-timer__label {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #2e2a2b;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 4rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: 0;
    width: 4rem
}

.video-timer--inverted .video-timer__label {
    color: #fff
}

.video-timer__path-remaining {
    stroke: #2e2a2b;
    stroke-width: .25rem;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transform-origin: center;
    transform-origin: center
}

.video-timer--inverted .video-timer__path-remaining {
    stroke: #fff
}

.view-all-work {
    color: #2e2a2b;
    cursor: pointer;
    line-height: 1;
    margin-bottom: 4rem;
    overflow: hidden
}

.view-all-work__link {
    margin-top: 1.4rem;
    text-decoration: none
}

.view-all-work__link:hover .view-all-work__text, .view-all-work__link:focus .view-all-work__text {
    margin-left: 0
}

.view-all-work__link::before {
    margin: 0
}

.view-all-work--reverse .view-all-work__link::before {
    content: ""
}

.view-all-work--reverse .view-all-work__link::after {
    margin: 0 0 0 -1.5rem;
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    -webkit-transition: margin .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: margin .4s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.view-all-work--reverse .view-all-work__link:hover::after, .view-all-work--reverse .view-all-work__link:focus::after {
    margin-left: 0
}

.view-all-work__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -1.5rem;
    -webkit-transition: margin .4s cubic-bezier(0.39, 0.71, 0.48, 0.98);
    transition: margin .4s cubic-bezier(0.39, 0.71, 0.48, 0.98)
}

.view-all-work__text::before {
    background: #fff;
    content: "";
    display: block;
    width: 2rem
}

.view-all-work--reverse .view-all-work__text {
    margin-left: 0
}

.view-all-work--reverse .view-all-work__text::before {
    display: none
}

.view-all-work--reverse .view-all-work__text::after {
    background: #fff;
    content: "";
    display: block;
    width: 2rem;
    z-index: 1
}

@media only screen and (max-width: 979px) {
    .view-all-work__text {
        margin-left: -1rem
    }

    .view-all-work__text::before {
        width: 1.25rem
    }
}

@-webkit-keyframes plyr-progress {
    to {
        background-position: var(--plyr-progress-loading-size, 25px) 0
    }
}

@keyframes plyr-progress {
    to {
        background-position: var(--plyr-progress-loading-size, 25px) 0
    }
}

@-webkit-keyframes plyr-popup {
    0% {
        opacity: .5;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes plyr-popup {
    0% {
        opacity: .5;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes plyr-fade-in {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes plyr-fade-in {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.plyr {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    direction: ltr;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: var(--plyr-font-family, inherit);
    font-variant-numeric: tabular-nums;
    font-weight: var(--plyr-font-weight-regular, 400);
    line-height: var(--plyr-line-height, 1.7);
    max-width: 100%;
    min-width: 200px;
    position: relative;
    text-shadow: none;
    -webkit-transition: -webkit-box-shadow .3s ease;
    transition: -webkit-box-shadow .3s ease;
    transition: box-shadow .3s ease;
    transition: box-shadow .3s ease, -webkit-box-shadow .3s ease;
    z-index: 0
}

.plyr video, .plyr audio, .plyr iframe {
    display: block;
    height: 100%;
    width: 100%
}

.plyr button {
    font: inherit;
    line-height: inherit;
    width: auto
}

.plyr:focus {
    outline: 0
}

.plyr--full-ui {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.plyr--full-ui *, .plyr--full-ui *::after, .plyr--full-ui *::before {
    -webkit-box-sizing: inherit;
    box-sizing: inherit
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

.plyr__badge {
    background: var(--plyr-badge-background, hsl(216deg, 15%, 34%));
    border-radius: var(--plyr-badge-border-radius, 2px);
    color: var(--plyr-badge-text-color, #fff);
    font-size: var(--plyr-font-size-badge, 9px);
    line-height: 1;
    padding: 3px 4px
}

.plyr--full-ui ::-webkit-media-text-track-container {
    display: none
}

.plyr__captions {
    -webkit-animation: plyr-fade-in .3s ease;
    animation: plyr-fade-in .3s ease;
    bottom: 0;
    display: none;
    font-size: var(--plyr-font-size-small, 13px);
    left: 0;
    padding: var(--plyr-control-spacing, 10px);
    position: absolute;
    text-align: center;
    -webkit-transition: -webkit-transform .4s ease-in-out;
    transition: -webkit-transform .4s ease-in-out;
    transition: transform .4s ease-in-out;
    transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
    width: 100%
}

.plyr__captions span:empty {
    display: none
}

@media (min-width: 480px) {
    .plyr__captions {
        font-size: var(--plyr-font-size-base, 15px);
        padding: calc(var(--plyr-control-spacing, 10px) * 2)
    }
}

@media (min-width: 768px) {
    .plyr__captions {
        font-size: var(--plyr-font-size-large, 18px)
    }
}

.plyr--captions-active .plyr__captions {
    display: block
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
    -webkit-transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4));
    transform: translateY(calc(var(--plyr-control-spacing, 10px) * -4))
}

.plyr__caption {
    background: var(--plyr-captions-background, rgba(0, 0, 0, 0.8));
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    color: var(--plyr-captions-text-color, #fff);
    line-height: 185%;
    padding: .2em .5em;
    white-space: pre-wrap
}

.plyr__caption div {
    display: inline
}

.plyr__control {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: var(--plyr-control-radius, 3px);
    color: inherit;
    cursor: pointer;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: visible;
    padding: calc(var(--plyr-control-spacing, 10px) * 0.7);
    position: relative;
    -webkit-transition: all .3s ease;
    transition: all .3s ease
}

.plyr__control svg {
    display: block;
    fill: currentColor;
    height: var(--plyr-control-icon-size, 18px);
    pointer-events: none;
    width: var(--plyr-control-icon-size, 18px)
}

.plyr__control:focus {
    outline: 0
}

.plyr__control.plyr__tab-focus {
    outline: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%)))) dotted 3px;
    outline-offset: 2px
}

a.plyr__control {
    text-decoration: none
}

a.plyr__control::after, a.plyr__control::before {
    display: none
}

.plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed, .plyr__control.plyr__control--pressed .label--not-pressed {
    display: none
}

.plyr--full-ui ::-webkit-media-controls {
    display: none
}

.plyr__controls {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: center
}

.plyr__controls .plyr__progress__container {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0
}

.plyr__controls .plyr__controls__item {
    margin-left: calc(var(--plyr-control-spacing, 10px) / 4)
}

.plyr__controls .plyr__controls__item:first-child {
    margin-left: 0;
    margin-right: auto
}

.plyr__controls .plyr__controls__item.plyr__progress__container {
    padding-left: calc(var(--plyr-control-spacing, 10px) / 4)
}

.plyr__controls .plyr__controls__item.plyr__time {
    padding: 0 calc(var(--plyr-control-spacing, 10px) / 2)
}

.plyr__controls .plyr__controls__item.plyr__progress__container:first-child, .plyr__controls .plyr__controls__item.plyr__time:first-child, .plyr__controls .plyr__controls__item.plyr__time + .plyr__time {
    padding-left: 0
}

.plyr__controls:empty {
    display: none
}

.plyr [data-plyr=captions], .plyr [data-plyr=pip], .plyr [data-plyr=airplay], .plyr [data-plyr=fullscreen] {
    display: none
}

.plyr--captions-enabled [data-plyr=captions], .plyr--pip-supported [data-plyr=pip], .plyr--airplay-supported [data-plyr=airplay], .plyr--fullscreen-enabled [data-plyr=fullscreen] {
    display: inline-block
}

.plyr__menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

.plyr__menu .plyr__control svg {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
    display: none
}

.plyr__menu__container {
    -webkit-animation: plyr-popup .2s ease;
    animation: plyr-popup .2s ease;
    background: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
    border-radius: 4px;
    bottom: 100%;
    -webkit-box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    box-shadow: var(--plyr-menu-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    color: var(--plyr-menu-color, hsl(216deg, 15%, 34%));
    font-size: var(--plyr-font-size-base, 15px);
    margin-bottom: 10px;
    position: absolute;
    right: -3px;
    text-align: left;
    white-space: nowrap;
    z-index: 3
}

.plyr__menu__container > div {
    overflow: hidden;
    -webkit-transition: height .35s cubic-bezier(0.4, 0, 0.2, 1), width .35s cubic-bezier(0.4, 0, 0.2, 1);
    transition: height .35s cubic-bezier(0.4, 0, 0.2, 1), width .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.plyr__menu__container::after {
    border: var(--plyr-menu-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    border-top-color: var(--plyr-menu-background, rgba(255, 255, 255, 0.9));
    content: "";
    height: 0;
    position: absolute;
    right: calc(((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7)) - (var(--plyr-menu-arrow-size, 4px) / 2));
    top: 100%;
    width: 0
}

.plyr__menu__container [role=menu] {
    padding: calc(var(--plyr-control-spacing, 10px) * 0.7)
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
    margin-top: 2px
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
    margin-top: 0
}

.plyr__menu__container .plyr__control {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--plyr-menu-color, hsl(216deg, 15%, 34%));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: var(--plyr-font-size-menu, var(--plyr-font-size-small, 13px));
    padding: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 1.5) calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%
}

.plyr__menu__container .plyr__control > span {
    -webkit-box-align: inherit;
    -ms-flex-align: inherit;
    align-items: inherit;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.plyr__menu__container .plyr__control::after {
    border: var(--plyr-menu-item-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.plyr__menu__container .plyr__control--forward {
    padding-right: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4)
}

.plyr__menu__container .plyr__control--forward::after {
    border-left-color: var(--plyr-menu-arrow-color, hsl(216deg, 15%, 52%));
    right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
    border-left-color: currentColor
}

.plyr__menu__container .plyr__control--back {
    font-weight: var(--plyr-font-weight-regular, 400);
    margin: calc(var(--plyr-control-spacing, 10px) * 0.7);
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
    padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 4);
    position: relative;
    width: calc(100% - (calc(var(--plyr-control-spacing, 10px) * 0.7) * 2))
}

.plyr__menu__container .plyr__control--back::after {
    border-right-color: var(--plyr-menu-arrow-color, hsl(216deg, 15%, 52%));
    left: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) * 1.5) - var(--plyr-menu-item-arrow-size, 4px))
}

.plyr__menu__container .plyr__control--back::before {
    background: var(--plyr-menu-back-border-color, hsl(216deg, 15%, 88%));
    -webkit-box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
    box-shadow: 0 1px 0 var(--plyr-menu-back-border-shadow-color, #fff);
    content: "";
    height: 1px;
    left: 0;
    margin-top: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) / 2);
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 100%
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
    border-right-color: currentColor
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
    padding-left: calc(var(--plyr-control-spacing, 10px) * 0.7)
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before, .plyr__menu__container .plyr__control[role=menuitemradio]::after {
    border-radius: 100%
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
    background: rgba(0, 0, 0, .1);
    content: "";
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    height: 16px;
    margin-right: var(--plyr-control-spacing, 10px);
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 16px
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
    background: #fff;
    border: 0;
    height: 6px;
    left: 12px;
    opacity: 0;
    top: 50%;
    -webkit-transform: translateY(-50%) scale(0);
    transform: translateY(-50%) scale(0);
    -webkit-transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: opacity .3s ease, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease;
    transition: transform .3s ease, opacity .3s ease, -webkit-transform .3s ease;
    width: 6px
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
    background: var(--plyr-control-toggle-checked-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%))))
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
    opacity: 1;
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1)
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
    background: rgba(35, 40, 47, .1)
}

.plyr__menu__container .plyr__menu__value {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
    margin-right: calc((calc(var(--plyr-control-spacing, 10px) * 0.7) - 2) * -1);
    overflow: hidden;
    padding-left: calc(calc(var(--plyr-control-spacing, 10px) * 0.7) * 3.5);
    pointer-events: none
}

.plyr--full-ui input[type=range] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-thumb-height, 13px) * 2);
    color: var(--plyr-range-fill-background, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%))));
    display: block;
    height: calc((var(--plyr-range-thumb-active-shadow-width, 3px) * 2) + var(--plyr-range-thumb-height, 13px));
    margin: 0;
    min-width: 0;
    padding: 0;
    -webkit-transition: -webkit-box-shadow .3s ease;
    transition: -webkit-box-shadow .3s ease;
    transition: box-shadow .3s ease;
    transition: box-shadow .3s ease, -webkit-box-shadow .3s ease;
    width: 100%
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px);
    -webkit-transition: -webkit-box-shadow .3s ease;
    transition: -webkit-box-shadow .3s ease;
    transition: box-shadow .3s ease;
    transition: box-shadow .3s ease, -webkit-box-shadow .3s ease;
    -webkit-user-select: none;
    user-select: none;
    background-image: -webkit-gradient(linear, left top, right top, from(currentColor), to(transparent));
    background-image: linear-gradient(to right, currentColor var(--value, 0%), transparent var(--value, 0%))
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    -webkit-box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    width: var(--plyr-range-thumb-height, 13px);
    -webkit-appearance: none;
    appearance: none;
    margin-top: calc((var(--plyr-range-thumb-height, 13px) - var(--plyr-range-track-height, 5px)) / 2 * -1)
}

.plyr--full-ui input[type=range]::-moz-range-track {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px);
    -moz-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -moz-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -moz-transition: all .2s ease;
    transition: all .2s ease;
    width: var(--plyr-range-thumb-height, 13px)
}

.plyr--full-ui input[type=range]::-moz-range-progress {
    background: currentColor;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px)
}

.plyr--full-ui input[type=range]::-ms-track {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none;
    color: rgba(0, 0, 0, 0)
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: calc(var(--plyr-range-track-height, 5px) / 2);
    height: var(--plyr-range-track-height, 5px);
    -ms-transition: box-shadow .3s ease;
    transition: box-shadow .3s ease;
    -ms-user-select: none;
    user-select: none;
    background: currentColor
}

.plyr--full-ui input[type=range]::-ms-thumb {
    background: var(--plyr-range-thumb-background, #fff);
    border: 0;
    border-radius: 100%;
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2));
    height: var(--plyr-range-thumb-height, 13px);
    position: relative;
    -ms-transition: all .2s ease;
    transition: all .2s ease;
    width: var(--plyr-range-thumb-height, 13px);
    margin-top: 0
}

.plyr--full-ui input[type=range]::-ms-tooltip {
    display: none
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
    border: 0
}

.plyr--full-ui input[type=range]:focus {
    outline: 0
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
    outline: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%)))) dotted 3px;
    outline-offset: 2px
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
    outline: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%)))) dotted 3px;
    outline-offset: 2px
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
    outline: var(--plyr-tab-focus-color, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%)))) dotted 3px;
    outline-offset: 2px
}

.plyr__poster {
    background-color: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
    width: 100%;
    z-index: 1
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
    opacity: 1
}

.plyr--youtube.plyr--paused.plyr__poster-enabled:not(.plyr--stopped) .plyr__poster {
    display: none
}

.plyr__time {
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px))
}

.plyr__time + .plyr__time::before {
    content: "⁄";
    margin-right: var(--plyr-control-spacing, 10px)
}

@media (max-width: 767px) {
    .plyr__time + .plyr__time {
        display: none
    }
}

.plyr__tooltip {
    background: var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
    border-radius: var(--plyr-tooltip-radius, 5px);
    bottom: 100%;
    -webkit-box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    color: var(--plyr-tooltip-color, hsl(216deg, 15%, 34%));
    font-size: var(--plyr-font-size-small, 13px);
    font-weight: var(--plyr-font-weight-regular, 400);
    left: 50%;
    line-height: 1.3;
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
    opacity: 0;
    padding: calc(var(--plyr-control-spacing, 10px) / 2) calc(calc(var(--plyr-control-spacing, 10px) / 2) * 1.5);
    pointer-events: none;
    position: absolute;
    -webkit-transform: translate(-50%, 10px) scale(0.8);
    transform: translate(-50%, 10px) scale(0.8);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    transition: opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    transition: transform .2s .1s ease, opacity .2s .1s ease;
    transition: transform .2s .1s ease, opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    white-space: nowrap;
    z-index: 2
}

.plyr__tooltip::before {
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: "";
    height: 0;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr .plyr__control:hover .plyr__tooltip, .plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__tooltip--visible {
    opacity: 1;
    -webkit-transform: translate(-50%, 0) scale(1);
    transform: translate(-50%, 0) scale(1)
}

.plyr .plyr__control:hover .plyr__tooltip {
    z-index: 3
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
    left: 0;
    -webkit-transform: translate(0, 10px) scale(0.8);
    transform: translate(0, 10px) scale(0.8);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
    left: calc((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7))
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
    left: auto;
    right: 0;
    -webkit-transform: translate(0, 10px) scale(0.8);
    transform: translate(0, 10px) scale(0.8);
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
    left: auto;
    right: calc((var(--plyr-control-icon-size, 18px) / 2) + calc(var(--plyr-control-spacing, 10px) * 0.7));
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}

.plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1)
}

.plyr__progress {
    left: calc(var(--plyr-range-thumb-height, 13px) * 0.5);
    margin-right: var(--plyr-range-thumb-height, 13px);
    position: relative
}

.plyr__progress input[type=range], .plyr__progress__buffer {
    margin-left: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
    margin-right: calc(var(--plyr-range-thumb-height, 13px) * -0.5);
    width: calc(100% + var(--plyr-range-thumb-height, 13px))
}

.plyr__progress input[type=range] {
    position: relative;
    z-index: 2
}

.plyr__progress .plyr__tooltip {
    left: 0;
    max-width: 120px;
    overflow-wrap: break-word;
    white-space: normal
}

.plyr__progress__buffer {
    -webkit-appearance: none;
    background: rgba(0, 0, 0, 0);
    border: 0;
    border-radius: 100px;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    margin-top: calc((var(--plyr-range-track-height, 5px) / 2) * -1);
    padding: 0;
    position: absolute;
    top: 50%
}

.plyr__progress__buffer::-webkit-progress-bar {
    background: rgba(0, 0, 0, 0)
}

.plyr__progress__buffer::-webkit-progress-value {
    background: currentColor;
    border-radius: 100px;
    min-width: var(--plyr-range-track-height, 5px);
    -webkit-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-moz-progress-bar {
    background: currentColor;
    border-radius: 100px;
    min-width: var(--plyr-range-track-height, 5px);
    -moz-transition: width .2s ease;
    transition: width .2s ease
}

.plyr__progress__buffer::-ms-fill {
    border-radius: 100px;
    -ms-transition: width .2s ease;
    transition: width .2s ease
}

.plyr--loading .plyr__progress__buffer {
    -webkit-animation: plyr-progress 1s linear infinite;
    animation: plyr-progress 1s linear infinite;
    background-image: linear-gradient(-45deg, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 25%, transparent 25%, transparent 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 50%, var(--plyr-progress-loading-background, rgba(35, 40, 47, 0.6)) 75%, transparent 75%, transparent);
    background-repeat: repeat-x;
    background-size: var(--plyr-progress-loading-size, 25px) var(--plyr-progress-loading-size, 25px);
    color: rgba(0, 0, 0, 0)
}

.plyr--video.plyr--loading .plyr__progress__buffer {
    background-color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25))
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
    background-color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6))
}

.plyr__progress__marker {
    background-color: var(--plyr-progress-marker-background, #fff);
    border-radius: 1px;
    height: var(--plyr-range-track-height, 5px);
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: var(--plyr-progress-marker-width, 3px);
    z-index: 3
}

.plyr__volume {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 110px;
    min-width: 80px;
    position: relative;
    width: 20%
}

.plyr__volume input[type=range] {
    margin-left: calc(var(--plyr-control-spacing, 10px) / 2);
    margin-right: calc(var(--plyr-control-spacing, 10px) / 2);
    position: relative;
    z-index: 2
}

.plyr--is-ios .plyr__volume {
    min-width: 0;
    width: auto
}

.plyr--audio {
    display: block
}

.plyr--audio .plyr__controls {
    background: var(--plyr-audio-controls-background, #fff);
    border-radius: inherit;
    color: var(--plyr-audio-control-color, hsl(216deg, 15%, 34%));
    padding: var(--plyr-control-spacing, 10px)
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
    background: var(--plyr-audio-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%))));
    color: var(--plyr-audio-control-color-hover, #fff)
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)))
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)))
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
    background-color: var(--plyr-audio-range-track-background, var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6)))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
    -webkit-box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1));
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1))
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(35, 40, 47, 0.1))
}

.plyr--audio .plyr__progress__buffer {
    color: var(--plyr-audio-progress-buffered-background, rgba(193, 200, 209, 0.6))
}

.plyr--video {
    background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
    overflow: hidden
}

.plyr--video.plyr--menu-open {
    overflow: visible
}

.plyr__video-wrapper {
    background: var(--plyr-video-background, var(--plyr-video-background, rgb(0, 0, 0)));
    height: 100%;
    margin: auto;
    overflow: hidden;
    position: relative;
    width: 100%
}

.plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
    aspect-ratio: 16/9
}

@supports not (aspect-ratio: 16/9) {
    .plyr__video-embed, .plyr__video-wrapper--fixed-ratio {
        height: 0;
        padding-bottom: 56.25%;
        position: relative
    }
}

.plyr__video-embed iframe, .plyr__video-wrapper--fixed-ratio video {
    border: 0;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
    padding-bottom: 240%;
    position: relative;
    -webkit-transform: translateY(-38.28125%);
    transform: translateY(-38.28125%)
}

.plyr--video .plyr__controls {
    background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    bottom: 0;
    color: var(--plyr-video-control-color, #fff);
    left: 0;
    padding: calc(var(--plyr-control-spacing, 10px) / 2);
    padding-top: calc(var(--plyr-control-spacing, 10px) * 2);
    position: absolute;
    right: 0;
    -webkit-transition: opacity .4s ease-in-out, -webkit-transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, -webkit-transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out;
    transition: opacity .4s ease-in-out, transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
    z-index: 3
}

@media (min-width: 480px) {
    .plyr--video .plyr__controls {
        padding: var(--plyr-control-spacing, 10px);
        padding-top: calc(var(--plyr-control-spacing, 10px) * 3.5)
    }
}

.plyr--video.plyr--hide-controls .plyr__controls {
    opacity: 0;
    pointer-events: none;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%))));
    color: var(--plyr-video-control-color-hover, #fff)
}

.plyr__control--overlaid {
    background: var(--plyr-video-control-background-hover, var(--plyr-color-main, var(--plyr-color-main, hsl(198deg, 100%, 50%))));
    border: 0;
    border-radius: 100%;
    color: var(--plyr-video-control-color, #fff);
    display: none;
    left: 50%;
    opacity: .9;
    padding: calc(var(--plyr-control-spacing, 10px) * 1.5);
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: .3s;
    transition: .3s;
    z-index: 2
}

.plyr__control--overlaid svg {
    left: 2px;
    position: relative
}

.plyr__control--overlaid:hover, .plyr__control--overlaid:focus {
    opacity: 1
}

.plyr--playing .plyr__control--overlaid {
    opacity: 0;
    visibility: hidden
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
    display: block
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)))
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)))
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
    background-color: var(--plyr-video-range-track-background, var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25)))
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
    -webkit-box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5));
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5))
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5))
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
    box-shadow: var(--plyr-range-thumb-shadow, 0 1px 1px rgba(35, 40, 47, 0.15), 0 0 0 1px rgba(35, 40, 47, 0.2)), 0 0 0 var(--plyr-range-thumb-active-shadow-width, 3px) var(--plyr-audio-range-thumb-active-shadow-color, rgba(255, 255, 255, 0.5))
}

.plyr--video .plyr__progress__buffer {
    color: var(--plyr-video-progress-buffered-background, rgba(255, 255, 255, 0.25))
}

.plyr:-webkit-full-screen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-ms-fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:fullscreen {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%
}

.plyr:-webkit-full-screen video {
    height: 100%
}

.plyr:-ms-fullscreen video {
    height: 100%
}

.plyr:fullscreen video {
    height: 100%
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr:-webkit-full-screen.plyr--hide-controls {
    cursor: none
}

.plyr:-ms-fullscreen.plyr--hide-controls {
    cursor: none
}

.plyr:fullscreen.plyr--hide-controls {
    cursor: none
}

@media (min-width: 1024px) {
    .plyr:-webkit-full-screen .plyr__captions {
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:-ms-fullscreen .plyr__captions {
        font-size: var(--plyr-font-size-xlarge, 21px)
    }

    .plyr:fullscreen .plyr__captions {
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr--fullscreen-fallback {
    background: #000;
    border-radius: 0 !important;
    height: 100%;
    margin: 0;
    width: 100%;
    bottom: 0;
    display: block;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10000000
}

.plyr--fullscreen-fallback video {
    height: 100%
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
    display: block
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
    display: none
}

.plyr--fullscreen-fallback.plyr--hide-controls {
    cursor: none
}

@media (min-width: 1024px) {
    .plyr--fullscreen-fallback .plyr__captions {
        font-size: var(--plyr-font-size-xlarge, 21px)
    }
}

.plyr__ads {
    border-radius: inherit;
    bottom: 0;
    cursor: pointer;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.plyr__ads > div, .plyr__ads > div iframe {
    height: 100%;
    position: absolute;
    width: 100%
}

.plyr__ads::after {
    background: #23282f;
    border-radius: 2px;
    bottom: var(--plyr-control-spacing, 10px);
    color: #fff;
    content: attr(data-badge-text);
    font-size: 11px;
    padding: 2px 6px;
    pointer-events: none;
    position: absolute;
    right: var(--plyr-control-spacing, 10px);
    z-index: 3
}

.plyr__ads:empty::after {
    display: none
}

.plyr__cues {
    background: currentColor;
    display: block;
    height: var(--plyr-range-track-height, 5px);
    left: 0;
    opacity: .8;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 3px;
    z-index: 3
}

.plyr__preview-thumb {
    background-color: var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
    border-radius: var(--plyr-tooltip-radius, 5px);
    bottom: 100%;
    -webkit-box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    box-shadow: var(--plyr-tooltip-shadow, 0 1px 2px rgba(0, 0, 0, 0.15));
    margin-bottom: calc(calc(var(--plyr-control-spacing, 10px) / 2) * 2);
    opacity: 0;
    padding: 3px;
    pointer-events: none;
    position: absolute;
    -webkit-transform: translate(0, 10px) scale(0.8);
    transform: translate(0, 10px) scale(0.8);
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition: opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    transition: opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    transition: transform .2s .1s ease, opacity .2s .1s ease;
    transition: transform .2s .1s ease, opacity .2s .1s ease, -webkit-transform .2s .1s ease;
    z-index: 2
}

.plyr__preview-thumb--is-shown {
    opacity: 1;
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1)
}

.plyr__preview-thumb::before {
    border-left: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    border-right: var(--plyr-tooltip-arrow-size, 4px) solid rgba(0, 0, 0, 0);
    border-top: var(--plyr-tooltip-arrow-size, 4px) solid var(--plyr-tooltip-background, rgba(255, 255, 255, 0.9));
    bottom: calc(var(--plyr-tooltip-arrow-size, 4px) * -1);
    content: "";
    height: 0;
    left: calc(50% + var(--preview-arrow-offset));
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    z-index: 2
}

.plyr__preview-thumb__image-container {
    background: #c1c8d1;
    border-radius: calc(var(--plyr-tooltip-radius, 5px) - 1px);
    overflow: hidden;
    position: relative;
    z-index: 0
}

.plyr__preview-thumb__image-container img, .plyr__preview-thumb__image-container::after {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr__preview-thumb__image-container::after {
    border-radius: inherit;
    -webkit-box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15);
    content: "";
    pointer-events: none
}

.plyr__preview-thumb__image-container img {
    max-height: none;
    max-width: none
}

.plyr__preview-thumb__time-container {
    background: var(--plyr-video-controls-background, linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75)));
    border-bottom-left-radius: calc(var(--plyr-tooltip-radius, 5px) - 1px);
    border-bottom-right-radius: calc(var(--plyr-tooltip-radius, 5px) - 1px);
    bottom: 0;
    left: 0;
    line-height: 1.1;
    padding: 20px 6px 6px;
    position: absolute;
    right: 0;
    z-index: 3
}

.plyr__preview-thumb__time-container span {
    color: #fff;
    font-size: var(--plyr-font-size-time, var(--plyr-font-size-small, 13px))
}

.plyr__preview-scrubbing {
    bottom: 0;
    -webkit-filter: blur(1px);
    filter: blur(1px);
    height: 100%;
    left: 0;
    margin: auto;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    width: 100%;
    z-index: 1
}

.plyr__preview-scrubbing--is-shown {
    opacity: 1
}

.plyr__preview-scrubbing img {
    height: 100%;
    left: 0;
    max-height: none;
    max-width: none;
    -o-object-fit: contain;
    object-fit: contain;
    position: absolute;
    top: 0;
    width: 100%
}

.plyr--no-transition {
    -webkit-transition: none !important;
    transition: none !important
}

.plyr__sr-only {
    clip: rect(1px, 1px, 1px, 1px);
    overflow: hidden;
    border: 0 !important;
    height: 1px !important;
    padding: 0 !important;
    position: absolute !important;
    width: 1px !important
}

.plyr [hidden] {
    display: none !important
}

[data-fade-in=block] {
    opacity: 0;
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    -webkit-transition: opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), opacity .9s ease-in;
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1)
}

[data-fade-in=block].fade-in--reveal {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

[data-fade-in=text] .fade-in__item {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translateY(110%);
    transform: translateY(110%);
    -webkit-transition: opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1);
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), opacity .9s ease-in;
    transition: transform 1s cubic-bezier(0.075, 0.82, 0.165, 1), opacity .9s ease-in, -webkit-transform 1s cubic-bezier(0.075, 0.82, 0.165, 1)
}

[data-fade-in=text] .fade-in__item--list-item {
    display: list-item
}

[data-fade-in=text].fade-in--reveal .fade-in__item {
    opacity: 1;
    -webkit-transform: translateY(0%);
    transform: translateY(0%)
}

.plyr {
    --focal-point: 50% 50%;
    --plyr-color-main: #fff;
    --plyr-range-track-height: 2px;
    --plyr-control-spacing: 24px;
    --plyr-video-control-background-hover: rgba(0, 0, 0, 0);
    --plyr-video-controls-background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.25));
    --plyr-range-thumb-height: 10px;
    --plyr-range-thumb-shadow: none
}

.plyr__wrapper--inverted .plyr {
    --plyr-color-main: #2E2A2B;
    --plyr-captions-text-color: #2E2A2B;
    --plyr-badge-text-color: #2E2A2B;
    --plyr-video-control-color: #2E2A2B;
    --plyr-video-control-color-hover: #2E2A2B;
    --plyr-audio-controls-background: #2E2A2B;
    --plyr-audio-control-color-hover: #2E2A2B;
    --plyr-menu-border-shadow-color: #2E2A2B;
    --plyr-range-thumb-background: #2E2A2B;
    --plyr-video-range-track-background: rgba(46, 42, 43, 0.25);
    --plyr-video-controls-background: linear-gradient(rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.25))
}

.plyr__poster {
    background-position: var(--focal-point);
    background-size: cover
}

.plyr__controls__item.plyr__control {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.plyr--pip-supported [data-plyr=pip] svg {
    height: 20px;
    width: 26px
}

.plyr [data-plyr=fullscreen] svg {
    height: 23px;
    width: 23px
}

.plyr--video .plyr__controls {
    padding-top: .5rem
}

@media only screen and (max-width: 649px) {
    .plyr--video .plyr__controls {
        padding-top: 0
    }
}

@media only screen and (max-width: 799px) {
    .plyr__control {
        padding: .75rem
    }
}

@media only screen and (max-width: 649px) {
    .plyr__control {
        padding: .5rem
    }
}

@media only screen and (max-width: 449px) {
    .plyr__control {
        padding: .375rem
    }
}

.plyr__control[data-plyr=pip]:not(.plyr__control--overlaid), .plyr__control[data-plyr=fullscreen]:not(.plyr__control--overlaid), .plyr__control[data-plyr=play]:not(.plyr__control--overlaid) {
    -webkit-transform: scale(0.8);
    transform: scale(0.8)
}

.plyr [data-plyr=play] svg.icon--pressed {
    -webkit-transform: scale(1.3);
    transform: scale(1.3)
}

.plyr__control[data-plyr=mute] svg {
    height: 23px;
    width: 23px
}

.plyr__time {
    font-family: "Good Sans";
    font-variant-numeric: normal;
    font-weight: 600
}

.slideshow {
    height: calc(100vh - 5rem);
    overflow: hidden;
    position: relative;
    width: 100%
}

@media only screen and (max-width: 979px) {
    .slideshow {
        height: calc(50vh - 5rem)
    }
}

.slideshow--hover-left {
    cursor: url("../img/arrow-left.svg"), auto
}

.slideshow--hover-right {
    cursor: url("../img/arrow-right.svg"), auto
}

@media only screen and (max-width: 1279px) {
    .slideshow--hover-left, .slideshow--hover-right {
        cursor: default
    }
}

.slideshow__prop {
    visibility: hidden
}

.slideshow__slide {
    height: 100%;
    max-width: none;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0
}

.slideshow__slide img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.slideshow__full-size-video {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.slideshow__slide--behind, .slideshow__slide--top {
    -webkit-transition: opacity .6s ease;
    transition: opacity .6s ease
}

.slideshow__slide--behind {
    z-index: 1
}

.slideshow__slide--top {
    opacity: 1;
    z-index: 2
}
