/*
	Theme Name: Kansalaisareena
	Version: 1.0
	Theme URI: http://muuks.fi
	Description: Custom theme by Muuks Creative
	Author: Muuks Creative
	Author URI: http://muuks.fi
	License: GNU General Public License version 3.0
	License URI: http://www.gnu.org/licenses/gpl-3.0.html

*/

/* fira-sans-regular - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/fira-sans-v16-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-regular.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-italic - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/fira-sans-v16-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-italic.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-600 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/fira-sans-v16-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-600.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-600.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-600italic - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/fira-sans-v16-latin-600italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-600italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-600italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-600italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-600italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-600italic.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-700 - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/fira-sans-v16-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-700.svg#FiraSans') format('svg'); /* Legacy iOS */
}
/* fira-sans-700italic - latin */
@font-face {
  font-family: 'Fira Sans';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/fira-sans-v16-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/fira-sans-v16-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/fira-sans-v16-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/fira-sans-v16-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/fira-sans-v16-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/fira-sans-v16-latin-700italic.svg#FiraSans') format('svg'); /* Legacy iOS */
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  html {
    overflow-x: hidden;
  }
}

body {
  font-family: 'Fira Sans', sans-serif;
  font-style: normal;
  font-weight: normal;
  font-size: 1.0rem;
  color: #222222;
  background: #ffffff;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Fira Sans', sans-serif;
  font-style:normal;
  font-weight: normal;
  margin-bottom: 1rem;
  color: #222222;
}
label {
  color: #222222;
  font-size: 1.125rem;
}
a {
  color: #1B5858;
  font-weight: inherit;
  transition: all 0.25s ease;
  text-decoration: underline;
}
a:hover, a:focus {
  color: #1B5858;
  text-decoration: underline;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
}
hr {
  margin: 2rem auto;
  border-color: #F7F7F7;
  max-width: 100%;
}
footer[role="contentinfo"] hr {
  max-width: 100%;
  margin: 3rem auto;
  border-color: #c7d4d6;
}
table thead {
  background: transparent;
  color: #222222;
}
table tfoot {
  border: none;
  background-color: transparent;
  background: transparent;
  color: #222222;
}
.alignleft {
  float:left;
  margin-right:1rem;
  margin-bottom:1rem;
}
.alignright {
  float:right;
  margin-left:1rem;
  margin-bottom:1rem
}
.aligncenter {
  display: block;
  margin: 0 auto 1rem auto;
}
.alignnone {
  margin: 0 1rem 1rem 0;
}
.entry-content {
  position: relative;
  z-index: 1;
}
.entry-content p,
.entry-content ul,
.entry-content ul li,
.entry-content ol,
.entry-content ol li {
  font-family: 'Fira Sans', sans-serif;
}
.entry-content p.has-medium-font-size:first-child {
  font-family: 'Fira Sans', sans-serif;
  font-weight: bold;
}
.entry-content p a,
.entry-content ul a,
.entry-content ol a {
	color: #1B5858;
	text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid #1B5858;
}
.entry-content p a:hover,
.entry-content ul a:hover,
.entry-content ol a:hover {
  color: #1B5858;
	text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid #1B5858;
}
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-weight: bold;
}
.screen-reader-text,
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.toggle-container {
	display:none;
}
p, ul, ol, dl {
  margin-bottom: 1.75rem;
  line-height: 1.7;
  font-size: 1.125rem;
}
dl { overflow:hidden; }
dl dt { margin: 0; }
dt { font-weight:bold; }
dd + dt { padding:5px 0 0; }
dd { padding:0 0 5px; }

dt {
  width:auto;
  margin-right:3.75%;
  padding:5px 0;
  clear:left;
  float:left;
  font-weight:bold;
  border-width:0;
}
dd { padding:5px 0 5px 40%; }
dd + dt + dd { border-width:1px 0 0 0; }
/* Menu */
#mobile-icon {
  width: 40px;
  height: 28px;
  position: relative;
  float:right;
  margin: 1rem 0 0 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  display: none;
  z-index: 999;
}

#mobile-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #222222;
  border-radius: 4px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}
#mobile-icon span:nth-child(1) {
  top: 0px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
#mobile-icon span:nth-child(2) {
  top: 13px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
#mobile-icon span:nth-child(3) {
  top: 26px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}
