@charset "UTF-8";

/* Font Face */
/* FKScreamer */
@font-face {
    font-family: "FKScreamer";
    src: url("fonts/FKScreamer-Bold.woff2") format("woff2"), url("fonts/FKScreamer-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap
}

/* SourceSansPro */
@font-face {
    font-family: "SourceSansPro";
    src: url("fonts/SourceSansPro-Regular.woff2") format("woff2"), url("fonts/SourceSansPro-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: "SourceSansPro";
    src: url("fonts/SourceSansPro-Bold.woff2") format("woff2"), url("fonts/SourceSansPro-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap
}

@font-face {
    font-family: "SourceSansPro";
    src: url("fonts/SourceSansPro-SemiBold.woff2") format("woff2"), url("fonts/SourceSansPro-SemiBold.woff") format("woff");
    font-style: normal;
    font-weight: 500;
    font-display: swap
}

/* RobotoMono */
@font-face {
    font-family: "RobotoMono";
    src: url("fonts/RobotoMono-Regular.woff2") format("woff2"), url("fonts/RobotoMono-Regular.woff") format("woff");
    font-style: normal;
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: "RobotoMono";
    src: url("fonts/RobotoMono-Bold.woff2") format("woff2"), url("fonts/RobotoMono-Bold.woff") format("woff");
    font-style: normal;
    font-weight: 700;
    font-display: swap
}

/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1600,18,1.2,10,2,&s=0.75|0.5,1.5|2|3|4|6|7|8|9|10|11,s-l&g=s,l,xl,12 */
:root {
    --step--2: clamp(0.69rem, calc(0.67rem + 0.11vw), 0.78rem);
    --step--1: clamp(0.83rem, calc(0.81rem + 0.13vw), 0.94rem);
    --step-0: clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
    --step-1: clamp(1.2rem, calc(1.16rem + 0.19vw), 1.35rem);
    --step-2: clamp(1.44rem, calc(1.4rem + 0.23vw), 1.62rem);
    --step-3: clamp(1.73rem, calc(1.67rem + 0.27vw), 1.94rem);
    --step-4: clamp(2.07rem, calc(2.01rem + 0.32vw), 2.33rem);
    --step-5: clamp(2.49rem, calc(2.41rem + 0.39vw), 2.8rem);
    --step-6: clamp(2.99rem, calc(2.89rem + 0.47vw), 3.36rem);
    --step-7: clamp(3.58rem, calc(3.47rem + 0.56vw), 4.03rem);
    --step-8: clamp(4.3rem, calc(4.17rem + 0.67vw), 4.84rem);
    --step-9: clamp(5.16rem, calc(5rem + 0.81vw), 5.81rem);
    --step-10: clamp(6.19rem, calc(6rem + 0.97vw), 6.97rem);
    /* grid */
    --space-2xs: clamp(0.5rem, calc(0.48rem + 0.08vw), 0.56rem);
    --space-xs: clamp(0.75rem, calc(0.72rem + 0.16vw), 0.88rem);
    --space-s: clamp(1rem, calc(0.97rem + 0.16vw), 1.13rem);
    --space-m: clamp(1.5rem, calc(1.45rem + 0.23vw), 1.69rem);
    --space-l: clamp(2rem, calc(1.94rem + 0.31vw), 2.25rem);
    --space-xl: clamp(3rem, calc(2.91rem + 0.47vw), 3.38rem);
    --space-2xl: clamp(4rem, calc(3.88rem + 0.63vw), 4.5rem);
    --space-3xl: clamp(6rem, calc(5.81rem + 0.94vw), 6.75rem);
    --space-4xl: clamp(7rem, calc(6.78rem + 1.09vw), 7.88rem);
    --space-5xl: clamp(8rem, calc(7.75rem + 1.25vw), 9rem);
    --space-6xl: clamp(9rem, calc(8.72rem + 1.41vw), 10.13rem);
    --space-7xl: clamp(10rem, calc(9.69rem + 1.56vw), 11.25rem);
    --space-8xl: clamp(11rem, calc(10.66rem + 1.72vw), 12.38rem);
    /* One-up pairs */
    --space-2xs-xs: clamp(0.5rem, calc(0.41rem + 0.47vw), 0.88rem);
    --space-xs-s: clamp(0.75rem, calc(0.66rem + 0.47vw), 1.13rem);
    --space-s-m: clamp(1rem, calc(0.83rem + 0.86vw), 1.69rem);
    --space-m-l: clamp(1.5rem, calc(1.31rem + 0.94vw), 2.25rem);
    --space-l-xl: clamp(2rem, calc(1.66rem + 1.72vw), 3.38rem);
    --space-xl-2xl: clamp(3rem, calc(2.63rem + 1.88vw), 4.5rem);
    --space-2xl-3xl: clamp(4rem, calc(3.31rem + 3.44vw), 6.75rem);
    --space-3xl-4xl: clamp(6rem, calc(5.53rem + 2.34vw), 7.88rem);
    --space-4xl-5xl: clamp(7rem, calc(6.5rem + 2.5vw), 9rem);
    --space-5xl-6xl: clamp(8rem, calc(7.47rem + 2.66vw), 10.13rem);
    --space-6xl-7xl: clamp(9rem, calc(8.44rem + 2.81vw), 11.25rem);
    --space-7xl-8xl: clamp(10rem, calc(9.41rem + 2.97vw), 12.38rem);
    /* Custom pairs */
    --space-s-l: clamp(1rem, calc(0.69rem + 1.56vw), 2.25rem)
}

:root {
    --initial-vh: 1vh;
    --actual-vh: 1vh;
    --font-family-heading: "FKScreamer", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
    --font-family-body: "SourceSansPro", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
    --font-family-mono: "RobotoMono", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell, "Helvetica Neue", sans-serif;
    --body-font-size: var(--step-0);
    --body-font-weight: 400;
    --body-line-height: 1.4;
    --heading-line-height: 0.9;
    --stroke-width: 2px;
    --body-color: var(--color-black);
    --logo-height: calc(var(--space-2xl) * 1);
    --logo-width: calc(120 / 81 * var(--logo-height));
    --color-placeholder: var(--color-gray-01);
    --column-width: calc((100vw - var(--container-padding) * 2 - var(--gutter) * 11) / 12);
    --column-width-gutter: calc(var(--column-width) + var(--gutter));
    --column-width-2-gutter: calc(var(--column-width) + var(--gutter) * 2);
    --padding-bg-image: var(--space-5xl) 0;
    --site-header-height: calc(var(--logo-height) + var(--container-padding) * 2);
    --banner-padding: 8px;
    --banner-radius: 10px;
    --container-padding: 1rem;
    --gutter: 1rem;
    --color-black: #1b1d1c;
    --color-white: #fff;
    --color-yellow: #ffe458;
    --color-gray-01: #e5e5dc;
    --color-gray-02: #cacac1;
    --color-gray-03: #898983;
    --color-gray-04: #4f4f48;
    --color-orange: #be69b9
}

@media (min-width: 768px) {
    :root {
        --container-padding: 3vw
    }
}

@media (min-width: 768px) {
    :root {
        --gutter: 1.25vw
    }
}

@media (min-width: 768px) {
    :root {
        --logo-height: var(--space-2xl);
        --site-header-height: calc(var(--logo-height) + var(--container-padding) * 2)
    }
}

@media (min-width: 992px) {
    :root {
        --padding-bg-image: 40vh 0
    }
}

:root.theme-black {
    --color-placeholder: var(--color-gray-04)
}

:root .c-overlay {
    --color-placeholder: var(--color-gray-01) !important
}

*,
*::before,
*::after {
    box-sizing: border-box
}

* {
    margin: 0;
    padding: 0
}

body {
    color: var(--body-color, #000);
    font-family: var(--font-family-body);
    font-size: var(--body-font-size);
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    line-height: var(--body-line-height);
    background-color: var(--body-color-background, #fff);
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

img,
picture,
video,
canvas,
svg {
    display: block;
    width: 100%;
    max-width: 100%
}

article,
aside,
figure,
footer,
header,
aside,
main,
nav {
    display: block
}

input,
button,
select,
optgroup,
textarea {
    color: var(--body-color);
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit
}

ul[role=tablist],
ol[role=tablist],
ul[role=list],
ol[role=list] {
    list-style: none
}

a {
    color: currentcolor;
    text-decoration: none;
    outline: none
}

a:hover {
    text-decoration: underline
}

button,
[role=button] {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    background: none;
    border: none;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

textarea {
    resize: vertical
}

fieldset {
    min-width: 0;
    border: 0
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word
}

svg {
    overflow: visible
}

iframe {
    border: none
}

dfn {
    font-style: normal
}

abbr {
    text-decoration: none
}

html {
    scroll-behavior: smooth
}

html.has-scroll-smooth {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

/* Fix mobile scrolling issues - override position fixed */
@media (max-width: 991.98px) {
    html.has-scroll-smooth {
        position: static !important;
    }
}

html.has-scroll-smooth [data-scroll-speed] {
    will-change: transform
}

html.no-transition * {
    transition: none
}

html.is-transitioning * {
    pointer-events: none
}

html:not(.dom-loaded) * {
    transition: none !important
}

html.is-loading *,
html.is-loading *::after,
html.is-loading *::before {
    cursor: wait !important
}

html:not(.has-scroll-smooth, .body-scroll-locked) {
    overflow-y: scroll;
    overscroll-behavior-y: none
}

/* Ensure mobile can always scroll */
@media (max-width: 991.98px) {
    html {
        overflow-y: scroll !important;
    }
    
    body {
        overflow-y: scroll !important;
    }
}

html body {
    --body-color-background: var(--color-white);
    overscroll-behavior-y: none;
    transition: color 1s 0s, opacity 0s
}

html.is-transitioning body {
    transition: color 1s 1s
}

html.theme-black body {
    --body-color: var(--color-white)
}

html:not(.dom-loaded) body {
    opacity: 0
}

a {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

a[href^="mailto:"] {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    user-select: auto
}

[data-bg] {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 0;
    transition: opacity 1s
}

[data-bg].lazyloaded {
    opacity: 1
}

.c-titles__list-item,
.c-site-header__menu-top a,
.c-site-footer__title,
.c-banner-hp__service-item,
h1:not(.no-heading),
h2:not(.no-heading),
h3:not(.no-heading),
h4:not(.no-heading),
h5:not(.no-heading),
h6:not(.no-heading) {
    font-family: var(--font-family-heading);
    font-weight: 700;
    line-height: var(--heading-line-height, calc(1.08em + 4px));
    text-transform: uppercase
}

.theme-black .c-titles__list-item,
.theme-black .c-site-header__menu-top a,
.c-site-header__menu-top .theme-black a,
.theme-black .c-site-footer__title,
.theme-black .c-banner-hp__service-item,
.theme-black h1:not(.no-heading),
.theme-black h2:not(.no-heading),
.theme-black h3:not(.no-heading),
.theme-black h4:not(.no-heading),
.theme-black h5:not(.no-heading),
.theme-black h6:not(.no-heading) {
    color: var(--color-gray-01);
    transition: color 1s 0s
}

.c-overlay .c-titles__list-item,
.c-overlay .c-site-header__menu-top a,
.c-site-header__menu-top .c-overlay a,
.c-overlay .c-site-footer__title,
.c-overlay .c-banner-hp__service-item,
.c-overlay h1:not(.no-heading),
.c-overlay h2:not(.no-heading),
.c-overlay h3:not(.no-heading),
.c-overlay h4:not(.no-heading),
.c-overlay h5:not(.no-heading),
.c-overlay h6:not(.no-heading) {
    color: var(--color-black) !important
}

.f-mono {
    font-family: var(--font-family-mono)
}

h1 {
    font-size: var(--step-10)
}

h2 {
    font-size: var(--step-7)
}

h3 {
    font-size: var(--step-6)
}

h4 {
    font-size: var(--step-5)
}

h5 {
    font-size: var(--step-4)
}

h6 {
    font-size: var(--step-3)
}

.theme-light,
[data-theme=light] {
    --theme-color-bg: var(--color-white);
    --theme-color-text: var(--color-black)
}

.theme-dark,
[data-theme=dark] {
    --theme-color-bg: var(--color-black);
    --theme-color-text: var(--color-white)
}

.o-button {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    pointer-events: auto;
    display: block;
    padding: 0.5em 0.84em;
    font-family: var(--font-family-mono);
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
    background: var(--color-gray-01);
    border-radius: 7px;
    transition: background 0.25s
}

@media (min-width: 768px) {
    .o-button {
        padding: 0.35em 0.6em
    }
}

.o-button:hover {
    cursor: pointer;
    background-color: var(--color-orange)
}

.o-button.o-button--js-hover:hover {
    cursor: unset;
    background: var(--color-gray-01)
}

.o-button-arrow {
    position: relative;
    display: inline-block;
    overflow: hidden;
    margin-left: var(--space-s);
    padding: calc(var(--space-xs) * 0.75) calc(var(--space-2xs) * 0.8);
    color: var(--color-black);
    font-size: 0;
    line-height: 0;
    background: var(--color-gray-01);
    border-radius: 7px;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform-origin: 0 50%
}

.c-site-footer__title .o-button-arrow {
    transform-origin: 0 100%
}

.o-button-arrow .o-icon {
    --left: calc(var(--step-0) + var(--space-xs) * 0.75 - 7px);
    --top: calc(var(--step-0) + var(--space-2xs) * 0.8);
    position: relative;
    z-index: 2;
    display: block
}

.o-button-arrow .o-icon:last-child {
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s 0.15s
}

a.link-active .o-button-arrow .o-icon:last-child {
    opacity: 0;
    transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06), opacity 0.25s;
    transform: translate(var(--left), calc(var(--top) * -1))
}

@media (hover: hover) {
    a:hover .o-button-arrow .o-icon:last-child {
        opacity: 0;
        transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06), opacity 0.25s;
        transform: translate(var(--left), calc(var(--top) * -1))
    }
}

.o-button-arrow .o-icon:first-child {
    position: absolute;
    opacity: 0;
    transition: transform 0.75s cubic-bezier(0.755, 0.05, 0.855, 0.06), opacity 0.25s;
    transform: translate(calc(var(--left) * -1), var(--top))
}

a.link-active .o-button-arrow .o-icon:first-child {
    opacity: 1;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s 0.15s;
    transform: translate(0, 0)
}

@media (hover: hover) {
    a:hover .o-button-arrow .o-icon:first-child {
        opacity: 1;
        transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.25s 0.15s;
        transform: translate(0, 0)
    }
}

.o-button-arrow::before,
.o-button-arrow::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: none;
    content: "";
    transform: rotate(0deg) scale(2.4, 1.2) translate(15%, 90%);
    transform-origin: 100% 0;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}

a.link-active .o-button-arrow::before,
a.link-active .o-button-arrow::after {
    transform: rotate(20deg) scale(2.4, 1.25) translate(15%, 5%)
}

@media (hover: hover) {

    a:hover .o-button-arrow::before,
    a:hover .o-button-arrow::after {
        transform: rotate(20deg) scale(2.4, 1.25) translate(15%, 5%)
    }
}

.o-button-arrow::before {
    background: var(--color-white);
    transition-delay: 0.1s
}

a.link-active .o-button-arrow::before {
    transition-delay: 0s
}

@media (hover: hover) {
    a:hover .o-button-arrow::before {
        transition-delay: 0s
    }
}

.o-button-arrow::after {
    background: var(--color-orange);
    transition-delay: 0s
}

a.link-active .o-button-arrow::after {
    transition-delay: 0.1s
}

@media (hover: hover) {
    a:hover .o-button-arrow::after {
        transition-delay: 0.1s
    }
}

a.link-active .o-button-arrow {
    transform: scale(1.2)
}

@media (hover: hover) {
    a:hover .o-button-arrow {
        transform: scale(1.2)
    }
}

.o-container {
    width: 100%;
    max-width: var(--grid-max-width);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--container-padding);
    padding-left: var(--container-padding)
}

.o-cta {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    display: inline-flex;
    align-items: center;
    font-family: var(--font-family-mono);
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase
}

.o-cta:hover {
    text-decoration: none
}

.o-cta__text-wrapper {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 1em
}

.o-cta__text-wrapper span {
    display: block;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translate3d(0, 0, 0);
    transform-origin: 100% 50%
}

.o-cta__text-wrapper span:last-child {
    transform: translate(0, 0) rotate(-7deg)
}

a.link-active .o-cta__text-wrapper span:first-child {
    transform: translateY(-100%) rotate(7deg)
}

a.link-active .o-cta__text-wrapper span:last-child {
    transform: translateY(-100%)
}

@media (hover: hover) {
    a:hover .o-cta__text-wrapper span:first-child {
        transform: translateY(-100%) rotate(7deg)
    }

    a.link-active .o-cta__text-wrapper span:last-child,
    a:hover .o-cta__text-wrapper span:last-child {
        transform: translateY(-100%)
    }
}

.o-email {
    overflow: hidden
}

@media (hover: hover) {
    .o-email {
        --height: calc(var(--body-line-height) * 1em);
        display: inline-block;
        height: var(--height)
    }

    .o-email span {
        pointer-events: none;
        display: block;
        transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
    }

    .o-email span::after {
        display: block;
        content: "Email copied :)"
    }

    .o-email.clicked {
        pointer-events: none
    }

    .o-email.clicked span {
        transform: translateY(calc(-1 * var(--height)))
    }
}

.o-figure {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: calc(var(--height, 3) / var(--width, 4) * 100%);
    will-change: transform
}

.o-figure video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.o-figure__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: center/cover no-repeat;
    opacity: 0.001;
    transition: opacity 2s
}

.video-loaded+.o-figure__image {
    opacity: 0 !important
}

.is-inview .o-figure__image.lazyloaded {
    opacity: 1
}

.o-figure__image.is-inview.lazyloaded {
    opacity: 1
}

img {
    opacity: 0.001;
    transition: opacity 2s
}

img.lazyloaded {
    opacity: 1
}

.o-grid {
    display: grid;
    grid-template-rows: repeat(var(--rows, 1), 1fr);
    grid-template-columns: repeat(var(--columns, 12), 1fr);
    gap: var(--gutter-y, var(--gutter)) var(--gutter-x, var(--gutter))
}

.o-grid>* {
    grid-column: auto/span var(--column-span, 12);
    grid-column-start: var(--column-start, auto)
}

.o-col-1 {
    --column-span: 1
}

.o-col-6 {
    --column-span: 6
}

.o-hover-roll {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: calc(1em * var(--body-line-height))
}

.o-hover-roll span {
    display: block;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translate3d(0, 0, 0);
    transform-origin: 100% 50%
}

.o-hover-roll span:last-child {
    transform: translate(0, 0) rotate(-7deg)
}

@media (hover: hover) {

    a.link-active .o-hover-roll span:first-child,
    .o-hover-roll:hover span:first-child {
        transform: translateY(-100%) rotate(7deg)
    }

    a.link-active .o-hover-roll span:last-child,
    .o-hover-roll:hover span:last-child {
        transform: translateY(-100%)
    }
}

.o-hover-underline:not(.has-split-text) {
    position: relative;
    display: inline-block
}

.o-hover-underline:not(.has-split-text)::before {
    position: absolute;
    z-index: -1;
    bottom: 0.2em;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentcolor;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    content: "";
    transform: scaleX(0);
    transform-origin: 100% 50%;
    will-change: transform
}

@media (hover: hover) {
    .o-hover-underline:not(.has-split-text):hover::before {
        transform: scaleX(1);
        transform-origin: 0 50%
    }
}

.o-hover-underline .o-text-reveal__wrapper {
    position: relative;
    display: inline-block;
    align-self: flex-start
}

.o-hover-underline .o-text-reveal__wrapper::before {
    position: absolute;
    z-index: -1;
    bottom: 0.2em;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentcolor;
    transition: transform 0.5s calc(var(--index) * 0.1s) cubic-bezier(0.23, 1, 0.32, 1);
    content: "";
    transform: scaleX(0);
    transform-origin: 100% 50%;
    will-change: transform
}

@media (hover: hover) {
    .o-hover-underline:hover .o-text-reveal__wrapper::before {
        transform: scaleX(1);
        transform-origin: 0 50%
    }
}

.o-icon {
    display: inline-block;
    width: var(--step-0);
    height: var(--step-0);
    stroke-width: var(--stroke-width);
    stroke: currentcolor;
    fill: none
}

.o-icon--linkedin,
.o-icon--vimeo,
.o-icon--instagram {
    width: calc(var(--step-0) + 2px);
    height: calc(var(--step-0) + 2px);
    fill: currentcolor;
    stroke: none
}

.o-icon--logo-condensed {
    width: 49px;
    height: 36px;
    fill: currentcolor;
    stroke: none
}

.o-icon__svg {
    width: 100%;
    height: 100%
}

.o-reveal-childs>*,
.o-reveal {
    transform: translateY(var(--reveal-y, var(--space-l)));
    opacity: 0.001;
    transition: transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 1.5s;
    transition-delay: calc(var(--index-delay, 0.075s) * var(--index, 0) + var(--stagger-delay, 0.25s) * var(--stagger, 0));
    will-change: opacity, transform
}

.dom-loaded .is-inview.o-reveal-childs>*,
.dom-loaded .is-inview .o-reveal-childs>*,
.dom-loaded .is-inview.o-reveal,
.dom-loaded .is-inview .o-reveal {
    transform: none;
    opacity: 1
}

.o-reveal-childs>*:nth-child(n+10) {
    --stagger: 10
}

.o-reveal-childs>*:nth-child(4) {
    --stagger: 4
}

.o-reveal-childs>*:nth-child(5) {
    --stagger: 5
}

.o-reveal-childs>*:nth-child(6) {
    --stagger: 6
}

.o-reveal-childs>*:nth-child(7) {
    --stagger: 7
}

.o-reveal-childs>*:nth-child(8) {
    --stagger: 8
}

.o-reveal-childs>*:nth-child(9) {
    --stagger: 9
}

.o-reveal-childs>*:nth-child(10) {
    --stagger: 10
}

.o-tag-list {
    display: flex
}

.o-tag-list>* {
    display: flex;
    align-items: center
}

.o-tag-list>*:not(:first-child) {
    position: relative;
    margin-left: calc(5px + 1rem)
}

.o-tag-list>*:not(:first-child)::after {
    position: absolute;
    pointer-events: none;
    top: 50%;
    left: calc(-0.5rem - 5px);
    display: block;
    width: 5px;
    height: 5px;
    background: currentcolor;
    border-radius: 50%;
    transform: translateY(-50%);
    content: ""
}

.o-text-reveal {
    --speed: 1s
}

.o-text-reveal:not(.has-split-text) {
    visibility: hidden
}

.o-text-reveal__wrapper {
    overflow: hidden
}

.o-text-reveal__item {
    will-change: transform;
    transition: transform var(--speed) cubic-bezier(0.23, 1, 0.32, 1) calc(var(--index, 0) * 0.15s);
    transform: translateY(110%)
}

.dom-loaded .is-inview .o-text-reveal__item {
    transform: translateY(0%)
}

.o-video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

html.has-scroll-smooth {
    overflow: hidden
}

/* Fix mobile scrolling issues */
@media (max-width: 991.98px) {
    html.has-scroll-smooth {
        position: static !important;
        overflow: auto !important;
    }
    
    html.has-scroll-smooth body {
        overflow: auto !important;
    }
    
    .has-scroll-smooth [data-scroll-container] {
        min-height: auto !important;
    }
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    height: 100vh;
    display: inline-block;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    height: 100%
}

.c-scrollbar {
    position: absolute;
    right: 0;
    top: 0;
    width: 11px;
    height: 100%;
    transform-origin: center right;
    transition: transform 0.3s, opacity 0.3s;
    opacity: 0
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-scrolling .c-scrollbar,
.has-scroll-dragging .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    width: 100%;
    height: 10px;
    top: auto;
    bottom: 0;
    transform: scaleY(1)
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    position: absolute;
    top: 0;
    right: 0;
    background-color: black;
    opacity: 0.5;
    width: 7px;
    border-radius: 10px;
    margin: 2px;
    cursor: grab
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    right: auto;
    bottom: 0
}

.c-scrollbar {
    opacity: 0;
    transition: opacity 1s 1s, transform 0.3s 0s
}

@media (max-width: 991.98px) {
    .c-scrollbar {
        pointer-events: none
    }
}

.intro-complete .c-scrollbar {
    opacity: 1
}

.is-transitioning .c-scrollbar {
    opacity: 0;
    transition-delay: 0s
}

.c-overlay .c-scrollbar {
    opacity: 0
}

.c-scrollbar_thumb {
    width: calc(var(--banner-padding) / 2);
    margin: 0;
    background: var(--color-orange);
    border-radius: 0;
    opacity: 1
}

/*! Flickity v3.0.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%;
    touch-action: pan-y
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0
}

.flickity-rtl .flickity-slider {
    left: unset;
    right: 0
}

/* draggable */
.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: grabbing
}

/* ---- flickity-cell ---- */
.flickity-cell {
    position: absolute;
    left: 0
}

.flickity-rtl .flickity-cell {
    left: unset;
    right: 0
}

/* ---- flickity-button ---- */
.flickity-button {
    position: absolute;
    background: hsl(0 0% 100%/75%);
    border: none;
    color: #333
}

.flickity-button:hover {
    background: white;
    cursor: pointer
}

.flickity-button:focus {
    outline: none;
    box-shadow: 0 0 0 5px #19F
}

.flickity-button:active {
    opacity: 0.6
}

.flickity-button:disabled {
    opacity: 0.3;
    cursor: auto;
    /* prevent disabled button from capturing pointer up event. #716 */
    pointer-events: none
}

.flickity-button-icon {
    fill: currentColor
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    /* vertically center */
    transform: translateY(-50%)
}

.flickity-prev-next-button.previous {
    left: 10px
}

.flickity-prev-next-button.next {
    right: 10px
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%
}

/* ---- page dots ---- */
.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -25px;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-wrap: wrap
}

.flickity-rtl .flickity-page-dots {
    direction: rtl
}

.flickity-page-dot {
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    margin: 0 8px;
    background: hsl(0 0% 20%/25%);
    border-radius: 50%;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    text-indent: -9999px;
    overflow: hidden
}

.flickity-rtl .flickity-page-dot {
    text-indent: 9999px
}

.flickity-page-dot:focus {
    outline: none;
    box-shadow: 0 0 0 5px #19F
}

.flickity-page-dot.is-selected {
    background: hsl(0 0% 20%/100%)
}

/* stylelint-disable scss/at-extend-no-missing-placeholder */
.vjs-modal-dialog .vjs-modal-dialog-content,
.video-js .vjs-modal-dialog,
.vjs-button>.vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.vjs-button>.vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
    text-align: center
}

@font-face {
    font-family: VideoJS;
    src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABDkAAsAAAAAG6gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3hY21hcAAAAYQAAADaAAADPv749/pnbHlmAAACYAAAC3AAABHQZg6OcWhlYWQAAA3QAAAAKwAAADYZw251aGhlYQAADfwAAAAdAAAAJA+RCLFobXR4AAAOHAAAABMAAACM744AAGxvY2EAAA4wAAAASAAAAEhF6kqubWF4cAAADngAAAAfAAAAIAE0AIFuYW1lAAAOmAAAASUAAAIK1cf1oHBvc3QAAA/AAAABJAAAAdPExYuNeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGS7wTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGJHcRdyA4RZgQRADK3CxEAAHic7dFZbsMgAEXRS0ycyZnnOeG7y+qC8pU1dHusIOXxuoxaOlwZYWQB0Aea4quIEN4E9LzKbKjzDeM6H/mua6Lmc/p8yhg0lvdYx15ZG8uOLQOGjMp3EzqmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4Ekqm7T8P52G8PP3lnTOVk++Z6iN6QZzNN1F7ptuN7eGOjDUoaGODHVsuvU8MdTO9Hd5aqgzQ50b6sJQl4a6MtS1oW4MdWuoO0PdG+rBUI+GejLUs6FeDPVqqDdDvRvqw1CfhpqM9At0iFLaAAB4nJ1YDXBTVRZ+5/22TUlJ8we0pHlJm7RJf5O8F2j6EymlSPkpxaL8U2xpa3DKj0CBhc2IW4eWKSokIoLsuMqssM64f+jA4HSdWXXXscBq67IOs3FXZ1ZYWVyRFdo899yXtIBQZ90k7717zz3v3HPPOfd854YCCj9cL9dL0RQFOqCbGJnrHb5EayiKIWN8iA/hWBblo6hUWm8TtCDwE80WMJus/irwyxOdxeB0MDb14VNJHnXYoLLSl6FfCUYO9nYPTA8Epg9090LprfbBbZ2hY0UlJUXHQp3/vtWkS6EBv8+rPMq5u9692f/dNxJNiqwC1xPE9TCUgCsSdQWgE3XQD25lkG4CN2xmTcOXWBOyser6RN6KnGbKSbmQ3+d0OI1m2W8QzLLkI2sykrWAgJJEtA8vGGW/2Q+CmT3n8zS9wZwu2DCvtuZKZN3xkrLh36yCZuUomQSqGpY8t/25VfHVhw8z4ebGBtfLb0ya9PCaDc+8dGTvk2dsh6z7WzvowlXKUSWo9MJ15a3KrEP2loOr2Ojhw6iW6hf2BDdEccQvZGpaAy7YovSwq8kr7HGllxpd71rkS6G0Sf11sl9OvMK1+jwPPODxjUwkOim9CU3ix1wNjXDfmJSEn618Bs6lpWwUpU+8PCqLMY650zjq8VhCIP17NEKTx3eaLL+s5Pi6yJWaWjTHLR1jYzPSV9VF/6Ojdb/1kO3Mk3uhHC0x6gc1BjlKQ+nQFxTYdaJkZ7ySVxLBbhR1dsboNXp1tCYKW2LRaEzpYcIx2BKNxaL0ZaUnSqfFoiNhHKR/GkX6PWUSAaJelQaqZL1EpoHNsajSEyPSoJ9IjhIxTdjHLmwZvhRDOiFTY/YeQnvrVZmiTQtGncECXtFTBZLOVwwMRgoXHAkXzMzPn1nAJJ8jYSbMDaqN2waGLzNhih/bZynUBMpIWSg7VYi7DRx2m8ALkIdRCJwI6ArJx2EI8kaDWeTQKeAFk9fjl/1AvwktjQ1P7NjyMGQyfd4vjipX6M/i52D7Cq80kqlcxEcGXRr/FEcgs0u5uGgB4VWuMFfpdn2Re6Hi3PqzmxWKsz6+ae2Pn9hXXw/fqM859UiGC0oKYYILJBqJrsn1Z1E5qOs9rQCiUQRREjm8yJcbHF5cUJufX1vAHlefw0XgUoboS3ETfQlTxBC4SOtuE8VPRJTBSCQSjZCpk7Gqzu+masaZ2y7Zjehho4F3g82BNDkAHpORG4+OCS+f6JTPmtRn/PH1kch6d04sp7AQb25aQ/pqUyXeQ8vrebG8OYQdXOQ+585u0sdW9rqalzRURiJ+9F4MweRFrKUjl1GUYhH1A27WOHw5cTFSFPMo9EeUIGnQTZHIaJ7AHLaOKsOODaNF9jkBjYG2QEsQ2xjMUAx2bBEbeTBWMHwskBjngq56S/yfgkBnWBa4K9sqKtq2t1UI8S9He5XuBRbawAdatrQEAi30Aks2+LM8WeCbalVZkWNylvJ+dqJnzVb+OHlSoKW8nPCP7Rd+CcZ2DdWAGqJ2CBFOphgywFFCFBNtfAbGtNPBCwxvygHeYMZMY9ZboBqwq/pVrsbgN5tkv152ODlbMfiqwGMBgxa4Exz3QhovRIUp6acqZmQzRq0ypDXS2TPLT02YIkQETnOE445oOGxOmXAqUJNNG7XgupMjPq2ua9asrj5yY/yuKteO1Kx0YNJTufrirLe1mZnat7OL6rnUdCWenpW6I8mAnbsY8KWs1PuSovCW9A/Z25PQ24a7cNOqgmTkLmBMgh4THgc4b9k2IVv1/g/F5nGljwPLfOgHAzJzh45V/4+WenTzmMtR5Z7us2Tys909UHqrPY7KbckoxRvRHhmVc3cJGE97uml0R1S0jdULVl7EvZtDFVBF35N9cEdjpgmAiOlFZ+Dtoh93+D3zzHr8RRNZQhnCNMNbcegOvpEwZoL+06cJQ07h+th3fZ/7PVbVC6ngTAV/KoLFuO6+2KFcU651gEb5ugPSIb1D+Xp8V4+k3sEIGnw5mYe4If4k1lFYr6SCzmM2EQ8iWtmwjnBI9kTwe1TlfAmXh7H02by9fW2gsjKwtv0aaURKil4OdV7rDL1MXIFNrhdxohcZXYTnq47WisrKitaObbf5+yvkLi5J6lCNZZ+B6GC38VNBZBDidSS/+mSvh6s+srgC8pyKMvDtt+de3c9fU76ZPfuM8ud4Kv0fyP/LqfepMT/3oZxSqpZaTa1DaQYLY8TFsHYbWYsPoRhRWfL5eSSQbhUGgGC3YLbVMk6PitTFNGpAsNrC6D1VNBKgBHMejaiuRWEWGgsSDBTJjqWIl8kJLlsaLJ2tXDr6xGfT85bM2Q06a46x2HTgvdnV8z5YDy/27J4zt6x2VtkzjoYpkq36kaBr4eQSg7tyiVweWubXZugtadl58ydapfbORfKsDTuZ0OBgx4cfdjCf5tbWNITnL120fdOi1RV1C3uKGzNdwYLcMvZ3BxoPyTOCD1XvXTp7U10gWCVmTV9b3r2z0SkGWovb2hp9I89O8a2smlyaO8muMU+dRmtzp60IzAoFpjLr1n388boLyf0dRvxhsHZ0qbWqDkwqvvpkj4l0fY6EIXRi5sQSrAvsVYwXRy4qJ2EVtD1AN7a0HWth9ymvL1xc3WTUKK/TAHA/bXDVtVWfOMfuGxGZv4Ln/jVr9jc3j1yMv0tndmyt9Vq88Y9gH1wtLX3KWjot5++jWHgAoZZkQ14wGQ20Fli71UmKJAy4xKMSTGbVdybW7FDDAut9XpD5AzWrYO7zQ8qffqF8+Ynd/clrHcdyxGy3a/3+mfNnzC/cBsveTjnTvXf1o6vzOlZw7WtqtdmPK/Errz/6NNtD72zmNOZfbmYdTGHfoofqI79Oc+R2n1lrnL6pOm0Up7kwxhTW12Amm7WYkXR2qYrF2AmgmbAsxZjwy1xpg/m1Je2vrp8v/nz2xpmlBg4E9hrMU341wVpTOh/OfmGvAnra8q6uctr60ZQHV3Q+WMQJykMj8ZsWn2QBOmmHMB+m5pDIpTFonYigiaKAhGEiAHF7EliVnQkjoLVIMPtJpBKHYd3A8GYH9jJzrWwmHx5Qjp7vDAX0suGRym1vtm/9W1/HyR8vczfMs6Sk8DSv855/5dlX9oQq52hT8syyp2rx5Id17IAyAM3wIjQPMOHzytEB64q6D5zT91yNbnx3V/nqnd017S9Y0605k3izoXLpsxde2n38yoOV9s1LcjwzNjbdX6asnBVaBj/6/DwKwPkpcqbDG7BnsXoSqWnUAmottYF6jMSdVyYZh3zVXCjwTiwwHH6sGuRiEHQGzuRX6whZkp123oy1BWE2mEfJ/tvIRtM4ZM5bDXiMsPMaAKOTyc5uL57rqyyc5y5JE5pm1i2S2iUX0CcaQ6lC6Zog7JqSqZmYlosl2K6pwNA84zRnQW6SaALYZQGW5lhCtU/W34N6o+bKfZ8cf3/Cl/+iTX3wBzpOY4mRkeNf3rptycGSshQWgGbYt5jFc2e0+DglIrwl6DVWQ7BuwaJ3Xk1J4VL5urnLl/Wf+gHU/hZoZdKNym6lG+I34FaNeZKcSpJIo2IeCVvpdsDGfKvzJnAwmeD37Ow65ZWwSowpgwX5T69s/rB55dP5BcpgDKFV8p7q2sn/1uc93bVzT/w6UrCqDTWvfCq/oCD/qZXNoUj8BL5Kp6GU017frfNXkAtiiyf/SOCEeLqnd8R/Ql9GlCRfctS6k5chvIBuQ1zCCjoCHL2DHNHIXxMJ3kQeO8lbsUXONeSfA5EjcG6/E+KdhN4bP04vBhdi883+BFBzQbxFbvZzQeY9LNBZc0FNfn5NwfDn6rCTnTw6R8o+gfpf5hCom33cRuiTlss3KHmZjD+BPN+5gXuA2ziS/Q73mLxUkpbKN/eqwz5uK0X9F3h2d1V4nGNgZGBgAOJd776+iue3+crAzc4AAje5Bfcg0xz9YHEOBiYQBQA8FQlFAHicY2BkYGBnAAGOPgaG//85+hkYGVCBMgBGGwNYAAAAeJxjYGBgYB8EmKOPgQEAQ04BfgAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhAi2COh4nGNgZGBgUGYoZWBnAAEmIOYCQgaG/2A+AwAYCQG2AHicXZBNaoNAGIZfE5PQCKFQ2lUps2oXBfOzzAESyDKBQJdGR2NQR3QSSE/QE/QEPUUPUHqsvsrXjTMw83zPvPMNCuAWP3DQDAejdm1GjzwS7pMmwi75XngAD4/CQ/oX4TFe4Qt7uMMbOzjuDc0EmXCP/C7cJ38Iu+RP4QEe8CU8pP8WHmOPX2EPz87TPo202ey2OjlnQSXV/6arOjWFmvszMWtd6CqwOlKHq6ovycLaWMWVydXKFFZnmVFlZU46tP7R2nI5ncbi/dDkfDtFBA2DDXbYkhKc+V0Bqs5Zt9JM1HQGBRTm/EezTmZNKtpcAMs9Yu6AK9caF76zoLWIWcfMGOSkVduvSWechqZsz040Ib2PY3urxBJTzriT95lipz+TN1fmAAAAeJxtkMl2wjAMRfOAhABlKm2h80C3+ajgCKKDY6cegP59TYBzukAL+z1Zsq8ctaJTTKPrsUQLbXQQI0EXKXroY4AbDDHCGBNMcYsZ7nCPB8yxwCOe8IwXvOIN7/jAJ76wxHfUqWX+OzgumWAjJMV17i0Ndlr6irLKO+qftdT7i6y4uFSUvCknay+lFYZIZaQcmfH/xIFdYn98bqhra1aKTM/6lWMnyaYirx1rFUQZFBkb2zJUtoXeJCeg0WnLtHeSFc3OtrnozNwqi0TkSpBMDB1nSde5oJXW23hTS2/T0LilglXX7dmFVxLnq5U0vYATHFk3zX3BOisoQHNDFDeZnqKDy9hRNawN7Vh727hFzcJ5c8TILrKZfH7tIPxAFP0BpLeJPA==) format("woff");
    font-weight: normal;
    font-style: normal
}

.vjs-icon-play,
.video-js .vjs-play-control .vjs-icon-placeholder,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-play:before,
.video-js .vjs-play-control .vjs-icon-placeholder:before,
.video-js .vjs-big-play-button .vjs-icon-placeholder:before {
    content: "\f101"
}

.vjs-icon-play-circle {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-play-circle:before {
    content: "\f102"
}

.vjs-icon-pause,
.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-pause:before,
.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before {
    content: "\f103"
}

.vjs-icon-volume-mute,
.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-volume-mute:before,
.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before {
    content: "\f104"
}

.vjs-icon-volume-low,
.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-volume-low:before,
.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before {
    content: "\f105"
}

.vjs-icon-volume-mid,
.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-volume-mid:before,
.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before {
    content: "\f106"
}

.vjs-icon-volume-high,
.video-js .vjs-mute-control .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-volume-high:before,
.video-js .vjs-mute-control .vjs-icon-placeholder:before {
    content: "\f107"
}

.vjs-icon-fullscreen-enter,
.video-js .vjs-fullscreen-control .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-fullscreen-enter:before,
.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before {
    content: "\f108"
}

.vjs-icon-fullscreen-exit,
.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-fullscreen-exit:before,
.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before {
    content: "\f109"
}

.vjs-icon-square {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-square:before {
    content: "\f10a"
}

.vjs-icon-spinner {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-spinner:before {
    content: "\f10b"
}

.vjs-icon-subtitles,
.video-js .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js .vjs-subtitles-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-subtitles:before,
.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js .vjs-subtitles-button .vjs-icon-placeholder:before {
    content: "\f10c"
}

.vjs-icon-captions,
.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,
.video-js .vjs-captions-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-captions:before,
.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,
.video-js .vjs-captions-button .vjs-icon-placeholder:before {
    content: "\f10d"
}

.vjs-icon-chapters,
.video-js .vjs-chapters-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-chapters:before,
.video-js .vjs-chapters-button .vjs-icon-placeholder:before {
    content: "\f10e"
}

.vjs-icon-share {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-share:before {
    content: "\f10f"
}

.vjs-icon-cog {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-cog:before {
    content: "\f110"
}

.vjs-icon-circle,
.vjs-seek-to-live-control .vjs-icon-placeholder,
.video-js .vjs-volume-level,
.video-js .vjs-play-progress {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-circle:before,
.vjs-seek-to-live-control .vjs-icon-placeholder:before,
.video-js .vjs-volume-level:before,
.video-js .vjs-play-progress:before {
    content: "\f111"
}

.vjs-icon-circle-outline {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-circle-outline:before {
    content: "\f112"
}

.vjs-icon-circle-inner-circle {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-circle-inner-circle:before {
    content: "\f113"
}

.vjs-icon-hd {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-hd:before {
    content: "\f114"
}

.vjs-icon-cancel,
.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-cancel:before,
.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before {
    content: "\f115"
}

.vjs-icon-replay,
.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-replay:before,
.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before {
    content: "\f116"
}

.vjs-icon-facebook {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-facebook:before {
    content: "\f117"
}

.vjs-icon-gplus {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-gplus:before {
    content: "\f118"
}

.vjs-icon-linkedin {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-linkedin:before {
    content: "\f119"
}

.vjs-icon-twitter {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-twitter:before {
    content: "\f11a"
}

.vjs-icon-tumblr {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-tumblr:before {
    content: "\f11b"
}

.vjs-icon-pinterest {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-pinterest:before {
    content: "\f11c"
}

.vjs-icon-audio-description,
.video-js .vjs-descriptions-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-audio-description:before,
.video-js .vjs-descriptions-button .vjs-icon-placeholder:before {
    content: "\f11d"
}

.vjs-icon-audio,
.video-js .vjs-audio-button .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-audio:before,
.video-js .vjs-audio-button .vjs-icon-placeholder:before {
    content: "\f11e"
}

.vjs-icon-next-item {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-next-item:before {
    content: "\f11f"
}

.vjs-icon-previous-item {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-previous-item:before {
    content: "\f120"
}

.vjs-icon-picture-in-picture-enter,
.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-picture-in-picture-enter:before,
.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
    content: "\f121"
}

.vjs-icon-picture-in-picture-exit,
.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder {
    font-family: VideoJS;
    font-weight: normal;
    font-style: normal
}

.vjs-icon-picture-in-picture-exit:before,
.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before {
    content: "\f122"
}

.video-js {
    display: block;
    vertical-align: top;
    box-sizing: border-box;
    color: #fff;
    background-color: #000;
    position: relative;
    padding: 0;
    font-size: 10px;
    line-height: 1;
    font-weight: normal;
    font-style: normal;
    font-family: Arial, Helvetica, sans-serif;
    word-break: initial
}

.video-js:-moz-full-screen {
    position: absolute
}

.video-js:-webkit-full-screen {
    width: 100% !important;
    height: 100% !important
}

.video-js[tabindex="-1"] {
    outline: none
}

.video-js *,
.video-js *:before,
.video-js *:after {
    box-sizing: inherit
}

.video-js ul {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    list-style-position: outside;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: 0
}

.video-js.vjs-fluid,
.video-js.vjs-16-9,
.video-js.vjs-4-3,
.video-js.vjs-9-16,
.video-js.vjs-1-1 {
    width: 100%;
    max-width: 100%
}

.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.video-js.vjs-16-9:not(.vjs-audio-only-mode),
.video-js.vjs-4-3:not(.vjs-audio-only-mode),
.video-js.vjs-9-16:not(.vjs-audio-only-mode),
.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
    height: 0
}

.video-js.vjs-16-9:not(.vjs-audio-only-mode) {
    padding-top: 56.25%
}

.video-js.vjs-4-3:not(.vjs-audio-only-mode) {
    padding-top: 75%
}

.video-js.vjs-9-16:not(.vjs-audio-only-mode) {
    padding-top: 177.7777777778%
}

.video-js.vjs-1-1:not(.vjs-audio-only-mode) {
    padding-top: 100%
}

.video-js.vjs-fill:not(.vjs-audio-only-mode) {
    width: 100%;
    height: 100%
}

.video-js .vjs-tech {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.video-js.vjs-audio-only-mode .vjs-tech {
    display: none
}

body.vjs-full-window {
    padding: 0;
    margin: 0;
    height: 100%
}

.vjs-full-window .video-js.vjs-fullscreen {
    position: fixed;
    overflow: hidden;
    z-index: 1000;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0
}

.video-js.vjs-fullscreen:not(.vjs-ios-native-fs) {
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important
}

.video-js.vjs-fullscreen.vjs-user-inactive {
    cursor: none
}

.vjs-hidden {
    display: none !important
}

.vjs-disabled {
    opacity: 0.5;
    cursor: default
}

.video-js .vjs-offscreen {
    height: 1px;
    left: -9999px;
    position: absolute;
    top: 0;
    width: 1px
}

.vjs-lock-showing {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important
}

.vjs-no-js {
    padding: 20px;
    color: #fff;
    background-color: #000;
    font-size: 18px;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    width: 300px;
    height: 150px;
    margin: 0px auto
}

.vjs-no-js a,
.vjs-no-js a:visited {
    color: #66A8CC
}

.video-js .vjs-big-play-button {
    font-size: 3em;
    line-height: 1.5em;
    height: 1.63332em;
    width: 3em;
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 0;
    cursor: pointer;
    opacity: 1;
    border: 0.06666em solid #fff;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 0.3em;
    transition: all 0.4s
}

.vjs-big-play-centered .vjs-big-play-button {
    top: 50%;
    left: 50%;
    margin-top: -0.81666em;
    margin-left: -1.5em
}

.video-js:hover .vjs-big-play-button,
.video-js .vjs-big-play-button:focus {
    border-color: #fff;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5);
    transition: all 0s
}

.vjs-controls-disabled .vjs-big-play-button,
.vjs-has-started .vjs-big-play-button,
.vjs-using-native-controls .vjs-big-play-button,
.vjs-error .vjs-big-play-button {
    display: none
}

.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button {
    display: block
}

.video-js button {
    background: none;
    border: none;
    color: inherit;
    display: inline-block;
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    text-decoration: none;
    transition: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.vjs-control .vjs-button {
    width: 100%;
    height: 100%
}

.video-js .vjs-control.vjs-close-button {
    cursor: pointer;
    height: 3em;
    position: absolute;
    right: 0;
    top: 0.5em;
    z-index: 2
}

.video-js .vjs-modal-dialog {
    background: rgba(0, 0, 0, 0.8);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0));
    overflow: auto
}

.video-js .vjs-modal-dialog>* {
    box-sizing: border-box
}

.vjs-modal-dialog .vjs-modal-dialog-content {
    font-size: 1.2em;
    line-height: 1.5;
    padding: 20px 24px;
    z-index: 1
}

.vjs-menu-button {
    cursor: pointer
}

.vjs-menu-button.vjs-disabled {
    cursor: default
}

.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu {
    display: none
}

.vjs-menu .vjs-menu-content {
    display: block;
    padding: 0;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    overflow: auto
}

.vjs-menu .vjs-menu-content>* {
    box-sizing: border-box
}

.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu {
    display: none
}

.vjs-menu li {
    list-style: none;
    margin: 0;
    padding: 0.2em 0;
    line-height: 1.4em;
    font-size: 1.2em;
    text-align: center;
    text-transform: lowercase
}

.vjs-menu li.vjs-menu-item:focus,
.vjs-menu li.vjs-menu-item:hover,
.js-focus-visible .vjs-menu li.vjs-menu-item:hover {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5)
}

.vjs-menu li.vjs-selected,
.vjs-menu li.vjs-selected:focus,
.vjs-menu li.vjs-selected:hover,
.js-focus-visible .vjs-menu li.vjs-selected:hover {
    background-color: #fff;
    color: #fff
}

.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),
.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible) {
    background: none
}

.vjs-menu li.vjs-menu-title {
    text-align: center;
    text-transform: uppercase;
    font-size: 1em;
    line-height: 2em;
    padding: 0;
    margin: 0 0 0.3em 0;
    font-weight: bold;
    cursor: default
}

.vjs-menu-button-popup .vjs-menu {
    display: none;
    position: absolute;
    bottom: 0;
    width: 10em;
    left: -3em;
    height: 0em;
    margin-bottom: 1.5em;
    border-top-color: rgba(255, 255, 255, 0.5)
}

.vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    width: 100%;
    bottom: 1.5em;
    max-height: 15em
}

.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    max-height: 5em
}

.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    max-height: 10em
}

.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    max-height: 14em
}

.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,
.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
    max-height: 25em
}

.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,
.vjs-menu-button-popup .vjs-menu.vjs-lock-showing {
    display: block
}

.video-js .vjs-menu-button-inline {
    transition: all 0.4s;
    overflow: hidden
}

.video-js .vjs-menu-button-inline:before {
    width: 2.222222222em
}

.video-js .vjs-menu-button-inline:hover,
.video-js .vjs-menu-button-inline:focus,
.video-js .vjs-menu-button-inline.vjs-slider-active,
.video-js.vjs-no-flex .vjs-menu-button-inline {
    width: 12em
}

.vjs-menu-button-inline .vjs-menu {
    opacity: 0;
    height: 100%;
    width: auto;
    position: absolute;
    left: 4em;
    top: 0;
    padding: 0;
    margin: 0;
    transition: all 0.4s
}

.vjs-menu-button-inline:hover .vjs-menu,
.vjs-menu-button-inline:focus .vjs-menu,
.vjs-menu-button-inline.vjs-slider-active .vjs-menu {
    display: block;
    opacity: 1
}

.vjs-no-flex .vjs-menu-button-inline .vjs-menu {
    display: block;
    opacity: 1;
    position: relative;
    width: auto
}

.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,
.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,
.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu {
    width: auto
}

.vjs-menu-button-inline .vjs-menu-content {
    width: auto;
    height: 100%;
    margin: 0;
    overflow: hidden
}

.video-js .vjs-control-bar {
    display: none;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3em;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5)
}

.vjs-has-started .vjs-control-bar,
.vjs-audio-only-mode .vjs-control-bar {
    display: flex;
    visibility: visible;
    opacity: 1;
    transition: visibility 0.1s, opacity 0.1s
}

.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
    visibility: visible;
    opacity: 0;
    pointer-events: none;
    transition: visibility 1s, opacity 1s
}

.vjs-controls-disabled .vjs-control-bar,
.vjs-using-native-controls .vjs-control-bar,
.vjs-error .vjs-control-bar {
    display: none !important
}

.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,
.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
    opacity: 1;
    visibility: visible;
    pointer-events: auto
}

.vjs-has-started.vjs-no-flex .vjs-control-bar {
    display: table
}

.video-js .vjs-control {
    position: relative;
    text-align: center;
    margin: 0;
    padding: 0;
    height: 100%;
    width: 4em;
    flex: none
}

.video-js .vjs-control.vjs-visible-text {
    width: auto;
    padding-left: 1em;
    padding-right: 1em
}

.vjs-button>.vjs-icon-placeholder:before {
    font-size: 1.8em;
    line-height: 1.67
}

.vjs-button>.vjs-icon-placeholder {
    display: block
}

.video-js .vjs-control:focus:before,
.video-js .vjs-control:hover:before,
.video-js .vjs-control:focus {
    text-shadow: 0em 0em 1em white
}

.video-js *:not(.vjs-visible-text)>.vjs-control-text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.vjs-no-flex .vjs-control {
    display: table-cell;
    vertical-align: middle
}

.video-js .vjs-custom-control-spacer {
    display: none
}

.video-js .vjs-progress-control {
    cursor: pointer;
    flex: auto;
    display: flex;
    align-items: center;
    min-width: 4em;
    touch-action: none
}

.video-js .vjs-progress-control.disabled {
    cursor: default
}

.vjs-live .vjs-progress-control {
    display: none
}

.vjs-liveui .vjs-progress-control {
    display: flex;
    align-items: center
}

.vjs-no-flex .vjs-progress-control {
    width: auto
}

.video-js .vjs-progress-holder {
    flex: auto;
    transition: all 0.2s;
    height: 0.3em
}

.video-js .vjs-progress-control .vjs-progress-holder {
    margin: 0 10px
}

.video-js .vjs-progress-control:hover .vjs-progress-holder {
    font-size: 1.6666666667em
}

.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled {
    font-size: 1em
}

.video-js .vjs-progress-holder .vjs-play-progress,
.video-js .vjs-progress-holder .vjs-load-progress,
.video-js .vjs-progress-holder .vjs-load-progress div {
    position: absolute;
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    width: 0
}

.video-js .vjs-play-progress {
    background-color: #fff
}

.video-js .vjs-play-progress:before {
    font-size: 0.9em;
    position: absolute;
    right: -0.5em;
    top: -0.3333333333em;
    z-index: 1
}

.video-js .vjs-load-progress {
    background: rgba(255, 255, 255, 0.5)
}

.video-js .vjs-load-progress div {
    background: rgba(255, 255, 255, 0.75)
}

.video-js .vjs-time-tooltip {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 0.3em;
    color: #000;
    float: right;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    padding: 6px 8px 8px 8px;
    pointer-events: none;
    position: absolute;
    top: -3.4em;
    visibility: hidden;
    z-index: 1
}

.video-js .vjs-progress-holder:focus .vjs-time-tooltip {
    display: none
}

.video-js .vjs-progress-control:hover .vjs-time-tooltip,
.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip {
    display: block;
    font-size: 0.6em;
    visibility: visible
}

.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip {
    font-size: 1em
}

.video-js .vjs-progress-control .vjs-mouse-display {
    display: none;
    position: absolute;
    width: 1px;
    height: 100%;
    background-color: #000;
    z-index: 1
}

.vjs-no-flex .vjs-progress-control .vjs-mouse-display {
    z-index: 0
}

.video-js .vjs-progress-control:hover .vjs-mouse-display {
    display: block
}

.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display {
    visibility: hidden;
    opacity: 0;
    transition: visibility 1s, opacity 1s
}

.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display {
    display: none
}

.vjs-mouse-display .vjs-time-tooltip {
    color: #fff;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.8)
}

.video-js .vjs-slider {
    position: relative;
    cursor: pointer;
    padding: 0;
    margin: 0 0.45em 0 0.45em;
    /* iOS Safari */
    -webkit-touch-callout: none;
    /* Safari */
    -webkit-user-select: none;
    /* Konqueror HTML */
    /* Firefox */
    -moz-user-select: none;
    /* Internet Explorer/Edge */
    /* Non-prefixed version, currently supported by Chrome and Opera */
    user-select: none;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5)
}

.video-js .vjs-slider.disabled {
    cursor: default
}

.video-js .vjs-slider:focus {
    text-shadow: 0em 0em 1em white;
    box-shadow: 0 0 1em #fff
}

.video-js .vjs-mute-control {
    cursor: pointer;
    flex: none
}

.video-js .vjs-volume-control {
    cursor: pointer;
    margin-right: 1em;
    display: flex
}

.video-js .vjs-volume-control.vjs-volume-horizontal {
    width: 5em
}

.video-js .vjs-volume-panel .vjs-volume-control {
    visibility: visible;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin-left: -1px
}

.video-js .vjs-volume-panel {
    transition: width 1s
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,
.video-js .vjs-volume-panel:active .vjs-volume-control,
.video-js .vjs-volume-panel:focus .vjs-volume-control,
.video-js .vjs-volume-panel .vjs-volume-control:active,
.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,
.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active {
    visibility: visible;
    opacity: 1;
    position: relative;
    transition: visibility 0.1s, opacity 0.1s, height 0.1s, width 0.1s, left 0s, top 0s
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,
.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,
.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal {
    width: 5em;
    height: 3em;
    margin-right: 0
}

.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,
.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,
.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical {
    left: -3.5em;
    transition: left 0s
}

.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active {
    width: 10em;
    transition: width 0.1s
}

.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only {
    width: 4em
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
    height: 8em;
    width: 3em;
    left: -3000em;
    transition: visibility 1s, opacity 1s, height 1s 1s, width 1s 1s, left 1s 1s, top 1s 1s
}

.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
    transition: visibility 1s, opacity 1s, height 1s 1s, width 1s, left 1s 1s, top 1s 1s
}

.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal {
    width: 5em;
    height: 3em;
    visibility: visible;
    opacity: 1;
    position: relative;
    transition: none
}

.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,
.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical {
    position: absolute;
    bottom: 3em;
    left: 0.5em
}

.video-js .vjs-volume-panel {
    display: flex
}

.video-js .vjs-volume-bar {
    margin: 1.35em 0.45em
}

.vjs-volume-bar.vjs-slider-horizontal {
    width: 5em;
    height: 0.3em
}

.vjs-volume-bar.vjs-slider-vertical {
    width: 0.3em;
    height: 5em;
    margin: 1.35em auto
}

.video-js .vjs-volume-level {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #fff
}

.video-js .vjs-volume-level:before {
    position: absolute;
    font-size: 0.9em;
    z-index: 1
}

.vjs-slider-vertical .vjs-volume-level {
    width: 0.3em
}

.vjs-slider-vertical .vjs-volume-level:before {
    top: -0.5em;
    left: -0.3em;
    z-index: 1
}

.vjs-slider-horizontal .vjs-volume-level {
    height: 0.3em
}

.vjs-slider-horizontal .vjs-volume-level:before {
    top: -0.3em;
    right: -0.5em
}

.video-js .vjs-volume-panel.vjs-volume-panel-vertical {
    width: 4em
}

.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level {
    height: 100%
}

.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level {
    width: 100%
}

.video-js .vjs-volume-vertical {
    width: 3em;
    height: 8em;
    bottom: 8em;
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.5)
}

.video-js .vjs-volume-horizontal .vjs-menu {
    left: -2em
}

.video-js .vjs-volume-tooltip {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 0.3em;
    color: #000;
    float: right;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    padding: 6px 8px 8px 8px;
    pointer-events: none;
    position: absolute;
    top: -3.4em;
    visibility: hidden;
    z-index: 1
}

.video-js .vjs-volume-control:hover .vjs-volume-tooltip,
.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
    display: block;
    font-size: 1em;
    visibility: visible
}

.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,
.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip {
    left: 1em;
    top: -12px
}

.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip {
    font-size: 1em
}

.video-js .vjs-volume-control .vjs-mouse-display {
    display: none;
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #000;
    z-index: 1
}

.video-js .vjs-volume-horizontal .vjs-mouse-display {
    width: 1px;
    height: 100%
}

.vjs-no-flex .vjs-volume-control .vjs-mouse-display {
    z-index: 0
}

.video-js .vjs-volume-control:hover .vjs-mouse-display {
    display: block
}

.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display {
    visibility: hidden;
    opacity: 0;
    transition: visibility 1s, opacity 1s
}

.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display {
    display: none
}

.vjs-mouse-display .vjs-volume-tooltip {
    color: #fff;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.8)
}

.vjs-poster {
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    background-color: #000000;
    cursor: pointer;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%
}

.vjs-has-started .vjs-poster,
.vjs-using-native-controls .vjs-poster {
    display: none
}

.vjs-audio.vjs-has-started .vjs-poster,
.vjs-has-started.vjs-audio-poster-mode .vjs-poster {
    display: block
}

.video-js .vjs-live-control {
    display: flex;
    align-items: flex-start;
    flex: auto;
    font-size: 1em;
    line-height: 3em
}

.vjs-no-flex .vjs-live-control {
    display: table-cell;
    width: auto;
    text-align: left
}

.video-js:not(.vjs-live) .vjs-live-control,
.video-js.vjs-liveui .vjs-live-control {
    display: none
}

.video-js .vjs-seek-to-live-control {
    align-items: center;
    cursor: pointer;
    flex: none;
    display: inline-flex;
    height: 100%;
    padding-left: 0.5em;
    padding-right: 0.5em;
    font-size: 1em;
    line-height: 3em;
    width: auto;
    min-width: 4em
}

.vjs-no-flex .vjs-seek-to-live-control {
    display: table-cell;
    width: auto;
    text-align: left
}

.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,
.video-js:not(.vjs-live) .vjs-seek-to-live-control {
    display: none
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge {
    cursor: auto
}

.vjs-seek-to-live-control .vjs-icon-placeholder {
    margin-right: 0.5em;
    color: #888
}

.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder {
    color: red
}

.video-js .vjs-time-control {
    flex: none;
    font-size: 1em;
    line-height: 3em;
    min-width: 2em;
    width: auto;
    padding-left: 1em;
    padding-right: 1em
}

.vjs-live .vjs-time-control {
    display: none
}

.video-js .vjs-current-time,
.vjs-no-flex .vjs-current-time {
    display: none
}

.video-js .vjs-duration,
.vjs-no-flex .vjs-duration {
    display: none
}

.vjs-time-divider {
    display: none;
    line-height: 3em
}

.vjs-live .vjs-time-divider {
    display: none
}

.video-js .vjs-play-control {
    cursor: pointer
}

.video-js .vjs-play-control .vjs-icon-placeholder {
    flex: none
}

.vjs-text-track-display {
    position: absolute;
    bottom: 3em;
    left: 0;
    right: 0;
    top: 0;
    pointer-events: none
}

.video-js.vjs-controls-disabled .vjs-text-track-display,
.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display {
    bottom: 1em
}

.video-js .vjs-text-track {
    font-size: 1.4em;
    text-align: center;
    margin-bottom: 0.1em
}

.vjs-subtitles {
    color: #fff
}

.vjs-captions {
    color: #fc6
}

.vjs-tt-cue {
    display: block
}

video::-webkit-media-text-track-display {
    transform: translateY(-3em)
}

.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,
.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display {
    transform: translateY(-1.5em)
}

.video-js .vjs-picture-in-picture-control {
    cursor: pointer;
    flex: none
}

.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control {
    display: none
}

.video-js .vjs-fullscreen-control {
    cursor: pointer;
    flex: none
}

.video-js.vjs-audio-only-mode .vjs-fullscreen-control {
    display: none
}

.vjs-playback-rate>.vjs-menu-button,
.vjs-playback-rate .vjs-playback-rate-value {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.vjs-playback-rate .vjs-playback-rate-value {
    pointer-events: none;
    font-size: 1.5em;
    line-height: 2;
    text-align: center
}

.vjs-playback-rate .vjs-menu {
    width: 4em;
    left: 0em
}

.vjs-error .vjs-error-display .vjs-modal-dialog-content {
    font-size: 1.4em;
    text-align: center
}

.vjs-error .vjs-error-display:before {
    color: #fff;
    content: "X";
    font-family: Arial, Helvetica, sans-serif;
    font-size: 4em;
    left: 0;
    line-height: 1;
    margin-top: -0.5em;
    position: absolute;
    text-shadow: 0.05em 0.05em 0.1em #000;
    text-align: center;
    top: 50%;
    vertical-align: middle;
    width: 100%
}

.vjs-loading-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    display: none;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    text-align: left;
    background-clip: padding-box;
    border: 6px solid rgba(255, 255, 255, 0.5);
    border-radius: 25px;
    opacity: 0.5;
    visibility: hidden
}

.vjs-seeking .vjs-loading-spinner,
.vjs-waiting .vjs-loading-spinner {
    display: block;
    animation: vjs-spinner-show 0s linear 0.3s forwards
}

.vjs-loading-spinner::before,
.vjs-loading-spinner::after {
    position: absolute;
    box-sizing: inherit;
    width: inherit;
    height: inherit;
    margin: -6px;
    border: inherit;
    border-color: transparent;
    border-top-color: #fff;
    border-radius: inherit;
    opacity: 1;
    content: ""
}

.vjs-seeking .vjs-loading-spinner::before,
.vjs-seeking .vjs-loading-spinner::after,
.vjs-waiting .vjs-loading-spinner::before,
.vjs-waiting .vjs-loading-spinner::after {
    animation: vjs-spinner-spin 1.1s cubic-bezier(0.6, 0.2, 0, 0.8) infinite, vjs-spinner-fade 1.1s linear infinite
}

.vjs-seeking .vjs-loading-spinner::before,
.vjs-waiting .vjs-loading-spinner::before {
    border-top-color: #fff
}

.vjs-seeking .vjs-loading-spinner::after,
.vjs-waiting .vjs-loading-spinner::after {
    border-top-color: #fff;
    animation-delay: 0.44s
}

@keyframes vjs-spinner-show {
    to {
        visibility: visible
    }
}

@keyframes vjs-spinner-show {
    to {
        visibility: visible
    }
}

@keyframes vjs-spinner-spin {
    100% {
        transform: rotate(360deg)
    }
}

@keyframes vjs-spinner-spin {
    100% {
        transform: rotate(360deg)
    }
}

@keyframes vjs-spinner-fade {
    0% {
        border-top-color: #fff
    }

    20% {
        border-top-color: #fff
    }

    35% {
        border-top-color: #fff
    }

    60% {
        border-top-color: #fff
    }

    100% {
        border-top-color: #fff
    }
}

@keyframes vjs-spinner-fade {
    0% {
        border-top-color: #fff
    }

    20% {
        border-top-color: #fff
    }

    35% {
        border-top-color: #fff
    }

    60% {
        border-top-color: #fff
    }

    100% {
        border-top-color: #fff
    }
}

.video-js.vjs-audio-only-mode .vjs-captions-button {
    display: none
}

.vjs-chapters-button .vjs-menu ul {
    width: 24em
}

.video-js.vjs-audio-only-mode .vjs-descriptions-button {
    display: none
}

.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
    vertical-align: middle;
    display: inline-block;
    margin-bottom: -0.1em
}

.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
    font-family: VideoJS;
    content: "\f10d";
    font-size: 1.5em;
    line-height: inherit
}

.video-js.vjs-audio-only-mode .vjs-subs-caps-button {
    display: none
}

.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder {
    vertical-align: middle;
    display: inline-block;
    margin-bottom: -0.1em
}

.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before {
    font-family: VideoJS;
    content: " \f11d";
    font-size: 1.5em;
    line-height: inherit
}

.video-js.vjs-layout-small .vjs-current-time,
.video-js.vjs-layout-small .vjs-time-divider,
.video-js.vjs-layout-small .vjs-duration,
.video-js.vjs-layout-small .vjs-remaining-time,
.video-js.vjs-layout-small .vjs-playback-rate,
.video-js.vjs-layout-small .vjs-volume-control,
.video-js.vjs-layout-x-small .vjs-current-time,
.video-js.vjs-layout-x-small .vjs-time-divider,
.video-js.vjs-layout-x-small .vjs-duration,
.video-js.vjs-layout-x-small .vjs-remaining-time,
.video-js.vjs-layout-x-small .vjs-playback-rate,
.video-js.vjs-layout-x-small .vjs-volume-control,
.video-js.vjs-layout-tiny .vjs-current-time,
.video-js.vjs-layout-tiny .vjs-time-divider,
.video-js.vjs-layout-tiny .vjs-duration,
.video-js.vjs-layout-tiny .vjs-remaining-time,
.video-js.vjs-layout-tiny .vjs-playback-rate,
.video-js.vjs-layout-tiny .vjs-volume-control {
    display: none
}

.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,
.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover {
    width: auto;
    width: initial
}

.video-js.vjs-layout-x-small .vjs-progress-control,
.video-js.vjs-layout-tiny .vjs-progress-control {
    display: none
}

.video-js.vjs-layout-x-small .vjs-custom-control-spacer {
    flex: auto;
    display: block
}

.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer {
    width: auto
}

.vjs-modal-dialog.vjs-text-track-settings {
    background-color: #fff;
    background-color: rgba(255, 255, 255, 0.75);
    color: #fff;
    height: 70%
}

.vjs-text-track-settings .vjs-modal-dialog-content {
    display: table
}

.vjs-text-track-settings .vjs-track-settings-colors,
.vjs-text-track-settings .vjs-track-settings-font,
.vjs-text-track-settings .vjs-track-settings-controls {
    display: table-cell
}

.vjs-text-track-settings .vjs-track-settings-controls {
    text-align: right;
    vertical-align: bottom
}

@supports (display: grid) {
    .vjs-text-track-settings .vjs-modal-dialog-content {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        padding: 20px 24px 0px 24px
    }

    .vjs-track-settings-controls .vjs-default-button {
        margin-bottom: 20px
    }

    .vjs-text-track-settings .vjs-track-settings-controls {
        grid-column: 1/-1
    }

    .vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,
    .vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,
    .vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content {
        grid-template-columns: 1fr
    }
}

.vjs-track-setting>select {
    margin-right: 1em;
    margin-bottom: 0.5em
}

.vjs-text-track-settings fieldset {
    margin: 5px;
    padding: 3px;
    border: none
}

.vjs-text-track-settings fieldset span {
    display: inline-block
}

.vjs-text-track-settings fieldset span>select {
    max-width: 7.3em
}

.vjs-text-track-settings legend {
    color: #fff;
    margin: 0 0 5px 0
}

.vjs-text-track-settings .vjs-label {
    position: absolute;
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    display: block;
    margin: 0 0 5px 0;
    padding: 0;
    border: 0;
    height: 1px;
    width: 1px;
    overflow: hidden
}

.vjs-track-settings-controls button:focus,
.vjs-track-settings-controls button:active {
    outline-style: solid;
    outline-width: medium;
    background-image: linear-gradient(0deg, #fff 88%, #fff 100%)
}

.vjs-track-settings-controls button:hover {
    color: rgba(43, 51, 63, 0.75)
}

.vjs-track-settings-controls button {
    background-color: #fff;
    background-image: linear-gradient(-180deg, #fff 88%, #fff 100%);
    color: #2B333F;
    cursor: pointer;
    border-radius: 2px
}

.vjs-track-settings-controls .vjs-default-button {
    margin-right: 1em
}

@media print {
    .video-js>*:not(.vjs-tech):not(.vjs-poster) {
        visibility: hidden
    }
}

.vjs-resize-manager {
    position: absolute;
    z-index: -1000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none
}

.js-focus-visible .video-js *:focus:not(.focus-visible) {
    outline: none
}

.video-js *:focus:not(:focus-visible) {
    outline: none
}

.video-js {
    --spacer: 1em;
    cursor: pointer;
    font-size: 14px;
    background: none
}

@media (min-width: 768px) {
    .video-js {
        --spacer: 2em
    }
}

@media (min-width: 1440px) {
    .video-js {
        font-size: 16px
    }
}

.is-ios .video-js {
    opacity: 0
}

.video-js *:focus {
    outline: none
}

.video-js.vjs-user-inactive.vjs-playing::after {
    opacity: 0;
    transition: opacity 1s
}

.video-js::after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: calc((var(--spacer) + 3em) * 2.5);
    background: linear-gradient(to top, hsla(0, 0%, 0%, 0.32) 0%, hsla(0, 0%, 0%, 0.316) 8.1%, hsla(0, 0%, 0%, 0.304) 15.5%, hsla(0, 0%, 0%, 0.287) 22.5%, hsla(0, 0%, 0%, 0.264) 29%, hsla(0, 0%, 0%, 0.237) 35.3%, hsla(0, 0%, 0%, 0.207) 41.2%, hsla(0, 0%, 0%, 0.176) 47.1%, hsla(0, 0%, 0%, 0.144) 52.9%, hsla(0, 0%, 0%, 0.113) 58.8%, hsla(0, 0%, 0%, 0.083) 64.7%, hsla(0, 0%, 0%, 0.056) 71%, hsla(0, 0%, 0%, 0.033) 77.5%, hsla(0, 0%, 0%, 0.016) 84.5%, hsla(0, 0%, 0%, 0.004) 91.9%, hsla(0, 0%, 0%, 0) 100%);
    transition: opacity 0.5s;
    pointer-events: none;
    content: ""
}

.video-js .vjs-control {
    width: 3em;
    height: 3em
}

.video-js .vjs-control-bar {
    will-change: transform;
    z-index: 1;
    bottom: var(--spacer);
    padding: 0 var(--spacer);
    background: none
}

.video-js .vjs-slider {
    background: var(--color-white)
}

.video-js .vjs-progress-holder:focus,
.video-js .vjs-control:focus {
    text-shadow: none !important;
    box-shadow: none !important
}

.video-js .vjs-big-play-button {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

html:not(.is-mobile) .video-js .vjs-big-play-button {
    display: none
}

html:not(.is-ios) .video-js .vjs-big-play-button {
    opacity: 0
}

.video-js .vjs-progress-control .vjs-progress-holder {
    height: 3px;
    margin: 0 2em
}

html:not(.is-ios).is-mobile .video-js .vjs-progress-control .vjs-progress-holder {
    margin: 0 1.2em 0 2em
}

.video-js .vjs-play-progress {
    background-color: var(--color-orange);
    transition: width 0.2s
}

.video-js .vjs-load-progress {
    background-color: unset
}

.video-js .vjs-load-progress div {
    background-color: unset
}

.video-js .vjs-label-text {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
    padding-left: 2rem;
    font-family: var(--font-family-heading);
    font-size: 2em;
    line-height: 1;
    text-transform: uppercase
}

.video-js .vjs-label-text div {
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}

.video-js .vjs-label-text div:last-child {
    position: absolute;
    transform: translateY(100%)
}

.video-js.vjs-playing .vjs-play-control .vjs-label-text div:first-child {
    transform: translateY(-100%)
}

.video-js.vjs-playing .vjs-play-control .vjs-label-text div:last-child {
    transform: translateY(0)
}

.video-js .vjs-play-control .vjs-label-text div:last-child {
    margin-left: 0.2em
}

.video-js .vjs-volume-panel .vjs-label-text div:last-child {
    margin-left: 0.2em
}

.video-js .vjs-vol-0 .vjs-label-text div:first-child {
    transform: translateY(-100%)
}

.video-js .vjs-vol-0 .vjs-label-text div:last-child {
    transform: translateY(0)
}

.video-js .vjs-play-control {
    width: 6em;
    height: 2em;
    margin-top: 0.5em
}

.video-js .vjs-play-control .vjs-icon-placeholder::before {
    width: auto;
    margin-left: 0.1em;
    text-align: left
}

.video-js .vjs-volume-panel {
    order: 1;
    width: 5.2em !important
}

html:not(.is-ios).is-mobile .video-js .vjs-volume-panel {
    display: none
}

.video-js .vjs-volume-panel .vjs-icon-placeholder::before {
    width: auto;
    margin-left: 0.1em;
    text-align: left
}

.video-js .vjs-mute-control {
    width: 100%;
    height: 2em;
    margin-top: 0.5em
}

.video-js .vjs-fullscreen-control {
    position: relative;
    top: 1px;
    order: 2;
    width: 5em !important
}

.video-js .vjs-fullscreen-control span:first-child {
    width: 2.5em;
    height: 1.1em;
    margin-top: 0.9em;
    margin-right: 0.5em;
    margin-left: 1.5em;
    border: 2px solid currentcolor
}

.video-js .vjs-fullscreen-control span::before {
    position: relative;
    top: 0.25em;
    left: -1px;
    width: 50%;
    height: 50%;
    background: currentcolor;
    content: "" !important
}

.vjs-paused,
.vjs-sliding .vjs-play-progress {
    transition: none !important
}

.vjs-remaining-time,
.vjs-volume-control,
.vjs-time-tooltip,
.vjs-play-progress::before,
.vjs-seek-to-live-control {
    display: none !important
}

.vjs-icon-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%
}

.vjs-icon-placeholder::before {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1em;
    line-height: 1.8 !important
}

@media (min-width: 768px) {
    .vjs-control-bar .vjs-fullscreen-control {
        margin-left: 1em
    }
}

.vjs-progress-holder {
    font-size: inherit !important
}

.video-js .vjs-loading-spinner {
    opacity: 0.5
}

.video-js .vjs-loading-spinner::before,
.video-js .vjs-loading-spinner::after {
    border-top-color: #fff
}

.video-js .vjs-seeking .vjs-loading-spinner::before,
.video-js .vjs-waiting .vjs-loading-spinner::before {
    border-top-color: #fff
}

.video-js .vjs-seeking .vjs-loading-spinner::after,
.video-js .vjs-waiting .vjs-loading-spinner::after {
    border-top-color: #fff
}

@keyframes vjs-spinner-fade {
    0% {
        border-top-color: #fff
    }

    20% {
        border-top-color: #fff
    }

    35% {
        border-top-color: #fff
    }

    60% {
        border-top-color: #fff
    }

    100% {
        border-top-color: #fff
    }
}

@keyframes vjs-spinner-fade {
    0% {
        border-top-color: #fff
    }

    20% {
        border-top-color: #fff
    }

    35% {
        border-top-color: #fff
    }

    60% {
        border-top-color: #fff
    }

    100% {
        border-top-color: #fff
    }
}

.c-site-wrapper__content>*+*,
.c-media-list__wrapper>*+*,
.u-flow>*+* {
    padding-top: var(--flow, 10rem)
}

.u-space-s {
    --flow: var(--space-xl)
}

.u-space-m {
    --flow: var(--space-2xl)
}

.u-space-l {
    --flow: var(--space-3xl)
}

@media (min-width: 768px) {
    .u-space-l {
        --flow: var(--space-5xl)
    }
}

.u-space-xl {
    --flow: var(--space-5xl)
}

@media (min-width: 768px) {
    .u-space-xl {
        --flow: var(--space-8xl)
    }
}

@media (min-width: 992px) {
    .c-about-status__left {
        --column-span: 4
    }
}

.c-about-status__big-text {
    font-size: var(--step-3)
}

.c-about-status__small-text {
    margin-top: var(--space-m);
    font-size: var(--step-1)
}

@media (min-width: 992px) {
    .c-about-status__small-text {
        margin-top: var(--space-l)
    }
}

.c-about-status__right {
    margin-top: var(--space-xl)
}

@media (min-width: 992px) {
    .c-about-status__right {
        --column-start: 6;
        --column-span: 7;
        margin-top: 0
    }
}

.c-about-status__item {
    --columns: 12;
    position: relative;
    padding: var(--space-s) 0;
    font-family: var(--font-family-mono)
}

@media (min-width: 992px) {
    .c-about-status__item {
        --columns: 7;
        padding: var(--space-l) 0
    }

    .c-about-status__item:last-child {
        padding-bottom: 0
    }
}

@media (max-width: 991.98px) {
    .c-about-status__item:last-child::after {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: var(--color-gray-03);
        content: "";
        transform: scaleX(0);
        opacity: 0;
        transform-origin: 0 50%;
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s
    }

    .c-about-status__item.is-inview:last-child::after {
        opacity: 1;
        transform: scaleX(1)
    }
}

.c-about-status__item::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-gray-03);
    content: "";
    transform: scaleX(0);
    opacity: 0;
    transform-origin: 0 50%;
    transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s
}

.c-about-status__item.is-inview::before {
    opacity: 1;
    transform: scaleX(1)
}

.c-about-status__item-text {
    --column-start: 1;
    --column-span: 12;
    margin-right: var(--space-m);
    font-weight: 700
}

@media (min-width: 992px) {
    .c-about-status__item-text {
        --column-span: 4;
        --column-start: 1
    }
}

.c-about-status__item-status {
    --column-start: 1;
    --column-span: 12
}

@media (min-width: 992px) {
    .c-about-status__item-status {
        --column-span: 3;
        --column-start: 5
    }
}

.c-about-status__item-status span {
    font-weight: 700
}

.c-about-status__item-status::before {
    position: relative;
    top: -0.025em;
    display: inline-block;
    width: 0.55em;
    height: 0.65em;
    margin-right: var(--space-2xs);
    background: var(--color-orange);
    border-radius: 4px;
    content: ""
}

.c-about-status__images {
    margin-top: var(--space-8xl)
}

@media (min-width: 768px) {
    .c-about-status__image01 {
        --column-span: 5;
        --column-start: 1
    }
}

.c-about-status__image01 .c-about-status__image-wrapper {
    padding-bottom: 75%;
    background-color: var(--color-placeholder)
}

@media (min-width: 768px) {
    .c-about-status__image02 {
        --column-span: 3;
        --column-start: 6
    }
}

.c-about-status__image-wrapper {
    position: relative;
    overflow: hidden;
    padding-bottom: 127.9181323953%;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius)
}

