﻿html, body {
	font-family: 'Hanken Grotesk', sans-serif;
	font-size: 16px;
	color: #2f2f2f;
}

body {
	overflow-x: hidden;
	position: relative;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.pull-right {
	float: right !important;
}

.pull-left {
	float: left !important;
}

.hide {
	display: none !important;
}

.show {
	display: block !important;
}

.hidden {
	display: none;
}





h1, h2, h3, h4, h5, h6, p, a {
	padding: 0;
	margin: 0;
	-webkit-transition: all 0.3s ease-in-out;
	-khtml-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

h1,
.h1 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 50px;
	font-size: 3.125rem;
	line-height: 60px;
	line-height: 3.75rem;
	text-decoration: none;
	color: black;
}

h1.dark-theme,
.dark-theme h1,
.h1.dark-theme,
.dark-theme .h1 {
	color: #fff;
}

@media screen and (max-width: 736px) {
	h1, h1.primary-heading,
	.h1,
	.h1.primary-heading {
		font-size: 32px;
		font-size: 2rem;
		line-height: 40px;
		line-height: 2.5rem;
	}
}

h1.secondary-heading,
.h1.secondary-heading {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-decoration: none;
	color: black;
}

	h1.secondary-heading.bold,
	.h1.secondary-heading.bold {
		font-family: 'Hanken Grotesk', sans-serif;
		font-weight: 600;
	}

h1.secondary-heading.dark-theme,
.dark-theme h1.secondary-heading,
.h1.secondary-heading.dark-theme,
.dark-theme .h1.secondary-heading {
	color: white;
}

@media screen and (min-width: 736px) {
	h1.secondary-heading,
	.h1.secondary-heading {
		font-size: 37px;
		font-size: 2.3125rem;
		line-height: 40px;
		line-height: 2.5rem;
	}
}

@media screen and (min-width: 769px) {
	h1.secondary-heading,
	.h1.secondary-heading {
		font-size: 45px;
		font-size: 2.8125rem;
		line-height: 50px;
		line-height: 3.125rem;
	}
}

h2,
.h2 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 35px;
	font-size: 2.1875rem;
	line-height: 40px;
	line-height: 2.5rem;
	text-decoration: none;
	color: black;
}

h2.dark-theme,
.dark-theme h2,
.h2.dark-theme,
.dark-theme .h2 {
	color: #fff;
}

@media screen and (max-width: 736px) {
	h2, h2.primary-heading,
	.h2,
	.h2.primary-heading {
		font-size: 25px;
		font-size: 1.5625rem;
		line-height: 35px;
		line-height: 2.1875rem;
	}
}

h3,
.h3 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 38px;
	line-height: 2.375rem;
	text-decoration: none;
	color: black;
}

h3.dark-theme,
.dark-theme h3,
.h3.dark-theme,
.dark-theme .h3 {
	color: #fff;
}

@media screen and (max-width: 736px) {
	h3, h3.primary-heading,
	.h3,
	.h3.primary-heading {
		font-size: 22px;
		font-size: 1.375rem;
		line-height: 28px;
		line-height: 1.75rem;
	}
}

h4,
.h4 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 26px;
	line-height: 1.625rem;
	text-decoration: none;
	color: black;
}

h4.primary-heading,
.h4.primary-heading {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 26px;
	line-height: 1.625rem;
	text-decoration: none;
	color: black;
}

h4.dark-theme,
.dark-theme h4,
.h4.dark-theme,
.dark-theme .h4 {
	color: #fff;
}

h5,
.h5 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: black;
}

h5.primary-heading,
.h5.primary-heading {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: black;
}

h5.dark-theme,
.dark-theme h5,
.h5.dark-theme,
.dark-theme .h5 {
	color: #fff;
}

@media screen and (max-width: 736px) {
	h5, h5.primary-heading,
	.h5,
	.h5.primary-heading {
		font-size: 14px;
		font-size: 0.875rem;
		line-height: 18px;
		line-height: 1.125rem;
	}
}

h6,
.h6 {
	padding: 0;
	margin: 0;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: black;
}

h6.primary-heading,
.h6.primary-heading {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: black;
}

h6.dark-theme,
.dark-theme h6,
.h6.dark-theme,
.dark-theme .h6 {
	color: #fff;
}

@media screen and (max-width: 736px) {
	h6, h6.primary-heading,
	.h6,
	.h6.primary-heading {
		font-size: 12px;
		font-size: 0.75rem;
		line-height: 18px;
		line-height: 1.125rem;
	}
}

p,
.p {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-decoration: none;
	color: black;
	margin: 15px 0;
}

p.compact-grid:last-child,
.compact-grid p:last-child,
.p.compact-grid:last-child,
.compact-grid .p:last-child {
	margin-bottom: 8px;
}

p:first-child,
.p:first-child {
	margin-top: 0;
}

