/*!
Theme Name:     Puistojuhlat 2023
Description:    
Author:         Ulkoasu: Tero Ahonen, Ohjelmointi: Jari Pennanen
Version:        
License:
*/
@import url("https://use.typekit.net/zwy7ayd.css");
/**
 * New UI
 */
.newui textarea,
.newui input[type="password"],
.newui input[type="number"],
.newui input[type="text"],
.newui input[type="tel"],
.newui input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  background: #fff no-repeat;
  padding: 0.75em 0.75em;
  border: 2px solid var(--fg);
  color: var(--fg);
  display: block;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  line-height: 1.5em;
  font-size: inherit;
  font-weight: normal;
  font-family: inherit;
}
.newui textarea:focus::-moz-placeholder, .newui input[type="password"]:focus::-moz-placeholder, .newui input[type="number"]:focus::-moz-placeholder, .newui input[type="text"]:focus::-moz-placeholder, .newui input[type="tel"]:focus::-moz-placeholder, .newui input[type="email"]:focus::-moz-placeholder {
  color: transparent;
}
.newui textarea:focus:-ms-input-placeholder, .newui input[type="password"]:focus:-ms-input-placeholder, .newui input[type="number"]:focus:-ms-input-placeholder, .newui input[type="text"]:focus:-ms-input-placeholder, .newui input[type="tel"]:focus:-ms-input-placeholder, .newui input[type="email"]:focus:-ms-input-placeholder {
  color: transparent;
}
.newui textarea:focus::placeholder,
.newui input[type="password"]:focus::placeholder,
.newui input[type="number"]:focus::placeholder,
.newui input[type="text"]:focus::placeholder,
.newui input[type="tel"]:focus::placeholder,
.newui input[type="email"]:focus::placeholder {
  color: transparent;
}
.newui textarea:focus,
.newui input[type="password"]:focus,
.newui input[type="number"]:focus,
.newui input[type="text"]:focus,
.newui input[type="tel"]:focus,
.newui input[type="email"]:focus {
  border: 2px solid var(--fg);
  outline: 0;
}
.newui input[type="radio"] {
  box-sizing: border-box;
  cursor: pointer;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  margin: 0 0.6em 0 0;
  width: 1.7em;
  height: 1.7em;
  position: relative;
  top: -0.1em;
  vertical-align: middle;
  display: inline-block;
  font-size: inherit;
  font-weight: normal;
  font-family: inherit;
  background: radial-gradient(ellipse at center, #fff 39%, #fff 54%, var(--fg) 57%, var(--fg) 69%, rgba(0, 0, 0, 0) 71%, rgba(0, 0, 0, 0) 72%, rgba(0, 0, 0, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  background-repeat: no-repeat;
}
.newui input[type="radio"]:checked {
  background: radial-gradient(ellipse at center, var(--fg) 0%, var(--fg) 37%, #fff 39%, #fff 54%, var(--fg) 57%, var(--fg) 69%, rgba(0, 0, 0, 0) 71%, rgba(0, 0, 0, 0) 72%, rgba(0, 0, 0, 0) 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  background-repeat: no-repeat;
}
.newui input[type="checkbox"] {
  box-sizing: border-box;
  vertical-align: middle;
  top: 0;
  margin: 0 0.6em 0 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  background: none no-repeat center center;
  border-radius: 0;
  border: 2px solid var(--fg);
  width: 1.7em;
  height: 1.7em;
  position: relative;
  top: -0.1em;
  font-size: inherit;
  font-weight: normal;
  font-family: inherit;
  cursor: pointer;
  cursor: hand;
}
.newui input[type="checkbox"]:checked {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='translate(2 2)' stroke='undefined' stroke-width='3'%3E%3Cline x1='1' y1='11' x2='11' y2='1'/%3E%3Cline x1='1' y1='1' x2='11' y2='11'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
}
.newui select {
  box-sizing: border-box;
  padding: 0.75em 0.75em;
  display: block;
  width: 100%;
  background: #fff no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 100 50'%3E%3Cpolygon fill='undefined' points='0,0 100,0 50,50'/%3E%3C/svg%3E");
  background-position: right 0.5em center;
  background-size: 0.75em;
  color: var(--fg);
  border-radius: 0;
  border: 2px solid var(--fg);
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  line-height: 1.5em;
  font-size: inherit;
  font-weight: normal;
  font-family: inherit;
}
.newui select:focus {
  border: 2px solid var(--fg);
  outline: 0;
}
.newui input[data-newui-icon-search] {
  background: #fff no-repeat;
  color: var(--fg);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2043.637223%2043.648591%22%3E%3Cpath%20style%3D%22fill%3Anone%3Bstroke%3Avar%28--fg%29%3Bstroke-width%3A5%3B%22%20d%3D%22m%2018.654651,2%20c%20-4.2655,1.666e-4%20-8.531156,1.6268594%20-11.7851559,4.8808594%20-6.50933324,6.5080016%20-6.50933324,17.0623136%200,23.5703136%206.5079999,6.5093%2017.0609789,6.508%2023.5703119,0%206.508,-6.509333%206.508,-17.062312%200,-23.5703136%20C%2027.185141,3.6261928%2022.920151,1.9998333%2018.654651,2%20c%200,0%200,0%200,0%20M%2030.91051,30.921876%20c%200,0%2011.3125,11.3125%2011.3125,11.3125%200,0%20-11.3125,-11.3125%20-11.3125,-11.3125%200,0%200,0%200,0%22/%3E%3C/svg%3E");
  background-position: right 0.5em center;
  background-size: 0.95em;
  padding-right: 1.75em;
}
::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: var(--fg-light);
  text-indent: 0;
}
:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: var(--fg-light);
  opacity: 1;
  text-indent: 0;
}
::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: var(--fg-light);
  opacity: 1;
  text-indent: 0;
}
:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--fg-light);
  text-indent: 0;
}
/* HTML5 support for IE6,7,8 */
section,
article,
aside,
footer,
header,
nav,
hgroup {
  display: block;
}
body {
  font-family: Arial;
}
ul,
ol {
  padding: 0 0 1em 1.5em;
  margin: 0;
}
p {
  padding: 0 0 1em 0;
  margin: 0;
}
a {
  text-decoration: none;
}
.screen-reader-response,
.skip-link,
.assistive-text,
.assistive-navigation {
  position: absolute;
  height: 0;
  width: 0;
  left: -1000px;
  opacity: 0;
  overflow: hidden;
}
.clear,
.clearfix {
  clear: both;
}
div.error,
p.error,
span.error {
  color: #d32a24;
}
.small-highlight {
  font-size: 70%;
}
blockquote {
  border-left: 3px solid #efefef;
  margin: 0 0 1em 1em;
  padding: 0.2em 0 0.2em 1.5em;
  overflow: hidden;
}
blockquote p:last-child {
  padding-bottom: 0;
}
/* Embeds */
.ownskit-embedhtmlshort {
  margin: 0 0 1em 0;
}
/* =Images
-------------------------------------------------------------- */
img {
  border: 0;
}
/*
Resize images to fit the main content area.
- Applies only to images uploaded via WordPress by targeting size-* classes.
- Other images will be left alone. Use "size-auto" class to apply to other images.
*/
img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img {
  max-width: 100%;
  /* When images are too wide for containing element, force them to fit. */
  width: auto !important;
  height: auto;
  /* Override height to match resized width for correct aspect ratio. */
}
.alignleft-wrap {
  float: left;
}
.alignnone,
.entry-content img {
  max-width: 100%;
  height: auto;
}
.alignleft,
img.alignleft {
  max-width: 55% !important;
  height: auto !important;
  display: inline;
  float: left;
  clear: left;
  margin-right: 14px;
  margin-top: 4px;
}
.alignright,
img.alignright {
  max-width: 55% !important;
  height: auto !important;
  display: inline;
  float: right;
  clear: right;
  margin-left: 14px;
  margin-top: 4px;
}
.alignnone,
.aligncenter,
.wp-post-image,
img.aligncenter {
  max-width: 100%;
  height: auto !important;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.aligncenter iframe {
  display: block;
  margin: 0 auto;
}
img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 12px;
}
.wp-caption {
  margin-top: 5px;
  margin-bottom: 10px;
  width: auto !important;
}
.wp-caption-text {
  margin: 0;
  padding: 0;
  max-width: 100%;
  /* prevent too-wide images from breaking layout */
  text-align: center;
  color: gray;
  font-family: Georgia;
  font-style: normal;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
}
.gallery-icon img,
.wp-caption img {
  display: block;
  margin: 0 auto 3px auto;
  max-width: 100%;
  width: auto !important;
  height: auto !important;
}
.wp-smiley {
  margin: 0;
}
/* WP-Gallery feature */
.gallery {
  clear: both;
  margin: 0 -10px;
}
.gallery .gallery-caption,
.gallery .gallery-content,
.gallery .gallery-icon {
  margin: 0 10px;
  display: block;
}
.gallery .gallery-icon .preview {
  display: block;
}
.gallery .gallery-item {
  float: left;
  margin-top: 0;
  text-align: center;
  margin-bottom: 14px;
}
.gallery-columns-2 .gallery-item {
  width: 50%;
}
.gallery-columns-3 .gallery-item {
  width: 33%;
}
.gallery-columns-4 .gallery-item {
  width: 25%;
}
.gallery-columns-5 .gallery-item {
  width: 20%;
}
#ie7 .gallery-columns-2 .gallery-item {
  width: 48%;
}
#ie7 .gallery-columns-3 .gallery-item {
  width: 31%;
}
#ie7 .gallery-columns-4 .gallery-item {
  width: 23%;
}
#ie7 .gallery-columns-5 .gallery-item {
  width: 18%;
}
.gallery-columns-2 .gallery-item:nth-child(2n + 1),
.gallery-columns-3 .gallery-item:nth-child(3n + 1),
.gallery-columns-4 .gallery-item:nth-child(4n + 1),
.gallery-columns-5 .gallery-item:nth-child(5n + 1) {
  clear: both;
}
.gallery img {
  display: block;
  margin: 0 auto;
  border: 1px solid #d3d4d4;
}
.gallery .attachment-thumbnail,
.gallery .attachment-medium {
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}
.gallery .gallery-caption {
  font-size: 12px;
  margin: 3px 0 12px;
}
.ownskit-galleries .gallery-content {
  display: none;
}
.gallery .gallery-content {
  margin: 0 0 12px;
}
.gallery dl {
  margin: 0;
}
.gallery br + br {
  display: none;
}
#content .attachment img {
  /* single attachment images should be centered */
  display: block;
  margin: 0 auto;
}
@media (max-width: 460px) {
  .alignleft,
  img.alignleft,
  .alignright,
  img.alignright {
    max-width: 45% !important;
  }
}
/* LESS Mixins 
 * https://github.com/dmitryf/elements/blob/master/elements.less
 * */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
}
.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}
.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}
.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
  display: none;
}
.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}
.mfp-ajax-cur {
  cursor: progress;
}
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}
.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {
  cursor: auto;
}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}
.mfp-loading.mfp-figure {
  display: none;
}
.mfp-hide {
  display: none !important;
}
.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}
.mfp-s-ready .mfp-preloader {
  display: none;
}
.mfp-s-error .mfp-content {
  display: none;
}
button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
a.mfp-close,
button.mfp-close {
  cursor: pointer;
  cursor: hand;
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  text-decoration: none;
  text-align: center;
  opacity: 1;
  filter: alpha(opacity=65);
  padding: 0 0 5px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 44px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}
