/*
Theme Name: wysiwyg
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description:  The blocky version of Wysiwyg theme 
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wysiwyg
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

wysiwyg is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #404040;
	font-family: sans-serif;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-top: 0;
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, .8);
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em !important;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

select {
	border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: purple;
}

a:hover,
a:focus,
a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation li {
	float: left;
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 1.5em;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul ul li {

}

.main-navigation li:hover > a,
.main-navigation li.focus > a {
}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.byline,
.updated:not(.published) {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-caption {
	display: block;
}


/*--------------------------------------------------------------
## Wysiwyg Mods Start
--------------------------------------------------------------*/
body {
	font-family: 'Source Sans 3', "Helvetica Neue", helvetica, arial, sans-serif;
	font-size: 1.4rem;
	font-weight: 300;
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Source Sans 3', "Helvetica Neue", helvetica, arial, sans-serif;
}
h3 {
	font-size: 2rem;
	padding-bottom: 0.5rem;
}

.callout.large {
    padding: 3rem;
}

@media print,screen and (min-width:40em) {
    h2 {
        font-size: 2.3rem;
    }
    
}
@media only screen and (max-width: 40em) { 
    .callout.large {
        padding: 1.5rem;
    }
    h1 {
        font-size: 1.5em;
    }
    h4 {
        font-size: 1.5rem;
    }
}

a, a:visited {
    color: #fab25f;
}

.page .entry-content a, a:visited {
    text-decoration: underline;
}
a:hover, a:focus {
    color: #4b4b4b;
}
a.mail, a.mail:visited, .entry-content .team a, .entry-content .team a:visited {
    color: #4b4b4b;
	text-decoration: none;
}
a.mail:hover, a.mail:focus, .entry-content .team a:hover, .entry-content .team a:focus {
    color: #fab25f;
}

em {
	font-family: 'Source Sans 3', "Helvetica Neue", helvetica, arial, sans-serif;
	font-weight: 300;
	font-style: italic;
	font-size: 32px;
}
.handwriting {
	font-family: 'Shadows Into Light Two', cursive;
	font-size: 3rem;
}
.title-bar {
	color: #fefefe;
    background-color: #4b4b4b;
    background-image: url(/wp-content/themes/wysiwyg/images/index_3.svg);
    background-size: 100% 100%;
    border-bottom: 5px solid #fab25f;

}
.home .title-bar {
    display: none;
}
.entry-content {
    margin: 0;
}
.prices {
	font-family: 'Raleway', sans-serif;
}
.prices strong {
    font-size: 38px;
    font-weight: 600;
}
.callout {
    border-top: 0;
    border-left: 0;
    border-right: 0;
}
.button,
a.button {
	display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem;
    padding: .85em 1em;
    -webkit-appearance: none;
 
    -webkit-transition: background-color .25s ease-out,color .25s ease-out;
    transition: background-color .25s ease-out,color .25s ease-out;
    font-size: .9rem;
    line-height: 1;
    text-align: center;
    cursor: pointer;
	color: #fff;
	border: 2px solid #fff;	
	background: #fab25f;
	font-weight: 600;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
	text-decoration: none;
}
.button:focus, .button:hover {
	background-color: #4b4b4b;
}
header {
    padding: 1.5rem 0.625rem 1.6rem 0.625rem;
}
button#trigger-overlay {
    background-color: #fab25f;
    padding: 0.7rem;
    font-size: 1.5rem;
    border: 0;
	line-height: 1;
}
.site-branding a img {
    margin-top: 0.5rem;
}
.features .column {
    margin-bottom: 1rem;
}
.features .fa-stack {
	width: 5em;
	height: 5em;
	line-height: 5em;
	color:#fab25f;
}
.features .fa-larger:before {
	color: #4b4b4b;
	font-size: 2em;
}
.features .fa-stack-2x {
		font-size: 5em;
}

.features img {
	width: 70px;
	height: 70px;
}

