/* ========================================
   Custom Styles for Classic Mold Website
   ======================================== */

/* Theme Colors */
:root {
	--primary-color: #002060;
	--accent-color: #ff6600;
	--secondary-color: #888888;
	--text-light: #ccc;
	--text-dark: #333;
}

/* Page Footer - Sticky to Bottom */
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.g_footer {
	margin-top: auto !important;
	width: 100%;
}

.g_footer p,
.g_footer span,
.g_footer a {
	color: #ffffff !important;
	font-size: 16px !important;
}

/* Header Spacing */
.g_header .logo {
	margin-bottom: 40px;
}

.g_header .nav {
	margin-bottom: 30px;
	text-align: center;
}

.g_header .nav > li a {
	margin-bottom: 5px !important;
}

.g_header .top {
	text-align: center;
}

/* Navigation Menu */
.g_header .nav a {
	text-transform: uppercase;
}

.g_header .nav > li > a i.fa-angle-right {
	float: none !important;
	position: static !important;
	left: auto !important;
	margin-left: 10px !important;
	margin-right: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	display: inline !important;
	vertical-align: middle !important;
}

.g_header .nav > li > a em {
	margin-right: 0 !important;
}

.g_header .nav > li {
	position: relative;
}

/* 菜单悬停和当前菜单的下划线颜色改为橙色 */
.g_header .nav > li a::after {
	border-bottom-color: #ff6600 !important;
}

.g_header .nav > li.on a em {
	border-bottom-color: #ff6600 !important;
}

.g_header .nav > li:hover a::after,
.g_header .nav > li a:hover::after {
	border-bottom-color: #ff6600 !important;
}

/* Submenu Styles */
.g_header .nav > li .sub {
	position: absolute !important;
	left: 100% !important;
	top: 0 !important;
	bottom: auto !important;
	margin-left: 0 !important;
	display: block !important;
	visibility: hidden !important;
	opacity: 0 !important;
	background: rgba(34,34,34,0.95) !important;
	min-width: 250px !important;
	z-index: 1000 !important;
	white-space: nowrap !important;
	border: 1px solid #ff6600 !important;
	border-left: 2px solid #ff6600 !important;
}

.g_header .nav > li:hover .sub {
	visibility: visible !important;
	opacity: 1 !important;
}

.g_header .nav > li .sub > li {
	display: block !important;
	width: 100% !important;
	position: relative !important;
}

.g_header .nav > li .sub > li a {
	display: block !important;
	padding: 10px 40px 10px 20px !important;
	white-space: nowrap !important;
	line-height: 1.5 !important;
	border-top: 1px solid rgba(255,255,255,.1) !important;
	position: relative !important;
}

.g_header .nav > li .sub > li a::after {
	content: '>' !important;
	position: absolute !important;
	right: 15px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-size: 16px !important;
	opacity: 0.7 !important;
}

.g_header .nav > li .sub > li:first-child a {
	border-top: 0 !important;
}

/* Contact Box in Header */
.g_header .box {
	text-align: center;
}

.g_header .box p {
	font-size: 18px;
	margin: 15px 0;
	line-height: 1.8;
}

.g_header .box p i.fa {
	font-size: 24px;
	margin-right: 8px;
	vertical-align: middle;
}

/* ========================================
   Mobile Responsive Styles
   ======================================== */

/* Mobile Navigation */
html.um .g_header .nav {
	text-align: left !important;
}

html.um .g_header .top {
	text-align: left !important;
}

html.um .g_header .logo {
	text-align: center !important;
	margin-bottom: 20px !important;
}

html.um .g_header .nav > li > a i.fa-angle-right {
	float: right !important;
	margin-left: 0 !important;
	margin-right: 10px !important;
}

/* Mobile Submenu */
html.um .g_header .nav > li .sub {
	position: static !important;
	margin-left: 0 !important;
	padding-left: 1em !important;
	visibility: hidden !important;
	background: transparent !important;
	border: 0 !important;
	opacity: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}

