/******************************/
/******************************/
/** DEFAULT GUTENBERG BLOCKS **/
/******************************/
/******************************/


/*  Paragraph, Headings, Lists */

.page .entry-content > p,
.page .entry-content > h1, 
.page .entry-content > h2, 
.page .entry-content > h3, 
.page .entry-content > h4, 
.page .entry-content > h5, 
.page .entry-content > h6 {
	width:90%;
	max-width:1200px;
	margin:0 auto;
	padding:20px 0 25px 0;
}

.wp-block-column > p {
	margin:0;
	padding:20px 0 25px 0;
}

.page .entry-content > h1, 
.page .entry-content > h2 { 
	padding:60px 0 15px 0;
}

.page .entry-content > h3,
.page .entry-content > h4 {
	padding:40px 0 10px 0;
}

.page .entry-content > ul,
.page .entry-content > ol {
	width:90%;
	max-width:1200px;
	margin:0px auto;
	padding:20px 0 25px 0;
}

.page .entry-content > ul li,
.page .entry-content > ol li {
	margin-left:30px;
}

@media screen and (max-width:1200px) {

	.wp-block-column > p,
	.page .entry-content > p, 
	.page .entry-content > h1, 
	.page .entry-content > h2, 
	.page .entry-content > h3, 
	.page .entry-content > h4, 
	.page .entry-content > h5, 
	.page .entry-content > h6 {
		padding:16px 0 20px 0;
	}

	.page .entry-content > h1, 
	.page .entry-content > h2 { 
		padding:48px 0 12px 0;
	}

	.page .entry-content > h3,
	.page .entry-content > h4 {
		padding:32px 0 8px 0;
	}

	.page .entry-content > ul,
	.page .entry-content > ol {
		padding:16px 0 20px 0;
	}

	.page .entry-content > ul li,
	.page .entry-content > ol li {
		margin-left:24px;
	}

}

@media screen and (max-width:800px) {

	.wp-block-column > p,
	.page .entry-content > p, 
	.page .entry-content > h1, 
	.page .entry-content > h2, 
	.page .entry-content > h3, 
	.page .entry-content > h4, 
	.page .entry-content > h5, 
	.page .entry-content > h6 {
		padding:12px 0 15px 0;
	}

	.page .entry-content > h1, 
	.page .entry-content > h2 { 
		padding:36px 0 9px 0;
	}

	 
	.page .entry-content > h3,
	.page .entry-content > h4 {
		padding:24px 0 6px 0;
	}

	.page .entry-content > ul,
	.page .entry-content > ol {
		padding:12px 0 15px 0;
	}

	.page .entry-content > ul li,
	.page .entry-content > ol li {
		margin-left:18px;
	}
	
}

@media screen and (max-width:414px) {

	.wp-block-column > p,
	.page .entry-content > p, 
	.page .entry-content > h1, 
	.page .entry-content > h2, 
	.page .entry-content > h3, 
	.page .entry-content > h4, 
	.page .entry-content > h5, 
	.page .entry-content > h6 {
		padding:12px 0 15px 0;
	}

	.page .entry-content > h1, 
	.page .entry-content > h2 { 
		padding:36px 0 9px 0;
	}

	 
	.page .entry-content > h3,
	.page .entry-content > h4 {
		padding:24px 0 6px 0;
	}

	.page .entry-content > ul,
	.page .entry-content > ol {
		padding:12px 0 15px 0;
	}

	.page .entry-content > ul li,
	.page .entry-content > ol li {
		margin-left:18px;
	}
		
}


/***********/
/* Buttons */
/***********/



.wp-block-button a,
.wp-block-button.is-style-outline a,
.wp-block-button.is-style-fill a { 
	transition:all 0.2s;
	position:relative;
	top:0;
	overflow:hidden;
	height:auto;
	padding-top:12px;
	padding-bottom:12px;
}

.wp-block-button,
.wp-block-button.is-style-fill a:hover {
	top:-1px;
	box-shadow: 0px 0px 60px rgba(255,255,255,0.1) inset;
}