p.primary-paragraph,
.p.primary-paragraph {
	line-height: 30px;
	line-height: 1.875rem;
	font-size: 18px;
	font-size: 1.125rem;
	color: #666666;
}

@media screen and (max-width: 736px) {
	p.primary-paragraph,
	.p.primary-paragraph {
		line-height: 16px;
		line-height: 1rem;
		font-size: 24px;
		font-size: 1.5rem;
	}
}

p.secondary-paragraph,
.p.secondary-paragraph {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: #2f2f2f;
}

p.dark-theme,
.dark-theme p,
.p.dark-theme,
.dark-theme .p {
	color: #fff;
}

@media screen and (max-width: 736px) {
	p, p.secondary-paragraph, p.primary-paragraph,
	.p,
	.p.secondary-paragraph,
	.p.primary-paragraph {
		font-size: 16px;
		font-size: 1rem;
		line-height: 24px;
		line-height: 1.5rem;
	}
}

p a,
.p a {
	font-family: inherit;
	font-size: inherit;
}

a {
	font-family: 'Hanken Grotesk', sans-serif;
	/* Ei pakoteta näitä, jotta kategoriakuvauksen kyseiset wysiwyg-muotoilut näkyvät */
	/*font-style: normal;*/
	/*font-weight: normal;*/
	font-variant: normal;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: #a04191;
	word-wrap: break-word;
}

a:hover {
	text-decoration: none;
	color: rgba(160, 65, 145, 0.8);
}

a.dark-theme,
.dark-theme a {
	color: white;
}

a.dark-theme:hover,
.dark-theme a:hover {
	color: rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 736px) {
	a {
		font-size: 14px;
		font-size: 0.875rem;
		line-height: 20px;
		line-height: 1.25rem;
	}
}





h1 {
	margin: 0px 0 30px 0;
}

h2 {
	margin: 30px 0 20px 0;
}

h3 {
	margin: 20px 0 15px 0;
}

h4, h5 {
	margin: 25px 0 15px 0;
}

ul, ol {
	padding-left: 20px;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-decoration: none;
	color: inherit;
	margin: 10px 0;
}





.bold {
	font-family: 'Hanken Grotesk', sans-serif;
	font-weight: 600;
}

.static {
	position: static;
}

img {
	display: inline-block;
}

.one-half {
	max-width: 50%;
	display: inline-block;
}

@media screen and (max-width: 736px) {
	.one-half {
		max-width: 100%;
	}
}





#page_content {
	-webkit-transition: all 0.4s;
	-khtml-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	/*cnm-header:n varaama tila*/
	padding-top: 45px;
}

@media (min-width:1060px) {
	#page_content {
		/*cnm-header:n varaama tila*/
		padding-top: 70px;
	}
}

@media screen and (min-width: 769px) {
	#main,
	#footer {
		background: white;
		padding: 0 30px;
	}

	#footer {
		margin-bottom: 30px;
	}

	.ui-padded-bottom {
		padding-bottom: 60px;
	}
}

.ui-bgr-concrete {
	background-color: #f3f3f3;
}

.ui-bgr-white {
	background-color: white !important;
}

.ui-stage-container {
}

.ui-main-container {
	padding-top: 15px;
}

@media (min-width: 1200px) {
	.container {
		width: 1200px;
	}
}

.container {
	width: 100%;
	padding: 0 30px;
	margin-right: auto;
	margin-left: auto;

	/*kavennettu, jotta tekstipalstat pysyy järkevinä*/
	/*Tämä vaikuttaa tietysti myös tuotelistaukseen*/
	/*max-width: 1230px;*/
	max-width: 900px;
}

.container:before, .container:after {
	content: " ";
	display: table;
}

.container:after {
	clear: both;
}

@media (min-width: 768px) {
	.container {
		width: 750px;
	}
}

@media (min-width: 992px) {
	.container {
		width: 970px;
	}
}

@media (min-width: 1200px) {
	.container {
		width: 1170px;
	}
}





.ui-form-field {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: #2f2f2f;
}

.ui-form-field label {
	display: block;
}

.ui-input {
	height: auto;
	padding: 15px 12px;
	color: inherit;
	font-size: inherit;
	line-height: inherit;
	border: none;
	border-radius: 0;
	box-shadow: 0;
	max-height: 50px;
	width: 100%;
	border: 1px solid #DFDFDF;
}

.ui-input.filename-textbox {
	width: 70%;
	display: inline-block;
}

.ui-input.filename-textbox:disabled {
	background: white;
	cursor: pointer;
}

.ui-textarea {
	background: white;
	width: 100%;
	min-height: 154px;
	resize: none;
	border: none;
	border: 1px solid #DFDFDF;
}

.ui-checkbox input[type="checkbox"],
.ui-checkbox input[type="radio"] {
	display: none;
}

