/*!
Theme Name: KLVL
Theme URI: http://underscores.me/
Author: Hahmo
Author URI: https://hahmo.fi
Version: 1.0.68
License: GNU General Public License v2 or later
Text Domain: klvl

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

KLVL is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}*{font-family:"Open Sans",sans-serif}h1{font-family:Boogaloo,sans-serif;text-transform:uppercase;font-size:4rem;line-height:1;margin:.67em 0;color:rgba(0,0,0,0.9)}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}


html,
body {
  overflow-x: hidden;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

body,
button,
input,
select,
optgroup,
textarea {
	color:rgb(42,34,50);
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6 {
	clear: both;
}

h1 {
	text-rendering:optimizeSpeed;
	font-kerning: normal;
}

h2 {
	font-weight:700;
	font-size: 28px;
	margin:48px 0 8px;
	line-height:1.2;
}

h3 {
	font-weight:900;
	margin:18px 0 0;
	line-height:1.25;
	padding-bottom:4px;
}

h4 {
	text-transform: uppercase;
	font-weight:900;
	font-size: 18px;
	margin:18px 0 0;
	line-height:1.25;
	padding-bottom:4px;
}


p {
	font-size: 1.1875rem;
	font-size: 19px;
	line-height:1.5;
	margin: 0 0 0.8em;
	/* hyphens:auto; */
}

@media screen and (max-width:640px){
	
	p {
		font-size: 16px;
	}
}

strong {
	font-weight:700;

}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}


.soft-hyphen {
	display:none;
}

@media screen and (max-width:768px){
	.soft-hyphen {
		display:inline-block;
	}
}