.c-about-status__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-banner-contact {
    position: relative;
    overflow: hidden;
    margin-top: -1px;
    padding-bottom: var(--banner-padding);
    color: var(--color-white)
}

.c-banner-contact .o-container {
    position: relative;
    z-index: 1
}

@media (max-width: 767.98px) {
    .c-banner-contact .o-container {
        padding-right: calc(var(--container-padding) * 1.5);
        padding-left: calc(var(--container-padding) * 1.5)
    }
}

.c-banner-contact__text {
    --column-span: 12;
    width: 100%;
    max-width: 25ch;
    padding-bottom: var(--space-7xl);
    color: var(--color-gray-01);
    font-size: var(--step-6);
    text-align: right;
    justify-self: flex-end
}

@media (min-width: 768px) {
    .c-banner-contact__text {
        font-size: var(--step-7)
    }
}

@media (min-width: 1960px) {
    .c-banner-contact__text {
        max-width: 30ch
    }
}

.c-banner-contact__content {
    --gutter-y: var(--space-m);
    grid-auto-flow: dense
}

.c-banner-contact__positions {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-family-mono)
}

@media (max-width: 767.98px) {
    .c-banner-contact__positions {
        margin-bottom: var(--space-m)
    }
}

@media (min-width: 768px) {
    .c-banner-contact__positions {
        --column-start: 9;
        --column-span: 4
    }
}

