
@charset "UTF-8";
@font-face {
    font-family: fbold;
    src:url('../../fonts/Montserrat-Bold.ttf');
}
@font-face {
    font-family: regular;
    src:url('../../fonts/Montserrat-Regular.ttf');
}
@font-face {
    font-family: flight;
    src:url('../../fonts/Montserrat-Light.otf');
}
@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

html {
    box-sizing: border-box
}

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

body {
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

ul {
    margin: 0;
    padding: 0
}

nav a {
    text-decoration: none;
    color: currentColor
}

nav a:visited {
    color: currentColor
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0
}

nav ul li {
    display: inline-block
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1;
    margin: 0;
    font-weight: 600
}

p, a.red-link span {
    margin: 0
}

body {
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    color: #fff;
    background-color: #000
}

body.nav-open {
    overflow: hidden
}

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

a:hover {
    text-decoration: underline
}

nav a:hover {
    text-decoration: none
}

img, svg {
    width: 100%;
    height: auto;
    display: block
}

img[src=''], img[src='data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='] {
    display: none
}

video, .video-end-frame {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

::selection {
    /*background-color: #D21123;*/
    color: #fff
}

p, a.red-link span {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    margin-bottom: 0
}

@media screen and (min-width: 1921px) {
    p, a.red-link span {
        font-size: 21px
    }
}

p ~ p, a.red-link span ~ p, a.red-link p ~ span, a.red-link span ~ span {
    margin-top: .444em
}

section, article {
    position: relative
}

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

.page-wrapper {
    position: relative;
    background-color: #000
}

.red-button {
    padding: 0 74px;
    height: 54px;
    background-color: #D21123;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    transition: all 0.15s ease-out;
    transform: translateZ(0);
    color: #fff;
    text-align: center
}

.red-button:hover {
    text-decoration: none;
    transform: translateZ(0) translateY(-2px);
    box-shadow: 0 2px 0 0 rgba(116, 9, 19, 0.25), 0 3px 16px 0 rgba(210, 17, 35, 0.8)
}

@media screen and (max-width: 767px) {
    .red-button {
        font-size: 4vw;
        padding: 0 18px
    }
}

.bg-image {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-size: cover;
    background-position: center;
    background-color: #000;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none
}

.bg-video, .overlay-video {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    z-index: 0;
    box-sizing: border-box;
    overflow: hidden;
    pointer-events: none
}

.bg-video.popup-video, .popup-video.overlay-video {
    z-index: 1;
    opacity: 1;
    pointer-events: all;
    transition: all 0.8s ease-out;
    background-color: #000
}

.bg-video.popup-video video, .popup-video.overlay-video video {
    object-fit: contain
}

.bg-video.popup-video.hidden, .popup-video.hidden.overlay-video {
    opacity: 0;
    pointer-events: none
}

.overlay-video {
    mix-blend-mode: overlay;
    z-index: 2
}

@supports not (mix-blend-mode: overlay) {
    .overlay-video {
        z-index: 0
    }
}

.overlay-color {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    mix-blend-mode: color;
    opacity: 0;
    transition: all 0.15s ease-out
}

.overlay-color.active {
    opacity: 0.6
}

html.mobile .overlay-color {
    display: none
}

html.tablet .overlay-color {
    display: none
}

html.mobile:not(.ios) .video-end-frame {
    display: none
}

html.tablet:not(.ios) .video-end-frame {
    display: none
}

.loader {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 99;
    animation: fade-in 0.8s ease-out;
    animation-delay: 1.2s;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 120px;
    min-height: 120px
}

.loader.fullpage-loader {
    position: fixed;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.22)
}

html.mobile .loader.fullpage-loader {
    background-color: rgba(0, 0, 0, 0.92)
}

@supports (-webkit-backdrop-filter: blur(16px)) {
    html.mobile .loader.fullpage-loader {
        -webkit-backdrop-filter: blur(16px) saturate(1.4);
        background-color: rgba(0, 0, 0, 0.36)
    }
}

html.tablet.portrait .loader.fullpage-loader {
    background-color: rgba(0, 0, 0, 0.92)
}

@supports (-webkit-backdrop-filter: blur(16px)) {
    html.tablet.portrait .loader.fullpage-loader {
        -webkit-backdrop-filter: blur(16px) saturate(1.4);
        background-color: rgba(0, 0, 0, 0.36)
    }
}

.loader:after {
    content: '';
    background-image: url("../media/logogram.png");
    background-size: 100%;
    background-repeat: no-repeat;
    height: 120px;
    width: 120px;
    animation: pulse 3s ease-out 0s infinite
}

.local-loader {
    min-width: 80px;
    min-height: 80px
}

.local-loader:after {
    background-image: none;
    border-radius: 50%;
    border: 3px solid #D4D4D4;
    border-left-color: transparent;
    border-right-color: transparent;
    animation: spin 0.5s linear 0s infinite;
    height: 80px;
    width: 80px
}

.video-btn {
    position: absolute;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 12px;
    width: 72px;
    height: 72px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    transition: all 0.15s ease-out;
    bottom: 36px
}

.video-btn img {
    height: 100%;
    width: auto
}

html.ios .video-btn {
    display: none
}

.video-btn:hover {
    background: rgba(0, 0, 0, 0.7)
}

.video-btn:hover img {
    opacity: 1
}

.video-btn img {
    transition: all 0.15s ease-out;
    height: 0;
    opacity: 0.3
}

.video-btn img.active {
    height: 44px
}

.section-title {
    font-size: 64px;
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .section-title {
        font-size: 15vw
    }
}

a.red-link {
    color: #D21123
}

a.red-link span {
    display: block;
    margin-top: 0.6em;
    font-weight: 500;
    cursor: pointer
}

@media screen and (max-width: 767px) {
    a.red-link span {
        padding-right: 36px
    }
}

a.red-link span b {
    font-weight: 700
}

a.red-link span:after {
    content: '⟶';
    margin-left: 0.3em;
    transition: all 0.15s ease-out;
    display: inline-block
}

a.red-link:hover {
    text-decoration: none
}

a.red-link:hover span:after {
    transform: translateX(0.3em)
}

a.red-link.back span:after {
    content: none
}

a.red-link.back span:before {
    content: '\27F5';
    margin-right: 0.3em;
    transition: all 0.15s ease-out;
    display: inline-block
}

a.red-link.back:hover span:before {
    transform: translateX(-0.3em)
}

.iframe {
    z-index: 1;
    position: relative
}

.site-header {
    position: fixed;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 72px;
    padding: 12px;
    padding-right: 36px;
    transition: all 0.8s ease-out;
    transform: translateZ(0);
    top: 0;
    left: 0
}

body.initial .site-header {
    opacity: 1;
    pointer-events: none
}

/*
.site-header .bg-image {
    background-color: transparent;
    transition: all 0.15s ease-out;
    transform: translateZ(0)
}
*/
body.nav-dark .site-header .bg-image, body.generic .site-header .bg-image {
    background-color: rgba(0, 0, 0, 0.94)
}

@supports (-webkit-backdrop-filter: blur(16px)) {
    body.nav-dark .site-header .bg-image, body.generic .site-header .bg-image {
        -webkit-backdrop-filter: blur(16px);
        background-color: rgba(0, 0, 0, 0.85)
    }
}

nav.site-nav {
    transform: translateZ(0)
}

@media screen and (max-width: 767px) {
    nav.site-nav {
        opacity: 1;
        pointer-events: none;
        transition: all 0.15s ease-out;
        height: 17vh;
        width: 100vw;
        top: 0;
        left: 0;
        position: fixed;
        padding: 36px 36px;
        background-color: rgba(0, 0, 0, 1)
    }

    @supports (-webkit-backdrop-filter: blur(36px)) {
        nav.site-nav {
            -webkit-backdrop-filter: blur(36px) saturate(5);
            background-color: rgba(0, 0, 0, 1)
        }
    }nav.site-nav ul {
         display: flex;
         flex-direction: column;
         justify-content: center;
         height: 100%
     }

    nav.site-nav ul li {
        margin-left: 0;
        font-size: 12vw;
        transform: translateX(-72px);
        opacity: 0;
        transition: all 0.15s ease-out;
        transition-duration: 0.3s
    }

    nav.site-nav ul li:nth-of-type(1) {
        transition-delay: 0s
    }

    nav.site-nav ul li:nth-of-type(2) {
        transition-delay: .05s
    }

    nav.site-nav ul li:nth-of-type(3) {
        transition-delay: .1s
    }

    nav.site-nav ul li:nth-of-type(4) {
        transition-delay: .15s
    }

    nav.site-nav ul li:nth-of-type(5) {
        transition-delay: .2s
    }

    nav.site-nav ul li:nth-of-type(6) {
        transition-delay: .25s
    }

    nav.site-nav ul li:nth-of-type(7) {
        transition-delay: .3s
    }

    nav.site-nav ul li:nth-of-type(8) {
        transition-delay: .35s
    }

    nav.site-nav ul li:nth-of-type(9) {
        transition-delay: .4s
    }

    nav.site-nav ul li:nth-of-type(10) {
        transition-delay: .45s
    }

    nav.site-nav ul li:not(:first-of-type) {
        margin-top: 36px
    }

    nav.site-nav ul li a {
        display: block
    }

    body.nav-open nav.site-nav {
        opacity: 1;
        pointer-events: all
    }

    body.nav-open nav.site-nav li {
        transform: none;
        opacity: 1
    }
}

/*0826替换为下*/
/*nav.site-nav li {*/
/*margin-left: 36px;*/
/*font-weight: 600;*/
/*font-size: 18px*/
/*}*/
nav.site-nav li {
    margin-left: 36px;
    /*font-weight: 600;*/
    /*font-size: 16px;*/
    text-transform: uppercase;
    /*letter-spacing: 3px;*/
    font-family:regular;
}

@media screen and (min-width: 1921px) {
    nav.site-nav li {
        font-size: 20px
    }
}

.site-logo {
    width: 190px;
    transform-origin: left;
    transition: all 0.15s ease-out;
    z-index: 5;
    transform: translateZ(0)
}

@media screen and (max-width: 767px) {
    .site-logo {
        width: 160px
    }
}

@media screen and (min-width: 1025px) {
    body.nav-dark .site-logo, body.generic .site-logo {
        transform: scale(0.8) translateZ(0)
    }
}

body.home:not(.nav-dark):not(.nav-open) .site-logo {
    opacity: 1
}

.inner-nav-container {
    height: 72px;
    padding: 12px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    .inner-nav-container {
        height: 96px
    }
}

nav.inner-nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 12px 0;
    position: relative;
    top: 0;
    width: 100vw;
    transition: all 0.15s ease-out;
    transition-property: background-color
}

body.inner-nav-fixed nav.inner-nav {
    z-index: 100;
    position: fixed;
    top: 72px;
    background-color: rgba(0, 0, 0, 0.88)
}

