/*------------------------------------------------------------------

[Table of contents]

1. General
2. Header
3. Navigation
4. Sections
5. Footer
6. Components

[Color codes]

Buttons, etc:	#726FB9 (blue)
hover color:	#fed136 (yellow)
-------------------------------------------------------------------*/

/*--------------------
Import Google Fonts
--------------------*/

/* main font for menu. */
@import url(https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900);
/* font for headings, text, tags */
@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700,800);

/*--------------------
1. General
--------------------*/

*, *::before, *::after {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
}
	
body {
	margin: 0px;
	font-family: "Open Sans", Sans-serif;
	overflow-x: hidden;
	max-width: 100vw;
}

/* 确保所有section不超出视口 */
section {
	max-width: 100vw;
	overflow-x: hidden;
}

/* 修复Bootstrap row的负margin导致的溢出 */
.row {
	margin-left: 0;
	margin-right: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 300;
	letter-spacing: 0.4px;
	font-family: "Open Sans", Sans-serif;
	color: #232323;
}

/* 新闻标题专用字体（中文优先） */
.news-title {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", Arial, sans-serif;
    font-weight: 700;
    letter-spacing: 0.2px;
    color: #232323;
}

p {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	font-weight: 300;
	line-height: 23px;
	letter-spacing: 0.2px;
	color: #797979;
}

.dark-bg p {
color: #B1B1B1;	
}

a:hover, a:focus, a:active, a.active {
	color: #fec503;
}
a, a:hover, a:focus, a:active, a.active {
	outline: 0;
}

::selection {
	text-shadow: none;
	background: #fed136;
}

@media (min-width: 768px) {
	section {
		padding: 150px 0;
	}
}

section {
	padding: 70px 0;
}

ul {
	padding-left: 0;
	padding-top: 10px;	
}

ul li {
    list-style: none;
    padding-bottom: 10px;
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 23px;
    letter-spacing: 0.2px;
    color: #000000;
}

section ul li:before {
	font-family: FontAwesome;
	font-weight: normal;
	font-style: normal;
	display: inline-block;
	text-decoration: inherit;
	content: "\f105";
	padding-right: 7px;
	color: #23AD21;
}

/*--------------------
1.1 Reset bootstrap
--------------------*/

.row-0-gutter {
    margin-left: 0;
    margin-right: 0;
}

.col-0-gutter {
	padding-left: 0;
	padding-right: 0;
}

/* 确保容器不超出视口 */
.container {
	max-width: 100%;
	padding-left: 15px;
	padding-right: 15px;
	box-sizing: border-box;
}

/*--------------------
2. Navigation
--------------------*/

.navbar-default {
	background-color: #222;
	border-color: transparent
}
.navbar-default .navbar-brand {
	color: #fff;
	font-family: "Montserrat",sans-serif;
	padding: 0px;
}
.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:active,.navbar-default .navbar-brand.active {
	color: #fec503
}
.navbar-default .navbar-collapse {
	border-color: rgba(255,255,255,.02)
}
.navbar-default .navbar-toggle {
	background-color: #fed136;
	border-color: #fed136
}
.navbar-default .navbar-toggle .icon-bar {
	background-color: #fff
}
.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus {
	background-color: #fed136
}
.navbar-default .nav li a {
	font-family: "Roboto",sans-serif;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
	color:#000;
}
.navbar-default .nav li a:hover,.navbar-default .nav li a:focus {
	color: #fed136;
	outline: 0
}

.navbar-default .navbar-nav>.active>a {
	border-radius: 0;
	color: #fff;
	background-color: #fed136
}
.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus {
	color: #fff;
	background-color: #fec503
}

@media (min-width:768px) {
	.navbar-default
	{
		background-color: rgba(255, 255, 255, 0.65);
		padding: 5px 0;
		-webkit-transition:padding .3s;
		-moz-transition:padding .3s;
		transition:padding .3s;
		border:0
	}
	.navbar-default .navbar-brand {
		font-size: 2em;
		-webkit-transition:all .3s;
		-moz-transition:all .3s;
		transition:all .3s
	}
	.navbar-default .navbar-nav>.active>a {
		border-radius: 3px
	}
	.navbar-default.navbar-shrink {
		background-color: #FFFFFF;
		border-bottom: 1px solid #828282;
		padding: 5px 0
	}
	.navbar-default.navbar-shrink .navbar-brand {
		font-size: 1.5em;
		margin-top: 10px;
	}
}
.copyrights{
	text-indent:-9999px;
	height:0;
	line-height:0;
	font-size:0;
	overflow:hidden;
}

