/*

Theme Name: Mestar
Theme URI:
Description:
Author: CTA
Author URI: https://cta.fi
Template: kadence
Version: 1.0

*/

.gform_required_legend {
	display: none;
}

/* CTA */
.cta {
	width: 100%;
	background-color: #0E1216;
	color: #ffffff;
	text-align: center;
	padding: 1em 0;
	font-size: 10px;
	line-height: 1;"
}

.cta a{
	color: #ffffff80;
	text-decoration: none;
}

.cta a:hover{
	color: #ffffff;
	text-decoration: underline;
}

/* Case */
.case-list {
    border-top: 1px solid #d9dde2;
}

.case-list__item {
    display: grid;
    grid-template-columns: 1fr 180px;
    gap: 40px;
    align-items: center;
    padding: 60px 0;
    border-bottom: 1px solid #d9dde2;
    color: inherit;
    text-decoration: none;
    transition: opacity .2s ease;
}
.case-list__move {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 30px;
}

.case-list__item h3:hover {
	color: var(--global-palette5);
}

.case-list__number {
    font-size: 1.875rem;
    font-weight: 300;
    color: var(--global-palette5);
    line-height: 1.2;
	float: left;
}

.case-list__content {
	float: left;
}

.case-list__content h3 {
    margin: 0 0 10px;
    font-size: 1.875rem;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -.02em;
}

.case-list__score {
    text-align: right;
}

.case-list__score span {
    display: block;
    font-size: 2.25rem;
    line-height: 1;
    font-weight: 800;
    color: var(--global-palette7);
}

.case-list__score small {
    display: block;
    margin-top: 8px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: #5d6670;
}

.case-list a:hover {
	h3 {
		color: var(--global-palette7);
	}
	.case-list__score {
		scale: 1.04;
	}
	.case-list__move {
		margin-left: 3px;
	}
}

/* button */
.kt-button {
    --tw-duration: .3s;
    transition-duration: .3s;
}

.kt-button:hover {
	scale: 1.04;
}

.home h1 {
	color: #fff;
	line-height: 1;
	letter-spacing: -.03em;
  font-weight: 900;
	margin-top: 1,5rem;
}

/*typographyt */

.hero h1 {
	color: #fff;
}

h2, h3 {
	margin-top: .3em !important;
}

h6 {
	display: inline-block;
}

.hero h6 {
	border-radius: 5px;
 	padding: 15px;
	background-color: rgba(14, 163, 0, 0.15);
	font-weight: 700;
	letter-spacing: .12em;
	line-height: .12em;
}

.isoteksti p {
	font-size: 1.125rem;
}

.kb-post-list-item {
	border: 1px solid #D9DFE5;
	border-radius: 20px;
}

.hero .overtitle {
	display: inline-block !important;
	color: var(--global-palette7);
	text-transform: uppercase;
	border-radius: 5px;
 	padding: 15px;
	background-color: rgba(14, 163, 0, 0.15);
	font-weight: 700;
	letter-spacing: .12em;
	line-height: .12em;	
	font-size: 0.75rem;
}

.content-area span:not(.kt-btn-inner-text):not(.kb-button):not(.kt-button):not(.kb-svg-icon-wrap) {
	display: inline-block !important;
	color: var(--global-palette7);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .12em;
	line-height: 1.2em;	
	font-size: 0.75rem;
}

.content-area .section-label {
    color: var(--global-palette11);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.2em;
    font-size: 0.75rem;
}

svg {
	display: block;
}

.rank-math-breadcrumb a {
	color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: none;
}

.rank-math-breadcrumb a:hover {
	color: var(--wp--preset--color--theme-palette-7) !important;
	text-decoration: none;
}

.rank-math-breadcrumb .separator {
	color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: none;
}

.rank-math-breadcrumb .last {
	color: rgba(255, 255, 255) !important;
	text-decoration: none;
}

.shadow .kt-inside-inner-col {
	 box-shadow: 0 6px 24px -8px rgba(0, 0, 0, 0.15);
}

.kb-section-has-link p:hover {
	color: var(--wp--preset--color--theme-palette-7);
}

.wp-block-quote.highlight-quote {
    position: relative;
    margin: 40px 0;
    padding: 60px;
    border: 1px solid #d7dde3;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 6px 24px -8px rgba(0, 0, 0, 0.15);
}

/* vihreä lainausmerkki */
.wp-block-quote.highlight-quote:before {
    content: "❞";
    position: absolute;
    top: 45px;
    left: 60px;
    color: #179b16;
    font-size: 72px;
    line-height: 1;
}

/* vasen viiva */
.wp-block-quote.highlight-quote {
    border-left: none;
}

.wp-block-quote.highlight-quote:after {
    content: "";
    position: absolute;
    left: 58px;
    top: 95px;
    width: 4px;
    height: 110px;
    background: #09111c;
}

/* lainausteksti */
.wp-block-quote.highlight-quote p {
    margin: 40px 0 24px 90px;
    font-size: 1.25rem;
    line-height: 1.2;
    font-weight: 800;
    color: #09111c;
}

/* allekirjoitus */
.wp-block-quote.highlight-quote cite {
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 0.875rem;
	color: #4d5660;
}

.wp-block-quote.highlight-quote:after {
	display: none
}

.wp-block-quote.highlight-quote p {
	margin-left: 0;
	f
}

