a:-webkit-any-link {display:block;}

.intro {
    position: fixed;
    display: -webkit-flex;
    display: flex;
    z-index: 200;
    width: 100%;
    height: 100%;
    background-color: rgb(255, 255, 255);
}

.zh-logo:hover {
    cursor: pointer;
}

@keyframes flicker {
    0% {opacity: 0.1;}
    85% {opacity: 1;}
    100% {opacity: 0.1;}
}

@-webkit-keyframes flicker {
    0% {opacity: 0.1;}
    85% {opacity: 1;}
    100% {opacity: 0.1;}
}

.zh-logo {
    position: relative;
    margin: auto;
    top: -3%;
    height: 22%;
    animation: flicker 4s infinite;
    -webkit-animation: flicker 4s infinite;
}


.code {
    position: absolute;
    top: 98%;
    width: 100%;
    font-size: 8px;
    text-align: center;
    z-index: 500;
}

@media only screen and (min-width: 768px) {

    html,
    body {
        position: relative;
        height: 100%;
        background-color: white;
    }

    img {
        vertical-align: middle;
    }

    .swiper-container {
        margin-left: auto;
        margin-right: auto;
        position: relative;
        overflow: hidden;
        list-style: none;
        padding: 0;
        /* Fix of Webkit flickering */
        z-index: 1;
    }

    .swiper-container-vertical>.swiper-wrapper {
        flex-direction: column;
    }

    .swiper-wrapper {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 1;
        display: flex;
        transition-property: transform;
        box-sizing: content-box;
    }

    .swiper-container-android .swiper-slide,
    .swiper-wrapper {
        transform: translate3d(0px, 0, 0);
    }

    .swiper-container-multirow>.swiper-wrapper {
        flex-wrap: wrap;
    }

    .swiper-container-multirow-column>.swiper-wrapper {
        flex-wrap: wrap;
        flex-direction: column;
    }

    .swiper-container-free-mode>.swiper-wrapper {
        transition-timing-function: ease-out;
        margin: 0 auto;
    }

    .swiper-slide {
        flex-shrink: 0;
        width: 100%;
        height: 100%;
        position: relative;
        transition-property: transform;
    }

    .swiper-slide-invisible-blank {
        visibility: hidden;
    }

    /* Scrollbar */
    .swiper-scrollbar {
        border-radius: 10px;
        position: relative;
        -ms-touch-action: none;
        background: rgba(0, 0, 0, 0.05);
    }

    .swiper-container-horizontal>.swiper-scrollbar {
        position: absolute;
        left: 1%;
        bottom: 3px;
        z-index: 50;
        height: 5px;
        width: 98%;
    }

    .swiper-container-vertical>.swiper-scrollbar {
        position: absolute;
        right: 0;
        top: 1%;
        z-index: 50;
        width: 2px;
        height: 98%;
        opacity: 0;
        transition: opacity 0.35s ease;
    }

    .swiper-scrollbar-drag {
        height: 100%;
        width: 100%;
        position: relative;
        background: rgba(0, 0, 0, 0.2);
        border-radius: 10px;
        left: 0;
        top: 0;
    }

    .main>.swiper-container:hover>.swiper-scrollbar,
    .main>.swiper-container:focus-within>.swiper-scrollbar {
        opacity: 1 !important;
    }

    html.is-restoring-home-desktop .main>.swiper-container {
        opacity: 0;
    }

    .swiper-scrollbar-cursor-drag {
        cursor: move;
    }

    .swiper-scrollbar-lock {
        display: none;
    }

    .main {
        position: absolute;
        left: 50%;
        top: 50%;
        width: 840px;
        height: 600px;
        margin-left: -420px;
        margin-top: -310px;
        background-color: white;
    }

    .swiper-container {
        position: relative;
        width: 600px;
        height: 600px;
        left: 120px;
        overflow-x: hidden;
        background-color: rgb(255, 255, 255);
    }

    .home-grid {
        position: absolute;
        top: 0;
        left: 240px;
        z-index: 2;
        display: none;
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 200px;
        width: 600px;
        height: 600px;
        overflow-x: hidden;
        overflow-y: auto;
        background-color: rgb(255, 255, 255);
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .home-grid::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    .home-grid-scrollbar {
        position: absolute;
        top: 1%;
        right: 0;
        z-index: 5;
        display: none;
        width: 2px;
        height: 98%;
        opacity: 0;
        border-radius: 10px;
        background: rgba(0, 0, 0, 0.05);
        transition: opacity 0.35s ease;
    }

    .home-grid-scrollbar-drag {
        position: relative;
        left: 0;
        top: 0;
        width: 100%;
        min-height: 18px;
        background: rgba(0, 0, 0, 0.2);
        border-radius: 10px;
    }

    .main.is-grid-mode .home-grid-scrollbar {
        display: block;
    }

    .main.is-grid-mode .home-grid-scrollbar.is-disabled {
        display: none;
    }

    .main.is-grid-mode .home-grid:hover+.home-grid-scrollbar,
    .main.is-grid-mode .home-grid:focus-within+.home-grid-scrollbar,
    .main.is-grid-mode .home-grid-scrollbar:hover,
    .main.is-grid-mode .home-grid-scrollbar.is-dragging {
        opacity: 1;
    }

    .main.is-grid-mode>.swiper-container {
        visibility: hidden;
        pointer-events: none;
    }

    .main.is-grid-mode .home-grid {
        display: grid;
    }

    .main.is-grid-mode .scroll-hint {
        display: none;
    }

    .home-grid-item {
        position: relative;
        display: block;
        width: 200px;
        height: 200px;
        overflow: hidden;
        color: inherit;
        text-decoration: none;
        background-color: rgb(255, 255, 255);
    }

    .home-grid-item img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .home-grid-info {
        position: absolute;
        inset: 0;
        z-index: 3;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        text-align: center;
        user-select: none;
        background: rgba(255, 255, 255, 0.9);
        transition: opacity 0.2s ease;
    }

    .home-grid-item:hover .home-grid-info,
    .home-grid-item:focus .home-grid-info {
        opacity: 1;
    }

    .home-grid-title {
        margin-bottom: 0.55em;
        color: black;
        font-size: 15px;
        font-weight: 100;
        line-height: 1.6em;
    }

    .home-grid-text {
        color: rgb(110, 110, 110);
        font-size: 11px;
        line-height: 1.75em;
    }

    .home-view-toggle {
        position: absolute;
        top: 580px;
        left: 8px;
        z-index: 30;
        width: 28px;
        height: 28px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        opacity: 0.6;
    }

    .home-view-toggle-icon {
        position: absolute;
        top: 8px;
        left: 8px;
        width: 4px;
        height: 4px;
        background-color: rgb(188, 188, 188);
        box-shadow:
            6px 0 0 rgb(188, 188, 188),
            12px 0 0 rgb(188, 188, 188),
            0 6px 0 rgb(188, 188, 188),
            6px 6px 0 rgb(188, 188, 188),
            12px 6px 0 rgb(188, 188, 188),
            0 12px 0 rgb(188, 188, 188),
            6px 12px 0 rgb(188, 188, 188),
            12px 12px 0 rgb(188, 188, 188);
    }

    .home-view-toggle.is-grid-active .home-view-toggle-icon {
        top: 12px;
        left: 8px;
        width: 16px;
        height: 7px;
        box-sizing: border-box;
        border: 0;
        background-color: rgb(188, 188, 188);
        box-shadow: none;
    }

    .home-view-toggle.is-grid-active .home-view-toggle-icon::before,
    .home-view-toggle.is-grid-active .home-view-toggle-icon::after {
        content: "";
        position: absolute;
        left: 0;
        width: 16px;
        height: 2px;
        background-color: rgb(188, 188, 188);
    }

    .home-view-toggle.is-grid-active .home-view-toggle-icon::before {
        top: -5px;
    }

    .home-view-toggle.is-grid-active .home-view-toggle-icon::after {
        bottom: -5px;
    }

    .scroll-hint {
        position: absolute;
        left: 515px;
        bottom: -17px;
        width: 44px;
        height: 24px;
        z-index: 20;
        pointer-events: auto;
        cursor: pointer;
        animation: scrollHintBlink 1.6s ease-in-out infinite;
    }

    .scroll-hint.is-hidden {
        opacity: 0;
        animation: none;
    }

    .scroll-hint::before,
    .scroll-hint::after {
        content: "";
        position: absolute;
        bottom: 8px;
        width: 7px;
        height: 1px;
        background: rgb(165, 165, 165);
    }

    .scroll-hint::before {
        left: 15px;
        transform: rotate(45deg);
        transform-origin: right center;
    }

    .scroll-hint::after {
        right: 15px;
        transform: rotate(-45deg);
        transform-origin: left center;
    }

    .scroll-hint.is-back-top {
        animation-name: scrollHintBackTopBlink;
    }

    .scroll-hint.is-back-top::before {
        transform: rotate(-45deg);
    }

    .scroll-hint.is-back-top::after {
        transform: rotate(45deg);
    }

    @keyframes scrollHintBlink {
        0% {
            opacity: 0.15;
            transform: translateY(-2px);
        }

        50% {
            opacity: 1;
            transform: translateY(3px);
        }

        100% {
            opacity: 0.15;
            transform: translateY(-2px);
        }
    }

    @keyframes scrollHintBackTopBlink {
        0% {
            opacity: 0.15;
            transform: translateY(2px);
        }

        50% {
            opacity: 1;
            transform: translateY(-3px);
        }

        100% {
            opacity: 0.15;
            transform: translateY(2px);
        }
    }

    .swiper-wrapper {
        position: relative;
        margin-bottom: 15%;
        width: 600px;
        height: 600px;
    }

    .info {
        position: absolute;
        top: 0;
        z-index: 300;
        width: 600px;
        height: 600px;
        padding-top: 35%;
        user-select: none;
        text-align: center;
        transition: 0.2s ease;
        opacity: 0;
        background: rgba(255, 255, 255, 0.9);
    }

    .info:hover {
        opacity: 1;
        cursor: pointer;
    }

    .info-text {
        color: rgb(110, 110, 110);
        font-size: 15px;
        line-height: 1.9em;
    }

    .project-title {
        margin-top: -2em;
        font-size: 24px;
        font-weight: 100;
        line-height: 2.5em;
    }

    .copyright {
        position: relative;
        top: 2%;
        width: 100%;
        padding-left: 240px;
        font-size: 10px;
        color: lightgray;
        text-align: center;
        transform: translateY(1em);
    }

    .menu-container-mobile,
    #mobile,
    .mobile-home-grid,
    .home-mobile-copyright,
    .mobile-view-toggle,
    .mobile-back-top {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    #menu-toggle .menu-icon {
        position: absolute;
        left: 27.5%;
        width: 45%;
        height: 2px;
        display: block;
        list-style: none;
        overflow: hidden;
        background: rgb(139, 139, 139);
        font-size: 0;
        line-height: 0;
        transform-origin: center center;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    #menu-toggle .menu-icon:nth-child(1) {
        top: calc(50% - 8px);
    }

    #menu-toggle .menu-icon:nth-child(2) {
        top: calc(50% - 1px);
    }

    #menu-toggle .menu-icon:nth-child(3) {
        top: calc(50% + 6px);
    }

    .mobile-view-toggle {
        position: absolute;
        z-index: 151;
        top: 25%;
        left: 0;
        display: none;
        width: 13%;
        height: 50%;
        margin-left: 2%;
        padding: 0;
        border: 0;
        background: transparent;
        opacity: 1;
    }

    #menu-checkbox:checked~.mobile-view-toggle {
        display: block;
    }

    .mobile-view-toggle-icon {
        position: absolute;
        top: calc(50% - 8px);
        left: calc(50% - 8px);
        width: 4px;
        height: 4px;
        background-color: rgb(139, 139, 139);
        box-shadow:
            6px 0 0 rgb(139, 139, 139),
            12px 0 0 rgb(139, 139, 139),
            0 6px 0 rgb(139, 139, 139),
            6px 6px 0 rgb(139, 139, 139),
            12px 6px 0 rgb(139, 139, 139),
            0 12px 0 rgb(139, 139, 139),
            6px 12px 0 rgb(139, 139, 139),
            12px 12px 0 rgb(139, 139, 139);
    }

    .mobile-view-toggle.is-grid-active .mobile-view-toggle-icon {
        top: calc(50% - 3.5px);
        left: calc(50% - 8px);
        width: 16px;
        height: 7px;
        border: 0;
        background-color: rgb(139, 139, 139);
        box-shadow: none;
    }

    .mobile-view-toggle.is-grid-active .mobile-view-toggle-icon::before,
    .mobile-view-toggle.is-grid-active .mobile-view-toggle-icon::after {
        content: "";
        position: absolute;
        left: 0;
        width: 16px;
        height: 2px;
        background-color: rgb(139, 139, 139);
    }

    .mobile-view-toggle.is-grid-active .mobile-view-toggle-icon::before {
        top: -5px;
    }

    .mobile-view-toggle.is-grid-active .mobile-view-toggle-icon::after {
        bottom: -5px;
    }

    #menu-checkbox:checked~#menu-toggle .menu-icon {
        top: calc(50% - 1px);
    }

    #menu-checkbox:checked~#menu-toggle .menu-icon:nth-child(1) {
        transform: rotate(45deg);
    }

    #menu-checkbox:checked~#menu-toggle .menu-icon:nth-child(2) {
        opacity: 0;
    }

    #menu-checkbox:checked~#menu-toggle .menu-icon:nth-child(3) {
        transform: rotate(-45deg);
    }

    html,
    body {
        position: fixed;
        inset: 0;
        overflow: hidden;
        width: 100%;
        height: 100%;
        background-color: white;
        overscroll-behavior: none;
    }

    .menu {
        position: fixed;
        float: none;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        padding-top: calc(10% - 1em);
        padding-bottom: 13%;
        display: none;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        background-color: rgba(255, 255, 255, 0.95);
    }

    .dropdown-btn {
        position: relative;
        width: 100%;
        height: 100%;
        margin-top: 0.65em;
        margin-bottom: 0.05em;
        display: block;
        font-size: 17px;
        color: rgb(95, 95, 95);
        font-weight: 900;
        line-height: 1.6em;
    }

    .dropdown-content a {
        font-size: 15px;
        line-height: 1.8em;
        color: rgb(134, 134, 134);
    }

    .dropdown-content p {
        font-size: 15px;
        line-height: 1.6em;
        color: rgb(134, 134, 134);
    }

    .menu .dropdown:nth-child(2) {
        transform: translateY(-0.5em);
    }

    .menu .dropdown:nth-child(3) {
        transform: translateY(-1em);
    }

    .menu .dropdown:nth-child(3) .dropdown-content {
        line-height: 0.9em;
    }

    .menu .dropdown:nth-child(3) .dropdown-content a {
        line-height: 0.9em;
    }

    .swiper-container {
        position: fixed;
        overflow: hidden;
        z-index: 1;
        top: 10%;
        left: 0;
        width: 100%;
        height: 84%;
        background-color: #fff
    }

    .mobile-home-grid {
        position: fixed;
        z-index: 1;
        top: 10%;
        left: 0;
        display: none;
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 25%;
        width: 100%;
        height: 84%;
        overflow-x: hidden;
        overflow-y: auto;
        background-color: #fff;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .mobile-home-grid::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    html.is-mobile-grid-mode #mobile {
        display: none;
    }

    html.is-mobile-grid-mode .mobile-home-grid {
        display: grid;
    }

    .mobile-home-grid-item {
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        overflow: hidden;
        color: inherit;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        background-color: #fff;
    }

    .mobile-home-grid-item img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .mobile-home-grid-info {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        pointer-events: none;
        user-select: none;
        text-align: center;
        background: rgba(255, 255, 255, 0.9);
        transition: opacity 0.18s ease;
    }

    .mobile-home-grid-item.is-pressing .mobile-home-grid-info,
    .mobile-home-grid-item:active .mobile-home-grid-info {
        opacity: 1;
    }

    .mobile-home-grid-title {
        margin-bottom: 0.45em;
        color: black;
        font-size: 13px;
        font-weight: 100;
        line-height: 1.4em;
    }

    .mobile-home-grid-text {
        color: rgb(110, 110, 110);
        font-size: 10px;
        line-height: 1.55em;
    }

    #mobile {
        touch-action: pan-y;
        overscroll-behavior: contain;
        transition: opacity 0.18s ease;
    }

    html.is-restoring-home-mobile #mobile {
        opacity: 0;
        transition: none;
    }

    .swiper-slide {
        text-align: center;
        font-size: 18px;
        width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;

        /* Center slide text vertically */
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }

    .swiper-container-no-flexbox .swiper-slide {
        float: left;
    }

    .swiper-container-vertical>.swiper-wrapper {
        -webkit-box-orient: vertical;
        -moz-box-orient: vertical;
        -ms-flex-direction: column;
        -webkit-flex-direction: column;
        flex-direction: column;
    }

    .swiper-wrapper {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 1;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-transition-property: -webkit-transform;
        -moz-transition-property: -moz-transform;
        -o-transition-property: -o-transform;
        -ms-transition-property: -ms-transform;
        transition-property: transform;
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
    }

    .swiper-container-android .swiper-slide,
    .swiper-wrapper {
        -webkit-transform: translate3d(0px, 0, 0);
        -moz-transform: translate3d(0px, 0, 0);
        -o-transform: translate(0px, 0px);
        -ms-transform: translate3d(0px, 0, 0);
        transform: translate3d(0px, 0, 0);
    }

    .swiper-container-multirow>.swiper-wrapper {
        -webkit-box-lines: multiple;
        -moz-box-lines: multiple;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .swiper-container-free-mode>.swiper-wrapper {
        -webkit-transition-timing-function: ease-out;
        -moz-transition-timing-function: ease-out;
        -ms-transition-timing-function: ease-out;
        -o-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        margin: 0 auto;
    }

    .swiper-slide {
        -webkit-flex-shrink: 0;
        -ms-flex: 0 0 auto;
        flex-shrink: 0;
        width: 100%;
        margin-bottom: 5%;
        position: relative;
    }

    /* a11y */
    .swiper-container .swiper-notification {
        position: absolute;
        left: 0;
        top: 0;
        pointer-events: none;
        opacity: 0;
        z-index: -1000;
    }

    /* IE10 Windows Phone 8 Fixes */
    .swiper-wp8-horizontal {
        -ms-touch-action: pan-y;
        touch-action: pan-y;
    }

    .swiper-wp8-vertical {
        -ms-touch-action: pan-x;
        touch-action: pan-x;
    }

    /* Scrollbar */
    .swiper-scrollbar {
        position: relative;
        -ms-touch-action: none;
        background: rgba(0, 0, 0, 0.1);
    }

    .swiper-container-vertical>.swiper-scrollbar {
        position: absolute;
        right: 3px;
        top: 1%;
        z-index: 50;
        width: 3px;
        height: 98%;
    }

    .swiper-scrollbar-drag {
        height: 100%;
        width: 100%;
        position: relative;
        background: rgba(0, 0, 0, 0.3);
        left: 0;
        top: 0;
    }

    .swiper-slide>a {
        width: 100%;
        max-width: 768px;
    }

    #mobile .swiper-slide>a {
        position: relative;
    }

    #mobile .swiper-slide {
        min-height: 100vw;
    }

    #mobile .swiper-slide:nth-child(-n+4) {
        margin-bottom: 6px !important;
    }

    #mobile .mobile-last-project {
        min-height: 82vw;
        margin-bottom: 0 !important;
    }

    #mobile .mobile-last-project>a {
        height: 82vw;
        overflow: hidden;
    }

    #mobile .mobile-last-project img.lazy-image {
        display: block;
        width: 100%;
        aspect-ratio: 1 / 1;
        object-fit: contain;
        object-position: top center;
    }

    #mobile .mobile-end-spacer {
        display: none;
        min-height: 0;
        height: 0;
        margin-bottom: 0;
        pointer-events: none;
    }

    #mobile .swiper-slide img.lazy-image {
        aspect-ratio: 1 / 1;
        object-fit: contain;
    }

    #mobile .swiper-slide>a,
    #mobile .swiper-slide>a:hover,
    #mobile .swiper-slide>a:active,
    #mobile .swiper-slide>a:focus {
        opacity: 1;
        filter: none;
        outline: none;
        -webkit-tap-highlight-color: transparent;
    }

    #mobile .swiper-slide>a img,
    #mobile .swiper-slide>a:hover img,
    #mobile .swiper-slide>a:active img,
    #mobile .swiper-slide>a:focus img {
        opacity: 1;
        filter: none;
        transform: none;
    }

    .mobile-project-info {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-direction: column;
        flex-direction: column;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center;
        opacity: 0;
        pointer-events: none;
        user-select: none;
        background: rgba(255, 255, 255, 0.9);
        transition: opacity 1s ease 0.06s;
        text-align: center;
    }

    #mobile .swiper-slide>a.is-pressing .mobile-project-info,
    #mobile .swiper-slide>a:active .mobile-project-info {
        opacity: 1;
        transition-duration: 0s;
        transition-delay: 0s;
    }

    .mobile-project-info .project-title {
        margin-top: -2em;
        font-size: 20px;
        font-weight: 100;
        line-height: 2.5em;
        color: black;
    }

    .mobile-project-info .info-text {
        color: rgb(110, 110, 110);
        font-size: 13px;
        line-height: 1.9em;
    }

    .link {
        display: block;
        z-index: 990;
        position: fixed;
        width: 100%;
        height: 100%;
    }

    .studio,
    .studio-info,
    .staff-info {
        position: relative;
        top: 12%;
        left: 0;
        margin-bottom: 10%;
        width: 100%;
        padding-left: 3%;
        padding-right: 3%;
        font-size: 13px;
        line-height: 1.8em;
        color: rgb(134, 134, 134);
        font-weight: 200;
        word-break: break-all;
    }

    h5 {
        font-size: 15px;
        line-height: 2em;
        color: rgb(75, 75, 75);
        font-weight: 200;
    }

    .copyright {
        height: 30%;
        text-align: center;
        font-size: 8px;
        color: lightgray;
        bottom: 0;
        padding-bottom: 0;
        top: 15%;
        padding-top: 20%;
        margin-bottom: 0;
        transform: translateY(1em);
    }

    .home-mobile-copyright {
        z-index: 90;
        background-color: rgb(255, 255, 255);
    }

    .mobile-back-top {
        position: fixed;
        z-index: 110;
        left: 50%;
        bottom: calc(6% + 1.7em);
        display: block;
        width: 6vw;
        height: 4.7vw;
        max-width: 25px;
        max-height: 20px;
        min-width: 19px;
        min-height: 15px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        opacity: 0;
        pointer-events: none;
        transform: translateX(-50%);
        -webkit-tap-highlight-color: transparent;
        transition: opacity 0.2s ease;
    }

    .mobile-back-top.is-visible {
        opacity: 0.55;
        pointer-events: auto;
        animation: mobile-back-top-blink 1.35s ease-in-out infinite;
    }

    html.is-mobile-grid-mode .mobile-back-top.is-visible {
        opacity: 0;
        pointer-events: none;
        animation: none;
    }

    .mobile-back-top::before,
    .mobile-back-top::after {
        content: "";
        position: absolute;
        top: 48%;
        width: 54%;
        height: 1.4px;
        background-color: rgb(75, 75, 75);
        border-radius: 1px;
    }

    .mobile-back-top::before {
        right: 50%;
        transform-origin: right center;
        transform: rotate(-36deg);
    }

    .mobile-back-top::after {
        left: 50%;
        transform-origin: left center;
        transform: rotate(36deg);
    }

    @keyframes mobile-back-top-blink {
        0%,
        100% {
            opacity: 0.22;
            transform: translateX(-50%) translateY(0);
        }

        50% {
            opacity: 0.72;
            transform: translateX(-50%) translateY(-0.25em);
        }
    }

    .main {
        display: none;
    }

    .scroll-hint {
        display: none;
    }
}
