@charset "utf-8";
/*css comment*/

/*fonts*/
.f104 {
	font-size: 104px;
}

.f78 {
	font-size: 78px;
}

.f70 {
	font-size: 70px;
}

.f60 {
	font-size: 60px;
}

.f56 {
	font-size: 56px;
}

.f54 {
	font-size: 54px;
}

.f52 {
	font-size: 52px;
}

.f50 {
	font-size: 50px;
}

.f46 {
	font-size: 46px;
}

.f42 {
	font-size: 42px;
}

.f40 {
	font-size: 40px;
}

.f36 {
	font-size: 36px;
}

.f34 {
	font-size: 34px;
}

.f30 {
	font-size: 30px;
}

.f28 {
	font-size: 28px;
}

.f24 {
	font-size: 24px;
}

.f22 {
	font-size: 22px;
}

.f20 {
	font-size: 20px;
}

.f18 {
	font-size: 18px;
}

.f17 {
	font-size: 17px;
}

.f16 {
	font-size: 16px;
}

@media (max-width: 1600px) {
	html {
		font-size: 83px;
	}

	/*fonts*/
	.f104 {
		font-size: 86px;
	}

	.f78 {
		font-size: 64px;
	}

	.f70 {
		font-size: 58px;
	}

	.f60 {
		font-size: 50px;
	}

	.f56 {
		font-size: 46px;
	}

	.f54 {
		font-size: 44px;
	}

	.f52 {
		font-size: 42px;
	}

	.f50 {
		font-size: 40px;
	}

	.f46 {
		font-size: 36px;
	}

	.f42 {
		font-size: 36px;
	}

	.f40 {
		font-size: 34px;
	}

	.f36 {
		font-size: 30px;
	}

	.f34 {
		font-size: 28px;
	}

	.f30 {
		font-size: 26px;
	}

	.f28 {
		font-size: 24px;
	}

	.f24 {
		font-size: 20px;
	}

	.f22 {
		font-size: 20px;
	}

	.f20 {
		font-size: 18px;
	}

	.f18 {
		font-size: 16px;
	}

	.f17 {
		font-size: 16px;
	}

	.f16 {
		font-size: 16px;
	}

	/*index*/
	.technology_text_box,
	.profile_des,
	.application_des,
	.scene_des,
	.assess_des,
	.break_foreword,
	.real_foreword,
	.real_des,
	.realize_block dd,
	.prospect_des,
	.toolchain_text,
	.board_des,
	.introduce_text {
		line-height: 2;
	}
}

@media (max-width: 1366px) {
	html {
		font-size: 68px;
	}

	.inner {
		max-width: 1000px;
	}

	/*fonts*/
	.f104 {
		font-size: 70px;
	}

	.f78 {
		font-size: 54px;
	}

	.f70 {
		font-size: 48px;
	}

	.f60 {
		font-size: 40px;
	}

	.f56 {
		font-size: 38px;
	}

	.f54 {
		font-size: 36px;
	}

	.f52 {
		font-size: 36px;
	}

	.f50 {
		font-size: 34px;
	}

	.f46 {
		font-size: 30px;
	}

	.f42 {
		font-size: 30px;
	}

	.f40 {
		font-size: 28px;
	}

	.f36 {
		font-size: 24px;
	}

	.f34 {
		font-size: 24px;
	}

	.f30 {
		font-size: 20px;
	}

	.f28 {
		font-size: 20px;
	}

	.f24 {
		font-size: 16px;
	}

	.f22 {
		font-size: 16px;
	}

	.f20 {
		font-size: 14px;
	}

	.f18 {
		font-size: 14px;
	}

	.f17 {
		font-size: 14px;
	}

	.f16 {
		font-size: 14px;
	}

	/*footer*/
	.footer_contact {
		padding-left: 0;
	}


}