.c-banner-contact__title {
    max-width: 10ch;
    color: var(--color-orange) !important;
    font-size: var(--step-8)
}

@media (min-width: 768px) {
    .c-banner-contact__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-banner-contact__title {
        font-size: var(--step-10)
    }
}

@media (min-width: 768px) {
    .c-banner-contact__title {
        --column-start: 1;
        --column-span: 8
    }
}

.c-banner-contact__subtitle p {
    max-width: 42ch;
    font-size: var(--step-1)
}

.c-banner-contact__subtitle p a {
    position: relative;
    display: inline-block;
    color: var(--color-gray-02);
    text-decoration: none
}

.c-banner-contact__subtitle p a::before {
    position: absolute;
    z-index: -1;
    bottom: 0.2em;
    left: 0;
    width: 100%;
    height: 1px;
    background: currentcolor;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    content: "";
    transform: scaleX(0);
    transform-origin: 100% 50%;
    will-change: transform
}

@media (hover: hover) {
    .c-banner-contact__subtitle p a:hover::before {
        transform: scaleX(1);
        transform-origin: 0 50%
    }
}

.c-banner-contact__content {
    padding-bottom: var(--space-4xl)
}

.c-banner-contact__image-wrapper {
    position: absolute;
    top: var(--banner-padding);
    right: var(--banner-padding);
    bottom: var(--banner-padding);
    left: var(--banner-padding);
    overflow: hidden;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-banner-contact__image {
    position: absolute;
    z-index: 1;
    top: -5vh;
    right: 0;
    bottom: -5vh;
    left: 0
}

.c-banner-contact__image::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: rgba(0, 0, 0, 0.1)
}

