/* Blog listing topics */

.blog-listing-topics ul {
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  list-style:none;
  padding:0;
}

.blog-listing-topics ul li {
 flex:0 1 auto;
  display:flex;
}

.blog-listing-topics ul li a {
 flex:0 1 auto;
  padding:2px 15px;
  border-radius:50px;
  text-align: center;
font-family: NewJuneRegular;
font-size: 16px;
font-style: normal;
font-weight: 400;
line-height: 25px; /* 156.25% */
  background:#E9ECEF;
  text-decoration:none;
  color:#002969;
}

.blog-listing-topics ul li a:hover,
.blog-listing-topics ul li.active-topic a {
  color:#FFFFFF;
  background:#002969;
}


/* ******************************************************************************
*********************************************************************************
This file contains all the neccessary styles for your blog. The styles included
are for the listing and post templates, featured images and pagination.
Also for the post meta infromation like tags, author and published date
*********************************************************************************
****************************************************************************** */

/* TODO: Find a better place for this */
.content-wrapper {
	max-width: 1240px;
	margin: 0 auto;
}


.blog-header__author-avatar {
	height: 200px;
	width: 200px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	border-radius: 50%;
	box-shadow: 0 0 12px 0 rgba(0,0,0,0.15);
	margin: 0 auto 1.5rem;
}
.blog-header__author-social-links a {
	display: inline-block;
	position: relative;
	background-color: #000;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	margin: 0 5px;
}
.blog-header__author-social-links a:hover {
	background-color: ;
}
.blog-header__author-social-links svg {
	fill: #fff;
	height: 15px;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}



.blog-banner-wrapper {
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: scroll;
	background-size: cover;
	border-top-width: 1px;
	border-right-width: 0px;
	border-bottom-width: 1px;
	border-left-width: 0px;
	padding-top: 60px;
	padding-bottom: 60px;
	position: relative;
  color:#000000;
}

.blog-banner-wrapper .banner-row {
	margin-left: -2%;
	width: 102%;
	position: relative;
	z-index: 2;
}

.blog-banner-wrapper .banner-row .banner-content-wrapper {
	padding-left: 9.5%;
	position: relative;
	width: 45%;
	min-height: 1px;
}




/*.blog-banner-wrapper:after {
border-radius: inherit;
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 0;
background-color: rgba(12,12,12,0.33);
}*/



/* New styles */

.blog-post-listing {
      display: flex;
    flex-wrap: wrap;
}


.post-item {
      flex: 0 1 100%;
    display: flex;
    justify-content: space-between;
  padding: 2rem 0;
    margin-bottom: 2rem;
    border-bottom: 1px solid #e6e6e6;
}


.post-image {
      flex: 0 1 30%;
    display: flex;
}

.post-image > a {
 display:flex; 
      flex: 0 1 100%;
}

.post-image img {
 max-width:100% !important;
  width:100% !important;
  height:auto !important;
}

.post-image--bg {
 background-size:contain !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
      height: 15rem;
    width: 100%;
    flex: 0 1 100%;
}

.post-text {
 flex:0 1 60%; 
}

.post-title a {
  text-decoration: none;
    color: inherit;
}

.blog-post__tag-link {
 text-decoration:none;
  color:inherit;
}