.ui-checkbox input[type="checkbox"] + label,
.ui-checkbox input[type="radio"] + label {
	position: relative;
	padding: 5px 0 5px 25px;
}

.ui-checkbox input[type="checkbox"] + label:before,
.ui-checkbox input[type="radio"] + label:before {
	content: '';
	width: 18px;
	height: 18px;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	left: 0;
	background: white;
	border: 1px solid #DFDFDF;
}

.ui-checkbox input[type="checkbox"] + label:after,
.ui-checkbox input[type="radio"] + label:after {
	-webkit-transition: all 0.4s;
	-khtml-transition: all 0.4s;
	-moz-transition: all 0.4s;
	-ms-transition: all 0.4s;
	-o-transition: all 0.4s;
	transition: all 0.4s;
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	background: transparent;
	left: 4px;
	top: 12px;
}

.ui-checkbox input[type="checkbox"]:checked + label:before,
.ui-checkbox input[type="radio"]:checked + label:before {
	border-color: #a04191;
}

.ui-checkbox input[type="checkbox"]:checked + label:after,
.ui-checkbox input[type="radio"]:checked + label:after {
	background: #a04191;
}

.ui-checkbox input[type="radio"] + label:before,
.ui-checkbox input[type="radio"] + label:after {
	-webkit-border-radius: 100%;
	-khtml-border-radius: 100%;
	-moz-border-radius: 100%;
	-ms-border-radius: 100%;
	-o-border-radius: 100%;
	border-radius: 100%;
}





.ui-button {
	padding: 0;
	margin: 0;
	-webkit-transition: all 0.3s ease-out;
	-khtml-transition: all 0.3s ease-out;
	-moz-transition: all 0.3s ease-out;
	-ms-transition: all 0.3s ease-out;
	-o-transition: all 0.3s ease-out;
	transition: all 0.3s ease-out;
	-webkit-box-sizing: border-box;
	-khtml-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	cursor: pointer;
	outline-offset: 0px;
	outline: 0px;
	border: 0;
}

.ui-button.clean {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-decoration: none;
	color: #a04191 !important;
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	-khtml-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	-ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	-o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	border: none;
	padding: 10px 40px;
	text-transform: uppercase;
	margin: 20px auto;
	background: white;
}

.ui-button.clean:hover {
	color: #2f2f2f !important;
}

.ui-button.full {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
	text-decoration: none;
	color: white;
	padding: 10px 15px;
	text-transform: uppercase;
	margin: 20px auto;
	background: #a04191;
}

.ui-button.full:hover {
	background: #6d2c63;
}

.ui-button:disabled,
.ui-button:disabled:hover {
	background: #ccc;
}

@media screen and (min-width: 500px) {
	.ui-button.full {
		padding: 10px 20px;
	}
}

@media screen and (min-width: 920px) {
	.ui-button.full {
		padding: 10px 40px;
	}
}

.ui-button.centered {
	display: block;
}

@media screen and (min-width: 736px) {
	.ui-button.outlined {
		font-size: 14px;
		font-size: 0.875rem;
		line-height: 24px;
		line-height: 1.5rem;
	}
}

@media screen and (max-width: 736px) {
	.ui-button, .ui-button.clean, .ui-button.full {
		font-size: 16px;
		font-size: 1rem;
	}
}





.ui-tile.ui-article-tile:before, .ui-tile.ui-article-tile:after {
	content: " ";
	display: table;
}

.ui-tile.ui-article-tile:after {
	content: "";
	display: table;
	clear: both;
}


.ui-tile.ui-article-tile .tile-content ul {
	padding-right: 20px;
}

.ui-tile {
	position: relative;
	background-color: #d8d8d8;
	display: block;
	padding: 0px;
	z-index: 1;
	overflow: hidden;
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20px;
	line-height: 1.25rem;
	text-decoration: none;
	color: #666666;
	-webkit-transition: all 0.3s ease-in-out;
	-khtml-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	margin: 15px 0;
}

.ui-tile.dark-theme .tile-content,
.dark-theme .ui-tile .tile-content {
	color: white;
}

.ui-tile.vertical-top .tile-content {
	top: 0;
}

.ui-tile.vertical-middle .tile-content {
	top: 50%;
	transform: translate(0, -50%);
	padding: 0 35px;
}

.ui-tile.vertical-middle .tile-content h2 {
	margin-top: 0;
}

.ui-tile.vertical-bottom .tile-content {
	top: auto;
	bottom: 0;
}

.ui-tile h1, .ui-tile .h1,
.ui-tile h2, .ui-tile .h2 {
	margin-bottom: 30px;
}

.ui-tile h3, .ui-tile .h3 {
	margin-bottom: 25px;
}

.ui-tile h4, .ui-tile .h4 {
	margin: 3px 0 14px 0;
}

.ui-tile p,
.service-category-additional-description p {
	font-family: 'Hanken Grotesk', sans-serif;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	font-size: inherit;
	font-size: inherit;
	line-height: 19px;
	line-height: 1.1875rem;
	text-decoration: none;
	color: inherit;
}