/*--------------------
Language Switch
--------------------*/
.lang-switch {
	display: flex;
	align-items: center;
	margin-left: 15px;
}

.lang-switch a {
	color: #777;
	padding: 5px 8px;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
}

.lang-switch a:hover {
	color: #fec503;
}

.lang-switch a.active {
	color: #fec503;
	font-weight: 700;
}

.lang-switch span {
	color: #777;
	font-size: 14px;
}

/* Brand logo styles */
.brand-logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 5px 15px !important;
}

.logo-img {
	height: 40px;
	width: auto;
	margin-bottom: 8px;
	border-radius: 5px;
	background-color: #fff;
	padding: 3px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.brand-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.brand-cn {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #333;
	line-height: 1.2;
	text-align: center;
}

.brand-en {
	display: block;
	font-size: 16px;
	font-weight: 700;
	color: #333;
	line-height: 1.2;
	text-align: center;
}

.navbar-header .nav > li > a {
	padding: 10px 15px;
	text-align: center;
}

.navbar-header .nav > li > a:hover .brand-cn,
.navbar-header .nav > li > a:hover .brand-en {
	color: #fec503;
}

/*--------------------
3. Header
--------------------*/
.banner-container{
	width:100%;
	max-width: 100vw;
	height: 60vh;
	min-height: 400px;
	max-height: 800px;
	/* 轮播图居中 */
	margin:1rem auto;
	/* 隐藏超出展示容器的内容 */
	overflow: hidden;
	position: relative;
}

.banner-container .banner-img-container {
	width:500%;
	height:100%;
	overflow: hidden;
	position: absolute;
	/* 开启弹性盒，让图片横向排列 */
	display: flex;
	animation: run 10s ease infinite;
}

.banner-container .banner-img-container img{
	width:20%;
	height:100%;
	object-fit: cover;
	object-position: center center;
	flex-shrink: 0;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

/* 宽屏图片使用contain避免变形 */
.banner-container .banner-img-container img.banner-wide{
	object-fit: contain;
	background-color: #000;
}

/* 动画关键帧 */
@keyframes run {
	0%,10%{
		transform: translateX(0);
	}
	20%,30%{
		transform: translateX(-20%);
	}
	40%,50%{
		transform: translateX(-40%);
	}
	60%,70%{
		transform: translateX(-60%);
	}
	80%,90%{
		transform: translateX(-80%);
	}
	100%{
		transform: translateX(0);
	}
}
/* @keyframes run {
	0%,10%{

		transform: translateX(0);
	}
	20%,30%{

		transform: translateX(-1200px);
	}
	40%,50%{

		transform: translateX(-2400px);
	}
	60%,70%{

		transform: translateX(-3600px);
	}
	80%,90%{

		transform: translateX(-4800px);
	}
	100%{

		transform: translateX(0);
	}
} */

header {
	background-image: url(../images/demo/bg-light.jpeg);
	background-repeat: none;
	background-attachment: scroll;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	-o-background-size: cover;
	text-align: center;
	color: #fff;
}


header .intro-text {
	padding-top: 100px;
	padding-bottom: 50px;
}

@media (min-width: 768px) {
	header .intro-text {
		padding-top: 230px;
		padding-bottom: 400px;
    }
}

header .intro-text .intro-lead-in {
	display: inline-block;
	background-color: rgba(255, 255, 255, 0.65);
	margin-bottom: 25px;
	padding: 4px 20px;
	font-family: "Open Sans",sans-serif;
	font-size: 19px;
	color: #3E3E3E;
	font-weight: 300;
	line-height: 40px;
}

@media (min-width: 768px) {
	header .intro-text .intro-lead-in {
    font-size: 29px;
    line-height: 40px;
    margin-bottom: 45px;
	}
}

header .intro-text .intro-heading {
	text-transform: uppercase;
	font-weight: 900;
	font-size: 40px;
	line-height: 48px;
	margin-bottom: 25px;
	letter-spacing: -3px;
	word-spacing: 10px;
	color: #FFFFFF;
	text-shadow: 1px 1px 1px rgb(0, 0, 0);
}

@media (min-width: 768px) {
	header .intro-text .intro-heading {
		line-height: 95px;
		font-size: 77px;
		margin-bottom: 50px;
	}
}

/*--------------------
4. Sections
--------------------*/

.section-title h2 {
	font-size: 34px;
	text-transform: uppercase;
	color: #5D5D5D;
	font-weight: 800;
	letter-spacing: -0.6px;
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 15px;
}

.section-title h2:after {
	left: 50%;
	z-index: 1;
	width: 40px;
	height: 2px;
	content: " ";
	bottom: -5px;
	margin-left: -20px;
	text-align: center;
	position: absolute;
	background: #23AD21;
}

.dark-bg .section-title h2 {
	color: #fff;
}

.section-title p {
	font-size: 15px;
	font-weight: 300;
	line-height: 25px;
	margin: 20px 100px 60px 100px;
}

/*--------------------
4.1. About
--------------------*/

.mz-module-about h3 {
	font-weight: 500;
	font-size: 19px;
	text-transform: uppercase;
	color: #000000;
	letter-spacing: 2px;
	margin-bottom: 20px;
}

.dark-bg .mz-module-about h3 {
	color: #FFFFFF;
}

.mz-module-about p {
	font-size: 14px;
	font-weight: 300;
	line-height: 22px;
	color: #969696;
}

.ot-circle {
	height: 95px;
	width: 95px;
	text-align: center;
	line-height: 98px;
	color: #FFFFFF;
	/* border: 3px solid #000; */
	border-radius: 100px;
	background-color: #23AD21;
	margin: 0 2px 4px;
	font-size: 24px;
}

/*--------------------
4.2. Skills
--------------------*/

.section-text h3 {
	margin: 0 0 30px;
	font-weight: 800;
	color: #5D5D5D;
}

.section-text h4 {
    margin: 0 0 20px;
    font-weight: 700;
    font-size: 17px;
}

.dark-bg .section-text h3 {
	color: #dfdfdf;
}

.dark-bg .section-text h4 {
	color: #dfdfdf;
}

/*--------------------
4.3. Portfolio
--------------------*/

figure {
	position: relative;
	overflow: hidden;
	margin: 0 1px 1px 0;
	background: #726FB9;
	text-align: center;
	cursor: pointer;	
}

figcaption {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}

.ot-portfolio-item figure figcaption > a {
	z-index: 1000;
	text-indent: 200%;
	white-space: nowrap;
	font-size: 0;
	opacity: 0;
}
.ot-portfolio-item figure figcaption, .ot-portfolio-item figure figcaption > a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

figure.effect-bubba {
	background: #000;
	margin-bottom: 1px;
}

figure.effect-bubba img {
	/* opacity: 0.95; */
	-webkit-transition: opacity 0.35s;
	transition: opacity 0.35s;
}

figure.effect-bubba:hover img {
	opacity: 0.4;
}

figure.effect-bubba figcaption::before,
figure.effect-bubba figcaption::after {
	position: absolute;
	top: 15px;
	right: 20px;
	bottom: 15px;
	left: 20px;
	content: '';
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}

figure.effect-bubba figcaption::before {
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
}

figure.effect-bubba figcaption::after {
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	-webkit-transform: scale(1,0);
	transform: scale(1,0);
}

figure.effect-bubba h2 {
	opacity: 0;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	text-transform: uppercase;
	padding-top: 15%;
	-webkit-transition: -webkit-transform 0.35s;
	transition: transform 0.35s;
	-webkit-transform: translate3d(0,-20px,0);
	transform: translate3d(0,-20px,0);
}

figure.effect-bubba p {
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	padding: 10px 2em;
	line-height: 1.4;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: translate3d(0,20px,0);
	transform: translate3d(0,20px,0);
}

figure.effect-bubba:hover figcaption::before,
figure.effect-bubba:hover figcaption::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

figure.effect-bubba:hover h2,
figure.effect-bubba:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/*--------------------
4.4. Dark Short section (counters, quote, etc)
--------------------*/

.light-bg {
	background-color: #f8f8f8;
}

.dark-bg {
	background-color: #333231;	
	color: #fff;
}

.short-section {
	border-top: 1px solid #5D5D5F;
	border-bottom: 1px solid #5D5D5F;
	padding-top: 70px;
	padding-bottom: 70px;
}

.counter-item h2 {
	color: #fff;
	font-size: 60px;
	font-weight: 900;
}

.counter-item h6 {
	color: #FFF;
	font-size: 16px;
	font-weight: 700;
	margin: 10px 0 0 0;
	text-transform: uppercase;
}

/*--------------------
4.5. Partners Slider
--------------------*/

.owl-portfolio .owl-controls {
	position: absolute;
	left: 0;
	top: 38%;
	width: 100%;	
}

.owl-portfolio .owl-controls .owl-nav [class*=owl-] {
	padding: 8px 17px;
	background: rgba(0, 0, 0, 0.18);
	border-radius: 0;
	margin: 0;
	font-size: 20px;
	z-index:1000;
}

.owl-portfolio .owl-controls .owl-nav [class*=owl-]:hover {
    background: #000;
    color: #fff;
    text-decoration: none;
}

.owl-portfolio .owl-controls .owl-prev {
	float: left;
}

.owl-portfolio .owl-controls .owl-next {
	float: right;
}

.owl-portfolio-item {
	text-align: center;
	display: inline-block;
}

.partner-logo {
	height: 80px;
	text-align: center;
	display: inline-block;
}

.partner-logo img {
	height: 100%;
	width: auto !important;
}

.owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: #23AD21;
}

.owl-theme .owl-dots .owl-dot span {
    width: 30px;
    height: 5px;
    margin: 15px 7px 0 7px;
    background: #d6d6d6;
    display: block;
    -webkit-backface-visibility: visible;
    -webkit-transition: opacity 200ms ease;
    -moz-transition: opacity 200ms ease;
    -ms-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 0;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
    background: #23AD21;
}

/*--------------------
4.6. Team
--------------------*/

.team-item {
	text-align: center;
	background-color: #fff;
}

.team-item h3 {
	font-size: 16px;
	font-weight: 800;
	text-transform: uppercase;
	color: #2D2D2D;
}

.team-item .team-position {
	color: #989898;
	font-size: 12px;
	margin: 15px 0 10px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 2px;
}

.team-item p {
    font-size: 13px;
    font-weight: 400;
    color: #292929;
    padding: 5px 10px 20px 10px;
}

/*--------------------
4.7. Contacts
--------------------*/

section#contact form {
	margin-top: 15px;
}
section#contact.form-group {
margin-bottom: 25px;
}