@media (max-width: 1000px) {
	html {
		font-size: 50px;
	}

	/*fonts*/
	.f104 {
		font-size: 50px;
	}

	.f78 {
		font-size: 40px;
	}

	.f70 {
		font-size: 36px;
	}

	.f60 {
		font-size: 32px;
	}

	.f56 {
		font-size: 28px;
	}

	.f54 {
		font-size: 28px;
	}

	.f52 {
		font-size: 26px;
	}

	.f50 {
		font-size: 24px;
	}

	.f46 {
		font-size: 24px;
	}

	.f42 {
		font-size: 24px;
	}

	.f40 {
		font-size: 20px;
	}

	.f36 {
		font-size: 18px;
	}

	.f34 {
		font-size: 18px;
	}

	.f30 {
		font-size: 16px;
	}

	.f28 {
		font-size: 16px;
	}

	.f24 {
		font-size: 14px;
	}

	.f22 {
		font-size: 14px;
	}

	.f20 {
		font-size: 14px;
	}

	.f18 {
		font-size: 14px;
	}

	.f17 {
		font-size: 14px;
	}

	.f16 {
		font-size: 14px;
	}

	/*header*/
	.header_line {
		height: 70px;
		line-height: 70px;
	}

	.header_func {
		margin-left: auto;
		margin-right: 0;
	}

	.func_menu {
		line-height: 30px;
		border: 1px solid rgba(0, 0, 0, .20);
		border-radius: 16px;
	}

	.func_menu:hover,
	.func_menu.active {
		background: #2F47A9;
		color: #ffffff;
	}

	.menu_toggle {
		display: block;
	}

	.nav_box,
	.nav_list>li .n_collapsible {
		display: block;
		position: absolute;
		top: 70px;
		right: 0;
		width: 100%;
		height: -webkit-calc(100vh - 70px);
		height: calc(100vh - 70px);
	}

	.nav_box {
		background: rgba(0, 0, 0, .50);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		-webkit-transition: all 0.6s ease;
		transition: all 0.6s ease;
	}

	.nav_con {
		width: 100%;
		max-width: 360px;
		height: 100%;
		background: #ffffff;
		box-shadow: -5px -5px 10px 0 rgba(0, 0, 0, 0.04);
		position: absolute;
		top: 0;
		right: 0;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		visibility: hidden;
		transition: visibility .5s cubic-bezier(.23, 1, .32, 1), -webkit-transform .5s cubic-bezier(.23, 1, .32, 1);
		transition: transform .5s cubic-bezier(.23, 1, .32, 1), visibility .5s cubic-bezier(.23, 1, .32, 1);
		transition: transform .5s cubic-bezier(.23, 1, .32, 1), visibility .5s cubic-bezier(.23, 1, .32, 1), -webkit-transform .5s cubic-bezier(.23, 1, .32, 1);
	}

	.nav_box.is_open {
		opacity: 1;
		visibility: visible;
		pointer-events: all;
	}

	.nav_box.is_open .nav_con {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
	}

	/* 移动端导航菜单布局 - 覆盖桌面端的 flex 样式 */
	.nav_con {
		display: block !important;
		justify-content: unset !important;
		align-items: unset !important;
		padding: 20px 0;
	}

	.nav_func {
		display: flex;
	}

	.nav_list {
		margin: 0;
		display: block !important;
		flex-wrap: unset !important;
		overflow: unset !important;
		min-width: unset !important;
		justify-content: unset !important;
		align-items: unset !important;
	}

	.nav_list>li {
		width: 100%;
	}

	.n_tit {
		padding: 0;
		height: 50px;
		line-height: 50px;
		border-bottom: 1px solid rgba(0, 0, 0, .10);
	}

	.n_tit a {
		display: flex;
		padding-left: 20px;
	}

	.n_tit .iconfont {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		width: 50px;
		text-align: center;
		border-left: 1px solid rgba(0, 0, 0, .10);
		color: #2F47A9;
	}

	.n_tit .iconfont:before {
		display: inline-block;
		transform: rotate(-90deg);
	}

	.nav_list>li:hover .n_tit a,
	.nav_list>li.active .n_tit a {
		background: #2F47A9;
		color: #ffffff;
	}

	.nav_list>li:hover .n_tit .iconfont,
	.nav_list>li.active .n_tit .iconfont {
		color: #ffffff;
		border-color: rgba(255, 255, 255, .60);
	}

	.nav_list>li .n_collapsible {
		position: fixed;
		top: 0;
		height: 100%;
		z-index: 10;
		margin-left: 0;
		max-width: 410px;
		border: none;
		background: #ffffff;
		padding: 0 .30rem;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		opacity: 1;
		pointer-events: all;
		overflow: hidden;
		overflow-y: auto;
		-ms-scroll-chaining: none;
		overscroll-behavior: none;
		-webkit-overflow-scrolling: touch;
		transition: visibility .5s cubic-bezier(.23, 1, .32, 1), -webkit-transform .5s cubic-bezier(.23, 1, .32, 1);
		transition: transform .5s cubic-bezier(.23, 1, .32, 1), visibility .5s cubic-bezier(.23, 1, .32, 1);
		transition: transform .5s cubic-bezier(.23, 1, .32, 1), visibility .5s cubic-bezier(.23, 1, .32, 1), -webkit-transform .5s cubic-bezier(.23, 1, .32, 1);
	}

	.nav_list>li .n_collapsible:before {
		display: none !important;
	}

	.nav_list>li .n_collapsible.is_open {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;

	}

	.nav_list>li .n_collapsible .n_headline {
		display: flex;
	}

	.cover_closed {
		right: 20px;
	}

	.nav_list>li .n_collapsible .n_subclass>li {
		border-bottom: 1px solid rgba(0, 0, 0, .10);
	}

	/*footer*/
	.footer_contact,
	.footer_hot {
		width: 35%;
	}

	.footer_follow {
		position: static;
		padding-left: 0;
		margin-top: .40rem;
	}

	/*02*/
	main {
		min-height: auto;
		padding-top: 70px;
	}

	.sec_bg {
		background-attachment: local !important;
		background-position: 50% 0 !important;
	}

	.profile_data {
		margin-left: -.30rem;
		margin-right: -.30rem;
	}

	/*03*/
	.file_wrap {
		height: -webkit-calc(100vh - 70px);
		height: calc(100vh - 70px);
	}

	.full_banner {
		height: auto;
		padding-top: 60%;
		min-height: 280px;
	}

	/*05*/
	.file_menu {
		display: block;
	}

	.file_left {
		transform: translateX(-100%);
		width: -webkit-calc(100% - 25px);
		width: calc(100% - 25px);
		max-width: 360px;
		top: 70px;
		height: -webkit-calc(100vh - 70px);
		height: calc(100vh - 70px);
		opacity: 0;
		pointer-events: none;
		-webkit-transition: all 0.6s ease;
		transition: all 0.6s ease;
	}

	.file_left.active {
		transform: translateX(0);
		opacity: 1;
		pointer-events: all;
	}

	.file_right {
		margin-left: 0;
	}

	a.file_closed {
		display: block;
	}

	.file_breadcrumbs {
		display: flex;
	}

	.file_local {
		margin-left: auto;
	}

	/*07*/
	.topic_more {
		height: 50px;
		line-height: 50px;
	}

	.topic_more i {
		width: 30px;
		line-height: 30px;
		font-size: 18px;
	}
}