.c-banner-hp {
    color: var(--color-white)
}

.c-banner-hp .flickity-viewport {
    position: static
}

.c-banner-hp .flickity-cell {
    opacity: 0 !important;
    transition: opacity 1.5s
}

.c-banner-hp .flickity-cell.is-selected {
    opacity: 1 !important
}

.c-banner-hp__main-wrapper {
    position: relative;
    overflow: hidden
}

.c-banner-hp__gallery {
    position: absolute;
    z-index: -1;
    top: var(--banner-padding);
    right: var(--banner-padding);
    bottom: var(--banner-padding);
    left: var(--banner-padding);
    overflow: hidden;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-banner-hp__image-wrapper {
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px
}

.c-banner-hp__title {
    max-width: 8ch;
    color: var(--color-orange) !important;
    font-size: var(--step-8)
}

@media (min-width: 768px) {
    .c-banner-hp__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 992px) {
    .c-banner-hp__title {
        font-size: var(--step-10)
    }
}

.c-banner-hp__cta {
    margin-top: var(--space-xl)
}

.c-banner-hp__wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: calc(var(--container-padding) / 2);
    padding: var(--padding-bg-image)
}

@media (min-width: 768px) {
    .c-banner-hp__wrapper {
        margin-left: 0
    }
}

@media (min-width: 992px) {
    .c-banner-hp__wrapper {
        flex-direction: row;
        align-items: center
    }
}