.ui-tile a {
	font-family: 'Hanken Grotesk', sans-serif;
}

.ui-tile.h-0 {
	height: 170px;
}

.ui-tile.h-0 .tile-content {
	padding: 30px 35px;
}

.ui-tile.h-1 {
	height: 270px;
}

.ui-tile.h-1 .tile-content {
	padding: 30px 35px;
}

.ui-tile.h-2 {
	height: 370px;
}

.ui-tile.h-2 .tile-content {
	padding: 30px 35px;
}

.ui-tile.h-3 {
	height: 570px;
}

.ui-tile.h-3 .tile-content {
	padding: 45px 35px;
}

.ui-tile.h-3.ui-article-tile.pull-right .tile-content {
	text-align: left;
}

.tile-content h3 {
	margin: 0px;
}

@media screen and (max-width: 736px) {
	.ui-tile.h-3 {
		height: 420px;
	}
}

.ui-tile .tile-mask {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	opacity: 0.2;
}

.ui-tile .tile-mask.black {
	background: black;
}

.ui-tile .tile-mask.white {
	background: white;
}

.ui-tile .tile-mask.opacity-20 {
	opacity: 0.2;
}

.ui-tile .tile-mask.opacity-40 {
	opacity: 0.4;
}

.ui-tile .tile-mask.opacity-60 {
	opacity: 0.6;
}

.ui-tile .tile-mask.opacity-80 {
	opacity: 0.8;
}

.ui-tile .tile-link {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
}

.ui-tile .tile-body {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0px;
	padding: 0px;
	position: relative;
}

