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

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

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

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

table {
    border-collapse: collapse;
    border-spacing: 0
}

button {
    -moz-osx-font-smoothing: inherit;
    -webkit-appearance: none;
    -webkit-font-smoothing: inherit;
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    line-height: normal;
    margin: 0;
    overflow: visible;
    padding: 0;
    text-align: inherit;
    width: auto
}

button::-moz-focus-inner {
    border: 0;
    padding: 0
}

.one-pager-header, .page:not(.page--home) {
    margin-left: auto;
    margin-right: auto;
    max-width: 1920px;
    overflow: hidden;
    padding-left: 30px;
    padding-right: 30px
}

@media only screen and (max-width: 768px) {
    .one-pager-header, .page:not(.page--home) {
        padding-left: 20px;
        padding-right: 20px
    }
}

@font-face {
    font-family: FKGrotesk;
    font-style: normal;
    font-weight: 300;
    src: url(FKGrotesk-Regular.woff2) format("woff2"), url(FKGrotesk-Regular.woff) format("woff")
}

@font-face {
    font-family: GTAlpina;
    font-style: normal;
    font-weight: 300;
    src: url(GT-Alpina-Standard-Regular.woff2) format("woff2"), url(GT-Alpina-Standard-Regular.woff) format("woff")
}

.type-overlay__item--marquee__text {
    font-family: FKGrotesk;
    font-size: 150px;
    font-size: 10.4vw;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1
}

@media only screen and (min-width: 1441px) {
    .type-overlay__item--marquee__text {
        font-size: 150px
    }
}

@media only screen and (max-width: 768px) {
    .type-overlay__item--marquee__text {
        font-size: 120px;
        font-size: 15.6vw;
        line-height: 1.2
    }
}

@media only screen and (max-width: 540px) {
    .type-overlay__item--marquee__text {
        font-size: 60px;
        font-size: 15.5vw
    }
}

.one-pager-companies__title, .one-pager-hero__title {
    font-family: FKGrotesk;
    font-size: 100px;
    font-size: 6.94vw;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1
}