.features figure.wp-block-image {
	width: 130px;
	height: 130px;
	padding: 22px;
	border-radius: 100px;
	border: 8px solid #fab25f;
	margin: 5px auto 10px auto;
}



#colophon {
    background-color: #4b4b4b;
    background-image: url(/wp-content/themes/wysiwyg/images/index_3.svg);
    background-size: 100% 100%;
}
#colophon, #colophon p {
    color: #fff;
}
.service-description {
    margin-bottom: 2rem;
}
.service-description img {
    margin-bottom: 1rem;
}
#primary-menu {
    float: right;
}
#primary-menu {
    display: none;
}

.entry-content {
	padding-top: 3rem;
}

@media screen and (min-width: 64em) {
    #primary-menu {
        display: block;
    }
}


/*--------------------------------------------------------------
## Etusivu
--------------------------------------------------------------*/
@media screen and (min-width: 64em) {
    .home .entry-content {
        padding: 0 ;
    }
}
.more {
	border: 2px solid #fab25f;
	color: #fff !important;
	background-color: #fab25f;
	border-radius: 25px;
	padding: 0.5rem 1rem;
	font-weight: 600;
	display: inline-block;
	margin-bottom: 1rem;
}
.more:after {
	content: "\f105";
	margin-left: 0.5rem;
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.more:hover,
.more:active,
.more:focus {
	border: 2px solid #fff;
	color: #fff;
	background: #fab25f;
}
.service-description .row {
    padding: 1rem 0;
}
.offer-description {
    background-color: #fab25f;
}
.offer-description .col2 {
    color: #fff;
}
@media screen and (max-width: 64em) {
    .offer-description {
        background-color: transparent;
    }
    .offer-description .col1 {
        background-color: #fab25f;
    }
    .offer-description .col2 {
        color: #404040;
        background-color: #f3f3f3;
    }
    .offer-description h2 {
        font-size: 1.75rem;
        padding-top: 1rem;
    }
    h3.verkkosivut,
    h3.verkkokaupat,
    h3.yllapitopalvelu {
        font-size: 2rem;
        text-align: center;
    }
    .offers,
    .offers p.prices {
        text-align: center;
    }
}
/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/
#footer {
    border-top: 5px solid #fab25f;
    padding-top: 2rem;
}
#footer ul {
    margin: 0;
    list-style: none;
	padding-left: 0;
}
#footer a:hover,
#footer a:active,
#footer a:focus,
#footer ul li a:hover,
#footer ul li a:visited,
#footer ul li a:active,
#footer ul li a:focus {
    color: #fab25f;
    text-decoration: underline;
}
footer a .fa-twitter,
footer a:visited .fa-twitter,
footer a .fa-linkedin,
footer a:visited .fa-twitter,
footer a .fa-facebook,
footer a:visited .fa-facebook {
    color: #fff;
}
footer a:hover .fa-twitter,
footer a:active .fa-twitter,
footer a:focus .fa-twitter,
footer a:hover .fa-linkedin,
footer a:active .fa-linkedin,
footer a:focus .fa-linkedin,
footer a:hover .fa-facebook,
footer a:active .fa-facebook,
footer a:focus .fa-facebook{
    color: #fab25f;
}
/*--------------------------------------------------------------
## Navigointi
--------------------------------------------------------------*/
.main-navigation a {
    color: #4b4b4b;
    padding: 0 1rem;
}
/*--------------------------------------------------------------
## Referenssit
--------------------------------------------------------------*/
.post-navigation {
    display: none;
}
#filters {
    margin: 0;
}
.page-template-references-page .hentry {
    margin: 0 0 0.5em;
}
.hentry {
    margin: 0;
}
.single-referenssi .entry-content img {
    margin-bottom: 2rem;
}
.lightgrey-bg {
    padding-top: 1rem;
    background-color: #f3f3f3;
}
.whitebox-corner {
    display: inline-block;
    background-color: #fff;
    padding: 0 1rem;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.whitebox-main {
    background-color: #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 1rem;
   
}
.whitebox-sidebar {
    background-color: #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 1rem;
    padding: 2rem;
    font-size: 2rem;
}
.whitebox-sidebar.corner {
    -webkit-border-top-left-radius: 0;
    -moz-border-radius-topleft: 0;
    border-top-left-radius: 0;
}
.whitebox-sidebar a,
.whitebox-sidebar a i {
    color: #4b4b4b;
}

.refe {
    margin-bottom: 2rem;
}
.refe-container {
    position: relative;
}
.refe-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    
    display: flex;
    align-items: center;
    justify-content: center; 
    
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
}
.refe-container:hover .refe-overlay,
.refe-container:focus .refe-overlay,
.refe-container a:focus .refe-overlay,
.refe-container:active .refe-overlay {
    opacity: 1;
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -ms-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
.refe-title {
    color: #fff;
}

/*--------------------------------------------------------------
## Yhteystiedot, Lomakkeet
--------------------------------------------------------------*/
.hlo {
    width: 150px;
    height: 150px;
    border-width: 5px;
    border-style: solid;
    border-color: #fab25f;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    -khtml-border-radius: 100px;
    border-radius: 100px;
    margin: 10px auto;
    background-size: cover;
}
.acf-map {
    height: 400px;
}
a i {
    color: #fab25f;
}
a:hover i, a:focus i, a:active i {
    color: #4b4b4b;
}
body .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), body .gform_wrapper textarea.textarea, body div.form_saved_message div.form_saved_message_emailform form input[type="text"] {
    background-color: #f3f3f3;
    border: none;
    font-size: 14px;
    color: #000;
    padding: 16px;
    line-height: initial;
    height: initial;
    box-shadow: none;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
    background-color: #4b4b4b;
    color: #fff;
    border: none;
    box-shadow: none;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}