.wp-block-quote.highlight-quote cite {
	margin-left: 0;
}

.valkeateksti span {
	color: #ffffff;
}

.tieto {
	color: #fff !important;
	font-size: 1.875rem;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 0;
}

.nimike {
	color: rgb(255, 255, 255, 0.7) !important;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
}

.hero-info-wrapper{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.heroinfo{
  	background:rgba(255,255,255,.05);
	border:1px solid rgba(255,255,255,.15);
  	border-radius: 20px;
	padding: 30px 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
}

.heroinfo .tieto{
    display:block;
    color:#fff;
    font-size:3rem;
   	font-size: 1.875rem;
    line-height:1;
    text-transform:uppercase;
    margin-bottom: 20px;
}

.heroinfo .nimike{
    display:block;
    color:rgba(255,255,255,.85);
    font-size: 0.875rem;
    line-height:1;
    font-weight:500;
}

@media (max-width:991px){
    .hero-info-wrapper{
        grid-template-columns:1fr;
        gap:20px;
    }

    .heroinfo{
        min-height:140px;
        padding:30px;
    }

    .heroinfo .tieto{
        font-size:2.2rem;
    }

    .heroinfo .nimike{
        font-size:1.1rem;
    }
}

.palvelut-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.palvelu-card {
    position:relative;
    min-height: 340px;
    border-radius: 20px;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:flex-end;
    text-decoration:none;
    color:#fff;
    transition:.35s;
}

.palvelu-overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,1),
        rgba(0,0,0,.15)
    );
    transition:.35s;
}

.palvelu-content {
    position:relative;
    z-index:2;
    padding:34px;
    width:100%;
}

.palvelu-osasto {
  	display:inline-block;
  	padding: 8px 15px;
	background:rgba(255,255,255,.3);
	border-radius: 5px;
	font-weight: 700;
  	letter-spacing: .12em;
  	line-height: .12em;
  	font-size: 0.75rem;
	text-transform:uppercase;
	color: #fff !important;
}

.palvelu-card h3 {
	color: #fff;
  font-size: 1.5rem;
  line-height: 1.25;
  margin: 5px 0; 
}

.palvelu-link {
	display: flex;
  	align-items: center;
  	gap: 10px;
  	font-size: .75rem;
  	font-weight: 700;
  	letter-spacing:.08em;
	color: #fff !important;
}

.palvelu-card:hover {
    transform:translateY(-8px);
}

.palvelu-card:hover .palvelu-overlay {
	background: linear-gradient(to top, rgba(0,0,0,1), rgba(0,0,0,.05));
}

@media(max-width:1024px) {
    .palvelut-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:767px) {
    .palvelut-grid{
        grid-template-columns:1fr;
    }
    .palvelu-card{
        min-height:340px;
    }
}

.tunnusluku span {
	color: #fff !important;
	text-transform: none;
	font-weight: 500;
	font-size: 1rem;
}

::marker {
	color: var(--wp--preset--color--theme-palette-7);
}

.cta-whatsapp-float {
	position: fixed;
  	right: 30px;
  	bottom: 30px;
  	z-index: 99999;
 	padding: 10px 15px;
	background: #25d366;
  	color: #fff;
	text-decoration:none;
  	border-radius: 999px;
	font-size: 0,875rem;
  	font-weight: 700;
	box-shadow:0 12px 35px rgba(0,0,0,.18);
   	transition:.25s;
}

.cta-whatsapp-float:hover {
	transform:translateY(-5px);
	color: #fff;
 }

/* Mobiili */
@media (max-width:767px) {

	.cta-whatsapp-float {
		width: 64px;
		height: 64px;
		padding: 0;
		border-radius: 50%;
	}

	.cta-whatsapp-text {
		display: none;
	}

	.cta-whatsapp-icon {
		width: 34px;
		height: 34px;
	}
}



@media (max-width: 991px) {

    .case-list__item {
        grid-template-columns: 1fr auto;
        gap: 20px;
    }

    .case-list__score {
        display: none;
    }

    .case-list__content h3 {
        font-size: 2rem;
    }

    .case-list__intro {
        font-size: 1.1rem;
    }
}

/* työntekijä tarina nostot */

.tarinat-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 32px;
}

.tarina-card {
    background: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 6px 24px -8px rgba(0, 0, 0, 0.15);
    display: flex;
    flex-direction: column;
    transition: .25s;
}

.tarina-card: hover{
    transform: translateY(-6px);
}

.tarina-image {
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.tarina-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: .35s;
}

.tarina-card:hover img{
    transform: scale(1.05);
}

.tarina-content { 
    padding: 34px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.tarina-quote {
    color: #1aaa2a;
    font-size: 52px;
    line-height: 1;
}

.tarina-ingressi {
    margin-bottom: 10px;
    flex: 1;
    font-size: 1rem;
}

.tarina-name {
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 900;
    color: var(--wp--preset--color--theme-palette-3);    
}

.tarina-title {
    margin-top: 4px;
    margin-bottom: 34px;
    color: var(--wp--preset--color--theme-palette-5);  
}

.tarina-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color:#111;
}

.tarina-link span {
    transition: .2s;
}

.tarina-link:hover span {
    transform: translateX(5px);
}

@media(max-width:1024px) {
    .tarinat-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:767px) {
    .tarinat-grid{
        grid-template-columns:1fr;
    }
}
