body {
	--app-header-height: 70px;
	--app-header-logo-height: 42px;
	--app-header-logo-radius: 6px;
	--app-header-nav-side: 50px;
	--app-header-nav-font-size: 1em;
	--app-header-nav-item-gap: 2em;
	--app-header-tel-btn-gap: 2.85em;
	--app-header-tel-font-size: 1.14em;
	--app-header-tel-icon-text-gap: 5px;
	--app-header-btn-gap: 1em;
	--app-header-btn-font-size: 1em;
	--app-header-btn-padding: 0.42em 1.71em;
	--app-header-toggle-btn-font-size: 2em;
	--app-header-children-top: 40px;
	--app-header-children-bottom: 84px;
	--app-header-cont-sides: 32px;
	--app-header-cont-icon-size: 28px;
	--app-header-cont-item-gap: 12px;
	--app-header-tabs-sides: 24px;
	--app-header-tabs-font-size: 1.14em;
	--app-header-tab-padding: 1em;
	--app-header-nav-logo-height: 24px;
	--app-header-menu-logo-height: 60px;
}

.app-header {
	height: var(--app-header-height);
	background: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(10px);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
}

.app-header.white {
	background: #ffffff;
}

.app-header:hover {
	background: #ffffff;
}

.app-header__body {
	height: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.app-header__logo {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	box-shadow: 0px 4px 8px 0px rgba(0, 112, 232, 0.2);
	border-radius: var(--app-header-logo-radius);
	height: var(--app-header-logo-height);
	overflow: hidden;
	flex-shrink: 0;
}

.app-header__logo__img {
	display: block;
	height: 100%;
}

.app-header__nav {
	flex: 1;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	padding: 0 var(--app-header-nav-side);
	font-size: var(--app-header-nav-font-size);
	/* gap: var(--app-header-nav-item-gap); */
	align-self: stretch;
}

.app-header__nav__item {
	position: relative;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 0 calc(var(--app-header-nav-item-gap) / 2);
}

.app-header__nav__item__name {
	font-size: 1.14em;
}

.app-header__nav__item.active > .app-header__nav__item__name {
	color: var(--app-theme-secondary);
	font-weight: 600;
}

.app-header__nav__item:hover > .app-header__nav__item__name {
	color: var(--app-theme-secondary);
	font-weight: 600;
}

.app-header__right {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-shrink: 0;
	gap: var(--app-header-tel-btn-gap);
	margin-left: auto;
}

.app-header__tel {
	font-size: var(--app-header-tel-font-size);
	font-weight: bold;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: var(--app-header-tel-icon-text-gap);
	position: relative;
}

.app-header__tel::after {
	content: "";
	width: 100%;
	height: 3px;
	background: currentColor;
	transition: all 250ms ease-in-out;
	transform: scaleX(0);
	bottom: -3px;
	left: 0;
	position: absolute;
	z-index: 1;
	border-radius: 3px;
}

.app-header__tel:hover {
	color: var(--app-theme-secondary);
}

.app-header__tel:hover::after {
	transform: scaleX(1);
}

.app-header__tel__icon {
	width: 1em;
	height: 1em;
	display: block;
}

.app-header__btns {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: var(--app-header-btn-gap);
}

.app-header__btn {
	padding: var(--app-header-btn-padding);
	font-size: var(--app-header-btn-font-size);
}

.app-header-menu-toggle-btn {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-left: var(--app-header-btn-gap);
	cursor: pointer;
	user-select: none;
}

.app-header-menu-toggle-btn__icon {
	font-size: var(--app-header-toggle-btn-font-size);
}

.app-header-menu-toggle-btn__menu {
	display: inline;
}

.app-header-menu-toggle-btn__close {
	display: none;
}

.app-header-menu-toggle-btn.open .app-header-menu-toggle-btn__menu {
	display: none;
}

.app-header-menu-toggle-btn.open .app-header-menu-toggle-btn__close {
	display: inline;
}

.app-header-modal {
	display: none;
	flex-direction: column;
	position: fixed;
	z-index: 98;
	width: 100%;
	height: 100%;
	padding-top: var(--app-header-height);
	background: rgba(255, 255, 255, 1);
	top: 0;
	left: 0;
	padding-bottom: var(--app-layout-content-padding-side);
	user-select: none;
}

.app-header-modal.show {
	display: flex;
}

.app-header-menus {
	padding: var(--app-layout-content-padding-side);
	display: flex;
	flex-direction: column;
	overflow: hidden auto;
	flex: 1;
	border-top: 1px solid #e7e7e7;
	font-size: 1.35em;
}

.app-header-menus__item {
}

.app-header-menus__item__content {
	display: flex;
	flex-direction: row;
	align-items: center;
	/* justify-content: space-between; */
	cursor: pointer;
	padding: 1em 0;
}

.app-header-menus__item__children {
	display: none;
}

.app-header-menus__item__children.open {
	display: block;
}

.app-header-menus__item__children-lv2 .app-header-menus__item__content {
	padding-left: 2em;
}

.app-header-menus__item__children-lv3 .app-header-menus__item__content {
	padding-left: 3em;
}

.app-header-menus__item__content:hover {
	color: var(--app-theme-secondary);
	font-weight: 600;
}
.app-header-menus__item__icon {
	margin-right: 8px;
	width: var(--app-header-cont-icon-size);
	height: var(--app-header-cont-icon-size);
	object-fit: contain;
}

.app-header-menus__item__arrow {
	transition: all 250ms ease-in-out;
	margin-left: auto;
}

.app-header-menus__item__children.is-logos {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	padding-left: 2em;
	height: 0;
	overflow: hidden;
}

.app-header-menus__item__children.is-logos.open {
	height: auto;
}

.app-header-menus__item__content.is-logo {
	padding-left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	height: var(--app-header-menu-logo-height);
}

.app-header-menus__item__logo-wrap {
	width: 100%;
	padding: 1em 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e7e7e7;
	position: relative;
	height: 100%;
}

.app-header-menus__item__logo-wrap:hover .app-header__cont__item__mask {
	opacity: 1;
}

.app-header-menus__item__logo__img {
	display: block;
	height: 100%;
	width: auto;
	max-width: 90%;
}

.app-header-menus__item__arrow.rotate {
	transform: rotate(90deg);
}

.app-header__children {
	position: fixed;
	width: 100%;
	top: var(--app-header-height);
	left: 0;
	background: #ffffff;
	box-shadow: 0px 4px 8px 0px rgba(0, 112, 232, 0.2);
	display: none;
}

.app-header__nav__item:hover > .app-header__children {
	display: block;
}

.app-header__children__wrapper {
	display: flex;
	align-items: stretch;
}

.app-header__tabs {
	padding: var(--app-header-children-top) var(--app-header-tabs-sides) var(--app-header-children-bottom);
	font-size: var(--app-header-tabs-font-size);
	flex-shrink: 0;
}

.app-header__tab {
	padding: var(--app-header-tab-padding);
	cursor: pointer;
	position: relative;
	min-width: 8em;
}

.app-header__tab:hover {
	color: var(--app-theme-secondary);
}

.app-header__tab.active {
	background: var(--app-theme-tertiary);
	color: var(--app-theme-secondary);
}

.app-header__tab::before {
	content: "";
	width: 3px;
	height: 100%;
	background: var(--app-theme-secondary);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 250ms ease-in-out;
}

.app-header__tab.active::before {
	opacity: 1;
}

.app-header__conts {
	flex: 1;
	padding: var(--app-header-children-top) var(--app-header-cont-sides) var(--app-header-children-bottom);
	border-left: 1px solid #e7eefe;
}

.app-header__cont {
}

.app-header__cont__items {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.app-header__cont__item {
	display: flex;
	align-items: center;
	gap: var(--app-header-cont-item-gap);
	transition: 250ms;
	padding: 6px;
	border-radius: 5px;
}

.app-header__cont__item:hover {
	color: var(--app-theme-secondary);
	box-shadow: 0px 4px 8px 0px rgba(0, 112, 232, 0.2);
	padding: 4px 8px;
	background: var(--app-theme-tertiary);
}

.app-header__cont__item__icon {
	width: var(--app-header-cont-icon-size);
	height: var(--app-header-cont-icon-size);
	display: flex;
	align-items: center;
	justify-content: center;
}

.app-header__cont__item__icon__img {
	display: block;
	height: 100%;
	width: auto;
}

.app-header__cont__item__logo {
	height: var(--app-header-cont-icon-size);
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e7e7e7;
	padding: 1em 0;
	box-sizing: content-box;
	position: relative;
}

.app-header__cont__item__mask {
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	transition: all 250ms ease-in-out;
}

.app-header__cont__item__logo:hover .app-header__cont__item__mask {
	opacity: 1;
}

.app-header__cont__item__logo__img {
	display: block;
	height: 100%;
	width: auto;
}

.app-header__cont__item__content {
	display: flex;
	flex-direction: column;
}

.app-header__cont__item__desc {
	color: var(--app-text-color-7);
	font-size: 0.95em;
	/* margin-top: 2px; */
}

.app-header__cont__item:hover .app-header__cont__item__desc {
	color: var(--app-theme-secondary);
	opacity: 0.5;
}

.app-header__btn {
	box-shadow: none !important;
}

.app-header__userinfo {
	flex-shrink: 0;
	display: flex;
	gap: 8px;
	align-items: center;
}

.app-header__userinfo__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	overflow: hidden;
}

.app-header__userinfo__avatar__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.app-header__userinfo__name {
	cursor: pointer;
}

/* 产品 */
.app-header__product {
	gap: 60px;
	padding-top: 20px;
	padding-bottom: 50px;
}

.app-header__tab-group {
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 20%;
}

.app-header__tab-group__name {
	color: var(--app-text-color-4);
	font-size: var(--app-header-tabs-font-size);
	border-bottom: 1px solid #e5e5e5;
	padding: 1em 0;
}

.app-header__tab-group__items {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.app-header__tab-group__item {
	display: flex;
	align-items: center;
	gap: var(--app-header-cont-item-gap);
	transition: 250ms;
	padding: 12px 0;
	border-radius: 5px;
}

.app-header__tab-group__item:hover {
	background: var(--app-theme-tertiary);
	color: var(--app-theme-secondary);
	padding: 12px;
}

.app-header__tab-group__item:hover .app-header__tab-group__item__name {
	color: var(--app-theme-secondary);
}

.app-header__tab-group__item__icon {
	width: var(--app-header-cont-icon-size);
	height: var(--app-header-cont-icon-size);
	display: flex;
	align-items: center;
	justify-content: center;
}

.app-header__tab-group__item__icon__img {
	display: block;
	height: 100%;
	width: auto;
	object-fit: contain;
}

/* 案例 */
.app-header__case {
	gap: 20px;
	padding-top: 20px;
	padding-bottom: 50px;
}

.app-header__case__left {
	flex-shrink: 0;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 0;
	margin-right: 40px;
}

.app-header__case__left__title {
	font-size: 1.42em;
	font-weight: 500;
	word-break: keep-all;
}

.app-header__case__left__desc {
	margin: 1.5em 0 2em;
	line-height: 1.6;
	color: var(--app-text-color-4);
	font-size: 1.14em;
	max-width: 9em;
}

.app-header__case__left__btn {
	font-size: 1em;
	padding: 1em 2.5em;
}

.app-header__case .app-header__tab-group {
	flex: 1;
	width: 1px;
	gap: 5px;
}

.app-header__case .app-header__tab-group__name {
	border-bottom: none;
	text-align: center;
}

.app-header__case .app-header__tab-group__items {
	gap: 10px;
}

.app-header__case .app-header__tab-group__item {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #e7e7e7;
	padding: 1.5em 0;
	position: relative;
	border-radius: 4px;
	overflow: hidden;
}

.app-header__tab-group____logo {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--app-header-nav-logo-height);
}

.app-header__tab-group____logo__img {
	display: block;
	height: 100%;
	width: auto;
	object-fit: contain;
	max-width: 90%;
}

.app-header__tab-group____mask {
	width: 100%;
	height: 100%;
	background: #ffffff;
	color: var(--app-theme-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	opacity: 0;
	/* transition: all 250ms ease-in-out; */
	font-weight: 600;
	text-decoration: underline;
}

.app-header__case .app-header__tab-group__item:hover .app-header__tab-group____mask {
	opacity: 1;
}

.app-header-menus__item__more {
	color: var(--app-theme-secondary);
	position: relative;
	margin-bottom: 0.5em;
}

.app-header-menus__item__more .app-header-menus__item__arrow {
	margin-left: 5px;
}

.app-header-menus__item__more::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 2em;
	width: calc(100% - 2em);
	height: 1px;
	background: var(--app-border-color);
	border-radius: 50%;
}

/* 学院 */
.app-header__school {
	gap: 60px;
	padding-top: 20px;
	padding-bottom: 50px;
	justify-content: center;
}

.app-header__school .app-header__tab-group {
	width: 35%;
	gap: 5px;
}

.app-header__school .app-header__tab-group__items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
}

@media screen and (max-width: 1280px) {
	body {
		--app-header-nav-side: 30px;
		--app-header-nav-item-gap: 1.5em;
		--app-header-tel-btn-gap: 1.5em;
		--app-header-btn-gap: 0.75em;
	}
}

@media screen and (max-width: 1024px) {
	body {
		--app-header-btn-padding: 0.42em 0.71em;
	}

	.app-header {
		background: #ffffff;
	}

	.app-header-menu-toggle-btn {
		display: flex;
	}

	.app-header__nav {
		display: none;
	}
}

/* @media screen and (max-width: 768px) {
	body {
		--app-header-btn-padding: 0;
		--app-header-tel-font-size: 1em;
		--app-header-toggle-btn-font-size: 1em;
	}

	.app-header__btn {
		border: none;
		background: none;
		color: var(--app-theme-secondary);
	}

	.app-header__btn:hover {
		color: var(--app-theme-primary);
		background: none;
	}
} */