.blog-listing__inner {
      display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.blog-index {
 flex:0 1 60%;
  padding-top:1rem;
}

.blog-sidebar {
flex:0 1 30%;
  padding-top:3rem;
}

.blog-pagination {
 flex:0 1 100%; 
      display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    padding: 3rem 0;
}

@media screen and (max-width:1024px) {
  .post-item {
   flex-wrap:wrap; 
  }
  
  .post-image {
   flex:0 1 100%; 
    margin-bottom:1.5rem;
  }
  
  .post-text {
   flex:0 1 100%; 
  }
  
  .blog-index {
   flex:0 1 100%; 
  }
  
  .blog-sidebar {
   flex:0 1 100%; 
  }
}


/* Blog listing page style */



.fl-callout-content {
	margin-bottom: 40px;
	background-color:#e2d3cf;
	/*background-color: #57068c;*/
	padding-bottom: 20px;
	overflow: hidden;
}

.fl-callout-content .fl-callout-photo {
	margin-bottom: 15px;
	overflow: hidden;
}

.fl-callout-content .fl-callout-photo img {
	display: inline-block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.fl-callout-content h3 {
	/*color: #ffffff;*/
	color:#333333;
	margin: 0;
	padding: 0 0 10px 0;
	font-size: 1.1em;
	line-height: 1.2;
	text-align: center;
}

.fl-callout-content h3 a {
	color: inherit;
}

.fl-callout-content h3 a span.smallcaps {
	font-size: inherit !important;
	top: 0;
	line-height: inherit;
}


.fl-callout-content .fl-callout-text-wrap .fl-callout-text {
	text-align: center;
	font-size: 14px;
}

.fl-callout-content .fl-callout-text-wrap .fl-callout-text p {
	margin: 0 !important;
	padding: 0 0 10px 0;
	/*color: #ffffff;*/
	color:#000000;
}

.fl-callout-content .fl-callout-text-wrap .fl-callout-button {
	padding: 10px 0 0 0;
	text-align: center;
}

.fl-callout-content .fl-callout-text-wrap .fl-callout-button a.fl-button {
	font-size: 14px;
	border: 1px solid #000000;
	/*border-color: #ffffff;*/
	border-color:#000000;
	/*color: #ffffff;*/
	color:#000000;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	transition: all 0.1s linear;
	display: inline-block;
	font-weight: normal;
	line-height: 18px;
	padding: 12px 24px;
	text-decoration: none;
	text-shadow: none;
}


.blog-sidebar h4.topic-heading {
	margin-bottom: 20px;
	font-size: 1em;
	text-align: left;
	color: #57068c;
}

.topic-post-wrapper {
	background: #fbfbfb;
	padding: 1em;
}

.topic-post-wrapper .topic-post-item {
	margin-bottom: 10px;
	padding-bottom: 40px;
	border-bottom: 1px solid #e6e6e6;
}

.topic-post-wrapper .topic-post-item .topic-post-image {
	width: 33%;
	margin-bottom: 0;
	position: relative;
}

.topic-post-wrapper .topic-post-item .topic-post-image img {
	width: 100%;
}

.topic-post-wrapper .topic-post-item .topic-post-text {
	margin-left: 37%;
}

.topic-post-wrapper .topic-post-item .topic-post-text .topic-post-header {
	margin-bottom: 20px;
}

.topic-post-text .topic-post-header h2.topic-post-title {
	font-size: 1em;
	line-height: 1.4em;
	margin: 0 0 10px;
}

.topic-post-text .topic-post-header h2.topic-post-title a {
	color: inherit;
}

.topic-post-text .topic-post-header .topic-post-meta {
	font-size: 13px;
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
	line-height: 1;
	padding-right: 10px;
}

.topic-post-wrapper .topic-post-item.no-featrued-image .topic-post-text {
	margin-left: 0;
}
.topic-post-wrapper .topic-post-item .topic-clear {
	clear: both;
}

.post-item .post-text  .post-content p {
	margin: 0;
}

/* Blog post page style */

.blog-post-wrapper{
	font-size: 1.1em;
}

.blog-post-wrapper .blog-post .content-wrapper {
	max-width: 900px;
}

.blog-post  .blog-post-row {
	margin-left: -2%;
	width: 102%;
}

.blog-post .blog-post-row .blog-post-content {
	padding-left: 2%;
	position: relative;
	width: 100%;
	min-height: 1px;
}


.blog-top-section {
	padding-top: 40px;
	padding-bottom: 10px;
}

.blog-top-section ul#breadcrumbs {
	list-style: none;
	margin: 5px 0;
	overflow: hidden;
	font-size: 14px;
	padding: 0;
	text-transform: uppercase;
	font-weight: normal;
	font-family: 'NewJuneBold';
}

.blog-top-section ul#breadcrumbs li {
	margin: 0 8px 0 0;
	padding: 0;
}

.blog-top-section ul#breadcrumbs li a {
	text-decoration: none;
	font-weight: normal;
}

.blog-top-section h1.post-heading {
	margin: 0;
}

.blog-post-meta__heading {
	margin:1rem 0;
}

.blog-top-section .post-rich-text {
	margin-top: 10px;
}

.blog-top-section .post-rich-text p {
	margin: 0.5em auto 0.8em;
	line-height: 1.5em;
	font-family: 'NewJuneBold', Arial, sans-serif;
	font-weight: normal;
	font-size: 1.2em;
}

.blog-top-section .meta {
	font-size: 14px;
	font-style: normal;
	text-transform: none;
	margin: 0 0 10px;
	font-weight: 400;
	color: #777;
}

