@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: "Sohne";
  src: url("../fonts/SohneBreit-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Sohne";
  src: url("../fonts/SohneBreit-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
@font-face {
  font-family: "Sohne";
  src: url("../fonts/SohneBreit-SemiBold.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
} /* RobotoMono */
@font-face {
  font-family: "PPMori";
  src: url("../fonts/PPMori-SemiBold.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "PPMori";
  src: url("../fonts/PPMori-SemiBold.otf") format("opentype");
  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: "Sohne", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, oxygen-sans, ubuntu, cantarell,
    "Helvetica Neue", sans-serif;
  --font-family-mono: "PPMori", -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: #fbe173;
  --color-blue: #436bd2;
  --color-light-blue: #6bfbf9;
  --color-gray-01: #e5e5dc;
  --color-gray-02: #cacac1;
  --color-gray-03: #898983;
  --color-gray-04: #4f4f48;
  --color-orange: #fbe173;
}
@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;
}
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;
}
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: 1;
  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--twitter,
.o-icon--instagram {
  width: calc(var(--step-0) + 2px);
  height: calc(var(--step-0) + 2px);
  fill: currentcolor;
  stroke: none;
}
.o-icon--logo-condensed {
  display: inline-block;
  width: 49px;
  height: 36px;
}
.o-icon__svg {
  width: 100%;
  height: 100%;
  opacity: 1;
}
.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;
}
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;
  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: var(--color-orange) !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);
}
@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 {
  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;
}
.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;
}
.tpl-home .c-logo,
.tpl-contact .c-logo {
  color: var(--color-white);
}
.change-color .tpl-home .c-logo {
  color: var(--color-black);
}
.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);
}
.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;
  position: relative;
}
.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: 20%;
  }
}
.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: none;
}
@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;
  }
}
.languageFlag {
  display: flex;
  flex-direction: column;
  transform: scale(0.7);
  position: absolute;
  top: -28px;
  right: 130px;
  padding: 0;
}

@media only screen and (max-width: 767px) {
  .languageFlag {
    right: 100px;
  }
}
.languageFlag svg {
  width: 46px;
  height: 46px;
  transform: scale(1) !important;
}

.languageFlag.second svg {
  margin: 5px 0;
}

.first {
  z-index: 11;
  display: block;
  margin-bottom: 5px;
}

.second {
  z-index: 10;
  opacity: 0;
  transition: ease-in 0.8s;
  transform: translateY(-40px);
  transition-duration: 300ms;
}

.languageFlag:hover .second {
  transform: translateY(0px);
  opacity: 1;
}

.o-button.languageFlag {
  background-color: transparent;
}

.float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50px;
  text-align: center;
  font-size: 30px;
  z-index: 100;
}

.my-float {
  margin-top: 14px;
}
