/* Extra child CSS can live here; enqueued after style.css */
.container{max-width:var(--container-max);margin-inline:auto;padding-inline:1rem}
.button{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius);padding:.75rem 1rem}

.elementor-button.elementor-size-sm {
	border-radius:1em;
	overflow:hidden;
}

.oranssi_txt {
	color:var(--v-oranssi);
}
.musta_txt {
	color:var(--v-musta);
}


.bg-oranssi {
	background-color:var(--v-oranssi);
	color:var(--v-valkoinen);
}
.bg-hailukka-sininen {
	background-color:var(--v-vaalea-sininen);
	color:var(--v-musta);
}
.bg-valkoinen {
	background-color:var(--v-valkoinen);
	color:var(--v-musta);
}
.bg-hailukka-oranssi {
	background-color:var(--v-vaalea-oranssi);
	color:var(--v-musta);
}
.bg-vihrea {
	background-color:var(--v-vihrea);
	color:var(--v-valkoinen);
}
.bg-hailukka-vihrea {
	background-color:var(--v-vaalea-vihrea);
	color:var(--v-musta);
}

.bg-sininen {
	background-color:var(--v-sininen);
	color:var(--v-valkoinen);
}
.bg-tumma-lila {
	background-color:var(--v-tumma-lila);
	color:var(--v-valkoinen);
}

.bg-valkoinen {
	background-color:var(--v-valkoinen);
	color:var(--v-musta);
}


.mahti_txt,
.mahti_txt div,
.mahti_txt h1,
.mahti_txt h2,
.mahti_txt h3,
.mahti_txt h4 {
	font-size:56px;
	font-weight:800;
	line-height:1.3;
}

.h1.pieni_teksti_versaali {
	font-size:18px;
	font-weight:600;
	color:var(--v-valkoinen);
	margin:0;
}

.teksti_iso,
.teksti_iso p,
.teksti_iso h1,
.teksti_iso h2,
.teksti_iso h3,
.teksti_iso h4 {
  font-size: 38px;
	font-weight:700;
	line-height:1.3;
}


.ykkonen,
h1,
.ykkonen div,
.ykkonen h1,
.ykkonen h2,
.ykkonen h3,
.ykkonen h4 {
	font-size:32px;
	font-weight:700;
	line-height:1.3;
}
.ykkonen p {
	font-weight:400;
}


.kakkonen,
h2,
.kakkonen div,
.kakkonen h1,
.kakkonen h2,
.kakkonen h3,
.kakkonen h4 {
	font-size:24px;
	font-weight:600;
	line-height:1.3;
}

.kolmonen,
h3,
.kolmonen div,
.kolmonen h1,
.kolmonen h2,
.kolmonen h3,
.kolmonen h4 {
	font-size:20px;
	font-weight:600;
	line-height:1.3;
}

.nelonen,
h4,
.nelonen div,
.nelonen h1,
.nelonen h2,
.nelonen h3,
.nelonen h4 {
	font-size:18px;
	font-weight:600;
	line-height:1.3;
}

.leipis {
	font-size:16px;
	font-weight:400;
	line-height:1.5;
}
.leipis14 {
	font-size:14px;
	font-weight:400;
	line-height:1.5;
}

@media only screen and (max-width: 767px) {
	.mahti_txt,
	.mahti_txt div,
	.mahti_txt h1,
	.mahti_txt h2,
	.mahti_txt h3,
	.mahti_txt h4 {
		font-size:38px;
	}
	.teksti_iso,
	.teksti_iso p,
	.teksti_iso h1,
	.teksti_iso h2,
	.teksti_iso h3,
	.teksti_iso h4 {
	  font-size: 32px;
	}
	

}

@media only screen and (max-width: 600px) {
	.mahti_txt,
	.mahti_txt div,
	.mahti_txt h1,
	.mahti_txt h2,
	.mahti_txt h3,
	.mahti_txt h4 {
		font-size:32px;
	}
	.teksti_iso,
	.teksti_iso p,
	.teksti_iso h1,
	.teksti_iso h2,
	.teksti_iso h3,
	.teksti_iso h4 {
	  font-size: 26px;
	}

	
	
	
	.ykkonen,
	h1,
	.ykkonen div,
	.ykkonen h1,
	.ykkonen h2,
	.ykkonen h3,
	.ykkonen h4 {
		font-size:24px;
		font-weight:700;
		line-height:1.3;
	}
	.ykkonen p {
		font-weight:400;
	}

	.kakkonen,
	h2,
	.kakkonen div,
	.kakkonen h1,
	.kakkonen h2,
	.kakkonen h3,
	.kakkonen h4 {
		font-size:20px;
		font-weight:600;
		line-height:1.3;
	}

	.kolmonen,
	h3,
	.kolmonen div,
	.kolmonen h1,
	.kolmonen h2,
	.kolmonen h3,
	.kolmonen h4 {
		font-size:18px;
		font-weight:600;
		line-height:1.3;
	}

	.nelonen,
	h4,
	.nelonen div,
	.nelonen h1,
	.nelonen h2,
	.nelonen h3,
	.nelonen h4 {
		font-size:16px;
		font-weight:600;
		line-height:1.3;
	}

	.leipis {
		font-size:14px;
		font-weight:400;
		line-height:1.5;
	}
	.leipis14 {
		font-size:12px;
		font-weight:400;
		line-height:1.5;
	}
}

