/* compiled by scssphp v0.0.12 on Fri, 08 Nov 2024 10:42:50 +0000 (0.1519s) */

html, body {
  margin: 0;
  padding: 0;
  font-family: 'Montserrat', sans-serif;
  height: 100%; }

body {
  background-color: #2a2731;
  min-height: 100%; }

h1, h2, h3, h4, h5, h6 {
  hyphens: auto; }

p {
  hyphens: auto; }

#wrap {
  margin: 0;
  padding: 0;
  font-family: 'Montserrat', sans-serif; }
  #wrap.v2203 {
    padding-top: 60px; }

*, a, div {
  background-repeat: no-repeat; }

div {
  position: relative; }

div, a, button {
  background-repeat: no-repeat; }

a, button, .item {
  text-decoration: none;
  transition: color 0.5s ease 0s, background-color 0.5s ease 0s, border 0.5s ease 0s; }

a {
  color: #75b734; }

body #wrap {
  min-height: 100%; }
  body .navi {
    min-width: 60px;
    min-height: 60px; }
    body .navi .items {
      display: none; }

body.naviopen .navi {
  /* overflow-y: scroll; */
  height: 100%; }
  body.naviopen .navi .items {
    display: block; }

.btn {
  padding: 10px 30px 10px 30px;
  border-radius: 2px;
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
  border: none;
  display: inline-block;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif !important; }
  .btn.green {
    background-color: #75b734;
    color: #fff; }

.btn:hover {
  background-color: #4a880c; }

h1 {
  font-size: 34px;
  line-height: 46px;
  /*word-break: break-word;*/
  hyphens: auto;
  letter-spacing: -2px;
  margin: 0 0 0 0;
  font-weight: 500;
  color: #fff; }
  @media only screen and (min-width: 768px) {
  h1 {
    font-size: 45px;
    line-height: 56px; } }
  h1 span {
    color: #75b734;
    font-style: italic;
    font-weight: 800;
    padding-left: 0.1em;
    white-space: nowrap; }
  h1.animatedtitle {
    transform: translateX(-30px);
    transition: all 2s ease 0s;
    opacity: 0; }
  h1.animatedtitle.shown {
    transform: translateX(0);
    opacity: 1; }

p.fadein {
  opacity: 0;
  transition: opacity 1s ease 1s; }
  p.fadein.shown {
    opacity: 1; }

h2 {
  font-size: 28px;
  line-height: 31px;
  letter-spacing: -1px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  margin: 0 0 25px 0; }
  @media screen and (min-width: 768px) {
  h2 {
    font-size: 34px;
    line-height: 37px;
    hyphens: none; } }
  h2 span {
    color: #75b734; }

h3 {
  font-size: 18px;
  line-height: 22px;
  font-weight: 400;
  font-family: 'Montserrat', sans-serif;
  margin: 15px 0 15px 0;
  text-transform: uppercase; }

h4 {
  font-size: 20px;
  line-height: 23px;
  font-weight: 700;
  font-family: 'Montserrat', sans-serif;
  margin: 20px 0 20px 0; }

p, li {
  font-family: 'Chivo', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 23px; }

ul {
  list-style: none;
  padding: 0px; }

li {
  background-image: url(../img/listitem.svg);
  background-position: left 3px;
  padding-left: 26px;
  background-size: 15px; }

p {
  margin: 0 0 30px 0; }

.widelink .inner {
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 10px;
  text-align: center; }
  .widelink .btn {
    width: 100%;
    box-sizing: border-box;
    padding: 15px 0 15px 0; }

iframe.responsive {
  width: 100%; }

.product {
  margin-bottom: 30px; }

.basiccontent a {
  line-height: 22px; }

.frontproductlink.left {
  background-color: #75b734; }
  .frontproductlink.left .inner {
    background-color: #fff; }
  .frontproductlink.left.white {
    background-color: #fff; }
  .frontproductlink.right {
    background-color: #2a2731; }
  .frontproductlink.right .inner {
    background-color: #2a2731;
    color: #fff; }
  .frontproductlink .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .frontproductlink .col {
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width: 100%;
    min-height: 200px; }
  @media only screen and (min-width: 768px) {
    .frontproductlink .col {
      width: 50%; } }
  .frontproductlink .col img {
    width: 100%; }

.frontproductlink.left .col.left {
  padding: 60px 60px 0px 60px; }
  @media only screen and (min-width: 768px) {
  .frontproductlink.left .col.left {
    padding: 60px; } }

.frontproductlink.left .col.right {
  padding: 60px; }

.frontproductlink.right .col.left {
  padding: 60px 60px 0px 60px; }
  @media only screen and (min-width: 768px) {
  .frontproductlink.right .col.left {
    padding: 60px; } }

.frontproductlink.right .col.right {
  padding: 60px; }

.topheader {
  width: 100%;
  min-height: 750px;
  background-color: #ccc;
  overflow: hidden; }
  .topheader .info, .topheader .infoleft {
    margin: 0 0 0 5px; }
  .topheader .info p, .topheader .infoleft p {
    margin: 30px 0 37px 0; }
  .topheader .infoleft, .topheader .inforight {
    display: block; }
  @media screen and (min-width: 1008px) {
    .topheader .infoleft, .topheader .inforight {
      display: inline-block; } }
  @media screen and (min-width: 1008px) {
    .topheader .infoleft {
      vertical-align: top;
      margin-left: 5px;
      min-height: 480px; } }
  .topheader .inforight {
    padding: 45px 0 45px 0;
    box-sizing: border-box; }
  @media screen and (min-width: 506px) {
    .topheader .inforight {
      padding: 45px 0 45px 45px; } }
  @media screen and (min-width: 1008px) {
    .topheader .inforight {
      padding: 45px 0;
      text-align: right;
      vertical-align: bottom;
      max-width: 501px;
      width: 100%; } }
  .topheader .inforight .linkwrap {
    text-align: center; }
    @media screen and (min-width: 506px) {
    .topheader .inforight .linkwrap {
      text-align: left; } }
    @media screen and (min-width: 1008px) {
    .topheader .inforight .linkwrap {
      text-align: right; } }
  .topheader .inforight a.newline {
    color: #fff;
    border: 2px solid #fff;
    text-decoration: none;
    margin-top: 12px;
    font-size: 17px;
    line-height: 1.5em;
    text-transform: none;
    padding: 0;
    text-align: left;
    min-width: 306px;
    box-sizing: border-box;
    border-radius: 56px;
    letter-spacing: -0.6px;
    position: relative;
    overflow: hidden;
    background: linear-gradient(to right, #fff 50%, transparent 50%) no-repeat scroll right bottom / 210% 100% transparent;
    transition: all ease 0.3s; }
    .topheader .inforight a.newline div {
      padding: 15px 45px 14px 133px; }
    .topheader .inforight a.newline svg {
      position: absolute; }
    .topheader .inforight a.newline svg.newline {
      top: 15px;
      left: 27px; }
      .topheader .inforight a.newline svg.newline path, .topheader .inforight a.newline svg.newline polygon {
        transition: stroke 0.3s ease;
        fill: #fff; }
    .topheader .inforight a.newline svg.nuoli {
      right: 20px;
      top: 19px; }
      .topheader .inforight a.newline svg.nuoli path, .topheader .inforight a.newline svg.nuoli polyline {
        transition: stroke 0.3s ease;
        stroke: #fff; }
    .topheader .inforight a.newline:hover {
      background-position: left bottom !important; }
      .topheader .inforight a.newline:hover div, .topheader .inforight a.newline:hover span {
        color: #75b734; }
      .topheader .inforight a.newline:hover svg.newline path, .topheader .inforight a.newline:hover svg.newline polygon {
        fill: #75b734; }
      .topheader .inforight a.newline:hover svg.nuoli polyline, .topheader .inforight a.newline:hover svg.nuoli path {
        stroke: #75b734; }
  .topheader .inner {
    max-width: 1010px;
    margin: 0 auto;
    min-height: 480px; }
  .topheader .productgroups {
    width: 100%;
    margin: 0 auto; }
  .topheader .productgroups a {
    width: calc(100% - 10px);
    height: 250px;
    display: inline-block;
    vertical-align: top;
    margin: 5px 5px 5px 5px;
    box-sizing: border-box;
    background-color: #fff;
    padding: 10px 0 0 0;
    text-align: center;
    text-decoration: none;
    color: #2a2731;
    font-weight: 500;
    padding: 35px 20px 20px 20px;
    position: relative; }
    @media only screen and (min-width: 768px) {
    .topheader .productgroups a {
      width: calc(25% - 10px); } }
    @media only screen and (min-width: 768px) {
    .topheader .productgroups a {
      margin: 10px 5px 10px 5px; } }
    .topheader .productgroups a:hover .bg {
      opacity: 1;
      transform: scaleX(1.05) scaleY(1.05); }
  .topheader .productgroups .bg {
    width: 80%;
    margin: 0 auto;
    height: 130px;
    background-size: contain;
    background-position: center center;
    opacity: 0.8;
    transition: all 0.5s ease 0s;
    transform: scaleX(1) scaleY(1); }
  .topheader .productgroups span {
    top: 190px;
    width: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    position: absolute; }
  .topheader .productgroups2 {
    width: 100%;
    margin: 15px auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1000px; }
  @media screen and (min-width: 600px) {
    .topheader .productgroups2 {
      flex-direction: row;
      flex-wrap: wrap; } }
  .topheader .productgroups2 a {
    flex: 0 0 100px;
    text-align: center;
    color: #fff;
    position: relative;
    box-sizing: border-box;
    background-color: rgba(17, 13, 26, 0);
    transition: all 0.5s ease;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    width: 100%;
    font-family: Chivo, sans-serif;
    font-size: 15px;
    line-height: 18px;
    /* flex: 0 0 calc(25% - 1px); */ }
    @media screen and (min-width: 600px) {
    .topheader .productgroups2 a {
      flex: 1 1 calc(50% - 1px);
      padding: 136px 20px 20px;
      min-height: 240px; } }
    @media screen and (min-width: 768px) {
    .topheader .productgroups2 a {
      flex: 0 0 calc(20% - 1px); } }
    .topheader .productgroups2 a.link1 svg {
      top: 57px; }
    .topheader .productgroups2 a.link2 svg {
      top: 59px; }
    .topheader .productgroups2 a.link3 svg {
      top: 51px; }
    .topheader .productgroups2 a.link4 svg {
      top: 57px; }
    .topheader .productgroups2 a span {
      display: inline-block;
      width: 200px; }
      @media screen and (min-width: 600px) {
    .topheader .productgroups2 a span {
      width: auto; } }
    .topheader .productgroups2 a svg {
      display: inline-block;
      vertical-align: middle;
      transform: scale(0.8); }
      @media screen and (min-width: 600px) {
    .topheader .productgroups2 a svg {
      transform: none;
      display: block;
      position: absolute;
      left: 50%;
      top: 60px;
      transform: translate(-50%, 0); } }
      .topheader .productgroups2 a svg path, .topheader .productgroups2 a svg circle, .topheader .productgroups2 a svg rect {
        transition: all 0.5s ease 0.1s;
        fill: #fff; }
    .topheader .productgroups2 a:hover {
      background-color: rgba(17, 13, 26, .5); }
      .topheader .productgroups2 a:hover svg path, .topheader .productgroups2 a:hover svg circle, .topheader .productgroups2 a:hover svg rect {
        fill: #75b834; }
  .topheader .productgroups2 .separator {
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, .41); }
    @media screen and (min-width: 600px) {
    .topheader .productgroups2 .separator {
      width: 1px;
      height: 240px; } }
    @media screen and (min-width: 600px) {
      .topheader .productgroups2 .separator.even {
        display: none; } }
      @media screen and (min-width: 768px) {
    .topheader .productgroups2 .separator.even {
      display: block; } }
    .topheader video {
      position: absolute;
      width: 100%;
      height: 100%; }

.topheader .info, .productheader .info, .basicheader .info {
  max-width: 495px;
  background-color: #2a2731;
  /* padding:60px; */
  color: #fff;
  padding: 60px 55px 60px 60px;
  box-sizing: border-box;
  display: block; }

.topheader .info {
  min-height: 480px; }

.productheader .info, .basicheader .info {
  min-height: 405px; }

.topheader .infoleft {
  max-width: 495px;
  background-color: #2a2731;
  color: #fff;
  padding: 60px 55px 60px 60px;
  box-sizing: border-box; }

.topheader .logo, .productheader .logo, .basicheader .logo {
  width: 130px;
  height: 30px;
  display: block;
  background-size: contain;
  font-size: 0px;
  text-indent: -1000px;
  overflow: hidden; }

.topheader .logo {
  margin-bottom: 100px; }

.productheader .logo, .basicheader .logo {
  margin-bottom: 80px; }

.frontnewslinks {
  width: 100%;
  min-height: 500px;
  display: block;
  background-position: bottom center;
  background-size: contain;
  background-color: #ededf5; }
  .frontnewslinks .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .frontnewslinks .info {
    padding: 80px 60px 80px 60px;
    max-width: 400px; }
  .frontnewslinks .newslinks {
    min-height: 300px; }
  .frontnewslinks .newslinks .newsitem, .frontnewslinks .newslinks .calendaritem {
    display: inline-block;
    vertical-align: top;
    width: calc(100% - 10px);
    min-height: 360px;
    box-sizing: border-box;
    margin: 10px 5px 10px 5px;
    padding: 20px 20px 0px 20px;
    overflow: hidden; }
    @media only screen and (min-width: 768px) {
    .frontnewslinks .newslinks .newsitem, .frontnewslinks .newslinks .calendaritem {
      width: calc(33% - 10px); } }
    .frontnewslinks .newslinks .newsitem .content, .frontnewslinks .newslinks .calendaritem .content {
      padding: 20px; }
  .frontnewslinks .newslinks .newsitem {
    background-color: #fff;
    color: #2a2731; }
    .frontnewslinks .newslinks .newsitem .newsitem:hover {
      transform: translateX(-30px);
      transition: all 2s ease 0s; }
    .frontnewslinks .newslinks .newsitem .tag {
      color: #75b734; }
    .frontnewslinks .newslinks .newsitem .date {
      font-weight: 100;
      font-size: 14px; }
    .frontnewslinks .newslinks .newsitem span {
      color: #75b734; }
  .frontnewslinks .newslinks .calendaritem {
    background-color: #75b734;
    color: #fff; }
    .frontnewslinks .newslinks .calendaritem .tag {
      color: #fff; }
    .frontnewslinks .newslinks .calendaritem .date {
      font-size: 60px;
      font-weight: 700; }
    .frontnewslinks .newslinks .calendaritem span {
      color: #2a2731; }
  .frontnewslinks .newslinks .tag {
    text-transform: uppercase;
    font-size: 14px; }

.topfooter {
  width: 100%;
  min-height: 300px;
  background-color: #2a2731;
  display: block;
  color: #e3e3e3; }
  .topfooter .inner {
    max-width: calc(1000px);
    margin: 0 auto;
    box-sizing: border-box;
    padding: 60px 0px 60px 0px; }
  .topfooter .col {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    padding: 0 20px 0 40px;
    min-height: 300px;
    box-sizing: border-box; }
  @media only screen and (min-width: 768px) {
    .topfooter .col {
      width: 33.33%; } }
  .topfooter p {
    font-size: 13px;
    line-height: 18px;
    font-weight: 100; }
  .topfooter a {
    color: #75b734; }
  .topfooter a:hover {
    color: #fff; }
  .topfooter input, .topfooter textarea {
    background-color: rgba(0, 0, 0, 0.3);
    border: none;
    border-radius: 2px;
    width: 100%;
    margin: 0 0 5px 0;
    box-sizing: border-box;
    font-family: 'Chivo', sans-serif;
    padding: 20px;
    color: #fff;
    font-size: 14px;
    line-height: 20px;
    font-weight: 300;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    resize: none; }
  .topfooter input.invalid, .topfooter textarea.invalid {
    background-color: rgba(255, 0, 0, 0.25); }
  .topfooter input {
    height: 40px; }
  .topfooter textarea {
    height: 130px; }
  .topfooter input:focus, .topfooter textarea:focus {
    background-color: #000;
    border: none;
    outline: 0; }
  .topfooter b {
    font-weight: 400; }

[data-aos="appear"] {
  opacity: 0;
  transition-property: transform, opacity;
  transform: translateY(20px); }
  [data-aos="appear"].aos-animate {
    opacity: 1;
    transform: translateY(0); }

.productheader {
  width: 100%;
  min-height: 770px;
  overflow: hidden;
  background-size: cover;
  background-position: center center; }
  .productheader .video-background {
    width: 100%;
    position: absolute; }
  .productheader sup {
    font-size: 14px;
    padding-left: 3px; }
  .productheader .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .productheader .info p {
    color: #75b734;
    margin-bottom: 10px;
    margin-top: 10px; }
  .productheader .intro {
    width: 100%;
    min-height: 200px;
    display: block;
    background-color: #fff;
    margin: 10px 0 0 0;
    padding: 20px 60px 30px 60px;
    box-sizing: border-box; }
  @media only screen and (min-width: 768px) {
    .productheader .intro {
      max-width: 100%;
      padding: 20px 10px 30px 60px; } }
  .productheader .intro .col p {
    font-size: 18px;
    font-style: italic;
    line-height: 24px;
    font-weight: 300; }
  .productheader .intro h2 {
    margin-top: 40px; }
  .productheader .col {
    display: block;
    width: 100%;
    min-height: 100px; }
  @media only screen and (min-width: 768px) {
    .productheader .col {
      display: inline-block;
      width: 50%;
      vertical-align: middle; } }
  .productheader .col.right {
    min-height: 250px; }
  .productheader .col img {
    display: block;
    margin: 0 auto;
    /*
            transform: translateY(-50%) translateX(-50%);
            top: 50%;
            left:50%;
            position: absolute;
            */
    width: 80%; }

.productvideo .inner {
  max-width: 1000px;
  height: 480px;
  margin: 0 auto;
  display: block; }
  .productvideo.inline .inner {
    height: auto; }
  @media screen and (min-width: 1000px) {
    .productvideo.inline .inner {
      height: 480px; } }
  .productvideo video {
    width: 100%;
    max-height: 100%; }
  .productvideo video:focus {
    outline: none; }

.productcolumn .inner {
  max-width: 1000px;
  margin: 0 auto;
  min-height: 100px;
  padding: 0;
  box-sizing: border-box;
  display: block;
  flex-direction: row; }
  @media only screen and (min-width: 768px) {
    .productcolumn .inner {
      display: flex; } }
  .productcolumn .col {
    background-color: #fff;
    width: 100%;
    display: block; }
  @media only screen and (min-width: 768px) {
    .productcolumn .col {
      width: 50%;
      flex: 1;
      align-content: center;
      justify-content: center; } }
  .productcolumn .col.right {
    background-color: #f6f7f2;
    width: 100%;
    display: block;
    min-height: 250px; }
    .productcolumn .col.right img {
      width: 70%;
      /*
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translateY(-50%) translateX(-50%);
                */
      display: block;
      margin: 0 auto; }
  .productcolumn .col.left .pad {
    padding: 60px 60px 30px 60px; }
    @media screen and (min-width: 768px) {
    .productcolumn .col.left .pad {
      top: 50%;
      transform: translateY(-50%); } }
  .productcolumn.right .col.left {
    background-color: #f6f7f2;
    width: 100%;
    display: block;
    min-height: 250px; }
    .productcolumn.right .col.left img {
      width: 70%;
      display: block;
      margin: 0 auto; }
  .productcolumn.right .col.right {
    background-color: #fff; }
    .productcolumn.right .col.right .pad {
      padding: 60px 60px 30px 60px; }
      @media screen and (min-width: 768px) {
    .productcolumn.right .col.right .pad {
      top: 50%;
      transform: translateY(-50%); } }
  @media screen and (min-width: 768px) {
    .productcolumn .imgwrap {
      top: 50%;
      transform: translateY(-50%); } }

.productbrief {
  background-image: url(../img/productbrief.jpg);
  background-size: cover;
  background-position: center center; }
  @media only screen and (min-width: 768px) {
  .productbrief {
    padding-top: 300px; } }
  .productbrief a {
    color: #75b734; }
  .productbrief .inner {
    max-width: 1000px;
    margin: 0 auto;
    display: block; }
  @media only screen and (min-width: 768px) {
    .productbrief .inner {
      display: flex; } }
  .productbrief .inner .col {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 60px 60px 50px 60px;
    margin-bottom: 10px; }
    @media only screen and (min-width: 768px) {
    .productbrief .inner .col {
      flex: 1;
      width: 50%;
      display: inline-block; } }
    .productbrief .inner .col.left {
      background-color: #2a2731;
      margin-right: 10px;
      color: #fff; }
    .productbrief .inner .col.left.empty {
      display: none; }
      @media only screen and (min-width: 768px) {
    .productbrief .inner .col.left.empty {
      display: block;
      background-color: transparent; } }
    .productbrief .inner .col.right {
      background-color: #75b734;
      text-align: center;
      color: #fff; }
      .productbrief .inner .col.right a {
        text-transform: uppercase;
        color: #fff;
        font-size: 14px; }
      .productbrief .inner .col.right img {
        max-width: 100%;
        margin-bottom: 20px; }
  .productbrief .col.right:hover {
    background-color: #4a880c; }

.productdata .inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px;
  box-sizing: border-box;
  background-color: #fff; }
  .productdata table {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Chivo', sans-serif;
    width: 100%; }
  .productdata td {
    background-color: #f6f7f2;
    padding: 7px 7px 7px 15px; }
  @media screen and (min-width: 600px) {
      .productdata td:first-child {
        width: 350px; } }
  .productdata a {
    color: #75b734; }

.basicheader {
  width: 100%;
  height: 770px;
  overflow: hidden;
  background-image: url(../img/products.jpg);
  background-size: cover;
  background-position: center center; }
  .basicheader .video-background {
    width: 100%;
    position: absolute; }
  .basicheader .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .basicheader .info p {
    color: #75b734;
    margin-bottom: 10px; }

.navi {
  position: fixed;
  z-index: 100;
  background-color: #2a2731;
  color: #f6f7f2;
  font-size: 14px;
  line-height: 18px;
  right: 0;
  width: 100%; }
  @media screen and (min-width: 600px) {
  .navi {
    width: auto; } }
  .navi > .inner {
    padding-top: 60px; }
  .navi a {
    cursor: pointer;
    display: block; }
  .navi a.level1, .navi a.level2, .navi a.level3 {
    border-bottom: 1px solid #000; }
    .navi a.level1:hover, .navi a.level2:hover, .navi a.level3:hover {
      background-color: #000; }
  .navi a.level1 {
    padding: 10px 40px 10px 20px;
    color: #f6f7f2;
    font-weight: 700;
    text-transform: uppercase; }
  .navi a.level2 {
    padding: 10px 40px 10px 40px;
    color: #75b734;
    font-weight: 400;
    text-transform: uppercase; }
  .navi a.level3 {
    padding: 10px 40px 10px 60px;
    color: #f6f7f2;
    font-weight: 300; }
  .navi a.level2.folder::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 20px;
    line-height: 10px;
    padding: 3px 3px 7px 10px;
    display: inline-block;
    vertical-align: middle;
    transform: rotate(0deg) translate(0, 0);
    transition: transform 0.5s ease; }
  .navi .level2 .inner {
    display: none; }
  .navi .level2.expanded .folder::after {
    transform: rotate(90deg) translate(-4px, -2px); }
  .navi .level2.expanded .inner {
    display: block; }
  .navi .toggle {
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    width: 60px;
    height: 60px;
    background-color: #75b734;
    z-index: 150; }
  .navi .toggle div {
    background-color: #fff;
    width: 30px;
    height: 3px;
    position: absolute;
    left: 15px; }
    .navi .toggle div.l1 {
      top: 20px; }
    .navi .toggle div.l2 {
      top: 30px; }
    .navi .toggle div.l3 {
      top: 40px; }
  .navi.v2203 {
    width: 100%;
    overflow-y: auto;
    overflow-y: hidden;
    background-color: transparent; }
  .navi.v2203 .top {
    min-height: 60px;
    background-color: #2a2731;
    z-index: 99; }
  .navi.v2203 .inner {
    padding-top: 0px; }
  .navi.v2203 .toggle {
    position: absolute; }
  .navi.v2203 .itemswrap {
    background-color: #2a2731;
    right: 0;
    position: absolute;
    overflow-y: scroll;
    height: calc(100vh - 60px);
    width: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    .navi.v2203 .itemswrap::-webkit-scrollbar {
      display: none; }
    @media screen and (min-width: 600px) {
    .navi.v2203 .itemswrap {
      max-width: 430px; } }
  .navi.v2203 .logo {
    background-image: url(../img/logo.svg);
    background-size: 100% auto;
    width: 150px;
    height: 36px;
    position: absolute;
    left: 26px;
    top: 14px; }
  .navi #account {
    width: 60px;
    height: 60px;
    color: #fff;
    position: absolute;
    right: 60px;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; }
  .navi #account i {
    font-size: 2rem; }

.boxlist {
  display: block;
  min-height: 500px;
  margin-top: -355px; }
  .boxlist .inner {
    width: 100%;
    max-width: 1000px;
    background-color: #fff;
    margin: auto;
    padding: 60px;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
  @media screen and (min-width: 999px) {
    .boxlist .inner {
      max-width: 1000px; } }
  .boxlist .item {
    width: 100%;
    min-height: 100px;
    box-sizing: border-box;
    border: 2px solid #ddd;
    overflow: hidden;
    display: inline-block;
    vertical-align: top;
    margin: 10px;
    text-align: center;
    padding: 10px 10px 5px 10px;
    color: #2a2731; }
  .boxlist .item:hover {
    border: 2px solid #2a2731; }
  @media screen and (min-width: 600px) {
    .boxlist .item {
      width: 273px; } }
  .boxlist .item img {
    margin: 20px 20px 20px 20px;
    width: auto;
    /* height:120px; */
    height: auto;
    width: calc(100% - 40px); }
  .boxlist .item h2, .boxlist .item a {
    font-size: 20px;
    line-height: 23px;
    font-weight: 400;
    color: #2a2731; }
  .boxlist.productgroup {
    color: #2a2731; }
  .boxlist.productgroup .item {
    min-height: 260px; }
  .boxlist.productgroup.white {
    background-color: #fff; }

.form {
  display: block;
  margin-top: -355px;
  width: 100%; }
  .form .inner {
    background-color: #fff;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    padding: 60px;
    margin: 0 auto; }
  .form input, .form textarea {
    background-color: #fff;
    border-bottom: 2px solid #ddd;
    border-left: none;
    border-top: none;
    border-right: none;
    border-radius: 2px;
    width: 100%;
    margin: 0 0 5px 0;
    box-sizing: border-box;
    font-family: 'Chivo', sans-serif;
    padding: 20px 3px 20px 3px;
    color: #2a2731;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    resize: none; }
  .form input.invalid, .form textarea.invalid {
    border-bottom: 2px solid red; }
  .form input {
    height: 40px; }
  .form textarea {
    height: 130px;
    margin-bottom: 50px; }
  .form input:focus, .form textarea:focus {
    border-bottom: 2px solid #2a2731;
    outline: 0; }
  .form p {
    margin: 20px 0px 0px 0px;
    color: #888;
    font-size: 14px;
    font-weight: 400; }
  .form .rb {
    display: inline-block;
    background-image: url(../img/radio.png);
    margin: 10px 21px 0 0;
    padding: 10px 0 10px 44px;
    text-decoration: none;
    font-family: 'Chivo', sans-serif;
    color: #2a2731;
    font-weight: 400;
    font-size: 16px; }
  .form .rb.toggleable.on {
    background-image: url(../img/radio-on.png); }

.contact {
  display: block;
  margin-top: -355px;
  width: 100%; }
  .contact .inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    box-sizing: border-box;
    padding: 60px 60px 30px 60px; }
  .contact .left, .contact .right {
    width: 100%;
    display: block; }
  @media only screen and (min-width: 768px) {
    .contact .left, .contact .right {
      width: 49%;
      display: inline-block;
      vertical-align: top; } }
  .contact .right {
    padding-bottom: 20px; }
  .contact a {
    color: #75b734; }

.reps {
  display: block;
  width: 100%; }
  .reps .inner {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #75b734;
    padding: 40px;
    box-sizing: border-box; }
  .reps .inner h2 {
    margin: 20px; }
  .reps .inner h3 {
    margin: 20px 0 0 0; }
  .reps .inner a, .reps .inner .title {
    font-size: 16px;
    font-weight: 400;
    color: #2a2731;
    font-family: 'Chivo', sans-serif; }
  .reps .inner p {
    margin: 10px 0px; }
  .reps .item {
    text-align: center;
    width: calc(100% - 40px);
    display: block;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px;
    box-sizing: border-box;
    padding: 30px 30px 40px 30px;
    margin: 20px; }
  @media only screen and (min-width: 768px) {
    .reps .item {
      vertical-align: top;
      display: inline-block;
      width: calc(33.33% - 40px); } }

.colc {
  width: 100%;
  display: inline-block;
  min-height: 100px;
  vertical-align: top;
  font-family: 'Chivo';
  box-sizing: border-box;
  padding-top: 20px; }
  @media only screen and (min-width: 768px) {
  .colc {
    width: 33.3%; } }

.contact-new {
  display: block;
  margin-top: -355px;
  width: 100%; }
  .contact-new .inner {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    box-sizing: border-box;
    padding: 60px 60px 30px 60px; }
  .contact-new .left, .contact-new .right {
    width: 100%;
    display: block; }
  @media only screen and (min-width: 768px) {
    .contact-new .left, .contact-new .right {
      width: 49%;
      display: inline-block;
      vertical-align: top; } }
  .contact-new .right {
    padding-bottom: 20px; }
  .contact-new a {
    color: #75b734; }

.reps-new {
  display: block;
  width: 100%; }
  .reps-new .inner {
    max-width: 1000px;
    margin: 0 auto;
    background-color: #eceee6;
    padding: 2px;
    box-sizing: border-box; }
  .reps-new .inner .heading {
    position: relative;
    display: block;
    padding: 10px 52px;
    box-sizing: border-box;
    background-color: #fff;
    margin: 2px 2px; }
    .reps-new .inner .heading h3 {
      font-weight: 800;
      margin-top: 15px;
      font-size: 1.5em;
      line-height: 1.7em; }
  .reps-new .inner h2 {
    margin: 20px; }
  .reps-new .inner h3 {
    margin: 0;
    font-size: 15px;
    text-transform: none;
    padding: 5px;
    min-height: 52px; }
  .reps-new .inner a, .reps-new .inner .title {
    font-size: 15px;
    font-weight: 400;
    color: #2a2731;
    font-family: 'Chivo', sans-serif; }
  .reps-new .inner p {
    margin: 10px 0px; }
  .reps-new .inner img {
    width: 80%;
    max-width: 200px;
    margin-bottom: 10px;
    border-radius: 100px; }
  .reps-new .item {
    text-align: center;
    width: calc(100% - 4px);
    display: block;
    background: #fff;
    box-sizing: border-box;
    padding: 25px 10px 35px 10px;
    margin: 2px;
    min-height: 416px; }
  @media only screen and (min-width: 500px) {
    .reps-new .item {
      vertical-align: top;
      display: inline-block;
      width: calc(50% - 4px); } }
  @media only screen and (min-width: 768px) {
    .reps-new .item {
      width: calc(25% - 4px); } }

.basiccontent {
  margin-top: -355px; }
  .basiccontent .inner {
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 60px;
    background-color: #fff; }
  .basiccontent .inner img {
    max-width: 100%;
    height: auto; }
  .basiccontent .group {
    width: 430px;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 60px; }
  .basiccontent a {
    color: #75b734; }

.news {
  margin-top: -355px; }
  .news .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .news a {
    color: #75b734; }
  .news .item {
    border-bottom: 1px solid #2a2731;
    padding: 0px 60px 30px 60px;
    box-sizing: border-box;
    background-color: #fff; }
  .news .expand {
    position: absolute;
    right: 0;
    background-color: #75b734;
    width: 40px;
    height: 40px;
    color: #fff; }
  .news .expand div {
    transition: transform 0.2s ease 0s;
    transform: rotate(0deg) translateY(0); }
  .news .expand.on div {
    transform: rotate(180deg) translateY(4px); }
  .news .date {
    padding: 60px 0px 20px 0px; }
  .news .title {
    font-size: 26px; }
  .news .excerpt {
    margin-top: 20px; }
  .news .full {
    display: none;
    font-family: 'Chivo', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px; }
  .news img {
    max-width: 100%;
    height: auto; }
  .news .more {
    width: 100%;
    max-width: 940px;
    text-align: center;
    margin-top: 10px; }

.officelist {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap; }
  @media screen and (min-width: 600px) {
  .officelist {
    justify-content: space-between; } }
  .officelist .officewrap {
    flex: 1 1 100%; }
  @media screen and (min-width: 600px) {
    .officelist .officewrap {
      flex: 0 0 calc(50% - 30px); } }
  .officelist .office {
    padding: 0 0 30px 0; }
  .officelist .office .framewrap {
    width: 100%;
    padding-bottom: 100%;
    margin-bottom: 16px; }
  .officelist .office iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

body > .cookienotice {
  display: none;
  position: fixed;
  bottom: 2px;
  bottom: 0;
  left: 0;
  z-index: 9999;
  width: 100vw;
  padding: 0 10px;
  box-sizing: border-box;
  text-align: center;
  padding: 0;
  font-size: 0.7rem; }
  @media screen and (min-width: 768px) {
  body > .cookienotice {
    padding: 0 25px;
    padding: 0; } }
  body > .cookienotice .inner {
    transition: all 0.3s ease;
    background-color: #2a2731;
    color: #fff;
    /*
        border-radius: 4px;
        */
    box-shadow: 0 3px 3px rgba(0, 0, 0, .8);
    display: inline-block;
    padding: 1em 25px 1em 0;
    border: 1px solid #20254f;
    border: 0;
    width: 100%;
    padding: 0.5em 25px;
    box-sizing: border-box;
    padding: 1em 25px 1.5em; }
  @media screen and (min-width: 768px) {
    body > .cookienotice .inner {
      padding: 1em 25px; } }
  body > .cookienotice button {
    display: inline-block;
    vertical-align: middle; }
  body > .cookienotice p {
    margin: 0 0 1em;
    padding: 0 25px;
    display: block; }
  @media screen and (min-width: 768px) {
    body > .cookienotice p {
      margin: 0;
      display: inline-block;
      vertical-align: middle; } }
  body > .cookienotice button {
    background-color: #75b734;
    color: #fff;
    font-weight: 600;
    border: 1px solid #555;
    padding: 0.5em 1.5em;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 3px; }
  body > .cookienotice button:hover {
    background-color: #4a880c; }
  body > .cookienotice .deny {
    margin: 0 0 0 25px;
    border: 1px solid #fff;
    background-color: transparent; }
  body > .cookienotice .deny:hover {
    background-color: transparent; }
  .so-modules {
    margin-top: -355px; }
  .so-modules .inner {
    max-width: 1000px;
    margin: 0 auto; }

.so-modules-2203 {
  padding-top: 60px; }
  .so-modules-2203 .mod-productsummary .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .so-modules-2203 .mod-video .inner {
    max-width: 1000px;
    margin: 0 auto; }

.mod-column {
  margin-bottom: 10px; }
  .mod-column .inner {
    max-width: 1000px;
    margin: 0 auto;
    box-sizing: border-box;
    padding: 60px 60px 30px 60px;
    background-color: #fff; }
  .mod-column .inner .box {
    width: 100%;
    min-height: 200px;
    display: inline-block;
    vertical-align: top;
    text-align: center; }
    @media screen and (min-width: 973px) {
    .mod-column .inner .box {
      width: 33%; } }
  .mod-column .inner img {
    max-width: 100%;
    max-height: 150px;
    width: auto;
    height: auto; }
  .mod-column.shiftup {
    margin-top: -355px; }

.mod-photogrid .inner {
  margin: 0 auto;
  max-width: 1000px; }
  .mod-photogrid .image {
    display: inline-block;
    vertical-align: top;
    margin-bottom: 10px;
    background-size: cover;
    background-position: center center; }
  .mod-photogrid .image.by1 {
    width: 100%;
    padding-top: 40%; }
  .mod-photogrid .image.by2 {
    width: calc(50% - 5px);
    padding-top: 40%;
    box-sizing: border-box; }
  .mod-photogrid .image.even {
    margin-left: 5px; }
  .mod-photogrid .image.odd {
    margin-right: 5px; }
  .mod-photogrid .title {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: rgba(0, 0, 0, .5);
    color: #fff;
    text-align: center;
    padding: 15px 20px;
    box-sizing: border-box;
    font-family: 'Chivo'; }
  @media screen and (min-width: 768px) {
    .mod-photogrid .title {
      transition: opacity 0.5s ease 0s;
      opacity: 0; } }
  @media screen and (min-width: 768px) {
    .mod-photogrid .image:hover .title {
      opacity: 1; } }

.mod-contactform {
  z-index: 1;
  margin-bottom: 10px; }
  .mod-contactform .innerform {
    display: block;
    width: 100%; }
  .mod-contactform .innerform .inner {
    background-color: #fff;
    box-sizing: border-box;
    width: 100%;
    max-width: 1000px;
    padding: 60px;
    margin: 0 auto; }
  .mod-contactform .innerform input, .mod-contactform .innerform textarea {
    background-color: #fff;
    border-bottom: 2px solid #ddd;
    border-left: none;
    border-top: none;
    border-right: none;
    border-radius: 2px;
    width: 100%;
    margin: 0 0 5px 0;
    box-sizing: border-box;
    font-family: 'Chivo', sans-serif;
    padding: 20px 3px 20px 3px;
    color: #2a2731;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
    -o-transition: 0.5s;
    -ms-transition: 0.5s;
    -moz-transition: 0.5s;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    resize: none; }
    .mod-contactform .innerform input.invalid, .mod-contactform .innerform textarea.invalid {
      border-bottom: 2px solid red; }
  .mod-contactform .innerform input {
    height: 40px; }
  .mod-contactform .innerform textarea {
    height: 130px;
    margin-bottom: 50px; }
  .mod-contactform .innerform input:focus, .mod-contactform .innerform textarea:focus {
    border-bottom: 2px solid #2a2731;
    outline: 0; }
  .mod-contactform .innerform p {
    margin: 20px 0px 0px 0px;
    color: #888;
    font-size: 14px;
    font-weight: 400; }
  .mod-contactform .innerform p span {
    color: #f00;
    margin-left: 0.2em; }
  .mod-contactform .innerform .rb {
    display: inline-block;
    background-image: url(../img/radio.png);
    margin: 10px 21px 0 0;
    padding: 10px 0 10px 44px;
    text-decoration: none;
    font-family: 'Chivo', sans-serif;
    color: #2a2731;
    font-weight: 400;
    font-size: 16px; }
  .mod-contactform .innerform .rb.toggleable.on {
    background-image: url(../img/radio-on.png); }
  .mod-contactform .innerform a {
    margin-right: 3em;
    margin-bottom: 10px; }
  .mod-contactform .thanks {
    padding: 10px 0;
    display: none;
    color: #75b734; }
  .mod-contactform .thanks.show {
    display: inline-block; }

.mod-video {
  margin-bottom: 10px; }
  .mod-video .inner, .mod-video .ratio {
    position: relative; }
  .mod-video .inner .ratio {
    padding-top: 56.25%; }
  .mod-video.r32 .inner .ratio {
    padding-top: 66.66%; }
  .mod-video.r1610 .inner .ratio {
    padding-top: 62.5%; }
  .mod-video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0; }

.mod-splitcolumn .inner {
  max-width: 1000px;
  margin: 0 auto;
  min-height: 100px;
  padding: 0;
  box-sizing: border-box;
  display: block;
  flex-direction: row; }
  @media screen and (min-width: 768px) {
    .mod-splitcolumn .inner {
      display: flex;
      align-content: center;
      justify-content: center; } }
  .mod-splitcolumn.bmargin {
    margin-bottom: 10px; }
  .mod-splitcolumn.contain .col.right {
    padding: 20px;
    background-color: #f6f7f2; }
  .mod-splitcolumn.contain .col.right .bg {
    background-size: contain;
    background-position: center;
    background-size: contain;
    padding: 20px;
    box-sizing: border-box; }
  .mod-splitcolumn.cover .col.right .bg {
    background-size: cover; }
  @media screen and (min-width: 768px) {
    .mod-splitcolumn.left .inner {
      flex-direction: row-reverse; } }
  .mod-splitcolumn .col {
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Chivo', sans-serif; }
  @media screen and (min-width: 768px) {
    .mod-splitcolumn .col {
      width: auto;
      flex: 1 1 50%; } }
  .mod-splitcolumn .col.left {
    background-color: #fff;
    min-height: 250px;
    padding: 60px 60px 30px; }
  .mod-splitcolumn .col.right .bg {
    width: 100%;
    height: 100%;
    background-position: center center;
    min-height: 250px; }
  @media screen and (min-width: 768px) {
    .mod-splitcolumn .col.right .bg {
      min-height: 0; } }

.mod-productsummary {
  background-size: cover;
  background-position: center center; }
  .mod-productsummary .inner {
    max-width: 1000px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
  @media screen and (min-width: 768px) {
    .mod-productsummary .inner {
      padding-top: 300px; } }
  .mod-productsummary .col {
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px; }
  @media screen and (min-width: 768px) {
    .mod-productsummary .col {
      flex: 0 0 calc(50% - 5px); } }
  .mod-productsummary .left {
    background-color: #2a2731;
    padding: 60px 60px 50px 60px;
    color: #fff; }
  .mod-productsummary .right {
    background-color: #75b734;
    position: relative;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    padding: 15px;
    flex-direction: column; }
  @media screen and (min-width: 768px) {
    .mod-productsummary .right {
      padding: 60px;
      flex-direction: row; } }
  .mod-productsummary .right a, .mod-productsummary .right p {
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    margin: 0;
    flex: 1 1 33%; }
  .mod-productsummary .right a {
    padding: 60px;
    box-sizing: border-box;
    background-color: #75b734;
    transition: background-color 0.2s ease;
    text-decoration: none;
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    display: none; }
    .mod-productsummary .right a:hover {
      background-color: #4a880c; }
  .mod-productsummary .right .bg {
    display: inline-block;
    width: 100%;
    height: 100%;
    max-width: 250px;
    height: 250px;
    background-size: contain;
    background-position: center center;
    margin-bottom: 2em; }
  .mod-productsummary .expanding {
    display: none; }
  .mod-productsummary h2.expander {
    flex: auto;
    text-align: left;
    color: #fff;
    box-sizing: border-box;
    cursor: pointer;
    margin: 0; }
  @media screen and (min-width: 768px) {
    .mod-productsummary h2.expander {
      flex: 0 0 100%; } }
  .mod-productsummary h2.expander::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 30px;
    line-height: 10px;
    padding: 3px 3px 7px 10px;
    display: inline-block;
    vertical-align: middle;
    transform: rotate(0deg) translate(5px, 0);
    transition: transform 0.5s ease; }
  .mod-productsummary .expanded h2 {
    margin: 0 0 25px 0; }
    .mod-productsummary .expanded h2::after {
      transform: rotate(90deg) translate(-5px, -10px); }
  .mod-productsummary .expanded a {
    display: flex; }
  .mod-productsummary .expanded .expanding {
    display: block; }

.mod-picture {
  margin-bottom: 10px; }
  .mod-picture .inner {
    background-position: center center; }
  .mod-picture.full .inner {
    max-width: none; }
  .mod-picture.cover .inner {
    background-size: cover;
    height: 80vh;
    /* TÄHÄN FIXED KORKEUS JOS HALUAT */ }
    .mod-picture.contain .inner img {
      width: 100%;
      display: block;
      line-height: 1px; }

.mod-techinfo {
  margin-bottom: 10px; }
  .mod-techinfo .inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px;
    box-sizing: border-box;
    background-color: #fff; }
  @media screen and (min-width: 600px) {
    .mod-techinfo .inner {
      padding: 60px; } }
  .mod-techinfo h2 {
    cursor: pointer;
    margin: 0; }
  .mod-techinfo h2::after {
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 30px;
    line-height: 10px;
    padding: 3px 3px 7px 10px;
    display: inline-block;
    vertical-align: middle;
    transform: rotate(0deg) translate(5px, 0);
    transition: transform 0.5s ease; }
  .mod-techinfo .productdata .inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px;
    box-sizing: border-box;
    background-color: #fff; }
  .mod-techinfo .productdata table {
    font-size: 16px;
    font-weight: 400;
    font-family: 'Chivo', sans-serif;
    width: 100%;
    display: none; }
  .mod-techinfo .productdata td {
    display: block;
    background-color: #f6f7f2;
    padding: 7px 7px 7px 15px; }
    @media screen and (min-width: 600px) {
    .mod-techinfo .productdata td {
      display: table-cell; } }
    .mod-techinfo .productdata td:first-child {
      font-weight: bold; }
      @media screen and (min-width: 600px) {
    .mod-techinfo .productdata td:first-child {
      font-weight: normal;
      width: 350px; } }
  .mod-techinfo .productdata a {
    color: #75b734; }
  .mod-techinfo .expanded h2 {
    margin: 0 0 25px 0; }
    .mod-techinfo .expanded h2::after {
      transform: rotate(90deg) translate(-5px, -10px); }
  .mod-techinfo .expanded table {
    display: block; }

.mod-contactbutton .inner {
  max-width: 1000px;
  margin: 0 auto;
  margin-top: 10px;
  text-align: center; }
  .mod-contactbutton .btn {
    width: 100%;
    box-sizing: border-box;
    padding: 15px 0; }

.so-widget-avion-fronttop-widget .mod-fronttop .slide {
  min-height: 500px; }
  @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .slide {
        min-height: 605px;
        padding-bottom: 170px; } }
  @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .slide {
        min-height: 690px;
        padding-bottom: 200px;
        box-sizing: border-box; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-size: cover;
    background-position: center; }
  .so-widget-avion-fronttop-widget .mod-fronttop .bg video {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .so-widget-avion-fronttop-widget .mod-fronttop .content {
    /*tätä muokattu -jv*/
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 490px;
    padding: 50px 30px;
    color: #fff;
    box-sizing: border-box; }
  @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .content {
        min-height: 600px; } }
  @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .content {
        min-height: 490px; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .content img {
    margin: 0 auto; }
  .so-widget-avion-fronttop-widget .mod-fronttop .content h2 {
    font-size: 2rem;
    font-weight: bold;
    /*tätä muokattu -jv*/
    margin: 0 0 0.6em;
    line-height: 1.1em; }
    .so-widget-avion-fronttop-widget .mod-fronttop .content h2.slogan {
      font-weight: 400; }
    @media screen and (min-width: 768px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .content h2 {
        font-size: 2.4rem; } }
    @media screen and (min-width: 1024px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .content h2 {
        font-size: 2.8rem; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .content .greenslant {
    font-style: italic;
    font-weight: 800;
    white-space: nowrap; }
    .so-widget-avion-fronttop-widget .mod-fronttop .content .greenslant::after {
      content: "®";
      font-size: 1rem;
      display: inline-block;
      vertical-align: top;
      padding-left: 0.3em;
      line-height: 1.5em;
      font-style: normal; }
  .so-widget-avion-fronttop-widget .mod-fronttop .content p {
    font-size: 1.24rem;
    font-family: Montserrat, sans-serif;
    font-weight: 500;
    /*tätä muokattu -jv*/
    line-height: 1.4em;
    /*tätä muokattu -jv*/
    margin: 0 0 1.6em; }
  .so-widget-avion-fronttop-widget .mod-fronttop .content h2, .so-widget-avion-fronttop-widget .mod-fronttop .content p {
    text-shadow: 0 0 40px rgba(0, 0, 0, .5); }
  @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .outerslider {
        border-bottom: 1px solid #ddd; } }
  @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .outerslider {
        border-bottom: none; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots {
    display: none; }
  @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots {
        display: initial;
        bottom: 210px; } }
  @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots {
        bottom: 245px; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots li {
    background-image: none;
    margin: 0 3px;
    width: 14px;
    height: 14px; }
  .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots li button {
    color: transparent; }
    .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots li button::before {
      background-color: #fff;
      width: 14px;
      height: 14px;
      border-radius: 50%;
      opacity: 1;
      color: transparent; }
  .so-widget-avion-fronttop-widget .mod-fronttop .outerslider .slick-dots li.slick-active button::before {
    background-color: #75b734; }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups {
    max-width: 1000px; }
  @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups {
        padding: 0 39px 0 40px;
        width: 100%;
        position: absolute;
        left: 50%;
        margin: 0 auto;
        transform: translateX(-50%);
        bottom: 0; } }
  @media screen and (min-width: 1070px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups {
        padding: 0;
        border-bottom: 1px solid transparent; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups a {
    display: block;
    padding: 10px 20px 10px 40px;
    background-color: #fff;
    box-sizing: border-box;
    vertical-align: top;
    color: #2a2731;
    font-size: 0.85rem;
    text-align: left;
    transition: all 0.3s ease;
    position: relative;
    min-height: 50px;
    font-family: Chivo, sans-serif;
    border-bottom: 1px solid #ddd; }
    @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups a {
        height: 170px;
        padding: 10px;
        text-align: center;
        border-bottom: none;
        display: inline-flex;
        flex-direction: column;
        justify-content: center; } }
    @media screen and (min-width: 1070px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups a {
        padding: 10px;
        height: 205px; } }
    .so-widget-avion-fronttop-widget .mod-fronttop .groups a:hover {
      background-color: #2a2731;
      color: #fff;
      /*
        &:last-child {
          border-bottom: none;
        }
        */ }
    .so-widget-avion-fronttop-widget .mod-fronttop .groups a .text {
      display: inline-block;
      /* width: calc(100% - 55px);*/
      vertical-align: middle;
      width: calc(100% - 60px);
      font-size: 15px; }
      @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups a .text {
        width: auto;
        /* tätä muokattu -jv */
        margin-bottom: 20px;
        /* tätä muokattu -jv */
        padding: 0 10px; } }
    @media screen and (min-width: 560px) {
        .so-widget-avion-fronttop-widget .mod-fronttop .groups a .box {
          display: inline-flex;
          flex-direction: column;
          justify-content: center;
          width: 100%;
          height: 100%; } }
  @media screen and (min-width: 850px) {
        .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-slide {
          border-right: 1px solid transparent; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups svg {
    height: 40px;
    margin-right: 15px;
    display: inline-block;
    vertical-align: middle;
    width: 40px; }
    @media screen and (min-width: 560px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups svg {
        display: initial;
        height: auto;
        position: initial;
        left: auto;
        top: auto;
        display: block;
        margin: 0 auto;
        width: 70px; } }
    @media screen and (min-width: 850px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups svg {
        width: 96px; } }
    .so-widget-avion-fronttop-widget .mod-fronttop .groups svg rect, .so-widget-avion-fronttop-widget .mod-fronttop .groups svg circle, .so-widget-avion-fronttop-widget .mod-fronttop .groups svg path {
      fill: #75b734; }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-next {
    right: 0;
    height: calc(100% + 1px);
    width: 40px;
    z-index: 99;
    background-color: #75b734; }
    @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-next {
        height: 20px;
        width: 20px;
        right: -45px;
        background-color: transparent; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-prev {
    left: 0;
    height: calc(100% + 1px);
    width: 40px;
    z-index: 99;
    background-color: #75b734; }
    @media screen and (min-width: 1150px) {
      .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-prev {
        height: 20px;
        width: 20px;
        left: -45px;
        background-color: transparent; } }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-next:before {
    font-family: FontAwesome;
    content: "\f054";
    font-size: 26px; }
  .so-widget-avion-fronttop-widget .mod-fronttop .groups .slick-prev:before {
    font-family: FontAwesome;
    content: "\f053";
    font-size: 26px; }
  .so-widget-avion-fronttop-widget .slick-dotted.slick-slider {
    margin-bottom: 0; }

.mod-subhero {
  min-height: 690px;
  margin-bottom: -355px;
  background-size: cover;
  background-position: center center; }
  .mod-subhero .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .mod-subhero .content {
    display: flex;
    flex-direction: column;
    min-height: 335px;
    justify-content: center;
    align-items: center;
    padding: 60px 30px;
    box-sizing: border-box;
    /*lisäys jv*/
    text-align: center; }
  .mod-subhero h1 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.1em; }
  @media screen and (min-width: 768px) {
    .mod-subhero h1 {
      font-size: 2.4rem; } }
  @media screen and (min-width: 1024px) {
    .mod-subhero h1 {
      font-size: 2.8rem; } }
  .mod-subhero .content * {
    text-shadow: 0 0 40px rgba(0, 0, 0, .5); }

.avion-productvideogallery.limitwidth .inner {
  max-width: 1005px;
  margin: 0 auto; }

.avion-productgallery *:focus {
  outline: none; }
  .avion-productgallery .inner {
    background-color: #fff;
    padding: 50px 30px;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    box-sizing: border-box; }
  @media screen and (min-width: 450px) {
    .avion-productgallery .inner {
      justify-content: space-between; } }
  .avion-productgallery a {
    flex: 0 0 99%;
    padding: 15px;
    box-sizing: border-box;
    background-position: center;
    background-size: contain;
    background-color: #f4f5ef;
    height: 140px; }
  @media screen and (min-width: 900px) {
    .avion-productgallery a {
      padding-bottom: 35%;
      height: auto; } }
  .avion-productgallery a div {
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    position: absolute;
    left: 5px;
    top: 5px;
    background-position: center;
    background-size: contain;
    background-color: #f4f5ef; }
  .avion-productgallery img {
    width: 100%; }
  .avion-productgallery .avion-productgallery-slider {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll; }
  @media screen and (min-width: 900px) {
    .avion-productgallery .avion-productgallery-slider {
      display: block; } }
  .avion-productgallery .avion-productgallery-slider a {
    position: relative;
    flex: 0 0 250px;
    width: 100%;
    max-width: 250px;
    display: flex;
    align-items: center;
    background-position: center;
    background-size: contain;
    background-color: transparent; }
  @media screen and (min-width: 900px) {
      .avion-productgallery .avion-productgallery-slider a {
        width: auto;
        height: auto;
        padding-bottom: 55%;
        flex: none; } }
  .avion-productgallery .slick-dots li {
    background-image: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #75b734; }
  .avion-productgallery .slick-dots button::before {
    content: ""; }

.avion-productrelated .inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  padding: 50px 0 30px; }
  .avion-productrelated h2 {
    text-align: left;
    width: 100%;
    padding-left: 15px; }
  @media screen and (min-width: 768px) {
    .avion-productrelated h2 {
      padding-left: 60px; } }
  .avion-productrelated .product-related-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px; }
  .avion-productrelated a {
    border: 5px solid #fff;
    box-sizing: border-box;
    flex: 0 0 calc((100% - 40px)/3);
    background-color: #f4f5ef;
    min-height: 173px;
    padding: 10px 0 0;
    box-sizing: border-box;
    flex: 0 0 250px; }
  .avion-productrelated a .photo {
    background-size: contain;
    width: 100%;
    padding-bottom: 35%;
    background-position: center; }
  .avion-productrelated a p {
    padding: 1em;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    box-sizing: border-box;
    font-size: 0.8rem; }
  .avion-productrelated .product-related-slider {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;
    padding: 0 30px;
    box-sizing: border-box; }
  @media screen and (min-width: 900px) {
    .avion-productrelated .product-related-slider {
      display: block;
      overflow-x: auto;
      padding: 0; } }
  .avion-productrelated .product-related-slider .slick-dots {
    bottom: 4px;
    position: relative; }
  .avion-productrelated .product-related-slider .slick-dots li {
    background-image: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #75b734; }
  .avion-productrelated .product-related-slider .slick-dots button::before {
    content: ""; }
  .avion-productrelated .product-related-slider .slick-next, .avion-productrelated .product-related-slider .slick-prev {
    height: 30px;
    width: 30px;
    z-index: 99;
    top: calc(50% - 5px); }
  .avion-productrelated .product-related-slider .slick-next::before, .avion-productrelated .product-related-slider .slick-prev::before {
    color: #000;
    font-family: 'FontAwesome';
    font-size: 2rem; }
  .avion-productrelated .product-related-slider .slick-prev {
    left: 0; }
  .avion-productrelated .product-related-slider .slick-next {
    right: 0; }
  .avion-productrelated .product-related-slider .slick-next::before {
    content: "\f105"; }
  .avion-productrelated .product-related-slider .slick-prev::before {
    content: "\f104"; }

.avion-productlisting .inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff; }
  .avion-productlisting .list {
    width: 100%;
    max-width: 100%;
    padding: 20px;
    box-sizing: border-box; }
  .avion-productlisting .matrix {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 20px; }
  .avion-productlisting .matrix > h2 {
    flex: 0 0 100%;
    text-align: center; }
  .avion-productlisting .matrix > a {
    flex: 0 0 250px;
    border: 1px solid #000; }
  .avion-productlisting .matrix > a > div {
    width: 90%;
    height: 100px;
    background-size: contain;
    background-position: center;
    margin-left: 5%;
    margin-top: 5%; }
  .avion-productlisting .matrix > a h3 {
    color: #000;
    font-size: 0.8rem;
    text-align: center;
    font-weight: 600;
    margin-top: 0.2em; }
  .avion-productlisting .matrix > a .model {
    margin: 0;
    font-size: 0.7rem;
    text-align: center; }
  .avion-productlisting .matrix > a .userspec {
    height: auto;
    padding-bottom: 0.5em; }
  .avion-productlisting .matrix > a .price, .avion-productlisting .matrix > a .stock {
    display: inline-block;
    width: 49%;
    text-decoration: none;
    color: #000;
    font-size: 0.9rem; }
  .avion-productlisting .matrix > a .stock {
    text-align: right; }
  .avion-productlisting.filters .inner {
    max-width: 1300px;
    display: flex;
    flex-direction: column; }
  @media screen and (min-width: 600px) {
      .avion-productlisting.filters .inner {
        flex-direction: row; } }
  .avion-productlisting.filters .filters {
    background-color: #2a2731;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 20px;
    box-sizing: border-box;
    overflow-x: scroll;
    flex: 0 0 100%;
    display: flex;
    gap: 30px;
    flex-wrap: wrap; }
  @media screen and (min-width: 600px) {
      .avion-productlisting.filters .filters {
        flex: 0 0 250px;
        overflow-x: initial;
        display: block;
        gap: initial; } }
  .avion-productlisting.filters .filter {
    display: block;
    padding-bottom: 1em;
    flex: 0 0 30%; }
  @media screen and (min-width: 600px) {
      .avion-productlisting.filters .filter {
        flex: auto; } }
  .avion-productlisting.filters .filter.full {
    flex: 0 0 100%; }
    @media screen and (min-width: 600px) {
      .avion-productlisting.filters .filter.full {
        flex: auto; } }
  .avion-productlisting.filters .list {
    width: auto;
    flex: 1 1 auto; }
  .avion-productlisting.filters input {
    margin-right: 10px; }
  .avion-productlisting label {
    display: flex;
    padding: 0.2em 0;
    align-items: center; }

.avion-productgroup .inner {
  max-width: 1000px;
  background-color: #fff;
  margin: 0 auto;
  padding: 60px 70px 30px 70px;
  box-sizing: border-box; }
  .avion-productgroup .list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px; }
  .avion-productgroup .group {
    flex: 0 0 273px;
    border: 2px solid #ddd;
    color: #2a2731;
    padding: 10px 10px 30px 10px;
    box-sizing: border-box;
    text-align: center; }
  .avion-productgroup .group h2 {
    font-size: 20px;
    line-height: 23px;
    font-weight: 400; }
  .avion-productgroup .group img {
    max-width: 100%;
    width: calc(100% - 40px);
    margin: 20px;
    max-height: 100px;
    height: auto;
    object-fit: contain; }
  .avion-productgroup .group a {
    display: block; }

.avion-subhero {
  min-height: 690px;
  margin-bottom: -355px;
  background-size: cover;
  background-position: center center; }
  .avion-subhero .inner {
    max-width: 1000px;
    margin: 0 auto; }
  .avion-subhero .content {
    display: flex;
    flex-direction: column;
    min-height: 335px;
    justify-content: center;
    align-items: center;
    padding: 60px 30px;
    box-sizing: border-box;
    /*lisäys jv*/
    text-align: center; }
  .avion-subhero h1 {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.1em; }
  @media screen and (min-width: 768px) {
    .avion-subhero h1 {
      font-size: 2.4rem; } }
  @media screen and (min-width: 1024px) {
    .avion-subhero h1 {
      font-size: 2.8rem; } }
  .avion-subhero .content * {
    text-shadow: 0 0 40px rgba(0, 0, 0, .5); }

.mod-subhero.login {
  margin: 0;
  display: flex;
  align-items: center; }
  .mod-subhero.login .inner {
    display: flex;
    flex-direction: column; }
  .mod-subhero.login h3 {
    color: #75b734;
    font-weight: 600;
    text-transform: none; }

.login-intro {
  color: #fff;
  padding: 1em;
  box-sizing: border-box; }

.login-form {
  display: flex;
  flex-direction: column;
  padding: 30px;
  box-sizing: border-box;
  background-color: #fff;
  margin: 0 auto;
  min-width: 270px; }
  .login-form input[type="text"], .login-form input[type="password"] {
    border: 1px soid #aaa;
    padding: 10px 15px;
    margin: 0 0 0.7em; }
  .login-form .failure {
    padding: 1em 0 0;
    max-width: 270px;
    display: none;
    color: #a00; }
