@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

/*fontit*/

h1, h2, h3, h4, h5, .btn {
	font-family: "Montserrat", sans-serif;
}

h1, h2 {
	font-size: 4rem;
}

h1, h2 {
	font-weight: 700;
}

h3 {
	font-weight: 600;
}

h4, h5 {
	font-weight: 500;
}

nav a, .mobile-menu::after, .desktop-main-menu li.hasSubItems > span.noNavLink, span.noNavLink {
	font-weight: 600;
	text-transform: uppercase;
	font-family: var(--fontnav);
	color: var(--color4);
}

.btn:not(.mobile-menu__bars) {
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 6px;
}

/*navi*/

.site-header__top {
    padding: 0.5rem 8.33%;
	background-color: var(--color4);
}

.site-header__top .container {
	padding: 0;
}

.site-header__top .btn {
	color: var(--color5)!important;
	padding-right: 0!important;
	font-size: 1rem!important;
}

.site-header__bottom {
    background: var(--color1);
    padding: 1.5rem 8.33%;
}

.desktop-main-menu li.level1 > a {
	color: var(--color4);
}

.desktop-main-menu li.hasSubItems svg {
	color: var(--color4);
}

.desktop-main-menu li.level1.last > a {
	padding-right: 0;
}

.desktop-main-menu .sub-menu a:hover {
    color: var(--color4);
}

.mobile-menu__bars {
    padding-right: 0;
    color: var(--color4);
}

.desktop-main-menu li.current > a {
  font-weight: bold;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 7px;
}

/*section*/

.content-section {
	padding: 10rem 8.33%;
}

section .container {
	max-width: none;
}

/*id alueet*/

#main-content {
	color: var(--color5);
}

#main-content a:not(.btn) {
	color: var(--color5);
}

#main-content a:not(.btn):hover {
	color: var(--color1);
}

#main-content h1,
#main-content h2 {
	color: var(--color1);
}

#main-content h3,
#main-content h4,
#main-content h5 {
	color: var(--color3);
}

#main-after {
	background: var(--color5);
}

#main-after h2,
#main-after h3,
#main-after h4,
#main-after h5 {
	color: var(--color4);
}

#content-bottom {
	background: var(--color4);
	color: var(--color5);
}

#content-bottom a:not(.btn) {
	color: var(--color5);
}

#content-bottom a:not(.btn):hover {
	color: var(--color1);
}

#content-bottom h1,
#content-bottom h2 {
	color: var(--color1);
}

#content-bottom h3,
#content-bottom h4,
#content-bottom h5 {
	color: var(--color3);
}


/*showcase*/

#showcase:has(.hero-slider__item) h2 {
    font-size: 4rem;
}

.container.hero-slider__container {
	max-width: none!important;
}

.hero-slider__item.height-60 .hero-slider__text-content {
    padding: 0rem 8.33% 0rem 0rem;
	text-align: right;
}

.hero-slider__item .hero-slider__text-content {
    padding: 24rem 8.33% 10rem 0;
    text-align: right;
    margin-left: 25%;
}

.hero-slider__item .hero-slider__text-content p:has(.btn) {
	margin-bottom: 0;
}

#showcase .slick-arrow {
	display: none!important;
}

#showcase .slick-dots {
	bottom: 4.25rem;
	text-align: right;
	padding: 0 8.33%;
}

#showcase .slick-dots li button {
	border-radius: 0;
	height: 1.5rem;
	width: 1.5rem;
}

#showcase .slick-dots li button {
    border: 1px solid var(--color4);
    background-color: var(--color1);
}

#showcase .slick-dots li.slick-active button {
    background-color: var(--color1);
}

#showcase h3 {
	color: var(--color4);
}

body:not(.sivu1) #showcase .hero-slider__text-content {
	max-width: none;
	padding: 12rem 8.33% 5rem 0;
}

/*boksit*/

.container:has(.boxlist) {
	padding: 0;
}

.boxlist_big_header {
	text-align: center;
	margin-bottom: 5rem;
}

.boxlist {
    max-width: none !important;
    margin: 0 -15px !important;
	gap: 30px 0;
}

.image-box .boxlist-item {
	margin: 0;
	height: 100%;
	padding-bottom: 100%;
}

.image-box .boxlist__col {
    padding: 0 15px !important;
}

.image-box .boxlist-item:hover {
    transition: none;
}

.image-box .boxlist-item:hover .boxlist-item__img-holder::before {
    opacity: 0.4;
}

.image-box .boxlist-item:hover img {
    mix-blend-mode: normal;
    top: 0%;
    width: 100%;
    height: 100%;
    transition: none;
    opacity: 0.8;
}

.boxlist .boxlist__col.image-box:nth-child(1),
.boxlist .boxlist__col.image-box:nth-child(6) {
	flex: 0 0 50%!important;
	max-width: 50%!important;
}