._organizer {
	font-weight:700;
	font-size: 15px;
	color:rgb(17, 68, 180);
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

:root :where(p.has-background) {
	padding:18px 16px 32px !important;
	margin:24px 0;
}
@media (min-width:640px){
	
	:root :where(p.has-background) {
		padding:24px 32px 32px !important;
	}
}


*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

figure {
	margin: 1em 0;
	/* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

.sivunumerot {
	width:90%;
	text-align:right;
	margin:64px 0 24px;
}
.sivunumerot .sis {
	display:inline-block;
}
.page-numbers {
	font-weight:700;
	font-size:20px;
	font-size:1.25em;
	margin:0 12px;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active, button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

input[type="email"],
input[type="search"] {
	border:0;
	
	-webkit-border-radius:0;
	border-radius:0;
	-webkit-box-shadow: inset 0px 0px 0px 999px #f6f6f6;
	-moz-box-shadow: inset 0px 0px 0px 999px #f6f6f6;
	box-shadow: inset 0px 0px 0px 999px #f6f6f6;
	
	height:32px;
	padding:3px 6px;
	vertical-align: bottom;
}

button,
input[type="submit"] {
    padding:0px 15px; 
    background:#fff;
    border:0 none;
    cursor:pointer;
    -webkit-border-radius:0;
    border-radius:0;
    color:#fff;
    font-weight:700;
    font-size:0.8rem;
    line-height:1;
    height:32px;
    text-transform:uppercase;
    transition:background 300ms;  
}
button:hover,
input[type="submit"]:hover {
    background:rgba(255,255,255,0.7); 
}
.site-main button,
.site-main input[type="submit"] {
    background:rgb(42,34,50);
    color:#fff;
}
.site-main button:hover,
.site-main input[type="submit"]:hover {
    background:rgba(42,34,50,0.7); 
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a {
	color: rgb(220, 30, 69);
	text-decoration:none !important;
	outline: 0;
	transition:color 300ms;
}
a.pieni {
	font-size: 0.75rem;
	text-transform: uppercase;
	font-weight:600;
}

a:hover {
	color: #000;
}

a:focus {
	outline: 0;
}

a:hover, a:active {
	outline: 0;
}

a.toiminto {
	font-size: 13px;
	font-size: 0.8125rem;
	text-transform: uppercase;
	font-weight:800;
	color:rgb(220, 30, 69);
}
a.toiminto:hover {
	color:rgb(42, 34, 50);
}

h2.widget-title a {
	color:rgb(42, 34, 50);
	transition:color 300ms;
	display:inline-block;
}
h2.widget-title a:hover {
	color: rgb(220, 30, 69);
}

/*--------------------------------------------------------------
## Yläpalkki
--------------------------------------------------------------*/

body.home .ylapalkki {
	width:100%;
	min-height:300px;
	max-height:700px;
	max-width:1300px;
	margin:0 auto;
	position:relative;
	display:table;
	overflow:hidden;	
}

body.home .ylapalkki h1 {
	margin:0 32px;
	font-size:120px;
	font-size:7.5rem;
	color:#fff;
	text-align:center;
	z-index:1;
	position:relative;
	display:table-cell;
	vertical-align:middle;
}

body.home .ylapalkki .img_holder {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;	
	overflow:hidden;	
}
body.home .ylapalkki .img {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-size:cover;
	background-position:center center;
}

body:not(.home) .ylapalkki {
	width:100%;
	max-width:1300px;
	margin:0 auto;
	position:relative;
}



body:not(.home) .ylapalkki h1 {
	font-size:86px;
	font-size:5.375rem;
	line-height:1;
	max-width:900px;
	color:rgb(255, 40, 79);
}
body:not(.home) .ylapalkki h1::after {
	content:"";
	display:block;
	border-top:14px solid rgb(255, 40, 79);
	margin-top:12px;
	width:80px;
}
body:not(.home).single[class*="jasenyhd"] .ylapalkki h1.entry-title {
	font-size:60px;
	font-size:3.75rem;	
	color:rgb(17, 68, 180);
}

body:not(.home).single[class*="jasenyhd"] .ylapalkki h1.entry-title::after {
	border-top:12px solid rgb(17, 68, 180);
	margin-top:10px;
}

/*--------------------------------------------------------------
## Yläpalkki, päätason kuva (template-part)
--------------------------------------------------------------*/

.paatason_kuva {
	position:absolute;
	top:72px;
	z-index:-1;
	pointer-events:none;
	margin-left:-850px;
	margin-top:-230px;
	opacity:1;
	transition:margin-left 300ms;
	background-position:center center;
	background-size:cover;
	
	width:867px;
	height:867px;
	
}
.paatason_kuva .savytys {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:rgba(0,30,50,0.05);
}
.paatason_soikiomaski {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

@media screen and (max-width:768px){
	.paatason_kuva {
		margin-left:-2000px;
	}
}
/*--------------------------------------------------------------
## Yläpalkki, valikko
--------------------------------------------------------------*/

.site-branding {
	position:absolute;
	z-index:999;
}
.custom-logo-link {
	width:150px;
	margin:7px 8px 8px 0;
}
@media screen and (max-width:1320px){
	.custom-logo-link {
		margin-left:8px;
	}
}



.site-header {
	position:relative;
	z-index:999;
}
.site-branding {
	position:absolute;
}
.site-branding img {
	height:70px;
	width:auto;
}


.main-navigation ul {
	list-style: none;
}
.paavalikko,
.paavalikko ul {
	padding:0;
	margin:0;
}

.paavalikko {	
	float:right;
}
.paavalikko > li {
	float: left;
	position: relative;
}
.paavalikko > li:hover > ul {
	display:block;
	right:0;
}
.paavalikko ul {
	float: left;
	position: absolute;
	z-index: 99999;
	margin-right:24px;
}

.paavalikko > li > ul {
	width:300px;
	margin-right:0; 
	text-align: right;
	display:none;
}

.paavalikko ul ul {
	display:none;
	top:4px;
	left:300px;
	text-align: left;
}

.paavalikko > li > ul > li:hover > ul,
.paavalikko > li > ul > li.focus > ul {
	display:block;
}

.paavalikko a {
	font-weight:600;
	font-size:14px;
	letter-spacing:1px;
	color:rgb(42,34,50);
	text-decoration: none;
	text-transform: uppercase;
	display: block;
	padding:32px 22px;
	transition:none;
}
.paavalikko a[href*="#"] {
	cursor:default;
}
.paavalikko ul a {
	width: 300px;
}
.paavalikko > li > a {
	background-color:#fff;
}
.paavalikko > li > ul a {
	background-color:rgba(42,34,50,0.9);
	color:#fff;
}

.paavalikko ul ul a {
	background-color:rgba(42,34,50,0.9);
	margin-left:4px;
}


.paavalikko > li.current-menu-ancestor > a,
.paavalikko > li.current-menu-parent > a {
	background-color:#f2f2f2;
}
.paavalikko > li > ul > li.current-menu-ancestor > a,
.paavalikko > li > ul > li.current-menu-parent > a {
	background-color:rgb(42,34,50);
}
.paavalikko ul ul > li.current-menu-ancestor > a,
.paavalikko ul ul > li.current-menu-parent > a {
	background-color:rgb(42,34,50);
}

.paavalikko > li > ul > li.current-menu-item > a,
.paavalikko ul ul > li.current-menu-item > a,
.paavalikko > li.current-menu-item > a {
	background-color:rgb(255,40,79);
	color:#000;
}

.paavalikko > li > ul a:not([href*="#"]):hover {
	background-color:rgb(42,34,50);
	color:#fff;
}
.paavalikko > li > a:not([href*="#"]):hover {
	background-color:rgba(42,34,50,0.9);
	color:#fff;
}

























.pikkuvalikon_tausta {
	position:fixed;
	z-index:99998;
	background-color:rgb(42,34,50);
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:none;
}
.pikkuvalikko {
	position:relative;
	z-index:99999;
	display:none;
	padding:72px 0;
	margin:0 auto;
	width:90%;
}
.pikkuvalikko ul {
	padding:0;
}
.pikkuvalikko li {
	margin:32px 0;
}
.pikkuvalikko > li {
	margin-top:56px;
}
.pikkuvalikko a {
	color:#fff;
	font-size:18px;
	line-height:1;
	letter-spacing:1px;
}
.pikkuvalikko a:hover {
	color:rgb(220, 30, 69);
}

.pikkuvalikko > li > a {
	text-transform:uppercase;
	font-weight:800;
}
.pikkuvalikko > li > ul > li a[href*="#"] {
	color:rgba(255,255,255,0.5);
	cursor:default;
}




.menu-toggle {	
	position:absolute;
	right:0;
	width:36px;
	height:36px;
	cursor:pointer;
	z-index:99999;
	top:16px;
	right:24px;
	display:none;

}

.main-navigation > div.menu-toggle {
	margin:0 20px;
}

.menu-toggle svg {
	fill:none;
	stroke:rgb(42,34,50);
	stroke-width:7;
	position:absolute;	
}
.menu-toggle svg#menu_toggle_button_svg_open {
	stroke:#fff;
}
.menu-toggle:hover svg,
.menu-toggle:hover svg#menu_toggle_button_svg_open {
	stroke:rgb(220, 30, 69);
}



@media screen and (max-width: 1024px) {
	.paavalikko {
		height:85px;
	}
	.paavalikko * {
		display:none;
	}
	body:not(.home) .entry-content {
		padding-top:48px;
	}
}

body .menu-toggle svg#menu_toggle_button_svg_open,
body .menu-toggle svg#menu_toggle_button_svg_closed {
	display:none;
}