.page-id-3667 .entry-content,
.page-id-4047 .entry-content,
.page-id-4085 .entry-content {
    text-align: left;
}
/*--------------------------------------------------------------
## Mobiilinavi
--------------------------------------------------------------*/
/* Overlay style */
.overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(250,178,95,0.95);
}

/* Overlay closing cross */
.overlay .overlay-close {
	width: 80px;
	height: 80px;
	position: absolute;
	right: 5px;
	top: 5px;
	overflow: hidden;
	border: none;
	background: url(/wp-content/themes/wysiwyg/images/cross.png) no-repeat center center;
	text-indent: 200%;
	color: transparent;
	outline: none;
	z-index: 100;
}

.overlay .overlay-close:focus {
	outline: thin dotted #4b4b4b; 
}

/* Menu style */
.overlay nav {
	text-align: center;
	position: relative;
	top: 50%;
	height: 60%;
	font-size: 54px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.overlay ul {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: inline-block;
	height: 100%;
	position: relative;
}

.overlay ul li {
	display: block;
	height: 20%;
	height: calc(100% / 5);
	min-height: 54px;
}

.overlay ul li a {
	font-weight: 300;
	display: block;
	color: #fff;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
	text-decoration: none;
}

.overlay ul li a:hover,
.overlay ul li a:focus {
	color: #4b4b4b;
}

/* Effects */
.overlay-hugeinc {
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
}

.overlay-hugeinc.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	z-index: 2;
}

.overlay-hugeinc nav {
	-webkit-perspective: 1200px;
	perspective: 1200px;
}

.overlay-hugeinc nav ul {
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;
}

.overlay-hugeinc.open nav ul {
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg);
}

.overlay-hugeinc.close nav ul {
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}