.wp-block-button.is-style-outline a:hover {
	top:-1px;
}

.wp-block-button__link {
	min-width:260px;
	height:56px;	
	padding:16px 25px 15px 25px;
}

@media screen and (max-width:1023px) {
	
	
	.wp-block-button__link {
		min-width:220px;
	}
	
}


/***********/
/** Image **/
/***********/

.wp-block-image .aligncenter img {
	display:block;
	margin:0 auto;
}




/* padding-settings */

.padding-top-large,
.page .entry-content > .padding-top-large {
	padding-top:150px;
}

.padding-top-medium,
.page .entry-content > .padding-top-medium {
	padding-top:100px;
}

.padding-top-small,
.page .entry-content > .padding-top-small {
	padding-top:30px;
}

.padding-bottom-large,
.page .entry-content > .padding-bottom-large {
	padding-bottom:100px;
}

.padding-bottom-medium,
.page .entry-content > .padding-bottom-medium {
	padding-bottom:60px;
}

.padding-bottom-small,
.page .entry-content > .padding-bottom-small {
	padding-bottom:30px;
}

.padding-left-large,
.page .entry-content > .padding-left-large {
	padding-left:100px;
}

.padding-left-medium,
.page .entry-content > .padding-left-medium {
	padding-left:60px;
}

.padding-left-small,
.page .entry-content > .padding-left-small {
	padding-left:30px;
}

.padding-right-large,
.page .entry-content > .padding-right-large {
	padding-right:100px;
}

.padding-right-medium,
.page .entry-content > .padding-right-medium {
	padding-right:60px;
}

.padding-right-small,
.page .entry-content > .padding-right-small {
	padding-right:30px;
}

.column-padding-small .wp-block-column {
	padding:5px;
}

.column-padding-medium .wp-block-column {
	padding:10px;
}

.column-padding-large .wp-block-column {
	padding:15px;
}


@media screen and (max-width:1023px) {
	
	.padding-top-large,
	.page .entry-content > .padding-top-large {
		padding-top:90px;
	}

	.padding-top-medium,
	.page .entry-content > .padding-top-medium {
		padding-top:50px;
	}

	.padding-top-small,
	.page .entry-content > .padding-top-small {
		padding-top:15px;
	}

	.padding-bottom-large,
	.page .entry-content > .padding-bottom-large {
		/*padding-top:90px;*/
		padding-bottom:60px;
	}

	.padding-bottom-medium,
	.page .entry-content > .padding-bottom-medium {
		padding-bottom:30px;
	}

	.padding-bottom-small,
	.page .entry-content > .padding-bottom-small {
		padding-bottom:15px;
	}

	.padding-left-large,
	.page .entry-content > .padding-left-large {
		padding-left:50px;
	}

	.padding-left-medium,
	.page .entry-content > .padding-left-medium {
		padding-left:30px;
	}

	.padding-left-small,
	.page .entry-content > .padding-left-small {
		padding-left:15px;
	}

	.padding-right-large,
	.page .entry-content > .padding-right-large {
		padding-right:50px;
	}


	.padding-right-medium,
	.page .entry-content > .padding-right-medium {
		padding-right:30px;
	}


	.padding-right-small,
	.page .entry-content > .padding-right-small {
		padding-right:15px;
	}
	
	.column-padding-small .wp-block-column {
		padding:3px;
	}

	.column-padding-medium .wp-block-column {
		padding:6px;
	}

	.column-padding-large .wp-block-column {
		padding:10px;
	}

}