@media screen and (max-width: 1024px) {
	
	.menu-toggle {
		display:block;
	}
	body.toggled .pikkuvalikon_tausta,
	body.toggled .pikkuvalikko {
		display:block;
	}
	
	body.toggled .menu-toggle svg#menu_toggle_button_svg_open {
		display:block;	
	}
	body:not(.toggled) .menu-toggle svg#menu_toggle_button_svg_closed {
		display:block;
	}
	body.toggled .ylapalkki,
	body.toggled .site-content,
	body.toggled .site-footer {
		position:fixed;
	}
}




.site-main .comment-navigation, .site-main
.posts-navigation, .site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 200px;
	margin-bottom:72px;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 200px;
	margin-bottom:72px;
}
/*--------------------------------------------------------------
# Artikkelikuva
--------------------------------------------------------------*/

.artikkelikuvakehys {
	position:absolute;
	width:390px;
	height:390px;
	overflow:hidden;
	z-index:-1;
	left:-30px;
	margin-top:26px;			
}

@media screen and (max-width: 960px){
	.artikkelikuvakehys {
		width:260px;
		height:260px;
	}
}
@media screen and (max-width: 768px){
	.artikkelikuvakehys {
		position:relative;
	}
	body.single-post .artikkelikuvakehys {
		margin-top:-48px;
	}
}
.artikkelikuva {
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	position:absolute;
	top:2px;
	right:2px;
	bottom:2px;
	left:2px;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

.piilota {
	display:none;
}
.clear {
	clear:both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
	/* Make sure select elements fit in widgets. */
}

.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}



