@charset "UTF-8";
.harmaa{
	background-color: var(--color-surface);
}

.turkoosi{
	background-color: var(--color-accent-400);
}

.violetti{
	background-color: var(--color-accent-700);
}

/*
PERUSSISÄLTÖ
*/

.perussisalto-palsta img, .perussisalto-palsta figure{
	max-width: 100%;
	height: auto;
	display: block;
}

@media (min-width: 768px){
.perussisalto-4 .perussisalto-palsta{
	width: 50%;	
}
	
.flexbox.perussisalto-4{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}	
}

@media (min-width: 992px){

.perussisalto-1 .perussisalto-palsta{
	width: 75%;	
}
	
.perussisalto-2 .perussisalto-palsta{
	width: 50%;	
}
	
.perussisalto-3 .perussisalto-palsta{
	width: 33.3332%;	
}
	
.perussisalto-4 .perussisalto-palsta{
	width: 25%;	
	padding-bottom: 0;
}	
}

@media (min-width: 1200px){
.perussisalto-1 .perussisalto-palsta{
	width: 66.6666%;
}		
/*.perussisalto-2, .otsikkopalkki-2{
	width: 83.3333%;
	margin: 0 auto;
}*/	
}

/*
KUVALLISET NOSTOT PALSTOISSA
*/

.kuvallinennosto-palsta{
	padding-top: 20px;
	padding-bottom: 20px;
}

