/*****Reset*****/

html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote, pre, form, fieldset, table, th, td { margin: 0; padding: 0; }

/*****Basic Elements*****/

body {
	color: #373737;
	font: 12px Arial, Helvetica, sans-serif;
	padding-bottom: 20px;
}

a {
	color: #CE5300;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

h1 {
	font-size: 30px;
	font-weight: normal;
	margin-bottom: 5px;
}

body.subpage3col h1, body.subpage2col h1 {
	margin-bottom: 20px;
}

h2 {
	font-size: 15px;
	margin-bottom: 3px;
}

div#home-events h2, div#home-jobs h2 {
	font-size: 20px;
	font-weight: normal;
}

h2.person-name {
	font-size: 16px;
}

h3.person-title {
	font-style: italic;
	font-size: 13px;
	margin-bottom: 10px;
	text-transform: none;
}

h3 {
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 2px;
	text-transform: uppercase;
}

h3 a {
	color: #373737;
}

div#home-events h3 {
	text-transform: none;
}

p { 
	line-height: 20px;
	margin-bottom: 8px;
}

body.subpage3col p, body.subpage2col p {
	margin-bottom: 20px;
}

/*****Basic Layout*****/

div#wrap {
	margin: 0 auto;
	width: 960px;
}

div#wrap-main {
	padding: 0 10px;
}

div#main {
	clear: left;
}

div#content-wrap {
	background: url(img/ui/bg_contentwrap.gif) 670px 0 repeat-y;
	float: left;
	padding: 0 10px;
}

body.subpage2col div#content-wrap {
	background: none;
}

body.subpage3col div#main {
	border-top: 1px #D5D5D5 solid;
	clear: none;
	float: left;
	min-height: 500px;
	padding: 14px 20px 50px 0;
	width: 401px;
}

body.subpage2col div#main {
	border-top: 1px #D5D5D5 solid;
	clear: none;
	float: left;
	min-height: 500px;
	padding: 14px 20px 50px 0;
	width: 680px;
}

div#menu {
	border-top: 1px #D5D5D5 solid;
	float: left;
	padding: 14px 0 20px 0;
	width: 240px;
}

body.subpage3col div#secondary {
	border-top: 1px #D5D5D5 solid;
	float: left;
	padding: 0 0 20px 0;
	width: 279px;
}

/*****Header*****/

div#header {
	height: 57px;
	padding: 28px 0 0 0;
	position: relative;
}

div#header h1 {
	position: absolute;
	margin: 0;
	right: 10px;
	top: 26px;
}

div#header h1 a {
	background: url(img/ui/bg_sysart.gif) no-repeat;
	display: block;
	height: 38px;
	overflow: hidden;
	text-indent: -9999px;
	width: 100px;
}

/*****Main Menu*****/

ul#mainmenu {
	float: left;
	font-size: 18px;
	list-style: none;
}

ul#mainmenu li {
	float: left;
}

ul#mainmenu li a {
	color: #373737;
	display: block;
	height: 32px;
	margin-right: 2px;
}

ul#mainmenu li span {
	display: block;
	height: 23px;
	padding: 5px 10px 4px 10px;
}

ul#mainmenu li a:hover, ul#mainmenu li.selected a {
	background: url(img/ui/bg_mainmenu_li_left.gif) no-repeat;
	color: #fff;
	text-decoration: none;
}

ul#mainmenu li a:hover span, ul#mainmenu li.selected a span {
	background: url(img/ui/bg_mainmenu_li_right.gif) top right no-repeat;
}

/*****Sub Menu*****/

/*ul#submenu {
	width: 227px;
}*/

ul#submenu, ul#submenu ul {
	font-size: 14px;
	list-style: none;
}

ul#submenu ul {
	display: none;
	font-size: 12px;
	margin: 4px 0;
}

ul#submenu li.selected ul {
	display: block;
}

ul#submenu li {
	margin-bottom: 2px;
	width: 227px;
}

ul#submenu li a {
	border: 1px #D5D5D5 solid;
	color: #979797;
	display: block;
	line-height: 35px;
	padding-left: 18px;
	width: 200px;
}

ul#submenu li a:hover, ul#submenu li.selected a {
	background: #FD8A3C;
	border: 1px #FD8A3C solid;
	color: #fff;
	text-decoration: none;
}

ul#submenu ul li a {
	background: url(img/ui/bg_submenu_ul.gif) 22px 8px no-repeat !important;
	border: none !important;
	color: #373737 !important;
	/*line-height: 25px;*/
	line-height: 16px;
	padding: 4px 0 4px 39px;
	width: 179px;
}

ul#submenu ul li a:hover {
	background: url(img/ui/bg_submenu_ul_active.gif) 22px 8px no-repeat !important;
}

