﻿/* HUOM! Jos tyylit (esim. tekstin värit ja koot) halutaan
	näkymään myös sisältöeditorissa, on tarpeelliset tyylit
	järkevintä siirtää jaettuun tyylitiedostoon palvelimelle.
	Em. tyylitiedostot löytyvät Web.config:in
	(CSSFilesPhysicalPath) ilmoittamasta paikasta palvelimelta. */

/* Yleiset tyylit ----------- */

html {
	position: relative;
	min-height: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

body, html {
	margin: 0;
	padding: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	background-color: var(--surface-background);
	padding-top: 74px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
}



body {
	/* footer-margin: bodyn alamargin määrittelee footerin yläpuolella olevan tyhjän tilan. */
	margin-bottom: 110px; /* footerin korkeus on 150px, joten nyt jää 50px tyhjää */
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
}


body {
	font-size: 16px;
	line-height: 20px;
	color: var(--text-secondary);
}

.content {
	background: var(--surface-background);
	overflow: hidden;
}

p {
	line-height: 150%!important
}

	p a {
		text-decoration: underline;
		color: var(--text-brand);
	}

/*javascriptille tieto media queryistä*/
#screenmode {
	width: 1px;
}

/*
body.nofooter
{
	margin-bottom: 1150px !important;
	background-color: Red !important;
}
*/

form {
	margin: 0;
	padding: 0;
}

img {
	border: none;
}

img.fleximg {
	width: 100%;
	height: auto;
}

h1, h2, h3, h4, h5, .bookmark-title {
	margin: 0;
}

h1 {
	font-size: 50px;
	line-height: 60px;
	color: var(--text-primary);
	font-weight: normal;
	font-family: 'Hanken Grotesk', sans-serif;
}

h2 {
	font-size: 35px;
	line-height: 40px;
	color: var(--text-primary);
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-family: 'Hanken Grotesk', sans-serif;
}

h3 {
	font-size: 28px;
	line-height: 28px;
	color: var(--text-primary);
	font-weight: normal;
}

h4 {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 21px;
	line-height: 25px;
	color: var(--text-primary);
	font-weight: normal;
}

h5 {
	font-size: 18px;
	font-family: 'Hanken Grotesk', sans-serif;
	line-height: 25px;
	/*font-weight:bold;*/
	color: var(--text-primary);
}

b, strong {
	font-weight: bold;
}

.floatbox-white {
	background-color: var(--surface-elevation-1);
}

.important {
	color: #ff5400;
}

.content {
	padding: 30px;
	padding-top: 30px;
	padding-bottom: 15px;
	/* yläreunan tyhjä tila: +30px laatikoista = 70px */
	margin-left: 0px; /* vain padi- ja kännykkänäkymät saavat marginia sivuille */
	margin-right: 0px; /* vain padi- ja kännykkänäkymät saavat marginia sivuille */
	box-sizing: border-box;
}

.colcontent h5 {
	margin-bottom: 20px;
}

a {
	font-weight: normal;
	line-height: 20px;
	color: #a04191;
	text-decoration: none;
}

/*a.visited:before {
	display: inline-block;
	float: left;
	color: #c0c0c0;
	content: " ";
	margin-right: 3px;
	height: 1em;
	width: 1em;
	background: url(../pics/visited.png) center center no-repeat;
	background-size: contain;
}*/

	a.visited {
		color: #4D4D4D !important;
	}

.searchresultcontainer a.visited .path,
.searchresultcontainer a.visited .excerpt {
	color: var(--text-tertiary);
}



a:hover {
	color: rgb(160, 65, 145);
}

a.bold {
	font-weight: normal;
}

a.block {
	display: block;
}

a.modulelink {
	font-size: 16px;
}

.sublevel3 a {
	color: #464646;
}

.sublevel3 a:hover {
	color: #98c13e;
}



.headermenucontainerright {
	float: right;
	position: relative;
}

body .dbreader {
	display: none;
}

/*--------------------------*/

/*.foldmenu {
	position: absolute;
	z-index: 5000;
	bottom: -7px;
	height: 1px;
	left: 0px;
	right: 1px;
	overflow: visible;
	display: none;
	text-align: left;
}*/

.foldmenu {
	display: none;
}

.loginlayer {
	margin-top: 7px !important;
	z-index: 5000 !important;
	border-top: 1px solid #cccccc !important;
}

.foldmenu:after, .idLoginBox:after {
	content: "";
	position: absolute;
	top: -13px;
	left: 26px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 15px 10px;
	border-color: transparent transparent #ffffff transparent;
}

.foldmenu:before, .idLoginBox:before {
	content: "";
	position: absolute;
	top: -14px;
	left: 24px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 12px 17px 12px;
	border-color: transparent transparent #c8c8c8 transparent;
}

.idLoginBox:after {
	left: auto;
	right: 60px;
}

.idLoginBox:before {
	left: auto;
	right: 58px;
}

.loginlayer-inner {
	background-color: #ffffff;
	position: relative;
}

/*.open-fold-menu > .foldmenu:after, .open-fold-menu > .foldmenu:before {
	margin-left: -23px;
}*/

.open-fold-menu:focus-visible {
	border: 2px solid #000;
}

.open-fold-menu > .foldmenu:after, .open-fold-menu > .foldmenu:before {
}
.open-fold-menu > img {
	height: 25px;
	margin-left: 10px;
	transform: rotate(270deg);
	vertical-align: middle;
}

.bookmarksmenu {
	right: -1px !important;
	left: 0px !important;
	background-color: #fff;
}

/*.foldmenu .menucontainer {
	width: 269px;
	border: 1px solid #c0c0c0;
	background-color: #cccccc;
	min-height: 40px;
}*/

.foldmenu .menucontainer {
	width: auto;
	border: none;
	min-height: auto;
	background-color: var(--surface-elevation-1);
}

.foldmenu .menucontainer li.root {
	position: relative;
}

.foldmenu .menucontainer li.root a, .foldmenu .menucontainer li.root .foldmenutitle {
	font-size: 15px;
	display: block;
	padding: 16px;
	margin-bottom: 1px;
	background-color: #ffffff;
	overflow: hidden;
	float: none !important;
	line-height: 20px;
	color: #666;
}

.foldmenu .menucontainer li.root .foldmenutitle {
	cursor: default;
}

.foldmenu-subitem > * {
	-webkit-box-shadow: 0 -1px 0 #e8e8e8;
	-moz-box-shadow: 0 -1px 0 #e8e8e8;
	box-shadow: 0 -1px 0 #e8e8e8;
}

.foldmenu-subitem:first-child > * {
	-webkit-box-shadow: inset 0 10px 10px -10px rgba(0,0,0,0.2);
	-moz-box-shadow: inset 0 10px 10px -10px rgba(0,0,0,0.2);
	box-shadow: inset 0 10px 10px -10px rgba(0,0,0,0.2);
}

i.foldbookmarkspath {
	display: block;
	color: var(--text-tertiary);
	font-size: 13px;
}

.foldmenu .menucontainer li.root a:hover {
	color: #000;
}

.foldmenu .menucontainer li.root a.hasico {
	padding-left: 46px;
	position: relative;
}

.foldmenu .menucontainer li.root a.hasico span {
	display: block;
	position: absolute;
	width: 30px;
	height: 30px;
	top: 10px;
	left: 16px;
	background: url(../pics/icons.png) no-repeat;
}

.foldmenu .menucontainer li.root div a.isexpandable {
	margin-right: 50px !important;
}

.expandcontainer {
	position: relative;
}

.foldmenu .menucontainer li.expanded div .sublevel2 {
	display: block;
}

.foldmenu .menucontainer li.expanded .sublevel2, .foldmenu .menucontainer .sublevel2 li.expanded .sublevel3, .foldmenu .menucontainer .sublevel3 li.expanded .sublevel4 {
	display: block;
}

.foldmenu .menucontainer li.root a span.foldicohome {
	background-position: -1525px -177px;
}

.foldmenu .menucontainer li.root a:hover span.foldicohome {
	background-position: -1525px 3px;
}

.foldmenu .menucontainer li.root a span.foldicobookmarks {
	background-position: -356px -178px;
}

.bookmarksmenu .menucontainer li.root a span.foldicobookmarks {
	background: none;
}

.bookmarksmenu .menucontainer li.root a span.foldicobookmarks:after {
	content: "";
	display: block;
	position: absolute;
	top: 8px;
	left: 0;
	width: 20px;
	height: 20px;
	background: url(/Pics/2017/Bookmark_grey.svg) center center no-repeat;
	background-size: contain;
}

.foldmenu .menucontainer li.root a:hover span.foldicobookmarks, .bookmarksmenu .menucontainer li.root a:hover span.foldicobookmarks {
	background-position: -356px 2px;
}

.bookmarksmenu .menucontainer li.root a span.foldicovkh {
	background-position: -993px -88px;
}



.bookmarksmenu .menucontainer li.root a:hover span.foldicovkh {
	background-position: -993px 2px;
}

.sublevel2, .sublevel3, .sublevel4 {
	-moz-box-shadow: inset 0px 10px 10px -10px rgba(0,0,0,0.2), inset 0px -10px 10px -10px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0px 10px 10px -10px rgba(0,0,0,0.2), inset 0px -10px 10px -10px rgba(0,0,0,0.2);
	box-shadow: inset 0px 10px 10px -10px rgba(0,0,0,0.2), inset 0px -10px 10px -10px rgba(0,0,0,0.2);
	background-color: #fbfbfb;
	display: none;
}

.sublevel3 {
	background-color: #f1f1f1;
}

.sublevel4 {
	background-color: #eaeaea;
}

.foldmenu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.foldmenu .menucontainer .sublevel2 li.root div a, .foldmenu .menucontainer .sublevel3 li.root div a, .foldmenu .menucontainer .sublevel3 li.root div a {
	background-color: transparent;
	border-bottom: 1px solid #cccccc;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
	bottom: 0px;
	margin: 0;
}

.foldmenu .menucontainer .sublevel2 > ul > li.root > div > a {
	text-transform: uppercase;
}

.sublevel2 > ul > li.root > div > a.isexpandable:hover, .sublevel3 > ul > li.root > div > a.isexpandable:hover, .sublevel4 > ul > li.root > a:hover {
	border-bottom: none !important;
	margin-bottom: 1px !important;
}



.foldmenu .menucontainer .sublevel3 a {
	/*border-left:5px solid #ffffff;*/
}

.foldmenu .menucontainer .sublevel4 a {
	border-left: 5px solid #6ba924;
}

.generic-textview {
	overflow: auto;
}

.generic-textview-text {
	padding: 40px;
}

#search {
	margin-top: 20px;
	display: none;
	overflow: hidden;
	padding-left: 30px;
	padding-right: 30px;
}

body.searchmode #search {
	display: block;
}

#search .searchheader {
	height: 60px;
	display: block;
}

#search .searchresults {
}


.searchtermsFullscreenContainer {
	display: block;
}

.searchtermsFullscreenContainer.searchCatsOff {
	/*12.8.2015: korjaus hakukentän pituuteen mobiilitilassa*/
	/*margin-right:90px;*/
	margin-right: 56px;
}

.searchinput input#searchtermsFullscreen {
	font-size: 16px !important;
	line-height: 16px !important;
	height: 60px !important;
	height: 100%;
	padding-right: 10px;
}

.header {
	height: 90px;
	background-color: var(--surface-elevation-1);
	position: fixed;
	left: 0;
	right: 0;
	/*almaheaderin tausta feikattu headerin reunaviivalla*/
	/*top:45px;*/
	top: 0;
	border-top-width: 45px;
	border-top-style: solid;
	border-top-color: #fefefe;
	z-index: 3;
	padding: 0px var(--vkh-margin-normal);
}

body.searchmode .header {
	background-color: var(--surface-brand) !important;
}

.headerlinksleft {
	float: left;
}

.headerlinksright {
	position: absolute;
	right: 0;
	padding-right: 10px;
	height: 90px; /*korkeus ei saa olla isompi kuin ympäröivän elementin (header), muuuten menujen avaaminen rikkoo leiskaa*/
}

.searchinput input#searchtermsFullscreen {
	height: 44px !important;
	border: 1px solid var(--border-input-default);
}

#th-back-btn-arrow,
#th-back-btn-arrow-purple {
	vertical-align: middle;
}
#closepop {
	display: none;
	margin-top: 4px;
}




/* Fade-elementti, joka häivyttää pitkän otsikkotekstin */
#headerlinksright_fader {
	display: none;
	float: left;
	position: absolute; /*ei viedä tilaa ympäröivästä elementistä,*/
	left: -25px; /*vaan siirretään ulos ympäröivästä elementistä, jotta läpinäkyvyys toimii*/
	width: 25px;
	height: 70px; /*korkeus desktopilla ja padilla, pienennetään kännykällä*/
	/*häivytys läpinäkyvästä taustaväriin*/
	/*Muuttuva väri huomioidaan verkkokirjojen lukutilassa.*/
	background: transparent;
	-moz-box-shadow: inset -20px 0 10px -6px #fff;
	-webkit-box-shadow: inset -20px 0 10px -6px #fff;
	box-shadow: inset -20px 0 10px -6px #fff;
}



.headerlink {
	display: inline-block;
	float: left;
	/*border-right:1px solid #cccccc;*/
	padding-right: 23px;
	height: auto;
	line-height: 83px;
	font-size: 18px;
	text-decoration: none;
	cursor: pointer;
}

.headerlink {
	color: var(--text-brand);
}

.headerlink:hover {
	color: var(--text-brand);
	text-decoration: underline;
}

body.searchmode .headerlink {
	color: var(--text-inverse);
}

	body.searchmode .headerlink:hover {
		color: #fff;
		text-decoration: underline;
	}

.headerlink:focus-visible {
	outline: 2px solid #000;
}

.headerlink:first-child {
	/*border-left:1px solid #cccccc;*/
}

.headerlinksright .headerlink {
	/*border-left:1px solid #cccccc;*/
	border-right: none;
}

#HeadingText {
	color: #fff;
	font-size: 1em;
	margin-top: 10px;
}


.headerlinksright .headerlink:first-child {
}

.aloggeduser-dropmenu a {
	float: none !important;
	display: block;
	height: 48px;
	line-height: 48px;
	text-align: center;
	border-top: 1px solid #dfdfdf;
	color: var(--text-primary);
}

