html, body, p, form, input, textarea {
	font-family: 'PT Sans', sans-serif !important;
}

body {
	background-color: #f6f7f9;
}

h1 {
	font-size: 76px;
	font-weight: 700;
}

h1.page-title, .subpagemain h1, h1.single-title {
	font-size: 42px;
	line-height: 1;
	margin: 30px 0;
	text-align: center;
	margin-bottom: 10px;
	margin-top: 0;
	
}

.byline {
	text-align: center;
	margin-bottom: 30px;
}

.one-column-text-block {
	padding: 100px 0px;
	min-height: 600px;
	height: auto;
	position: relative;
}

select.wpcf7-select { margin-bottom: 0; }
   
  
@media only screen and (max-width: 767px) {

	h1.page-title, .subpagemain h1, h1.single-title {
		font-size: 32px;
		margin-top: 0;
	}
		
}

h1, h2, h3, h4 {
	/*font-weight: 700;
	letter-spacing: -1px;*/
	font-family: 'PT Serif Caption', serif !important;
}

h2,h3 {
	margin-bottom: 30px;
}

form {
	margin-top: 30px;
}


h2 {
	margin-bottom: 50px;
	font-size: 36px;
	line-height: 1;
	font-weight: 700;
}

h3 {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
}

h4 {
	font-family: "warnock-pro-display" !important;
	font-style: normal;
	font-weight: 700;
	color: #1573D7;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 0;
}

h5 {
	font-family: 'Sailec-Bold', Arial, sans-serif;
	text-transform: uppercase;
	font-size: 18px;
	margin-top: 30px;
}

br.rwd-break {
	display: none;
}



@media only screen and (max-width: 767px) {
	br.rwd-break {
		display: block;
	}	
	footer .fa-linkedin-square {
		margin-left: 0 !important;
	}
}

.page-template-template-news h2, .page-template-template-careers h2 {
	text-align: center;
}

a {
	color: #1573D7;
}
a:hover {
	color: #1573d7;
	text-decoration: underline;
}

p {
	font-size: 19px;
	line-height: 28px;
}
p.big {
	font-size: 28px;
	line-height: 34px;
	margin: 40px 0;
}

p strong {
	font-family: 'Sailec-Bold', Arial, sans-serif;
	font-weight: normal; 
}

@media only screen and (max-width: 767px) {
	p.big{
		font-size: 22px;
		line-height: 26px;
	}
}

.introtext p {
	font-size: 16px;
	line-height: 24px !important;
}

p.sisubold, span.sisubold {
	font-family: "Sailec-Bold", sans-serif;
}

.sisubold {
    font-family: "Sailec-Bold";
}

.bigtext p {
	font-size: 22px;
}

blockquote {
	border-left: 0;
	border-top: 1px solid #CED4DF;
	border-right: 0;
	border-bottom: 1px solid #CED4DF;
	margin: 50px 0px;
	padding: 50px 0px;
	
}

blockquote p {
	font-size: 22px;
	font-family: "warnock-pro-display" !important;
	font-style: normal;
	font-weight: 700;
	font-size: 52px;
	line-height: 46px;
	color: #00254A;
	margin-bottom: 0;
	text-align: center;
}

.entry-content li {
    margin-bottom: 10px;
}

.columns.bixtext > p {
	font-size: 22px;
	font-family: "warnock-pro-display" !important;
	font-style: normal;
	font-weight: 700;
	font-size: 52px;
	line-height: 46px;
}

img#teamphoto {
	margin-bottom: 75px;
}
@media only screen and (max-width: 1200px) {

	img#teamphoto {
		margin-bottom: 35px;
	}
	
}
@media only screen and (max-width: 767px) {

	blockquote p {
		font-size: 42px;
		line-height: 40px;
	}
		
}

.innerpanel {
	padding: 50px;
}

.panel-1 {
	display: none;
}
.panel-2 {
	margin-left: -18.75rem;
	display: none;
}
.panel-3 {
	margin-left: -37.5rem;
	display: none;
}
.panel-4 {
	margin-left: -56.25rem;
	display: none;
}

.whitebg {
	background-color: #fff;
}

@media only screen and (max-width: 500px) {

	.columns.bixtext > p {
	
		font-size: 36px;
		line-height: 1;
		
	}	
	
	.row, .row.persondetails {
		padding: 0px 10px;
	}

	img#teamphoto {
		margin-bottom: 30px;
	}

}

.leadtext {
	font-size: 22px;
}

img.fullbleed {
	width: 100%;
}

#hero h1, #hero p {
	color: white;
	line-height: 1;
}

#hero h1 {
    color: #0f1022;
}