ul#submenu ul li.selected a {
	background: url(img/ui/bg_submenu_ul_active.gif) 22px 8px no-repeat !important;
	color: #CE5300 !important;
}

/*****Home page*****/

body#home div#main {
	float: left;
	width: 480px;
}

body#home div#secondary {
	float: left;
	width: 460px;
}

div#home-events {
	border-top: 1px #D5D5D5 solid;
	clear: left;
	float: left;
	padding: 15px 10px 0 0;
	width: 229px;
}

div#home-events h2, div#home-jobs h2 {
	margin-bottom: 15px;
}

div#home-jobs {
	border-top: 1px #D5D5D5 solid;
	float: left;
	padding: 15px 0 0 0;
	width: 221px;
}

p.jobs {
	line-height: 20px;
	padding: 0 0 0 7px;
}

p.jobs a span {
	font-size: 16px;
}

div#home-carusel-mask {	
	overflow: hidden;
	position: relative;
	height: 423px;
}

span.carusel-page {
	color: #fff;
	font-size: 25px;
	left: 402px;
	position: absolute;
	top: 358px;
}

a#home-caru-prev {
	background: url(img/ui/bg_home_caru_prev.png) no-repeat;
	display: block;
	height: 28px;
	left: 389px;
	outline: none;
	position: absolute;
	text-indent: -9999px;
	top: 387px;
	width: 28px;
}

a#home-caru-next {
	background: url(img/ui/bg_home_caru_next.png) no-repeat;
	display: block;
	height: 28px;
	left: 422px;
	outline: none;
	position: absolute;
	text-indent: -9999px;
	top: 387px;
	width: 28px;
}

div#home-carusel-container {
	left: 0;
	position: absolute;
	top: 0;
	width: 99999px;
}

div#home-wrap {
	clear: left;
	position: relative;
}

div#home-careers {
	border-top: 1px #D5D5D5 solid;
	float: left;
	padding: 20px 20px 0 0;
	width: 300px;
}

div#home-careers h3 {
	text-transform: none;
}

div#home-photo {
	float: left;
	width: 300px;
}

div#home-case {
	border-top: 1px #D5D5D5 solid;
	float: left;
	width: 320px;
}

div#home-case-top {
	height: 94px;
	padding: 20px 0 0 0;
}

div#home-case p, div#home-case h3 {
	padding: 0 0 0 20px;
	text-transform: none;
}

div#home-case a {
	background: url(img/ui/bg_caselink.gif) 19px 8px no-repeat;
	border-top: 1px #D5D5D5 solid;
	color: #373737;
	display: block;
	font-weight: bold;
	height: 31px;
	line-height: 31px;
	outline: none;
	padding-left: 40px;
}

div#home-case a.case-selected {
	background: #FD8A3C url(img/ui/bg_caselink2.gif) 19px 8px no-repeat;
}

div#case-mask {
	border-right: 1px #D5D5D5 solid;
	display: none;
	height: 211px;
	left: 0;
	overflow: hidden;
	position: absolute; 
	top: 0;
	width: 619px;
}

div.case {
	background: #fff;
	border: 1px #D5D5D5 solid;
	border-left: none;
	clear: left;
	display: none;
	float: left;
	height: 185px;
	left: 0;
	padding: 25px 0 0 0;
	position: absolute;
	top: 0;
	width: 619px;
	z-index: 1;
}

a.case-close {
	background: url(img/ui/bg_case_close.gif) no-repeat;
	display: block;
	height: 34px;
	overflow: hidden;
	position: absolute;
	right: 12px;
	text-indent: -9999px;
	top: 11px;
	width: 34px;
}

div.case-img {
	float: left;
	width: 240px;
}

div.case-txt {
	float: left;
	width: 333px;
}

/*****News*****/

div#home-news {
	border-top: 1px #D5D5D5 solid;
	float: left;
	padding: 12px 10px 10px 0;
}

div#home-news p:first-line {
	line-height: 24px;
}

div#home-news p {
	line-height: 20px;
}

span.date {
	background: url(img/ui/bg_date_left.gif) no-repeat;
	color: #FD8A3C;
	display: block;
	float: left;
	font-size: 10px;
	font-weight: bold;
	margin-right: 9px;
}

span.date span {
	background: url(img/ui/bg_date_right.gif) top right no-repeat;
	display: block;
	height: 24px;
	line-height: 25px; /* works better with safari and chrome */
	padding: 0 6px;
}

div.more-news {
	clear: left;
	padding: 0 0 3px 13px;
}

div.more-news a span {
	font-size: 16px;
}