.bannertupc {
	display: block;
}

.bannertusj {
	display: none;
}

@media (max-width: 767px) {

	/*fonts*/
	.f104 {
		font-size: 40px;
	}

	.f78 {
		font-size: 34px;
	}

	.f70 {
		font-size: 30px;
	}

	.f60 {
		font-size: 28px;
	}

	.f56 {
		font-size: 24px;
	}

	.f54 {
		font-size: 24px;
	}

	.f52 {
		font-size: 22px;
	}

	.f50 {
		font-size: 20px;
	}

	.f46 {
		font-size: 20px;
	}

	.f42 {
		font-size: 20px;
	}

	.f40 {
		font-size: 18px;
	}

	.f36 {
		font-size: 18px;
	}

	.f34 {
		font-size: 18px;
	}

	.f30 {
		font-size: 16px;
	}

	.f28 {
		font-size: 16px;
	}

	.f24 {
		font-size: 14px;
	}

	.f22 {
		font-size: 14px;
	}

	.f20 {
		font-size: 14px;
	}

	.f18 {
		font-size: 14px;
	}

	.f17 {
		font-size: 14px;
	}

	.f16 {
		font-size: 14px;
	}

	.bannertupc {
		display: none;
	}

	.bannertusj {
		display: block;
	}

	.bannertu .video_box2 video {
		display: none;
	}

	.bannertu .cgakanship img {
		top: 75%;
		transform: translateX(-50%);
		width: 50px;
	}

	.tanchushipin {
		width: 85%;
	}

	/*header*/
	.logo a img {
		height: 24px;
	}
	.logo a {
		justify-content: center;
		align-items: center;
		height: 70px;
		line-height: 70px;
	}

	/*footer*/
	footer .inner {
		padding: 0;
	}

	.footer_column {
		padding-left: 0;
		margin-top: .50rem;
	}

	.footer_column:first-child {
		margin-top: 0;
	}

	.footer_contact,
	.footer_hot,
	.footer_menu {
		width: 100%;
	}

	/*main*/
	main {
		min-height: auto;
		padding-top: 70px;
	}

	/*index*/
	.technology_text_box,
	.profile_des,
	.application_des,
	.scene_des,
	.assess_des,
	.break_foreword,
	.real_foreword,
	.real_des,
	.realize_block dd,
	.prospect_des,
	.toolchain_text,
	.board_des,
	.introduce_text {
		line-height: 1.72;
	}

	.news_list {
		-moz-column-count: 2;
		-webkit-column-count: 2;
		column-count: 2;
	}

	/*01*/
	.technology_advance {
		flex-wrap: wrap;
	}

	.technology_text_row02,
	.technology_text_row03 {
		margin-top: 1.50rem;
	}

	/*02*/
	.profile_text {
		display: block;
		margin-top: .60rem;
	}

	.profile_text dt {
		max-width: 400px;
		margin: 0 auto;
	}

	.profile_text dd {
		width: 100%;
	}

	.profile_data li {
		width: 50%;
	}

	.echarts_box {
		margin-top: 0;
	}

	.echarts_block {
		width: 100%;
		padding: 0;
		margin-top: .60rem;
	}

	.echarts_block:first-child {
		margin-top: 0;
	}

	.scene_list {
		margin: -.40rem -.20rem;
	}

	.scene_block {
		width: 50%;
		padding: .40rem .20rem;
	}

	.assess_box {
		display: block;
	}

	.assess_text {
		width: 100%;
		margin-right: 0;
		margin-bottom: .40rem;
	}

	.advantage_list,
	.application_list {
		margin-left: -.30rem;
		margin-right: -.30rem;
	}

	.advantage_list li,
	.application_list li {
		width: 100%;
	}

	.insertion_album {
		width: 100%;
		margin-right: 0;
		margin-bottom: .40rem;
	}

	/*03*/
	.real_block {
		display: block;
	}

	.real_img {
		width: 100%;
	}

	.real_text {
		padding-right: 8%;
		margin-top: .40rem;
	}

	/*04*/
	.prospect_text {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: .40rem;
	}

	.marginal_block {
		width: 100%;
	}

	.marginal_block:nth-child(even) .marginal_area {
		float: none;
	}

	.clouds_block {
		width: 100%;
	}

	.terminal_list,
	.software_list,
	.board_list {
		-moz-column-count: 1;
		-webkit-column-count: 1;
		column-count: 1;
	}

	.terminal_swiper .swiper-container,
	.marginal_swiper .swiper-container {
		margin: 0;
	}

	.terminal_icon,
	.marginal_icon {
		max-width: 1rem;
	}

	/*05*/
	.software_itemize {
		width: 100%;
	}

	.itemize_swiper {
		padding: .30rem 0;
	}

	.itemize_swiper .swiper-slide a {
		padding: 0 .30rem;
		height: .70rem;
	}

	.itemize_tit {
		font-size: 14px;
	}

	.toolchain_text {
		width: 100%;
		margin-right: 0;
		margin-bottom: .40rem;
	}

	.board_list {
		flex-wrap: wrap;
	}

	.board_block:nth-child(n) .board_area {
		max-width: none;
	}

	.community_toolchain {
		padding-bottom: 1.10rem;
	}

	.toolchain_box {
		display: block;
	}

	/*06*/
	.place_block {
		width: 50%;
	}

	.contact_imgtext {
		display: block;
	}

	.imgtext_text {
		width: 100%;
	}

	.imgtext_img {
		min-height: inherit;
	}

	.report_img {
		width: 100%;
		margin-right: 0;
		margin-bottom: .40rem;
	}

	.management_block:nth-child(n) {
		width: 50%;
	}

	.management_des {
		max-width: 100%;
	}

	.management_more {
		padding: 40px 20px 20px;
		transform: translateX(-50%) translateY(-40%);
	}

	/*07*/
	.topic_innovation,
	.topic_research {
		padding-top: 1.10rem;
	}

	.innovation_video {
		margin-top: 1.10rem;
	}

	.topic_connection {
		padding-bottom: 1.10rem;
	}

	.topic_joining,
	.topic_apply {
		padding-top: 1.10rem;
		padding-bottom: 1.10rem;
	}

	.text_cn_des,
	.research_mark,
	.joining_forewords,
	.joining_caption,
	.apply_caption,
	.connection_text {
		font-weight: 500;
	}

	.text_cn_des {
		line-height: 1.72;
	}

	.topic_more {
		height: 40px;
		line-height: 40px;
	}

	.topic_more i {
		width: 20px;
		line-height: 20px;
		font-size: 16px;
	}

	.text_cn {
		flex: auto;
	}

	.text_en {
		margin-left: 0;
		text-align: left;
		margin-top: .40rem;
	}

	.research_num i {
		font-size: 18px;
	}

	.joining_list li {
		width: 50%;
	}

	.benefits_img {
		width: 100%;
		margin: 0 auto;
	}

	.benefits_text {
		flex: auto;
		text-align: center;
		margin-top: .50rem;
	}

	.apply_list li {
		width: 100%;
		margin-bottom: 60px;
	}

	.apply_list li:before {
		top: auto;
		right: auto;
		bottom: -40px;
		left: 50%;
		transform: translateX(-50%) rotate(90deg);
	}
}