.ui-tile.ui-bgr-white {
	-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	-khtml-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	-ms-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	-o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.ui-tile.ui-bgr-white .tile-body {
	background-color: white;
}

.ui-tile.ui-bgr-white .tile-body .tile-content {
	padding: 20px 15px 15px 15px;
}

.ui-tile.ui-bgr-white.ui-content-block .tile-content {
	padding: 30px;
}

.ui-tile .tile-content {
	z-index: 2;
	max-width: 100%;
	max-height: 100%;
	min-height: 80px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	color: #2f2f2f;
}

.ui-tile hr {
	max-width: 80px;
	border: none;
	width: 100%;
	height: 1px;
	background-color: #2f2f2f;
	text-align: left;
	display: inline-block;
	margin: 0 0 20px 0;
	-webkit-transition: all 0.3s ease-in-out;
	-khtml-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}

.ui-tile hr.dark-theme,
.dark-theme .ui-tile hr {
	background-color: white;
}

.ui-tile.ui-tile-marquee {
	margin-top: 0;
	height: auto;
}

.ui-tile.ui-tile-marquee.h-0 {
	min-height: 150px;
	max-height: 250px;
}

.ui-tile.ui-tile-marquee.h-0 .tile-content {
	padding: 10px 0;
}

.ui-tile.ui-tile-marquee.h-1 {
	min-height: 250px;
	max-height: 300px;
}

.ui-tile.ui-tile-marquee.h-1 .tile-content {
	padding: 20px 0;
}

.ui-tile.ui-tile-marquee.h-2 {
	min-height: 350px;
	max-height: 350px;
}

.ui-tile.ui-tile-marquee.h-2 .tile-content {
	padding: 30px 0;
}

@media screen and (min-width: 736px) {

	.ui-tile.ui-tile-marquee.h-0 {
		min-height: 170px;
	}

	.ui-tile.ui-tile-marquee.h-1 {
		min-height: 270px;
	}

	.ui-tile.ui-tile-marquee.h-2 {
		min-height: 370px;
		max-height: 600px;
	}

	.ui-tile.ui-tile-marquee.h-2 .tile-content {
		padding: 85px 35px 90px 35px;
	}
}

.ui-tile.ui-tile-marquee.h-3 {
	min-height: 570px;
	max-height: 400px;
}

.ui-tile.ui-tile-marquee.h-4 {
	min-height: 440px;
	max-height: 440px;
}

@media screen and (min-width: 736px) {
	.ui-tile.ui-tile-marquee.h-4 {
		min-height: 693px;
		max-height: 693px;
	}
}

@media screen and (min-width: 769px) {
	.ui-tile.ui-tile-marquee.h-4 {
		min-height: 595px;
		max-height: 595px;
	}
}

@media screen and (min-width: 1680px) {
	.ui-tile.ui-tile-marquee.h-4 {
		min-height: 750px;
		max-height: 750px;
	}
}

.ui-tile.ui-tile-marquee.text-center .tile-content .one-half {
	max-width: 100%;
}

@media screen and (min-width: 920px) {
	.ui-tile.ui-tile-marquee.text-center .tile-content .one-half {
		max-width: 80%;
	}
}

.ui-tile.ui-tile-marquee.vertical-middle .headline-content {
	padding: 0;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	-khtml-transform: translate(0, -50%);
	-moz-transform: translate(0, -50%);
	-ms-transform: translate(0, -50%);
	-o-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

@media screen and (min-width: 736px) {
	.ui-tile.ui-tile-marquee.vertical-middle .headline-content {
		padding: 0 35px;
	}
}

.ui-tile.ui-tile-marquee.vertical-bottom .headline-content {
	top: auto;
	bottom: 0;
}

.ui-tile.ui-tile-marquee.v2 {
	margin: 0;
}

.ui-tile.ui-tile-marquee .ui-thumbnail img {
	min-width: 100%;
}

.ui-tile.ui-tile-marquee .tile-body {
	position: static;
}

.ui-tile.ui-tile-marquee .tile-content {
	height: auto;
	top: 0;
	padding: 85px 35px 90px 35px;
}

@media screen and (min-width: 736px) {
	.ui-tile.ui-tile-marquee .tile-content {
		min-height: 250px;
	}
}

.ui-tile.ui-tile-marquee .tile-content p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 28px;
	line-height: 1.75rem;
}

.ui-tile.ui-tile-marquee .tile-content a {
	text-decoration: underline;
	color: #2f2f2f;
}

.ui-tile.ui-tile-marquee .tile-content a:hover {
	text-decoration: none;
}

.ui-tile.ui-tile-marquee .tile-content h2 {
	margin-top: 0;
}

.ui-tile.ui-tile-marquee .tile-content.pull-right {
	left: auto;
	text-align: right;
}





.ui-thumbnail {
	position: relative;
	overflow: hidden;
}

.ui-thumbnail img {
	display: block;
	position: relative;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	-khtml-transform: translate(-50%, 0);
	-moz-transform: translate(-50%, 0);
	-ms-transform: translate(-50%, 0);
	-o-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}





@media screen and (min-width: 1500px) {
	.ui-tile.ui-tile-marquee .ui-thumbnail {
		position: static;
	}

	.ui-tile.ui-tile-marquee .ui-thumbnail img {
		position: absolute;
		transform: translate(-50%, -50%);
		top: 50%;
	}
}

.ui-tile.ui-tile-marquee.dark-theme .tile-content a,
.dark-theme .ui-tile.ui-tile-marquee .tile-content a {
	color: white;
}

.ui-tile.ui-tile-marquee.dark-theme .tile-content hr,
.dark-theme .ui-tile.ui-tile-marquee .tile-content hr {
	background-color: white;
}

.ui-tile.ui-article-tile {
	background: transparent;
	max-width: 100%;
}

.ui-tile.ui-article-tile .tile-content {
	padding: 15px 0px 0px 0px;
	position: static;
}

.ui-tile.ui-article-tile .ui-thumbnail img {
	max-width: 100%;

	/*lisätty yleinen rajoitus, jottei näy missään mega-isoja kuvia*/
	max-height: 400px;

	/* Otetaan pois käytöstä tämä ominaisuus, jotta kuvat eivät rajaudu. */
	/*min-width: 370px;*/
	min-width: 0;
}

.ui-tile.ui-article-tile.pull-left .ui-thumbnail {
	float: left;
	max-width: 50%;
}

.ui-tile.ui-article-tile.pull-left .ui-thumbnail img {
	min-width: 0;
}

.ui-tile.ui-article-tile.pull-left .tile-content {
	width: auto;
	padding: 0 0 0 30px;
}

.ui-tile.ui-article-tile.pull-right .ui-thumbnail {
	float: right;
	max-width: 50%;
}

.ui-tile.ui-article-tile.pull-right .ui-thumbnail img {
	min-width: 0;
}

.ui-tile.ui-article-tile.pull-right .tile-content {
	width: auto;
	padding: 0 30px 0 0;
	text-align: right;
}

@media screen and (max-width: 736px) {
	.ui-tile.ui-article-tile.pull-right .ui-thumbnail, .ui-tile.ui-article-tile.pull-left .ui-thumbnail {
		float: none;
		max-width: 100%;
	}

	.ui-tile.ui-article-tile.pull-right .ui-thumbnail img, .ui-tile.ui-article-tile.pull-left .ui-thumbnail img {
		position: static;
		-webkit-transform: translate3d(0, 0, 0);
		-khtml-transform: translate3d(0, 0, 0);
		-moz-transform: translate3d(0, 0, 0);
		-ms-transform: translate3d(0, 0, 0);
		-o-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}

	.ui-tile.ui-article-tile.pull-right .tile-content, .ui-tile.ui-article-tile.pull-left .tile-content {
		padding: 15px 0px 0px 10px;
		text-align: left;
	}
}

.ui-tile.ui-article-tile.h-3 .tile-content {
	padding: 45px 60px;
}





.col-md-12 > .ui-article-tile.pull-left,
.col-md-12 > .ui-article-tile.pull-right {
	width: 100%;
}

/*.col-md-12 > .ui-article-tile.pull-left {
	max-width: 80%;
}

@media screen and (max-width: 736px) {
	.col-md-12 > .ui-article-tile.pull-left {
		max-width: 100%;
	}
}*/





/*CSS-määritys ei ole valmis. Lisätään, jos tarvitaan.*/
/*
.ui-thumbnail .stamp {
	position: absolute;
	display: block;
	background-color: transparent;
	background-repeat: no-repeat;
}

.ui-thumbnail .stamp.updated {
	top: -3px;
	right: -3px;
	width: 60px;
	height: 60px;
	background-image: url(../../Pics/stamp-updated.png);
}
*/





.shop-product-list-search-tools {
	margin-top: 20px;
}

.shop-product-list-search-results {
	margin-top: 50px;
}

/* Varmistetaan, että sisältö näyttää samalta myös ilman p-tägiä, jota ei kaikissa teoksissa välttämättä ole. */
.shop-page-product-author,
.shop-page-product-author p {
	font-family: 'Hanken Grotesk', sans-serif;
	display: block;
	margin-bottom: 10px;
}

/*cropattu ulkoasu: tuotelista ja omat sisällöt*/
.shop-product-list-search-results .shop-page-product-author,
.shop-my-content-lift .shop-page-product-author {
	height: 20px;
}

/*cropattu ulkoasu: tuotelista ja omat sisällöt*/
.shop-product-list-search-results .shop-page-product-author,
.shop-product-list-search-results .shop-page-product-author p,
.shop-my-content-lift .shop-page-product-author,
.shop-my-content-lift .shop-page-product-author p {	
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.shop-page-product-service {
	font-size: 1.3125rem !important;
	text-transform: uppercase !important;
}

.shop-page-product-name {
	font-size: 1.3125rem !important;
	text-transform: uppercase !important;
}

/*cropattu ulkoasu: tuotelista ja omat sisällöt*/
/*--*/
.shop-product-list-search-results .shop-page-product-name,
.shop-my-content-lift .shop-page-product-name {
	overflow: hidden;
	/*2 riviä tuotenimille*/
	height: 40px;
	/*pienempi fontti, jotta nimet mahtuvat*/
	font-size: 1rem !important;
	line-height: 1.3rem;
}

@media screen and (min-width: 400px) and (max-width: 576px) {
	.shop-product-list-search-results .shop-page-product-name,
	.shop-my-content-lift .shop-page-product-name {
		font-size: 1.2rem !important;
	}
}
/*--*/

/* jos tarvitaan multiline ellipses, katso tämä */
/*http://hackingui.com/front-end/a-pure-css-solution-for-multiline-text-truncation/*/

.shop-page-product-desc {
	position: relative;
}

	/* Piilotetaan linkit ja linkkikappaleet VKH-puolen esittelyistä */
	.shop-page-product-desc button {
		display: none;
	}

/* Varmistetaan, että sisältö näyttää samalta myös ilman p-tägiä, jota ei kaikissa teoksissa välttämättä ole. */
.shop-page-product-desc,
.shop-page-product-desc p {
	font-family: 'Hanken Grotesk', sans-serif;
	display: block;
	margin-bottom: 10px;
}

/*cropattu ulkoasu: tuotelista ja omat sisällöt*/
.shop-product-list-search-results .shop-page-product-desc,
.shop-my-content-lift .shop-page-product-desc {
	height: 50px;
	overflow: hidden;
}

/*
.shop-page-product-desc {
	position: relative;
}

.shop-page-product-desc.collapsed {
	max-height: 50px;
	overflow: hidden;
}

.shop-page-product-desc .product-desc-fade-bottom {
	display: none;
}

.shop-page-product-desc.collapsed .product-desc-fade-bottom {
	display: block;
}
*/

.product-desc-fade-bottom {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 3em;
	-webkit-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100% );
	background-image: -moz-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100% );
	background-image: -o-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100% );
	background-image: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100% );
	background-image: -ms-linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100% );
}

