/*
    HTML5 Reset :: style.css
    ----------------------------------------------------------
    We have learned much from/been inspired by/taken code where offered from:
    Eric Meyer                  :: http://meyerweb.com
    HTML5 Doctor                :: http://html5doctor.com
    and the HTML5 Boilerplate   :: http://html5boilerplate.com
-------------------------------------------------------------------------------*/

/* Let's default this puppy out
-------------------------------------------------------------------------------*/

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, time, mark, audio, video, details, summary {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-weight: normal;
    vertical-align: baseline;
    background: transparent;
}

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

/* Handle box-sizing while better addressing child elements:
   http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}

/* consider resetting the default cursor: https://gist.github.com/murtaugh/5247154 */

/* Responsive images and other embedded objects */
/* if you don't have full control over `img` tags (if you have to overcome attributes), consider adding height: auto */
img,
object,
embed {max-width: 100%;}

/*
   Note: keeping IMG here will cause problems if you're using foreground images as sprites.
    In fact, it *will* cause problems with Google Maps' controls at small size.
    If this is the case for you, try uncommenting the following:
#map img {
        max-width: none;
}
*/

/* force a vertical scrollbar to prevent a jumpy page */
html {overflow-y: scroll;}

/* we use a lot of ULs that aren't bulleted.
    you'll have to restore the bullets within content,
    which is fine because they're probably customized anyway */
ul {list-style: none;}

blockquote, q {quotes: none;}

blockquote:before,
blockquote:after,
q:before,
q:after {content: ''; content: none;}

a {margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent;}

del {text-decoration: line-through;}

abbr[title], dfn[title] {border-bottom: 1px dotted #000; cursor: help;}

/* tables still need cellspacing="0" in the markup */
table {border-collapse: separate; border-spacing: 0;}
th {font-weight: bold; vertical-align: bottom;}
td {font-weight: normal; vertical-align: top;}

hr {display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;}

input, select {vertical-align: middle;}

pre {
    white-space: pre; /* CSS2 */
    white-space: pre-wrap; /* CSS 2.1 */
    white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
    word-wrap: break-word; /* IE */
}

input[type="radio"] {vertical-align: text-bottom;}
input[type="checkbox"] {vertical-align: bottom;}
.ie7 input[type="checkbox"] {vertical-align: baseline;}
.ie6 input {vertical-align: text-bottom;}

select, input, textarea {font: 99% sans-serif;}

table {font-size: inherit; font: 100%;}

small {font-size: 85%;}

strong {font-weight: bold;}

td, td img {vertical-align: top;}

/* Make sure sup and sub don't mess with your line-heights http://gist.github.com/413930 */
sub, sup {font-size: 75%; line-height: 0; position: relative;}
sup {top: -0.5em;}
sub {bottom: -0.25em;}

/* standardize any monospaced elements */
pre, code, kbd, samp {font-family: monospace, sans-serif;}

/* hand cursor on clickable elements */
.clickable,
label,
input[type=button],
input[type=submit],
input[type=file],
button {cursor: pointer;}

/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea {margin: 0;}

/* make buttons play nice in IE */
button,
input[type=button] {width: auto; overflow: visible;}

/* scale images in IE7 more attractively */
.ie7 img {-ms-interpolation-mode: bicubic;}

/* prevent BG image flicker upon hover
   (commented out as usage is rare, and the filter syntax messes with some pre-processors)
.ie6 html {filter: expression(document.execCommand("BackgroundImageCache", false, true));}
*/

/* let's clear some floats */
.clearfix:after { content: " "; display: block; clear: both; }
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCu170w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCuM70w-.ttf) format('truetype');
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCvC70w-.ttf) format('truetype');
}
:root {
  --swiper-pagination-bullet-horizontal-gap: 3px;
  --swiper-pagination-bullet-inactive-opacity: 1;
}
.container {
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  overflow: hidden;
  max-width: 1780px;
  box-sizing: border-box;
}
.container--sm {
  max-width: 1700px;
}
.site figure {
  margin: 0;
}
.site-main {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 992px) {
  .mobile-only {
    display: none !important;
  }
}
.desktop-only {
  display: none !important;
}
@media screen and (min-width: 992px) {
  .desktop-only {
    display: block !important;
  }
}
.article-wrapper {
  padding-top: 80px;
  padding-bottom: 80px;
}
.col-4 > * {
  width: 100%;
}
@media screen and (min-width: 480px) {
  .col-4 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}