.aloggeduser-dropmenu a:first-child {
	border-top: none;
}

.loginlayer {
	/*Mobiiliparannukset 2015*/
	/*login notificatorin alapuolelle*/
	/*---*/
	z-index: 5001; /*ent. 9999*/
	/*---*/
	display: block;
	position: absolute;
	width: 270px;
	min-height: 300px;
	right: 0px;
	top: 100%;
	margin-top: 1px;
}

.loginlayer-inner {
	background-color: #ffffff;
	overflow: visible;
	border: 1px solid #cccccc;
	border-top: none;
	-moz-box-shadow: 0px 5px 15px 0px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 5px 15px 0px rgba(0,0,0,0.2);
	box-shadow: 0px 5px 15px 0px rgba(0,0,0,0.2);
}

.norightborder {
	border-right: transparent;
}

.headerlinksright a, .headerlinksright div {
	float: right;
}

.openmenulogin a, .openmenulogin div {
	float: none;
}

.searchinput {
	float: left;
	position: relative;
}

#search .searchinput {
	float: none;
}

.searchinput .searchterms, .textinput {
	border: none;
	height: 40px;
	padding: 0;
	padding-left: 5px;
	padding-right: 40px;
	margin: 0;
	outline: none;
	font-size: 14px;
	background: #ffffff url(../pics/bg-input.png) no-repeat;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#bookmarks-count {
	position: absolute;
	top: 0px;
	right: 20px;
	/*background-color:#a04191;*/
	width: 30px;
	height: 78px;
	overflow: hidden;
	text-align: center;
	color: #ffffff;
	font-size: 16px;
	line-height: 42px;
	background: url(/Pics/2017/Bookmark_grey.svg) top center no-repeat;
	background-size: contain;
}

.bookmarks-newid {
	position: relative;
	margin-top: 20px;
	margin-right: 40px;
}

#bookmarks-currentid {
	background-color: rgba(160, 65, 145, 0.2);
	padding: 20px;
}

.bookmarks-id-text {
	width: 100%;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	border-radius: 0px;
	border: 1px solid #bebebe;
}

.bookmarks-id-button, .bookmarks-id-button:hover {
	-webkit-border-top-right-radius: 3px;
	-moz-border-top-right-radius: 3px;
	border-top-right-radius: 3px;
	-webkit-border-bottom-right-radius: 3px;
	-moz-border-bottom-right-radius: 3px;
	border-bottom-right-radius: 3px;
	display: block;
	position: absolute;
	right: -40px;
	top: 0;
	height: 40px;
	width: 40px;
	border-right: none;
	color: #ffffff;
	background: #a04191 url(../pics/bg-button.png) 0 100%;
	cursor: pointer;
	text-align: center;
}

.bookmarks-id-button span {
	margin-top: 10px;
	display: inline-block;
	width: 12px;
	height: 19px;
	background: url(/pics/icons.png) -2517px -94px;
}

.searchinput .searchterms {
	width: 400px;
	margin-top: 15px;
	margin-left: 20px;
	margin-right: 20px;
	padding-left: 10px;
}

#search .searchinput .searchterms {
	margin: 0;
	width: 100% !important;
	margin-top: 10px;
}

.searchinput .searchterms:focus-visible, .logininput:focus-visible {
	border-color: #c6de98;
}

.search-bar-clear-container {
	background-size: 100%;
	position: absolute;
	right: 60px;
	top: 23px;
	width: 46px;
	height: 46px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}


.searchinput .search-bar-clear {
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: inherit;
	outline: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.searchinput .search-bar-clear img {
	width: 24px;
	height: 24px;
}
	.searchinput .search-bar-clear:hover {
		border-radius: 30px;
		padding: 6px;
		background-color: #e7cfe3;
	}

	.searchinput .search-bar-clear:focus-visible {
		border-radius: 30px !important;
		padding: 6px !important;
		border: 2px solid var(--vkh-purple) !important;
	}

input:placeholder-shown + .search-bar-clear-container .search-bar-clear {
	display: none !important;
}


.searchbutton-container {
	background-size: 100%;
	position: absolute;
	right: 20px;
	top: 23px;
	width: 46px;
	height: 46px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.searchinput .searchbutton {
	appearance: none;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	text-align: inherit;
	outline: none;
	cursor: pointer;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

	.searchinput .searchbutton:hover {
		border-radius: 30px;
		padding: 6px;
		background-color: #e7cfe3;
	}

	.searchinput .searchbutton:focus-visible {
		border-radius: 30px !important;
		padding: 6px !important;
		border: 2px solid var(--vkh-purple) !important;
	}


#search .searchinput .searchbutton {
	position: absolute;
	right: 0px;
	top: 0px;
}

.searchcats {
	display: none;
	float: right;
	width: auto;
	margin-top: 22px;
	height: 46px;
	position: relative;
	background-color: #ffffff;
}

.foldmenu:before, .foldmenu:after {
	display: none;
}

.searchcats .foldmenu:before, .searchcats .foldmenu:after {
	display: none;
}

body.searchmode .searchcats {
	display: block;
}

#resetcookies {
	all: unset;
	cursor: pointer;
	line-height: 39px;
	background: #A04191;
	color: #fff;
	padding: 0px 30px 0px 30px;
	margin-bottom: 15px;
	margin-right: 25px;
}


.searchcats li {
	content: "Rajaa hakua";
	display: block;
	position: absolute;
	padding-left: 20px;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	line-height: 46px;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
}

.searchcats li span {
	display: block;
	position: absolute;
	right: 0px;
	top: 0px;
	height: 40px;
	width: 38px;
	/*background:#ffffff url(../pics/icons.png) no-repeat -2780px -79px;*/
	background: #ffffff url(../pics/icons.png) -2780px -168px no-repeat;
}

.searchcats li.openmenu {
	border-collapse: collapse;
}

.searchcats li.openmenu:focus-visible {
	outline: 2px solid black;
	outline-offset: 2px;
}

.searchcats li.openmenu .foldmenu {
	bottom: -1px !important;
}

.searchCatsOff .searchcats {
	display: none !important;
}

.searchFilterContainer.searchCatsOff {
	display: none !important;
}

.searchFilterContainer {
	display: flex;
	margin-top: 15px;
}

/*	.searchFilterContainer a {
		display: inline-block;
		margin-right: 8px;
		padding-left: 19px;
		padding-right: 40px;
		padding-top: 12px;
		padding-bottom: 12px;
		border: 1px solid #cccccc;
		-moz-border-radius: 3px;
		-webkit-border-radius: 3px;
		border-radius: 3px;
		background-color: #ffffff;
		-webkit-box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
		-moz-box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
		box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
		position: relative;
	}*/
.searchFilterContainer a {
	display: inline-block;
	margin: 3px;
	padding-left: 12px;
	padding-right: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #cccccc;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	background-color: #ffffff;
	-webkit-box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
	-moz-box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
	box-shadow: inset 0 -2px 0px -1px #ffffff, inset 0 -40px 40px -40px rgba(0,0,0,0.15);
	position: relative;
}
	.searchFilterContainer a:hover {
		background: rgba(204, 204, 204, .2);
		cursor: pointer;
	}

/*.searchFilterContainer a span {
	display: block;
	position: absolute;
	right: 17px;
	top: 19px;
	height: 8px;
	width: 8px;
	background: url(/Pics/2017/Close.svg) center center no-repeat;
	background-size: contain;
}*/

#th-search-filter {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

	#th-search-filter li {
		display: flex;
		color: #a04191;
		border: 1px solid gray;
		padding: 5px;
		justify-content: center;
		align-items: center;
	}

#th-search-filter li span {
	display: inline-block;
}

		#th-search-filter li button {
			padding: 0;
			border: 0;
			cursor: pointer;
			width: 24px;
			height: 24px;
			background: url(/Pics/2017/Close.svg) center center no-repeat;
			background-size: 10px 10px;
		}

.searchFilterContainer a span {
	display: block;
	position: absolute;
	right: 7px;
	top: 12px;
	height: 8px;
	width: 8px;
	background: url(/Pics/2017/Close.svg) center center no-repeat;
	background-size: contain;
}

.searchfilter {
	width: 260px;
	margin-left: -1px;
	background: #ffffff !important;
	min-height: 200px;
	padding: 20px;
	/*osa paddingistä siirretty Poista rajaukset -painikkeeseen ulkoasun vuoksi IE:ssä*/
	padding-bottom: 10px;
	/*Filtteri-layerin korkeus säädetään dynaamisesti, koska header on fiksattu.*/
	overflow: auto;
	box-sizing: border-box;
}

.searchfilter div {
	line-height: normal;
	padding-top: 5px;
	padding-bottom: 5px;
}

#search .searchleftcolouter {
	float: left;
	width: 100%;
}

#search .searchleftcolinner {
}

#search .searchrightcol {
	float: left;
	margin-top: 30px;
}

#search .searchtabs {
	margin-top: 20px;
	overflow: hidden;
}

/*#search .searchtabs > div {*/
	/*6 täbiä -> 100 % : 6*/
	/*width: 16.6666666%;
	float: left;
}*/

#search .searchtabs > div > div {
	background-color: #e2e2e2;
	height: 69px;
	padding-left: 8px;
	padding-right: 8px;
	outline: none;
}

#search .searchtabs > div > div > div {
	width: 100%;
	line-height: 69px;
	height: 69px;
	text-align: center;
	display: table;
}

#search .searchtabs > div > div > div > a {
	display: table-cell;
	vertical-align: middle;
	line-height: normal;
	color: #404040;
	font-size: 12px;
}

#search .searchtabs > div > div.selected {
	background: #ffffff;
	outline: none; /* JKi laittoi, kun ei erottanu valittua muuten */
}

#search .searchtabs > div > button.selected {
	background: #ffffff;
	/*outline: none;*/ /* JKi laittoi, kun ei erottanu valittua muuten */
	border: none;
}

#search .searchtabs > div div.s1 {
	margin-right: 2px;
}

.searchtabs button:not(:last-child):not(:first-child) {
	margin-left: 2px;
	margin-right: 2px;
}
.searchtabs button:last-child {
	margin-left: 2px;
}
.searchtabs button:first-child {
	margin-right: 2px;
}

button.th-vkh-category-tabs {
	background-color: var(--surface-elevation-1);
	border: 0;
	margin: 0;
	height: 69px;
	width: 16.6666666%;
	font-size: 12px;
	font-family: 'Hanken Grotesk', sans-serif;
	color: var(--text-primary);
	cursor: pointer;
	border-bottom: 1px solid var(--border-layout-subtle);
}
button.th-vkh-category-tabs:hover {
	text-decoration: underline;
	border: var(--border-input-hover);
}
	button.th-vkh-category-tabs:focus-visible {
		/*border: 2px solid var(--vkh-purple);*/
	}

/*#SKI*/
#search .searchtabs > div div.s2, #search .searchtabs > div div.s3, #search .searchtabs > div div.s4, #search .searchtabs > div div.s5, #search .searchtabs > div div.s6, #search .searchtabs > div div.s7 {
	margin-right: 2px;
	margin-left: 2px;
}

#search .searchtabs > div div.s8 {
	margin-left: 2px;
}

#search .searchtabs > div div a span {
	color: var(--text-tertiary);
}
#search .searchtabs > div button span {
	color: var(--text-tertiary);
}

.searchresultcontainer {
	background-color: #ffffff;
	padding: 20px;
	/*Paddingia tarvitaan myös pohjalla. Miksi padding-bottom on asetettu nollaksi?*/
	/*padding-bottom:0px;*/
	overflow: hidden;
}

.searchresultcontainer .bookShelf {
	font-size: 14px;
	color: var(--text-primary);
	font-weight:400;
}

.filter {
	border: 1px solid #cccccc;
	float: right;
	overflow: hidden;
	height: 39px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	/*Suodatus-käli siirretty omalle rivilleen, jottei se vie tilaa hakutuloksilta.*/
	position: relative;
	top: -10px;
	right: -10px;
}

@media screen and (max-width: 1180px) {
	.searchinput .searchterms {
		width: 270px;
	}
}

@media screen and (max-width: 1050px) {
	.helplink-help {
		display: none;
	}
}

@media screen and (max-width: 895px) {
	.helplink-help {
		display: none !important;
	}
}
/* Känny */
@media only screen and (max-width: 767px) {
	.filter {
		/*Suodatus-käli siirretään mobiilissa hakutulos-containerin yläpuolelle.*/
		position: absolute;
		top: 101px;
		right: 10px;
	}

	.content {
		margin: 0;
		padding: 0 !important;
	}

	#StructurePath-container {
		display: none !important;
	}

	.foldmenu {
		display: none !important;
	}
}

.filter a {
	display: block;
	float: left;
	width: 39px;
	height: 39px;
	border-left: 1px solid #cccccc;
	background: #ffffff;
}

.filter a:first-child {
	border: none;
}

.filter a.selected {
	background: #ededed url(../pics/search-sort-icons-bg.png) no-repeat;
}

.filter a span {
	display: block;
	width: 39px;
	height: 38px;
	background: url(../pics/search-sort-icons.png) no-repeat;
}

.filter a span.search-filter-onlyown {
	background-position: 3px 0px;
}

.filter a.selected span.search-filter-onlyown {
	background-position: 3px -38px;
}

.filter a span.search-filter-all {
	background-position: -37px 0px;
}

.filter a.selected span.search-filter-all {
	background-position: -37px -38px;
}

.searchresultcontainer div.searchitem {
	display: flex;
	min-height: 50px;
	overflow: hidden;
	position: relative;
	padding-left: 40px;
	padding-right: 40px;
}

.searchresultcontainer .searchitem.slc {
	min-height: 0px;
}

a.searchitem span {
}

/*
.searchresultcontainer div.inactive .inactive
{
	display:block;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:10px;
	background-color:#ffffff;
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	-khtml-opacity: 0.5;
	opacity: 0.5;
}
*/

.searchresultcontainer div.inactive {
	opacity: 0.5;
}

.searchitem .bookcover {
	margin-left: 0;
	display: block;
}

.outer {
	display: block;
	padding-left: 40px;
}

.inner {
	margin-left: -20px;
	display: block;
	padding-left: 20px;
}