.mfp-close-btn-in .mfp-close {
  right: -10px;
  top: 0;
  color: #fff;
}
.mfp-close-btn-in .mfp-close:hover {
  color: rgba(255, 255, 255, 0.7);
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}
.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}
.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}
.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}
.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}
.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}
.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}
.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3F3F3F;
}
.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}
.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}
/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 0 0 40px 0;
  margin: 0 auto;
}
/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}
.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
  z-index: 10;
}
.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}
.mfp-title a {
  color: #fff;
  text-decoration: underline;
}
.mfp-title a:hover {
  color: silver;
}
.mfp-image-holder .mfp-content {
  max-width: 100%;
}
.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 700px) {
  .mfp-bg {
    display: none;
  }
  .mfp-container {
    background: #fff;
  }
  .mfp-close-btn-in .mfp-close {
    color: #000;
  }
  .mfp-close-btn-in .mfp-close:hover {
    color: #000;
  }
  .mfp-arrow {
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.mfp-ie7 .mfp-img {
  padding: 0;
}
.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}
.mfp-ie7 .mfp-container {
  padding: 0;
}
.mfp-ie7 .mfp-content {
  padding-top: 44px;
}
.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}
.nform .wpcf7-form-control-wrap {
  display: block;
  margin: 0 0 0.7em 0;
}
.nform .wpcf7-form-control-wrap + br {
  display: none;
}
.nform select,
.nform textarea,
.nform input[type="password"],
.nform input[type="number"],
.nform input[type="text"],
.nform input[type="email"] {
  box-sizing: border-box;
  width: 100%;
  height: 3.1em;
  padding: 0 0.9em;
  line-height: 2.2em;
  font-size: 1.6vw;
  font-weight: normal;
  font-family: inherit;
  display: block;
  margin: 0;
  border: 0;
  background: #fff;
}
@media (min-width: 1250px) {
  .nform select,
  .nform textarea,
  .nform input[type="password"],
  .nform input[type="number"],
  .nform input[type="text"],
  .nform input[type="email"] {
    font-size: 20px;
  }
}
@media (max-width: 760px) {
  .nform select,
  .nform textarea,
  .nform input[type="password"],
  .nform input[type="number"],
  .nform input[type="text"],
  .nform input[type="email"] {
    font-size: 12.16px;
  }
}
.nform textarea {
  height: 130px;
  max-width: none;
  padding: 1em 0.7rem;
  overflow: auto;
}
.nform fieldset {
  margin: 0;
  padding: 0 0 1em 0;
  border: 0;
}
.nform .radio {
  line-height: 1.7em;
  display: block;
  position: relative;
  cursor: hand;
  cursor: pointer;
}
.nform .radio .name {
  padding: 0 0 0 22px;
  display: inline-block;
}
.nform .radio input {
  width: 18px;
  height: 18px;
  margin: 0;
  padding: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
}
.nform .radio input + i {
  position: absolute;
  top: 1px;
  left: 0;
  background: url("radio.png") 0 0;
  width: 18px;
  height: 18px;
  background-size: 20px 40px;
  display: inline-block;
  vertical-align: middle;
}
.nform .radio input:checked + i {
  background-position: 0 -20px;
}
.nform .radio:hover {
  color: gray;
}
.nform .radio:hover + i {
  opacity: 0.7;
}
.nform .msg,
.nform .wpcf7-response-output {
  padding: 0.5em 1em;
  background: none;
}
.nform .msg.errors,
.nform .wpcf7-response-output.errors,
.nform .msg.wpcf7-validation-errors,
.nform .wpcf7-response-output.wpcf7-validation-errors {
  color: red;
}
.nform .wpcf7-display-none {
  display: none;
}
.nform .wpcf7-not-valid,
.nform textarea.error,
.nform input.error,
.nform select.error {
  border: 1px solid red;
}
.nform .wpcf7-not-valid-tip,
.nform span.error {
  font-size: 80%;
  color: red;
  line-height: 1.1;
}
.nform .required {
  color: inherit;
}
.nform .form-row {
  margin: 0 0 5px 0;
}
.nform .form-row > .name {
  font-weight: bold;
  display: block;
  padding: 0.3em 0 0.2em 0;
}
.nform .form-row label.error {
  color: red;
  padding: 0.5em 0 1em 0;
  display: block;
  font-size: 80%;
  line-height: 1;
}
.nform .form-row-checkbox {
  padding: 0.5em 0 0 0;
  display: block;
}
.nform .watermark {
  position: relative;
  display: block;
}
.nform .watermark br {
  display: none;
}
.nform .watermark .name {
  position: absolute;
  top: 0.45em;
  left: 0.7em;
  line-height: 2.2;
  pointer-events: none;
  padding: 0;
  font-size: 110%;
  white-space: nowrap;
  z-index: 10;
}
.nform .watermark.filled .name {
  display: none;
}
.nform .watermark.focused .name {
  background: #777;
  color: #fff;
  padding: 0.3em 0.75em;
  position: absolute;
  z-index: 10001;
  font-weight: normal;
  display: block;
  top: -2.2em;
  left: -0.1em;
  border-radius: 10px;
}
.nform .watermark.focused .name:after {
  display: block;
  content: "";
  border: 7px solid transparent;
  border-top-color: #777;
  height: 0;
  width: 0;
  position: absolute;
  bottom: -14px;
  margin-left: -7px;
  left: 50%;
}
.nform .watermark input:focus {
  position: relative;
  z-index: 20;
}
:root {
  --bg: #CDE5CC;
  --fg: #813581;
  --fg-light: #888;
  --fg-lili: #bcbcbc;
}
html.theme0 {
  --bg: #D8D9DA;
  --fg: #9D5F00;
}
html.theme1 {
  --fg: #E4E5CC;
  --bg: #BE3D6C;
}
html.theme2 {
  --fg: #E5CCE5;
  --bg: #295F68;
}
html.theme3 {
  --fg: #CDE5CC;
  --bg: #813581;
}
::-moz-selection {
  background: #efefef;
  color: #000 !important;
  opacity: 1 !important;
}
::selection {
  background: #efefef;
  color: #000 !important;
  opacity: 1 !important;
}
::-moz-selection {
  background: #efefef;
  color: #000 !important;
  opacity: 1 !important;
}
em {
  color: var(--fg-light);
}
.ingress {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1.76vw;
  padding: 0 0 1.1em 0;
}
@media (min-width: 1250px) {
  .ingress {
    font-size: 22px;
  }
}
@media (max-width: 760px) {
  .ingress {
    font-size: 13.376px;
  }
}
@media (max-width: 760px) {
  .ingress {
    font-size: 16px;
  }
}
iframe {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
.jump-target {
  display: block;
  height: 1px;
}
body,
html {
  padding: 0;
  margin: 0;
}
body {
  font-family: sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  font-size: 1.6vw;
  color: var(--fg);
  padding-bottom: 120px;
  background-color: var(--bg);
}
@media (min-width: 1250px) {
  body {
    font-size: 20px;
  }
}
@media (max-width: 760px) {
  body {
    font-size: 12.16px;
  }
}
@media (max-width: 760px) {
  body {
    font-size: 18px;
  }
}
body::scrollbar {
  width: 25px;
}
body::-moz-scrollbar {
  width: 25px;
}
body::-webkit-scrollbar {
  width: 25px;
}
body::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
body::-webkit-scrollbar-track {
  background: var(--bg);
  border: 0;
  border-radius: 0;
}
body::-webkit-scrollbar-thumb {
  background: var(--fg);
  border-radius: 0;
}
body::-webkit-scrollbar-thumb:hover {
  background: var(--fg);
}
body.footer-visible {
  background-color: var(--fg);
}
.lang-en {
  color: var(--fg);
}
a {
  color: var(--fg);
  transition: color 0.25s;
}
a:hover {
  color: #fff;
}
sup {
  font-size: 50%;
}
ul {
  list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 440'%3E%3Ccircle cx='200' cy='180' r='200' fill='var(--fg)' /%3E%3C/svg%3E");
  padding: 0 0 1em 1.2em;
}
ul li {
  padding: 0.2em 0;
}
table {
  text-align: left;
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0 0 0;
}
table th,
table td {
  padding: 0.6em 1.2em;
  border: 1px solid #888;
}
table th {
  color: var(--fg);
}
@media screen and (max-width: 760px) {
  table {
    border: 0;
  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  table tr {
    display: block;
  }
  table td {
    border-bottom: 0;
    display: block;
    text-align: right;
  }
  table td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
  }
  table tr:last-child td:last-child {
    border-bottom: 1px solid #888;
  }
}
h2:first-child,
h3:first-child {
  margin-top: 0;
  padding-top: 0;
}
h1 {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  font-size: 6.64vw;
  color: var(--fg);
  padding: 0.15em 0 1.35em 0;
}
@media (min-width: 1250px) {
  h1 {
    font-size: 83px;
  }
}
@media (max-width: 760px) {
  h1 {
    font-size: 50.464px;
  }
}
@media (max-width: 760px) {
  h1 {
    font-size: 27px;
  }
}
h1.smalltitle {
  text-transform: uppercase;
  font-size: inherit;
  font-weight: bold;
  padding-bottom: 0.2em;
  color: var(--fg);
}
h2 {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 1.76vw;
  text-transform: none;
  padding: 0.1em 0 0.43em;
  margin: 0;
}
@media (min-width: 1250px) {
  h2 {
    font-size: 22px;
  }
}
@media (max-width: 760px) {
  h2 {
    font-size: 13.376px;
  }
}
@media (max-width: 760px) {
  h2 {
    font-size: 22px;
  }
}
h2.bigtitle {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  font-size: 6.64vw;
  color: var(--fg);
  padding: 0.15em 0 1.35em 0;
}
@media (min-width: 1250px) {
  h2.bigtitle {
    font-size: 83px;
  }
}
@media (max-width: 760px) {
  h2.bigtitle {
    font-size: 50.464px;
  }
}
@media (max-width: 760px) {
  h2.bigtitle {
    font-size: 27px;
  }
}
h3 {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0.1em 0 0.43em;
  margin: 0;
}
h4 {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  color: var(--fg);
  font-size: 1.92vw;
  padding: 0.1em 0 0.2em;
}
@media (min-width: 1250px) {
  h4 {
    font-size: 24px;
  }
}
@media (max-width: 760px) {
  h4 {
    font-size: 14.592px;
  }
}
@media (max-width: 760px) {
  h4 {
    font-size: 16px;
  }
}
h1 + h2 {
  margin-top: 0;
}
a.pdf-icon:before {
  display: inline-block;
  content: "";
  background: url("images/pdf.png") no-repeat;
  background-size: 16px 16px;
  width: 16px;
  height: 16px;
  position: relative;
  top: -3px;
  padding-right: 5px;
  vertical-align: middle;
}
.page-wrapper {
  max-width: 1230px;
  padding: 0;
  padding-left: 4.4vw;
  padding-right: 4.4vw;
  margin: 0 auto;
  box-sizing: border-box;
}
@media (min-width: 1250px) {
  .page-wrapper {
    padding-left: 55px;
  }
}
@media (max-width: 760px) {
  .page-wrapper {
    padding-left: 33.44px;
  }
}
@media (min-width: 1250px) {
  .page-wrapper {
    padding-right: 55px;
  }
}
@media (max-width: 760px) {
  .page-wrapper {
    padding-right: 33.44px;
  }
}
@media (max-width: 760px) {
  .page-wrapper {
    padding-right: 22px;
    padding-left: 22px;
  }
}
#next-prev-nav-below {
  margin: 1.5em 0 0 auto;
  border-top: 1px solid #eee;
  padding: 1em 0 0 0;
  border-bottom: 0;
}
#next-prev-nav-below a {
  display: block;
  width: 48%;
}
#next-prev-nav-below .title {
  display: block;
}
#next-prev-nav-above {
  padding-bottom: 1.5em;
}
.next-prev-nav {
  overflow: hidden;
  padding: 0;
}
.next-prev-nav .title {
  display: none;
}
.next-prev-nav a {
  text-transform: uppercase;
  display: block;
  width: 40%;
  color: #bbb;
}
.next-prev-nav a:hover {
  color: var(--fg);
}
.next-prev-nav a[rel="next"] {
  float: right;
  text-align: right;
}
.next-prev-nav a[rel="next"]:after {
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: opacity 0.25s;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background: url("images/icon-arrow-right-gray.png") 0 0 no-repeat;
  background-size: 20px auto;
  margin-left: -2px;
  position: relative;
  top: -2px;
}
.next-prev-nav a[rel="prev"] {
  float: left;
}
.next-prev-nav a[rel="prev"]:before {
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: opacity 0.25s;
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background: url("images/icon-arrow-left-gray.png") 0 0 no-repeat;
  background-size: 20px auto;
  margin-right: 3px;
  position: relative;
  top: -2px;
}
#top-left {
  float: left;
  margin-top: 15px;
}
#top-right {
  float: right;
  margin-top: 15px;
}
#top-right > .menu {
  position: relative;
  z-index: 10060;
  display: inline-block;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  border-right: 1px solid #000;
  padding: 8px 0;
  padding-right: 15px;
  margin-right: 15px;
}
#top-right > .top-cart {
  display: inline-block;
}
#pagenav {
  text-align: left;
  padding: 0 0 2em 0;
}
#pagenav > .page-numbers {
  margin: 0 0 4px 0;
  padding: 4px 0;
  min-width: 2.2em;
  text-align: center;
  display: inline-block;
  color: var(--fg);
  border: 1px solid var(--fg);
}
#pagenav > .dots {
  position: relative;
  top: -5px;
  border: none;
}
#pagenav > a.page-numbers:hover,
#pagenav > .current {
  border-color: var(--fg);
  color: var(--fg);
}
#pagenav > .next,
#pagenav > .prev {
  display: none;
}
#pagenav > .next {
  float: right;
}
.socmed {
  text-align: center;
  padding-top: 2em;
}
.socmed-share,
.socmed-follow {
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  margin: 0 auto;
}
.socmed-share > li,
.socmed-follow > li {
  display: inline-block;
}
.socmed-share .some-link,
.socmed-follow .some-link {
  color: currentColor;
  position: relative;
  display: block;
  padding: 0 0.6em 2.2em 0.6em;
  font-size: 80%;
}
.socmed-share .some-link > .img,
.socmed-follow .some-link > .img {
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  transition: background-color 0.25s, border-color 0.25s;
  transform: translateZ(0);
  transform-style: preserve-3d;
  width: 1.6em;
  height: 1.6em;
  border-radius: 0.8em;
  background: none;
}
.socmed-share .some-link > .img > svg,
.socmed-follow .some-link > .img > svg {
  transition: fill 0.25s;
  fill: currentColor;
  display: block;
  width: 1.6em;
  height: 1.6em;
}
.socmed-share .some-link > .txt,
.socmed-follow .some-link > .txt {
  transform: translateZ(0);
  transform-style: preserve-3d;
  display: block;
  position: absolute;
  bottom: 0;
  left: -3.2em;
  right: -3.2em;
  text-align: center;
  opacity: 0;
  transition: opacity 0.1s;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--fg);
  display: none;
}
.socmed-share .some-link:focus,
.socmed-follow .some-link:focus {
  outline: 0;
}
.socmed-share .some-link:hover > .img,
.socmed-follow .some-link:hover > .img {
  background: none;
}
.socmed-share .some-link:hover > .img > svg,
.socmed-follow .some-link:hover > .img > svg {
  fill: #fff;
}
.socmed-share .some-link:hover > .txt,
.socmed-follow .some-link:hover > .txt {
  opacity: 1;
  color: var(--fg);
}
.style-dark .socmed-share .some-link > .txt,
.style-dark .socmed-follow .some-link > .txt {
  color: #fff;
}
.style-dark .socmed-share .some-link > .img > svg,
.style-dark .socmed-follow .some-link > .img > svg {
  fill: #fff;
}
.style-dark .socmed-share .some-link:hover > .img,
.style-dark .socmed-follow .some-link:hover > .img {
  background: var(--fg);
}
.style-dark .socmed-share .some-link:hover > .img > svg,
.style-dark .socmed-follow .some-link:hover > .img > svg {
  fill: #fff;
}
.style-dark .socmed-share .some-link:hover > .txt,
.style-dark .socmed-follow .some-link:hover > .txt {
  opacity: 1;
}
.socmed-share-text,
.socmed-follow-text {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  line-height: 2;
}
.socmed-share-text .img,
.socmed-follow-text .img {
  display: none;
}
.socmed-sharing {
  position: relative;
}
.socmed-sharing .share-btn {
  display: none;
  margin-top: 0.2em;
  margin-right: 1em;
  line-height: 1.75em;
}
.socmed-sharing .share-btn > svg {
  transition: fill 0.25s;
  width: 1.75em;
  height: 1.75em;
  fill: var(--fg);
  display: inline-block;
  vertical-align: middle;
}
.socmed-sharing .share-btn > svg.share-close-icon {
  display: none;
}
.socmed-sharing .share-btn > .title {
  margin-left: 0.3em;
  display: inline-block;
  vertical-align: middle;
  text-transform: uppercase;
  color: var(--fg);
  transition: color 0.25s;
}
@media not all and (hover: none) {
  .socmed-sharing .share-btn:hover > .title {
    color: var(--fg);
  }
  .socmed-sharing .share-btn:hover > svg {
    fill: var(--fg);
  }
}
.socmed-sharing .socmed-share {
  opacity: 0;
  position: absolute;
  overflow: hidden;
  top: 0.25em;
  width: 0;
  transform: translateX(-3em);
  transition: transform 0.25s, opacity 0.25s;
}
.socmed-sharing .socmed-share .some-link .link-clipped {
  position: absolute;
  top: -3em;
  left: -3em;
  right: -3em;
  display: none;
  line-height: 1;
  font-size: 10px;
  text-transform: uppercase;
  background: var(--fg);
  color: #fff;
  padding: 0.5em;
  text-align: center;
}
.socmed-sharing .socmed-share .some-link.link.clicked .link-clipped {
  display: block;
}
.socmed-sharing .socmed-share > li > a {
  transition: transform 0.25s;
}
.socmed-sharing .socmed-share > li:nth-child(1) > a {
  transform: translateX(-1em);
}
.socmed-sharing .socmed-share > li:nth-child(2) > a {
  transform: translateX(-2em);
}
.socmed-sharing .socmed-share > li:nth-child(3) > a {
  transform: translateX(-3em);
}
.socmed-sharing .socmed-share > li:nth-child(4) > a {
  transform: translateX(-4em);
}
.socmed-sharing .socmed-share > li:nth-child(5) > a {
  transform: translateX(-5em);
}
.socmed-sharing.show-shares .share-btn > svg {
  display: inline-block;
}
.socmed-sharing.show-shares .share-btn > svg.share-icon {
  display: none;
}
.socmed-sharing.show-shares .share-btn > svg.share-close-icon {
  display: inline-block;
}
.socmed-sharing.show-shares .socmed-share {
  opacity: 1;
  transform: translateX(0);
  width: auto;
  overflow: visible;
}
.socmed-sharing.show-shares .socmed-share > li > a {
  transform: translateX(0) !important;
}
.more-link {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  cursor: pointer;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  border-radius: 0;
  background: none;
  color: var(--fg);
  font-size: 110%;
  display: inline-block;
  padding: 0.25em 0.8em 0.1em 0.8em;
  border: 2px solid var(--fg);
  text-transform: uppercase;
  transition: background-color 0.25s, color 0.25s;
  /*
    .cursor;
    .transition(~"color @{anim-speed}");
    // text-transform: uppercase;
    padding-left: 1.55em;
    padding-right: 1.55em;
    padding-top: 0.85em;
    padding-bottom: 0.55em;
    border-radius: 0;
    position: relative;
    display: inline-block;
    text-align: center;
    background: @color1;
    color: @color1-fg;
    appearance: none;
    text-transform: uppercase;
    .font-btn();
    border: 0;

    .transition(background @anim-speed);

    a:hover &,
    a&:hover {
        background: @color1-hover;
        color: @color1-fg-hover;
    }
    + .more-link {
        margin-left: 0.5em;
    }
    .style-light &,
    .style-light-bg & {
        background: @color1;
        color: @color1-fg;
        a:hover &,
        a&:hover {
            background: @color1-hover;
            color: @color1-fg-hover;
        }
    }

    &.big {
        font-size: 150%;
    }
    */
}
.more-link:hover {
  background: var(--fg);
  color: var(--bg);
}
.button {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  cursor: pointer;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  border-radius: 0;
  background: none;
  color: var(--fg);
  font-size: 110%;
  display: inline-block;
  padding: 0.25em 0.8em 0.1em 0.8em;
  border: 2px solid var(--fg);
  text-transform: uppercase;
  transition: background-color 0.25s, color 0.25s;
  /*
    .cursor;
    .transition(~"color @{anim-speed}");
    // text-transform: uppercase;
    padding-left: 1.55em;
    padding-right: 1.55em;
    padding-top: 0.85em;
    padding-bottom: 0.55em;
    border-radius: 0;
    position: relative;
    display: inline-block;
    text-align: center;
    background: @color1;
    color: @color1-fg;
    appearance: none;
    text-transform: uppercase;
    .font-btn();
    border: 0;

    .transition(background @anim-speed);

    a:hover &,
    a&:hover {
        background: @color1-hover;
        color: @color1-fg-hover;
    }
    + .more-link {
        margin-left: 0.5em;
    }
    .style-light &,
    .style-light-bg & {
        background: @color1;
        color: @color1-fg;
        a:hover &,
        a&:hover {
            background: @color1-hover;
            color: @color1-fg-hover;
        }
    }

    &.big {
        font-size: 150%;
    }
    */
}
.button:hover {
  background: var(--fg);
  color: var(--bg);
}
.primary-btn {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  cursor: pointer;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  border-radius: 0;
  background: none;
  color: var(--fg);
  font-size: 110%;
  display: inline-block;
  padding: 0.25em 0.8em 0.1em 0.8em;
  border: 2px solid var(--fg);
  text-transform: uppercase;
  transition: background-color 0.25s, color 0.25s;
  /*
    .cursor;
    .transition(~"color @{anim-speed}");
    // text-transform: uppercase;
    padding-left: 1.55em;
    padding-right: 1.55em;
    padding-top: 0.85em;
    padding-bottom: 0.55em;
    border-radius: 0;
    position: relative;
    display: inline-block;
    text-align: center;
    background: @color1;
    color: @color1-fg;
    appearance: none;
    text-transform: uppercase;
    .font-btn();
    border: 0;

    .transition(background @anim-speed);

    a:hover &,
    a&:hover {
        background: @color1-hover;
        color: @color1-fg-hover;
    }
    + .more-link {
        margin-left: 0.5em;
    }
    .style-light &,
    .style-light-bg & {
        background: @color1;
        color: @color1-fg;
        a:hover &,
        a&:hover {
            background: @color1-hover;
            color: @color1-fg-hover;
        }
    }

    &.big {
        font-size: 150%;
    }
    */
  background: var(--fg);
  color: #fff;
}
.primary-btn:hover {
  background: var(--fg);
  color: var(--bg);
}
.more-link-light {
  color: var(--fg);
  display: inline-block;
  padding: 1em 1.33em;
}
.more-link-light:hover {
  color: #000;
}
.style-dark .more-link-light {
  color: #fff;
}
.style-dark .more-link-light:hover {
  color: #808080;
}
.more-link-wrapper {
  padding: 1.5em 0 0 0;
}
.style-normal + .style-normal.padding-layout-lower:after,
.style-normal + .style-normal.padding-layout-top_empty:after {
  display: none;
}
.style-light,
.style-light-bg {
  color: #000;
  background: #fff;
  background-size: cover;
}
.style-light a,
.style-light-bg a {
  color: var(--fg);
}
.style-light a:hover,
.style-light-bg a:hover {
  color: #fff;
}
.style-dark,
.style-dark-bg {
  background-color: #000;
  color: #fff;
  background-size: 0;
}
.style-dark h1,
.style-dark-bg h1,
.style-dark h2,
.style-dark-bg h2,
.style-dark h3,
.style-dark-bg h3,
.style-dark h4,
.style-dark-bg h4 {
  color: #fff;
}
.style-dark .ingress,
.style-dark-bg .ingress {
  color: #fff;
}
.style-dark a,
.style-dark-bg a {
  color: #fff;
}
.style-dark a:hover,
.style-dark-bg a:hover {
  color: #fff;
}
.style-dark2 {
  background-color: var(--fg);
  color: #fff;
  background-size: 0;
}
.style-dark2 h1,
.style-dark2 h2,
.style-dark2 h3,
.style-dark2 h4 {
  color: var(--fg);
}
.style-dark2 .ingress {
  color: #fff;
}
.style-dark2 a {
  color: #fff;
}
.style-dark2 a:hover {
  color: var(--fg);
}
.style-light-bg,
.style-dark-bg {
  border-top: none !important;
  background-image: inherit;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.style-dark-bg-overlay:before {
  background: var(--fg);
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.style-dark-bg-overlay.overlay-black:before {
  background: rgba(0, 0, 0, 0.25);
}
.style-dark-bg-overlay > .txt {
  position: relative;
}
.style-dark > .txt {
  color: #fff;
}
.style-dark > .txt h1 {
  color: #fff;
}
.style-colored {
  background: var(--fg);
  color: #fff;
}
.style-colored > .txt h1,
.style-colored > .txt h2,
.style-colored > .txt h3,
.style-colored > .txt h4,
.style-colored > .txt h5 {
  color: #fff;
}
.style-colored > .txt a {
  color: #fff;
}
.style-colored > .txt a:hover {
  color: #fff;
}
.style-colored > .txt .ingress {
  color: #fff;
}
.style-colored > .txt .textblock-link {
  color: var(--fg);
}
.style-colored > .txt .textblock-link:hover {
  color: var(--fg);
}
.cols {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
}
.cols.cols-2 {
  margin: 0 -2%;
}
.cols.cols-2 > li {
  float: left;
  width: 50%;
  padding: 0 2% 4% 2%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.cols.cols-2 > li:nth-child(2n + 1) {
  clear: both;
}
.cols.cols-3 {
  margin: 0 -2%;
}
.cols.cols-3 > li {
  float: left;
  width: 33.33333333%;
  padding: 0 2% 4% 2%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.cols.cols-3 > li:nth-child(3n + 1) {
  clear: both;
}
.cols.cols-4 {
  margin: 0 -2%;
}
.cols.cols-4 > li {
  float: left;
  width: 25%;
  padding: 0 2% 4% 2%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.cols.cols-4 > li:nth-child(4n + 1) {
  clear: both;
}
.screen-slide {
  height: 100vh;
}
@media (max-width: 760px) {
  .screen-slide {
    height: auto;
    min-height: 100vw;
  }
}
.block {
  position: relative;
}
.block > .anchor {
  position: absolute;
  margin-top: -47px;
  width: 1px;
  height: 1px;
}
.block > .txt {
  padding-top: 14.4vw;
  padding-bottom: 14.4vw;
}
@media (min-width: 1250px) {
  .block > .txt {
    padding-top: 180px;
  }
}
@media (max-width: 760px) {
  .block > .txt {
    padding-top: 109.44px;
  }
}
@media (min-width: 1250px) {
  .block > .txt {
    padding-bottom: 180px;
  }
}
@media (max-width: 760px) {
  .block > .txt {
    padding-bottom: 109.44px;
  }
}
@media (max-width: 760px) {
  .block > .txt {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.block.padding-layout-higher > .txt {
  padding-top: 14.4vw;
  padding-bottom: 14.4vw;
}
@media (min-width: 1250px) {
  .block.padding-layout-higher > .txt {
    padding-top: 180px;
  }
}
@media (max-width: 760px) {
  .block.padding-layout-higher > .txt {
    padding-top: 109.44px;
  }
}
@media (min-width: 1250px) {
  .block.padding-layout-higher > .txt {
    padding-bottom: 180px;
  }
}
@media (max-width: 760px) {
  .block.padding-layout-higher > .txt {
    padding-bottom: 109.44px;
  }
}
.block.padding-layout-lower > .txt {
  padding-top: 6.4vw;
  padding-bottom: 6.4vw;
}
@media (min-width: 1250px) {
  .block.padding-layout-lower > .txt {
    padding-top: 80px;
  }
}
@media (max-width: 760px) {
  .block.padding-layout-lower > .txt {
    padding-top: 48.64px;
  }
}
@media (min-width: 1250px) {
  .block.padding-layout-lower > .txt {
    padding-bottom: 80px;
  }
}
@media (max-width: 760px) {
  .block.padding-layout-lower > .txt {
    padding-bottom: 48.64px;
  }
}
.block.padding-layout-top_bottom_empty > .txt {
  padding-top: 0;
  padding-bottom: 0;
}
.block.padding-layout-bottom_empty > .txt {
  padding-bottom: 0;
}
.block.padding-layout-top_empty > .txt {
  padding-top: 0;
}
.block.layout-narrower > .page-wrapper {
  max-width: 60em;
  margin: 0 auto;
}
.block.layout-narrower2 > .page-wrapper {
  max-width: 40em;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .block.layout-narrower2 > .page-wrapper {
    padding-left: 44px;
    padding-right: 44px;
  }
}
.block.text-alignment-center {
  text-align: center;
}
::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: var(--fg);
  text-indent: 0;
}
:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: var(--fg);
  opacity: 1;
  text-indent: 0;
}
::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: var(--fg);
  opacity: 1;
  text-indent: 0;
}
:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--fg);
  text-indent: 0;
}
#popup {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: black center center no-repeat;
  background-size: cover;
  z-index: 2000;
  transform-style: preserve-3d;
}
body.show-popup #popup {
  display: block;
}
#popup > .content {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
}
body.show-popup {
  overflow: hidden;
}
.help {
  font-size: 90%;
  color: gray;
}
.mfp-content {
  padding-top: 40px;
}
p:first-child a.mfp-close {
  cursor: pointer;
  cursor: hand;
  background-size: 100%;
  background-image: url("images/icon-close.svg");
  width: 30px;
  height: 30px;
  display: block;
  position: absolute;
  right: 0;
  margin-top: -15px;
}
p:first-child a.mfp-close > span {
  display: none;
}
.go-back {
  padding-bottom: 3em;
}
.go-back > a {
  text-transform: uppercase;
  font-size: 80%;
}
/*
.events {
    > .month {
        text-align: left;
        > .collapser {
            display: inline-block;
            vertical-align: middle;
            position: relative;
            top: -0.1em;
            > svg {
                display: block;
                width: 1em;
                height: 1em;
                fill: @color1;
            }

            > span {
                position: absolute;
                top: 0;
                left: 0.2em;
                line-height: 0.9;
                color: @color1-fg;
            }
            > .expand {
                display: block;
            }
            > .collapse {
                display: none;
            }

            &:hover {
                > svg {
                    fill: @color1-hover;
                }
            }
        }
    }

    > .schedule tbody tr:nth-child(n + 6) {
        display: none;
    }

    &.open {
        > .more-link-wrapper {
            display: none;
        }
        > .schedule tbody tr:nth-child(n + 6) {
            display: table-row;
        }
    }

    + .events {
        padding-top: 1.5em;
    }
}
.schedule {
    width: 100%;
    border-collapse: collapse;
    position: relative;
    th,
    td {
        padding: 0.5em 1em;
        text-align: left;
    }
    > thead > tr {
        > .buy {
            text-align: center;
        }
    }
    > tbody > tr {
        > .date {
            font-weight: normal;
            text-align: left;
        }

        > .time {
        }
        > .name {
        }
        > .available {
        }
        > .buy {
            text-align: right;
        }
    }

    .date {
        width: 9em;
    }

    .time {
        width: 15%;
    }
    .name {
    }
    .available {
        width: 30%;
    }
    .buy {
        text-align: right;
        width: 9em;
    }

    > tbody > tr:nth-child(odd) {
        > * {
            background: #fff;
        }
    }

    @media (max-width: 760px) {
        th,
        td {
            padding: 0.5em 1em 1.5em 1em;
        }
        .date {
            white-space: nowrap;
        }

        .time {
            padding: 0 0 0 1em;
            position: absolute;
            left: 0;
            background: none !important;
            margin-top: 3em;
            white-space: nowrap;
        }
    }

    @media (max-width: 660px) {
        .date {
            width: 5em;
        }
        .available {
            display: none;
        }
        .time {
            padding: 0 0 0 1em;
            margin-top: 3em;
        }
    }
}
*/
.buttons {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  padding: 0.5em 0 0 0;
}
.buttons > li {
  display: inline-block;
  margin-bottom: 0.5em;
}
.buttons > li + li {
  margin-left: 0.5em;
}
#block-anim1-vis {
  position: absolute;
  left: 0;
}
.block-anim1 {
  position: relative;
  padding: 10.5em 0;
}
.block-anim1 > .decor {
  position: absolute;
  top: -4em;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 8em;
  height: auto;
}
@media (max-width: 760px) {
  .block-anim1 > .decor {
    font-size: 13px;
  }
}
.block-anim1 > .vis {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 1px;
}
@media (max-width: 760px) {
  .block-anim1 {
    padding: 8em 0 6em 0;
  }
}
.block-anim1 > .content {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 7.2vw;
  height: 3em;
  position: relative;
  color: var(--fg);
}
@media (min-width: 1250px) {
  .block-anim1 > .content {
    font-size: 90px;
  }
}
@media (max-width: 760px) {
  .block-anim1 > .content {
    font-size: 54.72px;
  }
}
.block-anim1 > .content > div {
  height: 1em;
  position: absolute;
  top: 0;
  white-space: nowrap;
}
@media (min-width: 760px) {
  .block-anim1 > .content > .row1 {
    left: -15em;
  }
  .block-anim1 > .content > .row2 {
    top: 1em;
    right: -15em;
  }
  .block-anim1 > .content > .row3 {
    top: 2em;
    left: -15em;
  }
  .block-anim1 > .content > .row2-mobile {
    display: none;
  }
  .block-anim1 > .content > .row3-mobile {
    display: none;
  }
}
@media (max-width: 760px) {
  .block-anim1 > .content {
    height: 5em;
  }
  .block-anim1 > .content > .row1 {
    left: -15em;
  }
  .block-anim1 > .content > .row2 {
    top: 1em;
    right: -15em;
  }
  .block-anim1 > .content > .row2-mobile {
    top: 2em;
    left: -15em;
  }
  .block-anim1 > .content > .row3 {
    top: 4em;
    right: -15em;
    display: block;
  }
  .block-anim1 > .content > .row3-mobile {
    top: 3em;
    left: -15em;
    display: block;
  }
}
.block-articles-list h1 {
  text-align: center;
}
.block-articles-list .article-list {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  padding-top: 3em;
  margin: 0 -1em;
}
.block-articles-list .article-list > li {
  box-sizing: border-box;
  flex: 0 0 33.3333%;
  padding: 0 1em;
  padding-bottom: 0;
}
.block-articles-list .article-list > li:last-child {
  border-right: 0;
}
@media (max-width: 760px) {
  .block-articles-list .article-list > li {
    flex: 0 0 50%;
  }
}
.block-articles-list .article-list-item {
  padding: 0 0 3em 0;
}
.block-articles-list .article-list-item .image {
  margin-bottom: 1.5em;
  -webkit-background-size: cover;
  background-position: center center;
  background-size: cover;
  border: 1px solid #efefef;
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: opacity 0.25s;
}
.block-articles-list .article-list-item .image > .empty {
  padding: 56.25% 0 0 0;
}
.block-articles-list .article-list-item .details {
  overflow: hidden;
  padding: 0 0 2em 0;
}
.block-articles-list .article-list-item .details .meta {
  padding: 0 0 1em 0;
}
.block-articles-list .article-list-item .details h2 {
  color: inherit;
  text-align: left;
  padding-top: 0;
  padding-bottom: 1em;
}
.block-articles-list .article-list-item .details .excerpt {
  font-size: 90%;
  line-height: 1.4;
}
.block-articles-list .article-list-item > a {
  display: block;
  color: var(--fg);
}
.block-articles-list .article-list-item > a:hover {
  color: var(--fg);
}
@media (max-width: 760px) {
  .block-articles-list .article-list-item .excerpt {
    display: none;
  }
}
.block-articles-list .more-link-wrapper {
  padding: 1.5em 0 0 0;
  text-align: center;
}
.block-articles-list .buttons {
  text-align: center;
}
.block-articles-home .article-list {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  box-sizing: border-box;
  margin: 0 -2%;
}
.block-articles-home .article-list > li {
  float: left;
  width: 33.33333333%;
  padding: 0 2% 4% 2%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.block-articles-home .article-list > li:nth-child(3n + 1) {
  clear: both;
}
.block-articles-home .article-list > li:last-child {
  border-right: 0;
}
@media (max-width: 760px) {
  .block-articles-home .article-list {
    display: block;
    margin: 0 -2%;
  }
  .block-articles-home .article-list > li:nth-child(3n + 1) {
    clear: none;
  }
  .block-articles-home .article-list > li {
    float: left;
    width: 50%;
    padding: 0 2% 4% 2%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
  .block-articles-home .article-list > li:nth-child(2n + 1) {
    clear: both;
  }
  .block-articles-home .article-list > li {
    border-right: 0;
  }
}
.block-articles-home .article-list-item {
  padding: 0 0 3em 0;
}
.block-articles-home .article-list-item .image {
  margin-bottom: 1.5em;
  -webkit-background-size: cover;
  background-position: center center;
  background-size: cover;
  border: 1px solid #efefef;
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: opacity 0.25s;
}
.block-articles-home .article-list-item .image > .empty {
  padding: 56.25% 0 0 0;
}
.block-articles-home .article-list-item .details {
  overflow: hidden;
  padding: 0 0 2em 0;
}
.block-articles-home .article-list-item .details .meta {
  padding: 0 0 1em 0;
}
.block-articles-home .article-list-item .details h2 {
  color: inherit;
  text-align: left;
  padding-top: 0;
  padding-bottom: 1em;
  font-size: 1.6vw;
}
@media (min-width: 1250px) {
  .block-articles-home .article-list-item .details h2 {
    font-size: 20px;
  }
}
@media (max-width: 760px) {
  .block-articles-home .article-list-item .details h2 {
    font-size: 12.16px;
  }
}
.block-articles-home .article-list-item .details .excerpt {
  font-size: 90%;
  line-height: 1.4;
}
.block-articles-home .article-list-item > a {
  display: block;
  color: var(--fg);
}
.block-articles-home .article-list-item > a:hover {
  color: var(--fg);
}
@media (max-width: 760px) {
  .block-articles-home .article-list-item .excerpt {
    display: none;
  }
}
.block-articles-home .more-link-wrapper {
  padding: 1.5em 0 0 0;
  text-align: center;
}
.block-central-items .images {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  margin: 0 -1em;
  padding-top: 3em;
}
.block-central-items .images.images-4 > li {
  width: 24%;
}
@media (max-width: 860px) {
  .block-central-items .images.images-4 > li {
    width: 100%;
  }
  .block-central-items .images.images-4 > li > div > .img-wrapper,
  .block-central-items .images.images-4 > li > a > .img-wrapper {
    width: 3em;
  }
}
.block-central-items .images > li {
  display: inline-block;
  vertical-align: top;
  width: 33%;
  padding: 0 0.75em 2em 0.75em;
  box-sizing: border-box;
}
.block-central-items .images > li > div,
.block-central-items .images > li > a {
  display: block;
  color: inherit;
  transition: color 0.15s;
  overflow: hidden;
}
.block-central-items .images > li > div > .img-wrapper,
.block-central-items .images > li > a > .img-wrapper {
  width: 5em;
  display: block;
  margin: 0 auto;
  margin-bottom: 1.5em;
  float: left;
  margin-right: 1em;
  padding: 0.2em;
}
.block-central-items .images > li > div > .img-wrapper > svg,
.block-central-items .images > li > a > .img-wrapper > svg {
  width: 100%;
  height: auto;
  fill: var(--fg);
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
}
.block-central-items .images > li > div > .img-wrapper > .img,
.block-central-items .images > li > a > .img-wrapper > .img {
  box-sizing: border-box;
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
  padding-top: 100%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.block-central-items .images > li > div > .content,
.block-central-items .images > li > a > .content {
  padding-top: 0.75em;
  overflow: hidden;
}
.block-central-items .images > li > a:hover svg,
.block-central-items .images > li > a:hover .img {
  opacity: 0.6;
}
@media (max-width: 860px) {
  .block-central-items .images > li {
    width: 100%;
  }
  .block-central-items .images > li > div > .img-wrapper,
  .block-central-items .images > li > a > .img-wrapper {
    width: 3em;
  }
}
.block-central-items .more-link-wrapper {
  text-align: center;
}
.block-central-items .footer {
  clear: both;
}
.block-contacts a {
  color: var(--fg);
}
.block-contacts a:hover {
  color: var(--fg);
}
.block-contacts .items {
  overflow: hidden;
  text-align: center;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  padding-top: 3em;
}
.block-contacts .items > li {
  display: inline-block;
  width: 33%;
  vertical-align: top;
}
@media (max-width: 760px) {
  .block-contacts .items > li {
    float: none;
    width: 80%;
    display: block;
    margin: 0 auto;
    padding-bottom: 2em;
  }
}
.block-contacts .items .img-wrapper {
  display: block;
  margin: 0 auto;
  max-width: 88%;
}
.block-contacts .items .img {
  box-sizing: border-box;
  padding-top: 100%;
  background-position: center center;
  background-size: cover;
  margin-bottom: 1.5em;
  display: block;
  overflow: hidden;
  opacity: 1;
  border-radius: 50%;
  transition: opacity 0.15s;
}
.block-contacts .more-link-wrapper {
  text-align: center;
}
body.page-yhteystiedot .block-contacts .footer {
  position: relative;
  padding-top: 3.5em;
  margin-top: 0.5em;
}
.block-central-items2,
.block-central-items2.style-dark {
  position: relative;
  /* BIRDI
    > .decor {
        position: absolute;
        top: -8em;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 16em;
        height: auto;
        @media (max-width: 760px) {
            font-size: 11px;
        }
    }
*/
  text-align: center;
}
.block-central-items2 > .decor,
.block-central-items2.style-dark > .decor {
  position: absolute;
  top: -4em;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 8em;
  height: auto;
}
@media (max-width: 760px) {
  .block-central-items2 > .decor,
  .block-central-items2.style-dark > .decor {
    font-size: 13px;
  }
}
.block-central-items2.has-decor > .txt,
.block-central-items2.style-dark.has-decor > .txt {
  padding-top: 14.4vw;
}
@media (min-width: 1250px) {
  .block-central-items2.has-decor > .txt,
  .block-central-items2.style-dark.has-decor > .txt {
    padding-top: 180px;
  }
}
@media (max-width: 760px) {
  .block-central-items2.has-decor > .txt,
  .block-central-items2.style-dark.has-decor > .txt {
    padding-top: 109.44px;
  }
}
@media (max-width: 760px) {
  .block-central-items2.has-decor > .txt,
  .block-central-items2.style-dark.has-decor > .txt {
    padding-top: 100px;
  }
}
.block-central-items2 > .txt > .content,
.block-central-items2.style-dark > .txt > .content {
  max-width: 40em;
  margin: 0 auto;
  color: var(--fg);
}
.block-central-items2 > .txt > .content h1,
.block-central-items2.style-dark > .txt > .content h1,
.block-central-items2 > .txt > .content .ingress,
.block-central-items2.style-dark > .txt > .content .ingress {
  color: var(--fg);
}
.block-central-items2 > .txt > .content h3,
.block-central-items2.style-dark > .txt > .content h3 {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.block-central-items2 > .txt > .images-wrapper > .images,
.block-central-items2.style-dark > .txt > .images-wrapper > .images {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  margin-top: 3em;
  text-align: left;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
@media (max-width: 760px) {
  .block-central-items2 > .txt > .images-wrapper > .images,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images {
    font-size: 80%;
    display: block;
  }
}
.block-central-items2 > .txt > .images-wrapper > .images > li,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li {
  vertical-align: top;
  padding: 1.4em;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div {
  display: block;
  color: inherit;
  transition: color 0.15s;
  overflow: hidden;
  position: relative;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .close-open,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .close-open {
  display: none;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper {
  display: block;
  width: 10em;
  max-width: 100%;
  margin-bottom: 1em;
  position: relative;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > h2,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > h2 {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  font-size: 150%;
  padding: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: left;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > svg,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > svg {
  width: 100%;
  height: auto;
  fill: var(--fg);
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > .img,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > .img {
  box-sizing: border-box;
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
@media (min-width: 760px) {
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > .empty,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper > .empty {
    padding-top: 50% !important;
  }
}
@media (max-width: 760px) {
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .img-wrapper {
    max-height: 5em;
  }
}
.block-central-items2 > .txt > .images-wrapper > .images > li > div > .content,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .content {
  padding-top: 0.5em;
}
@media (max-width: 760px) {
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .content,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .content {
    max-height: 4.4em;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .content > p:first-child,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .content > p:first-child {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div.show > .content,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div.show > .content {
    max-height: none;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div.show > .content > p:first-child,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div.show > .content > p:first-child {
    overflow: visible;
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div.show > .opener > .close-open > span > i,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div.show > .opener > .close-open > span > i {
    transform: rotate(-45deg);
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div.show > .opener > .close-open > span > b,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div.show > .opener > .close-open > span > b {
    transform: rotate(45deg);
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .close-open,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .close-open {
    position: absolute;
    right: 0;
    top: 0;
    text-align: left;
    font-size: 28px;
    display: block;
    color: #fff;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span {
    pointer-events: none;
    width: 0.8em;
    height: 0.8em;
    display: block;
    position: absolute;
    top: 0.1em;
    right: 0.1em;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span > i,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span > i {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    border-top: 1px solid #fff;
    transition: border-color 0.25s, transform 0.25s;
  }
  .block-central-items2 > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span > b,
  .block-central-items2.style-dark > .txt > .images-wrapper > .images > li > div > .opener > .close-open > span > b {
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    border-top: 1px solid #fff;
    transform: rotate(90deg);
    transition: border-color 0.25s, transform 0.25s;
  }
}
.block-central-items2 > .txt > .images-wrapper > .images > li > a:hover svg,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > a:hover svg,
.block-central-items2 > .txt > .images-wrapper > .images > li > a:hover .img,
.block-central-items2.style-dark > .txt > .images-wrapper > .images > li > a:hover .img {
  opacity: 0.6;
}
.block-central-items2 .more-link-wrapper,
.block-central-items2.style-dark .more-link-wrapper {
  text-align: center;
}
.block-central-items2 .footer,
.block-central-items2.style-dark .footer {
  clear: both;
}
.block-content-cols {
  text-align: left;
}
.block-content-cols > .page-wrapper {
  max-width: 1700px;
}
.block-content-cols .content-cols {
  display: flex;
  margin: 0 -3em;
  flex-wrap: wrap;
}
.block-content-cols .content-cols > .content-col {
  box-sizing: border-box;
  padding: 3em;
  text-align: center;
}
.block-content-cols .content-cols > .content-col > a {
  display: block;
  color: var(--fg);
}
.block-content-cols .content-cols > .content-col > a:hover img {
  opacity: 0.8;
}
.block-content-cols .content-cols > .content-col img {
  transition: opacity 0.25s;
  display: block;
  width: 100% !important;
  max-width: none;
  margin-bottom: 1em;
}
.block-content-cols .content-cols.cols-2 > .content-col {
  flex: 0 0 50%;
}
.block-content-cols .content-cols.cols-3 > .content-col {
  flex: 0 0 33.3333%;
}
.block-content-cols .content-cols.cols-4 > .content-col {
  flex: 0 0 25%;
}
@media (max-width: 760px) {
  .block-content-cols > .page-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .block-content-cols .content-cols {
    display: block;
    margin: 0;
  }
  .block-content-cols .content-cols > .content-col {
    padding: 22px;
  }
}
.block-content-image {
  text-align: left;
}
.block-content-image > .txt > h1 {
  text-align: center;
}
.block-content-image .buttons {
  text-align: left;
}
.block-content-image .contents > .content {
  padding-right: 1em;
  float: left;
  width: 50%;
  box-sizing: border-box;
}
.block-content-image .contents > .image {
  padding-left: 1em;
  float: right;
  width: 50%;
  box-sizing: border-box;
}
.block-content-image .contents > .image > img {
  display: block;
  width: 100%;
}
.block-content-image .contents > .image > .content-below-image {
  position: relative;
  margin-top: 1.75em;
}
.block-content-image .contents > .image > .content-below-image .buttons {
  margin-top: 0;
  padding-top: 0.8em;
  text-align: left;
}
@media (max-width: 660px) {
  .block-content-image .contents > .content {
    padding-right: 0;
    float: none;
    width: auto;
  }
  .block-content-image .contents > .image {
    float: none;
    width: auto;
    padding-left: 0;
  }
  .block-content-image .contents > .image > img {
    margin-top: 3em;
  }
}
.block-content-image.image-placement-left .contents > .content {
  float: right;
  padding-left: 1em;
  padding-right: 0;
}
.block-content-image.image-placement-left .contents > .image {
  float: left;
  padding-left: 0;
  padding-right: 1em;
}
@media (max-width: 660px) {
  .block-content-image.image-placement-left .contents > .content {
    padding-right: 0;
    float: none;
    width: auto;
  }
  .block-content-image.image-placement-left .contents > .image {
    float: none;
    width: auto;
    padding-left: 0;
  }
}
body.page-palvelut .block-content-image .contents > .image > img {
  width: auto;
  height: 27em;
  margin: 0 auto;
}
@media (max-width: 660px) {
  body.page-palvelut .block-content-image .contents > .image > img {
    margin-top: 3em;
    height: 17em;
  }
}
.block-content-image2 {
  text-align: left;
}
.block-content-image2 > .txt {
  padding-top: 0;
  padding-bottom: 0;
}
.block-content-image2 > .txt > h1 {
  text-align: center;
}
.block-content-image2 .contents {
  display: flex;
}
.block-content-image2 .contents > .content {
  box-sizing: border-box;
  flex: 0 0 50%;
  align-self: center;
}
.block-content-image2 .contents > .content > .content-padder {
  max-width: 615px;
  margin: 0 0 0 auto;
  padding-left: 4.4vw;
  padding-right: 4.4vw;
  box-sizing: border-box;
}
@media (min-width: 1250px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-left: 55px;
  }
}
@media (max-width: 760px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-left: 33.44px;
  }
}
@media (min-width: 1250px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-right: 55px;
  }
}
@media (max-width: 760px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-right: 33.44px;
  }
}
.block-content-image2 .contents > .image {
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  flex: 0 0 50%;
  box-sizing: border-box;
  align-self: center;
}
.block-content-image2 .contents > .image > .img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
}
.block-content-image2.image-placement-left .contents > .content {
  order: 2;
}
.block-content-image2.image-placement-left .contents > .content > .content-padder {
  margin: 0 auto 0 0;
}
.block-content-image2.image-placement-left .contents > .image {
  order: 1;
}
@media (max-width: 760px) {
  .block-content-image2 .contents {
    display: block;
  }
  .block-content-image2 .contents > .content > .content-padder {
    max-width: none;
    margin: 0 auto;
    padding-left: 22px;
    padding-right: 22px;
    padding-top: 10.4vw;
    padding-bottom: 2em;
  }
}
@media (max-width: 760px) and (min-width: 1250px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-top: 130px;
  }
}
@media (max-width: 760px) and (max-width: 760px) {
  .block-content-image2 .contents > .content > .content-padder {
    padding-top: 79.04px;
  }
}
.block-events {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.block-events h1 {
  text-align: center;
}
.block-events .events {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
  grid-gap: 2em 3.5em;
  gap: 2em 3.5em;
}
@media (max-width: 760px) {
  .block-events .events {
    grid-gap: 2em 22px;
    gap: 2em 22px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.block-events .events .event > .img-wrapper {
  transition: opacity 0.25s;
  clear: both;
  padding-top: 66.66666667%;
  position: relative;
}
.block-events .events .event > .img-wrapper > .img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.block-events .events .event > .datetime {
  float: left;
  color: var(--fg);
  padding: 0.2em 0 0.2em 0;
  font-size: 0.9em;
  line-height: 1.15;
}
@media (max-width: 760px) {
  .block-events .events .event > .datetime {
    font-size: 13px;
  }
}
.block-events .events .event > .title-wrapper {
  padding-top: 0.5em;
  font-size: 0.9em;
  line-height: 1.15;
}
@media (max-width: 760px) {
  .block-events .events .event > .title-wrapper {
    font-size: 13px;
  }
}
.block-events .events .event > .title-wrapper > .title {
  display: inline;
  color: var(--fg);
  padding: 0;
}
.block-events .events a.event:hover > .img-wrapper {
  opacity: 0.7;
}
.block-footer1 > .txt {
  padding-top: 3em;
  padding-bottom: 3em;
}
.block-footer1 > .txt h2 {
  font-size: inherit;
  text-transform: uppercase;
}
.block-footer1 > .txt > .contents {
  display: flex;
}
.block-footer1 > .txt > .contents > div:first-child {
  flex: 0 0 28%;
}
.block-footer1 > .txt > .contents > div {
  width: 33.3333%;
  flex: 1;
  padding-right: 1.5em;
}
.block-footer1 > .txt > .contents > .some {
  flex: 0 0 10em;
  width: 10em;
  padding-right: 0;
  text-align: right;
}
.block-footer1 > .txt > .contents > .some > .socmed-follow {
  display: inline-block;
}
.block-footer1 > .txt > .contents a {
  text-decoration: underline;
}
.block-footer1 > .txt > .copyright {
  padding-top: 2em;
  font-size: 85%;
  text-transform: uppercase;
  text-align: center;
}
.block-footer2 {
  text-align: center;
}
.block-footer2 > .page-wrapper {
  padding-bottom: 4.8vw;
  padding-top: 4.8vw;
}
@media (min-width: 1250px) {
  .block-footer2 > .page-wrapper {
    padding-bottom: 60px;
  }
}
@media (max-width: 760px) {
  .block-footer2 > .page-wrapper {
    padding-bottom: 36.48px;
  }
}
@media (min-width: 1250px) {
  .block-footer2 > .page-wrapper {
    padding-top: 60px;
  }
}
@media (max-width: 760px) {
  .block-footer2 > .page-wrapper {
    padding-top: 36.48px;
  }
}
.block-footer2 .logo {
  width: 7em;
  margin: 0 auto;
  fill: currentColor;
}
.block-footer2 .logo > svg {
  display: block;
  width: 100%;
  fill: var(--fg);
}
.block-footer2 .logo > svg > g > g > path {
  fill: var(--fg);
}
.block-footer2 .copyright {
  text-align: left;
  color: gray;
  font-size: 80%;
}
.block-footer2 .content {
  padding: 2em 0;
  max-width: 24em;
  margin: 0 auto;
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.7em;
}
.block-footer2 .content > *:last-child {
  padding-bottom: 0;
}
.block-footer3 {
  position: relative;
  text-align: center;
}
.block-footer3 > .decor {
  position: absolute;
  top: -4em;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 8em;
  height: auto;
}
.block-footer3.has-decor > .txt {
  padding-top: 17.6vw;
}
@media (min-width: 1250px) {
  .block-footer3.has-decor > .txt {
    padding-top: 220px;
  }
}
@media (max-width: 760px) {
  .block-footer3.has-decor > .txt {
    padding-top: 133.76px;
  }
}
.block-footer3 > .anchor {
  position: absolute;
  margin-top: -200px;
  width: 1px;
  height: 1px;
}
body.front-page .block-footer3 > .txt {
  padding-top: 0;
}
.block-footer3 > .txt > .copyright {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1.5em;
  color: var(--fg);
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.1em;
}
.block-footer3 > .txt > .copyright a {
  color: var(--fg);
}
.block-footer3 > .txt > .copyright a:hover {
  text-decoration: underline;
}
.block-footer3 .socmed-follow {
  color: var(--fg);
}
.block-footer3 .contents .content2 {
  padding-top: 2.5em;
}
@media (max-width: 760px) {
  .block-footer3 .contents .content2 {
    padding-top: 0.75em;
  }
}
.block-footer3 .contents .content2 h2 {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.block-footer3 .contents .img-wrapper {
  max-width: 12em;
  display: block;
  margin: 0 auto;
  margin-bottom: 1.5em;
  position: relative;
}
.block-footer3 .contents .img-wrapper:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.block-footer3 .contents .img-wrapper > svg {
  width: 100%;
  height: auto;
  fill: var(--fg);
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
}
.block-footer3 .contents .img-wrapper > .img {
  box-sizing: border-box;
  transition: opacity 0.15s;
  display: block;
  opacity: 1;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50%;
}
/**
 * Block-form-emailer
 *
 * @author Jari Pennanen
 * @version 2018-12-16
 */
.block-form-emailer {
  text-align: center;
}
.block-form-emailer h2 {
  padding-top: 1em;
  clear: both;
}
.block-form-emailer .text {
  font-weight: bold;
}
.block-form-emailer .first-name,
.block-form-emailer .postcode {
  width: 40%;
  display: block;
  float: left;
  clear: none;
}
.block-form-emailer .last-name,
.block-form-emailer .city {
  box-sizing: border-box;
  padding-left: 0.75em;
  width: 60%;
  display: block;
  float: left;
  clear: none;
}
.block-form-emailer .cols {
  width: 100%;
  display: flex;
  padding: 1.5em 0;
  margin: 0 -1em;
  text-align: left;
}
.block-form-emailer .cols > .col {
  flex: 1;
  padding: 0 1em;
}
@media (max-width: 760px) {
  .block-form-emailer .cols {
    display: block;
  }
}
.block-form-emailer textarea {
  display: block;
  width: 100%;
  height: 8.5em;
}
.block-form-emailer .actions {
  padding-bottom: 1em;
}
.block-form-emailer .insert-recaptcha {
  text-align: center;
}
.block-form-emailer .insert-recaptcha > div {
  display: inline-block;
}
.block-form-emailer .checkbox-row > label {
  display: inline-block;
  margin-right: 1.5em;
}
.block-form-emailer .form-error-message,
.block-form-emailer .error-message {
  background: red;
  color: white;
  padding: 0.3em 0.5em;
  display: block;
  font-size: 80%;
  border-radius: 0.5em;
}
.block-form-emailer .form-error-message:before,
.block-form-emailer .error-message:before {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill%3D%22white%22%20viewBox%3D%220%200%20485.249%20485.249%22%3E%3Cpath%20d%3D%22M481.249,420.625l-219-380c-4-7-11-11-19-11s-15,4-19,11l-221,382c-10,17,5,33,19,33h442%20c12,0,21-10,21-22C485.249,428.625,484.249,424.625,481.249,420.625z%20M60.249,411.625l183-317l183,317H60.249z%22/%3E%3Cpath%20d%3D%22M221.249,192.625v97c0,12,10,22,22,22s22-10,22-22v-97c0-12-10-22-22-22%20S221.249,180.625,221.249,192.625z%22/%3E%3Cpath%20d%3D%22M243.249,330.625c-15,0-27,12-27,27s12,28,27,28s27-13,27-28S258.249,330.625,243.249,330.625z%22/%3E%3C/svg%3E");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.3em;
  position: relative;
  top: -0.1em;
  vertical-align: middle;
}
.block-form-emailer .form-error-message.hidden,
.block-form-emailer .error-message.hidden {
  display: none;
}
.block-form-emailer .form-error-message {
  margin-top: 1em;
}
.block-form-emailer input[type="file"] {
  display: block;
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}
.block-form-emailer .filenames {
  display: inline-block;
  font-weight: bold;
  padding-left: 1em;
}
.block-form-emailer .empty-file {
  display: none;
}
.block-form-emailer .filled .empty-file {
  display: inline;
}
.block-form-emailer input[type="email"] + .error-message,
.block-form-emailer input[type="text"] + .error-message {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.block-form-emailer label {
  display: block;
  margin-bottom: 0.8em;
  clear: both;
}
.block-form-emailer label > .text {
  display: block;
}
.block-form-emailer .checkbox {
  display: block;
  padding-left: 2.3em;
  position: relative;
}
.block-form-emailer .checkbox input {
  position: absolute;
  left: 0;
}
.block-form-emailer .radio-serie {
  clear: both;
  padding-top: 0.4em;
  display: block;
}
.block-form-emailer .radio-serie label {
  cursor: pointer;
  cursor: hand;
  display: block;
  padding-left: 2.3em;
  padding-bottom: 0.4em;
  position: relative;
  margin-bottom: 0.2em;
}
.block-form-emailer .radio-serie label input {
  position: absolute;
  left: 0;
}
.block-form-emailer .radio-serie label:hover {
  color: var(--fg);
}
.block-form-emailer form {
  position: relative;
}
.block-form-emailer form .form-progress {
  display: none;
}
.block-form-emailer form > .loading-layer {
  position: absolute;
  transition: background 0.25s;
}
.block-form-emailer form.loading > .loading-layer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
}
.block-form-emailer form.loading > .form-progress {
  opacity: 1;
  display: block;
  bottom: 3em;
  left: 50%;
  margin-left: -2.5em;
  width: 5em;
  height: 5em;
  background-image: url("data:image/svg+xml,%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2050%2050%22%3E%3Cpath%20fill%3D%22var%28--fg%29%22%20d%3D%22M43.935,25.145c0-10.318-8.364-18.683-18.683-18.683c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615c8.072,0,14.615,6.543,14.615,14.615H43.935z%22%20transform%3D%22rotate%28129.39%2025%2025%29%22%3E%3CanimateTransform%20attributeType%3D%22xml%22%20attributeName%3D%22transform%22%20type%3D%22rotate%22%20from%3D%220%2025%2025%22%20to%3D%22360%2025%2025%22%20dur%3D%220.6s%22%20repeatCount%3D%22indefinite%22%3E%3C/animateTransform%3E%3C/path%3E%3C/svg%3E");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 2;
}
.block-form-emailer form.loading > .form-progress > .form-progress-percent {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3em;
  text-align: center;
  transform: translateX(-50%) translateY(-50%);
}
.block-form-emailer form.loading > .form-progress > .form-progress-text {
  position: absolute;
  bottom: -1.5em;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 80%;
}
.block-form-emailer form > section {
  padding: 1.15rem;
  margin: 0 0 3em 0;
  min-width: 0;
  border: 1px solid var(--fg);
}
.block-form-emailer form > section > .section-header {
  margin: -1.15rem;
  margin-bottom: 0.3em;
  padding: 0.3em 0.5em;
  background: var(--fg);
  color: #fff;
}
.block-form-emailer form > section .section-return {
  display: none;
}
.block-form-emailer form > section > .section-summary {
  display: none;
}
.block-form-emailer form > section h2 {
  margin: -1.15rem;
  margin-top: 1.7em;
  margin-bottom: 0.7em;
  padding: 1.7em 1.15rem 0.3em 1.15rem;
  border-top: 1px dotted var(--fg);
}
.block-form-emailer form > section.hide-section .section-return {
  display: block;
}
.block-form-emailer form > section.hide-section > .section-summary {
  display: block;
}
.block-form-emailer form > section.hide-section > .section-contents {
  display: none;
}
.block-form-emailer form > section.hidden {
  display: none;
}
.block-form-emailer form > section + hr {
  display: none;
}
.block-form-emailer input[type="reset"],
.block-form-emailer input[type="submit"],
.block-form-emailer .section-next {
  margin-top: 1em;
}
.block-form-emailer input[type="reset"][disabled],
.block-form-emailer input[type="submit"][disabled],
.block-form-emailer .section-next[disabled] {
  cursor: not-allowed;
  background: gray;
  color: #000;
}
.block-form-emailer input[type="reset"][disabled]:hover,
.block-form-emailer input[type="submit"][disabled]:hover,
.block-form-emailer .section-next[disabled]:hover {
  background: gray;
  color: #000;
}
.block-form-emailer .actions {
  overflow: hidden;
}
.block-form-emailer input[type="reset"] {
  float: right;
}
.block-form-emailer footer {
  padding-top: 2em;
}
.block-hero01 > .txt {
  text-align: center;
  padding-bottom: 5.6vw;
  padding-top: 12vw;
}
@media (min-width: 1250px) {
  .block-hero01 > .txt {
    padding-bottom: 70px;
  }
}
@media (max-width: 760px) {
  .block-hero01 > .txt {
    padding-bottom: 42.56px;
  }
}
@media (min-width: 1250px) {
  .block-hero01 > .txt {
    padding-top: 150px;
  }
}
@media (max-width: 760px) {
  .block-hero01 > .txt {
    padding-top: 91.2px;
  }
}
@media (max-width: 760px) {
  .block-hero01 > .txt {
    padding-top: 8em;
    padding-bottom: 6em;
  }
}
.block-hero01 > .txt > h1 {
  color: var(--bg);
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 7.2vw;
}
@media (min-width: 1250px) {
  .block-hero01 > .txt > h1 {
    font-size: 90px;
  }
}
@media (max-width: 760px) {
  .block-hero01 > .txt > h1 {
    font-size: 54.72px;
  }
}
@media (max-width: 760px) {
  .block-hero01 > .txt > h1 {
    font-size: 5vw;
  }
}
.block-hero02 {
  text-align: left;
}
.block-hero02 > .txt {
  padding-top: 0;
  padding-bottom: 0;
  min-height: 45vw;
}
.block-hero02 h1 {
  font-size: 4.8vw;
}
@media (min-width: 1250px) {
  .block-hero02 h1 {
    font-size: 60px;
  }
}
@media (max-width: 760px) {
  .block-hero02 h1 {
    font-size: 36.48px;
  }
}
@media (max-width: 760px) {
  .block-hero02 h1 {
    font-size: 30px;
  }
}
.block-hero02 .contents {
  display: flex;
}
.block-hero02 .contents > .content {
  z-index: 2;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  align-self: center;
  display: flex;
}
.block-hero02 .contents > .content > .content-padder {
  width: 42%;
  align-self: center;
}
.block-hero02 .contents > .image {
  box-sizing: border-box;
  position: absolute;
  left: 45%;
  right: 0;
  top: 0;
  bottom: 0;
}
.block-hero02 .contents > .image > .img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
}
@media (max-width: 660px) {
  .block-hero02 .contents {
    display: block;
  }
  .block-hero02 .contents > .content {
    padding: 6% 5%;
    float: none;
    width: auto;
  }
  .block-hero02 .contents > .content > .content-padder {
    width: auto;
  }
  .block-hero02 .contents > .image {
    position: relative;
    padding-top: 90%;
    left: 0;
    right: 0;
  }
}
.block-hero02.image-placement-left .contents .content-padder {
  margin: 0 auto 0 0;
}
.block-hero02.image-placement-left .contents > .content {
  float: right;
}
.block-hero02.image-placement-left .contents > .image {
  left: 0;
  right: 50%;
}
@media (max-width: 660px) {
  .block-hero02.image-placement-left .contents .content-padder {
    max-width: none;
  }
  .block-hero02.image-placement-left .contents > .content {
    padding: 6% 5%;
    float: none;
    width: auto;
  }
  .block-hero02.image-placement-left .contents > .image {
    position: relative;
    padding-top: 50%;
    left: 0;
    right: 0;
  }
}
.block-hero03 > .page-wrapper {
  display: flex;
  max-width: 1190px;
  margin: 0 auto;
  padding-top: 4em;
  padding-bottom: 4em;
}
@media (max-width: 760px) {
  .block-hero03 > .page-wrapper {
    display: block;
  }
}
.block-hero03 .datetime-location {
  flex: 0 0 26%;
  align-self: center;
  box-sizing: border-box;
  font-size: 1.76vw;
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
@media (min-width: 1250px) {
  .block-hero03 .datetime-location {
    font-size: 22px;
  }
}
@media (max-width: 760px) {
  .block-hero03 .datetime-location {
    font-size: 13.376px;
  }
}
@media (max-width: 760px) {
  .block-hero03 .datetime-location {
    text-align: center;
    padding-top: 1.5em;
  }
}
.block-hero03 .left-logo {
  flex: 0 0 26%;
  align-self: center;
  box-sizing: border-box;
}
.block-hero03 .left-logo > svg {
  fill: var(--fg);
  display: block;
  width: 100%;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .block-hero03 .left-logo {
    max-width: 15em;
    margin: 0 auto;
    padding-bottom: 1.5em;
  }
}
.block-hero03 .center-logo {
  box-sizing: border-box;
  flex: 0 0 48%;
  align-self: center;
  padding: 0 2em;
}
.block-hero03 .center-logo > svg {
  display: block;
  width: 100%;
  margin: 0 auto;
}
.block-hero03 .center-logo > svg > g {
  fill: var(--fg);
}
.block-image-text .texts {
  padding: 2em 0;
}
.block-image-text.text-alignment-left {
  text-align: left;
}
.block-image-text.text-alignment-left .texts {
  width: 70%;
}
@media (max-width: 760px) {
  .block-image-text.text-alignment-left .texts {
    width: auto;
  }
}
.block-image-text.text-alignment-centered {
  text-align: center;
}
.block-image-text .image {
  background-size: cover;
  background-position: center center;
  display: -webkit-flexbox;
  display: flex;
  justify-content: space-around;
  -webkit-flex-align: center;
  align-items: center;
}
.block-image-text .logo svg {
  display: block;
  width: 16vw;
  height: auto;
  margin: 0 auto;
}
@media (min-width: 1250px) {
  .block-image-text .logo svg {
    width: 200px;
  }
}
@media (max-width: 760px) {
  .block-image-text .logo svg {
    width: 121.6px;
  }
}
.block-image-text h1 {
  font-size: 7.36vw;
  border: 0;
}
@media (min-width: 1250px) {
  .block-image-text h1 {
    font-size: 92px;
  }
}
@media (max-width: 760px) {
  .block-image-text h1 {
    font-size: 55.936px;
  }
}
@media (max-width: 760px) {
  .block-image-text h1 {
    font-size: 30px;
  }
}
.block-image-text .content {
  font-size: 1.92vw;
}
@media (min-width: 1250px) {
  .block-image-text .content {
    font-size: 24px;
  }
}
@media (max-width: 760px) {
  .block-image-text .content {
    font-size: 14.592px;
  }
}
.block-image-text2 .texts {
  padding: 2em 0;
}
.block-image-text2.text-alignment-left {
  text-align: left;
}
.block-image-text2.text-alignment-left .texts {
  width: 70%;
}
@media (max-width: 760px) {
  .block-image-text2.text-alignment-left .texts {
    width: auto;
  }
}
.block-image-text2.text-alignment-centered {
  text-align: center;
}
.block-image-text2 .image {
  display: -webkit-flexbox;
  display: flex;
  justify-content: space-around;
  -webkit-flex-align: center;
  align-items: center;
}
.block-image-text2 .logo svg {
  display: block;
  width: 16vw;
  height: auto;
  margin: 0 auto;
}
@media (min-width: 1250px) {
  .block-image-text2 .logo svg {
    width: 200px;
  }
}
@media (max-width: 760px) {
  .block-image-text2 .logo svg {
    width: 121.6px;
  }
}
.block-image-text2 h1 {
  font-size: 7.36vw;
  border: 0;
}
@media (min-width: 1250px) {
  .block-image-text2 h1 {
    font-size: 92px;
  }
}
@media (max-width: 760px) {
  .block-image-text2 h1 {
    font-size: 55.936px;
  }
}
@media (max-width: 760px) {
  .block-image-text2 h1 {
    font-size: 30px;
  }
}
.block-image-text2 .content {
  font-size: 1.92vw;
}
@media (min-width: 1250px) {
  .block-image-text2 .content {
    font-size: 24px;
  }
}
@media (max-width: 760px) {
  .block-image-text2 .content {
    font-size: 14.592px;
  }
}
.block-logo-links .logogrid-title-img {
  width: 90%;
}
.block-logo-links > .txt {
  padding-bottom: 8em;
}
.block-logo-links .images {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.block-logo-links .images li {
  padding: 0 1em 2em 1em;
  margin: 0;
  display: inline-block;
  position: relative;
}
@media (max-width: 760px) {
  .block-logo-links .images li {
    padding-bottom: 0.3em;
  }
}
.block-logo-links .images li svg {
  display: block;
  height: 4em;
  max-width: 10em;
  width: auto;
  transition: opacity 0.25s;
  fill: var(--fg);
}
@media (max-width: 760px) {
  .block-logo-links .images li svg {
    height: 3.9em;
    max-width: 8em;
  }
}
.block-logo-links .images li .img {
  position: absolute;
  top: 12%;
  right: 12%;
  bottom: 12%;
  left: 12%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  transition: opacity 0.25s;
  transform: translateZ(0);
  transform-style: preserve-3d;
}
.block-logo-links .images li a:hover svg,
.block-logo-links .images li a:hover .img {
  opacity: 0.7;
}
#padder-ham {
  height: 100px;
}
body.admin-bar #padder-ham {
  padding-top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #padder-ham {
    padding-top: 46px;
  }
}
#header-ham {
  font-size: 16px;
  background: var(--bg);
  padding: 0 2em;
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  left: 0;
  text-align: center;
  color: var(--fg);
}
#header-ham a {
  color: var(--fg) !important;
  fill: var(--fg) !important;
}
#header-ham a:hover {
  color: var(--fg) !important;
  fill: var(--fg) !important;
}
body.page-referenssit #header-ham {
  background: #000;
}
body.page-referenssit #header-ham a {
  color: var(--bg) !important;
  fill: var(--bg) !important;
}
body.page-referenssit #header-ham a:hover {
  color: #fff !important;
  fill: #fff !important;
}
body.page-ota-yhteytta #header-ham {
  background: var(--fg);
}
body.page-ota-yhteytta #header-ham a {
  color: var(--bg) !important;
  fill: var(--bg) !important;
}
body.page-ota-yhteytta #header-ham a:hover {
  color: var(--fg) !important;
  fill: var(--fg) !important;
}
body.show-menu-ham #header-ham {
  background: var(--fg);
}
body.show-menu-ham #header-ham a {
  color: #fff !important;
  fill: #fff !important;
}
body.show-menu-ham #header-ham a:hover {
  color: var(--fg) !important;
  fill: var(--fg) !important;
}
#header-ham .header-title {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  font-size: 1.2em;
  padding-top: 1.75em;
  padding-bottom: 1.75em;
  display: inline-block;
  vertical-align: bottom;
}
#header-ham .header-title > a > .logo > svg,
#header-ham .header-title > a > .logo > img {
  height: 1.7em;
  width: auto;
  display: block;
  transition: fill 0.25s;
}
#header-ham .menu-side {
  z-index: 1050;
  padding-top: 2.25em;
  display: inline-block;
  vertical-align: middle;
  position: absolute;
  left: 1em;
}
#header-ham .menu-side .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  text-align: right;
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
#header-ham .menu-side .menu > li {
  padding: 0 0 0 1.2em;
  display: inline-block;
  position: relative;
}
#header-ham .menu-side .menu > li.hover-open > .sub-menu,
#header-ham .menu-side .menu > li.force-open > .sub-menu {
  transform: translateY(0);
  opacity: 1;
  height: auto;
}
#header-ham .menu-side .menu > li > .sub-menu {
  transition: all 0.25s;
  transform: translateY(-10px);
  overflow: hidden;
  opacity: 0;
  height: 0;
  position: absolute;
  left: -0.4em;
  right: 0;
  min-width: 14em;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  background: #fff;
}
#header-ham .menu-side .menu > li > .sub-menu > li {
  display: block;
  text-align: left;
}
#header-ham .menu-side .menu > li > .sub-menu > li > a {
  display: block;
  padding: 0.1em 1.2em;
  border-bottom: 1px solid #efefef;
}
#header-ham .menu-side .menu > li > .sub-menu > li:last-child > a {
  border-bottom: 1px solid transparent;
}
#header-ham .menu-side .menu > li > .sub-menu > li.current_page_parent > a,
#header-ham .menu-side .menu > li > .sub-menu > li.current-menu-item > a,
#header-ham .menu-side .menu > li > .sub-menu > li > a:hover {
  color: inherit;
}
#header-ham .menu-side .menu a {
  display: block;
  color: currentColor;
  padding: 0.35em 0;
  transition: color 0.25s;
}
body.scrolled #header-ham {
  background: var(--bg);
}
body.admin-bar #header-ham {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #header-ham {
    top: 46px;
  }
}
#menu-ham {
  background: var(--fg);
  box-sizing: border-box;
  display: block;
  height: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1095;
  overflow: auto;
  text-align: center;
  font-size: 6.4vw;
}
body.show-menu-ham #menu-ham {
  height: auto;
}
#menu-ham .padder {
  height: 120px;
}
body.admin-bar #menu-ham .padder {
  padding-top: 46px;
}
@media (min-width: 1250px) {
  #menu-ham {
    font-size: 80px;
  }
}
@media (max-width: 760px) {
  #menu-ham {
    font-size: 48.64px;
  }
}
@media (max-height: 1000px) {
  #menu-ham {
    font-size: 5.6vw;
  }
}
@media (max-height: 1000px) and (min-width: 1250px) {
  #menu-ham {
    font-size: 70px;
  }
}
@media (max-height: 1000px) and (max-width: 760px) {
  #menu-ham {
    font-size: 42.56px;
  }
}
@media (max-height: 900px) {
  #menu-ham {
    font-size: 4vw;
  }
}
@media (max-height: 900px) and (min-width: 1250px) {
  #menu-ham {
    font-size: 50px;
  }
}
@media (max-height: 900px) and (max-width: 760px) {
  #menu-ham {
    font-size: 30.4px;
  }
}
#menu-ham .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  line-height: 1;
  text-transform: uppercase;
  padding: 1em 0 0;
}
#menu-ham .menu a {
  color: #fff;
}
#menu-ham .menu li.current-page-ancestor > a,
#menu-ham .menu li.menu-item-object-page.current-menu-item > a,
#menu-ham .menu li.menu-item-object-page.current_page_item > a,
#menu-ham .menu li > a:hover {
  color: var(--fg);
}
#menu-ham .menu li {
  display: block;
  padding: 0.65em;
}
#menu-ham .menu .sub-menu a {
  font-size: 15px;
}
#menu-ham .socmed-follow {
  color: #fff;
  font-size: 50%;
}
#menu-ham .socmed-follow a:hover svg {
  fill: var(--fg) !important;
}
#btn-ham {
  box-sizing: border-box;
  display: block;
  background: none;
  border-radius: 50%;
  margin: 0;
  padding: 2.25em 1em;
  position: absolute;
  top: 0;
  right: 1.3em;
  z-index: 1040;
}
body.show-menu-ham #btn-ham {
  background: none;
}
#btn-ham > .wrapper {
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: background 0.25s;
  display: block;
  z-index: 1050;
  opacity: 1;
  width: 1.4em;
  height: 1em;
}
#btn-ham > .wrapper > i {
  position: absolute;
  display: block;
  height: 2px;
  top: 0;
  left: 0;
  right: 0;
  background: currentColor;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