.blog-top-section .meta span.cats a.blog-post__tag-link {
	text-decoration: none;
	color: inherit;
}
.blog-post-featured-image {
	margin-bottom: 30px;
}

.blog-post-featured-image img {
  width: 100%;
    height: auto;
}

.blog-author-info {
	background: #fafafa;
	margin-top: 40px;
	margin-bottom: 40px;
	padding: 20px;
	display: flex;
	align-items: center;
	justify-content: space-around;
	overflow: hidden;
}

.blog-author-info .blog-author-image {
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	width: 45%;
	margin-right: 20px;
	flex: 1 1 auto;
	position: relative;
}

.blog-author-info .blog-author-image img {
	height: auto;
	width: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	border-radius: 100%;
	max-width: 100%;
	max-width: 196px;
	aspect-ratio: 1/1;
	object-fit: cover;
	object-position: center top;
}

.blog-author-info .blog-author-container {
	max-width: 75%;
	flex: 1 1 auto;
	padding: 0 20px 10px 0;
}


.blog-author-info .blog-author-container .blog-author-header h2.fblog-author-title {
	font-size: 1.1em;
	line-height: 1.2em;
	margin-bottom: 0;
}
.blog-author-info .blog-author-container .blog-author-content {
	font-size: 14px;
	margin-bottom: 30px;
	margin-top: .2em;
}


.blog-comment-form-wrapper {
	padding: 40px 0;
	background: #fcfcfc;
	margin-top: 60px;
}

.blog-comment-form-wrapper .blog-comment-row {
	margin-left: -2%;
	width: 102%;
}

.blog-comment-form-wrapper .blog-comment-row .blog-comments {
	padding-left: 2%;
	position: relative;
	width: 100%;
}

.blog-comments form .hs-input {
	text-align: left;
	margin: 0;
	width: 100%;
	border: 1px solid rgba(0,0,0,0.1);
	line-height: 40px;
	height: 40px;
	padding-left: 10px;
}

.blog-comments form textarea.hs-input {
	resize: vertical;
	height: 150px;
}

.blog-comments form  input.hs-button.primary {
	background: #57068c;
	border: 1px solid #57068c;
	color: #fff;
	padding: 15px 25px;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
	border-radius: 0;
}

.blog-related-post-wrapper {
	padding-top: 2em;
	padding-bottom: 40px;
	background-color: #f2f2f2;
	max-width:1600px;
	margin:0 auto;
}

.blog-related-post-wrapper .content-wrapper {
	max-width: 1400px;
}

.blog-related-post-wrapper .blog-realted-row {
	margin-left: -2%;
	width: 102%;
}

.blog-related-post-wrapper .blog-realted-row .blog-related-post {
	padding-left: 2%;
	position: relative;
	width: 100%;
	min-height: 1px;
}


.blog-related-post .blog-related-heading {
	margin-bottom: 30px;
}

.blog-related-post .blog-related-heading h4.heading {
	margin: 0;
}

.blog-related-post .related-post-listing {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: space-between;
	margin-left: -10px;
	margin-right: -10px;
	position: relative;
}


.related-post-listing .related-post-item {
	display: flex;
	padding-bottom: 20px;
	padding-left: 10px;
	padding-right: 10px;
	width: 50%;
  flex:0 1 50%;
}

.related-post-listing .related-post-item:nth-child(2n + 1) {
	clear: both;
}

.related-post-listing .related-post-item .related-post {
	background: #fff;
	border: none;
	visibility: visible;
	width: 100%;
}

.related-post-listing .related-post-item .related-post .related-post-text {
	padding: 20px;
	font-size: 14px;
	line-height: 22px;
}

.related-post-listing .related-post-item .related-post .related-post-text h2.related-post-title {
	font-size: 1.1em;
	line-height: 1.2em;
	margin: 5px 0 0;
	padding: 0;
}

.related-post-listing .related-post-item .related-post .related-post-text h2.related-post-title a {
	color: inherit;
}

.related-post-text .related-post-meta {
	font-size: 13px;
	margin-top: 10px;
	opacity: .6;
}

/* Listing sivun muutokset formikohtaa */



/***********************************************/

.blog-post-subscribe-wrapper {
	background:#6a7a83 !important; 
	padding:80px 40px !important;
	max-width:1600px;
	margin:0 auto;
  display:none !important;
}

.blog-post-subscribe-wrapper:after {
	display:none !important; 
}