.boxlist .boxlist__col.image-box {
	flex: 0 0 25%;
	max-width: 25%;
	margin-bottom: 0;
}

.boxlist .boxlist__col.image-box:nth-child(1) .boxlist-item,
.boxlist .boxlist__col.image-box:nth-child(6) .boxlist-item {
	padding-bottom: 50%;
}

.image-box .boxlist-item__text-holder {
	display: block!important;
}

.image-box .boxlist-item__img-holder {
	padding-bottom: 0;
}

.image-box .boxlist-item__img-holder img {
  filter: blur(8px);
  transition: filter 1s ease;
  will-change: filter;
}

.image-box .boxlist-item__img-holder img.visible {
  filter: blur(0);
}

/*perusalueet*/

.contentlist__title-div {
	padding: 0 0 5rem;
}

.contentlist__title-div h1, .contentlist__title-div h2 {
	margin-bottom: 0;
}

.contentlist .contentlist__item_img-left .contentlist__item-content {
    padding: 0 0 0 10%!important;
	align-self: center;
}

.contentlist .contentlist__item_img-right .contentlist__item-content {
    padding: 0 10% 0 0!important;
	align-self: center;
}

.contentlist .contentlist__item-content:not(.no-title) h2 {
	font-size: 3rem;
}

/*ikoni boksit*/

.boxlist__col.icon-box {
	flex: 0 0 20%!important;
	max-width: 20%!important;
	margin-bottom: 0;
}

.boxlist__col.icon-box .boxlist-item .boxlist-item__img-holder svg {
	color: var(--color4);
}

.boxlist__col.icon-box .boxlist-item__text-holder {
	text-align: center;
	padding: 1.5rem 0 0;
}

.boxlist__col.icon-box .boxlist-item__text-holder h2 {
	margin-bottom: 0;
}

.boxlist__col.icon-box {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s ease-out;
}

.boxlist__col.icon-box.visible {
  opacity: 1;
  transform: translateY(0);
}

/*content-slider*/

.content-slider5 .content-slider__container {
	max-width: none!important;
}

.content-slider__item .content-slider__text-content {
    padding: 12rem 8.33% 12rem 0;
}

.content-slider__text-content p:has(.btn) {
	margin-bottom: 0;
}

.content-slider__overlay {
	background: rgba(0,0,0,0.5);
}

/*footer*/

.site-footer {
	padding: 5rem 8.33%;
	background-color: var(--color5);
}

  

.site-footer .container {
	max-width: none;
	padding: 0;
}

.site-footer__logo {
    margin-bottom: 3rem;
    text-align: center;
}

.site-footer__logo img {
    max-height: 100px;
    max-width: 260px;
	width: 100%;
}

.site-footer h4 {
	color: var(--color4);
}

.site-footer .some {
	text-align: right;
}

.desktop-top-menu li a:hover, .desktop-top-menu li a:focus {
    text-decoration: underline;
    color: var(--color4);
}

/*ota yhteyttä*/

.contact-kehys .content-section {
	padding: 0;
}

.contact-kehys .contact-container {
	padding: 0;
}

.faq {
	padding: 0;
}

.faq .editor-content__item {
    margin-bottom: 0.5rem !important;
    margin-top: 0.5rem !important;
    background-color: transparent;
    padding: 1.5rem 0 !important;
}

.faq h2 {
    color: var(--color1) !important;
    transition: margin-bottom 0.3s ease;
    margin-right: 50px !important;
}

.faq h2::before {
    color: var(--color1);
    right: -50px;
}

.faq h2.faqOpen {
	margin-bottom: 1.5rem!important;
}

.company-info {
    margin-bottom: 0rem;
}

body[class*="contact__col-"]:not(.image-card-full-width) .contact-card {
    padding-right: 0px !important;
    padding-left: 0px !important;
}

.contact-list-card {
	margin: 0;
	height: 100%;
}

.contact-list-card .contact-list-content {
    width: 100%;
    flex: 0 0 100%;
    padding: 0.5rem 0;
}

/*REFFUT*/

.reffu-section .newslist {
	margin-left: -30px;
	margin-right: -30px;
}

.reffu-section .newslist-item__img-holder {
	padding-bottom: 100%;
}

.reffu-section .newslist-item h2 {
	margin-bottom: 0.5rem;
}

.reffu-section .newslist-item {
	position: relative;
}

.reffu-section .newslist-item__text-holder {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	width: calc(100% - 2rem);
	background: var(--color4);
}

.reffu-section .newslist-item__text-holder.nothover p {
	margin-bottom: 0;
}

.reffu-section .newslist-item .newslist-item__text-holder.onhover {
	display: none;
}

.reffu-section .newslist-item:hover .newslist-item__text-holder.onhover {
	display: flex;
	background: transparent;
	transition: background 0.5s ease;
}

