html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
html {
	height: 100vh;
}
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);  
}
body {
	box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Source Sans Pro','蘋方', 'PingFang TC', '微軟正黑體','蘋果儷中黑';
	background-color: #223353;
}
a, img, a:active {
  border:none;
  outline:none;
  text-decoration: none;
}
button {
	padding: 0;
	border: none;
	background: none;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
}
button:focus {
	padding: 0;
	border: none;
	background: none;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0); 
}
@font-face {
    font-family: din;
    src: url(DINNextLTPro-Regular.otf);
}
@font-face {
    font-family: din_med;
    src: url(DINNextLTPro-Medium.otf);
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1; /*For IE 6&7 only*/
}



#about {
	position: absolute;
	top: -80px;
	width: 100%;
	height: 80px;
}
/*general*/

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; 
}
.clearfix:after {
  clear: both; 
}
/*index*/
.section01 {
	position: relative;
	margin: auto;
	width: 100%;
	max-width: 1320px;
	height: 100vh;
	
	/*
	background: url(../img/tjxe_temp_bg.png);
	background-size: cover;
	*/
}
.section02{
	margin: auto;
	padding: 65px 85px;
	width: 100%;
	max-width: 1320px;
	height: 754px;
	background: #292929;
}
.section03{
	margin: auto;
	padding: 95px 100px;
	width: 100%;
	max-width: 1320px;
	height: 680px;
	background-size: cover;
}
.whole_wrap {
	width: 100%;
	background: #292929;
}
.sec01 {
	position: relative;
	background: url(../img/dot_over.png);
}
.sec03 {
	position: relative;
	background: url(../img/sec03_bg.jpg)50% 50% no-repeat;
	background-size: cover;
}
.main_logo {
	position: absolute;
	top: 60px;
	left: 100px;
	width: 80px;
	height: 24px;
	background: url(../img/logo_text.svg);
	fill: #000;
}
.main_logo.header_logo {
	left: 0;
	top: 32px;
	width: 60px;
	height: 18px;
	background: url(../img/logo_text_m.svg);
}
.main_logo.header_logo a {
	position: absolute;
	width: 100%;
	height: 100%;
}
.main_text {
	position: absolute;
	top: 50%;
	margin-top: -180px;
	left: 100px;
	font-family: din_med;
	font-size: 100px;
	line-height: 94px;
	color: #fff;
}
.sub_title {
	position: absolute;
	width: 90%;
	top: 15px;
	left: 15px;
	font-family: din_med;
	font-size: 80px;
	color: #fff;
}
.sub_text {
	position: absolute;
	top: 105px;
	left: 18px;
	font-family: source sans pro;
	font-size: 34px;
	color: #949494;
}
.about_title {
	top: 0;
	left: 0;
}
.small_text {
	position: absolute;
	top: 135px;
	width: 330px;
	height: auto;
	font-family: source sans pro;
	font-size: 18px;
	font-weight: 300;
	color: #fff;
	line-height: 24px;
}
.deco_line {
	position: absolute;
	width: 2px;
	height: 32px;
	background-color: #fff;
}
.project_line {
	left: 20px;
	bottom: 5px;
}
.project_line_mobile {
	display: none;
}
.about_line {
	height: 90px;
	right: 0;
	top: 200px;
}
.main_social_set {
	z-index: 54;
	position: absolute;
	top: 60px;
	right: 100px;
	width: 42px;
	height: 250px;
}
.social_icon {
	margin-bottom: 10px;
	width: 42px;
	height: 42px;
}
.social_icon.top {
	margin-top: 0;
}
#fb_icon {
	fill: #fff;
}
#twitter_icon {
	fill: #fff;
}