section#contact .form-group input, section#contact .form-group textarea {
	padding: 15px;
	border: 1px solid #BBBBBB;
	border-radius: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
	box-shadow: inset 0 0px 0px rgba(0,0,0,.075);
	font-size: 13px;
}

.contact h3 {
	margin-bottom: 30px;
}

.contact p {
	font-size: 13px;
}

.contact .day {
	display: inline-block;
	width: 80px;
}

.contact i {
	margin-right: 5px;
}

/*--------------------
5. Footer
--------------------*/

footer {
	padding: 30px;
	background-color: #000;	
}

footer p {
	color: #B7B7B7;
	margin: 0;
	font-size: 10px;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: 1.6px;
}

footer p a {
	color: #fff;
}

footer p a span {
	color: #23AD21;
	font-size: 10px;
	letter-spacing: 1px;
	font-weight: 700;
}

/*--------------------
6. Modal
--------------------*/

.modal-content {
	border-radius: 0;	
}
.modal-header .close {
	font-size: 30px;	
}
.modal-title {	
	text-transform: uppercase;
	font-size: 23px;
}

.modal-body {
	padding: 0;
}

.modal-body p {
	margin: 30px 20px;
	color: #2D2D2D;		
}

.modal-works {
font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 500;
	color: #fff;
	margin: 25px 20px;
}