#btn-ham > .wrapper > .a {
  top: 0;
}
#btn-ham > .wrapper > .b2,
#btn-ham > .wrapper > .b {
  top: 0.5em;
}
#btn-ham > .wrapper > .c {
  top: 1em;
}
@media (hover: hover) {
  #btn-ham > .wrapper:hover > .a,
  #btn-ham > .wrapper:hover > .b,
  #btn-ham > .wrapper:hover > .b2,
  #btn-ham > .wrapper:hover > .c {
    background: currentColor;
  }
}
body.show-menu-ham #btn-ham > .wrapper > .a {
  opacity: 0;
  background: #fff;
  transform: translateY(0.5em);
}
body.show-menu-ham #btn-ham > .wrapper > .b2 {
  transform: rotate(-45deg);
  background: #fff;
}
body.show-menu-ham #btn-ham > .wrapper > .b {
  transform: rotate(45deg);
  background: #fff;
}
body.show-menu-ham #btn-ham > .wrapper > .c {
  opacity: 0;
  background: #fff;
  transform: translateY(-0.5em);
}
@media (max-width: 760px) {
  #padder-ham,
  #header-ham,
  #menu-ham,
  #btn-ham {
    display: none;
  }
}
.block-map {
  overflow: hidden;
}
.block-map iframe {
  display: block;
  border: 0;
  width: 100% !important;
  margin-top: -55px;
}
@media (max-width: 760px) {
  .block-map iframe {
    height: 500px !important;
  }
}
#padder-mobile {
  height: 71px;
}
body.admin-bar #padder-mobile {
  padding-top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #padder-mobile {
    padding-top: 46px;
  }
}
#header-mobile {
  font-size: 16px;
  background: var(--bg);
  padding: 0 2em;
  position: fixed;
  z-index: 1100;
  top: 0;
  right: 0;
  left: 0;
  text-align: left;
  color: var(--fg);
}
#header-mobile a {
  color: var(--fg) !important;
  fill: var(--fg) !important;
}
body.page-referenssit #header-mobile {
  background: #000;
}
body.page-referenssit #header-mobile a {
  color: var(--bg) !important;
  fill: var(--bg) !important;
}
body.page-ota-yhteytta #header-mobile {
  background: var(--fg);
}
body.page-ota-yhteytta #header-mobile a {
  color: var(--bg) !important;
  fill: var(--bg) !important;
}
body.show-menu-mobile #header-mobile {
  background: var(--fg);
}
body.show-menu-mobile #header-mobile a {
  color: #fff !important;
  fill: #fff !important;
}
#header-mobile .header-title {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  font-size: 1.2em;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  display: inline-block;
  vertical-align: bottom;
}
#header-mobile .header-title > a > .logo > svg,
#header-mobile .header-title > a > .logo > img {
  height: 1.7em;
  width: auto;
  display: block;
  transition: fill 0.25s;
}
body.scrolled #header-mobile {
  background: var(--bg);
}
body.admin-bar #header-mobile {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #header-mobile {
    top: 46px;
  }
}
#menu-mobile {
  font-size: 16px;
  background: var(--fg);
  box-sizing: border-box;
  display: block;
  height: 0;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1095;
  overflow: auto;
  text-align: left;
}
body.show-menu-mobile #menu-mobile {
  height: auto;
}
#menu-mobile .padder {
  height: 120px;
}
body.admin-bar #menu-mobile .padder {
  padding-top: 46px;
}
#menu-mobile .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  padding: 4em 2em;
}
#menu-mobile .menu a {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  font-size: 230%;
  text-transform: uppercase;
  color: #fff;
}
#menu-mobile .menu li.current-page-ancestor > a,
#menu-mobile .menu li.menu-item-object-page.current-menu-item > a,
#menu-mobile .menu li.menu-item-object-page.current_page_item > a {
  color: var(--fg);
}
#menu-mobile .menu li {
  display: block;
  padding: 0 0 2.5em 0;
}
#menu-mobile .menu .sub-menu a {
  font-size: 15px;
}
#menu-mobile .socmed-follow {
  color: #fff;
  font-size: 150%;
  text-align: left;
  padding-left: 0.85em;
}
#menu-mobile .socmed-follow a:hover svg {
  fill: var(--fg) !important;
}
#btn-mobile {
  box-sizing: border-box;
  display: block;
  background: none;
  border-radius: 50%;
  margin: 0;
  padding: 2em 1em;
  position: absolute;
  top: 0;
  right: 1em;
  z-index: 1040;
}
body.show-menu-mobile #btn-mobile {
  background: none;
}
#btn-mobile > .wrapper {
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: background 0.25s;
  display: block;
  z-index: 1050;
  opacity: 1;
  width: 1.9em;
  height: 1.5em;
}
#btn-mobile > .wrapper > i {
  position: absolute;
  display: block;
  height: 2px;
  top: 0;
  left: 0;
  right: 0;
  background: currentColor;
  transition: all 0.2s;
  transform-origin: 50% 50%;
}
#btn-mobile > .wrapper > .a {
  top: 0;
}
#btn-mobile > .wrapper > .b2,
#btn-mobile > .wrapper > .b {
  top: 0.75em;
}
#btn-mobile > .wrapper > .c {
  top: 1.5em;
}
body.show-menu-mobile #btn-mobile > .wrapper > .a {
  opacity: 0;
  background: #fff;
  transform: translateY(0.75em);
}
body.show-menu-mobile #btn-mobile > .wrapper > .b2 {
  transform: rotate(-45deg);
  background: #fff;
}
body.show-menu-mobile #btn-mobile > .wrapper > .b {
  transform: rotate(45deg);
  background: #fff;
}
body.show-menu-mobile #btn-mobile > .wrapper > .c {
  opacity: 0;
  background: #fff;
  transform: translateY(-0.75em);
}
body.show-menu-mobile {
  overflow: hidden;
}
@media (min-width: 760px) {
  #padder-mobile,
  #header-mobile,
  #menu-mobile,
  #btn-mobile {
    display: none;
  }
}
html #wpadminbar {
  z-index: 20000 !important;
}
body.admin-bar #menu {
  top: 32px;
}
#menu-padder {
  display: block;
}
body.admin-bar #menu-padder {
  padding-top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #menu-padder {
    padding-top: 46px;
  }
}
@media (max-width: 760px) {
  #menu-padder {
    display: none;
  }
}
#menu {
  color: #000;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;
  padding: 0;
  transition: background-color 0.25s;
  text-align: right;
  font-size: 1.2vw;
}
@media (min-width: 1250px) {
  #menu {
    font-size: 15px;
  }
}
@media (max-width: 760px) {
  #menu {
    font-size: 9.12px;
  }
}
@media (max-width: 760px) {
  #menu {
    font-size: 15px;
  }
}
body.scrolled #menu {
  background: #fff;
}
@media (max-width: 760px) {
  #menu {
    display: none;
  }
}
#menu .header-wrapper {
  padding-top: 2vw;
  padding-bottom: 2vw;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
