@charset "UTF-8";
/* Fonts */
/* Links */
/*
-webkit-animation: $slide_animation_in_left .6s linear 0s 1 normal both;
animation: $slide_animation_in_left .6s linear 0s 1 normal both;
*/
/**
 * Single source of truth for the "description/text under a block title" style
 * (reference: .about_us_text p). Every block's __description/__text should
 * @include this instead of hand-copying font-size + font-weight, so a future
 * change only has to happen here.
 */
/**
 * Single source of truth for a block's section heading size (reference:
 * .membrane_systems__title): 32px, 48px from 768px. !important because the
 * global `.content h2` rules would win otherwise. Homepage blocks use their
 * own larger 64px heading and don't include this.
 */
/**
 * Button text, same as the base .btn: 16px, 18px from 768px, 20px from 1024px.
 */
/**
 * Title of a card / item inside a block (reference:
 * .quality_safety__card_title): 20px, 24px from 768px.
 */
/**
 * Supertitle above a block heading (reference: .membrane_systems__supertitle):
 * 18px, 30px from 768px.
 */
#cookieChoiceInfo {
  background: white !important;
  color: #000;
  overflow: hidden;
  padding: 20px !important;
  font-size: 14px;
  text-align: left !important;
  border-radius: 5px;
  position: fixed !important;
  bottom: 20px !important;
  left: 20px !important;
  top: auto !important;
  right: auto !important;
  width: 300px !important;
  z-index: 99 !important;
  box-shadow: 1px 1px 20px 5px rgba(0, 0, 0, 0.2);
  animation: slideInUp 1s ease-out 1s 1 normal both;
}
#cookieChoiceInfo.remove {
  animation: slideOutDown 1s ease-out 1s 1 normal both;
}
#cookieChoiceInfo div {
  padding: 0 !important;
  text-align: center;
}
#cookieChoiceInfo span {
  display: block;
  margin: 0;
  padding: 0;
  line-height: 1.6;
  text-align: left;
}
#cookieChoiceInfo a {
  font-size: 16px;
  line-height: 1.2;
  color: #000 !important;
  display: inline-block;
  margin: 20px 10px 0 !important;
  padding: 8px 15px !important;
  border: 1px solid #000;
}
#cookieChoiceInfo a:hover {
  color: #fff !important;
  background-color: #000;
}
#cookieChoiceInfo #cookieChoiceDismissIcon {
  display: none !important;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(400%);
    transform: translateY(400%);
    visibility: visible;
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
/* Fonts */
/* Links */
/*
-webkit-animation: $slide_animation_in_left .6s linear 0s 1 normal both;
animation: $slide_animation_in_left .6s linear 0s 1 normal both;
*/
/**
 * Single source of truth for the "description/text under a block title" style
 * (reference: .about_us_text p). Every block's __description/__text should
 * @include this instead of hand-copying font-size + font-weight, so a future
 * change only has to happen here.
 */
/**
 * Single source of truth for a block's section heading size (reference:
 * .membrane_systems__title): 32px, 48px from 768px. !important because the
 * global `.content h2` rules would win otherwise. Homepage blocks use their
 * own larger 64px heading and don't include this.
 */
/**
 * Button text, same as the base .btn: 16px, 18px from 768px, 20px from 1024px.
 */
/**
 * Title of a card / item inside a block (reference:
 * .quality_safety__card_title): 20px, 24px from 768px.
 */
/**
 * Supertitle above a block heading (reference: .membrane_systems__supertitle):
 * 18px, 30px from 768px.
 */
html,
body {
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  background: #fff !important;
  color: #000;
  font-size: calc(14px + 6 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  body {
    font-size: 14px;
  }
}
@media screen and (min-width: 1400px) {
  body {
    font-size: 20px;
  }
}
body {
  padding: 0;
  margin: 0;
  font-family: "AmsiPro", sans-serif;
  font-weight: normal;
  font-style: normal;
  line-height: 1.5;
  position: relative;
}
body.activ {
  overflow: hidden;
}
@media only screen and (min-width: 870px) {
  body.activ {
    overflow: auto;
  }
}

.clearfix:before,
.clearfix:after {
  content: " ";
  display: block;
}

.clearfix:after {
  clear: both;
}

p, ul, ol {
  padding: 0px;
  margin: 0px;
}

h1, h2, h3, h4, h5, h6 {
  padding: 0px;
  margin: 0px;
  font-weight: 700;
  font-size: calc(22px + 10 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 22px;
  }
}
@media screen and (min-width: 1400px) {
  h1, h2, h3, h4, h5, h6 {
    font-size: 32px;
  }
}

strong {
  font-weight: 700;
}

button {
  border: none;
  padding: 0px;
  margin: 0px;
  background: none;
  cursor: pointer;
}

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: none;
  display: inline-block;
}

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

td,
th {
  padding: 0;
}

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

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

input[type=search] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.has-text-align-center,
.aligncenter {
  text-align: center;
}

.has-text-align-left,
.alignleft {
  text-align: left;
}

.has-text-align-right,
.alignright {
  text-align: right;
}

@font-face {
  font-family: "Permanent_Marker";
  src: url("../fonts/jstfont/PermanentMarker-Regular.eot");
  src: local("Permanent Marker Regular"), local("PermanentMarker-Regular"), url("../fonts/jstfont/PermanentMarker-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/jstfont/PermanentMarker-Regular.woff2") format("woff2"), url("../fonts/jstfont/PermanentMarker-Regular.woff") format("woff"), url("../fonts/jstfont/PermanentMarker-Regular.svg#PermanentMarker-Regular") format("svg");
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/Helvetica-Neue-Light_22503.ttf") format("truetype");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/Helvetica-Neue-Light_22503.ttf") format("truetype");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/Helvetica-Neue-Light_22503.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Regular.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Regular.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Bold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "AmsiPro";
  src: url("../fonts/AmsiPro-Bold.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
*,
*:before,
*:after {
  -ms-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html, body {
  scroll-behavior: smooth;
}

html {
  direction: ltr;
}

header,
main,
footer,
section {
  position: relative;
  width: 100%;
  z-index: 1;
}

main {
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  min-height: 100vh;
  max-height: fit-content;
  padding-top: 69px;
  transition: all 0.2s;
}
@media only screen and (min-width: 768px) {
  main {
    padding-top: 110px;
  }
}
@media only screen and (min-width: 1200px) {
  main {
    padding-top: 165px;
  }
}
main.small_padding {
  padding-top: 69px;
}
@media only screen and (min-width: 768px) {
  main.small_padding {
    padding-top: 110px;
  }
}
@media only screen and (min-width: 1200px) {
  main.small_padding {
    padding-top: 125px;
  }
}
main:not(.home) {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  main:not(.home) {
    margin-bottom: 70px;
  }
}
main.grey_background {
  background-color: #F2F4F3;
}

.otgs-development-site-front-end {
  display: none;
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes spinplay {
  to {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes circle {
  from {
    -webkit-transform: rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateZ(-60deg);
  }
}
@-webkit-keyframes round {
  from {
    -webkit-transform: rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateZ(60deg);
  }
}
@keyframes animated-text {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes movingUp {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes flying {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(-5%, 5%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(-360deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(-70deg);
  }
  to {
    transform: rotate(-30deg);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.5);
  }
  to {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
  }
}
@keyframes fadeIn2 {
  from {
    opacity: 0;
    visibility: hidden;
  }
  50% {
    opacity: 1;
    visibility: visible;
  }
  90% {
    opacity: 0;
    visibility: hidden;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fadeInOut {
  0% {
    opacity: 1;
  }
  22% {
    opacity: 1;
  }
  33% {
    opacity: 0;
  }
  89% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fillColor {
  0% {
    color: #fff;
  }
  22% {
    color: #fff;
  }
  33% {
    color: transparent;
  }
  89% {
    color: transparent;
  }
  100% {
    color: #fff;
  }
}
@keyframes zoomIn {
  from {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  to {
    transform: scale(1);
  }
}
@keyframes fromLeft {
  from {
    transform: translate(-100%, 0%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
@keyframes infinite-spinning {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.wpcf7-form {
  position: relative;
  width: 100%;
}
.wpcf7-form .hidden-fields-container {
  display: none;
}
.wpcf7-form label {
  position: relative;
  cursor: pointer;
  display: block;
  color: #737373;
}
.wpcf7-form .hidden_field {
  display: none;
}
.wpcf7-form textarea,
.wpcf7-form input[type=text],
.wpcf7-form input[type=number],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form select {
  width: 100%;
  padding: 19px 30px;
  color: #808080;
  background-color: #f5f7f7;
  border: none;
  outline: none;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px;
  position: relative;
  text-align: left;
  transition: all 0.4s;
  margin-bottom: 20px;
}
.wpcf7-form textarea.wpcf7-not-valid,
.wpcf7-form input[type=text].wpcf7-not-valid,
.wpcf7-form input[type=number].wpcf7-not-valid,
.wpcf7-form input[type=email].wpcf7-not-valid,
.wpcf7-form input[type=tel].wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid {
  /*       border-color: $color_red;
        color: $color_red; */
}
.wpcf7-form textarea:focus,
.wpcf7-form input[type=text]:focus,
.wpcf7-form input[type=number]:focus,
.wpcf7-form input[type=email]:focus,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form select:focus {
  color: #000;
}
.wpcf7-form textarea {
  height: 220px;
  width: 100%;
  max-width: 580px;
  min-width: 100%;
  min-height: 220px;
}
@media only screen and (min-width: 768px) {
  .wpcf7-form .row {
    display: flex;
  }
}
.wpcf7-form .row .box {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .wpcf7-form .row .box {
    width: 50%;
  }
}
.wpcf7-form .row .box:first-of-type {
  margin-right: 0;
  margin-bottom: 10px;
}
@media only screen and (min-width: 768px) {
  .wpcf7-form .row .box:first-of-type {
    margin-right: 15px;
    margin-bottom: 0;
  }
}
.wpcf7-form .row .box:last-of-type {
  margin-left: 0;
}
@media only screen and (min-width: 768px) {
  .wpcf7-form .row .box:last-of-type {
    margin-left: 15px;
  }
}
.wpcf7-form .wpcf7-submit {
  background-color: transparent;
  color: #5BB74D;
  position: relative;
  cursor: pointer;
  outline: none;
  border: 2px solid #5BB74D;
  padding: 8px 20px;
  font-size: 20px;
  font-weight: normal;
  transition: all 0.4s;
  font-family: "AmsiPro", sans-serif;
  text-transform: uppercase;
  width: auto;
  border-radius: 0;
}
.wpcf7-form .wpcf7-submit:disabled, .wpcf7-form .wpcf7-submit[disabled] {
  cursor: not-allowed;
}
.wpcf7-form .wpcf7-submit:disabled:hover, .wpcf7-form .wpcf7-submit[disabled]:hover {
  background: #fff;
  color: #ccc;
}
.wpcf7-form .wpcf7-submit:hover {
  background-color: #5BB74D;
  color: #fff;
}

:focus::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #000;
}

:focus::-moz-placeholder { /* Firefox 19+ */
  color: #000;
}

:focus:-ms-input-placeholder { /* IE 10+ */
  color: #000;
}

:focus:-moz-placeholder { /* Firefox 18- */
  color: #000;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #aaa;
  transition: all 0.6s;
}

::-moz-placeholder { /* Firefox 19+ */
  color: #aaa;
  transition: all 0.6s;
}

:-ms-input-placeholder { /* IE 10+ */
  color: #aaa;
  transition: all 0.6s;
}

:-moz-placeholder { /* Firefox 18- */
  color: #aaa;
  transition: all 0.6s;
}

.ajax-loader {
  position: absolute;
  bottom: -30px;
  left: 50%;
  width: 40px;
  height: 20px;
  margin: 0 0 0 -20px;
  display: none;
}
.form_center .ajax-loader {
  bottom: -30px;
  left: 50%;
}
.ajax-loader.is-active {
  display: inline-block;
  -webkit-animation: infinite-spinning 1s linear 0s infinite normal both;
  animation: infinite-spinning 1s linear 0s infinite normal both;
}
.ajax-loader:before {
  font-family: "FontAwesome" !important;
  content: "\f021";
  width: inherit;
  height: inherit;
  display: inline-block;
  font-size: 20px;
  color: #fff;
}

.wpcf7-spinner {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  display: none;
}
.submitting .wpcf7-spinner {
  display: inline-block;
  -webkit-animation: infinite-spinning 1s linear 0s infinite normal both;
  animation: infinite-spinning 1s linear 0s infinite normal both;
}
.wpcf7-spinner:before {
  font-family: "FontAwesome" !important;
  content: "\f021";
  width: inherit;
  height: inherit;
  display: inline-block;
  font-size: 20px;
  color: #5BB74D;
}

.wpcf7-response-output {
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 100%;
  /* 	color:$color_yellow;
   */
  font-weight: bold;
  font-size: 12px;
  display: block;
  padding: 0;
  border: none;
  margin: 0;
}
.wpcf7-response-output.wpcf7-mail-sent-ok {
  /*     color: $color_yellow;
   */
}
.wpcf7-response-output.wpcf7-validation-errors {
  /*     color: $color_red;
   */
}

.wpcf7-not-valid-tip {
  font-size: 12px;
  font-weight: bold;
  position: absolute;
  right: 10px;
  bottom: 22px;
  width: auto;
  color: red;
}

.screen-reader-response {
  display: none;
}

@keyframes infinite-spinning {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  border: 1px solid #5BB74D;
  outline: none;
  padding: 12px 20px;
  background-color: transparent;
  font-size: 16px;
  line-height: 1;
  font-weight: bold;
  color: #5BB74D;
  text-decoration: none !important;
  text-align: center;
  white-space: nowrap;
  transition: all 0.2s;
}
@media only screen and (min-width: 768px) {
  .btn {
    font-size: 18px;
    padding: 12px 40px;
    padding-top: 8px;
  }
}
@media only screen and (min-width: 1024px) {
  .btn {
    font-size: 20px;
  }
}
.btn:hover {
  background-color: #5BB74D;
  color: #fff;
}
.btn.white {
  border-color: #fff;
  color: #fff;
}
.btn.white:hover {
  background-color: #fff;
  color: #000;
}
.btn.green_ful {
  background-color: #5BB74D;
  border-color: #5BB74D;
  color: #fff;
}
.btn.green {
  color: #5BB74D;
  border-color: #5BB74D;
  text-transform: none;
  height: 50px;
}
.btn.green:hover {
  background-color: #5BB74D;
  color: #fff;
}

.btn {
  border-radius: 8px;
}

/* Fonts */
/* Links */
/*
-webkit-animation: $slide_animation_in_left .6s linear 0s 1 normal both;
animation: $slide_animation_in_left .6s linear 0s 1 normal both;
*/
/**
 * Single source of truth for the "description/text under a block title" style
 * (reference: .about_us_text p). Every block's __description/__text should
 * @include this instead of hand-copying font-size + font-weight, so a future
 * change only has to happen here.
 */
/**
 * Single source of truth for a block's section heading size (reference:
 * .membrane_systems__title): 32px, 48px from 768px. !important because the
 * global `.content h2` rules would win otherwise. Homepage blocks use their
 * own larger 64px heading and don't include this.
 */
/**
 * Button text, same as the base .btn: 16px, 18px from 768px, 20px from 1024px.
 */
/**
 * Title of a card / item inside a block (reference:
 * .quality_safety__card_title): 20px, 24px from 768px.
 */
/**
 * Supertitle above a block heading (reference: .membrane_systems__supertitle):
 * 18px, 30px from 768px.
 */
body:has(main.grey_background) main, body:has(main.l-archive) main {
  margin-bottom: 0;
}
body:has(main.grey_background) footer, body:has(main.l-archive) footer {
  background-color: #F2F4F3;
}

body.has-lighting-system main {
  margin-bottom: 0;
}
body.has-lighting-system footer {
  background-color: #F1EFEF;
}

body.has-smart-dome-systems main {
  margin-bottom: 0;
}
body.has-smart-dome-systems footer {
  background-color: #58585A;
}

body.has-sustainability main {
  margin-bottom: 0;
}
body.has-sustainability footer {
  background-color: #d6eacd;
}

body.has-wooden-halls main {
  margin-bottom: 0;
}
body.has-wooden-halls footer {
  background-color: #C9E1C1;
}

main.l-page .wrap > p:empty:last-child {
  display: none;
}

footer .footer_main {
  background-color: #252525;
  padding: 50px 0;
}
@media only screen and (min-width: 768px) {
  footer .footer_main {
    padding: 70px 0;
  }
}
@media only screen and (min-width: 1024px) {
  footer .footer_main {
    padding: 80px 0;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding-bottom: 0px;
  }
}
footer .footer_title {
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0 0 40px;
}
@media only screen and (min-width: 768px) {
  footer .footer_title {
    font-size: 40px;
    margin: 0 0 50px;
  }
}
@media only screen and (min-width: 1024px) {
  footer .footer_title {
    font-size: 50px;
  }
}
footer .footer_boxes {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
@media only screen and (min-width: 768px) {
  footer .footer_boxes {
    flex-direction: row;
    gap: 40px;
  }
}
@media only screen and (min-width: 1024px) {
  footer .footer_boxes {
    gap: 60px;
  }
}
footer .footer_box {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  footer .footer_box {
    width: 33.333%;
    flex: 1 1 0;
  }
}
@media only screen and (min-width: 768px) {
  footer .footer_box:nth-child(2) {
    align-items: center;
    text-align: center;
  }
}
@media only screen and (min-width: 768px) {
  footer .footer_box:nth-child(3) {
    align-items: flex-end;
    text-align: right;
  }
}
footer .footer_box .box_icon {
  flex-shrink: 0;
}
footer .footer_box .box_icon span {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 40px;
  height: 40px;
  border: none;
  margin: 0;
  line-height: 1;
}
footer .footer_box .box_icon span:before {
  font-size: 24px;
  color: #5BB74D;
}
footer .footer_box .box_icon span.icon-telephone:before {
  content: "";
  width: 30px;
  height: 30px;
  background: url("../img/dbstelefon.png") no-repeat center center;
  background-size: contain;
  font-size: 0;
}
footer .footer_box .box_content {
  color: #fff;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
}
footer .footer_box .box_content p {
  margin: 0;
  color: #fff;
}
footer .footer_box .box_content strong {
  display: block;
  color: #5BB74D;
  font-weight: 400;
  margin-bottom: 5px;
}
footer .footer_box .box_content a {
  color: #fff;
  font-weight: 400;
  display: block;
}
footer .footer_box .box_content a:hover {
  color: #5BB74D;
}
footer .footer_box .telephones a {
  display: block;
  margin-bottom: 3px;
}
footer .footer_box .telephones a:last-child {
  margin-bottom: 0;
}
footer .footer_socials {
  background-color: #252525;
  padding: 30px 0;
}
@media only screen and (min-width: 768px) {
  footer .footer_socials {
    padding: 40px 0;
  }
}
footer .footer_socials .wrap {
  border-top: 1px solid #5bb74d;
  padding-top: 30px;
}
@media only screen and (min-width: 768px) {
  footer .footer_socials .wrap {
    padding-top: 40px;
  }
}
footer .socials_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
footer .socials_wrap .social_icon {
  padding: 0 20px;
  border-right: 1px solid #5bb74d;
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  footer .socials_wrap .social_icon {
    padding: 0 25px;
  }
}
footer .socials_wrap .social_icon img {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}
@media only screen and (min-width: 768px) {
  footer .socials_wrap .social_icon img {
    width: 30px;
    height: 30px;
  }
}
footer .socials_wrap .social_icon:first-child {
  padding-left: 0;
}
footer .socials_wrap .social_icon:last-child {
  padding-right: 0;
  border-right: none;
}
footer .socials_wrap .social_icon:hover {
  opacity: 0.7;
}
footer span.addr-head {
  font-weight: bold;
}
footer .cofinanced_wrap {
  background-color: #fff;
  text-align: center;
  padding: 40px 0;
}
@media only screen and (min-width: 768px) {
  footer .cofinanced_wrap {
    padding: 50px 0;
  }
}
footer .cofinanced_wrap p {
  margin: 0 auto 20px;
  font-size: 16px;
  line-height: 1.6;
  color: #8F9396;
}
@media only screen and (min-width: 768px) {
  footer .cofinanced_wrap p {
    font-size: 16px;
  }
}
footer .cofinanced_wrap .img_wrap {
  margin-bottom: 20px !important;
}
footer .cofinanced_wrap .img_wrap img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}
@media only screen and (min-width: 768px) {
  footer .cofinanced_wrap .img_wrap img {
    max-width: 600px;
  }
}
footer .footer_bottom {
  background-color: #252525;
  padding: 40px 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom {
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom .wrap {
    display: flex;
    align-items: center;
  }
}
footer .footer_bottom p {
  color: #888;
  font-size: 16px;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom p {
    width: 33.333%;
    flex: 1 1 0;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom .to_top {
    width: 33.333%;
    flex: 1 1 0;
    display: flex;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom nav.footer_menu {
    width: 33.333%;
    flex: 1 1 0;
  }
}
footer .footer_bottom .footer_menu ul {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  footer .footer_bottom .footer_menu ul {
    justify-content: flex-end;
  }
}
footer .footer_bottom .footer_menu ul li {
  margin-right: 10px;
  padding-right: 10px;
  border-right: 1px solid #8F9396;
  line-height: 1;
}
footer .footer_bottom .footer_menu ul li a {
  color: #8F9396;
  font-size: 16px;
  transition: color 0.3s ease;
}
footer .footer_bottom .footer_menu ul li:hover a {
  color: #5BB74D;
}
footer .footer_bottom .footer_menu ul li:last-of-type {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}

footer .icon_wrap,
.contact .icon_wrap {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
@media only screen and (min-width: 1200px) {
  footer .icon_wrap,
  .contact .icon_wrap {
    margin-bottom: 55px;
  }
}
@media only screen and (min-width: 425px) {
  footer .icon_wrap .telephones,
  .contact .icon_wrap .telephones {
    display: flex;
    flex-wrap: wrap;
  }
}
footer .icon_wrap .telephones a,
.contact .icon_wrap .telephones a {
  width: 100%;
}
@media only screen and (min-width: 425px) {
  footer .icon_wrap .telephones a,
  .contact .icon_wrap .telephones a {
    width: 50%;
  }
}
footer .icon_wrap p,
.contact .icon_wrap p {
  margin-bottom: 0 !important;
}
footer .icon_wrap a,
.contact .icon_wrap a {
  color: #fff;
  font-weight: 400;
}
footer .icon_wrap a:hover,
.contact .icon_wrap a:hover {
  color: #5BB74D;
}
footer .icon_wrap span,
.contact .icon_wrap span {
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  display: block;
  border: solid 2px #5BB74D;
  margin-right: 20px;
  line-height: 45px;
  text-align: center;
}
footer .icon_wrap span:before,
.contact .icon_wrap span:before {
  font-size: 21px;
  color: #5BB74D;
}
footer .icon_wrap:last-of-type,
.contact .icon_wrap:last-of-type {
  margin-bottom: 0;
}

.iconmoon.social {
  display: flex;
}
.iconmoon.social a {
  width: 45px;
  height: 45px;
  display: block;
  border: solid 2px #5BB74D;
  margin-right: 12px;
  line-height: 45px;
  text-align: center;
}
.iconmoon.social a:before {
  font-size: 21px;
  color: #5BB74D;
  transition: all 0.2s;
}
.iconmoon.social a.with_text {
  width: auto;
  display: flex;
  align-items: center;
  padding: 0 18px;
  border-radius: 8px;
  border: 1px solid #5bb74d;
}
.iconmoon.social a.with_text:before {
  margin-right: 10px;
}
@media only screen and (min-width: 1400px) {
  .iconmoon.social a.with_text:before {
    margin-right: 20px;
  }
}
.iconmoon.social a.with_text span {
  font-size: 16px;
  font-family: "AmsiPro", sans-serif;
  transition: all 0.2s;
}
@media only screen and (min-width: 1600px) {
  .iconmoon.social a.with_text span {
    font-size: 20px;
  }
}
.iconmoon.social a:hover {
  background-color: #5BB74D;
}
.iconmoon.social a:hover:before {
  color: #fff;
}
.iconmoon.social a:hover span {
  color: #fff;
}
.iconmoon.social a:last-of-type {
  margin-right: 0;
}

footer .footer_box .box_icon .icon-pin:before {
  font-size: 28px !important;
}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.eot?ogeh34");
  src: url("../fonts/icomoon.eot?ogeh34#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?ogeh34") format("truetype"), url("../fonts/icomoon.woff?ogeh34") format("woff"), url("../fonts/icomoon.svg?ogeh34#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.iconmoon a, .iconmoon span, .iconmoon p {
  position: relative;
  display: flex;
  align-items: center;
}
.iconmoon a:before, .iconmoon span:before, .iconmoon p:before {
  display: inline-block;
  color: inherit;
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.iconmoon a.icon-telephone:before, .iconmoon span.icon-telephone:before, .iconmoon p.icon-telephone:before {
  content: "\e900";
}
.iconmoon a.icon-mail:before, .iconmoon span.icon-mail:before, .iconmoon p.icon-mail:before {
  content: "\e901";
}
.iconmoon a.icon-facebook:before, .iconmoon span.icon-facebook:before, .iconmoon p.icon-facebook:before {
  content: "\e902";
}
.iconmoon a.icon-zoom:before, .iconmoon span.icon-zoom:before, .iconmoon p.icon-zoom:before {
  content: "\e903";
}
.iconmoon a.icon-instagram:before, .iconmoon span.icon-instagram:before, .iconmoon p.icon-instagram:before {
  content: "\e904";
}
.iconmoon a.icon-down-chevron:before, .iconmoon span.icon-down-chevron:before, .iconmoon p.icon-down-chevron:before {
  content: "\e905";
}
.iconmoon a.icon-pin:before, .iconmoon span.icon-pin:before, .iconmoon p.icon-pin:before {
  content: "\e906";
}
.iconmoon a.icon-mail-inbox:before, .iconmoon span.icon-mail-inbox:before, .iconmoon p.icon-mail-inbox:before {
  content: "\e907";
}
.iconmoon a.icon-up-chevron:before, .iconmoon span.icon-up-chevron:before, .iconmoon p.icon-up-chevron:before {
  content: "\e90a";
}
.iconmoon a.icon-left-chevron:before, .iconmoon span.icon-left-chevron:before, .iconmoon p.icon-left-chevron:before {
  content: "\e908";
}
.iconmoon a.icon-right-chevron:before, .iconmoon span.icon-right-chevron:before, .iconmoon p.icon-right-chevron:before {
  content: "\e909";
}
.iconmoon a.icon-linkedin:before, .iconmoon span.icon-linkedin:before, .iconmoon p.icon-linkedin:before {
  content: "\e90b";
}

/*                                             								 WP DEFAULT BLOCKS
---------------------------------------------------------------------------------*/
.content .wp-block-gallery {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 30px 0;
  margin: 30px 0;
}
@media only screen and (min-width: 768px) {
  .content .wp-block-gallery {
    margin: 50px 0;
  }
}
.content .wp-block-gallery ul {
  margin: -3px;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .content .wp-block-gallery ul {
    margin: -15px;
  }
}
.content .wp-block-gallery ul li {
  width: calc(33.3% - 6px);
  position: relative;
  cursor: pointer;
  transition: all 0.4s;
  margin: 3px;
  overflow: hidden;
  border: 1px solid #cecece;
  padding: 2px;
  background: none;
}
@media only screen and (min-width: 768px) {
  .content .wp-block-gallery ul li {
    margin: 15px;
    width: calc(33.3% - 30px);
  }
}
.content .wp-block-gallery ul li:hover figure {
  transform: scale(1.2);
}
.content .wp-block-gallery ul li figure {
  width: 100%;
  padding-bottom: 60%;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: all 0.4s;
}

figcaption {
  font-size: 12px;
  margin-top: 6px;
}

.content .wp-block-embed-youtube,
.content .wp-block-embed {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin: 50px 0;
}
.content .wp-block-embed-youtube iframe,
.content .wp-block-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.wp-block-quote {
  color: #89909a;
  font-size: calc(22px + 10 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .wp-block-quote {
    font-size: 22px;
  }
}
@media screen and (min-width: 1400px) {
  .wp-block-quote {
    font-size: 32px;
  }
}
.wp-block-quote {
  font-weight: 400;
  letter-spacing: 1.6px;
  margin: 40px 0 60px;
}

.wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1920px;
}
.wp-block-columns.reverse {
  flex-direction: row-reverse;
}
.wp-block-columns.reverse .slick-slide {
  text-align: right;
}
.wp-block-columns.reverse .slick-slide ul {
  list-style-type: none;
}
.wp-block-columns.reverse .slick-slide ul li {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.wp-block-columns.reverse .wp-block-column:nth-of-type(1) {
  padding-left: 120px;
}
.wp-block-columns.color1 {
  background-image: linear-gradient(to top, #f0f0f0, #e4e6e6);
}
.wp-block-columns.slider .wp-block-column {
  position: relative;
  padding-top: 115px;
  padding-bottom: 140px;
}
.wp-block-columns.slider .wp-block-column:nth-of-type(1):after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  width: 300px;
  background-image: linear-gradient(to top, #f0f0f0, #e4e6e6);
}
.wp-block-columns.slider .wp-block-column:nth-of-type(2) {
  padding: 0px;
}
.wp-block-columns.col_3 {
  display: block;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns.col_3 {
    display: flex;
    justify-content: space-between;
  }
}
.wp-block-columns.col_3 .wp-block-column {
  flex: 0 0 524px;
  padding: 0 !important;
}
.wp-block-columns.col_3 .wp-block-column:nth-of-type(1), .wp-block-columns.col_3 .wp-block-column:nth-of-type(3) {
  display: block;
  flex: 0 0 25%;
  background-color: #f0f0f0;
}
.wp-block-columns.col_3 p {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.86;
  padding: 25px 45px 38px;
}
.wp-block-columns.col_3 p:nth-of-type(2) {
  border-top: 30px solid #fff;
}
.wp-block-columns.col_3 .wp-block-table {
  padding: 0px 45px 38px;
  margin-top: -38px;
}
.wp-block-columns.col_3 .wp-block-table table {
  width: 100%;
}
.wp-block-columns.col_3 .wp-block-table table td {
  font-size: 14px;
  font-weight: 400;
  line-height: 2.14;
}
.wp-block-columns.col_3 .wp-block-table table td:first-of-type {
  padding-right: 18px;
}
.wp-block-columns.col_3 .wp-block-image {
  width: 100%;
  height: 100%;
}
.wp-block-columns.col_3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wp-block-columns .wp-block-column {
  width: 100%;
  max-width: 100%;
  padding: 81px 0 91px 20px;
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns .wp-block-column {
    flex: 1 1 50%;
    max-width: 50%;
  }
}
.wp-block-columns .wp-block-column:nth-of-type(1) {
  padding-left: 20px;
}
@media only screen and (min-width: 1440px) {
  .wp-block-columns .wp-block-column:nth-of-type(1) {
    padding-left: calc((100vw - 1300px) / 2);
  }
}
@media only screen and (min-width: 1024px) {
  .wp-block-columns .wp-block-column:nth-of-type(2) {
    padding-left: 50px;
  }
}
@media only screen and (min-width: 1440px) {
  .wp-block-columns .wp-block-column:nth-of-type(2) {
    padding-left: 105px;
  }
}
.wp-block-columns .wp-block-column.color2 {
  background-color: #5BB74D;
}
.wp-block-columns .wp-block-column.color1 {
  background-image: linear-gradient(to top, #f0f0f0, #e4e6e6);
}

.wp-block-image {
  margin: 50px 0;
}
.wp-block-image img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}

.wp-block-separator {
  border: 1px solid #ccc;
  margin: 20px 0;
}

/*                                             							  ARTICLE TEXT STYLE
---------------------------------------------------------------------------------*/
.box_title {
  position: relative;
  display: block;
  font-size: calc(28px + 9 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .box_title {
    font-size: 28px;
  }
}
@media screen and (min-width: 1400px) {
  .box_title {
    font-size: 37px;
  }
}
.box_title {
  text-transform: uppercase;
  margin: 0;
  line-height: 1.2;
}
.box_title.big {
  font-weight: 400;
  padding-bottom: 40px;
  margin-bottom: 44px;
}
.box_title.big:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0%;
  transform: translateX(0%);
  width: 70px;
  height: 4px;
  background-color: #5BB74D;
}
.color2 .box_title.big:after, .text_slider .box_title.big:after, .kontakt_wrap .box_title.big:after, .bckg_color_red .box_title.big:after {
  background-color: #fff;
}
.reverse .slick-slide .box_title.big:after {
  left: auto;
  right: 0;
}
.box_title.biger {
  font-size: 48px;
}
.box_title.small {
  margin-bottom: 26px;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 1.08px;
}
.box_title.smaller {
  font-size: 14px;
  letter-spacing: 0.84px;
}
.box_title.nono {
  padding: 0;
  margin: 0;
}
.box_title.nono:after {
  display: none;
}

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
  font-family: "AmsiPro", sans-serif;
  font-weight: normal;
}
.content h1:not(.box_title), .content h2:not(.box_title), .content h3:not(.box_title), .content h4:not(.box_title), .content h5:not(.box_title), .content h6:not(.box_title) {
  margin: 25px 0;
  padding: 0;
}
.content h1:not(.box_title) .has-vivid-green-cyan-color, .content h2:not(.box_title) .has-vivid-green-cyan-color, .content h3:not(.box_title) .has-vivid-green-cyan-color, .content h4:not(.box_title) .has-vivid-green-cyan-color, .content h5:not(.box_title) .has-vivid-green-cyan-color, .content h6:not(.box_title) .has-vivid-green-cyan-color {
  color: #5BB74D !important;
}
.content h2:not(.box_title) {
  margin: -60px 0 50px;
  font-size: calc(22px + 12 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content h2:not(.box_title) {
    font-size: 22px;
  }
}
@media screen and (min-width: 1400px) {
  .content h2:not(.box_title) {
    font-size: 34px;
  }
}
.content h3:not(.box_title) {
  margin: 30px 0 20px;
  font-size: calc(18px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content h3:not(.box_title) {
    font-size: 18px;
  }
}
@media screen and (min-width: 1400px) {
  .content h3:not(.box_title) {
    font-size: 26px;
  }
}
.content h4:not(.box_title) {
  font-size: calc(20px + 6 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content h4:not(.box_title) {
    font-size: 20px;
  }
}
@media screen and (min-width: 1400px) {
  .content h4:not(.box_title) {
    font-size: 26px;
  }
}
.content h5:not(.box_title) {
  font-size: calc(24px + 6 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content h5:not(.box_title) {
    font-size: 24px;
  }
}
@media screen and (min-width: 1400px) {
  .content h5:not(.box_title) {
    font-size: 30px;
  }
}
.content .title_bold {
  font-weight: 700 !important;
  font-size: calc(25px + 10 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content .title_bold {
    font-size: 25px;
  }
}
@media screen and (min-width: 1400px) {
  .content .title_bold {
    font-size: 35px;
  }
}
.content .title_bold {
  margin: 0 0 15px !important;
}
.content p, .content pre {
  line-height: 1.5;
  font-size: 16px;
  margin-bottom: 20px;
  font-family: "AmsiPro", sans-serif;
}
@media only screen and (min-width: 768px) {
  .content p, .content pre {
    margin-bottom: 100px;
  }
}
.content p .has-vivid-green-cyan-color, .content pre .has-vivid-green-cyan-color {
  color: #5BB74D !important;
}
@media only screen and (min-width: 768px) {
  .content p, .content pre {
    font-size: 20px;
  }
}
.content p.font15, .content pre.font15 {
  font-size: 15px;
}
.content p.font20, .content pre.font20 {
  font-size: 20px;
}
.content p.font22, .content pre.font22 {
  font-size: 22px;
}
.content p.font24, .content pre.font24 {
  font-size: 24px;
}
.content p.font26, .content pre.font26 {
  font-size: 26px;
}
.content a:not(.btn) {
  color: #5BB74D;
}
.content a:not(.btn):hover {
  color: #000;
}
.content ul, .content ol {
  margin: 20px 0 50px 40px;
}
.content ul li, .content ol li {
  padding: 5px 0;
  line-height: 20px;
}
.content ol li {
  font-size: 20px;
}
.content ul li {
  list-style: none;
  font-size: 16px;
}
@media only screen and (min-width: 768px) {
  .content ul li {
    font-size: 20px;
  }
}
.content ul li:before {
  content: "•";
  color: #5BB74D;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  font-size: 20px;
}
.content table {
  width: 100%;
  margin-bottom: 50px;
  margin-top: 30px;
  font-weight: 400;
  text-align: left;
}
.content table tr {
  background-color: #fff;
  transition: all 0.4s;
}
.content table tr td, .content table tr th {
  padding: 10px;
}
.content table tr td,
.content table tr th {
  border: 1px solid #ddd;
}
.content table tr td:first-of-type,
.content table tr th:first-of-type {
  color: #000;
}
.content table tr th {
  font-weight: 400;
}
.content table tr:hover {
  background-color: #f4f8fb;
}

/*                                             									   CUSTOM BLOCKS
---------------------------------------------------------------------------------*/
.main_page_title {
  background-color: #5BB74D;
  padding: 10px;
  display: inline-block;
  margin: 30px 0;
}
@media only screen and (min-width: 768px) {
  .main_page_title {
    margin: 50px 0;
    padding: 20px 30px 20px 10px;
  }
}
@media only screen and (min-width: 1024px) {
  .main_page_title {
    margin: 70px 0;
  }
}
@media only screen and (min-width: 1200px) {
  .main_page_title {
    padding: 40px 85px 40px 10px;
  }
}
@media only screen and (min-width: 1440px) {
  .main_page_title {
    margin: 70px 0 100px;
  }
}
@media only screen and (min-width: 1620px) {
  .main_page_title {
    padding: 40px 85px 40px calc((100% - 1600px) / 2);
  }
}
.main_page_title .main_title {
  font-size: calc(30px + 44 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .main_page_title .main_title {
    font-size: 30px;
  }
}
@media screen and (min-width: 1400px) {
  .main_page_title .main_title {
    font-size: 74px;
  }
}
.main_page_title .main_title {
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  background: none;
  -webkit-background-clip: text;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 0;
  margin: 0 !important;
  font-weight: 700;
  font-family: "AmsiPro", sans-serif;
}
@media only screen and (min-width: 768px) {
  .main_page_title .main_title {
    background: linear-gradient(90deg, transparent 0%, transparent 40%, #fff 60%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px #fff;
  }
}
.main_page_title.normal {
  background-color: unset;
  padding: 0;
}
.main_page_title.normal .main_title {
  color: #000;
  background: none;
  -webkit-background-clip: unset;
  -webkit-text-fill-color: unset;
  -webkit-text-stroke: unset;
}
.main_page_title.normal.n_wrap {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  display: block;
}

body.page-about-us .main_page_title {
  margin-bottom: 0;
}

.about_us_flow {
  position: relative;
}

.about_us_flow--alternative {
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
}
.about_us_flow--alternative .about_us_lead_line_vertical__stop {
  top: 50%;
}
.about_us_flow--alternative .about_us_lead_line_left__circle {
  left: 50vw;
  width: 150px;
  height: 150px;
}
@media only screen and (min-width: 768px) {
  .about_us_flow--alternative .about_us_lead_line_left__circle {
    width: 180px;
    height: 180px;
  }
}
.about_us_flow--alternative .about_us_lead_line_left__circle.is-open {
  width: 320px;
  height: auto;
}
.about_us_flow--alternative .about_us_lead_line_left__title {
  left: calc(50vw - 75px - 24px);
  width: 240px;
  white-space: normal;
  line-height: 1.15;
}
@media only screen and (min-width: 768px) {
  .about_us_flow--alternative .about_us_lead_line_left__title {
    left: calc(50vw - 90px - 24px);
  }
}
.about_us_flow--alternative .about_us_lead_line_left__circle .about_us_lead_line__stop_title {
  max-width: 220px;
}

.about_us_flow__svg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  overflow: visible;
  pointer-events: none;
}

.about_us_flow--alternative .about_alt_vertical {
  position: relative;
  width: 100%;
  height: 100%;
}
.about_us_flow--alternative .about_alt_vertical__branch_circle {
  top: 10%;
  left: 16vw;
  overflow: hidden;
}
.about_us_flow--alternative .about_alt_vertical__branch_circle.is-open {
  width: 260px;
  height: 260px;
  padding: 22px;
}
.about_us_flow--alternative .about_alt_vertical__branch_circle.is-open .about_us_lead_line__stop_title,
.about_us_flow--alternative .about_alt_vertical__branch_circle.is-open .about_us_lead_line__stop_text {
  display: block;
}
.about_us_flow--alternative .about_alt_vertical__branch_title {
  top: 10%;
  left: calc(16vw - 22px - 16px);
  width: 220px;
  transform: translate(-100%, -50%);
  text-align: right;
  white-space: normal;
  line-height: 1.15;
}
.about_us_flow--alternative .about_alt_vertical__branch_line {
  position: absolute;
  top: 10%;
  left: calc(16vw + 22px + 12px);
  width: 0;
  height: 4px;
  transform: translateY(-50%);
  background: radial-gradient(circle, #0b3d16 2px, transparent 2.5px) left center/12px 4px repeat-x;
  transition: width 0.65s ease 0.15s, left 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_flow--alternative .about_alt_vertical__branch_line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1px;
  width: 11px;
  height: 11px;
  border-top: 4px solid #0b3d16;
  border-right: 4px solid #0b3d16;
  transform: translateY(-50%) rotate(45deg);
}
.about_us_flow--alternative .about_alt_vertical .about_alt_vertical__branch_circle.is-open ~ .about_alt_vertical__branch_line {
  left: calc(16vw + 130px);
  width: calc(24vw - 160px);
}
.about_us_flow--alternative .about_alt_vertical__middle_circle {
  top: 30%;
  left: 40vw;
}
.about_us_flow--alternative .about_alt_vertical__middle_title {
  top: 30%;
  left: calc(40vw - 22px - 16px);
  width: 220px;
  transform: translate(-100%, -50%);
  text-align: right;
  white-space: normal;
  line-height: 1.15;
  opacity: 1;
}
.about_us_flow--alternative .about_alt_vertical .about_alt_vertical__branch_circle.is-open ~ .about_alt_vertical__middle_title,
.about_us_flow--alternative .about_alt_vertical .about_alt_vertical__middle_circle.is-open ~ .about_alt_vertical__middle_title {
  opacity: 1;
}
.about_us_flow--alternative .about_alt_vertical__end_circle {
  top: 100%;
  left: 40vw;
}
.about_us_flow--alternative .about_alt_vertical__end_title {
  top: 100%;
  left: calc(40vw + 100px + 24px);
}

.about_us_flow__line {
  fill: none;
  stroke: #0b3d16;
  stroke-width: 4;
  stroke-dasharray: 0.1 12;
  stroke-linecap: round;
}

.about_us_flow--alternative .about_alt_extension {
  position: relative;
  height: 30vw;
}
.about_us_flow--alternative .about_alt_extension__item7_title {
  position: absolute;
  top: 0;
  left: 40vw;
  width: 50vw;
  padding-bottom: 24px;
  transform: translateY(-100%);
  color: #0b3d16;
  font-family: "AmsiPro", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.about_us_flow--alternative .about_alt_extension__item7_title::after {
  content: "→";
  display: inline-block;
  margin-left: 18px;
  font-size: 1.5em;
  line-height: 0.7;
}
.about_us_flow--alternative .about_alt_extension__item8_circle {
  top: 50%;
  left: 90vw;
}
.about_us_flow--alternative .about_alt_extension__item8_title {
  top: 50%;
  left: calc(90vw - 124px);
  transform: translate(-100%, -50%);
  text-align: right;
}
.about_us_flow--alternative .about_alt_extension .about_alt_extension__item8_circle.is-open ~ .about_alt_extension__item8_title {
  opacity: 0;
}
.about_us_flow--alternative .about_alt_extension__item9_circle {
  top: 100%;
  left: 55vw;
}
.about_us_flow--alternative .about_alt_extension__item9_title {
  top: calc(100% - 38px);
  left: 55vw;
  width: 220px;
  transform: translate(-50%, -100%);
  text-align: center;
  white-space: normal;
}
.about_us_flow--alternative .about_alt_extension__item10_circle {
  top: 100%;
  left: 20vw;
}
.about_us_flow--alternative .about_alt_extension__item10_title {
  top: 100%;
  left: calc(20vw - 100px - 24px);
  transform: translate(-100%, -50%);
  text-align: right;
}
.about_us_flow--alternative .about_alt_extension__third_photo {
  position: absolute;
  top: calc(100% + 70px);
  right: -17.28vw;
  z-index: 1;
  width: 43.2vw;
  aspect-ratio: 4/3;
  border-radius: 16px 0 0 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_flow--alternative .about_alt_extension__third_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.about_us_flow--alternative .about_alt_extension__third_photo.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.about_us_flow--alternative.is-item6-open .about_alt_extension__item7_title {
  opacity: 1;
}

.about_us_flow--alternative .about_alt_extension_two {
  position: relative;
  height: 30vw;
}
.about_us_flow--alternative .about_alt_extension_two__item11_circle {
  top: 50%;
  left: 20vw;
}
.about_us_flow--alternative .about_alt_extension_two__item11_title {
  top: 50%;
  left: calc(20vw + 22px + 16px);
}
.about_us_flow--alternative .about_alt_extension_two__item12_title {
  position: absolute;
  top: 100%;
  left: 20vw;
  width: 40vw;
  padding-bottom: 24px;
  transform: translateY(-100%);
  color: #0b3d16;
  font-family: "AmsiPro", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
  text-align: right;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.about_us_flow--alternative .about_alt_extension_two__item12_title::after {
  content: "→";
  display: inline-block;
  margin-left: 18px;
  font-size: 1.5em;
  line-height: 0.7;
}
.about_us_flow--alternative .about_alt_extension_two__fourth_photo {
  position: absolute;
  top: calc(100% + 70px);
  left: 0;
  z-index: 1;
  width: 41.6vw;
  aspect-ratio: 4/3;
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_flow--alternative .about_alt_extension_two__fourth_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.about_us_flow--alternative .about_alt_extension_two__fourth_photo.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.about_us_flow--alternative.is-item12-reached .about_alt_extension_two__item12_title {
  opacity: 1;
}

.about_us_flow--alternative .about_alt_extension_three {
  position: relative;
  height: 40vw;
  margin-bottom: 160px;
}
.about_us_flow--alternative .about_alt_extension_three__item13_circle {
  top: 50%;
  left: 60vw;
}
.about_us_flow--alternative .about_alt_extension_three__item13_title {
  top: 50%;
  left: calc(60vw + 22px + 16px);
  opacity: 1;
  transition: opacity 0.3s ease;
}
.about_us_flow--alternative .about_alt_extension_three .about_alt_extension_three__item13_circle--big ~ .about_alt_extension_three__item13_title {
  left: calc(60vw + 100px + 24px);
}
.about_us_flow--alternative .about_alt_extension_three .about_alt_extension_three__item13_circle.is-open ~ .about_alt_extension_three__item13_title {
  opacity: 0;
}
.about_us_flow--alternative .about_alt_extension_three__cta {
  position: absolute;
  top: calc(100% + 55px);
  left: 60vw;
  transform: translateX(-50%);
  height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: #0b3d16 !important;
  font-size: 30px;
  line-height: 1.1;
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px;
}
.about_us_flow--alternative .about_alt_extension_three__cta:hover, .about_us_flow--alternative .about_alt_extension_three__cta:focus-visible {
  background: transparent;
  color: #0b3d16 !important;
  transform: translateX(-50%);
}

.about_us_flow--alternative .about_us_flow__line,
.about_us_flow--alternative [data-about-us-flow-reveal] {
  stroke-linejoin: round;
  stroke-linecap: round;
}

.about_us_flow--alternative .about_us_lead_line__circle:not(.is-open) {
  box-sizing: border-box;
  width: 135px;
  height: 135px;
  padding: 12px;
}
.about_us_flow--alternative .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
}
.about_us_flow--alternative .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon svg,
.about_us_flow--alternative .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon img {
  width: 80px;
  height: 80px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.about_us_flow:not(.about_us_flow--alternative) .about_us_lead_line__circle:not(.is-open) {
  box-sizing: border-box;
  width: 135px;
  height: 135px;
  padding: 12px;
}
.about_us_flow:not(.about_us_flow--alternative) .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon {
  width: 80px;
  height: 80px;
  flex: 0 0 80px;
}
.about_us_flow:not(.about_us_flow--alternative) .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon svg,
.about_us_flow:not(.about_us_flow--alternative) .about_us_lead_line__circle:not(.is-open) .about_us_lead_line__icon img {
  width: 80px;
  height: 80px;
  max-width: none;
  max-height: none;
  object-fit: contain;
}

.about_us_flow:not(.about_us_flow--alternative) .quality_safety__svg--accurate-drawings {
  color: #fff;
}

.about_us_flow--alternative .about_us_lead_line__circle {
  background: #cbe2c1;
}

.about_us_flow__arrow {
  fill: #0b3d16;
}

.about_us_lead_line {
  position: relative;
  margin-top: 40px;
  min-height: 84px;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line {
    min-height: 100px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us_lead_line {
    margin-top: 140px;
  }
}

.about_us_lead_line__track {
  position: absolute;
  top: 0;
  left: 0;
  width: 60vw;
  height: 0;
  border-top: 4px dotted transparent;
}

.about_us_lead_line__circle {
  position: absolute;
  top: 0;
  left: 60vw;
  transform: translate(-50%, -50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 168px;
  height: 168px;
  border-radius: 50%;
  background: #bfe1ac;
  color: #16350f;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), height 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-radius 0.55s cubic-bezier(0.22, 1, 0.36, 1), padding 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line__circle {
    width: 200px;
    height: 200px;
  }
}
.about_us_lead_line__circle svg,
.about_us_lead_line__circle .about_us_lead_line__icon img {
  width: 75%;
  max-width: 140px;
  max-height: 140px;
  object-fit: contain;
}
.about_us_lead_line__circle.is-open {
  width: 360px;
  max-width: 90vw;
  aspect-ratio: 1/1;
  height: auto;
  padding: 28px 26px;
  border-radius: 50%;
  overflow: hidden;
}
.about_us_lead_line__circle.is-open .about_us_lead_line__icon {
  display: none;
}
.about_us_lead_line__circle.is-open .about_us_lead_line__stop_title {
  display: block;
}
.about_us_lead_line__circle.is-open .about_us_lead_line__stop_text {
  display: block;
}
.about_us_lead_line__circle.is-open .about_us_lead_line__stop_title {
  order: 2;
  margin: 0;
}
.about_us_lead_line__circle.is-open .about_us_lead_line__stop_text {
  order: 4;
  margin-top: 0;
}
.about_us_lead_line__circle.is-open::before, .about_us_lead_line__circle.is-open::after {
  content: "";
  display: block;
  flex-grow: 0;
}
.about_us_lead_line__circle.is-open::before {
  order: 1;
  flex-basis: 25px;
  flex-shrink: 4;
  min-height: 0;
}
.about_us_lead_line__circle.is-open::after {
  order: 3;
  flex-basis: 35px;
  flex-shrink: 1;
  min-height: 8px;
}

.about_us_lead_line__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.about_us_lead_line__stop_title {
  display: none;
  margin: 0;
  color: inherit;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  text-align: center;
}

.about_us_lead_line__stop_text {
  display: none;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
}

.is-open > .about_us_lead_line__stop_title,
.is-open > .about_us_lead_line__stop_text,
.is-open > * > .about_us_lead_line__stop_title,
.is-open > * > .about_us_lead_line__stop_text {
  animation: about-us-stop-text-in 0.45s ease 0.18s both;
}

@keyframes about-us-stop-text-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.about_us_lead_line__title {
  position: absolute;
  top: 0;
  left: calc(60vw + 84px + 24px);
  transform: translateY(-50%);
  margin-left: 0;
  color: #0b3d16;
  font-family: "AmsiPro", sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line__title {
    left: calc(60vw + 100px + 24px);
  }
}

.about_us_lead_line__circle.is-open ~ .about_us_lead_line__title {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.about_us_lead_line_vertical {
  position: relative;
  height: 44.4vw;
}

.about_us_lead_line_vertical__photo {
  width: 48vw;
  aspect-ratio: 5/3;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_lead_line_vertical__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.about_us_lead_line_vertical__photo.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.about_us_lead_line_vertical__stop {
  position: absolute;
  top: 60%;
  left: 60vw;
  z-index: 1;
}

.about_us_lead_line_vertical__circle {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0b3d16;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), height 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-radius 0.55s cubic-bezier(0.22, 1, 0.36, 1), padding 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_vertical__circle {
    width: 44px;
    height: 44px;
  }
}
.about_us_lead_line_vertical__circle.is-open {
  width: 320px;
  max-width: 80vw;
  aspect-ratio: 1/1;
  height: auto;
  padding: 20px 22px;
  color: #fff;
  border-radius: 50%;
  overflow: hidden;
}
.about_us_lead_line_vertical__circle.is-open .about_us_lead_line__stop_text {
  display: block;
}

.about_us_lead_line_vertical__title {
  position: absolute;
  top: 0;
  left: 34px;
  transform: translateY(-50%);
  margin-left: 0;
  color: #0b3d16;
  font-family: "AmsiPro", sans-serif;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_vertical__title {
    left: 38px;
  }
}

.about_us_lead_line_vertical__circle[data-check-circle]::after {
  content: "";
  width: 8px;
  height: 15px;
  margin-top: -4px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  opacity: 0;
  transform: rotate(45deg) scale(0.4);
  transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_vertical__circle[data-check-circle]::after {
    width: 10px;
    height: 18px;
  }
}
.about_us_lead_line_vertical__circle[data-check-circle].is-reached::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}

.about_us_lead_line_vertical__circle.is-open ~ .about_us_lead_line_vertical__title {
  opacity: 0;
}

.about_us_lead_line_left {
  position: relative;
  min-height: 84px;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_left {
    min-height: 100px;
  }
}

.about_us_lead_line_left__track {
  position: absolute;
  top: 0;
  right: calc(100% - 60vw);
  width: 20vw;
  height: 0;
}

.about_us_lead_line_left__circle {
  position: absolute;
  top: 0;
  left: 40vw;
  transform: translate(-50%, -50%);
}

.about_us_lead_line_left__title {
  position: absolute;
  top: 0;
  left: calc(40vw - 84px - 24px);
  transform: translate(-100%, -50%);
  margin-left: 0;
  text-align: right;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_left__title {
    left: calc(40vw - 100px - 24px);
  }
}

.about_us_lead_line_left__circle.is-open ~ .about_us_lead_line_left__title {
  opacity: 0;
}

.about_us_lead_line_left_vertical {
  position: relative;
  height: 30vw;
}

.about_us_lead_line_left_vertical__photo {
  position: absolute;
  top: -200px;
  right: 0;
  width: 34vw;
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_lead_line_left_vertical__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}
.about_us_lead_line_left_vertical__photo.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.about_us_lead_line_left_vertical__photo--second {
  top: calc(-200px + 25.5vw);
  right: auto;
  left: 0;
}
.about_us_lead_line_left_vertical__photo--second img {
  object-position: center;
}

.about_us_lead_line_right {
  position: relative;
  min-height: 84px;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_right {
    min-height: 100px;
  }
}

.about_us_lead_line_right__track {
  position: absolute;
  top: 0;
  left: 40vw;
  width: 40vw;
  height: 0;
}

.about_us_lead_line_right__dot {
  position: absolute;
  top: 0;
  left: 48vw;
  z-index: 1;
  margin-left: 0;
  transform: translate(-50%, -50%);
}

.about_us_lead_line_right__dot_title {
  position: absolute;
  top: 0;
  left: calc(48vw + 18px + 16px);
  transform: translateY(-50%);
  margin-left: 0;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_right__dot_title {
    left: calc(48vw + 22px + 16px);
  }
}

.about_us_lead_line_right__dot.is-open ~ .about_us_lead_line_right__dot_title {
  opacity: 0;
}

.about_us_lead_line_right__circle {
  position: absolute;
  top: 0;
  left: 80vw;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.about_us_lead_line_right__title {
  position: absolute;
  top: 0;
  left: calc(80vw + 84px + 24px);
  transform: translateY(-50%);
  margin-left: 0;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_right__title {
    left: calc(80vw + 100px + 24px);
  }
}

.about_us_lead_line_right__circle.is-open ~ .about_us_lead_line_right__title {
  opacity: 0;
}

.about_us_lead_line_right_vertical {
  position: relative;
  height: 24vw;
}

.about_us_lead_line_last {
  position: relative;
  min-height: 84px;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_last {
    min-height: 100px;
  }
}

.about_us_lead_line_last__track {
  position: absolute;
  top: 0;
  right: calc(100% - 80vw);
  width: 60vw;
  height: 0;
}

.about_us_lead_line_last__circle {
  position: absolute;
  top: 0;
  left: 20vw;
  transform: translate(-50%, -50%);
}

.about_us_lead_line_last__title {
  position: absolute;
  top: 0;
  left: calc(20vw - 84px - 24px);
  transform: translate(-100%, -50%);
  margin-left: 0;
  text-align: right;
  opacity: 1;
  transition: opacity 0.3s ease;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_last__title {
    left: calc(20vw - 100px - 24px);
  }
}

.about_us_lead_line_last__circle.is-open ~ .about_us_lead_line_last__title {
  opacity: 0;
}

.about_us_lead_line_final_vertical {
  position: relative;
  height: 20vw;
}

.about_us_lead_line_final_vertical__photo {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(calc(-50% - 50px + 24px));
  width: 950px;
  height: 360px;
  display: flex;
  align-items: flex-end;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
  opacity: 0;
  transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_lead_line_final_vertical__photo img {
  display: block;
  width: 100%;
  height: auto;
}
.about_us_lead_line_final_vertical__photo.is-visible {
  opacity: 1;
  transform: translateY(calc(-50% - 50px));
}

.about_us_lead_line_final_arrow {
  position: relative;
  min-height: 20px;
}

.about_us_flow:not(.about_us_flow--alternative) .about_us_lead_line_final_arrow {
  min-height: 72px;
  overflow: visible;
}

.about_us_lead_line_final_arrow__cta {
  position: absolute;
  top: 0;
  left: calc(35vw + 10px + 16px);
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  box-sizing: border-box;
  padding: 0 30px;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .about_us_lead_line_final_arrow__cta {
    font-size: 18px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .about_us_lead_line_final_arrow__cta {
    font-size: 20px !important;
  }
}
.about_us_lead_line_final_arrow__cta {
  white-space: nowrap;
  text-decoration: none !important;
  opacity: 0;
  transition: background-color 0.25s ease, transform 0.25s ease, opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_us_lead_line_final_arrow__cta:hover, .about_us_lead_line_final_arrow__cta:focus-visible {
  background: #063d0f;
  color: #fff !important;
}
.about_us_flow.is-cta-visible .about_us_lead_line_final_arrow__cta, .about_us_flow.is-complete .about_us_lead_line_final_arrow__cta {
  opacity: 1;
}

body.page-about-us .about_timeline__cta_wrap {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    transition: none !important;
  }
  .is-open .about_us_lead_line__stop_title,
  .is-open .about_us_lead_line__stop_text {
    animation: none !important;
  }
}
@media only screen and (min-width: 768px) {
  .main_title_flex {
    display: flex;
    align-items: center;
  }
}
.main_title_flex .subtitle {
  margin: 0 10px 50px !important;
  font-size: 30px !important;
  font-family: "AmsiPro", sans-serif;
  font-weight: normal !important;
}
@media only screen and (min-width: 768px) {
  .main_title_flex .subtitle {
    margin: 0 0 0 50px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .main_title_flex .subtitle {
    font-size: 50px !important;
  }
}

.pagination {
  display: flex;
  justify-content: center;
  margin: 50px 0;
}
@media only screen and (min-width: 768px) {
  .pagination {
    margin: 100px 0;
  }
}
.pagination .page-numbers {
  border: 1px solid #000;
  width: 45px;
  height: 45px;
  display: block;
  margin: 0 6px;
  text-align: center;
  line-height: 45px;
  color: #000;
  font-size: 20px;
}
.pagination .page-numbers .iconmoon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.pagination .page-numbers.current {
  background-color: #5BB74D;
  color: #fff;
  border-color: #5BB74D;
}

.dynamic_cards {
  text-align: center;
  margin: 0 0 50px;
}
@media only screen and (min-width: 768px) {
  .dynamic_cards {
    margin: 200px 0 100px;
  }
}
.dynamic_cards .wrap {
  max-width: 1600px !important;
}
.dynamic_cards .dynamic_cards_title {
  font-size: 30px !important;
  margin: 0 0 30px !important;
  font-weight: bold;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .dynamic_cards .dynamic_cards_title {
    margin: 0 0 50px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .dynamic_cards .dynamic_cards_title {
    font-size: 40px !important;
    margin: 0 0 100px !important;
  }
}
@media only screen and (min-width: 1200px) {
  .dynamic_cards .dynamic_cards_title {
    font-size: 60px !important;
  }
}
.dynamic_cards .cards_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
@media only screen and (min-width: 1024px) {
  .dynamic_cards .cards_wrap {
    flex-wrap: nowrap;
  }
}
.dynamic_cards .cards_wrap .card_single {
  width: 100%;
  background-color: #fff;
  padding: 50px 20px 45px;
  box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.15);
  text-align: center;
  transition: all 0.4s;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  position: relative;
  color: #000;
}
@media only screen and (min-width: 600px) {
  .dynamic_cards .cards_wrap .card_single {
    width: 50%;
  }
}
@media only screen and (min-width: 1024px) {
  .dynamic_cards .cards_wrap .card_single {
    width: 20%;
  }
}
.dynamic_cards .cards_wrap .card_single:nth-of-type(1) {
  z-index: 4;
}
.dynamic_cards .cards_wrap .card_single:nth-of-type(2) {
  z-index: 3;
}
.dynamic_cards .cards_wrap .card_single:nth-of-type(3) {
  z-index: 2;
}
.dynamic_cards .cards_wrap .card_single:nth-of-type(4) {
  z-index: 1;
}
.dynamic_cards .cards_wrap .card_single .number {
  font-size: calc(40px + 20 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .number {
    font-size: 40px;
  }
}
@media screen and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .number {
    font-size: 60px;
  }
}
.dynamic_cards .cards_wrap .card_single .number {
  font-weight: bold;
  font-family: "AmsiPro", sans-serif;
  border-bottom: 2px solid #5BB74D;
  position: relative;
  line-height: 1.1;
  margin: 0 0 38px;
  display: inline-block;
  color: #5BB74D;
}
@media only screen and (min-width: 1440px) {
  .dynamic_cards .cards_wrap .card_single .number {
    font-size: calc(40px + 40 * (100vw - 420px) / 980);
  }
}
@media only screen and (min-width: 1440px) and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .number {
    font-size: 40px;
  }
}
@media only screen and (min-width: 1440px) and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .number {
    font-size: 80px;
  }
}
.dynamic_cards .cards_wrap .card_single .number:before {
  content: "";
  position: absolute;
  height: 2px;
  right: 100%;
  bottom: -2px;
  width: 400%;
  background-color: #5BB74D;
}
.dynamic_cards .cards_wrap .card_single .icon_wrap {
  height: 120px;
  width: auto;
  margin: 0 0 34px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dynamic_cards .cards_wrap .card_single .icon_wrap img {
  height: auto;
  max-width: 100%;
  width: auto;
  display: block;
}
.dynamic_cards .cards_wrap .card_single .card_title {
  margin: 0 0 30px;
  width: auto;
  font-weight: bold;
  font-size: calc(18px + 0 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 18px;
  }
}
@media screen and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 18px;
  }
}
.dynamic_cards .cards_wrap .card_single .card_title {
  color: #5BB74D;
}
@media only screen and (min-width: 600px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: calc(14px + 0 * (100vw - 420px) / 980);
    width: 190px;
  }
}
@media only screen and (min-width: 600px) and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 14px;
  }
}
@media only screen and (min-width: 600px) and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 14px;
  }
}
@media only screen and (min-width: 1200px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: calc(16px + 2 * (100vw - 420px) / 980);
    width: 230px;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 16px;
  }
}
@media only screen and (min-width: 1200px) and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 18px;
  }
}
@media only screen and (min-width: 1440px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: calc(20px + 2 * (100vw - 420px) / 980);
    width: 300px;
  }
}
@media only screen and (min-width: 1440px) and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 20px;
  }
}
@media only screen and (min-width: 1440px) and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 22px;
  }
}
@media only screen and (min-width: 1600px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: calc(20px + 4 * (100vw - 420px) / 980);
  }
}
@media only screen and (min-width: 1600px) and (max-width: 420px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 20px;
  }
}
@media only screen and (min-width: 1600px) and (min-width: 1400px) {
  .dynamic_cards .cards_wrap .card_single .card_title {
    font-size: 24px;
  }
}
.dynamic_cards .cards_wrap .card_single p {
  font-size: 14px;
  margin-bottom: 0;
  line-height: normal;
  color: #000;
  min-height: 44px;
  width: auto;
}
@media only screen and (min-width: 600px) {
  .dynamic_cards .cards_wrap .card_single p {
    width: 190px;
  }
}
@media only screen and (min-width: 1200px) {
  .dynamic_cards .cards_wrap .card_single p {
    font-size: 16px;
    width: 220px;
  }
}
@media only screen and (min-width: 1440px) {
  .dynamic_cards .cards_wrap .card_single p {
    font-size: 18px;
    width: 270px;
  }
}
.dynamic_cards .cards_wrap .card_single .card_btn {
  justify-content: center;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) {
  background-image: linear-gradient(to top, #42932b, #65b426);
  color: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) .number {
  color: #fff;
  border-color: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) .number:before {
  background-color: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) .card_title {
  color: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) svg path {
  fill: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) p {
  color: #fff;
}
.dynamic_cards .cards_wrap .card_single:nth-child(odd) .card_btn {
  color: #fff !important;
}
.dynamic_cards .cards_wrap .card_single:hover {
  width: auto;
}
@media only screen and (min-width: 600px) {
  .dynamic_cards .cards_wrap .card_single:hover {
    width: 50%;
  }
}

.slider {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .slider {
    margin-bottom: 70px;
  }
}
.slider:not(.slick-initialized) .single_slide:not(:first-child) {
  display: none;
}
.slider .single_slide {
  position: relative;
}
.slider .single_slide:before {
  content: "";
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide:before {
    width: 65%;
  }
}
.slider .single_slide .img_wrap {
  height: 500px;
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .img_wrap {
    height: 550px;
  }
}
@media only screen and (min-width: 1024px) {
  .slider .single_slide .img_wrap {
    height: 720px;
  }
}
.slider .single_slide .text {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 0;
  padding-bottom: 40px;
  color: #fff;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 50px;
  }
}
@media only screen and (min-width: 1024px) {
  .slider .single_slide .text {
    padding-bottom: 60px;
  }
}
@media only screen and (min-width: 1620px) {
  .slider .single_slide .text {
    left: calc((100% - 1600px) / 2);
    right: calc((100% - 1600px) / 2);
  }
}
.slider .single_slide .text .text_left {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text .text_left {
    width: 55%;
  }
}
@media only screen and (min-width: 1200px) {
  .slider .single_slide .text .text_left {
    width: 70%;
  }
}
.slider .single_slide .text .text_right {
  width: 100%;
  margin-top: 20px;
  text-align: left;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text .text_right {
    width: 30%;
    margin-top: 0;
    text-align: right;
  }
}
.slider .single_slide .text .slide_title {
  font-size: 26px;
  margin: 0 0 15px;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.8s 0.2s;
  line-height: normal;
  font-weight: bold;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text .slide_title {
    font-size: 30px;
    margin: 0 0 20px;
  }
}
@media only screen and (min-width: 1024px) {
  .slider .single_slide .text .slide_title {
    font-size: 34px;
  }
}
.slider .single_slide .text .slide_supertitle {
  font-size: 16px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.8s 0.5s;
  display: block;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text .slide_supertitle {
    font-size: 20px;
  }
}
.slider .single_slide .text p {
  font-size: 16px;
  margin: 0 0 50px;
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.8s 0.5s;
}
@media only screen and (min-width: 768px) {
  .slider .single_slide .text p {
    font-size: 18px;
  }
}
@media only screen and (min-width: 1024px) {
  .slider .single_slide .text p {
    font-size: 23px;
  }
}
.slider .single_slide .text .btn {
  opacity: 0;
  transform: translateY(100%);
  transition: all 0.8s 0.8s;
}
.slider .slick-slide.slick-current .slide_title,
.slider .slick-slide.slick-current .slide_supertitle,
.slider .slick-slide.slick-current p,
.slider .slick-slide.slick-current .btn {
  opacity: 1;
  transform: translateY(0%);
}

.info_slider_wrap {
  position: relative;
}
.info_slider_wrap .arrows_bckg_wrap {
  position: absolute;
  left: 0;
  bottom: -6px;
  height: 112px;
  width: 17%;
  background-color: #5BB74D;
  z-index: 1;
}
.info_slider_wrap .info_slider {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .info_slider_wrap .info_slider {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .info_slider_wrap .info_slider {
    margin-bottom: 180px;
  }
}
.info_slider_wrap .info_slider .info_slide {
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .info_slider_wrap .info_slider .info_slide {
    display: flex;
  }
}
.info_slider_wrap .info_slider .info_slide .left {
  width: 100%;
  background-color: #f5f7f7;
  padding: 50px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .info_slider_wrap .info_slider .info_slide .left {
    padding: 70px 5% 120px 10px;
  }
}
@media only screen and (min-width: 1024px) {
  .info_slider_wrap .info_slider .info_slide .left {
    width: 55%;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .info_slider_wrap .info_slider .info_slide .left {
    padding: 100px 5% 150px 10px;
  }
}
@media only screen and (min-width: 1620px) {
  .info_slider_wrap .info_slider .info_slide .left {
    padding: 190px 5% 150px calc((100% - 1600px) / 2);
  }
}
.info_slider_wrap .info_slider .info_slide .left .slide_title {
  font-size: 26px;
  font-family: "AmsiPro", sans-serif;
  font-weight: normal;
  margin: 0 0 20px;
}
@media only screen and (min-width: 768px) {
  .info_slider_wrap .info_slider .info_slide .left .slide_title {
    font-size: 36px;
    margin: 0 0 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .info_slider_wrap .info_slider .info_slide .left .slide_title {
    margin: 0 0 60px;
    font-size: 60px;
  }
}
.info_slider_wrap .info_slider .info_slide .left p {
  font-size: 16px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  .info_slider_wrap .info_slider .info_slide .left p {
    font-size: 20px;
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1200px) {
  .info_slider_wrap .info_slider .info_slide .left p {
    font-size: 22px;
    margin-bottom: 115px;
  }
}
.info_slider_wrap .info_slider .info_slide .right {
  position: relative;
  top: 0;
  left: 0;
}
@media only screen and (min-width: 1024px) {
  .info_slider_wrap .info_slider .info_slide .right {
    position: absolute;
    top: 100px;
    left: 50%;
  }
}
.info_slider_wrap .info_slider .info_slide .right img {
  width: 100%;
  height: auto;
  display: block;
}

.banner_wrap {
  position: relative;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .banner_wrap {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .banner_wrap {
    margin-bottom: 180px;
  }
}
.banner_wrap .banner_title {
  background-color: #5BB74D;
  margin: 0 !important;
  padding: 15px 10px !important;
  width: 100%;
  position: relative;
  z-index: 1;
  font-weight: bold;
  opacity: 0;
  transform: translateX(-100%);
  transition: all 0.6s;
}
@media only screen and (min-width: 768px) {
  .banner_wrap .banner_title {
    width: 80%;
  }
}
@media only screen and (min-width: 1200px) {
  .banner_wrap .banner_title {
    margin: 0 0 -100px 0 !important;
  }
}
@media only screen and (min-width: 1620px) {
  .banner_wrap .banner_title {
    padding: 40px 85px 40px calc((100% - 1600px) / 2) !important;
    width: 71%;
  }
}
.banner_wrap .banner_title span {
  font-family: "AmsiPro", sans-serif;
  font-size: 30px !important;
  color: #fff;
  text-transform: uppercase;
  line-height: 1;
  background: none;
  -webkit-background-clip: text;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 0;
}
@media only screen and (min-width: 768px) {
  .banner_wrap .banner_title span {
    font-size: 60px !important;
    background: linear-gradient(90deg, transparent 0%, transparent 40%, #fff 60%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 2px #fff;
  }
}
@media only screen and (min-width: 1200px) {
  .banner_wrap .banner_title span {
    font-size: 74px !important;
  }
}
.banner_wrap img {
  width: 100%;
  height: auto;
  display: block;
}
.banner_wrap.animate .banner_title {
  opacity: 1;
  transform: translateX(0);
}

.the_dome_wrap {
  padding: 0 10px;
  margin-bottom: 50px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap {
    padding: 0 0 30px 10px;
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 1024px) {
  .the_dome_wrap {
    padding: 0 0 90px 10px;
  }
}
@media only screen and (min-width: 1620px) {
  .the_dome_wrap {
    padding: 0 0 90px calc((100% - 1600px) / 2);
  }
}
.the_dome_wrap .bckg_wrap {
  position: absolute;
  right: 0;
  top: 20%;
  width: 53%;
  z-index: -1;
  display: none;
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap .bckg_wrap {
    display: block;
  }
}
.the_dome_wrap .bckg_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(2), .the_dome_wrap .bckg_wrap img:nth-of-type(3), .the_dome_wrap .bckg_wrap img:nth-of-type(4), .the_dome_wrap .bckg_wrap img:nth-of-type(5), .the_dome_wrap .bckg_wrap img:nth-of-type(6), .the_dome_wrap .bckg_wrap img:nth-of-type(7) {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  top: 0;
  right: 0;
  opacity: 0;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(2) {
  animation: fadeIn2 1.3s linear 0s infinite;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(3) {
  animation: fadeIn2 2s linear 0s infinite;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(4) {
  animation: fadeIn2 1.8s linear 0s infinite;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(5) {
  animation: fadeIn2 1.1s linear 0s infinite;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(6) {
  animation: fadeIn2 1.9s linear 0s infinite;
}
.the_dome_wrap .bckg_wrap img:nth-of-type(7) {
  animation: fadeIn2 1.4s linear 0s infinite;
}
.the_dome_wrap .background_title {
  color: #f5f7f7;
  font-size: 60px !important;
  font-weight: bold;
  font-family: "AmsiPro", sans-serif;
  text-align: left;
  line-height: 1;
  margin: 0 0 20px !important;
}
@media only screen and (min-width: 425px) {
  .the_dome_wrap .background_title {
    font-size: 80px !important;
  }
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap .background_title {
    text-align: center;
    font-size: 100px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .the_dome_wrap .background_title {
    font-size: 120px !important;
    margin: 0 0 40px !important;
  }
}
@media only screen and (min-width: 1200px) {
  .the_dome_wrap .background_title {
    font-size: 200px !important;
  }
}
.the_dome_wrap .text_wrap {
  max-width: 100%;
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap .text_wrap {
    max-width: 55%;
  }
}
.the_dome_wrap .text_wrap p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .the_dome_wrap .text_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .the_dome_wrap .text_wrap p {
    font-size: 24px;
  }
}
.the_dome_wrap .text_wrap p {
  font-weight: 400;
  line-height: 1.44;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap .text_wrap p {
    margin-bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .the_dome_wrap .text_wrap p {
    margin-bottom: 50px;
  }
}
.the_dome_wrap .text_wrap p:last-of-type {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .the_dome_wrap .text_wrap p:last-of-type {
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .the_dome_wrap .text_wrap p:last-of-type {
    margin-bottom: 70px;
  }
}

.title_left {
  background-color: #5BB74D;
  width: 100%;
  margin: 0 !important;
  padding: 15px 0 15px 10px !important;
  text-transform: uppercase;
  color: #fff;
  font-family: "AmsiPro", sans-serif !important;
  font-size: 30px !important;
  font-weight: bold !important;
}
@media only screen and (min-width: 768px) {
  .title_left {
    width: 55%;
    font-size: 60px !important;
  }
}
@media only screen and (min-width: 1200px) {
  .title_left {
    padding: 30px 0 30px 10px !important;
    font-size: 74px !important;
  }
}
@media only screen and (min-width: 1620px) {
  .title_left {
    padding: 30px 0 30px calc((100% - 1600px) / 2) !important;
  }
}

.news_wrap {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .news_wrap {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .news_wrap {
    margin-bottom: 150px;
  }
}
.news_wrap .title_left {
  opacity: 0;
  transform: translateX(-100%);
  transition: all 0.6s;
}
.news_wrap .more_right {
  background-color: #f5f7f7;
  width: 100%;
  padding: 30px 0px 10px 60px;
  margin-left: auto;
  position: relative;
  opacity: 0;
  transform: translateX(100%);
  transition: all 0.6s;
}
@media only screen and (min-width: 768px) {
  .news_wrap .more_right {
    padding: 44px 10px 44px 137px;
  }
}
@media only screen and (min-width: 1024px) {
  .news_wrap .more_right {
    width: 80%;
  }
}
@media only screen and (min-width: 1200px) {
  .news_wrap .more_right {
    width: 60%;
  }
}
@media only screen and (min-width: 1500px) {
  .news_wrap .more_right {
    width: 45%;
  }
}
.news_wrap .more_right:before {
  content: "";
  background-color: #5BB74D;
  height: 40px;
  width: 10px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .news_wrap .more_right:before {
    height: 80px;
    width: 20px;
  }
}
.news_wrap .more_right:after {
  content: "";
  background-color: #5BB74D;
  height: 10px;
  width: 40px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .news_wrap .more_right:after {
    height: 20px;
    width: 80px;
  }
}
.news_wrap .more_right .btn {
  margin-right: 10px;
  margin-bottom: 20px;
}
@media only screen and (min-width: 768px) {
  .news_wrap .more_right .btn {
    margin-bottom: 0;
    margin-right: 15px;
  }
}
.news_wrap .more_right .btn:last-of-type {
  margin-right: 0;
}
.news_wrap .more_right.animate {
  opacity: 1;
  transform: translateX(0%);
}
.news_wrap .all_news {
  display: flex;
  flex-wrap: wrap;
}
.news_wrap .all_news .news_single {
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 0;
  padding-bottom: 100%;
  position: relative;
  font-family: "AmsiPro", sans-serif;
  opacity: 0;
  transform: scale(0);
  transition: all 0.6s;
}
@media only screen and (min-width: 600px) {
  .news_wrap .all_news .news_single {
    width: 50%;
    padding-bottom: 50%;
  }
}
@media only screen and (min-width: 1024px) {
  .news_wrap .all_news .news_single {
    width: 25%;
    padding-bottom: 37%;
  }
}
.news_wrap .all_news .news_single:nth-of-type(2) {
  transition: all 0.6s 0.3s;
}
.news_wrap .all_news .news_single:nth-of-type(3) {
  transition: all 0.6s 0.6s;
}
.news_wrap .all_news .news_single:nth-of-type(4) {
  transition: all 0.6s 0.9s;
}
.news_wrap .all_news .news_single:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  transition: all 0.2s;
}
.news_wrap .all_news .news_single .more_btn {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background-color: rgba(91, 183, 77, 0.9);
  opacity: 0;
  transition: all 0.2s;
  transform: translate(-50%, -50%) scale(0.5);
}
.news_wrap .all_news .news_single .more_btn svg {
  width: 40px;
  height: auto;
  display: block;
}
.news_wrap .all_news .news_single .more_btn svg path,
.news_wrap .all_news .news_single .more_btn svg polygon {
  fill: #fff;
}
.news_wrap .all_news .news_single .text {
  z-index: 1;
  color: #fff;
  position: absolute;
  top: 30px;
  left: 10px;
  right: 10px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media only screen and (min-width: 768px) {
  .news_wrap .all_news .news_single .text {
    top: 40px;
    left: 20px;
    right: 20px;
    bottom: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .news_wrap .all_news .news_single .text {
    top: 64px;
    left: 30px;
    right: 30px;
    bottom: 40px;
  }
}
.news_wrap .all_news .news_single .text .title {
  font-size: 24px;
  font-weight: bold;
  text-transform: uppercase;
  margin: 0 0 23px;
  line-height: 1.13;
  font-family: "AmsiPro", sans-serif;
  min-height: auto;
}
@media only screen and (min-width: 600px) {
  .news_wrap .all_news .news_single .text .title {
    min-height: 72px;
  }
}
@media only screen and (min-width: 1200px) {
  .news_wrap .all_news .news_single .text .title {
    font-size: 32px;
  }
}
.news_wrap .all_news .news_single .text .date {
  font-size: 16px;
}
@media only screen and (min-width: 1200px) {
  .news_wrap .all_news .news_single .text .date {
    font-size: 20px;
  }
}
.news_wrap .all_news .news_single .text .top {
  transition: all 0.2s;
}
.news_wrap .all_news .news_single .text .bottom {
  margin-bottom: 0;
  text-transform: uppercase;
  font-size: 16px;
  font-weight: bold;
  font-family: "AmsiPro", sans-serif;
  transition: all 0.2s;
}
@media only screen and (min-width: 1200px) {
  .news_wrap .all_news .news_single .text .bottom {
    font-size: 18px;
  }
}
.news_wrap .all_news .news_single:hover:after {
  background-color: rgba(0, 0, 0, 0);
}
.news_wrap .all_news .news_single:hover .more_btn {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.news_wrap .all_news .news_single:hover .top {
  transform: translateY(-50px);
  opacity: 0;
}
.news_wrap .all_news .news_single:hover .bottom {
  transform: translateY(50px);
  opacity: 0;
}
.news_wrap .all_news .news_single.animate {
  opacity: 1;
  transform: scale(1);
}
.news_wrap.animate .title_left {
  opacity: 1;
  transform: translateX(0%);
}

.our_qualities {
  margin-bottom: 180px;
}
.our_qualities .box .icon_wrap {
  width: 400px;
  flex: 0 0 400px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  overflow: hidden;
}
.our_qualities .box .icon_wrap svg {
  max-width: 100px;
  height: auto;
  display: block;
  margin-bottom: 20px;
}
.our_qualities .box .icon_wrap p {
  margin-bottom: 0;
}
.our_qualities .our_qualities_top {
  margin-left: calc((100% - 1200px) / 2);
  padding-right: calc((100% - 1200px) / 2);
  background-color: #f5f7f7;
}
.our_qualities .our_qualities_top .boxes {
  display: flex;
}
.our_qualities .our_qualities_top .boxes:hover .box {
  width: 0% !important;
}
.our_qualities .our_qualities_top .boxes:hover .box .icon_wrap {
  flex: auto;
  width: 0;
}
.our_qualities .our_qualities_top .boxes:hover .box.hover {
  width: 100% !important;
}
.our_qualities .our_qualities_top .boxes:hover .box.hover .icon_wrap {
  flex: 0 0 400px;
  width: 400px;
}
.our_qualities .our_qualities_top .boxes:hover .box.hover .hidden_content_wrap {
  opacity: 1;
  visibility: visible;
  width: calc(100% - 400px);
  height: auto;
  transition: opacity 0.2s 0.2s;
}
.our_qualities .our_qualities_top .box {
  width: 33%;
  background-color: #5BB74D;
  height: 400px;
  display: flex;
  align-items: center;
  transition: all 0.2s;
  cursor: pointer;
}
.our_qualities .our_qualities_top .box:first-of-type {
  width: 67%;
  background-color: #f5f7f7;
  position: relative;
}
.our_qualities .our_qualities_top .box:first-of-type:before {
  content: "";
  background-color: #5BB74D;
  height: 80px;
  width: 20px;
  position: absolute;
  left: -10px;
  top: -10px;
}
.our_qualities .our_qualities_top .box:first-of-type:after {
  content: "";
  background-color: #5BB74D;
  height: 20px;
  width: 80px;
  position: absolute;
  left: -10px;
  top: -10px;
}
.our_qualities .our_qualities_top .box:nth-of-type(2) .icon_wrap svg path {
  fill: #fff;
}
.our_qualities .our_qualities_top .box:nth-of-type(2) p {
  color: #fff;
}
.our_qualities .our_qualities_top .box .hidden_content_wrap {
  opacity: 0;
  visibility: hidden;
  width: 0;
  height: 0;
  transition: opacity 0.1s;
}
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_gor,
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_dol {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_gor .img_wrap,
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_dol .img_wrap {
  width: 100px;
  height: 100px;
  position: relative;
}
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_gor .img_wrap img,
.our_qualities .our_qualities_top .box .hidden_content_wrap .cont_slike .slike_dol .img_wrap img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.our_qualities .our_qualities_bottom {
  margin-right: calc((100% - 1200px) / 2);
  padding-left: calc((100% - 1200px) / 2);
  background-color: #d7d9d9;
}
.our_qualities .our_qualities_bottom .boxes {
  display: flex;
}
.our_qualities .our_qualities_bottom .boxes:hover .box {
  width: 0% !important;
}
.our_qualities .our_qualities_bottom .boxes:hover .box .icon_wrap {
  flex: auto;
  width: 0;
}
.our_qualities .our_qualities_bottom .boxes:hover .box.hover {
  width: 100% !important;
}
.our_qualities .our_qualities_bottom .boxes:hover .box.hover .icon_wrap {
  flex: 0 0 400px;
  width: 400px;
}
.our_qualities .our_qualities_bottom .boxes:hover .box.hover .hidden_content_wrap {
  opacity: 1;
  visibility: visible;
  width: calc(100% - 400px);
  height: auto;
  transition: opacity 0.2s 0.2s;
}
.our_qualities .our_qualities_bottom .box {
  background-color: #d7d9d9;
  width: 33%;
  height: 400px;
  position: relative;
  display: flex;
  align-items: center;
  transition: all 0.2s;
  cursor: pointer;
}
.our_qualities .our_qualities_bottom .box:first-of-type {
  width: 67%;
  background-color: #5BB74D;
}
.our_qualities .our_qualities_bottom .box:first-of-type .icon_wrap {
  margin-left: auto;
}
.our_qualities .our_qualities_bottom .box:first-of-type .icon_wrap svg path {
  fill: #fff;
}
.our_qualities .our_qualities_bottom .box:first-of-type p {
  color: #fff;
}
.our_qualities .our_qualities_bottom .box:last-of-type {
  position: relative;
}
.our_qualities .our_qualities_bottom .box:last-of-type:before {
  content: "";
  background-color: #5BB74D;
  height: 80px;
  width: 20px;
  position: absolute;
  right: -10px;
  bottom: -10px;
}
.our_qualities .our_qualities_bottom .box:last-of-type:after {
  content: "";
  background-color: #5BB74D;
  height: 20px;
  width: 80px;
  position: absolute;
  right: -10px;
  bottom: -10px;
}
.our_qualities .our_qualities_bottom .box .hidden_content_wrap {
  opacity: 0;
  visibility: hidden;
  width: 0;
  height: 0;
  transition: opacity 0.1s;
}

.map {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .map {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .map {
    margin-bottom: 200px;
  }
}
.map .title_left {
  transform: translate(-100%, 0px);
  z-index: 1;
  position: relative;
  opacity: 0;
  transition: all 0.6s;
}
@media only screen and (min-width: 1024px) {
  .map .title_left {
    transform: translate(-100%, 72px);
  }
}
.map .map_content_wrap {
  display: flex;
}
.map .map_content_wrap .left {
  width: 33%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  margin-top: 72px;
  display: none;
}
@media only screen and (min-width: 1024px) {
  .map .map_content_wrap .left {
    display: block;
  }
}
@media only screen and (min-width: 1440px) {
  .map .map_content_wrap .left {
    width: 27%;
  }
}
.map .map_content_wrap .left .text {
  background-color: rgba(255, 255, 255, 0.95);
  position: absolute;
  left: 30px;
  top: 45%;
  right: 30px;
  bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 25px;
}
.map .map_content_wrap .left .text p {
  margin-bottom: 0;
}
.map .map_content_wrap .left .text .number {
  font-size: 80px;
  color: #5BB74D;
  font-family: "AmsiPro", sans-serif;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (min-width: 1200px) {
  .map .map_content_wrap .left .text .number {
    font-size: 110px;
  }
}
.map .map_content_wrap .left .text .number:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url("../img/air_dome_dbs.jpg");
}
.map .map_content_wrap .googlemaps {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .map .map_content_wrap .googlemaps {
    width: 73%;
  }
}
.map .acf-map {
  height: 350px;
}
@media only screen and (min-width: 768px) {
  .map .acf-map {
    height: 500px;
  }
}
@media only screen and (min-width: 1024px) {
  .map .acf-map {
    height: 700px;
  }
}
.map .acf-map #map {
  height: 100%;
}
.map.animate .title_left {
  opacity: 1;
  transform: translate(0%, 0px);
}
@media only screen and (min-width: 1024px) {
  .map.animate .title_left {
    transform: translate(0%, 72px);
  }
}

.napihljive {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .napihljive {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .napihljive {
    margin-bottom: 150px;
  }
}
.napihljive .row .left {
  background-color: #f5f7f7;
  width: 100%;
  flex: 0 0 50%;
  text-align: center;
  padding: 0 40px 40px;
}
.napihljive .row .left .title {
  font-weight: normal;
  color: #000;
  margin-bottom: 40px;
  font-size: calc(26px + 34 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .napihljive .row .left .title {
    font-size: 26px;
  }
}
@media screen and (min-width: 1400px) {
  .napihljive .row .left .title {
    font-size: 60px;
  }
}
.napihljive .row .left .title {
  font-family: "AmsiPro", sans-serif;
}
.napihljive .row .left .title span {
  color: #5BB74D;
}
.napihljive .row .left p {
  font-size: 16px;
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.6;
}
@media only screen and (min-width: 768px) {
  .napihljive .row .left p {
    text-align: justify;
    font-size: 20px;
    margin-bottom: 40px;
  }
}
@media only screen and (min-width: 1024px) {
  .napihljive .row .left p {
    font-size: 22px;
  }
}
.napihljive .row .left p strong {
  color: #82BF49;
}
@media only screen and (min-width: 1140px) {
  .napihljive .row .left {
    width: 50%;
    flex: 0 0 50%;
    padding: 0 40px;
    text-align: left;
  }
}
.napihljive .row .right {
  width: 100%;
  flex: 0 0 50%;
}
@media only screen and (min-width: 1140px) {
  .napihljive .row .right {
    width: 50%;
  }
}
.napihljive .row .img_wrap {
  position: relative;
  max-width: 700px;
  margin: 0 auto;
}
.napihljive .row .img_wrap img {
  width: 100%;
  height: auto;
}
.napihljive .row .img_wrap div {
  display: none;
  position: absolute;
  cursor: pointer;
  z-index: 0;
}
@media only screen and (min-width: 768px) {
  .napihljive .row .img_wrap div {
    display: block;
  }
}
.napihljive .row .img_wrap div:before {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  font-family: "FontAwesome" !important;
  content: "\f067";
  color: #fff;
  background: #5BB74D;
  width: 22px;
  height: 22px;
  text-align: center;
  line-height: 22px;
  border-radius: 50%;
  z-index: 1;
}
.napihljive .row .img_wrap div span {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: 1.8px;
  color: #545454;
  text-transform: uppercase;
  font-weight: bold;
  background: #fff;
  opacity: 0.89;
  overflow: hidden;
  max-height: 0px;
  padding: 0px 20px;
  transition: all 0.2s;
  z-index: 0;
}
.napihljive .row .img_wrap div:hover {
  z-index: 1;
}
.napihljive .row .img_wrap div:hover span {
  transition: all 0.4s;
  max-height: 200px;
  padding: 10px 20px;
  border: solid 1px #eeeeee;
}
@media only screen and (min-width: 1140px) {
  .napihljive .row .img_wrap {
    max-width: auto;
  }
}
@media only screen and (min-width: 1140px) {
  .napihljive .row {
    display: flex;
    justify-content: center;
  }
}

.company_in_numbers {
  background-color: #f5f7f7;
  padding: 50px 0;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .company_in_numbers {
    padding: 100px 0;
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 1024px) {
  .company_in_numbers {
    padding: 130px 0;
  }
}
.company_in_numbers .numbers_wrap {
  display: flex;
  flex-wrap: wrap;
}
.company_in_numbers .numbers_wrap .number_wrap {
  width: 100%;
  text-align: center;
  background-color: #fff;
  border-right: 1px solid #bdbfbf;
  border-left: 1px solid #bdbfbf;
  border-top: 1px solid #bdbfbf;
  border-bottom: 1px solid #bdbfbf;
  padding: 40px 10px 20px;
  position: relative;
  cursor: pointer;
  box-shadow: 0 0 29px 0 rgba(0, 0, 0, 0);
  transition: all 0.4s;
}
@media only screen and (min-width: 600px) {
  .company_in_numbers .numbers_wrap .number_wrap {
    width: 50%;
    padding: 80px 20px 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .company_in_numbers .numbers_wrap .number_wrap {
    width: 25%;
    border-left: none;
    border-top: none;
    border-bottom: none;
  }
}
.company_in_numbers .numbers_wrap .number_wrap:first-of-type {
  border-left: 1px solid #bdbfbf;
}
.company_in_numbers .numbers_wrap .number_wrap:hover {
  box-shadow: 0 0 29px 0 rgba(0, 0, 0, 0.15);
}
.company_in_numbers .numbers_wrap .number_wrap.active {
  z-index: 1;
}
.company_in_numbers .numbers_wrap .number_wrap.active .content_number_wrap {
  height: auto;
  opacity: 1;
  visibility: visible;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap {
  position: absolute;
  left: -1px;
  top: calc(100% - 70px);
  right: -1px;
  padding: 20px;
  background-color: #fff;
  border-right: 1px solid #bdbfbf;
  border-left: 1px solid #bdbfbf;
  height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap p {
  font-size: 16px;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap .close_cont {
  display: block;
  margin-top: 40px;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap .cont_slike {
  display: flex;
  flex-wrap: wrap;
  margin: -10px;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap .cont_slike .img_wrap {
  margin: 10px;
  width: calc(33.3% - 20px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.company_in_numbers .numbers_wrap .number_wrap .content_number_wrap .cont_slike .img_wrap img {
  max-width: 100%;
  max-height: 55px;
  width: auto;
  height: auto;
  display: block;
}
.company_in_numbers .numbers_wrap .number_wrap .more {
  display: block;
  font-size: 14px;
}
.company_in_numbers .numbers_wrap .number_wrap .top {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
}
@media only screen and (min-width: 600px) {
  .company_in_numbers .numbers_wrap .number_wrap .top {
    top: 37px;
    font-size: 20px;
  }
}
.company_in_numbers .numbers_wrap .number_wrap p {
  font-family: "AmsiPro", sans-serif;
  font-size: 24px;
}
@media only screen and (min-width: 600px) {
  .company_in_numbers .numbers_wrap .number_wrap p {
    font-size: 28px;
  }
}
.company_in_numbers .numbers_wrap .number_wrap .number {
  -webkit-text-stroke: 2px #5BB74D;
  font-family: "AmsiPro", sans-serif;
  font-size: 74px;
  font-weight: bold;
  color: #fff;
  display: block;
  margin-bottom: 20px;
  line-height: 1;
}

.left_right_content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0;
}
@media only screen and (min-width: 768px) {
  .left_right_content {
    margin: 100px 0;
  }
}
@media only screen and (min-width: 1024px) {
  .left_right_content {
    margin: 100px 0 170px;
    flex-wrap: nowrap;
  }
}
.left_right_content .img_wrap {
  width: 100%;
  height: auto;
  z-index: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0;
  padding-bottom: 50%;
  order: 2;
  opacity: 0;
  transition: all 0.6s;
  transform: translateX(-100%);
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
  min-height: auto;
}
@media only screen and (min-width: 1024px) {
  .left_right_content .img_wrap {
    min-height: 500px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    width: 47%;
    padding-bottom: 0;
    order: 1;
  }
}
.left_right_content .text_wrap {
  position: relative;
  z-index: 2;
  width: 100%;
  background-color: #f5f7f7;
  padding: 50px 10px;
  margin-left: auto;
  margin-bottom: 0;
  order: 1;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  margin: 0;
}
@media only screen and (min-width: 1024px) {
  .left_right_content .text_wrap {
    margin: 100px 0 -100px -5%;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
    width: 58%;
    padding: 70px 10px 70px 7%;
    order: 2;
  }
}
@media only screen and (min-width: 1440px) {
  .left_right_content .text_wrap {
    padding: 70px 10px 70px 10%;
  }
}
@media only screen and (min-width: 1620px) {
  .left_right_content .text_wrap {
    padding: 70px calc((100% - 1600px) / 2) 70px 10%;
  }
}
.left_right_content .text_wrap .btns_wrap {
  display: flex;
  align-items: center;
  margin: 50px 0 0;
}
@media only screen and (min-width: 1024px) {
  .left_right_content .text_wrap .btns_wrap {
    margin: 100px 0 0;
  }
}
.left_right_content .text_wrap .btns_wrap .btn.green {
  margin-right: 20px;
}
.left_right_content .text_wrap h2 {
  line-height: 1.2;
  font-weight: bold;
  font-family: "AmsiPro", sans-serif;
  text-transform: uppercase;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .left_right_content .text_wrap h2 {
    font-size: 48px !important;
  }
}
.left_right_content .text_wrap h2 {
  margin: 0 0 30px;
}
.left_right_content .text_wrap p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .left_right_content .text_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .left_right_content .text_wrap p {
    font-size: 24px;
  }
}
.left_right_content .text_wrap p {
  font-weight: 400;
  margin-bottom: 0 !important;
}
.left_right_content .text_wrap p:last-of-type {
  margin-bottom: 0;
}
.left_right_content.change_order .img_wrap {
  order: 2;
  left: 50%;
  margin: 0;
  z-index: 1;
  transform: translateX(100%);
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media only screen and (min-width: 1024px) {
  .left_right_content.change_order .img_wrap {
    margin: 100px 0 -100px -5%;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
  }
}
.left_right_content.change_order .text_wrap {
  margin: 0;
  order: 1;
  padding: 50px 10px;
  margin-left: 0;
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
@media only screen and (min-width: 1024px) {
  .left_right_content.change_order .text_wrap {
    padding: 70px 7% 70px 10px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}
@media only screen and (min-width: 1440px) {
  .left_right_content.change_order .text_wrap {
    padding: 70px 10% 70px 10px;
  }
}
@media only screen and (min-width: 1620px) {
  .left_right_content.change_order .text_wrap {
    padding: 70px 10% 70px calc((100% - 1600px) / 2);
  }
}
.left_right_content.animate .img_wrap {
  opacity: 1;
  transform: translateX(0%);
}

.trusted_by .title,
.presentation_video .title {
  font-size: 26px !important;
  margin: 0 0 30px !important;
  font-weight: normal;
  font-family: "AmsiPro", sans-serif;
}
@media only screen and (min-width: 768px) {
  .trusted_by .title,
  .presentation_video .title {
    font-size: 30px !important;
    margin: 0 0 50px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .trusted_by .title,
  .presentation_video .title {
    font-size: 40px !important;
  }
}
@media only screen and (min-width: 1200px) {
  .trusted_by .title,
  .presentation_video .title {
    font-size: 50px !important;
  }
}

.trusted_by {
  background-color: #f5f7f7;
  padding: 50px 0;
}
@media only screen and (min-width: 768px) {
  .trusted_by {
    padding: 100px 0;
  }
}
@media only screen and (min-width: 1024px) {
  .trusted_by {
    padding: 160px 0;
  }
}
@media only screen and (min-width: 1024px) {
  .trusted_by .trusted_by_inner {
    display: flex;
  }
}
.trusted_by .text_wrap {
  width: auto;
  margin: 0 0 50px;
}
@media only screen and (min-width: 1024px) {
  .trusted_by .text_wrap {
    width: calc(42% - 70px);
    margin: 0 70px 0 0;
  }
}
@media only screen and (min-width: 1200px) {
  .trusted_by .text_wrap {
    width: calc(42% - 140px);
    margin: 0 140px 0 0;
  }
}
.trusted_by .text_wrap p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .trusted_by .text_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .trusted_by .text_wrap p {
    font-size: 24px;
  }
}
.trusted_by .text_wrap p {
  font-weight: 400;
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .trusted_by .text_wrap p {
    margin: 0 0 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .trusted_by .text_wrap p {
    margin: 0 0 100px;
  }
}
.trusted_by .text_wrap a {
  color: #000;
  font-size: 14px;
}
.trusted_by .text_wrap a:after {
  font-family: "icomoon" !important;
  content: "\e909";
  color: #b1b3b2;
  margin-left: 10px;
  font-size: 12px;
}
.trusted_by .logos_wrap {
  width: auto;
}
@media only screen and (min-width: 1024px) {
  .trusted_by .logos_wrap {
    width: 58%;
  }
}
.trusted_by .logos_wrap .logos_slider:first-of-type {
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .trusted_by .logos_wrap .logos_slider:first-of-type {
    margin: 0 0 64px;
  }
}
.trusted_by .logos_wrap .logo_wrap {
  box-shadow: 0px 4px 21px 0 rgba(0, 0, 0, 0.06);
  background-color: #fff;
  height: 100px;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px;
  min-height: 130px;
}
@media only screen and (min-width: 1024px) {
  .trusted_by .logos_wrap .logo_wrap {
    margin: 0 20px;
  }
}
@media only screen and (min-width: 1200px) {
  .trusted_by .logos_wrap .logo_wrap {
    min-height: 160px;
  }
}
.trusted_by .logos_wrap .logo_wrap img {
  max-width: 80%;
  max-height: 80%;
  display: block;
  width: auto;
}

.trusted_by_new {
  margin: 70px 0;
}
.trusted_by_new .text_wrap {
  margin: 0 0 25px;
}
@media only screen and (min-width: 768px) {
  .trusted_by_new .text_wrap {
    margin: 0 0 30px;
  }
}
.trusted_by_new .text_wrap .title {
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 20px;
  color: #000;
}
.trusted_by_new .text_wrap a {
  color: #000;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.trusted_by_new .text_wrap a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 8px;
  background: url("../img/puscica_desno.png") no-repeat center center;
  background-size: contain;
  position: relative;
  top: 3px;
}
.trusted_by_new .logos_wrap {
  width: 100%;
}
.trusted_by_new .logos_slider .slick-track {
  display: flex;
  align-items: center;
}
.trusted_by_new .logos_slider .slick-slide > div {
  display: flex;
  align-items: center;
  justify-content: center;
}
.trusted_by_new .logos_static {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 20px 40px;
}
.trusted_by_new .logos_static .logo_wrap {
  margin: 0;
  padding: 0;
  min-width: 0;
  justify-content: flex-start;
}
.trusted_by_new .logo_wrap {
  height: 55px;
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 6px;
  padding: 8px 12px;
  min-width: 90px;
}
@media only screen and (min-width: 768px) {
  .trusted_by_new .logo_wrap {
    height: 65px;
    margin: 0 8px;
    padding: 10px 15px;
    min-width: 110px;
  }
}
@media only screen and (min-width: 1024px) {
  .trusted_by_new .logo_wrap {
    height: 100px;
    margin: 0 10px;
    padding: 12px 20px;
    min-width: 130px;
  }
}
.trusted_by_new .logo_wrap img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  width: auto;
  height: auto;
  object-fit: contain;
}

.image_with_details .img_details_wrap {
  position: relative;
  display: none;
}
.image_with_details .img_details_wrap .dot {
  position: absolute;
  cursor: pointer;
  z-index: 0;
  display: none;
}
@media only screen and (min-width: 600px) {
  .image_with_details .img_details_wrap .dot {
    display: block;
  }
}
.image_with_details .img_details_wrap .dot:before {
  position: absolute;
  top: 0%;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  font-family: "FontAwesome" !important;
  content: "\f067";
  color: #fff;
  background: #82BF49;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  border-radius: 50%;
  z-index: 1;
}
.image_with_details .img_details_wrap .dot span {
  position: absolute;
  bottom: 0%;
  left: 50%;
  transform: translate(-50%, 50%);
  display: block;
  text-align: center;
  white-space: nowrap;
  font-size: 12px;
  letter-spacing: 1.8px;
  color: #545454;
  text-transform: uppercase;
  font-weight: bold;
  background: #fff;
  opacity: 0.89;
  overflow: hidden;
  max-height: 0px;
  padding: 0px 20px;
  transition: all 0.2s;
  z-index: 0;
}
.image_with_details .img_details_wrap .dot:hover {
  z-index: 1;
}
.image_with_details .img_details_wrap .dot:hover span {
  transition: all 0.4s;
  max-height: 200px;
  padding: 10px 20px;
  border: solid 1px #eeeeee;
}
.image_with_details .img_details_wrap img {
  width: 100%;
  height: auto;
  display: block;
}
.image_with_details .img_details_wrap .btn {
  position: absolute;
  top: 5px;
  right: 5px;
  cursor: pointer;
}
.image_with_details .img_details_wrap .btn:after {
  font-family: "icomoon" !important;
  content: "\e909";
  font-size: 14px;
  margin-left: 15px;
}
.image_with_details .img_details_wrap.active {
  display: block;
}
.image_with_details .tabs {
  margin-top: 50px;
}
.image_with_details .tabs .single_tab {
  width: 100%;
  border-bottom: 1px solid #c9c9c9;
}
.image_with_details .tabs .single_tab .tab_title {
  padding: 22px 20px;
  margin: 0;
  font-weight: normal;
  position: relative;
  cursor: pointer;
  transition: all 0.4s;
}
.image_with_details .tabs .single_tab .tab_title:after {
  content: "\e905";
  font-family: "icomoon" !important;
  position: absolute;
  right: 20px;
  top: 36px;
  font-size: 10px;
  transition: all 0.4s;
}
.image_with_details .tabs .single_tab .tab_title.active {
  background-color: #5BB74D;
  color: #fff;
  margin-bottom: 40px;
}
.image_with_details .tabs .single_tab .tab_title.active:after {
  transform: rotate(180deg);
  color: #fff;
}
.image_with_details .tabs .single_tab .tab_content {
  display: none;
  padding: 0 20px;
}
.image_with_details .tabs .single_tab .tab_content .text img {
  max-width: 100%;
  height: auto;
}
.image_with_details .tabs .single_tab .tab_content .text img.aligncenter {
  margin: 0 auto;
  display: block;
}
.image_with_details .tabs .single_tab .tab_content .gallery {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.image_with_details .tabs .single_tab .tab_content .gallery img {
  width: 100%;
  height: auto;
  display: block;
  padding: 20px 30px;
}
@media only screen and (min-width: 768px) {
  .image_with_details .tabs .single_tab .tab_content .gallery img {
    width: 50%;
  }
}
.image_with_details .tabs .single_tab .tab_content .gallery.smaller img {
  width: 100%;
}
@media only screen and (min-width: 500px) {
  .image_with_details .tabs .single_tab .tab_content .gallery.smaller img {
    width: 50%;
  }
}
@media only screen and (min-width: 768px) {
  .image_with_details .tabs .single_tab .tab_content .gallery.smaller img {
    width: 30%;
  }
}
.image_with_details .tabs .single_tab:last-of-type {
  border-bottom: none;
}

.references .wrap {
  max-width: 1880px !important;
  padding: 0 10px;
}
@media only screen and (min-width: 1920px) {
  .references .wrap {
    padding: 0;
  }
}

.references_names {
  background-image: url("../img/bckgr-lines.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 30px;
  padding: 20px 10px;
}
@media only screen and (min-width: 600px) {
  .references_names {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .references_names {
    margin-bottom: 70px;
    padding: 40px 0;
  }
}
.references_names p {
  text-transform: uppercase;
  font-size: 14px;
  color: #000;
  margin-right: 15px;
  margin-bottom: 0;
  padding-right: 21px;
  position: relative;
  font-family: "AmsiPro", sans-serif;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .references_names p {
    font-size: 18px;
    padding-right: 26px;
    margin-right: 20px;
  }
}
.references_names p:after {
  content: "•";
  color: #5BB74D;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  line-height: 1;
  display: none;
}
@media only screen and (min-width: 600px) {
  .references_names p:after {
    display: block;
  }
}
.references_names p:last-of-type:after {
  display: none;
}
.references_names p.active {
  color: #5BB74D;
}

.references_images {
  flex-wrap: wrap;
  display: flex;
  margin: -10px;
}
.references_images .reference_wrap {
  overflow: hidden;
  margin: 10px;
  width: calc(100% - 20px);
  display: none;
  position: relative;
  cursor: pointer;
}
@media only screen and (min-width: 425px) {
  .references_images .reference_wrap {
    width: calc(50% - 20px);
  }
}
.references_images .reference_wrap.active {
  display: block;
}
@media only screen and (min-width: 1024px) {
  .references_images .reference_wrap.active {
    display: flex;
  }
}
.references_images .reference_wrap .img_wrap {
  width: auto;
  height: 200px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .references_images .reference_wrap .img_wrap {
    height: 360px;
  }
}
@media only screen and (min-width: 1024px) {
  .references_images .reference_wrap .img_wrap {
    width: 65%;
    height: auto;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 0;
  }
}
.references_images .reference_wrap .img_wrap:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  opacity: 0;
  transition: all 0.4s;
}
.references_images .reference_wrap .img_wrap .btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s;
}
.references_images .reference_wrap .img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.references_images .reference_wrap .reference_info {
  height: auto;
  background-color: #f5f7f7;
  padding: 25px 20px 21px 20px;
  z-index: 1;
  transition: all 0.4s;
  width: auto;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-bottom-left-radius: 0;
}
@media only screen and (min-width: 1024px) {
  .references_images .reference_wrap .reference_info {
    padding: 25px 0 21px 20px;
    width: 35%;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
  }
}
@media only screen and (min-width: 1440px) {
  .references_images .reference_wrap .reference_info {
    padding: 25px 0 21px 30px;
  }
}
@media only screen and (min-width: 1700px) {
  .references_images .reference_wrap .reference_info {
    padding: 36px 0 21px 30px;
  }
}
.references_images .reference_wrap .reference_info .info_title {
  font-size: calc(25px + 5 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .references_images .reference_wrap .reference_info .info_title {
    font-size: 25px;
  }
}
@media screen and (min-width: 1400px) {
  .references_images .reference_wrap .reference_info .info_title {
    font-size: 30px;
  }
}
.references_images .reference_wrap .reference_info .info_title {
  font-weight: bold;
  margin: 0 0 20px;
  line-height: 1.2;
  font-family: "AmsiPro", sans-serif;
  color: #5BB74D;
  border-bottom: none;
  padding: 0;
}
@media only screen and (min-width: 1024px) {
  .references_images .reference_wrap .reference_info .info_title {
    padding: 0 30px 10px 0;
    border-bottom: 1px solid #000;
  }
}
@media only screen and (min-width: 1700px) {
  .references_images .reference_wrap .reference_info .info_title {
    margin: 0 0 28px;
  }
}
.references_images .reference_wrap .reference_info .details {
  margin-bottom: 15px;
  font-family: "AmsiPro", sans-serif;
}
@media only screen and (min-width: 1700px) {
  .references_images .reference_wrap .reference_info .details {
    margin-bottom: 25px;
  }
}
.references_images .reference_wrap .reference_info .details span {
  display: block;
}
.references_images .reference_wrap .reference_info .details span:not(.label) {
  font-size: calc(20px + 10 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .references_images .reference_wrap .reference_info .details span:not(.label) {
    font-size: 20px;
  }
}
@media screen and (min-width: 1400px) {
  .references_images .reference_wrap .reference_info .details span:not(.label) {
    font-size: 30px;
  }
}
.references_images .reference_wrap .reference_info .details span:not(.label) {
  font-weight: 400;
}
.references_images .reference_wrap .reference_info .details .label {
  line-height: 1.4;
  font-size: 18px;
  font-size: calc(13px + 5 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .references_images .reference_wrap .reference_info .details .label {
    font-size: 13px;
  }
}
@media screen and (min-width: 1400px) {
  .references_images .reference_wrap .reference_info .details .label {
    font-size: 18px;
  }
}
.references_images .reference_wrap .reference_info .details .label {
  min-width: 50%;
  margin-right: 20px;
  font-weight: bold;
}
.references_images .reference_wrap .reference_info .btn {
  margin: 15px 0 0;
  padding: 10px 15px;
  font-size: calc(14px + 4 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .references_images .reference_wrap .reference_info .btn {
    font-size: 14px;
  }
}
@media screen and (min-width: 1400px) {
  .references_images .reference_wrap .reference_info .btn {
    font-size: 18px;
  }
}
@media only screen and (min-width: 1440px) {
  .references_images .reference_wrap .reference_info .btn {
    font-size: 20px;
    padding: 12px 30px;
  }
}
@media only screen and (min-width: 1700px) {
  .references_images .reference_wrap .reference_info .btn {
    margin: 35px 0 0;
  }
}
.references_images .reference_wrap .reference_info span.btn {
  opacity: 0;
  display: none;
}
@media only screen and (min-width: 425px) {
  .references_images .reference_wrap .reference_info span.btn {
    display: inline-block;
  }
}
.references_images .reference_wrap:hover .img_wrap .btn {
  opacity: 1;
  visibility: visible;
}
.references_images .reference_wrap:hover .img_wrap:after {
  opacity: 1;
}

.contact .wrap {
  max-width: 1600px !important;
}
.contact .international_contacts_wrap {
  position: relative;
  padding: 40px 10px 0;
  margin: 0 0 40px;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap {
    padding: 60px 10px 0;
    margin: 0 0 50px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .international_contacts_wrap {
    padding: 70px 10px 0;
  }
}
@media only screen and (min-width: 1620px) {
  .contact .international_contacts_wrap {
    padding: 80px 0 0 calc((100% - 1600px) / 2);
    margin: 0 0 60px;
  }
}
.contact .international_contacts_wrap .main_page_title {
  z-index: 1;
  position: relative;
  max-width: none;
}
.contact .international_contacts_wrap .map_image {
  height: auto;
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: auto;
  margin: 0;
  max-width: 100%;
}
.contact .international_contacts_wrap .international_contacts_content {
  display: flex;
  flex-flow: column-reverse;
  align-items: flex-start;
  background-color: rgba(255, 255, 255, 0.6);
  padding: 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content {
    padding: 40px 30px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .international_contacts_wrap .international_contacts_content {
    flex-flow: row;
    padding: 50px 0;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_boxes {
  width: 100%;
  margin: 0 0 40px;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_boxes {
    width: 40%;
    flex: 0 0 40%;
    margin: 0 60px 0 0;
  }
}
@media only screen and (min-width: 1440px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_boxes {
    margin: 0 50px 0 0;
  }
}
@media only screen and (min-width: 1700px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_boxes {
    width: 35%;
    flex: 0 0 35%;
    margin: 0 120px 0 0;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box {
  background-color: #f5f7f7;
  padding: 25px 20px;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_box {
    padding: 35px 35px 30px;
  }
}
@media only screen and (min-width: 1440px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_box {
    flex-direction: row;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box.active {
  display: flex;
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .left .contact_row_extra {
  margin-top: 25px;
  padding-top: 25px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .left .icon_wrap {
  margin: 0 0 20px;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_box .left .icon_wrap {
    margin: 0 0 30px;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .left .icon_wrap:last-child {
  margin-bottom: 0;
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .left h3 {
  margin: 0 0 15px;
  font-size: 20px;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_box .left h3 {
    font-size: 24px;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .left a {
  font-size: 16px;
  font-weight: normal;
  color: #000;
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .right {
  background-color: #fff;
  width: 140px;
  height: 140px;
  flex: 0 0 140px;
  position: relative;
  padding: 10px;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .single_contact_box .right {
    width: 180px;
    height: 180px;
    flex: 0 0 180px;
  }
}
.contact .international_contacts_wrap .international_contacts_content .single_contact_box .right img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.contact .international_contacts_wrap .international_contacts_content .flags {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 0 30px;
}
@media only screen and (min-width: 1024px) {
  .contact .international_contacts_wrap .international_contacts_content .flags {
    width: auto;
    flex: 1;
    margin: 0;
  }
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag {
  display: flex;
  align-items: center;
  width: 50%;
  margin: 0 0 20px;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
@media only screen and (min-width: 600px) {
  .contact .international_contacts_wrap .international_contacts_content .flags .single_flag {
    width: 33.3%;
    margin: 0 0 30px;
  }
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag[data-country=default] {
  width: 100%;
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .flags .single_flag[data-country=default] {
    margin: 0 0 50px;
  }
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag[data-country=default] img {
  width: 30px;
  height: 30px;
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag:hover, .contact .international_contacts_wrap .international_contacts_content .flags .single_flag.active {
  opacity: 1;
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag:hover p, .contact .international_contacts_wrap .international_contacts_content .flags .single_flag.active p {
  color: #5BB74D;
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag.active[data-country=default] img {
  border-radius: 50%;
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag.active img {
  outline: 1px solid #000;
  outline-offset: 3px;
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag img {
  width: 37px;
  height: 22px;
  object-fit: cover;
  margin: 0 12px 0 0;
}
@media only screen and (min-width: 768px) {
  .contact .international_contacts_wrap .international_contacts_content .flags .single_flag img {
    margin: 0 16px 0 0;
  }
}
.contact .international_contacts_wrap .international_contacts_content .flags .single_flag p {
  margin: 0;
}
.contact .contact_top_wrap {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .contact .contact_top_wrap {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .contact_top_wrap {
    display: flex;
    margin-bottom: 112px;
  }
}
.contact .contact_top_wrap .gdpr_check_wrap {
  position: relative;
  margin: 0 0 20px 0 !important;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .contact .contact_top_wrap .gdpr_check_wrap {
    position: absolute;
    left: 0;
    margin: 0 !important;
  }
}
.contact .contact_top_wrap .gdpr_check_wrap .chk_agree_gdpr {
  margin: 0 10px 0 0 !important;
}
.contact .contact_top_wrap .gdpr_check_wrap .gdpr_checkbox_agree_label {
  margin: 0 !important;
}
.contact .contact_top_wrap .left {
  width: 100%;
  padding-right: 0;
  margin-bottom: 50px;
}
@media only screen and (min-width: 1024px) {
  .contact .contact_top_wrap .left {
    width: 33.3%;
    padding-right: 30px;
    margin-bottom: 0;
  }
}
.contact .contact_top_wrap .left .logo_wrap_contact {
  width: 166px;
  margin: 0 0 50px;
  display: block;
}
.contact .contact_top_wrap .left p,
.contact .contact_top_wrap .left a {
  font-size: 16px;
  font-weight: normal;
  color: #000;
}
.contact .contact_top_wrap .left .telephones {
  display: block;
  width: 100%;
}
@media only screen and (min-width: 1440px) {
  .contact .contact_top_wrap .left .telephones {
    display: flex;
    flex-wrap: wrap;
  }
}
.contact .contact_top_wrap .left .telephones a {
  width: 100%;
  direction: ltr;
}
@media only screen and (min-width: 1440px) {
  .contact .contact_top_wrap .left .telephones a {
    width: 50%;
  }
}
.contact .contact_top_wrap .left a:hover {
  color: #5BB74D;
}
.contact .contact_top_wrap .right {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .contact .contact_top_wrap .right {
    width: 66.6%;
  }
}
@media only screen and (min-width: 768px) {
  .contact .contact_top_wrap .right form {
    display: flex;
    justify-content: space-between;
  }
}
.contact .contact_top_wrap .right form .box {
  width: 100%;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .contact .contact_top_wrap .right form .box {
    width: 48%;
  }
}
.contact .special_contacts_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: -20px -20px 30px;
}
@media only screen and (min-width: 768px) {
  .contact .special_contacts_wrap {
    margin: -20px -20px 80px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .special_contacts_wrap {
    margin: -20px -20px 100px;
  }
}
.contact .special_contacts_wrap .single_contact_box {
  margin: 20px;
  width: calc(100% - 40px);
  background-color: #f5f7f7;
  padding: 20px;
}
@media only screen and (min-width: 600px) {
  .contact .special_contacts_wrap .single_contact_box {
    display: flex;
    justify-content: space-between;
    padding: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .contact .special_contacts_wrap .single_contact_box {
    width: calc(50% - 40px);
  }
}
.contact .special_contacts_wrap .single_contact_box .left {
  margin-bottom: 50px;
}
@media only screen and (min-width: 600px) {
  .contact .special_contacts_wrap .single_contact_box .left {
    margin-bottom: 0;
  }
}
.contact .special_contacts_wrap .single_contact_box .left h3 {
  margin: 0 0 15px;
  font-size: 24px;
  font-weight: bold;
  font-family: "AmsiPro", sans-serif;
}
.contact .special_contacts_wrap .single_contact_box .left p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.59;
  margin-bottom: 30px;
}
.contact .special_contacts_wrap .single_contact_box .left .icon_wrap {
  margin-bottom: 30px;
}
.contact .special_contacts_wrap .single_contact_box .left .icon_wrap a {
  color: #000;
  direction: ltr;
}
.contact .special_contacts_wrap .single_contact_box .left .icon_wrap a:hover {
  color: #5BB74D;
}
.contact .special_contacts_wrap .single_contact_box .left .icon_wrap:last-of-type {
  margin-bottom: 0;
}
.contact .special_contacts_wrap .single_contact_box .right {
  background-color: #fff;
  width: 220px;
  height: 220px;
  flex: 0 0 220px;
  position: relative;
}
.contact .special_contacts_wrap .single_contact_box .right img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  height: auto;
  max-width: 90%;
  max-height: 90%;
}
.contact .special_contacts_wrap.special .single_contact_box {
  width: calc(100% - 40px);
}
.contact .special_contacts_wrap.special .single_contact_box .left {
  width: auto;
  padding-right: 0;
}
.contact .iframe_map {
  width: 100%;
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .contact .iframe_map {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .iframe_map {
    margin-bottom: 120px;
  }
}
.contact .iframe_map iframe {
  height: 400px;
  width: 100%;
}
.contact .awards_wrap {
  text-align: center;
}
.contact .awards_wrap h3 {
  font-family: "AmsiPro", sans-serif;
  font-size: calc(26px + 24 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .contact .awards_wrap h3 {
    font-size: 26px;
  }
}
@media screen and (min-width: 1400px) {
  .contact .awards_wrap h3 {
    font-size: 50px;
  }
}
.contact .awards_wrap h3 {
  margin: 0 0 30px;
  font-weight: normal;
}
.contact .awards_wrap p {
  font-size: calc(16px + 2 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .contact .awards_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .contact .awards_wrap p {
    font-size: 18px;
  }
}
.contact .awards_wrap p {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .contact .awards_wrap p {
    margin-bottom: 70px;
  }
}
.contact .awards_wrap .all_awards_wrap {
  display: flex;
  flex-wrap: wrap;
}
.contact .awards_wrap .all_awards_wrap .single_award {
  width: 100%;
  padding: 20px 0;
}
@media only screen and (min-width: 600px) {
  .contact .awards_wrap .all_awards_wrap .single_award {
    width: 50%;
    padding: 20px;
  }
}
@media only screen and (min-width: 1024px) {
  .contact .awards_wrap .all_awards_wrap .single_award {
    width: 25%;
  }
}
.contact .awards_wrap .all_awards_wrap .single_award img {
  width: auto;
  height: auto;
  max-width: 80%;
  max-height: 80px;
  display: block;
  margin: 0 auto 15px;
}
.contact .awards_wrap .all_awards_wrap .single_award p {
  font-size: 14px;
  margin-bottom: 0;
}

.presentation_video {
  margin-bottom: 50px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .presentation_video {
    margin-bottom: 100px;
  }
}
.presentation_video .wrap {
  max-width: 1200px;
}

.left_right_video {
  margin: 50px 0;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .left_right_video {
    margin: 100px 0;
  }
}
@media only screen and (min-width: 1024px) {
  .left_right_video {
    display: flex;
    margin: 286px 0 150px;
  }
}
@media only screen and (min-width: 1440px) {
  .left_right_video {
    margin: 386px 0 250px;
  }
}
.left_right_video .slide__index {
  position: static;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: auto;
  background-color: #5BB74D;
  margin: -5px 0 0;
  padding: 10px 0;
}
@media only screen and (min-width: 1024px) {
  .left_right_video .slide__index {
    padding: 0;
    position: absolute;
    left: 70px;
    bottom: 37px;
    background-color: inherit;
    margin: 0;
  }
}
@media only screen and (min-width: 1620px) {
  .left_right_video .slide__index {
    left: calc((100% - 1600px) / 2);
    width: 193px;
  }
}
.left_right_video .slide__index p {
  margin: 0;
  color: #fff;
}
.left_right_video .text_wrap {
  background-color: #f5f7f7;
  width: auto;
  margin: 0;
  padding: 50px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  opacity: 0;
  transform: translateX(-100%);
  transition: all 0.6s;
}
@media only screen and (min-width: 1024px) {
  .left_right_video .text_wrap {
    width: 60%;
    margin: -136px -15% 55px 0;
    padding: 0 20% 0 10px;
  }
}
@media only screen and (min-width: 1620px) {
  .left_right_video .text_wrap {
    padding: 0 20% 0 calc((100% - 1600px) / 2);
  }
}
.left_right_video .text_wrap:before {
  content: "";
  background-color: #5BB74D;
  height: 40px;
  width: 10px;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .left_right_video .text_wrap:before {
    height: 80px;
    width: 20px;
  }
}
.left_right_video .text_wrap:after {
  content: "";
  background-color: #5BB74D;
  height: 10px;
  width: 40px;
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 768px) {
  .left_right_video .text_wrap:after {
    height: 20px;
    width: 80px;
  }
}
.left_right_video .text_wrap .videos_nav {
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: #5BB74D;
  height: 112px;
  width: 33%;
  transform: translateY(50%);
  display: none;
}
@media only screen and (min-width: 1024px) {
  .left_right_video .text_wrap .videos_nav {
    display: block;
  }
}
.left_right_video .text_wrap p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .left_right_video .text_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .left_right_video .text_wrap p {
    font-size: 24px;
  }
}
.left_right_video .text_wrap p {
  font-weight: 400;
  line-height: 1.36;
  margin: 0 0 50px;
}
@media only screen and (min-width: 1440px) {
  .left_right_video .text_wrap p {
    margin: 0 0 70px;
  }
}
@media only screen and (min-width: 1600px) {
  .left_right_video .text_wrap p {
    margin: 0 0 100px;
  }
}
.left_right_video .text_wrap h2 {
  font-family: "AmsiPro", sans-serif;
  font-size: calc(26px + 34 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .left_right_video .text_wrap h2 {
    font-size: 26px;
  }
}
@media screen and (min-width: 1400px) {
  .left_right_video .text_wrap h2 {
    font-size: 60px;
  }
}
.left_right_video .text_wrap h2 {
  font-weight: normal;
  line-height: 0.83;
  margin: 0 0 30px;
}
@media only screen and (min-width: 1440px) {
  .left_right_video .text_wrap h2 {
    margin: 0 0 80px;
  }
}
@media only screen and (min-width: 1600px) {
  .left_right_video .text_wrap h2 {
    margin: 0 0 112px;
  }
}
.left_right_video .videos_wrap {
  width: auto;
  position: relative;
}
@media only screen and (min-width: 1024px) {
  .left_right_video .videos_wrap {
    width: 55%;
    position: static;
  }
}
.left_right_video .videos_wrap .video_wrap {
  position: relative;
}
.left_right_video .videos_wrap .video_wrap:after {
  content: "";
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.left_right_video .videos_wrap .video_wrap img {
  width: 100%;
  height: auto;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.left_right_video .videos_wrap .video_wrap .play_wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  z-index: 1;
  cursor: pointer;
}
@media only screen and (min-width: 768px) {
  .left_right_video .videos_wrap .video_wrap .play_wrap {
    width: 100px;
    height: 100px;
  }
}
.left_right_video .videos_wrap .video_wrap .play_wrap.hide {
  display: none;
}
.left_right_video .videos_wrap .video_wrap .play_wrap svg {
  width: 100%;
  height: 100%;
  display: block;
}
.left_right_video .videos_wrap .video_wrap .play_wrap svg .stroke-solid {
  stroke-dashoffset: 0;
  stroke-dashArray: 300;
  stroke-width: 6px;
  transition: stroke-dashoffset 1s ease, opacity 1s ease;
}
.left_right_video .videos_wrap .video_wrap .play_wrap svg .icon {
  transform: scale(0.8);
  transform-origin: 50% 50%;
  transition: transform 200ms ease-out;
}
.left_right_video .videos_wrap .video_wrap .play_wrap:hover .stroke-solid {
  opacity: 1;
  stroke-dashoffset: 300;
}
.left_right_video .videos_wrap .video_wrap .play_wrap:hover .icon {
  transform: scale(0.9);
}
.left_right_video .videos_wrap .video_wrap.video_on:after {
  display: none;
}
.left_right_video.animate .text_wrap {
  opacity: 1;
  transform: translateX(0%);
}

.faqs {
  margin: 70px 0;
}
@media only screen and (min-width: 1024px) {
  .faqs {
    display: flex;
    align-items: flex-start;
  }
}
.faqs .text_wrap {
  margin: 0 0 50px;
  width: auto;
}
@media only screen and (min-width: 1024px) {
  .faqs .text_wrap {
    margin: 0;
    width: 50%;
    padding-right: 60px;
  }
}
.faqs .text_wrap h2 {
  font-size: calc(26px + 38 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .faqs .text_wrap h2 {
    font-size: 26px;
  }
}
@media screen and (min-width: 1400px) {
  .faqs .text_wrap h2 {
    font-size: 64px;
  }
}
.faqs .text_wrap h2 {
  margin: 0 0 25px;
  font-weight: bold;
  line-height: normal;
}
@media only screen and (min-width: 768px) {
  .faqs .text_wrap h2 {
    margin: 0 0 46px;
  }
}
.faqs .text_wrap p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .faqs .text_wrap p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .faqs .text_wrap p {
    font-size: 24px;
  }
}
.faqs .text_wrap p {
  font-weight: 400;
  margin: 0 0 20px;
}
.faqs .text_wrap p:last-child {
  margin-bottom: 0;
}
.faqs .text_wrap .btn {
  margin: 30px 0 0;
  display: none;
}
@media only screen and (min-width: 1024px) {
  .faqs .text_wrap .btn {
    display: inline-block;
  }
}
@media only screen and (min-width: 1200px) {
  .faqs .text_wrap .btn {
    margin: 60px 0 0;
  }
}
.faqs .faqs_wrap {
  width: 100%;
}
.faqs .faqs_wrap .question {
  transition: all 0.6s;
  opacity: 0;
  transform: translateX(100%);
  background-color: #f5f7f7;
  margin-bottom: 20px;
  position: relative;
  border-radius: 20px;
}
.faqs .faqs_wrap .question:nth-of-type(1) {
  transition: all 0.6s;
}
.faqs .faqs_wrap .question:nth-of-type(2) {
  transition: all 0.6s 0.3s;
}
.faqs .faqs_wrap .question:nth-of-type(3) {
  transition: all 0.6s 0.6s;
}
.faqs .faqs_wrap .question:nth-of-type(4) {
  transition: all 0.6s 0.9s;
}
.faqs .faqs_wrap .question:nth-of-type(5) {
  transition: all 0.6s 1.2s;
}
.faqs .faqs_wrap .question:last-of-type {
  margin-bottom: 0;
}
.faqs .faqs_wrap .question .question_title {
  color: #5BB74D;
  margin: 0;
  cursor: pointer;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px;
  padding: 27px 70px 32px 20px;
}
@media only screen and (min-width: 1024px) {
  .faqs .faqs_wrap .question .question_title {
    padding: 27px 90px 32px 58px;
  }
}
.faqs .faqs_wrap .question .question_title:after {
  font-family: "icomoon" !important;
  content: "\e905";
  position: absolute;
  right: 20px;
  top: 32px;
  font-size: 14px;
  transition: all 0.4s;
}
@media only screen and (min-width: 768px) {
  .faqs .faqs_wrap .question .question_title:after {
    top: 35px;
  }
}
@media only screen and (min-width: 1024px) {
  .faqs .faqs_wrap .question .question_title:after {
    right: 44px;
  }
}
.faqs .faqs_wrap .question .question_title.active:after {
  transform: rotate(180deg);
}
.faqs .faqs_wrap .question .answer {
  display: none;
  padding: 20px 70px 32px 20px;
}
@media only screen and (min-width: 1024px) {
  .faqs .faqs_wrap .question .answer {
    padding: 20px 90px 32px 58px;
  }
}
.faqs .faqs_wrap .question .answer *:last-child {
  margin-bottom: 0;
}
.faqs .faqs_wrap .question.open .answer {
  display: block;
}
.faqs .faqs_wrap.animate .question {
  opacity: 1;
  transform: translateX(0%);
}
.faqs .btn.mobile {
  display: inline-block;
  margin: 20px 0 0;
}
@media only screen and (min-width: 1024px) {
  .faqs .btn.mobile {
    display: none;
  }
}
.faqs.no_text {
  margin: 0 0 50px;
}
@media only screen and (min-width: 768px) {
  .faqs.no_text {
    margin: 0 0 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .faqs.no_text {
    margin: 0 0 130px;
  }
}
@media only screen and (min-width: 1440px) {
  .faqs.no_text {
    margin: 0 0 230px;
  }
}
.faqs.no_text .faqs_wrap {
  width: 100%;
}
.faqs.no_text .question {
  opacity: 1;
  transform: translateX(0%);
}
.faqs .faqs_right {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .faqs .faqs_right {
    width: 50%;
  }
}
.faqs .faqs_btn_wrap {
  text-align: left;
  margin-top: 30px;
}
.faqs .faqs_btn_wrap .btn {
  background-color: #5BB74D;
  color: #fff;
  border-color: #5BB74D;
  letter-spacing: 1px;
}
@media only screen and (min-width: 768px) {
  .faqs .faqs_btn_wrap {
    margin-top: 50px;
  }
}

.content_boxes {
  margin-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .content_boxes {
    margin-bottom: 100px;
  }
}
@media only screen and (min-width: 1024px) {
  .content_boxes {
    margin-bottom: 120px;
  }
}
.content_boxes .wrap {
  max-width: 1600px !important;
}
.content_boxes .content_boxes_inner {
  display: flex;
  flex-wrap: wrap;
  margin: -10px;
}
.content_boxes .box {
  margin: 10px;
  width: calc(100% - 20px);
  background-color: #f5f7f7;
  padding: 30px 20px;
}
@media only screen and (min-width: 600px) {
  .content_boxes .box {
    width: calc(50% - 20px);
    padding: 34px 32px;
  }
}
@media only screen and (min-width: 1024px) {
  .content_boxes .box {
    width: calc(33.3% - 20px);
  }
}
.content_boxes .box .icon_wrap {
  width: 50px;
  height: 50px;
  margin: 0 0 20px;
}
@media only screen and (min-width: 768px) {
  .content_boxes .box .icon_wrap {
    width: 80px;
    height: 80px;
    margin: 0 0 35px;
  }
}
.content_boxes .box .icon_wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.content_boxes .box .box_title {
  font-size: calc(20px + 4 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content_boxes .box .box_title {
    font-size: 20px;
  }
}
@media screen and (min-width: 1400px) {
  .content_boxes .box .box_title {
    font-size: 24px;
  }
}
.content_boxes .box .box_title {
  font-weight: bold;
  color: #5BB74D;
  text-transform: none;
  font-family: "AmsiPro", sans-serif;
  margin: 0 0 15px;
}
@media only screen and (min-width: 768px) {
  .content_boxes .box .box_title {
    margin: 0 0 30px;
  }
}
.content_boxes .box .text p {
  font-size: calc(16px + 2 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content_boxes .box .text p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .content_boxes .box .text p {
    font-size: 18px;
  }
}
.content_boxes .box .text ul li {
  font-size: calc(16px + 2 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .content_boxes .box .text ul li {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .content_boxes .box .text ul li {
    font-size: 18px;
  }
}
.content_boxes .box .text *:last-child {
  margin-bottom: 0;
}

.model_wrap {
  display: flex;
  margin: 0 0 300px;
}
.model_wrap .left {
  width: 30%;
  background-color: #f5f7f7;
}
.model_wrap .left img {
  width: 100%;
  height: auto;
  display: block;
}
.model_wrap .left .text {
  padding: 43px 58px 46px 75px;
}
.model_wrap .right {
  width: 70%;
}
.model_wrap .right model-viewer {
  width: 100%;
  height: 100%;
}
.model_wrap .right model-viewer .hotspot {
  background-color: #5BB74D;
  width: 30px;
  height: 30px;
}
.model_wrap .right model-viewer .hotspot:before {
  font-family: "FontAwesome" !important;
  content: "\f067";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 20px;
}

.about_us {
  display: flex;
  flex-direction: column;
  margin: 70px 0;
}
@media only screen and (min-width: 768px) {
  .about_us {
    flex-direction: row;
  }
}
.about_us .about_us_left {
  width: 100%;
  padding: 40px 20px 40px 10px;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_left {
    width: 50%;
    padding: 60px 5% 60px 10px;
  }
}
@media only screen and (min-width: 1620px) {
  .about_us .about_us_left {
    padding: 60px 5% 60px calc((100% - 1600px) / 2);
  }
}
.about_us .about_us_left .about_us_title {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 25px;
  text-transform: uppercase;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_left .about_us_title {
    font-size: 28px;
    margin: 0 0 35px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_left .about_us_title {
    font-size: 64px;
  }
}
.about_us .about_us_left .about_us_text {
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_left .about_us_text {
    font-size: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_left .about_us_text {
    font-size: 16px;
  }
}
.about_us .about_us_left .about_us_text p {
  margin: 0 0 15px;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .about_us .about_us_left .about_us_text p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .about_us .about_us_left .about_us_text p {
    font-size: 24px;
  }
}
.about_us .about_us_left .about_us_text p {
  font-weight: 400;
}
.about_us .about_us_left .about_us_text p:last-child {
  margin-bottom: 0;
}
.about_us .about_us_left .btn {
  margin-top: 20px;
  text-transform: none;
  height: 50px;
}
.about_us .about_us_right {
  width: 100%;
  padding: 40px 20px;
  background-color: #F2F4F3;
  display: flex;
  flex-direction: column;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_right {
    width: 50%;
    padding: 60px 5%;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_right {
    padding: 40px 8%;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
  }
}
.about_us .about_us_right .about_us_right_title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 40px;
  text-align: right;
}
.about_us .about_us_right .about_us_right_title h3 {
  font-size: 50px !important;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_right .about_us_right_title {
    font-size: 28px;
    margin-bottom: 50px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_right .about_us_right_title {
    font-size: 36px;
  }
}
.about_us .about_us_right .about_us_right_title p {
  margin: 0;
}
.about_us .about_us_right .about_us_right_title em, .about_us .about_us_right .about_us_right_title i {
  font-style: italic;
  color: #5BB74D;
}
.about_us .about_us_right .number_boxes {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
  flex-wrap: nowrap;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_right .number_boxes {
    gap: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_right .number_boxes {
    gap: 60px;
  }
}
.about_us .about_us_right .number_boxes .number_box {
  text-align: center;
  min-width: 80px;
}
.about_us .about_us_right .number_boxes .number_box .number {
  display: block;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 8px;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_right .number_boxes .number_box .number {
    font-size: 40px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_right .number_boxes .number_box .number {
    font-size: 48px;
  }
}
.about_us .about_us_right .number_boxes .number_box .text {
  display: block;
  font-size: 18px;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .about_us .about_us_right .number_boxes .number_box .text {
    font-size: 13px;
  }
}
@media only screen and (min-width: 1200px) {
  .about_us .about_us_right .number_boxes .number_box .text {
    font-size: 14px;
  }
}

.banner_block {
  width: 100%;
  max-height: 600px;
  overflow: hidden;
  display: flex;
  margin-top: 70px;
  align-items: center;
  justify-content: center;
}
.banner_block img {
  width: 100%;
  height: auto;
  max-height: 600px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.latest_project {
  background-color: #F2F4F3;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-left: calc(50vw - 50%);
  padding-right: calc(50vw - 50%);
  padding-top: 50px;
  padding-bottom: 50px;
}
@media only screen and (min-width: 768px) {
  .latest_project {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
.latest_project .latest_project_title {
  color: #000;
  text-align: left;
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 40px !important;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_title {
    font-size: 64px !important;
    margin: 0 0 50px !important;
  }
}
.latest_project .latest_project_slider {
  margin: 0 -10px;
  position: relative;
}
.latest_project .latest_project_slider .slick-list {
  overflow: visible;
}
.latest_project .latest_project_slider .slick-slide {
  width: 410px; /* 390px card + 10px padding each side */
  padding: 0 10px;
  box-sizing: border-box;
}
.latest_project .latest_project_slider .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  width: 24px;
  height: 48px;
}
.latest_project .latest_project_slider .slick-arrow:after {
  content: "";
  display: block;
  width: 24px;
  height: 48px;
  background: url("../img/arrow-right.png") no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.latest_project .latest_project_slider .slick-arrow.slick-prev {
  left: 15px;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .slick-arrow.slick-prev {
    left: -100px;
  }
}
.latest_project .latest_project_slider .slick-arrow.slick-prev:after {
  transform: translate(-50%, -50%) scaleX(-1);
}
.latest_project .latest_project_slider .slick-arrow.slick-next {
  right: 15px;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .slick-arrow.slick-next {
    right: -100px;
  }
}
.latest_project .latest_project_slider .project_card {
  display: block;
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  text-decoration: none;
  width: 100%;
  max-width: 390px;
}
.latest_project .latest_project_slider .project_card .card_img {
  height: 280px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.4s ease;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .project_card .card_img {
    height: 560px;
  }
}
.latest_project .latest_project_slider .project_card .card_img:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 60%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
  z-index: 1;
}
.latest_project .latest_project_slider .project_card .card_img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.latest_project .latest_project_slider .project_card .card_content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .project_card .card_content {
    padding: 25px;
  }
}
.latest_project .latest_project_slider .project_card .card_title {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 5px;
  text-align: right;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .project_card .card_title {
    font-size: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .latest_project .latest_project_slider .project_card .card_title {
    font-size: 16px;
  }
}
.latest_project .latest_project_slider .project_card .card_date {
  color: #ffffff;
  font-size: 12px;
  float: right;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_slider .project_card .card_date {
    font-size: 13px;
  }
}
.latest_project .latest_project_slider .project_card:hover {
  transform: scale(1.2);
  z-index: 2;
}
.latest_project .latest_project_btn_wrap {
  text-align: center;
  margin-top: 40px;
}
.latest_project .latest_project_btn_wrap .btn {
  background-color: #5BB74D;
  color: #fff;
  border-color: #5BB74D;
}
.latest_project .latest_project_btn_wrap .btn:hover {
  background-color: #fff;
  color: #5BB74D;
  border-color: #5BB74D;
}
@media only screen and (min-width: 768px) {
  .latest_project .latest_project_btn_wrap {
    margin-top: 50px;
  }
}

.left_right_image {
  display: flex;
  flex-direction: column;
  margin-top: 70px;
  margin-bottom: 70px;
}
@media only screen and (min-width: 768px) {
  .left_right_image {
    flex-direction: row;
    align-items: stretch;
    min-height: 500px;
  }
}
.left_right_image .left_right_image_text {
  width: 100%;
  padding: 50px 20px;
}
@media only screen and (min-width: 768px) {
  .left_right_image .left_right_image_text {
    width: 50%;
    padding: 70px 50px 70px calc((100vw - 1600px) / 2 + 0%);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media only screen and (min-width: 1200px) {
  .left_right_image .left_right_image_text {
    padding: 80px 60px 80px calc((100vw - 1600px) / 2 + 0%);
  }
}
@media only screen and (max-width: 1600px) and (min-width: 768px) {
  .left_right_image .left_right_image_text {
    padding-left: 5%;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 1200px) {
  .left_right_image .left_right_image_text {
    padding-left: 4%;
  }
}
.left_right_image .left_right_image_title {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 25px;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .left_right_image .left_right_image_title {
    font-size: 64px !important;
    margin: 0 0 30px;
  }
}
.left_right_image .left_right_image_content {
  font-size: 14px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .left_right_image .left_right_image_content {
    font-size: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .left_right_image .left_right_image_content {
    font-size: 16px;
  }
}
.left_right_image .left_right_image_content p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .left_right_image .left_right_image_content p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .left_right_image .left_right_image_content p {
    font-size: 24px;
  }
}
.left_right_image .left_right_image_content p {
  font-weight: 400;
  margin: 0 0 15px;
}
.left_right_image .left_right_image_content p:last-child {
  margin-bottom: 0;
}
.left_right_image .left_right_image_content a {
  color: #5BB74D;
  text-decoration: underline;
}
.left_right_image .left_right_image_content a:hover {
  text-decoration: none;
}
.left_right_image .left_right_image_btns {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 50px;
}
.left_right_image .left_right_image_btns .btn {
  padding: 12px 20px;
}
@media only screen and (min-width: 768px) {
  .left_right_image .left_right_image_btns .btn {
    padding: 14px 25px;
    padding-top: 8px;
  }
}
.left_right_image .left_right_image_img {
  width: 100%;
  min-height: 300px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 768px) {
  .left_right_image .left_right_image_img {
    width: 50%;
    min-height: auto;
  }
}
@media only screen and (min-width: 1200px) {
  .left_right_image .left_right_image_img {
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
  }
}

.references_new {
  display: flex;
  flex-direction: column;
  margin: 70px 0px;
}
@media only screen and (min-width: 768px) {
  .references_new {
    flex-direction: row;
    align-items: stretch;
    min-height: 450px;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}
.references_new .references_new_text {
  width: 100%;
  padding: 50px 20px;
  background-color: #f0f4f3;
}
@media only screen and (min-width: 768px) {
  .references_new .references_new_text {
    width: 50%;
    padding: 50px 50px 50px calc((100vw - 1600px) / 2 + 0%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
  }
}
@media only screen and (min-width: 1200px) {
  .references_new .references_new_text {
    padding: 70px 60px 70px calc((100vw - 1600px) / 2 + 0%);
  }
}
@media only screen and (max-width: 1600px) and (min-width: 768px) {
  .references_new .references_new_text {
    padding-left: 4%;
  }
}
@media only screen and (max-width: 1600px) and (min-width: 1200px) {
  .references_new .references_new_text {
    padding-left: 4%;
  }
}
.references_new .references_new_title {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 25px;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .references_new .references_new_title {
    font-size: 64px !important;
    margin: 0 0 30px;
  }
}
.references_new .references_new_content {
  font-size: 14px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .references_new .references_new_content {
    font-size: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  .references_new .references_new_content {
    font-size: 16px;
  }
}
.references_new .references_new_content p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .references_new .references_new_content p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .references_new .references_new_content p {
    font-size: 24px;
  }
}
.references_new .references_new_content p {
  font-weight: 400;
  margin: 0 0 15px;
}
.references_new .references_new_content p:last-child {
  margin-bottom: 0;
}
.references_new .btn {
  margin-top: 50px;
  align-self: flex-start;
}
.references_new .references_new_img {
  width: 100%;
  min-height: 300px;
  background-size: contain;
  background-position: center left;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 768px) {
  .references_new .references_new_img {
    width: 50%;
    min-height: auto;
    background-position: center;
  }
}

.video_section {
  padding: 60px 0;
  background-color: #f5f7f7;
}
@media only screen and (min-width: 768px) {
  .video_section {
    padding: 70px 0;
  }
}
.video_section .video_section_inner {
  display: flex;
  flex-direction: column;
}
.video_section .text_wrap {
  width: 100%;
  margin: 0 0 30px;
}
@media only screen and (min-width: 768px) {
  .video_section .text_wrap {
    margin: 0 0 40px;
    max-width: 50%;
  }
}
.video_section .text_wrap .title {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 15px;
}
@media only screen and (min-width: 768px) {
  .video_section .text_wrap .title {
    font-size: 28px;
    margin: 0 0 24px;
  }
}
@media only screen and (min-width: 1024px) {
  .video_section .text_wrap .title {
    font-size: 64px;
  }
}
.video_section .text_wrap .text {
  font-size: 14px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .video_section .text_wrap .text {
    font-size: 15px;
  }
}
.video_section .text_wrap .text p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .video_section .text_wrap .text p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .video_section .text_wrap .text p {
    font-size: 24px;
  }
}
.video_section .text_wrap .text p {
  font-weight: 400;
  margin: 0 0 15px;
}
.video_section .text_wrap .text p:last-child {
  margin-bottom: 0;
}
.video_section .all_videos_wrap {
  display: flex;
  justify-content: space-between;
}
.video_section .all_videos_wrap .video_boxes_slider {
  width: 67%;
}
.video_section .all_videos_wrap .video_thumbnails_slider {
  width: 28%;
}
.video_section .all_videos_wrap .video_thumbnails_slider .video_wrap {
  margin: 0 0 15px;
  position: relative;
  height: 0;
  padding-bottom: 42%;
  border-radius: 30px;
  overflow: hidden;
  cursor: pointer;
}
.video_section .all_videos_wrap .video_thumbnails_slider .video_wrap img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.video_section .all_videos_wrap .video_thumbnails_slider .video_wrap .play_btn {
  width: 50px;
  height: 50px;
}
.video_section .video_big {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .video_section .video_big {
    flex: 1;
    min-width: 0;
  }
}
.video_section .video_small {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .video_section .video_small {
    width: 490px;
    flex-shrink: 0;
  }
}
.video_section .video_thumbnail {
  position: relative;
  cursor: pointer;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  background-color: #333;
}
.video_section .video_thumbnail:before {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}
.video_section .video_thumbnail img,
.video_section .video_thumbnail .video_placeholder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.video_section .video_thumbnail .video_placeholder {
  background-color: #222;
}
.video_section .video_thumbnail:hover img {
  transform: scale(1.05);
}
.video_section .video_thumbnail:hover .play_btn {
  transform: translate(-50%, -50%) scale(1.1);
}
.video_section .play_btn {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background-color: transparent;
  border: 4px solid #5bb74d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
@media only screen and (min-width: 768px) {
  .video_section .play_btn {
    width: 70px;
    height: 70px;
  }
}
.video_section .play_btn svg {
  width: 24px;
  height: 24px;
  color: #5BB74D;
  margin-left: 4px;
}
@media only screen and (min-width: 768px) {
  .video_section .play_btn svg {
    width: 45px;
    height: 45px;
  }
}
.video_section .video_small .play_btn {
  width: 45px;
  height: 45px;
}
@media only screen and (min-width: 768px) {
  .video_section .video_small .play_btn {
    width: 50px;
    height: 50px;
  }
}
.video_section .video_small .play_btn svg {
  width: 18px;
  height: 18px;
}
@media only screen and (min-width: 768px) {
  .video_section .video_small .play_btn svg {
    width: 30px;
    height: 30px;
  }
}
.video_section .btn_wrap {
  width: 100%;
  margin-top: 20px;
}
@media only screen and (min-width: 768px) {
  .video_section .btn_wrap {
    margin-top: 50px;
  }
}
.video_section .btn.green {
  background-color: #5BB74D;
  color: #fff;
  border-color: #5BB74D;
  letter-spacing: 1px;
  padding: 12px 25px;
}
@media only screen and (min-width: 768px) {
  .video_section .btn.green {
    padding: 14px 30px;
  }
}
.video_section .btn.green:hover {
  background-color: rgb(75.4048, 156.0704, 63.1296);
  border-color: rgb(75.4048, 156.0704, 63.1296);
}

.video_popup_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
@media only screen and (min-width: 768px) {
  .video_popup_overlay {
    padding: 40px;
  }
}

.video_popup_content {
  position: relative;
  width: 100%;
  max-width: 1200px;
}

.video_popup_close {
  position: absolute;
  top: -40px;
  right: 0;
  color: #fff;
  font-size: 36px;
  cursor: pointer;
  line-height: 1;
  transition: opacity 0.3s ease;
}
.video_popup_close:hover {
  opacity: 0.7;
}

.video_popup_iframe {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video_popup_iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.video_popup_open {
  overflow: hidden;
}

h2.latest_project_title {
  margin-bottom: 60px !important;
}

.cofinanced_wrap a {
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Block: Interactive image (media + accordion)
-------------------------------------------------------------------------- */
.interactive_image {
  margin: 60px 0;
}
@media only screen and (min-width: 768px) {
  .interactive_image {
    margin: 80px 0;
  }
}
.interactive_image .wrap {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}
.interactive_image__intro {
  margin-bottom: 28px;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .interactive_image__intro {
    margin-bottom: 40px;
  }
}
.interactive_image__intro h1, .interactive_image__intro h2, .interactive_image__intro h3 {
  margin: 0 0 10px;
  color: #000;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .interactive_image__intro h1, .interactive_image__intro h2, .interactive_image__intro h3 {
    font-size: 48px !important;
  }
}
.interactive_image__intro h1, .interactive_image__intro h2, .interactive_image__intro h3 {
  font-weight: 700;
}
.interactive_image__intro p {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .interactive_image__intro p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .interactive_image__intro p {
    font-size: 24px;
  }
}
.interactive_image__intro p {
  font-weight: 400;
}
.interactive_image__intro--bottom {
  margin-top: 30px;
  margin-bottom: 0;
}
.interactive_image__name {
  color: #000;
}
.interactive_image__name h1, .interactive_image__name h2, .interactive_image__name h3 {
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}
.interactive_image__name p {
  margin: 2px 0 0 !important;
  color: #000;
  font-size: 18px !important;
  font-weight: 400;
  line-height: 1.15;
}
.interactive_image__name p strong {
  display: block;
  font-size: 28px;
  line-height: 1.05;
  text-transform: uppercase;
}
@media only screen and (min-width: 900px) {
  .interactive_image.has-name .interactive_image__layout {
    grid-template-columns: minmax(140px, 11%) minmax(0, 1fr) clamp(380px, 28vw, 440px);
    gap: clamp(18px, 2vw, 36px);
  }
}
.interactive_image__layout {
  display: flex;
  flex-direction: column;
  gap: 30px;
  align-items: stretch;
}
@media only screen and (min-width: 900px) {
  .interactive_image__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(380px, 28vw, 440px);
    align-items: start;
    gap: clamp(40px, 6vw, 100px);
  }
}
.interactive_image__media {
  flex: 1 1 auto;
  min-width: 0;
}
@media only screen and (min-width: 900px) {
  .interactive_image__media {
    width: 100%;
    max-width: none;
  }
}
.interactive_image__img_wrap {
  position: relative;
  display: block;
  width: 100%;
  padding: 30px;
  line-height: 0;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .interactive_image__img_wrap {
    padding: 50px;
  }
}
.interactive_image__img, .interactive_image__video {
  display: block;
  width: 100%;
  max-width: 740px;
  height: auto;
  margin-right: auto;
  margin-left: 0;
  pointer-events: none;
  user-select: none;
}
.interactive_image__video {
  max-width: none;
}
.interactive_image__video_wrap {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin-top: -30px;
  margin-right: auto;
  margin-left: 0;
  line-height: 0;
}
@media only screen and (min-width: 768px) {
  .interactive_image__video_wrap {
    margin-top: -50px;
  }
}
.interactive_image__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  user-select: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.interactive_image__overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.interactive_image__video::-webkit-media-controls {
  display: none !important;
}
.interactive_image__accordion {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
@media only screen and (min-width: 900px) {
  .interactive_image__accordion {
    justify-self: end;
    width: clamp(380px, 28vw, 440px);
    max-width: 440px;
  }
}
.interactive_image__accordion_item {
  overflow: hidden;
  border-radius: 20px;
  background: #cae0c0;
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.2);
  color: #000;
}
.interactive_image__accordion_button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 0;
  padding: 20px 22px;
  border: 0;
  background: transparent;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}
.interactive_image__accordion_button:focus-visible {
  outline: 2px solid #000;
  outline-offset: -4px;
}
.interactive_image__accordion_icon {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-right: 3px solid currentColor;
  border-bottom: 3px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 0.3s ease;
}
.interactive_image__accordion_panel {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows 0.4s ease, opacity 0.3s ease;
}
.interactive_image__accordion_content {
  min-height: 0;
  padding: 0 22px;
  overflow: hidden;
  color: #000;
  font-size: 18px;
  line-height: 1.45;
}
.interactive_image__accordion_content p {
  margin: 0 0 20px;
  color: #000;
  font-size: 18px;
  line-height: 1.45;
}
.interactive_image__accordion_content > :first-child {
  margin-top: 0;
}
.interactive_image__accordion_content > :last-child {
  margin-bottom: 20px;
}
.interactive_image__accordion_item.is-open .interactive_image__accordion_icon {
  transform: rotate(225deg) translate(-2px, -2px);
}
.interactive_image__accordion_item.is-open .interactive_image__accordion_panel {
  grid-template-rows: 1fr;
  opacity: 1;
}

body.has-interactive-image-header .header,
body.has-interactive-image-header .header .header_top,
body.has-interactive-image-header .header .header_bottom,
body.has-interactive-image-header main.l-page .sibling_pages_nav {
  background-color: #fff !important;
  transition: background-color 0.25s linear, box-shadow 0.25s linear !important;
}

body.has-interactive-image-header.header-over-interactive-image .header,
body.has-interactive-image-header.header-over-interactive-image .header .header_top,
body.has-interactive-image-header.header-over-interactive-image .header .header_bottom {
  background-color: var(--interactive-image-header-bg, #F2F4F3) !important;
}
body.has-interactive-image-header.header-over-interactive-image main.l-page .sibling_pages_nav {
  background-color: var(--interactive-image-header-bg, #F2F4F3) !important;
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .interactive_image__accordion_icon,
  .interactive_image__accordion_panel,
  .interactive_image__overlay {
    transition: none;
  }
}
/* --------------------------------------------------------------------------
   Block: Icon boxes (metrics grid + CTA)
-------------------------------------------------------------------------- */
.icon_boxes {
  position: relative;
  left: 50%;
  width: 100vw;
  margin: 0;
  margin-left: -50vw;
  padding: 56px 0;
  background-color: #7c7c7c;
}
@media only screen and (min-width: 768px) {
  .icon_boxes {
    padding: 72px 0;
  }
}
.icon_boxes .wrap {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media only screen and (min-width: 1220px) {
  .icon_boxes .wrap {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.icon_boxes__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media only screen and (min-width: 640px) {
  .icon_boxes__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 1024px) {
  .icon_boxes__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
}
.icon_boxes__card {
  position: relative;
  background: #58585a;
  color: #fff;
  border-radius: 30px;
  padding: 20px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.1), 0 0 20px rgba(0, 0, 0, 0.14), 0 20px 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 100%;
  transform: scale(1) translateY(50px);
  transform-origin: center center;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
  opacity: 0;
  transition: all 0s;
}
.icon_boxes__card.animate {
  opacity: 1;
  transform: scale(1) translateY(0px);
}
.icon_boxes__card.animate:nth-of-type(1) {
  transition: all 0.6s;
}
.icon_boxes__card.animate:nth-of-type(2) {
  transition: all 0.6s 0.2s;
}
.icon_boxes__card.animate:nth-of-type(3) {
  transition: all 0.6s 0.4s;
}
.icon_boxes__card.animate:nth-of-type(4) {
  transition: all 0.6s 0.6s;
}
.icon_boxes__card.animate:nth-of-type(5) {
  transition: all 0.6s 0.8s;
}
.icon_boxes__card.animate:nth-of-type(6) {
  transition: all 0.6s 1s;
}
.icon_boxes__card:hover {
  transform: scale(1.1);
  z-index: 1;
  box-shadow: 0 0 26px rgba(91, 183, 77, 0.38), 0 0 34px rgba(91, 183, 77, 0.3), 0 0 42px rgba(91, 183, 77, 0.18), 0 24px 32px rgba(0, 0, 0, 0.12), 0 28px 44px rgba(91, 183, 77, 0.15);
}
@media only screen and (min-width: 768px) {
  .icon_boxes__card {
    padding: 50px;
    border-radius: 16px;
  }
}
.icon_boxes__top {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 20px;
}
.icon_boxes__icon {
  flex: 0 0 auto;
  color: #5BB74D;
}
.icon_boxes__svg {
  display: block;
  width: 52px;
  height: auto;
  aspect-ratio: 59.8/51.3;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__svg {
    width: 60px;
  }
}
.icon_boxes__svg--dome, .icon_boxes__svg--roi, .icon_boxes__svg--efficiency, .icon_boxes__svg--sustainable, .icon_boxes__svg--climate {
  aspect-ratio: 1;
}
.icon_boxes__dome-globe {
  fill: currentColor;
}
.icon_boxes__dome-orbit {
  fill: currentColor;
  transform-origin: 30px 30px;
  animation: icon_boxes_spin 12s linear infinite;
}
.icon_boxes__roi-axes {
  fill: currentColor;
}
.icon_boxes__roi-trend, .icon_boxes__roi-cap {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.icon_boxes__roi-bar {
  fill: none;
  stroke: currentColor;
  stroke-width: 14;
  stroke-miterlimit: 10;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.icon_boxes__efficiency-bolt {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  animation: icon_boxes_draw 2.4s ease-in-out infinite;
}
.icon_boxes__sustain-cloud {
  fill: currentColor;
}
.icon_boxes__sustain-arrow {
  fill: currentColor;
  animation: icon_boxes_float 2.4s ease-in-out infinite;
}
.icon_boxes__path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.icon_boxes__path--axes {
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}
.icon_boxes__climate-body, .icon_boxes__climate-tick {
  fill: currentColor;
}
.icon_boxes__climate-bulb {
  fill: currentColor;
}
.icon_boxes__climate-mercury {
  fill: none;
  stroke: currentColor;
  stroke-width: 5.5;
  stroke-linecap: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}
.icon_boxes__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding-top: 2px;
}
.icon_boxes__stat_value {
  display: block;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
  letter-spacing: -0.02em;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__stat_value {
    font-size: 24px;
  }
}
.icon_boxes__stat_label {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__stat_label {
    font-size: 20px;
  }
}
.icon_boxes__body {
  font-size: 16px;
  line-height: 1.55;
}
.icon_boxes__body > :first-child {
  margin-top: 0;
}
.icon_boxes__body > :last-child {
  margin-bottom: 0;
}
.icon_boxes__body h2, .icon_boxes__body h3, .icon_boxes__body h4 {
  margin: 20px 0 10px !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  color: #5BB74D;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__body h2, .icon_boxes__body h3, .icon_boxes__body h4 {
    font-size: 24px !important;
  }
}
.icon_boxes__body p {
  margin: 0 0 10px;
}
.icon_boxes__cta {
  margin-top: 36px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__cta {
    margin-top: 44px;
  }
}
.icon_boxes__btn.green_ful {
  border-radius: 999px;
  text-transform: lowercase;
  font-weight: 700;
  padding: 14px 40px;
  letter-spacing: 0.02em;
}
@media only screen and (min-width: 768px) {
  .icon_boxes__btn.green_ful {
    padding: 16px 52px;
  }
}
.icon_boxes__btn.green_ful:hover {
  background-color: rgb(75.4048, 156.0704, 63.1296);
  border-color: rgb(75.4048, 156.0704, 63.1296);
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .icon_boxes__path--trend,
  .icon_boxes__path--cap {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
  .icon_boxes__climate-mercury {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
  .icon_boxes__roi-trend,
  .icon_boxes__roi-cap,
  .icon_boxes__roi-bar {
    stroke-dasharray: none !important;
    stroke-dashoffset: 0 !important;
  }
  .icon_boxes__dome-orbit,
  .icon_boxes__sustain-arrow,
  .icon_boxes__efficiency-bolt {
    animation: none !important;
  }
}
@keyframes icon_boxes_float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}
@keyframes icon_boxes_spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes icon_boxes_draw {
  0% {
    stroke-dashoffset: 200;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/* --------------------------------------------------------------------------
   Block: Gallery slider (Slick + .l-popup.gallery lightbox)
-------------------------------------------------------------------------- */
.gallery_slider_block {
  margin: 50px 0;
}
@media only screen and (min-width: 768px) {
  .gallery_slider_block {
    margin: 70px 0;
  }
}
.gallery_slider_block .wrap {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  overflow: visible;
}
@media only screen and (min-width: 1220px) {
  .gallery_slider_block .wrap {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.gallery_slider_block__title {
  margin: 0 0 70px !important;
  color: #000;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .gallery_slider_block__title {
    font-size: 48px !important;
  }
}
.gallery_slider_block__title {
  font-weight: 700 !important;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (max-width: 767px) {
  .gallery_slider_block__title {
    margin-bottom: 38px !important;
  }
}
.gallery_slider_block__carousel {
  position: relative;
  margin: 0 -6px;
}
@media only screen and (min-width: 640px) {
  .gallery_slider_block__carousel {
    margin: 0 -10px;
  }
}
.gallery_slider_block__carousel .slick-list {
  overflow: visible;
  transition: box-shadow 0.45s ease;
  cursor: grab;
}
.gallery_slider_block__carousel .slick-list:active {
  cursor: grabbing;
}
@media (hover: hover) and (pointer: fine) {
  .gallery_slider_block:hover .gallery_slider_block__carousel .slick-list {
    box-shadow: inset 14px 0 20px -10px rgba(0, 0, 0, 0.07), inset -14px 0 20px -10px rgba(0, 0, 0, 0.07);
  }
  .gallery_slider_block:hover .gallery_slider_block__carousel .slick-next:after {
    animation: gallery_slider_arrow_next 1.15s ease-in-out infinite;
  }
  .gallery_slider_block:hover .gallery_slider_block__carousel .slick-prev:after {
    animation: gallery_slider_arrow_prev 1.15s ease-in-out infinite;
  }
}
@media (prefers-reduced-motion: reduce) {
  .gallery_slider_block:hover .gallery_slider_block__carousel .slick-list {
    box-shadow: none;
  }
  .gallery_slider_block:hover .gallery_slider_block__carousel .slick-next:after, .gallery_slider_block:hover .gallery_slider_block__carousel .slick-prev:after {
    animation: none !important;
  }
}
.gallery_slider_block__slide {
  padding: 0 8px;
}
@media only screen and (min-width: 640px) {
  .gallery_slider_block__slide {
    padding: 0 12px;
  }
}
.gallery_slider_block__thumb {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  border-radius: 20px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.1), 0 0 20px rgba(0, 0, 0, 0.14), 0 20px 20px rgba(0, 0, 0, 0.1);
  transform: scale(1);
  transform-origin: center center;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}
.gallery_slider_block__thumb:hover {
  transform: scale(1.05);
  z-index: 1;
}
.gallery_slider_block__thumb:focus-visible {
  outline: 2px solid #5BB74D;
  outline-offset: 4px;
}
.gallery_slider_block__img_wrap {
  position: relative;
  display: block;
  line-height: 0;
  border-radius: 20px;
  overflow: hidden;
  background: #e4e6e5;
}
.gallery_slider_block__img_wrap img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: top;
  object-fit: cover;
  aspect-ratio: 4/3;
}
.gallery_slider_block__description {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 2;
  max-width: calc(100% - 44px);
  color: #fff;
  font-size: clamp(18px, 1.7vw, 30px);
  font-weight: 700;
  line-height: 1.1;
  text-align: right;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65);
  text-transform: uppercase;
  white-space: normal;
}
@media only screen and (max-width: 767px) {
  .gallery_slider_block__description {
    right: 14px;
    bottom: 14px;
    max-width: calc(100% - 28px);
    font-size: 16px;
  }
}
.gallery_slider_block__cta_wrap {
  display: flex;
  justify-content: center;
  margin-top: 70px;
}
@media only screen and (max-width: 767px) {
  .gallery_slider_block__cta_wrap {
    margin-top: 40px;
  }
}
.gallery_slider_block__cta {
  display: inline-flex;
  width: min(100%, 372px);
  min-height: 50px;
  padding: 10px 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .gallery_slider_block__cta {
    font-size: 18px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .gallery_slider_block__cta {
    font-size: 20px !important;
  }
}
.gallery_slider_block__cta {
  line-height: 1;
  text-align: center;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.gallery_slider_block__cta:hover, .gallery_slider_block__cta:focus-visible {
  background: #004206;
  color: #fff !important;
  transform: translateY(-2px);
}
@media only screen and (max-width: 767px) {
  .gallery_slider_block__cta {
    width: auto;
    min-width: 240px;
    min-height: 46px;
    padding: 10px 26px;
    font-size: 18px;
  }
}
.gallery_slider_block__json {
  display: none !important;
}

@keyframes gallery_slider_arrow_next {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(7px);
  }
}
@keyframes gallery_slider_arrow_prev {
  0%, 100% {
    transform: scaleX(-1) translateX(0);
  }
  50% {
    transform: scaleX(-1) translateX(-7px);
  }
}
/* --------------------------------------------------------------------------
   Block: Icons (energy / connection options band)
-------------------------------------------------------------------------- */
.icons_block {
  padding: 50px 0;
  background: #666;
  color: #fff;
}
@media only screen and (min-width: 1024px) {
  .icons_block {
    padding: 70px 0;
  }
}
.icons_block__header {
  margin: 0 auto 36px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .icons_block__header {
    margin-bottom: 44px;
  }
}
@media only screen and (min-width: 1024px) {
  .icons_block__header {
    margin-bottom: 50px;
  }
}
.icons_block__header h2 {
  font-weight: bold;
}
.icons_block__title {
  margin: 0 0 10px !important;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
}
.icons_block__lead {
  margin: 0;
  font-family: "AmsiPro", sans-serif;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .icons_block__lead {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .icons_block__lead {
    font-size: 24px;
  }
}
.icons_block__lead {
  font-weight: 400;
  line-height: 1.45;
  color: #5BB74D;
}
.icons_block__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 0 auto;
}
@media only screen and (min-width: 480px) {
  .icons_block__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (min-width: 900px) {
  .icons_block__grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 50px;
  }
}
.icons_block__card {
  position: relative;
  text-align: center;
  opacity: 0;
  transform: translateY(50px);
  transition: all 0s;
}
.icons_block__card.animate {
  opacity: 1;
  transform: translateY(0px);
}
.icons_block__card.animate:nth-of-type(1) {
  transition: all 0.6s;
}
.icons_block__card.animate:nth-of-type(2) {
  transition: all 0.6s 0.3s;
}
.icons_block__card.animate:nth-of-type(3) {
  transition: all 0.6s 0.6s;
}
.icons_block__card.animate:nth-of-type(4) {
  transition: all 0.6s 0.9s;
}
.icons_block__card.animate:nth-of-type(5) {
  transition: all 0.6s 1.2s;
}
.icons_block__card.animate:nth-of-type(6) {
  transition: all 0.6s 1.5s;
}
.icons_block__card_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 0;
  aspect-ratio: 1;
  padding: 18px 12px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 18px rgba(255, 255, 255, 0.14), 0 8px 28px rgba(255, 255, 255, 0.12);
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
@media only screen and (min-width: 768px) {
  .icons_block__card_inner {
    padding: 22px 14px;
    border-radius: 20px;
    gap: 16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .icons_block__card_inner:hover {
    transform: scale(1.1);
    z-index: 1;
    border-color: rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.22), 0 0 28px rgba(255, 255, 255, 0.28), 0 0 40px rgba(255, 255, 255, 0.18), 0 14px 36px rgba(255, 255, 255, 0.2);
  }
}
.icons_block__card_inner p {
  margin: 0;
}
.icons_block__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
}
.icons_block__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.icons_block__label {
  margin: 0;
  text-transform: uppercase;
  color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  .icons_block__card_inner {
    transition: none;
  }
  .icons_block__card_inner:hover {
    transform: none !important;
  }
}
/* --------------------------------------------------------------------------
   Block: References slider (Slick)
-------------------------------------------------------------------------- */
.references_slider_block {
  padding: 0 0 56px;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .references_slider_block {
    padding: 0 0 64px;
  }
}
@media only screen and (min-width: 1024px) {
  .references_slider_block {
    padding: 0 0 72px;
  }
}
.references_slider_block .wrap {
  position: relative;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  overflow: visible;
}
@media only screen and (min-width: 1220px) {
  .references_slider_block .wrap {
    padding-left: 10px;
    padding-right: 10px;
  }
}
.references_slider_block__strip {
  position: relative;
  width: 100%;
  overflow: visible;
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__strip {
    padding-left: 48px;
    padding-right: 48px;
  }
}
@media only screen and (min-width: 1024px) {
  .references_slider_block__strip {
    padding-left: 56px;
    padding-right: 56px;
  }
}
.references_slider_block__strip > .wrap {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 1220px) {
  .references_slider_block__strip > .wrap {
    padding-left: 0;
    padding-right: 0;
  }
}
.references_slider_block__slider {
  position: relative;
  width: 100%;
  max-width: 100%;
}
.references_slider_block__arrows {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 20;
  pointer-events: none;
}
.references_slider_block__arrows .slick-arrow {
  pointer-events: auto;
  top: 40%;
  transform: translateY(-50%);
}
.references_slider_block__arrows .slick-arrow.slick-prev, .references_slider_block__arrows .slick-arrow.slick-next {
  transform: translateY(-50%);
}
.references_slider_block__arrows .slick-arrow.slick-prev {
  left: 4px;
  right: auto;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__arrows .slick-arrow.slick-prev {
    left: 8px;
  }
}
.references_slider_block__arrows .slick-arrow.slick-next {
  left: auto;
  right: 4px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__arrows .slick-arrow.slick-next {
    right: 8px;
  }
}
.references_slider_block__heading {
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__heading {
    font-size: 48px !important;
  }
}
.references_slider_block__heading {
  margin: 0 0 20px !important;
  text-align: center;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__heading {
    margin: 0 0 50px !important;
  }
}
.references_slider_block__carousel {
  position: relative;
  margin: 0 0 36px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__carousel {
    margin-bottom: 44px;
  }
}
.references_slider_block__carousel .slick-list {
  overflow: hidden;
}
.references_slider_block__carousel .slick-slide {
  padding: 0 8px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__carousel .slick-slide {
    padding: 0 12px;
  }
}
.references_slider_block__card {
  height: 100%;
}
.references_slider_block__card_inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.references_slider_block__card_title {
  margin: 0 0 12px;
  font-size: 20px !important;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__card_title {
    font-size: 24px !important;
  }
}
.references_slider_block__card_title {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #000;
}
.references_slider_block__media {
  position: relative;
  border-radius: 30px;
  overflow: hidden;
  margin-bottom: 14px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__media {
    margin-bottom: 16px;
  }
}
.references_slider_block__media_link {
  display: block;
  position: relative;
  color: inherit;
  text-decoration: none;
}
.references_slider_block__media_link:focus-visible {
  outline: 2px solid #5BB74D;
  outline-offset: 2px;
}
.references_slider_block__img {
  display: block;
  width: 100%;
  aspect-ratio: 4.5/3;
  object-fit: cover;
}
.references_slider_block__badge {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 1;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.references_slider_block__body {
  flex: 1 1 auto;
  font-family: "AmsiPro", sans-serif;
  font-size: 15px;
  line-height: 1.45;
  color: #222;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__body {
    font-size: 16px;
  }
}
.references_slider_block__body > *:first-child {
  margin-top: 0;
}
.references_slider_block__body > *:last-child {
  margin-bottom: 0;
}
.references_slider_block__body p {
  margin: 0 0 8px;
  font-weight: 700;
}
.references_slider_block__body ul {
  margin: 0;
  padding: 0 0 0 1.1em;
  list-style: disc;
}
.references_slider_block__body ul li:before {
  color: #000;
}
.references_slider_block__body li {
  margin: 0 0 4px;
}
.references_slider_block__body a {
  color: #5BB74D;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.references_slider_block__body a:hover {
  text-decoration: none;
}
.references_slider_block__cta {
  text-align: center;
}
.references_slider_block__btn {
  font-size: 20px;
  border-radius: 999px;
}

.slider .single_slide .btn,
.about_us .btn,
.latest_project_btn_wrap .btn,
.left_right_image_btns .btn,
.references_new .btn,
.video_section .btn_wrap .btn,
.faqs_btn_wrap .btn {
  border-radius: 30px;
}

/* --------------------------------------------------------------------------
   Block: HVAC units — native sticky scroll scene
-------------------------------------------------------------------------- */
main.hvac-sticky-page {
  overflow: visible;
  overflow-x: clip;
}

main.l-page:has(.hvac_units) > .main_page_title .main_title {
  font-size: 32px;
  line-height: 1.1;
}
@media only screen and (min-width: 768px) {
  main.l-page:has(.hvac_units) > .main_page_title .main_title {
    font-size: 48px;
  }
}

.hvac_units {
  position: relative;
  left: 50%;
  width: 100vw;
  height: calc(100vh + var(--hvac-scroll, 0vh));
  height: calc(100svh + var(--hvac-scroll, 0vh));
  margin-left: -50vw;
  background: #d9ead1;
}
.hvac_units > .wrap {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  height: 100vh;
  height: 100svh;
  margin: 0 auto;
  padding: 48px 20px;
}
@media only screen and (min-width: 768px) {
  .hvac_units > .wrap {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}
.hvac_units__header {
  flex: 0 0 auto;
  max-width: 900px;
  margin: 0 auto 24px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .hvac_units__header {
    margin-bottom: 36px;
  }
}
.hvac_units__header h2 {
  font-weight: 700;
}
.hvac_units__title {
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .hvac_units__title {
    font-size: 48px !important;
  }
}
.hvac_units__title {
  margin: 0 !important;
  color: #075716;
  font-family: "AmsiPro", sans-serif;
  font-size: calc(22px + 12 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .hvac_units__title {
    font-size: 22px;
  }
}
@media screen and (min-width: 1400px) {
  .hvac_units__title {
    font-size: 34px;
  }
}
.hvac_units__title {
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}
.hvac_units__description {
  margin-top: 12px;
  color: #5BB74D;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .hvac_units__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .hvac_units__description {
    font-size: 24px;
  }
}
.hvac_units__description {
  font-weight: 400;
  line-height: 1.4;
}
.hvac_units__description > :first-child {
  margin-top: 0;
}
.hvac_units__description > :last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  .hvac_units__description {
    margin-top: 16px;
  }
}
.hvac_units__track {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
}
.hvac_units__sticky {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: 0;
  align-items: center;
}
.hvac_units__images, .hvac_units__features {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.hvac_units__image, .hvac_units__feature_group {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(20px);
  transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s;
}
.hvac_units__image.is-active, .hvac_units__feature_group.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.hvac_units__image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hvac_units__image img {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}
.hvac_units__feature_group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 144px));
  grid-auto-rows: minmax(0, 1fr);
  column-gap: clamp(30px, 2.5vw, 44px);
  align-content: stretch;
  justify-content: center;
  justify-items: center;
  padding: 0;
}
.hvac_units__feature {
  display: flex;
  grid-row: var(--hvac-row);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  box-sizing: border-box;
  width: clamp(104px, 8.4vw, 144px);
  aspect-ratio: 1;
  padding: 10px;
  border-radius: 18px;
  background: #005514;
  box-shadow: 0 0 24px rgba(0, 85, 20, 0.45), 0 12px 24px rgba(0, 65, 15, 0.28);
  color: #fff;
  text-align: center;
  opacity: 0;
  transform: translateY(24px) scale(0.9);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.hvac_units__feature.is-left {
  grid-column: 1;
}
.hvac_units__feature.is-right {
  grid-column: 2;
}
.hvac_units__feature.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.hvac_units__feature.has-no-icon .hvac_units__feature_title {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}
.hvac_units__feature_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(64%, 76px);
  aspect-ratio: 1;
  margin-bottom: 0;
}
.hvac_units__feature_svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.hvac_units__feature_svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.hvac_units__feature_graphic {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  fill: currentColor;
}
.hvac_units__feature_title {
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: inherit;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
@media only screen and (max-width: 767px) {
  .hvac_units > .wrap {
    padding: 32px 16px;
  }
  .hvac_units__header {
    margin-bottom: 18px;
  }
  .hvac_units__sticky {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 16px;
  }
  .hvac_units__image img {
    max-height: 100%;
  }
  .hvac_units__feature_group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
    padding: 0 6px;
  }
  .hvac_units__feature {
    width: clamp(76px, 24vw, 100px);
    padding: 7px;
    border-radius: 13px;
  }
  .hvac_units__feature_icon {
    width: min(62%, 56px);
    margin-bottom: 0;
  }
  .hvac_units__feature_title {
    font-size: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hvac_units__image,
  .hvac_units__feature_group,
  .hvac_units__feature {
    transition: none;
  }
}
/* --------------------------------------------------------------------------
   Block: Smart Dome Systems
-------------------------------------------------------------------------- */
.smart_dome_systems {
  position: relative;
  left: 50%;
  width: 100vw;
  min-height: 100vh;
  margin-top: -69px;
  margin-left: -50vw;
  padding: 109px 20px 56px;
  overflow-x: clip;
  background: #58585a;
  color: #fff;
}
@media (max-width: 639px) {
  .smart_dome_systems {
    min-height: auto;
    padding-right: 18px;
    padding-bottom: 48px;
    padding-left: 18px;
  }
}
@media only screen and (min-width: 768px) {
  .smart_dome_systems {
    margin-top: -110px;
    padding: 158px 30px 64px;
  }
}
@media only screen and (min-width: 1200px) {
  .smart_dome_systems {
    margin-top: -165px;
    padding-top: 213px;
  }
}
.smart_dome_systems__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.smart_dome_systems__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  /* Same size as the .membrane_systems__title hero heading. */
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  text-transform: uppercase;
}
@media (max-width: 639px) {
  .smart_dome_systems__title {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
@media only screen and (min-width: 768px) {
  .smart_dome_systems__title {
    font-size: 48px !important;
  }
}
.smart_dome_systems__visual {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
@media (max-width: 639px) {
  .smart_dome_systems__visual {
    margin: 24px 0 34px;
  }
}
.smart_dome_systems__visual_svg {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
}
.smart_dome_systems__metrics {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  gap: 28px;
  align-items: start;
}
@media (max-width: 639px) {
  .smart_dome_systems__metrics {
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.24);
  }
}
.smart_dome_systems__metrics {
  /* Same width as the (scaled-down) animation stage above, so the three
     metrics still line up under its left edge / center / right edge. */
}
@media only screen and (min-width: 640px) {
  .smart_dome_systems__metrics {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }
}
.smart_dome_systems__metric {
  text-align: center;
}
@media (max-width: 639px) {
  .smart_dome_systems__metric {
    display: block;
    min-height: 0;
    padding: 24px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
    text-align: center;
  }
}
@media only screen and (min-width: 640px) {
  .smart_dome_systems__metric {
    width: max-content;
    max-width: 100%;
  }
  .smart_dome_systems__metric:first-child {
    justify-self: start;
  }
  .smart_dome_systems__metric:nth-child(2) {
    justify-self: center;
  }
  .smart_dome_systems__metric:last-child {
    justify-self: end;
  }
}
.smart_dome_systems__highlight {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 52px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media only screen and (min-width: 640px) {
  .smart_dome_systems__highlight {
    font-size: 56px;
  }
}
@media only screen and (min-width: 1200px) {
  .smart_dome_systems__highlight {
    font-size: 84px;
  }
}
@media (max-width: 639px) {
  .smart_dome_systems__highlight {
    margin-bottom: 8px;
    white-space: nowrap;
  }
}
.smart_dome_systems__functionality {
  display: block;
  width: 100%;
  color: #5BB74D;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
  text-transform: uppercase;
}
@media (max-width: 639px) {
  .smart_dome_systems__functionality {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
  }
}
@media only screen and (min-width: 640px) {
  .smart_dome_systems__functionality {
    font-size: 18px;
  }
}
@media only screen and (min-width: 1200px) {
  .smart_dome_systems__functionality {
    font-size: 26px;
  }
}
.smart_dome_systems__description {
  width: 100%;
  max-width: none;
  margin: 28px auto 0;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .smart_dome_systems__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .smart_dome_systems__description {
    font-size: 24px;
  }
}
.smart_dome_systems__description {
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}
@media (max-width: 639px) {
  .smart_dome_systems__description {
    margin-top: 30px;
    line-height: 1.55;
    text-align: left;
  }
}
@media only screen and (min-width: 768px) {
  .smart_dome_systems__description {
    margin-top: 34px;
  }
}
.smart_dome_systems__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

body.has-smart-dome-systems main.l-page > .main_page_title,
body.has-smart-dome-systems main.l-page > .main_title_flex {
  display: none;
}

/* --------------------------------------------------------------------------
   Smart Dome Systems — SVG overlay animation
   Coordinates are mapped to the base SVG viewBox: 0 105 841.9 355.
-------------------------------------------------------------------------- */
.smart_dome_systems__visual {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}
.smart_dome_systems__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 841.9/355;
  isolation: isolate;
}
@media only screen and (min-width: 640px) {
  .smart_dome_systems__stage {
    max-width: 960px;
    margin: 0 auto;
  }
}
.smart_dome_systems__visual_svg, .smart_dome_systems__base {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
  user-select: none;
}
.smart_dome_systems__overlay {
  position: absolute;
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  user-select: none;
}
.smart_dome_systems__wifi {
  top: 39.44%;
  left: 49.41%;
  z-index: 5;
  width: 3.72%;
  overflow: visible;
  fill: #509c44;
}
.smart_dome_systems__wifi_wave {
  opacity: 0;
}
.smart_dome_systems__wifi_dot {
  fill: #509c44;
}
.smart_dome_systems__light_glow {
  top: 60.59%;
  left: 23.34%;
  z-index: 3;
  width: 5.35%;
  opacity: 0;
  transform: scaleY(0.28);
  transform-origin: 50% 0;
}
.smart_dome_systems__arrow {
  z-index: 5;
}
.smart_dome_systems__arrow--light {
  top: 55.8%;
  left: 29.1%;
  width: 17.26%;
  clip-path: inset(0 0 0 100%);
}
.smart_dome_systems__arrow--temperature {
  top: 72.17%;
  left: 40.5%;
  width: 5.43%;
  clip-path: inset(0 0 0 100%);
}
.smart_dome_systems__temperature_bar {
  top: 69.97%;
  left: 37.19%;
  z-index: 6;
  width: 0.24%;
  transform: translateX(-50%) scaleY(0);
  transform-origin: 50% 100%;
}
.smart_dome_systems__arrow--ventilation {
  top: 72.17%;
  left: 56.54%;
  width: 8.2%;
  clip-path: inset(0 100% 0 0);
}
.smart_dome_systems__fan_mask {
  position: absolute;
  top: 68.79%;
  left: 65.93%;
  z-index: 2;
  display: block;
  width: 3.21%;
  aspect-ratio: 1;
  background: #fff;
  pointer-events: none;
}
.smart_dome_systems__fan {
  top: 69.92%;
  left: 66.41%;
  z-index: 3;
  width: 2.24%;
  transform: rotate(0);
  transform-origin: 50.26% 50.26%;
}
.smart_dome_systems__button_on {
  z-index: 7;
  width: 1.88%;
  overflow: visible;
  opacity: 1;
}
.smart_dome_systems__button_track {
  fill: #509c44;
  opacity: 0;
}
.smart_dome_systems__button_knob {
  fill: #fff;
  transform: translateX(0);
  transform-box: view-box;
  transform-origin: 0 0;
}
.smart_dome_systems__button_on--light {
  top: 64.37%;
  left: 52.87%;
}
.smart_dome_systems__button_on--temperature {
  top: 72.17%;
  left: 52.84%;
}
.smart_dome_systems__button_on--ventilation {
  top: 79.83%;
  left: 52.88%;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__wifi_wave--inner {
  animation: smart-dome-wifi-inner 3.4s steps(1, end) infinite;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__wifi_wave--middle {
  animation: smart-dome-wifi-middle 3.4s steps(1, end) infinite;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__wifi_wave--outer {
  animation: smart-dome-wifi-outer 3.4s steps(1, end) infinite;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--light .smart_dome_systems__button_track {
  animation: smart-dome-button-track 0.65s ease 0.8s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--light .smart_dome_systems__button_knob {
  animation: smart-dome-button-knob 0.78s cubic-bezier(0.22, 0.7, 0.22, 1) 0.8s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__arrow--light {
  animation: smart-dome-arrow-rtl 1.4s ease-in-out 1.1s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__light_glow {
  animation: smart-dome-light-on 0.9s ease-out 2.1s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--temperature .smart_dome_systems__button_track {
  animation: smart-dome-button-track 0.65s ease 3.8s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--temperature .smart_dome_systems__button_knob {
  animation: smart-dome-button-knob 0.78s cubic-bezier(0.22, 0.7, 0.22, 1) 3.8s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__arrow--temperature {
  animation: smart-dome-arrow-rtl 1.1s ease-in-out 4.1s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__temperature_bar {
  animation: smart-dome-temperature-rise 1.8s ease-in-out 4.8s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--ventilation .smart_dome_systems__button_track {
  animation: smart-dome-button-track 0.65s ease 7.3s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__button_on--ventilation .smart_dome_systems__button_knob {
  animation: smart-dome-button-knob 0.78s cubic-bezier(0.22, 0.7, 0.22, 1) 7.3s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__arrow--ventilation {
  animation: smart-dome-arrow-ltr 1.3s ease-in-out 7.6s forwards;
}
.smart_dome_systems__stage.is-animating .smart_dome_systems__fan {
  animation: smart-dome-fan-spin 1.15s linear 8.5s infinite;
}

@keyframes smart-dome-wifi-inner {
  0%, 11%, 89%, 100% {
    opacity: 0;
  }
  12%, 88% {
    opacity: 1;
  }
}
@keyframes smart-dome-wifi-middle {
  0%, 26%, 74%, 100% {
    opacity: 0;
  }
  27%, 73% {
    opacity: 1;
  }
}
@keyframes smart-dome-wifi-outer {
  0%, 41%, 59%, 100% {
    opacity: 0;
  }
  42%, 58% {
    opacity: 1;
  }
}
@keyframes smart-dome-button-track {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes smart-dome-button-knob {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(45.57%);
  }
}
@keyframes smart-dome-arrow-rtl {
  from {
    clip-path: inset(0 0 0 100%);
  }
  to {
    clip-path: inset(0);
  }
}
@keyframes smart-dome-arrow-ltr {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0);
  }
}
@keyframes smart-dome-light-on {
  from {
    opacity: 0;
    transform: scaleY(0.28);
  }
  to {
    opacity: 1;
    transform: scaleY(1);
  }
}
@keyframes smart-dome-temperature-rise {
  from {
    transform: translateX(-50%) scaleY(0);
  }
  to {
    transform: translateX(-50%) scaleY(1);
  }
}
@keyframes smart-dome-fan-spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 639px) {
  .smart_dome_systems__visual {
    position: relative;
    left: 50%;
    width: calc(100% + 260px);
    transform: translateX(-50%);
  }
  .smart_dome_systems__stage {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .smart_dome_systems__wifi {
    animation: none !important;
  }
  .smart_dome_systems__wifi_wave {
    opacity: 1;
    animation: none !important;
  }
  .smart_dome_systems__light_glow, .smart_dome_systems__button_on {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
  .smart_dome_systems__button_track {
    opacity: 1;
    animation: none !important;
  }
  .smart_dome_systems__button_knob {
    transform: translateX(45.57%);
    animation: none !important;
  }
  .smart_dome_systems__arrow {
    clip-path: inset(0);
    animation: none !important;
  }
  .smart_dome_systems__temperature_bar {
    transform: translateX(-50%) scaleY(1);
    animation: none !important;
  }
  .smart_dome_systems__fan {
    transform: rotate(0);
    animation: none !important;
  }
}
/* --------------------------------------------------------------------------
   Block: Core capabilities
-------------------------------------------------------------------------- */
.core_capabilities {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 64px 20px 72px;
  overflow-x: clip;
  background: #c9e1c1;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .core_capabilities {
    padding: 84px 30px 96px;
  }
}
.core_capabilities__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.core_capabilities__header {
  margin-bottom: 48px;
}
@media only screen and (min-width: 768px) {
  .core_capabilities__header {
    margin-bottom: 64px;
  }
}
.core_capabilities__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .core_capabilities__super_title {
    font-size: 30px !important;
  }
}
.core_capabilities__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.core_capabilities__title {
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .core_capabilities__title {
    font-size: 48px !important;
  }
}
.core_capabilities__description {
  margin-top: 42px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .core_capabilities__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .core_capabilities__description {
    font-size: 24px;
  }
}
.core_capabilities__description {
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  .core_capabilities__description {
    margin-top: 54px;
  }
}
.core_capabilities__description p {
  margin: 0 !important;
  color: inherit;
  font-family: inherit !important;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.core_capabilities__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media only screen and (min-width: 800px) {
  .core_capabilities__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 24px;
  }
}
.core_capabilities__card {
  display: flex;
  align-items: center;
  min-height: 160px;
  padding: 24px 28px;
  border-radius: 18px;
  background: #004206;
  box-shadow: 0 8px 20px rgba(0, 66, 6, 0.28);
  color: #fff;
}
@media only screen and (min-width: 800px) {
  .core_capabilities__card:nth-child(even) .core_capabilities__icon {
    order: 2;
    margin-right: 0;
    margin-left: 26px;
  }
}
.core_capabilities__icon {
  flex: 0 0 118px;
  width: 118px;
  margin-right: 26px;
  color: #fff;
}
.core_capabilities__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.core_capabilities__svg path,
.core_capabilities__svg rect,
.core_capabilities__svg circle,
.core_capabilities__svg line,
.core_capabilities__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.core_capabilities__graphic {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  color: #fff;
}
.core_capabilities__card_content {
  flex: 1 1 auto;
  min-width: 0;
}
.core_capabilities__card_title {
  margin: 0 0 16px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  /* Fluid 16–24px, never smaller than the card text below it (16–20px),
     so the title is never smaller than its description. */
  font-size: clamp(16px, calc(16px + 8 * ((100vw - 420px) / 980)), 24px) !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.core_capabilities__card_description {
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .core_capabilities__card_description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .core_capabilities__card_description {
    font-size: 24px;
  }
}
.core_capabilities__card_description {
  font-weight: 400;
  font-size: calc(16px + 4 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .core_capabilities__card_description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .core_capabilities__card_description {
    font-size: 20px;
  }
}
.core_capabilities__card_description {
  line-height: 1.35;
}
.core_capabilities__card_description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: 400 !important;
  line-height: inherit;
}
@media only screen and (max-width: 599px) {
  .core_capabilities__card {
    align-items: flex-start;
    padding: 22px 20px;
  }
  .core_capabilities__icon {
    flex-basis: 82px;
    width: 82px;
    margin-right: 18px;
  }
}

/* --------------------------------------------------------------------------
   Block: Remote control center
-------------------------------------------------------------------------- */
.remote_control_center {
  --remote-page-gutter: max(20px, calc((100vw - 1600px) / 2));
  --remote-content-offset: 0px;
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px;
  overflow: hidden;
  background: #fff;
  color: #242424;
}
@media only screen and (min-width: 768px) {
  .remote_control_center {
    --remote-page-gutter: max(30px, calc((100vw - 1600px) / 2));
    padding: 106px 30px 110px;
  }
}
@media only screen and (min-width: 900px) {
  .remote_control_center {
    --remote-content-offset: 60px;
  }
}
.remote_control_center__inner {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 900px) {
  .remote_control_center__inner {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
    grid-template-rows: auto 1fr;
    column-gap: clamp(40px, 6vw, 100px);
    align-items: start;
  }
}
.remote_control_center__content {
  grid-column: 1;
  grid-row: 1;
  padding-left: var(--remote-content-offset);
}
.remote_control_center__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .remote_control_center__super_title {
    font-size: 30px !important;
  }
}
.remote_control_center__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.remote_control_center__title {
  max-width: 720px;
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .remote_control_center__title {
    font-size: 48px !important;
  }
}
.remote_control_center__title {
  line-height: 1.08;
  text-transform: uppercase;
}
.remote_control_center__description {
  max-width: 820px;
  margin-top: 42px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .remote_control_center__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .remote_control_center__description {
    font-size: 24px;
  }
}
.remote_control_center__description {
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  .remote_control_center__description {
    margin-top: 54px;
  }
}
.remote_control_center__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.remote_control_center__media {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 40px auto 0;
}
@media only screen and (min-width: 900px) {
  .remote_control_center__media {
    grid-column: 2;
    grid-row: 1/span 2;
    width: calc(100% + var(--remote-page-gutter));
    margin: -40px calc(-1 * var(--remote-page-gutter)) 0 0;
    justify-content: flex-end;
    justify-self: end;
  }
}
.remote_control_center__image {
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
  object-fit: contain;
}
.remote_control_center__features {
  grid-column: 1;
  grid-row: 2;
  margin-top: 38px;
  margin-left: calc(-1 * var(--remote-page-gutter));
  padding: 36px 28px 36px calc(var(--remote-page-gutter) + var(--remote-content-offset));
  border-radius: 0 20px 20px 0;
  background: #f0eeee;
}
@media only screen and (min-width: 768px) {
  .remote_control_center__features {
    margin-top: 48px;
    padding: 44px 42px 48px calc(var(--remote-page-gutter) + var(--remote-content-offset));
  }
}
.remote_control_center__list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.remote_control_center__item {
  position: relative;
  margin: 0 0 20px !important;
  padding: 0 0 0 16px !important;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .remote_control_center__item {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .remote_control_center__item {
    font-size: 24px;
  }
}
.remote_control_center__item {
  font-weight: 400;
  /* Same fluid 16–24px as block_description_font() (and so the same as the
     Core capabilities texts), just forced over the global list-item size. */
  font-size: clamp(16px, calc(16px + 8 * ((100vw - 420px) / 980)), 24px) !important;
  line-height: 1.3;
  list-style: none;
}
.remote_control_center__item:last-child {
  margin-bottom: 0 !important;
}
.remote_control_center__item:before {
  content: "" !important;
  position: absolute;
  top: 50% !important;
  left: 0;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  margin: 0 !important;
  border-radius: 50%;
  background: #509d30;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: translateY(-50%) !important;
}
.remote_control_center__highlight {
  margin-right: 5px;
  color: #509d30;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   Block: Total Dome Command
-------------------------------------------------------------------------- */
.total_dome_command {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px 80px;
  overflow-x: clip;
  background: #58585a;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .total_dome_command {
    padding: 106px 30px 110px;
  }
}
.total_dome_command__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.total_dome_command__header {
  max-width: 1100px;
  margin-bottom: 48px;
}
@media only screen and (min-width: 768px) {
  .total_dome_command__header {
    margin-bottom: 64px;
  }
}
.total_dome_command__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .total_dome_command__super_title {
    font-size: 30px !important;
  }
}
.total_dome_command__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.total_dome_command__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .total_dome_command__title {
    font-size: 48px !important;
  }
}
.total_dome_command__description {
  max-width: 900px;
  margin-top: 42px;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .total_dome_command__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .total_dome_command__description {
    font-size: 24px;
  }
}
.total_dome_command__description {
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  .total_dome_command__description {
    margin-top: 54px;
  }
}
.total_dome_command__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.total_dome_command__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media only screen and (min-width: 768px) {
  .total_dome_command__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }
}
.total_dome_command__media {
  min-width: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #313133;
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.58), 0 0 28px rgba(255, 255, 255, 0.42), 0 0 46px rgba(0, 0, 0, 0.34);
}
.total_dome_command__image {
  display: block;
  width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------------
   Block: Real-time monitoring
-------------------------------------------------------------------------- */
.real_time_monitoring {
  --monitoring-gutter: max(20px, calc((100vw - 1600px) / 2));
  --monitoring-gap: clamp(34px, 6vw, 110px);
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px 80px;
  overflow-x: clip;
  background: #c9e1c1;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .real_time_monitoring {
    --monitoring-gutter: max(30px, calc((100vw - 1600px) / 2));
    padding: 90px 0 110px;
  }
}
.real_time_monitoring__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  width: 100%;
}
.real_time_monitoring__header {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 16px;
}
@media only screen and (min-width: 900px) {
  .real_time_monitoring__header {
    grid-column: 2;
    grid-row: 1;
    max-width: none;
    margin: 0;
    padding: 0 var(--monitoring-gutter) 0 calc(var(--monitoring-gap) / 2);
  }
}
.real_time_monitoring__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .real_time_monitoring__super_title {
    font-size: 30px !important;
  }
}
.real_time_monitoring__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.real_time_monitoring__title {
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .real_time_monitoring__title {
    font-size: 48px !important;
  }
}
.real_time_monitoring__column {
  display: grid;
  gap: 28px;
  min-width: 0;
}
@media only screen and (min-width: 900px) {
  .real_time_monitoring__column {
    gap: 40px;
  }
}
.real_time_monitoring__card {
  display: flex;
  align-items: center;
  min-height: 190px;
  padding: 28px;
  border-radius: 18px;
  background: #004206;
  box-shadow: 0 8px 22px rgba(0, 66, 6, 0.32);
  color: #fff;
}
.real_time_monitoring__column--left .real_time_monitoring__icon {
  order: 2;
  margin-right: 0;
  margin-left: 30px;
}
.real_time_monitoring__icon {
  flex: 0 0 120px;
  width: 120px;
  margin-right: 30px;
  color: #fff;
}
.real_time_monitoring__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.real_time_monitoring__svg path,
.real_time_monitoring__svg rect,
.real_time_monitoring__svg circle,
.real_time_monitoring__svg line,
.real_time_monitoring__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.real_time_monitoring__svg .real_time_monitoring__svg_fill {
  fill: currentColor;
  stroke: none;
}
.real_time_monitoring__graphic {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  color: #fff;
  fill: currentColor;
}
.real_time_monitoring__card_content {
  flex: 1 1 auto;
  min-width: 0;
}
.real_time_monitoring__card_title {
  margin: 0 0 16px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.real_time_monitoring__card_description {
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .real_time_monitoring__card_description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .real_time_monitoring__card_description {
    font-size: 24px;
  }
}
.real_time_monitoring__card_description {
  font-weight: 400;
  line-height: 1.35;
}
.real_time_monitoring__card_description p {
  margin: 0 !important;
  color: inherit;
  font-weight: 400 !important;
  line-height: inherit;
}
@media only screen and (min-width: 900px) {
  .real_time_monitoring__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: var(--monitoring-gap);
    row-gap: 34px;
  }
  .real_time_monitoring__column {
    align-self: start;
    align-content: start;
    grid-auto-rows: minmax(210px, auto);
  }
  .real_time_monitoring__column--left {
    grid-column: 1;
    grid-row: 1/span 2;
  }
  .real_time_monitoring__column--left .real_time_monitoring__card {
    padding-left: var(--monitoring-gutter);
    border-radius: 0 18px 18px 0;
  }
  .real_time_monitoring__column--right {
    grid-column: 2;
    grid-row: 2;
  }
  .real_time_monitoring__column--right .real_time_monitoring__card {
    padding-right: var(--monitoring-gutter);
    border-radius: 18px 0 0 18px;
  }
  .real_time_monitoring__card {
    width: 100%;
    min-height: 210px;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 899px) {
  .real_time_monitoring__header {
    padding: 0;
  }
  .real_time_monitoring__column--left .real_time_monitoring__icon, .real_time_monitoring__column--right .real_time_monitoring__icon {
    order: 0;
    margin-right: 22px;
    margin-left: 0;
  }
}
@media only screen and (max-width: 599px) {
  .real_time_monitoring__card {
    align-items: flex-start;
    min-height: 0;
    padding: 24px 20px;
  }
  .real_time_monitoring__icon {
    flex-basis: 82px;
    width: 82px;
  }
  .real_time_monitoring__card_title {
    font-size: 17px !important;
  }
}

/* --------------------------------------------------------------------------
   Block: Proactive intelligence — native sticky notification sequence
-------------------------------------------------------------------------- */
main.proactive-sticky-page {
  overflow: visible;
  overflow-x: clip;
}

.proactive_intelligence {
  position: relative;
  left: 50%;
  width: 100vw;
  height: calc(100vh + var(--proactive-scroll, 0vh));
  height: calc(100svh + var(--proactive-scroll, 0vh));
  margin-left: -50vw;
  background: #f3f1f1;
  color: #000;
}
.proactive_intelligence__viewport {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  height: 100vh;
  height: 100svh;
  margin: 0 auto;
  padding: 48px 20px;
}
@media only screen and (min-width: 768px) {
  .proactive_intelligence__viewport {
    padding: 64px 30px;
  }
}
.proactive_intelligence__header {
  flex: 0 0 auto;
  margin: 0 auto 34px;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .proactive_intelligence__header {
    margin-bottom: 52px;
  }
}
.proactive_intelligence__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .proactive_intelligence__super_title {
    font-size: 30px !important;
  }
}
.proactive_intelligence__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.proactive_intelligence__title {
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .proactive_intelligence__title {
    font-size: 48px !important;
  }
}
.proactive_intelligence__list {
  display: grid;
  --proactive-gap: clamp(10px, 1.7vh, 20px);
  grid-template-rows: repeat(var(--proactive-count), minmax(0, 1fr));
  flex: 1 1 auto;
  gap: var(--proactive-gap);
  width: min(100%, 1260px);
  min-height: 0;
  margin: 0 auto;
}
.proactive_intelligence__item {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  min-height: 0;
  padding: 14px 28px;
  border-radius: 18px;
  background: #909092;
  box-shadow: 0 0 18px rgba(75, 75, 75, 0.26), 0 8px 20px rgba(0, 0, 0, 0.2);
  color: #fff;
  /* Notification stack (see proactive-intelligence.js): every item is
     shifted up by --proactive-offset rows (= items still hidden), so the
     visible ones fill the top rows. When the next one is revealed the
     offset drops by one: it slides into the top row from just above while
     fading in, and all the ones already shown slide down one row. */
  --proactive-shift: calc(var(--proactive-offset, 0) * -1 * (100% + var(--proactive-gap)));
  opacity: 0;
  visibility: hidden;
  transform: translateY(var(--proactive-shift)) scale(0.94);
  transition: opacity 0.48s ease, transform 0.6s cubic-bezier(0.22, 0.7, 0.25, 1), visibility 0.48s;
}
.proactive_intelligence__item.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(var(--proactive-shift)) scale(1);
}
.proactive_intelligence__icon {
  display: flex;
  flex: 0 0 clamp(58px, 5vw, 86px);
  align-items: center;
  justify-content: center;
  width: clamp(58px, 5vw, 86px);
  height: 100%;
  max-height: 82px;
  margin-right: 24px;
  color: #fff;
}
.proactive_intelligence__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.proactive_intelligence__svg path,
.proactive_intelligence__svg rect,
.proactive_intelligence__svg circle,
.proactive_intelligence__svg line,
.proactive_intelligence__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.proactive_intelligence__svg .proactive_intelligence__svg_fill {
  fill: currentColor;
  stroke: none;
}
.proactive_intelligence__graphic {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  color: #fff;
  fill: currentColor;
}
.proactive_intelligence__content {
  flex: 1 1 auto;
  min-width: 0;
}
.proactive_intelligence__item_title {
  margin: 0 0 5px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
}
.proactive_intelligence__description {
  color: #eeeeef;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .proactive_intelligence__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .proactive_intelligence__description {
    font-size: 24px;
  }
}
.proactive_intelligence__description {
  font-weight: 400;
  line-height: 1.3;
}
.proactive_intelligence__description p {
  margin: 0 !important;
  color: inherit;
  line-height: inherit;
}
.proactive_intelligence__time {
  flex: 0 0 auto;
  align-self: flex-start;
  margin-left: 30px;
  padding-top: 4px;
  color: #dedede;
  font-size: 17px;
  line-height: 1.2;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .proactive_intelligence__viewport {
    padding: 32px 16px;
  }
  .proactive_intelligence__header {
    margin-bottom: 22px;
  }
  .proactive_intelligence__item {
    padding: 10px 14px;
    border-radius: 13px;
  }
  .proactive_intelligence__icon {
    flex-basis: 48px;
    width: 48px;
    margin-right: 12px;
  }
  .proactive_intelligence__item_title {
    margin-bottom: 3px !important;
    font-size: 15px !important;
  }
  .proactive_intelligence__description {
    font-size: 12px;
  }
  .proactive_intelligence__time {
    margin-left: 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .proactive_intelligence__item {
    transition: none;
  }
}
/* --------------------------------------------------------------------------
   Block: Smart CTA
-------------------------------------------------------------------------- */
.smart_cta {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 88px 20px;
  overflow-x: clip;
  background: #58585a;
  color: #c9e1c1;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .smart_cta {
    padding: 120px 30px 110px;
  }
}
.smart_cta__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.smart_cta__title {
  margin: 0 !important;
  color: #c9e1c1;
  font-family: "AmsiPro", sans-serif;
  font-size: clamp(64px, 8.5vw, 130px) !important;
  font-weight: 700 !important;
  line-height: 1.06;
  text-transform: uppercase;
}
.smart_cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  height: 48px;
  margin-top: 52px;
  padding: 0 32px;
  border-radius: 999px;
  background: #242122;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.smart_cta__button span {
  display: block;
  transform: translateY(-2px);
}
.smart_cta__button:hover, .smart_cta__button:focus-visible {
  background: #004206;
  color: #fff !important;
  transform: translateY(-2px);
}
@media only screen and (max-width: 599px) {
  .smart_cta__button {
    min-width: 170px;
    margin-top: 36px;
    font-size: 16px;
  }
}

/* --------------------------------------------------------------------------
   Block: Wooden halls
-------------------------------------------------------------------------- */
.wooden_halls {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-bottom: 130px;
  background: #f0f5ed;
  color: #1f1f1f;
}
.wooden_halls__background {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.wooden_halls__background::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(245, 248, 242) 0%, rgba(245, 248, 242, 0.99) 28%, rgba(245, 248, 242, 0.88) 38%, rgba(245, 248, 242, 0.56) 50%, rgba(245, 248, 242, 0.18) 62%, rgba(245, 248, 242, 0) 76%);
}
.wooden_halls__background_image {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 82%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.wooden_halls__inner {
  position: relative;
  z-index: 1;
  width: calc(100% - 40px);
  max-width: 1600px;
  min-height: 700px;
  margin: 0 auto;
  padding: 74px 0 120px;
}
.wooden_halls__header {
  width: min(100%, 600px);
}
.wooden_halls__title {
  margin: 0 !important;
  color: #1f1f1f;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .wooden_halls__title {
    font-size: 48px !important;
  }
}
.wooden_halls__title {
  font-weight: 700 !important;
  line-height: 1.05;
  text-transform: uppercase;
}
.wooden_halls__description {
  max-width: 420px;
  margin-top: 32px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .wooden_halls__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .wooden_halls__description {
    font-size: 24px;
  }
}
.wooden_halls__description {
  font-weight: 400;
  line-height: 1.4;
}
.wooden_halls__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: 400 !important;
  line-height: inherit;
}
.wooden_halls__features {
  display: grid;
  gap: 16px;
  width: min(100%, 410px);
  margin-top: 100px;
}
.wooden_halls__feature {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #004206;
}
.wooden_halls__feature_icon {
  display: flex;
  flex: 0 0 42px;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 8px;
  border-radius: 50%;
  background: #c9e1c1;
  color: #004206;
  box-shadow: 0 4px 10px rgba(0, 66, 6, 0.16);
}
.wooden_halls__feature_description {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
}
.wooden_halls__systems {
  position: absolute;
  right: 0;
  bottom: -68px;
  left: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
  width: min(100%, 940px);
  margin: 0 auto;
}
.wooden_halls__system {
  display: flex;
  aspect-ratio: 1/1;
  min-width: 0;
  margin: 0;
  padding: 22px 14px 18px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 18px;
  background: #004206;
  box-shadow: none;
  color: #fff;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.wooden_halls__system--linked {
  cursor: pointer;
}
.wooden_halls__system--linked:hover, .wooden_halls__system--linked:focus-visible {
  background: #07580d;
  box-shadow: 0 12px 28px rgba(0, 66, 6, 0.35);
  color: #fff;
  transform: translateY(-7px);
}
.wooden_halls__system--linked:focus-visible {
  outline: 3px solid #509d30;
  outline-offset: 4px;
}
.wooden_halls__system_icon {
  width: 72px;
  height: 72px;
  margin-bottom: 10px;
  color: #fff;
}
.wooden_halls__system_name {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.15;
  text-transform: uppercase;
}
.wooden_halls__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.wooden_halls__svg path,
.wooden_halls__svg rect,
.wooden_halls__svg circle,
.wooden_halls__svg line,
.wooden_halls__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wooden_halls__svg .wooden_halls__svg_fill {
  fill: currentColor;
  stroke: none;
}
.wooden_halls__svg--filled path,
.wooden_halls__svg--filled circle,
.wooden_halls__svg--filled rect {
  fill: currentColor;
  stroke: none;
}
@media only screen and (max-width: 899px) {
  .wooden_halls {
    margin-bottom: 0;
  }
  .wooden_halls__background_image {
    right: 0;
    width: 100%;
    max-width: 100%;
    opacity: 0.4;
  }
  .wooden_halls__background::after {
    background: rgba(245, 248, 242, 0.78);
  }
  .wooden_halls__inner {
    min-height: 0;
    padding: 60px 0;
  }
  .wooden_halls__features {
    margin-top: 60px;
  }
  .wooden_halls__systems {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin-top: 60px;
  }
}
@media only screen and (max-width: 479px) {
  .wooden_halls__systems {
    gap: 14px;
  }
  .wooden_halls__system {
    padding: 18px 10px 14px;
  }
  .wooden_halls__system_icon {
    width: 58px;
    height: 58px;
  }
  .wooden_halls__system_name {
    font-size: 13px !important;
  }
}

body.has-wooden-halls main.l-page > .main_page_title,
body.has-wooden-halls main.l-page > .main_title_flex {
  display: none;
}

/* --------------------------------------------------------------------------
   Block: Wooden halls sports
-------------------------------------------------------------------------- */
.wooden_halls_sports {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  overflow: hidden;
  background: #fff;
  color: #1f1f1f;
}
.wooden_halls_sports__inner {
  display: grid;
  grid-template-columns: 1fr;
  width: calc(100% - 40px);
  max-width: 1600px;
  margin: 0 auto;
}
.wooden_halls_sports__content, .wooden_halls_sports__showcase {
  position: relative;
  padding: 64px 0;
}
.wooden_halls_sports__content {
  z-index: 1;
}
.wooden_halls_sports__content::before {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  bottom: 0;
  left: -50vw;
  z-index: -1;
  border-radius: 0 22px 22px 0;
  background: #ecebea;
}
.wooden_halls_sports__title, .wooden_halls_sports__slider_title {
  margin: 0 !important;
  color: #111;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .wooden_halls_sports__title, .wooden_halls_sports__slider_title {
    font-size: 48px !important;
  }
}
.wooden_halls_sports__title, .wooden_halls_sports__slider_title {
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
.wooden_halls_sports__description {
  max-width: 620px;
  margin-top: 44px;
  color: #4a4a4a;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .wooden_halls_sports__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .wooden_halls_sports__description {
    font-size: 24px;
  }
}
.wooden_halls_sports__description {
  font-weight: 400;
  line-height: 1.38;
}
.wooden_halls_sports__description p {
  margin: 0 0 24px !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.wooden_halls_sports__description p:last-child {
  margin-bottom: 0 !important;
}
.wooden_halls_sports__description strong {
  color: #509d30;
  font-weight: 700;
}
.wooden_halls_sports__showcase {
  text-align: center;
}
.wooden_halls_sports__slider_title {
  text-align: center;
}
.wooden_halls_sports__slider {
  margin-top: 16px;
}
.wooden_halls_sports__controls {
  display: grid;
  grid-template-columns: 44px minmax(110px, 160px) 44px;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.wooden_halls_sports__arrow {
  display: flex;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #509d30;
  cursor: pointer;
  transition: transform 0.25s ease, opacity 0.25s ease;
}
.wooden_halls_sports__arrow span {
  display: block;
  width: 13px;
  height: 13px;
  border-top: 4px solid currentColor;
  border-right: 4px solid currentColor;
}
.wooden_halls_sports__arrow--prev span {
  transform: rotate(-135deg);
}
.wooden_halls_sports__arrow--next span {
  transform: rotate(45deg);
}
.wooden_halls_sports__arrow:hover {
  transform: scale(1.12);
}
.wooden_halls_sports__arrow:focus-visible {
  outline: 2px solid #509d30;
  outline-offset: 2px;
}
.wooden_halls_sports__names {
  display: grid;
  align-items: center;
  min-height: 30px;
}
.wooden_halls_sports__name {
  grid-area: 1/1;
  opacity: 0;
  color: #111;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  transform: translateY(7px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
}
.wooden_halls_sports__name.is-active {
  opacity: 1;
  transform: translateY(0);
}
.wooden_halls_sports__slides {
  display: grid;
  align-items: center;
  min-height: 330px;
  margin-top: 14px;
}
.wooden_halls_sports__slide {
  grid-area: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
}
.wooden_halls_sports__slide.is-active {
  z-index: 1;
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}
.wooden_halls_sports__image {
  display: block;
  width: 100%;
  max-width: 680px;
  height: 330px;
  object-fit: cover;
  object-position: center;
}
.wooden_halls_sports__download {
  display: block;
  width: 100%;
  max-width: 680px;
  margin: 8px auto 0;
  color: #509d30;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  text-align: right;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.25s ease, opacity 0.25s ease;
}
.wooden_halls_sports__download:hover {
  color: #3d8125;
}
.wooden_halls_sports__download:focus-visible {
  outline: 2px solid #509d30;
  outline-offset: 4px;
}
.wooden_halls_sports__download[hidden] {
  display: none;
}
@media only screen and (min-width: 900px) {
  .wooden_halls_sports__inner {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    column-gap: clamp(60px, 7vw, 130px);
  }
  .wooden_halls_sports__content {
    align-self: start;
    min-height: 0;
    padding-top: 54px;
    padding-bottom: 54px;
  }
  .wooden_halls_sports__showcase {
    min-height: 620px;
    padding-top: 54px;
    padding-bottom: 78px;
  }
  .wooden_halls_sports__content {
    padding-right: clamp(34px, 4vw, 72px);
  }
  .wooden_halls_sports__content::before {
    right: 0;
  }
  .wooden_halls_sports__showcase {
    padding-left: 0;
  }
  .wooden_halls_sports__description {
    margin-top: 58px;
  }
}
@media only screen and (max-width: 899px) {
  .wooden_halls_sports__content::before {
    right: -50vw;
    border-radius: 0;
  }
  .wooden_halls_sports__showcase {
    padding-top: 58px;
  }
}
@media only screen and (max-width: 479px) {
  .wooden_halls_sports__controls {
    grid-template-columns: 38px minmax(100px, 1fr) 38px;
    gap: 10px;
  }
  .wooden_halls_sports__slides {
    min-height: 280px;
  }
  .wooden_halls_sports__image {
    height: 280px;
  }
}

/* --------------------------------------------------------------------------
   Block: Wooden halls advantages
-------------------------------------------------------------------------- */
.wooden_halls_advantages {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 78px 20px 86px;
  background: #c9e1c1;
  color: #004206;
}
.wooden_halls_advantages__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.wooden_halls_advantages__title {
  margin: 0 !important;
  color: #004206;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .wooden_halls_advantages__title {
    font-size: 48px !important;
  }
}
.wooden_halls_advantages__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-top: 62px;
}
@media only screen and (min-width: 700px) {
  .wooden_halls_advantages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1100px) {
  .wooden_halls_advantages__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 48px;
  }
}
.wooden_halls_advantages__card {
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 148px;
  padding: 24px 30px;
  align-items: center;
  border-radius: 18px;
  background: #004206;
  box-shadow: 0 9px 22px rgba(0, 66, 6, 0.34);
  color: #fff;
  isolation: isolate;
  transition: opacity 0.58s ease, background-color 0.25s ease, box-shadow 0.25s ease, transform 0.58s cubic-bezier(0.22, 1, 0.36, 1);
}
.wooden_halls_advantages__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -45%;
  bottom: -45%;
  left: -55%;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.13), transparent);
  opacity: 0;
  pointer-events: none;
  transform: skewX(-18deg);
  transition: left 0.62s ease, opacity 0.25s ease;
}
.wooden_halls_advantages__card:hover {
  background: #07580d;
  box-shadow: 0 16px 34px rgba(0, 66, 6, 0.43);
  transform: translateY(-8px) scale(1.01);
}
.wooden_halls_advantages__card:hover::before {
  left: 120%;
  opacity: 1;
}
.wooden_halls_advantages__icon {
  position: relative;
  z-index: 1;
  flex: 0 0 112px;
  width: 112px;
  height: 92px;
  margin-right: 24px;
  color: #fff;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.wooden_halls_advantages__card:hover .wooden_halls_advantages__icon {
  transform: translateY(-2px) scale(1.1);
}
.wooden_halls_advantages__name {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.22;
}
.wooden_halls_advantages__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.wooden_halls_advantages__svg path,
.wooden_halls_advantages__svg rect,
.wooden_halls_advantages__svg circle,
.wooden_halls_advantages__svg line,
.wooden_halls_advantages__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wooden_halls_advantages__svg .wooden_halls_advantages__svg_fill {
  fill: currentColor;
  stroke: none;
}
.wooden_halls_advantages__svg--filled path,
.wooden_halls_advantages__svg--filled circle,
.wooden_halls_advantages__svg--filled rect,
.wooden_halls_advantages__svg--filled g {
  fill: currentColor;
  stroke: none;
}
.wooden_halls_advantages__svg--large_span path {
  stroke-width: 3.4;
}
.wooden_halls_advantages__svg--efficiency path,
.wooden_halls_advantages__svg--efficiency polyline {
  stroke-width: 2;
}
.wooden_halls_advantages__svg--stars {
  transform: scaleX(-1);
  transform-origin: center;
}
.wooden_halls_advantages__svg--stars path {
  fill: none !important;
  stroke: #fff !important;
  stroke-width: 2.5;
}
.wooden_halls_advantages__svg--feather path {
  transform: rotate(-150deg);
  transform-box: fill-box;
  transform-origin: center;
}
.wooden_halls_advantages.is-animated .wooden_halls_advantages__card {
  opacity: 0;
  transform: translateY(34px);
}
.wooden_halls_advantages.is-visible .wooden_halls_advantages__card {
  opacity: 1;
  transform: translateY(0);
}
.wooden_halls_advantages.is-visible .wooden_halls_advantages__card:hover {
  transform: translateY(-8px) scale(1.01);
}
@media (prefers-reduced-motion: reduce) {
  .wooden_halls_advantages__card, .wooden_halls_advantages__card::before, .wooden_halls_advantages__icon {
    transition: none;
  }
  .wooden_halls_advantages__card:hover {
    transform: none;
  }
}
@media only screen and (max-width: 479px) {
  .wooden_halls_advantages {
    padding-right: 16px;
    padding-left: 16px;
  }
  .wooden_halls_advantages__card {
    min-height: 130px;
    padding: 20px;
  }
  .wooden_halls_advantages__icon {
    flex-basis: 82px;
    width: 82px;
    height: 74px;
    margin-right: 18px;
  }
  .wooden_halls_advantages__name {
    font-size: 17px !important;
  }
}

/* --------------------------------------------------------------------------
   Block: Sustainable solutions
-------------------------------------------------------------------------- */
.sustainable_solutions {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 78px 20px 58px;
  background: #7c7c7c;
  color: #fff;
}
.sustainable_solutions__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.sustainable_solutions__section_title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .sustainable_solutions__section_title {
    font-size: 48px !important;
  }
}
.sustainable_solutions__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  margin-top: 58px;
}
@media only screen and (min-width: 700px) {
  .sustainable_solutions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1100px) {
  .sustainable_solutions__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px 48px;
  }
}
.sustainable_solutions__card {
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 300px;
  padding: 32px 36px;
  flex-direction: column;
  border-radius: 20px;
  background: #58585a;
  box-shadow: 0 10px 23px rgba(43, 43, 43, 0.38);
  color: #fff;
  isolation: isolate;
  transition: opacity 0.58s ease, background-color 0.25s ease, box-shadow 0.25s ease, transform 0.58s cubic-bezier(0.22, 1, 0.36, 1);
}
.sustainable_solutions__card > * {
  position: relative;
  z-index: 1;
}
.sustainable_solutions__card::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -45%;
  bottom: -45%;
  left: -55%;
  width: 38%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  opacity: 0;
  pointer-events: none;
  transform: skewX(-18deg);
  transition: left 0.62s ease, opacity 0.25s ease;
}
.sustainable_solutions__card:hover {
  background: #626265;
  box-shadow: 0 18px 36px rgba(32, 32, 32, 0.45);
  transform: translateY(-8px) scale(1.01);
}
.sustainable_solutions__card:hover::before {
  left: 120%;
  opacity: 1;
}
.sustainable_solutions__stat_row {
  display: flex;
  min-height: 92px;
  align-items: center;
}
.sustainable_solutions__icon {
  flex: 0 0 92px;
  width: 92px;
  height: 82px;
  margin-right: 22px;
  color: #fff;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.sustainable_solutions__card:hover .sustainable_solutions__icon {
  transform: translateY(-2px) scale(1.1);
}
.sustainable_solutions__stat_content {
  min-width: 0;
}
.sustainable_solutions__stat {
  display: block;
  color: #fff;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.05;
}
.sustainable_solutions__stat_text {
  display: block;
  margin-top: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
}
.sustainable_solutions__card_title {
  margin: 18px 0 16px !important;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
}
@media only screen and (min-width: 768px) {
  .sustainable_solutions__card_title {
    font-size: 24px !important;
  }
}
.sustainable_solutions__card_title {
  font-weight: 700 !important;
  line-height: 1.18;
  text-transform: uppercase;
}
.sustainable_solutions__description {
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .sustainable_solutions__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .sustainable_solutions__description {
    font-size: 24px;
  }
}
.sustainable_solutions__description {
  font-weight: 400;
  line-height: 1.35;
}
.sustainable_solutions__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.sustainable_solutions__card--cta {
  align-items: stretch;
  justify-content: center;
}
.sustainable_solutions__cta_title {
  color: #fff;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.18;
  text-transform: uppercase;
}
.sustainable_solutions__cta_title p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.sustainable_solutions__cta_title strong {
  font-weight: 700;
}
.sustainable_solutions__cta_button, .sustainable_solutions__contact_button {
  display: flex;
  min-height: 48px;
  padding: 8px 28px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .sustainable_solutions__cta_button, .sustainable_solutions__contact_button {
    font-size: 18px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .sustainable_solutions__cta_button, .sustainable_solutions__contact_button {
    font-size: 20px !important;
  }
}
.sustainable_solutions__cta_button, .sustainable_solutions__contact_button {
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.sustainable_solutions__cta_button:hover, .sustainable_solutions__contact_button:hover {
  background: #004206;
  transform: translateY(-2px);
}
.sustainable_solutions__cta_button {
  width: 100%;
  margin-top: 34px;
}
.sustainable_solutions__contact {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}
.sustainable_solutions__contact_button {
  min-width: 270px;
}
.sustainable_solutions__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.sustainable_solutions__svg path,
.sustainable_solutions__svg rect,
.sustainable_solutions__svg circle,
.sustainable_solutions__svg line,
.sustainable_solutions__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sustainable_solutions__svg--filled path,
.sustainable_solutions__svg--filled circle,
.sustainable_solutions__svg--filled rect,
.sustainable_solutions__svg--filled g {
  fill: currentColor;
  stroke: none;
}
.sustainable_solutions__svg--energy path,
.sustainable_solutions__svg--energy polyline {
  stroke-width: 2;
}
.sustainable_solutions__svg--smart_dome_graphic path:not([fill=none]),
.sustainable_solutions__svg--smart_dome_graphic circle {
  fill: currentColor;
  stroke: none;
}
.sustainable_solutions__svg--smart_dome_graphic path[fill=none],
.sustainable_solutions__svg--smart_dome_graphic line {
  fill: none;
  stroke: currentColor;
}
.sustainable_solutions__svg--smart_dome_graphic path[stroke-width="4"] {
  stroke-width: 4;
}
.sustainable_solutions__svg--smart_dome_graphic line[stroke-width="2"] {
  stroke-width: 2;
}
.sustainable_solutions.is-animated .sustainable_solutions__card {
  opacity: 0;
  transform: translateY(34px);
}
.sustainable_solutions.is-visible .sustainable_solutions__card {
  opacity: 1;
  transform: translateY(0);
}
.sustainable_solutions.is-visible .sustainable_solutions__card:hover {
  transform: translateY(-8px) scale(1.01);
}
@media (prefers-reduced-motion: reduce) {
  .sustainable_solutions__card, .sustainable_solutions__card::before, .sustainable_solutions__icon {
    transition: none;
  }
  .sustainable_solutions__card:hover {
    transform: none;
  }
}
@media only screen and (max-width: 479px) {
  .sustainable_solutions {
    padding-right: 16px;
    padding-left: 16px;
  }
  .sustainable_solutions__card {
    min-height: 0;
    padding: 26px 22px;
  }
  .sustainable_solutions__icon {
    flex-basis: 76px;
    width: 76px;
    height: 70px;
    margin-right: 16px;
  }
}

/* --------------------------------------------------------------------------
   Block: DBSafe orbit
-------------------------------------------------------------------------- */
.dbsafe_orbit {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 80px 20px;
  overflow: hidden;
  background: #58585a;
  color: #fff;
}
.dbsafe_orbit__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.dbsafe_orbit__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.dbsafe_orbit__stage {
  position: relative;
  width: min(100%, 880px);
  aspect-ratio: 1/1;
}
.dbsafe_orbit__dome {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  width: 54%;
  transform: translate(-50%, -55%);
  color: #fff;
  text-align: center;
}
.dbsafe_orbit__dome_image_wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 418/149;
  overflow: hidden;
}
.dbsafe_orbit__dome_image {
  position: absolute;
  top: -114.8%;
  left: -50.72%;
  display: block;
  width: 201.44%;
  max-width: none;
  height: auto;
}
.dbsafe_orbit__brand {
  display: block;
  margin-top: 6px;
  color: #509d30;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}
.dbsafe_orbit__track {
  position: absolute;
  inset: 0;
  z-index: auto;
}
.dbsafe_orbit__item {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: clamp(116px, 7.25vw, 142px);
  height: clamp(116px, 7.25vw, 142px);
  offset-path: ellipse(40% 39% at 50% 50%);
  offset-distance: 0%;
  offset-rotate: 0deg;
  animation: dbsafe-orbit-move 52s linear var(--dbsafe-delay) infinite;
  transition: opacity 0.25s ease;
  cursor: pointer;
  outline: none;
}
.dbsafe_orbit.is-paused .dbsafe_orbit__item {
  animation-play-state: paused;
}
.dbsafe_orbit__item_circle {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(124, 124, 124, 0.84);
  box-shadow: 0 8px 20px rgba(35, 35, 35, 0.24);
  overflow: hidden;
  transition: width 0.35s ease, height 0.35s ease, transform 0.35s ease, background-color 0.35s ease;
}
.dbsafe_orbit__item_icon {
  width: 92%;
  height: 92%;
  transition: transform 0.35s ease;
}
.dbsafe_orbit__item:hover, .dbsafe_orbit__item:focus-visible {
  z-index: 20;
}
.dbsafe_orbit__item:hover .dbsafe_orbit__item_circle, .dbsafe_orbit__item:focus-visible .dbsafe_orbit__item_circle {
  background: rgba(124, 124, 124, 0.98);
  transform: scale(1.28);
}
.dbsafe_orbit__item:hover .dbsafe_orbit__item_icon, .dbsafe_orbit__item:focus-visible .dbsafe_orbit__item_icon {
  transform: scale(1.04);
}
.dbsafe_orbit__item.is-selected {
  opacity: 0;
  pointer-events: none;
}
.dbsafe_orbit__tooltip {
  position: absolute;
  bottom: calc(100% + 20px);
  left: 50%;
  z-index: 30;
  width: 240px;
  padding: 12px 14px;
  opacity: 0;
  border-radius: 10px;
  background: rgba(52, 52, 54, 0.95);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  transform: translate(-50%, -8px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}
.dbsafe_orbit__item:hover .dbsafe_orbit__tooltip, .dbsafe_orbit__item:focus-visible .dbsafe_orbit__tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}
.dbsafe_orbit__icon_svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.dbsafe_orbit__gear {
  transform-box: view-box;
  transform-origin: 373.8px 495.1px;
  animation: dbsafe-gear-spin 7s linear infinite;
}
.dbsafe_orbit__detail {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: flex;
  width: clamp(340px, 22vw, 410px);
  height: clamp(340px, 22vw, 410px);
  padding: 30px;
  opacity: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
  border-radius: 50%;
  background: #58585a;
  text-align: center;
  transform: translate(-50%, -50%) scale(0.7);
  transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.2, 0.75, 0.2, 1);
  pointer-events: none;
}
.dbsafe_orbit.is-detail-active .dbsafe_orbit__detail {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  pointer-events: auto;
}
.dbsafe_orbit.is-detail-active .dbsafe_orbit__dome {
  opacity: 0;
}
.dbsafe_orbit__detail_icon {
  width: clamp(185px, 11vw, 210px);
  height: clamp(185px, 11vw, 210px);
  margin: -28px 0 12px;
}
.dbsafe_orbit__detail_icon .dbsafe_orbit__gear {
  animation-duration: 3.5s;
}
.dbsafe_orbit__detail_title {
  max-width: 250px;
  margin: 0 0 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.dbsafe_orbit__detail_content {
  max-width: 240px;
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
}
.dbsafe_orbit__detail_content h2,
.dbsafe_orbit__detail_content h3,
.dbsafe_orbit__detail_content h4 {
  margin: 0 0 10px !important;
  color: #fff;
  font-size: 15px !important;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
.dbsafe_orbit__detail_content p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.dbsafe_orbit__detail_content strong {
  color: #509d30;
}
.dbsafe_orbit__copy {
  align-self: center;
  text-align: right;
}
.dbsafe_orbit__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 34px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .dbsafe_orbit__title {
    font-size: 48px !important;
  }
}
.dbsafe_orbit__description {
  margin-top: 58px;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .dbsafe_orbit__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .dbsafe_orbit__description {
    font-size: 24px;
  }
}
.dbsafe_orbit__description {
  font-weight: 400;
  line-height: 1.38;
}
.dbsafe_orbit__description p {
  margin: 0 0 28px !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.dbsafe_orbit__description p:last-child {
  margin-bottom: 0 !important;
}
.dbsafe_orbit__description strong {
  color: #509d30;
  font-weight: 700;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=backup_control] #Layer_2 {
  transform-box: view-box;
  transform-origin: 243.02px 238.87px;
  animation: dbsafe-gear-spin 7s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=backup_power] #Layer_3 {
  animation: dbsafe-battery-low 5.4s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=backup_power] #Layer_4 {
  animation: dbsafe-battery-ready 5.4s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=double_membrane] #Layer_right {
  transform-box: fill-box;
  transform-origin: center;
  animation: dbsafe-membrane-arrow-right 2.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=double_membrane] #Layer_left {
  transform-box: fill-box;
  transform-origin: center;
  animation: dbsafe-membrane-arrow-left 2.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=pressure_regulation] #Layer_needle {
  transform-box: view-box;
  transform-origin: 192.33px 139.43px;
  animation: dbsafe-pressure-needle 6s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > path:first-child {
  animation: dbsafe-snow-glow 11s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > g {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > g:nth-of-type(1) {
  animation: dbsafe-snow-fall-1 11s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > g:nth-of-type(2) {
  animation: dbsafe-snow-fall-2 11s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > g:nth-of-type(3) {
  animation: dbsafe-snow-fall-3 11s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=snow_defence] #Layer_2 > g:nth-of-type(4) {
  animation: dbsafe-snow-fall-4 11s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=inflation_units] #Layer_3 > g {
  transform-box: fill-box;
  transform-origin: center;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=inflation_units] #Layer_3 > g:nth-child(3) {
  animation: dbsafe-fan-large 6.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=inflation_units] #Layer_3 > g:nth-child(2) {
  animation: dbsafe-fan-medium 6.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=inflation_units] #Layer_3 > g:nth-child(1) {
  animation: dbsafe-fan-small 6.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=dynamic_movement] #Layer_2 {
  clip-path: inset(0 100% 0 0);
  animation: dbsafe-dynamic-lines 5.2s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=aerodynamic_design] > g {
  clip-path: inset(0 100% 0 0);
  animation: dbsafe-dynamic-lines 5.2s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=movement_warning] #Layer_1 {
  transform-box: view-box;
  transform-origin: 193.07px 231.82px;
  animation: dbsafe-dynamic-dome 9s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=movement_warning] #Layer_2 {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: dbsafe-dynamic-alert 9s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=dynamic_movement_monitoring] #Layer_1 > path:first-child,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=dynamic_movement_monitoring] #Layer_1 > rect:not(:last-of-type) {
  transform-box: view-box;
  transform-origin: 300px 364px;
  animation: dbsafe-dynamic-dome 9s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=dynamic_movement_monitoring] #Layer_1 > g {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: dbsafe-dynamic-alert 9s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=high_wind_defence] #Layer_2 {
  transform-box: fill-box;
  transform-origin: center;
  animation: dbsafe-wind-turbine 3.2s linear infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=high_wind_defence] #Layer_3 > path {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  animation: dbsafe-wind-stream 2.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=high_wind_defence] #Layer_1 {
  animation: dbsafe-wind-dome-arc 4.8s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_2,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_3,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_4,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_5,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_6,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_7,
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_8 {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_2 {
  animation: dbsafe-supervision-1 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_3 {
  animation: dbsafe-supervision-2 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_4 {
  animation: dbsafe-supervision-3 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_5 {
  animation: dbsafe-supervision-4 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_6 {
  animation: dbsafe-supervision-5 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_7 {
  animation: dbsafe-supervision-6 8.5s ease-in-out infinite;
}
.dbsafe_orbit__icon_svg[data-dbsafe-icon=smart_supervision] #Layer_8 {
  animation: dbsafe-supervision-7 8.5s ease-in-out infinite;
}
.dbsafe_orbit__detail_icon .dbsafe_orbit__icon_svg[data-dbsafe-icon=backup_control] #Layer_2 {
  animation-duration: 3.5s;
}
@media only screen and (min-width: 1000px) {
  .dbsafe_orbit__inner {
    display: flex;
    align-items: center;
    gap: clamp(32px, 3vw, 64px);
  }
  .dbsafe_orbit__visual {
    order: 1;
    flex: 1 1 auto;
    min-width: 0;
  }
  .dbsafe_orbit__copy {
    order: 2;
    flex: 0 0 auto;
    width: min(100%, 480px);
  }
  .dbsafe_orbit--reversed .dbsafe_orbit__visual {
    order: 2;
  }
  .dbsafe_orbit--reversed .dbsafe_orbit__copy {
    order: 1;
    text-align: left;
  }
}
@media only screen and (max-width: 699px) {
  .dbsafe_orbit {
    padding-right: 12px;
    padding-left: 12px;
  }
  .dbsafe_orbit__stage {
    width: 100%;
  }
  .dbsafe_orbit__item {
    width: 78px;
    height: 78px;
    offset-path: ellipse(39% 39% at 50% 50%);
  }
  .dbsafe_orbit__detail {
    width: min(76vw, 290px);
    height: min(76vw, 290px);
    padding: 26px;
  }
  .dbsafe_orbit__detail_icon {
    width: 138px;
    height: 138px;
    margin: -14px 0 8px;
  }
  .dbsafe_orbit__brand {
    font-size: 19px;
  }
}

@keyframes dbsafe-orbit-move {
  from {
    offset-distance: 0%;
  }
  to {
    offset-distance: 100%;
  }
}
@keyframes dbsafe-gear-spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes dbsafe-battery-low {
  0%, 8%, 16%, 24% {
    opacity: 1;
  }
  4%, 12%, 20% {
    opacity: 0.18;
  }
  34%, 100% {
    opacity: 0;
  }
}
@keyframes dbsafe-battery-ready {
  0%, 36% {
    opacity: 0;
    transform: translateY(7px);
  }
  48%, 84% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(0);
  }
}
@keyframes dbsafe-membrane-arrow-right {
  0%, 100% {
    transform: translateX(-7px);
  }
  50% {
    transform: translateX(9px);
  }
}
@keyframes dbsafe-membrane-arrow-left {
  0%, 100% {
    transform: translateX(7px);
  }
  50% {
    transform: translateX(-9px);
  }
}
@keyframes dbsafe-pressure-needle {
  0%, 8% {
    transform: rotate(-26deg);
  }
  36% {
    transform: rotate(14deg);
  }
  39%, 48% {
    transform: rotate(-26deg);
  }
  76% {
    transform: rotate(-66deg);
  }
  79%, 100% {
    transform: rotate(-26deg);
  }
}
@keyframes dbsafe-snow-fall-1 {
  0%, 6% {
    opacity: 0;
    transform: translateY(-80px);
  }
  24%, 80% {
    opacity: 1;
    transform: translateY(0);
  }
  94% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 0;
    transform: translateY(-80px);
  }
}
@keyframes dbsafe-snow-fall-2 {
  0%, 12% {
    opacity: 0;
    transform: translateY(-80px);
  }
  30%, 70% {
    opacity: 1;
    transform: translateY(0);
  }
  84% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 0;
    transform: translateY(-80px);
  }
}
@keyframes dbsafe-snow-fall-3 {
  0%, 18% {
    opacity: 0;
    transform: translateY(-80px);
  }
  36%, 50% {
    opacity: 1;
    transform: translateY(0);
  }
  64% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 0;
    transform: translateY(-80px);
  }
}
@keyframes dbsafe-snow-fall-4 {
  0%, 22% {
    opacity: 0;
    transform: translateY(-80px);
  }
  40%, 60% {
    opacity: 1;
    transform: translateY(0);
  }
  74% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 0;
    transform: translateY(-80px);
  }
}
@keyframes dbsafe-snow-glow {
  0%, 46%, 100% {
    filter: drop-shadow(0 0 0 rgba(80, 156, 48, 0));
  }
  50%, 92% {
    filter: drop-shadow(0 0 7px rgba(80, 156, 48, 0.95)) drop-shadow(0 0 15px rgba(80, 156, 48, 0.7));
  }
  96% {
    filter: drop-shadow(0 0 0 rgba(80, 156, 48, 0));
  }
}
@keyframes dbsafe-fan-large {
  0%, 8% {
    opacity: 0;
    transform: scale(0.9);
  }
  22%, 86% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes dbsafe-fan-medium {
  0%, 24% {
    opacity: 0;
    transform: scale(0.9);
  }
  40%, 86% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes dbsafe-fan-small {
  0%, 44% {
    opacity: 0;
    transform: scale(0.9);
  }
  60%, 86% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes dbsafe-dynamic-lines {
  0%, 8% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
  }
  12% {
    opacity: 1;
    clip-path: inset(0 100% 0 0);
  }
  82%, 100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}
@keyframes dbsafe-dynamic-dome {
  0%, 12% {
    transform: skewX(0deg);
  }
  28%, 34% {
    transform: skewX(9deg);
  }
  44%, 56% {
    transform: skewX(0deg);
  }
  72%, 78% {
    transform: skewX(-9deg);
  }
  90%, 100% {
    transform: skewX(0deg);
  }
}
@keyframes dbsafe-dynamic-alert {
  0%, 20% {
    opacity: 0;
    transform: translateY(8px) scale(0.8);
  }
  27%, 35% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  43%, 64% {
    opacity: 0;
    transform: translateY(8px) scale(0.8);
  }
  71%, 79% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  88%, 100% {
    opacity: 0;
    transform: translateY(8px) scale(0.8);
  }
}
@keyframes dbsafe-wind-turbine {
  to {
    transform: rotate(360deg);
  }
}
@keyframes dbsafe-wind-stream {
  0% {
    stroke-dashoffset: 1;
    opacity: 1;
  }
  45%, 55% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  65% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
  65.01% {
    stroke-dashoffset: 1;
    opacity: 0;
  }
  100% {
    stroke-dashoffset: 1;
    opacity: 0;
  }
}
@keyframes dbsafe-wind-dome-arc {
  0%, 18%, 100% {
    stroke: #fff;
  }
  42%, 76% {
    stroke: #509c30;
  }
}
@keyframes dbsafe-supervision-1 {
  0%, 4% {
    opacity: 0;
    transform: scale(0.65);
  }
  12%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-2 {
  0%, 12% {
    opacity: 0;
    transform: scale(0.65);
  }
  20%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-3 {
  0%, 20% {
    opacity: 0;
    transform: scale(0.65);
  }
  28%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-4 {
  0%, 28% {
    opacity: 0;
    transform: scale(0.65);
  }
  36%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-5 {
  0%, 36% {
    opacity: 0;
    transform: scale(0.65);
  }
  44%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-6 {
  0%, 44% {
    opacity: 0;
    transform: scale(0.65);
  }
  52%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@keyframes dbsafe-supervision-7 {
  0%, 52% {
    opacity: 0;
    transform: scale(0.65);
  }
  60%, 80% {
    opacity: 1;
    transform: scale(1);
  }
  84%, 100% {
    opacity: 0;
    transform: scale(0.9);
  }
}
@media (prefers-reduced-motion: reduce) {
  .dbsafe_orbit__item, .dbsafe_orbit__gear {
    animation-play-state: paused !important;
  }
}
/* --------------------------------------------------------------------------
   Block: Guaranteed quality and safety
-------------------------------------------------------------------------- */
.quality_safety {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 84px 20px 96px;
  background: #c9e1c1;
  color: #004206;
}
.quality_safety__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.quality_safety__title {
  margin: 0 !important;
  color: #004206;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-align: center;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .quality_safety__title {
    font-size: 48px !important;
  }
}
.quality_safety__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  margin-top: 76px;
}
@media only screen and (min-width: 620px) {
  .quality_safety__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 1024px) {
  .quality_safety__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
  }
}
.quality_safety__card {
  display: flex;
  min-width: 0;
  min-height: 410px;
  padding: 28px 18px 34px;
  flex-direction: column;
  align-items: center;
  border-radius: 24px;
  background: #004206;
  box-shadow: 0 8px 25px rgba(0, 66, 6, 0.34);
  color: #fff;
  text-align: center;
}
.quality_safety__icon {
  width: 138px;
  height: 138px;
  margin-bottom: 30px;
  color: #fff;
}
.quality_safety__svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.quality_safety__svg path,
.quality_safety__svg circle,
.quality_safety__svg rect,
.quality_safety__svg line,
.quality_safety__svg polyline {
  fill: none;
  stroke: currentColor;
  stroke-width: 5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.quality_safety__svg--filled path,
.quality_safety__svg--filled circle,
.quality_safety__svg--filled rect,
.quality_safety__svg--filled g {
  fill: currentColor;
  stroke: none;
}
.quality_safety__card_title {
  display: flex;
  min-height: 2.36em;
  margin: 0 0 24px !important;
  align-items: flex-start;
  justify-content: center;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.18;
  text-transform: uppercase;
}
.quality_safety__description {
  color: rgba(255, 255, 255, 0.78);
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .quality_safety__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .quality_safety__description {
    font-size: 24px;
  }
}
.quality_safety__description {
  font-weight: 400;
  line-height: 1.25;
}
@media only screen and (max-width: 1023px) {
  .quality_safety__card {
    min-height: 360px;
  }
}
@media only screen and (max-width: 619px) {
  .quality_safety {
    padding-right: 16px;
    padding-left: 16px;
  }
  .quality_safety__grid {
    margin-top: 48px;
  }
  .quality_safety__card {
    min-height: 0;
  }
}

/* --------------------------------------------------------------------------
   Block: Lighting system

   Hero "light switches on" animation. Everything light-related is driven by
   ONE registered custom property, --light (0 = off, 1 = on), animated on
   `.lighting_system__stage` once assets/js/src/lighting-system.js adds
   `.is-animating`. Each layer just multiplies its opacity by it, so the
   lens, the beam, the room and the floor pool always brighten in sync. Only opacity (+ a small filter on the fixture image) is
   animated — nothing grows, since real light doesn't travel visibly.
-------------------------------------------------------------------------- */
@property --light {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}
.lighting_system {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-top: -69px;
  margin-left: -50vw;
  padding: 109px 20px 64px;
  overflow-x: clip;
  background: #58585a;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .lighting_system {
    margin-top: -110px;
    padding: 158px 30px 88px;
  }
}
@media only screen and (min-width: 1200px) {
  .lighting_system {
    margin-top: -165px;
    padding-top: 213px;
  }
}
.lighting_system__inner {
  position: relative;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.lighting_system {
  /* ---------------------------------------------------------------------
     Hero stage: cone + bulb "light switching on" animation
  --------------------------------------------------------------------- */
}
.lighting_system__stage {
  --lighting-fixture-w: 82px;
  --lighting-lens-y: calc(var(--lighting-fixture-w) * .15);
  --lighting-lens-w: calc(var(--lighting-fixture-w) * .5);
  --light: 0;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 50%;
  width: 100vw;
  height: clamp(620px, 70vw, 1050px);
  pointer-events: none;
  transform: translateX(-50%);
}
@media only screen and (min-width: 768px) {
  .lighting_system__stage {
    --lighting-fixture-w: 104px;
  }
}
.lighting_system__glow {
  position: absolute;
  inset: 0;
  display: block;
  opacity: var(--light);
  pointer-events: none;
}
.lighting_system__glow--beam {
  background: conic-gradient(from 110deg at 50% var(--lighting-lens-y), rgba(255, 249, 230, 0) 0deg, rgba(255, 249, 230, 0.09) 25deg, rgba(255, 249, 230, 0.28) 52deg, rgba(255, 249, 230, 0.34) 70deg, rgba(255, 249, 230, 0.28) 88deg, rgba(255, 249, 230, 0.09) 115deg, rgba(255, 249, 230, 0) 140deg);
  -webkit-mask-image: radial-gradient(ellipse 80% 88% at 50% var(--lighting-lens-y), #000 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.15) 70%, transparent 100%);
  mask-image: radial-gradient(ellipse 80% 88% at 50% var(--lighting-lens-y), #000 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.15) 70%, transparent 100%);
}
.lighting_system__glow--core {
  background: conic-gradient(from 150deg at 50% var(--lighting-lens-y), rgba(255, 249, 230, 0) 0deg, rgba(255, 249, 230, 0.3) 22deg, rgba(255, 249, 230, 0.4) 30deg, rgba(255, 249, 230, 0.3) 38deg, rgba(255, 249, 230, 0) 60deg);
  -webkit-mask-image: radial-gradient(ellipse 45% 65% at 50% var(--lighting-lens-y), #000 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
  mask-image: radial-gradient(ellipse 45% 65% at 50% var(--lighting-lens-y), #000 0%, rgba(0, 0, 0, 0.4) 50%, transparent 100%);
}
.lighting_system__glow--floor {
  background: radial-gradient(ellipse 42% 12% at 50% 72%, rgba(255, 249, 230, 0.12) 0%, rgba(255, 249, 230, 0) 100%);
}
.lighting_system__bulb {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  width: var(--lighting-fixture-w);
  height: auto;
  filter: brightness(calc(0.6 + var(--light) * 0.4));
  transform: translate(-50%, -42%);
}
.lighting_system__lens {
  position: absolute;
  z-index: 2;
  top: var(--lighting-lens-y);
  left: 50%;
  display: block;
  width: calc(var(--lighting-lens-w) * 1.7);
  aspect-ratio: 3/1;
  opacity: var(--light);
  background: radial-gradient(closest-side, #fff 0%, rgba(255, 249, 230, 0.95) 38%, rgba(255, 249, 230, 0.45) 68%, rgba(255, 249, 230, 0) 100%);
  mix-blend-mode: screen;
  transform: translate(-50%, -50%);
}
.lighting_system__lens::after {
  content: "";
  position: absolute;
  inset: -140% -60%;
  background: radial-gradient(closest-side, rgba(255, 249, 230, 0.35) 0%, rgba(255, 249, 230, 0) 100%);
}
.lighting_system__stage.is-animating {
  animation: lighting-power-on 1.6s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}
.lighting_system__content {
  position: relative;
  z-index: 1;
  max-width: 900px;
  margin: 0 auto;
  padding-top: clamp(82px, 9vw, 132px);
  text-align: center;
  opacity: 0;
}
.lighting_system__stage.is-animating + .lighting_system__content {
  animation: lighting-content-lit 1.1s cubic-bezier(0.22, 0.61, 0.36, 1) 0.75s forwards;
}
.lighting_system__title {
  margin: 0 0 18px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .lighting_system__title {
    font-size: 48px !important;
  }
}
.lighting_system__subtitle {
  margin: 0 0 24px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .lighting_system__subtitle {
    font-size: 24px !important;
  }
}
.lighting_system__description {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.82);
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .lighting_system__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .lighting_system__description {
    font-size: 24px;
  }
}
.lighting_system__description {
  font-weight: 400;
  line-height: 1.45;
}
.lighting_system__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: 400 !important;
  line-height: inherit;
}
.lighting_system {
  /* ---------------------------------------------------------------------
     Highlights (icon + text)
  --------------------------------------------------------------------- */
}
.lighting_system__highlights {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 56px;
  text-align: left;
  opacity: 0;
}
@media only screen and (min-width: 700px) {
  .lighting_system__highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 64px);
    width: 80%;
    margin: 72px auto 0 100px;
  }
}
.lighting_system__highlights .lighting_system__highlight {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 16px;
}
.lighting_system__highlights .lighting_system__highlight_icon {
  flex: 0 0 80px;
  margin: 0;
}
.lighting_system__highlights .lighting_system__highlight_text {
  min-width: 0;
  max-width: 18ch;
  text-wrap: balance;
}
.lighting_system__highlight_icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 14px;
}
.lighting_system__highlight_icon img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
}
.lighting_system__icon_image--light_distribution {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #cbe2c1;
  -webkit-mask: url("../img/Light_bulb.svg") center/contain no-repeat;
  mask: url("../img/Light_bulb.svg") center/contain no-repeat;
}
.lighting_system {
  /* ROI icon: "3 years" is HTML text at the spot where the SVG used to
     have it (x = 45.5% of the icon width), baseline unchanged. */
}
.lighting_system__roi {
  position: relative;
  display: block;
  width: fit-content;
  height: 100%;
}
.lighting_system__roi_label {
  position: absolute;
  top: -4px;
  left: 45.5%;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}
@media only screen and (min-width: 768px) {
  .lighting_system__roi_label {
    font-size: 16px;
  }
}
.lighting_system {
  /* Performance-stat graphics (markup in parts/lighting-system-icon.php):
     labels use the same size as __highlight_text, only the shapes are
     graphics. */
}
.lighting_system__stat_graphic {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: #fff;
  line-height: 1.2;
  text-align: left;
}
.lighting_system__stat_label {
  font-size: 15px;
  font-weight: 400;
}
@media only screen and (min-width: 768px) {
  .lighting_system__stat_label {
    font-size: 16px;
  }
}
.lighting_system__stat_number {
  color: #cbe2c1;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}
.lighting_system__stat_bar {
  display: block;
  height: 14px;
  margin: 3px 0 6px;
  background: #cbe2c1;
}
.lighting_system__stat_bar--long {
  width: 100%;
}
.lighting_system__stat_bar--short {
  width: 50%;
  margin-bottom: 0;
}
.lighting_system__stat_graphic .lighting_system__stat_wedge {
  display: block;
  width: 100%;
  height: auto;
}
.lighting_system__stat_minmax {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
}
.lighting_system__highlight_text {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
}
@media only screen and (min-width: 768px) {
  .lighting_system__highlight_text {
    font-size: 16px;
  }
}
.lighting_system__highlight_text strong {
  color: #5BB74D;
}
.lighting_system {
  /* ---------------------------------------------------------------------
     Performance stats — second icon + text row (same item markup/style
     as __highlights, reused via .lighting_system__highlight below)
  --------------------------------------------------------------------- */
}
.lighting_system__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 32px;
  text-align: center;
  opacity: 0;
}
@media only screen and (min-width: 700px) {
  .lighting_system__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 4vw, 64px);
    width: 80%;
    margin: 42px 100px 0 auto;
  }
}
.lighting_system__stats .lighting_system__highlight {
  display: flex;
  width: 220px;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto;
  flex-direction: column;
  align-items: flex-start;
}
.lighting_system__stats .lighting_system__highlight_icon {
  display: flex;
  width: 100%;
  height: 80px;
  margin: 0 0 12px;
  align-items: flex-end;
}
.lighting_system__stats .lighting_system__highlight_text {
  width: min(100%, 14ch);
  margin: 0;
  text-align: left;
  text-wrap: balance;
}
.lighting_system {
  /* ---------------------------------------------------------------------
     Lighting type cards (e.g. Direct / Indirect lighting)
  --------------------------------------------------------------------- */
}
.lighting_system__types {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  margin-top: 80px;
  opacity: 0;
}
@media only screen and (min-width: 700px) {
  .lighting_system__types {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(64px, 8vw, 128px);
    width: 80%;
    margin: 110px auto 0;
  }
}
.lighting_system__type_title {
  margin: 0 0 16px !important;
  color: #cfe6c8;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
}
@media only screen and (min-width: 768px) {
  .lighting_system__type_title {
    font-size: 24px !important;
  }
}
.lighting_system__type_title {
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
@media only screen and (min-width: 700px) {
  .lighting_system__type_title {
    width: 82%;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}
.lighting_system__type_box {
  box-sizing: border-box;
  margin-bottom: 18px;
  padding: 20px 22px;
  border-radius: 14px;
  background: #cfe6c8;
  box-shadow: 0 0 14px rgba(231, 255, 225, 0.72), 0 0 34px rgba(201, 235, 192, 0.42);
  color: #16351a;
}
@media only screen and (min-width: 700px) {
  .lighting_system__type_box {
    width: 82%;
    margin-right: auto;
    margin-left: auto;
  }
}
.lighting_system__type_subtitle {
  display: block;
  margin-bottom: 10px;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (min-width: 768px) {
  .lighting_system__type_subtitle {
    font-size: 23px;
  }
}
.lighting_system__type_description {
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .lighting_system__type_description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .lighting_system__type_description {
    font-size: 24px;
  }
}
.lighting_system__type_description {
  font-weight: 400;
  line-height: 1.4;
}
.lighting_system__type_description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.lighting_system__type_image {
  display: flex;
  justify-content: center;
}
.lighting_system__type_image img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media only screen and (min-width: 700px) {
  .lighting_system__type_image img {
    width: 82%;
  }
}

/* Room glow around the fixture. lighting-system.js moves it to <body> and
   positions it on the lens (page coordinates), above the header / sub-nav
   (z-index 9 / 8), so the light also spills over them instead of being cut
   at the block's top edge. It has its own copy of the power-on animation
   (--light), and JS fades it out (--lighting-halo-fade) as the page scrolls
   away from the fixture. Never wider than the viewport → no h-scroll. */
.lighting_system__halo {
  --light: 0;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  display: block;
  width: min(920px, 100vw);
  aspect-ratio: 1;
  opacity: calc(var(--light) * var(--lighting-halo-fade, 1));
  background: radial-gradient(circle closest-side, rgba(255, 249, 230, 0.2) 0%, rgba(255, 249, 230, 0.07) 40%, rgba(255, 249, 230, 0) 100%);
  mix-blend-mode: screen;
  pointer-events: none;
  transform: translate(-50%, -50%);
}
.lighting_system__stage .lighting_system__halo {
  display: none;
}
.lighting_system__halo.is-animating {
  animation: lighting-power-on 1.6s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

/* The rest of the content comes up in sequence as the room gets lit. */
.lighting_system__stage.is-animating ~ .lighting_system__highlights {
  animation: lighting-content-lit 1.1s cubic-bezier(0.22, 0.61, 0.36, 1) 1.1s forwards;
}

.lighting_system__stage.is-animating ~ .lighting_system__stats {
  animation: lighting-content-lit 1.1s cubic-bezier(0.22, 0.61, 0.36, 1) 1.45s forwards;
}

.lighting_system__stage.is-animating ~ .lighting_system__types {
  animation: lighting-content-lit 1.2s cubic-bezier(0.22, 0.61, 0.36, 1) 1.8s forwards;
}

/* Smooth switch-on: slow start, quick brightening, soft settle at full.
   Easing comes from the `animation` shorthand on the stage / halo. */
@keyframes lighting-power-on {
  from {
    --light: 0;
  }
  to {
    --light: 1;
  }
}
@keyframes lighting-content-lit {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .lighting_system__stage, .lighting_system__stage.is-animating, .lighting_system__halo, .lighting_system__halo.is-animating {
    --light: 1;
    animation: none !important;
  }
  .lighting_system__content, .lighting_system__highlights, .lighting_system__stats, .lighting_system__types {
    opacity: 1;
    animation: none !important;
  }
}
body.has-lighting-system main.l-page > .main_page_title,
body.has-lighting-system main.l-page > .main_title_flex {
  display: none;
}

.lighting_features {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 64px 20px 76px;
  background: #c9e1c1;
}
@media only screen and (min-width: 768px) {
  .lighting_features {
    padding: 86px 30px 96px;
  }
}
.lighting_features__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.lighting_features__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 900px) {
  .lighting_features__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 48px;
  }
}
.lighting_features__card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  min-height: 220px;
  padding: 30px 34px;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  background: #004206;
  box-shadow: 0 4px 18px rgba(0, 66, 6, 0.42);
  color: #fff;
}
@media only screen and (min-width: 900px) {
  .lighting_features__card {
    grid-template-columns: 180px minmax(0, 460px);
    gap: 12px;
  }
  .lighting_features__card:nth-child(even) {
    grid-template-columns: minmax(0, 460px) 210px;
  }
  .lighting_features__card:nth-child(even) .lighting_features__icon {
    grid-column: 2;
    grid-row: 1;
  }
  .lighting_features__card:nth-child(even) .lighting_features__content {
    grid-column: 1;
    grid-row: 1;
  }
}
.lighting_features__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
}
.lighting_features__icon svg {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  overflow: visible;
}
.lighting_features__icon svg path,
.lighting_features__icon svg circle,
.lighting_features__icon svg rect {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.lighting_features__icon svg .lighting_features__icon_fill {
  fill: rgba(224, 240, 217, 0.45);
  stroke: rgba(255, 255, 255, 0.32);
}
.lighting_features__icon svg .lighting_features__icon_glow {
  fill: rgba(238, 235, 170, 0.72);
  stroke: none;
  filter: drop-shadow(0 0 8px rgba(238, 235, 170, 0.72));
}
.lighting_features__icon svg .lighting_features__icon_toggle {
  fill: #8bcf78;
  stroke: none;
}
.lighting_features__title {
  margin: 0 0 18px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.lighting_features__description {
  max-width: 46ch;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .lighting_features__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .lighting_features__description {
    font-size: 24px;
  }
}
.lighting_features__description {
  font-weight: 400;
  line-height: 1.35;
}
@media only screen and (max-width: 599px) {
  .lighting_features {
    padding-right: 16px;
    padding-left: 16px;
  }
  .lighting_features__card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 14px;
    min-height: 0;
    padding: 26px 22px;
    border-radius: 18px;
  }
  .lighting_features__title {
    margin-bottom: 12px !important;
    font-size: 17px !important;
  }
}

/* Duplicate EOF fragment: e: 15px;
    }
  }
} */
.lighting_control {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px 60px;
  overflow: hidden;
  background: #58585a;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .lighting_control {
    padding: 94px 30px 72px;
  }
}
.lighting_control__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 56px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 1000px) {
  .lighting_control__inner {
    grid-template-columns: minmax(520px, 36%) minmax(0, 1fr);
    gap: clamp(16px, 2vw, 32px);
    align-items: end;
  }
}
.lighting_control__copy {
  position: relative;
  z-index: 2;
}
.lighting_control__super_title {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .lighting_control__super_title {
    font-size: 30px !important;
  }
}
.lighting_control__super_title {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.1;
  text-transform: uppercase;
}
.lighting_control__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .lighting_control__title {
    font-size: 48px !important;
  }
}
.lighting_control__description {
  max-width: 820px;
  margin-top: 42px;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .lighting_control__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .lighting_control__description {
    font-size: 24px;
  }
}
.lighting_control__description {
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  .lighting_control__description {
    margin-top: 54px;
  }
}
.lighting_control__description p {
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: 400 !important;
  line-height: inherit;
}
.lighting_control__controls {
  display: grid;
  gap: 18px;
  margin-top: 92px;
}
.lighting_control__controls_title {
  margin: 0 0 14px !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.lighting_control__toggle {
  display: flex;
  gap: 20px;
  align-items: center;
  width: fit-content;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
}
.lighting_control__toggle:hover, .lighting_control__toggle:focus {
  background: none;
  color: #fff;
}
.lighting_control__toggle:focus-visible {
  outline: 2px solid #89e5a6;
  outline-offset: 6px;
}
.lighting_control__switch {
  position: relative;
  display: block;
  flex: 0 0 56px;
  width: 56px;
  height: 28px;
  overflow: hidden;
  border-radius: 999px;
  background: #bfbfbf;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.16);
  transition: background-color 0.48s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.48s ease;
}
.lighting_control__switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
  transform: translateX(28px);
  transition: transform 0.48s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.lighting_control__switch_off, .lighting_control__switch_on {
  display: none;
}
.lighting_control__toggle[aria-pressed=true] .lighting_control__switch {
  background: #009d1c;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12), 0 0 10px rgba(0, 157, 28, 0.28);
}
.lighting_control__toggle[aria-pressed=true] .lighting_control__switch::after {
  transform: translateX(0);
}
.lighting_control__visual {
  position: relative;
  z-index: 1;
  align-self: end;
  width: 100%;
}
.lighting_control__visual svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}
.lighting_control__visual [id^=Gumbi_],
.lighting_control__visual [id^=besedilo_],
.lighting_control__visual text,
.lighting_control__visual tspan {
  display: none !important;
}
.lighting_control__visual [id=Direct_lighting],
.lighting_control__visual [id=Indirect_lighting],
.lighting_control__visual [id=osvetljena_membrana_direktne],
.lighting_control__visual [id=osvetljena_membrana_indirektne],
.lighting_control__visual [id=osvetljena_tla_direktne],
.lighting_control__visual [id=osvetljena_tla_indirektne],
.lighting_control__visual [id=zgornji_del_membrane_-_osvetljen] {
  display: none !important;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}
.lighting_control {
  /* Order in both modes: 1) the lights, 2) the floor, 3) the whole
     membrane. Each step starts while the previous one is ~60% done and all
     share one ease-in-out curve, so the light flows from one part into the
     next with no pause in between. */
  --lighting-control-ease: cubic-bezier(.45, 0, .55, 1);
}
.lighting_control.is-direct-on [id=Direct_lighting] {
  display: inline !important;
  animation: lighting-control-top-down 1.1s var(--lighting-control-ease) forwards;
}
.lighting_control.is-direct-on [id=osvetljena_tla_direktne] {
  display: inline !important;
  animation: lighting-control-fade 1s var(--lighting-control-ease) 0.65s forwards;
}
.lighting_control.is-direct-on [id=osvetljena_membrana_direktne] {
  display: inline !important;
  animation: lighting-control-bottom-up 1.8s var(--lighting-control-ease) 1.2s forwards;
}
.lighting_control {
  /* Indirect: lights, then the membrane arc, then the light runs down the
     membrane toward the ground, and only at the end the floor lights up. */
}
.lighting_control.is-indirect-on [id=Indirect_lighting] {
  display: inline !important;
  animation: lighting-control-bottom-up 0.6s var(--lighting-control-ease) forwards;
}
.lighting_control.is-indirect-on [id=zgornji_del_membrane_-_osvetljen] {
  display: inline !important;
  animation: lighting-control-fade 1s var(--lighting-control-ease) 0.3s forwards;
}
.lighting_control.is-indirect-on [id=osvetljena_membrana_indirektne] {
  display: inline !important;
  animation: lighting-control-top-down 1.8s var(--lighting-control-ease) 0.8s forwards;
}
.lighting_control.is-indirect-on [id=osvetljena_tla_indirektne] {
  display: inline !important;
  animation: lighting-control-fade 1s var(--lighting-control-ease) 2.2s forwards;
}
@media only screen and (max-width: 999px) {
  .lighting_control__copy {
    max-width: 680px;
  }
  .lighting_control__controls {
    margin-top: 56px;
  }
}
@media only screen and (max-width: 599px) {
  .lighting_control {
    padding-right: 16px;
    padding-left: 16px;
  }
  .lighting_control__description {
    margin-top: 28px;
  }
  .lighting_control__controls {
    margin-top: 42px;
  }
  .lighting_control__toggle {
    font-size: 18px;
  }
}

@keyframes lighting-control-top-down {
  from {
    opacity: 0;
    clip-path: inset(0 0 100% 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
  }
}
@keyframes lighting-control-bottom-up {
  from {
    opacity: 0;
    clip-path: inset(100% 0 0 0);
  }
  to {
    opacity: 1;
    clip-path: inset(0);
  }
}
@keyframes lighting-control-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lighting_control.is-direct-on [id], .lighting_control.is-indirect-on [id] {
    animation-duration: 0.01ms !important;
    animation-delay: 0s !important;
  }
  .lighting_control__switch, .lighting_control__switch::after {
    transition: none;
  }
  .lighting_control {
    /* Additional duplicate braces:
      }
    } */
    /* Removed duplicate fragment:
        }
      }
    } */
  }
}
/* Removed duplicate fragment:
    }
  }
} */
/*
*/
.lighting_any_space {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px 76px;
  overflow: hidden;
  background: #f1efef;
  color: #242424;
}
@media only screen and (min-width: 768px) {
  .lighting_any_space {
    padding: 94px 30px 92px;
  }
}
.lighting_any_space__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 44px;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 999px) {
  .lighting_any_space__inner {
    flex-direction: row;
    align-items: stretch;
    gap: 6%;
  }
}
.lighting_any_space__media {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 16px;
  width: 100%;
}
@media only screen and (min-width: 999px) {
  .lighting_any_space__media {
    width: 42%;
    min-height: 0;
  }
}
.lighting_any_space__content {
  width: 100%;
  min-width: 0;
}
@media only screen and (min-width: 999px) {
  .lighting_any_space__content {
    flex: 1;
  }
}
.lighting_any_space__title {
  position: relative;
  z-index: 2;
  margin: 0 !important;
  color: #242424;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .lighting_any_space__title {
    font-size: 48px !important;
  }
}
.lighting_any_space__description {
  position: relative;
  z-index: 2;
  margin-top: 54px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .lighting_any_space__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .lighting_any_space__description {
    font-size: 24px;
  }
}
.lighting_any_space__description {
  font-weight: 400;
  line-height: 1.28;
}
.lighting_any_space__description p {
  max-width: 100%;
  margin: 0 !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.lighting_any_space__description p + p {
  margin-top: 48px !important;
}
.lighting_any_space__description strong {
  color: #242424;
  font-weight: 700;
}
.lighting_any_space__image {
  position: relative;
}
.lighting_any_space__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media only screen and (min-width: 999px) {
  .lighting_any_space__image {
    flex: 1 1 0;
    min-height: 0;
  }
  .lighting_any_space__image img {
    height: 100%;
  }
}
.lighting_any_space {
  /* "INDIRECT" / "DIRECT" tag in the top-left corner of each photo. Black on
     the bright membrane, with a soft white halo so it stays readable over
     any lighter/darker patch of the photo. */
}
.lighting_any_space__label {
  position: absolute;
  z-index: 1;
  top: 14px;
  left: 18px;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-shadow: 0 0 6px rgba(255, 255, 255, 0.9), 0 0 14px rgba(255, 255, 255, 0.7);
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .lighting_any_space__label {
    top: 18px;
    left: 22px;
    font-size: 24px;
  }
}
.lighting_any_space__logos {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 20px clamp(24px, 3vw, 48px);
  align-items: center;
  width: 100%;
  margin-top: 48px;
}
.lighting_any_space__logo {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  padding: 4px;
}
.lighting_any_space__logo img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 76px;
  object-fit: contain;
  object-position: left center;
}
@media only screen and (max-width: 599px) {
  .lighting_any_space {
    padding-right: 16px;
    padding-left: 16px;
  }
  .lighting_any_space__description {
    margin-top: 34px;
  }
  .lighting_any_space__description p + p {
    margin-top: 30px !important;
  }
  .lighting_any_space__logos {
    gap: 16px 26px;
    margin-top: 34px;
  }
  .lighting_any_space__logo img {
    max-height: 58px;
  }
}

.membrane_systems {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  overflow: hidden;
  padding: 96px 20px 85px;
  background: #fff;
  color: #111;
}
.membrane_systems__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.membrane_systems__supertitle {
  margin: 0 0 10px !important;
  color: #5BB74D;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_systems__supertitle {
    font-size: 30px !important;
  }
}
.membrane_systems__supertitle {
  font-weight: 400 !important;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.membrane_systems__title {
  margin: 0 !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .membrane_systems__title {
    font-size: 48px !important;
  }
}
.membrane_systems__description {
  max-width: 760px;
  margin: 10px 0 0 !important;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .membrane_systems__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .membrane_systems__description {
    font-size: 24px;
  }
}
.membrane_systems__description {
  font-weight: 400;
  line-height: 1.5;
}
.membrane_systems__description p {
  margin: 0;
  font-size: inherit;
}
.membrane_systems__description strong,
.membrane_systems__description b {
  font-weight: 700 !important;
}
.membrane_systems__carousel {
  position: relative;
  margin-top: 42px;
}
.membrane_systems__slider-title {
  margin: 0 0 26px;
  color: #171717;
  font-family: "AmsiPro", sans-serif;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.membrane_systems__stage {
  position: relative;
  height: 610px;
}
.membrane_systems__item {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: grid;
  grid-template-rows: 370px auto;
  width: 60%;
  transform: translateX(-50%) scale(0.4);
  transform-origin: center;
  opacity: 0;
  filter: saturate(0.55);
  pointer-events: none;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.55s ease, filter 0.55s ease;
}
.membrane_systems__item.is-left {
  z-index: 4;
  transform: translateX(-112%) scale(0.4);
  opacity: 0.28;
}
.membrane_systems__item.is-active {
  z-index: 10;
  transform: translateX(-50%) scale(1);
  opacity: 1;
  filter: none;
  pointer-events: auto;
}
.membrane_systems__item.is-right {
  z-index: 4;
  transform: translateX(12%) scale(0.4);
  opacity: 0.28;
}
.membrane_systems__item.is-behind {
  z-index: 1;
  transform: translateX(-50%) scale(0.4);
  opacity: 0;
}
.membrane_systems__image-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.membrane_systems__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.membrane_systems__content {
  text-align: center;
  opacity: 0;
  transform: translateY(16px);
  filter: blur(0);
  transition: opacity 0.4s ease 0.25s, transform 0.55s ease 0.2s, filter 0.4s ease;
}
.is-left .membrane_systems__content, .is-right .membrane_systems__content {
  opacity: 0.38;
  transform: none;
  filter: blur(0.45px);
}
.is-active .membrane_systems__content {
  opacity: 1;
  transform: none;
  filter: none;
}
.membrane_systems__name {
  margin: 12px 0 10px;
  color: #56a52d;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_systems__name {
    font-size: 24px !important;
  }
}
.membrane_systems__name {
  font-weight: 700 !important;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}
.membrane_systems__lines {
  display: inline-block;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding-left: 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
}
.is-left .membrane_systems__lines, .is-right .membrane_systems__lines {
  visibility: hidden;
}
.membrane_systems__arrow {
  position: absolute;
  top: 290px;
  z-index: 20;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.membrane_systems__arrow span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  border-top: 6px solid #222;
  border-left: 6px solid #222;
}
.membrane_systems__arrow--prev {
  left: -8px;
}
.membrane_systems__arrow--prev span {
  transform: translate(-35%, -50%) rotate(-45deg);
}
.membrane_systems__arrow--next {
  right: -8px;
}
.membrane_systems__arrow--next span {
  transform: translate(-65%, -50%) rotate(135deg);
}
.membrane_systems__cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}
.membrane_systems__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 54px;
  padding: 0 32px;
  border-radius: 999px;
  background: #5BB74D;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .membrane_systems__cta {
    font-size: 18px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .membrane_systems__cta {
    font-size: 20px !important;
  }
}
.membrane_systems__cta {
  line-height: 1;
  text-decoration: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.membrane_systems__cta:hover, .membrane_systems__cta:focus-visible {
  background: rgb(68.3872, 141.5456, 57.2544);
  color: #fff !important;
  transform: translateY(-2px);
}
.membrane_systems__cta-arrow {
  font-size: 20px;
  line-height: 1;
  transition: transform 0.25s ease;
}
.membrane_systems__cta:hover .membrane_systems__cta-arrow, .membrane_systems__cta:focus-visible .membrane_systems__cta-arrow {
  transform: translateX(3px);
}
.membrane_systems--no-lines .membrane_systems__stage {
  height: 460px;
}
.membrane_systems--no-lines .membrane_systems__arrow {
  top: 225px;
}
.membrane_systems--no-lines .membrane_systems__cta-wrap {
  margin-top: 36px;
}

@media (max-width: 767px) {
  .membrane_systems {
    padding: 68px 14px 58px;
  }
  .membrane_systems__inner {
    width: 100%;
  }
  .membrane_systems__description {
    font-size: 16px;
  }
  .membrane_systems__stage {
    height: 470px;
  }
  .membrane_systems__item {
    grid-template-rows: 255px auto;
    width: 80%;
  }
  .membrane_systems__item.is-left {
    transform: translateX(-110%) scale(0.34);
  }
  .membrane_systems__item.is-right {
    transform: translateX(10%) scale(0.34);
  }
  .membrane_systems__slider-title {
    font-size: 20px !important;
  }
  .membrane_systems__lines {
    font-size: 14px;
  }
  .membrane_systems__arrow {
    top: 205px;
  }
  .membrane_systems__cta-wrap {
    margin-top: 40px;
  }
  .membrane_systems__cta {
    height: 48px;
    padding: 0 26px;
  }
  .membrane_systems--no-lines .membrane_systems__stage {
    height: 330px;
  }
  .membrane_systems--no-lines .membrane_systems__arrow {
    top: 145px;
  }
  .membrane_systems--no-lines .membrane_systems__cta-wrap {
    margin-top: 26px;
  }
}
.has-membrane-systems .main_page_title {
  display: none;
}

body:has(.membrane_systems) .main_page_title {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  .membrane_systems__item, .membrane_systems__content {
    transition: none;
  }
}
/* Duplicate EOF fragment left by the Windows patch helper:
item,
    &__content{ transition: none; }
  }
}
*/
/* Duplicate comment tail left by the Windows patch helper:
left by the Windows patch helper:
item,
    &__content{ transition: none; }
  }
}
*/
/* Duplicate partial comment tail left by the Windows patch helper:
er:
item,
    &__content{ transition: none; }
  }
}
*/
/* Duplicate comment tail left by the Windows patch helper:
left by the Windows patch helper:
item,
    &__content{ transition: none; }
  }
}
*/
.membrane_characteristics {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 66px 20px 74px;
  overflow: hidden;
  background: #d6eacd;
  color: #054b18;
}
.membrane_characteristics__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.membrane_characteristics__title {
  margin: 0 !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_characteristics__title {
    font-size: 48px !important;
  }
}
.membrane_characteristics__title {
  font-weight: 700 !important;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
}
.membrane_characteristics__description {
  margin: 18px 0 0 !important;
  color: #55a82f;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .membrane_characteristics__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .membrane_characteristics__description {
    font-size: 24px;
  }
}
.membrane_characteristics__description {
  font-weight: 400;
  line-height: 1.3;
  text-align: center;
}
.membrane_characteristics__description p {
  margin: 0;
}
.membrane_characteristics__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 48px;
  margin-top: 66px;
}
.membrane_characteristics__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 178px;
  padding: 18px 12px 14px;
  border-radius: 20px;
  background: #005314;
  box-shadow: 0 4px 15px rgba(0, 66, 16, 0.42), 0 0 24px rgba(255, 255, 255, 0.72);
  color: #fff;
}
.membrane_characteristics__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 105px;
}
.membrane_characteristics__icon svg {
  display: block;
  width: 100%;
  max-height: 100%;
  overflow: visible;
  fill: #fff;
  stroke: #fff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.membrane_characteristics__icon-cutout {
  fill: #005314;
  stroke: #005314;
}
.membrane_characteristics__name {
  margin: 4px 0 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .membrane_characteristics__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
  }
}
@media (max-width: 620px) {
  .membrane_characteristics {
    padding: 50px 14px 58px;
  }
  .membrane_characteristics__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 42px;
  }
  .membrane_characteristics__card {
    min-height: 160px;
  }
  .membrane_characteristics__icon {
    width: 76px;
    height: 88px;
  }
  .membrane_characteristics__name {
    font-size: 13px !important;
  }
}
.hybrid_membrane_system {
  position: relative;
  left: 50%;
  width: 100vw;
  margin: 116px 0 0 -50vw;
  padding: 0 20px 120px;
  background: #f0f1f2;
  color: #fff;
}
.hybrid_membrane_system__inner {
  position: relative;
  width: 100%;
  max-width: 1600px;
  min-height: 430px;
  margin: 0 auto;
}
.hybrid_membrane_system__panel {
  position: absolute;
  top: -70px;
  left: calc((100vw - 100%) / -2);
  z-index: 1;
  width: calc(48% + (100vw - 100%) / 2);
  min-height: 326px;
  margin: 0;
  padding: 44px 48px 52px max(48px, (100vw - 1600px) / 2 + 48px);
  border-radius: 0 18px 18px 0;
  background: #5a5a5c;
}
.hybrid_membrane_system {
  /* No max-width: the title uses the panel's full width, so it sits on one
     line wherever it fits and only wraps on narrower screens. */
}
.hybrid_membrane_system__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .hybrid_membrane_system__title {
    font-size: 48px !important;
  }
}
.hybrid_membrane_system__title {
  font-weight: 700 !important;
  line-height: 1.12;
  text-transform: uppercase;
}
.hybrid_membrane_system__description {
  max-width: 500px;
  margin: 34px 0 0 !important;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .hybrid_membrane_system__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .hybrid_membrane_system__description {
    font-size: 24px;
  }
}
.hybrid_membrane_system__description {
  font-weight: 400;
  line-height: 1.42;
}
.hybrid_membrane_system__description p {
  margin: 0;
}
.hybrid_membrane_system__image-wrap {
  position: absolute;
  right: 3%;
  bottom: -2px;
  z-index: 2;
  width: 65%;
  height: 390px;
  pointer-events: none;
  /* ---------------------------------------------------------------------
     Explode animation: top/bottom membrane separate first, then the
     top/bottom silver layers. Group IDs come from assets/img/Membrane_hybrid.svg
     — the SVG's own layout is the closed/assembled resting position, and
     .is-animating pushes the layers apart into the exploded view.
  --------------------------------------------------------------------- */
}
.hybrid_membrane_system__image-wrap #zgornja_membrana,
.hybrid_membrane_system__image-wrap #spodnja_membrana {
  transition: transform 1.4s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: transform;
  transform: translateY(0);
}
.hybrid_membrane_system__image-wrap #srebrn_sloj_-_zgornji,
.hybrid_membrane_system__image-wrap #srebrn_sloj_-_spodnji {
  transition: transform 1.3s cubic-bezier(0.22, 0.61, 0.36, 1) 0.25s;
  will-change: transform;
  transform: translateY(0);
}
.hybrid_membrane_system__image-wrap.is-animating #zgornja_membrana {
  transform: translateY(-30px);
}
.hybrid_membrane_system__image-wrap.is-animating #spodnja_membrana {
  transform: translateY(30px);
}
.hybrid_membrane_system__image-wrap.is-animating #srebrn_sloj_-_zgornji {
  transform: translateY(-13px);
}
.hybrid_membrane_system__image-wrap.is-animating #srebrn_sloj_-_spodnji {
  transform: translateY(13px);
}
.hybrid_membrane_system__svg {
  width: 100%;
  height: 100%;
}
.hybrid_membrane_system__svg svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
  .hybrid_membrane_system__image-wrap #zgornja_membrana,
  .hybrid_membrane_system__image-wrap #spodnja_membrana,
  .hybrid_membrane_system__image-wrap #srebrn_sloj_-_zgornji,
  .hybrid_membrane_system__image-wrap #srebrn_sloj_-_spodnji {
    transition: none !important;
    transform: none !important;
  }
}
@media (max-width: 900px) {
  .hybrid_membrane_system__panel {
    width: calc(58% + (100vw - 100%) / 2);
    padding-right: 32px;
    padding-left: max(32px, (100vw - 1600px) / 2 + 32px);
  }
  .hybrid_membrane_system__image-wrap {
    right: 0;
    width: 60%;
  }
}
@media (max-width: 680px) {
  .hybrid_membrane_system {
    margin-top: 82px;
    padding: 0 14px 90px;
  }
  .hybrid_membrane_system__inner {
    min-height: 560px;
  }
  .hybrid_membrane_system__panel {
    top: -48px;
    left: calc((100vw - 100%) / -2);
    width: calc(100% - 24px + (100vw - 100%) / 2);
    min-height: 0;
    margin: 0;
    padding: 34px 26px 42px max(26px, (100vw - 100%) / 2 + 26px);
    border-radius: 0 14px 14px 0;
  }
  .hybrid_membrane_system__description {
    max-width: 100%;
    margin-top: 22px !important;
  }
  .hybrid_membrane_system__image-wrap {
    position: absolute;
    right: -6%;
    bottom: 0;
    z-index: 2;
    width: 112%;
    height: 270px;
    margin: 0;
  }
}
/* --------------------------------------------------------------------------
   Block: Membrane layers — native sticky scroll scene (same mechanism as
   .hvac_units: a tall section + position:sticky inner + JS scroll-progress
   controller, see assets/js/src/membrane-layers.js).
-------------------------------------------------------------------------- */
main.membrane-layers-sticky-page {
  overflow: visible;
  overflow-x: clip;
}

.membrane_layers {
  position: relative;
  left: 50%;
  width: 100vw;
  height: calc(100vh + var(--layers-scroll, 0vh));
  height: calc(100svh + var(--layers-scroll, 0vh));
  margin-left: -50vw;
  background: #fff;
  /* Desktop: distance from the title's top down to the current heading's
     arrow — JS moves the title there (membrane-layers.js, align()). */
  --layers-title-gap: 300px;
}
.membrane_layers > .wrap {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  max-width: 1600px;
  height: 100vh;
  height: 100svh;
  margin: 0 auto;
  padding: 56px 20px;
}
@media only screen and (min-width: 768px) {
  .membrane_layers > .wrap {
    padding: 84px 20px;
  }
}
.membrane_layers__title {
  flex: 0 0 auto;
  max-width: 700px;
  margin: 0 0 28px !important;
  color: #075716;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__title {
    font-size: 48px !important;
  }
}
.membrane_layers__title {
  font-weight: 700 !important;
  line-height: 1.15;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__title {
    margin-bottom: 36px !important;
  }
}
.membrane_layers {
  /* Fills whatever the sticky viewport leaves below the title, so the (tall,
     see viewBox note in the block PHP) graphic always fits on screen. */
}
.membrane_layers__row {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 32px;
  width: 100%;
  min-height: 0;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__row {
    flex-direction: row;
    align-items: center;
    gap: clamp(24px, 4vw, 64px);
  }
}
.membrane_layers__content {
  position: relative;
  width: 100%;
  min-height: 220px;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__content {
    flex: 1 1 auto;
    align-self: stretch;
    width: auto;
    min-width: 0;
  }
}
.membrane_layers__content {
  /* JS (membrane-layers.js) sets each panel's `top` so its heading arrow
     lines up with the current layer's left edge in the graphic. */
}
.membrane_layers__content.is-anchored .membrane_layers__panel {
  bottom: auto;
  justify-content: flex-start;
}
.membrane_layers__panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity 0.45s ease, transform 0.45s ease, visibility 0.45s;
}
.membrane_layers__panel.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.membrane_layers__heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px !important;
  color: #075716;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__heading {
    font-size: 24px !important;
  }
}
.membrane_layers__heading {
  font-weight: 700 !important;
  line-height: 1.3;
  /* Points right, toward the graphic and the currently highlighted (green) layer. */
}
.membrane_layers__heading::after {
  content: "";
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 14px;
  border-color: transparent transparent transparent #075716;
}
.membrane_layers__text {
  max-width: 380px;
  color: #4a4a4a;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .membrane_layers__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .membrane_layers__text {
    font-size: 24px;
  }
}
.membrane_layers__text {
  font-weight: 400;
  line-height: 1.5;
}
.membrane_layers__text p {
  margin: 0;
}
.membrane_layers__text p + p {
  margin-top: 10px;
}
.membrane_layers__graphic {
  position: relative;
  flex: 1 1 0;
  width: 100%;
  min-height: 0;
}
@media only screen and (min-width: 768px) {
  .membrane_layers__graphic {
    flex: 0 0 54%;
    align-self: stretch;
    width: 54%;
  }
}
.membrane_layers__graphic {
  /* Box = full available height/width; the drawing is scaled to fit and
     centered inside it (default preserveAspectRatio "xMidYMid meet"). */
}
.membrane_layers__graphic svg {
  display: block;
  width: 100%;
  height: 100%;
}
.membrane_layers__graphic {
  /* The source graphic has an uneven gap between layer 2 and layer 3 (~88
     units vs. ~26 for every other gap) — nudge layers 1 and 2 down together
     so that gap matches the rest, without touching Membrane_layers.svg itself. */
}
.membrane_layers__graphic [data-layer] {
  --layer-nudge: 0px;
  --layer-lift: 0px;
  transform: translateY(calc(var(--layer-nudge) - var(--layer-lift)));
  transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.membrane_layers__graphic [data-layer="1"],
.membrane_layers__graphic [data-layer="2"] {
  --layer-nudge: var(--layers-nudge, 61.5px);
}
.membrane_layers__graphic {
  /* Layers above the current one lift up together, opening a gap between
     them and the current (green) layer. Amount comes from the block PHP,
     which also reserves that room in the viewBox. */
}
.membrane_layers__graphic [data-layer].is-above {
  --layer-lift: var(--layers-lift, 48px);
}
.membrane_layers__graphic {
  /* Whole stack shifts up per scroll state (JS sets the inline transform)
     so the current/green layer always lines up with the heading on the
     left — see assets/js/src/membrane-layers.js. */
}
.membrane_layers__graphic .membrane_layers__stack {
  transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media only screen and (max-width: 767px) {
  .membrane_layers > .wrap {
    padding: 40px 16px;
  }
  .membrane_layers__title {
    margin-bottom: 24px !important;
  }
  .membrane_layers__row {
    gap: 20px;
  }
  .membrane_layers__content {
    min-height: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .membrane_layers__panel,
  .membrane_layers__stack,
  .membrane_layers__graphic [data-layer] {
    transition: none;
  }
}
.membrane_solar_panels {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 66px 20px 64px;
  overflow: hidden;
  background: #d6eacd;
  color: #111;
}
.membrane_solar_panels__inner {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  align-items: center;
  width: 100%;
  max-width: 1600px;
  min-height: 320px;
  margin: 0 auto;
}
.membrane_solar_panels__copy {
  position: relative;
  z-index: 2;
  padding-left: 48px;
}
.membrane_solar_panels__supertitle {
  margin: 0 0 20px;
  color: #55a82f;
  font-family: "AmsiPro", sans-serif;
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .membrane_solar_panels__supertitle {
    font-size: 30px !important;
  }
}
.membrane_solar_panels__supertitle {
  font-weight: 400 !important;
  line-height: 1.15;
  text-transform: uppercase;
}
.membrane_solar_panels__title {
  margin: 0 !important;
  color: #111;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .membrane_solar_panels__title {
    font-size: 48px !important;
  }
}
.membrane_solar_panels__benefits {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .membrane_solar_panels__benefits {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .membrane_solar_panels__benefits {
    font-size: 24px;
  }
}
.membrane_solar_panels__benefits {
  font-weight: 400;
  font-weight: 700;
  line-height: 1.42;
}
.membrane_solar_panels__benefits li {
  position: relative;
  margin: 0 0 10px;
  padding-left: 0.75em;
  font-size: inherit !important;
}
.membrane_solar_panels__benefits li::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
  color: #111 !important;
}
.membrane_solar_panels__benefits li::marker {
  color: #111 !important;
}
.membrane_solar_panels__image-wrap {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1.4;
}
.membrane_solar_panels__scene {
  position: relative;
  width: 100%;
  height: 100%;
}
.membrane_solar_panels__dome-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  aspect-ratio: 339/104.61;
}
.membrane_solar_panels__dome {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.membrane_solar_panels__rays {
  position: absolute;
  right: 17%;
  bottom: 83%;
  z-index: 2;
  width: 40%;
  aspect-ratio: 178.54/68.7;
}
.membrane_solar_panels__rays svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.membrane_solar_panels__ray line {
  stroke-dasharray: var(--ray-len);
  stroke-dashoffset: var(--ray-len);
}
.membrane_solar_panels__ray polygon {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transform: scale(0.4);
}
.membrane_solar_panels__ray:nth-child(1) line:nth-child(1) {
  --ray-len: .707;
}
.membrane_solar_panels__ray:nth-child(1) line:nth-child(2) {
  --ray-len: 59.603;
}
.membrane_solar_panels__ray:nth-child(1) line:nth-child(3) {
  --ray-len: .698;
}
.membrane_solar_panels__ray:nth-child(2) line:nth-child(1) {
  --ray-len: .7;
}
.membrane_solar_panels__ray:nth-child(2) line:nth-child(2) {
  --ray-len: 69.842;
}
.membrane_solar_panels__ray:nth-child(2) line:nth-child(3) {
  --ray-len: .707;
}
.membrane_solar_panels__ray:nth-child(3) line:nth-child(1) {
  --ray-len: .703;
}
.membrane_solar_panels__ray:nth-child(3) line:nth-child(2) {
  --ray-len: 86.038;
}
.membrane_solar_panels__ray:nth-child(3) line:nth-child(3) {
  --ray-len: .709;
}
.membrane_solar_panels__ray:nth-child(4) line:nth-child(1) {
  --ray-len: .702;
}
.membrane_solar_panels__ray:nth-child(4) line:nth-child(2) {
  --ray-len: 103.111;
}
.membrane_solar_panels__ray:nth-child(4) line:nth-child(3) {
  --ray-len: .705;
}
.membrane_solar_panels__sun {
  position: absolute;
  right: 10%;
  bottom: 100%;
  z-index: 3;
  width: 17%;
  margin-bottom: 12%;
  aspect-ratio: 1;
}
.membrane_solar_panels__battery {
  position: absolute;
  left: 2%;
  bottom: 100%;
  z-index: 3;
  width: 11%;
  margin-bottom: 8%;
  aspect-ratio: 54.74/90.26;
}
.membrane_solar_panels__battery svg {
  display: block;
  width: 100%;
  height: 100%;
}
.membrane_solar_panels__battery-bar {
  opacity: 0;
}
.membrane_solar_panels__battery-bar--1 {
  opacity: 1;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(1) line {
  animation: solar-ray-draw-loop 4s ease-in-out 0.2s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(1) polygon {
  animation: solar-ray-arrow-loop 4s ease-in-out 0.2s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(2) line {
  animation: solar-ray-draw-loop 4s ease-in-out 0.95s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(2) polygon {
  animation: solar-ray-arrow-loop 4s ease-in-out 0.95s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(3) line {
  animation: solar-ray-draw-loop 4s ease-in-out 1.7s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(3) polygon {
  animation: solar-ray-arrow-loop 4s ease-in-out 1.7s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(4) line {
  animation: solar-ray-draw-loop 4s ease-in-out 2.45s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__ray:nth-child(4) polygon {
  animation: solar-ray-arrow-loop 4s ease-in-out 2.45s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__sun {
  animation: sky-window-sun-pulse 3.2s ease-in-out 0.3s infinite;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__battery-bar--1 {
  animation: solar-battery-blink 0.7s ease-in-out 0.3s 3;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__battery-bar--2 {
  animation: solar-battery-bar-in 0.4s ease-out 2.7s forwards;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__battery-bar--3 {
  animation: solar-battery-bar-in 0.4s ease-out 3.7s forwards;
}
.membrane_solar_panels__scene.is-animating .membrane_solar_panels__battery-bar--4 {
  animation: solar-battery-bar-in 0.4s ease-out 4.7s forwards;
}

@media (max-width: 900px) {
  .membrane_solar_panels__inner {
    grid-template-columns: minmax(0, 48%) minmax(0, 52%);
  }
  .membrane_solar_panels__copy {
    padding-left: 20px;
  }
}
@media (max-width: 680px) {
  .membrane_solar_panels {
    padding: 48px 14px 52px;
  }
  .membrane_solar_panels__inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
  }
  .membrane_solar_panels__copy {
    padding: 0 12px;
  }
  .membrane_solar_panels__supertitle {
    margin-bottom: 13px;
    font-size: 13px !important;
  }
  .membrane_solar_panels__benefits {
    margin-top: 20px;
  }
  .membrane_solar_panels__image-wrap {
    margin-top: 18px;
  }
}
@keyframes solar-battery-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
}
@keyframes solar-battery-bar-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes solar-ray-draw-loop {
  0% {
    stroke-dashoffset: var(--ray-len);
    opacity: 1;
  }
  35%, 72.5% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  90%, 100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
@keyframes solar-ray-arrow-loop {
  0%, 100% {
    opacity: 0;
    transform: scale(0.4);
  }
  35%, 72.5% {
    opacity: 1;
    transform: scale(1);
  }
  90% {
    opacity: 0;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .membrane_solar_panels__ray line {
    stroke-dashoffset: 0;
    animation: none !important;
  }
  .membrane_solar_panels__ray polygon {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
  .membrane_solar_panels__sun {
    animation: none !important;
  }
  .membrane_solar_panels__battery-bar {
    opacity: 1;
    animation: none !important;
  }
}
.membrane_sky_window {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 52px 20px 54px;
  overflow: hidden;
  background: #58585a;
  color: #fff;
}
.membrane_sky_window__inner {
  display: grid;
  grid-template-columns: minmax(0, 58%) minmax(0, 42%);
  align-items: center;
  width: 100%;
  max-width: 1600px;
  min-height: 360px;
  margin: 0 auto;
}
.membrane_sky_window__image-wrap {
  width: 100%;
  aspect-ratio: 1.4;
}
.membrane_sky_window__scene {
  position: relative;
  width: 100%;
  height: 100%;
}
.membrane_sky_window__dome-wrap {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  aspect-ratio: 339/104.61;
}
.membrane_sky_window__dome-wrap svg {
  display: block;
  width: 100%;
  height: 100%;
}
.membrane_sky_window__dome-fill {
  opacity: 1;
}
.membrane_sky_window__rays {
  position: absolute;
  right: 26%;
  bottom: 100%;
  z-index: 2;
  width: 42%;
  margin-bottom: 2%;
  aspect-ratio: 178.54/68.7;
}
.membrane_sky_window__rays svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.membrane_sky_window__ray line {
  stroke-dasharray: var(--ray-len);
  stroke-dashoffset: var(--ray-len);
}
.membrane_sky_window__ray polygon {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: 50% 50%;
  transform: scale(0.4);
}
.membrane_sky_window__ray:nth-child(1) line:nth-child(1) {
  --ray-len: .707;
}
.membrane_sky_window__ray:nth-child(1) line:nth-child(2) {
  --ray-len: 59.603;
}
.membrane_sky_window__ray:nth-child(1) line:nth-child(3) {
  --ray-len: .698;
}
.membrane_sky_window__ray:nth-child(2) line:nth-child(1) {
  --ray-len: .7;
}
.membrane_sky_window__ray:nth-child(2) line:nth-child(2) {
  --ray-len: 69.842;
}
.membrane_sky_window__ray:nth-child(2) line:nth-child(3) {
  --ray-len: .707;
}
.membrane_sky_window__ray:nth-child(3) line:nth-child(1) {
  --ray-len: .703;
}
.membrane_sky_window__ray:nth-child(3) line:nth-child(2) {
  --ray-len: 86.038;
}
.membrane_sky_window__ray:nth-child(3) line:nth-child(3) {
  --ray-len: .709;
}
.membrane_sky_window__ray:nth-child(4) line:nth-child(1) {
  --ray-len: .702;
}
.membrane_sky_window__ray:nth-child(4) line:nth-child(2) {
  --ray-len: 103.111;
}
.membrane_sky_window__ray:nth-child(4) line:nth-child(3) {
  --ray-len: .705;
}
.membrane_sky_window__sun {
  position: absolute;
  right: 22%;
  bottom: 100%;
  z-index: 3;
  width: 17%;
  margin-bottom: 20%;
  aspect-ratio: 1;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(1) line {
  animation: sky-window-ray-draw-loop 4s ease-in-out 0.2s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(1) polygon {
  animation: sky-window-ray-arrow-loop 4s ease-in-out 0.2s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(2) line {
  animation: sky-window-ray-draw-loop 4s ease-in-out 0.95s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(2) polygon {
  animation: sky-window-ray-arrow-loop 4s ease-in-out 0.95s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(3) line {
  animation: sky-window-ray-draw-loop 4s ease-in-out 1.7s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(3) polygon {
  animation: sky-window-ray-arrow-loop 4s ease-in-out 1.7s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(4) line {
  animation: sky-window-ray-draw-loop 4s ease-in-out 2.45s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__ray:nth-child(4) polygon {
  animation: sky-window-ray-arrow-loop 4s ease-in-out 2.45s infinite;
}
.membrane_sky_window__scene.is-animating .membrane_sky_window__sun {
  animation: sky-window-sun-pulse 3.2s ease-in-out 0.3s infinite;
}
.membrane_sky_window__copy {
  position: relative;
  z-index: 2;
  max-width: 600px;
  padding: 0 30px 0 48px;
}
.membrane_sky_window__title {
  margin: 0 !important;
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .membrane_sky_window__title {
    font-size: 48px !important;
  }
}
.membrane_sky_window__benefits {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  color: #fff;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .membrane_sky_window__benefits {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .membrane_sky_window__benefits {
    font-size: 24px;
  }
}
.membrane_sky_window__benefits {
  font-weight: 400;
  font-weight: 700;
  line-height: 1.48;
}
.membrane_sky_window__benefits li {
  position: relative;
  margin: 0 0 11px;
  padding-left: 0.75em;
  font-size: inherit !important;
}
.membrane_sky_window__benefits li::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
  color: #fff !important;
}
.membrane_sky_window__benefits li::marker {
  color: #fff !important;
}

@media (max-width: 900px) {
  .membrane_sky_window__inner {
    grid-template-columns: minmax(0, 54%) minmax(0, 46%);
  }
  .membrane_sky_window__copy {
    padding-right: 12px;
    padding-left: 28px;
  }
}
@media (max-width: 680px) {
  .membrane_sky_window {
    padding: 46px 14px 52px;
  }
  .membrane_sky_window__inner {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }
  .membrane_sky_window__image-wrap {
    width: 108%;
    margin: 0 -4%;
  }
  .membrane_sky_window__copy {
    width: 100%;
    max-width: none;
    padding: 24px 12px 0;
  }
  .membrane_sky_window__benefits {
    margin-top: 22px;
  }
}
@keyframes sky-window-ray-draw-loop {
  0% {
    stroke-dashoffset: var(--ray-len);
    opacity: 1;
  }
  35%, 72.5% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
  90%, 100% {
    stroke-dashoffset: 0;
    opacity: 0;
  }
}
@keyframes sky-window-ray-arrow-loop {
  0%, 100% {
    opacity: 0;
    transform: scale(0.4);
  }
  35%, 72.5% {
    opacity: 1;
    transform: scale(1);
  }
  90% {
    opacity: 0;
    transform: scale(1);
  }
}
@keyframes sky-window-sun-pulse {
  0%, 100% {
    opacity: 0.88;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .membrane_sky_window__ray line {
    stroke-dashoffset: 0;
    animation: none !important;
  }
  .membrane_sky_window__ray polygon {
    opacity: 1;
    transform: none;
    animation: none !important;
  }
  .membrane_sky_window__sun {
    animation: none !important;
  }
  .membrane_sky_window__dome-fill {
    opacity: 1;
    animation: none !important;
  }
}
/* --------------------------------------------------------------------------
   Block: Sustainability
-------------------------------------------------------------------------- */
.sustainability {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 70px 0 90px;
  background: #fff;
  color: #1f1f1f;
  overflow: hidden;
}
.sustainability__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 20px;
}
.sustainability__header {
  width: 100%;
}
.sustainability__title {
  margin: 0 !important;
  color: #1f1f1f;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .sustainability__title {
    font-size: 48px !important;
  }
}
.sustainability__title {
  font-weight: 700 !important;
  line-height: 1.1;
  text-transform: uppercase;
}
.sustainability__description {
  max-width: none;
  margin-top: 24px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .sustainability__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .sustainability__description {
    font-size: 24px;
  }
}
.sustainability__description {
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .sustainability__description {
    white-space: nowrap;
  }
}
.sustainability__description p {
  margin: 0 0 16px !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.sustainability__description p:last-child {
  margin-bottom: 0 !important;
}
.sustainability__description strong,
.sustainability__description b {
  font-weight: 700;
}
.sustainability__description .second-color {
  color: #5BB74D !important;
}
.sustainability__visual {
  position: relative;
  width: 80%;
  margin: 50px auto 0;
  aspect-ratio: 841.9/395.3;
}
@media only screen and (min-width: 768px) {
  .sustainability__visual {
    margin-top: 80px;
  }
}
.sustainability__graphic {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sustainability__icons {
  position: absolute;
  inset: 0;
}
.sustainability__icon {
  display: none;
  position: absolute;
  align-items: center;
  justify-content: center;
  width: 6.18%;
  aspect-ratio: 1/1;
  transform: translate(-50%, -50%);
  text-decoration: none;
  color: #1a411d;
}
@media only screen and (min-width: 600px) {
  .sustainability__icon {
    display: flex;
  }
}
.sustainability__icon--pos-1 {
  top: 19.25%;
  left: 32.56%;
}
.sustainability__icon--pos-2 {
  top: 17.43%;
  left: 92.41%;
}
.sustainability__icon--pos-3 {
  top: 37.9%;
  left: 63.72%;
}
.sustainability__icon--pos-4 {
  top: 86.54%;
  left: 10.05%;
}
.sustainability__icon--pos-5 {
  top: 89.65%;
  left: 93.56%;
}
.sustainability__icon[href] {
  cursor: pointer;
  transition: transform 0.25s ease;
}
.sustainability__icon[href]:hover, .sustainability__icon[href]:focus-visible {
  transform: translate(-50%, -50%) scale(1.12);
}
.sustainability__icon_badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.sustainability__svg {
  display: block;
  width: auto;
  height: auto;
  max-width: 64%;
  max-height: 64%;
}
.sustainability__text {
  max-width: 1000px;
  margin: 40px auto 0;
  text-align: center;
  color: #1f1f1f;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .sustainability__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .sustainability__text {
    font-size: 24px;
  }
}
.sustainability__text {
  font-weight: 400;
  line-height: 1.5;
}
@media only screen and (min-width: 768px) {
  .sustainability__text {
    margin-top: -120px;
  }
}
.sustainability__text p {
  margin: 0 0 10px !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.sustainability__text p:last-child {
  margin-bottom: 0 !important;
}
.sustainability__text strong,
.sustainability__text b {
  font-weight: 700;
}
.sustainability__text .second-color {
  color: #5BB74D !important;
}

@media only screen and (max-width: 599px) {
  .sustainability__visual {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    aspect-ratio: auto;
  }
  .sustainability__graphic {
    height: auto;
  }
  .sustainability__icons {
    position: static;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px 16px;
    margin-top: 30px;
  }
  .sustainability__icon {
    display: flex;
    position: static;
    width: 56px;
    transform: none;
  }
  .sustainability__icon:hover, .sustainability__icon:focus-visible {
    transform: scale(1.12);
  }
}
body.has-sustainability main.l-page > .main_page_title,
body.has-sustainability main.l-page > .main_title_flex {
  display: none;
}

/* --------------------------------------------------------------------------
   Block: Smart dome app
   Positioning/text-scale/image sizing copied 1:1 from .remote_control_center
   (grid columns, page-gutter bleed on the image, same media/image rules).
   The card background is the only addition on top of that layout.
-------------------------------------------------------------------------- */
.smart_dome_app {
  --smart-page-gutter: max(20px, calc((100vw - 1600px) / 2));
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 72px 20px;
  overflow: hidden;
  background: #fff;
  color: #242424;
}
@media only screen and (min-width: 768px) {
  .smart_dome_app {
    --smart-page-gutter: max(30px, calc((100vw - 1600px) / 2));
    padding: 106px 30px 110px;
  }
}
.smart_dome_app__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media only screen and (min-width: 900px) {
  .smart_dome_app__inner {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
    column-gap: clamp(40px, 6vw, 100px);
    align-items: center;
  }
}
.smart_dome_app__card {
  padding: 36px 28px;
  border-radius: 24px;
  background: #d6eacd;
  box-shadow: 0 20px 45px rgba(5, 75, 24, 0.18);
}
@media only screen and (min-width: 768px) {
  .smart_dome_app__card {
    padding: 52px 48px;
  }
}
@media only screen and (min-width: 900px) {
  .smart_dome_app__card {
    position: absolute;
    top: 50%;
    left: calc((100vw - 100%) / -2);
    grid-column: 1;
    width: calc(56% + (100vw - 100%) / 2);
    padding: 52px 48px 52px max(48px, (100vw - 1600px) / 2 + 48px);
    border-radius: 0 24px 24px 0;
    transform: translateY(-50%);
  }
}
.smart_dome_app__title {
  max-width: 720px;
  margin: 0 !important;
  color: #063d0f;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .smart_dome_app__title {
    font-size: 48px !important;
  }
}
.smart_dome_app__description {
  max-width: 620px;
  margin-top: 24px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .smart_dome_app__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .smart_dome_app__description {
    font-size: 24px;
  }
}
.smart_dome_app__description {
  font-weight: 400;
  line-height: 1.45;
}
@media only screen and (min-width: 768px) {
  .smart_dome_app__description {
    margin-top: 32px;
  }
}
.smart_dome_app__description p {
  margin: 0 0 20px !important;
  color: inherit;
  font-size: inherit;
  font-weight: inherit !important;
  line-height: inherit;
}
.smart_dome_app__description ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.smart_dome_app__description li {
  position: relative;
  margin: 0 0 14px !important;
  padding: 0 0 0 18px !important;
  color: #3b3b3b;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.3;
  list-style: none;
}
@media only screen and (min-width: 768px) {
  .smart_dome_app__description li {
    font-size: 20px !important;
  }
}
.smart_dome_app__description li:last-child {
  margin-bottom: 0 !important;
}
.smart_dome_app__description li::before {
  content: "" !important;
  position: absolute;
  top: 50% !important;
  left: 0;
  display: block !important;
  width: 6px !important;
  height: 6px !important;
  margin: 0 !important;
  border-radius: 50%;
  background: #509d30;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: translateY(-50%) !important;
}
.smart_dome_app__description strong,
.smart_dome_app__description b {
  color: #509d30;
  font-weight: 700;
}
.smart_dome_app__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 160px;
  height: 46px;
  margin-top: 32px;
  padding: 0 30px;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 16px !important;
  font-weight: 700 !important;
}
@media only screen and (min-width: 768px) {
  .smart_dome_app__cta {
    font-size: 18px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .smart_dome_app__cta {
    font-size: 20px !important;
  }
}
.smart_dome_app__cta {
  text-decoration: none !important;
  text-transform: capitalize;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.smart_dome_app__cta:hover, .smart_dome_app__cta:focus-visible {
  background: #063d0f;
  color: #fff !important;
  transform: translateY(-2px);
}
.smart_dome_app__media {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 40px auto 0;
}
@media only screen and (min-width: 900px) {
  .smart_dome_app__media {
    grid-column: 2;
    width: calc(100% + var(--smart-page-gutter));
    margin: -40px calc(-1 * var(--smart-page-gutter)) 0 0;
    justify-content: flex-end;
    justify-self: end;
  }
}
.smart_dome_app__image {
  display: block;
  width: 100%;
  max-width: 650px;
  height: auto;
  object-fit: contain;
}

/* --------------------------------------------------------------------------
   Block: Energy class
-------------------------------------------------------------------------- */
.energy_class {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 70px 20px 100px;
  background: #F2F4F3;
  color: #1f1f1f;
  overflow: hidden;
}
.energy_class__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.energy_class__header {
  max-width: 620px;
  margin: 0 auto;
  text-align: center;
}
.energy_class__title {
  margin: 0 !important;
  color: rgb(50.8432, 105.2336, 42.5664);
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .energy_class__title {
    font-size: 48px !important;
  }
}
.energy_class__title {
  font-weight: 700 !important;
  line-height: 1.15;
  text-transform: uppercase;
}
.energy_class__description {
  max-width: none;
  margin-top: 16px;
  color: #3b3b3b;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .energy_class__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .energy_class__description {
    font-size: 24px;
  }
}
.energy_class__description {
  font-weight: 400;
  line-height: 1.5;
}
.energy_class__description p {
  margin: 0 0 10px !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.energy_class__description p:last-child {
  margin-bottom: 0 !important;
}
.energy_class__description strong,
.energy_class__description b {
  font-weight: 700;
}
.energy_class__visual {
  margin-top: 56px;
  padding-bottom: 60px;
}
@media only screen and (min-width: 768px) {
  .energy_class__visual {
    margin-top: 74px;
    padding-bottom: 76px;
  }
}
.energy_class__scale {
  position: relative;
  display: flex;
  align-items: flex-end;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
}
.energy_class__bar {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0%;
  height: 84px;
  transition: height 1.1s cubic-bezier(0.22, 1, 0.36, 1), flex-grow 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.energy_class__bar--a-plus {
  background: #5BB74D;
}
.energy_class__bar--b {
  background: #8dbf4d;
}
.energy_class__bar--c {
  background: #d3d94a;
}
.energy_class__bar--d {
  background: #e0b24f;
}
.energy_class__bar--e {
  background: #dc9a49;
}
.energy_class__bar--f {
  background: #d97a49;
}
.energy_class__bar--g {
  background: #EB5656;
}
.energy_class__bar_label {
  color: #fff;
  font-family: "AmsiPro", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  transition: font-size 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
@media only screen and (min-width: 768px) {
  .energy_class__bar_label {
    font-size: 26px;
  }
}
.energy_class.is-charged .energy_class__bar--a-plus {
  flex-grow: 1.6;
  height: 148px;
}
.energy_class.is-charged .energy_class__bar--a-plus .energy_class__bar_label {
  font-size: 30px;
}
@media only screen and (min-width: 768px) {
  .energy_class.is-charged .energy_class__bar--a-plus .energy_class__bar_label {
    font-size: 44px;
  }
}
.energy_class__pointer {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 14px;
  width: 0;
  height: 0;
  border-left: 22px solid transparent;
  border-right: 22px solid transparent;
  border-bottom: 30px solid #7a7a7a;
  transform: translateX(-50%);
  opacity: 0;
  transition: left 2.1s cubic-bezier(0.65, 0, 0.35, 1), top 1.1s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s ease;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .energy_class__pointer {
    border-left-width: 28px;
    border-right-width: 28px;
    border-bottom-width: 38px;
  }
}
.energy_class.is-animating .energy_class__pointer, .energy_class.is-charged .energy_class__pointer {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .energy_class__bar, .energy_class__bar_label, .energy_class__pointer {
    transition: none;
  }
}

/* --------------------------------------------------------------------------
   Block: Sustainable technology
-------------------------------------------------------------------------- */
.sustainable_technology {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 64px 20px 72px;
  overflow-x: clip;
  background: #d6eacd;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology {
    padding: 84px 30px 96px;
  }
}
.sustainable_technology__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.sustainable_technology__header {
  margin-bottom: 48px;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology__header {
    margin-bottom: 64px;
  }
}
.sustainable_technology__supertitle {
  font-size: 18px !important;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology__supertitle {
    font-size: 30px !important;
  }
}
.sustainable_technology__supertitle {
  display: block;
  margin-bottom: 10px;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-weight: 400;
  line-height: 1.15;
  text-transform: uppercase;
}
.sustainable_technology__title {
  margin: 0 !important;
  color: #000;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology__title {
    font-size: 48px !important;
  }
}
.sustainable_technology__title {
  font-weight: 700 !important;
  line-height: 1.08;
  text-transform: uppercase;
}
.sustainable_technology__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media only screen and (min-width: 800px) {
  .sustainable_technology__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 24px;
  }
}
.sustainable_technology__card {
  display: flex;
  align-items: center;
  min-height: 220px;
  padding: 28px 30px;
  border-radius: 18px;
  background: #004206;
  box-shadow: 0 8px 20px rgba(0, 66, 6, 0.28);
  color: #fff;
}
.sustainable_technology__card_content {
  flex: 1 1 auto;
  min-width: 0;
}
.sustainable_technology__card_title {
  margin: 0 0 16px !important;
  color: #509d30;
  font-family: "AmsiPro", sans-serif;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology__card_title {
    font-size: 24px !important;
  }
}
.sustainable_technology__card_list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .sustainable_technology__card_list {
    font-size: 16px;
  }
}
.sustainable_technology__card_list li {
  margin: 0 0 10px !important;
  padding: 0 !important;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
  list-style: none !important;
}
.sustainable_technology__card_list li::before, .sustainable_technology__card_list li::marker {
  content: none !important;
  display: none !important;
}
.sustainable_technology__card_list li:last-child {
  margin-bottom: 0 !important;
}
.sustainable_technology__card_cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 46px;
  margin-top: 22px;
  padding: 0 26px;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.sustainable_technology__card_cta:hover, .sustainable_technology__card_cta:focus-visible {
  background: #063d0f;
  color: #fff !important;
  transform: translateY(-2px);
}
.sustainable_technology__card_cta_arrow {
  font-size: 16px;
  line-height: 1;
}
.sustainable_technology__icon {
  flex: 0 0 145px;
  width: 145px;
  margin-left: 28px;
  color: #fff;
}
.sustainable_technology__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.sustainable_technology__svg--hvac #hvac > g {
  transform-box: view-box;
  transform-origin: 165.86px 379.31px;
  animation: sustainable-hvac-gear 8s linear infinite;
}
.sustainable_technology__svg--hvac #hvac > g:nth-of-type(2) {
  transform-origin: 429.47px 271.18px;
  animation-direction: reverse;
  animation-duration: 6s;
}
.sustainable_technology__svg--hvac #hvac > path {
  --sustainable-hvac-leaf-offset: 2px;
  transform-box: fill-box;
  transform-origin: bottom center;
  animation: sustainable-hvac-leaf 3.4s ease-in-out infinite alternate;
}
.sustainable_technology__svg--hvac #hvac > path:last-child {
  --sustainable-hvac-leaf-offset: -2px;
  animation-delay: -0.8s;
}
.sustainable_technology__svg--lighting {
  animation: sustainable-bulb-glow 5s ease-in-out infinite;
}
.sustainable_technology__svg--lighting #lighting > path:last-child {
  transform-box: fill-box;
  transform-origin: bottom center;
  animation: sustainable-bulb-leaf 5s ease-out infinite;
}
.sustainable_technology__svg--lighting #lighting > line {
  transform-box: fill-box;
  transform-origin: center;
  animation: sustainable-bulb-rays 5s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .sustainable_technology__svg--hvac #hvac > g, .sustainable_technology__svg--hvac #hvac > path, .sustainable_technology__svg--lighting, .sustainable_technology__svg--lighting #lighting > path:last-child, .sustainable_technology__svg--lighting #lighting > line {
    animation: none;
  }
}
@media only screen and (max-width: 599px) {
  .sustainable_technology__card {
    align-items: flex-start;
    min-height: 0;
    padding: 24px 22px;
  }
  .sustainable_technology__icon {
    flex-basis: 96px;
    width: 96px;
    margin-left: 16px;
  }
  .sustainable_technology__card_title {
    font-size: 18px !important;
  }
}

@keyframes sustainable-hvac-gear {
  to {
    transform: rotate(360deg);
  }
}
@keyframes sustainable-hvac-leaf {
  from {
    transform: translateX(var(--sustainable-hvac-leaf-offset)) translateY(3px) rotate(-4deg);
  }
  to {
    transform: translateX(var(--sustainable-hvac-leaf-offset)) translateY(-6px) rotate(6deg);
  }
}
@keyframes sustainable-bulb-leaf {
  0%, 8% {
    opacity: 0;
    transform: translateY(14px) scale(0.72);
  }
  25%, 100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes sustainable-bulb-rays {
  0%, 28% {
    opacity: 0;
    transform: scale(0.75);
  }
  48%, 100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes sustainable-bulb-glow {
  0%, 45%, 100% {
    filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
  }
  58%, 82% {
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8)) drop-shadow(0 0 24px rgba(143, 214, 122, 0.75));
  }
}
/* --------------------------------------------------------------------------
   Block: About timeline
   Note: the reference mock draws every stop as a literal circle, including
   the ones holding full paragraphs. Circles don't reflow paragraph text
   well, so open state relaxes border-radius from a true circle into a
   rounded "blob" that can grow to fit the text — same shape language,
   readable content.

   Layout: currently a plain single-column stack, no left/right placement
   and no connector line — those are being redone deliberately per element.
-------------------------------------------------------------------------- */
.about_timeline {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: 60px 20px 70px;
  overflow: hidden;
  background: #f2f4f3;
  color: #000;
}
@media only screen and (min-width: 768px) {
  .about_timeline {
    padding: 90px 30px 100px;
  }
}
.about_timeline__inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.about_timeline__list_wrap {
  position: relative;
}
.about_timeline__list {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}
.about_timeline__row {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 0 0 56px;
}
.about_timeline__media {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}
.about_timeline__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about_timeline__stop {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1), height 0.55s cubic-bezier(0.22, 1, 0.36, 1), border-radius 0.55s cubic-bezier(0.22, 1, 0.36, 1), padding 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.about_timeline__stop--big {
  width: 168px;
  height: 168px;
  padding: 20px;
  border-radius: 50%;
  background: #bfe1ac;
  color: #16350f;
}
@media only screen and (min-width: 768px) {
  .about_timeline__stop--big {
    width: 200px;
    height: 200px;
  }
}
.about_timeline__stop--dot {
  width: 130px;
  height: 130px;
  padding: 18px;
  border-radius: 50%;
  background: #0b3d16;
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .about_timeline__stop--dot {
    width: 150px;
    height: 150px;
  }
}
.about_timeline__icon {
  width: 40%;
  max-width: 56px;
  margin-bottom: 10px;
  color: #16350f;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.about_timeline__svg {
  display: block;
  width: 100%;
  height: auto;
}
.about_timeline__svg path,
.about_timeline__svg circle,
.about_timeline__svg line {
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.about_timeline__stop_content {
  min-width: 0;
}
.about_timeline__stop_title {
  margin: 0 !important;
  color: inherit;
  font-family: "AmsiPro", sans-serif;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  text-transform: uppercase;
}
.about_timeline__stop--dot .about_timeline__stop_title {
  font-size: 12px !important;
}
.about_timeline__stop_text {
  display: none;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .about_timeline__stop_text {
    font-size: 15px;
  }
}
.about_timeline__stop.is-open.about_timeline__stop--big, .about_timeline__stop.is-open.about_timeline__stop--dot {
  width: 100%;
  max-width: 380px;
  height: auto;
  padding: 32px 30px;
  border-radius: 28px;
}
.about_timeline__stop.is-open .about_timeline__icon {
  display: none;
}
.about_timeline__stop.is-open .about_timeline__stop_text {
  display: block;
}
.about_timeline__cta_wrap {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}
.about_timeline__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 30px;
  border-radius: 999px;
  background: #509d30;
  color: #fff !important;
  font-family: "AmsiPro", sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.25s ease, transform 0.25s ease;
}
.about_timeline__cta:hover, .about_timeline__cta:focus-visible {
  background: #063d0f;
  color: #fff !important;
  transform: translateY(-2px);
}
.about_timeline__cta_arrow {
  font-size: 16px;
  line-height: 1;
}
@media (prefers-reduced-motion: reduce) {
  .about_timeline__stop {
    transition: none;
  }
}

.installation_media {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-left: -50vw;
  padding: clamp(56px, 5vw, 90px) 20px;
  overflow: hidden;
  background: #fff;
}
.installation_media__inner {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
@media (min-width: 900px) {
  .installation_media__inner {
    width: min(100%, calc((100vh - 380px) * 16 / 9 * 4 / 3 + 54px));
    width: min(100%, calc((100svh - 380px) * 16 / 9 * 4 / 3 + 54px));
  }
}
.installation_media__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title cta" "description description";
  column-gap: clamp(24px, 3vw, 54px);
  align-items: center;
  margin-bottom: clamp(30px, 3vw, 48px);
}
.installation_media__title {
  grid-area: title;
  margin: 0 !important;
  color: #004b14;
  font-family: "AmsiPro", sans-serif;
  font-size: 32px !important;
}
@media only screen and (min-width: 768px) {
  .installation_media__title {
    font-size: 48px !important;
  }
}
.installation_media__title {
  font-weight: 700 !important;
  line-height: 1;
  text-transform: uppercase;
}
.installation_media__description {
  grid-area: description;
  margin-top: 26px;
  color: #50a92f;
  font-size: calc(16px + 8 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .installation_media__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .installation_media__description {
    font-size: 24px;
  }
}
.installation_media__description {
  font-weight: 400;
  line-height: 1.35;
}
.installation_media__description p {
  margin: 0 !important;
}
.installation_media__layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 1fr);
  grid-template-areas: "stage rail";
  gap: clamp(28px, 3vw, 54px);
  align-items: start;
}
.installation_media__stage {
  grid-area: stage;
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 24px;
  background: #111;
}
.installation_media__main-media, .installation_media__thumb img, .installation_media__thumb video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.installation_media__cta {
  grid-area: cta;
  display: inline-flex;
  min-height: 54px;
  padding: 12px 32px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #004b14;
  color: #fff !important;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none !important;
}
.installation_media__rail {
  position: relative;
  grid-area: rail;
  align-self: stretch;
  min-width: 0;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  overflow: visible;
}
.installation_media__thumbs {
  height: 100%;
  overflow: visible;
}
.installation_media__thumbs .slick-list {
  height: 100% !important;
  overflow: hidden !important;
}
.installation_media__thumbs .slick-track {
  margin: 0 !important;
}
.installation_media__slide {
  padding: 7px 0;
  box-sizing: border-box;
  overflow: hidden;
}
.installation_media__thumb {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 3px solid transparent;
  border-radius: 13px;
  background: #ddd;
  cursor: pointer;
}
.installation_media__thumb.is-active {
  border-color: #55b833;
}
.installation_media__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 46px;
  height: 46px;
  border: 3px solid #63c638;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.installation_media__play::after {
  position: absolute;
  top: 50%;
  left: 54%;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #63c638;
  content: "";
  transform: translate(-50%, -50%);
}
.installation_media__arrow {
  position: absolute;
  left: 50%;
  z-index: 2;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transform: translateX(-50%) rotate(45deg);
}
.installation_media__arrow::before {
  position: absolute;
  inset: 8px;
  border: solid #004b14;
  border-width: 5px 0 0 5px;
  content: "";
}
.installation_media__arrow--prev {
  top: -48px;
}
.installation_media__arrow--next {
  bottom: -48px;
  transform: translateX(-50%) rotate(225deg);
}
.installation_media__arrow.slick-disabled {
  opacity: 0.3;
}
@media (max-width: 899px) {
  .installation_media__layout {
    grid-template-columns: 1fr;
    grid-template-areas: "stage" "rail";
  }
  .installation_media__rail {
    height: auto;
    padding: 0 44px;
  }
  .installation_media__header {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "description" "cta";
  }
  .installation_media__cta {
    width: 100%;
    margin-top: 24px;
  }
  .installation_media__thumbs, .installation_media__thumbs .slick-list {
    height: auto !important;
  }
  .installation_media__slide {
    height: 145px !important;
    padding: 0 7px;
  }
  .installation_media__arrow {
    top: 50%;
    left: auto;
    transform: translateY(-50%) rotate(-45deg);
  }
  .installation_media__arrow--prev {
    left: 0;
  }
  .installation_media__arrow--next {
    right: 0;
    bottom: auto;
    transform: translateY(-50%) rotate(135deg);
  }
}
@media (max-width: 600px) {
  .installation_media {
    padding-right: 15px;
    padding-left: 15px;
  }
  .installation_media__stage {
    border-radius: 16px;
  }
}

.l-card {
  color: #000;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 1024px) {
  .l-card {
    flex-wrap: nowrap;
  }
}
.l-card .l-card_img {
  width: 100%;
  height: auto;
  margin: 0;
  z-index: 1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  order: 2;
  padding-bottom: 50%;
  opacity: 0;
  transform: translateX(-100%);
  transition: all 0.6s;
}
@media only screen and (min-width: 1024px) {
  .l-card .l-card_img {
    width: 50%;
    order: 1;
    padding-bottom: 0;
    margin: 100px -5% 0 0;
  }
}
.l-card .l-card_text {
  width: 100%;
  background-color: #f5f7f7;
  padding: 50px 10px;
  margin-bottom: 0;
  order: 1;
}
@media only screen and (min-width: 1024px) {
  .l-card .l-card_text {
    width: 55%;
    order: 2;
    margin-bottom: 50px;
    padding: 100px 10px 100px 10%;
  }
}
@media only screen and (min-width: 1440px) {
  .l-card .l-card_text {
    padding: 120px 10px 120px 10%;
  }
}
@media only screen and (min-width: 1620px) {
  .l-card .l-card_text {
    padding: 120px calc((100% - 1600px) / 2) 120px 10%;
  }
}
.l-card .l-card_text .date {
  display: block;
  font-size: 16px;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .l-card .l-card_text .date {
    margin-bottom: 40px;
  }
}
.l-card .l-card_text .l-card_title {
  font-size: calc(26px + 34 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .l-card .l-card_text .l-card_title {
    font-size: 26px;
  }
}
@media screen and (min-width: 1400px) {
  .l-card .l-card_text .l-card_title {
    font-size: 60px;
  }
}
.l-card .l-card_text .l-card_title {
  font-family: "AmsiPro", sans-serif;
  line-height: 1;
  margin-bottom: 20px;
}
.l-card .l-card_text p {
  font-size: calc(16px + 6 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .l-card .l-card_text p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .l-card .l-card_text p {
    font-size: 22px;
  }
}
.l-card .l-card_text p {
  line-height: 1.36;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  .l-card .l-card_text p {
    margin-bottom: 60px;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto !important;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-arrow {
  outline: none !important;
  overflow: visible;
}
.slider .slick-arrow, .info_slider .slick-arrow, .gallery_slider_block__carousel .slick-arrow, .l-popup.gallery .gallery_slider .slick-arrow, .l-popup.tabs .l-popup_tabs .tabs .slick-arrow, .videos_wrap .slick-arrow, .video_thumbnails_slider .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  display: inline-block !important;
  width: 40px;
  height: 40px;
  transition: all 0.2s;
}
.slider .slick-arrow:after, .info_slider .slick-arrow:after, .gallery_slider_block__carousel .slick-arrow:after, .l-popup.gallery .gallery_slider .slick-arrow:after, .l-popup.tabs .l-popup_tabs .tabs .slick-arrow:after, .videos_wrap .slick-arrow:after, .video_thumbnails_slider .slick-arrow:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 48px;
  background: url("../img/arrow-right.png") no-repeat center center;
  background-size: contain;
  transition: all 0.2s;
}
.slider .slick-arrow.slick-prev, .info_slider .slick-arrow.slick-prev, .gallery_slider_block__carousel .slick-arrow.slick-prev, .l-popup.gallery .gallery_slider .slick-arrow.slick-prev, .l-popup.tabs .l-popup_tabs .tabs .slick-arrow.slick-prev, .videos_wrap .slick-arrow.slick-prev, .video_thumbnails_slider .slick-arrow.slick-prev {
  right: auto;
  left: 40px;
}
.slider .slick-arrow.slick-prev:after, .info_slider .slick-arrow.slick-prev:after, .gallery_slider_block__carousel .slick-arrow.slick-prev:after, .l-popup.gallery .gallery_slider .slick-arrow.slick-prev:after, .l-popup.tabs .l-popup_tabs .tabs .slick-arrow.slick-prev:after, .videos_wrap .slick-arrow.slick-prev:after, .video_thumbnails_slider .slick-arrow.slick-prev:after {
  transform: scaleX(-1);
}
.slider .slick-arrow.slick-next, .info_slider .slick-arrow.slick-next, .gallery_slider_block__carousel .slick-arrow.slick-next, .l-popup.gallery .gallery_slider .slick-arrow.slick-next, .l-popup.tabs .l-popup_tabs .tabs .slick-arrow.slick-next, .videos_wrap .slick-arrow.slick-next, .video_thumbnails_slider .slick-arrow.slick-next {
  right: 40px;
  left: auto;
}
.gallery_slider_block__carousel .slick-arrow.slick-prev {
  left: 8px;
}
.gallery_slider_block__carousel .slick-arrow.slick-next {
  right: 8px;
}
.references_slider_block__arrows .slick-arrow {
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9;
  display: inline-block !important;
  transition: color 0.2s, transform 0.2s;
}
.references_slider_block__arrows .slick-arrow:after {
  font-family: "icomoon" !important;
  content: "\e905";
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline-block;
  background: none;
  color: #5BB74D;
  height: auto;
  width: auto;
  font-size: 22px;
  transition: color 0.2s, transform 0.2s;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__arrows .slick-arrow:after {
    font-size: 24px;
  }
}
.references_slider_block__arrows .slick-arrow.slick-prev {
  left: 4px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__arrows .slick-arrow.slick-prev {
    left: 12px;
  }
}
.references_slider_block__arrows .slick-arrow.slick-prev:after {
  transform: rotate(90deg);
}
.references_slider_block__arrows .slick-arrow.slick-next {
  left: auto;
  right: 8px;
}
@media only screen and (min-width: 768px) {
  .references_slider_block__arrows .slick-arrow.slick-next {
    right: 12px;
  }
}
.references_slider_block__arrows .slick-arrow.slick-next:after {
  transform: rotate(-90deg);
}
.video_thumbnails_slider .slick-arrow {
  width: auto;
  height: auto;
}
.video_thumbnails_slider .slick-arrow:after {
  font-family: "icomoon" !important;
  content: "\e905";
  background: none;
  transform: none;
  color: #5BB74D;
  height: auto;
  width: auto;
  font-size: 24px;
}
.video_thumbnails_slider .slick-arrow.slick-prev {
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
}
.video_thumbnails_slider .slick-arrow.slick-prev:after {
  transform: scaleY(-1) !important;
}
.video_thumbnails_slider .slick-arrow.slick-next {
  bottom: -35px;
  top: auto;
  left: 50%;
  transform: translateX(-50%);
}
.video_thumbnails_slider .slick-arrow.slick-next:after {
  transform: scaleY(1) !important;
}
.videos_wrap .slick-arrow {
  width: auto;
  height: auto;
  border: none;
}
.videos_wrap .slick-arrow.slick-prev {
  left: 40%;
  bottom: -42px;
  right: auto;
  top: auto;
}
@media only screen and (min-width: 768px) {
  .videos_wrap .slick-arrow.slick-prev {
    bottom: -51px;
  }
}
@media only screen and (min-width: 1024px) {
  .videos_wrap .slick-arrow.slick-prev {
    left: 10px;
    bottom: 7px;
  }
}
@media only screen and (min-width: 1620px) {
  .videos_wrap .slick-arrow.slick-prev {
    left: calc((100% - 1600px) / 2);
  }
}
.videos_wrap .slick-arrow.slick-next {
  left: auto;
  right: 40%;
  bottom: -39px;
  top: auto;
}
@media only screen and (min-width: 768px) {
  .videos_wrap .slick-arrow.slick-next {
    bottom: -48px;
  }
}
@media only screen and (min-width: 1024px) {
  .videos_wrap .slick-arrow.slick-next {
    right: auto;
    left: 130px;
    bottom: 13px;
  }
}
@media only screen and (min-width: 1620px) {
  .videos_wrap .slick-arrow.slick-next {
    left: calc((100% - 1270px) / 2);
  }
}
.videos_wrap .slick-arrow:after {
  font-size: 22px;
}
@media only screen and (min-width: 768px) {
  .videos_wrap .slick-arrow:after {
    font-size: 30px;
  }
}
@media only screen and (min-width: 1024px) {
  .videos_wrap .slick-arrow:after {
    font-size: 48px;
  }
}
.videos_wrap .slick-arrow:hover {
  background-color: inherit;
}
.videos_wrap .slick-arrow:hover:after {
  color: #fff;
}
.l-popup.tabs .gallery .slick-arrow:after {
  color: #000 !important;
}
.slider .slick-arrow {
  display: none !important;
}
@media only screen and (min-width: 768px) {
  .slider .slick-arrow {
    display: inline-block !important;
  }
}
.info_slider .slick-arrow.slick-prev {
  left: calc((100% - 1600px) / 2);
  top: auto;
  bottom: 29px;
  transform: none;
  border: none;
  width: 30px;
}
.info_slider .slick-arrow.slick-prev:after {
  font-size: 45px;
}
.info_slider .slick-arrow.slick-next {
  left: calc((100% - 1350px) / 2);
  top: auto;
  bottom: 34px;
  transform: none;
  border: none;
  width: 30px;
}
.info_slider .slick-arrow.slick-next:after {
  font-size: 45px;
}

.arrows {
  position: relative;
  display: block;
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
}
.arrows a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.arrows .slick-arrow {
  display: block;
  width: 50px;
  height: 93px;
  outline: none;
  border: none;
}
@media only screen and (min-width: 1024px) {
  .arrows .slick-arrow {
    width: 77px;
    height: 80px;
  }
}
.arrows .slick-arrow.slick-prev, .arrows .slick-arrow.slick-next {
  background-color: #3c3e42;
  border: solid 2px #d0d0d0;
  height: 70px;
  width: 70px;
  border-radius: 10px;
  position: relative;
}
.arrows .slick-arrow.slick-prev:before, .arrows .slick-arrow.slick-prev:after, .arrows .slick-arrow.slick-next:before, .arrows .slick-arrow.slick-next:after {
  position: absolute;
  top: 50%;
  left: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.arrows .slick-arrow.slick-prev:before, .arrows .slick-arrow.slick-next:before {
  top: 41%;
}
.arrows .slick-arrow.slick-prev:after, .arrows .slick-arrow.slick-next:after {
  top: 59%;
}
.arrows .slick-arrow.slick-prev:after, .arrows .slick-arrow.slick-prev:before {
  content: url(../img/next.png);
}
.arrows .slick-arrow.slick-next:before, .arrows .slick-arrow.slick-next:after {
  content: url(../img/prev.png);
}
.arrows .slick-arrow.slick-disabled {
  background: #ccc;
  cursor: not-allowed;
}
.arrows .slick-arrow.slick-disabled:before {
  top: 50%;
  font-family: "FontAwesome" !important;
  font-size: 30px;
  content: "\f05e";
  color: #3c3e42;
}
.arrows .slick-arrow.slick-disabled:after {
  display: none;
}
.arrows .zoomIn,
.arrows .zoomOut {
  position: absolute;
  top: calc(100% + 185px);
  width: 20px;
  height: 20px;
  display: block;
  background-color: #3c3e42;
  border: solid 2px #d0d0d0;
  border-radius: 10px;
  height: 70px;
  width: 70px;
}
.arrows .zoomIn {
  left: 0;
}
.arrows .zoomIn:before {
  content: url(../img/plus.png);
}
.arrows .zoomOut {
  right: 0;
}
.arrows .zoomOut:before {
  content: url(../img/minus.png);
}

.main_posts .slick-dots {
  margin: 0;
  padding: 0;
  position: relative;
  width: 28px;
  height: 20px;
  padding-left: 92px;
  margin-top: 60px;
}
.main_posts .slick-dots li {
  padding-left: 0;
  position: absolute;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
}
.main_posts .slick-dots li.slick-active {
  opacity: 1;
  visibility: visible;
}
.main_posts .slick-dots li .all,
.main_posts .slick-dots li .current {
  font-size: 26px;
  font-weight: bold;
  display: block;
  min-width: 35px;
}
.main_posts .slick-dots li .current {
  color: #89909a;
}
.main_posts .slick-dots li .all {
  color: rgba(137, 144, 154, 0.5);
}
.main_posts .slick-dots li .separator {
  background-color: rgba(137, 144, 154, 0.5);
  height: 3px;
  width: 36px;
  display: block;
  margin: 0 10px 0 8px;
}
.slider .slick-dots, .l-slider .slick-dots {
  display: none !important;
}
@media only screen and (min-width: 1024px) {
  .slider .slick-dots, .l-slider .slick-dots {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex !important;
    justify-content: center;
    list-style-type: none;
  }
}
.slider .slick-dots li.slick-active button, .l-slider .slick-dots li.slick-active button {
  background-color: #F48274;
  color: #F48274;
}
.slider .slick-dots li button, .l-slider .slick-dots li button {
  display: block;
  overflow: hidden;
  width: 20px;
  height: 20px;
  background-color: #F2F2F2;
  color: #F2F2F2;
  margin: 0 5px;
  outline: none;
  border-radius: 50%;
  transition: all 0.4s;
}
@media only screen and (min-width: 768px) {
  .slider .slick-dots li button, .l-slider .slick-dots li button {
    margin: 0 10px;
  }
}

.l-slider {
  position: relative;
  overflow: hidden;
  padding: 0px;
}
.l-slider:before {
  z-index: 1;
  pointer-events: none;
}
.l-slider .slider_item {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media only screen and (min-width: 1024px) {
  .l-slider .slider_item {
    max-height: calc(100vh - 100px);
  }
}
.l-slider .slider_item a {
  position: relative;
  display: block;
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .l-slider .slider_item a {
    max-height: calc(100vh - 100px);
    padding-bottom: 0;
  }
}
.l-slider .slider_item a img, .l-slider .slider_item a video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.l-slider .slider_item a .ozadje {
  opacity: 0;
  transition: all 1s 1s;
}
.l-slider .slider_item a .element {
  position: absolute;
  display: inline-block;
  top: 0px;
  left: 0px;
  width: 100%;
  height: auto;
}
.l-slider .slider_item a .element.niabsolute {
  position: relative;
  top: auto;
  left: auto;
}
.l-slider .slick-slide.slick-active .slider_item a .ozadje {
  opacity: 1;
  transition: all 2s;
}
.l-slider .slick-slide.slick-active .slider_item a .element {
  animation-duration: 1s;
  animation-timing-function: cubic-bezier(0, 0, 0.52, 0.99);
  animation-fill-mode: both;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(2) {
  animation-delay: 1s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(3) {
  animation-delay: 2s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(4) {
  animation-delay: 3s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(5) {
  animation-delay: 4s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(6) {
  animation-delay: 5s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(7) {
  animation-delay: 6s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(8) {
  animation-delay: 7s;
}
.l-slider .slick-slide.slick-active .slider_item a .element:nth-of-type(9) {
  animation-delay: 8s;
}
.l-slider .slick-slide.slick-active .slider_item a .element.fadein {
  animation-name: fadeIn;
}
.l-slider .slick-slide.slick-active .slider_item a .element.up {
  animation-name: fromUp;
}
.l-slider .slick-slide.slick-active .slider_item a .element.bottom {
  animation-name: fromBottom;
}
.l-slider .slick-slide.slick-active .slider_item a .element.right {
  animation-name: fromRight;
}
.l-slider .slick-slide.slick-active .slider_item a .element.left {
  animation-name: fromLeft;
}

/*                                                    POPUP */
.l-popup {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  overflow: hidden;
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-100%);
}
.l-popup.activ {
  z-index: 101;
  opacity: 1;
  visibility: visible;
  transform: translateY(0%);
}
.l-popup .close {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 35px;
  height: 35px;
  padding: 10px;
  cursor: pointer;
  border-radius: 200px;
  transition: all 0.2s;
  z-index: 99;
}
.l-popup .close:before, .l-popup .close:after {
  content: "";
  position: absolute;
  top: 5px;
  left: 50%;
  width: 2px;
  height: calc(100% - 10px);
  background: #5bb74d;
  transform: rotate(45deg);
  transition: all 0.2s;
}
.l-popup .close:after {
  transform: rotate(-45deg);
}
.l-popup .close:hover:before, .l-popup .close:hover:after {
  background: #fff;
}
@media only screen and (min-width: 600px) {
  .l-popup .close {
    top: 15px;
    left: auto;
    right: 35px;
    transform: translateX(0%);
  }
}

.l-popup_tabs {
  text-align: center;
}
.l-popup_tabs .single_tab {
  background-color: #fff;
  width: 90% !important;
  height: 90vh;
  padding: 50px;
  overflow-y: auto;
}
@media only screen and (min-width: 1024px) {
  .l-popup_tabs .single_tab {
    padding: 50px 100px;
  }
}
.l-popup_tabs .single_tab .tab_title {
  text-align: left;
  margin: 0 0 30px;
}
.l-popup_tabs .single_tab .tab_content {
  margin: 0 auto;
  text-align: left;
}
@media only screen and (min-width: 1024px) {
  .l-popup_tabs .single_tab .tab_content {
    display: flex !important;
    justify-content: space-between;
  }
}
.l-popup_tabs .single_tab .tab_content .text {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .l-popup_tabs .single_tab .tab_content .text {
    width: 60%;
  }
}
.l-popup_tabs .single_tab .tab_content .text p {
  font-size: calc(16px + 4 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .l-popup_tabs .single_tab .tab_content .text p {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .l-popup_tabs .single_tab .tab_content .text p {
    font-size: 20px;
  }
}
.l-popup_tabs .single_tab .tab_content .text p {
  margin-bottom: 30px;
}
.l-popup_tabs .single_tab .tab_content .text ul {
  margin: 20px 0 50px 40px;
}
.l-popup_tabs .single_tab .tab_content .text ul li {
  font-size: calc(16px + 4 * (100vw - 420px) / 980);
}
@media screen and (max-width: 420px) {
  .l-popup_tabs .single_tab .tab_content .text ul li {
    font-size: 16px;
  }
}
@media screen and (min-width: 1400px) {
  .l-popup_tabs .single_tab .tab_content .text ul li {
    font-size: 20px;
  }
}
.l-popup_tabs .single_tab .tab_content .text ul li {
  padding: 5px 0;
  line-height: 20px;
  list-style: none;
}
.l-popup_tabs .single_tab .tab_content .text ul li:before {
  content: "•";
  color: #5BB74D;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  font-size: 20px;
}
.l-popup_tabs .single_tab .tab_content .gallery {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  .l-popup_tabs .single_tab .tab_content .gallery {
    width: 30%;
  }
}

.l-popup_gallery,
.l-popup_tabs,
.l-popup_form {
  position: relative;
  opacity: 0;
  padding: 0px;
  margin: 0;
  overflow: hidden;
  height: 100vh;
  width: 100%;
  transition: opacity 0.4s;
}
.activ .l-popup_gallery,
.activ .l-popup_tabs,
.activ .l-popup_form {
  opacity: 1;
}
.l-popup_gallery .slick-slide,
.l-popup_tabs .slick-slide,
.l-popup_form .slick-slide {
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.l-popup_gallery img,
.l-popup_tabs img,
.l-popup_form img {
  width: auto;
  height: auto;
  max-width: calc(100% - 40px);
  max-height: calc(100vh - 140px);
  margin: 0 auto;
}
.l-popup_gallery .reference_info,
.l-popup_gallery .btn.green_ful,
.l-popup_tabs .reference_info,
.l-popup_tabs .btn.green_ful,
.l-popup_form .reference_info,
.l-popup_form .btn.green_ful {
  display: none;
}
.l-popup_gallery .gallery_slider_block__popup_slide,
.l-popup_tabs .gallery_slider_block__popup_slide,
.l-popup_form .gallery_slider_block__popup_slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 50vh;
}
.l-popup_gallery .gallery_slider_block__popup_slide img,
.l-popup_tabs .gallery_slider_block__popup_slide img,
.l-popup_form .gallery_slider_block__popup_slide img {
  max-width: calc(100% - 40px);
  max-height: calc(100vh - 140px);
  width: auto;
  height: auto;
  object-fit: contain;
}
.l-popup_gallery .galler_title,
.l-popup_tabs .galler_title,
.l-popup_form .galler_title {
  display: none;
  color: #fff;
  margin-left: 20px;
  margin-top: 10px;
  line-height: 1;
  font-size: 18px;
}

.l-popup_form {
  background-color: #fff;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90%;
  height: auto;
}
@media only screen and (min-width: 768px) {
  .l-popup_form {
    width: auto;
    padding: 50px;
  }
}
.l-popup_form .wpcf7-spinner {
  right: 0;
  left: auto;
}

main.l-archive {
  background: #F2F4F3;
}
main.l-archive .main_page_title {
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .main_page_title {
    margin-bottom: 50px;
  }
}
main.l-archive {
  /* ---------------------------------------- FEATURED NEWS SLIDER (uses .slider slick + arrow styles) */
}
main.l-archive .featured_news_slider {
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_news_slider {
    margin-bottom: 60px;
  }
}
main.l-archive .featured_news_slider .slick-slide > div {
  display: block !important;
  width: 100%;
}
main.l-archive .featured_news_slider .featured_post {
  display: flex !important;
  flex-direction: column;
  gap: 20px;
  width: 100% !important;
  margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_news_slider .featured_post {
    flex-direction: row;
    align-items: stretch;
    gap: 30px;
  }
}
@media only screen and (min-width: 1024px) {
  main.l-archive .featured_news_slider .featured_post {
    gap: 40px;
  }
}
main.l-archive .featured_news_slider .featured_post_img {
  order: 1;
  flex: 1 1 auto;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_news_slider .featured_post_img {
    flex: 0 0 66%;
    max-width: 66%;
  }
}
main.l-archive .featured_news_slider .featured_post_text {
  order: 2;
  flex: 1 1 auto;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_news_slider .slick-arrow.slick-prev {
    left: 40px;
    right: auto;
  }
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_news_slider .slick-arrow.slick-next {
    right: auto;
    left: calc(66% - 80px);
  }
}
main.l-archive {
  /* ---------------------------------------- FEATURED POST */
}
main.l-archive .featured_post {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_post {
    flex-direction: row;
    gap: 30px;
    margin-bottom: 60px;
  }
}
@media only screen and (min-width: 1024px) {
  main.l-archive .featured_post {
    gap: 40px;
  }
}
main.l-archive .featured_post_img {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  flex: 1;
  height: 0;
  padding-bottom: 35%;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_post_img {
    flex: 0 0 66%;
  }
}
main.l-archive .featured_post_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
main.l-archive .featured_post_img .img_overlay {
  position: absolute;
  bottom: 30px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
main.l-archive .featured_post_img .img_overlay .location, main.l-archive .featured_post_img .img_overlay .date {
  color: #fff;
  font-size: 32px;
  font-weight: normal;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
main.l-archive .featured_post_text {
  flex: 1;
}
main.l-archive .featured_post_text h2 {
  font-size: 22px;
  font-weight: normal;
  line-height: 1.3;
  margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .featured_post_text h2 {
    font-size: 26px;
  }
}
@media only screen and (min-width: 1024px) {
  main.l-archive .featured_post_text h2 {
    font-size: 34px;
  }
}
main.l-archive .featured_post_text h2 a {
  color: inherit;
  text-decoration: none;
}
main.l-archive .featured_post_text .date {
  margin: 0 0 15px;
  font-size: 16px;
  display: block;
}
main.l-archive .featured_post_text .excerpt {
  margin-bottom: 20px;
}
main.l-archive .featured_post_text .btn {
  border-radius: 30px;
}
main.l-archive {
  /* ---------------------------------------- SECTION SUBTITLE */
}
main.l-archive .section_subtitle {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .section_subtitle {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
main.l-archive {
  /* ---------------------------------------- NEWS GRID */
}
main.l-archive .news_grid {
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 40px 40px;
}
@media only screen and (min-width: 600px) {
  main.l-archive .news_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (min-width: 900px) {
  main.l-archive .news_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
main.l-archive {
  /* ---------------------------------------- NEWS CARD (button pinned to bottom of card) */
}
main.l-archive .news_card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-height: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 30px;
  overflow: hidden;
}
main.l-archive .news_card.hidden_card {
  display: none;
}
main.l-archive .news_card.visible_card {
  display: flex;
}
main.l-archive .news_card .news_card_img {
  display: block;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  margin-bottom: 12px;
  aspect-ratio: 4.5/3;
}
main.l-archive .news_card .news_card_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
main.l-archive .news_card .news_card_img:hover img {
  transform: scale(1.05);
}
main.l-archive .news_card .news_card_img .img_overlay {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
main.l-archive .news_card .news_card_img .img_overlay .location, main.l-archive .news_card .news_card_img .img_overlay .date {
  color: #fff;
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
main.l-archive .news_card .text {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 20px;
}
main.l-archive .news_card .text .date {
  font-size: 16px;
  margin: 10px 0 0;
}
main.l-archive .news_card .text h3 {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.4;
  margin: 0;
  flex-shrink: 0;
}
@media only screen and (min-width: 768px) {
  main.l-archive .news_card .text h3 {
    font-size: 20px;
  }
}
main.l-archive .news_card .text h3 a {
  color: inherit;
  text-decoration: none;
}
main.l-archive .news_card .text h3 a:hover {
  color: #2e8b2e;
}
main.l-archive .news_card .text .btn_wrap {
  margin-top: auto;
  padding-top: 12px;
  text-align: right;
}
main.l-archive .news_card .text .btn_wrap .btn {
  font-size: 16px;
  padding: 8px 30px;
  border-radius: 30px;
}
main.l-archive .news_card .btn_more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #2e8b2e;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: 30px;
  text-decoration: none;
  align-self: flex-start;
  transition: background 0.3s;
}
main.l-archive .news_card .btn_more:hover {
  background: #236b23;
}
main.l-archive .news_card .btn_more::after {
  content: "→";
}
main.l-archive {
  /* ---------------------------------------- LOAD MORE */
}
main.l-archive .load_more_wrap {
  text-align: center;
  margin: 50px 0 40px;
}
@media only screen and (min-width: 768px) {
  main.l-archive .load_more_wrap {
    margin: 60px 0 50px;
  }
}
main.l-archive .load_more_wrap button {
  border-radius: 30px;
}
main.l-archive .load_more_wrap button:after {
  content: "\e905";
  font-family: "icomoon" !important;
  font-size: 9px;
  margin: 4px 0 0 15px;
}