@supports (-webkit-backdrop-filter: blur(36px)) {
    body.inner-nav-fixed nav.inner-nav {
        -webkit-backdrop-filter: blur(36px) saturate(2);
        background-color: rgba(0, 0, 0, 0.65)
    }
}

nav.inner-nav li {
    position: relative
}

nav.inner-nav li:not(:first-of-type) {
    margin-left: 24px
}

nav.inner-nav li a {
    position: relative
}

@media screen and (max-width: 767px) {
    nav.inner-nav li a {
        display: inline-block
    }
}

nav.inner-nav li a:after {
    content: '';
    background-color: #D21123;
    height: 2px;
    width: 100%;
    border-radius: 2px;
    position: absolute;
    bottom: -1px;
    z-index: -1;
    left: 0;
    transition: all 0.15s ease-out;
    transform: scaleX(0);
    transform-origin: left
}

nav.inner-nav li.active a:after {
    transform: none
}

nav.inner-nav a {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.45px/18 pxem
}

@media screen and (max-width: 767px) {
    nav.inner-nav ul {
        display: flex;
        align-items: center;
        justify-content: center;
        left: 0;
        -webkit-overflow-scrolling: touch;
        overflow-x: auto;
        width: 100vw;
        position: relative;
        padding-right: 36px;
        padding-left: 36px;
        animation: appear 0.3s ease-out
    }

    @keyframes appear {
        from {
            opacity: 0
        }
    }nav.inner-nav ul::-webkit-scrollbar {
         display: none
     }
}

.nav-button {
    display: none
}

@media screen and (max-width: 767px) {
    .nav-button {
        width: 32px;
        height: 18px;
        position: relative;
        top: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        z-index: 30
    }

    .nav-button span {
        width: 100%;
        height: 2px;
        background-color: #fff;
        transition: all 0.15s ease-out;
        border-radius: 2px
    }

    .nav-button span:nth-of-type(1) {
        transform-origin: center
    }

    body.nav-open .nav-button span:nth-of-type(1) {
        transform: rotate(-45deg) translateY(11px)
    }

    .nav-button span:nth-of-type(3) {
        transform-origin: center
    }

    body.nav-open .nav-button span:nth-of-type(3) {
        transform: rotate(45deg) translateY(-11px)
    }

    .nav-button span:nth-of-type(2) {
        transform-origin: bottom right
    }

    body.nav-open .nav-button span:nth-of-type(2) {
        transform: translateX(100%);
        opacity: 0
    }
}

@media screen and (max-width: 767px) {
    .site-header {
        padding-right: 24px
    }
}

.page-cover {
    position: relative;
    max-height: 520px;
    min-height: 380px;
    height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    .page-cover {
        height: auto;
        min-height: 70vh;
        max-height: none;
        padding: 72px 0 36px
    }
}

.page-headline {
    position: relative;
    padding: 0 12px
}

.page-headline h2 {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 128px;
    font-size: 10vw;
    line-height: .92188;
    letter-spacing: .04688em;
    text-align: center
}

@media screen and (min-width: 1280px) {
    .page-headline h2 {
        font-size: 128px
    }
}

@media screen and (max-width: 640px) {
    .page-headline h2 {
        font-size: 64px
    }
}

@media screen and (max-width: 767px) {
    .page-headline h2 {
        font-size: 30vw
    }
}

@media screen and (min-width: 1921px) {
    .page-headline h2 {
        font-size: 192px;
        padding: 0 72px
    }
}

.controls {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    pointer-events: none
}

.control {
    pointer-events: all;
    cursor: pointer;
    z-index: 1;
    transition: all 0.15s ease-out
}

.control.hidden {
    opacity: 0;
    pointer-events: none
}

.mute-btn {
    right: 36px
}

.pause-btn {
    left: 36px
}

.arrow img {
    transform: rotate(-0.25turn)
}

.arrow-prev {
    transform: rotate(0.5turn)
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 6px;
    border: solid 1.5px #fff;
    background-color: #fff;
    display: inline-block
}

.dot:not(:first-of-type) {
    margin-left: 36px
}

.dot.active {
    background-color: #000
}

span.skip {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%) scaleY(0);
    transition: all 0.8s ease-out;
    position: absolute;
    bottom: 36px;
    right: 0;
    left: 0;
    text-align: center;
    cursor: pointer;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    z-index: 1
}

body.opening-video-playing {
    overflow-y: hidden;
    height: 100vh
}

body.opening-video-playing .site-header {
    opacity: 0;
    transition: none
}

body.opening-video-playing span.skip {
    display: block;
    opacity: 0.25;
    transform: none;
    pointer-events: all
}

body.opening-video-playing span.skip:hover {
    opacity: 1
}

.red-line {
    position: relative;
    bottom: 0;
    height: 0;
    width: 100%;
    transition: all 0.8s ease-out;
    z-index: 100;
    display: block
}

.red-line:after {
    content: '';
    width: 1px;
    height: 128px;
    background-color: #fff;
    position: absolute;
    z-index: 50;
    bottom: -64px;
    left: 50%
}

.red-line.animated {
    cursor: pointer;
    overflow-y: hidden;
    animation-duration: 1.333s;
    height: 88px;
    bottom: 118px;
    padding-bottom: 0
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .red-line.animated {
        padding-bottom: env(safe-area-inset-bottom)
    }
}

.red-line.animated.hidden {
    opacity: 0;
    pointer-events: none
}

.red-line.animated:after {
    opacity: 0;
    bottom: 0
}

body.opening-video-done .red-line.animated:after {
    opacity: 1;
    animation: line-top ease-out 0s infinite forwards;
    animation-duration: inherit
}

body.opening-video-playing .red-line {
    transition: none;
    opacity: 0;
    transform: translateY(128px)
}

@media screen and (max-width: 1024px) {
    section.opening .red-line:not(.animated) {
        display: none
    }
}

a.red-line {
    height: 128px;
    bottom: -64px;
    overflow-y: hidden;
    position: absolute;
    animation-duration: 1s
}

a.red-line:after {
    bottom: 0
}

a.red-line:before {
    content: '';
    width: 100%;
    height: 128px;
    position: absolute;
    top: 0
}

a.red-line:hover:after {
    animation: line-top ease-out infinite forwards;
    animation-duration: inherit
}

.fader {
    opacity: 0.6
}

.fader-image {
    opacity: 0;
    transition: all 0.8s ease-out
}

.fader-image.active {
    opacity: 1
}