@media (min-width: 1250px) {
  #menu .header-wrapper {
    padding-top: 25px;
  }
}
@media (max-width: 760px) {
  #menu .header-wrapper {
    padding-top: 15.2px;
  }
}
@media (min-width: 1250px) {
  #menu .header-wrapper {
    padding-bottom: 25px;
  }
}
@media (max-width: 760px) {
  #menu .header-wrapper {
    padding-bottom: 15.2px;
  }
}
#menu h1.header-title {
  float: left;
  padding-top: 0.7em;
  padding-bottom: 0;
  border: 0;
  font-size: 1rem;
}
#menu h1.header-title > a {
  position: relative;
  z-index: 1060;
  color: #000;
  transition: color 0.25s;
}
#menu h1.header-title > a > .logo > svg,
#menu h1.header-title > a > .logo > img {
  display: block;
  height: 2.8vw;
  width: auto;
  margin-right: 1.5em;
  fill: #000;
  transition: fill 0.25s, opacity 0.25s;
}
@media (min-width: 1250px) {
  #menu h1.header-title > a > .logo > svg,
  #menu h1.header-title > a > .logo > img {
    height: 35px;
  }
}
@media (max-width: 760px) {
  #menu h1.header-title > a > .logo > svg,
  #menu h1.header-title > a > .logo > img {
    height: 21.28px;
  }
}
#menu h1.header-title > a:hover {
  color: #555;
}
#menu h1.header-title > a:hover > .logo > svg {
  fill: #555;
}
#menu h1.header-title > a:hover > .logo > img {
  opacity: 0.7;
}
body.scheme-menu-white #menu h1.header-title > a {
  color: #fff;
}
body.scheme-menu-white #menu h1.header-title > a:hover {
  color: var(--fg);
}
#menu .menu-main {
  z-index: 1050;
  padding-top: 0;
  display: inline-block;
  vertical-align: middle;
}
#menu .menu-main .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  text-align: right;
}
#menu .menu-main .menu > li {
  padding: 0 0 0 1.2em;
  display: inline-block;
  position: relative;
}
#menu .menu-main .menu > li.hover-open > .sub-menu,
#menu .menu-main .menu > li.force-open > .sub-menu {
  transform: translateY(0);
  opacity: 1;
  height: auto;
}
#menu .menu-main .menu > li > .sub-menu {
  transition: all 0.25s;
  transform: translateY(-10px);
  overflow: hidden;
  opacity: 0;
  height: 0;
  position: absolute;
  left: -0.4em;
  right: 0;
  min-width: 14em;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  background: #fff;
}
#menu .menu-main .menu > li > .sub-menu > li {
  display: block;
  text-align: left;
}
#menu .menu-main .menu > li > .sub-menu > li > a {
  display: block;
  padding: 0.1em 1.2em;
  border-bottom: 1px solid #efefef;
}
#menu .menu-main .menu > li > .sub-menu > li:last-child > a {
  border-bottom: 1px solid transparent;
}
#menu .menu-main .menu > li > .sub-menu > li.current_page_parent > a,
#menu .menu-main .menu > li > .sub-menu > li.current-menu-item > a,
#menu .menu-main .menu > li > .sub-menu > li > a:hover {
  color: var(--fg-light);
}
#menu .menu-main .menu a {
  display: block;
  color: #000;
  padding: 0.35em 0;
  transition: color 0.25s;
  border-bottom: 2px solid transparent;
}
#menu .menu-main .menu > li.current_page_parent > a,
#menu .menu-main .menu > li.current-menu-item > a,
#menu .menu-main .menu > li > a:hover {
  color: #555;
  border-bottom: 2px solid #555;
}
#menu .menu-main .search-form {
  margin: 0 auto;
  margin-top: 1.5em;
  max-width: 13em;
}
#menu .menu-main .search-form input {
  font-size: 14px;
}
#menu .note {
  display: inline-block;
  vertical-align: middle;
  margin-left: 1.2em;
  padding: 0.35em 0;
  border-bottom: 2px solid transparent;
}
#menu .note p:last-child {
  padding-bottom: 0;
}
#menu .buttons {
  display: inline-block;
  vertical-align: middle;
  padding: 0;
  margin-left: 0.5em;
}
#menu .menu-secondary {
  position: absolute;
  top: 0;
  bottom: 0;
  padding-top: 4.96vw;
  font-size: 1.28vw;
  text-transform: uppercase;
}
@media (min-width: 1250px) {
  #menu .menu-secondary {
    padding-top: 62px;
  }
}
@media (max-width: 760px) {
  #menu .menu-secondary {
    padding-top: 37.696px;
  }
}
@media (min-width: 1250px) {
  #menu .menu-secondary {
    font-size: 16px;
  }
}
@media (max-width: 760px) {
  #menu .menu-secondary {
    font-size: 9.728px;
  }
}
#menu .menu-secondary .socmed-follow {
  float: right;
  margin-top: -0.78em;
}
#menu .menu-secondary .socmed-follow .some-link {
  font-size: 10px;
}
body.scheme-menu-white #menu .menu-secondary .socmed-follow .some-link > .img > svg {
  fill: #fff;
}
body.scheme-menu-white #menu .menu-secondary .socmed-follow .some-link:hover > .img > svg {
  fill: var(--fg);
}
.block-nosto01 {
  text-align: center;
}
.block-nosto01 > .txt {
  padding: 7em 0;
}
.block-nosto01 .buy-link-en {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: var(--fg);
  font-size: 110%;
  display: inline-block;
  padding: 0.25em 0.8em 0.1em 0.8em;
  border: 2px solid var(--fg);
  text-transform: uppercase;
  transition: background-color 0.25s, color 0.25s;
}
.block-nosto01 .buy-link-en:hover {
  background: var(--fg);
  color: var(--bg);
}
#padder-two {
  height: 100px;
}
@media (max-width: 760px) {
  #padder-two {
    height: 80px;
  }
}
body.admin-bar #padder-two {
  padding-top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #padder-two {
    padding-top: 46px;
  }
}
body.menu-style-color1 #padder-two {
  height: 0;
}
#header-two {
  background: none;
  padding: 0 2em;
  position: absolute;
  z-index: 1100;
  top: 0;
  right: 0;
  left: 0;
  text-align: center;
  color: var(--fg);
}
@media (max-width: 760px) {
  #header-two {
    padding: 0 1em;
  }
}
#header-two .header-title {
  display: none;
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  font-size: 0.9em;
  padding-top: 1.75em;
  padding-bottom: 1.75em;
  display: inline-block;
  vertical-align: bottom;
}
#header-two .header-title > a > .logo > svg,
#header-two .header-title > a > .logo > img {
  height: 1.7em;
  width: auto;
  display: block;
  transition: fill 0.25s;
}
#header-two .socmed-follow {
  position: absolute;
  right: 1em;
  top: 2em;
}
#header-two .socmed-follow a:hover svg {
  fill: var(--fg) !important;
}
#header-two .close-to-frontpage {
  position: absolute;
  right: 2em;
  margin-left: 10em;
  margin-top: 2.6em;
}
#header-two .close-to-frontpage > svg {
  transition: fill 0.25s;
  width: 1.6em;
  height: 1.6em;
}
body.menu-style-color1 #header-two .close-to-frontpage > svg {
  fill: var(--bg);
}
#header-two .close-to-frontpage:hover > svg {
  fill: #fff;
}
body.menu-style-color1 #header-two .close-to-frontpage:hover > svg {
  fill: #fff;
}
@media (max-width: 760px) {
  #header-two .close-to-frontpage {
    top: 0.5em;
    right: 0.5em;
    left: auto;
    margin-left: -0.6em;
    margin-top: 0;
  }
  #header-two .close-to-frontpage > svg {
    width: 1.2em;
    height: 1.2em;
  }
}
#header-two .menu-side {
  z-index: 1050;
  padding-top: 2.25em;
  display: inline-block;
  vertical-align: middle;
  left: 1em;
  text-align: center;
}
#header-two .menu-side > .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-size: 1.92vw;
}
@media (min-width: 1250px) {
  #header-two .menu-side > .menu {
    font-size: 24px;
  }
}
@media (max-width: 760px) {
  #header-two .menu-side > .menu {
    font-size: 14.592px;
  }
}
#header-two .menu-side > .menu li {
  padding: 0 0.2em 0.5em 0.2em;
  display: inline-block;
  position: relative;
}
@media (max-width: 760px) {
  #header-two .menu-side > .menu li {
    padding: 0 0.1em 0.5em 0.1em;
  }
}
#header-two .menu-side > .menu li > a {
  font-size: 0.8em;
  display: block;
  color: currentColor;
  padding: 0.3em 0.35em 0em 0.35em;
  border: 2px solid var(--fg);
  transition: color 0.25s, background-color 0.25s;
  box-sizing: border-box;
}
@media (max-width: 760px) {
  #header-two .menu-side > .menu li > a {
    padding: 0.8em 0.95em 0.4em 0.95em;
    font-size: 11px;
    border-width: 1px;
  }
}
@media (max-width: 450px) {
  #header-two .menu-side > .menu li > a {
    font-size: 2.7vw;
  }
}
body.menu-style-color1 #header-two .menu-side > .menu li > a {
  color: var(--bg);
  border-color: var(--bg);
}
#header-two .menu-side > .menu li.current-page-ancestor > a,
#header-two .menu-side > .menu li.menu-item-object-page.current-menu-item > a,
#header-two .menu-side > .menu li.menu-item-object-page.current_page_item > a,
#header-two .menu-side > .menu li > a:hover {
  background: var(--fg);
  color: var(--bg);
}
body.menu-style-color1 #header-two .menu-side > .menu li.current-page-ancestor > a,
body.menu-style-color1 #header-two .menu-side > .menu li.menu-item-object-page.current-menu-item > a,
body.menu-style-color1 #header-two .menu-side > .menu li.menu-item-object-page.current_page_item > a,
body.menu-style-color1 #header-two .menu-side > .menu li > a:hover {
  background: var(--bg);
  color: var(--fg);
  border-color: var(--bg);
}
body.scrolled #header-two {
  background: var(--bg);
}
body.admin-bar #header-two {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar #header-two {
    top: 46px;
  }
}
@media (max-width: 760px) {
}
.block-press1 > .txt > .ingress {
  margin-bottom: 0.5em;
}
.block-press1 .press-gallery {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  margin: 0 -3%;
}
.block-press1 .press-gallery > li {
  float: left;
  width: 25%;
  padding: 0 3% 6% 3%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}
