/* ----------------------------------------------
	shared layout, element, ornaments under root
	
	-basic element
	-basic layout
	-shared ornaments
------------------------------------------------- */

/* ==============================================
	basic element
================================================= */

a:link{ color: #00409a; text-decoration: none;}
a:visited{ color: #2c7f71;  text-decoration: none;}
a:hover{ color: red; text-decoration: underline;}
a img{ border: none;}

h1,h2,h3,h4,p{
	margin: 0.7em 0;
}
li{
	background-position: 0 0.38em;
	background-repeat: no-repeat;
}
li li{
	font-size: 100%;
}

/* ==============================================
	basic layout
================================================= */

/* body */
body{
	font: 100%/1.3 sans-serif;
	color: #333;
	background: url(../images/body_bg.jpg);
	width: 863px;
	margin: 0 auto;
}

	/* ie6 ------------- */
	* html body{ text-align: center;}
	* html .ieContainer{ width: 863px;}
	/* ----------------- */

/* #head */
#head{
	background: url(../images/head_bg.jpg) no-repeat center bottom;
	padding: 10px 20px 20px;
}
#head:after{
	content: "";
	display: block;
	font-size: 0;
	line-height: 0;
	clear: both;
}
#head div{
	text-align: right;
	font-size: 80%;
	width: 20%;
	float: right;
}
#breadCrum{
	font-size: 80%;
	width: 77%;
	float: left;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#breadCrum li{
	line-height: 1;
	background: url(../images/bread_arrow.png) no-repeat 0 0.4em;
	float: left;
	padding: 0.3em 10px 0;
}
#breadCrum .bc{
	background: red;
	width: 22px;
	height: 17px;
	overflow: hidden;
	padding: 0 5px 0 0;
}
#breadCrum .bc a{
	display: block;
	padding-top: 18px;
}
#breadCrum .h{
	background: url(../images/bread_home.png) no-repeat;
}
#breadCrum .s{
	background: url(../images/bread_sitemap.png) no-repeat 0 1px;
	padding-right: 10px;
}

	/* ie67 ------------- */
	* html #head{ text-align: left; height: 1%;}
	* html #breadCrum .bc{ margin-right: 5px;}
	* html #breadCrum .s{ margin-right: 10px;}
	*:first-child+html #head{ height: 1%;}
	/* ------------------ */

/* #main */
#main{
	background: url(../images/main_bg_middle.jpg) repeat-y center center;
}
#main .top{
	background: url(../images/main_bg_top.jpg) no-repeat center top;
	padding: 20px 34px 0;
}
#main .bottom{
	background: url(../images/main_bg_bottom.jpg) no-repeat center bottom;
	clear: both;
	padding: 15px 34px 15px;
}

	/* ie6 ------------- */
	* html #main{ text-align: left; height: 1%;}
	/* ----------------- */

/* #foot */
#foot{
	text-align: right;
	font-family: serif;
	background: url(../images/foot_bg_top.jpg) no-repeat center top;
	padding: 20px 0 0;
}
#foot:after{
	content: "";
	display: block;
	font-size: 0;
	line-height: 0;
	clear: both;
}
#foot h2{
	font-size: 100%;
	margin: 0.5em 0;
	padding: 0 30px;
}
#foot div{
	line-height: 1.3;
	font-size: 90%;
	padding: 0 30px;
}
#foot div.bottom{
	background: url(../images/foot_bg_bottom.jpg) no-repeat center bottom;
	padding-bottom: 25px;
}
	/* ie67 ------------- */
	* html #foot{ height: 1%; padding: 20px 0 0;}
	*:first-child+html #foot{ padding: 20px 0 0; height: 1%; zoom: 1;}
	/* ------------------ */

/* ==============================================
	ornaments
	- image set	
	- image
	- table
	- text color,weight,align
	- box float
================================================= */

/* imageSet of (p.title + img)+ */
div.imageSet{}
div.imageSet p.title{
	font-weight: bold;
	text-align: center;
	margin-bottom: 0;
}
div.imageSet .h{
	/* horizonal layout */
	display: inline-block;
	vertical-align: top;
}
	/* ie67 ------------ */
	* html div.imageSet .h{ display: inline;}
	*:first-child+html div.imageSet .h{ display: inline;}
	/* ----------------- */

/* image */
img.bd,
div.bd img{
	border: solid 1px #aaa;
}
.bdSet{
	display: table-cell;
	border: solid 1px #aaa;
}
.bdSet img{
	vertical-align: bottom;
}

/* table width */
table.w100{
	width: 99%;
}
table.w90{
	width: 95%;
	margin-left:auto;
	margin-right: auto;
}

/* table with simple borders */
table.bd{
	border-width: 1px 0 0 1px;
	border-color: #aaa;
	border-style: solid;
	border-collapse: collapse;
}
table.bd th,
table.bd td{
	border-width: 0 1px 1px 0;
	border-color: #aaa;
	border-style: solid;
	padding: 3px;
}

/* table with cross-hair borders */
table.crossHair{}
table.crossHair th,
table.crossHair td{
	padding: 5px;
}
table.crossHair tr + tr th,
table.crossHair tr + tr td{
	border-top: dotted 1px #aaa;
}
table.crossHair th + th{
	border-left: dotted 1px #aaa;
}
table.crossHair th + td{
	border-left: dotted 1px #aaa;
}
table.crossHair td + td{
	border-left: dotted 1px #aaa;
}
table.crossHair .end th,
table.crossHair .end td{
	border-bottom: none;
}
	/* ie67 ------------ */
	* html table.crossHair{ border: solid 1px #aaa; border-collapse: collapse;}
	* html table.crossHair th,
	* html table.crossHair td{ border: solid 1px #aaa;}
	/* ----------------- */

/* table calc style borders */
table.calc{
	border-collapse: collapse;
	border-top: dotted 1px #aaa;
}
table.calc th{
	text-align: left;
	border-bottom: dotted 1px #aaa;
	padding-left: 1em !important;
}
table.calc td{
	text-align: right;
	border-bottom: dotted 1px #aaa;
	padding-right: 1em !important;
}
table.calc tr.sum th{
	text-align: center;
}
table.calc tr.sum td,
table.calc tr.sum th{
	font-weight: bold;
	color: red;
	border-top: double 3px #aaa;
	border-bottom: none;
}

/* table with definition style */
table.def th{
	text-align: right;
	padding: 1px 0 !important;
}
table.def td{
	padding: 1px 0 !important;
}

/* table with th normal weight */
table.normal th{
	font-weight: normal;
}

/* text */
.red{ color: red}
.blue{ color: blue}

.bold{ font-weight: bold}
.underline{ text-decoration: underline}
.italic{ font-style: italic;}
.smaller{ font-size: smaller;}

.left{ text-align: left;}
.center{ text-align: center;}
.right{ text-align: right;}
.vtop{ vertical-align: top;}
.vtop td,
.vtop th{ vertical-align: top;}
.vtop .h{ vertical-align: top;}
.vmiddle{ vertical-align: middle !important;}

/* background */
.bgRed{ background-color: #fcc;}
.bgGreen{ background-color: #cfc;}

/* box float */
.floatLeft{
	float: left;
	margin-bottom: 10px;
	margin-right: 10px;
}
.floatRight{
	float: right;
	margin-bottom: 10px;
	margin-left: 10px;
}
.clear{
	clear: both;
}