:root {
	--vkh-white: #fff;
	--vkh-purple: #a04191;
	--vkh-notification: #f7e7f6;
	--vkh-margin-small: 20px;
	--vkh-margin-normal: 40px;
	--vkh-margin-big: 80px;
	/*	--color-text-primary: #000000;
	--color-text-secondary: #4D4D4D;*/
	/*Saavutettavuus variablet*/
	/*region Tekstin värit*/
	--text-primary: #333333; /* primääri teksti, esim. otsikot */
	--text-secondary: #4D4D4D; /* toissijainen teksti */
	--text-tertiary: #666666; /* vieraillut hakutulokset, ikonit, input-placeholder */
	--text-brand: #8A3076; /* brändi värin versio, joka täyttää 4.5:1 kontrasti vaatimuksen, esim. linkit */
	--text-inverse: #FFFFFF; /* valkoinen teksti, esim. painikkeissa */
	/*Taustavärit*/
	--surface-background: #FAFAFA; /* sivupohjan väri */
	--surface-elevation-1: #FFFFFF; /* sisältöalueet, käytännössä kaikki valkoiset taustat kuvissa */
	--surface-elevation-2: #F7F7F7; /* esim. inaktiivinen muistilaput/korostukset tab */
	--surface-elevation-3: #D9D9D9; /* esim. progress bar tausta */
	--surface-brand: #A04191; /* hakusivun header, painikkeet */
	--surface-brand-dark: #8A3076; /* painikkeiden hover-tila */
	--action-brand: #A04191;
	--action-brand-active: #8A3076;
	--action-brand-dark: #8A3076;
	--action-primary: #666666;
	--action-secondary: #808080;
	--action-focus-ring: #333333;
	/*Reunojen värit*/
	--border-layout-subtle: rgba(0,0,0,0.15); /* sivun osioita erottavat borderit */
	--border-input-default: rgba(0,0,0,0.45); /* input-kenttien ja hakusivun kontrollien borderit */
	--border-input-hover: rgba(0,0,0,0.60); /* input-kenttien ja hakusivun kontrollien borderit (hover-tila) */
	--border-input-active: rgba(0,0,0,0.80); /* input-kenttien ja hakusivun kontrollien borderit (active-tila) */
	/*endregion Saavutettavuus variabled*/
}

.text-center {
	text-align: center;
}

/*ALMA HEADER*/
	.cnm-master-wrap article, .cnm-master-wrap aside, .cnm-master-wrap details, .cnm-master-wrap figcaption, .cnm-master-wrap figure, .cnm-master-wrap footer, .cnm-master-wrap header, .cnm-master-wrap main, .cnm-master-wrap menu, .cnm-master-wrap nav, .cnm-master-wrap section, .cnm-master-wrap summary {
	display: block
}

.cnm-master-wrap audio, .cnm-master-wrap canvas, .cnm-master-wrap progress, .cnm-master-wrap video {
	display: inline-block
}

	.cnm-master-wrap audio:not([controls]) {
		display: none;
		height: 0
	}

.cnm-master-wrap progress {
	vertical-align: baseline
}

.cnm-master-wrap [hidden], .cnm-master-wrap template {
	display: none
}

.cnm-master-wrap a {
	background-color: transparent;
	-webkit-text-decoration-skip: objects
}

	.cnm-master-wrap a:active, .cnm-master-wrap a:hover {
		outline-width: 0
	}

.cnm-master-wrap abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted
}

.cnm-master-wrap b, .cnm-master-wrap strong {
	font-weight: inherit;
	font-weight: bolder
}

.cnm-master-wrap dfn {
	font-style: italic
}

.cnm-master-wrap h1 {
	font-size: 2em;
	margin: .67em 0
}

.cnm-master-wrap mark {
	background-color: #ff0;
	color: #000
}

.cnm-master-wrap small {
	font-size: 80%
}

.cnm-master-wrap sub, .cnm-master-wrap sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline
}

.cnm-master-wrap sub {
	bottom: -.25em
}

.cnm-master-wrap sup {
	top: -.5em
}

.cnm-master-wrap img {
	border-style: none
}

.cnm-master-wrap svg:not(:root) {
	overflow: hidden
}

.cnm-master-wrap code, .cnm-master-wrap kbd, .cnm-master-wrap pre, .cnm-master-wrap samp {
	font-family: monospace,monospace;
	font-size: 1em
}

.cnm-master-wrap figure {
	margin: 1em 40px
}

.cnm-master-wrap hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible
}

.cnm-master-wrap button, .cnm-master-wrap input, .cnm-master-wrap optgroup, .cnm-master-wrap select, .cnm-master-wrap textarea {
	font: inherit;
	margin: 0
}

.cnm-master-wrap optgroup {
	font-weight: 700
}

.cnm-master-wrap button, .cnm-master-wrap input {
	overflow: visible
}

.cnm-master-wrap button, .cnm-master-wrap select {
	text-transform: none
}

.cnm-master-wrap [type=reset], .cnm-master-wrap [type=submit], .cnm-master-wrap button, .cnm-master-wrap html [type=button] {
	-webkit-appearance: button
}

	.cnm-master-wrap [type=button]::-moz-focus-inner, .cnm-master-wrap [type=reset]::-moz-focus-inner, .cnm-master-wrap [type=submit]::-moz-focus-inner, .cnm-master-wrap button::-moz-focus-inner {
		border-style: none;
		padding: 0
	}

	.cnm-master-wrap [type=button]:-moz-focusring, .cnm-master-wrap [type=reset]:-moz-focusring, .cnm-master-wrap [type=submit]:-moz-focusring, .cnm-master-wrap button:-moz-focusring {
		outline: 1px dotted ButtonText
	}

.cnm-master-wrap fieldset {
	border: 1px solid silver;
	margin: 0 2px;
	padding: .35em .625em .75em
}

.cnm-master-wrap legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal
}

.cnm-master-wrap textarea {
	overflow: auto
}

.cnm-master-wrap [type=checkbox], .cnm-master-wrap [type=radio] {
	box-sizing: border-box;
	padding: 0
}

.cnm-master-wrap [type=number]::-webkit-inner-spin-button, .cnm-master-wrap [type=number]::-webkit-outer-spin-button {
	height: auto
}

.cnm-master-wrap [type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px
}

	.cnm-master-wrap [type=search]::-webkit-search-cancel-button, .cnm-master-wrap [type=search]::-webkit-search-decoration {
		-webkit-appearance: none
	}

.cnm-master-wrap ::-webkit-input-placeholder {
	color: inherit;
	opacity: .54
}

.cnm-master-wrap ::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

.cnm-master-wrap button, .cnm-master-wrap input, .cnm-master-wrap label, .cnm-master-wrap select, .cnm-master-wrap textarea {
	margin: 0;
	border: 0;
	padding: 0;
	display: inline-block;
	vertical-align: middle;
	white-space: normal;
	background: none;
	line-height: 1
}

	.cnm-master-wrap input:focus {
		outline: 0
	}

	.cnm-master-wrap button, .cnm-master-wrap input, .cnm-master-wrap input[type=button], .cnm-master-wrap input[type=checkbox], .cnm-master-wrap input[type=radio], .cnm-master-wrap input[type=reset], .cnm-master-wrap input[type=submit], .cnm-master-wrap select, .cnm-master-wrap textarea {
		box-sizing: border-box
	}

		.cnm-master-wrap input[type=checkbox], .cnm-master-wrap input[type=radio] {
			width: 13px;
			height: 13px
		}

		.cnm-master-wrap input[type=search] {
			-webkit-appearance: textfield;
			-webkit-box-sizing: content-box
		}

