@charset "utf-8";

/* RESET */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, em, font, img, small, strong, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; }
h1,h2,h3,h4,h5,h6,pre,code { font-size:1em; }
body { line-height: 1; background-color: #ccc; }
ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
textarea, input { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 1em; }


/* LAYOUT */
html, body, #wrap {
	height: 100%;
}
body > #wrap {
	height: auto; 
	min-height: 100%;
}
body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	color: #444;
}
#wrap, #footer .center, #footer .bottomShadow {
	width: 806px;
	margin: 0 auto;
	background: url(images/wrapperBg.gif) right repeat-y;
}
#wrap {
	background-color: #fff;
}
#main {
	width: 800px;
	padding-bottom: 150px;	  /* footer height */
}
.header {
	background-color: #e5e5e5;
	position: relative;
	height: 155px;
}
#submenu {
	float: left;
	width: 240px;
	padding-bottom: 7.8em;
	overflow: hidden;
}
#content {
	font-size: 0.8em;
	line-height: 1.4;

}
#footer {
	position: relative;
	margin-top: -150px; 	 	 /* footer height negative */
	height: 150px;	 			 /* footer height */
	clear: both;
} 
#footer .center {
	height: 70px;	 			 /* footer height - padding */
	padding: 23px 0 0 0;
	background-color: #eaeaea;
	text-align: center;
}
#footer .bottomShadow {
	background: #ccc url(images/shadowBottom.gif) left top repeat-x;
	height: 57px;
}

.fltlft {
	float: left;
}
.fltrgt {
	float: right;
}


/* GENERAL TYPOGRAPHY STYLES */
a:link, a:visited{
	text-decoration: none;
	color: #a52771;
	font-weight: bold;
} 
a:hover {
	text-decoration: underline;
}

.hide {
	text-indent: -29999px;
}


/* start of content styles -------------------------------------------------------------------- */
/* CONTENT (TYPOGRAPHY) STYLES */
.heading {
	color: #555;
	margin: 1em 0 1em;
}
.heading.replace {
	margin: 0;
}
.underheading {
	font-size: .85em;
	margin: 1.5em 0 -1.5em;
}
.intro {
	color: #555;
	font-weight: bold;
	font-size: 19px;
	padding-bottom: .5em;
}
.text {
	margin: 45px 45px 20px;
}
.columnL, .columnS {

}
.columnL {
	width: 520px;
}
.columnS {
	width: 350px;
}

.columnL h1 {
	font-size: 2.5em;
}
.columnL h2, .columnS h2 { 
	color: #555;
	padding-bottom: .65em;
	font-size: 1.3em;
}
#content h3 { 
	color: #555;
	padding-bottom: .65em;
}
.books h2 { 
	font-size: 1em;
}
.spacer {
	margin: 20px 0;
	height: 2px;
	overflow: hidden;
	border-top: 4px solid #bbb;
	border-bottom: 1px solid #bbb;
}
.spacer.addCTop {
	margin: 20px 0 0 0;
}
.spacer.addCBottom {
	margin: 0 0 20px 0;
}
.spacer.addCMiddle {
	margin: 0;
}

.addContentLink {	
	overflow: hidden;
	cursor: pointer;
	color: #a52771;
	font-weight: bold;
	margin: 5px 0;
}
.addContentLink span {	
	padding-right: 15px;
	background: url(images/addContentArrow.gif) no-repeat right center;
}
.addContent {	
	width: 520px;
	visibility:hidden;
	height:0px;
	overflow:hidden;
	position:relative;
}
.addContent div {
	padding: 1em 0;
}
#content .addContent ul {
	padding: 0 0 1em 0;
}
.ill { /* must sit in columnL? */
	float: right;
	margin: 0px -190px 15px 45px;
}
.blog div.ill {
	background-color: #ddd; 
	margin: 0px -190px 15px 10px;
}
#content p {
	padding:  0 0 1.3em 0;
}
#content ul {
	list-style: disc outside;
	margin: 0 2em 1em;
}
#content strong {
	font-weight: bold;
}
#content ol {
	list-style: decimal outside ;
	margin: 0 2em;
}