.updated:not(.published) {
	display: none;
}
.site-header,
.site-content,
.site-footer #footer-sidebar,
.site-info {
	max-width:1300px;
	margin:0 auto;
}
body.page .site-content {
	min-height:800px;
}
.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 7em;
}

.entry-summary {
	margin-bottom: 3em;
}
.entry-content {
	margin-top:0;
}

@media screen and (max-width:768px){
	.page-content,
	.entry-content,
	.entry-summary  {
		margin-bottom:0;
	}
	body:not(.single-post) .entry-content {
		padding-top:0 !important;
	}
}



.entry-content > h6,
.entry-content > ._lead,
.entry-content .etusivun_ingressi > h6,
.entry-content .etusivun_ingressi > ._lead {
	font-size:1.5em;
	line-height:1.3;
	font-weight:400;
}

.entry-content .etusivun_ingressi {

	width:70%;
	min-width:500px;
	margin:0 auto;
	background-color:#fff;
	display:block;
	position:relative;
	
	transform:translateY(200%);
	transition:transform 300ms; /* ease-out; */
	opacity:0;
}

body.home[data-anim="ok"] .entry-content .etusivun_ingressi {
	transform:translateY(0);
	opacity:1;
}

body.home .entry-content .etusivun_ingressi > h6,
body.home .entry-content .etusivun_ingressi > ._lead {
	text-align:center !important;
	width:100%;
	padding:5% 10% 5%;
	margin:-56px 0 0;
}

@media screen and (max-width:600px){
	.entry-content .etusivun_ingressi {
		width:95%;
		min-width:0;
		margin-bottom:24px;
	}
}

body.home:not(.home) .entry-content h6 {
	margin:0 0 64px;
}
body.home:not(.home) .entry-content ._lead {
	margin:0 0 64px;
}

.entry-content blockquote {
	text-align:right;
	max-width:360px;
	position:absolute;
	transform:translateX(-120%);	
}
@media screen and (max-width:900px){
	.entry-content blockquote {
		text-align:left;
		position:relative;
		max-width:500px;
		transform:translateX(0);
		margin:32px 0 33px -64px;
	}	
}

.entry-content blockquote,
.entry-content blockquote * {
	font-size:26px;
	line-height:1.1 !important;
	color:rgb(255, 40, 79);
}

/* sisennys */

@media screen and (min-width:640px){

	body:not(.home) .entry-content h3:not(.nosto),
	body:not(.home) .entry-content h4:not(.nosto),
	/* body:not(.home) .entry-content p:not(.nosto):not(.has-background), */
	body:not(.home) .entry-content p:not(.nosto),
	body:not(.home) .entry-content .wp-block-file,
	.entry-content hr,
	.entry-content .karttaraami,
	.wp-block-image,
	.wp-block-button {
		margin-left: 64px !important;
	}
}

.entry-content .karttaraami {
	height:450px;
	margin-top:32px;
}

