@media screen and (min-width: 801px) {
    .jvds-mobile-nav-toggle {
        display: none;
    }

    .jvds-mobile-contact-nav {
        display: none !important;
    }

    .jvds-mobile-preferences {
        display: none !important;
    }
}

@media screen and (max-width: 800px) {
    body.jvds-mobile-nav-open {
        overflow: hidden !important;
    }

	.header .hd-right,
	.header .g-contact-btn {
	    display: none !important;
	}

    body.page-index .header,
    body.page-news-detail .header,
    body.jvds-work-detail .header,
    body.page-index .header.fixed,
    body.page-news-detail .header.fixed,
    body.jvds-work-detail .header.fixed {
        background: #fff !important;
        border-bottom: 1px solid #e5e5e5 !important;
    }

    body.page-index .header .wp3,
    body.page-news-detail .header .wp3,
    body.jvds-work-detail .header .wp3 {
        background: #fff !important;
    }

    .header .jvds-mobile-preferences {
        width: 100%;
        margin-top: 20px;
        padding-top: 24px;
        border-top: 1px solid #e8e8e8;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        opacity: 0;
        transform: translateY(28px);
        -webkit-transform: translateY(28px);
        transition: opacity .56s cubic-bezier(.4,0,1,1), transform .56s cubic-bezier(.4,0,1,1);
        -webkit-transition: opacity .56s cubic-bezier(.4,0,1,1), -webkit-transform .56s cubic-bezier(.4,0,1,1);
    }

    .header .jvds-mobile-preferences .jvds-pref-btn {
        width: 120px;
        min-width: 120px;
        height: 48px;
        padding: 4px;
        border-radius: 999px;
        border-color: #8c8c8c;
        background: #fff;
        justify-self: start;
        justify-content: flex-start;
        position: relative;
        overflow: hidden;
        gap: 0;
        font-size: 13px;
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-switch::before {
        content: "";
        width: 54px;
        height: 38px;
        border-radius: 999px;
        background: #141515;
        position: absolute;
        left: 4px;
        top: 4px;
        z-index: 0;
        transform: translateX(0);
        -webkit-transform: translateX(0);
        transition: transform .38s cubic-bezier(.22,1,.36,1);
        -webkit-transition: -webkit-transform .38s cubic-bezier(.22,1,.36,1);
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-switch[aria-pressed="true"]::before {
        transform: translateX(56px);
        -webkit-transform: translateX(56px);
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-options {
        width: 110px;
        height: 38px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
        position: relative;
        z-index: 1;
        font-weight: 300;
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-option {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #141515;
        font-size: 13px;
        font-weight: 300;
        line-height: 1;
        letter-spacing: .04em;
        transition: color .24s ease;
        -webkit-transition: color .24s ease;
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-switch[aria-pressed="false"] .jvds-mobile-lang-option-cn,
    .header .jvds-mobile-preferences .jvds-mobile-lang-switch[aria-pressed="true"] .jvds-mobile-lang-option-en {
        color: #fff;
    }

    .header .jvds-mobile-preferences .jvds-mobile-lang-switch:hover,
    .header .jvds-mobile-preferences .jvds-mobile-lang-switch:active {
        border-color: #8c8c8c;
        background: #fff;
        color: #141515;
        transform: none;
        -webkit-transform: none;
    }

    .header .jvds-mobile-preferences .jvds-mobile-pref-text {
        display: inline-block;
        font-weight: 500;
    }

	.jvds-mobile-nav-toggle {
	    width: 44px;
	    height: 44px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #000;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 7px;
        position: absolute;
        right: 8px;
        top: 50%;
        z-index: 120;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .jvds-mobile-nav-toggle span {
        width: 17px;
        height: 1.5px;
        border-radius: 1px;
        background: currentColor;
        display: block;
        transform-origin: center;
        -webkit-transform-origin: center;
        transition: transform .28s cubic-bezier(.4,0,.2,1), opacity .2s ease;
        -webkit-transition: -webkit-transform .28s cubic-bezier(.4,0,.2,1), opacity .2s ease;
    }

    .jvds-mobile-nav-open .jvds-mobile-nav-toggle span:first-child {
        transform: translateY(4.25px) rotate(45deg);
        -webkit-transform: translateY(4.25px) rotate(45deg);
    }

    .jvds-mobile-nav-open .jvds-mobile-nav-toggle span:last-child {
        transform: translateY(-4.25px) rotate(-45deg);
        -webkit-transform: translateY(-4.25px) rotate(-45deg);
    }

    .header .hdr {
        position: fixed;
        left: 0;
        right: 0;
        top: 64px;
        bottom: 0;
        z-index: 98;
        height: calc(100dvh - 64px);
        padding: 34px 42px 52px;
        background: #fff;
        border: 0;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        overflow-y: auto;
        overscroll-behavior: contain;
        transform: translateY(-24px);
        -webkit-transform: translateY(-24px);
        transition: opacity .56s cubic-bezier(.4,0,1,1), visibility 0s linear .56s, transform .56s cubic-bezier(.4,0,1,1);
        -webkit-transition: opacity .56s cubic-bezier(.4,0,1,1), visibility 0s linear .56s, -webkit-transform .56s cubic-bezier(.4,0,1,1);
    }

    .jvds-mobile-nav-open .header .hdr {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        -webkit-transform: translateY(0);
        transition: opacity .62s cubic-bezier(.22,1,.36,1), visibility 0s linear 0s, transform .62s cubic-bezier(.22,1,.36,1);
        -webkit-transition: opacity .62s cubic-bezier(.22,1,.36,1), visibility 0s linear 0s, -webkit-transform .62s cubic-bezier(.22,1,.36,1);
    }

    .header .nav {
        width: 100%;
        display: block;
        white-space: normal;
        text-align: left;
    }

    .header .nav li {
        margin: 0;
        display: block;
        width: 100%;
        opacity: 0;
        transform: translateY(28px);
        -webkit-transform: translateY(28px);
        transition: opacity .56s cubic-bezier(.4,0,1,1), transform .56s cubic-bezier(.4,0,1,1);
        -webkit-transition: opacity .56s cubic-bezier(.4,0,1,1), -webkit-transform .56s cubic-bezier(.4,0,1,1);
    }

    .jvds-mobile-nav-open .header .nav > li {
        opacity: 1;
        transform: translateY(0);
        -webkit-transform: translateY(0);
        transition-duration: .68s;
        transition-timing-function: cubic-bezier(.22,1,.36,1);
        -webkit-transition-duration: .68s;
        -webkit-transition-timing-function: cubic-bezier(.22,1,.36,1);
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(1) {
        transition-delay: .10s;
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(2) {
        transition-delay: .18s;
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(3) {
        transition-delay: .26s;
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(4) {
        transition-delay: .34s;
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(5) {
        transition-delay: .42s;
    }

    .jvds-mobile-nav-open .header .nav > li:nth-child(6) {
        transition-delay: .50s;
    }

    .jvds-mobile-nav-open .header .jvds-mobile-preferences {
        opacity: 1;
        transform: translateY(0);
        -webkit-transform: translateY(0);
        transition-duration: .68s;
        transition-delay: .60s;
        transition-timing-function: cubic-bezier(.22,1,.36,1);
        -webkit-transition-duration: .68s;
        -webkit-transition-delay: .60s;
        -webkit-transition-timing-function: cubic-bezier(.22,1,.36,1);
    }

    .header .nav .v1 {
        min-height: 48px;
        padding: 0;
        color: #000 !important;
        font-size: 24px;
        font-weight: 600;
        line-height: 48px;
        letter-spacing: 0;
    }

    .header .nav .service-sub-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    .header .nav .service-sub-icon {
        width: 11px;
        height: 11px;
        border-right: 1.7px solid currentColor;
        border-bottom: 1.7px solid currentColor;
        transform: rotate(45deg) translateY(-3px);
        -webkit-transform: rotate(45deg) translateY(-3px);
        transition: transform .22s ease;
        -webkit-transition: -webkit-transform .22s ease;
    }

    .header .nav .service-subnav {
        width: 100%;
        margin: 0;
        max-height: 0;
        padding: 0 0 0 18px;
        position: static;
        opacity: 1;
        visibility: hidden;
        pointer-events: none;
        border: 0;
        box-shadow: none;
        background: transparent;
        transform: none;
        -webkit-transform: none;
        overflow: hidden;
        transition: max-height .28s cubic-bezier(.4,0,.2,1), padding .28s cubic-bezier(.4,0,.2,1), visibility .28s cubic-bezier(.4,0,.2,1);
        -webkit-transition: max-height .28s cubic-bezier(.4,0,.2,1), padding .28s cubic-bezier(.4,0,.2,1), visibility .28s cubic-bezier(.4,0,.2,1);
    }

    .header .nav li.has-service-sub:hover .service-subnav {
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        opacity: 1;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        -webkit-transform: none;
    }

    .header .nav li.has-service-sub.is-sub-open:hover .service-subnav,
    .header .nav .has-service-sub.is-sub-open .service-subnav {
        max-height: 220px;
        padding-top: 4px;
        padding-bottom: 14px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        -webkit-transform: none;
    }

    .header .nav .has-service-sub.is-sub-open .service-sub-icon {
        transform: rotate(225deg) translate(-2px,-2px);
        -webkit-transform: rotate(225deg) translate(-2px,-2px);
    }

    .header .nav .service-subnav dd a {
        height: 36px;
        justify-content: flex-start;
        background: transparent;
        color: #666;
        font-size: 17px;
        font-weight: 500;
        line-height: 36px;
    }

    .header .nav .service-subnav dd.ok a {
        background: transparent;
        color: #000;
    }
}

@media screen and (max-width: 800px) and (prefers-reduced-motion: reduce) {
    .header .hdr,
    .header .nav li,
    .header .jvds-mobile-preferences,
    .jvds-mobile-nav-toggle span {
        transition: none !important;
        -webkit-transition: none !important;
    }
}