@media screen and (max-width:800px) { 

	.padding-top-large,
	.page .entry-content > .padding-top-large {
		padding-left:0px;
	}

	.padding-top-medium,
	.page .entry-content > .padding-top-medium {
		padding-left:0px;
	}

	.padding-top-small,
	.page .entry-content > .padding-top-small {
		padding-left:0px;
	}

	.padding-right-large,
	.page .entry-content > .padding-right-large {
		padding-right:0px;
	}

	.padding-right-medium,
	.page .entry-content > .padding-right-medium {
		padding-right:0px;
	}

	.padding-right-small,
	.page .entry-content > .padding-right-small {
		padding-right:0px;
	}
	
	
	.padding-left-large,
	.page .entry-content > .padding-left-large {
		padding-left:0px;
	}

	.padding-left-medium,
	.page .entry-content > .padding-left-medium {
		padding-left:0px;
	}

	.padding-left-small,
	.page .entry-content > .padding-left-small {
		padding-left:0px;
	}
	
	.column-padding-small .wp-block-column {
		padding:2px;
	}

	.column-padding-medium .wp-block-column {
		padding:4px;
	}

	.column-padding-large .wp-block-column {
		padding:6px;
	}

}


/* .arrow-down , .arrow-down-right */

p.arrow-down a:after,
p.arrow-down-right a:after {
	border-width:3px;
	border-style:solid;
	border-radius:50%;
	content:"";
	display:block;
	width:40px;
	height:40px;
	margin:0 auto;
	position:relative;
	top:30px;
	background-image:url(../images/arrow-down.svg);
	background-size:85%;
	background-position:center;
	background-repeat:no-repeat;
	transition:all 0.2s;
	
}

p.arrow-down.white a:after,
p.arrow-down-right.white a:after {
	background-image:url(../images/arrow-down-white.svg);
}

p.arrow-down-right a:after {
	display:inline-block;
	top:8px;
	left:20px;
}

p.arrow-down:hover a:after,
p.arrow-down-right:hover a:after {
	background-image:url(../images/arrow-down-hover.svg);
	top:33px;
}



@media screen and (max-width:1023px) {

	p.arrow-down a:after,
	p.arrow-down-right a:after {
		border-width:2px;
		width:30px;
		height:30px;
		top:22px;
	}
	
	p.arrow-down, p.arrow-down-right {
		font-weight:bold;
	}

}


/* mobile padding */

@media screen and (max-width:639px) {
	.wp-block-cover-image .wp-block-cover__inner-container, .wp-block-cover .wp-block-cover__inner-container {
		width:90%;
	}
	
}


/* .no-padding */

.wp-block-columns.no-padding {
	padding:0 0 0 0;
	margin:0 0 0 0;	
}


@media screen and (max-width:800px) {	
	.wp-block-columns.no-padding.breakpoint-800 .padding {
		max-width:90%;
		margin:0 auto;
	}
}

@media screen and (max-width:600px) {	
	.wp-block-columns.no-padding .padding {
		max-width:90%;
		margin:0 auto;
	}
}



/* No list style */
.list-style-none {
	margin-left:0px;
}

.list-style-none li {
	list-style:none;
	margin-left:0px;
}




@media screen and (max-width:800px) {
	
	.wp-block-cover__inner-container {
		width:100%;
	}
	
	.no-block-column-padding.wp-block-column {
		max-width:100%;
		padding:0 0;
	}
	
}


/* scale-image-icons */

.scale-image-icons .wp-block-column .wp-block-image img {
	max-width:40%;
	height:auto;
}

@media screen and (max-width:600px) {
	
	.scale-image-icons .wp-block-column .wp-block-image img {
		width:40%;
		max-width:100px;
	}
	
}



/* max-width-800 */
.max-width-800 {
	width:90%;
	max-width:800px!important;
	margin: auto;
}

/* max-width-1000 */
.max-width-1000 {
	width:90%;
	max-width:1000px!important;
	margin: auto;
}

/* max-width-1200 */
.max-width-1200 {
	width:90%;
	max-width:1200px;
	margin: auto;
}

/* max-width-1400 */
.max-width-1400 {
	width:90%;
	max-width:1400px;
	margin:0 auto;
}

/* max-width-1600 */
.max-width-1600 {
	width:90%;
	max-width:1600px;
	margin:0 auto;
}


/* max-width-1800 */
.max-width-1800 {
	width:auto;
	max-width:1800px;
	margin:0 auto;
}