.reffu-section .newslist-item: .newslist-item__text-holder.nothover {
	display: flex;
}

.reffu-section .newslist-item:hover .newslist-item__text-holder.nothover {
	display: none;
}

.reffu-section .newslist-item:hover .newslist-item__img-holder img {
	filter: blur(8px);
    opacity: 0.9;
	transition: filter 0.8s ease, opacity 0.8s ease;
}

.reffu-section .newslist-item:hover .newslist-item__text-holder.onhover p {
	margin-bottom: 1rem;
	color: var(--color4);
}

#main-after .reffu-section .newslist-item:hover .newslist-item__text-holder.onhover h2 {
	color: var(--color4);
}

#main-after .reffu-section .newslist-item__text-holder.nothover h2 {
	color: var(--color5);
}


/*YKSI REFFU*/

.newspost1 .newspost-container {
    max-width: none;
}

.newspost1 .newspost__item {
	margin-left: -15px;
	margin-right: -15px;
	flex-flow: row wrap;
    display: flex;
}

.newspost1 .newspost__item-img-holder {
    height: auto;
    width: auto;
    padding-bottom: 56%;
    position: relative;
}

.newspost1 .newspost__item-img-holder img {
    padding-bottom: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    -o-object-position: center center;
    object-position: center center;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover";
	max-height: none;
}

.gallery {
	display: flex!important;
	flex-flow: row wrap;
	gap: 10px 0;
}

.gallery a {
	flex: 0 0 25%;
	max-width: 25%;
	padding: 0 5px;
}

/*mediat*/

@media (min-width: 1500px) {
	html {font-size: 105%;}
}

@media (min-width: 1800px) {
	html {font-size: 110%;}
}

@media (min-width: 2200px) {
	html {font-size: 120%;}
}

@media (max-width: 1399.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 3.5rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 2.5rem;
	}
	/*showcase*/
	.hero-slider__item .hero-slider__text-content {
		padding: 24rem 8.33% 10rem 0;
	}
	#showcase .slick-dots {
		padding: 0 8.33%;
	}
}

@media (max-width: 1199.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 3rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 2.25rem;
	}
	.image-box .boxlist-item h2,
	.box1 .boxlist-item h2 {
		font-size: 1.25rem;
	}
	/*section paddings*/
	.content-section {
  		padding: 8rem 8.33%;
	}
	.boxlist_big_header {
		margin-bottom: 4rem;
	}
	.contentlist__title-div {
  		padding:0 0 4rem;
	}
	.site-footer {
		padding-top: 4rem;
		padding-bottom: 4rem;
	}
	/*showcase*/
	.hero-slider__item .hero-slider__text-content {
		padding: 12rem 8.33% 5rem 0;
	}
	#showcase .slick-dots {
		padding: 0 8.33%;
  		bottom: 2rem;
	}
	#showcase .slick-dots li button {
  		height: 1rem;
  		width: 1rem;
	}
	/*content-slider*/
	.content-slider__item .content-slider__text-content {
  		padding: 12rem 8.33%;
	}
	/*reffut*/
	.news1 .newslist__col {
    	flex: 0 0 50%;
    	max-width: 50%;
	}
}

@media (max-width: 991.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 2.5rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 2.5rem;
	}
	.image-box .boxlist-item h2,
	.box1 .boxlist-item h2,
	h4,
	.news1 .newslist-item h2 {
		font-size: 1.25rem;
	}
	/*navi*/
	 #mobile-buttons {
    	top: 23px;
    	left: auto;
    	right: calc(8.33% + 58px);
	}
	.site-footer__logo img {
  		max-height: 100px;
  		max-width: 204px;
  	}
	/*section paddings*/
	.content-section {
  		padding: 6rem 8.33%;
	}
	.boxlist_big_header {
		margin-bottom: 3rem;
	}
	.contentlist__title-div {
  		padding:0 0 3rem;
		position: relative;
	}
	.site-footer {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	/*perusalue*/
	.contentlist:has(.contentlist__title-div) .contentlist__item.md {
		flex-flow: row wrap!important;
	}
	.contentlist .contentlist__item_img-left .contentlist__item-content,
	.contentlist .contentlist__item_img-right .contentlist__item-content{
  		padding: 0 0 3rem !important;
	}
	.contentlist:has(.contentlist__title-div) .contentlist__item-col_img {
		order: 3
	}
	.contentlist__title-div::before {
		content: '';
		position: absolute;
		background: var(--color1);
		height: 5px;
		width: 25%;
		left: 0;
		bottom: 1.5rem;
	}
	/*kuvaboksit*/
	.boxlist .boxlist__col.image-box:nth-child(1), 
	.boxlist .boxlist__col.image-box:nth-child(2), 
	.boxlist .boxlist__col.image-box:nth-child(3),
	.boxlist .boxlist__col.image-box:nth-child(4), 
	.boxlist .boxlist__col.image-box:nth-child(5), 
	.boxlist .boxlist__col.image-box:nth-child(6){
  		flex: 0 0 50% !important;
  		max-width: 50% !important;
	}
	.boxlist .boxlist__col.image-box:nth-child(1) .boxlist-item, 
	.boxlist .boxlist__col.image-box:nth-child(2) .boxlist-item, 
	.boxlist .boxlist__col.image-box:nth-child(3) .boxlist-item,
	.boxlist .boxlist__col.image-box:nth-child(4) .boxlist-item, 
	.boxlist .boxlist__col.image-box:nth-child(5) .boxlist-item, 
	.boxlist .boxlist__col.image-box:nth-child(6) .boxlist-item {
	    padding-bottom: 56.25%;
	}
	.boxlist .boxlist__col.image-box .boxlist-item__text-holder .btn {
		display: none;
	}
	/*ikoniboksi*/
	.boxlist:has(.icon-box) {
		justify-content: center;
	}
	.boxlist__col.icon-box {
  		flex: 0 0 33.33% !important;
  		max-width: 33.33% !important;
	}
	/*content-slider*/
	.content-slider__item .content-slider__text-content {
    	padding: 6rem 8.33%;
  	}
	/*footer*/
	.site-footer__logo {
  		text-align: left;
	}
	.site-footer .some {
  		text-align: left;
	}
	/*reffut*/
	.newspost-img {
		order: 2;
	}
	.newspost-text {
		order: 1;
	}
}