div.more-news span.date {
	background: none;
	color: #A2A2A2;
	display: inline;
	float: none;
	font-size: 10px;
	font-weight: normal;
	height: auto;
	padding: 0 0 0 13px;
}

/***** Post *****/

div.post {
	margin-bottom: 30px;
}

div.post h2 a {
	color: #373737;
}

div.post h2 a:hover {
	text-decoration: none;
}

div.post p.summary {
	clear: left;
}

div.post p.summary:first-line {
	line-height: 24px;
}

div.post-info {
	background: url(img/ui/bg_postinfo.gif) no-repeat;
	font: 10px Arial, Helvetica, sans-serif;
	font-weight: bold;
	height: 26px;
	line-height: 26px;
	padding-left: 13px;
}

div.post-info span {
	margin: 0 13px;
}

div.article {
	border-bottom: 1px #D5D5D5 solid;
	margin-bottom: 25px;
}

body.subpage2col div.article {
	margin-bottom: 10px;
	width: 520px;
}

div.article p {
	margin-bottom: 10px;
}

p.readmore {
	font-weight: bold;
}

div.author {
	color: #838383;
	padding: 5px 0;
}

div.author div {
	float: left;
	padding-right: 7px;
}

div.author a.comments {
	background: url(img/ui/bg_comments.gif) no-repeat;
	color: #fff;
	font: bold 10px Arial, Helvetica, sans-serif;
	display: block;
	float: left;
	height: 22px;
	line-height: 16px;
	text-align: center;
	width: 20px;
}

div.author_photo_info {
	border-top: 1px #ddd solid;
	border-bottom: 1px #ddd solid;
	float: left;
	margin: 10px 0 15px 0;
	width: 520px;
}

div.author_photo {
	float: left;
	width: 160px;
}

div.author_info {
	float: left;
	line-height: 18px;
	padding: 25px 0;
	width: 350px;
}

div.comments-list, div.comments-form {
	border-bottom: 1px #ddd solid;
	margin-bottom: 25px;
	padding: 10px 0;
	width: 520px;
}

div.comments-form {
	padding: 0 0 30px 0;
}

div.comments-list h3, div.comments-form h3 {
	font-size: 14px;
	margin-bottom: 20px;
	text-transform: none;
}

div.comment {
	color: #8B8B8B;
	margin-bottom: 20px;
}

div.comment p {
	margin: 0;
}

p.comment-date {
	font-weight: bold;
}

div.comments-form label {
	color: #8B8B8B;
	display: block;
	margin-bottom: 3px;
}

div.comments-form form {
	padding-left: 20px;
}

div.comments-form input {
	border: 1px #ddd solid;
	color: #8B8B8B;
	font: 12px Arial, Helvetica, sans-serif;
	padding: 4px 3px;
	width: 214px;
}

div.comments-form input.submitbtn {
	background: #CECECE;
	border: 0;
	color: #fff;
	font-size: 14px;
	height: 30px;
	width: 80px;
}

div.comments-form textarea {
	border: 1px #ddd solid;
	color: #8B8B8B;
	font: 12px Arial, Helvetica, sans-serif;
	height: 115px;
	padding: 3px;
	margin-bottom: 10px;
	width: 444px;
}

div.comments-form-left {
	float: left;
	padding-bottom: 20px;
	width: 230px;
}

div.comments-form-right {
	float: left;
	width: 230px;
}

div.comment-submit {
	text-align: right;
	width: 450px;
}

div.important {
	display: none;
}

/***** Secondary column *****/

div#secondary-content {
	padding: 18px 20px;
}

a.rss {
	background: url(img/ui/bg_rss.gif) no-repeat;
	color: #FD8A3C;
	display: block;
	font-size: 14px;
	font-weight: bold;
	line-height: 21px;
	margin-bottom: 12px;
	padding-left: 28px;
}

div#secondary-content form {
	margin-bottom: 20px;
	position: relative;
}

input#q {
	background: url(img/ui/bg_search.gif) no-repeat;
	border: 0;
	font: 12px Arial, Helvetica, sans-serif;
	height: 13px;
	padding: 7px 30px 7px 7px;
	width: 150px;
}

input#find {
	background: transparent;
	border: 0;
	height: 27px;
	left: 160px;
	position: absolute;
	text-indent: -9999px;
	top: 0;
	width: 27px;
}

div#secondary-content h3 {
	margin-bottom: 7px;
	text-transform: none;
}

div#secondary-content ul {
	list-style: none;
	margin-bottom: 30px;
}

div#secondary-content ul li {
	margin-bottom: 7px;
}

ul.secondary-list {
	margin-left: 23px;
}

ul.secondary-list li {
	background: url(img/ui/bg_secondarylist.gif) left center no-repeat;
	padding-left: 13px;
}

/***** Events *****/