.searchresultcontainer .searchitem .path {
	font-size: 14px;
	display: block;
	color: var(--text-brand);
	font-weight: 500;
}
	.searchresultcontainer .searchitem .path:hover,
	.searchresultcontainer .searchitem .excerpt:hover {
		text-decoration: underline;
	}

.searchresultcontainer .searchitem .title {
	line-height: 150%;
	font-size: 20px;
	color: var(--text-primary);
	font-weight: 500;
	display: block;
}

.searchresultcontainer .searchitem .excerpt {
	color: var(--text-secondary);
	font-size: 14px;
	display: block;
	font-weight: 400;
}

.searchresultcontainer .searchitem .excerpt strong {
	color: #333333;
}

.logininput {
	border: 1px solid #cccccc;
	width: 232px;
	height: 38px;
	padding: 0;
	padding-left: 5px;
	padding-right: 5px;
	margin: 0;
	outline: none;
	font-size: 14px;
	background: #ffffff url(../pics/bg-input.png) no-repeat;
}




/*#SKI*/
body.siteVKH a.footerlogo,
body.siteBK a.footerlogo,
body.siteSKI a.footerlogo {
	background: url(../pics/2024/alma_insights_footer_logo.svg) no-repeat;
	background-size: contain;
}

body.siteVKH .header,
body.siteSKI .header,
body.siteBK .header {
	background-color: var(--surface-elevation-1);
	box-shadow: 0 6px 10px -4px rgba(0, 0, 0, 0.15);
}

body.siteVKH, body.siteBK, body.siteSKI {
	line-height: 150%;
}





.login {
	width: 0;
	height: 0;
	overflow: hidden;
	-webkit-transition: all 0.6s;
	-moz-transition: all 0.6s;
	-ms-transition: all 0.6s;
	-o-transition: all 0.6s;
	transition: all 0.6s;
	filter: alpha(opacity=0);
	-moz-opacity: 0;
	-khtml-opacity: 0;
	opacity: 0;
}


span.ico {
	background: url(../pics/icons.png) no-repeat 0 0;
	display: block;
}

.headerlink span.icomenu {
	background-position: -900px -90px;
	width: 24px;
	height: 25px;
	margin-top: 22px;
	margin-left: 0;
}

.headerlink:hover span.icomenu {
	background-position: -900px 0px;
}

.headerlink.headerlink-switchedon span.icomenu {
	background-position: -900px -180px;
}

.headerlink span.icoback {
	height: 90px;
	line-height: 83px;
	background: none;
	float: left;
	margin: 0;
}


.headerlink span.icoback:before {
	content: " ";
	vertical-align: baseline;
	display: inline-block;
	width: 6px;
	height: 25px;
	background: url(/Pics/2017/Arrow_Left_Purple.svg) left bottom no-repeat;
	background-size: contain;
}

body.searhcmode .headerlink span.icoback:before {
	background: url(/Pics/2017/Arrow_Left_White.svg) left bottom no-repeat;
}

span.icoback > .icobacksizer {
	font-size: 2.5rem;
	width: 0px;
	overflow: visible;
	opacity: 0;
	color: rgba(0,0,0,0);
	display: inline-block;
}

span.icoback > .icobacksizer:after {
	content: "M";
}

@media only screen and (max-width: 767px) {
	.headerlink span.icoback {
		height: 44px;
		line-height: 44px;
	}

	span.icoback > .icobacksizer {
		font-size: 26.704px;
		font-family: 'Hanken Grotesk', sans-serif;
	}
}



.headerlink span.icosearch {
	background-position: -534px -90px;
	width: 24px;
	height: 25px;
	margin-top: 22px;
}

.headerlink:hover span.icosearch {
	background-position: -534px 0px;
}

.headerlink span.icoreadmode {
	background-position: -1260px -89px;
	width: 24px;
	height: 25px;
	margin-top: 22px;
}

.headerlink:hover span.icoreadmode {
	background-position: -1260px 1px;
}

.headerlink span.icotocmode {
	background-position: -1882px -89px;
	width: 24px;
	height: 25px;
	margin-top: 22px;
}

.headerlink:hover span.icotocmode {
	background-position: -1882px 1px;
}

.headerlink.headerlink-switchedon span.icotocmode {
	background-position: -1882px -179px;
}

.headerlink span.icoindexwordlist {
	background-position: -1789px -89px;
	width: 29px;
	height: 25px;
	margin-left: -3px;
	margin-right: -1px;
	margin-top: 22px;
}

.headerlink:hover span.icoindexwordlist {
	background-position: -1789px 1px;
}

.headerlink.headerlink-switchedon span.icoindexwordlist {
	background-position: -1789px -179px;
}

.headerlink span.icoreadmodefull {
	background-position: -1350px -89px;
}

.headerlink:hover span.icoreadmodefull {
	background-position: -1350px 1px;
}

.headerlink span.icologin {
	display: inline-block;
	background-position: -720px -90px;
	width: 24px;
	height: 20px;
	margin-top: 23px;
}

.headerlink:hover span.icologin {
	background-position: -720px 0px;
}

.headerlink span.icobookmarks {
	background-position: -353px -90px;
	width: 24px;
	height: 25px;
	margin-top: 22px;
}

.headerlink:hover span.icobookmarks {
	background-position: -353px 0px;
}

.headerlink-switchedon, .loginlayer-switchedon {
}

.loginlayer-switchedon {
}

.header #page_heading {
	float: left;
	height: 90px;
	line-height: 83px;
	font-size: 40px;
	/*otsikon feidaus mahdollistaa pitkän otsikkotilan*/
	max-width: 600px;
	color: var(--text-primary);
	font-family: 'Hanken Grotesk', sans-serif;
	font-weight: 300;
}

body.searchmode .header #page_heading {
	color: var(--text-inverse);
}

.widthlimit {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}


.moduleheader h4 {
	text-transform: uppercase;
}

.clearfloat {
	clear: both;
	height: 1px;
	overflow: hidden;
}

.block {
	display: block;
}

.float {
	display: block;
	float: left;
}


.separatorh {
	background-color: #ffffff;
	height: 15px;
	margin-top: 5px;
	margin-bottom: 20px;
	border-bottom: 1px solid #e0e0e0;
	-moz-box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
	-webkit-box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
	box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
}

.noshadow {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}
/* Teokset-laatikon erotusviiva (Muut teokset) tarvitsee leiskan mukaan enemmän tilaa ympärillensä. */
/* Viivan pitää myös olla koko palstan levyinen, joten häkätään sitä hieman. */
.col-teokset .separatorh {
	margin-top: 13px;
	margin-bottom: 32px;
	width: 400px;
	position: relative;
	left: -30px;
}

/* Header - Ostoskori */
a#ostoskoriLink {
	position: relative;
}

span.ostoskori {
	background-position: -1170px -86px;
	width: 20px;
	height: 24px;
}

a:hover span.ostoskori {
	background-position: -1170px 4px;
}

span.idOstoskoriCounter {
	position: absolute;
	top: 17px;
	right: 12px;
	display: block;
	min-width: 17px;
	width: auto;
	height: 17px;
	background: #54860f;
	border: 1px solid #54860f;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	text-align: center;
	padding: 0;
	margin: 0;
	line-height: 17px;
}
/* Känny */
@media only screen and (max-width: 767px) {

	span.ostoskori {
		/* Korjataan asemointia kännykällä */
		position: relative;
		top: -12px;
		left: 5px;
	}

	a:hover span.ostoskori {
		/* "Poistetaan" hover kännykällä */
		background-position: -1170px -86px;
	}

	span.idOstoskoriCounter {
		/* Korjataan asemointia kännykällä */
		top: 5px;
		right: 5px;
	}
}
/* Header - Ostoskori - LOPPU */

/*KIRJALISTAT*/
.bookscontainer-vertical {
	position: relative;
	/*Almailme: margin poistettu*/
	/*margin-left:-20px;*/
}

.bookscontainer-vertical .bookcontainer {
	float: left;
	width: 87px;
	/*uusi kuvasuhde*/
	/*height: 130px;*/
	height: 171px; /* korkeus pitää olla kiinteä floatin vuoksi. */
	margin-left: 20px;
	margin-bottom: 10px;
}

.bookscontainer-vertical .bookcontainer.bookcontainer-bookshelf /* Hankitut teokset > Verkkokirjahylly */ {
	height: 160px;
}
/* Jos osta-painike näkyvissä, tarvitaan lisää tilaa. Koskee toistaiseksi vain ProductLift-vertical näkymiä. */
.bookscontainer-vertical.show-add-to-cart .bookcontainer {
	width: 105px; /* Tämä leveys näyttää suht. hyvältä kaikilla ruutuleveyksillä. */
	/*uusi kuvasuhde*/
	/*height: 170px;*/
	height: 211px; /* jos hinta näkyvissä, tee elementistä korkeampi, jotta päällekkäiset elementit (känny) eivät ole ahtaalla. */
}

.bookcover {
	position: relative;
	display: block;
	width: 87px;
	min-height: 87px;
	color: #ffffff;
	/*overflow:hidden;*/ /* Kommentoitu, jotta päivitetty-stamp näkyy oikein. */
	margin-left: auto;
/*	margin-right: auto;*/

}

.bookcover img {
	max-width: 87px; /* Fokus-teoksille ja verkkokirjoille yhteinen maksimileveys */
	/*max-height: 87px;*/ /* Entinen arvo; rajoitti verkkokirjojen kuvat liian pieniksi */
	/*max-height: 122px;*/ /* Verkkokirjojen maksimikorkeus, Fokus-teokset ovat toistaiseksi aina pienempiä */
	/*uusi kuvasuhde: fokus-listaukset*/
	/*border: 1px solid red !important;*/
	max-height: 128px; /* Fokus-kansikuvien uusi koko */
}

/* Hankitut teokset > Verkkokirjahylly > Siniset verkkokirjahyllyjen kuvat */
/* Tämä määritys on toistaiseksi turha. Kaikki kuvat ovat kokoa 87x122 */
/*.bookcontainer.bookcontainer-bookshelf .bookcover img
{
	max-height: 122px;
}*/

.bookcover .stamp {
	position: absolute;
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
}

.bookcover .stamp.updated {
	top: -3px;
	right: -3px;
	width: 60px;
	height: 60px;
	background-image: url(../pics/stamp-updated.png);
}

.bookcover .stamp.coming {
	bottom: -6px;
	right: -6px;
	width: 50px;
	height: 49px;
	background-image: url(../pics/stamp-coming.png);
}

.bookcover .stamp.coming-vk {
	bottom: -6px;
	right: -6px;
	width: 50px;
	height: 49px;
	background-image: url(../pics/stamp-coming-vk.png);
}

.bookcover .stamp.coming.searchres,
.bookcover .stamp.coming-vk.searchres {
	bottom: 0px;
}

a.bookname {
	margin-top: 0px;
	display: block;
	height: 20px;
	text-align: left;
	font-size: 12px;
	color: var(--text-primary);
}

a.bookname:hover {
	color: #000;
}

/* Käytännössä bookdate ei tällä hetkellä näy ollenkaan. */
.bookdate {
	display: block;
	text-align: center;
	color: var(--text-tertiary);
	font-size: 12px;
}
/* Känny */
@media only screen and (max-width: 767px) {
	/* Käytännössä bookdate ei tällä hetkellä näy ollenkaan. */
	.bookdate {
		text-align: left !important;
	}
}

.bookcontainer .bookinfo .bookauthor {
	color: var(--text-tertiary); 
	/*height: 20px;
	font-size: 12px;*/
	height: 14px;
	line-height: 14px;
	font-size: 10px;
	cursor: default;
}

.bookscontainer-vertical .bookcontainer .bookauthor {
	/*Kirjailijat nostettu näkyviin 24.11.2014*/
	/*display: none;*/
}

.bookscontainer-vertical .show-more {
	display: block;
	clear: both;
	margin-left: 20px;
	font-weight: normal;
}

.bookcontainer .add-to-cart {
	position: relative;
	display: block;
	height: 30px;
	width: 100px;
	margin-top: 10px;
	border: 1px solid #eee;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: #fcfcfc;
	/*Almailme: Ostoskoripainikkeet piilotettu toistaiseksi kokonaan */
	display: none;
}

.bookscontainer-vertical .bookcontainer .add-to-cart /* Keskitys vertical-ulkoasussa. */ {
	margin-left: auto;
	margin-right: auto;
}

.bookcontainer .add-to-cart .price {
	line-height: 30px;
	padding-left: 5px;
	color: #d13c7c;
	font-weight: bold;
	text-align: center;
}

.bookcontainer .add-to-cart .icon {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 30px;
	height: 30px;
	background: url(../pics/icons.png) -1165px 3px no-repeat;
	border-left: 1px solid #eee;
}

.bookcontainer .add-to-cart:hover,
.bookcontainer .add-to-cart:hover .icon {
	border-color: #edb1cb;
}

/*piilotettu elementti, jossa eroteltu ryhmä, josta teos löytyy*/
.bookcontainer .fokus-names,
.bookcontainer .service-name {
	display: none;
}

.ProCatProductLift-filter {
	position: relative;
	float: left;
	clear: both;
	min-width: 200px;
	/*min-width:75%;*/
}

/*ao. ei toimi, sillä ensimmäinen ei välttämättä ole näkyvissä (filtterin perusteella piilotettu teos)*/
/*.ProCatProductLift-filter + .bookcontainer {
	clear:both;
}*/





.ProCatProductLift-filter a.ProCatProductLift-filter-title {
	display: block;
	color: #000;
}

.ProCatProductLift-filter a.ProCatProductLift-filter-title:after {
	content: '';
	display: inline-block;
	width: 12px;
	height: 8px;
	background: url(/pics/icons.png) -2789px -188px no-repeat;
	margin-left: 8px;
	margin-bottom: 1px;
}

.ProCatProductLift-filter.opened {
	background-color: #f3f3f3;
}

.ProCatProductLift-filter.opened a.ProCatProductLift-filter-title:after {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}

.ProCatProductLift-filter ul {
	display: none;
	position: absolute;
	margin-top: -3px;
	z-index: 1;
	width: 100%;
	background: #f3f3f3;
	color: #fff;
}

.ProCatProductLift-filter ul.visible {
	display: block;
}

.ProCatProductLift-filter ul li {
	height: 40px;
	line-height: 40px;
	padding-left: 20px;
	cursor: pointer;
	color: #666;
}