body.mobile-menu-open #mobile-icon span:nth-child(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: -2px;
  left: 6px;
}
body.mobile-menu-open #mobile-icon span:nth-child(2) {
  width: 0%;
  opacity: 0;
}
body.mobile-menu-open #mobile-icon span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 26px;
  left: 6px;
}
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
#nav-container {
  display: block;
  z-index: 1000;
  position: relative;
  width: 100%;
  padding: 1rem 0;
  margin: 0;
  background-color: #1B5858;
}
nav.secondary-navigation {
  margin-top: 1.5rem;
  float: right;
  display: block;
}
.top-secondary-navigation {
  margin: 0;
}
.secondary-menu {
	display: inline-block;
	margin: 0;
}
.secondary-menu ul {
  margin: 0;
  line-height: 1;
}
.secondary-menu li {
	display: inline-block;
	position: relative;
}
.secondary-menu li.lang-item:not(:first-child) {
  border-left: 1px solid #C6C6C6;
}
.secondary-menu li.lang-item:first-child::before {
  font-family: "FontAwesome";
  font-size: 1.25rem;
  padding-right: 1rem;
  vertical-align: top;
  color: #1B5858;
  content: "\f0ac";
}
.secondary-menu li a {
  font-family: 'Fira Sans', sans-serif;
  font-weight: normal;
  text-decoration: none;
  text-transform: uppercase;
  color: #222222;
  padding: 0;
  margin: 0 0.75rem 0rem;
  display: inline-block;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 1.3;
  border-bottom: 2px solid transparent;
}
.secondary-menu li a .fa {
  color: #1B5858;
}
.secondary-menu li a.open-header-search {
  margin-left: 3rem;
  margin-right: 3rem;
}
.secondary-menu li:first-child a {
  margin-left: 0;
}
.secondary-menu li:last-child a {
  margin-right: 0;
}
.secondary-menu li.current-menu-item a,
.secondary-menu li a:hover {
  color: #1B5858;
  border-bottom-color: #1B5858;
}
.secondary-menu li a.open-header-search:hover {
  color: #1B5858;
  border-bottom-color: #1B5858;
}
ul.menu li.some-link a i {
  width: 1.25rem;
  text-align: center;
  font-size: 1.25rem;
  color: #1B5858;
}
.header-search {
  float:right;
  margin-left: 1rem;
}
nav.main-navigation {
  position: relative;
  display: block;
  float: left;
  clear: both;
  padding: 0;
  margin: 0;
}
.top-bar-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.top-bar-menu > ul.menu {
  display: flex;
  gap: 1rem;
  justify-content: flex-end;
  flex-direction: row;
  position: relative;
}
.top-bar-menu ul li,
.top-bar-menu ul li a {
  margin: 0;
  padding: 0;
  border: 0;
  display: block;
}
.top-bar-menu > ul.menu > li {
  display: flex;
  padding: 0;
  position: relative;
}
.top-bar-menu > ul.menu li .open-sub-menu {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0;
  margin: 0 0 0 0.25rem;
  padding: 0;
  border: 0;
  display: inline-block;
  cursor: pointer;
}
.top-bar-menu > ul.menu li .open-sub-menu .arrow {
  fill: #ffffff;
}
.top-bar-menu > ul.menu li .open-sub-menu .circle {
  fill: #1b5858;
}
.top-bar-menu > ul.menu li .open-sub-menu:hover .arrow {
  fill: #1b5858;
}
.top-bar-menu > ul.menu li .open-sub-menu:hover .circle {
  fill: #ffffff;
}
.top-bar-menu > ul.menu li.focused .open-sub-menu svg {
  transform: scale(1,-1);
}
.top-bar-menu > ul.menu > li > a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  font-weight: 400;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.3;
}
.top-bar-menu > ul.menu > li.current-page-ancestor > a,
.top-bar-menu > ul.menu > li.current-menu-item > a,
.top-bar-menu > ul.menu ul.sub-menu > li.current-menu-item > a {
  font-weight: bold;
}
.top-bar-menu > ul.menu > li > a:hover {
  color: #ffffff;
  text-decoration: underline;
}
.top-bar-menu > ul.menu .sub-menu-container {
  position: absolute;
  display: none;
  z-index: 1000;
  text-align: left;
}
.top-bar-menu > ul.menu > li.menu-item-has-children.focused > .sub-menu-container {
  left: auto;
  top: calc(100% + 1rem);
  display: block;
  height: auto;
  background: #f7f7f7;
  overflow: hidden;
  box-shadow: 0 10px 10px 0 rgba(0,0,0,.3);
  border: 1px solid #E0E0E0;
}
.top-bar-menu > ul.menu > li.menu-item-has-children:last-child.focused > .sub-menu-container {
  right: 0;
  left: auto;
}
.top-bar-menu > ul.menu ul li {
  display: block;
  padding: 12px 15px;
  min-width: 200px;
  max-width: 250px;
}
.top-bar-menu > ul.menu ul li:last-child,
.top-bar-menu > ul.menu ul li.last-item {
  border-bottom: 0;
}
.top-bar-menu > ul.menu ul li a {
  font-size: 1rem;
  text-decoration: none;
  color: #222222;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
}
.top-bar-menu > ul.menu ul li a:hover {
  text-decoration: underline;
}

/* header */
nav.page-breadcrumbs {
  color: #666666;
  padding: 0;
  margin: 0 0 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #E0E0E0;
  width: 100%;
}
body.single nav.page-breadcrumbs {
  border-bottom: none;
  margin-bottom: 0;
}
nav.page-breadcrumbs a {
  color: #1B5858;
  font-weight: bold;
  text-decoration: none;
}
nav.page-breadcrumbs a:hover {
  color: #1B5858;
  text-decoration: underline;
}
.some-share-title {
  margin-bottom: 1rem;
  font-size: 0.875rem;
  display: block;
  color: #666666;
}
.logo {
  position: relative;
  display: inline-block;
  float: left;
  margin: 0;
  padding: 0;
}
.logo img {
  margin: 1rem 0;
  width: 200px;
}
.padded-container {
  padding: 2.5rem 3rem 2rem;
  margin: 0;
  position: relative;
}
.padded-container .columns {
  position: relative;
}
.padded-container p:last-child,
.padded-container ul:last-child,
.padded-container ol:last-child {
  margin-bottom: 0;
}