.sisumenu {
	/*float: right;*/
	padding-top: 0px;
}

.sisumenu li {
	display: block;
	text-align: center;
	height: 50px;

}

.sisumenu a {
	color: #f6f7f9;
	font-family: "Sailec-Black", sans-serif;
	font-size: 22px;
	text-transform: uppercase;
	-webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.sisumenu a:hover {
	text-decoration: none;
	color: #1573d7;
}

@media only screen and (max-width: 320px) {
	
	.sisumenu li {
		height: 40px;	
	}
	.sisumenu a {
		font-size: 18px;	
	}
	
}

#homepagenav {
	display: none;
}

body.home #subpagenav {
	display: none;
}
body.home #homepagenav {
	display: block;
}



#menucon {
	color: #00254a;
	cursor: pointer;
}

body.home #menucon {
	color: #FFFFFF;
	cursor: pointer;
}


#menufloater {
	position: fixed;
	left: 0;
	right: 0;
	top: 65px;
	z-index: 8;
	/*max-width: none;
	padding-right: 60px;*/
}

.home #menufloater {
	padding-right: 0px;
}



.navilayer {
    background: rgba(0,37,74,1);
    bottom: 0;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10;
    display: none;
}
.menucloser {
	color: white;
	position: fixed;
	right: 50px;
	top: 50px;
	cursor: pointer;
}

.home div.row#menufloater {
	max-width: 75rem;
}

.page-child div.row#menufloater {
	/*max-width: none;*/
}

@media only screen and (max-width: 767px) {

	.home #menufloater {
		padding-right: 20px;
		top: 20px;	
	}
	.menucloser {
		right: 25px;
		top: 25px;
	}
}

.pageheroimage {
	margin-bottom: 35px;
}

@media only screen and (max-width: 500px) {
    
  
    
    p {
	    font-size: 17px;
	    line-height: 26px;
    }
    
    h1 {
	    font-size: 42px;
    }
    h2 {
	    font-size: 36px;
    }
    h3 {
	    font-size: 28px;
    }
    h4 {
	    font-size: 22px;
    }
    .small-only-text-center {
		text-align: center;
		margin-bottom: 40px;
	}
}

.current-menu-item a, .current-page-ancestor a {
	/*color: #00254A !important;*/
}

.menu-services-menu-container, .menu-palveluvalikko-container {
    float: right;
}

#menu-services-menu, #menu-palveluvalikko {
	margin:0;
}

ul#menu-services-menu li, ul#menu-palveluvalikko li {
	display: inline-block;
	width: 180px;
	vertical-align: top;
	line-height: 1.2;
	font-family: "Sailec-Bold";
}
@media only screen and (max-width: 1024px) {
	ul#menu-services-menu li, ul#menu-palveluvalikko li {
		width: 150px;	
	}
}

.page-id-248 .subpagemain li {
	/*margin-bottom: 10px;*/
}

article#post-248 li {
	margin-bottom: 10px;
}

.warnock {
	font-family: "warnock-pro-display";
	font-weight: 700;	
}

/*** SECTION COLORS ***/

.whitesection {
	background-color: white;
	color: #00254A;
}
	.whitesection h2 {
		color: #00254A;
	}
	.whitesection p {
		color: #00254A;
	}
	.whitesection a {
		color: #1573D7;
		text-transform: uppercase;
		font-size: 16px;
		font-family: "Sailec-Black", sans-serif;
	}
	
a.textlink {
	color: #1573d7;
	text-transform: uppercase;
	font-size: 16px;
	font-family: "Sailec-Black", sans-serif;
}

.sispale {
	background: #F9FBFA;
}
.sisdark {
	background: #263E48;
}
	.sisdark h2 {
		color: #00D8E3;
	}
	.sisdark p {
		color: #DFE4E6;
	}

.tasosteel {
	background-color: #0F1022;
}
.tasosteel h1, .tasosteel h2, .tasosteel h3, h2, h3 { color: #756132;  }
.tasosteel p {
	color: #EEE;
}

.tasobrown {
	color: #95785E;
}

.tasowhite {
	background-color: #FFF;
}
.tasowhite h1, .tasowhite h2, .tasowhite h3 {
	color: #756132;
}

.tasosilver {
	background-color: #F4F5F7;
}

/**** TEXT COLORS *****/
.tasowhite {
	color: #FFFFFF;
}

.tasoink {
	color: #00254A;
}

.tasogreen {
	color: #57C897;
}

/*** GENERAL ***/
.padded {
	padding: 100px 0px;
}
.bottomspace {
	margin-bottom: 50px;
}

.verticalcenter {
	position: relative;
	top: 50%;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}


#services .columns {
	margin-bottom: 0px;
}