body:not(.home) .entry-content .henkilokortti h3,
body:not(.home) .entry-content .henkilokortti p {
	margin-left: 6px !important;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

@media screen and (max-width:1340px){
	
	.site-header,
	.site-content,
	.site-info,
	body:not(.home) .ylapalkki {
		padding:0 32px;
		transition:padding 300ms;
	}
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	/* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}


/*--------------------------------------------------------------
## Sivupalkki
--------------------------------------------------------------*/

/*
	Sidebar-Content, vrt. /layouts/sidebar-content.css
	https://developer.wordpress.org/themes/basics/template-files/
*/

.content-area {
	float: right;
	margin: 0 0 0 -33.3%;
	width: 100%;
}
.site-main {
	margin: 0 0 0 33.3%;
}
.site-content .widget-area {
	float: left;
	overflow: hidden;
	width: 28%;
	z-index:1;
	position:relative;
	overflow:visible;
}

@media screen and (max-width:768px){
	.site-content .widget-area {
		float: none;
		width: 100%;
		padding:0 !important;
	}
}

body.home .site-content .widget-area {
	background-color:#fff;
}
.site-footer {
	clear: both;
	width: 100%;
}

.no-sidebar .content-area {
	float: none;
	margin: 0;
}
.no-sidebar .site-main {
	margin: 0;
	width: 100%;
}

/*
 	Content-Sidebar, vrt. /layouts/content-sidebar.css
*/

body.home .content-area {
	float: left;
	margin: 0 -33.3% 0 0;
	width: 100%;
}
body.home .site-main {
	margin: 0 33.3% 0 0;
}
body.home .site-content .widget-area {
	float: right;
}





body:not(.home) .widget-area {
	margin-top:300px;
	max-width:250px;
}
@media screen and (max-width:768px){
	body:not(.home) .widget-area {
		margin-top:0;
	}
}
body.page-id-266 .widget-area {
	margin-top:48px;
	max-width:250px;
}

@media screen and (max-width:768px){
	body.page-id-266 .widget-area  {
		margin:0 0 2em;
	}
}
body[class*="jasenyhd"] .widget-area {
	margin-top:48px;
	max-width:250px;
}
body.home .widget-area {
	padding:0 0 0 40px;	
}
body.home .widget-area .widget {
	margin-bottom:48px;	
}

h2.widget-title,
h2.widget-title a {
	text-transform:uppercase;
	letter-spacing:1px;
	font-size:16px;
	font-size:1rem;
	line-height:1.1 !important;
}

h2.widget-title::before,
body:not(.home) .widget-area .widget_rss ul::after {
	padding:16px 0 0 0;	
    content: "";
    display: block;
    border-top: 14px solid rgb(255, 40, 79);
    width: 80px;
}
body.home .widget-area li a.rsswidget::before {
	padding:0 4px 0 0;	
    content: "\2192";
    display: inline-block;
}

body.home h2.widget-title {
	line-height:1;
	margin:0;
}



.widget-area ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.widget-area li {
	margin:16px 0;
	line-height:1.2;
}

.widget-area a {
	color:rgb(42,34,50);
	text-decoration:none;
	transition:color 300ms;
}
.widget-area a:hover {
	color:rgba(42,34,50,0.7);
}

body:not(.home) .widget-area h2,
body:not(.home) .widget-area h2 a {
	color:rgb(255, 40, 79);
}
body:not(.home) .widget-area h2:hover,
body:not(.home) .widget-area h2:hover a {
	color:rgb(42,34,50);
}

.widget-area h5 {
	text-transform:uppercase;
	font-size: 0.8125em;
	margin: 16px 0 0 0;
}

.widget-area p,
.widget-area li {
	font-size:0.9375em;
}


.liity-tilaa {
	padding-top:8px;
	margin-left:-24px;
	position:relative;
}
.liity-tilaa img {
	max-width:240px;
	margin-bottom:24px;
	transition:transform 100ms;
}
.liity-tilaa a:hover img {
	transform:translateY(-8px);
}
@media screen and (max-width:768px){
	.liity-tilaa {
		margin-left:0;
	}
}


@media screen and (max-width:768px){
	.content-area,
	body.home .content-area,
	.site-content .widget-area,
	body.home .site-content .widget-area {
		float: none;
		margin: 0;
	}
	.site-main {
		margin: 0;
		width: 100%;
	}
	.widget-area {
		margin-top:0;
	}
	.widget-area .palsta,
	.widget-area .palsta * {
		clear:both !important;
	}
}

body:not(.home):not(.no-sidebar) .site-main,
body:not(.home):not(.no-sidebar) article {
	max-width:700px;
}

/*--------------------------------------------------------------
## Nostot etusivulle (lyhytkoodi)
--------------------------------------------------------------*/

#kehys_nostot-etusivulle {
	margin:0 !important;
	background-color:#fff;
	z-index:9;
	position:relative;
	opacity:0;	
}

#kehys_nostot-etusivulle .palsta {
	margin:0 8px 0 0;
	position:relative;
	float:left;
	overflow:hidden;
	cursor:default;	
}
#kehys_nostot-etusivulle .palsta a.sis {
	text-decoration:none;
	display:block;
	position:relative;	
}
#kehys_nostot-etusivulle .palsta .tekstit {
	width:85%;
	padding-bottom:24px;
}