.cnm-master-wrap ::-webkit-search-decoration {
	display: none
}

.cnm-master-wrap button, .cnm-master-wrap input[type=button], .cnm-master-wrap input[type=reset], .cnm-master-wrap input[type=submit] {
	overflow: visible;
	width: auto
}

.cnm-master-wrap ::-webkit-file-upload-button {
	padding: 0;
	border: 0;
	background: none
}

.cnm-master-wrap textarea {
	vertical-align: top;
	overflow: auto
}

.cnm-master-wrap select[multiple] {
	vertical-align: top
}

@media (max-width:479px) {
	html[cnm-header-menu-status=open] body {
		overflow: hidden
	}

	html[cnm-header-menu-status=open] .cnm-master-wrap .cnm-border-wrap {
		position: absolute;
		max-height: 100%;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0
	}
}

.cnm-master-wrap * {
	box-sizing: border-box
}

.cnm-master-wrap a, .cnm-master-wrap h1, .cnm-master-wrap h2, .cnm-master-wrap h3, .cnm-master-wrap label, .cnm-master-wrap p, .cnm-master-wrap span {
	padding: 0;
	margin: 0;
	font-size: 15px;
	line-height: 1;
	font-weight: 400;
	font-family: 'Hanken Grotesk', sans-serif;
	letter-spacing: normal
}

.cnm-master-wrap h3 {
	font-size: 20px;
	line-height: 28px
}

.cnm-master-wrap .cnm-master-container {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	right: 0;
	height: 45px;
	margin: 0 auto;
	background: var(--surface-elevation-1);
	text-align: center;
	line-height: 1;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal
}

@media (min-width:480px) {
	.cnm-master-wrap .cnm-master-container {
		text-align: left
	}
}

@media (min-width:768px) {
	.cnm-master-wrap .cnm-master-container {
		height: 70px
	}
}

.cnm-master-wrap .cnm-side-padding-wrap {
	position: relative;
	height: 100%;
	padding: 0 10px;
	box-sizing: border-box
}

@media (min-width:768px) {
	.cnm-master-wrap .cnm-side-padding-wrap {
		padding: 0 15px
	}
}

@media (min-width:1060px) {
	.cnm-master-wrap .cnm-side-padding-wrap {
		padding: 0 20px
	}
}

.cnm-master-wrap .cnm-master-container.fixed {
	position: fixed
}

.cnm-master-wrap .cnm-master-container.absolute {
	position: absolute
}

.cnm-master-wrap .cnm-master-container.static {
	position: static
}

.cnm-master-wrap .cnm-master-container.relative {
	position: relative
}

.cnm-master-wrap .cnm-logo-container, .cnm-master-wrap .cnm-main-nav-container, .cnm-master-wrap .cnm-site-menu-button-container {
	display: inline-block
}

.cnm-master-wrap .cnm-header-container {
	position: relative;
	width: 100%;
	height: 100%
}

/* Kirjautumisvalikon painike */
/* -- */

.cnm-master-wrap .cnm-site-menu-button-wide {
	position: relative;
	cursor: pointer;
	width: 100%;
	height: 45px;
	line-height: 39px;
	background: var(--surface-brand);
	color: var(--text-inverse);
	padding-left: 55px;
	padding-right: 30px;
	text-align: left;
	font-family: 'Hanken Grotesk', sans-serif;
	position: absolute;
	right: 0;
}
.cnm-master-wrap button.cnm-site-menu-button-wide {
	padding-bottom: 5px;
}

.cnm-master-wrap .cnm-site-menu-button-wide:before {
	content: '';
	display: block;
	height: 20px;
	width: 20px;
	background: url('../pics/person.svg') center 2px no-repeat;
	background-size: 80%;
	border: 1px solid #fff;
	border-radius: 50%;
	padding: 5px;
	position: absolute;
	left: 12px;
	top: 6px;
	box-sizing: content-box;
}

.cnm-master-wrap .cnm-site-menu-button-wide:after {
	content: '';
	display: block;
	height: 20px;
	width: 20px;
	background: url('../pics/chevron-down.svg') no-repeat;
	/* background: url('../pics/three-dots-vertical.svg') no-repeat; */
	background-size: contain;
	position: absolute;
	right: 12px;
	top: 12px;
}

@media (max-width:450px) {

	.cnm-master-wrap:not(.cnm-menu-open) .cnm-site-menu-button-wide {
		width: 0px;
		padding: 0 45px;
	}

	.cnm-master-wrap:not(.cnm-menu-open) .cnm-site-menu-button-wide div {
		width: 0;
		overflow: hidden;
	}
}

/* -- */

.cnm-master-wrap .cnm-main-logo {
	display: block;
	width: 90px;
	height: 24px;
	margin-left: 0
}

@media (min-width:1020px) {
	.cnm-master-wrap .cnm-main-logo {
		height: 32px;
		width: 124px
	}
}

.cnm-master-wrap.cnm-menu-open .cnm-site-menu-container {
	display: block
}

.cnm-master-wrap .cnm-border-wrap {
	max-width: 100vw;
	max-height: 90vh;
	overflow: auto;
	border: 1px solid #e3e3e3;
	background: #f3f3f3;
}

.cnm-master-wrap .cnm-site-menu-container {
	position: fixed;
	display: none;
	top: 45px;
	right: auto;
	width: 100%;
	height: 100%;
	z-index: 9
}

@media (min-width:450px) {
	.cnm-master-wrap .cnm-site-menu-container {
		z-index: 11;
		right: 0;
		bottom: 0;
		width: 315px;
	}
}

@media (min-width:768px) {
	.cnm-master-wrap .cnm-site-menu-container {
		top: 58px;
		right: 5px;
	}
}

@media (min-width:1060px) {
	.cnm-master-wrap .cnm-site-menu-container {
		right: 10px
	}
}

.cnm-master-wrap .cnm-logo-container {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -12px
}

@media (min-width:1020px) {
	.cnm-master-wrap .cnm-logo-container {
		margin-top: -16px
	}
}

.cnm-master-wrap .cnm-main-nav-container {
	display: none;
	width: 100%;
	height: 70px;
	max-height: 70px;
	margin: 0 auto;
	/*"overflow: hidden" kommentoitu Sisältöpalvelut-menun vuoksi*/
	/*overflow: hidden;*/
	text-align: left;
}

@media (min-width:1160px) {
	.cnm-master-wrap .cnm-main-nav-container {
		display: block;
		padding: 0 40px 0 140px;
	}
	.cnm-nav-item-text {
	}
}

/*@media (min-width:1020px) {
	.cnm-master-wrap .cnm-main-nav-container {
		display: block
	}
}

@media (min-width:1060px) {
	.cnm-master-wrap .cnm-main-nav-container {
		display: block
	}
}*/

.cnm-master-wrap .cnm-main-nav-container .cnm-hide-main-nav {
	display: none
}

@media (min-width:1160px) {
	.cnm-master-wrap .cnm-site-menu #cnm-site-menu-nav-container {
		display: none
	}
}