@media (min-width: 992px) {
    .c-banner-hp__left {
        flex: 50%
    }
}

.c-banner-hp__right {
    display: flex
}

@media (max-width: 991.98px) {
    .c-banner-hp__right {
        margin-top: var(--space-3xl)
    }
}

@media (min-width: 992px) {
    .c-banner-hp__right {
        justify-content: center;
        align-items: center;
        flex: 50%
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .c-banner-hp__right {
        width: 100%
    }
}

.c-banner-hp__service-outer-wrapper {
    display: flex;
    flex-direction: column
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .c-banner-hp__service-outer-wrapper {
        flex-direction: row;
        width: 100%
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .c-banner-hp__service-wrapper {
        flex: 33.33%;
        margin-top: 0 !important
    }

    .c-banner-hp__service-wrapper:not(:first-child) {
        margin-left: var(--gutter)
    }
}

@media (min-width: 992px) {
    .c-banner-hp__service-wrapper {
        display: flex
    }
}

.c-banner-hp__service-wrapper:not(:first-child) {
    margin-top: var(--space-l)
}

.c-banner-hp__service-title {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    font-family: var(--font-family-mono)
}

@media (min-width: 992px) {
    .c-banner-hp__service-title {
        top: -0.25em;
        width: 12.5ch;
        margin-right: var(--gutter);
        text-align: right
    }
}

@media (max-width: 991.98px) {
    .c-banner-hp__service-title {
        margin-bottom: var(--space-s)
    }
}

.c-banner-hp__service-item {
    color: var(--color-gray-01);
    font-size: var(--step-5)
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .c-banner-hp__service-item {
        font-size: var(--step-4)
    }
}

.c-banner-hp__service-item:not(:first-child) {
    margin-top: 0.2em
}

@media (min-width: 992px) {
    .c-banner-hp__service-item:not(:first-child) {
        margin-top: 0.1em
    }
}

.c-banner-hp__image {
    position: absolute;
    z-index: -1;
    top: -9.5vh;
    right: 0;
    bottom: -9.5vh;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.c-banner-services__main-wrapper {
    position: relative;
    overflow: hidden
}

.c-banner-services__main-wrapper .o-container {
    position: relative;
    z-index: 1
}

.c-banner-services__wrapper {
    display: flex;
    flex-direction: column;
    min-height: calc(var(--initial-vh) * 100)
}

@media (max-width: 767.98px) {
    .c-banner-services__wrapper {
        min-height: calc(var(--initial-vh) * 80);
        margin-left: calc(var(--container-padding) / 2)
    }
}

@media (min-width: 768px) {
    .c-banner-services__wrapper {
        justify-content: center
    }
}

.c-banner-services__title {
    max-width: 12ch;
    margin-bottom: var(--space-l-xl);
    padding-top: var(--space-3xl);
    color: var(--color-orange) !important;
    font-size: var(--step-8)
}

@media (min-width: 768px) {
    .c-banner-services__title {
        padding-top: 0;
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-banner-services__title {
        font-size: var(--step-10)
    }
}

.c-banner-services__cta {
    color: var(--color-white)
}

.c-banner-services__image-wrapper {
    position: absolute;
    top: var(--banner-padding);
    right: var(--banner-padding);
    bottom: var(--banner-padding);
    left: var(--banner-padding);
    overflow: hidden;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-banner-services__image {
    position: absolute;
    z-index: 1;
    top: -5vh;
    right: 0;
    bottom: -5vh;
    left: 0
}

.c-clients__title {
    color: var(--color-gray-01);
    font-size: var(--step-8)
}

@media (min-width: 768px) {
    .c-clients__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-clients__title {
        font-size: var(--step-10)
    }
}

.c-clients__subtitle {
    margin-top: var(--space-l);
    font-size: var(--step-1)
}

.c-clients__row {
    position: relative;
    display: flex;
    height: 20vw;
    margin-top: var(--space-2xl-3xl)
}

@media (min-width: 768px) {
    .c-clients__row {
        height: 10vw
    }
}

.c-clients__row+.c-clients__row {
    margin-top: var(--gutter)
}

@media (min-width: 768px) {
    .c-clients__row+.c-clients__row {
        margin-top: 0
    }
}

.c-clients__row-outer-wrapper {
    display: flex;
    flex-shrink: 0;
    height: 100%
}

.c-clients__row:nth-child(odd) .c-clients__row-outer-wrapper {
    transform: translateX(calc((-50% + 100vw) * var(--slide-amount)))
}

.c-clients__row:nth-child(even) .c-clients__row-outer-wrapper {
    transform: translateX(calc(-50% + 100vw - (-50% + 100vw) * var(--slide-amount)))
}

.c-clients__row-inner-wrapper {
    display: flex;
    flex-shrink: 0;
    height: 100%
}

.c-clients__row:nth-child(odd) .c-clients__row-inner-wrapper {
    animation: 70s linear infinite marquee-top
}

.c-clients__row:nth-child(even) .c-clients__row-inner-wrapper {
    animation: 70s linear infinite marquee-bottom
}

.c-clients__row-item-wrapper {
    display: flex;
    flex-shrink: 0;
    height: 100%
}

.c-clients__row-item-wrapper::before,
.c-clients__row-item-wrapper::after {
    display: block;
    width: calc(var(--gutter) / 2);
    height: 100%;
    content: ""
}

.c-clients__row-item {
    position: relative;
    height: 100%;
    font-size: var(--step-3)
}

.c-clients__row-item span {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    color: var(--color-white);
    transform: translate(-50%, -50%)
}

.c-clients__row-item svg {
    width: auto;
    height: 100%
}

.c-clients__image {
    --padding: 0%;
    position: absolute;
    top: var(--padding);
    right: var(--padding);
    bottom: var(--padding);
    left: var(--padding);
    pointer-events: none
}

@media (min-width: 768px) {
    .c-clients__image {
        --padding: 10%
    }
}

@media (min-width: 1440px) {
    .c-clients__image {
        --padding: 15%
    }
}

@keyframes marquee-top {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-100%)
    }
}

@keyframes marquee-bottom {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(0)
    }
}

.c-gallery-people .flickity-viewport {
    overflow: initial
}

.c-gallery-people__title {
    font-size: var(--step-7)
}

@media (min-width: 768px) {
    .c-gallery-people__title {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-gallery-people__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-gallery-people__title {
        font-size: var(--step-10)
    }
}

.c-gallery-people__cta {
    margin-top: var(--space-l)
}

.c-gallery-people__gallery {
    margin-top: var(--space-2xl)
}

.c-gallery-people__item-wrapper {
    width: 80%;
    margin-right: var(--gutter)
}

@media (min-width: 768px) {
    .c-gallery-people__item-wrapper {
        width: 30%
    }
}

.c-gallery-people__item-image {
    position: relative;
    overflow: hidden;
    padding-bottom: 123.0769230769%;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    transition: background 1s
}

.c-gallery-people__item-description {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: var(--space-xs)
}

@media (min-width: 1440px) {
    .c-gallery-people__item-description {
        flex-direction: row;
        letter-spacing: -0.003em
    }
}

.c-gallery-people__item-name {
    font-family: var(--font-family-mono)
}

.c-gallery-people__item-role {
    color: var(--color-orange);
    font-family: var(--font-family-mono)
}

.c-gallery-people__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-header-about__title {
    margin-left: auto;
    color: var(--color-black);
    font-size: var(--step-8);
    text-align: left
}

@media (min-width: 768px) {
    .c-header-about__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 992px) {
    .c-header-about__title {
        font-size: var(--step-10)
    }
}

@media (min-width: 1440px) {
    .c-header-about__title {
        font-size: 160px
    }
}

.c-header-contact {
    color: var(--color-white);
    background: var(--color-black)
}

.c-header-contact a:hover {
    text-decoration: none
}

.c-header-contact__title {
    position: relative;
    overflow: hidden;
    color: var(--color-gray-01);
    font-size: var(--step-8);
    text-align: right;
    will-change: transform;
    transition: transform 2s cubic-bezier(0.86, 0, 0.07, 1)
}

@media (min-width: 768px) {
    .c-header-contact__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 992px) {
    .c-header-contact__title {
        font-size: var(--step-10)
    }
}

@media (min-width: 1440px) {
    .c-header-contact__title {
        font-size: 160px
    }
}

.c-header-contact__title span::before {
    content: attr(data-text);
    position: absolute;
    transform: translateY(100%)
}

.c-header-contact__title span {
    display: block;
    transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.intro-quasi-complete .is-inview .c-header-contact__title span {
    transform: translateY(-100%)
}

.c-header-contact__info {
    --gutter-y: var(--space-xl);
    padding: var(--space-3xl) 0 var(--space-6xl) 0
}

.c-header-contact__text {
    max-width: 40ch;
    font-size: var(--step-2)
}

@media (min-width: 992px) {
    .c-header-contact__text {
        --column-span: 5;
        --column-start: 1;
        position: relative;
        top: -0.4em;
        font-size: var(--step-3)
    }
}

@media (min-width: 768px) {
    .c-header-contact__info-list {
        --column-span: 8;
        --column-start: 1;
        display: flex
    }
}

@media (min-width: 992px) {
    .c-header-contact__info-list {
        --column-span: 6;
        --column-start: 7
    }
}

.c-header-contact__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    border-top: 1px solid var(--color-gray-04)
}

@media (min-width: 768px) {
    .c-header-contact__item {
        margin-bottom: 0
    }

    .c-header-contact__item:not(:first-child) {
        margin-left: var(--gutter)
    }
}

@media (max-width: 767.98px) {
    .c-header-contact__item:not(:first-child) {
        margin-top: var(--space-l)
    }
}

.c-header-contact__item-title {
    margin-bottom: var(--space-s);
    padding-top: var(--space-m);
    color: var(--color-gray-03);
    font-family: var(--font-family-mono);
    font-size: var(--step-0);
    font-weight: 400
}

@media (min-width: 768px) {
    .c-header-contact__item-title {
        margin-bottom: var(--space-m)
    }
}

.c-header-contact__item-text {
    text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black), 0 0.03em var(--color-black), 0 -0.03em var(--color-black), 0.06em 0 var(--color-black), -0.06em 0 var(--color-black), 0.09em 0 var(--color-black), -0.09em 0 var(--color-black), 0.12em 0 var(--color-black), -0.12em 0 var(--color-black), 0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
    display: flex;
    flex-direction: column;
    font-size: var(--step-1)
}

.c-header-hp {
    --media-overflow: 2vh;
    position: relative;
    overflow: hidden;
    height: calc(var(--initial-vh) * 100)
}

.c-header-hp video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    opacity: 0
}

@media (max-width: 767.98px) {
    .c-header-hp video {
        top: 50%;
        left: 50%;
        width: calc(100% + var(--media-overflow) * 2);
        height: calc(100% + var(--media-overflow) * 2);
        transform: translate(-50%, -50%)
    }
}

.c-header-hp.video-playing video {
    opacity: 1
}

.c-header-hp__wrapper {
    --padding: var(--banner-padding);
    position: absolute;
    top: var(--padding);
    right: var(--padding);
    bottom: var(--padding);
    left: var(--padding);
    overflow: hidden;
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-header-hp__media {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--color-placeholder)
}

.c-header-hp__content-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: flex-end
}

.c-header-hp__content {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-bottom: var(--space-xl);
    opacity: 1;
    transition: opacity 0.5s
}

@media (min-width: 768px) {
    .c-header-hp__content {
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-end;
        padding-bottom: var(--container-padding)
    }
}

.c-header-hp__title {
    --line-height: 0.85;
    color: #be69b9 !important;
    font-size: var(--step-9);
    line-height: var(--line-height) !important;
    text-align: right
}

@media (min-width: 768px) {
    .c-header-hp__title {
        font-size: var(--step-10)
    }
}

@media (min-width: 992px) {
    .c-header-hp__title {
        font-size: 160px
    }
}

@media (min-width: 1960px) {
    .c-header-hp__title {
        font-size: 180px
    }
}

@media (min-width: 2400px) {
    .c-header-hp__title {
        font-size: 200px
    }
}

.c-header-hp__title>div:last-child {
    overflow: hidden;
    height: calc(1em * var(--line-height))
}

.c-intro .c-header-hp__title .o-reveal {
    opacity: 0;
    transition: transform 1s calc(var(--index) * 0.075s + 0.05s), opacity 0.75s calc(var(--index) * 0.075s + 0.1s);
    transform: translateY(var(--space-4xl))
}

@media (max-width: 767.98px) {
    .c-intro .c-header-hp__title .o-reveal {
        transform: translateY(var(--space-2xl))
    }
}

.intro-text-reveal .c-intro .c-header-hp__title .o-reveal {
    transform: none;
    opacity: 1
}

.c-header-hp__subtitle {
    max-width: 25ch;
    padding-top: var(--space-xl);
    color: var(--color-white);
    font-family: var(--font-family-mono)
}

@media (min-width: 768px) {
    .c-header-hp__subtitle {
        max-width: 32ch
    }
}

.c-intro .c-header-hp__subtitle .o-reveal {
    opacity: 0;
    transition: transform 1s calc(var(--index) * 0.075s), opacity 1s calc(var(--index) * 0.075s);
    transform: translateY(var(--space-l))
}

.intro-text-reveal .c-intro .c-header-hp__subtitle .o-reveal {
    transform: none;
    opacity: 1
}

.c-header-hp__scroll {
    --animation-duration: 3s;
    --animation-delay: 0.1s;
    position: absolute;
    right: var(--container-padding);
    bottom: calc(var(--space-xl) * 1.1);
    overflow: hidden;
    width: 8px;
    height: 20px;
    border-radius: 2px;
    opacity: 0;
    will-change: transform;
    transition: opacity 0.5s
}

@media (min-width: 768px) {
    .c-header-hp__scroll {
        bottom: var(--container-padding);
        transform: translateX(-50%);
        left: 50%
    }
}

.intro-complete .c-header-hp__scroll {
    opacity: 1
}

.c-header-hp__scroll::before,
.c-header-hp__scroll::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: rotate(10deg) translate(-50%, -100%);
    width: 200%;
    height: 100%;
    content: ""
}

.c-header-hp__scroll::before {
    background: var(--color-orange);
    animation: var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s infinite scroll-in
}

.c-header-hp__scroll::after {
    background: var(--color-white);
    animation: var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94) calc(var(--animation-duration) / 2) infinite scroll-out
}

.c-header-hp__scroll-div::before,
.c-header-hp__scroll-div::after {
    position: absolute;
    top: 0;
    left: 50%;
    transform: scaleY(1.1) rotate(10deg) translate(-50%, -100%);
    width: 200%;
    height: 100%;
    content: ""
}

.c-header-hp__scroll-div::before {
    background: var(--color-white);
    animation: var(--animation-duration) cubic-bezier(0.55, 0.085, 0.68, 0.53) var(--animation-delay) infinite scroll-in
}

.c-header-hp__scroll-div::after {
    background: var(--color-orange);
    animation: var(--animation-duration) cubic-bezier(0.25, 0.46, 0.45, 0.94) calc(var(--animation-duration) / 2 + var(--animation-delay)) infinite scroll-out
}

.c-header-hp__image-mobile,
.c-header-hp__image-desktop {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: 0s !important
}

@media (max-width: 767.98px) {

    .c-header-hp__image-mobile,
    .c-header-hp__image-desktop {
        top: calc(var(--media-overflow) * -1);
        right: calc(var(--media-overflow) * -1);
        bottom: calc(var(--media-overflow) * -1);
        left: calc(var(--media-overflow) * -1)
    }
}

@media (min-width: 768px) {
    .c-header-hp__image-mobile {
        display: none
    }
}

@media (max-width: 767.98px) {
    .c-header-hp__image-desktop {
        display: none
    }
}

@keyframes scroll-in {
    0% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }

    50% {
        transform: scaleY(1.3) rotate(0deg) translate(-50%, 9%)
    }

    51% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }

    100% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, -100%)
    }
}

@keyframes scroll-out {
    0% {
        transform: scaleY(1.3) rotate(0deg) translate(-50%, 0%)
    }

    50% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }

    51% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }

    100% {
        transform: scaleY(1.3) rotate(20deg) translate(-50%, 115%)
    }
}

.c-header-work__media {
    padding-bottom: 35%;
    background: var(--color-placeholder)
}

.c-header-work__content {
    margin-top: var(--space-xl)
}

@media (min-width: 768px) {
    .c-header-work__heading {
        --column-span: 7
    }
}

@media (min-width: 992px) {
    .c-header-work__heading {
        --column-span: 6
    }
}

.c-header-work__title {
    font-size: var(--step-7)
}

.c-header-work__subtitle {
    margin-top: var(--space-s);
    font-size: var(--step-1);
    font-weight: 400
}

.c-header-work__description {
    font-size: var(--step-1)
}

@media (min-width: 768px) {
    .c-header-work__description {
        --column-span: 5;
        --column-start: 8
    }
}

.c-image-grid__inner-wrapper {
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

@media (min-width: 768px) {
    .c-image-grid__outer-wrapper:nth-child(1) {
        --column-span: 5
    }
}

.c-image-grid__outer-wrapper:nth-child(1) .c-image-grid__inner-wrapper {
    position: relative;
    overflow: hidden;
    padding-bottom: 142.8571428571%;
    background: var(--color-placeholder);
    transform: background 1s
}

@media (min-width: 768px) {
    .c-image-grid__outer-wrapper:nth-child(2) {
        --column-span: 7;
        --column-start: 6
    }
}

.c-image-grid__outer-wrapper:nth-child(2) .c-image-grid__inner-wrapper {
    position: relative;
    overflow: hidden;
    padding-bottom: 66.6666666667%;
    background: var(--color-placeholder);
    transform: background 1s
}

.c-image-grid__image {
    position: absolute;
    top: -9vh;
    right: 0;
    bottom: -9vh;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.c-image__wrapper {
    position: relative
}

@media (max-width: 767.98px) {
    .c-image__wrapper {
        height: calc(var(--initial-vh) * 80)
    }
}

@media (max-width: 767.98px) {
    .c-image__image {
        display: none
    }
}

.c-image__image-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

@media (min-width: 768px) {
    .c-image__image-bg {
        display: none
    }
}

.c-info-list__title {
    margin-bottom: var(--space-xl);
    font-size: var(--step-5)
}

.c-info-list__item-list {
    --gutter-y: var(--space-m)
}

@media (min-width: 768px) {
    .c-info-list__item-list {
        --gutter-y: var(--space-l)
    }
}

@media (min-width: 992px) {
    .c-info-list__item-list {
        --gutter-y: var(--space-xl)
    }
}

@media (min-width: 768px) {
    .c-info-list__item {
        --column-span: 6
    }

    .c-info-list__item:nth-child(1),
    .c-info-list__item:nth-child(2) {
        padding-top: var(--space-m);
        border-top: 1px solid var(--color-gray-02)
    }
}

@media (min-width: 1440px) {
    .c-info-list__item {
        --column-span: 3
    }

    .c-info-list__item:nth-child(1),
    .c-info-list__item:nth-child(2),
    .c-info-list__item:nth-child(3),
    .c-info-list__item:nth-child(4) {
        padding-top: var(--space-m);
        border-top: 1px solid var(--color-gray-02)
    }
}

.c-info-list__item:nth-child(1) {
    padding-top: var(--space-m);
    border-top: 1px solid var(--color-gray-02)
}

.c-info-list__item-title {
    margin-bottom: var(--space-s);
    color: var(--color-gray-03);
    font-family: var(--font-family-mono);
    font-size: var(--step-0);
    font-weight: 400
}

.c-info-list__item-text {
    font-size: var(--step-1)
}

.c-intro {
    --media-overflow: 2vh;
    position: absolute;
    z-index: 9999;
    top: 0;
    left: 0;
    width: 100vw;
    height: calc(var(--initial-vh) * 100);
    background-color: var(--color-black);
    transition: background 0s 2s
}

.tpl-home .c-intro {
    z-index: 0
}

.c-intro::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--color-white);
    opacity: 0;
    transition: opacity 0.75s 0.6s;
    content: ""
}

.intro-after-start body:not(.tpl-home) .c-intro::before {
    opacity: 0 !important
}

.intro-start .c-intro::before {
    opacity: 1
}

.intro-start .c-intro,
.intro-complete .c-intro {
    background: transparent
}

.intro-complete .c-intro {
    pointer-events: none
}