.blog-post-subscribe-wrapper h2.heading {
	color:#e2d3cf !important;
}

.blog-post-subscribe-wrapper {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #111111;
	background-image: url('');
		background-repeat: no-repeat;
		background-position: center center;
		background-attachment: scroll;
		background-size: cover;
		border-top-width: 1px;
		border-right-width: 0px;
		border-bottom-width: 1px;
		border-left-width: 0px;
		position: relative;
		font-size: 1.1em;
	)
}

.blog-post-subscribe-wrapper .content-wrapper {
	max-width: 1400px;
	position: relative;
	z-index: 10;
}

.blog-post-subscribe-wrapper .content-wrapper .blog-post-subscribe-row {
	margin-left: -2%;
	width: 102%;
}

.blog-post-subscribe-wrapper .content-wrapper  .blog-post-subscribe-content {
	padding-left: 2%;
	position: relative;
	width: 100%;
}

.blog-post-subscribe-content .blog-post-subscribe-heading h2.heading {
	color: #ffffff;
	margin: 0;
	font-size: 1.8em;
}

.blog-post-subscribe-content  .blog-post-subscribe-rich-text {
	padding-top: 10px;
}

.blog-post-subscribe-content .blog-post-subscribe-rich-text p {
	margin: 0.5em auto 0.8em;
	line-height: 1.5em;
	font-family: 'NewJuneBold', Arial, sans-serif;
	font-weight: normal;
	font-size: 1.2em;
	color: #fff;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs-form-field {
  
	margin: 0;
	padding-right: 10px;
	width: 66.66%;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs-form-field.hs-email {
 order:1; 
  
}

.related-post-image img {
 width:100%; 
}

.blog-post-subscribe-content .blog-post-subscribe-form form:before, .blog-post-subscribe-content .blog-post-subscribe-form form:after {
	display: table;
	content: " ";
}

.blog-post-subscribe-content .blog-post-subscribe-form form:after {
	clear: both;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs-form-field > label {
	display: none;
}

.blog-post-subscribe-content .blog-post-subscribe-form form  .hs_submit.hs-submit {
order:2;
	width: 33.33%;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .cookie-reset-container {
 order:3;
  flex:0 1 100%;
  width:100%;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs_submit.hs-submit input.hs-button.primary.large {
	display: block;
	font-size: 16px;
	font-weight: normal;
	line-height: 18px;
	padding: 12px 12px;
	text-decoration: none;
	text-shadow: none;
	text-align: center;
	border: 1px solid #e2d3cf;
	background: #e2d3cf;
	width: 100%;
	margin: 0;
	font-family: 'NewJuneRegular', Arial, sans-serif;
	color:#3b5059;
	border-radius:0px;
	text-transform:uppercase;
}

.blog-post-subscribe-content form a {
	color:#e2d3cf !important;
}

.blog-post-subscribe-content .submitted-message p {
	color:#FFF; 
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs-form-field .hs-input {
	border-radius: 0;
	font-size: 16px;
	line-height: 16px;
	padding: 12px 24px;
	border: 1px solid rgba(0,0,0,0.1);
	height: auto;
}

.blog-post-subscribe-wrapper:after {
	border-radius: inherit;
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	background-color: rgba(17,17,17,0.5);
}

.cookie-reset,
.cookie-reset-notice,
.cookie-reset-container{
	color:#e2d3cf;
}



.blog-post-subscribe-content .blog-post-subscribe-form form ul.no-list.hs-error-msgs.inputs-list {
	position: absolute;
}

.blog-post-subscribe-content .blog-post-subscribe-form form {
	position: relative;
  display:flex;
  flex-wrap:wrap;
}

.blog-post-subscribe-content .blog-post-subscribe-form form .hs_error_rollup {
	display: none;
}

.blog-post-subscribe-content .blog-post-subscribe-form form ul.no-list.hs-error-msgs.inputs-list label {
	color: #f00;
}
.blog-comments form .hs-form-field > label {
	position: relative;
	font-family: 'NewJuneRegular', Arial, sans-serif;
	line-height: 1.8;
	font-weight: normal;
	font-size: 1em;
	padding: 0;
	color: #333;
}


@media screen and (max-width:767px) {
 .blog-post-subscribe-content .blog-post-subscribe-form form {
   flex-wrap:wrap;
  }
}


#comments-listing {
	border: 0px solid #ccc;
	margin-bottom: 0;
	margin-top: 0;
}
.comment.depth-0 {
	border-bottom: 1px solid #000 !important;
	border-top: medium none !important;
	margin: 0 10px 10px !important;
	padding: 0 15px !important;
}

.comment-body {
	border-bottom: medium none;
	display: block;
	padding: 0;
}

.comment-reply-to{
	margin-bottom: 15px;
}

.comment-from h4 {
	margin: 0;
	padding-top: 15px;
}
#comments-listing.no-comments{
	border: none;
}

.comment-date {
	display: block !important;
	text-align: left !important;
}

.section.post-footer .hs_error_rollup {
	margin-top: 20px;
}
.section.post-footer form .hs_recaptcha.hs-recaptcha.field.hs-form-field {
	overflow-y: hidden;
	overflow-x: auto;
}



@media(max-width:959px){
	.blog-author-info .blog-author-image img {
		margin-bottom: 15px;
	}

	.blog-post-wrapper .blog-post .content-wrapper {
		max-width: 650px;
	}

	.blog-top-section h1.post-heading {
		font-size: 2.32em;
	}

	.blog-related-post-wrapper .content-wrapper {
		max-width: 650px;
	}

	.blog-post-subscribe-wrapper .content-wrapper {
		max-width: 650px;
	}
}




@media(max-width:767px){

	.blog-post-subscribe-content .blog-post-subscribe-form form ul.no-list.hs-error-msgs.inputs-list {
		position: static;
	}
	.blog-listing-wrapper .row-fluid {
		margin: 0;
		width: 100%;
	}

	.blog-listing-wrapper .row-fluid .blog-index {
		padding: 0;
		width: 100%;
	}
	.blog-post-subscribe-content .blog-post-subscribe-rich-text {
		padding-top: 10px;
		margin: 0;
	}
	.blog-listing-wrapper .row-fluid .blog-sidebar {
		width: 100%;
		padding-left: 0;
		max-width: 400px;
		clear: both;
		margin-left: auto;
		margin-right: auto;
		width: auto !important;
	}

	.post-item .post-image {
		width: 100%;
		margin-bottom: 2em;
		margin-top: 5px;
	}

	.post-item .post-text {
		margin-left: 0;
	}

	.blog-sidebar h4.topic-heading {
		margin: 0;
	}

	.topic-post-wrapper .topic-post-item .topic-post-image {
		width: 100%;
		margin-bottom: 2em;
		margin-top: 5px;
	}

	.topic-post-wrapper .topic-post-item .topic-post-text {
		margin-left: 0;
	}
	.fl-callout-content {
		margin-bottom: 20px;
	}

	.fl-callout-text-wrap {
		padding-bottom: 1.5em;
	}


	.blog-post .blog-post-row {
		width: 100%;
		margin-left: 0;
	}

	.blog-post .blog-post-row .blog-post-content {
		padding: 0;
	}

	.blog-comment-form-wrapper .blog-comment-row {
		width: 100%;
		margin-left: 0;
	}

	.blog-comment-form-wrapper .blog-comment-row .blog-comments {
		padding: 0;
	}

	.blog-related-post-wrapper .blog-realted-row {
		margin: 0;
		width: 100%;
	}

	.blog-related-post-wrapper .blog-realted-row .blog-related-post {
		padding: 0;
	}

	.related-post-listing .related-post-item {
		width: 100%;
    flex:0 1 100%;
	}

	.blog-author-info .blog-author-image {
		width: 100%;
	}

	.blog-related-post .blog-related-heading {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.blog-comment-form-wrapper {
		margin-top: 20px;
	}

	.blog-comments form input.hs-button.primary {
		padding: 11px 21px;
		margin-bottom: 10px;
		border-radius: 4px;
		font-size: 14px;
	}

	.blog-author-info {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		margin-bottom: 20px;
	}

	.blog-post-subscribe-content .blog-post-subscribe-form form .hs-form-field {
		margin: 0 0 15px;
		padding-right: 0;
		width: 100%;
	}

	.blog-post-subscribe-content .blog-post-subscribe-form form .hs_submit.hs-submit {
		width: 100%;
	}




}





@media(max-width:600px){


	.blog-top-section h1.post-heading {
		font-size: 2em;
	}

	.blog-post-subscribe-content .blog-post-subscribe-form form .hs_submit.hs-submit input.hs-button.primary.large {
		padding: 16px 0;
		text-align: center;
		margin-bottom: 2px;
		font-size: 14px;

	}
}