.cnm-master-wrap .cnm-site-menu-button-container {
	position: absolute;
	top: 50%;
	left: -10px;
	right: -10px;
	margin-top: -22px
}

@media (min-width:450px) {

	.cnm-master-wrap .cnm-site-menu-button-container {
		left: auto;
	}

	.cnm-master-wrap .cnm-site-menu-button-wide {
		width: 315px;
	}
}

.cnm-master-wrap .cnm-main-nav {
	display: inline-block;
	position: relative;
	height: 100%;
	margin: 0 auto;
	font-size: 12px;
	line-height: 70px;
	text-align: left
}

@media (min-width:860px) {
	.cnm-master-wrap .cnm-main-nav {
		text-align: center
	}
}

.cnm-master-wrap .cnm-main-nav a {
	display: inline-block;
	margin-left: 8px;
	line-height: 70px;
	border-color: #a04191
}

	.cnm-master-wrap .cnm-main-nav a:first-child {
		margin-left: 0
	}

	.cnm-master-wrap .cnm-main-nav a.active:hover span, .cnm-master-wrap .cnm-main-nav a:hover span {
		color: #a04191
	}

	.cnm-master-wrap .cnm-main-nav a span,
	.cnm-master-wrap .cnm-main-nav button span {
		display: inline-block;
		padding: 6px 0 2px;
		color: #666;
		font-family: 'Hanken Grotesk', sans-serif;
		font-size: 12px;
		line-height: 24px;
		letter-spacing: -.4px;
		text-transform: uppercase
	}

@media (min-width:768px) {
	.cnm-master-wrap .cnm-main-nav a span,
	.cnm-master-wrap .cnm-main-nav button span {
		border-bottom: 2px solid transparent;
		-moz-transition: border-color .2s ease-out 0s;
		-o-transition: border-color .2s ease-out 0s;
		-webkit-transition: border-color .2s ease-out;
		-webkit-transition-delay: 0s;
		transition: border-color .2s ease-out 0s
	}

	.cnm-master-wrap .cnm-main-nav a.active span,
	.cnm-master-wrap .cnm-main-nav button.active span {
		font-family: 'Hanken Grotesk', sans-serif;
		color: #000;
		border-color: #000
	}
}

@media (min-width:1060px) {
	.cnm-master-wrap .cnm-main-nav a span,
	.cnm-master-wrap .cnm-main-nav button span {
		font-size: 13px;
		letter-spacing: 0
	}

	.cnm-master-wrap .cnm-main-nav a,
	.cnm-master-wrap .cnm-main-nav button {
		margin-left: 8px
	}
}

@media (min-width:1160px) {
	.cnm-master-wrap .cnm-main-nav a span,
	.cnm-master-wrap .cnm-main-nav button span {
		font-size: 12px;
		letter-spacing: 0
	}

	.cnm-master-wrap .cnm-main-nav a,
	.cnm-master-wrap .cnm-main-nav button {
		margin-left: 12px
	}
}

@media (min-width:1500px) {
	.cnm-master-wrap .cnm-main-nav-container {
		text-align: center;
		padding: 0 40px 0 40px;
	}

	.cnm-master-wrap .cnm-main-nav a span,
	.cnm-master-wrap .cnm-main-nav button span {
		font-size: 14px;
	}
}


.cnm-master-wrap .cnm-site-menu {
	position: relative;
	margin: 0;
	text-align: left;
	/*background-color: #f3f3f3*/
	background-color:var(--text-inverse);
}

	.cnm-master-wrap .cnm-site-menu a.cnm-nav-item,
	.cnm-master-wrap .cnm-site-menu button.cnm-nav-item {
		position: relative;
		color: #333;
		background-color: #eaeaea;
		border-left: 4px solid #bebebe;
		padding-left: 16px;
		transition: all 50ms ease-in-out
	}

		.cnm-master-wrap .cnm-site-menu a.cnm-nav-item:hover,
		.cnm-master-wrap .cnm-site-menu button.cnm-nav-item:hover {
			border-left: 4px solid #999;
			/*padding-left: 20px*/
		}

	.cnm-master-wrap .cnm-site-menu .cnm-site-menu-link {
		cursor: pointer;
		color: #a04191
	}

	.cnm-master-wrap .cnm-site-menu .cnm-site-menu-link.black {
		color: #000;
	}

	.cnm-master-wrap .cnm-site-menu .cnm-site-menu-link.bg-white {
		background-color: var(--surface-elevation-1);
	}

	.cnm-master-wrap .cnm-site-menu .cnm-nav-item, .cnm-master-wrap .cnm-site-menu .cnm-site-menu-link {
		float: none;
		display: block;
		margin: 0;
		padding: 0;
		text-decoration: none
	}

		.cnm-master-wrap .cnm-site-menu .cnm-nav-item:hover, .cnm-master-wrap .cnm-site-menu .cnm-site-menu-link:hover {
			/*color: #7c3270;*/
			/*background-color: #e3e3e3*/
			background-color: #dfc5dc;
		}

	.cnm-master-wrap .cnm-site-menu .cnm-text-link {
		display: block;
		float: none;
		color: #a04191;
		padding: 0;
		margin: 0;
		text-decoration: none;
		font-size: 14px
	}

		.cnm-master-wrap .cnm-site-menu .cnm-text-link:hover {
			color: #7c3270
		}

		.cnm-master-wrap .cnm-site-menu .cnm-text-link + .cnm-text-link {
			margin-top: 12px
		}

		.cnm-master-wrap .cnm-site-menu .cnm-text-link a {
			display: inline-block;
			color: #a04191;
			padding: 0;
			margin: 0;
			text-decoration: none;
			font-size: 14px
		}

			.cnm-master-wrap .cnm-site-menu .cnm-text-link a:hover,
			.cnm-master-wrap .cnm-site-menu .cnm-text-link button:hover {
				color: #7c3270
			}

.cnm-master-wrap .cnm-site-menu-container .cnm-nav-item, .cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-item, .cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-link {
	padding: 15px 20px;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 15px;
}

.cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-bottom > .cnm-site-menu-link {
	
}

.cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-top + .cnm-site-menu-body {
	padding-top: 0
}

.cnm-master-wrap .cnm-site-menu-container .cnm-nav-item, .cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-separator {
	border-top: 1px solid #ddd
}

.cnm-master-wrap .cnm-site-menu .cnm-site-menu-top {
	/*padding: 20px*/
}

	.cnm-master-wrap .cnm-site-menu .cnm-site-menu-top.cnm-small-padding {
		padding-bottom: 10px
	}

	.cnm-master-wrap .cnm-site-menu .cnm-site-menu-top p, .cnm-master-wrap .cnm-site-menu .cnm-site-menu-top span {
		font-family: 'Hanken Grotesk', sans-serif;
		font-size: 13px;
		padding: 0;
		margin: 0 0 4px
	}

.cnm-master-wrap .cnm-info-group + .cnm-info-group {
	margin-top: 8px
}

.cnm-master-wrap .cnm-site-menu-body {
	position: relative
}

.cnm-master-wrap .cnm-site-menu-item p:last-child {
	margin-bottom: 0
}