.c-intro__wrapper-loading {
    position: relative;
    height: calc(100vh - var(--container-padding) * 2);
    margin-top: var(--container-padding);
    margin-right: var(--container-padding);
    margin-left: var(--container-padding);
    border: 1px solid var(--color-gray-04);
    border-radius: var(--banner-radius);
    transition: opacity 0s 2s, transform 2s cubic-bezier(0.23, 1, 0.32, 1);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.c-intro__wrapper-loading img {
    width: 250px;
    height: auto;
    display: block;
    margin: 0 auto 30px auto;
    animation: fadeInOut 2s infinite ease-in-out;
    border-radius: 8px;
}

.animated-text {
    font-family: var(--font-family-mono);
    font-size: 2rem;
    color: var(--color-white);
    text-align: center;
    margin-bottom: 30px;
    letter-spacing: 3px;
    animation: textAnimation 3s infinite;
}

@keyframes fadeInOut {
    0% { opacity: 0.8; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.05); }
    100% { opacity: 0.8; transform: scale(1); }
}

@keyframes textAnimation {
    0% { opacity: 0.5; letter-spacing: 3px; }
    50% { opacity: 1; letter-spacing: 8px; }
    100% { opacity: 0.5; letter-spacing: 3px; }
}

@media (max-width: 767.98px) {
    .c-intro__wrapper-loading {
        height: calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
        margin-top: var(--banner-padding);
        margin-right: var(--banner-padding);
        margin-left: var(--banner-padding);
        transition: opacity 0s 2s, transform 2.5s cubic-bezier(0.23, 1, 0.32, 1)
    }
}

html:not(.dom-loaded) .c-intro__wrapper-loading {
    transform: scale(1.1)
}

.intro-start .c-intro__wrapper-loading,
.intro-complete .c-intro__wrapper-loading {
    opacity: 0
}

.intro-start .c-intro__wrapper-loading {c-introc-intro
    transform: scale(0.85)
}

.c-intro__logo {
    --logo-height: calc(var(--space-2xl) * 3);
    --logo-width: calc(120 / 81 * var(--logo-height));
    position: absolute;
    top: 47.5%;
    left: 50%;
    width: var(--logo-width);
    height: var(--logo-height);
    color: var(--color-white);
    transform: translate(-50%, -50%)
}

@media (max-width: 767.98px) {
    .c-intro__logo {
        top: 49.5%
    }
}

.c-intro__loading {
    position: absolute;
    bottom: var(--space-m);
    display: flex;
    align-items: center;
    width: calc(100% - var(--space-l) * 2);
    margin-right: var(--space-l);
    margin-left: var(--space-l);
    color: var(--color-gray-01);
    font-family: var(--font-family-mono)
}

@media (max-width: 767.98px) {
    .c-intro__loading {
        bottom: var(--banner-padding);
        width: calc(100% - var(--banner-padding) * 4);
        margin-left: calc(var(--banner-padding) * 2)
    }
}

.c-intro__text {
    white-space: nowrap
}

/* @media (max-width: 767.98px) {
    .c-intro__text span {
        display: none
    }
} */

.c-intro__line {
    width: 100%;
    height: 1px;
    margin-right: var(--space-l);
    margin-left: var(--space-l);
    background: currentcolor;
    transform-origin: 0 0;
    transform: scaleX(0);
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (max-width: 767.98px) {
    .c-intro__line {
        margin-right: calc(var(--banner-padding) * 2);
        margin-left: calc(var(--banner-padding) * 2)
    }
}

.c-intro__counter span:last-child::before {
    content: "/"
}

.c-intro__card-list {
    --timing-function-wrapper: cubic-bezier(0.75, 0, 0, 1);
    --timing-function-inner: cubic-bezier(0.4, 0, 0, 0.6);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: visible;
    transform: translateY(100%);
    transition: transform 2s;
    transition-delay: 2s;
    transition-timing-function: var(--timing-function-wrapper)
}

.intro-start .c-intro__card-list,
.intro-complete .c-intro__card-list {
    transform: translateY(0)
}

.c-intro__card-container {
    transition: transform 3s;
    transition-timing-function: var(--timing-function-inner)
}

.intro-start .c-intro__card-container,
.intro-complete .c-intro__card-container {
    transform: translateY(var(--translate-container, 0))
}

.c-intro__card-item::after {
    content: "";
    display: block;
    height: var(--banner-padding);
    background: var(--color-white)
}

body:not(.tpl-home) .c-intro__card-item:nth-last-child(2)::after {
    opacity: 0
}

body:not(.tpl-home) .c-intro__card-item:nth-last-child(1)::after {
    opacity: 0
}

body:not(.tpl-home) .c-intro__card-item:last-child {
    opacity: 0
}

.c-intro__card-inner-item {
    position: relative;
    overflow: hidden;
    height: 0;
    margin-right: var(--banner-padding);
    margin-left: var(--banner-padding);
    padding-bottom: 30%;
    border-radius: var(--banner-radius);
    will-change: transform
}

@media (max-width: 767.98px) {
    .c-intro__card-inner-item {
        padding-bottom: 50%
    }
}

.c-intro__card-item:last-child .c-intro__card-inner-item {
    height: calc(var(--initial-vh) * 100 - var(--banner-padding) * 2);
    padding-bottom: 0
}

.c-intro__image {
    --padding: 25vh;
    position: absolute;
    top: 0;
    right: 0;
    bottom: calc(var(--padding) * -1);
    left: 0;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    opacity: 1;
    transition: transform 4s;
    transform: translateY(calc(var(--padding) * -1))
}

@media (min-width: 992px) {
    .c-intro__image {
        --padding: 80vh;
        background-position: 50% 75%
    }
}

.c-intro__image.c-intro__image--desktop {
    display: none
}

@media (min-width: 768px) {
    .c-intro__image.c-intro__image--desktop {
        display: block
    }
}

@media (min-width: 768px) {
    .c-intro__image.c-intro__image--mobile {
        display: none
    }
}

.c-intro__card-item:last-child .c-intro__image {
    top: 0;
    bottom: 0;
    background-position: 50% 50%;
    transform: translateY(-150vh)
}

@media (max-width: 767.98px) {
    .c-intro__card-item:last-child .c-intro__image {
        top: calc(var(--media-overflow) * -1);
        right: calc(var(--media-overflow) * -1);
        bottom: calc(var(--media-overflow) * -1);
        left: calc(var(--media-overflow) * -1)
    }
}

.intro-start .c-intro__image,
.intro-complete .c-intro__image {
    transform: translateY(0) !important
}

.c-job-listing {
    padding-top: var(--space-m)
}

.c-job-listing:only-child {
    padding-bottom: 50vh
}

.c-job-listing__label {
    margin-bottom: var(--space-m)
}

.c-job-listing__list-item {
    border-bottom: 1px solid var(--color-gray-01)
}

.c-job-listing__list-item:first-child {
    border-top: 1px solid var(--color-gray-01)
}

.c-job-listing__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-m) 0;
    cursor: pointer
}

.c-job-listing__title {
    font-size: var(--step-6)
}

.c-job-listing__icon {
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.is-active .c-job-listing__icon {
    transform: rotate(180deg)
}

.c-job-listing__body {
    overflow: hidden;
    height: 0
}

.c-job-listing__body-outer-wrapper {
    padding-bottom: var(--space-m)
}

.c-job-listing__body-inner-wrapper {
    max-width: 60ch
}

@media (min-width: 768px) {
    .c-job-listing__body-inner-wrapper {
        --column-span: 8
    }
}

@media (min-width: 992px) {
    .c-job-listing__body-inner-wrapper {
        --column-span: 7;
        --column-start: 6
    }
}

@media (min-width: 1440px) {
    .c-job-listing__body-inner-wrapper {
        --column-span: 6;
        --column-start: 7
    }
}

@media (min-width: 1960px) {
    .c-job-listing__body-inner-wrapper {
        --column-span: 4;
        --column-start: 7
    }
}

.c-job-listing__body-inner-wrapper>*:not(:first-child) {
    margin-top: var(--space-m)
}

.c-job-listing__text {
    position: relative;
    z-index: 1;
    max-width: 40ch;
    margin-top: var(--space-xl);
    font-size: var(--step-2)
}

@media (min-width: 768px) {
    .c-job-listing__text {
        font-size: var(--step-3)
    }
}

.c-job-listing__text a {
    position: relative;
    z-index: 1;
    color: var(--color-orange)
}

.c-job-listing__text a:hover {
    text-decoration: none
}

.c-job-listing__text a::before {
    height: 2px !important
}

.c-overlay .c-job-listing__text a {
    text-shadow: 0.03em 0 var(--color-white), -0.03em 0 var(--color-white), 0 0.03em var(--color-white), 0 -0.03em var(--color-white), 0.06em 0 var(--color-white), -0.06em 0 var(--color-white), 0.09em 0 var(--color-white), -0.09em 0 var(--color-white), 0.12em 0 var(--color-white), -0.12em 0 var(--color-white), 0.15em 0 var(--color-white), -0.15em 0 var(--color-white)
}

.c-job-listing__body-description {
    font-size: var(--step-1)
}

.c-job-listing__body-sub-description {
    font-size: var(--step-1)
}

.c-job-listing__body-sub-description ul {
    list-style: inside
}

.c-logo {
    width: var(--logo-width);
    height: var(--logo-height);
    color: var(--color-black);
    transition: color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.c-logo svg {
    fill: currentcolor
}

.is-transitioning .c-logo {
    transition-delay: 0.95s !important
}


.tpl-home .c-logo,
.tpl-contact .c-logo {
    color: var(--color-white)
}

.change-color .tpl-home .c-logo {
    /* color: var(--color-black); */
    filter: saturate(46.5) invert(1);
}
.theme-black .c-logo,
.list-layout body.tpl-works .c-logo {
    color: var(--color-white) !important;
    transition: color 1s cubic-bezier(0.23, 1, 0.32, 1) 0s;
    filter: unset !important;
}

.c-media-list__wrapper {
    --flow: var(--container-padding)
}

@media (min-width: 768px) {
    .c-media-list__wrapper {
        --flow: var(--space-xl-2xl)
    }
}

.c-media-list__item {
    --gutter-y: 0
}

@media (min-width: 768px) {
    .c-media-list__item:nth-child(odd) {
        --column-start: 4;
        --column-span: 9
    }

    .c-media-list__item:nth-child(even) {
        --column-start: 1;
        --column-span: 6
    }
}

.c-media-list__item .c-media.has-player {
    --column-start: 1;
    --column-span: 12
}

.c-media-list__item-title {
    --column-start: 1;
    --column-span: 12;
    margin-bottom: var(--space-xl);
    font-size: var(--step-5)
}

@media (max-width: 767.98px) {
    .c-media-list__item:not(:first-child) .c-media-list__item-title {
        margin-top: var(--space-xl)
    }
}

.c-media .o-container {
    position: relative;
    overflow: hidden
}

.c-media * {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.c-media .video-js {
    height: 100%
}

.c-media :not(.vjs-has-started) .vjs-control-bar {
    display: flex
}

.c-overlay .c-media {
    margin-right: var(--banner-padding);
    margin-left: var(--banner-padding)
}

.c-overlay .c-media .o-container {
    padding-right: 0;
    padding-left: 0
}

.c-media-list .c-media .o-container {
    padding-right: 0;
    padding-left: 0
}

.c-media__wrapper {
    position: relative;
    overflow: hidden;
    padding-bottom: calc(var(--aspect-ratio, 0.5) * 100%);
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    transition: background 1s;
    will-change: transform
}

.is-ios .c-media__wrapper {
    height: calc(var(--initial-vh) * 80);
    padding-bottom: 0
}

.c-media.preserve-aspect-ratio .c-media__wrapper {
    height: 0 !important;
    padding-bottom: calc(var(--aspect-ratio, 0.5) * 100%) !important
}

html:not(.is-ios).is-mobile .c-media:not(.has-player) .c-media__wrapper {
    height: calc(var(--initial-vh) * 80);
    padding-bottom: 0;
    background: var(--color-placeholder)
}

@media (max-width: 767.98px) {
    .c-media:not(.has-player) .c-media__wrapper {
        height: calc(var(--initial-vh) * 80)
    }
}

.is-ios .c-header-work .c-media__wrapper {
    height: calc(var(--initial-vh) * 40)
}

.c-media h5.c-media__text {
    position: absolute;
    pointer-events: none;
    z-index: 3;
    bottom: var(--space-xl);
    left: 50%;
    width: 100%;
    max-width: 28ch;
    padding: 0 var(--space-m);
    color: var(--color-orange) !important;
    font-size: var(--step-7);
    text-align: center;
    transform: translate(-50%);
    will-change: transform
}

@media (min-width: 768px) {
    .c-media h5.c-media__text {
        bottom: var(--container-padding)
    }
}

@media (min-width: 768px) and (max-width: 1439.98px) {
    .c-media-list .c-media h5.c-media__text {
        font-size: var(--step-5)
    }
}

.c-media__video-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0
}

html:not(.is-ios).is-mobile .player-ready .c-media__video-wrapper {
    opacity: 1
}

.clicked .c-media__video-wrapper {
    opacity: 1
}

.c-media__videoloop-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    transition: opacity 1s 0.1s;
    pointer-events: none
}

.loop-playing .c-media__videoloop-wrapper {
    opacity: 1
}

html:not(.is-ios) .clicked .c-media__videoloop-wrapper {
    opacity: 0;
    transition: opacity 0.1s
}

html:not(.is-ios).is-mobile .has-player .c-media__videoloop-wrapper {
    opacity: 0;
    transition: opacity 0s
}

.c-media__cta-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

html:not(.is-ios).is-mobile .c-media__cta-wrapper {
    opacity: 0
}

.c-media__cta {
    position: absolute;
    top: 50%;
    left: calc(var(--container-padding) * 2);
    display: flex;
    align-items: center;
    overflow: hidden;
    pointer-events: none;
    will-change: transform;
    transform: translateY(-50%)
}

.c-overlay .c-media__cta {
    left: calc(var(--container-padding) * 1)
}

.c-media__cta-bullet {
    position: relative;
    display: block;
    overflow: hidden;
    will-change: transform;
    width: 10px;
    height: 20px;
    margin-right: calc(var(--container-padding) / 1.1);
    border-radius: 3px
}

@media (min-width: 768px) {
    .c-media__cta-bullet {
        margin-right: var(--space-s-m)
    }
}

.c-media__cta-bullet::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--color-white);
    content: "";
    transition: transform 1s 0.05s cubic-bezier(0.23, 1, 0.32, 1)
}

html:not(.is-ios) .clicked .c-media__cta-bullet::before {
    transform: translateY(-105%)
}

.c-media__cta h4.c-media__cta-text {
    color: var(--color-orange) !important;
    font-size: var(--step-6);
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

html:not(.is-ios) .clicked .c-media__cta h4.c-media__cta-text {
    transform: translateY(-105%)
}

.c-media__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    pointer-events: none
}

html:not(.is-ios) .clicked .c-media__image {
    opacity: 0;
    transition: opacity 0.1s
}

html:not(.is-ios).is-mobile .has-player .c-media__image {
    opacity: 0
}

.c-mouse-move {
    position: fixed;
    z-index: 9995;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.c-mouse-move__media-container {
    --width: 50vw;
    --height: 20vw;
    --rotate: 5deg;
    position: absolute;
    top: 5%;
    left: 5%;
    overflow: hidden;
    width: var(--width);
    height: var(--height);
    border-radius: var(--banner-radius);
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.list-layout body.tpl-works .c-mouse-move__media-container {
    opacity: 1
}

.c-mouse-move__media-rotate-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    transform: rotate(var(--rotate, 5deg))
}

.c-mouse-move__media-overflow-wrapper {
    flex-shrink: 0;
    overflow: hidden;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateY(-102%) rotate(2deg) scale(0.85);
    transform-origin: 0 0
}

.list-layout.works-hover .c-mouse-move__media-overflow-wrapper {
    transform: translateY(0%) rotate(0deg) scale(1)
}

.c-mouse-move__media-reverse-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateY(102%) rotate(calc(var(--rotate) * -1))
}

.list-layout.works-hover .c-mouse-move__media-reverse-wrapper {
    transform: translateY(0) rotate(calc(var(--rotate) * -1))
}

.c-mouse-move__media-inner-wrapper {
    position: relative;
    overflow: hidden;
    will-change: transform;
    width: var(--width);
    height: var(--height)
}

.c-mouse-move__media-inner-wrapper::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: var(--color-black);
    transition: transform 1.25s cubic-bezier(0.23, 1, 0.32, 1);
    content: "";
    transform: translateY(20%)
}

.list-layout.works-hover .c-mouse-move__media-inner-wrapper::before {
    transform: translateY(0)
}

.c-mouse-move__media-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0 !important;
    transition: transform 1.25s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.5s;
    transform: translateY(20%)
}

.list-layout.works-hover .c-mouse-move__media-image {
    transform: none
}

[show="1"] .c-mouse-move__media-image:nth-child(1) {
    opacity: 1 !important
}

[show="2"] .c-mouse-move__media-image:nth-child(2) {
    opacity: 1 !important
}

[show="3"] .c-mouse-move__media-image:nth-child(3) {
    opacity: 1 !important
}

[show="4"] .c-mouse-move__media-image:nth-child(4) {
    opacity: 1 !important
}

[show="5"] .c-mouse-move__media-image:nth-child(5) {
    opacity: 1 !important
}

[show="6"] .c-mouse-move__media-image:nth-child(6) {
    opacity: 1 !important
}

[show="7"] .c-mouse-move__media-image:nth-child(7) {
    opacity: 1 !important
}

[show="8"] .c-mouse-move__media-image:nth-child(8) {
    opacity: 1 !important
}

[show="9"] .c-mouse-move__media-image:nth-child(9) {
    opacity: 1 !important
}

[show="10"] .c-mouse-move__media-image:nth-child(10) {
    opacity: 1 !important
}

[show="11"] .c-mouse-move__media-image:nth-child(11) {
    opacity: 1 !important
}

[show="12"] .c-mouse-move__media-image:nth-child(12) {
    opacity: 1 !important
}

[show="13"] .c-mouse-move__media-image:nth-child(13) {
    opacity: 1 !important
}

[show="14"] .c-mouse-move__media-image:nth-child(14) {
    opacity: 1 !important
}

[show="15"] .c-mouse-move__media-image:nth-child(15) {
    opacity: 1 !important
}

[show="16"] .c-mouse-move__media-image:nth-child(16) {
    opacity: 1 !important
}

[show="17"] .c-mouse-move__media-image:nth-child(17) {
    opacity: 1 !important
}

[show="18"] .c-mouse-move__media-image:nth-child(18) {
    opacity: 1 !important
}

[show="19"] .c-mouse-move__media-image:nth-child(19) {
    opacity: 1 !important
}

[show="20"] .c-mouse-move__media-image:nth-child(20) {
    opacity: 1 !important
}

[show="21"] .c-mouse-move__media-image:nth-child(21) {
    opacity: 1 !important
}

[show="22"] .c-mouse-move__media-image:nth-child(22) {
    opacity: 1 !important
}

[show="23"] .c-mouse-move__media-image:nth-child(23) {
    opacity: 1 !important
}

[show="24"] .c-mouse-move__media-image:nth-child(24) {
    opacity: 1 !important
}

[show="25"] .c-mouse-move__media-image:nth-child(25) {
    opacity: 1 !important
}

[show="26"] .c-mouse-move__media-image:nth-child(26) {
    opacity: 1 !important
}

[show="27"] .c-mouse-move__media-image:nth-child(27) {
    opacity: 1 !important
}

[show="28"] .c-mouse-move__media-image:nth-child(28) {
    opacity: 1 !important
}

[show="29"] .c-mouse-move__media-image:nth-child(29) {
    opacity: 1 !important
}

[show="30"] .c-mouse-move__media-image:nth-child(30) {
    opacity: 1 !important
}

.c-overlay {
    --spacer: calc(100vh / 6);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9998;
    overflow: hidden;
    color: var(--color-black);
    pointer-events: none
}

.c-overlay.c-overlay--show {
    pointer-events: auto
}

.c-overlay__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #000;
    opacity: 0;
    transition: opacity 1s
}

.c-overlay--show .c-overlay__bg {
    opacity: 0.8
}

.c-overlay__wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s
}

.c-overlay:not(.c-overlay--show) .c-overlay__wrapper {
    transform: translateY(100%)
}

.c-overlay__button {
    position: absolute;
    z-index: 9997;
    bottom: var(--container-padding);
    left: 50%;
    background: var(--color-orange);
    opacity: 0;
    transition: opacity 0.3s, transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: translateX(-50%);
    pointer-events: none
}

.c-overlay__button.is-active {
    pointer-events: auto;
    opacity: 1
}

.c-overlay__button>span {
    display: block;
    overflow: hidden;
    will-change: transform
}

.c-overlay__button>span>span {
    display: block;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.c-overlay__button span span::after {
    content: "close";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 70%);
    display: block
}

@media (hover: hover) {
    .c-overlay__button:hover>span>span {
        transform: translateY(-120%)
    }
}

.c-overlay__scroll {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100vh
}

.c-overlay:not(.c-overlay--show) .c-overlay__scroll {
    pointer-events: none !important
}

.c-overlay__spacer {
    height: var(--spacer);
    cursor: pointer
}

.c-overlay__content {
    min-height: calc(100vh - var(--spacer));
    padding-bottom: calc(var(--container-padding) * 3);
    background: var(--color-white)
}

.c-overlay__content .u-flow {
    opacity: 0;
    transition: opacity 0.1s 1s
}

.c-overlay--loaded .c-overlay__content .u-flow {
    opacity: 1;
    transition: opacity 0.75s
}

.c-overlay__content .c-media {
    padding-top: var(--banner-padding)
}

.c-servies-list {
    position: relative
}