.ProCatProductLift-filter ul li:hover {
	background-color: #bebebe;
	color: #a04191;
}

	.ProCatProductLift-filter ul li.selected {
		font-family: 'Hanken Grotesk', sans-serif;
		font-weight: normal;
	}

.bookcontainer.hide-by-filter {
	display: none !important;
}

/*HORIZONTAL-TYYLIT*/
.bookscontainer-horizontal .bookcontainer {
	float: left;
	margin-bottom: 10px;
	/*tässä ulkoasussa teoksilla on enemmän tilaa ympärillään*/
	margin-right: 30px;
	margin-top: 10px;
}

.bookscontainer-horizontal .bookcontainer .bookcover {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}

.bookscontainer-horizontal .bookcontainer .bookinfo {
	float: left;
	width: 185px;
}

.bookscontainer-horizontal .bookcontainer .bookinfo .bookname {
	margin-top: 0;
	text-align: left;
}
/* Käytännössä bookdate ei tällä hetkellä näy ollenkaan. */
.bookscontainer-horizontal .bookcontainer .bookinfo .bookdate {
	text-align: left;
}

.bookscontainer-horizontal .bookcontainer .bookinfo .bookauthor {
	/*Kirjailijat nostettu näkyviin 24.11.2014*/
	/*display: none;*/
}

/*KIRJALISTAT - LOPPU*/







/* Känny */
@media only screen and (max-width: 767px) {
	.col {
		margin-top: 20px !important;
		margin-bottom: 0px !important;
	}
}

h5.colheader,
.ProCatProductLift-filter a.ProCatProductLift-filter-title,
.ProCatProductLift > h5 {
	padding-top: 14px;
	padding-bottom: 14px;
	line-height: 21px;
	margin: 0;
	padding-left: 20px;
	padding-right: 40px;
	position: relative;
}

span.colheaderico {
	display: none;
}

a.colheaderlink {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	line-height: 48px;
	font-size: 12px;
	font-weight: bold;
	text-transform: none;
	padding: 0 20px;
	border-left: 1px solid #cccccc;
}

/* Känny */
@media only screen and (max-width: 767px) {
	a.colheaderlink {
		padding: 0 7px;
	}
}

.colinner30r {
	margin-right: 30px;
}


/*-- Kaksi yhtä leveää saraketta ----------*/
.two-col-left,
.two-col-right {
	width: 48% !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.two-col-left {
	float: left;
}

.two-col-left.is-inside /* Käytetään kahta saraketta yhden boksin sisällä. Viiva keskellä jakaa sarakkeet. */ {
	border-right: 1px solid #e0e0e0;
	-moz-box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
	-webkit-box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
	box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
}

.two-col-right {
	float: right !important;
}
/* Känny */
@media only screen and (max-width: 767px) {
	.two-col-left, .two-col-right {
		width: auto !important;
		float: none !important;
	}

	.two-col-left.is-inside /* Mobiilitilassa pystyviiva vaihtuu vaakaviivaksi. */ {
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-right: none;
		border-bottom: 1px solid #e0e0e0;
		-moz-box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
		-webkit-box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
		box-shadow: inset 0px -15px 15px -15px rgba(130,130,130,0.1);
	}
}


span.kirjanmerkit {
	/*display:inline-block;*/
	padding-right: 25px;
	position: relative;
	background: none;
}

span.kirjanmerkit:before {
	content: "Kirjanmerkit";
}



span.kirjanmerkit:after {
	position: absolute;
	content: "";
	display: block;
	top: 33px;
	right: 0px;
	width: 20px;
	height: 20px;
	background: url(/Pics/2017/Bookmark_white.svg) center center no-repeat;
	background-size: contain;
}

.headerlink:hover span.kirjanmerkit {
	background-position: -360px 0px;
}

.headerlink.headerlink-switchedon span.kirjanmerkit {
	background-position: -360px -180px;
}

span.viikkokirje {
	background-position: -90px -90px;
	width: 20px;
	height: 22px;
}

span.viimeksiluetut {
	background-position: -180px -90px;
	width: 20px;
	height: 22px;
}

span.sisallot {
	background-position: 0 -90px;
	height: 22px;
	width: 20px;
}

span.ajankohtaista {
	background-position: -270px -90px;
	width: 20px;
	height: 21px;
}

span.katsomyos {
	background-position: -630px -91px;
	width: 21px;
	height: 23px;
}

span.kirjautuminen {
	background-position: -720px 0;
	width: 20px;
	height: 21px;
}

/*
span.esmerk
{
	width:82px;
	height:26px;
	background:url(../pics/esmerk-logo.png);
	margin-right: 7px; korjataan asemointia hieman
}*/

.summa-logo {
	display: inline-block;
	display: none;
	margin-left: 0.7em;
	position: relative;
}

.summa-logo:before {
	content: "M";
	opacity: 0;
	padding-left: 3px;
	padding-right: 3px;
}

.summa-logo:after {
	position: absolute;
	display: block;
	content: "";
	left: -2px;
	top: -4px;
	right: -4px;
	bottom: -0px;
	background: url(../pics/summa-logo.png) no-repeat left center;
	background-size: contain;
}

.newsitem > div {
	display: inline-block;
	color: var(--text-tertiary);
	font-size: 0.833em;
	padding: 0;
	margin: 0;
}

.newsitem > div + div {
	margin-left: 5px;
}

.newsitem > a {
	padding-top: 0;
	display: block;
}

span.summa {
	width: 34px;
	height: 26px;
	background: url(../pics/summa-logo.png);
	background-repeat: no-repeat;
}

span.suosittelemme {
	background-position: -450px -90px;
	width: 20px;
	height: 21px;
}

span.verkkokirjahylly {
	background-position: -990px -90px;
	width: 28px;
	height: 21px;
}

span.sanakirja {
	background-position: -1080px -90px;
	width: 24px;
	height: 24px;
}

span.kysymykset {
	background-position: -1975px -90px;
	width: 20px;
	height: 22px;
}

.colcontent {
	/*padding: 20px 30px 20px 30px;*/
	overflow: hidden;
	background-color: #ffffff;
}

	.colcontent a {
		text-decoration: underline;
		color: var(--text-brand);
	}
/* Känny */
@media only screen and (max-width: 767px) {
	.colcontent {
		padding: 20px 20px 20px 20px;
	}
}

.col p {
	margin-bottom: 0;
}


a.kirjanmerkki {
	display: block;
	min-height: 15px;
	background: url(../pics/bookmark-ico-small.png) 0 3px no-repeat;
	padding-left: 20px;
	margin-bottom: 5px;
}

.colitem {
	margin-bottom: 15px;
}

.colitem.last-item {
	margin-bottom: 10px;
}

.colinfo {
	color: var(--text-tertiary);
	margin-top: 5px;
	font-size: 12px;
}

/* ProCatProductLift "list"-tyyli */
td div.colinfo {
}

.ucase {
	text-transform: uppercase;
}





.colinnerleft {
	width: 49%;
	float: left;
	border-right: 1px solid #e0e0e0;
	-moz-box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
	-webkit-box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
	box-shadow: 15px 0px 15px -15px rgba(130,130,130,0.1);
	margin-top: 20px;
	margin-bottom: 20px;
}

.colinnerright {
	width: 50%;
	float: left;
	margin-top: 20px;
}

.coverpage-image {
	position: relative;
	margin: 50px;
	margin-left: 30px;
	min-width: 184px;
	min-height: 184px;
	background-color: #eeeeee;
	float: left;
	width: 180px;
}

.coverpage-image img {
	width: 100%;
}

.coverpage-image span.no-image {
	display: block;
	width: 184px;
	height: 184px;
	background: url(../Pics/bookcover-na-184x184.png) no-repeat;
}

.coverpage-image span.no-image-vkh {
	display: block;
	width: 184px;
	height: 276px;
	background: url(../Pics/bookcover-na-vk-184x276.png) no-repeat;
}

.coverpage-image .stamp {
	position: absolute;
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
}

.coverpage-image .stamp.updated {
	/*
	top: -5px;
	right: -5px;
	width: 60px;
	height: 60px;
	background-image: url(../pics/stamp-updated.png);*/
}

.coverpage-image .stamp.coming,
.coverpage-image .stamp.coming-vk {
	bottom: -10px;
	right: -10px;
	width: 80px;
	height: 78px;
}

.coverpage-image .stamp.coming {
	background-image: url(../pics/stamp-coming-big.png);
}

.coverpage-image .stamp.coming-vk {
	background-image: url(/TimePub/version1/Resources-Pro/pics/tulossa.png);
}

.coverpage-image .stamp.coming-vk.comingup-date {
	background: url(../../TimePub/Resources2019/pics/tulossa-date.png) no-repeat;
}

.coverpage-image .stamp.coming-vk.comingup-date > span {
	display: block;
	width: 70px;
	height: 30px;
	position: absolute;
	bottom: 8px;
	right: 0px;
	text-align: center;
	font-size: 12px;
	color: #ffffff;
	-ms-transform: rotate(-16deg);
	-webkit-transform: rotate(-16deg);
	transform: rotate(-16deg);
}

.coverpage-text {
	margin-bottom: 40px;
	/*Almailme: margin-top vaihdettu paddingiin*/
	/*margin-top: 50px;*/
	padding-top: 50px;
	margin-right: 30px;
	margin-left: 264px;
	max-width: 630px;
}
/*kirjailija*/
.coverpage-text h3 {
	margin-top: 7px;
}
/*päivitetty*/
.coverpage-text .updated {
	margin-top: 13px;
	color: #7b7b7b;
}
/*osta-nappi*/
.coverpage-text .bookcontainer {
	margin-top: 35px;
}

/*InfoText fade*/
.coverpage-text .productDescription-closed {
	-webkit-mask-image: linear-gradient(to bottom, black 50%, transparent 100%);
	height: 120px;
	width: auto;
}

/*InfoText fade*/
.coverpage-text .productDescription-open {
	-webkit-mask-image: none;
	height: auto;
	width: auto;
}

/* Piilotetaan linkit ja linkkikappaleet VKH-puolen esittelyistä */
	.coverpage-text .coverpage-text-description a,
	.coverpage-text .coverpage-text-description p a,
	.productShelfInfo .includedShortDescription a,
	.productShelfInfo .includedShortDescription p a,
	.productShelfInfo .includedShortDescription button, 
	.productShelfInfo .includedShortDescription br {
		display: none;
	}

.includedShortDescription {
	height: auto;
	width: auto;
	line-height: 25px !important;
	white-space: pre-wrap;
	margin-bottom: 15px !important;
	margin-top:40px!important;
}
.productShelfTextLink {
	color: var(--text-brand) !important;
	font-weight: bold !important;
	
}
	.productShelfTextLink:hover {
		color: var(--text-brand) !important;
		font-weight: bold !important;
		text-decoration: underline;
	}

.productShelfInfo {
	margin: 20px 0 20px 0;
	background-color: var(--surface-elevation-1);
	padding: 20px 10px 30px 20px;
	width: auto;
	height: auto;
}

.catText {
	padding: 0px 10px 1px 10px;
	height: 23px;
	width: auto;
	margin-left: 5px;
	border: 1px solid var(--text-brand);
	color: var(--text-brand);
	flex: 0 0 auto;
	margin-bottom: 5px;
}

.catTitle {
	margin-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
}
	.catTitle b {
		align-self: center;
	}

.catTextDescr {
	white-space: nowrap;
}

.productInfoFooter {
	margin: 100px 50px 0 50px;
	padding-bottom: 140px;
}
	.productInfoFooter .productInfoFooterColumn {
		float: left;
		font-weight: bold;
		text-align: center;
		width: 33.33%;
	}

.saleText {
	width: 20px;
	height: 20px;
	padding-bottom: 20px;
}

.saleTextInfo {
	width: 20px;
	height: 20px;
	margin: 0px 10px -3px 0;
}

.productInfoAdjustText {
	cursor: pointer;
	color: var(--text-brand);
}
	.productInfoAdjustText:hover {
		cursor: pointer;
		color: var(--text-brand);
		text-decoration: underline;
	}

#ProductInfoDiv {
	color: var(--text-primary);
}

#ProductInfoDiv .buttondarkblue {
	background-color: var(--action-brand);
}

	#ProductInfoDiv .buttondarkblue:hover {
		background-color: var(--action-brand-active);
	}

#ProductInfoDiv .buttonblue {
	background-color: #555bd7;
	border-color: #555bd7;
}
	#ProductInfoDiv .buttonblue:hover {
		background-color: #555bd7;
		opacity:0.7;
	}
#ProductInfoDiv .coverpage-image {
	box-shadow: 5px 5px 5px #ddd9d98f;
	border: solid 10px white;
	margin: 55px 15px 15px 15px!important;
}

.bookPreview {
	margin: 15px 0 40px 0 !important;
}
/*Tuotekortin infotaulukko*/
.bookPreview tr td:first-child {
	padding-right: 5px;
}

.bookPreview tbody {
	display: block;
}
.bookPreview th {
	text-align: left;
	padding-right: 35px;
	padding-bottom: 5px;
}

.opacity50 {
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
	-moz-opacity: 0.5;
	-khtml-opacity: 0.5;
	opacity: 0.5;
}

.bookmarks-right {
	border-left: 1px solid #cccccc;
	margin: 40px;
	margin-left: 0px; /*vähennetään marginia*/
	margin-top: 0px; /*vähennetään marginia*/
	width: 310px;
	padding: 20px;
	padding-left: 30px; /*lisätään paddingiä*/
	background-color: #ffffff;
	float: right;
}
/* Muokkaa kirjanmerkkejä -nappi : iPad/iPhone-korjaus */
#bookmarks-editbutton {
	margin-right: 20px;
}

.bookmarks-left {
	/*alkup.*/
	/*margin: 40px;
	margin-right: 410px;*/
	/*vähennetään marginia*/
	margin-right: 410px;
	margin-top: 10px;
	margin-left: -10px;
	margin-bottom: 0px;
}
/* kirjanmerkkilistauksen padding : iPad/iPhone-korjaus */
.bookmarks-left ul {
	/*alkup.*/
	/*padding: 20px;*/
	/*marginia vähennetty*/
	padding-right: 20px;
	padding-bottom: 0;
	padding-left: 0;
	padding-top: 0;
}