.cnm-master-wrap .cnm-site-menu .cnm-link, .cnm-master-wrap .cnm-site-menu p.cnm-link {
	display: inline-block;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 15px;
	color: #a04191;
	cursor: pointer
}

	.cnm-master-wrap .cnm-site-menu .cnm-link:hover, .cnm-master-wrap .cnm-site-menu p.cnm-link:hover {
		color: #7c3270
	}

.cnm-master-wrap .cnm-form-label, .cnm-master-wrap button.cnm-form-label {
	display: block;
	font-family: 'Hanken Grotesk', sans-serif;
}

.cnm-master-wrap .cnm-form-input, .cnm-master-wrap input.cnm-form-input {
	display: block;
	width: 100%;
	height: 40px;
	font-size: 18px;
	line-height: 32px;
	margin: 8px 0 4px;
	padding: 0 8px;
	background-color: var(--surface-elevation-1);
	border: 1px solid #bebebe
}

#new-verification-email-button {
	display: block;
	border: none;
	height: 40px;
	background-color: #a04191;
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 15px;
	color: var(--text-inverse);
	cursor: pointer;
	padding-bottom: 5px;
}
	#new-verification-email-button:disabled {
		background-color: #f3f3f3 !important;
		color: gray !important;
	}

.cnm-master-wrap .cnm-form-button, .cnm-master-wrap button.cnm-form-button {
	display: block;
	border: none;
	width: 100%;
	height: 40px;
	background-color: var(--surface-brand);
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 15px;
	color: var(--text-inverse);
	cursor: pointer;
}

	.cnm-master-wrap .cnm-form-button:active, .cnm-master-wrap button.cnm-form-button:active {
		background-color: #7c3270
	}

#cnm-juristiiitto-login {
	color: #7c3270;
	background-color: transparent;
	border: 1px solid #a04191;
	margin-top: 15px;
}


/*.cnm-master-wrap div.cnm-login-error {
	color: #d8000c;
	max-height: 50px;
	-webkit-transition: all .5s ease;
	transition: all .5s ease
}*/
/*.cnm-master-wrap div.cnm-login-error-hidden {
	color: transparent;
	opacity: 0;
	height: 0;
	max-height: 0;
	padding: 0;
	margin-top: 0 !important;
	overflow: hidden;
	-webkit-transition: all .1s ease;
	transition: all .1s ease
}*/
.cnm-master-wrap .cnm-form-input-group + .cnm-form-input-group, .cnm-master-wrap .cnm-site-menu-group + .cnm-site-menu-group {
	margin-top: 12px
}

body.almaidauth .cnm-form-input-group:not(.cnm-form-input-group-loginbutton) {
	/* Vain kirjautumisnappi näkyvissä jos almaidauth */
	display: none;
}
#ReactivateIPLoginDiv {
	display: block;
}

.cnm-master-wrap .cnm-site-menu p {
	margin: 0 0 8px;
	color: #666
}

.cnm-master-wrap .cnm-form-text, .cnm-master-wrap .cnm-site-menu p, .cnm-master-wrap p.cnm-form-text, .cnm-master-wrap span.cnm-form-text {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 13px
}

.cnm-master-wrap .cnm-form-text + .cnm-form-text {
	margin-top: 10px
}

.cnm-master-wrap .cnm-hide-md {
	display: block !important
}

@media (min-width:768px) {
	.cnm-master-wrap .cnm-hide-md {
		display: none !important
	}
}

.cnm-master-wrap .cnm-float {
	float: left
}

.cnm-master-wrap .cnm-clear {
	clear: both
}

.cnm-master-wrap .cnm-overlay-background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 20;
	background-color: hsla(0,0%,95%,.8)
}

.cnm-master-wrap .cnm-form-loading .cmn-form-spinner {
	display: block
}

.cnm-master-wrap .cmn-form-spinner {
	display: none
}

.cnm-master-wrap .cmn-form-spinner svg {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-left: -15px;
	margin-top: -15px;
	z-index: 21;
	overflow: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0)
}

.cnm-master-wrap .cmn-form-spinner .rectangle {
	fill: none;
	stroke-width: 12px;
	stroke: #a04191;
	stroke-dasharray: 30;
	stroke-dashoffset: 50%;
	-webkit-animation: movedash 1s forwards 0s infinite;
	animation: movedash 1s forwards 0s infinite;
	animation-timing-function: linear
}

.cnm-dialog, .email-verification-dialog, .site-generic-modal {
	display:none;
	position:fixed;
	z-index:50000;
	width:440px;
	max-width:100%;
	/*height:250px;*/
	left:50%;
	margin-left:-220px;
	top:190px;
	background-color:#fff;
	border:1px solid #ddd;
	box-shadow:0 0 1em rgba(0,0,0,0.2);
}

@media only screen and (max-width: 767px) {
	.cnm-dialog, .email-verification-dialog, .site-generic-modal {
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		height: auto;
		width: auto;
		margin-left: 0;
	}
}

#th-login-problem {
	display: none;
	text-align: center;
}

.cnm-dialog[open], .email-verification-dialog[open], .site-generic-modal[open] {
	display: block;
}

	.cnm-dialog-content, email-verification-dialog-content, .site-generic-modal-content {
		/*padding: 20px;*/
		padding-right: 70px;
		overflow: auto;
		/*max-height: 250px;*/
	}

	.email-verification-dialog-content, .site-generic-modal-content {
		padding-right: 15px;
		padding-left: 2px;
	}

	.cnm-dialog-content p, .email-verification-dialog-content p, .site-generic-modal-content p{
		margin-bottom: 1em;
	}

	.cnm-dialog-content h4, .email-verification-dialog-content h4, .site-generic-modal-content h4 {
		margin-bottom: 1em;
	}

	.site-generic-modal-content .dialog-links p {
		margin-bottom: 15px;
	}

	.site-generic-modal-content .dialog-links a {
		margin-bottom: 15px;
		text-decoration: underline;
		text-underline-offset: 4px;
		pointer-events: auto;
		display: block;
		max-width: fit-content;
	}

	.cnm-dialog-close-button-x, .email-verification-close-button-x, .site-generic-close-button-x {
		display: block;
		position: absolute;
		top: 0px;
		right: 0px;
		width: 48px;
		height: 48px;
		background-color: #f3f3f3;
		border: 1px solid #ddd;
		text-align: center;
		line-height: 48px;
		pointer-events: auto;
		cursor: pointer;
	}

		.cnm-dialog-close-button-x:after, .email-verification-close-button-x:after, .site-generic-close-button-x::after {
			content: "X";
		}

	.cnm-dialog-close-button, .email-verification-dialog-close-button, .site-generic-dialog-close-button {
		position: absolute;
		bottom: 10px;
		right: 10px;
		pointer-events: auto;
	}
		.cnm-dialog-close-button > button, .email-verification-dialog-close-button > button, .email-verification-dialog-continue > button {
			background-color: #A04191;
			color: var(--text-inverse);
			padding: 10px 20px 10px 20px;
			border: 0;
			cursor: pointer;
		}

		.site-generic-dialog-close-button {
			background-color: var(--surface-elevation-1);
			color: var(--action-brand);
			font-size: 14px;
			font-weight: bold;
			padding: 10px 20px 10px 20px;
			border: 0;
			cursor: pointer;
		}


	.cnm-no-hover:hover {
		background: none !important;
		text-decoration: underline !important;
	}


	@-webkit-keyframes movedash {
		to {
			stroke-dashoffset: 250%
		}
	}

	@keyframes movedash {
		to {
			stroke-dashoffset: 250%
		}
	}

	/* Yleiset elementtien näkymiseen liittyvät luokat */
	/*--*/
	.cnm-visibility {
		display: none !important;
	}

	body:not(.IsLoggedIn) .cnm-for-not-logged {
		display: block !important;
	}

	body.IsLoggedIn .cnm-for-all-logged {
		display: block !important;
	}

	body.IsIPLogIn .cnm-for-ip-logged {
		display: block !important;
		text-align: center;
	}

		body.IsIPLogIn .cnm-for-ip-logged.inline {
			display: inline !important;
		}

	body:not(.IsIPLogIn).IsLoggedIn .cnm-for-personal-logged {
		display: block !important;
		text-align: center;
	}

		body:not(.IsIPLogIn).IsLoggedIn .cnm-for-personal-logged.inline {
			display: inline !important;
		}

	body.IsLoggedIn .cnm-not-logged-in {
		display: none !important;
	}

	body:not(.IsLoggedIn) .cnm-logged-in {
		display: none !important;
	}
	/*--*/

	body:not(.IsIPLogIn) #logged-user-name::before {
		
	}

	/* -------- Sisältöpalvelut-alavalikko */
	/* Yliajetaan koko desktop-valikon elementtien marginaalit ja korvataan paddingillä, jotta avattu menu näyttää fiksulta. */
	.cnm-main-nav .cnm-nav-item {
		padding: 0 6px;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	@media (min-width:1060px) {

		.cnm-master-wrap .cnm-main-nav a {
			padding: 0 10px;
		}
	}

	/* hover-väri pois avatun alavalikon avaus-painikkeesta - molemmat menut */
	#cnm-master-wrap.content-services-menu-open .content-services-menu-opener span {
		color: #333 !important;
	}

	/* Menu-määritys - molemmat menut */
	.content-services-menu {
		display: none;
	}

	#cnm-master-wrap.content-services-menu-open .content-services-menu {
		display: block!important;
	}

	.cnm-nav-item.content-services-menu-opener {
		padding-bottom: 10px;
		cursor: pointer;
	}