@media screen and (max-width:1900px) {
	.max-width-1800 {
		width:94%;
	}
}

@media screen and (max-width:1023px) {
	
	.max-width-1400 {
		width:100%;
		margin-left:0px;
		margin-right:0px;
	}

}

@media screen and (max-width:639px) {
	
	.max-width-800,
	.max-width-1000,
	.max-width-1200,
	.max-width-1400,
	.max-width-1600 {
		width:100%;
	}

}


.no-bottom-margin {
	margin-bottom:0px;
}


.hide-all {
	display:none;
}


/* .break-medium */

@media screen and (max-width:1023px) {
	.break-medium.wp-block-columns {
		display:block;
		width:100%;
	}
	
	.break-medium.wp-block-columns .wp-block-column .wp-block-cover { 
		padding:20px;
	}
}


/* .wp-block-column | .wp-block-column + .wp-block-cover */

@media screen and (max-width:782px) {

	.wp-block-columns {
		/*display:block;*/
		width:100%;
	}
	
	.wp-block-columns .wp-block-column {
		min-width:90%;
	}
	
	
  .wp-block-column .wp-block-cover { 
		padding:20px;
	}

}

/* .column-margins */

.wp-block-columns.column-margins {
	padding:10px;
}

.wp-block-columns.column-margins .wp-block-column {
	margin:10px;
}


/*****************************/
/*****************************/
/******* CUSTOM BLOCKS *******/
/*****************************/
/*****************************/


/* HERO */

.hero {
	width:100%;
	max-height:670px;
	min-height:500px;
}

.hero.palvelut {
	max-height:800px;
	min-height:700px;
}

.home .hero {
	max-height:1000px;
	min-height:700px;
}

.transparent-top-bar .entry-content .hero {
	top:-200px;
	margin-bottom:-200px;
}

.entry-content .aligncenter.hero , .hero{
	display:table;
}

.hero .wp-block-cover__inner-container {
	display:table-cell;
	vertical-align:middle;
}

.transparent-top-bar .hero .wp-block-cover__inner-container {
	padding-top:50px;
}

.hero .wp-block-cover__inner-container > * {
	position:relative;
	display:block;
	width:1024px;
	width:70%;
	margin:0 auto;
	z-index:1;
}

.hero .wp-block-cover__inner-container h1 { 
	padding-top:30px;
	padding-bottom:30px;
}


@media screen and (max-width:1023px) {

	
		
	.hero {
		max-height:520px;
		min-height:440px;
	}
		
	.hero.palvelut {
		max-height:630px;
		min-height:520px;
	}

	.home .hero {
		max-height:750px;
		min-height:600px;
	}
	
		
	.transparent-top-bar .entry-content .hero {
		top:0px;
		margin-bottom:0px;
	}
	
	.hero .wp-block-cover__inner-container {
		padding-top:40px;
	}
		
	.hero .wp-block-cover__inner-container {
		padding-top:27px;
		width:100%;
	}

}



@media screen and (max-width:414px) {

	.hero {
		max-height:500px;
		min-height:420px;
	}
		
	.hero.palvelut {
		max-height:550px;
		min-height:480px;
	}

	.home .hero {
		max-height:600px;
		min-height:550px;
	}
	
}




/* Contact form 7 */

form.wpcf7-form p {
	padding:0px;
	margin:0px;
}

form.wpcf7-form input[type=submit],
form.wpcf7-form input[type=tel],
form.wpcf7-form textarea,
form.wpcf7-form input[type=text],
form.wpcf7-form input[type=email] {
	border-width:2px;
	border-style:solid;
	border-radius:5px;
	height:50px;
	margin-bottom:0px;
}

form.wpcf7-form textarea:focus,
form.wpcf7-form input[type=tel]:focus,
form.wpcf7-form input[type=text]:focus,
form.wpcf7-form input[type=email]:focus { 
	box-shadow:none;
}

form.wpcf7-form input[type=submit] {
	margin-top:20px;
	width:100%;
}