.c-servies-list__switch-theme {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

@media (max-width: 767.98px) {
    .c-servies-list__wrapper {
        --gutter-y: var(--space-2xl)
    }
}

.c-services-list__title {
    --column-span: 12;
    font-size: var(--step-7)
}

@media (min-width: 768px) {
    .c-services-list__title {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-services-list__title {
        --column-span: 4;
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-services-list__title {
        font-size: var(--step-10)
    }
}

.c-services-list__item-list {
    --column-span: 12
}

@media (min-width: 992px) {
    .c-services-list__item-list {
        --column-span: 7;
        --column-start: 6;
        margin-top: 0
    }
}

@media (min-width: 1440px) {
    .c-services-list__item-list {
        --column-span: 6;
        --column-start: 7
    }
}

@media (min-width: 992px) {
    .c-services-list__item {
        display: flex
    }
}

.c-services-list__item:not(:first-child) {
    margin-top: var(--space-xl)
}

.c-services-list__item-title {
    font-size: var(--step-5);
    white-space: nowrap
}

@media (min-width: 992px) {
    .c-services-list__item-title {
        flex-shrink: 0;
        width: calc(var(--column-width-gutter) + var(--column-width));
        margin-right: var(--gutter)
    }
}

@media (min-width: 768px) {
    .c-services-list__item-title {
        text-align: right
    }
}

.c-services-list__item-text {
    position: relative;
    font-size: var(--step-1)
}

@media (min-width: 992px) {
    .c-services-list__item-text {
        top: -0.25em
    }
}

@media (max-width: 991.98px) {
    .c-services-list__item-text {
        max-width: 55ch;
        margin-top: var(--space-s)
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .c-services-list__item-text {
        margin-left: auto;
        text-align: right
    }
}

.c-site-footer-bottom {
    display: flex;
    flex-direction: column;
    margin-top: var(--space-xl);
    padding: var(--space-l) 0;
    font-size: var(--step--1)
}

@media (min-width: 768px) {
    .c-site-footer-bottom {
        flex-direction: row;
        align-items: center;
        padding: var(--space-m) 0;
        border-top: 1px solid #3e3e3e
    }

    .c-banner-contact .c-site-footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.3)
    }
}

.c-site-footer-bottom a:hover {
    text-decoration: none
}

.c-site-footer-bottom__logo {
    margin-right: var(--space-m);
    color: var(--color-gray-01)
}

.c-site-footer-bottom__colophon {
    margin-right: auto
}

@media (max-width: 767.98px) {
    .c-site-footer-bottom__colophon {
        margin-top: var(--space-s)
    }
}

.c-site-footer-bottom__credits {
    text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black), 0 0.03em var(--color-black), 0 -0.03em var(--color-black), 0.06em 0 var(--color-black), -0.06em 0 var(--color-black), 0.09em 0 var(--color-black), -0.09em 0 var(--color-black), 0.12em 0 var(--color-black), -0.12em 0 var(--color-black), 0.15em 0 var(--color-black), -0.15em 0 var(--color-black)
}

@media (max-width: 767.98px) {
    .c-site-footer-bottom__credits {
        margin-top: var(--space-2xs)
    }
}

.c-site-footer {
    padding-top: var(--space-3xl);
    color: var(--color-gray-01);
    background: var(--color-black)
}

@media (min-width: 768px) {
    .c-site-footer {
        padding-top: var(--space-8xl)
    }
}

.c-site-footer a:hover {
    text-decoration: none
}

[data-overlay-content]+.c-site-footer {
    margin-top: var(--space-3xl)
}

@media (min-width: 768px) {
    [data-overlay-content]+.c-site-footer {
        margin-top: var(--space-8xl)
    }
}

.c-services-footer+.c-site-footer,
.c-services-cta+.c-site-footer {
    margin-top: -1px
}

.c-site-footer__title {
    position: relative;
    display: inline-flex;
    align-items: flex-end;
    margin-bottom: var(--space-2xl);
    font-size: var(--step-8)
}

@media (min-width: 768px) {
    .c-site-footer__title {
        margin-bottom: var(--space-7xl);
        font-size: var(--step-10)
    }
}

.c-site-footer__title .o-reveal {
    position: absolute;
    left: 7.2ch;
    transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1), opacity 0s
}

.c-site-footer__title .c-site-footer__roll {
    display: inline-flex;
    flex-direction: column;
    height: calc(1em * var(--heading-line-height))
}

.c-site-footer__title .c-site-footer__roll span {
    display: block
}

.c-site-footer__grid {
    --gutter-y: var(--space-l)
}

.c-site-footer__block01 {
    --column-span: 12;
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

@media (min-width: 768px) {
    .c-site-footer__block01 {
        --column-span: 4
    }
}

@media (min-width: 992px) {
    .c-site-footer__block01 {
        --column-start: 1;
        --column-span: 3
    }
}

@media (min-width: 1440px) {
    .c-site-footer__block01 {
        --column-start: 1;
        --column-span: 2
    }
}

.c-site-footer__block02 {
    --column-span: 12
}

@media (min-width: 768px) {
    .c-site-footer__block02 {
        --column-start: 5;
        --column-span: 4
    }
}

@media (min-width: 992px) {
    .c-site-footer__block02 {
        --column-start: 5;
        --column-span: 3
    }
}

@media (min-width: 1440px) {
    .c-site-footer__block02 {
        --column-start: 4;
        --column-span: 2
    }
}

.c-site-footer__social {
    --column-span: 12;
    display: flex;
    order: -1
}

@media (min-width: 768px) {
    .c-site-footer__social {
        --column-span: 2;
        --column-start: 11;
        justify-content: flex-end;
        order: 1;
        margin-top: calc(var(--space-xs) + var(--step-0) * var(--body-line-height))
    }
}

.c-site-footer__social a {
    align-self: flex-start;
    line-height: 0;
    transition: color 0.25s, transform 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform
}

@media (hover: hover) {
    .c-site-footer__social a:hover {
        transform: scale(1.1);
        color: var(--color-orange)
    }
}

.c-site-footer__social>*:not(:first-child) {
    margin-left: var(--space-xs)
}

.c-site-footer__block-label {
    color: var(--color-gray-03);
    font-family: var(--font-family-mono)
}

.c-site-footer__block-link {
    text-shadow: 0.03em 0 var(--color-black), -0.03em 0 var(--color-black), 0 0.03em var(--color-black), 0 -0.03em var(--color-black), 0.06em 0 var(--color-black), -0.06em 0 var(--color-black), 0.09em 0 var(--color-black), -0.09em 0 var(--color-black), 0.12em 0 var(--color-black), -0.12em 0 var(--color-black), 0.15em 0 var(--color-black), -0.15em 0 var(--color-black);
    display: flex;
    flex-direction: column;
    margin-top: var(--space-xs);
    font-size: var(--step-1)
}

.c-site-footer__block-link+.c-site-footer__block-link {
    margin-top: 0
}

.c-site-header {
    pointer-events: none;
    position: fixed;
    z-index: 9996;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: var(--site-header-height);
    opacity: 0;
    transition: transform 1.7s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s;
    transform: translateY(24vh)
}

@media (max-width: 767.98px) {
    .c-site-header {
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 1s;
        transform: translateY(17vh)
    }
}

.intro-quasi-complete .c-site-header {
    transform: none;
    opacity: 1
}

.c-site-header a:hover {
    text-decoration: none
}

.c-site-header .o-container {
    display: flex;
    height: auto
}

.c-site-header__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    height: auto
}

.c-site-header__logo {
    pointer-events: auto
}

.c-site-header__menu-wrapper {
    position: relative
}

.c-site-header__menu-button {
    position: relative;
    z-index: 1;
    padding-right: 0;
    padding-left: 0;
    color: var(--color-black);
    border-radius: 7px;
    transition-delay: 0.4s
}

@media (max-width: 767.98px) {
    .c-site-header__menu-button {
        transition-delay: 0.7s;
        transition-duration: 0.15
    }

    .menu-active .c-site-header__menu-button span:first-child {
        transform: none
    }

    .menu-active .c-site-header__menu-button span:last-child {
        transform: translateY(120%)
    }
}

.menu-active .c-site-header__menu-button {
    background: var(--color-orange) !important;
    transition-delay: 0s;
    transition-duration: 0.3s
}

@media (max-width: 767.98px) {
    .menu-active .c-site-header__menu-button {
        transition-delay: 0.5s;
        transition-duration: 0.3s
    }
}

.c-site-header__menu-button div {
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
    height: 0.9em;
    padding-right: 0.84em;
    padding-left: 0.84em;
    will-change: transform
}

.c-site-header__menu-button div span:first-child {
    position: absolute;
    transform: translateY(-120%)
}

.c-site-header__menu-button span {
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (hover: hover) {
    .menu-active .c-site-header__menu-button:hover {
        cursor: pointer
    }
}

@media (min-width: 768px) {
    .c-site-header__menu {
        position: absolute;
        top: 0;
        right: 0;
        min-width: calc(var(--space-7xl) * 2.5)
    }
}

@media (max-width: 767.98px) {
    .c-site-header__menu {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }
}

.c-site-header__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1;
    transition: transform 1.5s cubic-bezier(0.86, 0, 0.07, 1);
    pointer-events: none
}

@media (min-width: 768px) {
    .c-site-header__bg {
        overflow: hidden;
        border-radius: var(--banner-padding);
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transform: translate(-2px, 2px) scale(1) rotate(1deg);
        cursor: pointer;
        transform-origin: 100% 0
    }
}

.menu-active .c-site-header__bg {
    pointer-events: auto
}

@media (min-width: 768px) {
    .menu-active .c-site-header__bg {
        --translate: calc(var(--container-padding) / 2);
        transform: translate(var(--translate), calc(var(--translate) * -1)) scale(1.1)
    }
}

.c-site-header__bg::before,
.c-site-header__bg::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--color-gray-02);
    content: "";
    pointer-events: none
}

@media (min-width: 768px) {

    .c-site-header__bg::before,
    .c-site-header__bg::after {
        transition: transform 1.5s cubic-bezier(0.23, 1, 0.32, 1);
        transform: translate(130px, 0) rotate(15deg) scale(1.3, 0);
        transform-origin: 100% 0
    }
}

@media (max-width: 767.98px) {

    .c-site-header__bg::before,
    .c-site-header__bg::after {
        transition: transform 1.25s cubic-bezier(0.86, 0, 0.07, 1);
        transform-origin: 100% 0;
        transform: translate(150px, 0) rotate(10deg) scale(1.5, 0)
    }
}

.c-site-header__bg::after {
    background: var(--color-orange)
}

.c-site-header__bg::before {
    transition-delay: 0.05s
}

@media (min-width: 768px) {

    .menu-active .c-site-header__bg::before,
    .menu-active .c-site-header__bg::after {
        transform: translateX(0) rotate(0) scale(1.3, 1)
    }
}

@media (max-width: 767.98px) {

    .menu-active .c-site-header__bg::before,
    .menu-active .c-site-header__bg::after {
        transition: transform 1.7s cubic-bezier(0.86, 0, 0.07, 1);
        transform: translateX(0) rotate(0) scale(1.5, 1)
    }
}

.menu-active .c-site-header__bg::before {
    transition-delay: 0s
}

.menu-active .c-site-header__bg::after {
    transition-delay: 0.05s
}

.c-site-header__menu-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 var(--container-padding);
    text-align: right
}

@media (min-width: 768px) {
    .c-site-header__menu-inner {
        padding: calc(var(--space-xl) * 1.2) var(--space-l) var(--space-m)
    }
}

.menu-active .c-site-header__menu-inner {
    pointer-events: auto
}

.c-site-header__menu-top {
    display: flex;
    flex-direction: column
}

@media (max-width: 767.98px) {
    .c-site-header__menu-top {
        margin-top: auto
    }
}

.c-site-header__menu-top a {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: calc(1em * var(--heading-line-height));
    color: var(--color-black) !important;
    font-size: var(--step-7);
    opacity: 0;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
    transition-delay: 0s;
    will-change: transform;
    transform-origin: 0 100%;
    transform: translateY(0.25em) scale(0.95)
}

@media (max-width: 767.98px) {
    .c-site-header__menu-top a {
        transition: transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.4s 0.4s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s
    }
}

.c-site-header__menu-top a.is-active {
    color: var(--color-white) !important
}

.menu-active .c-site-header__menu-top a {
    opacity: 1;
    transform: none;
    transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.3s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
    transition-delay: calc(var(--stagger) * 0.065s + 0.1s)
}

@media (max-width: 767.98px) {
    .menu-active .c-site-header__menu-top a {
        transition: transform 1.2s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.5s cubic-bezier(0.23, 1, 0.32, 1), color 0.5s;
        transition-delay: calc(var(--stagger) * 0.065s + 0.75s)
    }
}

*>.c-site-header__menu-top a:not(:first-child) {
    margin-top: var(--space-s)
}

.c-site-header__menu-top a div {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (max-width: 767.98px) {
    .c-site-header__menu-top a div {
        transform: none
    }
}

.is-transitioning .c-site-header__menu-top a div {
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1) 1s
}

.c-site-header__menu-top a div::before {
    position: absolute;
    top: 0;
    right: 0;
    content: attr(data-text);
    transform: translateY(-120%);
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (hover: hover) {
    .c-site-header__menu-top a:hover div {
        transform: translateY(110%)
    }

    .c-site-header__menu-top a:hover div::before {
        transform: translateY(-110%)
    }
}

.c-site-header__menu-top a:nth-child(1) {
    --stagger: 1
}

.c-site-header__menu-top a:nth-child(2) {
    --stagger: 2
}

.c-site-header__menu-top a:nth-child(3) {
    --stagger: 3
}

.c-site-header__menu-top a:nth-child(4) {
    --stagger: 4
}

.c-site-header__menu-top a:nth-child(5) {
    --stagger: 5
}

.c-site-header__menu-top a:nth-child(6) {
    --stagger: 6
}

.c-site-header__menu-top a:nth-child(7) {
    --stagger: 7
}

.c-site-header__menu-bottom {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-top: var(--space-xl);
    color: var(--color-black)
}

@media (max-width: 767.98px) {
    .c-site-header__menu-bottom {
        padding-bottom: var(--space-xl)
    }
}

.c-site-header__menu-bottom a {
    text-shadow: 0.03em 0 var(--color-orange), -0.03em 0 var(--color-orange), 0 0.03em var(--color-orange), 0 -0.03em var(--color-orange), 0.06em 0 var(--color-orange), -0.06em 0 var(--color-orange), 0.09em 0 var(--color-orange), -0.09em 0 var(--color-orange), 0.12em 0 var(--color-orange), -0.12em 0 var(--color-orange), 0.15em 0 var(--color-orange), -0.15em 0 var(--color-orange);
    will-change: transform;
    opacity: 0;
    transition: transform 0.75s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.2s cubic-bezier(0.23, 1, 0.32, 1);
    transition-delay: 0s;
    transform-origin: 0 100%;
    transform: translate(-0.25em, 0.25em) scale(0.95)
}

@media (max-width: 767.98px) {
    .c-site-header__menu-bottom a {
        transition: transform 0.75s 0.6s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.5s 0.3s cubic-bezier(0.23, 1, 0.32, 1)
    }
}

.menu-active .c-site-header__menu-bottom a {
    opacity: 1;
    transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
    transition-delay: calc(var(--stagger) * 0.065s + 1.2s);
    transform: none
}

@media (min-width: 768px) {
    .menu-active .c-site-header__menu-bottom a {
        transition: transform 1.1s cubic-bezier(0.23, 1, 0.32, 1), opacity 1.2s cubic-bezier(0.23, 1, 0.32, 1);
        transition-delay: calc(var(--stagger) * 0.065s + 0.6s)
    }
}

*>.c-site-header__menu-bottom a:not(:first-child) {
    margin-top: 0.25em
}

.c-site-header__menu-bottom a:nth-child(1) {
    --stagger: 1
}

.c-site-header__menu-bottom a:nth-child(2) {
    --stagger: 2
}

.c-site-header__menu-bottom a:nth-child(3) {
    --stagger: 3
}

.c-site-header__menu-bottom a:nth-child(4) {
    --stagger: 4
}

.c-site-header__menu-bottom a:nth-child(5) {
    --stagger: 5
}

.c-site-header__menu-bottom a:nth-child(6) {
    --stagger: 6
}

.c-site-header__menu-bottom a:nth-child(7) {
    --stagger: 7
}

.c-site-wrapper {
    pointer-events: none;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh
}

.c-site-wrapper__move {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    overflow: hidden;
    height: 100%;
    will-change: transform
}

.c-site-wrapper__reverse {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%
}

.c-site-wrapper__overlay-wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center
}

.c-site-wrapper__overlay {
    flex-shrink: 0;
    background: var(--color-orange)
}

.c-site-wrapper__inner {
    position: relative;
    width: 100vw;
    height: 100vh
}

.tpl-home .c-site-wrapper__inner {
    opacity: 0
}

.intro-complete .tpl-home .c-site-wrapper__inner {
    opacity: 1
}

.c-site-wrapper__inner::after,
.c-site-wrapper__inner::before {
    position: absolute;
    top: 0;
    left: 50%;
    width: 140vw;
    height: 100%;
    transform: translateX(-50%);
    background: var(--color-white);
    content: ""
}

.c-site-wrapper__inner::after {
    z-index: -1
}

.c-site-wrapper__inner::before {
    background: var(--color-black);
    opacity: 0;
    transition: opacity 1s
}