.ui-bgr-concrete .product-desc-fade-bottom {
	-webkit-linear-gradient(rgba(243, 243, 243, 0) 0%, rgba(243, 243, 243, 1) 100% );
	background-image: -moz-linear-gradient(rgba(243, 243, 243, 0) 0%, rgba(243, 243, 243, 1) 100% );
	background-image: -o-linear-gradient(rgba(243, 243, 243, 0) 0%, rgba(243, 243, 243, 1) 100% );
	background-image: linear-gradient(rgba(243, 243, 243, 0) 0%, rgba(243, 243, 243, 1) 100% );
	background-image: -ms-linear-gradient(rgba(243, 243, 243, 0) 0%, rgba(243, 243, 243, 1) 100% );
}

.shop-page-product-price {
	font-size: 0.8rem !important;
}

.shop-page-add-to-cart-button {
}

.shop-page-add-to-cart-button:after {
	content: 'Tilaa';
}





.service-category-additional-description {

	padding: 20px;
}





/*Ei tarvita ja rikkoo kampanjasivun. Jos tarvitaan, erota selectorilla kampanjasivun tyylistä.*/
/*tuotelistan kuvan kaventuminen*/
/*@media screen and (min-width: 500px) {

	.ui-tile.ui-article-tile.pull-left .ui-thumbnail img,
	.ui-tile.ui-article-tile.pull-right .ui-thumbnail img {
		max-width: 350px;
	}
}*/





