/* 
Theme Name: GOsome 
Theme URI: https://gosome.fi
Description: GOsomen lapsiteema Elementorin Hello teemalle.
Author: GOsome
Author URI: https://gosome.fi
Template: hello-elementor
Version: 3.1.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

:root {
  --left-container-space: 233px;
  --header-height: 0px;
}

/*Vuotopäivystys*/
.vuotopaivystys-btn{
  position:fixed;
  left:0px;
  top:60%;
  transform: rotate(90deg) translate(0px, 90px);
  z-index:99;
}

.vuotopaivystys-btn a{
  background: var(--e-global-color-primary);
  border-radius:4px 4px 0px 0px;
  padding:8px 16px;
  color:white;
  font-size:15px;
  display: flex;
  align-items: center;
  gap:8px;
}


@media all and (max-width: 767px) {
  .vuotopaivystys-btn a{
  padding:10px 16px;
  font-size:14px;
}
}

.vuotopaivystys-btn a img{
  width:25px;
  height:25px;
}

/* Template defaults */

@media all and (min-width: 1921px) {
  body {
    max-width: 2440px;
    margin: 0 auto;
  }
}

body {
  word-break: break-word;
}

a {
  color: inherit;
}

.gs-no-margin-last-p p:last-child {
  margin-bottom: 0;
}

a.elementor-button, .gs-header .menu-item a {
	text-decoration: initial;
}

/* Tietosuojaseloste */

#gs-tietosuojaseloste h4 {
  margin-top: 40px;
}

/* Header */

.gs-header{
  transform: all 0.3;
}

.gs-header.elementor-sticky--effects .gs-header-logo img{
    /*filter:invert(1) brightness(20%) !important;*/
    transition: all 0.3s;
    width:190px;
}