@media only screen and (max-width: 1023px) {

	#services .columns {
		margin-bottom: 40px;
	}
	
}


/*** MODULE SPECIFIC ***/
#hero, .fullscreenquote {
	height: 100vh;
	background-size: cover;
	background-position: center center;
}

@media only screen and (max-width: 500px) {

	.padded {
		padding: 50px 0;
	}

	#hero {
		background-position: 60% center;
	}
	
}


.tasohead {
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
	display: none;
}
.tasohead img.logo {
	width: 200px;
}

@media only screen and (max-width: 767px) {
	
	.tasohead {
		top: 20px;
	}
	
	.tasohead img.logo {
		width: 120px;
	}
}

.tasohead i {
	color: white;
	cursor: pointer;
	float: right;
}

body.home .tasohead {
	display: block;
}

.subpagehead {
	/*border-bottom: 1px solid #CED4DF;*/
	padding-bottom: 35px;
	margin-bottom: 35px;
	overflow: auto;
	z-index: 9;
	position: relative;
	margin-top: 70px;
}

.bottomborder {
	border-bottom: 1px solid #CED4DF;
	margin-bottom: 70px;
}

img.sublogo {
	width: 170px;
}

@media only screen and (max-width: 767px) {
	
	img.sublogo {
		width: 120px;
	}
	.subpagehead {
		margin-top: 35px;
		margin-bottom: 35px;
	}

}

@media only screen and (max-width: 1023px) {
	
	.subpagehead {
		margin-top: 35px;
		margin-bottom: 35px;
		padding-bottom: 0;
	}
	
}

.page-template-template-servicepage img.sublogo {
	float: left;
}

#menu-subpage-menu a {
	/*color: #1573d7;
	text-transform: none;
	font-size: 21px;*/
}

.menu .active > a {
	background: transparent;
}

.fullscreenquote p {
	color: white;
	font-family: "warnock-pro-display", serif !important;
	font-weight: 700;
	font-size: 52px;
	line-height: 46px;
}

@media only screen and (max-width: 500px) {

	.fullscreenquote p {
	
		font-size: 36px;
		line-height: 1;
		
	}
	
}

.mediainfo {
	margin: 30px 0px;
}

.page-template-template-news #content .fa {
	color: #1573d7;
	margin-right: 5px;
}

p.strong {
	font-family: 'Sailec-Bold' !important;
}

#services h2 {
	margin-bottom: 100px;
}

@media only screen and (max-width: 767px) {

	#services h2 {
		margin-bottom: 25px;
	}
	
}


section#team {
	padding-bottom: 100px;
}



img#teamphoto {
	margin-top: 100px;
}

.person {
	/*min-height: 510px;*/
}

.contactinfo {
	font-size: 16px;
	line-height: 22px;
}

.contactinfo h3 {
	margin-top: 0;
}


@media only screen and (max-width: 1024px) {
	.contactinfo {
		margin-bottom: 25px;
	}
}
@media only screen and (max-width: 1023px) {

	#services .columns:last-child:not(:first-child) {
		float: none;
	}
	div.columns.service {
		margin-bottom: 30px;
	}
}

i.fa {
	transition: all 0.25s;
}

i.fa.active {
	transform: rotate(45deg);
	color: #1573D7;
}

.contactinfo .fa {
	font-size: 24px;
	color: #1573D7;
	margin-right: 10px;
}
@media only screen and (max-width: 359px) {
	

	
	.contactinfo .fa {
		display: none;	
	}
}

.contactinfo a {
	color: #00254A;
}

.contactinfo h3 {
	margin-bottom: 0;

}

.person h3 {
	line-height: 1;
	margin-top: 0px;
}
.person p {
	line-height: 1;
	margin-bottom: 10px;
}

.persondetails {
	display: none;
	padding: 60px 0;
}

.persondetails#JuhaKarttunen {
	display: block;
}

.personcard {
	cursor: pointer;
	border-bottom: 4px solid transparent;
	margin-bottom: 20px;
	position: relative;
}

.person:hover  {
	border: 2px solid #FFF;
}

.personcard.selected {
	border-bottom: 5px solid #1573D7;	
}

.personcard img{
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
	position: relative;
	z-index: 0;
}
/*.personcard img:hover {
	opacity: 0.75;
}*/

.personoverlay {
	text-align: center;
	position: absolute;
	top: 75%;
	transform: translateY(-50%);
	z-index: 1;
	left: 0;
	right: 0;
	color: white;
}