/*		.cnm-nav-item.content-services-menu-opener span {
			display: inline-block;
			padding: 6px 0 2px;
			color: #666;
			font-family: 'Hanken Grotesk', sans-serif;
			font-size: 14px;
			line-height: 24px;
			letter-spacing: -.4px;
			text-transform: uppercase;
			margin: 0;
		}*/
	/* Desktop-valikko */

	/* Tämä tyylin aiheuttaa ongelmia. Lukutilassa elementin koko ei ole sama, joten ulkoasu hajoaa. Vielä ongelmaa ei saatu ratkaistua, vaikka aikaa käytettiin paljon. Jos sisimmän spanin poistaa, koko korjaantuu. Tämä poistaa samalla alleviivauksen Ongelma liittyy mahdollisesti css:ien väärää järjestykseen (reset vs muut) lukutilassa. */
	/* Sisältöpalvelut-alavalikon avaus-painike - desktop-menu */
	/*#cnm-master-wrap.content-services-menu-open .cnm-main-nav .content-services-menu-opener {
	background: #f1f1f1;
}*/

	/* Menu-layer */
	.cnm-main-nav .cnm-sub-nav {
		position: absolute;
		/*margin-top: -2px;*/
		top: 100%;
		min-width: 250px;
		background: #f1f1f1;
		border: 1px solid #ddd;
	}

		/* Elementti avatussa menussa */
		.cnm-main-nav .cnm-sub-nav .cnm-nav-item {
			display: block;
			text-align: left;
			line-height: 30px !important;
			border-top: 1px solid #ddd;
			margin-left: 0;
			padding: 10px 20px;
			box-sizing: border-box;
		}

			.cnm-main-nav .cnm-sub-nav .cnm-nav-item:first-child {
				border-top: none;
			}

			.cnm-main-nav .cnm-sub-nav .cnm-nav-item:hover {
				/*background-color: #e3e3e3;*/
				background-color: #dfc5dc;
			}

			/* ei hover-väriä koskaan tekstiin */
			.cnm-main-nav .cnm-sub-nav .cnm-nav-item span {
				color: #333 !important;
			}

			/* yliajetaan hieman alavalikon aktiivisen elementin tyylejä */
			/*--*/
			.cnm-main-nav .cnm-sub-nav .cnm-nav-item.active {
				background-color: #e9e9e9;
			}

				.cnm-main-nav .cnm-sub-nav .cnm-nav-item.active span {
					border: none;
					/*font-family: 'Hanken Grotesk', sans-serif;*/
				}
	/*--*/

	/* Mobiilivalikko */

	/* Elementti avatussa menussa */
	.cnm-master-wrap .cnm-site-menu .cnm-sub-nav a.cnm-nav-item {
		padding-left: 30px !important;
		background-color: #f3f3f3;
	}

	.cnm-master-wrap .cnm-site-menu .cnm-sub-nav .cnm-nav-item:hover {
		/*background-color: #e9e9e9;*/
		background-color: #dfc5dc;
	}

	.cnm-master-wrap .cnm-site-menu-container .cnm-site-menu-link.smaller {
		font-size: 13px;
	}

	.cnm-bordered {
		border: 1px solid #a04191;
	}
	/* -- Sisältöpalvelut-alavalikko: loppu */
	/*ALMA HEADER LOPPUU*/
	/* YLEISIÄ TYYLEJÄ */
	a.buttonwhite,
	a.buttongreen,
	a.buttonblue,
	a.buttondarkblue {
		display: inline-block;
		background: #a04191;
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 12px;
		padding-bottom: 12px;
		color: var(--text-inverse);
		font-size: 16px;
		text-transform: uppercase;
		font-family: 'Hanken Grotesk', sans-serif;
		border-width: 1px;
		border-image: none;
		border-style: solid;
	}


	a.buttonblue {
		background-color: var(--surface-brand);
		/*border-color:#5c8f21;*/
		border-color: #a04191;
		font-weight: normal;
		line-height: 20px;
		color: var(--text-inverse);
		text-decoration: none;
	}

		a.buttonblue:hover {
			background-color: rgba(160,65,145,0.8);
			color: var(--text-inverse);
		}

	a.buttongreen, .buttonwhite {
		background-color: #a04191;
		border-color: #ae2c64;
		color: var(--text-inverse);
	}

		a.buttongreen:hover, a.buttonwhite:hover {
			background-color: rgba(160,65,145,0.8);
			color: var(--text-inverse);
		}

		a.buttongreen.disabled,
		a.buttonblue.disabled {
			color: rgba(255,255,255,0.5);
		}

	a.buttonwhite.disabled {
		color: rgba(0,0,0,0.5);
	}

	a.buttonsmaller, input.buttonsmaller {
		height: 28px;
		line-height: 28px;
		padding-left: 10px;
		padding-right: 10px;
		padding-top: 0px;
		padding-bottom: 0px;
		font-size: 14px;
	}

	.ellipsis {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}



	/* YLEINEN NOTIFICATOR */
	.headernotifystart {
		position: absolute;
		top: 70px;
		left: 0;
		right: 0;
		height: 0px;
		background-color: var(--surface-elevation-1);
		color: var(--text-inverse);
		font-size: 18px;
		-webkit-transition: all 0.5s ease-in-out;
		-moz-transition: all 0.5s ease-in-out;
		-ms-transition: all 0.5s ease-in-out;
		-o-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
		text-align: center;
		overflow: hidden;
		line-height: 0px;
	}

	.headernotifyend {
		top: 0;
		height: 70px;
		background-color: #a04191;
		line-height: 70px;
	}

	.notificator {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 5002;
	}

	.notificator-modal {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		background-color: var(--surface-elevation-1);
		filter: alpha(opacity=80);
		-moz-opacity: 0.8;
		-khtml-opacity: 0.8;
		opacity: 0.8;
		z-index: 5002;
	}

	.notificator-confirm {
		position: absolute;
		top: 100px;
		left: 50%;
		margin-left: -170px;
		width: 340px;
		height: 260px;
		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);
		z-index: 5002;
	}

	.notificator-text, .notificator-text-nobuttons {
		position: absolute;
		top: 20px;
		left: 20px;
		bottom: 59px;
		right: 60px;
		overflow: auto;
	}

	.notificator-text-nobuttons {
		bottom: 20px;
	}

	a.notificator-close {
		display: block;
		position: absolute;
		top: 0px;
		right: 0px;
		width: 49px;
		height: 49px;
		line-height: 49px;
		text-align: center;
		line-height: 14px;
		overflow: hidden;
		font-size: 14px;
		font-weight: bold;
		border-left: 1px solid #cccccc;
		border-bottom: 1px solid #cccccc;
		background: #ffffff url(../pics/bg-button.png) 0 100% repeat-x;
	}

		a.notificator-close span {
			margin-top: 18px;
			margin-left: 20px;
			display: block;
			background: url(../pics/icons.png) -2608px -8px no-repeat;
			width: 10px;
			height: 11px;
		}

		a.notificator-close:hover span {
			background-position: -2608px -98px;
		}

	.notificator-buttons {
		position: absolute;
		bottom: 5px;
		right: 8px;
		height: 48px;
		left: 0;
	}

		.notificator-buttons a {
			float: left;
			margin-left: 10px;
		}

			.notificator-buttons a:first-child {
				margin-left: 0px !important;
			}

	.notificator-spike {
		position: absolute;
		width: 18px;
		height: 11px;
		left: 50%;
		margin-left: -9px;
		bottom: -11px;
		background: url(/pics/pop-spike.png) no-repeat;
	}

	/* YLEINEN NOTIFICATOR LOPPUU */
	body.ServerRole-dev .cnm-header-container:after, body.ServerRole-qa .cnm-header-container:after, body.ServerRole-qa-prev .cnm-header-container:after, body.ServerRole-prod-prev .cnm-header-container:after {
		display: block;
		position: absolute;
		padding: 0px 5px 1px 5px;
		left: 0;
		top: 0;
		/* width: 100%; */
		height: 13px;
		content: "";
		color: var(--text-inverse);
		font-size: 10px;
		font-weight: normal;
		background: #ff6040;
		z-index: 99999;
		text-align: center;
		opacity: 1;
		animation: serverInfoFadein 0.7s;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.ServerRole-dev .cnm-header-container:after {
		content: "Development Client Site";
	}

	body.ServerRole-qa .cnm-header-container:after {
		content: "QA Client Site";
	}

	body.ServerRole-qa-prev .cnm-header-container:after {
		content: "QA Preview Site";
	}

	body.ServerRole-prod-prev .cnm-header-container:after {
		content: "Production Preview Site";
	}

	@keyframes serverInfoFadein {
		0% {
			opacity: 0;
		}

		75% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	/* admin-kirjautuminen */
	.admin-login-panel {
		position: fixed;
		width: 250px;
		box-sizing: border-box;
		top: 80px;
		right: 5px;
		background: #fff;
		border: 1px solid #ddd;
		padding: 10px;
		z-index: 9;
		color: #333;
		font-size: 14px;
		font-family: Arial;
		box-shadow: 5px 5px 5px 0px rgba(189,189,189,0.62);
		border-radius: 3px;
	}

		.admin-login-panel * {
			font-size: 14px;
			font-family: Arial;
		}

		.admin-login-panel input[type="text"],
		.admin-login-panel input[type="password"] {
			width: 100%;
			box-sizing: border-box;
			height: 30px;
			line-height: 30px;
			margin-top: 1px;
			margin-bottom: 5px;
			padding-left: 5px;
			border: 1px solid #999;
		}

		.admin-login-panel input[type="submit"] {
			width: 100%;
			box-sizing: border-box;
			height: 30px;
			line-height: 30px;
			border: 1px solid #999;
			cursor: pointer;
		}

		.admin-login-panel span,
		.admin-login-panel label {
		}

		.admin-login-panel label {
			margin-left: 5px;
		}
	/* admin-kirjautuminen: loppu */

	/* Huoltokatkoilmoitus */
	.service-alert {
		padding: 10px 10px 10px 10px;
		border-bottom: 1px solid #cccccc;
		text-align: center;
		background-color: #f0f0f0;
		color: var(--text-tertiary);
		box-shadow: inset 0 -10px 10px -10px rgba(0,0,0,0.3);
		/*height: 100px;*/
	}

	/* margin-left:8px; width:302px;  + border 2px */
	@media only screen and (max-width: 767px) {

		.service-alert {
			display: none;
		}
	}
	/* Huoltokatkoilmoitus: loppu */





	/* FooterDiv */

	.footer ul.default {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}

.footer {
	background-color: #000000;
	width: 100%;
	text-align: center;
	margin-top: auto;
}

		.footer li, .footer p {
			color: var(--text-inverse);
			font-size: 14px;
		}

		.footer .footer-alma-info {
			margin-top: 15px;
		}

		.footer .footer-alma-info-section-title {
			font-size: 14px;
			font-weight: 700;
			margin-bottom: 10px !important;
			color: var(--text-inverse);
		}

		.footer a, .footer a:hover {
			color: var(--text-inverse);
		}

		.footer a {
			text-decoration: underline;	
		}
		.footer a:hover {
			color: #AFC800;
		}

	.footerlinks {
	}

		.footerlinks .wrapper .linkbox li a {
			margin-bottom: 10px;
		}

	a.footerlogo {
		width: 145px;
		height: 34px;
	}

	.footerlinks .wrapper-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 60px 0px;
		flex: 1;
	}

	.footerlinks .wrapper-c {
		padding-top: 30px;
		width: 44%;
	}

	.footerlinks .wrapper-c1 {
		width: 50%;
	}

	.footerlinks .wrapper-c2 {
		width: 50%;
	}

	.footerlinks .mobilewrapperouter {
		width: 66%;
	}

	.footer .wrapper {
	}

	.footer .linkbox {
		flex-basis: calc(33.33% - 20px);
		margin-bottom: 20px;
		display: flex;
		text-align: left;
	}

		.footer .linkbox a {
			display: block;
		}

	.footer li {
		display: list-item;
		-webkit-transition: all .2s linear;
		-moz-transition: all .2s linear;
		-ms-transition: all .2s linear;
		-o-transition: all .2s linear;
		transition: all .2s linear;
	}

	/* margin-left:8px; width:302px;  + border 2px */
	@media only screen and (max-width: 767px) {

		.footer li {
			display: list-item !important;
			opacity: 1 !important;
			height: auto !important;
		}

		.footer .wrapper-a {
			display: none;
		}

		.footer .wrapper-c1, .footer .wrapper-c2 {
			float: none;
		}

		a.footerlogo {
		}

		.footer .linkbox {
		}

		.linkbox {
			margin-left: 0 !important;
		}

		.footer {
			height: auto;
			width: 100%;
		}

		.footer-container {
			margin-left: 20px;
			overflow: hidden;
			padding: unset!important;
		}

		.footer .wrapper .wrapper {
			float: none !important;
		}

		a.footerlogo {
		}

		.footer .linkbox {
			margin-left: 0 !important;
			margin-bottom: 40px;
		}

		.footer .wrapper-container {
			width: 100%;
		}

		.footer .mobilewrapper,
		.footer .mobilewrapperouter {
			width: auto !important;
		}

		.footer-list {
		}
	}

	@media only screen and (max-width: 578px) {
		.footer-list {
		}

		.footer .wrapper-container {
			width: 10% !important;
		}
	}

	.footer-contact-info {
		margin-top: 40px;
		line-height: 20px !important;
		font-size: 14px !important;
		color: #eee !important;
	}

		.footer-contact-info a {
			display: inline !important;
			margin-bottom: 0 !important;
			color: var(--text-inverse) !important;
		}

	/* FooterDiv: loppu */

	/* ATTIME-545 - Teosesittelyn read-only toc */
	/* -- */

	/*taustalla kasattu toc-html on sivulla piilossa...*/
	ul.TimePubTOC {
		display: none;
	}
	/*... kunnes js tekee tarvittava modaukset*/
	.TimePubTOCWrapper ul.TimePubTOC {
		display: block;
	}
	/*... jonka jälkeen toc näkyy vasta, kun...*/
	.TimePubTOCWrapper {
		display: none;
		margin-bottom: 20px;
	}
	/*käyttäjä klikkaa wrapperin esiin.*/
	.TimePubTOCActive .TimePubTOCWrapper {
		display: block;
	}

	.TimePubTOCWrapper.env-shop {
		padding: 1px 20px 20px 20px;
		background: #f3f3f3;
	}

	.TimePubTOCWrapper.env-vkh {
		padding: 30px;
		border: 20px solid #f3f3f3;
		border-left: none;
		border-right: none;
	}

	/* vkh:ssa ei näytetä mobiilissa, koska siellä koko ruudun täyttävä kansikuva / erikoistoiminnallisuus */
	@media only screen and (max-width: 565px) {
		.TimePubTOCToggler.env-vkh,
		.TimePubTOCWrapper.env-vkh {
			display: none !important;
		}
	}

	.TimePubTOCWrapper .title {
		font-size: 1.3125rem !important;
		font-family: 'GalanoGrotesqueAlt-Regular' !important;
		text-transform: uppercase !important;
		margin-bottom: 20px;
	}

	.TimePubTOCWrapper ul {
		line-height: 1.875rem;
	}

	ul.TimePubTOC {
		padding-left: 0;
		margin: 0;
	}

		ul.TimePubTOC ul {
			margin: 0;
			padding-left: 15px;
		}

		ul.TimePubTOC a {
			cursor: default;
			text-decoration: none;
			color: inherit;
			line-height: 28px;
		}

		ul.TimePubTOC li.has-children > a {
			cursor: pointer;
		}

		ul.TimePubTOC li {
			list-style: none;
		}

			ul.TimePubTOC li > a:before {
				display: inline-block;
				content: '';
				width: 23px;
				height: 17px;
				line-height: 17px;
				font-size: 1.3em;
				font-weight: bold;
			}

			ul.TimePubTOC li.has-children > a:before {
				content: '+';
			}

			ul.TimePubTOC li.has-children.active > a:before {
				content: '-';
			}

		ul.TimePubTOC ul {
			display: none;
		}

		ul.TimePubTOC li.active > ul {
			display: block;
		}
	/* -- */

	/* -- progress spinner --*/
	.progress-spinner {
		/*display: none;*/
		z-index: 9997;
	}

	.progress-spinner-modal-layer {
		/*display: none;*/
	}

	.progress-spinner.modal .progress-spinner-modal-layer {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: #000;
		opacity: 0.2;
		z-index: 99998;
	}

	.progress-spinner-animation {
		border: 16px solid #ddd;
		border-radius: 50%;
		border-top: 16px solid #3498db;
		width: 120px;
		margin-left: -60px;
		height: 120px;
		-webkit-animation: spin 2s linear infinite; /* Safari */
		animation: spin 2s linear infinite;
		position: fixed;
		top: 50%;
		left: 50%;
		z-index: 99999;
	}

	/* Safari */
	@-webkit-keyframes spin {
		0% {
			-webkit-transform: rotate(0deg);
		}

		100% {
			-webkit-transform: rotate(360deg);
		}
	}

	@keyframes spin {
		0% {
			transform: rotate(0deg);
		}

		100% {
			transform: rotate(360deg);
		}
	}
	/* -- progress spinner: loppu --*/

	/*-- Ylävalikon sisältöpalvelut valikon dropdown nuoli*/
	.cnm-main-nav-container .content-services-menu-opener::after {
		content: '';
		display: block;
		height: 16px;
		width: 16px;
		background: url(../Pics/down-arrow-black.svg) no-repeat;
		/* background: url(../pics/three-dots-vertical.svg) no-repeat; */
		background-size: contain;
		position: relative;
		left: 7px;
		top: 14px;
		float: right;
		transition: transform 0.5s ease;
		transform: scaleY(1);
	}

	.cnm-main-nav-container .content-services-menu-opener.main-open::after {
		content: '';
		display: block;
		height: 16px;
		width: 16px;
		background: url(../Pics/down-arrow-black.svg) no-repeat;
		background-size: contain;
		position: relative;
		left: 7px;
		top: 14px;
		float: right;
		transition: transform 0.5s ease;
		transform: scaleY(-1);
	}

	/*-- Ylävalikon sisältöpalvelut valikon dropdown nuoli: loppu*/

	/**Modaali tyylejä: alku**/

	body.modal-open {
		overflow: hidden; 
		pointer-events: none;
	}

	h4#dialog-title {
		font-weight:bold;
	}

	dialog.email-verification-dialog {
		pointer-events: all;
	}

	button.buttonblue {
		display: inline-block;
		background: #a04191;
		padding-right: 10px;
		color: var(--text-inverse);
		font-size: 16px;
		text-transform: uppercase;
		font-family: 'Hanken Grotesk', sans-serif;
		border-width: 1px;
		border-image: none;
		border-style: solid;
		background-color: #a04191;
		font-weight: normal;
		line-height: 20px;
		text-decoration: none;
		cursor:pointer;
	}

	button.buttonblue:hover {
		background-color: rgba(160,65,145,0.8);
		color: var(--text-inverse);
	}

	.dialog-email-send-confirmation-message {
		color: var(--text-secondary);
		font-weight: 600;
	}
	#dialog-email-send-unavailable, .dialog-email-send-confirmation-message {
		margin-top: 10px;
	}
	#dialog-email-send-unavailable {
		color:red;
	}

	/**Modaali tyylejä: loppu**/

	/*Almamedia Footer: start*/
	.footer-alma-cr {
		background-color: #333333;
		position: absolute;
		left: 0;
		width: 100%;
		padding-bottom: 20px;
		padding-top: 40px;
		text-align: center;
		margin-top: auto;
	}
	/*Almamedia Footer: end*/