html.um .g_header .nav > li.on .sub {
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
}

html.um .g_header .nav > li .sub > li a {
	background: transparent !important;
	border-top: 0 !important;
	padding: 5px 20px !important;
}

html.um .g_header .nav > li .sub > li a::after {
	display: none !important;
}

html.um .g_header .box {
	text-align: left !important;
	margin-top: 20px !important;
}

/* Mobile Banner */
html.um .bannerhome.mobile {
	min-height: 300px !important;
}

html.um .bannerhome.mobile .frames a {
	background-size: cover !important;
	background-position: center center !important;
}

/* Mobile Banner Single - 手机版内页Banner显示 */
html.um .bannersingle {
	display: block !important;
	min-height: 250px !important;
	height: 250px !important;
	position: relative !important;
}

html.um .bannersingle .g_cw {
	width: 90% !important;
	max-width: 100% !important;
	padding: 0 5% !important;
	height: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

html.um .bannersingle .txt {
	padding-top: 40px !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	justify-content: flex-start !important;
}

html.um .bannersingle .txt .t1 {
	font-size: 32px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

html.um .bannersingle .txt .t2 {
	font-size: 14px !important;
	position: absolute !important;
	bottom: 15px !important;
	left: 5% !important;
	right: 5% !important;
	margin: 0 !important;
}

/* 手机版菜单按钮 - 橙色横线 */
.g_menu .l1,
.g_menu .l2 {
	background: #ff6600 !important;
}

/* 手机版导航菜单 - 修复当前菜单高亮问题 */
html.um .g_header .nav > li {
	color: inherit !important;
}

html.um .g_header .nav > li > a {
	color: #ccc !important;
}

html.um .g_header .nav > li.on > a,
html.um .g_header .nav > li.on > a em {
	color: #ff6600 !important;
}

html.um .g_header .nav > li:not(.on) > a,
html.um .g_header .nav > li:not(.on) > a em {
	color: #ccc !important;
}

/* ========================================
   Page Banner Styles
   ======================================== */

.bannersingle {
	position: relative;
	width: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bannersingle .txt {
	text-align: center;
	color: #fff;
}

.bannersingle .txt .t1 {
	font-size: 48px;
	font-weight: bold;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
	margin-bottom: 10px;
}

.bannersingle .txt .t2 {
	font-size: 18px;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

/* Mobile Banner Adjustments */
html.um .bannersingle {
	height: 250px !important;
}

html.um .bannersingle .txt .t1 {
	font-size: 32px !important;
}

html.um .bannersingle .txt .t2 {
	font-size: 14px !important;
}

/* ========================================
   Utility Classes
   ======================================== */

/* Skip to main content link for accessibility */
.skip-link {
	position: absolute;
	top: -40px;
	left: 0;
	background: #000;
	color: #fff;
	padding: 8px;
	text-decoration: none;
	z-index: 100;
}

.skip-link:focus {
	top: 0;
}

/* Breadcrumb Navigation */
.breadcrumb {
	padding: 20px 0;
	font-size: 14px;
	color: #666;
}

.breadcrumb a {
	color: #666;
	text-decoration: none;
}

.breadcrumb a:hover {
	color: var(--accent-color);
}

.breadcrumb span {
	margin: 0 5px;
}

/* ========================================
   Carousel Arrow Styles
   ======================================== */

/* 轮播箭头样式优化 - 增强可见性和颜色 */
.bannerhome .slick-prev,
.bannerhome .slick-next,
.bannerhome.pc .slick-prev,
.bannerhome.pc .slick-next,
.bannerhome.mobile .slick-prev,
.bannerhome.mobile .slick-next {
	width: 42px !important;
	height: 42px !important;
	background: rgba(255, 102, 0, 0.4) !important;
	background-color: rgba(255, 102, 0, 0.4) !important;
	border-radius: 50% !important;
	z-index: 100 !important;
	border: 2px solid rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
	opacity: 1 !important;
}

.bannerhome .slick-prev:hover,
.bannerhome .slick-next:hover,
.bannerhome .slick-prev:focus,
.bannerhome .slick-next:focus,
.bannerhome.pc .slick-prev:hover,
.bannerhome.pc .slick-next:hover,
.bannerhome.mobile .slick-prev:hover,
.bannerhome.mobile .slick-next:hover {
	background: rgba(255, 102, 0, 0.9) !important;
	background-color: rgba(255, 102, 0, 0.9) !important;
	border-color: rgba(255, 255, 255, 0.9) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5) !important;
	opacity: 1 !important;
}

.bannerhome .slick-prev:before,
.bannerhome .slick-next:before,
.bannerhome.pc .slick-prev:before,
.bannerhome.pc .slick-next:before,
.bannerhome.mobile .slick-prev:before,
.bannerhome.mobile .slick-next:before {
	font-size: 25px !important;
	color: #ffffff !important;
	opacity: 1 !important;
	font-weight: bold !important;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

.bannerhome .slick-prev,
.bannerhome.pc .slick-prev {
	left: 30px !important;
}

.bannerhome .slick-next,
.bannerhome.pc .slick-next {
	right: 30px !important;
}

/* 手机版箭头位置调整 - 离边距更近 */
.bannerhome.mobile .slick-prev {
	left: 10px !important;
}

.bannerhome.mobile .slick-next {
	right: 10px !important;
}

/* 轮播指示点样式优化 */
.bannerhome .slick-dots li button:before {
	font-size: 12px !important;
	color: #fff !important;
	opacity: 0.5 !important;
}

.bannerhome .slick-dots li.slick-active button:before {
	color: #ff6600 !important;
	opacity: 1 !important;
}

/* ========================================
   Capabilities Grid - Card Animation
   ======================================== */

/* 初始隐藏状态：向上偏移 + 透明 */
.newslist .offset .list > li {
	opacity: 0;
	transform: translateY(40px);
	transition:
		opacity 0.55s ease,
		transform 0.55s ease,
		box-shadow 0.3s ease;
	border-radius: 4px;
	overflow: hidden;
}

/* 滚动进入后触发 */
.newslist .offset .list > li.in-view {
	opacity: 1;
	transform: translateY(0);
}

/* 错开每张卡片的入场时间 */
.newslist .offset .list > li:nth-child(1)  { transition-delay: 0.05s; }
.newslist .offset .list > li:nth-child(2)  { transition-delay: 0.10s; }
.newslist .offset .list > li:nth-child(3)  { transition-delay: 0.15s; }
.newslist .offset .list > li:nth-child(4)  { transition-delay: 0.20s; }
.newslist .offset .list > li:nth-child(5)  { transition-delay: 0.25s; }
.newslist .offset .list > li:nth-child(6)  { transition-delay: 0.30s; }
.newslist .offset .list > li:nth-child(7)  { transition-delay: 0.35s; }
.newslist .offset .list > li:nth-child(8)  { transition-delay: 0.40s; }
.newslist .offset .list > li:nth-child(9)  { transition-delay: 0.45s; }
.newslist .offset .list > li:nth-child(10) { transition-delay: 0.50s; }

/* Hover：卡片上浮 + 阴影 */
.newslist .offset .list > li:hover {
	transform: translateY(-6px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

/* Hover：图片缩放 */
.newslist .offset .list > li .pic {
	overflow: hidden;
}

.newslist .offset .list > li .pic img {
	transition: transform 0.45s ease;
	display: block;
	width: 100%;
}

.newslist .offset .list > li:hover .pic img {
	transform: scale(1.08);
}

/* Hover：标题橙色下划线滑入 */
.newslist .offset .list > li .title {
	position: relative;
	display: inline-block;
	padding-bottom: 3px;
}

.newslist .offset .list > li .title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: #ff6600;
	transition: width 0.35s ease;
}

.newslist .offset .list > li:hover .title::after {
	width: 100%;
}