.bold600 {
	font-weight:600;
}
.bold700 {
	font-weight:700;
}

.bold800 {
	font-weight:800;
}

.page_max_leveys {
	max-width:1440px;
	margin:0 auto;
	
}
.content_max_leveys {
	max-width:1120px;
	margin:0 auto;
	padding:0 2em;
}

.sisalto_kapea {
	max-width:800px;
	margin:0 auto;
}
.sisalto_kapea p:last-child {
	margin-bottom:0;
}

.puolipalsta_txt {
	max-width:400px;
	margin:0 auto 0 3em;
}

.mini_txt {
	font-size:12px;
	margin:0 0 20px 0;
}

@media only screen and (max-width: 1024px) {
	/*
	.elementor-19 .elementor-element.elementor-element-52edfed8 {
		padding:0;
	}
	.elementor-19 .elementor-element.elementor-element-7f82490b
	{
		max-width:600px;
		height:66vw;
		max-height:600px;
		margin:0 auto;
	}
	.e-con>.e-con-inner {
		padding:1em 1em;
	}
	*/
	.content_max_leveys {
		padding:0 1em;
	}
	/*
	.elementor-19 .elementor-element.elementor-element-6ed69193,
	.elementor-19 .elementor-element.elementor-element-7cdfe8fc {
		display:block !important;
	}
	*/
}






.flex_top,
.flex_mid,
.flex_bot,
.flex_stretch {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex_top {
	align-items:flex-start;
}
.flex_mid {
	align-items: center;
}
.flex_bot {
	align-items:flex-end;
}
.flex_stretch {
	align-items:stretch;
}






#header_area {
	background-color:var(--v-valkoinen);
	color:var(--v-musta);
}

#header_area ul {
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	item-align:center;
}
#header_area a {
	text-decoration:none;
}

#h_palstat {
	padding:2em 2em;
}

#h_vasen {
	width:calc((100% - 150px)/2);
}
#h_oikea {
	width:calc((100% - 150px)/2);
}
#h_logo_area {
	width:150px;
	margin:0 0;
	padding:0 0;
	text-align:center;
}






#h_vasen ul#h_navi_1 {
	justify-content:flex-start;
}
#h_vasen ul#h_navi_1 li {
	margin:0 1em 0 0;
}
#h_oikea ul li a {
	display:inline-block;
	line-height:2em;
	border:1px solid #ffffff;
	
}
#h_vasen ul#h_navi_1 li a {
	font-weight:700;
	color:var(--v-vihrea);
}

#h_oikea ul#h_navi_2 {
	justify-content:flex-end;
}
#h_oikea ul#h_navi_2 li {
	margin:0 0 0 1em;
}
#h_oikea ul#h_navi_2 li a {
	color:#000000;
}
#h_oikea ul#h_navi_2 li.menu-item-196 a,
#h_oikea ul#h_navi_2 li.menu-item-1040 a,
#h_oikea ul#h_navi_2 li.menu-item-1437 a,
#h_oikea ul#h_navi_2 li.menu-item-1438 a,
#h_oikea ul#h_navi_2 li.menu-item-1073 a,
#h_oikea ul#h_navi_2 li#menu-item-934 a {

	background-color: var(--v-oranssi);
	border-style: solid 1px var(--v-oranssi);
	border-radius: 1em 1em 1em 1em;
	padding: 0em 0.9em 0em 0.9em;
	color:#ffffff;
}





#navi_toggle {
	display:none;
}

#mob_navi {
	display:none;
}
#mob_navi.show {
	display:block;
	position:absolute;
	right:0;
	z-index:100;
	padding:1em 2em;
	background-color:var(--v-vihrea);
}
#mob_navi.show ul {
	margin:0;
	padding:0;
	list-style:none;
}
#mob_navi.show ul li {
	margin:0.5em 0;
	padding:0;
}
#mob_navi.show ul li a {
	color:#ffffff;
}