.modal-dialog.modal-dialog-wide {
	max-width: 1000px;
}

.shop-page-product-info-opener {
	cursor: pointer;
}

/* # SEO: Wrapper muutettu linkiksi -> "Perutaan" a-tägin hover tyyli kaikesta elementin sisällöstä. */
.shop-page-product-info-opener:hover {
	color: #2f2f2f;
}

.no-user-select {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.modal-dialog .modal-content {
	border-radius: 0;
}

.modal-dialog .modal-title {
	margin: 0;
}

div.bootbox.modal.fade {
	z-index: 1070;
}

div.bootbox.modal.fade + div {
	z-index: 1060;
}





/*https://stackoverflow.com/questions/46339063/ios-11-safari-bootstrap-modal-text-area-outside-of-cursor*/
/* Bugikorjaus / Safari: IOS-laitteilla bootstrap-dialogien input-kentissä on fokus-bugi. */
/* Korjauksen ongelma on se, että tapahtuu scrollaus sivun alkuun. */
/* Apple on korjattu bugin IOS-päivityksessä 11.3, joten tätä ei pitäisi tarvita ollenkaan. */
/*body.modal-open {
	position: fixed;
}*/





/*laskutustietokentät oletuksena piilossa*/
#parsley_div .billing-input-element {
	display: none;
}

/*maksulliselle tilaukselle näytetään laskutustietokentät*/
#parsley_div.is-chargeable-order .billing-input-element {
	display: block;
}

/*e-laskutuskentät oletuksena piilossa yliajavasti*/
#parsley_div .e-billing-input-element {
	display: none !important;
}

/*e-laskutuskentät näkyvissä vain, jos maksullinen tilaus ja laskutusosoite haettu asiakastiedoista*/
#parsley_div.is-chargeable-order.bill-to-filled .e-billing-input-element {
	display: block !important;
}

/*
* Jos laskutusosoite on esitäytetty (laskutusosoitteen id saatavilla ja kentät disabloitu), laskutusosoitekentät eivät ole pakollisia.
* Pakollisuus on pois, sillä voi tulla eteen tilanne, että jokin tieto puuttuu. Riittää että id on tiedossa.
* Täten piilotetaan myös tähdet.
*/
#parsley_div.bill-to-filled .billing-input-element .required-indication {
	display: none;
}

.parsley-required {
	color: #B94A48;
}

/* Firefox-fiksi: poistetaan selaimen asettama ylimääräinen reunaväri required-kentistä. */
#parsley_div input:required {
	box-shadow: none;
}

input.parsley-success,
select.parsley-success,
textarea.parsley-success {
	color: #468847;
	background-color: #DFF0D8;
	border: 1px solid #D6E9C6;
}

input.parsley-error,
select.parsley-error,
textarea.parsley-error {
	color: #B94A48;
	background-color: #F2DEDE;
	border: 1px solid #EED3D7;
}

.parsley-errors-list {
	margin: 2px 0 3px;
	padding: 0;
	list-style-type: none;
	font-size: 0.9em;
	line-height: 0.9em;
	opacity: 0;
	transition: all .3s ease-in;
	-o-transition: all .3s ease-in;
	-moz-transition: all .3s ease-in;
	-webkit-transition: all .3s ease-in;
	color: #B94A48;
}

.parsley-errors-list.filled {
	opacity: 1;
}

.parsley-form-warning {
	margin-top: 10px;
	color: #B94A48;
}

/*tilauslomakkeen elementti, joka näkyy vain kampanjasivulla*/
.display-inline-campaign-form-only {
	display: none;
}

body.ShopCampaign .display-inline-campaign-form-only {
	display: inline;
}





.campaign-form-select-product-wrapper,
.campaign-form-total-price-wrapper {
	margin-bottom: 20px;
}

.campaign-form-identified-user-wrapper {
	display: none;
}

.campaign-form-identified-user-wrapper {
	display: none;
}

body.IsLoggedIn .campaign-form-identified-user-wrapper {
	display: block;
}





/*yhdenmukainen tyyli*/
.dropdown-toggle {
	min-width: 200px;
}





