/*animation*/
@keyframes loopScale {
	0% { transform: scale(1,1) }
	60% { transform: scale(1,1) }
	80% { transform: scale(1.5,1.5) }
	100% { transform: scale(1,1) }
}
.loopScale {
	animation-name: loopScale;
	animation-duration: 3s;
	animation-iteration-count: infinite;
}
/*body*/
/*::-webkit-scrollbar {
    display: none;
}*/
body {
	background: url("image/main/bg.png");
	background-position: center;
	background-attachment: fixed;
	font-family: Arial, Helvetica, sans-serif;
	padding-top: 80px;
	transition: all 1s;
}
@media(min-width: 768px) {
	body {
		padding-top: 100px;
	}
}
/*layerLoading, layerZoom*/
.layerLoading {
	background: rgb(40,40,40);
	transition: opacity 1s;
}
.iconLoading {
	width: 60px;
	animation-name: clockwise360;
	animation-duration: 3s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
/*header*/
header {
	background: white;
	position: fixed;
	top: 0;
	left: 0;
	font-size: 0;
	padding: 10px 5%;
	width: 100%;
	box-shadow: 0 0 5px rgb(80,80,80);
	overflow: hidden;
	z-index: 10;
}
@media(min-width: 414px) {
	header {
		padding: 10px 4%;
	}
}
@media(min-width: 768px) {
	header {
		padding: 10px 3%;
	}
}
/*brand*/
.brand {
	float: left;
	margin-bottom: 10px;
}
.logo {
	display: inline-block;
	height: 50px;
}
.coDescribe {
	color: rgb(80,80,80);
	display: inline-block;
	margin-left: 10px;
	vertical-align: bottom;
}
.company {
	font-size: 18px;
	font-weight: 700;
	text-align: left;
	line-height: 19px;
}
.slogan {
	font-size: 10px;
	font-weight: 700;
	text-align: left;
	line-height: 11px;
}
@media(min-width: 768px) {
	.brand {
		margin-bottom: 20px;
	}
	.logo {
		height: 60px;
	}
	.company {
		margin-bottom: 3px;
		font-size: 19px;
		line-height: 20px;
	}
	.slogan {
		font-size: 11px;
		line-height: 12px;
	}
}
/*nav*/
nav {
	display: none;
	float: right;
	margin-top: 32px;
}
nav a {
	color: rgb(80,80,80);
	display: inline-block;
	font-weight: 400;
	line-height: 16px;
	margin-left: 20px;
	cursor: pointer;
}
nav a[data-lang="english"] {
	font-size: 19px;
}
nav a[data-lang="thai"] {
	font-size: 20px;
}
.btnOpenSideMenu {
	float: right;
	height: 30px;
	margin-top: 15px;
	transition: transform 0.5s;
	cursor: pointer;
}
.btnOpenSideMenu:active {
	transform: scale(1.5);
}
@media(min-width: 768px) {
	nav {
		display: block;
	}
	.btnOpenSideMenu {
		display: none;
	}
}
/*sideMenu*/
.sideMenu {
	background: rgba(0,0,10,0.8);
	position: fixed;
	top: 0;
	right: 0;
	transform: translateX(100%);
	transition: all 0.5s;
	width: 300px;
	height: 300%;
	z-index: 20;
	opacity: 0;
}
.boxBtnCloseSideMenu {
	text-align: right;
	margin: 22px 0 50px;
}
.btnCloseSideMenu {
	width: 32px;
	margin-right: 18px;
	transition: transform 0.5s;
	cursor: pointer;
}
.btnCloseSideMenu:active {
	transform: scale(1.5);
}
.sideMenu a {
	color: white;
	display: block;
	width: 100%;
	line-height: 60px;
	padding-left: 20px;
	border-top: 1px solid rgb(200,200,200);
	border-bottom: 1px solid rgb(200,200,200);
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	cursor: pointer;
}
/*banner*/
.banner {
	padding: 12px;
	transition: all 1s;
}
@media(min-width: 800px) {
	.banner {
		padding: 40px 0;
	}
}
.banner video, .banner img {
	display: block;
	width: 100%;
	max-width: 720px;
	border: 3px solid rgb(80,160,200);
	margin: 0 auto;
}
/*content font*/
.topic1,.topic2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 40px;
}
.topic3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 30px;
}
.article {
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}
.list {
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}
@media(min-width: 480px) {
	.topic1 {
		font-size: 36px;
		line-height: 60px;
	}
	.topic2 {
		font-size: 24px;
	}
	.article {
		font-size: 18px;
		line-height: 30px;
	}
	.list {
		line-height: 30px;
	}
}
@media(min-width: 960px) {
	.article,.topic3 {
		font-size: 19px;
	}
}
/*content layout*/
.flexParent {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	font-size: 0;
	text-align: center;
}
.flexChild {
	display: inline-block; /*in case flex can not use*/
	vertical-align: top; /*in case flex can not use*/
}
/*footer*/
footer {
	background: rgba(0,0,0,0.8);
	color: white;
	font-size: 14px;
	padding: 40px 5% 20px;
}
.contact h4 {
	font-weight: 700;
	text-align: left;
	line-height: 20px;
	margin-bottom: 5px;
}
.contact p, .contact a {
	display: block;
	font-weight: 400;
	line-height: 20px;
	margin-bottom: 30px;
}
@media(min-width: 414px) {
	footer {
		padding: 40px 4% 20px;
	}
}
@media(min-width: 768px) {
	footer {
		padding: 40px 3% 20px;
	}
}
/*print*/
@media print {
	@page {
		size: portrait;
		margin: 1cm;
	}
	header {
		border-bottom: 1px solid black;
		text-align: center;
	}
	.brand {
		display: inline-block;
		float: none;
	}
	.btnOpenSideMenu {
		display: none;
	}
	footer {
		border-bottom: 1px solid black;
	}
}