div.event {
	border-top: 1px #B3B3B3 solid;
}

div.event-title {
	font-size: 14px;
	line-height: 38px;
	padding-left: 16px;
	position: relative;
}

div.event-title a {
	color: #9E9E9E;
	display: block;
	outline: none;
}

div.event-title a:hover, div.event-title a.selected {
	color: #373737;
}

a.event-toggle {
	background: url(img/ui/bg_event_toggle.gif) no-repeat;
	height: 16px;
	position: absolute;
	right: 6px;
	text-indent: -9999px;
	top: 10px;
	width: 16px;
}

a.selected-toggle {
	background: url(img/ui/bg_event_toggle_on.gif) no-repeat;
}

div.event-content {
	display: none;
	padding: 0 0 0 16px;
}

/***** Open source *****/

div.open-source {
	border-bottom: 1px #D5D5D5 solid;
	float: left;
}

div.os-img {
	float: left;
	padding: 25px 0 0 25px;
	width: 135px;
}

div.os-txt {
	float: left;
	padding: 25px 0 0 0;
	width: 240px;
}

/***** Clients *****/

div.client {
	background: #F6F6F6;
	font-style: italic;
	margin-bottom: 45px;
	padding: 25px 20px 25px 40px;
}

div.client p {
	margin-bottom: 0;
}

div.client span {
	color: #FD8A3C;
	font-style: normal;
}

/*****Footer*****/

div#footer {
	border-top: 1px #D5D5D5 solid;
	clear: left;
}

div#footer-navi {
	float: left;
	padding: 17px 0 20px 0;
	width: 320px;
}

div#footer-cities {
	border-left: 1px #D5D5D5 solid;
	border-right: 1px #D5D5D5 solid;
	float: left;
	padding: 17px 0 0 20px;
	width: 278px;
}

div#foo-cit-left, div#foo-cit-right, div#foo-con-left {
	float: left;
	width: 139px;
}

div#foo-con-left {
	font-weight: bold;
}

div#foo-con-right {
	float: left;
	width: 160px;
}

div.foo-con-hea {
	float: left;
	font-size: 10px;
	line-height: 18px;
	/*margin-bottom: 5px;*/
	text-transform: uppercase;
	width: 60px;
}

div.foo-con-dat {
	float: left;
	line-height: 18px;
	/*margin-bottom: 5px;*/
	width: 100px;
}

div#footer-contact {
	float: left;
	padding: 17px 0 0 20px;
	width: 300px;
}

ul.foo-menu {
	float: left;
	list-style: none;
	line-height: 20px;
	width: 119px;
}

/*****Images*****/

img.photo {
	border-bottom: 5px #FD8A3C solid;
	margin-bottom: 42px;
}

div#main img.photo {
	border-bottom: 5px #FD8A3C solid;
	margin: 0 20px 10px 0;
}

img.eventphoto {
	margin: 0 20px 10px 0;
}

/** Pagination **/

div.pagi-left {
	float: left;
	width: 310px;
}

div.pagi-right {
	float: left;
	width: 90px;
}

div.pagination a {
	background: url(img/ui/bg_date_left.gif) no-repeat;
	color: #FD8A3C;
	display: block;
	float: left;
	font-size: 10px;
	font-weight: bold;
	margin-right: 9px;
}

div.pagination a span {
	background: url(img/ui/bg_date_right.gif) top right no-repeat;
	display: block;
	height: 24px;
	line-height: 25px; /* works better with safari and chrome */
	padding: 0 6px;
}

/*****Lists*****/

div#main ul, div#main ol, div#main dl {
	margin-bottom: 20px;
	padding-left: 40px;
}

/*****Forms*****/

/*****Tables*****/

/*****Generic Classes*****/

div.error {
	background: #FBE3E4;
	border: 2px #FBC2C4 solid;
	color: #8A1F11;
	margin-bottom: 20px;
	padding: 10px 20px 10px 40px;
}

div.message {
	background: #FFF6BF;
	border: 2px #FFD324 solid;
	color: #554B25;
	margin-bottom: 20px;
	padding: 10px 20px 10px 40px;
}

pre {
	background: #F6F6F6;
	font-size: 10px;
	margin-bottom: 20px;
	padding: 10px;
}

pre ol {
	margin-left: 20px;
}

div.korostus1 {
	background: #F6F6F6;
	font-style: italic;
	margin-bottom: 45px;
	padding: 25px 20px 25px 40px;
}

div.korostus2 {
	border: 1px #d5d5d5 solid;
	margin-bottom: 45px;
	padding: 25px 20px 25px 40px;
}

div.korostus1 p, div.korostus2 p {
	margin-bottom: 0;
}

/*****Etc*****/

a img { border: 0; }