li.bookmark {
	display: block;
	position: relative;
	padding-bottom: 20px;
	border-bottom: 1px solid #cccccc;
	margin-top: 20px;
	overflow: hidden;
	cursor: pointer;
}

.bookmarks-editmode li.bookmark {
	cursor: auto;
}

li.bookmark:first-child {
	margin-top: 0;
}



.bookmark-title, .bookmark-title-edit {
	display: block;
	font-size: 16px;
	margin-bottom: 10px;
}

.bookmark-title-edit {
	width: 99%;
	border: 1px solid #cccccc;
	box-sizing: border-box;
	height: 40px;
	line-height: 40px;
}

.bookmark-path {
	display: block;
	color: #909090;
}

.bookmark-date, .bookmark-edit-functions {
	display: block;
	width: 80px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;
	color: #909090;
}

.bookmark-cover {
	float: left;
	display: block;
	overflow: hidden;
	position: relative;
}

.bookmark-cover span {
	display: block;
	position: absolute;
	right: 5px;
	top: 0px;
	width: 24px;
	height: 25px;
	background: url(/pics/2017/Bookmark_white.svg) center center no-repeat;
	background-size: contain;
}

.bookmark-edit-functions {
	display: none;
}

.bookmark-right {
	display: block;
	margin-left: 110px;
	margin-right: 120px;
}

#bookmarks-addnewbutton {
	display: none;
}

.bookmarks-editmode .bookmark-date {
	display: none;
}

.bookmarks-editmode .bookmark-edit-functions {
	display: block;
}

.bookmarks-editmode .buttonblue, .bookmarks-editmode .buttonwhite {
	float: right;
	margin-bottom: 10px;
}


.bookmarks-text {
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 160%;
}


/*-- Yleinen col-tyyli, täysleveä ----------*/

/* Antaa olla samat marginit kuin .contentilla, muutetaan myöh. jos tarttee */
/*
.content-generic
{
	margin-top: 69px;
	margin-bottom: 40px;
}
*/

.col-generic {
	/* Nämä tyylit kopioitu col:lta */
	margin-top: 30px;
	position: relative;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	padding: 30px;
	background: #fff;
	word-wrap: break-word; /* Pakotetaan rivit katki kapeassa tilassa, esim. mobiili. */
}

@media only screen and (max-width: 767px) {
	.col-generic {
		margin-top: 20px !important;
		padding: 20px;
	}
}

.col-generic.plain-layout {
	padding-left: 0;
	padding-right: 0;
	border: none;
	background: none !important;
}

.col-generic h1 {
	margin-bottom: 25px;
}

.col-generic h2 {
	margin-bottom: 21px;
}

.col-generic h3 {
	margin-bottom: 17px;
}

.col-generic p {
	margin-bottom: 17px;
}

/*-- Kysy asiantuntijalta ----------*/
.ask-pro-container {
	width: 740px;
	float: left;
}

.ask-pro-info-col {
	margin-top: 27px;
	width: 300px;
	margin-bottom: 30px;
	float: right;
}

.ask-pro-form-col {
	float: right;
	width: 400px;
	margin-right: 40px;
}



/*MOBILE STUFF*/

.mobileshow {
	display: none;
}

.handheldshow {
	display: none;
}

.mobilesearch {
	display: none;
}

.mobilewrapper {
	float: left;
	width: 50%;
}





/*sanaehdotuslista mobiilissa*/
.autocompletemobile {
	position: absolute;
	top: 100%;
	left: 0px;
	right: 0px;
	z-index: 4999; /*ent. 5002, muutettu jotta foldmenu tulisi paalle*/
}

.autocompletemobile #searchsuggestionsmobile {
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}

.autocompletemobile #searchsuggestionsmobile a {
	padding: 5px;
}

.autocompletemobile #searchsuggestionsmobile a:first-child {
	padding-top: 10px;
}

.searchtabsmobile select {
	margin-top: 10px;
	margin-right: 20px;
	margin-bottom: 5px;
	width: 100%;
	padding: 10px 0px 10px 20px;
	border: 1px solid var(--border-input-default);
}

#search .searchinfotext {
	padding-top:15px;
	font-size: 16px;
	color: var(--txt-secondary);
}
/* margin-left:8px; width:302px;  + border 2px */
@media only screen and (max-width: 767px) {

	#mobilemainmenu a {
		background-color: #f8f8f8;
	}


	/*disable iPhone auto zoom "feature" on input fields*/
	select, textarea, input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"] {
		font-size: 16px !important;
	}

	.recol2, .recol1 {
		margin-left: 0px !important;
		margin-right: 0px !important;
	}


	#search {
		/*nollataan padinäkymää varten asetettu padding*/
		padding-left: 0;
	}

	#search .searchleftcolouter {
		float: none;
		width: auto;
		margin-right: 20px;
		margin-left: 20px;
	}

	#search .searchinfotext {
		display: none;
	}

	#search .searchleftcolinner {
		margin-right: 0px;
	}

	#search .searchrightcol {
		float: none;
		width: auto;
	}

	.generic-textview {
		position: relative;
		overflow: auto;
		min-height: 600px;
		/*levitetään koko ruudulle, jotta saadaan pienessä näkymässä lisää tilaa käyttöön*/
		width: 100% !important;
		margin: 0 !Important;
	}

	.generic-textview-text {
		/* vähennetään tyhjää tilaa, jotta saadaan pienessä näkymässä lisää tilaa sisällölle*/
		padding: 20px;
	}

	div.bookmarks-left, div.bookmarks-right {
		position: relative;
		width: auto;
		float: none;
	}

	div.bookmarks-left {
		margin: 0 !important;
	}

	div.bookmarks-right {
		margin-top: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 20px !important;
		/*piilotetaan reunaviiva myös pienimmässä näkymässä*/
		padding: 0 !Important;
		border-left: none !Important;
		-moz-box-shadow: none !Important;
		-webkit-box-shadow: none !Important;
		box-shadow: none !Important;
	}
	/* kirjanmerkkilistauksen padding : iPad/iPhone-korjaus */
	.bookmarks-left ul {
		padding: 0;
		padding-top: 10px;
	}
	/* Muokkaa kirjanmerkkejä -nappi : iPad/iPhone-korjaus */
	#bookmarks-editbutton {
		margin-right: 0;
	}

	.searchtermspad {
		max-width: none !important;
	}

	#screenmode {
		width: 4px;
	}

	.searchtermsmobile {
		width: 200px !important;
	}





	body, .widthlimit {
		min-width: 320px;
	}

	.productInfoFooter {
		margin: 100px 0px 0px 0px!important;
	}


	.mobilecenter {
	}


	.clearfloatmobile {
		clear: both;
	}



	.login {
		height: 0px;
		width: 0px;
		filter: alpha(opacity=0);
		-moz-opacity: 0;
		-khtml-opacity: 0;
		opacity: 0;
	}

	#closepop {
		font-size: 0; 
	}
	#th-back-btn-arrow {
		/*margin-bottom: 50px;*/
	}

	/*.header #page_heading {
		height: 44px;
		line-height: 44px;
		padding-left: 20px;
		font-size: 1.2rem;
		max-width: 250px;
		overflow: hidden;*/
		/*TODO: Tämä määritys poistetaan, kun GalanoGrotesqueAlt-fontti on saatu kuntoon.*/
		/*Väliaikainen korjaus otsikon vertikaaliseen keskittymisongelmaan: otettu käyttöön fontti, joka toimii kaikissa selaimissa samalla tavalla.*/
		/*font-family: 'Nunito Sans', GalanoGrotesqueAlt-Light, sans-serif;
		font-weight: 300;
	}*/

	.loginactivate {
		/*border-left:1px solid #cccccc !important;*/
		border-right: none !important;
	}

	.mobilehide {
		display: none !important;
	}

	.header {
		height: 44px;
		position: fixed;
		left: 0;
		right: 0;
		/*almaheaderin tausta feikattu headerin reunaviivalla*/
		/*top:45px;*/
		border-top-width: 45px;
		z-index: 3;
	}

	body {
		padding-top: 14px;
	}

	.foldmenu {
		/*yhden pikselin korjaus valikon y-sijaintiin kännykällä*/
		/*bottom: -2px;*/
	}

	.foldmenu:after, .foldmenu:before {
		margin-left: -14px !important;
	}

	.idLoginBox:after, .idLoginBox:before {
		margin-right: -46px;
	}


	.headernotifystart {
		top: 70px;
		font-size: 18px;
	}

	.headernotifyend {
		height: 44px;
		line-height: 44px;
	}

	.headerlinksright {
		height: 44px; /*korkeus ei saa olla isompi kuin ympäröivän elementin (header), muuuten menujen avaaminen rikkoo leiskaa*/
	}

	/* Fade-elementti, joka häivyttää pitkän otsikkotekstin */
	#headerlinksright_fader {
		height: 44px; /*korkeus kännykällä*/
	}

	.headerlink {
		display: block;
		/*float:left;*/
		padding: 0;
		color: #ffffff;
		height: 44px;
		/*width:44px;*/
		line-height: 44px;
		font-size: 18px;
		text-decoration: none;
	}

	.headerlink:first-child {
		border: none;
	}



	#closepop {
		/*border-left:1px solid #cccccc;*/
		border-right: none;
	}

	.headerlink span.icoback {
		margin-top: 0px;
		margin-left: 9px;
	}

	.headerlink span.icomenu {
		background-position: -900px -90px;
		width: 24px;
		height: 25px;
		margin-top: 9px;
		margin-left: 9px;
	}

	.headerlink:hover span.icomenu {
		background-position: -900px 0px;
	}



	.headerlink span.icosearch {
		background: none;
		width: 24px;
		height: 25px;
		margin-top: 10px;
		margin-left: 14px;
		margin-right: 10px;
		position: relative;
	}

	.headerlink span.icosearch:after {
		position: absolute;
		display: block;
		content: "";
		top: 3px;
		left: 5px;
		width: 20px;
		height: 20px;
		background: url(/Pics/2017/Search_white.svg) center center no-repeat;
		background-size: contain;
	}

	.headerlink:hover span.icosearch {
		background-position: -540px 0px;
	}

	.headerlink span.icologin {
		display: inline-block;
		background-position: -720px 0;
		width: 24px;
		height: 20px;
		margin-top: 10px;
		margin-left: 14px;
	}

	.headerlink:hover span.icologin {
		background-position: -720px -90px;
	}

	span.kirjanmerkit:before {
		content: "";
	}

	.headerlink span.kirjanmerkit {
		background: none;
	}

	.headerlink span.kirjanmerkit:after {
		top: 13px;
	}


	.headerlink:hover span.kirjanmerkit {
		background-position: -360px 0px;
	}

	.headerlink span.icotocmode {
		margin-top: 9px;
		margin-left: 11px;
	}

	.headerlink.headerlink-switchedon span.icotocmode {
		background-position: -1882px -179px;
	}

	.headerlink span.icoindexwordlist {
		margin-top: 9px;
		margin-left: 7px;
	}

	.mobileshow {
		display: block;
	}



	.coverpage-image {
		display: none;
	}

	.coverpage-text {
		margin: 12px;
		padding-top: 5px;
	}



	/*search*/
	.searchleftcolinner {
		width: auto;
		margin-right: 0 !Important;
		float: none;
	}

	.searchresultcontainer {
		margin-top: 20px !important;
		min-height: 80px;
	}

	/*Mobiiliparannukset 2015 - hakutulos kännykkänäkymässä*/
	/*---*/
	/*kansikuva piiloon*/
	.searchresultcontainer .bookcover {
		display: none;
	}
	/*tekstiote piiloon*/
	.searchresultcontainer .searchitem .excerpt {
		display: none;
	}
	/*tekstiote näytetään aina*/
	.searchresultcontainer .searchitem .excerpt.showAlways {
		display: block;
	}
	/*pienennetään minimikorkeutta, sillä tekstiote ei näkyvissä*/
	.searchresultcontainer .searchitem {
		min-height: 20px;
		margin-bottom: 20px;
	}

	.showMore, .showLess {
		padding-bottom: 10px;
		margin-bottom: 40px !important;
		font-size: 14px;
		color: #843076;
		font-weight:400;
		padding-top: 25px;
		padding-bottom: 20px;
	}

	.multiSearchRDB {
		position: relative;
		margin-bottom: 30px;
	}

/*	.multiSearchRDB:after {
		content: "";
		position: absolute;
		display: block;
		left: -20px;
		right: -20px;
		height: 20px;
		background-color: #f3f3f3;
		top: -30px;
	}*/

	.searchresultcontainer .outer {
		margin-bottom: 15px;
	}

	.searchresultcontainer .bookcover {
		float: none !important;
		margin-bottom: 10px !important;
		margin-top: 20px !important;
	}

	.searchresultcontainer .bookcover:first-child {
		margin-top: 0 !important;
	}

	.searchresultcontainer .outer {
		margin-left: 0 !important;
	}

	#backicon {
		width: 18px;
	}
}
/* Haun ja autocompleten käynnissäolon merkkinä */
.searchresultcontainer .loadani {
	display: none;
}

.loadani {
	text-align: center;
	padding: 25px;
}
/* Haun korostukset */
.searchresultcontainer span.hl {
	font-weight: bold;
}
/* Haun asiahakemisto */
.indexWords {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
	background-color: #fafafa;
}

.indexWords-wrapper {
	float: left;
	width: 50%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow: hidden;
}

.indexWords-wrapper:first-child {
	border: none;
}

.indexWords-divider {
	position: absolute;
	left: 50%;
	width: 15px;
	top: 0px;
	bottom: 0px;
	border-left: 1px solid #e0e0e0;
	-moz-box-shadow: inset 15px 0px 15px -15px rgba(0,0,0,0.1);
	-webkit-box-shadow: inset 15px 0px 15px -15px rgba(0,0,0,0.1);
	box-shadow: inset 15px 0px 15px -15px rgba(0,0,0,0.1);
}

.indexWords .words {
	overflow: visible;
}

.indexWords .targets {
	overflow: hidden;
	margin-left: 10px;
}

.indexWords .words a, .indexWords .targets a {
	display: block;
	overflow: visible;
}

.indexWords .words a span {
	display: block;
	height: 40px;
	line-height: 40px;
	padding-left: 20px;
	padding-right: 20px;
}

