/*************************************************
 *** Yleiset maarittelyt *************************
 *************************************************/

body {
	margin: 0;
	padding: 0;
	background: #ffffff url(../img/content-bg.png) left bottom repeat-x;
}
body, td, input, textarea, select {
	font-family: trebuchet ms, sans-serif;
	font-size: 12pt;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 10px 0;
}
h2 {
	font-size: 20pt;
}
h3 {
	color: #045371;
	font-size: 14pt;
}
h4 {
	margin: 0 0 20px 0;
	font-size: 13pt;
}
a {
	color: #007700;
}
a:hover {
	color: #00aa00;
}
img.image {
	padding: 4px;
	border: 1px solid #cccccc;
	background: #ffffff;
}
div.ingress {
	float: left;
	border: 1px solid #cccccc;
	background: #ffffc8;
	padding: 20px;
	margin: 0 0 20px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	font-size: 12pt;
	font-family: georgia, serif;
}
div.ingress h3 {
	text-indent: 40px;
	text-align: justify;
	font-size: 14pt;
	font-weight: normal;
	font-family: georgia, serif;
	line-height: 150%;
	color: #333333;
	margin: 0 0 20px 0;
}
div.ingress p {
	margin: 0 0 20px 0;
}
div.ingress img {
	margin: 0 0 0 20px;
}
div.ingress a {
	font-size: 10pt;
	font-weight: bold;
	font-family: trebuchet ms, sans-serif;
}
div.ingress ul {
	color: #007700;
}
p {
	line-height: 200%;
	margin: 0 0 10px 0;
}
div#header-wrapper {
	background: #fffde8;
	border-bottom: 4px solid #ebe9ce;
	overflow: hidden;
	background: #fef9be url(../img/header-bg.png) repeat-x;
	padding: 20px 0;
}
div#banner {
	background: url(../img/header-1.png) right top no-repeat;
	width: 641px;
	height: 150px;
	position: absolute;
	top: 0;
	right: 0;
}
div#header {
	width: 95%;
	margin: 0 auto;
	overflow: hidden;
	font-size: 10pt;
	color: #666666;
}
div#header a {
	color: #666666;
}
div#header h1 {
	margin: 0;
	padding: 0;
	line-height: 0;
}
div#header img {
	border: 0;
}
div#content-wrapper {
	border-top: 1px solid #cccccc;
	border-bottom: 1px solid #f5f5f5;
}
div#content {
	overflow: hidden;
	width: 95%;
	margin: 0 auto;
	padding: 40px 0;
}
div#left {
	width: 25%;
	float: left;
}
div#right {
	width: 75%;
	float: right;
}
div#right>div.inner {
	margin: 0 0 0 40px;
}
div#footer {
	text-align: center;
	color: #cccccc;
	font-size: 8pt;
	border-top: 2px solid #dddddd;
	background: #ffffff;
	color: #333333;
	padding: 20px 0;
}
div#footer a {
	color: #cccccc;
	color: #333333;
}

/*************************************************
 *** Navi ****************************************
 *************************************************/
 
ul#navi {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul#navi a {
	background: #f5f5f5;
	display: block;
	padding: 5px 10px 5px 30px;
	text-decoration: none;
	color: #000000;
	text-transform: uppercase;
	border-left: 4px solid #eeeeee;
	color: #659765;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #dddddd;
	font-size: 9pt;
	background: #f5f5f5 url(../img/navi-bullet.png) 8px 7px no-repeat;
}
ul#navi a:hover {
	color: #1f6e1f;
	text-decoration: underline;
}
ul#navi li.selected  a {
	font-weight: bold;
	border-left: 4px solid #007700;
	color: #007700;
	background: #eaeaea url(../img/navi-bullet-selected.png) 8px 7px no-repeat;
}
ul#navi ul#subnavi {
	list-style: none;
	margin: 2px 0 2px 20px;
	padding: 0;
}
ul#navi ul#subnavi span.bullet {
	padding: 0 3px 0 0;
}
ul#navi ul#subnavi a {
	background: #f9f9f9;
	display: block;
	padding: 5px 10px;
	text-decoration: none;
	color: #333333;
	text-transform: none !important;
	border-left: 4px solid #dddddd !important;
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #e0e0e0;
	font-size: 9pt;
	font-weight: normal !important;
}
ul#navi ul#subnavi li.selected  a {
	font-weight: bold !important;
	border-left: 4px solid #0076a3 !important;
	color: #0072bc;
}
ul#navi ul#subnavi a:hover span.item {
	text-decoration: underline;
}

/*************************************************
 *** Sekalaiset **********************************
 *************************************************/

div.section {
	border-right: 1px dotted #cccccc;
	float: left;
	margin: 0 20px 0 0;
	padding: 0 20px 0 0;
	position: relative;
	top: 25px;
}
div.noborder {
	border: 0;
	position: static;
}