span.wpcf7-not-valid-tip {
	display:block;
	height:0px;
	font-size:10px;
}

.wpcf7-response-output.wpcf7-mail-sent-ng,
.wpcf7-response-output.wpcf7-validation-errors {
	height:0px;
	overflow:visible;
	font-size:10px;
	border:none;
	display:none!important;
}

div.wpcf7 .ajax-loader {
	display:block;
	position:relative;
	top:-32px;
	left:-50px;
	margin:0 auto;
	background-image:url(../images/loading.svg);
}

.wpcf7-form.sent p,
.wpcf7-form.sent input,
.wpcf7-form.sent textarea {
	display:none;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
	border:none;
	margin:0px;
	padding:0px;
	font-weight:800;
	position:relative;
	top:-10px;
}

@media screen and (max-width:800px) {
	
	.breakpoint-800.wp-block-columns {
		flex-wrap:wrap!important;
		
	}
	
	.breakpoint-800 .wp-block-column {
		flex-basis:100%!important;
		flex-grow:0;
		margin:0 auto;
	}
	
}

@media screen and (max-width:639px) {
	.breakpoint-800 .wp-block-columns {
		margin:0 auto;
		width:100%;
	}
}


/* latest posts */

.wp-block-latest-posts__list li a {
	font-family:catamaran;
	font-weight:800;
	color:black;
}

.wp-block-latest-posts__list {
	margin:0px;
}
	
.wp-block-latest-posts__list li {
	margin-top:5px;
	margin-bottom:15px;
}	

.wp-block-latest-posts__list li time {
	color:black;
}

.wp-block-latest-posts__list li a:hover { 
	color:orange;
}

.latest-posts {
	min-height:680px!important;
	padding-top:40px;
}


@media screen and (max-width:1440px) {
	.latest-posts {
		min-height:460px!important;
	}
}

@media screen and (max-width:1200px) {
	.latest-posts {
		min-height:420px!important;
	}
		
	.wp-block-latest-posts__list li {
		margin-top:6px;
		margin-bottom:6px;
	}	
}

@media screen and (max-width:1039px) {
	.latest-posts {
		min-height:360px!important;
	}
}

@media screen and (max-width:800px) {
	.latest-posts .wp-block-column {
		padding-top:0px;
		padding-bottom:0px;
	}
}

.wp-block-columns .line-height-small li {
	line-height:1.3;
}





/* map shortcode */

.gmap {
	width:100%;
	height:640px;
}

.gmap_marker {
	color:black;
}

.gmap_marker a {
	color:orange;
}


@media screen and (max-width:1440px) {
	.gmap {
		height:540px;
	}	
}

@media screen and (max-width:1023px) {
	.gmap {
		height:440px;
	}	
}


/* Three columns | Icons + text */

.icon-text-columns-3 .wp-block-column .wp-block-cover {
	padding:50px 40px;
}


.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h1,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h2,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h3,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h4,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h5,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover h6,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover p,
.icon-text-columns-3.text-light .wp-block-column .wp-block-cover li {
	color:white;
}


.icon-text-columns-3.text-light .wp-block-column .wp-block-cover li {
	margin-bottom:10px;
}

@media screen and (max-width:1600px) {
	
	.icon-text-columns-3 .wp-block-column .wp-block-cover {
		padding:40px 30px;
	}

}

@media screen and (max-width:1440px) {
	
	.icon-text-columns-3 .wp-block-column .wp-block-cover {
		padding:40px 20px;
	}

}

@media screen and (max-width:1023px) {
	
	
	.icon-text-columns-3 .wp-block-column .wp-block-cover .wp-block-cover__inner-container {
		max-width:360px;
		padding:50px 0;
	}

}


/* modal */

@keyframes modalfadeinwhite {
  from {opacity:0;}
  to {opacity:1;}
}

@keyframes rotate {
  from {transform:rotate(-135deg);}
  to {transform:rotate(45deg);}
}