/*OrderMany-popup-lista*/
/*--*/
.dropdown-menu > li > .dropdown-menu-item {
	clear: both;
	color: #333;
	display: block;
	padding: 3px 20px;
	white-space: nowrap;
	margin: 5px 0;
	width: 100%;
	text-align: left;
	text-decoration: none;
	outline: none;
	cursor: pointer;
	-moz-user-select: none;
	user-select: none;
}

.dropdown-menu > li:hover .dropdown-menu-item,
.dropdown-menu > li:focus .dropdown-menu-item {
	background-color: #f5f5f5;
	color: #262625;
}

.dropdown-menu > li > .dropdown-menu-item.checkbox {
	margin: 0;
	font-weight: normal;
}

/*font-awesome-ikoni näytetään checkboxin tilalla*/
.dropdown-menu > li > .dropdown-menu-item.checkbox input {
	display: none;
}

#themeSelect {
	height: 37px;
}


/* -- 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: 9998;
}

.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: 9999;
}

/* 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 --*/





.ui-form-field {
	margin-top: 5px;
}

.widthlimit {
	max-width: 1170px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

/* Footer */
.ui-footer {
	background-color: #666;
	padding: 0;
	color: #fff;
	overflow: hidden;
}
.ui-footer .container {
	padding: 0;
}

.ui-footer, .ui-footer a {
	word-wrap: normal;
	overflow-wrap: normal;
}

a.footerlogo {
	background: url(../../pics/2024/alma_insights_footer_logo.svg) no-repeat;
	background-size: contain;
}

.footer .linkbox p {
	color: #fff !important;
	font-size: 14px !important;
	margin: 0px;
	line-height: 20px;
}

.footer menu.linkbox {
	margin-top: 0px;
	padding-left: 0px;
}

/* Footer: loppu */





/* Kampanjasivulla ei näytetä alma-headeria */
/*--*/
body.ShopCampaign #almaheader {
	display: none;
}

body.ShopCampaign #page_content {
	padding-top: 0;
}
/*--*/





/*ImportantNotification - kustomointi*/
#importantNotificationContainer h5 {
	font-size: 18px;
	font-family: 'Hanken Grotesk', sans-serif;
	padding-top: 14px;
	padding-bottom: 14px;
	line-height: 21px;
	margin: 0;
	padding-left: 20px;
	padding-right: 40px;
	position: relative;
	font-style: normal;
}
/*--*/

/*huoltokatkoilmoitus - kustomointi*/
.service-alert {
	background: #eee;
	margin-top: 0;

	/*27.5.2019*/
	/*Shopissa ei haluta näyttää huoltokatkoilmoitusta.*/
	/*Ei ole varmaa, onko tilapäinen vain pysyvä käytäntö.*/
	/*Tehdään nyt aluksi vain kevyt css-piilotus, jotta saadaan haluttaessa takaisin helposti.*/
	/*Myöhemmin voidaan ottaa kokonaan pois ShopMaster-koodista.*/
	/*display: none !important;*/
}
/*--*/

/* -- Omat sisällöt - Hankitut teokset nosto */
.ProCatProductLift .service-header {
	margin-top: 30px;
}

.ProCatProductLift .bookcontainer {
	margin-bottom: 20px;
	width: 200px;
	float: left;
}

.ProCatProductLift .fokus-names {
	display: none;
}

.ProCatProductLift .service-name {
	display: none;
}

.ProCatProductLift .bookname {
	color: #333;
}
/* -- Omat sisällöt - Hankitut teokset nosto: loppu */

/* -- Erillinen tuotekortti */
.shop-product-page .path-wrapper .separator {
	margin: 0 10px;
}
/* -- Erillinen tuotekortti: loppu */

/*JAA palvelun ilmoitus: alku*/

/*@media (min-width: 768px) {
	body.siteTSH.header-info-active {
		padding-top: 125px;
	}
}

@media (min-width: 857px) {
	body.header-info-active {
		padding-top: 85px!important;
	}
}

@media (min-width: 1132px) {
	body.header-info-active {
		padding-top: 55px!important;
	}
}*/

/*JAA palvelun ilmoitus: loppu*/

/*Eväste modaalin asetuksia: alku*/
[id^="sp_message_container_"] {
	pointer-events: auto;
}
/*Evästemodaalin asetuksia: loppu*/

/*Saavutettavuus*/
:focus,
button.content-services-menu-opener:focus {
	outline: var(--vkh-purple) auto 1px;
	border-radius: 2px;
}

.content-services-menu-main {
	display: inline-block;
	padding: 0px 10px 0px 0px;
	cursor: pointer;
}

.cnm-site-menu-nav-container button.content-services-menu-opener {
	width: 100%;
	text-align: left;
	cursor: pointer;
}

#cnm-master-wrap.content-services-menu-open .content-services-menu {
	display: block!important;
}

header-top.accessibility-shortcuts {
	display: none;
}

/*Saavutettavuus*/