#h_oikea.flex_mid {
	justify-content:flex-end;
}
.kielinavi_area {
	text-align:right;
}


#header_area ul.kielinavi {
	display:block;
	margin:0 0 0 0.5em;
	text-align:right;
}
#header_area ul.kielinavi li {
	margin:0 0 0 0.5em;
	display:inline-block;
}
#header_area ul.kielinavi a {
	color:#333333;
}

.error404 #h_vasen ul,
.error404 #h_oikea ul {
	display:none;
}

@media only screen and (max-width: 1320px) {
	#h_vasen {
		width:calc((100% - 100px)/2);
	}

	#h_logo_area {
		width:100px;
	}

	#h_oikea {
		width:calc((100% - 100px)/2);
	}
}

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


	#h_vasen ul,
	#h_oikea ul {
		display:none;
	}

	#h_logo_area {
		width:100px;
	}
	/*
	#h_oikea {
		width:calc(100% - 200px);
	}
	
	#h_oikea ul li:first-child {
		display:none;
	}
	*/
}

@media only screen and (max-width:1000px) {
	#navi_toggle {
		display:block;
		font-size:1.1em;
		width:30px;
		height:30px;
		color:#333333;
		cursor:pointer;
		text-align:right;
		white-space:nowrap;
		border:0;
		border-radius:0;
		/*
		position:absolute;
		top:1.8em;
		right:2em;*/
		float:right;
		-webkit-appearance: button;
		padding:0;
		background-color:#ffffff;
	}
	#navi_toggle span {
		display:block;
		background-color:#333333;
		height:4px;
		border: 0;
		border-radius: 2px;
		margin:0 0 4px 0;
	}
	#navi_toggle.rasti  {
		width:28px; 
		height:28px;
	}
	#navi_toggle.rasti span {
		display: none;
		position:absolute;
		width:28px; /*w/1.414 */
	}
	#navi_toggle.rasti span:first-child {
		display: block;
		transform: translate(1px, -15px) rotate(45deg) scalex(1.41421);/*0px, - ((orig w - uusiw) + paksuus/2 ) */
		transform-origin:0 0;
	}
	#navi_toggle.rasti span:last-child {
		display: block;
		transform: translate(1px, -16px) rotate(-45deg) scalex(1.41421);
		transform-origin:100% 100%;
	}
}


@media only screen and (max-width: 600px) {
	#h_palstat {
		padding:1em 1em;
	}
	
	#h_oikea ul {
		display:none;
	}
}











input[type="text"], 
input[type="email"], 
input[type="password"],
input[type="number"], 
select,
textarea {
  box-sizing: border-box;
	margin:0 0 1em 0;
	border:1px solid var(--v-sininen) !important;
	border-radius:1em !important;
	padding:0.3333em;
	line-height:2.0rem;
	width:100%;	
	max-width:100% !important;
	width:500px;
	font-size:14px;
}





.elementor-widget-html {
	margin:0 auto;
}
.change_tbl_area {
	padding:2em 0;
	background-color:var(--v-vaalea-oranssi);
	margin:0 auto;
} 
.change_tbl_area h3 {
	text-align:center;
} 
.change_tbl_area .otsikko_ja_tbl.flex_mid {
	max-width:720px;
	margin:0 auto 2em auto;
	align-items:stretch;
}
.change_tbl_area .otsikko_area {
	width:30%;
	background-color:var(--v-oranssi);
}
.change_tbl_area .tbl_area {
	width:100%;
}
.change_tbl_area .content_max_leveys  {
	width:100%;
	padding:0;
}
.change_tbl_area .content_max_leveys .otsikko_area  {
	width:100%;
	display:block;
	align-items:center;
	text-align:center;
}
.change_tbl_area .otsikko_area h3 {
	padding:1em 2em;
	margin:0;
	font-size:1.5em;
	color:var(--v-valkoinen);
}
table.change_tbl {
	width:100%;
}
table.change_tbl td {
	white-space:nowrap;
	font-size:14px;
	line-height:2;
	padding:0;
	margin:0;
	border:0;
	vertical-align:middle;
}
table.change_tbl td.ennen {
	padding:0 0 0 1em;
}
table.change_tbl td.muutos {
	padding:0 1em 0 0;
}
table.change_tbl tr:nth-child(1) td {
	background-color:var(--v-td1-oranssi);
}
table.change_tbl tr:nth-child(2) td {
	background-color:var(--v-td2-oranssi);
}
table.change_tbl tr:nth-child(3) td {
	background-color:var(--v-td3-oranssi);
}
table.change_tbl td:first-child {
	text-align:right;
	width:47%;
}
table.change_tbl td:last-child {
	text-align:left;
}
table.change_tbl .nuoli {
	display:inline-block;
	background-color:var(--v-oranssi);
	width:36px;
	height:2em;
	margin:0 0.5em;
	background-image:url(kuvat/nuoli-white.svg);
	background-size:24px 16px;
	background-repeat:no-repeat;
	background-position:50% 50%;
	vertical-align:middle;
}