body.four-oh-four {
    min-height: 100vh;
    background-color: #000;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

body.four-oh-four main.page-wrapper {
    flex: 1 0 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

@media screen and (max-width: 767px) {
    body.four-oh-four main.page-wrapper {
        padding-top: 72px
    }
}

body.four-oh-four footer.site-footer {
    padding-top: 0;
    background-color: transparent
}

body.four-oh-four section {
    padding: 72px 36px
}

@media screen and (max-width: 767px) {
    body.four-oh-four section {
        padding-top: 36px
    }
}

body.four-oh-four .game-tile {
    margin: 36px auto
}

body.four-oh-four .texts {
    text-align: center
}

body.four-oh-four .texts h2 {
    color: #D21123;
    font-size: 128px;
    font-weight: 900
}

@media screen and (max-width: 767px) {
    body.four-oh-four .texts h2 {
        font-size: 16vw
    }
}

body.four-oh-four .texts h3 {
    margin-top: 0.66em;
    font-size: 32px;
    font-weight: 400
}

@media screen and (max-width: 767px) {
    body.four-oh-four .texts h3 {
        font-size: 7vw
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

body.home {
    background-color: #000
}
/*
body.home.gif-loading .site-header {
    opacity: 0
}
*/
body.opening-video-playing section, body.opening-video-playing footer {
    display: none;
    pointer-events: none
}

body.opening-video-playing section.opening {
    display: block
}

body.opening-video-playing section.opening > {
    display: none
}

.opening-video-placeholder {
    height: 100vh;
    width: 100%;
    position: relative;
    top: 0;
    left: 0
}

.opening-video {
    height: 100vh;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 0;
    overflow: hidden
}

.opening-video .video-container {
    max-height: 160vw;
    width: 100%;
    height: 100%;
    position: relative;
    top: 50%;
    transform: translateY(-50%) translateZ(0);
    transform-style: preserve-3d;
    transition: all 0.15s ease-out;
    transition-property: opacity;
    filter: blur(0vw)
}
/*
.opening-video .video-container video {
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.15s ease-out;
    transition-delay: 0.1s
}

body.opening-video-done .opening-video .video-container video {
    opacity: 0
}
*/
body.opening-video-done .opening-video .video-container video.shown {
    opacity: 1
}

.opening-video .video-container .forward-video-button-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    pointer-events: none
}

.opening-video .video-container .forward-video-button-container .forward-video-button {
    pointer-events: all;
    width: 60vh;
    height: 60vh;
    border-radius: 50%;
    cursor: pointer
}

.opening-video .video-container .forward-video-button-container .forward-video-button.inactive, body.opening-video-playing .opening-video .video-container .forward-video-button-container .forward-video-button {
    pointer-events: none
}

html.mobile:not(.ios) .opening-video .video-container .forward-video-button-container .forward-video-button {
    pointer-events: none
}

html.tablet:not(.ios) .opening-video .video-container .forward-video-button-container .forward-video-button {
    pointer-events: none
}

.opening-video .video-container .video-end-frame {
    opacity: 0
}

body.opening-video-done .opening-video .video-container .video-end-frame {
    opacity: 1
}

.opening-video .video-container .video-gif {
    display: none
}

html.mobile:not(.ios) .opening-video .video-container .video-gif {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    object-fit: cover
}

html.mobile:not(.ios) .opening-video .video-container video {
    display: none
}

html.tablet:not(.ios) .opening-video .video-container .video-gif {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    object-fit: cover
}

html.tablet:not(.ios) .opening-video .video-container video {
    display: none
}

@media screen and (max-width: 1024px) {
    .opening-video .video-container:before, .opening-video .video-container:after {
        content: '';
        height: 30%;
        width: 100%;
        top: 0;
        left: 0;
        position: absolute;
        z-index: 1;
        background-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, rgba(0, 0, 0, 0) 100%)
    }

    .opening-video .video-container:after {
        top: auto;
        bottom: 0;
        transform: scaleY(-1)
    }
}

.video-end-frame, .opening-video-forward {
    transition: all 0.15s ease-out;
    transition-property: transform
}

.video-end-frame.highlighted, .opening-video-forward.highlighted {
    transform: scale(0.92);
    transition-duration: 2s
}

.opening-texts {
    width: 100%;
    padding: 0 72px 108px;
    position: relative;
    z-index: 1;
    bottom: 0;
    text-align: center
}

@media screen and (max-width: 1024px) {
    .opening-texts {
        margin: 0 auto
    }
}

@media screen and (max-width: 767px) {
    .opening-texts {
        text-align: left
    }
}

body.opening-video-playing .opening-texts {
    transition: none;
    opacity: 0;
    transform: translateY(100%)
}

.opening-texts .title {
    font-size: 5.2vw
}

.opening-texts .title h2 {
    font-size: 4.3875rem;
    font-family:fbold;
    line-height: 1;
    font-weight: 800;
    pointer-events: all
}

@media screen and (max-width: 1024px) {
    .opening-texts .title {
        font-size: 4.9vw
    }
}

@media screen and (max-width: 767px) {
    .opening-texts .title {
        font-size: 12vw
    }
}

.opening-texts .description {
    max-width: 39em;
    margin: 72px auto 0;
    font-size: 24px
}

.opening-texts .description p, .opening-texts .description a.red-link span, a.red-link .opening-texts .description span {
    font-size: 1em;
    margin-top: 0;
    pointer-events: all
}

@media screen and (max-width: 1024px) {
    .opening-texts .description {
        font-size: 2.6vw
    }
}

@media screen and (max-width: 767px) {
    .opening-texts .description {
        font-size: 24px
    }
}

@media screen and (min-width: 1921px) {
    .opening-texts .description {
        font-size: 2vw
    }

    .opening-texts .description p, .opening-texts .description a.red-link span, a.red-link .opening-texts .description span {
        line-height: 1.6
    }
}

@media screen and (max-width: 1024px) {
    .opening-texts {
        padding: 108px 36px 36px
    }

    .opening-texts .title {
        position: relative;
        right: 0;
        top: 0;
        max-width: none
    }

    .opening-texts .description {
        left: 0;
        margin-left: 0;
        max-width: none;
        margin-top: 18px
    }
}

@media screen and (max-width: 767px) {
    .opening-texts .description {
        margin-bottom: 0
    }
}

@media screen and (min-height: 1046px) {
    .opening-texts {
        padding-bottom: calc((100vh - 918px) / 2)
    }
}

.games {
    width: 100%;
    padding: 48px 0 48px;/*0826修改下内边距108px为48px*/
    transform: translateZ(0);
    z-index: 1
}

@media screen and (max-width: 767px) {
    .games {
        padding-top: 0
    }
}

.games > .bg-image {
    background-size: auto 100%;
    background-color: transparent;
    background-position-y: top;
    transition: all 0.15s ease-out
}

html.tablet.landscape .games > .bg-image {
    background-size: cover;
    background-position-y: top
}

.games .slider {
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch
}

.games .slider::-webkit-scrollbar {
    display: none
}

html.mobile .games .slider {
    overflow-x: auto
}

html.tablet .games .slider {
    overflow-x: auto
}

@media screen and (min-height: 1046px) {
    .games {
        padding: 0
    }

    .games .slider {
        min-height: calc(100vh - 72px);
        padding-top: calc((100vh - 918px) / 2)
    }
}

.games .arrow {
    width: 64px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 36px;
    box-sizing: content-box;
    position: relative
}

.games .arrow:after {
    content: '';
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    transition: all 0.15s ease-out;
    opacity: 0;
    z-index: -1;
    background-image: linear-gradient(to left, #000 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, rgba(0, 0, 0, 0) 100%)
}

.games .arrow:hover:after {
    opacity: 0.6
}

html.mobile .games .arrow {
    display: none
}

html.tablet .games .arrow {
    display: none
}

.games .dots {
    display: none;
    position: absolute;
    bottom: 108px;
    justify-content: center;
    width: 100%
}

html.mobile .games .dots {
    display: flex
}

html.tablet .games .dots {
    display: flex
}

.games .dots .dot {
    width: 6px;
    height: 6px;
    border-radius: 3px;
    opacity: 0.5;
    border: none;
    transition: all 0.15s ease-out
}

.games .dots .dot:not(:first-of-type) {
    margin-left: 8px
}

.games .dots .dot.active {
    background-color: #fff;
    opacity: 1
}

.games .red-line {
    bottom: 0;
    height: 128px;
    position: absolute
}

.tiles-wrapper {
    display: flex;
    height: 846px;
    width: 100%;
    padding: 0 144px 36px;
    transition: all 0.8s ease-out;
    perspective: 1000px
}

.tiles-wrapper.all-in-screen {
    justify-content: center
}

html.mobile .tiles-wrapper {
    height: auto
}

html.tablet .tiles-wrapper {
    height: auto
}

@media screen and (max-width: 767px) {
    .tiles-wrapper {
        padding-left: 18px
    }
}

.tile-container {
    display: flex;
    flex-wrap: wrap;
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 0;
    transition: all 0.15s ease-out
}

.tile-container:last-of-type {
    padding-right: 108px
}

.all-in-screen .tile-container:last-of-type {
    padding-right: 0;
    margin-right: -36px
}

html.mobile .tile-container {
    flex-wrap: nowrap
}

html.tablet .tile-container {
    flex-wrap: nowrap
}

@media screen and (max-width: 767px) {
    .tile-container:last-of-type {
        padding-right: 0
    }
}

.game-tile {
    width: 320px;
    height: 234px;
    margin: 36px 36px 0 0;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 0 2px 18px #000;
    background-color: #000;
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transform: translateZ(0)
}

.game-tile.big-tile {
    width: 676px;
    height: 504px
}

.game-tile.huge-tile {
    height: 774px
}

.game-tile .game-content {
    transform: translateY(100%)
}

.game-tile .bg-image {
    height: 130%;
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transform-origin: top center;
    top: -5%;
    transform: scale(1.025)
}

.game-tile:hover, .game-tile.active {
    box-shadow: 0 6px 36px rgba(0, 0, 0, 0.5)
}

.game-tile:hover .game-cover, .game-tile.active .game-cover {
    transform: translateY(-100%) scale(0.8)
}

.game-tile:hover .game-content, .game-tile.active .game-content {
    transform: none
}

.game-tile:hover .bg-image, .game-tile.active .bg-image {
    transform: translateY(-15%) scale(1.05);
    opacity: 0.5
}

@media screen and (max-width: 767px) {
    .game-tile {
        margin-right: 18px
    }
}

html.mobile .game-tile {
    width: calc(100vw - 1.5 * 36px);
    max-width: 320px;
    height: 384px;
    display: flex;
    flex-direction: column;
    border-radius: 6px
}

html.mobile .game-tile .bg-image {
    transform: translateZ(0);
    opacity: 0.8
}

html.mobile .game-tile .game-content {
    transform: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 84px
}

html.mobile .game-tile:hover .game-cover, html.mobile .game-tile.active .game-cover {
    transform: none
}

html.mobile .game-tile:hover .bg-image, html.mobile .game-tile.active .bg-image {
    transform: translateZ(0);
    opacity: 0.8
}

html.tablet .game-tile {
    width: calc(100vw - 1.5 * 36px);
    max-width: 320px;
    height: 384px;
    display: flex;
    flex-direction: column;
    border-radius: 6px
}

html.tablet .game-tile .bg-image {
    transform: translateZ(0);
    opacity: 0.8
}

html.tablet .game-tile .game-content {
    transform: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 84px
}

html.tablet .game-tile:hover .game-cover, html.tablet .game-tile.active .game-cover {
    transform: none
}

html.tablet .game-tile:hover .bg-image, html.tablet .game-tile.active .bg-image {
    transform: translateZ(0);
    opacity: 0.8
}

.game-cover, .game-content {
    z-index: 1;
    position: absolute;
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    height: 100%;
    width: 100%
}

html.mobile .game-cover, html.mobile .game-content {
    position: relative
}

html.tablet .game-cover, html.tablet .game-content {
    position: relative
}

.game-cover {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

html.mobile .game-cover {
    position: relative
}

html.tablet .game-cover {
    position: relative
}

.game-logo {
    width: 50%;
    filter: drop-shadow(0 0 36px rgba(0, 0, 0, 0.25))
}

.game-content {
    padding: 16px
}

.game-texts {
    max-width: 204px
}

.big-tile .game-texts {
    max-width: 327px
}

html.mobile .game-texts {
    max-width: none
}

html.tablet .game-texts {
    max-width: none
}

.game-title h3 {
    font-size: 32px;
    line-height: .96875;
    font-weight: 800
}

.big-tile .game-title h3 {
    font-size: 64px
}

.huge-tile .game-title h3 {
    font-size: 96px
}

html.mobile .game-title {
    display: none
}

html.tablet .game-title {
    display: none
}

.game-subtitle {
    margin-top: 4px
}

.big-tile .game-subtitle {
    margin-top: 18px
}

.game-subtitle h4 {
    font-size: 18px;
    line-height: 1.45;
    font-weight: 500
}

.big-tile .game-subtitle h4 {
    font-size: 27px;
    line-height: 1.025;
    font-weight: 300
}

html.mobile .game-subtitle {
    text-align: center;
    margin: 0
}

html.mobile .game-subtitle h4 {
    font-size: 24px;
    line-height: 1.125;
    font-weight: 600;
    text-shadow: 0 0 36px #000
}

html.tablet .game-subtitle {
    text-align: center;
    margin: 0
}

html.tablet .game-subtitle h4 {
    font-size: 24px;
    line-height: 1.125;
    font-weight: 600;
    text-shadow: 0 0 36px #000
}

.game-description {
    margin-top: 12px
}

.game-description p, .game-description a.red-link span, a.red-link .game-description span {
    font-weight: 500;
    letter-spacing: -0.021em;
    font-size: 18px
}

html.mobile .game-description {
    display: none
}

html.tablet .game-description {
    display: none
}

.game-app-icon {
    width: 72px;
    height: 72px;
    position: absolute;
    top: 16px;
    right: 16px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5)
}

html.mobile .game-app-icon {
    display: none
}

html.tablet .game-app-icon {
    display: none
}

.game-character-wrapper {
    width: 300px;
    position: absolute;
    bottom: -36px;
    right: 0
}

html.mobile .game-character-wrapper {
    display: none
}

html.tablet .game-character-wrapper {
    display: none
}

.game-character {
    width: 100%;
    margin: 0 auto
}

.game-links {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 16px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.game-links .red-button {
    font-size: 16px;
    height: 48px;
    padding: 0 42px
}

.big-tile .game-links .red-button {
    font-size: 20px;
    height: 52px;
    width: 300px
}

html.mobile .game-links .red-button {
    display: none
}

html.tablet .game-links .red-button {
    display: none
}

.game-links .stores {
    display: flex;
    margin-left: 4px
}

.game-links .stores a {
    margin-right: 24px
}

html.mobile .game-links .stores a {
    margin-right: 16px
}

html.tablet .game-links .stores a {
    margin-right: 16px
}

.game-links .stores a.app-store-link {
    width: 22.81px;
    height: 27.1px
}

html.android .game-links .stores a.app-store-link {
    display: none
}

html.mobile .game-links .stores a.app-store-link {
    height: 48px;
    width: 143px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    bottom: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: url("../media/appStore.png")
}

html.mobile .game-links .stores a.app-store-link img {
    display: none
}

html.tablet .game-links .stores a.app-store-link {
    height: 48px;
    width: 143px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    bottom: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: url("../media/appStore.png")
}

html.tablet .game-links .stores a.app-store-link img {
    display: none
}

.game-links .stores a.play-store-link {
    width: 22.81px;
    height: 24.84px;
    margin-top: 2px
}

html.ios .game-links .stores a.play-store-link {
    display: none
}

html.mobile .game-links .stores a.play-store-link {
    height: 48px;
    width: 165px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    bottom: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: url("../media/playStore.png")
}

html.mobile .game-links .stores a.play-store-link img {
    display: none
}

html.tablet .game-links .stores a.play-store-link {
    height: 48px;
    width: 165px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    bottom: 16px;
    background-size: 100%;
    background-repeat: no-repeat;
    background-image: url("../media/playStore.png")
}

html.tablet .game-links .stores a.play-store-link img {
    display: none
}

.big-tile .game-links .stores {
    margin-left: 0
}

.big-tile .game-links .stores a.app-store-link, .big-tile .game-links .stores a.play-store-link {
    height: 41px;
    width: auto;
    margin-right: 12px
}

.big-tile .game-links .stores a.app-store-link img, .big-tile .game-links .stores a.play-store-link img {
    width: auto;
    height: 100%
}

html.mobile .big-tile .game-links .stores a.app-store-link, html.mobile .big-tile .game-links .stores a.play-store-link {
    height: 48px
}

html.tablet .big-tile .game-links .stores a.app-store-link, html.tablet .big-tile .game-links .stores a.play-store-link {
    height: 48px
}

.game-tile .game-title {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .05s
}

html.mobile .game-tile .game-title {
    transform: none
}

html.tablet .game-tile .game-title {
    transform: none
}

.game-tile.big-tile .game-title {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .game-title {
    transform: none
}

html.tablet .game-tile.big-tile .game-title {
    transform: none
}

.game-tile .game-app-icon {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .075s
}

html.mobile .game-tile .game-app-icon {
    transform: none
}

html.tablet .game-tile .game-app-icon {
    transform: none
}

.game-tile.big-tile .game-app-icon {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .game-app-icon {
    transform: none
}

html.tablet .game-tile.big-tile .game-app-icon {
    transform: none
}

.game-tile .game-subtitle {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .1s
}

html.mobile .game-tile .game-subtitle {
    transform: none
}

html.tablet .game-tile .game-subtitle {
    transform: none
}

.game-tile.big-tile .game-subtitle {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .game-subtitle {
    transform: none
}

html.tablet .game-tile.big-tile .game-subtitle {
    transform: none
}

.game-tile .game-description {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .125s
}

html.mobile .game-tile .game-description {
    transform: none
}

html.tablet .game-tile .game-description {
    transform: none
}

.game-tile.big-tile .game-description {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .game-description {
    transform: none
}

html.tablet .game-tile.big-tile .game-description {
    transform: none
}

.game-tile .game-character {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .15s
}

html.mobile .game-tile .game-character {
    transform: none
}

html.tablet .game-tile .game-character {
    transform: none
}

.game-tile.big-tile .game-character {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .game-character {
    transform: none
}

html.tablet .game-tile.big-tile .game-character {
    transform: none
}

.game-tile .app-store-link {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .175s
}

html.mobile .game-tile .app-store-link {
    transform: none
}

html.tablet .game-tile .app-store-link {
    transform: none
}

.game-tile.big-tile .app-store-link {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .app-store-link {
    transform: none
}

html.tablet .game-tile.big-tile .app-store-link {
    transform: none
}

.game-tile .play-store-link {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .2s
}

html.mobile .game-tile .play-store-link {
    transform: none
}

html.tablet .game-tile .play-store-link {
    transform: none
}

.game-tile.big-tile .play-store-link {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .play-store-link {
    transform: none
}

html.tablet .game-tile.big-tile .play-store-link {
    transform: none
}

.game-tile .link {
    transform: translateY(144px);
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3);
    transition-delay: .225s
}

html.mobile .game-tile .link {
    transform: none
}

html.tablet .game-tile .link {
    transform: none
}

.game-tile.big-tile .link {
    transform: translateY(288px)
}

html.mobile .game-tile.big-tile .link {
    transform: none
}

html.tablet .game-tile.big-tile .link {
    transform: none
}

.game-tile:hover .game-title, .game-tile.active .game-title {
    transform: none
}

.game-tile:hover .game-app-icon, .game-tile.active .game-app-icon {
    transform: none
}

.game-tile:hover .game-subtitle, .game-tile.active .game-subtitle {
    transform: none
}

.game-tile:hover .game-description, .game-tile.active .game-description {
    transform: none
}

.game-tile:hover .game-character, .game-tile.active .game-character {
    transform: none
}

.game-tile:hover .app-store-link, .game-tile.active .app-store-link {
    transform: none
}

.game-tile:hover .play-store-link, .game-tile.active .play-store-link {
    transform: none
}

.game-tile:hover .link, .game-tile.active .link {
    transform: none
}

.work {
    padding: 216px 36px
}

@media screen and (max-width: 1024px) {
    .work {
        padding: 108px 36px
    }
}

.work .bg-image {
    opacity: 0.24;
    mix-blend-mode: luminosity;
    z-index: 1
}

.work .texts {
    display: block
}

@media screen and (max-width: 1024px) {
    .work .texts {
        max-width: 792px;
        margin: 0 auto;
        flex-direction: column
    }
}

.work .title {
    position: absolute;
    right: 50%;
    top: -0.25em;
    font-size: 45px;
    font-size: 3.3vw;
    max-width: 14em
}

@media screen and (min-width: 1363.63636px) {
    .work .title {
        font-size: 45px
    }
}

@media screen and (max-width: 969.69697px) {
    .work .title {
        font-size: 32px
    }
}

@media screen and (max-width: 1024px) {
    .work .title {
        position: relative;
        right: 0;
        max-width: none
    }
}

.work .title h2 {
    font-size: inherit;
    line-height: 1.08
}

.work .description {
    position: relative;
    left: 50%;
    margin-left: 36px;
    padding-right: 36px;
    max-width: 30em;
    flex-basis: 50%
}

.work .description p, .work .description a.red-link span, a.red-link .work .description span {
    font-weight: 600
}

@media screen and (max-width: 1024px) {
    .work .description {
        left: 0;
        margin-left: 0;
        margin-top: 6px;
        max-width: none
    }
}

.work .link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 72px
}

@media screen and (max-width: 767px) {
    .work .link .red-button {
        width: 100%
    }
}

.work .content {
    position: relative;
    z-index: 2
}

.highlights {
    overflow: hidden
}

.highlights .controls {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    padding-bottom: 36px
}

.highlights .controls .dot {
    transition: all 0.15s ease-out
}

.highlights-wrapper {
    height: 700px;
    display: flex;
    transition: all 0.15s ease-out
}

.highlight {
    height: 100%;
    width: 100%;
    background-color: #000
}

.highlight .content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    text-align: center
}

.highlight .load-video-btn {
    margin-top: 10%;
    transition: all 0.15s ease-out
}

.highlight .load-video-btn:hover {
    transform: none
}

html.mobile .highlight .load-video-btn {
    transform: none
}

html.tablet .highlight .load-video-btn {
    transform: none
}

@media screen and (max-width: 767px) {
    .highlight .load-video-btn {
        margin-top: 40%
    }
}

.highlight .texts {
    position: absolute;
    bottom: 58%;
    left: 50%;
    transform: translateX(-50%);
    width: 100%
}

@media screen and (max-width: 767px) {
    .highlight .texts {
        padding: 0 18px
    }
}

.highlight .texts h4 {
    font-size: 64px
}

@media screen and (max-width: 767px) {
    .highlight .texts h4 {
        font-size: 2.68vmax;
    }
}

.highlight .video-btns {
    opacity: 0;
    pointer-events: none;
    transition: all 0.8s ease-out
}

.highlight .content {
    opacity: 1;
    transition: all 0.8s ease-out
}

.highlight .bg-video:not(.popup-video), .highlight .overlay-video:not(.popup-video) {
    position: relative;
    position: absolute
}

.highlight .bg-video:not(.popup-video):after, .highlight .overlay-video:not(.popup-video):after {
    content: '';
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    /*background-color: #D21123*/
}

.highlight .bg-video:not(.popup-video):after, .highlight .overlay-video:not(.popup-video):after {
    mix-blend-mode: color
}

@supports not (mix-blend-mode: color) {
    .highlight .bg-video:not(.popup-video):after, .highlight .overlay-video:not(.popup-video):after {
        opacity: 0.5
    }
}

.highlight.active.playing .video-btns {
    opacity: 1
}

.highlight.active.playing .content {
    opacity: 0;
    pointer-events: none
}

.highlight.active.playing video {
    object-fit: contain
}

.highlight.active.playing .bg-video:after, .highlight.active.playing .overlay-video:after {
    opacity: 0;
    pointer-events: none
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

body.company section:not(.milestones) {
    z-index: 2
}

body.company .opening {
    padding-bottom: 108px
}

@media screen and (max-width: 767px) {
    body.company .opening {
        padding-bottom: 0
    }
}

body.company .opening .bg-image, body.company .opening .bg-video, body.company .opening .overlay-video {
    opacity: 0.6
}

body.company .page-cover {
    margin-bottom: -108px
}

@media screen and (max-width: 767px) {
    body.company .page-cover {
        margin-bottom: 0
    }
}

@media screen and (min-width: 1921px) {
    body.company .page-cover {
        margin-bottom: -36px
    }
}

body.company .page-headline h2 {
    color: #D21123
}

body.company .stats .content {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 952px;
    margin: 0 auto;
    justify-content: center
}

@media screen and (max-width: 1024px) {
    body.company .stats .content {
        padding: 0 9px
    }
}

@media screen and (min-width: 1921px) {
    body.company .stats .content {
        max-width: 1428px
    }
}

body.company .stat {
    flex: 50% 0 0;
    text-align: center;
    padding: 0 12px 90px
}

@media screen and (max-width: 767px) {
    body.company .stat {
        flex-basis: 100%
    }
}

body.company .stat .number h3 {
    font-size: 20vw;
    font-weight: 900
}

@media screen and (min-width: 920px) {
    body.company .stat .number h3 {
        font-size: 184px
    }
}

@media screen and (max-width: 640px) {
    body.company .stat .number h3 {
        font-size: 128px
    }
}

body.company .stat .label {
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3)
}

body.company .stat .label h4 {
    font-size: 45px;
    font-weight: 400
}

body.company .stat span {
    display: inline-block;
    transition: all 0.7s cubic-bezier(1, -0.1, 0.54, 1.3)
}

body.company .stat span.hidden, body.company .stat .label.hidden {
    transition: none;
    opacity: 0
}

.story {
    background-color: #141414;
    padding: 108px 0
}

@media screen and (max-width: 767px) {
    .story {
        padding-bottom: 0
    }
}

.story .content {
    max-width: 792px;
    margin: 0 auto
}

@media screen and (max-width: 1024px) {
    .story .content {
        padding: 0 36px
    }
}

@media screen and (min-width: 1921px) {
    .story .content {
        max-width: 1188px
    }
}

.story .text {
    margin-top: 54px
}

.milestones {
    background-color: #141414
}

.milestones .content {
    max-width: 792px;
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column
}

@media screen and (max-width: 767px) {
    .milestones .content {
        padding-top: 108px
    }
}

@media screen and (min-width: 1921px) {
    .milestones .content {
        max-width: 1188px
    }
}

.milestones-scrim {
    background-image: linear-gradient(to top, #141414 0%, rgba(20, 20, 20, 0.738) 19%, rgba(20, 20, 20, 0.541) 34%, rgba(20, 20, 20, 0.382) 47%, rgba(20, 20, 20, 0.278) 56.5%, rgba(20, 20, 20, 0.194) 65%, rgba(20, 20, 20, 0.126) 73%, rgba(20, 20, 20, 0.075) 80.2%, rgba(20, 20, 20, 0.042) 86.1%, rgba(20, 20, 20, 0.021) 91%, rgba(20, 20, 20, 0.008) 95.2%, rgba(20, 20, 20, 0.002) 98.2%, rgba(20, 20, 20, 0) 100%);
    position: fixed;
    width: 36px;
    height: calc(100vh - 108px);
    bottom: 108px;
    left: 0;
    transition: all 0.15s ease-out;
    transition-property: opacity;
    pointer-events: none;
    z-index: 1
}

.milestones-scrim.hidden {
    opacity: 0
}

.milestones-scrim:after {
    content: '';
    position: absolute;
    bottom: -108px;
    left: 0;
    height: 108px;
    width: 100%;
    background-color: #141414
}

.milestone {
    width: 66.666%;
    align-self: flex-end;
    padding: 108px 0
}

.milestone .year {
    transition: all 0.8s ease-out;
    transition-duration: 0.6s;
    transition-delay: .23s;
    z-index: 2
}

.milestone .image {
    transition: all 0.8s ease-out;
    transition-duration: 0.6s;
    transition-delay: .435s;
    z-index: 2
}

.milestone .title {
    transition: all 0.8s ease-out;
    transition-duration: 0.6s;
    transition-delay: .51s;
    z-index: 2
}

.milestone .label {
    transition: all 0.8s ease-out;
    transition-duration: 0.6s;
    transition-delay: .585s;
    z-index: 2
}

.milestone.out .year {
    opacity: 0.15;
    transition: none;
    text-shadow: none
}

.milestone.out .image {
    opacity: 0.15;
    transition: none;
    text-shadow: none
}

.milestone.out .title {
    opacity: 0.15;
    transition: none;
    text-shadow: none
}

.milestone.out .label {
    opacity: 0.15;
    transition: none;
    text-shadow: none
}

@media screen and (max-width: 1024px) {
    .milestone {
        padding-right: 36px
    }
}

.milestone .image {
    height: 72px;
    left: 0;
    padding-right: 36px;
    margin-top: 36px
}

.milestone .image img {
    height: 100%;
    width: auto
}

.milestone .year {
    position: absolute;
    bottom: calc(108px - 0.6em);
    left: -36px;
    transform: translateX(-100%);
    text-shadow: 0 0 7px rgba(210, 17, 35, 0.46), 0 0 26px rgba(210, 17, 35, 0.91)
}

@media screen and (max-width: 767px) {
    .milestone .year {
        writing-mode: vertical-lr;
        left: -18px;
        bottom: calc(108px - 0.2em)
    }
}

.milestone .year h4 {
    font-size: 120px;
    font-weight: 900;
    color: #D21123
}

@media screen and (max-width: 1024px) {
    .milestone .year h4 {
        font-size: 10vw
    }
}

@media screen and (max-width: 767px) {
    .milestone .year h4 {
        font-size: 25vw
    }
}

.milestone .texts {
    z-index: 1;
    position: relative;
    margin-top: 12px
}

.milestone .title {
    font-size: 45px;
    font-weight: 700;
    display: inline-block;
    margin-top: 12px
}

@media screen and (max-width: 767px) {
    .milestone .title {
        font-size: 8vw;
        margin-top: 6px
    }
}

.milestone .label {
    display: block;
    font-size: 27px;
    font-weight: 500;
    letter-spacing: -0.04em
}

@media screen and (max-width: 767px) {
    .milestone .label {
        font-size: 6vw;
        margin-top: 12px
    }
}

.milestone .text {
    margin-top: 12px
}

.milestone:after {
    content: '';
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -18px;
    background-color: #D21123;
    transition: all 0.15s ease-out;
    transform-origin: top
}

.milestone:before {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #D21123;
    position: absolute;
    left: -23px;
    bottom: 144px;
    transition: all 0.15s ease-out
}

.milestone.out:before {
    transform: scale(0)
}

.milestone:first-of-type {
    padding-top: 0;
    margin-top: 108px
}

.milestone:first-of-type:after {
    bottom: 0;
    top: auto;
    height: 144px
}

.milestone:last-of-type:after {
    height: calc(100% - 108px - 36px)
}

.pgi .content {
    max-width: 792px;
    margin: 0 auto;
    padding: 216px 0
}

@media screen and (max-width: 767px) {
    .pgi .content {
        padding: 72px 0
    }
}

@media screen and (min-width: 1921px) {
    .pgi .content {
        max-width: 1188px
    }
}

.pgi .texts {
    display: flex;
    align-items: center
}

.pgi .texts > * {
    flex-basis: 50%
}

@media screen and (max-width: 1024px) {
    .pgi .texts {
        display: block;
        padding: 0 36px
    }
}

.pgi .bg-video, .pgi .overlay-video {
    opacity: 0.4
}

.pgi .bg-image {
    opacity: 0.6
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

.careers .cover-images {
    opacity: 0.55
}

.positions {
    background-color: #252525
}

.positions nav.inner-nav {
    text-align: center;
    margin: 0 auto
}

.who .content {
    max-width: 792px;
    margin: 108px auto
}

@media screen and (max-width: 1024px) {
    .who .content {
        padding: 36px
    }
}

@media screen and (max-width: 767px) {
    .who .content {
        margin: 0 auto
    }
}

@media screen and (min-width: 1921px) {
    .who .content {
        max-width: 1188px
    }
}

.who .title h2, .who .title h3 {
    font-size: 36px;
    line-height: 1.36111;
    font-weight: 300;
    text-align: center
}

@media screen and (max-width: 767px) {
    .who .title h2, .who .title h3 {
        font-size: 21px;
        font-weight: 400
    }
}

.who .title h3 {
    font-weight: 700;
    font-size: 27px;
    line-height: 1.07407;
    margin: 36px auto 0;
    max-width: 75%
}

@media screen and (max-width: 767px) {
    .who .title h3 {
        max-width: none;
        line-height: 1.36111;
        font-size: 21px
    }
}

.departments {
    max-width: 952px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 108px
}

@media screen and (max-width: 767px) {
    .departments {
        padding-bottom: 12px
    }
}

@media screen and (min-width: 1921px) {
    .departments {
        max-width: 1428px
    }
}

ul.departments-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    text-align: center
}

@media screen and (max-width: 1024px) {
    ul.departments-list {
        padding: 0 12px
    }
}

@media screen and (max-width: 767px) {
    ul.departments-list {
        padding: 0 6px
    }
}

ul.departments-list li {
    flex: 33% 0 0;
    padding: 12px;
    cursor: pointer;
    transition: all 0.15s ease-out
}

ul.departments-list li.hidden {
    opacity: 0.2
}

html.tablet.landscape ul.departments-list li {
    flex-basis: 33%
}

@media screen and (max-width: 1024px) {
    ul.departments-list li {
        flex-basis: 50%;
        flex-grow: 1
    }
}

@media screen and (max-width: 767px) {
    ul.departments-list li {
        padding: 6px;
        width: 50%
    }
}

@media screen and (min-width: 1025px) {
    ul.departments-list li:last-of-type:nth-of-type(3n+1) {
        margin-left: 33%
    }

    ul.departments-list li:nth-last-of-type(2):nth-of-type(3n+1) {
        margin-left: 16.666%
    }
}

ul.departments-list li a:hover {
    text-decoration: none
}

.departments-item {
    height: 164px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 3px;
    padding: 12px;
    box-shadow: 0 2px 12px #000;
    transition: all 0.15s ease-out
}

@media screen and (max-width: 1024px) {
    .departments-item {
        padding: 24px
    }
}

@media screen and (max-width: 767px) {
    .departments-item {
        padding: 12px;
        height: 118px
    }
}

@media screen and (min-width: 1921px) {
    .departments-item {
        height: 246px;
        padding: 36px
    }
}

li.active .departments-item {
    box-shadow: 0 12px 24px #000;
    transform: scale(1.05)
}

.departments-item span {
    text-transform: uppercase;
    font-size: 36px;
    line-height: 36px;
    letter-spacing: 1.69px/36 pxem;
    font-weight: 700;
    font-family: "Barlow Condensed", sans-serif
}

@media screen and (max-width: 1024px) {
    .departments-item span {
        font-size: 32px;
        line-height: .96875
    }
}

@media screen and (max-width: 767px) {
    .departments-item span {
        font-size: 24px
    }
}

@media screen and (min-width: 1921px) {
    .departments-item span {
        font-size: 45px;
        line-height: 45px
    }
}

.offices {
    padding: 36px
}

.offices .content {
    max-width: 952px;
    margin: 0 auto
}

@media screen and (min-width: 1921px) {
    .offices .content {
        max-width: 1428px
    }
}

.offices .bg-video, .offices .overlay-video {
    opacity: 0.5
}

@media screen and (max-width: 767px) {
    .offices {
        min-height: 0;
        padding: 36px 24px
    }
}

.offices ul {
    list-style: none;
    display: flex;
    flex-wrap: wrap
}

.offices ul > * {
    flex: 0 0 33%;
    max-width: 33%
}

@media screen and (max-width: 767px) {
    .offices ul > * {
        flex-basis: 100%;
        max-width: 100%
    }
}

.offices .bg-image {
    opacity: 0.333
}

.offices-nav {
    left: 0;
    padding: 36px 0 36px 216px;
    position: relative;
    display: none
}

.offices-nav ul {
    display: flex;
    flex-direction: column;
    align-items: flex-start
}

.offices-nav ul li {
    font-weight: 600;
    font-size: 24px;
    position: relative;
    width: 100%
}

@media screen and (max-width: 767px) {
    .offices-nav ul li {
        font-size: 4.5vw
    }
}

.offices-nav ul li:after {
    content: '';
    position: absolute;
    left: -42px;
    top: 0.5em;
    height: 1px;
    width: 30px;
    background-color: #D21123;
    transition: all 0.15s ease-out;
    transform: scaleX(0);
    transform-origin: right
}

@media screen and (max-width: 767px) {
    .offices-nav ul li:after {
        top: 0.666em
    }
}

.offices-nav ul li:not(:first-of-type) {
    margin-top: 12px
}

.offices-nav ul li.active {
    color: #D21123
}

.offices-nav ul li.active:after {
    transform: none
}

.office-info {
    border-radius: 3px;
    padding: 18px;
    transition: all 0.15s ease-out;
    width: 50vw;
    top: 50%;
    pointer-events: none;
    background-color: transparent;
    position: relative;
    opacity: 1;
    transform: none;
    left: auto;
    right: auto;
    margin: 12px 0
}

.office-info.active {
    opacity: 1;
    transform: translateY(-50%);
    pointer-events: all
}

.office-info .title h3 {
    font-size: 64px;
    line-height: 0.94em;
    font-weight: 800;
    margin-bottom: 18px
}

.office-info .title h3 span {
    display: block
}

@media screen and (max-width: 1024px) {
    .office-info .title h3 {
        font-size: 5.5vw
    }
}

@media screen and (max-width: 767px) {
    .office-info .title h3 {
        font-size: 24px;
        font-weight: 500;
        margin-bottom: 0
    }

    .office-info .title h3 span {
        display: inline-block
    }
}

.office-info .stats {
    margin-top: 18px
}

.office-info .stats ul {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column
}

.office-info .stats li:not(:first-of-type) {
    margin-left: 0;
    margin-top: 12px
}

.office-info .stat {
    display: flex;
    align-items: center;
    flex-basis: 100%;
    max-width: 100%
}

.office-info .icon {
    width: 28px
}

@media screen and (max-width: 767px) {
    .office-info .icon {
        width: 24px
    }
}

.office-info .label {
    font-weight: 800;
    margin-left: 6px;
    font-size: 24px
}

@media screen and (max-width: 1024px) {
    .office-info .label {
        font-size: 16px
    }
}

.office-info:after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5)
}

.office-info:nth-last-of-type(1):after, .office-info:nth-last-of-type(2):nth-of-type(3n-1):after, .office-info:nth-last-of-type(2):nth-of-type(3n-2):after, .office-info:nth-last-of-type(3):nth-of-type(3n-2):after {
    display: none
}

.office-info.active {
    transform: none
}

.office-info .text {
    display: none
}

@media screen and (max-width: 767px) {
    .office-info {
        padding: 0;
        pointer-events: all
    }

    .office-info:nth-last-of-type(2):nth-of-type(3n-1):after, .office-info:nth-last-of-type(2):nth-of-type(3n-2):after, .office-info:nth-last-of-type(3):nth-of-type(3n-2):after {
        display: block
    }

    .office-info h3 {
        transition: all 0.15s ease-out
    }

    .office-info.active h3 {
        color: #D21123
    }
}

@media screen and (max-width: 767px) {
    .office-info .stats {
        overflow-y: hidden;
        height: 0;
        margin-top: 0;
        transition: all 0.15s ease-out
    }
}

@media screen and (max-width: 767px) {
    .office-info.active .stats {
        height: 18px;
        margin-top: 18px
    }
}

.life .content {
    max-width: 792px;
    margin: 0 auto;
    padding-bottom: 36px;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 1024px) {
    .life .content {
        padding-right: 24px;
        padding-left: 24px
    }
}

.perks .text {
    margin-top: 24px
}

.perks-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    text-align: center
}

.perks-list li {
    margin-top: 81px;
    flex: 33% 0 0
}

.perks-list .icon {
    width: 96px;
    margin: 0 auto
}

.perks-list .label {
    font-weight: 600;
    font-size: 27px;
    margin-top: 24px;
    padding: 0 24px
}

.feed {
    padding: 108px 0
}

@media screen and (max-width: 767px) {
    .feed {
        padding: 36px 0
    }
}

.feed-gallery {
    margin: 0 auto;
    width: calc(86.66667vw - 12px)
}

@media screen and (max-width: 767px) {
    .feed-gallery {
        overflow-x: auto;
        width: 100%;
        -webkit-overflow-scrolling: touch
    }

    .feed-gallery::-webkit-scrollbar {
        display: none
    }
}

.feed-gallery .posts-wrapper {
    display: flex;
    height: calc(40vw + 12px);
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start
}

@media screen and (max-width: 767px) {
    .feed-gallery .posts-wrapper {
        height: calc(80vw + 6px);
        width: calc(173.33333vw - 6px);
        margin-left: 36px
    }
}

.feed-gallery .life-image {
    padding: 0 0 12px 12px
}

@media screen and (max-width: 767px) {
    .feed-gallery .life-image {
        padding: 0 0 6px 6px
    }
}

.feed-gallery .life-image .bg-image {
    width: calc(40vw - 12px);
    height: calc(40vw - 12px);
    overflow: hidden;
    border-radius: 3px;
    position: relative
}

@media screen and (max-width: 767px) {
    .feed-gallery .life-image .bg-image {
        width: calc(80vw - 6px);
        height: calc(80vw - 6px)
    }
}

.feed-gallery .container {
    display: flex;
    flex-direction: column
}

.feed-gallery .container:nth-of-type(1) .life-image {
    padding-left: 0
}

.feed-gallery .container:nth-of-type(2) .bg-image {
    width: calc(26.66667vw - 12px);
    height: calc(26.66667vw - 12px)
}

@media screen and (max-width: 767px) {
    .feed-gallery .container:nth-of-type(2) .bg-image {
        width: calc(53.33333vw - 6px);
        height: calc(53.33333vw - 6px)
    }
}

.feed-gallery .container:nth-of-type(2) .container {
    flex-direction: row
}

.feed-gallery .container:nth-of-type(2) .container .bg-image {
    width: calc(13.33333vw - 12px);
    height: calc(13.33333vw - 12px)
}

@media screen and (max-width: 767px) {
    .feed-gallery .container:nth-of-type(2) .container .bg-image {
        width: calc(26.66667vw - 6px);
        height: calc(26.66667vw - 6px)
    }
}

.feed-gallery .container:nth-of-type(3) .bg-image {
    width: calc(20vw - 12px);
    height: calc(20vw - 12px)
}

@media screen and (max-width: 767px) {
    .feed-gallery .container:nth-of-type(3) .bg-image {
        width: calc(40vw - 6px);
        height: calc(40vw - 6px)
    }
}

@media screen and (max-width: 767px) {
    .feed-gallery .container:last-of-type {
        padding-right: 36px
    }

    .feed-gallery .container .container:last-of-type {
        padding-right: 0
    }
}

.event {
    height: 700px;
    padding-top: 72px
}

@media screen and (max-width: 767px) {
    .event {
        padding-top: 36px
    }
}

.event .text {
    margin-top: 12px
}

.event .red-button {
    margin-top: 36px;
    max-width: 350px
}

a.close {
    position: absolute;
    width: 43.2px;
    height: 43.2px;
    top: 36px;
    right: 36px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.3);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 36px;
    transition: all 0.15s ease-out
}

a.close:hover {
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.8)
}

a.close span {
    display: block;
    transform: translateY(-0.07em)
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

body.department .site-header .bg-image:after {
    content: '';
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    height: 200%;
    background-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0.738) 19%, rgba(0, 0, 0, 0.541) 34%, rgba(0, 0, 0, 0.382) 47%, rgba(0, 0, 0, 0.278) 56.5%, rgba(0, 0, 0, 0.194) 65%, rgba(0, 0, 0, 0.126) 73%, rgba(0, 0, 0, 0.075) 80.2%, rgba(0, 0, 0, 0.042) 86.1%, rgba(0, 0, 0, 0.021) 91%, rgba(0, 0, 0, 0.008) 95.2%, rgba(0, 0, 0, 0.002) 98.2%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.333;
    transition: all 0.15s ease-out
}

body.department.nav-dark .site-header .bg-image:after {
    opacity: 0
}

body.department .page-wrapper {
    background-color: #F9F9F9;
    color: #4A4A4A
}

body.department .page-headline {
    text-shadow: 0 0 16px rgba(0, 0, 0, 0.4)
}

body.department .page-headline h2 {
    color: #fff
}

body.department .page-cover .bg-image {
    background-color: #fff;
    mix-blend-mode: multiply;
    background-position-y: bottom;
    height: 50vw;
    max-height: 77vh
}

@supports not (mix-blend-mode: color) {
    body.department .page-cover .bg-image {
        height: calc(100% - 36px);
        max-height: none
    }
}

body.department .page-cover .bg-image:before, body.department .page-cover .bg-image:after {
    content: '';
    color: inherit;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background-color: currentColor
}

body.department .page-cover .bg-image:before {
    mix-blend-mode: color;
    opacity: 1
}

@supports not (mix-blend-mode: color) {
    body.department .page-cover .bg-image:before {
        display: none
    }
}

body.department .page-cover .bg-image:after {
    mix-blend-mode: screen;
    opacity: 0.75
}

@supports not (mix-blend-mode: color) {
    body.department .page-cover .bg-image:after {
        opacity: 0.5
    }
}

body.department .page-cover .red-button {
    margin-top: 54px;
    padding: 0 18px
}

body.department .page-cover .red-button span {
    text-transform: none;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0
}

body.department .page-cover .red-button span:before, body.department .page-cover .red-button span:after {
    content: '↓';
    padding: 0 18px;
    display: inline-block;
    transform: translateY(2px)
}

@media screen and (max-width: 1024px) {
    body.department .page-cover {
        min-height: 0
    }

    body.department .page-cover .bg-image {
        height: 130%
    }
}

@media screen and (min-width: 1921px) {
    body.department .page-cover .bg-image {
        height: 165%
    }
}

@media screen and (max-width: 767px) {
    body.department .page-headline h2 {
        font-size: 14vw
    }

    body.department .page-cover .red-button {
        padding: 0 12px
    }
}

body.position .page-cover {
    min-height: 0
}

.summary .content {
    max-width: 792px;
    margin: 0 auto
}

@media screen and (max-width: 1024px) {
    .summary .content {
        padding: 0 36px
    }
}

html.tablet.landscape .summary .content {
    padding: 0
}

@media screen and (min-width: 1921px) {
    .summary .content {
        max-width: 1188px
    }
}

.summary .title h3 {
    font-size: 45px;
    line-height: 1.08;
    font-weight: 300;
    color: #000
}

.summary .text {
    font-size: 18px;
    margin-top: 1em
}

.positions-wrapper {
    max-width: 952px;
    margin: 72px auto 0;
    padding-bottom: 108px
}

@media screen and (max-width: 1024px) {
    .positions-wrapper {
        padding: 0 36px 36px;
        margin-bottom: 0
    }
}

@media screen and (min-width: 1921px) {
    .positions-wrapper {
        max-width: 1356px
    }
}

.positions-wrapper .content {
    max-width: 792px;
    margin: 0 auto
}

@media screen and (min-width: 1921px) {
    .positions-wrapper .content {
        max-width: 1188px
    }
}

body.position .positions-wrapper .content {
    margin-top: 36px
}

.positions-wrapper .section-title {
    color: #000
}

.positions-wrapper .location-dropdowns {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 54px
}

.positions-wrapper .location-dropdowns > * {
    flex: calc(50% - 12px) 0 0
}

@media screen and (max-width: 767px) {
    .positions-wrapper .location-dropdowns {
        flex-direction: column
    }

    .positions-wrapper .location-dropdowns > *:not(:first-of-type) {
        margin-top: 18px
    }
}

.positions-wrapper .location-dropdowns select {
    width: calc(100%)
}

.positions-wrapper .red-link {
    margin-top: 24px;
    display: block;
    color: #4A4A4A
}

.positions-accordion {
    margin-top: 54px;
    position: relative;
    width: 100%;
    min-height: 150px
}

.positions-accordion .iframe {
    background-color: #fff;
    opacity: 0;
    transition: all 0.15s ease-out;
    width: 100% !important
}

.positions-accordion .iframe.visible {
    opacity: 1
}

.positions-accordion .iframe iframe {
    width: 100% !important
}

.accordion ul {
    margin: 0;
    padding: 0
}

.accordion ul li {
    transition: all 0.8s ease-out
}

.accordion ul li .job-desc {
    height: 0;
    overflow: hidden;
    transition: all 0.8s ease-out
}

.accordion ul li .job-desc li {
    list-style-position: inside;
    padding-left: 1.75em;
    text-indent: -1.5em
}

.accordion .job-container {
    padding: 18px 80px;
    transition: all 0.8s ease-out;
    list-style: none;
    position: relative
}

@media screen and (max-width: 767px) {
    .accordion .job-container {
        padding: 18px 22px 18px 48px;
        width: calc(100% + 36px);
        margin-left: -18px
    }

    .accordion .job-container:nth-of-type(1) {
        padding-top: 36px
    }

    .accordion .job-container:nth-last-of-type(1) {
        padding-bottom: 36px
    }
}

.accordion .job-title, .accordion .no-positions, .accordion .job-desc {
    width: 100%;
    max-width: 952px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width: 1921px) {
    .accordion .job-title, .accordion .no-positions, .accordion .job-desc {
        max-width: 1428px
    }
}

.accordion .job-title, .accordion .no-positions {
    display: flex;
    cursor: pointer;
    align-items: center
}

body.position .accordion .job-title, body.position .accordion .no-positions {
    cursor: auto
}

@media screen and (max-width: 767px) {
    .accordion .job-title, .accordion .no-positions {
        padding-right: 0
    }
}

.accordion .job-title h3, .accordion .no-positions h3 {
    font-size: 50px;
    color: #D21123;
    transition: all 0.8s ease-out;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    line-height: 1
}

body.position .accordion .job-title h3, body.position .accordion .no-positions h3 {
    font-size: 64px
}

@media screen and (max-width: 767px) {
    .accordion .job-title h3, .accordion .no-positions h3 {
        font-size: 8vw
    }
}

.accordion .job-title h4, .accordion .no-positions h4 {
    font-size: 21px;
    font-weight: 800;
    text-transform: uppercase;
    margin-top: 0.4em;
    letter-spacing: 0.075em
}

@media screen and (max-width: 767px) {
    .accordion .job-title h4, .accordion .no-positions h4 {
        font-size: 5vw;
        font-weight: 700
    }
}

.accordion .job-title h4:empty, .accordion .no-positions h4:empty {
    display: none
}

.accordion .job-title .toggler, .accordion .no-positions .toggler {
    width: 24px;
    position: relative;
    left: -36px;
    top: 3px
}

@media screen and (max-width: 767px) {
    .accordion .job-title .toggler, .accordion .no-positions .toggler {
        min-width: 24px
    }
}

.accordion .job-title .job-title-text, .accordion .no-positions .job-title-text {
    position: relative;
    left: -24px
}

body.position .accordion .job-title .job-title-text, body.position .accordion .no-positions .job-title-text {
    left: 0
}

.accordion .job-title svg, .accordion .no-positions svg, .accordion .job-title #plus, .accordion .no-positions #plus {
    stroke: #212121;
    transition: all 0.8s ease-out;
    transform-origin: center
}

.accordion .no-positions {
    cursor: default;
    padding: 18px 80px;
    margin-top: 0.333em
}

@media screen and (max-width: 767px) {
    .accordion .no-positions {
        padding: 0
    }
}

.accordion .job-desc {
    box-sizing: border-box
}

@media screen and (max-width: 767px) {
    .accordion .job-desc {
        padding: 0
    }
}

.accordion .job-desc ul {
    list-style: disc
}

.accordion .job-desc p, .accordion .job-desc a.red-link span, a.red-link .accordion .job-desc span, .accordion .job-desc li {
    line-height: 1.35;
    margin-top: 0.3em;
    font-size: 18px
}

@media screen and (max-width: 767px) {
    .accordion .job-desc p, .accordion .job-desc a.red-link span, a.red-link .accordion .job-desc span, .accordion .job-desc li {
        font-size: 16px
    }
}

@media screen and (min-width: 1921px) {
    .accordion .job-desc p, .accordion .job-desc a.red-link span, a.red-link .accordion .job-desc span, .accordion .job-desc li {
        font-size: 21px
    }
}

.accordion .job-desc p br:only-child, .accordion .job-desc a.red-link span br:only-child, a.red-link .accordion .job-desc span br:only-child, .accordion .job-desc li br:only-child {
    display: none
}

.accordion .job-desc > p, .accordion a.red-link .job-desc > span, a.red-link .accordion .job-desc > span, .accordion .job-desc > li {
    margin-top: 18px
}

.accordion .job-desc h4 {
    margin-top: 1.5em;
    font-size: 20px;
    font-weight: 700;
    color: #D21123
}

.accordion h5.location {
    font-size: 27px;
    margin-top: 0.333em;
    font-weight: 700
}

@media screen and (max-width: 767px) {
    .accordion h5.location {
        font-size: 18px
    }
}

.accordion .form-container {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 510px
}

@media screen and (max-width: 1024px) {
    .accordion .form-container {
        min-height: 835px
    }
}

.accordion .form-container .loader {
    z-index: 0
}

.accordion .expanded.job-container {
    padding-top: 48px;
    padding-bottom: 72px;
    background-color: #fff;
    border-radius: 3px
}

.accordion .expanded.job-container + .job-container.expanded {
    margin-top: 36px
}

@media screen and (max-width: 767px) {
    .accordion .expanded.job-container {
        padding-top: 18px;
        padding-bottom: 0
    }

    .accordion .expanded.job-container:nth-of-type(1) {
        padding-top: 36px
    }
}

.accordion .expanded svg {
    transform: rotate(135deg)
}

.accordion .expanded svg #plus {
    stroke: #D21123
}

.share-position .share-buttons, .share-position .right, .share-position .left {
    display: flex;
    align-items: center
}

.share-position .share-buttons {
    margin-top: 12px;
    justify-content: space-between
}

@media screen and (max-width: 767px) {
    .share-position .share-buttons {
        flex-direction: column;
        align-items: flex-start;
        padding-bottom: 36px
    }

    .share-position .share-buttons .right, .share-position .share-buttons .left {
        margin-top: 24px
    }
}

.share-position a:not(:last-of-type) {
    margin-right: 12px
}

.share-position .icon {
    width: 36px;
    height: 36px;
    background-color: #4A4A4A;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    transition: all 0.15s ease-out;
    border-radius: 50%;
    position: relative
}

.share-position .icon:after, .share-position .icon:before {
    position: absolute;
    left: 50%;
    border-radius: 3px;
    opacity: 0;
    pointer-events: none;
    background-color: #f5f5f5
}

.share-position .icon:after {
    content: attr(title);
    top: 48px;
    transform: translateX(-50%);
    text-align: center;
    width: 10em;
    color: #4A4A4A;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px
}

.share-position .icon:before {
    content: '';
    width: 12px;
    height: 12px;
    transform: translateX(-50%) rotate(45deg);
    top: 42px
}

.share-position .icon:first-child:after {
    left: 0;
    transform: none
}

@media screen and (max-width: 767px) {
    .share-position .icon {
        width: 54px;
        height: 54px
    }
}

html.mobile .share-position .icon:after, html.mobile .share-position .icon:before {
    display: none
}

html.tablet .share-position .icon:after, html.tablet .share-position .icon:before {
    display: none
}

.share-position .icon:hover {
    background-color: #D21123
}

.share-position .icon:hover:after, .share-position .icon:hover:before {
    opacity: 1
}

.share-position .icon.facebook {
    background-image: url("../media/logo-facebook.svg")
}

.share-position .icon.twitter {
    background-image: url("../media/logo-twitter-bird.svg")
}

.share-position .icon.linkedin {
    background-image: url("../media/logo-linkedin.svg")
}

.share-position .icon.link {
    background-image: url("../media/link-3.svg")
}

.share-position .icon.link.success {
    background-image: url("../media/check-2.svg");
    background-color: #D21123
}

.share-position .icon.link.success:after, .share-position .icon.link.success:before {
    background-color: #D21123;
    color: #fff
}

.uid {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    transition: all 0.15s ease-out
}

@media screen and (max-width: 1024px) {
    .uid {
        padding-bottom: 18px
    }
}

.uid:hover {
    color: #D21123;
    text-decoration: none
}

.comeet-social-wrap {
    width: 100%;
    z-index: 1 !important
}

@media screen and (max-width: 767px) {
    .comeet-social-wrap {
        margin: 18px 0
    }
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}

.selectric-wrapper {
    position: relative;
    cursor: pointer
}

.selectric-responsive {
    width: 100%
}

.selectric {
    border: 1px solid #DDD;
    border-radius: 0px;
    background: #F8F8F8;
    position: relative;
    overflow: hidden
}

.selectric .label {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0 38px 0 10px;
    font-size: 12px;
    line-height: 38px;
    color: #444;
    height: 38px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.selectric .button {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 38px;
    height: 38px;
    line-height: 38px;
    background-color: #F8f8f8;
    color: #BBB;
    text-align: center;
    font: 0/0 a;
    *font: 20px/38px Lucida Sans Unicode, Arial Unicode MS, Arial
}

.selectric .button:after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-top-color: #BBB;
    border-bottom: none
}

.selectric-focus .selectric {
    border-color: #aaaaaa
}

.selectric-hover .selectric {
    border-color: #c4c4c4
}

.selectric-hover .selectric .button {
    color: #a2a2a2
}

.selectric-hover .selectric .button:after {
    border-top-color: #a2a2a2
}

.selectric-open {
    z-index: 9999
}

.selectric-open .selectric {
    border-color: #c4c4c4
}

.selectric-open .selectric-items {
    display: block
}

.selectric-disabled {
    filter: alpha(opacity=50);
    opacity: 0.5;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.selectric-hide-select {
    position: relative;
    overflow: hidden;
    width: 0;
    height: 0
}

.selectric-hide-select select {
    position: absolute;
    left: -100%
}

.selectric-hide-select.selectric-is-native {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10
}

.selectric-hide-select.selectric-is-native select {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    border: none;
    z-index: 1;
    box-sizing: border-box;
    opacity: 0
}

.selectric-input {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 1px !important;
    height: 1px !important;
    outline: none !important;
    border: none !important;
    *font: 0/0 a !important;
    background: none !important
}

.selectric-temp-show {
    position: absolute !important;
    visibility: hidden !important;
    display: block !important
}

.selectric-items {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #F8F8F8;
    border: 1px solid #c4c4c4;
    z-index: -1;
    box-shadow: 0 0 10px -6px
}

.selectric-items .selectric-scroll {
    height: 100%;
    overflow: auto
}

.selectric-above .selectric-items {
    top: auto;
    bottom: 100%
}

.selectric-items ul, .selectric-items li {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 12px;
    line-height: 20px;
    min-height: 20px
}

.selectric-items li {
    display: block;
    padding: 10px;
    color: #666;
    cursor: pointer
}

.selectric-items li.selected {
    background: #E0E0E0;
    color: #444
}

.selectric-items li.highlighted {
    background: #D0D0D0;
    color: #444
}

.selectric-items li:hover {
    background: #D5D5D5;
    color: #444
}

.selectric-items .disabled {
    filter: alpha(opacity=50);
    opacity: 0.5;
    cursor: default !important;
    background: none !important;
    color: #666 !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.selectric-items .selectric-group .selectric-group-label {
    font-weight: bold;
    padding-left: 10px;
    cursor: default;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background: none;
    color: #444
}

.selectric-items .selectric-group.disabled li {
    filter: alpha(opacity=100);
    opacity: 1
}

.selectric-items .selectric-group li {
    padding-left: 25px
}

.selectric {
    border-radius: 6px
}

.selectric-open .selectric {
    border-radius: 6px 6px 0 0
}

.selectric, .selectric .button {
    background-color: #fff;
    height: 64px
}

.selectric .label, .selectric-items li {
    font-size: 20px;
    color: #4A4A4A;
    font-weight: 400;
    padding-left: 1em;
    margin-left: 0
}

.selectric .label {
    font-weight: 600;
    line-height: 64px;
    height: 64px
}

.drop-down-arrow {
    position: absolute;
    width: 16px;
    top: 30px;
    right: 16px;
    transition: all 0.15s ease-out
}

.selectric-open .drop-down-arrow {
    transform: rotate(-0.5turn)
}

.selectric-items li {
    padding: 18px
}

.selectric-items li, .selectric-items li.selected {
    background-color: #fff
}

.selectric-items li.highlighted {
    background-color: #F9F9F9
}

.selectric-items li:hover {
    background-color: #f5f5f5
}

.selectric-disabled {
    opacity: 1
}

.selectric-disabled .selectric {
    border-color: transparent;
    background-color: transparent
}

.selectric-disabled .selectric .label {
    font-size: 36px;
    font-weight: 300;
    padding-left: 0
}

.selectric-disabled .drop-down-arrow {
    display: none
}

.flag-icon {
    margin-right: 12px;
    width: 39px;
    height: 26px;
    vertical-align: text-top
}

.selectric-hide-select select {
    font-size: 16px
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1)
    }
    50% {
        transform: scale(0.7)
    }
}

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

@keyframes float {
    0%, 100% {
        transform: translateY(0)
    }
    50% {
        transform: translateY(2%)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(360deg)
    }
}

@keyframes line-down {
    0% {
        transform-origin: bottom;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(0)
    }
}

@keyframes line-top {
    0% {
        transform-origin: top;
        transform: translateY(-100%)
    }
    100% {
        transform: translateY(100%)
    }
}
/*0826替换为下*/
/*footer.site-footer {*/
/*background-color: #000;*/
/*position: relative;*/
/*padding: 108px 0 36px*/
/*}*/
footer.site-footer {
    background-color: #000;
    position: relative;
    padding: 7.38vw 0 6.14vw;
    text-align: center;
}

/*0826增加样式开始*/
.site-footer h1, .site-footer h2 {
    font-size: 24px;
    text-transform: uppercase;
    letter-spacing: 3px;
}
.site-footer h2 {
    font-size: 12px;
    padding: 35px 0 40px 0;
}
a.email {
    border: 2px solid #fff;
    border-radius: 3px;
    width: 200px;
    /*height: 54px;*/
    font-size: 20px;
    text-align: center;
    line-height: 60px;
    margin: 0 auto;
    margin-bottom: 10px;
    font-family: fbold;


}
.copyright {
    text-align: center;
    margin-top: 46px;
    margin-bottom: 46px;
    font-family: flight;
    font-size: 18px;
    opacity:0.6;
}
/*0826增加样式结束*/

@media screen and (max-width: 1024px) {
    footer.site-footer {
        padding: 0
    }
}

footer.site-footer ul {
    list-style: none
}

footer.site-footer .content {
    max-width: 952px;
    width: 100%;
    margin: 0 auto
}

@media screen and (max-width: 1024px) {
    footer.site-footer .content {
        padding: 36px
    }
}

@media screen and (min-width: 1921px) {
    footer.site-footer .content {
        max-width: 1428px
    }
}

footer.site-footer h4 {
    font-size: 18px;
    display: block;
    border-bottom: solid 1px rgba(255, 255, 255, 0.15);
    padding-bottom: 12px
}

@media screen and (max-width: 767px) {
    footer.site-footer h4 {
        font-size: 24px
    }
}

@media screen and (min-width: 1921px) {
    footer.site-footer h4 {
        font-size: 24px
    }
}

footer.site-footer ul.columns {
    display: flex;
    justify-content: space-between
}

footer.site-footer ul.columns > li {
    flex: 1 0 0;
    padding: 0 12px
}

@media screen and (max-width: 767px) {
    footer.site-footer ul.columns > li {
        padding: 0
    }

    footer.site-footer ul.columns > li:first-of-type {
        margin-top: 0
    }
}

footer.site-footer ul.columns > li:first-of-type {
    padding-left: 0
}

footer.site-footer ul.columns > li:last-of-type {
    padding-right: 0
}

@media screen and (max-width: 767px) {
    footer.site-footer ul.columns {
        display: block
    }

    footer.site-footer ul.columns > li {
        margin-top: 36px
    }
}

footer.site-footer ul.list {
    margin-top: 12px
}

footer.site-footer ul.list > li {
    line-height: 1.15;
    font-size: 14px;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    footer.site-footer ul.list > li {
        font-size: 16px;
        line-height: 1.25
    }
}

@media screen and (min-width: 1921px) {
    footer.site-footer ul.list > li {
        font-size: 18px
    }
}

footer.site-footer ul.list > li:not(:last-of-type) {
    margin-bottom: 6px
}

footer.site-footer ul.list > li.sub-list-item {
    font-weight: 400;
    color: #949494
}

footer.site-footer ul.list > li.title-item {
    margin-top: 2em;
    pointer-events: none
}

footer.site-footer a {
    display: block;
    transition: all 0.15s ease-out;
}

footer.site-footer a:hover {
    text-decoration: none;
    color: #fff
}

footer.site-footer .content.bottom {
    margin-top: 36px;
    padding-top: 18px;
    border-top: solid 1px rgba(255, 255, 255, 0.15);
    display: flex;
    justify-content: space-between;
    align-items: center
}

@media screen and (max-width: 767px) {
    footer.site-footer .content.bottom {
        display: block;
        margin: 0 36px;
        padding: 36px 0;
        width: calc(100% - 72px)
    }
}

footer.site-footer .copyright {
    font-size: 12px
}

@media screen and (max-width: 767px) {
    footer.site-footer .copyright {
        margin-bottom: 24px
    }
}

footer.site-footer .copyright i:not(:first-child) {
    margin-left: 0.33em
}

footer.site-footer .copyright i:not(:first-child):before {
    content: '•';
    margin-right: 0.66em;
    display: inline-block
}

footer.site-footer .copyright a {
    display: inline
}

.praktik-credit {
    display: block;
    bottom: 40px;
    left: 40px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55)
}

