/* FONTIT */
html { font-size: 10px; }

body, input {font-family: "Open Sans", sans-serif; font-size: 1.7rem; font-weight: 400; color: #000; line-height: 1.7em;}

a { color: #4A88B4; transition: 250ms; }
a:hover {color: #4A88B4; }
.amp {font-weight: inherit;}
.caps {font-size: 100%; }
ul, ol { margin-bottom: 9px; padding-left: 30px; }
li { padding-bottom: 8px; }
ul li:last-child, ol li:last-child { padding-bottom: 0; }

ol { margin-left: -3px; }

ol li { padding-left: 3px; }

h1, h2, h3, h4, h5, h6 {
	line-height: 1.2em!important; }

/* REM-fontit. Olettaen että html font-size = 10px */
h1 { font-size: 5rem; }
h2 { font-size: 3.6rem; }
h3 { font-size: 2.6rem; }
h4 { font-size: 2.2rem; }
h5 { font-size: 1.8rem; }
h6 { font-size: 1.6rem; }

@media (min-width: 1440px) and (max-width: 1799px) {
	h1 { font-size: 5rem; }
	h2 { font-size: 3.6rem; }
	h3 { font-size: 2.6rem; }
	h4 { font-size: 2.2rem; }
	h5 { font-size: 2rem; }
	h6 { font-size: 1.8rem; }
}

@media (min-width: 1025px) and (max-width: 1440px) {
	h1 { font-size: 5rem; }
	h2 { font-size: 3.6rem; }
	h3 { font-size: 2.6rem; }
	h4 { font-size: 2.2rem; }
	h5 { font-size: 2rem; }
	h6 { font-size: 1.8rem; }
}

@media (min-width: 768px) and (max-width: 1024px) {
	h1 { font-size: 3.6rem; }
	h2 { font-size: 3rem; }
	h3 { font-size: 2.2rem; }
	h4 { font-size: 2rem; }
	h5 { font-size: 1.8rem; }
	h6 { font-size: 1.7rem; }
}

@media (min-width:480px) and (max-width: 767px) {
	h1 { font-size: 3.4rem; }
	h2 { font-size: 2.6rem; }
	h3 { font-size: 2.2rem; }
	h4 { font-size: 1.8rem; }
	h5 { font-size: 1.6rem; }
	h6 { font-size: 1.5rem; }
}

@media (max-width: 479px) {
	body, input { font-size: 1.5rem; }
	
	h1 { font-size: 7vw; }
	h2 { font-size: 6vw; }
	h3 { font-size: 2rem; }
	h4 { font-size: 1.8rem; }
	h5 { font-size: 1.6rem; }
	h6 { font-size: 1.5rem; }
}

/* PAINIKE */
.elementor-button, a.elementor-cta__button {background: #A8477C!important;color: #fff!important;padding: 17px 35px!important;border-radius: 50px!important;border: 0!important;text-transform: uppercase!important;font-size: 1.4rem!important;transition: 250ms; text-transform:uppercase!important; font-weight:700!important; }

.elementor-button:hover, a.elementor-cta__button:hover {background:#1680BE; }


.elementor-cta__button {margin-top: 10px;background: #4A88B4 !important;color: #fff !important;padding: 15px 35px!important;border-radius: 50px!important;border: 2px solid #4A88B4 !important;text-transform: uppercase;font-size: 1.6rem!important;transition: 250ms;}

.elementor-cta__button:hover {background: rgba(9, 132, 227, 0.8);border-color: rgba(9, 132, 227, 0);}

/* Muuttaa painikkeen valkoiseksi - lisää painike widgettiin */
.valkoinen-painike .elementor-button {background: #fff;color: #4A88B4;border-color: #fff;}

.valkoinen-painike .elementor-button:hover, .vari-palsta .elementor-button:hover {
	background: rgba(255, 255, 255, 0.8);
	border-color: rgba(255, 255, 255, 0);
}

/* SOITTOPAINIKE */
@media (min-width: 1025px) {
	#numero {position: fixed;bottom: 5px;right: 5px;background: #4A88B4;border-top-left-radius: 3px;-webkit-border-top-left-radius: 3px;-moz-border-top-left-radius: 3px;z-index: 999;transition: .2s;-webkit-transition: .2s;-moz-transition: .2s;-o-transition: .2s;}

	#numero a {color: #fff;padding: 10px 14px;font-size: 18px;font-weight: bold;display: block;}

	#numero:hover {
		opacity: 0.8; }
	.numero-mobiili {
		display: none; }
}

@media (max-width: 1024px) {	
	#numero {position: fixed;bottom: 0;right: 0;background: #4A88B4;border-top-left-radius: 3px;margin-right: 10px;margin-bottom: 10px;text-shadow: 0em 0.1em 0.1em rgba(0,0,0,0.4);z-index: 9999;}
	
	#numero a {color: #fff;text-transform: uppercase;padding: 10px 14px;font-size: 18px;display: block;}
	
	#numero:hover {
		opacity: 0.8;}
	.numero-desktop {
		display: none; }
}

/* LOMAKKEET */
textarea {resize: vertical;}

input[type="radio"], input[type=checkbox] {display: inline-block;float: left;width: 8%;margin: 3px 5px 0px -5px !important;}

input[type=date], input[type=email], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=message], select, .elementor-field-textual { padding: 12px 14px; }

.elementor-field-label {
   line-height: 1.5;}

/* Recaptcha-badgen poisto */
.grecaptcha-badge {
	display: none;}

.wpcf7-list-item-label {display: inline-block;float: left;width: 92%;}
.wpcf7-list-item-label a {font-weight: bold !important;}

*/
/*Laittaa nimi ja sähköpostikentän vierekkäin lomakkeesta / css grid*/

@media screen and (min-width: 700px) {
	.lomake-grid-container {display:grid;grid-template-columns: auto auto;grid-column-gap: 4%;}
}
.grid-item {padding-bottom: 1em;}


/* CHECKBOX */
.elementor-field-option label { margin-left: 8px; }

input[type=checkbox] {-webkit-appearance: none;margin: 4px 10px 0 0!important;height: 22px;width: 22px;text-align: center;background: #eee !important;vertical-align: middle;position: relative;cursor: pointer;}

input[type=checkbox]:checked { 	
	background: #2EA3F2!important;}

input[type=checkbox]:before {width: 22px;line-height: 22px;content: "";height: 22px;display: inline-block;position: absolute;}

input[type=checkbox]:checked:before {content: "";left: 7px;top: 3px;width: 8px;height: 13px;border: solid white;border-width: 0 4px 4px 0;-webkit-transform: rotate(45deg);-ms-transform: rotate(45deg);transform: rotate(45deg);}

/* RADIO-BUTTON */
input[type="radio"] {margin-top: 2px!important;border-radius: 30px;-webkit-appearance: none;margin: 4px 10px 0 0!important;height: 22px;width: 22px;text-align: center;background: #eee !important;vertical-align: middle;position: relative;cursor: pointer;}

input[type="radio"]:checked {
	background: #2EA3F2 !important;}

input[type="radio"]:checked:before {content: "";background: #fff !important;border-radius: 30px;position: absolute;top: 5px;left: 5px;right: 5px;bottom: 5px;}

input[type="radio"]:hover, input[type=checkbox]:hover {
	background: #ccc !important;
}
input[type="radio"]:checked:hover, input[type="checkbox"]:checked:hover {
	background: #2EA3F2 !important !important; }

.elementor-form .elementor-field-type-acceptance label {display: block !important;margin-left: 35px;line-height: 1.5em;}

.elementor-form .elementor-field-type-acceptance a { text-decoration: underline!important; }

.elementor-form .elementor-field-option {
	margin-bottom: 5px;}

.elementor-form .elementor-field-type-checkbox .elementor-field-label { margin-top: 5px; }


/* ELEMENTOR ASETUKSET */

/* Aiempi breakpoint neljän sarakkeen osioille */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 50%;}
}

@media (max-width: 767px) {
	.elementor-column.elementor-col-25, .elementor-column[data-col="25"] { width: 100%; }
}

/* Läppäreillä reunat ei ota kiinni sisältöön */
@media (min-width: 1025px) and (max-width: 1425px) {
		.site-main .elementor-top-section:not(.poikkeus) > .elementor-container, #main-content, .elementor-location-header .elementor-top-section > .elementor-container { width: 90%;}
}

@media (max-width: 1024px) {
		.site-main .elementor-top-section:not(.poikkeus) > .elementor-container, #main-content, .elementor-location-header .elementor-top-section > .elementor-container { width: 100%;}
}

/* Gallerian kuvanimi pois */
.elementor-slideshow__footer .elementor-slideshow__title { display: none; }

/* Breadcrumbs */
.elementor-widget-breadcrumbs { font-size: 1.6rem; }

.elementor-widget-breadcrumbs a { color: #000; }

.elementor-widget-breadcrumbs a:hover { color: #4A88B4; }

.elementor-widget-breadcrumbs .breadcrumb_last { color: #4A88B4!important; }

/* HEADER */
/* Logon koko */
/*
@media (min-width: 1025px) {
	.elementor-location-header .elementor-widget-theme-site-logo img { max-height: 85px; }
}

@media (max-width: 1024px) {
	.elementor-location-header .elementor-widget-theme-site-logo img { max-height: 60px; }
}
*/

.elementor-location-header .elementor-widget-theme-site-logo img { max-width: unset; }

/* Desktop-navin ala-margin pois */
.header-nav { margin-bottom: 0 !important; }

/* Desktop-navi tyylejä */
@media (min-width: 1025px) {
	.elementor-location-header .elementor-nav-menu--dropdown { padding: 10px 0 !important; }
	.header-cta a { margin-left: 10px; }
}

/* Header - Mobiilimenu breakpoint */
.mobile-nav { display: none; }

@media (min-width: 1101px) {
	.mobile-ani-nav, .mobile-navigation { display: none; }
}

@media (max-width: 1100px) {
	.header-nav { display: none !important; }
	.mobile-navigation {position: absolute; right: 30px; top: 0px; }
	
	.header-section .elementor-container { max-width: 100%!important; }
	.header-section { padding-right: 10px!important; padding-left: 10px!important; }
}

/* Header navin CTA */
.header-cta a {display: inline-block;background: #4A88B4;color: #fff !important;padding: 13px 25px!important;border-radius: 50px!important;border: 2px solid #4A88B4;transition: 250ms;margin-top:36px;margin-left:25px; text-transform:uppercase; font-weight:600; font-size:1.4rem!important;}

.header-cta a:hover {
	background: #000!important;
	border-color: #000 !important;
}

.header-cta a.elementor-item-active {
	background: #4A88B4!important;
}

/* Mobiili headerin padding - .header-section-box = .header-section > sisältölaatikko, jossa logo ja navi */
@media (max-width: 767px) {
	.header-section-box .elementor-column-wrap { padding: 10px !important; }
}
	
/* Fullscreen mobile nav tyylit - .full-mobile-nav on popup-mallin luokka */
.full-mobile-nav .elementor-nav-menu--dropdown { padding-right: 20px!important; padding-left: 20px!important; }

.full-mobile-nav .elementor-widget-nav-menu > .elementor-container > .elementor-nav-menu--dropdown { padding-top: 20px !important; padding-bottom: 20px !important; }

/* Sulku-painike */
.full-mobile-nav .dialog-close-button { display: none !important; }

.full-mobile-nav .header-cta a { margin-top: 12px; }

/* Dropdown-nuolet linkkien viereen - Oletus space-between */
.full-mobile-nav .elementor-nav-menu--dropdown a { justify-content: flex-start; }

/* Mobiili navin dropdown-menut auki valmiiksi */
/*.full-mobile-nav .sub-menu { display: block; }*/

/* Mobiili navi ikoni */
.full-mobile-nav { z-index: 98 !important; }

.header-fixed {width: 100%; z-index: 96; }

.navi-korjaus { position: fixed; z-index: 99; box-shadow: none !important; }

/*
.elementor-sticky--active {  }

.elementor-sticky--active { z-index: auto !important; }

.elementor-location-header { z-index: 99 !important; }
*/
#menu-toggle * {
  transition: .25s ease-in-out;
  box-sizing: border-box; }

#menu-toggle span {
  display: block; background: #566973; border-radius: 2px; }

#menu-toggle {display: inline-block;width: 50px;height: 50px;margin: 0;position: relative;cursor: pointer;border-radius: 5px;z-index: 99;background: #eee;padding-top: 8px;position: fixed;right: 30px;}

#menu-toggle:hover {
  background: #eee; }
#menu-toggle #hamburger {position: absolute;height: 100%;width: 100%;padding: 5px;}

#menu-toggle #hamburger span {width: 35px;height: 4px;position: relative;margin: 5px 2.5px;}

#menu-toggle #hamburger span:nth-child(1) {
  transition-delay: .5s;
	margin-top: 0;
}
#menu-toggle #hamburger span:nth-child(2) {
  transition-delay: .625s;
}
#menu-toggle #hamburger span:nth-child(3) {
  transition-delay: .75s;
	margin-bottom: 0; }
#menu-toggle #cross {position: absolute;height: 100%;width: 100%;transform: rotate(45deg);}

#menu-toggle #cross span:nth-child(1) {height: 0%;width: 4px;position: absolute;top: 0;left: 17px;transition-delay: 0s;}
#menu-toggle #cross span:nth-child(2) {width: 0%;height: 4px;position: absolute;left: 0;top: 17px;transition-delay: .25s;}

#menu-toggle.open #hamburger span {
  width: 0%;
}
#menu-toggle.open #hamburger span:nth-child(1) {
  transition-delay: 0s; }
#menu-toggle.open #hamburger span:nth-child(2) {
  transition-delay: .125s; }
#menu-toggle.open #hamburger span:nth-child(3) {
  transition-delay: .25s; }
#menu-toggle.open #cross span:nth-child(1) {
  height: 80%;
  transition-delay: .625s; }
#menu-toggle.open #cross span:nth-child(2) {
  width: 80%;
  transition-delay: .375s;}

/* Yhteystiedot */
@media (max-width:1024px) {
.yhteystiedot-lista ul {
    margin: auto !important;
    display: table; }
}

/* FOOTER */
/* Oletuksena .vari-palsta luokka lisää underlinen linkkeihin - tämä poistaa sen footterissa */
.footer a { text-decoration: none!important; }

.footer-logo img { max-height: 80px; }

@media (max-width:767px) {
.yhteystiedot-lista-footer ul {
    margin: auto !important;
    display: table; }
}

/* MUUT */
/* Vari-palsta : Osio jossa on taustaväri ja valkoista tekstiä */
.vari-palsta { color: #fff; background-size: cover; background-repeat: no-repeat; background-position: center!important; }

.vari-palsta .elementor-button { background: #fff; border-color: #fff; color: #4A88B4; text-decoration: initial!important; }

.vari-palsta a { color: #fff; text-decoration: underline; }

/* Useampi painike vierekkäin - Lisää luokka sisältölaatikkoon, jossa on painikkeet */
@media (min-width: 768px) {
	.painikkeet .elementor-widget-wrap { flex-direction: row; justify-content: center; }
	.painikkeet .elementor-widget-button { display: inline-block; width: auto; margin-bottom: 0; margin-right: 15px; }
	.painikkeet .elementor-widget-wrap .elementor-widget-button:last-child { margin-right: 0; }
}

/* Lisää tämä jos haluat keskittää yllä mainitut painikkeet mobiilissa */
@media (max-width: 767px) {
		.painikkeet .elementor-widget-button .elementor-button-wrapper { display: flex; justify-content: center; }
}

@media (max-width:767px) {
.elementor-cta__content {
	padding: 0;
	margin-bottom: 15px;
	}
}


.elementor-field-group .elementor-field-textual { border-radius:0!important; padding:15px 20px!important; border:0!important; box-shadow:0 3px 10px rgba(0,0,0,.1);}

/*SIVUSTON CSS*/

#numero { display:none; }

li.pll-parent-menu-item a { color:#bdbdbd !important; font-size:15px!important;}

h1, h2, h3, h4, h5, h6 { font-weight:700;}
.elementor-cta__title { font-size:3rem!important;}
body, p, elementor-post__excerpt p { font-weight:400; font-size:16px; line-height:1.4em!important; color:#666; }

.blue a.elementor-cta__button { background:#fff!important; border:0!important; color:#1680BE!important;}
.purple a.elementor-cta__button { background:#fff!important; border:0!important; color:#A8477C!important;}
.darkblue a.elementor-cta__button { background:#fff!important; border:0!important; color:#02064A!important;}

.blue, .purple, .darkblue { margin-bottom:0!important;}


.elementor-posts--thumbnail-top .elementor-post__text { padding:5% 10% 10%!important;}

.elementor-posts--thumbnail-top .elementor-post:hover { box-shadow:0 5px 25px rgba(0,0,0,.07);}
.elementor-posts--thumbnail-top .elementor-post:hover .elementor-post__read-more { color:#4A88B4!important; }

.partners img { filter: grayscale(100%); transition:500ms;}
.partners img:hover { filter: grayscale(0%); transition:500ms; }
.partners { background:#F6F8F9!important; }

.elementor-element-1447308 p { color:#fff!important; }

/*
.fi:lang(fi) { display: inherit !important;}*/
.fi:lang(en) { display: none!important;}

.en:lang(fi) { display:none!important;}
.en:lang(en) { display: inherit!important;}

.elementor-editor-active .en, .elementor-editor-active .fi { display:inherit!important;}

.elementor-text-editor ul { padding-left:20px;list-style-type:none;}
.elementor-text-editor ul li:before { content:""; background:#999; width:8px; height:2px; position:absolute; left:0; margin-top:13px; }


.blog-img .elementor-column-wrap { background-size:cover!important; }



@media (max-width: 1100px) {
	.elementor-element-b5c9f97 .elementor-image img { width: 200px !important; }
	.elementor-element-6c5d10f {   padding: 0 !important; }
	.header-section-box .elementor-column-wrap {     padding: 0 !important; }
	
	#menu-toggle, #menu-toggle:hover { background:#fff;}
	#menu-toggle span {background:#02064A;}
	#menu-toggle { margin-top:5px; right:15px; border-radius:50px}
	
		h1 { font-size:2.7rem!important;}
	h2, .elementor-cta__title { font-size:2rem!important;}
	h3 { font-size:1.7rem!important;}
	a.elementor-button { padding:18px 25px!important }
	.elementor-element-18cd2d0 > .elementor-element-populated {     padding: 10% 5% !important; }
	
.elementor-post__title a {
		font-size: 1.5rem!important; }
	
	.elementor-posts--thumbnail-top .elementor-post__text {     padding: 7% 5% !important; }
	
	#twitter-widget-0, .elementor-facebook-widget.fb-page.fb_iframe_widget iframe { height:300px!important;}
	
	.yhteis .elementor-inner-column { width:50%!important;}
	.elementor-element-a41ce9b .elementor-widget-container {     text-align: center!important; }
	
	.elementor-372 .elementor-element.elementor-element-0a52b8b .elementor-nav-menu__container.elementor-nav-menu--dropdown { top:-10px!important;}
	.elementor-element-0a52b8b .elementor-nav-menu--dropdown a { border-bottom:1px solid rgba(0,0,0,.1); padding:15px; font-weight:600; color:#02064A!important; font-size:16px!important; }
	
li.pll-parent-menu-item a { border-bottom:0!important;}
	
	.oikea .elementor-column-wrap { padding:100px!important;}
	.vasen .elementor-element-populated { padding:10% 5%!important;}
	
	.elementor-posts--thumbnail-top .elementor-post__thumbnail__link {     margin-bottom: 0!important; }
	
	.hero { padding:15% 5%!important;}
}


@media (min-width: 768px) and (max-width: 1100px) {
	.header-section { padding:10px!important;}
	.hero { padding: 7% 3% !important; }
	
	.elementor-grid-tablet-2 .elementor-grid {
    grid-template-columns: repeat(1,1fr)!important; }
		.elementor-grid-3 .elementor-grid {
    grid-template-columns: repeat(2,1fr)!important; }
	.yhteis .elementor-inner-column { width: 18% !important; }
	
	.elementor-element-1e2fcf9 {     width: 100% !important; }
	.elementor-element-351f748 {     width: 50% !important; }
	
	.otsikko { font-size:2.7rem!important;}
	.osio .elementor-element-populated { padding: 0 3% !important; }
	.osio .elementor-top-column {     width: 100% !important; }
}

@media (min-width: 768px) and (max-width: 1100px) {
	.elementor-grid-4 .elementor-grid { grid-template-columns: repeat(3,1fr)!important; }
}

@media (min-width: 1101px) and (max-width: 1500px) {
.site-main .elementor-top-section:not(.poikkeus) > .elementor-container, #main-content, .elementor-location-header .elementor-top-section > .elementor-container {     width: 100% !important; }
	.otsikko { font-size:2.7rem!important;}
	.elementor-element-6c5d10f {     padding: 0.5% !important; }
	
	.vasen .elementor-element-populated { padding:12%!important;}
	.elementor-post__title a {     font-size: 1.6rem!important;}
	
	.elementor-nav-menu--main .elementor-item { padding-left:15px!important; padding-right:15px!important; font-size:16px!important;}
	
	h1 { font-size:3.5rem!important;}
}


@media (max-width: 1100px) {
	.elementor-1767 .elementor-element.elementor-element-14ca9cd > .elementor-widget-container, .elementor-1767 .elementor-element.elementor-element-979c812 > .elementor-widget-container, .elementor-1767 .elementor-element.elementor-element-d784cc9 > .elementor-widget-container, .elementor-1613 .elementor-element.elementor-element-8bf350b > .elementor-widget-container, .elementor-1613 .elementor-element.elementor-element-a08e131 > .elementor-widget-container, .elementor-1613 .elementor-element.elementor-element-521aa22 > .elementor-widget-container { margin:0!important; }
	.elementor-1767 .elementor-element.elementor-element-bd6bf7c > .elementor-element-populated, .elementor-1613 .elementor-element.elementor-element-fb56512 > .elementor-element-populated {     padding: 0 7% !important; }
	.io { color:#020749; font-size:17px!important;}
	#top .elementor-element-populated { border:0!important;}
	#top h2 { font-size:3rem!important;}
}