/* Accordion element */
.accordion-outer {
  margin-bottom: 1.5rem;
  display: none;
}
.accordion-outer.show {
  display: block;
}
.accordion-item {
  position: relative;
  display: block;
  padding: 0.5rem 4rem 0.5rem 1.0rem;
  width: 100%;
  cursor: pointer;
  font-weight: 600;
  font-size: 1rem;
  background-color: #F7F7F7;
  color: #222222;
  border: 2px solid #1B5858;
}
.accordion-item.active,
.accordion-item:hover,
.accordion-item:focus {
  background: #1B5858;
  color: #ffffff;
}
.accordion-item.active  {
  margin-bottom: 0;
}
.accordion-item.trigger:before {
  display: none;
}
.accordion-item:after {
  display: inline-block;
  font-family: 'FontAwesome';
  font-size: 2rem;
  line-height: 1;
  content: "\f107";
  color: #222222;
  position: absolute;
  width: auto;
  right: 1.0rem;
  top: 50%;
  transform: translate(0, -50%);
  text-align: center;
  cursor: pointer;
}
.accordion-item.active:after,
.accordion-item:focus:after,
.accordion-item:hover:after {
  color: #ffffff;
}
.accordion-content {
  background: #F7F7F7;
  padding: 1.0rem;
  border: 0;
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
:last-child > .accordion-content:last-child {
  border-bottom: none;
}
.accordion-content p {
  font-size: 1rem;
}
.big-text p {
  font-size: 1.125rem;
}
.section-link {
  text-align: right;
  position: relative;
  margin-bottom: 0;
}
.section-header {
  font-family: 'Fira Sans', sans-serif;
  font-weight: 600;
  font-size: 2rem;
  margin-bottom: 3rem;
  color: #1B5858;
  z-index: 1;
}
.section-container {
  padding: 6rem 0;
  position: relative;
}
.help-block-after {
  margin-bottom: 0;
}
.entry-content p a.button,
.button,
.wp-block-button .wp-block-button__link,
[type='submit'],
[type='button'] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  padding: 0.75rem 1.5rem;
  -webkit-appearance: none;
  border: none;
  transition: all 0.25s ease-out;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  font-family: 'Fira Sans', sans-serif;
  color: #ffffff;
  background-color: #1B5858;
  text-decoration: none;
  font-size: 1rem;
  font-weight: bold;
  box-shadow: none;
  border-radius: 60px;
}
.button.large {
  font-size: 1.25rem;
  padding: 1.25rem 3rem;
}
[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'],
[type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea, select {
  border-radius: 0;
  max-width: 600px;
  width: 100%;
  background-color: #ffffff;
}
.wp-block-button .wp-block-button__link:hover, .entry-content p a.button:hover, .button:hover, .button:active, .button:focus, [type='submit']:hover, [type='button']:hover, [type='submit']:active, [type='button']:active  {
  background-color: #222222;
  color: #ffffff;
  text-decoration: none;
}
.button.white {
  background-color: #ffffff;
  color: #1B5858;
  text-decoration: none;
}
.button.white:hover, .button.white:focus {
  background-color: #1B5858;
  color: #ffffff;
  text-decoration: none;
}
.button.green {
  background-color: #1B5858;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
}
.button.green:hover, .button.green:focus {
  background-color: #222222;
  color: #ffffff;
  text-decoration: none;
}
.brown-stripe {
  border-top: 1rem solid #F4EADB;
}
.post-featured-image {
  padding: 0;
  position: relative;
  width: 100%;
  padding-top: 52.5%;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  margin-bottom: 1.5rem;
}
.hero-block-outer {
  background-color: #F9F6F1;
  width: 100%;
  position: relative;
}
.hero-block {
  margin-left: calc(50% - 36.25rem);
  position: relative;
}
.hero-outer {
  position: relative;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding-left: 0.9375rem;
}
.hero-image-container {
  order: 1;
  width: 60%;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: auto;
  padding-bottom: 40%;
}
.hero-image {
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
}
.hero-title {
  order: -1;
  text-align: left;
  padding-right: 3rem;
}
.hero-title h1 {
  color: #1B5858;
  font-weight: 600;
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 2rem;
}
.hero-title p {
  font-size: 1.125rem;
  margin-bottom: 0;
}
.header-outer {
  width: 100%;
  margin: 0 auto;
}
.header-inner {
  width:100%;
  height: auto;
  padding-top: 40%;
  position:relative;
}
.header-image {
  position: absolute;
  top: 0; bottom: 0; left: 0; right: 0;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center top;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  z-index: 1;
}
.header-image.empty {
  background-image: url("images/placeholder.jpg");
  background-size: cover;
}
.header-title h1 {
  font-family: 'Fira Sans', sans-serif;
  color: #222222;
  font-size: 1.875rem;
  line-height: 1.3;
  margin: 0 0 1.5rem;
}
.wp-block-image figcaption {
  text-align: center;
  margin-bottom: 0;
  font-style: italic;
  font-size: 0.875rem;
}
.wp-block-group {
  clear: both;
  position: relative;
  margin: 3rem 0 3rem;
}
.wp-block-group .wp-block-group__inner-container {
  position: relative;
  z-index: 2;
}
.wp-block-group .wp-block-group__inner-container > h2 {
  font-size: 2rem;
}
.wp-block-group .wp-block-group__inner-container > .section-header {
  margin-bottom: 1rem;
}
.wp-block-group .wp-block-group__inner-container > p {
  font-size: 1rem;
}
body.home .wp-block-group .wp-block-group__inner-container > p {
  font-size: 1.125rem;
}
body.home .wp-block-group .wp-block-group__inner-container > p.large,
body.home .wp-block-group .wp-block-group__inner-container > p.large a {
  font-size: 2rem;
}
.wp-block-group .wp-block-group__inner-container .has-white-color a {
  color: #ffffff;
}
.wp-block-group.bottom-absolute .wp-block-group__inner-container {
  padding-bottom: 3.75rem;
}
.wp-block-group.bottom-absolute .wp-block-group__inner-container .read-more {
  position: absolute;
  left: 2rem;
  bottom: 2rem;
  right: 2rem;
  height: auto;
  margin-bottom: 0;
}
body.home .wp-block-group {
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
}
.hero-block-outer,
body.home .wp-block-group.alignwide {
  margin-bottom: 6rem;
}
.wp-block-group.narrow {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.wp-block-group.has-background {
  padding: 2rem 2rem 0.25rem;
  border-radius: 5px;
}
.wp-block-group.has-background.alignwide {
  padding: 4rem 4rem 2.25rem;
}
.wp-block-group.has-background.has-white-background-color {
  border: 2px solid #c2d8ef;
}
body.home .wp-block-columns {
  margin-bottom: 6rem;
}
body.home .are-vertically-aligned-center > div {
  display: flex;
  align-self: stretch;
  position: relative;
  z-index: 2;
}
body.home .wp-block-group.alignwide.has-background .wp-block-columns {
  gap: 6em;
}
.wp-block-group .wp-block-columns:last-child {
  margin-bottom: 0;
}
.wp-block-group__inner-container .wp-block-image figure.alignleft,
figure.wp-block-image,
div.wp-block-image {
  margin-bottom: 1.75rem;
}
.wp-block-group__inner-container .wp-block-image figure.alignleft {
  margin-top: 0;
}
.wp-block-image.no-margin {
  margin-bottom: 0;
}
.alignfull {
  position: relative;
  margin-top: 0;
	margin-bottom: 6rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}
.alignfull.wp-block-group {
  padding: 4rem 0 2.25rem;
}
body.home .alignfull.wp-block-group {
  padding: 6rem 0 4.25rem;
}
.alignwide {
  margin-top: 0;
  margin-bottom: 1.25rem;
  margin-left: calc(50% - 36.25rem);
  margin-right: calc(50% - 36.25rem);
  max-width: 72.5rem;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
.alignfull.wp-block-group .wp-block-group__inner-container {
  max-width: 72.5rem;
  margin: 0 auto;
  padding-right: 0.9375rem;
  padding-left: 0.9375rem;
}
.alignwide.wp-block-group .wp-block-group__inner-container h2.has-text-align-center,
.alignfull.wp-block-group .wp-block-group__inner-container h2.has-text-align-center {
  margin-bottom: 2rem;
}
.wp-block-image .aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption {
  display: block;
  caption-side: bottom;
}
.wp-block-table table {
  border-collapse: collapse;
  width: 100%;
}
.wp-block-table td, .wp-block-table th {
  border: 1px solid #ddd;
  padding: 0.5rem;
}
.wp-block-table tr:nth-child(even){background-color: #f2f2f2;}
.wp-block-table th {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background-color: #1B5858;
  color: #ffffff;
}
.wp-block-embed-youtube {
	position: relative;
}
.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  max-width: 100%;
  height: auto;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.wp-block-embed-youtube figcaption {
  position: relative;
}
.wp-block-embed-youtube iframe,
.wp-block-embed-youtube object,
.wp-block-embed-youtube embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.wp-block-file a.wp-block-file__button {
  margin-top: 1.5rem;
  display: inline-block;
}
small {
  font-size: 0.875rem;
}
figcaption {
  font-size: 1rem;
  margin-bottom: 1.5rem;
}
.koralli-1:after {
  content: '';
  background-image: url("images/coral-curve-1.svg");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 128px 300px;
  position: absolute;
  bottom: 20px;
  right: 0;
  width: 128px;
  height: 300px;
  z-index: 0;
}
.koralli-2:after {
  content: '';
  background-image: url("images/coral-curve-2.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 268px 300px;
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 268px;
  height: 300px;
  z-index: 3;
}
.keltainen-1:before {
  content: '';
  background-image: url("images/yellow-element-1.svg");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 99px 200px;
  position: absolute;
  top: -100px;
  left: 0;
  width: 99px;
  height: 200px;
  z-index: 0;
}
.keltainen-2:before {
  content: '';
  background-image: url("images/yellow-element-2.svg");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 200px 200px;
  position: absolute;
  top: -50px;
  right: 20px;
  width: 200px;
  height: 200px;
  z-index: 0;
}
/* blockquote */

blockquote {
  margin: 3em 0;
  padding: 0 3rem;
  border-left: none;
  position: relative;
}
blockquote.wp-block-quote p:before {
  color:#1B5858;
  content: "\201C";
  font-size: 2rem;
  line-height: 1;
  position: relative;
  display: inline;
  padding-right: 0.25rem;
}
blockquote.wp-block-quote p:after {
  color:#1B5858;
  content: "\201D";
  font-size: 2rem;
  line-height: 1;
  position: relative;
  display: inline;
  padding-left: 0.25rem;
}

.wp-block-pullquote cite,
blockquote cite {
  color: #666666;
}
.wp-block-pullquote {
  padding-left: 6rem;
  padding-right: 6rem;
  text-align: left;
}
.wp-block-pullquote blockquote {
  background: #ffffff;
  margin: 0;
  padding: 0;
}
blockquote p {
  display: inline;
  margin-bottom: 0;
  line-height: 1.4;
  font-size: 1.5rem;
  color: #666666;
  font-weight: 400;
  font-style: italic;
}
.wp-block-pullquote blockquote p {
  color: #1B5858;
  font-weight: 600;
  font-style: normal;
  line-height: 1.4;
  font-size: 1.5rem;
}
.push-down {
  margin-top: 2.375rem;
}
nav.category-navigation ul {
  list-style: none;
  margin: 0 0 3rem;
  width: 100%;
  text-align: center;
}
nav.category-navigation ul li {
  display: inline-block;
  margin-right: 1rem;
}
nav.category-navigation ul li:last-child {
  margin-right: 0;
}
nav.category-navigation ul li a {
  font-weight: normal;
  font-family: 'Fira Sans', sans-serif;
  color: #1B5858;
  padding: 0.5rem 1rem;
  text-decoration: none;
  font-weight: bold;
}
nav.category-navigation ul li a.active,
nav.category-navigation ul li a:focus,
nav.category-navigation ul li a:hover {
  color: #222222;
  text-decoration: underline;
}
/* paging navigation */
nav.pagination {
  position: relative;
  display: block;
  margin: 0;
  width: 100%;
  padding:0;
}
nav.pagination .nav-links {
  position: relative;
  text-align: center;
}
nav.pagination .nav-links ul {
  margin: 0;
  padding: 0;
}
nav.pagination .nav-links ul li {
  list-style: none;
  margin:0 10px 0 0;
  padding:0;
  display: inline-block;
  border-radius: 0;
  font-weight: normal;
  display: inline-block;
  line-height: 1;
  font-size:18px;
}
nav.pagination .nav-links ul li span.current {
  padding: 10px 12px;
  background: transparent;
  line-height: 1;
  color: #666666;
  display: inline-block;
  font-size:18px;
}
nav.pagination .nav-links ul li a {
  padding: 10px 12px;
  background: transparent;
  font-weight: normal;
  font-family: 'Fira Sans', sans-serif;
  color: #1B5858;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  border-radius: 0;
  border: none;
}
nav.pagination .nav-links ul li a.prev,
nav.pagination .nav-links ul li a.next {
  color: #1B5858;
}
nav.pagination .nav-links ul li a:hover {
  background-color: transparent;
  color: #1B5858;
  text-decoration: underline;
}
nav.pagination .nav-links ul li a.next,
nav.pagination .nav-links ul li a.prev {
  position: relative;
}
nav.pagination .nav-links ul li a.next:after {
  color: #1B5858;
  content: "\203A";
  line-height: 1;
  position: relative;
  display: inline-block;
  padding-left: 0.375rem;
}
nav.pagination .nav-links ul li a.prev:before {
  color: #1B5858;
  content: "\2039";
  line-height: 1;
  position: relative;
  display: inline-block;
  padding-right: 0.375rem;
}
nav.pagination .nav-links ul li a.next:hover:after,
nav.pagination .nav-links ul li a.next:focus:after,
nav.pagination .nav-links ul li a.next:active:after {
  color: #1B5858;
}
nav.pagination .nav-links ul li a.prev:hover:before,
nav.pagination .nav-links ul li a.prev:focus:before,
nav.pagination .nav-links ul li a.prev:active:before {
  color: #1B5858;
}
/* footer */
.footer-section {
  padding: 4rem 0;
}
.footer-section.small {
  padding: 1rem 0;
}
footer[role="contentinfo"]{
  display: block;
  width: 100%;
  position: relative;
  background-color: #1B5858;
}
.some-profiles {
  list-style: none;
}
.some-profiles li {
  margin-bottom: 1rem;
}
.some-profiles li a {
  color: #ffffff;
  text-decoration: none;
}
.some-profiles li a i {
  font-size: 1.25rem;
  min-width: 1.75rem;
}
.some-profiles li a .text{
  margin-left: 0.5rem;
  font-weight: 600;
}
.some-icons {
  display:block;
  vertical-align: middle;
	clear: both;
	margin:0;
	padding:0;
  line-height: 1;
  text-align: center;
}
body.home .some-icons {
  margin-top: 3rem;
}
.some-icons li {
  margin: 0 0.75rem 0 0;
  display: inline-block;
}
.some-icons.large-icons li {
	margin-right: 1.5rem;
}
.some-icons.large-icons li:last-child,
.some-icons li:last-child {
  margin-right: 0;
}
.some-icons li i {
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
}
.some-icons.large-icons li a {
  padding: 0.8rem 1rem;
}
.some-icons.large-icons li i {
  font-size: 3rem;
}
.some-icons li a {
  display: block;
  border-bottom: none;
  box-shadow: none;
  padding: 0.5rem 0.6rem;
  min-width: 38px;
  text-align: center;
}
.some-icons li a .text {
  display: none;
}
.some-icons li a:focus,
.some-icons li a:hover {
  border-bottom: none;
}
.some-icons li a i {
  color: #1B5858;
  font-size: 1.25rem;
}
.single .author {
  font-size: 1.1875rem;
}
footer[role="contentinfo"] .footer-logo img {
  width: 100%;
  max-width: 200px;
  height: auto;
  margin: 0;
}
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6  {
  font-family: 'Fira Sans', sans-serif;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffffff;
  font-size: 1rem;
}
footer ul li, footer ol li, footer p, footer div, footer span, footer a, footer a:hover, footer a:active {
  font-family: 'Fira Sans', sans-serif;
  color: #ffffff;
}
footer[role="contentinfo"] p:last-child {
  margin-bottom: 0;
}
footer ul li, footer ol li, footer p, footer div, footer span, footer a {
  font-size: 1.0rem;
  line-height: 1.4;
  font-weight: normal;
}
footer .accessibility-policy-link {
  margin-left: 3rem;
}
footer a {
  font-weight: 600;
  text-decoration: none;
  color: #ffffff;
}
footer .bold-links a.arrow-right {
  text-transform: uppercase;
  font-weight: bold;
}
footer .small a {
  font-weight: normal;
  font-size: 0.875rem;
}
footer .muuks,
footer .muuks a,
footer .muuks a:hover {
  color: #E5E5E5;
}
footer a:focus,
footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}
footer ul {
  list-style: none;
  list-style-image: none;
  margin: 0;
}
footer ul li {
  margin-left: 0;
  margin-bottom: 1.5rem;
}
#search-header {
	background: #F7F7F7;
  position: relative;
}
.header-search-container {
  position: relative;
  display: inline-block;
}

.header-search-container form {
	margin: 0;
}

.header-search-container input#s {
	color: #222222;
  background: transparent;
	position: relative;
	padding-left: 2.5rem;
	width: auto;
	min-width: 200px;
	max-width: 960px;
	display: block;
	margin: auto;
	border: none;
	box-shadow: none;
	outline: none;
	font-size: 1.5rem;
  height: auto;
  line-height: normal;
}
.header-search-container:before {
  content: "\f002";
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: normal;
  text-decoration: inherit;
  color: #222222;
  font-size: 1.5rem;
  position: absolute;
  line-height: 1;
  top: 10px;
  left: 0;
}
.header-search-container input#s::-webkit-input-placeholder {
  color: #999999;
}
.header-search-container input#s:-moz-placeholder {
  color: #999999;
}
.header-search-container input#s::-moz-placeholder {
  color: #999999;
}
.header-search-container input#s:-ms-input-placeholder {
  color: #999999;
}
.close-header-search {
  position: absolute;
  right: 0.9375rem;
  top: 50%;
  transform: translate(0, -50%);
  line-height: 1;
  font-size: 1.5rem;
  z-index: 10002;
}
.close-header-search i {
	color: #1B5858;
}
.close-header-search:hover i {
	color: #222222;
}
.skip-to-main {
  position: fixed;
  top: 0;
  left: 0;
  padding: 0.5rem 0;
  transform: translateY(-50px);
}
.skip-to-main:focus {
  transform: translateY(0);
}
#container {
  position: relative;
  overflow: hidden;
}
#subpage-content {
  padding-top: 3rem;
  padding-bottom: 6rem;
  position: relative;
}
.grey {
  background-color: #EDEDED;
}
nav.subpage-navigation {
  padding: 0;
  margin-bottom: 1.5rem;
  margin-top: 0;
}
nav.subpage-navigation .ancestor-page {
  font-size: 1.125rem;
  font-weight: 600;
  padding: 0 0 1rem;
  margin: 0 0 1rem;
  line-height: 1.3;
  color: #222222;
  border-bottom: 1px solid #e0e0e0;
}
nav.subpage-navigation .ancestor-page a {
  text-decoration: none;
  color: #222222;
}
nav.subpage-navigation .ancestor-page a:hover {
  text-decoration: underline;
}
nav.subpage-navigation ul {
  margin: 0;
  list-style: none;
}
nav.subpage-navigation ul ul {
  margin: 0;
  padding: 0 0 0 1.5rem;
  list-style: none;
}
nav.subpage-navigation ul > li {
  width: 100%;
  display: block;
  position: relative;
}
nav.subpage-navigation ul > li:hover > a {
  text-decoration: none;
}
nav.subpage-navigation ul li .parent-title,
nav.subpage-navigation ul li a {
  display: block;
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 1rem;
  position: relative;
  color: #222222;
}
nav.subpage-navigation ul li a {
  margin-bottom: 0.75rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e0e0e0;
}
nav.subpage-navigation ul li .open-sub-menu {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 0;
  margin: 0;
  padding: 0;
  border: 0;
  display: inline-block;
  cursor: pointer;
  position: absolute;
  right: 0;
  top: 0;
}
nav.subpage-navigation ul li .open-sub-menu:hover {
  background-color: transparent;
  border: none;
}
nav.subpage-navigation ul li.mobile-parent-item .open-sub-menu {
  top: 0.75rem;
}
nav.subpage-navigation ul li .open-sub-menu .arrow {
  fill: #ffffff;
}
nav.subpage-navigation ul li .open-sub-menu .circle {
  fill: #1B5858;
}
nav.subpage-navigation ul li .open-sub-menu:hover .arrow {
  fill: #ffffff;
}
nav.subpage-navigation ul li .open-sub-menu:hover .circle {
  fill: #222222;
}
nav.subpage-navigation ul li.active > .open-sub-menu > svg {
  transform: scale(1,-1);
}
nav.subpage-navigation ul li.page_item_has_children a {
  padding-right: 1.5rem;
}
nav.subpage-navigation ul li a:hover {
  text-decoration: underline;
}
nav.subpage-navigation ul li.current_page_item > a {
  font-weight: 700;
  color: #222222;
}
nav.subpage-navigation ul ul li:last-child {
  border-bottom: none;
}
nav.subpage-navigation ul li.page_item_has_children > .sub-menu-container,
nav.subpage-navigation ul li.mobile-parent-item > ul.mobile-child-items {
  display: none;
}
nav.subpage-navigation ul li.page_item_has_children.active > .sub-menu-container,
nav.subpage-navigation ul li.mobile-parent-item.active > ul.mobile-child-items {
  display: block;
}
.flex-container {
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: center;
  z-index: 1;
}
.flex-container-multi-line {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  z-index: 1;
  row-gap: 4rem;
  column-gap: 2rem;
}
.intro-event-container {
  padding-bottom: 2rem;
  margin-bottom: 1rem;
}
.intro-event-container:not(:last-child) {
  border-bottom: 1px solid #C6C6C6;
}
.intro-event-container a {
  text-decoration: none;
}
.events-meta {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 1rem;
  display: block;
  color: #222222;
  letter-spacing: 0.01rem;
}