#contact p {
	font-size: 17px;
	line-height: 24px;
}

@media only screen and (max-width: 768px) {

	.person {
		/*min-height: 270px;*/
	}

	.personcard {
		margin-bottom: 0;
	}

	.person h3 {
		font-size: 22px;
	}	
	
	.person p {
		font-size: 16px;
	}
	
	section#team {
		padding-bottom: 50px;
	}

}

.tombstone {
	position: relative;
	cursor: pointer;
	margin-bottom: 30px;
}

.tombstone .inner {
	border: 4px solid #00254A;
	padding: 20px 10px;
	height: 340px;
	/*padding-top: 50px;*/
}
.tombstone .inner p {
	margin: 0;
}
.tombstone .inner img {
	/*margin-bottom: 30px;*/
}

.tombstone p.small {
	font-size: 13px;
	line-height: 1.2;
	margin-bottom: 0;
	/*position: absolute;
	bottom: 15px;
	left: 0;
	right: 0;*/
	padding: 0 15px;
	color: #00254a;
}

.tombstone .overlay {
	opacity: 0;
	position: absolute;
	top: 0;
	padding: 15px;
	background-color: #00254A;
	height: 340px;
	color: white;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
	width: 100%;
}

.tombstone .overlay p {
	color: white;
	font-size: 16px;
	line-height: 20px;
}

.tombstone:hover > .overlay {
	opacity: 1;
}

.slot {
	height: 25%;
}

.halfslot {
	height: 50%;
}

.entry-content img {
	margin-bottom: 20px;
}

a.caselink {
	
	font-family: "Sailec-Black",sans-serif;
    font-size: 16px;
    text-transform: uppercase;
	text-align: center;
	color: white;
	text-decoration: none !important;
	
}
a.caselink:hover {
	text-decoration: none !important;
}

.wpcf7-form-control.wpcf7-submit {
    background: #0f1022 none repeat scroll 0 0;
    border: medium none transparent;
    border-radius: 4px;
    color: white;
    padding: 10px 50px;
	margin-top: 20px;
	text-transform: uppercase;
	transition: all 0.2s;
}
.wpcf7-form-control.wpcf7-submit:hover {
	background-color: #756132;
}

div.wpcf7-mail-sent-ok {
    background-color: #dff0d8;
    border-color: #d6e9c6;
    color: #3c763d;
    text-align: center;
}


@media only screen and (max-width: 768px) {

	

	.tombstone {
		margin-bottom: 30px;
	}

	#careerscolumn {
		margin-top: 50px;
	}	
}

.latestnews h3 {
	text-transform: none;
	font-size: 20px;
	line-height: 28px !important;
	margin-bottom: 0;
}

ul.latestnews {
	margin: 0;
	padding: 0;
}
	ul.latestnews li {
		list-style: none;
		padding-bottom: 20px;
		border-bottom: 1px solid #DDD;
		margin-bottom: 20px;
	}
	ul.latestnews li h3 {
		line-height: 1;
	}
	
footer {
	background-color: #0f1022;
	color: white;
	margin-top: 0;
}
.footer {
	margin-top: 0;
	padding: 50px 0;
	overflow: auto;
}

.footer img.logo {
	width: 150px;
}
.footer p {
	/*float: right;*/
	/* margin-top: 20px; */
	margin-bottom: 0;
	font-size: 16px;
}
.footer .fa {
	margin-left: 10px;
}

.subpagefooter {
	padding: 0px 80px;
}

footer.footer a {
    color: white;
}
footer a:hover { text-decoration: none; color: #756132; }

@media only screen and (max-width: 768px) {

	.footer img.logo {
		margin-bottom: 20px;
	}
	
}

/****** SUBPAGES ******/

#content {
	/*height: 100vh;*/
	overflow: auto;
	/*background-color: #f6f7f9;*/
	background-color: #FFFFFF;
	margin: auto auto;
	max-width: 1440px;
	padding: 0 70px;
	padding-bottom: 70px;
	margin-bottom: 60px;
}

@media only screen and (max-width: 1440px) {

	#content {
		margin-bottom: 0;
		padding: 0;
		padding-bottom: 60px;
	}
	
}


.subpagemain {
    float: left;
    width: 80%;
    padding: 80px;
    /*height: 100vh;*/
    max-width: 1100px;
    background-color: #FFFFFF;
}
.subpagesidebar {
	width: 20%;
	/*min-width: 275px;*/
	float: left;
	background: #F6F7F9;
	/*text-align: right;*/
	padding: 40px;
	/*height: 100vh;*/
	position: fixed;
	right: 0;
}

