/* page banner */
.page-banner {
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    position: relative;
    display: flex;
}
.page-banner h1 {
    position: absolute;
    z-index: 2;
    font-size: 40px;
    font-weight: 300;
    color: #FFF;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-wrap: nowrap;
    text-transform: uppercase;
    text-align: center;
}
.page-banner picture img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    left: unset;
    top: unset;
}
@media (orientation: portrait) {
    .page-banner {
        height: 56.25vw;
    }
}
@media only screen and (max-width: 1024px) {
    .page-banner {
        height: 56.25vw;
    }
    .page-banner h1 {
        font-size: 30px;
    }
}
@media only screen and (max-width: 768px) {
    .page-banner h1 {
        font-size: 24px;
    }
}
@media only screen and (max-width: 480px) {
    .page-banner h1 {
        font-size: 18px;
    }
}

/* page-video */
.page-video {
    width: 100%;
    height: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}
.page-video video {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
}

/* page text */
.page-text {
    padding: var(--sectionPadding) 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.page-text-main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.page-text-heading {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.page-text-content {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: center;
}
@media only screen and (max-width: 480px) {
    .page-text-content {
        font-size: 15px;
    }
}

/* page image gird */
.page-image-grid {
    width: 100%;
    display: flex;
    justify-content: center;
}
.page-image-grid-main {
    width: 100%;
    display: flex;
}
.page-image-grid-box {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}
.page-image-grid-item {
    display: flex;
    padding-bottom: 140%;
    overflow: hidden;
    transition: all 300ms;
}
.page-image-grid-item:hover picture {
    transform: scale(1.3);
}
@media only screen and (max-width: 768px) {
    .page-image-grid-box {
        gap: 10px;
    }
}
@media only screen and (max-width: 480px) {
    .page-image-grid-box {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* page-text-with-image-gird */
.page-text-with-image-gird {
    padding-bottom: calc(var(--sectionPadding) / 2);
    width: 100%;
    height: 400vh;
    display: flex;
}
.page-text-with-image-gird-wraper {
    position: sticky;
    position: -webkit-sticky;
    z-index: 1;
    top: var(--headerHeight);
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    display: flex;
    justify-content: center;
}
.page-text-with-image-gird-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background: rgb(245, 242, 239);
    display: flex;
}
.page-text-with-image-gird-bg img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%;
    filter: grayscale(100%);
}
.page-text-with-image-gird-main {
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 2;
    display: flex;
}
.page-text-with-image-gird-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.page-text-with-image-gird-heading {
    padding: calc(var(--sectionPadding) / 2);
    font-size: var(--sectionh2Size);
    line-height: 1;
    font-weight: 300;
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-text-with-image-gird-box {
    width: 100%;
    transition: all 1000ms;
    display: flex;
    flex-direction: column;
}
.page-text-with-image-gird-box-item {
    width: 100%;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: ease-in 300ms;
}
.page-text-with-image-gird-box-item-show {
    visibility: visible;
    opacity: 1;
}
.page-text-with-image-gird-box-item:nth-child(2n + 1) {
    flex-direction: row-reverse;
}

.page-text-with-image-gird-box-item-image {
    width: 50%;
    display: flex;
}
.page-text-with-image-gird-box-item-image picture {
    padding-bottom: 65%;
}
.page-text-with-image-gird-box-item-image picture {
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.page-text-with-image-gird-box-item-content {
    width: 50%;
    font-size: var(--sectionh3Size);
    line-height: 1.5;
    font-weight: 300;
    color: #fff;
    text-align: left;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

.page-text-with-image {
    width: 100%;
    display: flex;
    justify-content: center;
}
.page-text-with-image-main {
    width: 100%;
    display: flex;
}
.page-text-with-image-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.page-text-with-image-heading {
    padding: var(--sectionPadding) 0;
    font-size: var(--sectionh2Size);
    font-weight: 300;
    line-height: 1.5;
    color: #333;
    text-align: center;
}
.page-text-with-image-box {
    width: 100%;
    transition: all 1000ms;
    display: flex;
    flex-direction: column;
    gap: 50px;
}
.page-text-with-image-box-item {
    width: 100%;
    display: flex;
}
.page-text-with-image-box-item:nth-child(2n + 1) {
    flex-direction: row-reverse;
}

.page-text-with-image-box-item-image {
    width: 55%;
    overflow: hidden;
    display: flex;
}
.page-text-with-image-box-item-image picture {
    transition: all 300ms;
    padding-bottom: 65%;
}
.page-text-with-image-box-item-image picture img {
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.page-text-with-image-box-item-image:hover picture {
    transform: scale(1.4);
}
.page-text-with-image-box-item-content {
    width: 45%;
    background: #fafafa;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: left;
    padding: 0 20px;
    display: flex;
    align-items: center;
}
@media only screen and (max-width: 768px) {
    .page-text-with-image-box {
        gap: 20px;
    }
    .page-text-with-image-box-item-content {
        font-size: 15px;
    }
}
@media only screen and (max-width: 480px) {
    .page-text-with-image-box-item {
        flex-direction: column !important;
    }
    .page-text-with-image-box-item-image {
        width: 100%;
    }
    .page-text-with-image-box-item-content {
        width: 100%;
        padding: 40px 20px;
    }
}


/* page-text-with-image-background */
.page-text-with-image-background {
    padding-bottom: calc(var(--sectionPadding) / 2);
    width: 100%;
    height: 400vh;
    display: flex;
}
.page-text-with-image-background-wraper {
    position: sticky;
    position: -webkit-sticky;
    z-index: 1;
    top: var(--headerHeight);
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    display: flex;
    justify-content: center;
}
.page-text-with-image-background-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    background: rgb(245, 242, 239);
    display: flex;
}
.page-text-with-image-background-main {
    width: 100%;
    overflow: hidden;
    position: relative;
    z-index: 2;
    display: flex;
}
.page-text-with-image-background-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.page-text-with-image-background-heading {
    padding: calc(var(--sectionPadding) / 2);
    font-size: var(--sectionh2Size);
    line-height: 1;
    font-weight: 300;
    color: #333;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-text-with-image-background-box {
    width: 100%;
    transition: all 1000ms;
    display: flex;
    flex-direction: column;
}
.page-text-with-image-background-box-item {
    width: 100%;
    display: flex;
    opacity: 0;
    visibility: hidden;
    transition: ease-in 300ms;
}
.page-text-with-image-background-box-item-show {
    visibility: visible;
    opacity: 1;
}
.page-text-with-image-background-box-item:nth-child(2n + 1) {
    flex-direction: row-reverse;
}

.page-text-with-image-background-box-item-image {
    width: 50%;
    display: flex;
}
.page-text-with-image-background-box-item-image picture {
    padding-bottom: 65%;
}
.page-text-with-image-background-box-item-image picture {
    height: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.page-text-with-image-background-box-item-content {
    width: 50%;
    font-size: var(--sectionh3Size);
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: left;
    padding: 0 20px;
    display: flex;
    align-items: center;
}

/* page marque */
@keyframes marque {
    0% {
        transform: translate(0);
        visibility: visible;
    }
    100% {
        transform: translate(-100%);
    }
}
.page-marque {
    padding-top: var(--sectionPadding);
    width: 100%;
    display: flex;
    flex-direction: column;
}
.page-marque-head {
    width: 100%;
    display: flex;
    justify-content: center;
}
.page-marque-head-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.page-marque-head-heading {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-align: center;
}
.page-marque-head-info {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: center;
}
@media only screen and (max-width: 768px) {
    .page-marque-head-info {
        font-size: 15px;
    }
}


.page-marque-box {
    margin-top: 100px;
    width: 100%;
    display: flex;
    justify-content: center;
}
.page-marque-box-main {
    width: 100%;
    display: flex;
    overflow: hidden;
}
.page-marque-list {
    width: 100%;
    display: flex;
    white-space: nowrap;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px;
}
.page-marque-item {
    --marqueeSpeed: 38.194s;
    animation-direction: reverse;
    display: flex;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    animation-name: marque;
    animation-duration: var(--marqueeSpeed);
    animation-play-state: running;
    gap: 20px;
}
.page-marque-list-item {
    width: 155px;
    padding: 30px;
    display: flex;
}
.page-marque-list-item picture {
    background: unset;
}
.page-marque-list-item picture::after {
    content: unset;
}
@media only screen and (max-width: 480px) {
    .page-marque-list-item {
        width: calc(calc(100vw - 40px) / 3);
    }
}

.aboutus-bgvideo {
    width: 100%;
    height: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}
.aboutus-bgvideo video {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
}

.aboutus-content {
    padding: var(--sectionPadding) 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.aboutus-content-main {
    padding: 50px 0;
}

.aboutus-bg {
    width: 100%;
    display: flex;
}

.aboutus-sustainability {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.aboutus-sustainability-main {
    padding: 50px 10vw;
    letter-spacing: 1px;
}
.aboutus-sustainability-info {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.aboutus-sustainability-info h2 {
    font-size: 36px;
    font-weight: 300;
    color: #000;
    text-align: center;
    text-transform: uppercase;
}
.aboutus-sustainability-info-content {
    font-size: 18px;
    font-weight: 200;
    line-height: 30px;
    color: #000;
    text-align: center;
}
.aboutus-sustainability-info-content h3 {
    font-size: 20px;
    font-weight: 400;
    color: #000;
    text-align: center;
    margin: 20px 0 0 0;
}
.aboutus-sustainability-gallery {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;

}

.aboutus-cm {
    padding-top: var(--sectionPadding);
    width: 100%;
    display: flex;
    justify-content: center;
}
.aboutus-cm-main {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.aboutus-cm-head {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-align: center;
    text-transform: uppercase;
}
.aboutus-cm-box {
    padding-top: var(--sectionPadding);
    display: flex;
}
.aboutus-cm-box-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
}
.aboutus-cm-box-info h3 {
    font-size: var(--sectionh3Size);
    font-weight: 300;
    color: var(--buttonBackgroundColor);
    text-align: center;
    text-transform: uppercase;
}
.aboutus-cm-box-image {
    width: 100%;
    display: flex;
}
.aboutus-cm-box-image picture {
    background: unset;
}
.aboutus-cm-box-image picture::after {
    content: unset;
}
.aboutus-cm-box-info span {
    font-size: 18px;
    font-weight: 300;
    line-height: 1.5;
    color: #333;
}
@media only screen and (max-width: 767px) {
    .aboutus-cm-box-info span {
        font-size: 15px;
    }
}
@media only screen and (max-width: 600px) {
    .aboutus-cm-box {
        flex-direction: column;
        gap: 30px;
    }
    .aboutus-cm-box-info {
        align-items: center;
    }
    .aboutus-cm-box-info span {
        text-align: center;
    }
}

.aboutus-logo {
    padding: var(--sectionPadding) 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.aboutus-logo-main {
    display: flex;
}
.aboutus-logo-image {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2vw;
}
.aboutus-logo-image-item {
    display: flex;
    transition: all 300ms;
}
.aboutus-logo-image-item:hover {
    box-shadow: 0 8px 8px 2px rgb(0 0 0 / 20%);
}
.aboutus-logo-image-item picture {
    background: unset;
}
.aboutus-logo-image-item picture::after {
    content: "";
}
@media only screen and (max-width: 768px) {
    .aboutus-logo-image {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media only screen and (max-width: 480px) {
    .aboutus-logo-image {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.pages-logo {
    margin-top: 50px;
    background: #3babbd;
    width: 100%;
    display: flex;
    justify-content: center;
}
.pages-logo-main {
    display: flex;
}
.pages-logo-image {
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.pages-logo-image-item {
    width: 200px;
    display: flex;
}
.pages-logo-image-item picture {
    background: unset;
}
.pages-logo-image-item picture::after {
    content: unset;
}


.service-bg {
    width: 100%;
    position: relative;
    display: flex;
}
.service-bg h1 {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #FFF;
    text-transform: uppercase;
}

.service-bgvideo {
    width: 100%;
    height: 0;
    position: relative;
    display: flex;
    flex-direction: column;
}
.service-bgvideo video {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
}

.service-3dstyle {
    padding: var(--sectionPadding) 0;
    width: 100%;
    display: flex;
    justify-content: center;
}
.service-3dstyle-main {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
}
.service-3dstyle-main h2 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.service-3dstyle-main span {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: center
}


.global-h1 {
    width: 100%;
    padding: 50px 0;
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.global-map {
    width: 100%;
    padding-top: 50px;
    display: flex;
    justify-content: center;
}
.global-map-main {
    display: flex;
}
.global-map-box {
    width: 100%;
    position: relative;
    display: flex;
}
.global-map-box-svg {
    width: 100%;
    display: flex;
}

.global-map-box-info {
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
    z-index: 2;
}

.global-map-co {
    position: absolute;
    z-index: 2;
    width: 200px;
}
.global-map-co-box {
    width: 100%;
    padding: 10px;
    background: #FFF;
    color: #000;
    box-shadow: 0 0 4px 4px rgb(0 0 0 / 20%);
    user-select: none;
    display: flex;
    flex-direction: column;
}
.global-map-co-top {
    width: 100%;
    display: grid;
    grid-template-columns: 40% 60%;
}
.global-map-co-top-image {
    display: flex;
}

.global-map-co-info {
    width: 100%;
    padding-left: 10px;
    display: flex;
    flex-direction: column;
    gap: 5px;
    font-size: 11px;
}
.global-map-co-info span:first-child {
    font-size: 14px;
    font-weight: 500;
}
.global-map-co-line {
    position: relative;
    width: 100%;
    height: 100px;
}
.global-map-co-line::before {
    content: "";
    width: 1px;
    height: 100%;
    background: #000;
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}
.global-map-co-line::after {
    content: "";
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

.global-map-co-bottom {
    display: flex;
    flex-direction: column;
}

.global-map-co-top-360 {
    margin-top: 10px;
    padding: 10px;
    background: #000;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.global-map-co-top-360 i {
    width: 20px;
    height: 20px;
    animation: global 1s infinite;
    display: flex;
    align-items: center;
    justify-content: center;
}
@keyframes global {
	100% {
		transform: rotateY(360deg)
	}
}
.global-map-co-top-360 span {
    font-size: 12px;
    text-align: center;
}

.global-country {
    width: 100%;
    display: flex;
    justify-content: center;
}
.global-country-main {
    display: flex;
}
.global-country-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 40px;
}
.global-country-item {
    width: 100%;
    cursor: pointer;
    user-select: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
}
.global-country-item-head {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    text-transform: uppercase;
    color: #000;
    position: relative;
    padding-bottom: 5px;
}
.global-country-item-head::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: green;
}
.global-country-item-box {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 30px;
}
.global-country-item-box-item {
    width: 100px;
    box-shadow: 0 4px 6px 2px rgb(0 0 0 / 20%);
    display: flex;
    flex-direction: column;
}
#global-country-item-box-item .global-country-item-box-item-name, .global-country-item-box-item:hover .global-country-item-box-item-name {
    background: var(--buttonBackgroundColor);
    transition: ease-out 300ms;
}
.global-country-item-box-item-image {
    width: 100%;
    display: flex;
}
.global-country-item-box-item-name {
    width: 100%;
    padding: 5px 10px;
    background: #EEE;
    color: #000;
    font-size: 12px;
    font-weight: 200;
    text-align: center;
}
@media only screen and (max-width: 1024px) {
    .global-map {
        padding: 100px 0 30px 0;
    }
    .global-map-co {
        width: 160px;
    }
    .global-map-co-top {
        grid-template-columns: 60% 40%;
    }
    .global-map-co-top-360 {
        padding: 6px;
    }
    .global-map-co-top-360 i {
        width: 16px;
        height: 16px;
    }
    .global-map-co-line {
        height: 70px;
    }
    .global-country-item-box {
        gap: 15px;
    }
}
@media only screen and (max-width: 930px) {
    .global-country-item-box {
        flex-wrap: wrap;
    }
}
@media only screen and (max-width: 480px) {
    .global-map-co {
        width: 140px;
    }
    .global-map-co-top {
        grid-template-columns: 30px 1fr;
        align-items: center;
    }
    .global-map-co-info {
        font-size: 10px;
    }
    .global-map-co-info span {
        text-wrap: nowrap;
    }
    .global-map-co-line {
        height: 30px;
    }
    .global-country-item-box {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
    }
    .global-country-item-box-item {
        width: unset;
    }
}

.global-office {
    padding-top: var(--sectionPadding);
    width: 100%;
    display: flex;
    justify-content: center;
}
.global-office-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.global-office-head {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
    text-align: center;
}
.global-office-info {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
    text-align: center;
}
.global-office-slider {
    width: 100%;
    display: flex;
    position: relative;
}
.global-office-left, .global-office-right {
    position: absolute;
    z-index: 2;
    width: 40px;
    height: 40px;
    top: 50%;
    transform: translate(0, -50%);
    background: #000;
    cursor: pointer;
    user-select: none;
    -webkit-transition: all 300ms ease-in-out 0s;
    -moz-transition: all 300ms ease-in-out 0s;
    -o-transition: all 300ms ease-in-out 0s;
    transition: all 300ms ease-in-out 0s;
    display: flex;
    justify-content: center;
    align-items: center;
}
.global-office-left {
    left: 0;
    display: none;
}
.global-office-right {
    right: 0;
}
.global-office-left::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: var(--buttonFontColor) 2px solid;
    border-left: var(--buttonFontColor) 2px solid;
    transform: rotate(-45deg);
}
.global-office-right::after {
    content: "";
    width: 8px;
    height: 8px;
    border-right: var(--buttonFontColor) 2px solid;
    border-bottom: var(--buttonFontColor) 2px solid;
    transform: rotate(-45deg);
}
.global-office-left:hover, .global-office-right:hover {
    background: var(--buttonBackgroundColor);
}
.global-office-wraper {
    position: relative;
    z-index: 1;
    width: 100%;
    overflow: hidden;
    display: flex;
}
.global-office-box {
    padding: 10px 0;
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
}
.global-office-box-item {
    width: calc(calc(var(--rootWidth) - 100px) / 3);
    cursor: pointer;
    user-select: none;
    background: #fff;
    box-shadow: 0 4px 6px 2px rgb(0 0 0 / 20%);
    overflow: hidden;
    position: relative;
    display: flex;
}
.global-office-box-item-wraper {
    width: 100%;
    height: 0;
    padding-bottom: 75%;
    display: flex;
}
.global-office-zoom {
    position: absolute;
    z-index: 3;
    width: 30px;
    height: 30px;
    right: 10px;
    bottom: 10px;
    background: rgb(255 255 255 / 66%);
    color: #FFF;
    padding: 5px;
    transition: all 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.global-office-zoom:hover {
    background: var(--themeColor);
}
.global-office-zoom svg {
    max-width: 100%;
    max-height: 100%;
}
.global-office-box-item picture {
    transition: all 300ms;
}
.global-office-box-item:hover picture {
    transform: scale(1.4);
}
.global-office-box-item-video {
    width: 100%;
    height: 0;
    overflow: hidden;
    position: relative;
    display: flex;
}
.global-office-box-item-video::before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 4px solid rgb(255 255 255 / 66%);
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.global-office-box-item-video::after {
    content: "";
    width: 0;
    height: 0;
    border-left: 8px solid rgb(255 255 255 / 66%);
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    position: absolute;
    z-index: 3;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.global-office-box-item:hover .global-office-box-item-video::before {
    border-color: rgb(255 255 255 / 100%);
}
.global-office-box-item:hover .global-office-box-item-video::after {
    border-left-color: rgb(255 255 255 / 100%);
}

.global-office-box-item-video video {
    position: absolute;
    width: 100%;
    z-index: 2;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
/*--------------------------page---------------------------*/
.page {
    float: left;
    width: 100%;
    padding: 50px 0;
    display: flex;
    justify-content: center;
}
.page-main {
    width: 100%;
    max-width: var(--rootWidth);
    padding: 0 15px;
    display: flex;
    justify-content: space-between;
}

.page-box {
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.page-title {
    float: left;
    font-size: 30px;
    font-weight: 600;
    width: 100%;
    text-align: center;
    color: #000;
    padding-bottom: 20px;
}
.page-content {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.page-content img, .page-content video {
    max-width: 100%;
}

@media only screen and (max-width: 1024px) {
    .page {
        padding: var(--padding) 0;
    }
    .page-main {
        flex-direction: column-reverse;
    }
    .page-nav {
        width: 100%;
        padding: 30px 0;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .page-nav-link {
        text-decoration: underline;
    }
}

.service-design {
    padding-top: var(--sectionPadding);
    width: 100%;
    display: flex;
    justify-content: center;
}
.service-design-main {
    width: 100%;
    display: flex;
}
.service-design-box {
    width: 100%;
    display: grid;
    grid-template-columns: 45% 55%;
}
.service-design-image {
    display: flex;
    overflow: hidden;
}
.service-design-box:hover picture {
    transform: scale(1.2);
}
.service-design-info {
    padding-left: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.service-design-info h2 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.service-design-info span {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
}
@media only screen and (max-width: 600px) {
    .service-design-box {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .service-design-info {
        padding: 0;
    }
}

.service-oem {
    margin-top: var(--sectionPadding);
    padding-top: var(--sectionPadding);
    width: 100%;
    background: #fafafa;
    display: flex;
    justify-content: center;
}
.service-oem-main {
    width: 100%;
    display: flex;
}
.service-oem-box {
    width: 100%;
    display: grid;
    grid-template-columns: 55% 45%;
    justify-content: center;
}
.service-oem-image {
    overflow: hidden;
    display: flex;
}
.service-oem:hover picture {
    transform: scale(1.2);
}
.service-oem-info {
    padding-right: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.service-oem-info h2 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.service-oem-info span {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
}
@media only screen and (max-width: 600px) {
    .service-oem-box {
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
    }
    .service-oem-info {
        padding: 0 0 var(--sectionPadding) 0;
    }
    .service-oem-image {
        width: 100%;
    }
}

.service-yarnfabric {
    margin-top: var(--sectionPadding);
    width: 100%;
    display: flex;
    justify-content: center;
}
.service-yarnfabric-main {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.service-yarnfabric-info {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
}
.service-yarnfabric-info h2 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.service-yarnfabric-info-content {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 300;
    color: #333;
}

.service-yarnfabric-gallery {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
}
.service-yarnfabric-gallery-item {
    overflow: hidden;
    display: flex;
}
.service-yarnfabric-gallery-item:hover picture {
    transform: scale(1.2);
}

.service-yarnfabric-button {
    position: absolute;
    z-index: 3;
    left: 10px;
    top: 10px;
    display: flex;
    justify-content: flex-end;
}
.service-yarnfabric-button-btn {
    width: fit-content;
    padding: 5px 22px;
    background: #DDD;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
}
.service-yarnfabric-button-btn span {
    font-size: 14px;
    font-weight: 300;
    text-transform: unset;
}
.service-yarnfabric-button-btn i {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.service-yarnfabric-button-btn i svg {
    max-width: 100%;
    max-height: 100%;
}
.service-yarnfabric-button-btn:hover {
    background: var(--themeColor);
    color: #FFF;
}
@media only screen and (max-width: 600px) {
    .service-yarnfabric-gallery {
        display: grid;
        grid-template-columns: 1fr;
    }
}

/*----contact-us----*/
.contact-head {
    width: 100%;
    position: relative;
    display: flex;
}
.contact-head-bg {
    width: 100%;
    height: calc(100vh - var(--headerHeight));
    display: flex;
}
.contact-head-bg picture img {
    position: relative;
    -o-object-fit: cover;
    object-fit: cover;
    left: unset;
    top: unset;
}
.contact-head-info {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    justify-content: center;
}
.contact-head-info-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.contact-head-info-main h1 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-transform: uppercase;
}
.contact-head-info-main span {
    width: 100%;
    max-width: calc(var(--rootWidth) / 1.5);
    color: #333;
    font-size: var(--sectionh3Size);
    font-weight: 300;
    text-align: center;
}
@media (orientation: portrait) {
    .contact-head-bg {
        height: 56.25vw;
    }
}
@media only screen and (max-width: 1024px) {
    .contact-head-bg {
        height: 56.25vw;
    }
}

.contact-address {
    width: 100%;
    display: flex;
    justify-content: center;
}
.contact-address-main {
    display: flex;
    flex-direction: column;
}
.contact-address-head {
    padding: var(--sectionPadding) 0 calc(var(--sectionPadding) / 2) 0;
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-align: center;
    text-transform: uppercase;
}
.contact-address-box {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 300px;
    row-gap: 50px;
}
.contact-address-box-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/* .contact-address-box-item:first-child {
    grid-column-start: 1;
    grid-column-end: 3;
} */
.contact-address-box-item-head {
    margin-bottom: 10px;
}
.contact-address-box-item-head span {
    font-size: 1.2vw;
    font-weight: 400;
    color: #000;
    position: relative;
    padding-bottom: 5px;
}
.contact-address-box-item-head span:first-child::after {
    content: "";
    width: 100%;
    height: 2px;
    background: #333;
    position: absolute;
    left: 0;
    bottom: 0;
}
.contact-address-box-item-info {
    width: 100%;
    cursor: default;
    display: grid;
    grid-template-columns: 20px calc(100% - 27px);
    gap: 7px;
}
.contact-address-box-item-info i {
    transition: all 300ms;
    height: 20px;
    color: #333;
    display: flex;
    justify-content: flex-start;
}
.contact-address-box-item-info i svg {
    max-width: 100%;
    max-height: 100%;
}
.contact-address-box-item-info div {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.contact-address-box-item-info span {
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    color: #333;
}
.contact-address-box-item:hover i, .contact-address-box-item:hover .contact-address-box-item-head-line {
    color: var(--themeColor);
}
.contact-address-box-item:hover .contact-address-box-item-head-line::after {
    background: var(--themeColor);
}
@media only screen and (max-width: 1024px) {
    .contact-address-box {
        column-gap: 150px;
    }
    .contact-address-box-item-head span {
        font-size: 13px;
    }
}
@media only screen and (max-width: 768px) {
    .contact-address-box {
        column-gap: 50px;
    }
}
@media only screen and (max-width: 600px) {
    .contact-address-box {
        column-gap: 30px;
    }
}
@media only screen and (max-width: 480px) {
    .contact-address-box {
        display: flex;
        flex-direction: column;
    }
}


.contactus-bottom {
    margin: var(--sectionPadding) 0 0 0;
    padding: var(--sectionPadding) 0;
    background: #fafafa;
    width: 100%;
    display: flex;
    justify-content: center;
}
.contactus-bottom-main {
    display: flex;
}

.contactus-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contactus-form h2 {
    font-size: var(--sectionh2Size);
    font-weight: 300;
    color: #333;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.contactus-form-title {
    width: 100%;
    max-width: 50%;
    font-size: var(--sectionh3Size);
    line-height: 1.5;
    text-align: center;
    color: #777;
}
.contactus-form-box {
    padding-top: calc(var(--sectionPadding) / 2);
    width: 100%;
    display: grid;
    grid-template-columns: 36% minmax(0, 1fr);
    gap: 4%;
}
.contactus-form-box-image {
    background: #EEE;
}
.contactus-form-box-inner {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.contact-input {
	width: 100%;
	display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px;
}
.contact-item {
	display: flex;
	flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
}
.contact-item label, .contact-textarea label {
	font-size: 14px;
	font-weight: 600;
	color: #333;
}
.contact-item input, .contact-textarea textarea, .contact-item select {
	width: 100%;
	height: 40px;
    background: #fff;
	border: #999 1px solid;
	outline: none;
	color: #000;
	padding: 10px;
    transition: all 300ms;
    border-radius: 8px;
}
.contact-item input:focus, .contact-textarea textarea:focus, .contact-item:hover input, .contact-textarea:hover textarea {
	border-color: var(--themeColor);
    box-shadow: 0 0 4px 4px rgb(43 167 188 / 49%);
}

.contact-textarea {
	width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.contact-textarea textarea::placeholder {
    font-family: var(--fontFamily);
    font-size: 13px;
    letter-spacing: 1px;
}
.contact-textarea textarea {
	width: 100% !important;
	height: 150px;
	font-weight: 300;
}
.contact-submit {
    width: fit-content;
	background: #fff;
    color: var(--themeColor);
    border: #999 1px solid;
    border-radius: 8px;
    overflow: hidden;
    transition: all 300ms;
}
.contact-submit .button-text span {
    font-size: 15px;
    font-weight: 600;
}
.contact-submit:hover {
    border-color: var(--themeColor);
    box-shadow: 0 0 4px 4px rgb(43 167 188 / 49%);
}

.contactus-form-box-image {
    height: 100%;
    background: #e7e7e9;
    overflow: hidden;
    position: relative;
}
.contactus-form-box-image::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: translateX(-100%);
    animation: skeleton-translate 1s infinite;
    background: linear-gradient(90deg, transparent, #fff, transparent);
    z-index: 1;
}
.contactus-form-box-image-box {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    inset: 0;
}
.contactus-form-box-image-box img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media only screen and (max-width: 768px) {
    .contactus-form-title {
        max-width: 80%;
    }
    .contactus-form-box {
        grid-template-columns: 45% 1fr;
    }
    .contactus-form-box-inner {
        gap: 15px;
    }
    .contact-input {
        gap: 30px;
    }
}
@media only screen and (max-width: 600px) {
    .contactus-form-box {
        display: flex;
        flex-direction: column;
    }
    .contactus-form-box-image {
        height: 75vw;
    }
}
/*--------------trackorder--------------------------------*/
.trackorder {
    float: left;
    width: 100%;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.trackorder-head {
    width: 100%;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}
.trackorder-head i {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}
.trackorder-head span {
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
}
.trackorder-form {
    width: 100%;
    max-width: 320px;
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.trackorder-form-item {
    float: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.trackorder-form-item input {
    display: inline-block;
    width: 100%;
    height: 46px;
    border: #fafafa 1px solid;
    background: #fafafa;
    border-radius: 6px;
    padding: 0 20px;
    font-size: 14px;
    color: #333;
}
.trackorder-form-item input::-webkit-input-placeholder {
    color: #999;
}
.trackorder-form-item input:focus {
    border: var(--buttonFocusBorderColor) 1px solid;
    box-shadow: var(--buttonFocusShadow);
}
.trackorder-btn {
    display: inline-block;
    width: 100%;
    height: 46px;
    background: var(--buttonBackgroundColor);
    color: var(--buttonFontColor);
    border-radius: 4px;
}
.trackorder-btn:hover {
    box-shadow: var(--buttonFocusShadow);
}
.trackorder-btn .button-text span {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
}

.trackorder-return {
    width: 100%;
    padding: 15px;
    background: #EEE;
    border-radius: 4px;
    text-align: center;
    margin-bottom: 20px;
    display: none;
}

@media only screen and (max-width: 330px){
    .trackorder {
        padding: 30px 15px;
    }
}

.return {
    float: left;
    width: 100%;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.return-head {
    width: 100%;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
}
.return-head i {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}
.return-head span {
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
}
.return-form {
    width: 100%;
    max-width: 320px;
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}
.return-form-item {
    float: left;
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.return-form-item input,.return-form-item textarea {
    display: inline-block;
    width: 100%;
    height: 46px;
    border: #fafafa 1px solid;
    background: #fafafa;
    border-radius: 6px;
    padding: 0 20px;
    font-size: 14px;
    color: #333;
}
.return-form-item textarea {
    height: 200px;
    padding: 20px;
}
.return-form-item input::-webkit-input-placeholder, .return-form-item textarea::-webkit-input-placeholder {
    color: #333;
    font-size: 14px;
}
.return-form-item input:focus, .return-form-item textarea:focus {
    border: var(--buttonFocusBorderColor) 1px solid;
    box-shadow: var(--buttonFocusShadow);
}
.return-btn {
    display: inline-block;
    width: 100%;
    height: 46px;
    background: var(--buttonBackgroundColor);
    color: var(--buttonFontColor);
    border-radius: 4px;
}
.return-btn:hover {
    box-shadow: var(--buttonFocusShadow);
}
.return-btn .button-text span {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 1px;
}
.return-return {
    width: 100%;
    padding: 15px;
    background: #EEE;
    border-radius: 4px;
    text-align: center;
    margin-bottom: 20px;
    display: none;
}
@media only screen and (max-width: 330px){
    .return {
        padding: 30px 15px;
    }
}

.pointsprogram {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.pointsprogram h1 {
    font-size: 36px;
    font-weight: 600;
    color: #000;
}
.pointsprogram h2 {
    font-size: 20px;
    font-weight: 500;
    color: #000;
    margin-top: 20px;
}
.pointsprogram h3 {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-top: 20px;
}
.pointsprogram p {
    font-size: 14px;
    font-weight: 500;
    color: #000;
    margin-top: 10px;
}