.modal-works span {
	background-color: #FED136;
	margin-right: 15px;
	padding: 5px 10px;
}

/*--------------------
7. Components
--------------------*/

.btn-xl:hover, .btn-xl:focus, .btn-xl:active, .btn-xl.active, .open .dropdown-toggle.btn-xl {
	color: #fff;
	background-color: #fec503;
	border-color: #f6bf01;
}

.btn:hover, .btn:focus, .btn:active, .btn.active, .open .dropdown-toggle.btn {
	color: #fff;
	background-color: #fec503;
	border-color: #f6bf01;
}

.btn {
	display: inline-block;
	padding: 8px 20px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
	background-color: #23AD21;
}

.btn-xl {
color: #fff;
    background-color: #23AD21;
    /* border-color: #726FB9; */
    font-family: "Open Sans",sans-serif;
    text-transform: uppercase;
    font-weight: 800;
    border-radius: 0;
    letter-spacing: 2px;
    font-size: 16px;
    padding: 17px 45px;
}

/* Back to top button
---------------------------------- */
#back-top {
	position: fixed;
	z-index: 1000;
	bottom: 40px;
	right: 50px;
}
#back-top a {
	width: 60px;
	height: 60px;
	display: block;
	text-align: center;
	font: 11px/100% Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	text-decoration: none;
	color: #FFFFFF;
	background: #A9A9B1;
	/* background color transition */
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top a:hover {
	background: #fed136;
}
/* arrow icon (span tag) */
#back-top i {
	margin-top: 15px;
	font-size: 28px;
}