.smallBar {
	font-size: .675em;
	color: #777;
	padding: 10px 20px 0px;
	line-height: 1.6;
}
#inenglish {
	float: right;
	display:none;
}
#breadcrumbs {
	/*margin-left: 250px;*/
	margin-left: 25px;
	margin-right: 160px;
	height: 1.8em;
}
#breadcrumbs span {
	color: #aaa;
	font-size: 8px;
	line-height: 1.2;
}
.steps {
	padding-bottom: 1em;
}
.step {
	width: 20%;
	margin: 1px;
	border: 1px solid #ccc;
	padding: .5em;
	float: left;
	background-color: #ccc;
	cursor: pointer;
}
.step:hover {
	margin: 1px;
	border: 1px solid #ddd;
	background-color: #fff;
}
.step.current {
	margin: 1px;
	border: 1px solid #eee;
	background-color: #fff;
	cursor: default;
}
.step p {
	padding: 0 !important;
	margin: 0 !important;
}
.step .addInfo {
	font-size: .85em;
	color: #888;
}
.step a {
	font-weight: normal;
}
.step a:hover {
	text-decoration: none;
}
.people {
	margin: 45px 50px 20px;
	/*margin: 45px 50px 20px;*/
}
.person, .backToPeople {
	margin: 0 36px 28px;
	/*margin: 0 15px 24px 15px;*/
}
.person {
	width: 160px;
	float: left;
	background-color: #e5e5e5;
	padding-bottom: 8px;
}
.person.large {
	width: auto;
	float: none;
	padding-bottom: 0;
}
.person img {
	padding-bottom: 5px;
}
.person.large img {
	float: left;
	margin-right: 20px;
	padding-bottom: 0;
}
.person.large .info {
	width: 430px;
	float: left;
}
.person p {
	margin: 0 !important;
	padding: 0 5px !important;
	font-size: .85em;
}
.person.large p {
	height: auto;
	margin: 0  !important;
	padding: 0 0 1em 0 !important;
	font-size: .85em;
}
.person.large h2 {
/*	color: #a52771;*/
	font-size: 1.2em;
	padding: 2em 0 0 0 !important;
}
.person .title {
}
.person span.label {
	width: 6em;
	float: left;
	clear: left;
	text-align: right;
	padding-right: .75em;
	color: #999;
}
.contact p {
	padding-bottom: 1em;
	}
.contact span.label {
	color: #999;
	font-size: .85em;
}
.author {
	font-weight: bold; 
}
.books .author, .blog .author {
	font-weight: normal; 
	color: #555;
	font-size: .85em;
}
.referText {
	margin-left: 330px;
}
.referText p {
	/*padding-left: 1em !important;*/
}
.referText .blockquote {
/*	background: url(images/quote.gif) no-repeat left top;
	text-indent: -.8em;*/
}
.referText span {/*
	display: block;
	float: left;
	padding-right: .5em;*/
}
.bookText {
	margin-left: 150px;
}

form.contact input.input , form.contact textarea {
	width: 21em;
}

.caption {
	font-style: italic;
	color: #555;
}
.quote {
	font-size: .85em;
}
.member {
	margin: .65em;
}
.member img {
	float: right;
	margin: 6px;
	padding: 2px;
	border: 1px solid #ddd;
	
}
blockquote {
	width: 240px;
	float: right;
	border-top: 3px double #ddd;
	border-bottom: 3px double #ddd;
	padding: 0;
	margin: 5px;
}
.box {
	padding: 0 1em;
}
.box2 {
	padding: 0 1em 1em 0;
}
.elem {
	padding: 1em;
}
.bordertop {
	border-top: 1px solid #ddd;
	padding-top: .5em;
}
.borderbottom {
	border-bottom: 1px dotted #ddd;
	padding-bottom: .5em;
}
.hl {
	font-weight: bold;
	color: #555;
}
.newsHeading h2 {
	margin-top: .5em;
	float: left;
}
.newsHeading .date {
	float: right;
	line-height: 2;
}
.date {
	color: #999;
}
/* CONTENT / BLOG */

.blogHeader {
	margin: 1em 5em 1em 0;
	padding-top: .6em;
}
.blogHeader h1 {
	margin-top: .5em;
	float: left;
}
.blog .date {
	padding: 0 1em .5em 0 !important;
	margin: 0 !important;
	font-weight: normal;
	float: left;
}
.blogHeader .date {
	float: right;
	line-height: 2;
}
.archive {
	padding: 1em 0;
}
.blog .archive {
	width: 300px;
	padding: 15px 10px;
}
.archive ul {
	font-size: .85em;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 0 1em !important;
	text-indent: -1em;
}
.archive li {
	padding-bottom: .3em !important;
}
.blog .comment {
	margin: 1em 0 0;
	padding: .5em 0 0;
	font-size: .85em;
	border-top: 1px solid #ddd;
}
.blog .comment .text {
	margin: 0 !important;
	padding: 0 !important;
}
.blog .sender {
	overflow: hidden;
	font-weight: bold;
	margin-bottom: 0 !important;
	padding-bottom: .5em !important;
}
/* CONTENT / BLOG / add comment -form*/
.addComment label {
	width: 11em;
	float: left;
	text-align: right;
}
.addComment .margin {
	margin-left: 12em;
}
.addComment label, .addComment input {
	display: block;
}
.addComment input.input, .addComment textarea {
	margin-bottom: 1em;
	width: 20em;
	font-size: 1em;
}
.addComment span.mand {
	color: #a52771;
}
.addComment .addInfo {
	margin-top: 1em !important;
	font-size: .85em;
	color: #999;
}	
.addComment .col {
}
.addComment .col.first {
	width: 15em;
	float: left;
	padding-right: 10px;
}

