/* 
Theme Name: Korpisähkö Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.2.8
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


/*------------Yleiset-------------*/

.gs-margin-bottom-0 p{
	margin-bottom:0px!important;
}

/*Breadcrumbs*/
.elementor-widget-breadcrumbs p{
	margin-bottom:0px;
}

/*order-button*/
.order-btn a{
  background-color: var(--e-global-color-primary);
	padding:10px!important;
}
.order-btn a:hover{
  background-color: var(--e-global-color-724bc9b);
	color: white!important;
}

.gs-align-bottom{
	margin-top:auto;
}


/*------------Process Flow-------------*/

.process-flow:before{
	content: "";
  width: 3px;
  position: absolute;
  top: 0;
	left:18px;
  bottom: 0;
  background: linear-gradient(180deg,rgba(247,0,0,0) 0%,rgba(3,137,208,0.3) 10%,rgba(3,137,208,0.3)  90%, rgba(247,0,0,0) 100%);
}
.process-flow h3{
	margin-top:0px;
}

.process-flow {
  counter-reset: elementCounter;
}

.process-flow .elementor-widget-icon-box:not(.process-plus) {
  counter-increment: elementCounter;
}

.process-flow .elementor-widget-icon-box:not(.process-plus) .elementor-icon::before {
  content: counter(elementCounter);
  position: absolute;
  top: 10px;
  left: 8px;
	transform:translate(50%,50%);
  color: white;
  font-size: 21px;
  font-weight: bold;
	z-index:55;
	text-align:center;
}


.process-flow .elementor-widget-icon-box:first-of-type .elementor-icon::before{
	left:12px;
}

.process-flow .elementor-widget-icon-box.process-plus .elementor-icon::before {
  content:"+";
  position: absolute;
  top: 10px;
  left: 8px;
	transform:translate(50%,50%);
  color: white;
  font-size: 21px;
  font-weight: bold;
	z-index:55;
	text-align:center;
}



/*------------Brand items-------------*/

.item-bottom-right, .item-bottom-left {
	position:relative;
}

ul.sub-menu{
	min-width:200px!important;
}

.item-bottom-right:after{
	display:block;
	position:absolute;
	width:55px;
	height:auto;
	right:-20px;
	bottom:-20px;
}

.item-bottom-left:after{
	display:block;
	position:absolute;
	width:55px;
	height:auto;
	left:-20px;
	bottom:-20px;
}