@media screen and (min-width: 992px) {
  .col-4 {
    display: flex;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
  }
}
.col-3 > * {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .col-3 {
    display: flex;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
}
@media screen and (min-width: 992px) {
  .col-3 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
  }
}
.col-2 > * {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .col-2 {
    display: flex;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
  }
}
.grecaptcha-badge {
  visibility: hidden;
}
.section-space {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .section-space {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 992px) {
  .section-space {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}
html {
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased !important;
  line-height: 1.6;
  color: #1E1E1E;
  font-size: 16px;
}
a,
.btn {
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
  cursor: pointer;
}
a {
  color: inherit;
}
a.link-block {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
a:hover {
  text-decoration: none;
}
p {
  margin-bottom: 20px;
  font-size: 1.125rem;
}
@media screen and (min-width: 768px) {
  p {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 992px) {
  p {
    font-size: 1.5rem;
  }
}
.text-centered {
  text-align: center;
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
  display: block;
  line-height: 1.2;
  margin-bottom: 1.25rem;
}
h1,
.h1,
h2,
.h2 {
  font-size: 2.5rem;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  h1,
  .h1,
  h2,
  .h2 {
    font-size: 3rem;
  }
}
@media screen and (min-width: 992px) {
  h1,
  .h1,
  h2,
  .h2 {
    font-size: 3.75rem;
    margin-bottom: 2.5rem;
  }
}
h3,
.h3 {
  font-size: 2.25rem;
  font-weight: 700;
}
h3 > span,
.h3 > span {
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  h3,
  .h3 {
    font-size: 2.625rem;
  }
}
@media screen and (min-width: 992px) {
  h3,
  .h3 {
    font-size: 3rem;
  }
}
h4,
.h4 {
  font-size: 1.125rem;
}
address {
  font-style: normal;
}
.text-subtitle {
  font-size: 1.5rem;
  text-transform: uppercase;
  display: block;
  font-weight: 600;
  color: #E30613;
}
@media screen and (min-width: 768px) {
  .text-subtitle {
    font-size: 2rem;
  }
}
@media screen and (min-width: 992px) {
  .text-subtitle {
    font-size: 2.5rem;
  }
}
.link,
.menu-item a {
  position: relative;
  white-space: nowrap;
}
form .input-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 24px;
  position: relative;
}
form .input-wrapper p {
  margin-bottom: 0;
  width: 100%;
}
form .input-wrapper label {
  display: block;
  color: #1E1E1E;
  font-size: 1.125rem;
}
form .input-wrapper label,
form .input-wrapper .wpcf7-form-control-wrap,
form .input-wrapper input,
form .input-wrapper textarea {
  width: 100%;
}
form .input-wrapper textarea {
  height: 140px;
}
form .input-wrapper input,
form .input-wrapper textarea {
  background: #fff;
  color: #1E1E1E;
  border: none;
  padding: 8px 20px;
  font-size: 1.125rem;
  border-radius: 40px;
}
form .input-wrapper input:focus,
form .input-wrapper textarea:focus,
form .input-wrapper input:active,
form .input-wrapper textarea:active {
  outline: none;
}
form .input-wrapper input::placeholder,
form .input-wrapper textarea::placeholder {
  color: #1E1E1E;
}
form .input-wrapper input {
  height: 49px;
}
form .input-wrapper input[type="submit"] {
  color: #fff;
  width: 100%;
  background-color: #E30613;
  font-weight: 700;
  font-size: 1.125rem;
  height: 49px;
}
form .input-wrapper input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-bottom: 6px;
}
form .input-wrapper .wpcf7-not-valid {
  border-color: red;
}
form .input-wrapper .wpcf7-spinner {
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  z-index: 9;
}
form .wpcf7-list-item {
  margin: 15px 0;
}
form .wpcf7-list-item label {
  margin-bottom: 0;
}
form .wpcf7-not-valid {
  border-color: red;
}
form.submitting .btn {
  font-size: 0 !important;
}
.main-navigation {
  display: flex;
  margin-right: 0;
  align-items: center;
  margin-left: auto;
}
.main-navigation .menu-toggle {
  border: none;
  padding: 0;
  background: transparent;
  height: 34px;
  display: block;
  position: relative;
  z-index: 9999;
  width: auto;
}
.main-navigation .menu-toggle > span {
  display: block;
  width: 34px;
  height: 2px;
  background: #000;
  margin-bottom: 5px;
  border-radius: 4px;
  margin-right: 0;
  margin-left: auto;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.main-navigation .menu-toggle > span:last-child {
  margin-bottom: 0;
}
.main-navigation > div {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 999;
  height: 0;
  overflow: hidden;
}
.main-navigation > div ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
}
.main-navigation > div ul li a {
  text-decoration: none;
  color: #1E1E1E;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
  width: 100%;
  display: flex;
  justify-content: center;
}
.main-navigation > div ul li a:hover {
  color: #E30613;
}
.main-navigation > div ul li a.btn--primary {
  background-color: #1E1E1E;
  color: #fff;
  height: 52px;
}
.main-navigation > div ul li a.btn--primary:hover {
  background-color: #E30613;
}
.main-navigation .container {
  flex-direction: column;
}
.toggled .main-navigation > div {
  min-height: 100vh;
  background: #fff;
  padding-top: 100px;
  height: 100%;
  overflow-y: auto;
  padding-bottom: 40px;
}
.toggled .main-navigation .menu-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
}
.toggled .main-navigation .menu-toggle > span {
  position: relative;
  margin-bottom: 0;
}
.toggled .main-navigation .menu-toggle > span:nth-child(1) {
  transform: rotate(45deg);
  top: 1px;
}
.toggled .main-navigation .menu-toggle > span:nth-child(even) {
  display: none;
}
.toggled .main-navigation .menu-toggle > span:nth-child(3) {
  transform: rotate(-45deg);
  top: -1px;
}
@media screen and (min-width: 992px) {
  .main-navigation {
    width: auto;
  }
  .main-navigation .menu-toggle {
    display: none;
  }
  .main-navigation > div {
    position: relative;
    display: flex;
    width: auto;
    height: auto;
    background: transparent;
    top: 0;
    overflow: visible;
  }
  .main-navigation > div .container {
    padding: 0;
    overflow: visible;
  }
  .main-navigation > div ul {
    gap: 40px;
    flex-direction: row;
    align-items: center;
  }
  .main-navigation > div ul li a {
    font-size: 1.25rem;
  }
}
.btn {
  border: none;
  background: none;
  display: block;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: #fff;
  width: 100%;
  font-family: 'Montserrat', sans-serif;
  padding: 0 20px;
  border-radius: 40px;
  width: auto;
}
.btn--primary {
  overflow: hidden;
  position: relative;
  background: #E30613;
}
.btn--primary:hover {
  background-color: #b1050f;
}
.btn--secondary {
  overflow: hidden;
  position: relative;
  background: #1E1E1E;
  color: #fff;
}
.btn--secondary:hover {
  background-color: #fff;
  color: #1E1E1E;
}
.btn--md {
  height: 56px;
  padding: 0 20px;
  font-size: 1.125rem;
}
@media screen and (min-width: 992px) {
  .btn--md {
    font-size: 1.5rem;
    height: 66px;
    padding-left: 28px;
    padding-right: 28px;
  }
}
.btn--lg {
  height: 70px;
  font-weight: 700;
  padding: 0 20px;
  font-size: 1.125rem;
}
@media screen and (min-width: 992px) {
  .btn--lg {
    font-size: 1.5rem;
    height: 79px;
    padding: 0 32px;
  }
}
.btn--sm {
  height: 49px;
  padding: 0 15px;
  font-size: 1rem;
  font-weight: 700;
}
.product-tables {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin: 40px 0;
}
.product-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #f0f3e9;
  border-radius: 8px;
  overflow: hidden;
  color: #1E1E1E;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  font-size: 1.125rem;
}
.product-table th,
.product-table td {
  padding: 14px 20px;
  text-align: left;
  font-size: 1.125rem;
}
.product-table th:first-child,
.product-table td:first-child {
  padding-left: 24px;
}
.product-table th:last-child,
.product-table td:last-child {
  padding-right: 24px;
}
.product-table thead th {
  background: #C2D0A9;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #111111;
  border-bottom: 2px solid #a6ba81;
  border-right: 1px solid #a6ba81;
  white-space: nowrap;
}
.product-table tbody tr {
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
}
.product-table tbody tr:last-child td {
  border-bottom: none;
}
.product-table tbody td {
  line-height: 1.5;
  border-bottom: 1px solid rgba(30, 30, 30, 0.08);
  border-right: 1px solid rgba(30, 30, 30, 0.08);
  vertical-align: middle;
}
.product-table tbody td:last-child {
  border-right: none;
}
.product-table tbody td.even {
  background: rgba(194, 208, 169, 0.25);
}
.product-table tbody td.code {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .product-table {
    display: block;
    font-size: 1rem;
    background: transparent;
    box-shadow: none;
  }
  .product-table thead {
    display: none;
  }
  .product-table tbody {
    display: block;
  }
  .product-table tr {
    display: block;
    padding: 16px;
    margin-bottom: 12px;
    background: #f0f3e9;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  }
  .product-table tr:last-child {
    margin-bottom: 0;
  }
  .product-table td {
    display: flex;
    align-items: center;
    padding: 10px 0 !important;
    border-bottom: 1px solid rgba(30, 30, 30, 0.1) !important;
    border-right: none !important;
    background: transparent !important;
  }
  .product-table td:last-child {
    border-bottom: none !important;
  }
  .product-table td::before {
    content: attr(data-label);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: rgba(30, 30, 30, 0.6);
    flex-shrink: 0;
    margin-right: 16px;
    width: 120px;
  }
  .product-table td.code {
    white-space: normal;
    word-break: break-word;
  }
  .product-table td.size {
    background: rgba(194, 208, 169, 0.4) !important;
    margin: -16px -16px 12px -16px;
    padding: 12px 16px !important;
    border-radius: 4px 4px 0 0;
    border-bottom: 2px solid #C2D0A9 !important;
    font-weight: 700;
    font-size: 1rem;
    justify-content: center;
  }
  .product-table td.size::before {
    width: auto;
    font-weight: 700;
    font-size: 1rem;
    text-transform: none;
    color: #1E1E1E;
    margin-right: 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  .product-table th,
  .product-table td {
    padding: 12px 16px;
  }
  .product-table th:first-child,
  .product-table td:first-child {
    padding-left: 20px;
  }
  .product-table th:last-child,
  .product-table td:last-child {
    padding-right: 20px;
  }
}
.site-header {
  padding-top: 14px;
  padding-bottom: 14px;
  position: sticky;
  background: #C2D0A9;
  z-index: 99999;
  top: 0;
  border-bottom: 4px solid #E30613;
}
.site-header .site-branding a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
.site-header .site-branding a figure {
  display: flex;
}
.site-header .site-branding a figure svg {
  height: 40px;
  width: auto;
}
.site-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
@media screen and (min-width: 992px) {
  .site-header {
    height: 100px;
    border-width: 12px;
    padding: 0;
  }
  .site-header .site-branding a figure svg {
    height: auto;
  }
}
.language-switcher {
  display: flex;
  align-items: center;
  margin-left: 1.5rem;
}
.language-switcher ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 8px;
}
.language-switcher li {
  display: flex;
  align-items: center;
}
.language-switcher a {
  display: flex;
  align-items: center;
  opacity: 0.5;
  transition: opacity 0.3s ease;
  border-radius: 2px;
  overflow: hidden;
}
.language-switcher a:hover {
  opacity: 1;
}
.language-switcher li.current-lang a {
  opacity: 1;
}
.language-switcher img {
  width: 28px;
  height: 20px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 991px) {
  .language-switcher {
    position: absolute;
    right: 64px;
    top: 50%;
    transform: translateY(-50%);
  }
  .language-switcher img {
    width: 24px;
    height: 17px;
  }
}
.block-hero {
  position: relative;
  overflow-x: hidden;
  height: calc((var(--vh, 1vh) * 100) - 116px);
}
@media screen and (min-width: 992px) {
  .block-hero {
    height: calc((var(--vh, 1vh) * 100) - 246px);
  }
}
.hero-slider {
  position: relative;
  width: 100%;
  min-height: 500px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .hero-slider {
    min-height: 600px;
  }
}
@media screen and (min-width: 992px) {
  .hero-slider {
    min-height: 800px;
  }
}
.hero-slider .swiper {
  width: 100%;
  height: 100%;
}
.hero-slider .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
  padding-top: 30px;
  padding-bottom: 30px;
}
.hero-slider .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.hero-slider .swiper-slide::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 40.07%, rgba(0, 0, 0, 0) 80.56%);
  display: block;
  top: 0;
  left: 0;
  z-index: 1;
}
.hero-slider .swiper-slide .btn {
  min-width: 280px;
}
.hero-slider .slide-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  max-width: 1700px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.hero-slider .slide-content h1,
.hero-slider .slide-content h2 {
  margin-bottom: 20px;
  color: #fff;
}
.hero-slider .slide-content .container {
  max-width: 800px;
  margin-right: auto;
  margin-left: 0;
}
.hero-slider .swiper-pagination {
  bottom: 30px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-slider .swiper-pagination .swiper-pagination-bullet {
  background: #fff;
  width: 16px;
  height: 16px;
}
.hero-slider .swiper-pagination .swiper-pagination-bullet-active {
  opacity: 1;
  background: #E30613;
  width: 28px;
  height: 28px;
}
.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
  color: #fff;
}
.hero-slider .swiper-button-prev:after,
.hero-slider .swiper-button-next:after {
  font-size: 30px;
}
@media screen and (min-width: 992px) {
  .hero-slider .swiper-slide::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.5) 30%, rgba(0, 0, 0, 0) 60%);
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .hero-slider .slide-content {
    text-align: left;
  }
  .hero-slider .slide-content h1,
  .hero-slider .slide-content h2 {
    margin-bottom: 28px;
  }
  .hero-slider .slide-content .btn {
    width: max-content;
    margin-top: 50px;
  }
  .hero-slider .slide-content p {
    max-width: 560px;
  }
  .hero-slider [data-swiper-slide-index="2"] h1 {
    max-width: 550px;
  }
}
.site-footer {
  padding-top: 50px;
  padding-bottom: 20px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: #1E1E1E;
  color: #fff;
}
.site-footer .container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  overflow: visible;
}
.site-footer .footer-logo {
  width: 100%;
}
.site-footer .footer-logo a {
  display: flex;
  width: max-content;
}
.site-footer .footer-logo a figure {
  display: flex;
}
.site-footer .footer-cols {
  margin-top: 30px;
  display: flex;
  gap: 30px;
  border-bottom: 2px solid #fff;
  padding-bottom: 30px;
  flex-direction: column;
}
.site-footer .footer-cols .divider {
  width: 100%;
  height: 2px;
  background-color: #fff;
  display: block;
}
.site-footer .footer-cols strong {
  font-size: 1rem;
}
.site-footer .footer-cols span {
  display: block;
}
.site-footer .footer-cols p,
.site-footer .footer-cols ul {
  font-size: 1rem;
  margin: 0;
}
.site-footer .footer-copyright {
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.site-footer .footer-copyright p {
  font-size: 1rem;
  margin-bottom: 0;
}
.site-footer .footer-copyright a {
  display: flex;
}
.site-footer .footer-copyright a img {
  height: 50px;
  width: auto;
}
@media screen and (min-width: 768px) {
  .site-footer .footer-cols {
    justify-content: space-between;
    width: 100%;
    flex-direction: row;
    padding-bottom: 50px;
  }
  .site-footer .footer-cols .item-col {
    max-width: 380px;
    margin-right: auto;
  }
  .site-footer .footer-cols .footer-menu {
    margin-left: auto;
    margin-right: auto;
  }
  .site-footer .footer-cols .divider {
    height: 160px;
    width: 2px;
  }
}
@media screen and (min-width: 992px) {
  .site-footer {
    padding-top: 70px;
  }
  .site-footer .footer-copyright {
    padding-top: 24px;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    align-items: center;
  }
}
.block-contact {
  position: relative;
  z-index: 1;
  background-color: #C2D0A9;
}
.block-contact .container {
  padding: 0;
}
.block-contact .contact-content {
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 20px;
  padding-right: 20px;
}
.block-contact .contact-content h3 {
  color: #E30613;
}
.block-contact .contact-content > .col-2 {
  max-width: 700px;
}
.block-contact .contact-content > .col-2 div:first-child {
  margin-bottom: 20px;
}
.block-contact .contact-content ol {
  list-style: none;
}
.block-contact .contact-content ol li {
  counter-increment: counter;
  margin-bottom: 30px;
}
.block-contact .contact-content ol li > span {
  color: #fff;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 32/20;
}
.block-contact .contact-content ol li > span a {
  font-size: 1.25rem;
  line-height: 32/20;
}
.block-contact .wpcf7 {
  margin-top: 24px;
  position: relative;
  z-index: 1;
}
.block-contact .contact-map {
  display: flex;
  overflow: hidden;
  justify-content: flex-end;
  height: 360px;
  align-items: center;
}
.block-contact .contact-map img {
  width: 200%;
  margin-left: auto;
  margin-right: 0;
  max-width: none;
  height: auto;
  margin-bottom: 200px;
}
.block-contact .contact-info {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding-top: 40px;
  margin-top: 40px;
  width: 100%;
  border-top: 2px solid #1E1E1E;
}
.block-contact .contact-info .info-item {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  width: 100%;
  font-size: 1.125rem;
}
.block-contact .contact-info .info-item figure {
  display: flex;
}
@media screen and (min-width: 992px) {
  .block-contact {
    overflow: hidden;
  }
  .block-contact .container {
    display: flex;
    flex-direction: row;
  }
  .block-contact .contact-content {
    max-width: 680px;
    padding-left: 20px;
    padding-right: 60px;
    padding-top: 70px;
    padding-bottom: 100px;
    background: #C2D0A9;
    position: relative;
    z-index: 1;
  }
  .block-contact .contact-content p {
    font-size: 1.25rem;
  }
  .block-contact .contact-map {
    height: auto;
    width: auto;
  }
  .block-contact .contact-map img {
    width: auto;
    margin-bottom: 0;
    min-height: 100%;
  }
  .block-contact .contact-info {
    display: grid;
    padding-top: 60px;
    margin-top: 60px;
    grid-template-columns: 1fr 1fr;
  }
  .block-contact .contact-info .info-item {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 1800px) {
  .block-contact .contact-map img {
    position: absolute;
    right: 0;
    height: 100%;
  }
}
.block-why-us .container {
  overflow: visible;
}
.block-why-us .section-title {
  text-align: center;
  margin-bottom: 2rem;
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}
.block-why-us .section-title + p {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.block-why-us .why-us-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-top: 60px;
  max-width: 1470px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .block-why-us .why-us-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .block-why-us .why-us-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.block-why-us .why-us-item {
  text-align: center;
  border-radius: 40px;
  box-shadow: 0 8px 8px 8px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  background: #1E1E1E;
  display: flex;
  flex-direction: column;
  max-width: 275px;
  margin-left: auto;
  margin-right: auto;
}
.block-why-us .why-us-item .icon {
  height: 268px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #C2D0A9;
  flex-shrink: 0;
}
.block-why-us .why-us-item .icon svg {
  max-width: 100%;
}
.block-why-us .why-us-item p {
  margin-bottom: 0;
  line-height: 1.4;
}
.block-why-us .why-us-item .text-content {
  color: #fff;
  padding: 0.5rem;
  height: 100%;
  display: flex;
  align-items: center;
}
.block-why-us .why-us-item:nth-child(1) .icon {
  padding-top: 50px;
}
@media screen and (min-width: 992px) {
  .block-why-us .section-title {
    margin-bottom: 2.5rem;
  }
  .block-why-us .why-us-grid {
    margin-top: 120px;
  }
}
.block-about {
  background: url(../img/bg_about_us.webp) no-repeat;
  background-size: cover;
  box-shadow: 0px 16px 16px rgba(0, 0, 0, 0.3);
  position: relative;
}
.block-about .about-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .block-about .about-content {
    grid-template-columns: 1fr 1fr;
  }
}
.block-about .about-image {
  display: flex;
}
.block-about .about-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 40px;
}
.block-about .about-text p:last-child {
  margin-bottom: 0;
}
.block-about .about-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 30px;
}
@media screen and (min-width: 992px) {
  .block-about .about-content {
    gap: 60px;
  }
}
.block-product-cards .container {
  overflow: visible;
}
.block-product-cards .product-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .block-product-cards .product-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .block-product-cards .product-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .block-product-cards .product-cards-grid.col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.block-product-cards .product-card {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
}
.block-product-cards .product-card__image {
  position: relative;
  width: 100%;
  max-height: 294px;
  overflow: hidden;
  background: #C2D0A9;
  flex-shrink: 0;
  text-align: center;
}
.block-product-cards .product-card__image img {
  margin-left: auto;
  margin-right: auto;
}
.block-product-cards .product-card__content {
  padding: 32px 20px 20px;
  color: #fff;
  background-color: #1E1E1E;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.block-product-cards .product-card__content h3 {
  margin-bottom: 1rem;
  font-size: 1.125rem;
}
.block-product-cards .product-card__content .btn {
  width: max-content;
  margin-top: auto;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .block-product-cards .product-card__content h3 {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 992px) {
  .block-product-cards .text-subtitle,
  .block-product-cards h2 {
    text-align: center;
  }
  .block-product-cards .product-cards-grid {
    margin-top: 120px;
    gap: 60px;
  }
  .block-product-cards .product-card__content {
    padding: 44px 24px 24px;
  }
  .block-product-cards .product-card__content h3 {
    font-size: 1.5rem;
  }
  .block-product-cards .product-card__content p {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .block-product-cards .product-cards-grid {
    gap: 90px;
  }
}
.manufactured-in-czech {
  background-color: #1E1E1E;
  color: #fff;
  text-align: left;
  padding: 1rem;
  height: 170px;
  box-shadow: 0px 16px 16px rgba(0, 0, 0, 0.3);
}
.manufactured-in-czech .container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.manufactured-in-czech .container p {
  margin-bottom: 0;
  font-size: 1.5rem;
  text-align: center;
}
.manufactured-in-czech .container figure {
  display: flex;
}
@media screen and (min-width: 768px) {
  .manufactured-in-czech {
    height: 110px;
  }
  .manufactured-in-czech .container {
    flex-direction: row;
  }
  .manufactured-in-czech .container p {
    font-size: 2rem;
  }
}
@media screen and (min-width: 992px) {
  .manufactured-in-czech .container p {
    font-size: 2.5rem;
  }
}
/* Gallery Block */
.block-gallery .container {
  overflow: visible;
}
.block-gallery .gallery-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  .block-gallery .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .block-gallery .gallery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.block-gallery .gallery-item {
  position: relative;
  overflow: hidden;
  border-radius: 40px;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  cursor: pointer;
  aspect-ratio: 1/1;
  border: 1px solid #f7f7f7;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.block-gallery .gallery-item:hover {
  transform: translateY(-5px);
  box-shadow: 12px 12px 12px rgba(0, 0, 0, 0.4);
}
.block-gallery .gallery-item:hover img {
  transform: scale(1.05);
}
.block-gallery .gallery-item:hover .gallery-overlay {
  opacity: 1;
}
.block-gallery .gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.block-gallery .gallery-item .gallery-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.block-gallery .gallery-item .gallery-overlay svg {
  width: 50px;
  height: 50px;
  fill: #fff;
}
@media screen and (min-width: 768px) {
  .block-gallery .gallery-item .gallery-overlay svg {
    width: 60px;
    height: 60px;
  }
}
/* FAQ Accordion Block */
.block-faq {
  background-color: #C2D0A9;
}
.block-faq .container {
  overflow: visible;
}
.block-faq .text-subtitle {
  text-align: center;
}
.block-faq .section-title {
  text-align: center;
  margin-bottom: 60px;
}
.block-faq .faq-list {
  max-width: 900px;
  margin: 0 auto;
}
.block-faq .faq-item {
  margin-bottom: 20px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.block-faq .faq-item:last-child {
  margin-bottom: 0;
}
.block-faq .faq-item.active {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.block-faq .faq-item.active .faq-question .faq-icon {
  transform: rotate(45deg);
}
.block-faq .faq-item.active .faq-answer {
  max-height: 1000px;
  padding: 20px 30px 30px;
}
.block-faq .faq-question {
  width: 100%;
  padding: 25px 30px;
  background: #f9f9f9;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  font-family: inherit;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.block-faq .faq-question:hover {
  background: #f0f0f0;
}
.block-faq .faq-question span {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1E1E1E;
  line-height: 1.4;
  padding-right: 20px;
}
@media screen and (min-width: 768px) {
  .block-faq .faq-question span {
    font-size: 1.25rem;
  }
}
.block-faq .faq-question .faq-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  fill: #1E1E1E;
}
.block-faq .faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 30px;
  background: #fff;
  transition: max-height 0.4s ease, padding 0.4s ease;
}
.block-faq .faq-answer p {
  margin-bottom: 15px;
  font-size: 1rem;
  line-height: 1.7;
  color: #1E1E1E;
}
.block-faq .faq-answer p:last-child {
  margin-bottom: 0;
}
.block-faq .faq-answer ul,
.block-faq .faq-answer ol {
  margin: 15px 0;
  padding-left: 25px;
}
.block-faq .faq-answer ul li,
.block-faq .faq-answer ol li {
  margin-bottom: 10px;
  line-height: 1.7;
  color: #1E1E1E;
}
/* Contact Page Template */
.page-contact .container {
  overflow: visible;
  max-width: 1140px;
}
.page-contact .contact-hero {
  text-align: center;
  padding-bottom: 0;
  padding-top: 80px;
}
.page-contact .contact-hero .section-title {
  margin-bottom: 20px;
}
.page-contact .contact-hero .contact-intro {
  max-width: 700px;
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 1.7;
  color: #1E1E1E;
}
.page-contact .contact-content .contact-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
}
@media screen and (min-width: 992px) {
  .page-contact .contact-content .contact-grid {
    grid-template-columns: 1fr 1.5fr;
    gap: 80px;
  }
}
.page-contact .contact-content .contact-info .info-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 40px;
  color: #1E1E1E;
}
@media screen and (min-width: 768px) {
  .page-contact .contact-content .contact-info .info-title {
    font-size: 2rem;
  }
}
.page-contact .contact-content .contact-info .contact-info-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 35px;
}
.page-contact .contact-content .contact-info .contact-info-item:last-child {
  margin-bottom: 0;
}
.page-contact .contact-content .contact-info .contact-info-item .icon {
  flex-shrink: 0;
  width: 50px;
  height: 50px;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-contact .contact-content .contact-info .contact-info-item .info-content {
  flex: 1;
}
.page-contact .contact-content .contact-info .contact-info-item .info-content h3 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: #1E1E1E;
}
.page-contact .contact-content .contact-info .contact-info-item .info-content p {
  font-size: 1rem;
  line-height: 1.7;
  color: #1E1E1E;
  margin: 0;
}
.page-contact .contact-content .contact-info .contact-info-item .info-content p a {
  color: #E30613;
  text-decoration: none;
  -webkit-transition: 0.3s all ease-out;
  -moz-transition: 0.3s all ease-out;
  -o-transition: 0.3s all ease-out;
  -ms-transition: 0.3s all ease-out;
  transition: 0.3s all ease-out;
}
.page-contact .contact-content .contact-info .contact-info-item .info-content p a:hover {
  color: #b1050f;
}
.page-contact .contact-content .contact-form-wrapper .form-title {
  font-size: 1.75rem;
  font-weight: 700;
  margin-bottom: 30px;
  color: #1E1E1E;
}
@media screen and (min-width: 768px) {
  .page-contact .contact-content .contact-form-wrapper .form-title {
    font-size: 2rem;
  }
}
.page-contact .contact-content .contact-form-wrapper .contact-form {
  background: #f9f9f9;
  padding: 30px;
  border-radius: 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  .page-contact .contact-content .contact-form-wrapper .contact-form {
    padding: 40px;
  }
}
.page-contact .contact-map-section {
  padding-top: 0;
}
.page-contact .contact-map-section .section-title {
  text-align: center;
  margin-bottom: 40px;
}
.page-contact .contact-map-section .contact-map img {
  width: auto;
  height: auto;
  display: block;
  margin-left: auto;
  margin-right: auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}