.praktik-credit a {
    color: rgba(255, 255, 255, 0.45);
    fill: rgba(255, 255, 255, 0.45);
    transition: all 0.8s ease-out;
    display: block;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.1em
}

.praktik-credit a svg {
    width: 21px;
    transform: translateY(6px);
    display: inline-block;
    margin-right: 4px
}

.praktik-credit a:hover, footer.site-footer .praktik-credit a:hover {
    color: #fff;
    fill: #fff
}
.white-line {
    position: relative;
    bottom: 0;
    height: 0;
    width: 100%;
    transition: all 0.8s ease-out;
    z-index: 100;
    display: block
}

.white-line:after {
    content: '';
    width: 1px;
    height: 128px;
    background-color: #FFFFFF;
    position: absolute;
    z-index: 50;
    bottom: -64px;
    left: 50%
}

.white-line.animated {
    cursor: pointer;
    overflow-y: hidden;
    animation-duration: 1.333s;
    height: 88px;
    bottom: 118px;
    padding-bottom: 0
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .white-line.animated {
        padding-bottom: env(safe-area-inset-bottom)
    }
}

.white-line.animated.hidden {
    opacity: 0;
    pointer-events: none
}

.white-line.animated:after {
    opacity: 0;
    bottom: 0
}

body.opening-video-done .white-line.animated:after {
    opacity: 1;
    animation: line-top ease-out 0s infinite forwards;
    animation-duration: inherit
}

body.opening-video-playing .white-line {
    transition: none;
    opacity: 0;
    transform: translateY(128px)
}

@media screen and (max-width: 1024px) {
    section.opening .white-line:not(.animated) {
        display: none
    }
}

a.white-line {
    height: 128px;
    bottom: -64px;
    overflow-y: hidden;
    position: absolute;
    animation-duration: 1s
}

a.white-line:after {
    bottom: 0
}

a.white-line:before {
    content: '';
    width: 100%;
    height: 128px;
    position: absolute;
    top: 0
}

a.white-line:hover:after {
    animation: line-top ease-out infinite forwards;
    animation-duration: inherit
}

/*# sourceMappingURL=style.min.css.map */