/*Saavutettavuus muutokset: Start*/
#almaheader {
	height: 0px;
}

.content-services-menu-main {
	display: inline-block;
	padding: 0px 10px 0px 0px;
}

.cnm-site-menu-nav-container button.content-services-menu-opener {
	width: 100%;
	text-align: left;
	cursor: pointer;
}

.accessibility-shortcuts {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	line-height: 1;
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	letter-spacing: normal;
	padding: 10px 20px 10px 20px;
	width: 100%;
	background: white;
	height: 40px;
}

.jump-link-active {
	margin-top: 40px !important;
}

.bodyslidecontainer .header.jump-link-active {
	border-top-width: 110px;
	margin-top: 0 !important;
}

#main-content {
	outline: none;
}

.sr-jump-link {
	color: var(--text-primary);
	font-weight: 600 !important;
}

:not(textarea):focus-visible,
button.content-services-menu-opener:focus-visible,
button.category-dropdown-btn:focus-visible {
	outline: var(--vkh-purple) auto 1px;
	border-radius: 2px;
}

h2.colheader {
	font-size: 24px;
}

.content-container {
	border-bottom: 1px solid var(--border-layout-subtle);
	padding-bottom: 10px;
}

.vkh-widthlimit .content {
	padding-left: 0px !important;
	padding-right: 0px !important;
	background: var(--surface-elevation-1);
}