#linkedin_icon {
	fill: #fff;
}
#yt_icon {
	fill: #fff;
}
.social_icon {
	position: relative;
	width: 42px;
	height: 42px;
	border-radius: 21px;
	background: rgba(255,255,255,0);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.social_icon:hover {
	background: rgba(255,255,255,.3);
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
.social_icon a {
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
}
.social_icon path {
	fill: #fff;
}
.social_icon:hover path {
	fill: #fff;
}
.social_icon.poly:hover polygon {
	fill: #fff;
}
.nav_sets {
	position: absolute;
	bottom: 50px;
	left: 70px;
	width: 830px;
	height: 150px;
}
.fade_box {
	float: left;
	width: 150px;
	height: 150px;
}
.fade_more {
	position: absolute;
	bottom: 0;
	right: 50px;
	float: right;
	width: 106px;
	height: 18px;
}
.nav_btn {
	float: left;
	margin-right: 15px;
	width: 150px;
	height: 150px;
	border-radius: 7px;
	background: rgba(18,18,18,0);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

.nav_btn:hover {
	background: rgba(18,18,18,.9);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.nav_btn:hover path, .nav_btn:hover polygon, .nav_btn:hover text {
	fill: #F27F3E
}
.nav_btn a {
	display: block;
	position: absolute;
	width: 150px;
	height: 150px;
}
.fullscreen-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -100;
  min-width: 100%;
  min-height: 100%;
  background: url(../img/tjxe_temp_bg.png)50% 50% no-repeat;
  background-size: cover;
  box-sizing: border-box;
}

.fullscreen-bg__video {
	display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.index_banner {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 282px;
	background: url(../img/project01_banner_large.png)50% 50% no-repeat;
	background-size: cover;
	border-radius: 14px;
	box-shadow: 0 10px 20px rgba(0,0,0,.4);
	margin-right: 15px;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.index_banner:hover {
	background-size: cover;
	box-shadow: 0 10px 30px rgba(0,0,0,.2);
	-webkit-transform: scale(1.06);
	-moz-transform: scale(1.06);
	-ms-transform: scale(1.06);
	transform: scale(1.06);
}
.index_banner a {
	position: absolute;
	width: 100%;
	height: 100%;
}

/* split */

.split {
	position: relative;
	width: 100%;
	height: 312px;
	margin: auto;
	padding: 15px 0;
}

.sub_split {
	float: left;
	width: 33.33%;
	height: 282px;
	padding: 0 15px;
}
.split_left {
	position: relative;
	float: left;
	width: 45%;
	height: 100%
}
.split_right {
	position: relative;
	float: left;
	width: 55%;
	height: 100%
}

.sub_banner {
	margin-right: 0px;
	width: 100%;
	height: 100%;
	background: url(../img/project02_banner.png)50% 50% no-repeat;
	background-size: cover;
}
.sub_banner:hover {
	background-size: cover;
}
.sub02 {
	background: url(../img/project03_banner.png)50% 50% no-repeat;
	background-size: cover;
}
.sub03 {
	background: url(../img/project04_banner.png)50% 50% no-repeat;
	background-size: cover;
}
.animate_wrap {
	width: 100%;
	float: right;
	display: inline-block;
	padding-right: 15px;
}
.see_more {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 106px;
	height: 23px;
	color: #fff;
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.see_more a {
	position: absolute;
	width: 106px;
	height: 18px;
}
.see_more:hover {
	right: -10px;
}
.option_split {
	width: 100%;
	height: 168px;
}
.options {
	float: right;
	margin-bottom: 40px;
	margin-left: 60px;
	width: 100px;
	height: 128px;
}
.footer_wrap {
	width: 100%;
	height: 90px;
}
.footer {
	position: relative;
	margin: auto;
	padding: 0 100px;
	width: 100%;
	max-width: 1320px;
	height: 90px;
}
.logo_s {
	position: relative;
	float: left;
	margin-top: 36px;
	width: 50px;
	height: 26px;
}
.logo_s a {
	position: absolute;
	display: inline-block;
	width: 100%;
	height: 100%
}
.footer_icon {
	position: relative;
	float: right;
	margin-top: 30px;
	margin-left: 10px;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	background: rgba(255,255,255,0);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.footer_icon.header_foot.projects_inicon{
	background: rgba(187,195,208,0);
}

.footer_icon.header_foot.projects_inicon:hover {
	background: rgba(187,195,208,.2);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
.header_foot {
	margin-top: 22px;
}
.footer_icon:hover {
	background: rgba(255,255,255,.4);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	transform: scale(1.1);
}
.footer_icon a{
	position: absolute;
	display: inline-block;
	width: 36px;
	height: 36px;
}
.copyright {
	position: absolute;
	top: 40px;
	left: 50%;
	margin-left: -35px;
	width: 70px;
	height: 15px;
	font-family: source sans pro;
	font-size: 12px;
	color: #fff;
	text-align: center;
}

/*main hover style*/




	.index_banner:hover .caption{
		opacity: 1;
		transform: translateY(-96px);
		-webkit-transform:translateY(-96px);
		-moz-transform:translateY(-96px);
		-ms-transform:translateY(-96px);
		-o-transform:translateY(-96px);
	}


	.index_banner .caption{
		cursor: pointer;
		position: absolute;
		opacity: 0;
		top:290px;
		width: 100%;
		-webkit-transition:all 0.25s ease-in-out;
		-moz-transition:all 0.25s ease-in-out;
		-o-transition:all 0.25s ease-in-out;
		-ms-transition:all 0.25s ease-in-out;
		transition:all 0.25s ease-in-out;
	}


	.caption .blur{
		background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,.9));
		height: 120px;
		width: 100%;
		z-index: 5;
		position: absolute;
	}

	.index_banner .caption-text h1{
		font-family: source sans pro;
		z-index: 10;
		color: #fff;
		position: absolute;
		width: 90%;
		height: auto;
		top:30px;
		left: 20px;
		font-size: 14px;
	}
	.index_banner .caption-text p{
		font-family: source sans pro;
		z-index: 10;
		color: #fff;
		position: absolute;
		width: 90%;
		height: auto;
		top:60px;
		left: 20px;
		font-size: 10px;
		opacity: .5
	}


	.content{
		margin-top: 100px;
		margin-left: 100px;
		width: 100%;
	}
	.content h1, .content h2{
		font-family: "Source Sans Pro",sans-serif;
		color: #ecf0f1;
		padding: 0px;
		margin: 0px;
		font-weight: normal;
	}

	.content h1{
		font-weight: 900;
		font-size: 64px;
	}

	.content h2{
		font-size:26px;
	}

	.content p{
		color: #ecf0f1;
		font-family: "Lato";
		line-height: 28px;
		font-size: 15px;
		padding-top: 50px;
	}



@media (min-aspect-ratio: 16/9) {
  .fullscreen-bg__video {
    height: 300%;
    top: -100%;
  }
}

@media (max-aspect-ratio: 16/9) {
  .fullscreen-bg__video {
    width: 300%;
    left: -100%;
  }
}



@media screen and (min-width: 1025px) and (max-width: 1080px){
	.options {
		float: right;
		margin-bottom: 40px;
		margin-left: 60px;
		width: 90px;
		height: 115px;
	}
}

@media screen and (min-width: 768px) and (max-width: 1024px){
	.main_logo {
		left: 60px;
	}
	.main_text {
		left: 60px;
		margin-top: -260px;
	}
	.small_text {
		width: 90%;
		height: auto;
	}
	.nav_sets {
		left: 30px;
		bottom: 70px;
		width: 480px;
		height: auto;
	}
	.main_social_set {
		right: 60px;
	}
	.section02{
		height: 694px;
		padding: 65px 45px;
	}
	.section03{
		padding: 95px 60px;
	}
	.split {
		height: 280px;
	}

	.sub_split {
		height: 250px;
	}
	.split_left {
		position: relative;
		float: left;
		width: 45%;
		height: 100%
	}
	.split_right {
		position: relative;
		float: left;
		width: 55%;
		height: 100%
	}
	.index_banner {
		height: 250px;
	}
	.options {
		width: 80px;
		height: 102px;
	}
	.option_split {
		width: 100%;
		height: 140px;
	}
	.footer {
		padding: 0 60px;
	}
	.index_banner:hover .caption{
		opacity: 1;
		transform: translateY(-100px);
		-webkit-transform:translateY(-100px);
		-moz-transform:translateY(-100px);
		-ms-transform:translateY(-100px);
		-o-transform:translateY(-100px);
	}
	.index_banner .caption{
		cursor: pointer;
		position: absolute;
		opacity: 0;
		top:260px;
		width: 100%;
		-webkit-transition:all 0.25s ease-in-out;
		-moz-transition:all 0.25s ease-in-out;
		-o-transition:all 0.25s ease-in-out;
		-ms-transition:all 0.25s ease-in-out;
		transition:all 0.25s ease-in-out;
	}

}






@media screen and (max-width: 767px) {
	.main_logo.header_logo {
		left: 0;
		top: 32px;
		width: 60px;
		height: 18px;
		background: url(../img/logo_text_m.svg);
	}
	.main_logo {
		top: 30px;
		left: 30px;
		width: 60px;
		height: 32px;
		background: url(../img/logo_text.svg);
		background-size: 60px 32px;
		fill: #000;
	}
	.main_logo.header_logo.inheader {
		left: 30px;
	}
	.main_text {
		top: 50%;
		margin-top: -210px;
		left: 30px;
		font-family: din_med;
		font-size: 70px;
		line-height: 75px;
		color: #fff;
	}
	.main_social_set {
		display: none;
		z-index: 51;
		position: absolute;
		top: 60px;
		right: 100px;
		width: 42px;
		height: 250px;
	}
	.main_social_set.socialheader {
		display: inline-block;
		z-index: 51;
		position: absolute;
		top: 130px;
    right: 20px;
		width: 42px;
		height: 250px;
		opacity: 0.4
	}
	.section02{
		display: inline-block;
		margin: auto;
		padding: 10px 15px;
		width: 100%;
		max-width: 1320px;
		height: auto;
		background: #292929;
	}

	.section03{
		display: inline-block;
		margin: auto;
		padding: 20px 30px;
		width: 100%;
		max-width: 1320px;
		height: auto;
		background-size: cover;
	}
	.fade_box {
		float: left;
		width: 100px;
		height: 100px;
	}
	.fade_more {
		position: absolute;
		bottom: 20px;
		right: 15px;
		float: right;
		width: 79px;
		height: 18px;
	}
	.see_more {
		position: absolute;
		bottom: 0;
		right: 0;
		width: 79px;
		height: 18px;
		color: #fff;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out;
	}
	.nav_sets {
		position: absolute;
		bottom: 80px;
		left: 0px;
		width: 320px;
		height: auto;
	}
	.nav_btn {
		float: left;
		margin-right: 12px;
		width: 100px;
		height: 100px;
		border-radius: 7px;
		background: rgba(255,255,255,0);
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		transition: all 0.3s;
	}
	.nav_btn a {
		display: block;
		position: absolute;
		width: 100px;
		height: 100px;
	}
	g text {
		margin-top: 20px;
	}
	.fullscreen-bg__video {
		display: none;
	}
	.split {
		display: inline-block;
		width: 100%;
		height: auto;
		margin: auto;
		padding: 8px 0;
	}
	.split_down {
		height: 
	}
	.split_left {
		position: relative;
		width: 100%;
		height: 170px
	}
	.split_right {
		position: relative;
		width: 100%;
		height: 200px;
	}
	.sub_split {
		width: 100%;
		height: 200px;
		padding: 0 15px;
		margin-bottom: 20px;
	}
	.ssec03 {
		height: auto;
	}
	.sub_title {
		width: 90%;
		top: 15px;
		left: 15px;
		font-size: 48px;
	}
	.about_title {
		position: relative;
		margin-top: 20px;
		top: 0;
		left: 0;
	}
	.sub_text {
		top: 70px;
		left: 18px;
		font-size: 24px;
		color: #949494;
	}
	.deco_line {
		position: absolute;
		width: 2px;
		height: 20px;
		background-color: #fff;
	}
	.about_line {
		position: relative;
    margin: 40px auto 40px auto;
    top: 0;
		width: 65px;
		height: 2px;
	}
	.project_line {
		display: none;
	}
	.project_line_mobile {
		display: inline-block;
		right: 15px;
		top: 25px;
	}
	.animate_wrap {
		width: 100%;
		float: right;
		display: inline-block;
		padding-right: 15px;
		padding-left: 15px;
	}
	.index_banner {
		overflow: hidden;
		height: 200px;
		border-radius: 6px;
		box-shadow: 0 5px 20px rgba(0,0,0,.4);
		margin-right: 15px;
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		transition: all 0.3s;
	}
	.small_text {
		position: relative;
		margin-top: 20px;
		top: 0;
		width: 100%;
		height: auto;
		font-size: 15px;
		font-weight: 300;
		color: #fff;
		line-height: 19px;
	}
	.option_split {
		display: block;
		margin: auto;
		width: 282px;
		height: auto;
	}
	.options {
		float: right;
		margin-bottom: 40px;
		margin-left: 12px;
		margin-right: 12px;
		width: 70px;
		height: 95px;
	}
	.footer {
		position: relative;
		margin: auto;
		padding: 0 30px;
		width: 100%;
		max-width: 1320px;
		height: 90px;
	}
	.header_foot {
		display: none;
		margin-top: 22px;
	}
	.sideicon_set {
		position: absolute;
		right: 24px;
    bottom: 150px;
		width: 36px;
		height: 108px
	}
	.footer_icon.side_footer {
		position: relative;
		float: right;
		margin-top: 10px;
		margin-left: 0px;
		width: 36px;
		height: 36px;
		border-radius: 18px;
		background: rgba(255,255,255,0);
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
		-webkit-transition: all 0.3s;
		-moz-transition: all 0.3s;
		transition: all 0.3s;
	}
	.lang {
		position: relative;
		float: right;
		margin-top: 10px;
		margin-left: 0px;
		width: 36px;
		height: 36px;
		font-family: source san pro;
		background: url(../img/language_en.svg)50% 50% no-repeat;
	}
	.index_banner .caption{
		cursor: pointer;
		position: absolute;
		opacity: 1;
		top:115px;
		width: 100%;
		-webkit-transition:all 0.25s ease-in-out;
		-moz-transition:all 0.25s ease-in-out;
		-o-transition:all 0.25s ease-in-out;
		-ms-transition:all 0.25s ease-in-out;
		transition:all 0.25s ease-in-out;
	}
}

@media screen and (max-width: 374px) {
	.main_text {
		top: 50%;
		margin-top: -170px;
		left: 30px;
		font-family: din_med;
		font-size: 50px;
		line-height: 56px;
		color: #fff;
	}
	.nav_sets {
		position: absolute;
		bottom: 60px;
		left: 0px;
		width: 320px;
		height: auto;
	}
	.fade_box {
		float: left;
		width: 90px;
		height: 100px;
	}
	.option_split {
		display: block;
		margin: auto;
		width: 258px;
		height: auto;
	}
	.options {
		float: right;
		margin-bottom: 40px;
		margin-left: 8px;
		margin-right: 8px;
		width: 70px;
		height: 95px;
	}
	.main_social_set.socialheader {
		display: inline-block;
		z-index: 51;
		position: absolute;
		top: 100px;
    right: 20px;
		width: 84px;
		height: 160px;
		opacity: 0.4
	}
	.sideicon_set {
    bottom: 90px;
	}
	.social_icon {
		float: right;
		width: 42px;
		height: 42px;
	}


}