.white-item:after{
	content:url(https://korpisahko-fi.hel10.wp-cloud.dev/wp-content/uploads/2023/05/item-white.svg);
}

.white-outline-item:after{
	content:url(https://korpisahko-fi.hel10.wp-cloud.dev/wp-content/uploads/2023/05/item-outline-white.svg);
}

.gradient-outline-item:after{
	content:url(https://korpisahko-fi.hel10.wp-cloud.dev/wp-content/uploads/2023/05/item-outline-gradient.svg);
}

.gradient-item:after{
	content:url(https://korpisahko-fi.hel10.wp-cloud.dev/wp-content/uploads/2023/05/item-gradient.svg);
}


/*------------Fontit-------------*/

h1.elementor-size-default{
	font-size: clamp(32px, 4vw,62px);
}

.single-palvelut h1{
		font-size: clamp(32px, 3.9vw,52px);
}

.single-post h1.elementor-heading-title{
	font-size: clamp(32px, 3.5vw,42px)!important;
}

/*.single-tuotteet .elementor-location-single ul{
	margin-bottom:1em;
}*/

.single-tyopaikat h2.wp-block-heading, .single-post h2.wp-block-heading, .single-tuotteet h2.wp-block-heading{
  font-size: clamp(24px, 2.5vw,30px);
  margin-bottom: 0.7em;
  margin-top: 1.3em;
}

.single-tyopaikat h3.wp-block-heading, .single-post h3.wp-block-heading, .single-tuotteet h3.wp-block-heading{
  font-size: clamp(21px, 2.4vw,24px);
  margin-bottom: 0.7em;
  margin-top: 1.1em;
}

.single-tyopaikat h4.wp-block-heading, .single-post h4.wp-block-heading, .single-tuotteet h4.wp-block-heading{
  font-size: clamp(18px, 2.3vw,22px);
  margin-bottom: 0.7em;
  margin-top: 1em;
}

.single-tyopaikat .elementor-widget-theme-post-content p, .single-post .elementor-widget-theme-post-content p, .single-tuotteet .elementor-widget-theme-post-content p{
  font-size: 17px
}

/*Taulukko*/

.single-tuotteet tr:hover>td, .single-tuotteet table tbody tr:hover>th {
	background-color:initial;
}

.single-tuotteet table td{
	padding:15px;
	/*border:none;*/
	border: 1px solid #dedede;
	background-color:white!important;
}

.wp-block-table table {
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid;
}





/*------------Arkistot-------------*/

.archive-item a:has(img){
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}


.archive-item img{
  height:100%;
  min-height: clamp(220px, 25vh, 310px);
  width:100%;
  -o-object-fit: cover;
  object-fit: cover;
  transition: transform .5s ease;
  -webkit-transform .5s ease!important;
}

.archive-item:hover img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  transition: transform .5s ease;
  -webkit-transform .5s ease!important;
}

.archive-item:hover h3 a {
  color:var(--e-global-color-accent)!important;
}




/*------------Yhteystiedot - Henkilöt-------------*/
.person-item .elementor-icon-list-item a:hover{
	text-decoration:underline;
}

.person-item .elementor-widget-image{
	position: relative;
  overflow: hidden;
  aspect-ratio: 5/6;
}

.person-item .elementor-widget-image img{
  height:100%;
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

@media only screen and (max-width: 767px) {
	.person-item .e-con-inner{
		align-items:center!important;
	}
	
	.person-item h5{
		font-size:20px!important;
	}
	
	.person-item span{
		font-size:13px!important;
	}
	.person-item a span {
		font-size:16px!important;
	}
	
  .person-item .elementor-widget-image{
	 width: 33%!important;
  }
	.person-info{
	 width: 60%!important;
	 flex-grow: 1;
  }
	.person-info .elementor-icon-list-item:has(a[href^="mailto"]){
		display:none;
	}
	.person-item .e-con-inner{
		gap:15px;
	}
	
}


/*------------Sivun sisältö listaus-------------*/

/*
.list-grid ul{
	display: grid!important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  grid-gap: 15px;
	grid-row-gap: 25px;
}
*/
.page-content-list .list-grid ul{
	display: grid!important;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  grid-gap: 15px;
	grid-row-gap: 25px;
}

.list-grid ul{
  grid-gap: 15px;
	grid-row-gap: 20px;
}

.list-grid ul li{
	flex-basis: 280px;
  flex-grow: 1;
}

.page-content-list li.elementor-icon-list-item svg{
	-webkit-filter: invert(100%);
  filter: invert(100%);
}

/*
.page-content-list .list-grid ul{
  grid-gap: 0px;
	grid-row-gap: 10px;
}

.page-content-list .list-grid ul li{
	min-width: 320px;
	flex: 0 0 calc(33.33% - 30px);
	margin: 5px;
}*/




/*------------Frequentyly asked questions - UKK-------------*/
.ukk-accordion .elementor-accordion-item{
	margin-bottom:-1px;
	border-top: solid 1px!important;
	border-bottom: solid 1px !important;
}

/*
@media only screen and (min-width: 600px) {

	.service-accordion .elementor-accordion{
	display: grid!important;
  grid-template-columns: repeat(auto-fit, minmax(470px, 1fr));
  grid-gap: 30px;
	grid-row-gap: 0px;
}
}*/


.service-accordion .elementor-accordion-item{
	margin-bottom:-1px;
	border-top: solid 1px!important;
	border-bottom: solid 1px !important;
}



/*------------Images and image ratios-------------*/

.img-5-6{
	position: relative;
  overflow: hidden;
  aspect-ratio: 5/6;
}

.img-5-6 img{
  height:100%;
	min-height: clamp(220px, 25vh, 310px);
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

.img-1-1{
	position: relative;
  overflow: hidden;
  aspect-ratio: 1/1;
}

.img-1-1 img{
  height:100%;
	min-height: clamp(220px, 25vh, 310px);
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

.img-4-3{
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
}

.img-4-3 img{
  height:100%;
	min-height: clamp(220px, 25vh, 310px);
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

.img-3-4{
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/4;
}

.img-3-4 img{
  height:100%;
	min-height: clamp(250px, 25vh, 350px);
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

.img-3-2{
  position: relative;
  overflow: hidden;
  aspect-ratio: 3 / 2;
}

.img-3-2 img{
  height:100%;
	min-height: clamp(200px, 25vh, 260px);
	width:100%;
	-o-object-fit: cover;
  object-fit: cover;
}

.product-img img{
	max-height:265px;
	object-fit: cover;
}



/*------------FluentForms - lomakkeet-------------*/

.ff-default .ff_list_inline .ff-el-form-check:last-child label.ff-el-form-check-label {
	margin-bottom:7px!important;
}

.ff-el-group input{
	transition: .5s ease-in-out;
}

.newsletter .ff-t-container{
    gap:0px!important;
}

.ff-el-group input:hover, .ff-el-group textarea:hover{
    box-shadow: 0 0 0 5px hsla(0,0%,96%,0.5);
}

.ff-el-group input:focus, .ff-el-group textarea:focus{
    box-shadow: 0 0 0 5px hsla(98,49%,51%,0.05);
}

.ff-el-group a{
	color: initial;
}

.frm-fluent-form legend{
	display:none;
}

/* Hide floating elements from map listings page */

.page-id-2150 #ld-bot-flow,
.page-id-2150 #CookiebotWidget {
	display: none !important;
}