.indexWords .targets a {
	display: block;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 5px;
	padding-bottom: 5px;
}

.indexWords .targets a:first-child {
	margin-top: 5px;
}

.indexwords-navi {
	font-weight: bold;
	padding: 20px;
	padding-bottom: 20px;
	padding-top: 10px;
}

.indexwords-navi:first-child {
	padding-top: 20px;
	padding-bottom: 10px;
}

.indexWords .words a.selected {
	background: rgb(160, 65, 145);
	position: relative;
	overflow: visible;
	color: #fff;
}

/*.indexWords .words a.selected i {
	display: block;
	position: absolute;
	width: 47px;
	right: -17px;
	height: 40px;
	background: rgb(160, 65, 145);
	z-index: 9000;
}*/

.indexWords .words a.selected i {
	display: block;
	position: absolute;
	width: 47px;
	right: -17px;
	height: 40px;
	background: rgb(160, 65, 145);
	z-index: 2;
}

.newChar {
	padding-left: 20px;
	padding-top: 20px;
	height: 40px;
	line-height: 40px;
	font-weight: bold;
	color: #646464;
	text-shadow: 0px 0px 1px rgba(255,255,255,1);
	font-size: 160%;
	cursor: default;
}

/* Känny */
@media only screen and (max-width: 767px) {
	/* Asiasanahakutulokset mobiilissa */
	/* Näytetään kerrallaan vain jompi kumpi sarakkeista */
	.mobile-hide-targets {
		display: block;
		line-height: 20px;
	}

	.mobile-hide-targets:after {
		content: '« Näytä asiasanat';
	}

	.indexWords-wrapper-words {
		width: 100%;
	}

	.indexWords-wrapper-targets {
		position: relative;
		width: 0;
	}

	.indexWords.show-targets-on-mobile .indexWords-wrapper-words {
		width: 0;
	}

	.indexWords.show-targets-on-mobile .indexWords-wrapper-targets {
		width: 100%;
	}

	.indexWords {
		border: none;
		background-color: transparent;
	}

	.indexWords-divider {
		display: none;
	}

	.indexWords .words a span {
		padding-left: 5px;
		padding-right: 5px;
	}

	.indexWords .targets {
		margin-left: 0;
	}

	.indexWords .targets a {
		padding-left: 0;
		padding-right: 0;
	}

	.indexwords-navi {
		padding: 0 !important;
		padding-top: 10px !important;
	}

	.indexwords-navi:first-child {
		padding-top: 0 !important;
		padding-bottom: 10px !important;
	}

	.newChar {
		padding: 0;
		padding-top: 10px;
	}
}


.searchresultcontainer button.showMore, .searchresultcontainer button.showLess {
	border:unset;
	background: unset;
	width:100%;
	cursor: pointer;
	display: block;
	text-align: center;
	font-size: 14px;
	color: var(--text-brand);
	font-weight: 400;
	padding-top: 25px;
}
	.searchresultcontainer button.showMore:hover, 
	.searchresultcontainer button.showLess:hover {
		text-decoration: underline;
	}

	.searchresultcontainer a {
		line-height: 150%;
		font-size: 14px;
		color: #8A3076;
		font-weight: 500;
	}
	.searchresultcontainer a.title {
		padding-bottom: 5px;
	}
	
	.searchresultcontainer a p {
		font-size: 14px;
		color: var(--text-primary);
		font-weight: 400;
	}

.searchresultcontainer .search-target-container {
	padding-bottom: 15px;
	padding-top: 15px;
	border-bottom: 1px solid #DFDFDF;
}

span.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.multiSearchRDB {
	margin-bottom: 20px;
}

.dropdown:focus-visible,
#searchtabsSelect:focus-visible {
	outline: var(--vkh-purple) auto 1px;
	border-radius: 2px;
}

.searchresultscontainer-header {
	font-weight: 600;
	text-align: center;
	font-size: 16px;
}

div.searchresultcontainer ul > p,
div.searchresultcontainer > p {
	text-align:center;
}

.searchresultcontainer-info mobileshow {
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.mobile-search-button {
		all: unset;
		background: #a04191;
		width: 100%;
		color: #fff;
		display: flex;
		justify-content: center;
		gap: 8px;
		padding: 10px;
		cursor: pointer;
		box-sizing: border-box;
	}
}
/*-- Asiakaspalvelu ----------*/
.cust-service-two-col {
	float: left;
	width: 50%;
	margin-bottom: 45px;
	padding-bottom: 65px;
	border-bottom: 1px solid #e7e7e7;
}
/* Känny */
@media only screen and (max-width: 767px) {
	.cust-service-two-col {
		width: auto;
		margin-bottom: 20px;
		padding-bottom: 0px;
		border-bottom: none;
	}

	.outer {
		padding-left:0px!important;
	}

	.searchinput .searchterms {
		padding-left:20px!important;
	}
}

/*-- Lomakkeet yleisesti ----------*/
.form-wrapper .label {
	display: block;
	margin-top: 10px;
	line-height: 25px;
}

.form-wrapper input[type=text],
.form-wrapper textarea,
.form-wrapper input[type=password] {
	margin-top: 5px;
	height: 23px;
	width: 240px;
	padding-left: 5px;
	border: 1px solid #ccc;
	background: #fff url(../pics/bg-input.png) no-repeat;
}

.form-wrapper textarea {
	height: 70px;
	font: 12px Verdana, Helvetica, Arial, sans-serif;
	padding-top: 4px;
	overflow: auto;
}
/* Känny */
@media only screen and (max-width: 767px) {
	.form-wrapper input[type=text],
	.form-wrapper textarea {
		width: 200px;
	}
}
/*-- Tilaa teoksia ----------*/
#order #tabs {
	margin-top: 20px;
	overflow: hidden;
	margin-bottom: 0px;
}

#order #tabs div {
	width: 20%;
	float: left;
	/*background:url(../pics/searchtab-margin-bg.png) 0 100% repeat-x;*/
}

#order .fake-border {
	height: 89px;
	width: 40% !important;
	border-bottom: 1px solid #ccc;
	-moz-box-shadow: inset 7px 0px 7px -7px rgba(0,0,0,0.15), 0 2px 1px -1px #ffffff;
	-webkit-box-shadow: inset 7px 0px 7px -7px rgba(0,0,0,0.15), 0 2px 1px -1px #ffffff;
	box-shadow: inset 7px 0px 7px -7px rgba(0,0,0,0.15), 0 2px 1px -1px #ffffff;
}

#order #tabs div a {
	border: 1px solid #cccccc;
	border-left-width: 0;
	display: block;
	background: #ffffff;
	height: 65px;
	padding-top: 23px;
	color: #404040;
	font-size: 12px;
	text-align: center;
	/*yläkulmat pyöristetty*/
	-moz-border-radius: 0px;
	-webkit-border-radius: 3px 3px 0px 0px;
	border-radius: 3px 3px 0px 0px;
	-moz-box-shadow: inset 0 -8px 10px -8px rgba(0,0,0,0.15);
	-webkit-box-shadow: inset 0 -8px 10px -8px rgba(0,0,0,0.15);
	box-shadow: inset 0 -8px 10px -8px rgba(0,0,0,0.15);
}

#order #tabs div:first-child a {
	border-left-width: 1px;
}

#order #tabs div a.selected {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border-bottom: none;
	overflow: hidden;
	/*background:#ffffff url(../pics/searchtab-bg.png) 0 57px repeat-x;*/ /* Piilotetaan viimeinen pikseli (reunaviiva) korkeussuunnassa. */
	outline: none;
	/*gradient tausta - valittu item*/
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #f7f7f7 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f7f7f7)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ffffff 0%,#f7f7f7 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ffffff 0%,#f7f7f7 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ffffff 0%,#f7f7f7 100%); /* IE10+ */
	background: linear-gradient(to bottom, #ffffff 0%,#f7f7f7 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f7f7f7',GradientType=0 ); /* IE6-9 */
}

/* Padi ja pienempi */

/* Känny */
@media only screen and (max-width: 767px) {
	#order #tabs div {
		width: 33%;
	}

	#order .fake-border {
		/*width: 3% !important;*/
		display: none;
	}

	#order #tabs div a {
		height: 59px;
	}
}

/*#order #tabs div a.tab-1
{
	margin-right:8px;
}

#order #tabs div a.tab-2
{
	margin-left:2px;
	margin-right:6px;
}

#order #tabs div a.tab-3
{
	margin-right:4px;
	margin-left:4px;
}*/

#order #tabs div a > span {
	display: none;
}

#order #tabs div a > span:first-child {
	display: inline;
	color: #1e3e7b;
	font-size: 17px;
}

#order #tabs div a span.description {
	display: block;
	color: #515151;
	font-size: 14px;
	line-height: 16px;
	margin-top: 5px;
}

#order .col {
	background: #fff;
}
/* Tilauslomakkeella colcontentin alaosan paddingia pitää pienentää sillä teokset "kasvattavat" sitä */
#order .col .colcontent {
	padding-bottom: 10px;
}
/*laitettu koskemaan koko tyyliä*/
/* Tilauslomakkeella teosten etäisyydet toisiinsa nähden ovat normaalia isommat */
/*#order .col .colcontent .bookscontainer-horizontal .bookcontainer
{
	margin-top: 10px;
}*/

#order div.total-sum {
	border-top: 2px dashed #ccc;
	padding-top: 20px;
	text-align: right;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 40px;
}

#order div.total-sum .total-price {
	color: #d13c7c;
	font-size: 30px;
	font-weight: normal;
	margin-left: 5px;
}
/* Känny */
@media only screen and (max-width: 767px) {
	#order div.total-sum .total-price {
		font-size: 22px;
	}

	#order #tabs div a {
		line-height: 59px;
		padding-top: 0px;
	}

	#order #tabs div a > span {
		display: inline;
	}

	#order #tabs div a > span:first-child {
		display: none;
	}
}

#order .padded-wrapper {
	background: #fff;
	padding: 15px;
	border: 1px solid #ccc;
}

#order .org-license-select {
	font-weight: bold;
}

#order .org-license-select span {
	margin-right: 30px;
}

#order .org-license-select span:last-child {
	margin-right: 0;
}
/* Känny */
@media only screen and (max-width: 767px) {
	#order .org-license-select span {
		display: block;
		margin-right: 0;
	}
}

#order .form-wrapper {
	margin-top: 20px;
}

#order .form-wrapper span.label {
	display: inline !important;
	position: absolute;
	line-height: 25px;
}

#order .form-wrapper span.title {
	position: inherit;
	display: block;
	font-weight: bold;
}

#order .form-wrapper input[type=text],
#order .form-wrapper textarea {
	margin-left: 150px;
}
/* Känny */
@media only screen and (max-width: 767px) {
	#order .form-wrapper span.label {
		display: block !important;
		position: inherit;
	}

	#order .form-wrapper input[type=text],
	#order .form-wrapper textarea {
		display: block;
		margin-left: 0;
	}
}

#order .form-wrapper sup {
	font-size: 90%;
	position: relative;
	top: -5px;
}


#order .info {
	margin-top: 10px;
	margin-bottom: 20px;
	padding: 10px 20px;
	/*border: 1px solid #ddd;*/
	background: #ddd;
}

#order .lower-separator {
	border-bottom: 1px solid #aaa;
	padding-bottom: 10px;
}

#order .lower-container {
	margin-top: 10px;
	min-height: 40px;
}

#order .lower-container div {
	float: left;
	margin-top: 10px;
}

#order .lower-container .buttongreen {
	float: right;
	text-align: center;
	width: 180px;
}

/*Käyttöehdot*/
#order .lower-container .accept-terms-wrapper {
	float: right;
	margin-top: 0;
	/*margin-right: 20px;*/
}
/*Käyttöehdot*/
#order .lower-container .accept-terms-wrapper a.buttongreen {
	float: none;
	margin-left: 20px;
}


/* Känny */
@media only screen and (max-width: 767px) {
	#order .lower-container div {
		float: none;
	}

	#order .lower-container .buttongreen {
		float: none;
		margin-top: 10px;
	}

	/*Käyttöehdot*/
	.lower-container.order-data {
		height: auto;
	}
	/*Käyttöehdot*/
	#order .lower-container .accept-terms-wrapper {
		float: none;
		margin-top: 10px;
	}
}

/* Sisältöä */
.order-two-col-left {
	float: left;
	width: 65%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-left: 30px;
	line-height: 25px;
}

.order-two-col-right {
	float: right;
	width: 35%;
	text-align: right;
}
/* Känny */
@media only screen and (max-width: 767px) {
	.order-two-col-left, .order-two-col-right {
		float: none !important;
		width: auto !important;
		text-align: left;
		line-height: 20px;
		padding-left: 0px;
	}
}

/* Tuotteiden valinta-kontrollit */
#order .item-select {
	margin-top: 10px;
}


.siteVKH #order .item-select {
	width: 180px;
}

.siteVKH #order .item-select label {
	display: block;
	width: 150px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.siteVKH #order .item-select span.idProductSum {
	float: right;
}

/*@media only screen and (max-width: 767px) {
	span.idProductSum {
		float: none !important;
		display: block !important;
		margin-left: 40px;
	}
}*/

.siteVKH #order .item-select label {
	line-height: 40px;
	vertical-align: top;
	display: inline-block;
}

.siteFokus #order .item-select span.idProductSum {
	float: left;
}

#order .item-select span.idProductSum {
	display: inline-block;
	height: 30px;
	width: 80px;
	margin-right: 2px;
	line-height: 30px;
	padding-left: 10px;
	padding-right: 10px;
	color: #d13c7c;
	font-weight: bold;
	border: 1px solid #eee;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: #fcfcfc;
	text-align: right;
}

#order .item-select span.desc {
	float: right;
	display: block;
	height: 32px;
	line-height: 32px;
	margin-left: 7px;
	margin-right: 17px;
	font-size: 12px;
}

.siteFokus #order .item-select input {
	float: left;
}

.siteVKH #order .item-select input + label {
	margin-left: 10px;
}

#order .item-select input {
	height: 30px;
	width: 25px;
	border: 1px solid #ccc;
	background: #fff url(../pics/bg-input.png) no-repeat;
}

#order .item-select input[type=text] {
	width: 22px !important;
	text-align: right;
	padding: 0 3px;
}



body .wasvisible {
	display: none !Important;
}