.vkh-grid-merge-container h2 {
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	color: var(--text-primary);
}

#rajaukset {
	font-size: 16px;
	color: var(--text-secondary);
	padding-right: 10px;
	display: none;
}

div.searchFilterContainer.hasContent .rajaukset {
	display: flex;
}

.vkh-grid-merge-container div.wrapper-container {
	padding-left: 20px;
	padding-right: 20px;
}

article.ALMACR-widget .container {
	padding: 0px !important;
}

.button--brand:focus {
	outline: 2px var(--text-primary) solid!important;
	outline-offset: 0;
}

/*Saavutettavuusmuutoket: End*/
#th-login-problem {
	padding: 5px;
}

#th-login-problem a {
	padding-left: 10px;
}

#resetcookies {
	all: unset;
	cursor: pointer;
	line-height: 39px;
	background: #A04191;
	color: #fff;
	padding: 0px 30px 0px 30px;
	margin-bottom: 15px;
	margin-right: 25px;
}

.siteVKH .cnm-master-wrap .cnm-master-container, .siteBK .cnm-master-wrap .cnm-master-container, .siteSKI .cnm-master-wrap .cnm-master-container {
	border-bottom: 1px solid var(--border-layout-subtle) !important;
}

button.open-fold-menu {
	all: unset;
	color: #fff;
	line-height: 40px;
}