.page-katalog .katalog-hero {
  text-align: center;
  padding-top: 60px;
  padding-bottom: 40px;
}
.page-katalog .katalog-hero h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 20px;
  color: #1E1E1E;
}
@media (min-width: 992px) {
  .page-katalog .katalog-hero h1 {
    font-size: 3rem;
  }
}
.page-katalog .katalog-hero p {
  font-size: 1rem;
  line-height: 1.6;
  color: #1E1E1E;
  max-width: 680px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .page-katalog .katalog-hero p {
    font-size: 1.125rem;
  }
}
.page-katalog .katalog-download {
  padding-top: 40px;
  padding-bottom: 0px;
}
.page-katalog .katalog-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  .page-katalog .katalog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
.page-katalog .katalog-card {
  background: #1E1E1E;
  border-radius: 40px;
  padding: 40px 30px;
  text-align: center;
  color: #fff;
  box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 992px) {
  .page-katalog .katalog-card {
    padding: 50px 40px;
  }
}
.page-katalog .katalog-card__icon {
  margin-bottom: 24px;
}
.page-katalog .katalog-card__icon svg {
  width: 60px;
  height: 60px;
}
@media (min-width: 992px) {
  .page-katalog .katalog-card__icon svg {
    width: 80px;
    height: 80px;
  }
}
.page-katalog .katalog-card h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 16px;
  color: #fff;
}
@media (min-width: 992px) {
  .page-katalog .katalog-card h3 {
    font-size: 1.75rem;
  }
}
.page-katalog .katalog-card p {
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 24px;
  flex-grow: 1;
}
@media (min-width: 992px) {
  .page-katalog .katalog-card p {
    font-size: 1.125rem;
    margin-bottom: 32px;
  }
}
.page-katalog .katalog-card .btn {
  margin-top: auto;
}
.page-katalog .katalog-card .btn--secondary {
  background-color: #C2D0A9;
  color: #1E1E1E;
}
.page-katalog .katalog-card .btn--secondary:hover {
  background-color: #abbe88;
}
.error-hero p {
  max-width: 640px;
}
.error-hero .btn {
  width: max-content;
}