@media only screen and (max-width: 1024px) {

		.subpagemain {
			padding: 40px;
			width: 100%;
		}
		.menu-services-menu-container {
			float: left;
			margin-left: 80px;
		}
		ul#menu-services-menu li {
			width: 180px;
		}
	
		#menufloater {
			padding-right: 25px;
			top: 25px;
		}
		
		.subpagefooter {
			padding: 0px 40px;
		}
	
}

@media only screen and (max-width: 768px) {
	.menu-services-menu-container, .menu-palveluvalikko-container {
			float: left;
			margin-left: 0px;
			display: block;
			width: 100%;
			margin-top: 30px;
	}
}

@media only screen and (max-width: 767px) {
	.subpagemain {
		padding: 30px;
	}
}

#menu-subpage-menu li {
	display: block;
}

#post-188 header, #post-580 header, #post-6522 header, #post-6501 header {
	display: none;
}

.servicecontent {
	padding-bottom: 50px;	
}
.servicecontent h1, .servicecontent p.big {
	text-align: center;
}

@media only screen and (max-width: 768px) {

	ul#menu-services-menu li, ul#menu-palveluvalikko li {
		display: block;
		margin-bottom: 10px;
		width: 100%;
	}
	
	
}

.contactbox {
	background-color: #FCF5F4;
	padding: 30px;
	margin-top: 50px;
	margin-bottom: 50px;
}
article .contactbox h3 {
	margin-top: 0;
	
}

article h3 {
	margin-top: 50px;
}

.page-template-template-servicepage h1.page-title {
	/*margin-top: 50px;*/
}

body.page-template-template-servicepage.lang-en h1.page-title:before {
	content: "Our services";
	display: block;
	font-family: "warnock-pro-display" !important;
	font-style: normal;
	font-weight: 700;
	color: #1573d7;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 0;
	text-align: center;
}
body.page-template-template-servicepage.lang-fi h1.page-title:before {
	content: "Palvelut";
	display: block;
	font-family: "warnock-pro-display" !important;
	font-style: normal;
	font-weight: 700;
	color: #1573d7;
	font-size: 32px;
	line-height: 1;
	margin-bottom: 0;
	text-align: center;
}




.page-template-template-references .subpagemain .columns {
	margin-bottom: 30px;
}

h3.servicebox {
	margin-top: 0;
}

.servicepromo h4 {
	border-top: 1px solid #CED4DF;
	padding-top: 50px;
	margin-bottom: 10px;
}

.servicepromo .columns.first, .mediainfo .columns.first {
	padding-left: 0;
}
.servicepromo .columns.last, .mediainfo .columns.last {
	padding-right: 0;
}

@media only screen and (max-width: 1023px) {
	
	.servicepromo .columns.last, .mediainfo .columns.last {
	padding-left: 0;
	}
		
}

#mfPreviewBarShow {
	display: none;
}

.abba {
	width: 73.125rem;
	/*padding-left: 0.9375rem;
    padding-right: 0.9375rem;*/
}

@media only screen and (max-width: 1200px) {
	
	.innerpanel{
		width: calc(100vw - 1.875rem);
	}
	
	.panel-1 {
		margin-left: 0;
	}
	.panel-2 {
		margin-left: -25vw;
	}
	.panel-3 {
		margin-left: -50vw;
	}
	.panel-4 {
		margin-left: -75vw;
	}
	
	.abba {
		/*width: 100vw;*/
		/*width: calc(100vw - 1.875rem);*/
		/*margin-left: 0 !important;*/
		/*margin-left: -25vw;*/
	}
	
}

@media only screen and (max-width: 1024px) {

	.innerpanel {
		padding: 30px;
	}
	.person {
		
	}
	.row#tombstones {
		padding: 0 30px;
	}
	
	.contactinfo {
		margin-bottom: 20px;
	}
	
}

@media only screen and (max-width: 600px) {
	
	.innerpanel{
		width: calc(100vw - 1.25rem - 20px);
		padding: 10px;
		padding-top: 20px
	}
	
	.person {
		min-height: auto;
		margin-bottom: 20px;
	}
	
	.person#card-2 {
		clear: both;
	}	

	.panel-1 {
		margin-left: 0;
	}
	.panel-2 {
		margin-left: calc(-50vw + 10px);
	}
	.panel-3 {
		margin-left: 0;
	}
	.panel-4 {
		margin-left: calc(-50vw + 10px);
	}
	
	.contactinfo {
		margin-bottom: 20px;	
	}

	
}


.row.devicepadded {
	padding: 0;
}
@media only screen and (max-width: 1200px) {
	.row.devicepadded {
		padding: 0 20px;
	}
}