.grid-layout body.tpl-works .c-site-wrapper__inner::before {
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.theme-black.grid-layout body.tpl-works .c-site-wrapper__inner::before {
    opacity: 1
}

.list-layout body.tpl-works .c-site-wrapper__inner::before {
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.theme-black .c-site-wrapper__inner::before,
.tpl-contact .c-site-wrapper__inner::before {
    opacity: 1
}

.is-transitioning .c-site-wrapper__inner::before {
    transition-delay: 1.35s !important
}

.c-site-wrapper__content {
    --flow: var(--space-5xl-6xl)
}

.c-site-wrapper__content>*:first-child {
    padding-top: calc(var(--site-header-height) + var(--space-l))
}

@media (min-width: 768px) {
    .c-site-wrapper__content>*:first-child {
        padding-top: var(--site-header-height)
    }
}

.c-svg-library {
    position: absolute;
    display: block;
    overflow: hidden;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: none
}

.c-text-highlight a:hover {
    text-decoration: none
}

.c-text-highlight:not(.c-text-highlight--inverted):first-child {
    padding-top: calc(var(--site-header-height) + var(--space-2xl))
}

.c-text-highlight__wrapper {
    --gutter-y: var(--space-l)
}

.c-text-highlight__title {
    --column-span: 12;
    max-width: 15ch;
    font-size: var(--step-7)
}

@media (min-width: 768px) {
    .c-text-highlight__title {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-text-highlight__title {
        --column-span: 7;
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-text-highlight__title {
        --column-span: 5;
        max-width: 100%;
        font-size: var(--step-10)
    }
}

.tpl-service .c-text-highlight__title {
    align-self: flex-end
}

.c-text-highlight__title .c-text-highlight__roll {
    position: relative;
    display: inline-block;
    transition: transform 2s calc(0.75s + var(--index) * 0.5s) cubic-bezier(0.86, 0, 0.07, 1);
    transform: translateY(100%)
}

.intro-quasi-complete .is-inview .c-text-highlight__title .c-text-highlight__roll {
    transform: none
}

.c-text-highlight__title .c-text-highlight__roll::before {
    content: attr(data-text);
    position: absolute;
    transform: translateY(-100%);
    left: 0
}

.c-text-highlight--inverted .c-text-highlight__title {
    margin-left: auto;
    text-align: right
}

@media (min-width: 992px) {
    .c-text-highlight--inverted .c-text-highlight__title {
        --column-span: 7;
        --column-start: 6;
        order: 1
    }
}

@media (min-width: 1440px) {
    .c-text-highlight--inverted .c-text-highlight__title {
        --column-span: 5;
        --column-start: 8
    }
}

.c-text-highlight__body {
    --column-span: 12;
    display: flex;
    flex-direction: column;
    align-self: flex-end;
    max-width: 70ch
}

@media (min-width: 992px) {
    .c-text-highlight__body {
        --column-start: 9;
        --column-span: 4
    }
}

@media (min-width: 992px) {
    .c-text-highlight--inverted .c-text-highlight__body {
        --column-start: 1;
        --column-span: 4;
        order: -1
    }
}

@media (min-width: 1440px) {
    .c-text-highlight--inverted .c-text-highlight__body {
        --column-span: 4
    }
}

.c-text-highlight__text {
    font-size: var(--step-1)
}

.c-text-highlight__highlight {
    --index: 5;
    align-self: flex-start;
    margin-top: var(--space-m)
}

.c-text-image {
    position: relative
}

.c-text-image__switch-theme {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-text-image__image-outer-wrapper {
    width: 100%;
    margin: 0 auto
}

@media (min-width: 768px) {
    .c-text-image__image-outer-wrapper {
        width: calc(var(--column-width) * 6)
    }
}

@media (min-width: 992px) {
    .c-text-image__image-outer-wrapper {
        width: calc(var(--column-width) * 5)
    }
}

@media (min-width: 1440px) {
    .c-text-image__image-outer-wrapper {
        width: calc(var(--column-width) * 4)
    }
}

@media (min-width: 1960px) {
    .c-text-image__image-outer-wrapper {
        width: calc(var(--column-width) * 3)
    }
}

.c-text-image__image-inner-wrapper {
    position: relative;
    padding-bottom: 123.0769230769%;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-text-image__text {
    max-width: 25ch;
    margin: 0 auto;
    margin-top: var(--space-2xl);
    font-size: var(--step-7);
    text-align: center
}

@media (min-width: 768px) {
    .c-text-image__text {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-text-image__text {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-text-image__text {
        font-size: var(--step-10)
    }
}

.c-text-image__image {
    position: absolute;
    top: -2vh;
    right: 0;
    bottom: -2vh;
    left: 0
}

.c-titles__title {
    font-size: var(--step-7);
    text-align: right
}

@media (min-width: 768px) {
    .c-titles__title {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-titles__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-titles__title {
        font-size: var(--step-10)
    }
}

.c-titles__grid {
    --gutter-y: var(--space-2xl);
    grid-auto-flow: dense;
    margin-top: var(--space-2xl)
}

@media (min-width: 992px) {
    .c-titles__image-outer-wrapper {
        --column-span: 3;
        --column-start: 10
    }
}

.c-titles__image-inner-wrapper {
    position: relative;
    overflow: hidden;
    padding-bottom: 133.3333333333%;
    background: var(--color-placeholder);
    border-radius: var(--banner-radius)
}

@media (min-width: 992px) {
    .c-titles__list {
        --column-span: 9
    }
}

.c-titles__list-item-wrapper {
    font-size: var(--step-5);
    opacity: 1 !important;
    transform: none !important
}

@media (min-width: 768px) {
    .c-titles__list-item-wrapper:nth-child(even).is-inview {
        transform: translateX(1em) !important
    }
}

.c-titles__list-item {
    display: block;
    margin-top: var(--space-2xs);
    font-size: var(--step-5)
}

@media (min-width: 768px) {
    .c-titles__list-item {
        margin-top: calc(var(--space-2xs) * 0.25)
    }
}

li:nth-child(odd) .c-titles__list-item {
    color: var(--color-gray-02)
}

li:nth-child(even) .c-titles__list-item {
    color: var(--color-white)
}

.c-titles__image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-works-cta {
    position: relative
}

.c-works-cta a:hover {
    text-decoration: none
}

.c-works-cta__switch-theme {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none
}

.c-works-cta__heading {
    --gutter-y: var(--space-xl);
    grid-auto-flow: dense;
    align-items: flex-end;
    margin-bottom: var(--space-xl)
}

.c-works-cta__subtitle {
    --column-span: 12;
    display: flex;
    justify-content: space-between;
    font-family: var(--font-family-mono)
}

@media (min-width: 768px) {
    .c-works-cta__subtitle {
        --column-span: 4
    }
}

.c-works-cta__title-wrapper {
    --column-span: 12;
    --column-start: 1
}

@media (min-width: 768px) {
    .c-works-cta__title-wrapper {
        --column-span: 6;
        --column-start: 7
    }
}

@media (min-width: 1440px) {
    .c-works-cta__title-wrapper {
        --column-span: 5;
        --column-start: 8
    }
}

.c-works-cta__title {
    max-width: 20ch;
    margin-left: auto;
    font-size: var(--step-7);
    text-align: right
}

@media (min-width: 768px) {
    .c-works-cta__title {
        font-size: var(--step-8)
    }
}

@media (min-width: 992px) {
    .c-works-cta__title {
        font-size: var(--step-9)
    }
}

@media (min-width: 1440px) {
    .c-works-cta__title {
        font-size: var(--step-10)
    }
}

.c-works-cta__item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--banner-radius);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

@media (min-width: 768px) {
    .c-works-cta__item {
        opacity: 1
    }
}

.c-works-cta__item:not(:first-child) {
    margin-top: calc(var(--container-padding) / 1.5)
}

.c-works-cta__item-info {
    pointer-events: none;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: auto;
    padding: var(--space-m);
    color: var(--color-white)
}

@media (min-width: 992px) {
    .c-works-cta__item-info {
        padding: calc(var(--container-padding) / 2)
    }
}

.c-works-cta__info-title {
    font-size: var(--step-1);
    will-change: transform
}

.c-works-cta__info-tags {
    will-change: transform;
    font-family: var(--font-family-mono)
}

@media (max-width: 767.98px) {
    .c-works-cta__info-tags {
        display: none
    }
}

.c-works-cta__cta {
    display: inline-flex;
    align-items: center;
    margin-top: var(--space-xl)
}

.c-works-cta__item-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    transition: opacity 0.5s
}

@media (hover: hover) {
    .c-works-cta__item:hover .c-works-cta__item-image {
        opacity: 0
    }
}

.c-works__item-spacer,
.c-works-cta__item-spacer {
    width: 100%;
    padding-bottom: 40%
}

@media (min-width: 768px) {

    .c-works__item-spacer,
    .c-works-cta__item-spacer {
        padding-bottom: 30%
    }
}

@media (min-width: 992px) {

    .c-works__item-spacer,
    .c-works-cta__item-spacer {
        padding-bottom: 40%
    }
}

.c-works__item-media,
.c-works-cta__item-media {
    position: absolute;
    top: -7.5vh;
    right: 0;
    bottom: -7.5vh;
    left: 0;
    background: var(--color-placeholder)
}

.c-works a {
    text-decoration: none
}

.c-works a:hover {
    text-decoration: none
}

.c-works__header {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: var(--space-l);
    color: var(--theme-color-text)
}

@media (min-width: 768px) {
    .c-works__header {
        flex-direction: row-reverse;
        padding-bottom: var(--space-2xl)
    }
}

.c-works__header-title {
    position: relative;
    font-size: var(--step-8);
    text-align: right;
    transition: color 1s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (min-width: 768px) {
    .c-works__header-title {
        font-size: var(--step-9)
    }
}

@media (min-width: 992px) {
    .c-works__header-title {
        font-size: var(--step-10)
    }
}

@media (min-width: 1440px) {
    .c-works__header-title {
        font-size: 160px
    }
}

.c-works__header-title .c-works__header-stories {
    display: inline-block;
    transform: translateX(-20vw);
    transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-stories {
    transform: none
}

.c-works__header-title .c-works__header-wow-replacer {
    overflow: hidden;
    height: 0;
    opacity: 0;
    transition: height, opacity;
    transition-delay: 3.2s;
    transition-duration: 0s
}

html:not(.is-real-transitioning).intro-complete .c-works__header-title .c-works__header-wow-replacer {
    transition-delay: 0s
}

.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow-replacer {
    height: 1em;
    opacity: 1
}

.c-works__header-title .c-works__header-wow {
    position: relative;
    left: 0;
    pointer-events: none;
    width: calc(100vw - var(--container-padding) * 2);
    height: 1em;
    margin-left: auto;
    transition: height, opacity;
    transition-delay: 3.2s;
    transition-duration: 0s
}

.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow {
    height: 0;
    opacity: 0
}

.c-works__header-title .c-works__header-wow div {
    position: absolute;
    left: 0;
    width: 3.58ch
}

.c-works__header-title .c-works__header-wow span:first-child {
    position: absolute;
    z-index: 1;
    left: 0;
    display: inline-block;
    width: 40ch;
    transform: translateX(calc(-100% + 1.29ch));
    background: var(--color-white);
    transition: transform 2s 1.2s cubic-bezier(0.86, 0, 0.07, 1), background 1s 0s cubic-bezier(0.23, 1, 0.32, 1)
}

.list-layout .c-works__header-title .c-works__header-wow span:first-child {
    background: var(--color-black)
}

.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow span:first-child {
    transform: translateX(calc(-100% + 1.29ch + 100vw - var(--container-padding) * 2 - 2.58ch - 1ch))
}

.c-works__header-title .c-works__header-wow span:last-child {
    position: absolute;
    left: 0;
    transform: translateX(calc(-100% + 2.58ch + 1ch));
    transition: transform 2s 1s cubic-bezier(0.86, 0, 0.07, 1)
}

.intro-quasi-complete .is-inview .c-works__header-title .c-works__header-wow span:last-child {
    transform: translateX(calc(-100% + 100vw - var(--container-padding) * 2))
}

.list-layout .c-works__header-title {
    color: var(--color-gray-01)
}

.c-works__header-nav {
    display: flex
}

@media (max-width: 767.98px) {
    .c-works__header-nav {
        margin-top: var(--space-xl);
        margin-right: auto
    }
}

@media (min-width: 768px) {
    .c-works__header-nav {
        transform: translateX(100%)
    }
}

.c-works__header-nav>*:last-child {
    margin-left: var(--space-s)
}

.c-works__header-button {
    position: relative;
    padding: 0.5em 0.84em;
    color: var(--color-gray-03);
    font-family: var(--font-family-mono);
    font-weight: 700;
    line-height: 0.9;
    text-transform: uppercase;
    border: 1px solid var(--color-gray-03);
    border-radius: 7px;
    transition: background 0.75s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

@media (min-width: 768px) {
    .c-works__header-button {
        padding: 0.35em 0.6em
    }
}

.c-works__header-button>span {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 0.9em
}

.c-works__header-button>span span {
    display: block;
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translate3d(0, 0, 0);
    transform-origin: 100% 50%
}

.c-works__header-button>span span:last-child {
    padding-top: 0.25em;
    transform: translate(0, 0)
}

.c-works__header-button:hover {
    cursor: pointer
}

.c-works__header-button.is-active {
    color: var(--color-black);
    background-color: var(--color-gray-01);
    border: 1px solid var(--color-gray-01);
    cursor: default;
    transition: transform 0s cubic-bezier(0.23, 1, 0.32, 1)
}

.list-layout .c-works__header-button {
    color: var(--color-gray-03);
    border: 1px solid var(--color-gray-03)
}

.list-layout .c-works__header-button.is-active {
    color: var(--color-white) !important;
    background-color: var(--color-gray-03)
}

@media (hover: hover) {

    .c-works__header-button.is-active span span:first-child,
    .c-works__header-button:hover span span:first-child {
        transform: translateY(calc(-100% - 0.25em));
        transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
    }

    .c-works__header-button.is-active span span:last-child,
    .c-works__header-button:hover span span:last-child {
        transform: translateY(-100%);
        transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
    }
}

.c-works__title-bar {
    color: var(--color-gray-03);
    font-family: var(--font-family-mono);
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.list-layout .c-works__title-bar {
    opacity: 1
}

.c-works__title-story {
    --column-start: 1;
    --column-span: 4
}

.c-works__title-client {
    --column-start: 5;
    --column-span: 4
}

@media (max-width: 991.98px) {
    .c-works__title-client {
        display: none
    }
}

.c-works__title-tags {
    --column-start: 9;
    --column-span: 3
}

@media (max-width: 991.98px) {
    .c-works__title-tags {
        --column-start: 8;
        --column-span: 3
    }
}

@media (max-width: 767.98px) {
    .c-works__title-tags {
        display: none
    }
}

.c-works__item {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--banner-radius);
    transition: margin 1s cubic-bezier(0.23, 1, 0.32, 1);
    -webkit-mask-image: radial-gradient(#fff, #000);
    mask-image: radial-gradient(#fff, #000)
}

.c-works__item:not(:first-child) {
    margin-top: calc(var(--container-padding) / 1.5)
}

.list-layout .c-works__item {
    margin-top: 0
}

.list-layout .c-works__item>* {
    pointer-events: none
}

.c-works__line-list {
    position: absolute;
    z-index: 1;
    width: calc(100% - var(--container-padding) * 2);
    height: 1px;
    background: var(--color-gray-01);
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
    pointer-events: none
}

.list-layout .c-works__line-list {
    opacity: 1
}

.c-works__line-list::after {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--color-orange);
    content: "";
    opacity: 0;
    transform-origin: 100% 0;
    transform: scaleX(0);
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1), opacity 0s 1s
}

.c-works__line-list:last-child {
    bottom: 1px
}

@media (hover: hover) {
    .list-layout a:hover+.c-works__line-list::after {
        opacity: 1;
        transition: transform 2s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.75s 0s;
        transform-origin: 0 0;
        transform: scaleX(1)
    }
}

.c-works__item-spacer {
    transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1)
}

.list-layout .c-works__item-spacer {
    padding-bottom: 0%
}

.list-layout .c-works__item-media {
    opacity: 0;
    transition-delay: 1s
}

.c-works__item-bg {
    pointer-events: none;
    position: absolute;
    top: -1px;
    right: 0;
    bottom: 1px;
    left: 0;
    background: var(--color-black);
    opacity: 0;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
    content: "";
    will-change: transform
}

.list-layout .c-works__item-bg {
    opacity: 1
}

.c-works__item-info {
    --padding: var(--space-m);
    will-change: transform;
    pointer-events: none;
    position: relative;
    align-items: center;
    padding: calc(var(--padding)) 0;
    color: var(--color-white);
    transition: padding 1s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (min-width: 992px) {
    .c-works__item-info {
        --padding: calc(var(--container-padding) / 2)
    }
}

.list-layout .c-works__item-info {
    padding-left: 0
}

.c-works__info-title {
    --column-start: 1;
    --column-span: 10;
    font-size: var(--step-1);
    transform: translateX(var(--padding));
    transition: transform 1s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (min-width: 768px) {
    .c-works__info-title {
        --column-span: 4
    }
}

@media (min-width: 992px) {
    .c-works__info-title {
        --column-span: 4
    }
}

.list-layout .c-works__info-title {
    transform: none
}

.c-works__info-client {
    --column-start: 5;
    --column-span: 3;
    right: 0;
    font-size: var(--step-1);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (max-width: 991.98px) {
    .c-works__info-client {
        display: none
    }
}

.list-layout .c-works__info-client {
    opacity: 1
}

.c-works__info-tags-grid {
    position: absolute;
    right: var(--padding);
    font-family: var(--font-family-mono);
    transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (max-width: 767.98px) {
    .c-works__info-tags-grid {
        display: none
    }
}

.list-layout .c-works__info-tags-grid {
    opacity: 0
}

.c-works__info-tags-list {
    --column-span: 4;
    --column-start: 8;
    position: absolute;
    font-size: var(--step-1);
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}

@media (min-width: 992px) {
    .c-works__info-tags-list {
        --column-span: 4;
        --column-start: 9
    }
}

@media (max-width: 767.98px) {
    .c-works__info-tags-list {
        display: none
    }
}

.list-layout .c-works__info-tags-list {
    opacity: 1
}

.c-works__info-button {
    --column-span: 1;
    --column-start: 12;
    position: absolute;
    right: 1px;
    font-size: 0;
    opacity: 0;
    transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translateX(calc(var(--padding) * -1));
    justify-self: flex-end
}

.list-layout .c-works__info-button {
    transform: none;
    opacity: 1
}

.c-works__info-button .o-button-arrow {
    transform-origin: 100% 50%
}

.c-works__item-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
    transition: opacity 0.5s;
    will-change: transform
}

@media (hover: hover) {
    .c-works__item:hover .c-works__item-image {
        opacity: 0
    }
}

.c-wow-layer {
    --font-size: 50vh;
    pointer-events: none;
    position: fixed;
    z-index: 99999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none
}

.wow-layer-visible .c-wow-layer {
    display: block
}

.c-wow-layer__wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: flex-end;
    width: 3.392ch;
    height: 0.5978em;
    color: var(--color-yellow);
    font-family: var(--font-family-heading);
    font-size: var(--font-size);
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    transition: transform 2.5s cubic-bezier(0.23, 1, 0.32, 1);
    transform: translate(-50%, -50%) rotate(-90deg) scale(42);
    will-change: transform
}

.c-wow-layer__wrapper>div {
    position: relative;
    bottom: -0.124em
}

.trigger-wow-layer .c-wow-layer__wrapper {
    opacity: 1;
    transform: translate(-50%, -50%)
}

.c-wow-layer__gif-wrapper,
.c-wow-layer__gif-wrapper-02 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-wow-layer__gif-wrapper {
    transition: transform 3.9s 1.8s cubic-bezier(0.86, 0, 0.07, 1);
    transform: scale(1)
}

.trigger-wow-layer .c-wow-layer__gif-wrapper {
    transform: translateX(-100%) rotate(-15deg)
}

.c-wow-layer__gif-wrapper-02 {
    transition: transform 3.7s 1.8s cubic-bezier(0.86, 0, 0.07, 1)
}

.trigger-wow-layer .c-wow-layer__gif-wrapper-02 {
    transform: translateX(-100%) rotate(-10deg)
}

.c-wow-layer__gif {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20vw;
    height: 10vw;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 7px;
    opacity: 0;
    transition-delay: calc(var(--index) * 0.075s + 1.35s), calc(var(--index) * 0.075s + 1.35s);
    transition-duration: 1.5s, 0s;
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1), linear;
    transform: translate(-50%, calc(-50% + 200px)) scale(1.1)
}

.trigger-wow-layer .c-wow-layer__gif {
    transform: translate(-50%, -50%) scale(1.2) !important;
    opacity: 1 !important
}

.c-wow-layer__gif.gif-01 {
    --index: 1;
    top: 20%;
    left: 20%;
    width: 15vw;
    height: 12vw
}

.c-wow-layer__gif.gif-02 {
    --index: 2;
    top: 24%;
    left: 74%;
    width: 20vw;
    height: 12vw
}

.c-wow-layer__gif.gif-03 {
    --index: 3;
    z-index: 100;
    top: 70%;
    left: 80%;
    width: 23vw;
    height: 42vw
}

.c-wow-layer__gif.gif-04 {
    --index: 4;
    top: 74%;
    left: 20%;
    width: 23vw;
    height: 34vw
}

.c-wow-layer__gif.gif-05 {
    --index: 5
}

.c-wow-layer__text {
    display: flex;
    align-items: flex-end;
    transition: transform 3s 1.5s cubic-bezier(0.86, 0, 0.07, 1);
    will-change: transform
}

.c-wow-layer__text div {
    font-size: calc(1em + var(--size) * 0.1em);
    transform: translateY(calc((1em - var(--font-size)) / 2.36))
}

.trigger-wow-layer .c-wow-layer__text {
    transform: translate(calc(-100% - 50vw + 1.696ch), 0)
}

.c-wow-layer__image {
    --padding: 0;
    position: absolute;
    top: var(--padding);
    right: var(--padding);
    bottom: var(--padding);
    left: var(--padding);
    pointer-events: none
}

.c-wow-layer__sticker {
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;
    width: 225px;
    height: 225px;
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.2s 0.3s;
    pointer-events: auto;
    transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1);
    perspective: 1000px;
    transform-origin: center center
}

.c-wow-layer__sticker:hover {
    transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1.1) !important;
    cursor: pointer
}

.show-sticker .c-wow-layer__sticker {
    opacity: 1;
    transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.5s 0s;
    transform: translate(-50%, -50%) rotate(var(--sticker-rotation)) scale(1)
}

.show-sticker.trigger-wow-layer .c-wow-layer__sticker {
    opacity: 0;
    transition: transform 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86), opacity 0.2s 0.3s !important;
    transform: translate(-50%, -50%) rotate(40deg) scale(0) !important
}

.c-wow-layer__sticker-rotation {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: transparent;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.25) 0 50px 100px -20px, rgba(0, 0, 0, 0.3) 0 30px 60px -30px;
    transform: rotateY(var(--rotate-x)) rotateX(var(--rotate-y))
}

.c-wow-layer__sticker-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 20px;
    transform-style: preserve-3d;
    transform: translate3d(0, 0, 0.01px)
}

.c-wow-layer__sticker-shine {
    --angle: -22deg;
    --space: 5%;
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-clip-path: inset(0 round 20px);
    clip-path: inset(0 round 20px);
    left: 0;
    background-image: repeating-linear-gradient(var(--angle), hsla(283, 49%, 60%, 0.75) calc(var(--space) * 1), hsla(2, 74%, 59%, 0.75) calc(var(--space) * 2), hsla(53, 67%, 53%, 0.75) calc(var(--space) * 3), hsla(93, 56%, 52%, 0.75) calc(var(--space) * 4), hsla(176, 38%, 50%, 0.75) calc(var(--space) * 5), hsla(228, 100%, 77%, 0.75) calc(var(--space) * 6), hsla(283, 49%, 61%, 0.75) calc(var(--space) * 7));
    background-position: 0% calc(var(--background-y) * 1), var(--background-x) var(--background-y);
    background-size: 300% 400%;
    opacity: 0;
    transition: opacity 1s;
    filter: brightness(calc(var(--pointer-from-center) * 0.3 + 0.5)) contrast(2.3) saturate(1);
    background-blend-mode: color-dodge;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-mask-position: center center;
    mask-position: center center;
    mix-blend-mode: color-dodge
}

.c-wow-layer__sticker:hover .c-wow-layer__sticker-shine {
    opacity: 0.8
}

.c-wow-layer__sticker-glare {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    background: radial-gradient(farthest-corner circle at var(--pointer-x) var(--pointer-y), hsl(0, 0%, 100%) 10%, hsla(0, 0%, 100%, 0.6) 35%, hsl(180, 11%, 35%) 60%);
    backface-visibility: hidden;
    border-radius: 20px;
    opacity: 0;
    transition: opacity 1s 0.3s;
    transform: translateZ(1.41px);
    mix-blend-mode: soft-light;
    filter: brightness(0.8) contrast(1.5)
}

.c-wow-layer__sticker:hover .c-wow-layer__sticker-glare {
    opacity: 0.8
}