.gs-header .gs-header-logo img{
    filter:invert(0)!important;
    filter: grayscale(0%)!important;
    transition: all 0.3s;
}
.gs-header.elementor-sticky--effects{
  background:rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.gs-header.elementor-sticky--effects > .e-con-inner{
  padding-top:14px;
  transition: all 0.3s;
}
.gs-header.elementor-sticky--effects .header-inner-container{
  padding-bottom:14px;
  transition: all 0.3s;
}

.gs-header .sub-menu {
  border-radius:8px;
}

@media all and (max-width: 500px) {
  .gs-header-quote-btn {
    display:none;
    position: fixed;
    bottom: 20px;
    right: 10px;
  }
}

*.gs-transparent-header .gs-header{
  margin-bottom: calc(-1 * var(--header-height));
}

.gs-transparent-header .gs-header:not(.elementor-sticky--effects) .gs-header-logo img{
  filter: invert(1) grayscale(100%) brightness(300%)!important;
}


@media all and (min-width: 1024px) {
  .gs-transparent-header .gs-header:not(.elementor-sticky--effects) .elementor-nav-menu > li > a{
    color:white!important;
  }
}


/* Etusivu */

.gs-campaign::before {
  backdrop-filter: blur(3.5px);
}

@media all and (min-width: 768px) {
  .gs-right-separator::after {
  content: "";
  width: 1px;
  height: 100px;
  position: absolute;
  right: 0;
  top: 20%;
  left: 93%;
  background: rgba(255, 255, 255, 0.3);
}

	.gs-right-separator .elementor-heading-title {
		max-width: 90%;
	}
}



.gs-phone-icon-field .ff-el-phone {
  padding-left: 50px !important;
}

.gs-phone-field-icon {
  position: absolute;
  top: 15px;
  left: 15px;
}

.gs-fixed-images-col .elementor-widget-image {
  transition: opacity 0.5s ease 0s;
  opacity: 1;
}

.gs-overflow-hidden-iframe,
.gs-overflow-hidden-iframe > .elementor-widget-container {
  overflow: hidden;
}

@media all and (max-width: 768px) {
  .gs-fixed-images-col {
    position: relative !important;
    width: 100% !important;
    inset-inline-start: 0 !important;
  }
}

/* .gs-asiakastarina-slider-item {
  box-shadow: 0px 8px 25.9px 0px rgba(0, 0, 0, 0.25);
} */

.gs-asiakastarinat-inner-container {
  position: absolute;
  max-width: calc(100% - var(--left-container-space));
}

@media all and (max-width: 768px) {
  .gs-asiakastarinat-inner-container {
    position: relative;
    max-width: 100%;
  }
}

.gs-post-info-circular .elementor-icon-list-item {
  background: var(--e-global-color-6486af9);
  padding: 8px 14px !important;
  border-radius: 20px;
}

.gs-post-info-circular .elementor-icon-list-item time {
  font-style: italic;
}

.gs-margin-top-auto{
  margin-top:auot;
}

/* Palveluosio */

.service-section .service-section-item{
  padding: 40px 20px 20px 20px;
  background: var(--e-global-color-a43e968);
  border-radius:10px;
  width: 30%;
  flex-grow:1;
  min-height:120px;
  position:relative;
  border: 2px solid var(--e-global-color-a43e968);
}

.service-section .service-section-item.width-50{
  width: 45%;
}

.service-section .service-section-item:hover{
  border: 2px solid #ffd7d7;
}
.service-section .service-section-item.light-item:hover{
  border: 2px solid #ffd7d7;
}

.service-section-item a:after {
  content: "";
  display: block !important;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

.service-section .service-section-item:after{
  content:"";
  position: absolute;
  width: 20px;
  height: 20px;
  right: 20px;
  bottom: 20px;
  background: url(/wp-content/uploads/2024/03/arrow-right-red-custom.svg);
}

.service-section .service-section-item.light-item{
  background: white;
  border: 2px solid var(--e-global-color-a43e968);
  padding: 40px 20px 20px 60px;
}

.service-section .elementor-image-box-title{
  text-align:left;
  font-size: 24px;
  font-weight:600;
  text-decoration:underline;
}

.service-section .elementor-image-box-img{
  text-align:left;
  width:48px!important;
  padding-bottom:8px;
}

@media all and (min-width: 768px) and (max-width: 1024px) {
  .service-section .service-section-item{
    width: 45%;
  }
  .service-section .elementor-image-box-title{
    font-size: 21px;
  }
  .service-section .service-section-item.light-item{
    padding: 40px 20px 20px 20px;
  }
}

@media all and (max-width: 767px) {
   .service-section .elementor-image-box-wrapper{
	  display:flex;
	   gap:20px;
	   align-items:center;
   }	
	
  .service-section .service-section-item{
    width: 100%;
  }
  .service-section .elementor-image-box-title{
    font-size: 18px;
  }
  .service-section .elementor-image-box-img{
    padding-bottom:0px;
	width:32px!important;
  }
  .service-section .service-section-item.width-50{
  width: 100%;
  }
}

.service-section .service-link-arrow{
  text-align:right;
}


/*Process*/

.gs-process-item {
  padding: 32px;
  background: white;
  border-radius:20px;
  width: 45%;
  flex-grow:1;
  min-height:120px;
  position:relative;
}


@media all and (min-width: 768px) and (max-width: 1024px) {
  .gs-process-item{
    width: 45%;
    padding: 24px;
  }
  .gs-process-item .elementor-image-box-title{
    font-size: 21px;
  }
}

@media all and (max-width: 767px) {
  .gs-process-item{
    width: 100%;
    padding: 20px;
  }

  .gs-process-item .elementor-image-box-img{
    padding-bottom:8px;
  }
}

/* footer */

.fluentform
  .ff-el-group.ff_list_buttons.gs-form-checkbox-btns
  .ff-el-form-check
  span {
  border: 1px solid var(--e-global-color-primary);
  border-radius: 30px !important;
  color: var(--e-global-color-primary);
  font-weight: 400;
  font-size: 13px;
  border-left: 1px solid var(--e-global-color-primary) !important;
}

.gs-form-checkbox-btns > .ff-el-input--content {
  gap: 8px;
  display: flex;
  flex-wrap: wrap;
}

.fluentform
  .ff-el-group.ff_list_buttons.gs-form-checkbox-btns
  .ff-el-form-check.ff_item_selected
  span {
  background: var(--e-global-color-primary);
  color: #fff;
  border: 1px solid var(--e-global-color-primary);
}

.fluentform
  .ff-el-group.ff_list_buttons.gs-form-checkbox-btns
  .ff-el-form-check:hover
  span {
  color: #fff;
  background: var(--e-global-color-primary);
  transition: 0.3s ease-in-out;
}

.ff-custom_html label {
  color: var(--e-global-color-secondary);
  font-size: 14px;
  font-weight: 700;
}

.fluentform .ff-el-group.ff-custom_html {
  margin-bottom: 0;
}

.fluentform-widget-custom-radio-checkbox input[type="checkbox"]:after {
  border-left-color: #f3f3f3ed !important;
  border-right-color: #f3f3f3ed !important;
  border-top-color: #f3f3f3ed !important;
}

/* Palvelupohja */

.gs-social-proof-container > .e-con-inner {
  width: auto;
  margin-left: 0;
  padding: 15px 20px;
  border: 1px solid #ffffff70;
  border-radius: 50px;
}

.gs-social-proof-container .elementor-icon {
  background: #fff;
  border-radius: 50px;
}

.gs-breadcrumbs a {
  text-decoration: underline;
}

.gs-breadcrumbs a:hover {
  color: inherit;
}

.gs-sticky-sub-navigation-bar .elementor-icon-list-items {
  display: flex;
  gap: 100px;
}
.gs-sticky-sub-navigation-bar.elementor-sticky--active {
  top: var(--header-height)!important;
}

@media all and (max-width: 900px) {
  .gs-sticky-sub-navigation-bar{
    display:none!important;
  }
  
}

.gs-custom-radial-gradient-overlay::before {
  background: radial-gradient(
    107.39% 107.39% at 48.73% 11.78%,
    rgba(225, 68, 68, 0) 0%,
    rgba(225, 68, 68, 0.42) 69.64%,
    #e14444 100%,
    #e14444 100%
  );
}

.gs-form-label-white label {
  color: #fff;
}

.gs-slider-item-idx-squared {
  height: 78px;
  min-width: 78px !important;
}

.gs-slider-item-idx-squared > .elementor-widget-container {
  align-items: center;
  display: flex;
  justify-content: center;
}

/* .gs-slider-item-idx-squared h2 {
  counter-reset: gs-slider-item;
} */

/* .gs-slider-item-idx-squared h2::after {
  counter-increment: gs-slider-item;
  content: counter(gs-slider-item, decimal-leading-zero);
} */

.gs-custom-slider-nav .elementor-swiper-button-prev,
.gs-custom-slider-nav .elementor-swiper-button-next {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gs-custom-slider-nav .elementor-swiper-button-prev svg,
.gs-custom-slider-nav .elementor-swiper-button-next svg {
  border-radius: 54px;
  border: 3px solid rgba(255, 255, 255, 0.06);
  padding: 10px;
  width: 54px !important;
  height: 54px !important;
}

.gs-fadeout-slider .swiper {
  mask-image: linear-gradient(
    to right,
    #000,
    #000 calc(100% - 5em),
    transparent
  );
}

.gs-toggle .elementor-tab-title {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}

.home #kuntokartoitus-footer-form {
  margin-top: -40px;
}

/* Single Post */

.single-post .elementor-widget-theme-post-content p,
.single-post .elementor-widget-theme-post-content .wp-block-quote,
.single-post .elementor-widget-theme-post-content .wp-block-image,
.single-post .elementor-widget-theme-post-content ul,
.single-post .elementor-widget-theme-post-content .iframe-container,
.single-referenssit .elementor-widget-theme-post-content p,
.single-referenssit .elementor-widget-theme-post-content .wp-block-quote,
.single-referenssit .elementor-widget-theme-post-content .wp-block-image,
.single-referenssit .elementor-widget-theme-post-content ul,
.single-referenssit .elementor-widget-theme-post-content .iframe-container,
.single-rekry .elementor-widget-theme-post-content p,
.single-rekry .elementor-widget-theme-post-content .wp-block-quote,
.single-rekry .elementor-widget-theme-post-content .wp-block-image,
.single-rekry .elementor-widget-theme-post-content ul,
.single-rekry .elementor-widget-theme-post-content .iframe-container{
    margin-bottom: 50px;
}

.single-post .elementor-widget-theme-post-content p:last-child,
.single-referenssit .elementor-widget-theme-post-content p:last-child{
	margin-bottom: 0;
}

.single-post .elementor-widget-theme-post-content h2,
.single-referenssit .elementor-widget-theme-post-content h2,
.single-rekry .elementor-widget-theme-post-content h2{
	font-size: 33px;
}

.single-post .elementor-widget-theme-post-content .wp-block-heading,
.single-referenssit .elementor-widget-theme-post-content .wp-block-heading,
.single-rekry .elementor-widget-theme-post-content .wp-block-heading {
	margin-bottom: 35px;
}

.single-post .elementor-widget-theme-post-content .wp-element-button,
.single-referenssit .elementor-widget-theme-post-content .wp-element-button,
.single-rekry .elementor-widget-theme-post-content .wp-element-button{
	background: var(--e-global-color-primary);
}

.single-post .elementor-widget-theme-post-content .wp-element-button:hover,
.single-referenssit .elementor-widget-theme-post-content .wp-element-button:hover,
.single-rekry .elementor-widget-theme-post-content .wp-element-button:hover {
	color: #fff;
	background: #E21E26C4;
	transition: .3s ease-in-out;
}

.single-post .elementor-widget-theme-post-content .wp-block-column.has-background,
.single-referenssit .elementor-widget-theme-post-content .wp-block-column.has-background,
.single-rekry .elementor-widget-theme-post-content .wp-block-column.has-background
{
    padding: 40px;
    border-radius: 4px;
}

@media all and (max-width: 768px) {
	.single-post .elementor-widget-theme-post-content .wp-element-button,
	.single-referenssit .elementor-widget-theme-post-content .wp-element-button,
  .single-rekry .elementor-widget-theme-post-content .wp-element-button{
		font-size: 1em;
	}
}

/* Yhteystiedot */

.gs-menu-no-dropdown .sub-menu,
.gs-yhteystiedot-active-filter .jet-active-filter__remove {
	display: none !important;
}

.gs-contacts-section-heading .elementor-widget-container::before {
    position: absolute;
    width: 100%;
    content: '';
    height: 1px;
    top: 50%;
    display: block;
    background: rgba(0, 0, 0, 0.18);
    z-index: 1;
}

.gs-contacts-section-heading .elementor-heading-title {
	background: var( --e-global-color-6486af9 );
	z-index: 1;
	padding: 0 45px;
	position: relative;
    display: inline-block;
}

.gs-yhteystieto-img-col > .elementor-widget-image {
	height: 100%;
}

.gs-contacts-shortcuts-container.elementor-sticky--active {
  top: var(--header-height)!important;
}

@media all and (max-width: 1024px) {
	.gs-yhteystieto-img-col {
		background-image: none !important;
	}
}

@media all and (max-width: 768px) {
	.gs-contacts-section-heading .elementor-heading-title {
		padding: 0 20px !important;
	}
	
	.gs-yhteystiedot-shortcut {
		width: auto;
		min-width: auto !important;
		max-width: 100% !important;
		white-space: nowrap;
		padding-right: 5px;
		padding-left: 5px;
	}

	
	.gs-yhteystiedot-shortcut:first-child {
		padding-left: 0;
	}
	
	.gs-yhteystiedot-shortcut:last-child {
		padding-right: 20px;
	}
}

/* gs-reveal - scroll trigger styles*/

  .elementor-editor-active .gs-reveal {
	visibility: initial;
  }
	
  .gs-reveal img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transform-origin: left;
  }

  .gs-reveal {
    visibility: hidden;
    position: relative;
    overflow: hidden;
  }