div.column-wrapper {
	overflow: hidden;
	clear: both;
}
div.column-wrapper div.column {
	float: left;
	width: 33%;
}
div.column-wrapper div.column div.inner {
	margin: 0 40px 0 0;
	padding: 0 40px 0 0;
}

div.listing {
	padding: 4px;
	border: 1px solid #cccccc;
	
}
table.listing {
	border-collapse: collapse;
	width: 100%;
	margin: 0 0 10px 0;
}
table.listing td,
table.listing th {
	padding: 2px 10px;
}
table.listing tr.c th,
table.listing tr.c td {
	text-align: left;
	background: #448cca;
	color: #ffffff;
	font-weight: bold;
	border-bottom: 2px solid #163a5a;
}
table.listing tr.a td {
	background: #ffffff;
}
table.listing tr.b td {
	background: #e8e8ff;
}

.small,
table.small td, table.small th,
div.small td, div.small th {
	font-size: 10pt;
}

table.open {
	border-collapse: collapse;
}
table.open td {
	padding: 0 20px 0 0;
	font-size: 10pt;
	vertical-align: top;
}

th.right,
td.right {
	text-align: right !important;
}

div.nomargin {
	margin: 0 !important;
}
div.nopadding {
	padding: 0 !important;
}
div.nobox {
	margin: 0;
	padding: 0;
	border: 0;
}

ul.list {
	list-style: square;
	padding: 0 0 0 25px;
	line-height: 150%;
}
ul.list li {
	padding: 0 0 0 3px;
}

ul.actions {
	list-style: square;
	padding: 0 0 0 15px;
	font-size: 9pt;
	color: #00adef;
}
ul.actions a {
	color: #04445e;
}
ul.actions li {
	padding: 0 0 0 3px;
}

table.info {
	border-collapse: collapse;
	border-top: 1px dotted #aaaaaa;
	margin: 20px 40px 20px 0;
}
table.info td {
	vertical-align: top;
	border-bottom: 1px dotted #aaaaaa;
	padding: 5px 0;
}
table.info td.a {
	font-weight: bold;
	padding-right: 20px;
	text-align: right;
}
table.info td.b {
}

table.noline {
	border-collapse: collapse;
}
table.noline th {
	padding: 0 20px 5px 0;
	border: 0;
}
table.noline td {
	padding: 0 0 5px 0;
	border: 0;
}

table.form {
	border-collapse: collapse;
}
table.form td {
	padding: 0 5px 10px 0;
	vertical-align: top;
}
table.form td.a {
	font-weight: bold;
	padding-right: 10px;
	text-align: right;
}
table.form td.b {
	font-weight: bold;
	color: #ff0000;
	padding-right: 10px;
}
table.form td.c {
}
table.form span.help {
	font-size: 8pt;
	color: #888888;
	display: block;
	margin: 5px 0 0 0;
}
ul.errors {
	color: #ff0000;
	margin: 0 0 30px 0;
	padding: 10px 0 10px 25px;
	list-style: circle;
	border: 1px dotted #ff0000;
	border-left: 0;
	border-right: 0;
	line-height: 150%;
	font-weight: bold;
}
ul.errors li {
	padding: 0 0 0 3px;
}

.left {
	float: left;
}
.right {
	float: right;
}

.mt10   { margin-top: 10px; }
.mt20   { margin-top: 20px; }
.mb10   { margin-bottom: 10px; }
.mb20   { margin-bottom: 20px; }
.ml10   { margin-left: 10px; }
.ml20   { margin-left: 20px; }
.mr10   { margin-right: 10px; }
.mr20   { margin-right: 20px; }
.mrb20 { margin: 0 20px 20px 0; }

table.calendar {
	border-collapse: collapse;
	border: 1px solid #cccccc;
	width: 100%;
}
table.calendar td,
table.calendar th {
	padding: 5px 10px;
	width: 14%;
}
table.calendar tr.c td,
table.calendar tr.c th {
	font-size: 12pt;
	background: #ffffc8;
}
table.calendar tr.c td a,
table.calendar tr.c th a {
	color: #000000;
	text-decoration: none;
	padding: 0 10px;
}
table.calendar tr.b td {
	text-align: center;
	background: #448cca;
	color: #ffffff;
	font-weight: bold;
	border-bottom: 2px solid #163a5a;
	font-size: 10pt;
}
table.calendar tr.a td {
	background: #ffffff;
	text-align: right;
	border-right: 1px dotted #aaaaaa;
	border-bottom: 1px dotted #aaaaaa;
	font-size: 13pt;
}
td.weekend {
	background: #eeeeee !important;
	color: #888888;
}
td.entry {
	border: 1px solid #aaaaff !important;
	background: #d8d8ff !important;
	color: #3333aa;
}
td.entry a {
	color: #3333aa;
	text-decoration: underline;
}
td.entry span {
	font-size: 8pt;
	display: block;
	font-weight: bold;
}
td.today {
	font-weight: bold;
	background: #ccffcc !important;
	color: #000000;
}
td.passive {
	background: #bbbbbb !important;
	border: 1px solid #bbbbbb !important;
}