.kuvallinennosto-palsta img{
	width: 100%;
	height: auto;
	margin-bottom: 25px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.kuvallisetnostot.harmaa.laatikko .kuvallinennosto-palsta__inner{
	background: var(--color-bg);
	height: 100%;
}

.kuvallisetnostot.harmaa.laatikko .kuvallinennosto-palsta-sisalto{
	padding: 0 20px 10px 20px;

}

@media (min-width: 768px){
	
.kuvallisetnostot .flexbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	
.kuvallinennosto-2 .kuvallinennosto-palsta{
	width: 50%;	
}
	
.kuvallinennosto-3 .kuvallinennosto-palsta{
	width: 50%;	
}
	
.kuvallinennosto-4 .kuvallinennosto-palsta{
	width: 50%;	
}	
}

@media (min-width: 992px){
	
.kuvallinennosto-palsta{
	padding-top: 0px;
	padding-bottom: 0px;
}	
	
.kuvallinennosto-2 .kuvallinennosto-palsta{
	width: 50%;	
}
	
.kuvallinennosto-3 .kuvallinennosto-palsta{
	width: 33.3332%;	
}
	
.kuvallinennosto-4 .kuvallinennosto-palsta{
	width: 25%;	
}	
}

/*
KUVANOSTOT
*/

.kuvanosto{
	padding-top: 25px;
	padding-bottom: 25px;
}

.kuvanosto-kuva{
	margin-bottom: 50px;
	position: relative;
	z-index: 1;
	overflow: hidden;
	text-align: center;
}

.kuvanosto-kuva img{
	display: block;
	width: 100%;
	height: auto;
}

@media (min-width: 992px){
		
.kuvanosto{
	display: flex;
	align-items: center;
	
}
	
.padding-large .kuvanosto{
	padding-top: 60px;
	padding-bottom: 60px;
}
	
.kuvanosto-kuva{
	width: 58.3332%;
	margin-bottom: 0;
}
	
.kuvanosto-sisalto{
	width: 41.6667%;	
}	
	
.kuvanosto:nth-child(even){
	flex-direction: row-reverse;
}	
}

/*
STATISTIIKKANOSTOT
*/

.stats__inner {
	--columns: 6;
	--items: 4;

	width: min(100% - 2rem, 1440px);
	margin-inline: auto;

	display: grid;
	grid-template-columns: repeat(var(--items), calc(100% / var(--columns)));
	justify-content: center;
	text-align: center;
}

.stat {
	min-width: 0;
	text-align: center;
	grid-column: span 1;
}

.statsnumero{
	line-height: 1;
	font-size: 60px;
	color: var(--color-text-highlight);
	font-weight: 900;
	margin-bottom: 25px;
}

.statsteksti{
	display: block;
	font-size: 21px;
}

@media (max-width: 992px) {
.stats__inner {
	--columns: 2;
    --items: 2;

    grid-template-columns: repeat(2, 1fr);
    row-gap: 3rem;
  }
.statsnumero{
	font-size: 50px;
	margin-bottom: 15px;
}	
.statsteksti{
	font-size: 18px;
}	
}

/*
HAITARI
*/

.harmaa + .haitari, .turkoosi + .haitari, .violetti + .haitari {
    padding-top: 60px;
}

.faq-accordion{
	background: var(--color-bg);
	border-bottom: none;
	font-size: 16px;
}
.faq-accordion p{
	color: var(--color-text);
}

.faq-accordion a.faq-accordion-title{
	display: block;
	text-decoration: none;
}
.main-faq-accordion{
	position:relative;
	padding:140px 0;
	background: var(--color-bg);
}

.faq-accordion-box .faq-accordion-title{
	padding: 15px 40px 14px 20px;
	background-color: var(--color-surface);
	color: var(--color-text);
	font-weight: 700;
	font-size: 16px;
	position: relative;
	cursor: pointer;
	margin: 0;
	box-sizing: border-box;
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-transition: background-color .2s ease-out;
	-moz-transition: background-color .2s ease-out;
	transition: background-color .2s ease-out;
		}
.faq-accordion-box .faq-accordion-title.active{
	background-color: var(--color-bg);
}

.faq-accordion .faq-accordion-box{
	border-top: 4px solid var(--color-bg);
}

.faq-accordion .faq-accordion-box:first-child{
	border-top: 4px solid var(--color-surface);
}

.faq-accordion-title .faq-accordion-mark{
	position: absolute;
	width: 14px;
	height: 14px;
	top: 50%;
	margin-top: -7px;
	right: 20px;
	background: url('../images/plus.svg') no-repeat center center;
	}
.faq-accordion-title.active .faq-accordion-mark{
	background: url('../images/minus.svg') no-repeat center center;
		}
.faq-accordion .faq-accordion-box:last-child{
	border-bottom: 4px solid var(--color-surface);
		}
.faq-accordion .faq-content-container{
	border-top: 1px solid transparent;
	padding: 25px 10px 25px 20px;
		}

/*@media (min-width: 1440px){
	.faq-accordion{
		width: 75%;
	}
}*/

@media(min-width: 992px){
.harmaa + .haitari, .turkoosi + .haitari, .violetti + .haitari {
    padding-top: 80px;
}
}

/*
NOSTOT KUVAKKEELLA
*/

.nostotkuvakkeella{
	background: var(--color-bg);
}

.nostotkuvakkeella.harmaa{
	background: var(--color-surface);	
}

.nostokuvakkeella-palsta{
	padding-top: 20px;
	padding-bottom: 20px;
}

.nostokuvakkeella-kuvake{
	width: 80px;
	float: left;
}

.nostokuvakkeella-kuvake img{
	width: 100%;
	height: auto;
	display: block;
}

.nostokuvakkeella-sisalto{
	width: calc(100% - 80px);
	float: right;
	padding-left: 20px;
	padding-top: 10px;
}


@media (min-width: 768px){
	
.nostotkuvakkeella .flexbox{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
	
.nostokuvakkeella-palsta{
	width: 50%;	
}
	
}

@media (min-width: 1024px){
	
.nostokuvakkeella-palsta{
	width: 33.3332%;
}		

}

/*
TOIMINTAKEHOITE
*/

.toimintakehoite{
	background: var(--color-bg);
}

.toimintakehoite.harmaa{
	background: var(--color-surface);
}
.toimintakehoitesisalto{
	background: var(--color-accent-700);
	color: var(--color-text-inverse);
	padding-top: 45px;
}

.toimintakehoitesisalto h2, .toimintakehoitesisalto .module-title-h2, .toimintakehoitesisalto h3, .toimintakehoitesisalto h4{
	color: var(--color-text-inverse);
}

@media (min-width: 768px){
.toimintakehoitesisalto{	
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}	
}

@media (min-width: 992px){
.toimintakehoitesisalto{	
	width: 60%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 65px;
	padding-left: 60px;
	padding-right: 60px;
}	
}

/*
LOGOGALLERIA
*/
.logo-gallery__inner {
  width: min(100% - 2rem, 1440px);
  margin-inline: auto;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

@media (min-width: 992px) {
  .logo-gallery__inner {
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
  }
}

.logo-card {
  min-height: clamp(6rem, 12vw, 9rem);
  padding: clamp(1rem, 2vw, 2rem);

  background: #fff;
  border-radius: 0.5rem;
}

.logo-card a,
.logo-card img {
  width: 100%;
  height: 100%;
}

.logo-card a {
  display: grid;
  place-items: center;
}

.logo-card img {
  display: block;

  width: 100%;
  margin-inline: auto;

  object-fit: contain;
}

/* 
KUVAGALLERIA 
*/
.single-post .galleria .wrapper{
	padding-top: 0;
}

.gallery{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.gallery a{
	text-decoration: none;
	line-height: 0;
	display: inline-block;
	margin: 5px;
	width: calc(50% - 10px);
}

.gallery img{
	width: 100%;
	height: auto;	
}

@media (min-width:768px){
.gallery a{
	width: calc(25% - 10px);
}	
}

@media (min-width: 992px){
.single-post .single-narrow{
	width: 66.666%;
	margin: 0 auto;
}
}

/*
NÄYTTELIJÄT
*/

.nayttelijat__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.nayttelija {
	text-align: center;
}

.nayttelija__kuva__wrap{
	padding: 20px;
}

/*.nayttelija img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	display: block;
	margin-bottom: 20px;
}*/

.nayttelija .nayttelija__nimi {
	font-weight: 700;
	text-align: center;
	font-size: 18px;
}

.nayttelija__kuva {
	
	position: relative;
	aspect-ratio: 1 / 1;
}

.nayttelija__kuva img {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;
	border-radius: 50%;

	transition:
		opacity .3s ease,
		transform .3s ease;
}

.nayttelija__kuva--primary {
	opacity: 1;
}

.nayttelija__kuva--hover {
	opacity: 0;
}

@media (hover: hover) {
	.nayttelija--has-hover:hover .nayttelija__kuva--primary {
		opacity: 0;
	}

	.nayttelija--has-hover:hover .nayttelija__kuva--hover {
		opacity: 1;
	transform: scale(1.05);
	}
}

@media (min-width: 992px) {
	.nayttelijat__list {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}

@media (min-width: 1440px) {
	.nayttelijat__list {
		grid-template-columns: repeat(6, 1fr);
	}
}

/*
TEKIJÄLUETTELO
*/

.tekijat__list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.tekija__nimi{
	font-weight: 700;
	font-size: 18px;
}

@media (min-width: 992px) {
	.tekijat__list {
		grid-template-columns: repeat(4, 1fr);
		gap: 40px;
	}
}

@media (min-width: 1440px) {
	.tekijat__list {
		grid-template-columns: repeat(6, 1fr);
	}
}

/*
TESTIMONIAALIT
*/
.testimonial-carousel__quote{
	margin-bottom: 25px;
}

.testimonial-carousel .swiper-wrapper{
	padding-bottom: 10px!important;
}

.testimonial-carousel__cont .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 5px !important;
	background: rgba(--color-surface);
}

.testimonial-carousel__cont .swiper-pagination-bullet-active {
	background: var(--color-accent-700);
}

/*
HENKILÖT
*/

.henkilo-kortti{
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 14px;
	display: flex;
	align-items: center;
}

.henkilot .henkilo-nimi {
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 2px;
}

.henkilo-kuva {
  	position: relative;
	aspect-ratio: 1 / 1;
  	width: 100px;
  	height: 100px;
  	display: flex;
  	align-items: center;
  	justify-content: center;
	margin: 0 auto 25px auto;
}

.henkilo-sisalto{
	padding-left: 10px;
	width: calc(100% - 110px);
}

/* itse kuva */
.henkilo-kuva img {
  	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;
	border-radius: 50%;

	transition:
		opacity .3s ease,
		transform .3s ease;
}

@media (min-width: 768px){
.henkilo-kortti{
	width: 50%;	
	text-align: center;
	font-size: 16px;
	display: block;
	padding-left: 20px;
}
	
.henkilo-kuva {
  	width: 240px;
  	height: 240px;
}
	
.henkilo-sisalto{
	padding-left: 0px;
	width: 100%;
}
	
}

@media (min-width: 1440px){
.henkilo-kortti{
	width: 33.3332%;	
}
}
	

@media (min-width: 1680px){
.henkilo-kortti{
	width: 25%;	
}
}
	