.addComment .col.second {
	float: right;
	width: 100%;
	margin-left: 16em;
	
}

/*.comment .date {
	display: block;
}
.blogArchive li {
	margin-left: 6.5em;
	font-weight: bold;
	padding-bottom: 3px;
	line-height: 1;
}
.blogArchive a {
	color: #a52771;
}
.blogArchive span {
	display: block;
	float: left;
	margin-left: -7.5em;
	font-size: 0.85em;
	line-height: 1.2;
	font-weight: normal;
	color: #999;
}*/


/* CONTENT / KUMPPANIT LOGOS */
.logos ul { 
	margin-top: -24px;
}
.logos li {
	float: left;
	margin: 0 30px 30px 0;
	height: 70px;
}



/* end of content styles -------------------------------------------------------------------- */



/* HEADER */
#topmargin {
	height: 30px;
	background-color: #ccc;
	overflow: hidden;
	position:  relative;
}
#headerImgFix {
	background: url(images/shadowTop.gif) no-repeat top right #e5e5e5;
	height: 7px;
	width: 6px;
	overflow: hidden;
	float: right;
}

.header h1 {
	width: 240px;
	height: 140px;
	float: left;
}
.header h1 img {
	padding: 50px 0px 17px 45px;
}
/* FOOTER */
#footer p {
	display: inline;
	padding: 7px 0;
	color: #777;
	border-top: 3px double #A52771;
	border-bottom: 3px double #A52771;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 11px;
	letter-spacing: 1px;
	text-transform: uppercase;
}
#footer p strong, #footer span {
	font-weight: normal;
	color: #a52771;
}
#footer a, #footer a:visited {
	color: #a52771;
	font-weight: normal;
}


/* RANDOM IMAGES */
.imgLarge {
	width: 800px;
	height: 623px;
	background: url(images/imgLarge0.jpg) no-repeat;
}
.imgLarge img.static {
	display: none;
}
.imgLarge img.dynamic {
	display: block;
}
.rndimg0 {
	background-image: url(images/imgLarge0.jpg);
}
.rndimg1 {
	background-image: url(images/imgLarge1.jpg);
}
.rndimg2 {
	background-image: url(images/imgLarge2.jpg);
}
.header.rndimg0 {
	background-image: url(images/imgHeader0.jpg);
}
.header.rndimg1 {
	background-image: url(images/imgHeader1.jpg);
}
.header.rndimg2 {
	background-image: url(images/imgHeader2.jpg);
}

/* FLOATER */
.floaterLink {
	display: none;
/*	float: right;
	padding: 20px 0 30px 0;
	font-size: 11px;
	line-height: 1.3em;*/
}
.floaterLink .imgSpace {
	padding-bottom: .5em;

}
.floaterLink a:link, .floaterLink a:visited, .floaterLink a:hover, .floaterLink a:active {
	font-weight: normal;
	color: #555;
} 

/* MENU */
#menu {
/*	margin-left: 240px;*/
	width: 560px;
	font-size: 11px;
	position: absolute;
	top: 118px;
	right: 0;
}
#menu ul {
	margin: 0;
	padding: 0;
	display: inline;
} 
#menu li {
	margin: 0;
	display: block;
	float: left;
	position: relative;
	width: 140px;
	height: 37px;
}

#menu li a {
	margin-top: 2px;
	display: block;
	width: 140px;
	height: 35px;
	text-indent: -9999px;
	background-color: #fff;
	background-image: url(images/menu.gif);
	background-repeat: no-repeat;
}

#menu li:hover, #menu li.over {
	cursor: pointer;
}

#menu li:hover {
	height: 37px; 
	margin-top: 0;
	background-color:#fff;
}
/* image menu.gif contains four tabs horizontally
	new (normal, inactive) tab bg every 140px right
	with corresponding active/hovered tab 35px down */