/* ARROW RIGHT */
body.home .wp-block-group__inner-container a,
.arrow-right {
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
}
body.home .wp-block-group__inner-container a:hover,
body.home .wp-block-group__inner-container a:focus,
.arrow-right:hover,
.arrow-right:focus {
  text-decoration: underline;
}
body.home .wp-block-group__inner-container a:after,
body.home .wp-block-group__inner-container a:hover:after,
body.home .wp-block-group__inner-container a:focus:after,
.arrow-right:after,
.arrow-right:hover:after,
.arrow-right:focus:after {
  line-height: 1;
  padding-left: .25em;
  content: "\203A";
  text-decoration: none;
  display: inline-block;
  font-weight: bold;
  font-size: 125%;
}
body.home .wp-block-group__inner-container .has-white-color a:after,
.arrow-right.white:after {
  color: #ffffff;
}
.featured-post-content .arrow-right {
  color: #1B5858;
}

/* FEATURED LINKS */
.featured-links-container {
  position: relative;
  width: calc((100% - 2rem) / 2);
  margin: 0 1rem 2rem 1rem;
  overflow: hidden;
  background-color: #F7F7F7;
  box-shadow: 0px 5px 10px 0px #ccc;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,.1);
}
.featured-list-image {
  width: 100%;
  padding-top: 45%;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  box-shadow: 0px 5px 10px 0px #ccc;
  box-shadow: 0px 5px 10px 0px rgba(0,0,0,.1);
}
.featured-links-container:first-child {
  margin-left: 0;
}
.featured-links-container:last-child {
  margin-right: 0;
}
body.home .featured-links-container {
  margin-bottom: 0;
}
.featured-links-container .featured-links-title-container {
  padding: 2.5rem;
}
.featured-links-container .featured-links-title {
  font-family: 'Fira Sans', sans-serif;
  margin-bottom: 0;
  text-align: center;
  font-size: 1.875rem;
  font-weight: normal;
}
.featured-links-inner-container {
  padding: 0 2.5rem 2.5rem;
}
.featured-links-inner-container p {
  font-size: 1.125rem;
  line-height: 1.5;
}
.featured-links-inner-container ul {
  list-style: none;
  margin: 0;
}
.featured-links-container .featured-links-inner-container ul li a {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1B5858;
  width: 100%;
  display: block;
  position: relative;
  text-decoration: none;
  margin-bottom: 0.75rem;
}
.featured-links-container .featured-links-inner-container ul li:last-child a {
  margin-bottom: 0;
}
.featured-links-container .featured-links-inner-container ul li a:hover {
  text-decoration: underline;
}