@media screen and (max-width:600px){
	#kehys_nostot-etusivulle .palsta .tekstit {
		width:100%;
	}
}
#kehys_nostot-etusivulle .palsta .tekstit p.date {
	font-size:14px;
	font-size:1rem;
	margin:12px 0 0;
}
#kehys_nostot-etusivulle .palsta .tekstit h3 {
	margin:8px 0 0;
}

#kehys_nostot-etusivulle .sis {
	width:100%;
	padding-bottom:70%;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;	
	transition:transform 100ms;
}
#kehys_nostot-etusivulle a:hover {
	transform:translateY(-10px);
}
#kehys_nostot-etusivulle .sis[style*="/klvl/img/tapahtuman-tausta.png"] {
	background-size:contain;
}

/*--------------------------------------------------------------
## Tapahtumat (lyhytkoodi)
--------------------------------------------------------------*/
/*
#kehys_tapahtumat {
	opacity:0;
}
*/

#kehys_tapahtumat h4 {
	margin-top:96px !important;
	margin-bottom:14px; 	
	padding-top:18px !important; 
	text-transform: uppercase;
	border-top:1px solid rgb(42,34,50);
	margin-left:0 !important; 
}

#kehys_tapahtumat .palsta:after {
	margin-bottom:48px;
}
#kehys_tapahtumat .palsta a.sis {
	text-decoration:none;
	display:block;
	position:relative;
	
}
#kehys_tapahtumat .palsta a.sis .pv_kk {
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:90%;
	display:table;
	text-align:center;
}

#kehys_tapahtumat .palsta a.sis .pv_kk .pv_kk_sisempi {
	color:rgb(42,34,50);
	font-size:4rem;
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	margin-top:20px;
	letter-spacing:-0.1rem;
}
#kehys_tapahtumat .palsta a h3 {
	color:rgb(42,34,50) !important;
}
#kehys_tapahtumat  a.toiminto {
	font-size: 13px;
	text-transform: uppercase;
	font-weight:700;
}


#kehys_tapahtumat .palsta {
	position:relative;
	margin:0 8px 0 0;
	float:left;
	overflow:hidden;
	cursor:default;
}
#kehys_tapahtumat .sis {
	width:100%;
	padding-bottom:70%;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;	
	transition:transform 100ms;
}
#kehys_tapahtumat a:hover {
	transform:translateY(-10px);
}
#kehys_tapahtumat .sis[style*="/klvl/img/tapahtuman-tausta.png"] {
	background-size:contain;
}

/*--------------------------------------------------------------
## Tapahtumat sivupalkkiin (lyhytkoodi)
--------------------------------------------------------------*/



.palsta.tapahtuma-sivupalkkiin {
	width:91%;
	margin-right:16px;
	overflow:hidden;
	position:relative;
	float:left;
	margin-bottom:16px;
	overflow:visible;
}
	
.palsta.tapahtuma-sivupalkkiin .kuvakehys {
	width:45%;
	padding-bottom:45%;
	float:left;
	position:relative;
	overflow:hidden;
}

.palsta.tapahtuma-sivupalkkiin .kuva.sis {
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	position:absolute;
	top:2px;
	right:2px;
	bottom:2px;
	left:2px;
}

.soikiomaski {
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	outline:3px solid #fff;
}

#soikiomaski {
	fill:#fff;
}

.palsta.tapahtuma-sivupalkkiin p {
	position:relative;
	width:55%;
	float:left;;
	word-wrap:normal;
}

.palsta.tapahtuma-sivupalkkiin .tekstit {
	z-index:1;
	position:relative;
	width:55%;
	float:left;
}	


@media screen and (max-width:768px){
	.palsta.tapahtuma-sivupalkkiin .kuvakehys {
		display: none;
	}
	.palsta.tapahtuma-sivupalkkiin .tekstit {
		width: 100% !important;
	}
}


#kehys_tapahtuma-sivupalkkiin {
	margin:16px 0 0 -12px;
}
.palsta.tapahtuma-sivupalkkiin .kuvakehys {
	transition:transform 200ms;
}
.palsta.tapahtuma-sivupalkkiin:hover .kuvakehys {
	transform:translateY(-8px);
}
.palsta.tapahtuma-sivupalkkiin {
	cursor:pointer;
}
@media screen and (max-width:768px){
	#kehys_tapahtuma-sivupalkkiin {
		margin-left:0;
	}
}