@media only screen and (max-width: 1000px) {
	.change_tbl_area h2 {
		font-size:2.0em;
	} 
	.change_tbl_area .otsikko_area h3 {
		font-size:1.25em;
	} 
}

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

	}
	.change_tbl_area .otsikko_ja_tbl.flex_mid {
		display:block;
	}
	.change_tbl_area .otsikko_area {
		width:auto;
	}
	.change_tbl_area .tbl_area {
		width:auto;
	}
	table.change_tbl td {
		font-size:12px;
	}
	table.change_tbl .nuoli {
		width:22px;
		background-size:18px 12px;
	}
}



@media only screen and (max-width: 400px) {
	.change_tbl_area {

	}
	table.change_tbl td {
		font-size:11px;
	}

}

body .bold700 ul.elementor-nav-menu li.menu-ite a.elementor-item {
	font-weight:700;
	font-size:16px;
}





/*

#header_area {
	background-color:var(--v-valkoinen);
	color:var(--v-musta);
}

#h_palstat {
	padding:2em 2em;
	display:flex;
	justify-content:space-between;
	align-items:center;
}

#h_vasen {
	width:calc((100% - 110px)/2);
}

#h_logo_area {
	width:110px;
	margin:0 0;
	padding:0 0;
	text-align:center;
}

#h_oikea {
	width:calc((100% - 110px)/2);
}


@media only screen and (max-width: 1320px) {
	#h_vasen {
		width:calc((100% - 100px)/2);
	}

	#h_logo_area {
		width:100px;
	}

	#h_oikea {
		width:calc((100% - 100px)/2);
	}
}

@media only screen and (max-width: 1000px) {
	#h_palstat.flex_mid {
		justify-content:flex-start;
	}
	#h_vasen {
		display:none;
	}

	#h_logo_area {
		width:100px;
	}

	#h_oikea {
		width:calc(100% - 200px);
	}
	
	#h_oikea ul li:first-child {
		display:none;
	}
}
@media only screen and (max-width: 600px) {
	#h_palstat {
		padding:1em 1em;
	}
	
	#h_oikea ul {
		display:none;
	}
}

*/

label {
	text-transform:none !important;
}



.blog_listaus_palsta {
	background-color:#E3E1F0;
	width:35%;
}



#blog-area-otsikko {
	text-align:center;
	font-weight:bold;
	margin:0 0 1em 0;
	font-size:16px;
}
#blog-palstat {
	display:flex;
	width:100%;
	justify-content:space-between;
	align-items:stretch;
}

#blog-palsta-kirjoitus {
	width:65%;
}

#blog-palsta-kirjoitus h1 {
	line-height:1.3;
}


#archive-kirjoitukset {
	background-color:#E3E1F0;
	width:35%;
}

#archive-padding {
	padding:2em;
}
/*
#archive-kirjoitukset .blog-list {
	list-style:none;
	margin:0;
	padding:0;
}

#archive-kirjoitukset .blog-list__item + .blog-list__item {
	margin-top:.5rem;
}

#archive-kirjoitukset .blog-list__item.is-active a {
	font-weight:700;
	text-decoration:underline;
}

.archive-posts .post + .post {
	margin-top:2rem;
}

@media only screen and (max-width: 900px) {
	#blog-palstat {
		grid-template-columns:1fr;
	}
	#blog-palsta-kirjoitus {
		margin:0;
	}
}
*/
#blog-palsta-kirjoitus h2 {
	clear:both;
	margin:2em 0 1em 0;
	font-size:18px;
}

.lainaus {
	font-size:1.5em;
	padding:1em 1.5em;
}



ul.blog-list {
	margin:0;
	padding:0;
	list-style:none;
}

ul.blog-list li.blog-list__item {
	margin:0;
	padding:1em 0;
	list-style:none;
	border-bottom:1px solid #999999;
}

ul.blog-list li.blog-list__item a {
	color:#333333;
	font-weight:bold;
}