/* FEATURED POSTS */
.featured-post {
  position: relative;
  width: calc((100% - 4rem) / 3);
}
.featured-post-link,
.featured-post-link:hover {
  text-decoration: none;
  color: #222222;
  display: block;
  height: auto;
}
.featured-post-link:hover .featured-post-title {
  text-decoration: underline;
}
.featured-post-image-container {
  position: relative;
  width: 100%;
  padding-top: 52.5%;
  overflow: hidden;
  background-color: #f7f7f7;
  border-radius: 5px;
}
.featured-post-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.featured-post-image.empty {
  background-image: url("images/placeholder.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.featured-post-content {
  padding: 1.5rem 0 0;
}
.featured-event-title {
  margin-bottom: 0;
  color: #1B5858;
  font-size: 1.125rem;
  font-weight: 600;
}
.featured-post-title {
  font-family: 'Fira Sans', sans-serif;
  margin-bottom: 1.5rem;
  font-size: 1.375rem;
  font-weight: 600;
}
.nosto-post .featured-post-title {
  font-size: 1.875rem;
}
.nosto-post.green .featured-post-title {
  color: #1B5858;
}
h1.white,
h2.white,
h3.white,
h4.white {
  color: #ffffff;
}
.post-meta {
  font-family: 'Fira Sans', sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  margin-bottom: 1.5rem;
  display: block;
  color: #222222;
  letter-spacing: 0.01rem;
}
body.single .post-meta {
  margin-bottom: 1.5rem;
}
.featured-title {
  margin-bottom: 0.5rem;
}
.post-meta .categories,
.post-meta .categories a {
  text-transform: uppercase;
}
.post-meta .tags {
  display: block;
}
.post-meta .tags {
  margin-top: 0.5rem;
}
.post-meta .tags a {
  font-weight: 600;
}
.some-share {
  margin: 0;
  padding:0;
  list-style: none;
  width: 100%;
}
.some-share li {
  display: inline-block;
  margin-bottom: 0;
  margin-right: 0.5rem;
}
.some-share li a {
  background-color: #ffffff;
  border-radius: 100%;
  padding: 0.75rem 0.9rem;
  border: 1px solid #1B5858;
}
.some-share li a:hover {
  background-color: #1B5858;
}
.some-share li a i {
  color: #1B5858;
  min-width: 20px;
  text-align: center;
}
.some-share li a:hover i {
  color: #ffffff;
}
.some-share li:last-child {
  margin-right: 0;
}
.round-image img {
  border-radius: 50%;
}
.row.wide {
  max-width: 90%;
}
#scroll-top {
	position:fixed;
	bottom:10px;
	right:10px;
	z-index:1000;
	display:none;
}
#scroll-top a {
  background-color: #1B5858;
  display: block;
  padding: 0.5rem 0.75rem;
  line-height: 1;
}
#scroll-top a i {
  font-size: 1.5rem;
  color: #ffffff;
  line-height: 1;
  vertical-align: middle;
}
#scroll-top a:hover {
	background-color: #222222;
}
#scroll-top a:hover i {
  color: #ffffff;
}
.calendar-date-icon {
	display: inline-block;
	border-radius: 0.25rem;
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
	margin: 0 auto;
	width: auto;
  min-width: 90px;
  max-width: 120px;
	overflow: hidden;
	text-align: center;
	background-color: #ffffff;
  margin-bottom: 1.5rem;
}
.calendar-date-icon .month {
  background-color: #ca171a;
	color: #ffffff;
  font-size: 1rem;
	line-height: 1.25rem;
  padding: 0.25rem 0.5rem;
}
.calendar-date-icon .date {
  font-size: 2rem;
	line-height: 2.25rem;
  padding: 0.25rem;
}
.nosto-post {
  position: relative;
  display: block;
  margin-bottom: 3rem;
}
.featured-group-inner-container {
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  background-color: #ffffff;
}
.nosto-post.green .featured-group-inner-container {
  background-color: #9DC0B8;
}
.featured-group-image-container {
  width: 50%;
  position: relative;
}
.featured-group-content {
  padding: 3rem 3rem;
  width: 50%;
}
/* Staff */
.staff-container {
  position: relative;
  width: calc((100% - 4rem) / 3.0);
}
.staff-inner-container {

}
.staff-image-container {
  margin-bottom: 1rem;
}
.staff-title {
  font-style: normal;
  margin-bottom: 0.5rem;
  font-size: 1.125rem;
}
.staff-sub-title {
  font-style: italic;
  font-size: 0.875rem;
}
.staff-content .name {
  font-size: 1.375rem;
  margin-bottom: 0.5rem;
}
.staff-content a {
  text-decoration: none;
  display: block;
  clear: both;
  margin-bottom: 0.25rem;
  color: #222222;
}
.staff-content a:last-child {
  margin-bottom: 0;
}
.staff-content a:before {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: normal;
  position: relative;
  color: inherit;
  cursor: pointer;
  padding-right: 0.5rem;
  border-bottom:none;
  box-shadow: none;
  text-decoration: none;
}
.staff-content a[href^=tel]:before {
  content: "\f095";
}
.staff-content a[href^=mailto]:before {
  content: "\f0e0";
}
.staff-content a.twitter:before {
  content: "\f099";
}
.staff-content a.linkedin:before {
  content: "\f0e1";
}
.staff-content a:hover:before,
.staff-content a:hover:before {
  text-decoration: none;
  border-bottom:none;
  box-shadow: none;
}
.staff-content hr {
  border-bottom: 1px solid #ccc;
  max-width: 100%;
  width: 100%;
  margin: 0 0 1rem 0;
}
.staff-image {
  position: relative;
  width: 200px;
  height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
}
.ff-item-bar {
  display: none!important;
}
.ff-content {
  color: #666666;
}
span.wpcf7-list-item {
  margin-left: 0;
  display: block;
}
.wpcf7-form-control-wrap.recaptcha {
  margin-bottom: 1.75rem;
  display: block;
}
/* Override some Foundation styles */
@media print, screen and (min-width: 40em) {
  h1 {
    font-size: 2.5rem;
    line-height: 1.3;
  }
  h2 {
    font-size: 1.5rem; }
  h3 {
    font-size: 1.25rem; }
  h4 {
    font-size: 1.25rem; }
  h5 {
    font-size: 1.1875rem; }
  h6 {
    font-size: 1.125rem; }
}
@media print, screen and (max-width: 72.49em) {
  .alignwide {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .hero-block {
    margin-left: 0;
  }
}
/* Big screens */
@media print, screen and (min-width: 90em) {
  .row.wide {
    max-width: 90rem;
  }
}

/* Tablets */
@media print, screen and (max-width: 63.99em) {
  .header-inner {
    min-height: 0;
    padding-top: 52.5%;
  }
  .wp-block-table table {
    width:100%;
  }
  .wp-block-table thead {
    display: none;
  }
  .wp-block-table tr:nth-of-type(2n) {
    background-color: inherit;
  }
  .wp-block-table tbody td {
    display: block;
    text-align:center;
  }
  .wp-block-table tbody td:before {
      content: attr(data-th);
      display: block;
      text-align:center;
  }
  .push-down {
    margin-top: 0;
  }
  #nav-container {
    background-color: #ffffff;
    padding: 0;
  }
  hr {
    width: 100%;
    max-width: 100%;
  }
  .featured-links-container .featured-links-title-container {
    padding: 2rem;
  }
  .featured-links-inner-container {
    padding: 0 2rem 2rem;
  }
  .section-header {
    font-size: 1.75rem;
  }
  .hero-title h1 {
    font-size: 1.875rem;
    margin-bottom: 1rem;
  }
  h1,
  .header-title h1,
  .featured-links-container .featured-links-title {
    font-size: 1.5rem;
  }
  body.home .wp-block-group .wp-block-group__inner-container > p.large,
  body.home .wp-block-group .wp-block-group__inner-container > p.large a {
    font-size: 1.5rem;
  }
  .nosto-post .featured-post-title {
    font-size: 1.375rem;
  }
  .wp-block-group .wp-block-group__inner-container > h2 {
    font-size: 1.5rem;
  }
  .featured-post-title,
  h2 {
    font-size: 1.25rem;
  }
  .featured-title-container .featured-title,
  h3 {
    font-size: 1.125rem;
  }
  blockquote.wp-block-quote {
    padding: 0;
  }
  .wp-block-pullquote blockquote p,
  blockquote p {
    font-size: 1.25rem;
  }
  .padded-container p:last-child, .padded-container ul:last-child, .padded-container ol:last-child {
    margin-bottom: 1.5rem;
  }
  .header-search {
    float: none;
    margin-left: 0;
  }
  nav.main-navigation {
    float: none;
    display: none;
    margin-top: 0;
  }
  body.mobile-menu-open nav.main-navigation {
    display: block;
  }
  .top-bar-menu > ul.menu li.menu-item-has-children:hover > ul, .top-bar-menu li.menu-item-has-children.focused > ul {
    left: 0;
    transform: none;
    top: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    display: none;
    border-top: none;
  }
  .top-bar-menu > ul.menu li.some-link {
    display: none;
  }
  .top-bar-menu > ul.menu {
    width: 100%;
    margin-top: 1rem;
    padding: 0;
    flex-direction: column;
  }
  .top-bar-menu > ul.menu > li {
    width: 100%;
    display: block;
    position: relative;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
  }
  .top-bar-menu ul.menu ul,
  .top-bar-menu ul.menu ul li,
  .top-bar-menu ul.menu li.menu-item-has-children > ul > li {
    display: block;
  }
  .top-bar-menu ul.menu ul.sub-menu {
    margin-top: 1rem;
    display: flex;
    gap: 1rem;
    flex-direction: column;
  }
  .top-bar-menu > ul.menu ul li {
    min-width: 0;
    max-width: none;
    width: 100%;
    padding: 0;
    border-bottom: none;
  }
  .top-bar-menu > ul.menu li a,
  .top-bar-menu > ul.menu ul li a {
    width: 100%;
    max-width: none;
    min-width: 0;
    border-bottom: 0;
    text-align: left;
    padding: 0;
    font-size: 1.125rem;
    margin: 0;
    font-weight: 400;
    color: #222222;
    border-bottom: none;
  }
  .top-bar-menu > ul.menu > li.menu-item-has-children > a {
    width: auto;
    padding-right: 2rem;
  }
  .top-bar-menu > ul.menu > li > a:hover,
  .top-bar-menu ul.menu li a:hover,
  .top-bar-menu ul.menu ul li a:hover {
    color: #222222;
    border-bottom: none;
  }
  .top-bar-menu ul.menu ul li a {
    background: none;
    text-transform: none;
  }
  .top-bar-menu ul ul li:hover > a,
  .top-bar-menu ul ul li.active > a {
    text-decoration: none;
  }
  .top-bar-menu > ul.menu > li > .open-sub-menu {
    position: absolute;
    margin: 0;
    right: 0;
    top: 0;
  }
  .top-bar-menu > ul.menu li .open-sub-menu:hover .arrow {
    fill: #ffffff;
  }
  .top-bar-menu > ul.menu li .open-sub-menu:hover .circle {
    fill: #222222;
  }
  .top-bar-menu > ul.menu li.menu-item-has-children > .sub-menu-container {
    position: relative;
    display: none;
    left: 0;
    width: auto;
    margin: 0;
    margin-left: 1.5rem;
    text-align: left;
  }
  .top-bar-menu > ul.menu li.menu-item-has-children.focused > .sub-menu-container {
    left: auto;
    top: auto;
    display: block;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    border: none;
  }
  nav.subpage-navigation {
    margin-top: 0;
    border: 1px solid #e0e0e0;
  }
  nav.subpage-navigation ul {
    padding: 0 1rem;
  }
  nav.subpage-navigation ul ul.mobile-child-items {
    border-top: 1px solid #f5eee9;
  }
  nav.subpage-navigation ul li .parent-title,
  nav.subpage-navigation ul li a {
    border-bottom: none;
    padding: 0.75rem 0 0.75rem 0;
    margin: 0;
  }
  nav.subpage-navigation ul li .parent-title {
    padding-right: 2.25rem;
  }
  nav.subpage-navigation .mobile-child-items {
    padding-left: 0;
  }
  nav.subpage-navigation ul li.current_page_ancestor > a,
  nav.subpage-navigation ul li.current_page_item > a {
    padding-left: 0;
    border-left: 0;
  }
  .featured-post {
    width: calc((100% - 2rem) / 2.0);
  }
  .some-share {
    margin-bottom: 1.5rem;
  }
  #mobile-icon  {
    display: block;
  }
  .featured-title-container {
    padding: 1.5rem 2rem;
  }
  .wp-block-image .alignleft,
  .wp-block-image .alignright,
  .wp-block-image .alignnone,
  .wp-block-image .aligncenter,
  .alignleft,
  .alignright,
  .alignnone,
  .aligncenter {
    float:none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 1rem;
    display: block;
    clear: both;
  }
  footer .text-left, footer .text-right {
    text-align: center;
  }
  footer[role="contentinfo"] {
    text-align: center;
  }
  footer[role="contentinfo"] .columns {
    margin-bottom: 3rem;
  }
  footer[role="contentinfo"] .small .columns {
    margin-bottom: 1.5rem;
  }
  footer[role="contentinfo"] .columns:last-child {
    margin-bottom: 0;
  }
  .logo img {
    margin: 0.75rem 0;
  }
  .staff-container {
    width: calc((100% - 2rem) / 2.0);
  }
  .section-link {
    display: none;
  }
  body.home .wp-block-group.alignwide .wp-block-group {
    margin-bottom: 3rem;
  }
  .keltainen-1:before {
    background-size: 74px 150px;
    top: -75px;
    left: 0;
    width: 74px;
    height: 150px;
  }
  .keltainen-2:before {
    background-size: 150px 150px;
    width: 150px;
    height: 150px;
  }
  .koralli-1:after {
    background-size: 64px 150px;
    width: 64px;
    height: 150px;
  }
  .koralli-2:after {
    display: none;
  }
  .hero-outer {
    width: 100%;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    display: block;
  }
  .hero-image-container {
    order: unset;
    width: 100%;
    padding-bottom: 63.75%;
    flex-grow: unset;
    flex-shrink: unset;
    flex-basis: unset;
    margin-bottom: 2rem;
  }
  .hero-title {
    padding-right: 0;
    order: unset;
    width: 100%;
    padding-bottom: 2rem;
  }
  .hero-block-outer,
  body.home .wp-block-group.alignwide {
    margin-bottom: 4rem;
  }
}