/*--------------------------------------------------------------
# Ruudukko (template-part)
--------------------------------------------------------------*/

.ruudukko {
	opacity:0;
}

.ruudukko h4 {
	margin-top:96px !important;
	margin-bottom:14px; 	
	padding-top:18px !important; 
	text-transform: uppercase;
	border-top:1px solid rgb(42,34,50);
	margin-left:0 !important; 
}

.ruudukko .palsta:after {
	margin-bottom:48px;
}
.ruudukko .palsta a.sis {
	text-decoration:none;
	display:block;
	position:relative;
	
}
.ruudukko .palsta a.sis .pv_kk {
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:90%;
	display:table;
	text-align:center;
}

.ruudukko .palsta a.sis .pv_kk .pv_kk_sisempi {
	color:rgba(42,34,50,1);
	font-size:4rem;
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	margin-top:20px;
	letter-spacing:-0.1rem;
}
.ruudukko .palsta a h3 {
	color:rgba(42,34,50, 1) !important;
}
.ruudukko  a.toiminto {
	font-size: 13px;
	text-transform: uppercase;
	font-weight:700;
}


.ruudukko .palsta {
	position:relative;
	margin:0 8px 0 0;
	float:left;
	overflow:hidden;
	cursor:default;
}
.ruudukko .sis {
	width:100%;
	padding-bottom:70%;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;	
	transition:transform 100ms;
}
.ruudukko a:hover {
	transform:translateY(-10px);
}
.ruudukko .sis[style*="/klvl/img/tapahtuman-tausta.png"] {
	background-size:contain;
}

/*--------------------------------------------------------------
# Temp.
--------------------------------------------------------------*/

.phpeverywherewidget h2 {
	display:none;
}

iframe[src*="facebook"] {
	margin:16px 0 0;
}
.site-footer {
	background-color:rgb(42,34,50);
	/* padding-top:12px; */
}
.site-info {
	margin-top:48px;
	margin-bottom:48px;
}
.site-info,
.site-info * {
	font-size:11px;
	text-transform:uppercase;
	color:#fff !important;
}

.kuvake {
	margin:0 0 6px;
}
.kuvake:first-of-type {
	margin:18px 0 6px;
}
.cff-item {
	border:none !important;
	padding:0 !important;
}
.cff-post-text {
	margin-bottom:10px !important
}
.cff-post-links {
	padding:0 !important;
}
.cff-post-links::after {
    content: "";
    display: block;
    border-top: 1px solid rgb(42,34,50);
    width: 60px;
    position:relative;
    margin:16px 0;
}
.cff-date {
	font-size: 13px !important;
	font-size: 0.8125rem !important;
	text-transform: uppercase;
	font-weight:800;
}
.cff-wrapper {
	width:85% !important;
}
#sb_instagram {
	width:85% !important;
	margin:0 0 144px;
}


.ff-stream {
	margin: 0 0 0 -10px;
}
.ff-stream-wrapper {
	margin-top: 0 !important;
}

.ff-item-meta .ff-userpic,
.ff-item-meta h6,
.ff-loadmore-wrapper {
	display:none !important;
}


.ff-item-bar i,
.ff-item-bar span {
	font-size: 16px !important;
	font-size: 1rem !important;
}

.rss-widget-icon {
	display:none;
}



#footer-sidebar * {
	color:#fff !important;
}
#footer-sidebar .widget_search form * {
	color:#222 !important;
}

#footer-sidebar > div {
	width:30%;
	box-sizing:border-box;
	float:left;
	margin-right:3%;
}
@media screen and (max-width:1320px){
	#footer-sidebar {
		margin-left:32px !important;
	}
}
@media screen and (max-width:900px){
	#footer-sidebar > div {
		width:96%;
	}
}

#footer-sidebar h3 {
	margin-top:40px;
	margin-bottom:6px;
}

#footer-sidebar p {
	font-size:16px;
	font-size:1rem;
}

#footer-sidebar ul[class*="menu"] {
	list-style: none;
	padding:0;
	margin:0;
}
#footer-sidebar ul[class*="menu"] ul {
	list-style: none;
	margin:0 0 8px 32px;
}