@keyframes rotate2 {
  from {transform:rotate(135deg);}
  to {transform:rotate(-45deg);}
}

.modal {
	display:none;
	position:fixed;
	top:0px;
	left:0px;
	z-index:1000;
	width:100%;
	height:100%;
	overflow:auto;
	animation-name:modalfadeinwhite;
    animation-duration: 1s;
}

body.modal-opened {
	height: 100%;
	overflow-y: hidden;
}

.modal-opened .modal {
	display:flex;
}
 
.modal .close-modal {
	display:block;
	position:absolute;
	top:30px;
	right:30px;
	opacity:1;
	width:50px;
	height:50px;
	border-radius:50%;
	border:3px solid #333333;
	z-index:1100;
	cursor:pointer;
	animation-name:modalfadeinwhite;
    animation-duration: 1.5s;
} 

.modal .close-modal:hover {
	border:3px solid #24B7DB;
}

.modal .close-modal:after,
.modal .close-modal:before {
	content:"";
	display:block;
	height:4px;
	width:36px;
	background-color:#333333;
	position:absolute;
	top:20px;
	left:4px;
	border-radius:2px;
	transform:rotate(45deg);
	animation-name:rotate;
    animation-duration: 1s;
	transition:all 0.3s;
	
}

.modal .close-modal:after {
	animation-name:rotate2;
	transform:rotate(-45deg);
}

.modal .close-modal:hover:after,
.modal .close-modal:hover:before {
	background-color:#24B7DB;
}

.modal.wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container { 
	height:100%;
	width:100%;
}

@media screen and (max-width:1440px) {
	
	.modal .close-modal {
		top:20px;
		right:20px;
	}

}

@media screen and (max-width:1440px) {
	
	.modal .close-modal {
		width:40px;
		height:40px;
	}
	
	.modal .close-modal:after,
	.modal .close-modal:before {
		height:4px;
		width:29px;
		top:15px;
		left:3px;
	}
	
}

@media screen and (max-width:639px) {
	
	.modal .close-modal {
		width:40px;
		height:40px;
		top:13px;
	}
	
	.modal .close-modal:after,
	.modal .close-modal:before {
		height:4px;
		width:29px;
		top:15px;
		left:3px;
	}
	
}

@media screen and (max-width:414px) {
	
	.modal.wp-block-cover {
		padding:14px 0px;
	}
	
	.modal .close-modal {
		width:36px;
		height:36px;
		top:13px;
		right:10px;
	}
	
	.modal .close-modal:after,
	.modal .close-modal:before {
		height:3px;
		width:20px;
		top:14px;
		left:5px;
	}
	
	
}



/*  */





/*  text-image-alternate  */

.text-image-alternate .wp-block-columns {
	margin-bottom:0;
}

.text-image-alternate .wp-block-columns .wp-block-column .wp-block-cover.contain {
	background-size:contain;
	background-repeat:no-repeat;
}

.wp-block-column:not(:first-child) {
    margin-left: 0;
}

.text-image-alternate.max-content-width-1800 .wp-block-cover__inner-container {
	max-width:1800px;
}

.text-image-alternate.max-content-width-1600 .wp-block-cover__inner-container {
	max-width:1600px;
}

.text-image-alternate.max-content-width-1400 .wp-block-cover__inner-container {
	max-width:1400px;
}

.text-image-alternate.max-content-width-1200 .wp-block-cover__inner-container {
	max-width:1200px;
}



@media screen and (max-width:782px) {
	
	.text-image-alternate .wp-block-columns .wp-block-column {
		order:2;
		padding-bottom:40px;
	}
	
	.text-image-alternate .wp-block-columns .wp-block-column.has-image {
		order:1;
		padding-bottom:0px;
	}
	
	.text-image-alternate .wp-block-columns .wp-block-column.has-image .wp-block-cover  {
		align-items:flex-end;
	}
	
	.text-image-alternate .wp-block-columns .wp-block-column .wp-block-cover {
		align-items:flex-start;
		min-height:0;
		padding:0;
	}
	
}