@media only screen
and (min-width : 320px)
and (max-width : 480px) {
#back-top {
	position: fixed;
	bottom: 10px;
	right: 30px;
}
#back-top a {
	width: 40px;
	height: 40px;
}
#back-top i {
	margin-top: 7px;
	font-size: 20px;
}
}

/*--------------------
Mobile Responsive Styles
--------------------*/

/* 小屏幕设备 (手机, 767px 及以下) */
@media (max-width: 767px) {
	/* 导航栏移动端优化 */
	.navbar-default {
		background-color: rgba(255, 255, 255, 0.95);
		min-height: 60px;
	}
	
	/* 确保container宽度正确 */
	.navbar .container {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}
	
	/* 导航栏header */
	.navbar-header {
		width: 100%;
		min-height: 60px;
		position: relative;
	}
	
	/* Logo区域居中 */
	.navbar-header .nav.navbar-nav.navbar-left {
		width: 100%;
		text-align: center;
		float: none;
		margin: 0;
		padding-right: 50px; /* 为汉堡菜单留空间 */
	}
	
	.navbar-header .nav.navbar-nav.navbar-left > li {
		display: inline-block;
		float: none;
	}
	
	.brand-logo {
		display: inline-flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 10px !important;
	}
	
	.logo-img {
		height: 35px;
		margin-bottom: 0;
		margin-right: 10px;
	}
	
	.brand-text {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
	}
	
	.brand-cn {
		font-size: 14px;
		line-height: 1.2;
	}
	
	.brand-en {
		font-size: 11px;
		line-height: 1.2;
	}
	
	/* 汉堡菜单按钮 - 绝对定位在右侧 */
	.navbar-toggle {
		display: block !important;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		margin: 0;
		z-index: 1001;
		border: 1px solid #ddd;
		background-color: #fff;
		padding: 9px 10px;
	}
	
	.navbar-toggle .icon-bar {
		background-color: #888;
	}
	
	.navbar-toggle:hover,
	.navbar-toggle:focus {
		background-color: #f5f5f5;
	}
	
	/* 展开的导航菜单 - 移除所有!important让Bootstrap控制 */
	.navbar-collapse {
		background-color: #fff;
		border-top: 1px solid #eee;
		box-shadow: 0 3px 10px rgba(0,0,0,0.1);
		padding: 0;
		margin-left: -10px;
		margin-right: -10px;
	}
	
	.navbar-nav {
		margin: 0;
		padding: 0;
		float: none;
	}
	
	.navbar-nav > li {
		display: block;
		width: 100%;
		border-bottom: 1px solid #f0f0f0;
	}
	
	.navbar-nav > li:last-child {
		border-bottom: none;
	}
	
	.navbar-nav > li > a {
		padding: 15px 20px !important;
		font-size: 15px;
		display: block;
		color: #333 !important;
		text-align: left;
	}
	
	.navbar-nav > li > a:hover,
	.navbar-nav > li > a:focus {
		background-color: #f8f8f8 !important;
		color: #fec503 !important;
	}
	
	/* 语言切换 */
	.lang-switch {
		display: flex !important;
		justify-content: center;
		padding: 15px 20px;
		border-top: 1px solid #f0f0f0;
	}
	
	.lang-switch a {
		padding: 8px 15px;
	}
	
	/* Banner轮播图移动端优化 - 减少遮挡 */
	.banner-container {
		height: 45vh;
		min-height: 250px;
		max-height: 400px;
		margin: 0.5rem auto;
	}
	
	/* 图片显示完整，不裁剪 */
	.banner-container .banner-img-container img {
		object-fit: contain;
		object-position: center center;
		background-color: #f0f0f0;
	}
	
	/* Section内边距调整 */
	section {
		padding: 40px 0;
	}
	
	/* 标题样式移动端优化 */
	.section-title h2 {
		font-size: 24px;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}
	
	.section-title p {
		margin: 15px 15px 30px 15px;
		font-size: 14px;
		line-height: 22px;
	}
	
	/* 行业应用卡片移动端优化 */
	.col-md-4.col-0-gutter {
		padding: 5px !important;
	}
	
	.ot-portfolio-item {
		margin-bottom: 10px;
	}
	
	figure.effect-bubba h2 {
		font-size: 14px;
		padding-top: 20%;
	}
	
	figure.effect-bubba p {
		font-size: 11px;
		padding: 5px 1em;
		line-height: 1.3;
	}
	
	/* 联系我们区块移动端优化 */
	#contact .col-md-3 {
		margin-bottom: 25px;
		text-align: center;
	}
	
	#contact .col-md-3:last-child {
		margin-bottom: 0;
	}
	
	.section-text h4 {
		font-size: 16px;
		margin-bottom: 10px;
	}
	
	.section-text p {
		font-size: 14px;
	}
	
	/* 模态框移动端优化 */
	.modal-dialog {
		margin: 10px;
		width: auto;
	}
	
	.modal-body {
		padding: 15px;
	}
	
	.modal-body p {
		font-size: 14px;
	}
	
	/* 页脚移动端优化 */
	footer {
		padding: 20px 15px;
	}
	
	footer p {
		font-size: 10px;
		line-height: 1.6;
	}
	
	/* 返回顶部按钮移动端优化 */
	#back-top {
		right: 15px;
		bottom: 15px;
	}
	
	#back-top a {
		width: 45px;
		height: 45px;
	}
	
	#back-top i {
		margin-top: 10px;
		font-size: 22px;
	}
}

/* 超小屏幕设备 (小手机, 375px 及以下) */
@media (max-width: 375px) {
	.brand-cn {
		font-size: 12px;
	}
	
	.brand-en {
		font-size: 10px;
	}
	
	.logo-img {
		height: 30px;
	}
	
	.banner-container {
		height: 40vh;
		min-height: 220px;
		max-height: 300px;
	}
	
	/* 超小屏幕图片也用contain */
	.banner-container .banner-img-container img {
		object-fit: contain;
		background-color: #f0f0f0;
	}
	
	.section-title h2 {
		font-size: 20px;
	}
	
	.section-title p {
		margin: 10px 10px 25px 10px;
		font-size: 13px;
	}
	
	figure.effect-bubba h2 {
		font-size: 12px;
	}
	
	figure.effect-bubba p {
		font-size: 10px;
		padding: 3px 0.8em;
	}
}

/* 平板横向及小型桌面设备 (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
	.section-title p {
		margin: 20px 50px 40px 50px;
	}
	
	.banner-container {
		height: 50vh;
		min-height: 300px;
	}
	
	#contact .col-md-3 {
		margin-bottom: 20px;
	}
}