@media screen and (max-width: 46.25em) {
  .section-header {
    font-size: 1.5rem;
  }
  h1,
  .featured-links-container .featured-links-title {
    font-size: 1.25rem;
  }
  .featured-links-inner-container {
    padding: 0 0.9375rem 2rem;
  }
  .featured-links-container .featured-links-inner-container ul li a,
  .featured-links-inner-container p {
    font-size: 1rem;
  }
  .header-title h1 {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
  }
  .hero-title h1 {
    font-size: 1.5rem;
  }
  h2 {
    font-size: 1.25rem;
  }
  h3 {
    font-size: 1.125rem;
  }
  .wp-block-group .wp-block-group__inner-container > h2 {
    font-size: 1.375rem;
  }
  body.home .wp-block-group .wp-block-group__inner-container > p.large,
  body.home .wp-block-group .wp-block-group__inner-container > p.large a {
    font-size: 1.25rem;
  }
  .wp-block-pullquote blockquote p,
  blockquote p {
    font-size: 1.125rem;
  }
  .wp-block-pullquote {
    padding-left: 0;
    padding-right: 0;
  }
  .single .post-meta {
    margin-bottom: 1.5rem;
  }
  .single .post-meta .tags {
    margin-top: 0.5rem;
  }
  body.home .featured-post,
  .section-header {
    margin-bottom: 1.5rem;
  }
  .featured-links-container,
  .staff-container,
  .featured-post{
    margin: 0 0 1.5rem 0;
    width: 100%;
  }
  body.home .featured-links-container {
    margin-bottom: 1.5rem;
  }
  body.home .featured-post:last-child,
  body.home .featured-links-container:last-child,
  .staff-container:last-child,
  .featured-post:last-child {
    margin-bottom: 0;
  }
  .flex-container-multi-line,
  .flex-container {
    width: 100%;
    display: block;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
  .some-icons li {
    margin-right: 2rem;
  }
  .header-search-container input#s {
    font-size: 22px;
    padding-left: 35px;
  }
  .header-search-container:before {
    font-size: 22px;
  }
  .text-left, .text-right {
    text-align: center;
  }
  .some-icons.large-icons li {
      margin-right: 0.5rem;
  }
  .some-icons.large-icons li i {
    font-size: 2rem;
  }
  .some-share li {
    margin-bottom: 1rem;
  }
  .section-container {
    padding: 3rem 0;
  }
  .open-header-search .text {
    display: none;
  }
  footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
    margin-top: 0;
  }
  footer .privacy-policy-link {
    display: block;
    margin-bottom: 1.5rem;
  }
  footer .accessibility-policy-link {
    margin-left: 0;
    display: block;
  }
  .alignwide {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }
  body.home .alignwide {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  body.home .wp-block-group.has-background.alignfull,
  body.home .wp-block-group.has-background.alignwide {
    margin-top: 0;
    margin-bottom: 0;
  }
  body.home .wp-block-group.alignwide.has-background .wp-block-columns {
    gap: 0;
  }
  body.home .alignfull.wp-block-group {
    padding-top: 4rem;
    padding-bottom: 2.25rem;
  }
  .featured-group-inner-container {
    display: block;
  }
  .featured-group-content {
    width: 100%;
    padding: 2rem 2rem;
  }
  .featured-group-image-container {
    width: 100%;
    padding-top: 52.5%;
  }
}