@media (max-width: 767.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 2.25rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 2.25rem;
	}
	.image-box .boxlist-item h2,
	.box1 .boxlist-item h2,
	h4,
	.news1 .newslist-item h2 {
		font-size: 1.125rem;
	}
	/*navi*/
	.site-header__bottom, #header {
		padding-right: 1rem;
		padding-left: 1rem;
	}
	#mobile-buttons {
		top: auto;
		left: auto;
		right: 58px;
	}
	/*showcase*/
	.hero-slider__item .hero-slider__text-content {
		margin-left: 0; 
	}
	/*reffut*/
	.news1 .newslist__col {
    	flex: 0 0 100%;
    	max-width: 100%;
	}
}

@media (max-width: 575.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 2rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 2rem;
	}
	.image-box .boxlist-item h2,
	.box1 .boxlist-item h2,
	h4,
	.news1 .newslist-item h2 {
		font-size: 1.125rem;
	}
	/*section paddings*/
	.content-section {
  		padding: 4rem 8.33%;
	}
	.boxlist_big_header {
		margin-bottom: 2rem;
	}
	.site-footer {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
	/*showcase*/
	body:not(.sivu1) #showcase .hero-slider__text-content {
 	 	padding: 8rem 8.33% 2.5rem 0;
	}
	/*image box*/
	.boxlist .boxlist__col.image-box:nth-child(1), .boxlist .boxlist__col.image-box:nth-child(2), .boxlist .boxlist__col.image-box:nth-child(3), .boxlist .boxlist__col.image-box:nth-child(4), .boxlist .boxlist__col.image-box:nth-child(5), .boxlist .boxlist__col.image-box:nth-child(6) {
    	flex: 0 0 100% !important;
    	max-width: 100% !important;
  	}
	/*ikoni boksi*/
	.boxlist__col.icon-box {
    	flex: 0 0 100% !important;
    	max-width: 100% !important;
  	}
	.box1 .boxlist__col.icon-box .boxlist-item__img-holder {
    	margin: 0rem 0rem!important;
    	height: 50px;
    	width: 100%;
    	flex: 0 0 50px;
    	max-width: 50px;
    	padding-bottom: 0;
  	}
	.box1 .boxlist__col.icon-box .boxlist-item .boxlist-item__text-holder {
  		text-align: left;
  		flex: 0 0 calc(100% - 50px);
  		max-width: calc(100% - 50px);
		padding: 0;
		padding-left: 1rem;
		justify-content: center;
	}
	.box1 .boxlist__col.icon-box .boxlist-item {
		flex-flow: row;
		gap: 1rem 0;
	}
	.boxlist__col.icon-box {
    	transform: translateX(-20px);
  	}
	.boxlist__col.icon-box.visible {
    	transform: translateX(0);
  	}
}

@media (max-width: 450.98px) {
	/*fontit*/
	h1 ,h2, #showcase:has(.hero-slider__item) h2 {
		font-size: 1.75rem
	}
	.contentlist .contentlist__item-content:not(.no-title) h2 {
		font-size: 1.75rem;
	}
	h3 {
		font-size: 1.25rem
	}
	.image-box .boxlist-item h2,
	.box1 .boxlist-item h2,
	h4,
	.news1 .newslist-item h2 {
		font-size: 1rem;
	}
}