.flex-center {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.flex-stretch {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.row.flex-center:before,
.row.flex-stretch:before{
    display: none;
}

.flex-fill {
    flex: 1;
}

@media screen and (max-height: 30.5em) {
	.overlay nav {
		height: 70%;
		font-size: 34px;
	}
	.overlay ul li {
		min-height: 34px;
	}
}

.references {
	display: flex;
	flex-wrap: wrap;
}

.reference {
	display: none;
	position: relative;
	float: left;
	opacity: 0;
	transition: opacity .5s;
	padding: .625rem .625rem 0 .625rem;
}
#footer {
    padding-bottom: 2rem;
}
@media print, screen and (min-width: 40em) {
	#projektit {
		padding: .9375rem 0;
	}

	.reference {
		padding: .9375rem;
		max-width: 50%;
	}
}
@media print, screen and (max-width: 40em) {
	h2 {
	    font-size: 1.5rem;
	}
	.refet div:nth-child(n+4) {
	    display: none;
	}
}
.filter-visible {
	display: block;
}

.filter-fade-in {
	opacity: 1;
}

.reveal .close-button {
    padding: 0.5rem 1rem;
    margin-top: 0.5rem;
}
.reveal h1 {
    margin: 0;
}
button.cookies-link {
    background-color: transparent;
    color: #fab25f;
    padding: 0;
    font-size: 1.4rem;
    font-family: 'Source Sans 3', "Helvetica Neue", helvetica, arial, sans-serif;
}
button.cookies-link:hover {
    text-decoration: underline;
}
.close-button:focus, .close-button:hover {
    color: #fff;
}
footer a, footer a:visited, footer button.cookies-link {
    font-size: 1.3rem;
}
.gform_wrapper ul.gform_fields li.gfield_html_formatted {
    font-size: 1.2rem;
}
/* Gravity Forms 2.5 */
.gform_wrapper.gravity-theme .gfield_label {
    font-size: 1.4rem !important;
}
.gform_wrapper.gravity-theme .gfield_html_formatted {
    font-size: 1.2rem !important;
}


h1,h2,h3,h4,h5,h6 {

    font-style: normal;
    font-weight: 400;
    color: inherit;
    text-rendering: optimizeLegibility
}


.row {
	max-width: 75rem;
	margin-left: auto;
	margin-right: auto;
}

.callout {
    position: relative;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid hsla(0,0%,4%,.25);
    border-radius: 0;
    background-color: #fff;
    color: #0a0a0a
}



.text-right {
    text-align: right;
}

.text-center {
	text-align: center;
}

.menu > li > a {
	display: block;
    padding: 0.7rem 1rem;
    line-height: 1;
}

@media screen and (max-width: 39.9375em) {
    .hide-for-small-only {
        display:none!important
    }

	.row .small-8.columns {
		min-width: 66%;
		flex: 2;
	}
}

@media screen and (max-width: 0em),screen and (min-width:40em) {
    .show-for-small-only {
        display:none!important
    }
}

@media print,screen and (min-width: 40em) {
    .hide-for-medium {
        display:none!important
    }
}

@media screen and (max-width: 39.9375em) {
    .show-for-medium {
        display:none!important
    }
}

@media screen and (min-width: 40em) and (max-width:63.9375em) {
    .hide-for-medium-only {
        display:none!important
    }
}

@media screen and (max-width: 39.9375em),screen and (min-width:64em) {
    .show-for-medium-only {
        display:none!important
    }
}

@media print,screen and (min-width: 64em) {
    .hide-for-large {
        display:none!important
    }
}

@media screen and (max-width: 63.9375em) {
    .show-for-large {
        display:none!important
    }
}

@media screen and (min-width: 64em) and (max-width:74.9375em) {
    .hide-for-large-only {
        display:none!important
    }
}

@media screen and (max-width: 63.9375em),screen and (min-width:75em) {
    .show-for-large-only {
        display:none!important
    }
}

.entry-content>*, .block-area>*, .entry-header {
    margin-left:  auto;
	margin-right: auto;
    max-width: var(--wp--custom--layout--content);
	padding-left: 2.2rem;
	padding-right: 2.2rem;
}

.entry-content > .alignfull, .block-area > .alignfull {
	max-width: 100vw;

}

.home .entry-content > * {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}