@media only screen and (min-width: 1441px) {
    .one-pager-companies__title, .one-pager-hero__title {
        font-size: 100px
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__title, .one-pager-hero__title {
        font-size: 8vw
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__title, .one-pager-hero__title {
        font-size: 9vw;
        line-height: 1.125
    }
}

.one-pager-companies__company-name, .one-pager-quote__quote, .quote__quote {
    font-family: FKGrotesk;
    font-size: 60px;
    font-size: 4.16vw;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1
}

@media only screen and (min-width: 1441px) {
    .one-pager-companies__company-name, .one-pager-quote__quote, .quote__quote {
        font-size: 60px
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__company-name, .one-pager-quote__quote, .quote__quote {
        font-size: 50px;
        font-size: 6.51vw
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__company-name, .one-pager-quote__quote, .quote__quote {
        font-size: 40px;
        line-height: 1.125
    }
}

.button--large {
    font-family: FKGrotesk;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.2
}

@media only screen and (max-width: 768px) {
    .button--large {
        font-size: 17px;
        line-height: 1.18
    }
}

body {
    font-family: GTAlpina;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5
}

.one-pager-companies__company-category, .one-pager-companies__filters {
    font-family: GTAlpina;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.2
}

.one-pager-header__item, .type-overlay__item--blocks, .type-overlay__item--circle__svg text, .type-overlay__item--letter-spacing__text {
    font-family: FKGrotesk;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.67
}

.animated-link .letter:first-child .first, .animated-link .letter:first-child .second {
    transition-delay: 0s
}

.animated-link .letter:nth-child(2) .first, .animated-link .letter:nth-child(2) .second {
    transition-delay: .02s
}

.animated-link .letter:nth-child(3) .first, .animated-link .letter:nth-child(3) .second {
    transition-delay: .04s
}

.animated-link .letter:nth-child(4) .first, .animated-link .letter:nth-child(4) .second {
    transition-delay: .06s
}

.animated-link .letter:nth-child(5) .first, .animated-link .letter:nth-child(5) .second {
    transition-delay: .08s
}

.animated-link .letter:nth-child(6) .first, .animated-link .letter:nth-child(6) .second {
    transition-delay: .1s
}

.animated-link .letter:nth-child(7) .first, .animated-link .letter:nth-child(7) .second {
    transition-delay: .12s
}

.animated-link .letter:nth-child(8) .first, .animated-link .letter:nth-child(8) .second {
    transition-delay: .14s
}

.animated-link .letter:nth-child(9) .first, .animated-link .letter:nth-child(9) .second {
    transition-delay: .16s
}

.animated-link .letter:nth-child(10) .first, .animated-link .letter:nth-child(10) .second {
    transition-delay: .18s
}

.animated-link .letter:nth-child(11) .first, .animated-link .letter:nth-child(11) .second {
    transition-delay: .2s
}

.animated-link .letter:nth-child(12) .first, .animated-link .letter:nth-child(12) .second {
    transition-delay: .22s
}

.animated-link .letter:nth-child(13) .first, .animated-link .letter:nth-child(13) .second {
    transition-delay: .24s
}

.animated-link .letter:nth-child(14) .first, .animated-link .letter:nth-child(14) .second {
    transition-delay: .26s
}

.animated-link .letter:nth-child(15) .first, .animated-link .letter:nth-child(15) .second {
    transition-delay: .28s
}

.animated-link .letter:nth-child(16) .first, .animated-link .letter:nth-child(16) .second {
    transition-delay: .3s
}

.animated-link .letter:nth-child(17) .first, .animated-link .letter:nth-child(17) .second {
    transition-delay: .32s
}

.animated-link .letter:nth-child(18) .first, .animated-link .letter:nth-child(18) .second {
    transition-delay: .34s
}

.animated-link .letter:nth-child(19) .first, .animated-link .letter:nth-child(19) .second {
    transition-delay: .36s
}

.animated-link .letter:nth-child(20) .first, .animated-link .letter:nth-child(20) .second {
    transition-delay: .38s
}

.animated-link:hover .first {
    opacity: 0;
    transform: translateY(-100%)
}

.animated-link:hover .second {
    opacity: 1;
    transform: translate(-50%)
}

.letter {
    display: inline-block;
    overflow: hidden;
    position: relative
}

.letter .first, .letter .second {
    display: inline-block;
    transition: opacity .15s cubic-bezier(.18, .26, .27, .96), transform .15s cubic-bezier(.18, .26, .27, .96)
}

.letter .second {
    font-family: GTAlpina;
    font-size: 1.05em;
    left: 50%;
    opacity: 0;
    position: absolute;
    transform: translate(-50%, 100%)
}

.button {
    background: #fff;
    border: 1px solid #090908;
    border-radius: 20px;
    padding: 12px 33px 9px;
    transition: background .3s ease, border-color .3s ease, color .3s ease
}

.button:hover {
    background: #000;
    color: #fff
}

.button--large {
    border-radius: 40px;
    padding: 14px 75px
}

.quote {
    margin-bottom: 120px;
    margin-left: 4.1666666667%;
    margin-top: 120px;
    width: 75%
}

.quote .quote__author, .quote .quote__quote {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .5s ease, transform .5s ease-out
}

.quote.entered-once .quote__quote {
    opacity: 1;
    transform: none;
    transition-delay: 0s
}

.quote.entered-once .quote__author {
    opacity: 1;
    transform: none;
    transition-delay: .1s
}

@media only screen and (max-width: 768px) {
    .quote {
        margin-bottom: 50px;
        margin-left: 0;
        margin-top: 70px;
        width: 85.7142857143%
    }
}

@media only screen and (max-width: 540px) {
    .quote {
        margin-bottom: 30px;
        margin-top: 150px;
        width: 100%
    }
}

.quote__quote {
    margin-bottom: 13px
}

@media only screen and (max-width: 540px) {
    .quote__quote {
        font-family: FKGrotesk;
        font-size: 48px;
        font-size: 3.33vw;
        font-weight: 400;
        letter-spacing: .05em;
        line-height: 1
    }
}

@media only screen and (max-width: 540px)and (min-width: 1441px) {
    .quote__quote {
        font-size: 48px
    }
}

@media only screen and (max-width: 540px)and (max-width: 768px) {
    .quote__quote {
        font-size: 32px;
        font-size: 4.16vw;
        letter-spacing: .02em
    }
}

@media only screen and (max-width: 540px)and (max-width: 540px) {
    .quote__quote {
        font-size: 30px;
        line-height: 1.16
    }
}

body.dark {
    color: #fff
}

body.dark, body.dark .loading {
    background: #000
}

body.dark .header {
    background: #000;
    color: #fff
}

body.dark .header__item--active:before {
    background: #fff
}

body.dark .button {
    background: #000;
    border-color: #fff
}

body.dark .button:hover {
    background: #fff;
    color: #000
}

body.dark .next {
    background: #000;
    color: #fff
}

body.dark .hero__line, body.dark .next__line, body.dark .transition-wipe {
    background: #fff
}

body.dark .hero__line:before {
    background: #000
}

body.dark .header__logo svg path {
    fill: #fff
}

body.dark .header__menu-toggle:after, body.dark .header__menu-toggle:before {
    background: #fff
}

.transition-wipe {
    background: #000;
    left: 0;
    height: 100vh;
    position: fixed;
    top: 0;
    transform: translate3d(0, 100%, 0) skewY(-3deg);
    transform-origin: top right;
    transition: transform .3s ease;
    width: 100%;
    z-index: 15
}

.transition-wipe.is-transitioning {
    transform: translateZ(0)
}

.type-overlay {
    bottom: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    pointer-events: none;
    right: 0;
    top: 0;
    transition: opacity .3s .3s, visibility 1ms .6s;
    visibility: hidden;
    z-index: 10000000
}

.type-overlay.is-visible {
    opacity: 1;
    transition: opacity .3s;
    visibility: visible
}

.type-overlay__item {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: visibility 1ms .6s;
    visibility: hidden
}

.type-overlay__item.is-visible {
    transition: none;
    visibility: visible
}

.type-overlay__item--circle {
    transition: background .3s .2s, visibility 1ms .6s
}

.type-overlay.is-visible .type-overlay__item--circle {
    background: hsla(0, 0%, 100%, .93);
    transition: background .3s
}

body.dark .type-overlay.is-visible .type-overlay__item--circle {
    background: rgba(0, 0, 0, .93)
}

.type-overlay__item--circle__svg {
    left: 0;
    position: absolute;
    transform: translate(-50%, -50%);
    top: 0;
    width: 350px
}

.type-overlay__item--circle__svg text {
    fill: #000;
    text-transform: uppercase
}

body.dark .type-overlay__item--circle__svg text {
    fill: #fff
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text {
    opacity: 0;
    transform: scale(.5);
    transform-origin: 50% 50%;
    transition: transform .2s ease-in-out, opacity .3s
}

.type-overlay.is-visible .type-overlay__item--circle__svg .type-overlay__item--circle__text {
    transform: none;
    transition: transform .3s ease-in-out, opacity .5s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text .type-overlay__item--circle__text-inner {
    animation: type-overlay-text-circle 3s linear infinite;
    transform-origin: 50% 50%
}

@keyframes type-overlay-text-circle {
    0% {
        transform: rotate(0)
    }
    33% {
        transform: rotate(120deg)
    }
    66% {
        transform: rotate(240deg)
    }
    to {
        transform: rotate(1turn)
    }
}

.type-overlay.is-visible .type-overlay__item--circle__svg .type-overlay__item--circle__text:first-of-type {
    opacity: .3;
    transition-delay: .26s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:first-of-type .type-overlay__item--circle__text-inner {
    animation-duration: 6s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:first-of-type .type-overlay__item--circle__text-text {
    letter-spacing: .96em
}

.type-overlay.is-visible .type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(2) {
    opacity: .5;
    transition-delay: .25s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(2) .type-overlay__item--circle__text-inner {
    animation-duration: 8s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(2) .type-overlay__item--circle__text-text {
    letter-spacing: 1em
}

.type-overlay.is-visible .type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(3) {
    opacity: .7;
    transition-delay: .23s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(3) .type-overlay__item--circle__text-inner {
    animation-duration: 10s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(3) .type-overlay__item--circle__text-text {
    letter-spacing: .97em
}

.type-overlay.is-visible .type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(4) {
    opacity: .8;
    transition-delay: .2s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(4) .type-overlay__item--circle__text-inner {
    animation-duration: 12s
}

.type-overlay__item--circle__svg .type-overlay__item--circle__text:nth-of-type(4) .type-overlay__item--circle__text-text {
    letter-spacing: .97em
}

.type-overlay__item--letter-spacing {
    color: #000;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
    transition: background .3s .2s, visibility 1ms .6s;
    overflow: hidden
}

body.dark .type-overlay__item--letter-spacing {
    color: #fff
}

.type-overlay.is-visible .type-overlay__item--letter-spacing {
    background: hsla(0, 0%, 100%, .93);
    transition: background .3s
}

body.dark .type-overlay.is-visible .type-overlay__item--letter-spacing {
    background: rgba(0, 0, 0, .93)
}

.type-overlay__item--letter-spacing__text {
    animation: type-overlay-text-spread 2s infinite alternate;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    width: 100%
}

@keyframes type-overlay-text-spread {
    0% {
        letter-spacing: 0;
        filter: hue-rotate(0deg)
    }
    to {
        letter-spacing: calc((100vw - 125px) / 17);
        filter: hue-rotate(-1turn)
    }
}

@media only screen and (min-width: 1961px) {
    .type-overlay__item--letter-spacing__text {
        font-size: 28px
    }
}

@media only screen and (max-width: 540px) {
    .type-overlay__item--letter-spacing__text {
        animation-duration: 1.3s
    }
}

.type-overlay__item--marquee {
    color: #000;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
    transition: background .3s .2s, visibility 1ms .6s;
    overflow: hidden
}

body.dark .type-overlay__item--marquee {
    color: #fff
}

.type-overlay.is-visible .type-overlay__item--marquee {
    background: hsla(0, 0%, 100%, .93);
    transition: background .3s
}

body.dark .type-overlay.is-visible .type-overlay__item--marquee {
    background: rgba(0, 0, 0, .93)
}

.type-overlay__item--marquee__text {
    font-size: 10vh;
    opacity: .8;
    text-transform: uppercase;
    white-space: nowrap;
    width: 100%
}

@keyframes type-overlay-text-marquee {
    0% {
        transform: translateX(0)
    }
    to {
        transform: translateX(-200%)
    }
}

.type-overlay__item--marquee__text:nth-child(odd) .type-overlay__item--marquee__text-inner {
    animation: type-overlay-text-marquee 12s linear infinite
}

.type-overlay__item--marquee__text:nth-child(2n) .type-overlay__item--marquee__text-inner {
    animation: type-overlay-text-marquee 12s linear infinite reverse
}

.type-overlay__item--marquee__text-inner {
    display: inline-block
}

.type-overlay__item--blocks {
    align-items: center;
    color: #000;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    text-transform: uppercase;
    transition: background .3s .2s, visibility 1ms .6s;
    transform-style: preserve-3d;
    overflow: hidden;
    perspective: 2000px
}

@media only screen and (min-width: 541px) {
    .type-overlay__item--blocks {
        font-size: 24px
    }
}

@keyframes type-overlay-block-rotation {
    0% {
        transform: rotate(0deg) rotateY(0deg)
    }
    25% {
        transform: rotate(90deg) rotateY(90deg)
    }
    50% {
        transform: rotate(180deg) rotateY(180deg)
    }
    75% {
        transform: rotate(270deg) rotateY(270deg)
    }
    to {
        transform: rotate(1turn) rotateY(1turn)
    }
}

.type-overlay__item--blocks__position {
    animation: type-overlay-block-rotation 16.8s ease-in-out infinite;
    transform-style: preserve-3d
}

@keyframes type-overlay-block-translate {
    0%, 2% {
        transform: none
    }
    50% {
        transform: scale(1.3) translateY(-9em)
    }
    98%, to {
        transform: scale(1) translateY(-11.25em)
    }
}

.type-overlay__item--blocks__off {
    animation: type-overlay-block-translate 4.2s ease-in-out infinite;
    transform-style: preserve-3d
}

.type-overlay__item--blocks__tile {
    animation: inherit;
    position: absolute;
    transform-style: preserve-3d
}

.type-overlay__item--blocks__tile:first-child {
    animation-name: type-overlay-block-tile-1
}

@keyframes type-overlay-block-tile-1 {
    0%, 2% {
        transform: translateY(7.5em)
    }
    44%, to {
        transform: translateY(18.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(2) {
    animation-name: type-overlay-block-tile-2
}

@keyframes type-overlay-block-tile-2 {
    0%, 5% {
        transform: translateY(6.5em)
    }
    47%, to {
        transform: translateY(17.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(3) {
    animation-name: type-overlay-block-tile-3
}

@keyframes type-overlay-block-tile-3 {
    0%, 8% {
        transform: translateY(5.5em)
    }
    50%, to {
        transform: translateY(16.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(4) {
    animation-name: type-overlay-block-tile-4
}

@keyframes type-overlay-block-tile-4 {
    0%, 11% {
        transform: translateY(4.5em)
    }
    53%, to {
        transform: translateY(15.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(5) {
    animation-name: type-overlay-block-tile-5
}

@keyframes type-overlay-block-tile-5 {
    0%, 14% {
        transform: translateY(3.5em)
    }
    56%, to {
        transform: translateY(14.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(6) {
    animation-name: type-overlay-block-tile-6
}

@keyframes type-overlay-block-tile-6 {
    0%, 17% {
        transform: translateY(2.5em)
    }
    59%, to {
        transform: translateY(13.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(7) {
    animation-name: type-overlay-block-tile-7
}

@keyframes type-overlay-block-tile-7 {
    0%, 20% {
        transform: translateY(1.5em)
    }
    62%, to {
        transform: translateY(12.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(8) {
    animation-name: type-overlay-block-tile-8
}

@keyframes type-overlay-block-tile-8 {
    0%, 23% {
        transform: translateY(.5em)
    }
    65%, to {
        transform: translateY(11.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(9) {
    animation-name: type-overlay-block-tile-9
}

@keyframes type-overlay-block-tile-9 {
    0%, 26% {
        transform: translateY(-.5em)
    }
    68%, to {
        transform: translateY(10.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(10) {
    animation-name: type-overlay-block-tile-10
}

@keyframes type-overlay-block-tile-10 {
    0%, 29% {
        transform: translateY(-1.5em)
    }
    71%, to {
        transform: translateY(9.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(11) {
    animation-name: type-overlay-block-tile-11
}

@keyframes type-overlay-block-tile-11 {
    0%, 32% {
        transform: translateY(-2.5em)
    }
    74%, to {
        transform: translateY(8.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(12) {
    animation-name: type-overlay-block-tile-12
}

@keyframes type-overlay-block-tile-12 {
    0%, 35% {
        transform: translateY(-3.5em)
    }
    77%, to {
        transform: translateY(7.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(13) {
    animation-name: type-overlay-block-tile-13
}

@keyframes type-overlay-block-tile-13 {
    0%, 38% {
        transform: translateY(-4.5em)
    }
    80%, to {
        transform: translateY(6.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(14) {
    animation-name: type-overlay-block-tile-14
}

@keyframes type-overlay-block-tile-14 {
    0%, 41% {
        transform: translateY(-5.5em)
    }
    83%, to {
        transform: translateY(5.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(15) {
    animation-name: type-overlay-block-tile-15
}

@keyframes type-overlay-block-tile-15 {
    0%, 44% {
        transform: translateY(-6.5em)
    }
    86%, to {
        transform: translateY(4.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile:nth-child(16) {
    animation-name: type-overlay-block-tile-16
}

@keyframes type-overlay-block-tile-16 {
    0%, 47% {
        transform: translateY(-7.5em)
    }
    89%, to {
        transform: translateY(3.75em) rotateY(.5turn)
    }
}

.type-overlay__item--blocks__tile__face {
    backface-visibility: hidden;
    background: #fff;
    color: #090908;
    height: 1em;
    margin: -.5em -8em;
    position: absolute;
    transform-style: preserve-3d;
    width: 16em
}

.type-overlay__item--blocks__tile__face__text {
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    width: 100%
}

.type-overlay__item--blocks__tile__face__text span {
    display: inline-block;
    width: 1em
}

.type-overlay__item--blocks__tile__face:first-child {
    transform: rotateY(0deg) translateZ(8em)
}

.type-overlay__item--blocks__tile__face:first-child:nth-child(odd) {
    background: #090908;
    color: #fff
}

.type-overlay__item--blocks__tile__face:nth-child(2) {
    transform: rotateY(90deg) translateZ(8em)
}

.type-overlay__item--blocks__tile__face:nth-child(2):nth-child(odd) {
    background: #090908;
    color: #fff
}

.type-overlay__item--blocks__tile__face:nth-child(3) {
    transform: rotateY(180deg) translateZ(8em)
}

.type-overlay__item--blocks__tile__face:nth-child(3):nth-child(odd) {
    background: #090908;
    color: #fff
}

.type-overlay__item--blocks__tile__face:nth-child(4) {
    transform: rotateY(270deg) translateZ(8em)
}

.type-overlay__item--blocks__tile__face:nth-child(4):nth-child(odd) {
    background: #090908;
    color: #fff
}

.type-overlay__item--blocks__tile__face:nth-child(5) {
    height: 16em;
    margin-top: -8em;
    transform: rotateX(90deg) translateZ(.5em)
}

.type-overlay__item--blocks__tile__face:nth-child(6) {
    height: 16em;
    margin-top: -8em;
    transform: rotateX(-90deg) translateZ(.5em)
}

body.dark .type-overlay__item--blocks {
    color: #fff
}

.type-overlay.is-visible .type-overlay__item--blocks {
    background: hsla(0, 0%, 100%, .93);
    transition: background .3s
}

body.dark .type-overlay.is-visible .type-overlay__item--blocks {
    background: rgba(0, 0, 0, .93)
}

@keyframes dot {
    0% {
        transform: none
    }
    50% {
        transform: translateY(-3px)
    }
    to {
        transform: none
    }
}

.one-pager-companies {
    padding: 155px 0 75px;
    position: relative
}

.one-pager-companies:before {
    border-top: 1px solid #090908;
    content: "";
    left: 4.1666666667%;
    opacity: 0;
    position: absolute;
    transform: translateY(30px);
    transition: opacity 1s, transform 1s ease;
    right: 4.1666666667%;
    top: 0
}

@media only screen and (max-width: 768px) {
    .one-pager-companies:before {
        left: 0;
        right: 0
    }
}

.one-pager-companies.entered-once:before {
    opacity: 1;
    transform: none
}

@media only screen and (max-width: 768px) {
    .one-pager-companies {
        padding-bottom: 125px;
        padding-top: 125px
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies {
        padding-bottom: 75px;
        padding-top: 75px
    }
}

.one-pager-companies__title {
    margin-bottom: 150px;
    margin-left: 4.1666666667%;
    width: 58.3333333333%
}

@media only screen and (min-width: 1441px) {
    .one-pager-companies__title {
        width: 800px
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__title {
        margin-bottom: 110px;
        margin-left: 0;
        width: 70vw
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__title {
        margin-bottom: 75px;
        width: 85vw
    }
}

.one-pager-companies__logos {
    display: inline-block;
    height: 7.5vw;
    margin-left: -10px;
    position: relative;
    vertical-align: top;
    width: 28vw
}

@media only screen and (min-width: 1441px) {
    .one-pager-companies__logos {
        height: 110px;
        width: 420px
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__logos {
        height: 8.5vw;
        margin-left: -5px;
        width: 32vw
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__logos {
        height: 10.5vw;
        width: 40vw
    }
}

.one-pager-companies__logos canvas {
    height: auto !important;
    left: 0;
    max-height: 150%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: auto !important
}

.one-pager-companies__logo {
    display: none;
    filter: invert(1);
    max-height: 5vw;
    vertical-align: middle;
    width: auto
}

.one-pager-companies__logo.is-active {
    display: inline-block
}

.one-pager-companies__table {
    opacity: 0;
    transform: translateY(30px);
    padding: 0 4.1666666667%
}

.one-pager-companies__table.entered-once {
    opacity: 1;
    transform: none;
    transition: opacity .5s ease, transform .5s ease-out;
    transition-delay: .1s
}

.one-pager-companies__table.show-all .one-pager-companies__company {
    display: flex
}

.one-pager-companies__table.is-filtered .one-pager-companies__company-category, .one-pager-companies__table.show-all .one-pager-companies__load-all {
    display: none
}

.one-pager-companies__table.is-filtered .one-pager-companies__company-name {
    margin-left: 0
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__table {
        padding: 0
    }
}

.one-pager-companies__filters {
    border-bottom: 1px solid #000;
    display: flex;
    padding-bottom: 16px;
    text-transform: uppercase
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__filters {
        flex-wrap: wrap
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__filters-label {
        margin-bottom: 15px
    }
}

.one-pager-companies__filters-filters {
    flex: 1 0 auto
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__filters-filters {
        -moz-column-count: 3;
        column-count: 3;
        flex: 1 0 100%
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__filters-filters {
        -moz-column-count: 2;
        column-count: 2
    }
}

.one-pager-companies__filters-filter {
    cursor: pointer;
    display: inline-block;
    margin-bottom: 6px;
    margin-left: 4.1666666667%
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__filters-filter {
        display: block;
        margin-left: 0;
        margin-bottom: 10px;
        white-space: nowrap
    }
}

.one-pager-companies__filters-filter input[type=checkbox] {
    opacity: 0;
    position: absolute
}

.one-pager-companies__filters-filter input[type=checkbox]:focus {
    outline: none
}

.one-pager-companies__filters-filter input[type=checkbox]:focus + label {
    outline: 1px dotted #212121
}

.one-pager-companies__filters-filter input[type=checkbox] + label {
    cursor: pointer
}

.one-pager-companies__filters-filter input[type=checkbox] + label:before {
    content: "";
    background: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin-right: 11px;
    margin-top: -3px;
    width: 8px;
    vertical-align: middle
}

.one-pager-companies__filters-filter input[type=checkbox]:checked + label:before {
    content: "";
    background: #000;
    border: 1px solid #000;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin-right: 11px;
    margin-top: -3px;
    width: 8px;
    vertical-align: middle
}

.one-pager-companies__load-all {
    align-items: center;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    height: 58px;
    justify-content: center;
    margin: 50px auto 0;
    position: relative;
    width: 58px
}

.one-pager-companies__load-all:before {
    border: 1px solid #000;
    border-radius: 50%;
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: height .1s ease-out, width .1s ease-out;
    width: 100%
}

.one-pager-companies__load-all__dot {
    background: #000;
    border-radius: 50%;
    height: 3px;
    width: 3px
}

.one-pager-companies__load-all__dot:nth-child(2) {
    margin: 0 7px
}

.one-pager-companies__load-all__dot:first-child {
    animation-delay: .05s
}

.one-pager-companies__load-all__dot:nth-child(2) {
    animation-delay: .1s
}

.one-pager-companies__load-all__dot:nth-child(3) {
    animation-delay: .15s
}

.one-pager-companies__load-all:hover:before {
    height: 110%;
    width: 110%
}

.one-pager-companies__load-all:hover .one-pager-companies__load-all__dot {
    animation-duration: .6s;
    animation-name: dot;
    animation-timing-function: ease-in-out
}

.one-pager-companies__company {
    opacity: 0;
    transform: translate(0);
    align-items: center;
    border-bottom: 1px solid #000;
    display: flex;
    padding: 32px 0
}

.one-pager-companies__company.entered-once {
    opacity: 1;
    transform: none;
    transition: opacity .5s ease, transform .5s ease-out;
    transition-delay: .1s
}

.one-pager-companies__company.is-hidden {
    display: none !important
}

.one-pager-companies__company:nth-child(n+9) {
    display: none
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__company {
        flex-wrap: wrap;
        padding: 20px 0 16px
    }
}

.one-pager-companies__company-category {
    text-transform: uppercase;
    width: 15.2173913043%
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__company-category {
        width: 21.4285714286%
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__company-category {
        margin-bottom: 10px;
        width: 100%
    }
}

.one-pager-companies__company-name {
    margin-left: 4.347826087%;
    width: 34.7826086957%
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__company-name {
        font-family: FKGrotesk;
        font-size: 48px;
        font-size: 3.33vw;
        font-weight: 400;
        letter-spacing: .05em;
        line-height: 1;
        margin-left: 0;
        width: 35.7142857143%
    }
}

@media only screen and (max-width: 768px)and (min-width: 1441px) {
    .one-pager-companies__company-name {
        font-size: 48px
    }
}

@media only screen and (max-width: 768px)and (max-width: 768px) {
    .one-pager-companies__company-name {
        font-size: 32px;
        font-size: 4.16vw;
        letter-spacing: .02em
    }
}

@media only screen and (max-width: 768px)and (max-width: 540px) {
    .one-pager-companies__company-name {
        font-size: 30px;
        line-height: 1.16
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__company-name {
        width: 100%
    }
}

.one-pager-companies__company-description {
    margin-left: 4.347826087%;
    width: 41.3043478261%
}

@media only screen and (max-width: 768px) {
    .one-pager-companies__company-description {
        margin-left: 0;
        width: 42.8571428571%
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-companies__company-description {
        margin-top: 13px;
        width: 100%
    }
}

.one-pager-companies__button {
    margin-top: 50px;
    text-align: center
}

.one-pager-companies__cta {
    display: inline-block
}

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

.one-pager-header {
    background: #fff;
    color: #090908;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    overflow: visible;
    padding-bottom: 30px;
    padding-top: 30px;
    position: fixed;
    right: 0;
    top: 0;
    transition: color .3s ease, transform .3s ease-out;
    z-index: 10
}

body.home .one-pager-header .header__logo {
    align-self: flex-start
}

body.home .one-pager-header .header__logo svg {
    width: 230px
}

@media only screen and (max-width: 768px) {
    body.home .one-pager-header .header__logo svg {
        height: 35px;
        width: auto
    }
}

@media only screen and (min-width: 769px) {
    body.is-scrolled .one-pager-header .header__svg {
        transform: scale(.8)
    }
}

body.is-scrolled .one-pager-header.is-hidden {
    transform: translateY(-100%);
    transition: color .3s, transform .3s ease-in
}

.one-pager-header__links {
    align-items: center;
    animation: fade-in 1s ease .5s forwards;
    display: flex;
    height: 40px;
    justify-content: space-between;
    opacity: 0
}

@media only screen and (max-width: 768px) {
    .one-pager-header__links {
        position: relative;
        z-index: 10
    }
}

.one-pager-header__logo {
    line-height: 1
}

.one-pager-header__logo-link {
    display: block
}

.one-pager-header__svg {
    display: block;
    height: auto;
    transform-origin: left center;
    transition: transform .6s ease;
    width: 170px
}

@media only screen and (max-width: 768px) {
    .one-pager-header__svg {
        height: 35px;
        width: auto
    }
}

.one-pager-header__lottie {
    display: none;
    height: 38px;
    left: -1px;
    position: absolute;
    top: 0
}

.one-pager-header__lottie svg {
    height: 100% !important;
    width: auto !important
}

.one-pager-header__item {
    margin-left: 5.5vw;
    position: relative
}

@media only screen and (min-width: 1921px) {
    .one-pager-header__item {
        margin-left: 78px
    }
}

.one-pager-header__item--active:before {
    background: #090908;
    border-radius: 50%;
    content: "";
    display: inline-block;
    height: 5px;
    left: -20px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 5px
}

.one-pager-header__link {
    display: inline-block;
    line-height: 1;
    vertical-align: middle
}

@media only screen and (max-width: 768px) {
    .one-pager-header__link.button {
        padding: 12px 14px 9px
    }
}

.one-pager-hero {
    padding-bottom: 155px;
    padding-top: 150px !important;
}

@media only screen and (max-width: 768px) {
    .one-pager-hero {
        padding-bottom: 125px;
        padding-top: 150px
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-hero {
        padding-bottom: 75px;
        padding-top: 120px
    }
}

.one-pager-hero__title {
    margin-left: 4.1666666667%;
    width: 91.6666666667%
}

@media only screen and (min-width: 1441px) {
    .one-pager-hero__title {
        width: 1080px
    }
}

@media only screen and (min-width: 541px) {
    .one-pager-hero__title.is-mobile-only {
        display: none
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-hero__title {
        margin-left: 0;
        width: 85vw
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-hero__title.is-desktop-only {
        display: none
    }
}

.one-pager-hero__description {
    font-family: FKGrotesk;
    font-size: 29px;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 35px;
    margin-left: 4.1666666667%;
    margin-top: 60px;
    width: 62.5%
}

@media only screen and (min-width: 1441px) {
    .one-pager-hero__description {
        width: 860px
    }
}

@media only screen and (max-width: 768px) {
    .one-pager-hero__description {
        font-size: 17px;
        line-height: 1.18;
        margin-left: 0;
        width: 100%
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-hero__description {
        margin-top: 40px
    }
}

.one-pager-hero__description p + p {
    margin-top: 24px
}

.one-pager-hero__description p {
    opacity: 0;
    transform: translateY(1em);
    transition: opacity 1s, transform 1s ease
}

.entered-once .one-pager-hero__description p {
    opacity: 1;
    transform: none
}

.one-pager-hero__description p:first-of-type {
    transition-delay: 1s
}

.one-pager-hero__description p:nth-of-type(2) {
    transition-delay: 1.1s
}

.one-pager-line-animation {
    overflow: hidden;
    display: inline-block;
    margin-bottom: -20px;
    transform: translateY(-20%);
    transition: transform 1s ease
}

.one-pager-line-animation span {
    display: inline-block;
    padding-bottom: 20px;
    transform: translateY(100%);
    transition: transform 1s ease
}

.one-pager-line-animation:first-of-type, .one-pager-line-animation:first-of-type span {
    transition-delay: .3s
}

.one-pager-line-animation:nth-of-type(2), .one-pager-line-animation:nth-of-type(2) span {
    transition-delay: .4s
}

.one-pager-line-animation:nth-of-type(3), .one-pager-line-animation:nth-of-type(3) span {
    transition-delay: .48s
}

.one-pager-line-animation:nth-of-type(4), .one-pager-line-animation:nth-of-type(4) span {
    transition-delay: .54s
}

.one-pager-line-animation:nth-of-type(5), .one-pager-line-animation:nth-of-type(5) span {
    transition-delay: .58s
}

.entered-once .one-pager-line-animation, .entered-once .one-pager-line-animation span {
    transform: none
}

.one-pager-quote {
    margin-left: 12.5%;
    padding-bottom: 180px;
    padding-top: 120px;
    text-align: center;
    width: 75%
}

.one-pager-quote .one-pager-quote__author, .one-pager-quote .one-pager-quote__quote {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .5s ease, transform .5s ease-out
}

.one-pager-quote.entered-once .one-pager-quote__quote {
    opacity: 1;
    transform: none;
    transition-delay: 0s
}

.one-pager-quote.entered-once .one-pager-quote__author {
    opacity: 1;
    transform: none;
    transition-delay: .1s
}

@media only screen and (max-width: 768px) {
    .one-pager-quote {
        margin-left: 0;
        padding-bottom: 120px;
        padding-top: 70px;
        text-align: left;
        width: 85.7142857143%
    }
}

@media only screen and (max-width: 540px) {
    .one-pager-quote {
        padding-bottom: 60px;
        padding-top: 60px;
        width: 100%
    }
}

.one-pager-quote__quote {
    margin-bottom: 40px
}

@media only screen and (max-width: 540px) {
    .one-pager-quote__quote {
        font-family: FKGrotesk;
        font-size: 48px;
        font-size: 3.33vw;
        font-weight: 400;
        letter-spacing: .05em;
        line-height: 1;
        margin-bottom: 20px
    }
}

@media only screen and (max-width: 540px)and (min-width: 1441px) {
    .one-pager-quote__quote {
        font-size: 48px
    }
}

@media only screen and (max-width: 540px)and (max-width: 768px) {
    .one-pager-quote__quote {
        font-size: 32px;
        font-size: 4.16vw;
        letter-spacing: .02em
    }
}

@media only screen and (max-width: 540px)and (max-width: 540px) {
    .one-pager-quote__quote {
        font-size: 30px;
        line-height: 1.16
    }
}

html {
    box-sizing: border-box;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased
}

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

body, html {
    height: 100%
}

body {
    background: #fff;
    color: #090908;
    position: relative
}

body.home, body.is-scroll-locked {
    overflow: hidden
}

body.is-scroll-locked {
    pointer-events: none
}

body.is-scroll-locked .header {
    pointer-events: auto
}

body.is-transitioning {
    overflow: hidden
}

body.is-transitioning .header, body.is-transitioning main {
    opacity: 0;
    transition: opacity 1s ease
}

.visually-hidden {
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    white-space: nowrap;
    width: 1px
}

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