#menu .asiakkuus a {			background-position: 0px 0px;		}
#menu .aspectum a {			background-position: -140px 0px;	}
#menu .referenssit a {		background-position: -280px 0px;	}
#menu .kumppanit a {			background-position: -420px 0px;	}

#asiakkuus #menu .asiakkuus a {		background-position: 0px -35px; }
#aspectum #menu .aspectum a 	{		background-position: -140px -35px; }
#referenssit #menu .referenssit a {	background-position: -280px -35px; }
#kumppanit #menu .kumppanit a {		background-position: -420px -35px; }

#menu li.asiakkuus:hover a, #menu li.asiakkuus a:hover {			background-position: 0px -36px !important; }
#menu li.aspectum:hover a, #menu li.aspectum a:hover {			background-position: -140px -36px !important; }
#menu li.referenssit:hover a, #menu li.referenssit a:hover {	background-position: -280px -36px !important; }
#menu li.kumppanit:hover a, #menu li.kumppanit a:hover  {		background-position: -420px -36px !important; }

#menu li.aspectum:hover + li a.current {
	background-position: 0px -70px !important;
}
#menu li.asiakkuus:hover + li a.current {
	background-position: -280px -70px !important;
}
#menu li.referenssit:hover + li a.current {
	background-position: -420px -70px !important;
}

#menu li .submenu {
	display: none;
	position: absolute; 
	top: 35px;
	left: 0;
	padding: 0;
	margin: 0;
	width: 151px;
 }
#menu li>ul {
	top: auto;
	left: auto;
}

#menu li ul li:hover, #menu li ul li.over, #menu li ul a.current {		/* OVERRIDES */
	height: auto; 
	margin-top: 0;
}
#menu li:hover .submenu, #menu li.over .submenu { 
	display: block; 
	clear: left;
	background: transparent url(images/menuBottom.png) no-repeat left bottom;
	padding-bottom: 11px;
}

#menu li ul li {
	width: 151px;
	margin: 0;
	height: auto;
	line-height: 1.3;
	background: transparent url(images/menuRight.png) no-repeat right top;
}
#menu li ul a {
	background-color:#fff;
	width: 140px;
	margin: 0;
	display: block;
	height: auto;
	text-indent: 20px;
	color: #414042;
	background-image: none;
	border-top: none;
	font-size: 1em;
	line-height: 1.5;
	font-weight: normal;
}

#menu li ul a:hover {
	color: #a52771;
	text-decoration: none;
}
#menu li ul li:hover {
	background-color: transparent;
}
#menu li ul a.current, #menu li ul a.current:hover {
	color: #a52771;
	text-decoration: none;
	cursor: default;
}
#menu li ul li.first a {
	padding-top: 10px;
}
#menu li ul li.last a {
	padding-bottom: 10px;
}
#menu li ul li.shadow {
	height: 11px;
	background: transparent url(images/menuBottom.png) no-repeat left top;
}

/* CLEARFIX */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
/* Hides from IE-mac \*/
* html .clearfix { 
	height: 1%;
}
.clearfix {
	display: block;
}
/* End hide from IE-mac */

/* sIFR */
.sIFR-flash {
	visibility: visible !important;
	margin: 0;
}
.sIFR-replaced {
	visibility: visible !important;
}
span.sIFR-alternate {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 0;
	display: block;
	overflow: hidden;
}
.sIFR-hasFlash #content .replace h1{
	visibility: hidden;/**/
	font-size: 30px !important;
	display: inline;
}
.sIFR-hasFlash #content .replace h1.smaller {
	visibility: hidden;/**/
	font-size: 19px !important;
	line-height: -1;
}
.sIFR-hasFlash #content .replace h1.mediumHeading {
	/*visibility: hidden;*/
	font-size: 47px !important;
	line-height: -1;
}
.sIFR-hasFlash #content h2.replace {
	visibility: hidden;/**/
	letter-spacing: 0px;
	font-size: 19px !important;
}
.sIFR-hasFlash .intro {
	visibility: hidden;/**/
	font-size: 19px !important;
	letter-spacing: -2px;
	margin: 0 0 -.5em 0 !important;
	padding: 0 !important;
}
/*.sIFR-hasFlash h3 {
	visibility: hidden;
	letter-spacing: 0px;
	font-size: 10px !important;
}*/
.sIFR-hasFlash blockquote {
	visibility: hidden;/**/
	letter-spacing: 0px;
	font-size: 15px !important;
}

.headerfix {
	float: left;
	clear: right;
}
.floatfix {
	clear: both;
}