pre {
	white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
	white-space: -pre-wrap; /* Opera */
	white-space: -o-pre-wrap; /* Opera */
	white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
	word-wrap: break-word; /* IE 5.5+ */
}

/*upload-kontrolli*/
.btn {
	cursor: pointer;
	display: inline-block;
	position: relative;
	overflow: hidden;
}

.btn input {
	top: -10px;
	right: -40px;
	z-index: 2;
	position: absolute;
	cursor: pointer;
	opacity: 0;
	filter: alpha(opacity=0);
	font-size: 50px;
	cursor: pointer;
}

/*upload-kontrolli*/


/* Teostaulukko sisältöalueessa */
div.teostaulukko table tr:first-child td {
	font-weight: bold;
}

div.teostaulukko table td {
	background: #eee;
	padding: 10px;
	border: 1px solid #ddd;
}

@media only screen and (max-width: 767px) {
	div.teostaulukko table td, div.teostaulukko table td > span {
		white-space: normal !important;
		word-break: break-all !important;
	}
}


/* Teostaulukko sisältöalueessa */


/* Tulostuslinkki... */
a.print {
	display: none;
	float: left;
	margin-left: 8px;
	background: url(/Pics/2017/Print.svg) center center no-repeat;
	background-size: contain;
	height: 17px;
	width: 17px;
	float: right;
}

body.IsLoggedIn a.print {
	display: block;
}


/* ...tulostuslinkki */
/* Tulostuspalkki... */
@media print {
	#almaheader {
		display: none !important;
	}

	#headerstripe, .closebutton {
		display: none !important;
	}

	body, html {
		overflow: auto !important;
		height: auto !important;
		padding-top: 10px;
	}

	.ellipsis {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
	}
}

#printareaheader {
	display: none;
	position: relative;
	background-color: #eeeeee;
	font-weight: bold;
	line-height: 30px;
	font-size: 14px;
	color: #404040;
	padding-left: 10px;
	height: 30px;
	font-size: 12px;
}

#printareaheader a {
	margin-top: 5px;
}

#printareaheader div span {
	display: inline-block;
	margin-left: 5px;
	margin-right: 5px;
}

#printareaheader div a {
	color: #404040;
	cursor: default;
}

#printareaheader .closebutton {
	display: block;
	position: absolute;
	top: 0px;
	right: 5px;
	width: 200px;
	height: 24px;
	text-align: right;
	font-size: 12px;
}
/* ...tulostuspalkki */

/* Käyttäjätilitietojen päivityspopupit */
.account-updater-dialog-wrapper {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/*tyyli kopioitu notificatorilta*/
	background: rgba(255,255,255,0.8);
	z-index: 99999;
}

	.account-updater-dialog-wrapper > .account-updater-dialog-box {
		max-width: 500px;
		max-height: 85%;
		overflow: auto;
		position: relative;
		margin: 50px auto;
		padding: 20px;
		/*tyylit kopioitu notificatorilta*/
		border: 1px solid #cccccc;
		color: var(--text-primary);
		background: #ffffff;
		-moz-box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.3);
		-webkit-box-shadow: 5px 20px 0px 0px rgba(0,0,0,0.3);
		box-shadow: 0px 5px 20px 0px rgba(0,0,0,0.3);
		font-size: 15px;
	}

.account-updater-dialog-box p {
	margin-bottom: 0.5em;
}

.account-updater-dialog-box ul {
	list-style-position: inside;
	list-style-type: square;
}

.account-updater-dialog-wrapper > .account-updater-dialog-box .section-wrapper {
	margin-top: 10px;
}

.account-updater-dialog-wrapper > .account-updater-dialog-box .section-wrapper span {
	display: block;
}

.account-updater-dialog-wrapper > .account-updater-dialog-box input[type=text],
.account-updater-dialog-wrapper > .account-updater-dialog-box input[type=password] {
	/*tyylit kopioitu THForm-lomakkeelta*/
	margin-top: 5px;
	height: 23px;
	width: 240px;
	padding-left: 5px;
	border: 1px solid #ccc;
	background: #fff url(../pics/bg-input.png) no-repeat;
}

.section-wrapper.account-updater-buttons {
	margin-top: 30px !important;
}

.section-wrapper small {
	font-size: 12px;
	margin-left: 20px;
}

/*sähköpostiosoitteen lisävarmistus*/
#account_updater_email_enter .confirm-mode-only {
	display: none;
}

#account_updater_email_enter.confirm-mode .confirm-mode-only {
	display: block;
}

#account_updater_email_enter .confirm-mode-not {
	display: block;
}

#account_updater_email_enter.confirm-mode .confirm-mode-not {
	display: none;
}

/* Käyttäjätilitietojen päivityspopupit: loppu */

/* VKH ----------- */

/* MasterPagen sisältä verkkokirjahyllyn domainissa piilotettavat */
.siteVKH .vkhHide {
	display: none !important;
}

/*#SKI*/
/* Tuote-esittely, VKH/BK/SKI:
	- "Verkkokirjahyllyssä:"-tieto piilotetaan BK/SKI.
	- Tilaa-painikkeilla omat tekstinsä.
*/
.show-siteVKH,
.show-siteBK,
.show-siteSKI {
	display: none;
}

body.siteVKH .show-siteVKH {
	display: inline;
}

body.siteBK .show-siteBK {
	display: inline;
}

/*#SKI*/
body.siteSKI .show-siteSKI {
	display: inline;
}
/* Tuote-esittely, VKH/BK/SKI: loppu*/

/* Paikka verkkokirjahyllyn leijuvalle tuote-esittelylle */
#productInfo {
}

#productInfo .loadani {
	margin-top: 30px !important; /*progress-palkki tuotelayerin tasalle*/
}


.vkhBookPrev {
	display: none;
	margin-right: 20px;
}

.vkhBookNext {
	display: none;
}

/*mobiilissa selauspainikkeet ovat täysin erilaiset*/
.vkhBookPrevMobile,
.vkhBookNextMobile {
	position: absolute;
	top: 50%;
	margin-top: -25px;
	display: block;
	width: 50px;
	height: 50px;
	line-height: 45px;
	text-align: center;
	text-shadow: 1px 1px #444;
	/*font-size: 2em;
	background: rgba(68,68,68,0.5);
	color: #ccc;*/
	font-size: 5em;
	background: none;
	/*color: #54860f;*/
	color: #fff;
}

.vkhBookPrevMobile {
	left: 0;
	text-align: left;
}

.vkhBookNextMobile {
	right: 0;
	text-align: right;
}

.vkhBookPrevMobile span,
.vkhBookNextMobile span {
}

/*disabloitu paluu-nappi, kun tullaan sl.comista*/
#backicon.disabled {
	opacity: 0.35;
}

/* VKH: loppu ----------- */

/*esteettömyys*/
.hidden, .hidden * {
	/*merkataan alueita h1-elementillä ruudunlukijoita varten*/
	display: none !important;
	opacity: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/*SKO*/
.content {
}

.col {
	margin-top: 30px;
	position: relative;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	float: left;
	overflow: hidden;
}

@media only screen and (max-device-width: 1024px) and (orientation : portrait), only screen and (min-device-width: 1025px) and (max-width:1050px) {
	.col {
		width: auto;
		float: none;
	}
}

.col.nomargin {
	margin-top: auto !important;
}

.colfull {
	width: 100%;
	margin-left: 20px;
	margin-right: 20px;
}

.colfullnoborder {
	width: 100%;
	border: none;
}

.colleft {
	width: 63.5%;
	float: left;
}

.colright {
	width: 34%;
	float: right;
}











.frontpageactions {
	padding-top: 20px;
	padding-bottom: 20px;
	overflow: hidden;
}

.frontpageactions a {
	display: block;
	float: left;
	text-align: center;
	padding-top: 20px;
	width: 33%;
}

.separator {
	width: 1px;
	height: 200px;
	background-color: #e2e1e1;
	border-right: 1px solid #ffffff;
	float: left;
}

.separatorx {
	display: none;
	margin-bottom: 40px;
	height: 1px;
	background-color: #e2e1e1;
	border-bottom: 1px solid #ffffff;
}




ul.default {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

ul.striped li {
	padding-top: 6px;
	padding-bottom: 6px;
	display: table;
	vertical-align: middle;
	padding-left: 46px;
	background: #f7f7f7 url(../pics/checkmark.png) 16px 12px no-repeat;
	width: 435px;
	font-size: 18px;
	color: var(--text-primary);
	line-height: 25px;
}

ul.striped li.odd {
	background-color: #ffffff;
}

.welcome {
	background-color: #ffffff;
	margin-left: -0px;
}

.welcome h2 {
	text-align: center;
	padding-top: 40px;
	margin-bottom: 40px;
	font-size: 48px;
	line-height: 54px;
}



.content-highlights {
	float: left;
	width: 470px;
	margin-left: 33px;
}

.content-highlights p {
	margin-bottom: 20px;
	font-size: 18px;
	color: var(--text-primary);
	line-height: 25px;
}

.welcomelinks {
	float: left;
	margin-left: 40px;
}

.welcomelinks a.buttonblue {
	/* Pienennetään nappeja hieman, jotta saadaan lisää tilaa niiden väliin. */
	padding-left: 14px;
	padding-right: 14px;
}


.content-watchvideo, .content-skoscreenshot {
	display: block;
	margin-left: -23px;
	margin-top: 20px;
	width: 592px;
	height: 490px;
	background: url(../pics/content-watchvideo.png);
	float: left;
}

.content-skoscreenshot {
	background: url(../pics/screenshot-mot.png);
}




@media only screen and (max-width: 767px) {
	.welcome h2 {
		margin-top: 20px !Important;
		margin-bottom: 20px;
		width: 100%;
		margin-left: 0px !Important;
		margin-right: 0px !Important;
	}

	.content-skoscreenshot {
		margin-left: 20px;
		margin-top: 10px;
		width: 269px;
		height: 222px;
		background: url(../pics/screenshot-mot-small.png);
		float: left;
	}

	.content-highlights {
		float: left;
		margin-left: 0;
		width: 260px !important;
		margin-top: 20px;
	}

	.content-highlights ul {
		width: 260px;
	}


	ul.striped li {
		width: 214px !important;
		margin: 0px !important;
		font-size: 12px;
	}

	.content {
		margin-left: 20px;
		margin-right: 20px;
	}



	div.colfull, div.colfullnoborder, div.colleft, div.colright {
		width: 304px !important;
		margin-left: 8px !important;
		float: left !important;
	}

	.frontpageactions {
		height: 0;
		padding-top: 0;
		padding-bottom: 0;
		width: 320px;
	}

	div.welcome {
		background-color: transparent;
		border: transparent;
		margin-left: 26px !important;
		margin-right: 26px;
		overflow: hidden;
		float: left;
		padding: 0;
		width: 260px !important;
	}

	.separatorx {
		display: block;
	}

	.welcome h2 {
		text-align: left;
		margin-top: 40px;
		width: 100%;
	}

	.mobilesearch {
		display: flex;
		width: 48px;
		height: 48px;
		justify-content: center;
	}
		.mobilesearch img {
			width:24px;
		}

	div.welcomelinks {
		float: left;
		margin-left: 0px !important;
		padding: 0 !Important;
	}

	div.welcomelinks a.buttonblue {
		padding-left: 0;
		text-align: center;
		display: block;
		margin: 0 !important;
		width: 258px !important;
		padding-left: 0;
		padding-right: 0;
	}

	div.welcomelinks a.mobile-watchvideo {
		display: none;
		margin: 0px !important;
		margin-top: 30px !important;
		background: #dfdfdf url(../pics/mobile-watchvideo.png) no-repeat 64px 33px;
		width: 260px;
		height: 140px;
		-webkit-border-radius: 2px;
		-moz-border-radius: 2px;
		border-radius: 2px;
	}

	.welcome {
		padding-bottom: 0 !important;
	}
	.header #page_heading {
		height: 44px;
		line-height: 44px;
		padding-left: 20px;
		font-size: 1.2rem;
		max-width: 250px;
		overflow: hidden;
		font-family: inherit;
		font-weight: 300;
	}

}


.bookinfo > .so-short-text {
	height: 87px;
	overflow: hidden;
	position: relative;
	font-size: 12px;
	line-height: 140%;
}

.bookinfo > .so-short-text:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 40px;
	background: -moz-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255, 1));
	background: -webkit-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255, 1));
	background: -ms-linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255, 1));
	background: linear-gradient(top, rgba(255,255,255,0), rgba(255,255,255, 1));
}

.boldtext {
	font-weight: bold;
}

body.siteSKO .bookcontainer .bookname, body.siteSKO .bookcontainer .bookauthor {
	display: none;
}

ul.withbullet {
	padding: 20px;
}

ul.withbullet li {
	list-style: disc;
}

#searchtermsHeader {
	border-radius: 3px;
	height: 48px;
	margin-top: 22px;
	border: 1px solid var(--border-input-default);
}

	#searchtermsHeader:focus-visible {
		border: 2px solid var(--border-input-active);
		outline: none;
	}

	#searchtermsHeader:hover {
		border: 1px solid var(--border-input-hover)
	}

/*.searchbutton:hover {
	border: 2px solid #a04191;
}*/

.searchcats {
	border: 1px solid #bebebe;
}


.filter-search-results {
	max-width: 200px;
	font-size: 0.765rem;
}

.filter-search-results:not(.mobile) {
	display: none !important;
}

body.searchmode {
	display: block;
}

@media (min-width: 768px) {

	body.searchmode .filter-search-results:not(.mobile) {
		display: block !important;
	}
}

.filter-search-results input {
	float: left;
}

.filter-search-results label {
	line-height: 1;
	float: left;
}

.filter-search-results table {
	height: 85px;
}

.filter-search-results td {
	vertical-align: middle;
}

/* Alma header border piiloon */
.cnm-master-container {
	border-bottom: 1px solid #fff !important;
	box-shadow: none !important;
}

.dbreader-links {
	display: none;
}

.dbreader-controlarea-links {
	display: none;
}