#footer-sidebar a {
	opacity:1;
	transition:opacity 300ms;
}

#footer-sidebar a:hover {
	opacity:0.5;	
}

/*--------------------------------------------------------------
# Kortit: Henkilöt, vertaistarinat
--------------------------------------------------------------*/

.kortti {
	width:320px;
	padding:6px 0;
	margin:0 16px 16px 0;
	float:left;
}

.kortti * {
	margin-left:0 !important;
}

.kortti.tekstipalstassa {
	margin:24px 16px 48px 0;
	position:relative;
	transition:left 600ms;
}
@media screen and (max-width:640px) {
	.kortti.tekstipalstassa {
		left:0;
	}
}
.kortti .kuvakehys {
	width:190px;
	height:190px;
	overflow:hidden;
	position:relative;
	left:36px;				
}
.kortti .kuva {
	background-position:center top;
	background-size:cover;
	background-repeat:no-repeat;
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;				
}
.kortti .kuva:after {
	content:"";
	display:block;
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	background-color:rgba(0,0,0,0.05);				
}
.kortti .soikiomaski {
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
}
.kortti .tiedot {
	margin:0 24px 0 12px;			
}
.kortti p {
	font-size:16px;
	font-size:1rem;
	line-height:1.2;
}

a .kortti {
	color:#222;
}
a .kortti:hover {
	color:rgb(255, 40, 79);
}
.lainaus {
	font-size:220px;
	line-height:200px;
	text-align:left;
	font-family:Boogaloo, sans-serif;
	color:rgb(255, 40, 79);
	margin:14px 0 -100px 10px;
	transition:transform 300ms;
	transform-origin:40px 50px;
}

a.kortti:hover .lainaus {
	transform:rotate(-10deg);
}



/*--------------------------------------------------------------
# Some
--------------------------------------------------------------*/

.some-linkit {
	margin-top:12px;
}

.some-linkit a {
	margin:0 8px 8px 0;
	position:relative !important;
	top:0 !important;
	transition:top 200ms !important;
	opacity:1 !important;
}

.some-linkit svg {
	fill:#fff;
}

.some-linkit a:hover {
	top:-6px !important;
}


/*--------------------------------------------------------------
# Cookie Consent
--------------------------------------------------------------*/
/*
.cc-window {
	background:rgba(0,0,0, 0.9) !important;
}
.cc-revoke {
	background-color:rgb(251, 188, 67) !important;
	color:rgb(42,34,50) !important;
	font-family:"Open Sans",sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	text-transform:uppercase !important;
	right:10% !important;
	left:auto !important;
	border-radius:0 !important;
}
.cc-revoke:hover {
	background:rgb(42,34,50) !important;
}
.cc-revoke:hover {
	color:#fff !important;
}
.cc-revoke.cc-animate {
	transform:translateY(1px) !important;
}
*/

/*--------------------------------------------------------------
# Gutenberg
--------------------------------------------------------------*/
.wp-block-button__link,
.wp-block-file__button {
	border-radius:0 !important;
	background-color:rgb(42, 34, 50) !important;
	transition:background-color 300ms;
}
.wp-block-button__link:hover,
.wp-block-file__button:hover {
	background-color:rgb(255, 40, 79) !important;
}


/*--------------------------------------------------------------
# Youtube-upotukset
--------------------------------------------------------------*/

figure a[href*="//youtu.be"],
figure a[href*="//youtu.be"] * {
	transform:none !important;
}

figure a[href*="//youtu.be"] {
	line-height:1.5;
	position:relative;
	z-index:1;
}
figure a[href*="//youtu.be"]::after {	
	content:'';
	display:block;
	position:absolute;
	bottom:4px;
	left:16px;
	width:72px;
	height:72px;
	background-image:url(img/youtube.svg);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:90%;
	transition:background-size 150ms;
	z-index:2;
}
figure a[href*="//youtu.be"]:hover::after {	
	background-size:100%;
}
figure a[href*="//youtu.be"] + figcaption > em {
	font-size:11px;
	line-height:1.5;
	display:block;
	text-transform: uppercase;
	font-style:normal;
	margin-top:6px;
	width:95%;
	max-width:500px;
}
figure a[href*="//youtu.be"] + figcaption {	
	margin-bottom:40px;
}