/*	--------------------------	*/
/*	Bannerien tyylejä  - alkaa	*/
@media (min-width:768px) {

	/* {#id} */
	#yritystunnus-notification-html,
	#accessibility-notification-html {
		display: none;
	}

	/* body{.class} {#id} */
	body.header-info-active #email-notification-html,
	body.header-info-active--yritystunnus #yritystunnus-notification-html,
	body.header-info-active--accessibility #accessibility-notification-html {
		display: flex !important;
		flex-wrap: wrap;
		padding: 10px 10px 10px 20px;
		align-items: center;
	}
}

@media only screen and (max-width: 767px) {
	/* body{.class} {#id} */
	body.header-info-active .header-info-area,
	body.header-info-active--yritystunnus #yritystunnus-notification-html,
	body.header-info-active--accessibility #accessibility-notification-html {
		display: flex !important;
		flex-wrap: wrap;
		padding: 10px 10px 10px 20px;
		align-items: center;
	}
}

/*	Bannerien tyylejä  - loppuu	*/
/*	--------------------------	*/

/*	body.header-info-active {
		padding-top: 190px;
	}

		body.header-info-active .header {
			border-top-width: 126px;
		}*/





/*@media (min-width: 857px) {
	body.header-info-active .header {
		border-top-width: 123px;
	}

	body.header-info-active {
		padding-top: 150px;
	}
}*/

/*@media (min-width: 1132px) {
	body.header-info-active .header,
	body.header-info-active--yritystunnus .header,
	body.header-info-active--accessibility .header {
		border-top-width: 110px;
	}

	body.header-info-active {
		padding-top: 120px;
	}
}*/

/*Headerin infoalueen tyylit*: alku*/

.header-info-area {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	/*padding: 15px 20px 15px 20px;*/ 
	border-top: 1px solid lightgray;
	border-bottom: 1px solid lightgray;
	background-color: inherit;
	/*display: none!important;*/
	align-items: center
}

.info-banner .notification-banner-icon {
	width: 24px;
	height: 24px;
	margin-right: 5px;
}

	.info-banner .notification-banner-icon.notification-banner-icon--blue {
		background: url('../Pics/NotificationIcons/notification-icon-blue.svg') no-repeat;
	}

	.info-banner .notification-banner-icon.notification-banner-icon--orange {
		background: url('../Pics/NotificationIcons/notification-icon-orange.svg') no-repeat;
	}

.info-banner .info-banner__banner-text--main {
	font-size: 16px;
	font-weight: bold;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-top: 5px;
}

.info-banner .info-banner__banner-text--secondary {
	font-size: 16px;
	font-weight: normal;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-top: 5px;
}

.info-banner .info-banner-action-button, .info-banner .info-banner-action-link {
	color: var(--action-brand);
	font-weight: bold;
	padding: 5px;
	pointer-events: auto;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.info-banner .close-btn {
	position: absolute;
	right: 10px;
	cursor: pointer;
	float: right;
	padding-right: 16px;
}

.header-info-area h2 {
	font-size: 16px;
	font-weight: 600;
	padding-right: 5px;
	padding-bottom: 5px;
}

.header-info-area a, .header-info-area button {
	padding-bottom: 5px;
	padding-top: 5px;
	padding-left: 10px;
}

.email-verification-toggle-info-dialog {
	margin-left: 10px !important;
}

/*.header-info-area #email-notification-html,
		.header-info-area #accessibility-notification-html,
		.header-info-area #yritystunnus-notification-html {
			padding: 10px 10px 10px 20px;
			display: flex;
			align-items: center;
		}*/
/*.header-info-area #accessibility-notification-html a {
				padding: 0px;
			}

			.header-info-area #accessibility-notification-html p {
				font-size: 16px;
				padding-right: 10px;
				padding-bottom: 5px;
				padding-top: 5px;
				font-weight: bold;
			}

			.header-info-area #accessibility-notification-html h2 {
				font-size: 16px;
				padding-right: 10px;
				padding-bottom: 5px;
				padding-top: 5px;
				font-weight: bold;
			}*/
@media screen and (max-width: 855px) {
	.header-info-area a, .header-info-area button {
		padding-top: 8px;
	}
}

@media screen and (max-width: 767px) {

	.header-info-area a, .header-info-area button {
		padding-top: 8px;
	}
}

@media screen and (max-width: 1059px) {

	.header-info-area .close-btn {
		padding-right: 14px;
	}
}
/*Headerin infoalueen tyylit*: loppu*/