@font-face {
  font-family: SourceHanSansCN;
  src: url("/assets/fonts/SourceHanSansCN-Normal.ttf");
}
@font-face {
  font-family: SourceHanSansCN-Heavy;
  src: url("/assets/fonts/SourceHanSansCN-Heavy.ttf");
}
@font-face {
  font-family: SourceHanSansCN-Light;
  src: url("/assets/fonts/SourceHanSansCN-Light.ttf");
}
@font-face {
  font-family: SourceHanSansCN-Medium;
  src: url("/assets/fonts/SourceHanSansCN-Medium.ttf");
}
@font-face {
  font-family: SourceHanSansCN-Regular;
  src: url("/assets/fonts/SourceHanSansCN-Regular.ttf");
}
@font-face {
  font-family: SourceHanSansCN-Bold;
  src: url("/assets/fonts/SourceHanSansCN-Bold.ttf");
}
@font-face {
  font-family: Poppins-Light;
  src: url("/assets/fonts/Poppins-Light.ttf");
}

:root {
  --header-height: clamp(50px, 13.3333vw, 100px);
  --h1: clamp(32px, 6.4vw, 64px);
  --h2: clamp(24px, 4.8vw, 48px);
  --h3: clamp(18.72px, 3.2vw, 36px);
  --h4: clamp(16px, 3.2vw, 32px);
  --h5: clamp(13.28px, 2.656vw, 26.56px);
  --h6: clamp(12px, 2.4vw, 24px);
  --p: clamp(12px, 2.4vw, 24px);
  --color1: #071221;
  --color2: #1169ab;
}

*,
::after,
::before {
  box-sizing: border-box;
}

body {
  font-family: SourceHanSansCN;
  font-weight: 400;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

a,
button {
  cursor: pointer;
}

a,
a:hover,
a:visited {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

.layout {
  margin: 0 auto;
}

.header {
  --fc: #fff;
  height: var(--header-height);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 4vw;
  background: linear-gradient(to bottom, #fff, #fff) no-repeat center top;
  background-size: 100% 0;
  border-bottom: 1px solid transparent;
  transition: all 0.3s;
}

.header-placeholder {
  height: var(--header-height);
  background-color: #fff;
}

.header.active,
header:has(+ main[class~="header-active"]) .header {
  --fc: #333130;
  background-position: center top;
  background-size: 100% 100%;
  border-bottom: 1px solid #ddd;
}

.header .left {
  flex: 1;
  display: flex;
  align-items: center;
}

.header .right {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header .search img {
  width: 4.8vw;
  height: 4.2667vw;
  display: none;
}

.header.active .search img,
header:has(+ main[class~="header-active"]) .header .search img {
  content: url(/assets/img/icon-search-hover.png);
}

.header .lang {
  margin-left: 3.2vw;
  font-size: clamp(12px, 2.4vw, 19px);
  color: var(--fc);
  display: none;
}

.header .logo {
  width: 14.6667vw;
  height: 8vw;
  max-width: 110px;
  max-height: 60px;
}

.header .logo img {
  width: 14.6667vw;
  height: 8vw;
}

.header.active .logo img,
header:has(+ main[class~="header-active"]) .header .logo img {
  content: url(/assets/img/logo-hover.png);
}

.header .icon-menu {
  width: 4.8vw;
  height: 4.2667vw;
}

.header.active .icon-menu,
header:has(+ main[class~="header-active"]) .header .icon-menu {
  content: url(/assets/img/icon-menu-hover.png);
}

.drawer .drawer-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.5s linear;
}

.drawer.drawer-open .drawer-mask {
  visibility: visible;
  opacity: 1;
}

.drawer .drawer-content {
  width: 78.6667vw;
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  z-index: 1001;
  background-color: #fff;
  box-shadow: -6px 0 16px 0 rgba(0, 0, 0, 0.08),
    -3px 0 6px -4px rgba(0, 0, 0, 0.12), -9px 0 28px 8px rgba(0, 0, 0, 0.05);
  transform: translateX(100%);
  transition: all 0.5s;
}

.drawer.drawer-open .drawer-content {
  transform: translateX(0);
}

.drawer .close {
  padding: 4vw;
  display: flex;
  align-items: center;
}

.drawer .close .icon-close {
  width: 4vw;
  height: 4vw;
  margin-left: auto;
}

.drawer-menu .nav {
  height: calc(100vh - 12vw);
  overflow-y: auto;
}

.drawer-menu .nav > li {
  padding: 8vw 6vw 4vw;
  border-bottom: 1px solid #cac9c5;
}

.drawer-menu .nav .flex-link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.drawer-menu .nav .flex-link > a {
  width: fit-content;
  height: var(--header-height);
  display: flex;
  flex-direction: column;
  color: var(--fc);
}

.drawer-menu .nav .flex-link > a > span:nth-child(1) {
  font-size: clamp(16px, 3.2vw, 24px);
}

.drawer-menu .nav .flex-link > a > span:nth-child(2) {
  margin-top: 2vw;
  font-size: clamp(24px, 4.2667vw, 32px);
}

.drawer-menu .nav > li .icon-expand {
  width: 4vw;
  height: 4vw;
}

.drawer-menu .nav > li.active .icon-expand {
  content: url(/assets/img/icon-expand-active.png);
}

.drawer-menu .nav > li .dropmenu {
  margin-top: 4vw;
  display: grid;
  grid-template-rows: 0fr;
  transition: 0.6s;
}

.drawer-menu .nav > li.active .dropmenu {
  grid-template-rows: 1fr;
}

.drawer-menu .nav > li .dropmenu > ul {
  overflow: hidden;
}

.drawer-menu .nav > li .dropmenu > ul > li {
  height: 12vw;
  display: flex;
  align-items: center;
}

.drawer-menu .nav > li .dropmenu > ul > li > a {
  font-size: 16px;
  color: #333130;
}

footer {
  margin-top: 4.1667vw;
  border-top: 1px solid #6a6b6b;
}

.footer {
  padding: 8vw 16vw;
}

.footer .company {
  font-size: clamp(12px, 2.4vw, 18px);
  color: #4e4d4d;
}

.footer .right .hotline {
  margin-top: 1.2vw;
  font-size: clamp(16px, 3.7333vw, 28px);
  color: #4e4d4d;
}

.footer .copyright {
  margin-top: 8vw;
  font-size: clamp(12px, 2.4vw, 18px);
  color: #4e4d4d;
}