.block-press1 .press-gallery > li:nth-child(4n + 1) {
  clear: both;
}
.block-press1 .press-gallery > li > a {
  display: block;
  position: relative;
}
.block-press1 .press-gallery > li > a > .img {
  display: block;
  border: 1px solid #000;
  padding: 7px;
  margin: 0 0 1em 0;
  transform: translateZ(0);
  transform-style: preserve-3d;
  transition: opacity 0.25s;
}
.block-press1 .press-gallery > li > a > .img > .empty {
  display: block;
  padding-top: 100%;
  background: center center no-repeat;
  background-size: contain;
}
.block-press1 .press-gallery > li > a > .info .size {
  font-size: 80%;
  white-space: nowrap;
}
.block-press1 .press-gallery > li > a > .info .author {
  display: block;
}
.block-press1 .press-gallery > li > a:hover > .img {
  opacity: 0.8;
}
@media (max-width: 900px) {
  .block-press1 .press-gallery {
    margin: 0 -3%;
  }
  .block-press1 .press-gallery > li:nth-child(4n + 1) {
    clear: none;
  }
  .block-press1 .press-gallery > li {
    float: left;
    width: 33.33333333%;
    padding: 0 3% 6% 3%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
  .block-press1 .press-gallery > li:nth-child(3n + 1) {
    clear: both;
  }
}
@media (max-width: 750px) {
  .block-press1 .press-gallery {
    margin: 0 -3%;
  }
  .block-press1 .press-gallery > li:nth-child(3n + 1) {
    clear: none;
  }
  .block-press1 .press-gallery > li {
    float: left;
    width: 50%;
    padding: 0 3% 6% 3%;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
  .block-press1 .press-gallery > li:nth-child(2n + 1) {
    clear: both;
  }
}
.ref-list {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  padding-top: 3em;
  margin: 0 -2em;
}
.ref-list > li {
  box-sizing: border-box;
  flex: 0 0 33.3333%;
  padding: 0 2em;
  padding-bottom: 3em;
}
.ref-list > li:last-child {
  border-right: 0;
}
@media (max-width: 760px) {
  .ref-list {
    margin: 0 -1em;
  }
  .ref-list > li {
    padding: 0 1em;
    flex: 0 0 50%;
  }
}
.ref-list-item .image {
  padding-top: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: 2em;
}
.block-referenssi .close {
  top: 2em;
  right: 2em;
  position: fixed;
}
.block-referenssi .next-prev-nav2 .prev {
  float: left;
}
.block-referenssi .next-prev-nav2 .next {
  float: right;
}
.block-services {
  text-align: center;
}
@media (max-width: 760px) {
  .block-services > .txt {
    padding-top: 8em;
  }
}
.block-services > .decor {
  position: absolute;
  top: -4em;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 8em;
  height: auto;
}
@media (max-width: 760px) {
  .block-services > .decor {
    font-size: 13px;
  }
}
.block-services > .anchor {
  position: absolute;
  margin-top: -80px;
  width: 1px;
  height: 1px;
}
.block-services ul {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  text-align: left;
}
.block-services ul li {
  display: block;
  margin: 0;
  padding: 0;
  padding: 1.5em 2em 1.5em 2em;
  border: 1px solid var(--fg);
  border-bottom: 0;
  position: relative;
}
@media (max-width: 760px) {
  .block-services ul li {
    padding: 1em 1em 1em 1em;
  }
}
.block-services ul li:last-child {
  border-bottom: 1px solid var(--fg);
}
.block-services ul li > .opener {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: left;
  font-size: 4.8vw;
  padding-right: 1.5em;
  display: block;
  color: var(--fg);
}
@media (min-width: 1250px) {
  .block-services ul li > .opener {
    font-size: 60px;
  }
}
@media (max-width: 760px) {
  .block-services ul li > .opener {
    font-size: 36.48px;
  }
}
@media (max-width: 760px) {
  .block-services ul li > .opener {
    font-size: 45px;
  }
}
@media (max-width: 600px) {
  .block-services ul li > .opener {
    font-size: 35px;
  }
}
@media (max-width: 500px) {
  .block-services ul li > .opener {
    font-size: 28px;
  }
}
.block-services ul li > .opener > span {
  pointer-events: none;
  width: 0.8em;
  height: 0.8em;
  display: block;
  position: absolute;
  top: 0.6em;
  right: 0.6em;
}
.block-services ul li > .opener > span > i {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid var(--fg);
  transition: border-color 0.25s, transform 0.25s;
}
.block-services ul li > .opener > span > b {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  border-top: 1px solid var(--fg);
  transform: rotate(90deg);
  transition: border-color 0.25s, transform 0.25s;
}
.block-services ul li > .opener:hover {
  color: var(--fg);
}
.block-services ul li > .opener:hover > span > i,
.block-services ul li > .opener:hover > span > b {
  border-color: var(--fg);
}
.block-services ul li > .content {
  overflow: hidden;
  color: var(--fg);
  transition: max-height 0.25s;
  padding-right: 4em;
}
@media (max-width: 760px) {
  .block-services ul li > .content {
    padding-right: 0;
  }
}
.block-services ul li > .content p:first-child {
  padding-top: 0.6em;
}
.block-services ul li > .content p:last-child {
  padding-bottom: 0;
}
.block-services ul li.hide > .content {
  max-height: 0 !important;
}
.block-services ul li.show > .opener {
  color: var(--fg);
}
.block-services ul li.show > .opener > span > i {
  border-color: var(--fg);
  transform: rotate(-45deg);
}
.block-services ul li.show > .opener > span > b {
  border-color: var(--fg);
  transform: rotate(45deg);
}
.block-single-event {
  /*
    .img-wrapper {
        padding-top: 50%;
        display: block;
        overflow: hidden;
        position: relative;
        background-size: cover;
        background-position: center 20%;
        &:before {
            content: "";
            @svg: escape(
                "<svg preserveAspectRatio='none' version='1.1' xmlns='http://www.w3.org/2000/svg' fill='#fff' viewBox='0 0 100 100'><polygon points='0,0 0,100 100,100 0,0'/></svg>"
            );
            background-image: url("data:image/svg+xml,@{svg}");
            background-size: 100% 100%;
            left: -1px;
            width: 15%;
            top: -1px;
            bottom: -1px;
            position: absolute;
        }
        &:after {
            content: "";
            @svg: escape(
                "<svg preserveAspectRatio='none' version='1.1' xmlns='http://www.w3.org/2000/svg' fill='#fff' viewBox='0 0 100 100'><polygon points='0,0 100,0 100,100 '/></svg>"
            );
            background-image: url("data:image/svg+xml,@{svg}");
            background-size: 100% 100%;
            right: -1px;
            width: 15%;
            top: -1px;
            bottom: -1px;
            position: absolute;
        }
        > .texts {
            position: absolute;
            z-index: 2;
            left: 1em;
            bottom: 3em;
            width: 36em;
            .bg() {
                box-shadow: -1rem 0 0 0 @color1, 1rem 0 0 0 @color1;
                background-color: @color1;
                color: @color1-fg;
                box-decoration-break: clone;
                line-height: 1.4;
            }
            > h1 {
                padding: 0;
                .font-sizer-px(64);
                > span {
                    .bg();
                }
            }
            > .artists {
                .font-otsake();
                .font-sizer-px(28);
                font-weight: normal;
                > span {
                    .bg();
                }
            }
            > .datetime {
                .font-otsake();
                .font-sizer-px(42);
                > span {
                    .bg();
                }
            }
        }
        // > img {
        //     object-fit: cover;
        //     object-position: center center;
        //     position: absolute;
        //     left: 0;
        //     right: 0;
        //     bottom: 0;
        //     top: 0;
        //     width: 100%;
        // }
    }
    .tickets-link-round {
        .font-otsake();
        .font-sizer-px(20);
        padding: 0;
        position: absolute;
        right: 4em;
        top: -6em;

        > .tickets-link {
            display: block;
            background: @color2;
            color: @color2-fg;
            border-radius: 50%;
            text-align: center;
            width: 7.5em;
            height: 7.5em;
            .transition(all @anim-speed);
            &:hover {
                background: @color2-hover;
                color: @color2-fg-hover;
            }
            > span {
                display: block;
                position: absolute;
                top: 50%;
                .transform(translateY(-50%));
                left: 1em;
                right: 1em;
            }
        }
    }

    .tickets-link-wrapper {
        .font-otsake();
        .font-sizer-px(20);
        padding-top: 3em;
        > .tickets-link {
            background: @color2;
            color: @color2-fg;
            padding: 0.5em 1em;
            .transition(all @anim-speed);
            &:hover {
                background: @color2-hover;
                color: @color2-fg-hover;
            }
        }
    }
    .workgroup {
        .no-bullets();
        .name {
            color: @color1;
            text-transform: uppercase;
        }
        li {
            padding: 0 0 0.2em 0;
        }
    }

    .content-wrap {
        display: flex;
        flex-wrap: wrap;
        padding-top: 4em;
        position: relative;
        > .content {
            width: ~"calc(52% - 7em)";
        }
        > .lang-en {
            .box-sizing();
            width: ~"calc(100% - 52% - 10em - 3em)";
            padding-left: 2em;
        }
        > .details {
            .box-sizing();
            width: 17em;
            padding-left: 3em;
            margin-left: 3em;
            border-left: 4px solid @color1;
            h2 {
                font-size: inherit;
                color: @color1;
                padding: 0;
            }
        }
        > .video {
            order: 4;
            width: 100%;
            padding-top: 1.5em;
            padding-bottom: 1.5em;
        }
    }

    @media (max-width: 760px) {
        .content-wrap {
            display: flex;
            > .content {
                width: 100%;
            }

            > .lang-en {
                width: 100%;
                padding-left: 0;
                padding-top: 1.5em;
            }

            > .details {
                width: 100%;
                padding-left: 0;
                margin-left: 0;
                border-left: 0;
                order: 3;
            }
        }
    }
    */
}
.block-single-event > .txt {
  padding-top: 2em;
}
.block-single-event > .txt > .featured-image {
  padding-top: 0em;
}
.block-single-event > .txt > .featured-image > .img {
  padding-top: 66.66666667%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.block-single-event > .txt > .content {
  padding: 0 3em;
}
.block-single-event > .txt > .content > h1 {
  font-size: 3.6vw;
}
@media (min-width: 1250px) {
  .block-single-event > .txt > .content > h1 {
    font-size: 45px;
  }
}
@media (max-width: 760px) {
  .block-single-event > .txt > .content > h1 {
    font-size: 27.36px;
  }
}
@media (max-width: 760px) {
  .block-single-event > .txt > .content > h1 {
    font-size: 27px;
  }
}
@media (max-width: 760px) {
  .block-single-event > .txt > .content {
    padding: 0;
  }
}
.block-single-event > .txt > .content > .sharing:before {
  content: "";
  display: block;
  width: 5em;
  border-top: 2px solid #000;
  margin-top: 2em;
  padding-top: 2em;
}
.block-single-event > .txt > .content > .sharing > oksidi-sharer {
  font-family: roc-grotesk-extrawide, sans-serif;
  font-weight: 500;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: var(--fg);
  --color: var(--fg);
  --hover-color: #fff;
}
/*
@moveanimlength: 100%;
.fromleftanim () {
    from {
        .transform(translate3d(-@moveanimlength, 0, 0));
    }  
    to {
        .transform(translate3d(0, 0, 0));        
    }
}
@-webkit-keyframes fromleftanim {.fromleftanim;}
@-moz-keyframes fromleftanim {.fromleftanim;}
@-ms-keyframes fromleftanim {.fromleftanim;}
@-o-keyframes fromleftanim {.fromleftanim;}
@keyframes fromleftanim {.fromleftanim;}

.fromrightanim () {
    from {
        .transform(translate3d(@moveanimlength, 0, 0));
    }  
    to {
        .transform(translate3d(0, 0, 0));        
    }
}
@-webkit-keyframes fromrightanim {.fromrightanim;}
@-moz-keyframes fromrightanim {.fromrightanim;}
@-ms-keyframes fromrightanim {.fromrightanim;}
@-o-keyframes fromrightanim {.fromrightanim;}
@keyframes fromrightanim {.fromrightanim;}

.torightanim () {
    from {
        .transform(translate3d(0, 0, 0));
    }  
    to {
        .transform(translate3d(@moveanimlength, 0, 0));        
    }
}
@-webkit-keyframes torightanim {.torightanim;}
@-moz-keyframes torightanim {.torightanim;}
@-ms-keyframes torightanim {.torightanim;}
@-o-keyframes torightanim {.torightanim;}
@keyframes torightanim {.torightanim;}

.toleftanim () {
    from {
        .transform(translate3d(0, 0, 0));
    }  
    to {
        .transform(translate3d(-@moveanimlength, 0, 0));        
    }
}
@-webkit-keyframes toleftanim {.toleftanim;}
@-moz-keyframes toleftanim {.toleftanim;}
@-ms-keyframes toleftanim {.toleftanim;}
@-o-keyframes toleftanim {.toleftanim;}
@keyframes toleftanim {.toleftanim;}
*/
.block-slider {
  background: #fff;
  margin: 0;
}
.block-slider .slides {
  position: relative;
}
.block-slider .slider .empty {
  padding-top: 48%;
}
.block-slider .slider .slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  transform: translateZ(0);
  transition: opacity 0.5s;
  opacity: 0;
  z-index: 10;
}
.block-slider .slider .slide.init {
  z-index: 11;
  transition: none;
  opacity: 1;
}
.block-slider .slider .slide.selected {
  z-index: 11;
  transition: opacity 0.5s;
  opacity: 1;
  transition-delay: 0s;
}
.block-slider .slider .slide:first-child {
  position: relative;
}
.block-slider > .txt {
  padding: 5%;
}
.block-slider .slider > .nav {
  position: absolute;
  padding: 1.5em 0;
  text-align: center;
  bottom: 0.25em;
  left: 0;
  right: 0;
  z-index: 500;
}
.block-slider .slider > .nav > .prev,
.block-slider .slider > .nav > .next {
  float: left;
}
.block-slider .slider > .nav > .prev:before,
.block-slider .slider > .nav > .next:before {
  content: "";
  width: 30px;
  height: 45px;
  background: url("images/arrows.png") 0 0 no-repeat;
  background-size: 60px auto;
  display: block;
  transition: opacity 0.25s;
}
.block-slider .slider > .nav > .prev:hover:before,
.block-slider .slider > .nav > .next:hover:before {
  opacity: 0.7;
}
.block-slider .slider > .nav > .next {
  float: right;
}
.block-slider .slider > .nav > .next:before {
  background-position: right top;
}
.block-slider .slider > .nav > .jumps {
  text-align: center;
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
  font-size: 120%;
}
.block-slider .slider > .nav > .jumps > li {
  display: inline-block;
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  padding: 0 0.5em;
}
.block-slider .slider > .nav > .jumps > li > a {
  display: inline-block;
  color: var(--fg);
  border-bottom: 2px solid transparent;
  padding: 0.45em 0 0.12em 0;
}
.block-slider .slider > .nav > .jumps > li > a > span {
  display: none;
}
.block-slider .slider > .nav > .jumps > li > a:after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #efefef;
  transition: background 0.25s;
}
.block-slider .slider > .nav > .jumps > li > a:hover:after,
.block-slider .slider > .nav > .jumps > li > a.selected:after {
  background: var(--fg);
}
.block-slider .slider .slides > .slide > .logo {
  position: absolute;
  right: 4%;
  top: 50%;
  width: 33%;
  transform: translateY(-50%);
}
.block-slider .slider .slides > .slide > .logo > svg {
  width: 100%;
  fill: #fff;
}
.block-slider .slider .slides > .slide > .img {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}
.block-slider .slider .slides > .slide > .page-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 6em;
}
.block-slider .slider .slides > .slide > .page-wrapper > .texts {
  box-sizing: border-box;
  color: var(--fg);
  position: absolute;
  bottom: 1em;
  left: 1em;
  padding: 0.5em 2.25em;
  text-align: left;
}
.block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-title {
  font-size: 1.44vw;
  color: var(--fg);
  font-weight: bold;
  padding: 0.25em 0 0 0;
  line-height: 1.2;
  position: relative;
}
@media (min-width: 1250px) {
  .block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-title {
    font-size: 18px;
  }
}
@media (max-width: 760px) {
  .block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-title {
    font-size: 10.944px;
  }
}
.block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-text {
  font-family: "tuppence", serif;
  font-weight: 200;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1;
  font-size: 1.44vw;
  font-weight: normal;
  position: relative;
}
@media (min-width: 1250px) {
  .block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-text {
    font-size: 18px;
  }
}
@media (max-width: 760px) {
  .block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-text {
    font-size: 10.944px;
  }
}
.block-slider .slider .slides > .slide > .page-wrapper > .texts > svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: var(--fg);
  transition: fill 0.25s;
}
.block-slider .slider .slides > .slide > .page-wrapper > .texts:hover > svg {
  fill: #000;
}
.block-slider .slider .slides > .slide > .empty {
  padding-top: 50%;
  display: block;
}
@media (max-width: 760px) {
  .block-slider .slider .slides > .slide > .empty {
    padding-top: 70%;
  }
  .block-slider .slider .slides > .slide > .page-wrapper > .texts > .slide-title {
    font-size: 16px;
  }
  .block-slider .slider .slides > .slide > .page-wrapper {
    position: absolute;
    bottom: 0;
  }
  .block-slider .slider > .nav {
    position: absolute;
    bottom: -4em;
  }
  .block-slider .slider > .nav > .jumps > li > a:after {
    background: #000;
  }
}
.block-subnav > .txt {
  padding-top: 0;
  padding-bottom: 1em;
}
.block-subnav #sub-navigation {
  text-align: left;
  padding-top: 2em;
  padding-bottom: 2em;
  color: var(--fg);
}
.block-subnav #sub-navigation .menu {
  padding: 0;
  margin: 0;
  list-style: none;
  list-style-image: none;
}
.block-subnav #sub-navigation .menu > li {
  line-height: 1;
  display: inline-block;
  margin: 0 1.2em 0 0;
}
.block-subnav #sub-navigation .menu > li > a {
  display: block;
  color: var(--fg);
  transition: all 0.25s;
  position: relative;
}
.block-subnav #sub-navigation .menu > li > a:hover,
.block-subnav #sub-navigation .menu > li.current_page_item > a,
.block-subnav #sub-navigation .menu > li.current-menu-item > a {
  text-decoration: underline;
}
.block-subnav #sub-navigation .menu > li.current_page_item > a,
.block-subnav #sub-navigation .menu > li.current-menu-item > a {
  text-decoration: underline;
}
.block-subnav #sub-navigation .menu > li:last-child:after {
  display: none;
  content: none;
}
.block-subnav #sub-navigation .menu > li > ul {
  display: none;
}
@media (max-width: 760px) {
  .block-subnav #sub-navigation .menu {
    margin: 0 -5px;
  }
  .block-subnav #sub-navigation .menu > li {
    float: left;
    width: 50%;
    padding: 0 5px 10px 5px;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
  .block-subnav #sub-navigation .menu > li:nth-child(2n + 1) {
    clear: both;
  }
  .block-subnav #sub-navigation .menu > li > a {
    padding: 0.7em 0.2em;
  }
  .block-subnav #sub-navigation .menu > li.current_page_item > a:after,
  .block-subnav #sub-navigation .menu > li.current-menu-item > a:after {
    display: none;
  }
}
@media (max-width: 400px) {
  .block-subnav #sub-navigation .menu > li {
    display: block;
    float: none;
    width: auto;
    padding: 0.2em 0 0.2em 0;
  }
}
.block-video > .txt > .content {
  padding-bottom: 2em;
}
.block-video .embed iframe {
  display: block;
  width: 100%;
}
html {
  min-height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}
body {
  min-height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
}
#ie6 #page {
  height: 100%;
}
#footer {
  /*position: absolute; bottom: 0; left: 0; right: 0;*/
}
@media (max-width: 782px) {
  body.admin-bar #header {
    top: 46px;
  }
}
html #wpadminbar {
  z-index: 20000 !important;
}