.fa {
	width: 0.8em;
	height: 0.8em;
	background-size: contain;
	display: inline-block;
	background-repeat: no-repeat;
	position: relative;
	top: 2px;
	margin-right: 0.6rem;
}

.fa-external-link {
	background-image: url(images/external-link.svg);
	
}

.fa-envelope-o {
	background-image: url(images/envelope.svg);
}

.fa-phone {
	background-image: url(images/phone-alt.svg);
}

.fa-bars {
	background-image: url(images/bars.svg);
	width: 1.7rem;
	height: 1.7rem;
	top: 0;
	margin-right: 0;
	line-height: 1;
	background-size: 100%;
	
}

.whitebox-sidebar a {
	text-decoration: none;
}

@media print,screen and (min-width: 40em) {
	.refet {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(413px,1fr));
		
	} 
}


@media print,screen and (min-width: 64em) {



	#footer .row.column {
		display: grid;
		grid-template-columns: repeat(2, 1fr) 2fr;
		grid-template-rows: 1fr;
		grid-gap: 2rem;
	}

	.entry-content>*, .block-area>*, .entry-header {

		padding-left: 3.2rem;
		padding-right: 3.2rem;
	}

	.home .entry-content > * {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}


}

.site-header .row {
	display:flex;
	flex-direction: row;
}

.site-header .columns {
	flex: 1; 
}

.referenssi .row, .single  .row {
	display: flex;
	flex-wrap: wrap;
}

.referenssi .columns {
	flex: auto;
}

.show-for-sr,.show-on-focus {
    position: absolute!important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0,0,0,0)
}

#footer a {
	text-decoration: none;
}

#footer a:hover, #footer a:focus {
	text-decoration: underline;
}

#footer h4 {
	margin-top: 0;
	margin-bottom: 0.5rem;
}

@media print,screen and (min-width: 64em) {
	.columns.large-8 {
		width: 66.66667%;

	}
	 .columns.large-4 {
	width: 33.33333%;
	
	}
}

.column {
	padding-left: 0.625rem;
	padding-right: 0.625rem;
}

@media print,screen and (min-width: 40em) {
    .column,.columns {
        padding-right:.9375rem;
        padding-left: .9375rem
    }
}



/* gutenberg (nämä voisi suurimmaksi osaksi määritellä myös theme.jsonissa mutta css:llä se onnistuu huomattavasti vähemmällä vaivalla)*/

.wp-block-button a, .wp-block-button a:hover, .wp-block-button a:focus {
	color: #fff;
	border: 2px solid #fab25f;
	text-decoration: none !important;
    background-color: #fab25f;
    border-radius: 25px;
    padding: 0.5rem 1rem;
    font-weight: 600;
}

.wp-block-button a:hover, .wp-block-button a:focus {
	border: 2px solid #fff;
}

.wp-block-group.has-background {
	margin-top: 0;
	margin-bottom: 0;
}

h2.has-background {
	margin-top: 0;
	margin-bottom: 0;
}

/* korjauksia palstojen responsiivisuuteen. oletuksena wp:n tyylit eivät sisällä tätä kaksipalstaista välimuotoa tableteille yms */

@media screen and (max-width: 1023px ) {
.team .wp-block-columns , .features .wp-block-columns {
	flex-wrap: wrap !important ;
}
}
@media screen and (max-width: 1023px) {
	.team .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column, .features .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column  {
		flex-basis: 48%!important;
	}
	table td {
		font-size: 1rem;
	}
}

@media screen and (max-width: 650px) {
	.team .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column, .features .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100%!important;
	}
}

@media screen and (min-width: 1024px ) {
	.team .wp-block-columns, .features .wp-block-columns {
		flex-wrap: no-wrap !important;
	}
}

/* taulukot */

.wp-block-table table th, .wp-block-table table td {
	padding: 8px;
	vertical-align: top;
}

.wp-block-table table thead th {
	background-color: #4b4b4b;
	color: #fff;
	font-weight: 700;
	border-color: #4b4b4b;
}