@media (max-width: 480px) {

	/*01*/
	.news_list {
		-moz-column-count: 1;
		-webkit-column-count: 1;
		column-count: 1;
	}

	/*06*/
	.place_block {
		width: 100%;
	}

	/*07*/
	.research_tit {
		font-size: 16px;
	}

	.research_num i {
		font-size: 14px;
	}

	.research_block dt {
		width: 100%;
	}

	.research_block:nth-child(odd) dd {
		text-align: left;
	}
}

/* 针对超长移动屏幕（长宽比 > 2）的特殊处理 */
@media (max-width: 767px) and (min-aspect-ratio: 9/16) {
	main {
		min-height: auto;
		padding-top: 70px;
	}
}

/* 针对超长移动屏幕（长宽比 > 2.1）的进一步调整 */
@media (max-width: 767px) and (min-aspect-ratio: 21/10) {
	main {
		min-height: auto;
		padding-top: 70px;
	}
}

/* Footer移动端样式 - 1000px断点（与导航菜单同步） */
@media screen and (max-width: 1000px) {

	/* 移动端footer样式 */
	.footer_top .inner {
		flex-direction: column;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.footer_contact {
		width: 100% !important;
		transform: none !important;
		text-align: center;
		margin: 0 auto;
		padding: 0;
	}

	.footer_nav_menu {
		display: none !important;
	}

	.footer_top {
		padding-top: 0.5rem;
		padding-bottom: 0.5rem;
	}
}

/* 移动端水平溢出防护 - 全面解决方案 */
@media (max-width: 767px) {
	/* 强制防止任何水平溢出 */
	html, body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
	}
	
	/* 确保所有容器都不会超出视口宽度 */
	* {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	
	/* 防止transform导致的水平溢出 */
	*[style*="transform"] {
		max-width: calc(100vw - 20px) !important;
	}
	
	/* 确保图片和媒体元素不会超出容器 */
	img, video, iframe, object, embed {
		max-width: 100% !important;
		height: auto !important;
	}
	
	/* 防止pre、code等元素导致的水平滚动 */
	pre, code {
		white-space: pre-wrap !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
	}
	
	/* 确保flexbox容器不会溢出 */
	.flex, [class*="flex"], [style*="display: flex"], [style*="display:flex"] {
		flex-wrap: wrap !important;
		min-width: 0 !important;
	}
}