@media (min-width: 768px) {
	.filter-search-results.mobile {
		display: none !important;
	}

	#search .searchheader {
		display: none;
	}

	.searchtermsFullscreenContainer {
		margin-right: 221px;
		display: none;
		z-index:2;
	}

	.header {
		/*almaheaderin tausta feikattu headerin reunaviivalla*/
		/*top: 70px;*/
		border-top-width: 70px;
	}

	.header.nopodheader {
		top: 0px;
	}

	body {
		padding-top: 90px;
	}

	.headerlink span.icoback:after {
		content: " Takaisin";
	}

	.headerlinksright {
		padding-right: 0px;
	}

	.desktop-negative-margin-15 {
		margin-top: -15px;
	}
}

@media only screen and (max-width: 767px) {


	.mobile-mode #closepop-reader {
		/*border-left:1px solid #cccccc;*/
		border-right: none;
		display: block;
	}

/*	body.header-info-active .header {
		border-top-width: 150px!important;
	}

	body.header-info-active .bodyslidecontainer {
		margin-top: 78px;
	}*/

	#closepop {
		width: 25px;
		margin: 0px;
	}
}


/* autocomplete */
.ui-autocomplete.ui-menu.ui-widget.ui-widget-content.ui-corner-all, .ui-widget-content {
	background-image: none;
	background-color: #ffffff;
	border: 1px solid #c3c3c3 !important;
	border-top: 1px solid #fff !important;
	margin: 0px;
	padding: 4px;
	filter: alpha(opacity=100);
	opacity: 1;
	width: 241px;
	border-radius: 0px;
}

.ui-menu-item, a.ui-corner-all, .ui-menu-item a {
	color: var(--text-brand) !important;
	border-color: #ffffff;
}

.ui-menu-item:hover, a.ui-corner-all:hover, .ui-menu-item a:hover {
	color: #000 !important;
	border-color: #ffffff;
	background: #ffffff;
}

ul.ui-autocomplete.ui-menu.ui-widget.ui-widget-content.ui-corner-all li.ui-menu-item a.ui-corner-all {
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

.ui-widget {
	font-family: 'Hanken Grotesk', sans-serif!important;
}

/*.ui-autocomplete:before {
	content: "Tarkoititko jotain näistä?";
	display: block;
	font-size: 1em;
	color: #000;
	padding: 5px;
}*/

.ui-autocomplete .autocomplete-header {
	display: block;
	font-size: 1em;
	color: var(--text-primary);
	padding: 5px;
}

.ui-autocomplete > .ui-menu-item > a.ui-state-focus, .ui-autocomplete .ui-menu-item.ui-state-focus {
	border: none !important;
	background: transparent !important;
}

ul.ui-autocomplete:not(.visible) {
	visibility: hidden !important;
}


body.searchmode #bookmarks, body.searchmode .mobilesearch {
	display: none !important;
}

.headermenucontainerright.openmenulogin {
	display: block;
}

/*

body.ServerRole-dev .headermenucontainerright.openmenulogin {
	display: block;
}

body.ServerRole-dev #almaheader {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	height: 20px;
	color: #000;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	
}

*/


@media only screen and (max-width: 1050px) {
	.searchinput .searchterms {
		width: 220px;
	}

	.header #page_heading {
		font-size: 1.669em;
		/*padding-left: var(--vkh-margin-normal);*/
	}

	span.icoback > .icobacksizer {
		font-size: 26.704px;
	}
}

@media only screen and (max-width: 767px) {
	.mobile-transparent {
		background: transparent !important;
		box-shadow: none !important;
	}

	h5.colheader {
		background-color: #f3f3f3;
	}

	/*mobile-transparent -luokka poistettu Hankitut sisällöt listauksesta, sillä uudet kansikuvat sisältävät valkoista taustaa*/
	h5.colheader.service-header {
		background-color: #fff;
	}

	.searchtermsFullscreenContainer.searchCatsOff {
		margin-right: 0;
	}

	.filter-search-results {
		max-width: 100%;
	}

	.header,
	#notification-section {
		padding: unset!important;
	}
}

body.resetPassWordPage .header {
	display: none !important;
}

body.resetPassWordPage {
	padding-top: 0px !important;
}

table.AppStatus {
	border-collapse: collapse;
	width: 100%;
}

table.AppStatus th, table.AppStatus td {
	text-align: left;
	padding: 8px;
}

table.AppStatus tr:nth-child(odd) {
	background-color: #f2f2f2
}

table.AppStatus th {
	background-color: #afc800;
	color: white;
}

/*Kielivalinta*/
.togglelangico {
	width: 30px;
	height: 20px;
	margin-top: 33px;
	background: url(/Pics/lang-se.svg) center center no-repeat;
	background-size: contain;
	display: none;
}

@media (max-width: 767px) {
	.togglelangico {
		margin-top: 10px;
		width: 24px;
		height: 24px;
		margin-left: 14px;
	}
}

body.lang-se.siteVKH .togglelangico {
	background-image: url(/Pics/lang-fi.svg);
}

body.lang-activated.siteVKH .togglelangico, body.lang-se.siteVKH .togglelangico, body.lang-fi.siteVKH .togglelangico {
	display: inline-block;
}

span.lang-se {
	display: none;
}

body.lang-se.siteVKH span.lang-se, body.lang-se.isVkh span.lang-se {
	display: block;
}

body.lang-se.siteVKH span.lang-fi, body.lang-se.isVkh span.lang-fi {
	display: none;
}

body.lang-se.siteVKH [data-text-se] > .lang-fi, body.lang-se.isVkh [data-text-se] > .lang-fi {
	display: none !important;
}

body.lang-se.siteVKH [data-text-se]:after, body.lang-se.isVkh [data-text-se]:after {
	content: attr(data-text-se);
}

/*Kielivalinta:content*/
body.lang-se.siteVKH span.kirjanmerkit:before, body.lang-se.isVkh span.kirjanmerkit:before {
	content: "Bokmärken";
}

@media (min-width: 768px) {
	body.lang-se.siteVKH .headerlink span.icoback:after, body.lang-se.isVkh .headerlink span.icoback:after {
		content: " Tillbaka";
	}
}

/*
.icoreadmode:after {
	content:"Piilota hakemisto";
}

.icoreadmode.icoreadmodefull:after {
	content:"Näytä hakemisto";
}
*/





/*ATTIME-283 Otetaan Fokuksesta pois Päivitetty-lätkä unnes ollaan saatu kaikki teokset julkaistua WebEditorilla:*/
/*- Lisätty tilapäinen css-määritys päivitetty-tietojen piilottamiseksi. Vaikuttaa lätkiin ja teosesittelyssä olevaan tekstielementtiin.*/
/*- Poistetaan, kun ei enää tarvita.*/
/*
.coverpage-text div.updated, span.stamp.updated {
	display: none !important;
}
*/




.helplink-info /*,.helplink-help */ {
	width: 32px;
	height: 32px;
	display: none;
}

/*näytetään vain tietyille saiteille desktop-tilassa*/
@media (min-width: 768px) {
	body.siteVKH .helplink-info, body.siteVKH .helplink-help {
		display: block;
	}
}

.helplink-info {
	position: absolute;
	right: 6px;
	top: 5px;
}



.helplink-info > span {
}

.helplink-info > span:after {
	display: block;
	content: "";
	/*width: 32px;
	height: 32px;*/
	background: url(../pics/fokus-info-symbol.svg) no-repeat center center;
	background-size: 80%;
}

.helplink-info:hover > span:after {
	background-image: url(../pics/fokus-info-symbol-hover.svg);
}

body.siteVKH .helplink-info > span:after {
	background-image: url(../pics/vkh-info-symbol.svg);
}

body.siteVKH .helplink-info:hover > span:after {
	background-image: url(../pics/vkh-info-symbol-hover.svg);
}

/*helplink-help*/

.helplink-help {
	height: inherit;
	vertical-align: middle;
	align-content: center;
	margin-right: 20px;
	color: var(--text-brand);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0;
	word-spacing: 0;
	float: left !important;
}
/*
body.IsLoggedIn .helplink-help {
	margin-right: -20px;
}
*/

.helplink-help > span:after {
	display: block;
	content: "";
	height: 60px;
	background-size: 100%;
}

/*.helplink-help-ohje > span:after {
	background: url(../pics/fokus-ohje-symbol.svg) no-repeat center center;
	width: 80px;
}*/

/*.helplink-help-ohje:hover > span:after {
	background-image: url(../pics/fokus-ohje-symbol_hover.svg);
	width: 80px;
}*/

/*.helplink-help-opaskierros > span:after {
	background: url(../pics/fokus-opaskierros-symbol.svg) no-repeat center center;
	width: 122px;
}*/

/*.helplink-help-opaskierros:hover > span:after {
	background-image: url(../pics/fokus-opaskierros-symbol_hover.svg);
	width: 122px;
}*/

/*body.siteVKH .helplink-help-ohje > span:after {
	background: url(../pics/vkh-ohje-symbol.svg) no-repeat center center;
	width: 80px;
}*/

/*body.siteVKH .helplink-help-ohje:hover > span:after {
	background-image: url(../pics/vkh-ohje-symbol_hover.svg);
	width: 80px;
}*/

/*body.siteVKH .helplink-help-opaskierros > span:after {
	background: url(../pics/vkh-opaskierros-symbol.svg) no-repeat center center;
	width: 122px;
}*/

/*body.siteVKH .helplink-help-opaskierros:hover > span:after {
	background-image: url(../pics/vkh-opaskierros-symbol_hover.svg);
	width: 122px;
}*/


/*piilotetaan toistaiseksi fokuksesta ja vkh:sta*/
body:not(.isFokus):not(.isVkh) .helplink-info {
	display: none !important;
}





/*puhekupla ohje, kun hakukenttä on focuksena. Toimii vain SearchDiv.ascx*/
.input-text {
	background-color: white;
	-webkit-appearance: none;
	border: 1px solid #cccccc;
	font-family: Arial;
	margin-bottom: 8px;
	padding: 8px 4px;
	position: relative;
	width: 100%;
	z-index: 3;
}

.input-text:focus-visible {
	box-shadow: 0 0 6px rgba(0, 200, 222, 0.25);
	background-color: #fafafa;
}

.label-helper {
	font-size: 10px;
	position: absolute;
	opacity: 0;
	transition: .2s bottom, .2s opacity;
	border: 1px solid grey;
	border-radius: 2px;
	background: rgb(255, 255, 240);
	top: 0;
	left: 0;
	z-index: 5;
}

.input-text:focus-visible + .label-helper, .input-text:invalid + .label-helper {
	top: 100%;
	font-family: arial;
	line-height: 1;
	opacity: 1;
	padding: 4px;
}

.input-text:invalid {
	border-left: 10px solid #f00;
}

.input-text:invalid + .label-helper::after {
	color: #f00;
	content: "X";
	font-family: arial;
	font-size: 14px;
	line-height: 1;
	padding-left: 12px;
}
/*Puhekuplateksti päättyy*/
/*helplink-help piilotetaan kun ollaan hakumoodissa aka. kun hakukenttään on kirjoitettu jtn */
body.searchmode .helplink-help {
	display: none;
}

/*Hakukoneen rajauksen muotoilut*/

.SearchFilterColLeft {
	width: 50%;
	float: left;
	padding-top: 25px;
}

.SearchFilterColRight {
	width: 50%;
	float: left;
	padding-top: 25px;
	padding-bottom: 15px;
}

	.SearchFilterColRight .ContainerProductList {
		padding-top: 15px;
	}

.extraSearch {
	box-shadow: rgb(0 0 0 / 25%) 0px 0px 10px 2px;
	height: 600px;
	background: #e2e2e2;
/*	margin-top: 95px;
	margin-right: 23%;
	margin-left: 23%;*/
	overflow: auto;
	/*display: none;*/
	margin: 0px;
}

#searchFilterModal {
	display: block;
	width: 60%;
	padding: 0;
	border: 0;
	margin-top: 95px;
}



.filter-input-group {
	padding-bottom: 25px;
}


.SearchOrderBox .SearchOrderHeaderDiv {
	padding-left: 25px;
}

.SearchOrderBox .input-group-checkbox {
	padding-top: 15px;
}

.extraSearch .input-label {
	font-weight: bold;
	margin-left: 5px;
	color: var(--text-primary);
}

.extraSearch .panel-title {
	font-weight: bold;
	font-size: larger;
	margin-left: 5px;
}

.material-icons {
	display: inline-flex;
	vertical-align: top;
}

.input-group-radio-1, 
.input-group-radio-2,
.input-group-checkbox-1 {
	color: var(--text-secondary);
	display: flex;
	gap: 5px;
	align-items: center;
}

.ContainerProductList {
}

	.ContainerProductList div {
		display: inline-block;
		margin: 5px;
		padding-left: 12px !important;
		padding-right: 12px !important;
		padding-top: 5px !important;
		padding-bottom: 5px !important;
		border: 1px solid var(--border-input-default) ;
		-moz-border-radius: 1px;
		-webkit-border-radius: 1px;
		border-radius: 1px;
		/*border: solid;*/
		background-color: var(--surface-elevation-1);
		position: relative;
		color: var(--text-brand);
		cursor: pointer;
	}


		.ContainerProductList div:hover {
			/*background: rgba(204, 204, 204, .2);*/
			border-color: var(--border-input-hover);
			cursor: pointer;
		}
		.ContainerProductList label {
			cursor:pointer;
		}

		.ContainerProductList div span {
			display: block;
			position: absolute;
			right: 17px;
			top: 19px;
			height: 8px;
			width: 8px;
			background: url(../pics/2017/Close.svg) center center no-repeat;
			background-size: contain;
			cursor: pointer;
		}
.filter-input-group input,
.input-group-checkbox  input{
	height: 24px;
}

.SearchFilterFooter {
	float: right !important;
	margin: 15px 50px !important;
}
	.SearchFilterFooter a {
		display: inline-block;
		margin: 16px;
	}

#th-remove-filter-button {
	background: none;
	border: none;
	color: #a04191;
	cursor: pointer;
	font-size: inherit;
	font-family: inherit;
	padding: 0;
	margin: 16px;
}
#th-remove-filter-button:hover {
	text-decoration: underline;
}

.SearchFilterButton {
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: inherit;
	line-height: inherit;
	text-decoration: none;
	color: var(--text-brand) !important;
	border: 1px solid var(--text-brand);
	padding: 5px 40px;
	margin: 20px auto;
	background: white;
	cursor: pointer;
}

.cnm-dialog-content h2 {
	font-size: 16px;
}

.productShelfInfoSecond {
	margin: 12px;
}