@charset "UTF-8";
/*---------------------------------------------------------
  ANIMATION MIXINS
---------------------------------------------------------*/
/*---------------------------------------------------------
  LAYOUT MIXINS
---------------------------------------------------------*/
/*---------------------------------------------------------
  MISC MIXINS
---------------------------------------------------------*/
:root {
  --text-color: #000000;
  --color-primary: #0074bc;
  --color-grey: #f0f0f0;
  --container-max-width: 1760px;
  --container-padding: 30px;
  --section-margin: 52px;
  --extra-padding: 20px;
  --icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='35.5px' height='35.5px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='3px' stroke-linecap='butt' stroke-linejoin='miter' fill='none' d='M17.103,2.092 C25.388,2.092 32.103,8.808 32.103,17.092 C32.103,25.376 25.388,32.092 17.103,32.092 C8.819,32.092 2.103,25.376 2.103,17.092 C2.103,8.808 8.819,2.092 17.103,2.092 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M22.858,17.634 L14.452,22.571 L14.452,12.697 L22.858,17.634 Z'/%3E%3C/svg%3E");
  --icon-angle: url("data:image/svg+xml,%3Csvg width='18' height='11' viewBox='0 0 18 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3768 1.97669L8.99992 10.3652L0.623047 1.97669L2.41659 0.183151L8.99992 6.76648L15.5833 0.183151L17.3768 1.97669Z' fill='%23000000'/%3E%3C/svg%3E%0A");
  --icon-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 30'%3E%3Cpath d='M10,14v4h-3.26l5.27,5.3,5.3-5.3h-3.31v-4h-4ZM0,9v19c0,1.1.9,2,2,2h20c1.1,0,2-.89,2-2V2c0-1.1-.89-2-2-2h-13v9H0ZM7,0L0,7h7V0Z' fill='%23FFFFFF' fill-rule='evenodd'/%3E%3C/svg%3E");
  --icon-zoom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29.99 30'%3E%3Cpath d='M21.51,20.1c1.87-2.2,2.9-4.97,2.9-7.89,0-3.26-1.27-6.33-3.58-8.63S15.46,0,12.2,0,5.87,1.27,3.57,3.58c-4.76,4.76-4.76,12.5,0,17.26,2.31,2.31,5.37,3.58,8.63,3.58,2.93,0,5.69-1.03,7.89-2.9l8.19,8.2c.2.2.45.29.71.29s.51-.1.71-.29c.39-.39.39-1.02,0-1.41l-8.19-8.2ZM4.98,19.43c-3.98-3.98-3.98-10.46,0-14.44,3.98-3.98,10.46-3.98,14.44,0,1.93,1.93,2.99,4.49,2.99,7.22s-1.06,5.29-2.99,7.22c-3.98,3.98-10.46,3.98-14.44,0Z'/%3E%3C/svg%3E");
  --icon-triangle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='25px' height='29px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 116, 188)' d='M24.800,14.378 L0.206,28.581 L0.206,0.175 L24.800,14.378 Z'/%3E%3C/svg%3E");
  --icon-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.3 50'%3E%3Cpath d='M50.3,25.2A25.15,25.15,0,1,0,21.2,50V32.4H14.8V25.1h6.4V19.6c0-6.3,3.8-9.8,9.5-9.8a36.52,36.52,0,0,1,5.6.5v6.2H33.1c-3.1,0-4.1,1.9-4.1,3.9v4.7h7l-1.1,7.3H29V50A25.16,25.16,0,0,0,50.3,25.2Z'/%3E%3C/svg%3E");
  --icon-facebook-f: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26.78 50'%3E%3Cpath d='M25,28.13l1.39-9H17.73V13.2c0-2.47,1.21-4.88,5.1-4.88h4V.61a48.21,48.21,0,0,0-7-.61C12.62,0,8,4.33,8,12.18v6.9H0v9.05H8V50h9.78V28.13Z'/%3E%3C/svg%3E");
  --icon-facebook-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M44.64,0H5.36A5.36,5.36,0,0,0,0,5.36V44.64A5.36,5.36,0,0,0,5.36,50H20.68V33h-7V25h7V18.9C20.68,12,24.8,8.13,31.13,8.13a42.67,42.67,0,0,1,6.2.54v6.81H33.84c-3.44,0-4.52,2.14-4.52,4.32V25H37l-1.23,8H29.32V50H44.64A5.36,5.36,0,0,0,50,44.64V5.36A5.36,5.36,0,0,0,44.64,0Z'/%3E%3C/svg%3E");
  --icon-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.2 45.38'%3E%3Cpath d='M39.53,0h7.7l-16.82,19.22,19.79,26.16h-15.49l-12.14-15.86-13.88,15.86H.98l17.99-20.56L0,0h15.88l10.96,14.5L39.53,0ZM36.83,40.78h4.27L13.56,4.36h-4.58l27.85,36.41Z'/%3E%3C/svg%3E");
  --icon-instagram: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50.01 50'%3E%3Cpath d='M25,12.18A12.82,12.82,0,1,0,37.83,25,12.8,12.8,0,0,0,25,12.18Zm0,21.15A8.33,8.33,0,1,1,33.35,25,8.34,8.34,0,0,1,25,33.33ZM41.34,11.66a3,3,0,1,1-3-3A3,3,0,0,1,41.34,11.66Zm8.5,3c-.19-4-1.11-7.55-4-10.48S39.33.38,35.32.18s-16.5-.24-20.63,0-7.54,1.1-10.48,4S.38,10.67.18,14.68s-.24,16.5,0,20.63,1.1,7.55,4,10.48,6.48,3.83,10.48,4,16.5.24,20.63,0,7.55-1.1,10.48-4,3.83-6.48,4-10.48.23-16.49,0-20.62ZM44.5,39.74a8.41,8.41,0,0,1-4.75,4.75c-3.29,1.31-11.1,1-14.74,1s-11.46.29-14.74-1a8.44,8.44,0,0,1-4.75-4.75c-1.31-3.29-1-11.1-1-14.74s-.29-11.46,1-14.74a8.41,8.41,0,0,1,4.75-4.75c3.29-1.31,11.1-1,14.74-1s11.46-.29,14.74,1a8.41,8.41,0,0,1,4.75,4.75c1.31,3.29,1,11.1,1,14.74S45.81,36.46,44.5,39.74Z'/%3E%3C/svg%3E");
  --icon-instagram-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M25,19.05A6,6,0,1,0,31,25,5.95,5.95,0,0,0,25,19.05Zm13.92-4.58a6,6,0,0,0-3.4-3.39c-2.34-.93-7.92-.72-10.52-.72s-8.18-.22-10.53.72a6,6,0,0,0-3.39,3.39c-.92,2.34-.72,7.93-.72,10.53s-.2,8.18.72,10.53a6.06,6.06,0,0,0,3.4,3.39c2.34.93,7.92.72,10.52.72s8.18.21,10.53-.72a6,6,0,0,0,3.39-3.39c.93-2.35.72-7.93.72-10.53s.21-8.18-.72-10.53ZM25,34.15A9.15,9.15,0,1,1,34.15,25,9.15,9.15,0,0,1,25,34.15ZM34.53,17.6a2.14,2.14,0,1,1,2.13-2.14h0a2.12,2.12,0,0,1-2.12,2.14ZM44.64,0H5.36A5.36,5.36,0,0,0,0,5.36V44.64A5.36,5.36,0,0,0,5.36,50H44.64A5.36,5.36,0,0,0,50,44.64V5.36A5.36,5.36,0,0,0,44.64,0ZM42.73,32.37c-.14,2.86-.79,5.39-2.88,7.47s-4.62,2.75-7.48,2.89-11.79.17-14.73,0-5.39-.8-7.48-2.89-2.75-4.62-2.89-7.47-.16-11.79,0-14.74.79-5.39,2.89-7.47,4.63-2.74,7.48-2.88,11.78-.17,14.73,0,5.39.8,7.48,2.88a10.63,10.63,0,0,1,2.88,7.49C42.9,20.58,42.9,29.42,42.73,32.37Z'/%3E%3C/svg%3E");
  --icon-linkedin-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M46.43,0H3.56A3.59,3.59,0,0,0,0,3.6V46.4A3.59,3.59,0,0,0,3.56,50H46.43A3.6,3.6,0,0,0,50,46.4V3.6A3.6,3.6,0,0,0,46.43,0ZM15.11,42.86H7.7V19h7.42V42.86Zm-3.7-27.12a4.3,4.3,0,1,1,4.29-4.3A4.3,4.3,0,0,1,11.41,15.74ZM42.89,42.86H35.48V31.25c0-2.77-.06-6.33-3.85-6.33s-4.45,3-4.45,6.13V42.86H19.77V19h7.11v3.25H27a7.8,7.8,0,0,1,7-3.85c7.5,0,8.89,5,8.89,11.38Z'/%3E%3C/svg%3E");
  --icon-linkedin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='M11.19,50H.83V16.62H11.19ZM6,12.06A6,6,0,1,1,12,6,6.05,6.05,0,0,1,6,12.06ZM50,50H39.65V33.75c0-3.87-.08-8.84-5.39-8.84S28,29.12,28,33.47V50H17.69V16.62h9.94v4.55h.14a10.91,10.91,0,0,1,9.81-5.39C48.07,15.78,50,22.69,50,31.66V50Z'/%3E%3C/svg%3E");
  --icon-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.7 124.1c-6.3-23.7-24.8-42.3-48.3-48.6C458.8 64 288 64 288 64S117.2 64 74.6 75.5c-23.5 6.3-42 24.9-48.3 48.6-11.4 42.9-11.4 132.3-11.4 132.3s0 89.4 11.4 132.3c6.3 23.7 24.8 41.5 48.3 47.8C117.2 448 288 448 288 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zm-317.5 213.5V175.2l142.7 81.2-142.7 81.2z'/%3E%3C/svg%3E");
  --icon-tiktok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 209.9a210.1 210.1 0 0 1 -122.8-39.3V349.4A162.6 162.6 0 1 1 185 188.3V278.2a74.6 74.6 0 1 0 52.2 71.2V0l88 0a121.2 121.2 0 0 0 1.9 22.2h0A122.2 122.2 0 0 0 381 102.4a121.4 121.4 0 0 0 67 20.1z'/%3E%3C/svg%3E");
  --icon-pinterest: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3 .8-3.4 5-20.3 6.9-28.1 .6-2.5 .3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z'/%3E%3C/svg%3E%0A");
  --icon-pinterest-p: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z'/%3E%3C/svg%3E%0A");
  --icon-pinterest-square: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M384 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h72.6l-2.2-.8c-5.4-48.1-3.1-57.5 15.7-134.7c3.9-16 8.5-35 13.9-57.9c0 0-7.3-14.8-7.3-36.5c0-70.7 75.5-78 75.5-25c0 13.5-5.4 31.1-11.2 49.8c-3.3 10.6-6.6 21.5-9.1 32c-5.7 24.5 12.3 44.4 36.4 44.4c43.7 0 77.2-46 77.2-112.4c0-58.8-42.3-99.9-102.6-99.9C153 139 112 191.4 112 245.6c0 21.1 8.2 43.7 18.3 56c2 2.4 2.3 4.5 1.7 7c-1.1 4.7-3.1 12.9-4.7 19.2c-1 4-1.8 7.3-2.1 8.6c-1.1 4.5-3.5 5.5-8.2 3.3c-30.6-14.3-49.8-59.1-49.8-95.1C67.2 167.1 123.4 96 229.4 96c85.2 0 151.4 60.7 151.4 141.8c0 84.6-53.3 152.7-127.4 152.7c-24.9 0-48.3-12.9-56.3-28.2c0 0-12.3 46.9-15.3 58.4c-5 19.3-17.6 42.9-27.4 59.3H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z'/%3E%3C/svg%3E%0A");
}
@media (min-width: 640px) {
  :root {
    --container-padding: 40px;
    --section-margin: 92px;
    --icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='51.5px' height='51.5px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='5px' stroke-linecap='butt' stroke-linejoin='miter' fill='none' d='M24.603,3.026 C36.403,3.026 45.969,12.589 45.969,24.385 C45.969,36.181 36.403,45.743 24.603,45.743 C12.802,45.743 3.236,36.181 3.236,24.385 C3.236,12.589 12.802,3.026 24.603,3.026 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M33.035,24.085 L18.878,32.382 L18.878,15.788 L33.035,24.085 Z'/%3E%3C/svg%3E");
  }
}
@media (min-width: 1120px) {
  :root {
    --container-padding: 50px;
    --icon-play: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='98.5px' height='98.5px'%3E%3Cpath fill-rule='evenodd' stroke='rgb(0, 0, 0)' stroke-width='5px' stroke-linecap='butt' stroke-linejoin='miter' fill='none' d='M48.177,3.216 C73.029,3.216 93.177,23.365 93.177,48.216 C93.177,73.070 73.029,93.216 48.177,93.216 C23.324,93.216 3.177,73.070 3.177,48.216 C3.177,23.365 23.324,3.216 48.177,3.216 Z'/%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M65.936,47.621 L36.060,65.136 L36.060,30.105 L65.936,47.621 Z'/%3E%3C/svg%3E");
  }
}
@media (min-width: 1600px) {
  :root {
    --container-padding: 100px;
    --section-margin: 120px;
    --extra-padding: 90px;
  }
}

/*---------------------------------------------------------
  ANIMATION MIXINS
---------------------------------------------------------*/
/*---------------------------------------------------------
  LAYOUT MIXINS
---------------------------------------------------------*/
/*---------------------------------------------------------
  MISC MIXINS
---------------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/***
    The new CSS reset - version 1.8.2 (last updated 23.12.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: pointer;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  display: block;
  max-inline-size: 100%;
  max-block-size: 100%;
  height: auto;
}

video {
  display: block;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
pre {
  all: revert;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* remove default dot (•) sign */
::marker {
  content: "";
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
}

.alignnone {
  margin: 5px 20px 20px 0;
}
.alignnone:last-child {
  margin-bottom: 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
a img.alignnone {
  margin: 5px 20px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}
.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}
.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/**
100    Extra Light or Ultra Light
200    Light or Thin
300    Book or Demi
400    Normal or Regular
500    Medium
600    Semibold, Demibold
700    Bold
800    Black, Extra Bold or Heavy
900    Extra Black, Fat, Poster or Ultra Black
**/
@font-face {
  font-family: "Eurostile";
  src: url("../fonts/EurostileBold.woff2") format("woff2"), url("../fonts/EurostileBold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Eurostile Ext";
  src: url("../fonts/EurostileExt-Bold.woff2") format("woff2"), url("../fonts/EurostileExt-Bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EuroStyle";
  src: url("../fonts/EuroStyleNormal.woff2") format("woff2"), url("../fonts/EuroStyleNormal.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EurostileT";
  src: url("../fonts/EurostileT-Bold.woff2") format("woff2"), url("../fonts/EurostileT-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EurostileExtObl-Normal";
  src: url("../fonts/EurostileExtObl-Normal.woff2") format("woff2"), url("../fonts/EurostileExtObl-Normal.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EurostileExtObl";
  src: url("../fonts/EurostileExtObl-Bold.woff2") format("woff2"), url("../fonts/EurostileExtObl-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EurostileExt-Normal";
  src: url("../fonts/EurostileExt-Normal.woff2") format("woff2"), url("../fonts/EurostileExt-Normal.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "EurostileCnd";
  src: url("../fonts/EurostileCnd-Bold.woff2") format("woff2"), url("../fonts/EurostileCnd-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Eurostile Extended";
  src: url("../fonts/EurostileExtended-Roman.woff2") format("woff2"), url("../fonts/EurostileExtended-Roman.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Eurostile";
  src: url("../fonts/Eurostile-Oblique.woff2") format("woff2"), url("../fonts/Eurostile-Oblique.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
body {
  color: #000000;
  font-family: "Poppins", sans-serif;
  font-weight: 300;
  letter-spacing: 0.022em;
  font-size: 1rem;
  line-height: 1.75;
}
@media (min-width: 640px) {
  body {
    font-size: 1.0625rem;
    letter-spacing: 0.025em;
  }
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  margin: 0;
  font-weight: normal;
}
h1:first-child, .h1:first-child, h2:first-child, .h2:first-child, h3:first-child, .h3:first-child, h4:first-child, .h4:first-child, h5:first-child, .h5:first-child, h6:first-child, .h6:first-child {
  margin-top: 0;
}
h1:last-child, .h1:last-child, h2:last-child, .h2:last-child, h3:last-child, .h3:last-child, h4:last-child, .h4:last-child, h5:last-child, .h5:last-child, h6:last-child, .h6:last-child {
  margin-bottom: 0;
}

h1, .h1 {
  text-transform: uppercase;
  font-family: "eurostile", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media (min-width: 640px) {
  h1, .h1 {
    font-size: 2.1875rem;
  }
}
@media (min-width: 1120px) {
  h1, .h1 {
    font-size: 3.125rem;
    line-height: 1.2;
  }
}

h2, .h2 {
  text-transform: uppercase;
  font-family: "eurostile", sans-serif;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: 15px;
}
@media (min-width: 640px) {
  h2, .h2 {
    font-size: 1.5625rem;
    line-height: 1.4;
    margin-bottom: 20px;
  }
}
@media (min-width: 1120px) {
  h2, .h2 {
    font-size: 1.875rem;
    margin-bottom: 32px;
  }
}
h2 strong, .h2 strong {
  font-weight: 700;
}

h3, .h3 {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
  margin: 28px 0 10px;
}
@media (min-width: 640px) {
  h3, .h3 {
    margin-bottom: 25px;
    font-size: 1.5rem;
  }
}

h4, .h4 {
  text-transform: uppercase;
  font-weight: 500;
  margin: 28px 0 10px;
}
@media (min-width: 640px) {
  h4, .h4 {
    margin: 30px 0 10px;
  }
}

a {
  text-decoration: none;
  color: var(--color-primary);
}
@media (hover: hover) {
  a:hover {
    text-decoration: underline;
  }
}

p {
  margin: 0 0 1.6em;
}
p + ul,
p + ol {
  margin-top: -1em;
}
@media (min-width: 640px) {
  p + ul,
  p + ol {
    margin-top: -0.7em;
  }
}
p:last-child {
  margin-bottom: 0;
}

.siteContent ul {
  margin-bottom: 1.75em;
  padding-left: 20px;
}
@media (min-width: 640px) {
  .siteContent ul {
    padding-left: 22px;
  }
}
.siteContent ul:last-child {
  margin-bottom: 0;
}
.siteContent ul li {
  position: relative;
}
.siteContent ul li:before {
  content: "";
  position: absolute;
  top: 12px;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: var(--color-primary);
  left: -20px;
}
@media (min-width: 640px) {
  .siteContent ul li:before {
    left: -22px;
  }
}
.siteContent ol {
  counter-reset: index;
  margin-bottom: 1.75em;
  padding-left: 22px;
}
@media (min-width: 640px) {
  .siteContent ol {
    padding-left: 25px;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
}
.siteContent ol:last-child {
  margin-bottom: 0;
}
.siteContent ol li {
  position: relative;
  counter-increment: index;
}
.siteContent ol li:before {
  content: counters(index, ".") ". ";
  display: inline-block;
  min-width: 22px;
  position: absolute;
  left: -22px;
}
@media (min-width: 640px) {
  .siteContent ol li:before {
    min-width: 25px;
    left: -25px;
  }
}

b, strong {
  font-weight: 500;
}

em {
  font-style: italic;
}

blockquote {
  padding: 0;
  margin: 0;
}

address {
  font-style: normal;
}

@media (min-width: 640px) {
  .tabletCenter {
    text-align: center;
  }
}
@media (min-width: 640px) {
  .tabletCenter .buttons {
    justify-content: center;
  }
}

@media (min-width: 1120px) {
  .desktopLeft {
    text-align: left;
  }
}

.wysiwyg > *:last-child {
  margin-bottom: 0;
}
.wysiwyg a:not(.btn) {
  text-decoration: underline;
}

input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=date],
input[type=search],
input[type=url],
input[type=password],
textarea,
select {
  border: none;
  padding: 5px 15px;
  width: 100%;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  margin: 0;
  height: 50px;
  background: #ffffff;
}
@media (min-width: 640px) {
  input[type=text],
  input[type=number],
  input[type=tel],
  input[type=email],
  input[type=date],
  input[type=search],
  input[type=url],
  input[type=password],
  textarea,
  select {
    padding: 5px 25px;
  }
}

select {
  line-height: 48px;
  padding-top: 0;
  padding-bottom: 0;
  background: #ffffff var(--icon-angle) no-repeat right 12px center;
}

textarea {
  display: block;
  height: 220px;
  padding-top: 15px;
  padding-bottom: 15px;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=checkbox] + *,
input[type=radio] + * {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
}

input[type=checkbox] + *:before,
input[type=radio] + *:before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: #ffffff;
  position: absolute;
  left: 0;
  top: 3px;
  border: 4px solid #ffffff;
  box-shadow: 0 0 0 1px #cccccc;
  border-radius: 3px;
}

input[type=checkbox]:checked + *:before,
input[type=radio]:checked + *:before {
  background: currentColor;
}

.field {
  position: relative;
  display: block;
}
.field__title {
  display: block;
  font-weight: 500;
  margin-bottom: 5px;
}
.field span.error {
  text-align: right;
  font-size: 14px;
  color: yellow;
  position: absolute;
  top: 100%;
  right: 0;
}

.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  background: transparent;
  border: none;
  color: var(--color-primary);
  outline: none;
  padding: 10px 18px;
  text-transform: uppercase;
  font-weight: 500;
  min-width: 116px;
  font-size: 1rem;
  letter-spacing: 0.05em;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}
.button:before, .button:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 100%;
  border: 2px solid var(--color-primary);
}
.button:before {
  left: 0;
  right: calc(50% + 4px);
  border-right-width: 0;
}
.button:after {
  right: 0;
  left: calc(50% + 4px);
  border-left-width: 0;
}
.button:last-child {
  margin: 0;
}
@media (hover: hover) {
  .button:hover {
    text-decoration: none;
    background: var(--color-primary);
    color: #ffffff;
  }
}
.button--white {
  color: #ffffff;
}
.button--white:before, .button--white:after {
  border-color: #ffffff;
}
@media (hover: hover) {
  .button--white:hover {
    color: var(--color-primary);
    background: #ffffff;
  }
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 25px;
  margin: 25px 0 43px;
}
@media (min-width: 640px) {
  .buttons {
    margin: 35px 0;
  }
}
.buttons:first-child {
  margin-top: 0;
}
.buttons:last-child {
  margin-bottom: 0;
}
.buttons--center {
  justify-content: center;
}

table {
  width: 100%;
  max-width: 100%;
}
table th,
table td {
  vertical-align: top;
}
table thead th {
  vertical-align: bottom;
}

.visually-hidden {
  clip-path: inset(50%);
  width: 1px;
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

body {
  min-width: 320px;
  position: relative;
  padding: 0;
  display: flex;
  flex-direction: column;
  scroll-behavior: smooth;
}

.siteContent {
  padding-top: 85px;
  flex: 1;
  overflow: hidden;
}
@media (min-width: 640px) {
  .siteContent {
    padding-top: 110px;
  }
}
@media (min-width: 1600px) {
  .siteContent {
    padding-top: 148px;
  }
}

.container {
  margin: 0 auto;
  max-width: 1760px;
  padding: 0 var(--container-padding);
  width: 100%;
}
.container--narrow {
  max-width: 1360px;
}

.siteHeader {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background: transparent;
  z-index: 3000;
  transition: background-color 0.3s;
}
.siteHeader__inner {
  position: relative;
  height: 85px;
  display: flex;
  align-items: center;
}
@media (min-width: 640px) {
  .siteHeader__inner {
    height: 110px;
  }
}
@media (min-width: 1600px) {
  .siteHeader__inner {
    height: 148px;
  }
}
.siteHeader__logoContainer {
  display: block;
}
.siteHeader__logoImage {
  width: 135px;
}
@media (min-width: 640px) {
  .siteHeader__logoImage {
    width: 230px;
  }
}
@media (min-width: 1120px) {
  .siteHeader__logoImage {
    width: 200px;
  }
}
@media (min-width: 1600px) {
  .siteHeader__logoImage {
    width: 248px;
  }
}
.siteHeader__logoAnniversary {
  position: relative;
  width: 48px;
  margin-left: 31px;
}
@media (min-width: 640px) {
  .siteHeader__logoAnniversary {
    width: 75px;
    margin: 0;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
  }
}
@media (min-width: 1120px) {
  .siteHeader__logoAnniversary {
    width: 50px;
  }
}
@media (min-width: 1360px) {
  .siteHeader__logoAnniversary {
    width: 75px;
  }
}
.siteHeader__logoAnniversary:before {
  content: "";
  width: 1px;
  height: 45px;
  background: #c2c2c2;
  position: absolute;
  left: -16px;
  top: 50%;
  translate: 0 -50%;
}
@media (min-width: 640px) {
  .siteHeader__logoAnniversary:before {
    left: -38px;
  }
}
@media (min-width: 1120px) {
  .siteHeader__logoAnniversary:before {
    left: -26px;
  }
}
@media (min-width: 1360px) {
  .siteHeader__logoAnniversary:before {
    left: -38px;
  }
}
.btnMenu {
  position: absolute;
  top: 50%;
  right: -15px;
  padding: 0;
  transform: translateY(-50%);
  z-index: 1000;
  background: transparent;
  outline: none;
  border: none;
  display: flex;
  align-items: center;
}
@media (min-width: 640px) {
  .btnMenu {
    right: 140px;
    padding: 10px;
  }
}
@media (min-width: 1120px) {
  .btnMenu {
    display: none;
  }
}
.btnMenu__text {
  display: none;
}
@media (min-width: 640px) {
  .btnMenu__text {
    display: block;
    text-transform: uppercase;
    font-weight: 500;
  }
}
.btnMenu__hamburger {
  display: block;
  position: relative;
  width: 50px;
  height: 50px;
}
@media (min-width: 640px) {
  .btnMenu__hamburger {
    width: 32px;
    height: 32px;
  }
}
.btnMenu__hamburger span {
  display: block;
  border-radius: 0;
  background: currentColor;
  width: 20px;
  height: 2px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
.btnMenu__hamburger span:nth-child(1) {
  margin-top: -5px;
}
.btnMenu__hamburger span:nth-child(3) {
  margin-top: 5px;
}
.btnMenu.close .btnMenu__hamburger span:nth-child(1) {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.btnMenu.close .btnMenu__hamburger span:nth-child(2) {
  background: transparent;
}
.btnMenu.close .btnMenu__hamburger span:nth-child(3) {
  margin-top: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
.siteFooter {
  position: relative;
}
.siteFooter a {
  color: currentColor;
}
.siteFooter .container {
  max-width: 1660px;
}
.siteFooter__inner {
  background: var(--color-primary);
  color: #ffffff;
  padding: 50px 0 40px;
}
@media (min-width: 640px) {
  .siteFooter__inner {
    padding: 63px 115px 75px 0;
  }
}
@media (min-width: 1360px) {
  .siteFooter__inner {
    padding: 68px 100px 95px 0;
  }
}
.siteFooter__cols {
  display: flex;
  flex-direction: column;
  gap: 47px;
}
@media (min-width: 640px) {
  .siteFooter__cols {
    gap: 75px;
  }
}
@media (min-width: 1120px) {
  .siteFooter__cols {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0;
  }
}
@media (min-width: 1120px) {
  .siteFooter__col1 {
    width: 100%;
  }
}
@media (min-width: 1360px) {
  .siteFooter__col1 {
    width: 27%;
  }
}
@media (min-width: 640px) {
  .siteFooter__col2 {
    display: flex;
    justify-content: space-between;
    gap: 50px;
  }
}
@media (min-width: 1120px) {
  .siteFooter__col2 {
    width: 45%;
    flex-direction: column;
  }
}
@media (min-width: 1360px) {
  .siteFooter__col2 {
    width: 27%;
    padding-top: 35px;
    min-width: 365px;
  }
}
@media (min-width: 640px) {
  .siteFooter__col3 {
    padding-top: 20px;
  }
}
@media (min-width: 1120px) {
  .siteFooter__col3 {
    width: 45%;
    padding-top: 0;
  }
}
@media (min-width: 1360px) {
  .siteFooter__col3 {
    width: 27%;
    padding-top: 35px;
  }
}
.siteFooter__logoContainer {
  display: block;
  width: 135px;
}
@media (min-width: 640px) {
  .siteFooter__logoContainer {
    width: 248px;
  }
}
.siteFooter__description {
  margin-top: 18px;
}
@media (min-width: 640px) {
  .siteFooter__description {
    margin-top: 22px;
  }
}
.siteFooter__title {
  font-size: 1.125rem;
  line-height: 1.39;
  font-weight: 500;
  margin-bottom: 21px;
}
@media (min-width: 640px) {
  .siteFooter__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
@media (min-width: 1120px) {
  .siteFooter__title {
    margin-bottom: 35px;
  }
}
@media (min-width: 640px) {
  .siteFooter__newsletter {
    flex: 1;
  }
}
.siteFooter__partners {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
}
@media (min-width: 640px) {
  .siteFooter__partners {
    flex-wrap: wrap;
    gap: 23px 38px;
    width: 170px;
    margin-top: 0;
  }
}
@media (min-width: 1120px) {
  .siteFooter__partners {
    width: 100%;
    gap: 23px 33px;
    margin-top: 25px;
  }
}
.siteFooter__partnerLogo {
  width: 55px;
  filter: grayscale(100%);
}
@media (min-width: 640px) {
  .siteFooter__partnerLogo {
    width: 66px;
  }
}
@media (min-width: 640px) {
  .siteFooter__contacts {
    display: flex;
    gap: 40px;
  }
}
@media (min-width: 1120px) {
  .siteFooter__contacts {
    flex-direction: column;
    gap: 30px;
  }
}
.siteFooter__address {
  margin-bottom: 30px;
}
@media (min-width: 1120px) {
  .siteFooter__address {
    margin-bottom: 0;
  }
}
.siteFooter__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 25px;
}
@media (min-width: 1120px) {
  .siteFooter__buttons {
    margin-top: 45px;
  }
}
.siteFooter__copyright {
  margin-top: 45px;
  font-size: 0.875rem;
  line-height: 2.14;
}
@media (min-width: 640px) {
  .siteFooter__copyright {
    margin-top: 80px;
    width: 72%;
  }
}
@media (min-width: 1120px) {
  .siteFooter__copyright {
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .siteFooter__copyright {
    width: 27%;
    max-width: 350px;
    margin-top: -48px;
  }
}
.siteFooter__copyright a {
  color: #ffffff;
  text-decoration: underline;
}
@media (hover: hover) {
  .siteFooter__copyright a:hover {
    text-decoration: none;
  }
}
.siteFooter__socials {
  background: #353535 url("../images/socials-bg-mobile.jpg") no-repeat center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 22px 0;
}
@media (min-width: 640px) {
  .siteFooter__socials {
    position: absolute;
    top: 0;
    right: 0;
    width: 110px;
    bottom: 0;
    flex-direction: column;
    justify-content: flex-start;
    padding: 110px 0;
    gap: 22px;
    background-image: url("../images/socials-bg-tablet.jpg");
  }
}
@media (min-width: 1120px) {
  .siteFooter__socials {
    width: 100px;
  }
}
.siteFooter__socials .social {
  background: #ffffff;
  width: 30px;
  height: 30px;
}
.siteFooter__socials .social:before {
  background: #353535;
  height: 16px;
  width: 16px;
}

@media (min-width: 640px) {
  .newsletterForm {
    margin-top: -5px;
  }
}
.newsletterForm input {
  border: none;
  border-bottom: 2px solid currentColor;
  height: 44px;
  padding: 0;
  background: transparent;
}
.newsletterForm__buttons {
  margin-top: 28px;
}
@media (min-width: 640px) {
  .newsletterForm__buttons {
    margin-top: 38px;
  }
}
@media (min-width: 1120px) {
  .newsletterForm__buttons {
    margin-top: 45px;
  }
}

.siteNav {
  visibility: hidden;
  opacity: 0;
  padding: 50px var(--container-padding);
  background: #040707;
  position: absolute;
  left: 0;
  top: 85px;
  width: 100%;
  z-index: 2000;
  transition: visibility 0.3s, opacity 0.3s;
  background-size: auto;
}
@media (min-width: 640px) {
  .siteNav {
    top: 110px;
    transition: visibility 0.3s, opacity 0.3s, height 0.3s;
  }
}
@media (min-width: 1120px) {
  .siteNav {
    visibility: visible;
    opacity: 1;
    top: 55px;
    padding: 0;
    background: transparent;
    display: flex;
    justify-content: flex-end;
    left: auto;
    right: calc(var(--container-padding) + 100px);
    max-width: calc(var(--container-max-width) - var(--container-padding) * 2);
    translate: 0 -50%;
    z-index: 3000;
  }
}
@media (min-width: 1360px) {
  .siteNav {
    right: calc(var(--container-padding) + 150px);
  }
}
@media (min-width: 1600px) {
  .siteNav {
    top: 74px;
    right: calc(var(--container-padding) + 150px);
  }
}
@media (min-width: 1760px) {
  .siteNav {
    right: 50%;
    translate: 625px;
  }
}
.siteNav--visible {
  visibility: visible;
  opacity: 1;
}

.primaryMenu {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
}
@media (min-width: 1120px) {
  .primaryMenu {
    padding: 0;
    flex-direction: row;
    gap: 17px;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
  }
}
@media (min-width: 1360px) {
  .primaryMenu {
    gap: 25px;
  }
}
@media (min-width: 1600px) {
  .primaryMenu {
    gap: 44px;
  }
}
.primaryMenu > li {
  position: relative;
  padding: 0;
  margin: 0;
}
.primaryMenu > li:before {
  display: none;
}
.primaryMenu > li > .menu-item-link-wrapper {
  display: flex;
  align-items: stretch;
}
.primaryMenu > li > .menu-item-link-wrapper > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  white-space: nowrap;
  color: #ffffff;
  text-transform: uppercase;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  font-weight: 500;
  transition: color 0.3s, background-color 0.3s, padding 0.3s;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .menu-item-link-wrapper > a {
    color: currentColor;
    font-size: 0.875rem;
    height: 70px;
  }
}
@media (min-width: 1360px) {
  .primaryMenu > li > .menu-item-link-wrapper > a {
    font-size: 1rem;
  }
}
.primaryMenu > li > .menu-item-link-wrapper > a:hover {
  text-decoration: none;
}
.primaryMenu > li > .menu-item-link-wrapper > .menu-item-button {
  position: relative;
  width: 35px;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .menu-item-link-wrapper > .menu-item-button {
    width: 18px;
  }
}
.primaryMenu > li > .menu-item-link-wrapper > .menu-item-button:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border: solid transparent;
  border-width: 8px 4px 0 4px;
  border-top-color: var(--color-primary);
  transition: rotate 0.3s;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .menu-item-link-wrapper > .menu-item-button:before {
    left: auto;
    right: 0;
    border-top-color: currentColor;
  }
}
.primaryMenu > li > .sub-menu-wrapper {
  display: none;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .sub-menu-wrapper {
    display: flex !important;
    gap: 90px;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: -35px;
    box-shadow: 0 0 21px 0 rgba(0, 1, 1, 0.2);
    background: #ffffff;
    width: auto;
    min-width: calc(100% + 74px);
    padding: 35px 35px;
    transition: visibility 0.3s, opacity 0.3s;
  }
}
.primaryMenu > li > .sub-menu-wrapper > ul {
  list-style-type: none;
  padding: 16px 0 10px;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 640px) {
  .primaryMenu > li > .sub-menu-wrapper > ul {
    padding: 14px 0 10px;
  }
}
@media (min-width: 1120px) {
  .primaryMenu > li > .sub-menu-wrapper > ul {
    padding: 0;
  }
}
.primaryMenu > li > .sub-menu-wrapper > ul > li {
  display: flex;
  flex-wrap: wrap;
}
.primaryMenu > li > .sub-menu-wrapper > ul > li > .menu-item-link-wrapper > a {
  display: block;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .sub-menu-wrapper > ul > li > .menu-item-link-wrapper > a {
    color: currentColor;
    white-space: nowrap;
    transition: color 0.3s;
  }
}
.primaryMenu > li > .sub-menu-wrapper > ul > li > .menu-item-link-wrapper > a:hover {
  text-decoration: none;
}
@media (min-width: 1120px) {
  .primaryMenu > li > .sub-menu-wrapper > ul > li > .menu-item-link-wrapper > a:hover {
    color: var(--color-primary);
  }
}
.primaryMenu > li > .sub-menu-wrapper > ul > li.current-menu-item > .menu-item-link-wrapper > a {
  color: var(--color-primary);
}
.primaryMenu > li.open > .menu-item-link-wrapper > .menu-item-button:before {
  rotate: 180deg;
}
@media (min-width: 1120px) {
  .primaryMenu > li.current-menu-item > .menu-item-link-wrapper, .primaryMenu > li.current-menu-parent > .menu-item-link-wrapper {
    color: var(--color-primary);
  }
}
@media (min-width: 1120px) {
  .primaryMenu > li:hover > .menu-item-link-wrapper {
    color: var(--color-primary);
  }
}
@media (min-width: 1120px) {
  .primaryMenu > li.menu-item-has-children:hover > .menu-item-link-wrapper > .menu-item-button:before {
    rotate: 180deg;
  }
}
@media (min-width: 1120px) {
  .primaryMenu > li.menu-item-has-children:hover > .sub-menu-wrapper {
    visibility: visible;
    opacity: 1;
  }
}

@media (min-width: 1120px) {
  .sub-menu--resources {
    position: relative;
    margin-left: 45px;
  }
}
@media (min-width: 1120px) {
  .sub-menu--resources:before {
    content: "";
    display: block;
    width: 1px;
    background: #dddddd;
    position: absolute;
    top: 0;
    left: -45px;
    bottom: 0;
  }
}

.menu-item--resource a {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: 20px;
  line-height: 1.25;
  min-height: 15px;
}
@media (min-width: 1120px) {
  .menu-item--resource a {
    width: 250px;
    white-space: normal !important;
  }
}
.menu-item--resource a:before {
  content: "";
  display: block;
  background-color: currentColor;
  mask: var(--icon-download) no-repeat center;
  width: 12px;
  height: 15px;
  position: absolute;
  left: 0;
  top: 3px;
}

.navOverlay {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background: #ffffff;
  z-index: 1000;
  transition: visibility 0.3s, opacity 0.3s;
}
.navOverlay--visible {
  opacity: 1;
  visibility: visible;
}

.breadcrumbs {
  margin-top: -20px;
  margin-bottom: 30px;
  font-size: 0.875rem;
  line-height: 1.5;
}
@media (min-width: 640px) {
  .breadcrumbs {
    margin-top: -40px;
    margin-bottom: 50px;
  }
}
@media (min-width: 1120px) {
  .breadcrumbs {
    font-size: 1rem;
  }
}
@media (min-width: 1600px) {
  .breadcrumbs {
    margin-top: -60px;
    margin-bottom: 85px;
  }
}
.breadcrumbs a {
  display: inline-block;
  color: currentColor;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  transition: border-color 0.3s, color 0.3s;
}
@media (hover: hover) {
  .breadcrumbs a:hover {
    border-bottom-color: transparent;
    color: var(--color-primary);
  }
}
.breadcrumbs__divider {
  display: inline-block;
  margin: 0 5px;
}

.section {
  position: relative;
  margin: var(--section-margin) 0;
  z-index: 20;
}
.section--bg {
  margin: 0;
  padding: 55px 0;
}
@media (min-width: 640px) {
  .section--bg {
    padding: 95px 0;
  }
}
@media (min-width: 1600px) {
  .section--bg {
    padding: 120px 0;
  }
}
.section--grey {
  margin: 0;
  padding: 55px 0;
  background-color: var(--color-grey);
}
@media (min-width: 640px) {
  .section--grey {
    padding: 95px 0;
  }
}
@media (min-width: 1600px) {
  .section--grey {
    padding: 120px 0;
  }
}
@media (min-width: 1600px) {
  .section--reducedMargin {
    margin: 120px 0;
  }
}
@media (min-width: 1600px) {
  .section--extraMargin {
    margin: 150px 0;
  }
}
.section--topOverlay {
  margin-top: -40px;
  padding-top: calc(var(--section-margin) + 40px);
}
@media (min-width: 1600px) {
  .section--topOverlay {
    margin-top: -100px;
    padding-top: calc(var(--section-margin) + 100px);
  }
}
.section--topExtraPadding {
  padding-top: calc(var(--section-margin) + var(--extra-padding));
}
.section--bottomExtraPadding {
  padding-bottom: calc(var(--section-margin) + var(--extra-padding));
}
@media (min-width: 1600px) {
  .section--extraPadding {
    --section-margin: 150px;
  }
}
.section--over {
  z-index: 30;
}
.section--bgImage {
  background: no-repeat center;
  background-size: cover;
  margin: 0;
  padding: 130px 0;
  color: #ffffff;
}
@media (min-width: 640px) {
  .section--bgImage {
    min-height: 640px;
    text-align: center;
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1600px) {
  .section--bgImage {
    min-height: 680px;
  }
}
@media (min-width: 640px) {
  .section--bgImage .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.section--bottomOverlay {
  margin-bottom: -40px;
  z-index: 30;
}
@media (min-width: 1600px) {
  .section--bottomOverlay {
    margin-bottom: -80px;
  }
}
.section--bottomOverlay.section--grey {
  padding-bottom: 110px;
}
@media (min-width: 640px) {
  .section--bottomOverlay.section--grey {
    padding-bottom: 150px;
  }
}
.section--bottomOverlay + .section {
  margin-top: 0;
}
.section--bottomOverlay + .textImageSection {
  z-index: 30;
}
.section--bottomOverlay + .section--grey {
  padding-top: 95px;
}
@media (min-width: 640px) {
  .section--bottomOverlay + .section--grey {
    padding-top: 140px;
  }
}

.sectionHero {
  position: relative;
  margin: 0;
  z-index: 30;
}
.sectionHero__inner {
  position: relative;
  margin-right: var(--container-padding);
}
.sectionHero__imageContainer {
  position: relative;
}
.sectionHero__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 55%;
}
@media (min-width: 640px) {
  .sectionHero__imageContainer:before {
    padding-bottom: 41%;
  }
}
@media (min-width: 1120px) {
  .sectionHero__imageContainer:before {
    padding-bottom: 31.5%;
  }
}
.sectionHero__image, .sectionHero__video {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sectionHero__overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
  color: #ffffff;
  display: flex;
  align-items: flex-end;
  padding: 24px 0;
}
@media (min-width: 640px) {
  .sectionHero__overlay {
    padding: 37px 0;
  }
}
@media (min-width: 1120px) {
  .sectionHero__overlay {
    padding: 7.2vw 0;
  }
}
.sectionHero__textContainer {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 1600px) {
  .sectionHero__textContainer {
    padding-left: calc(var(--container-padding) / 2);
  }
}
.sectionHero__category {
  text-transform: uppercase;
  font-weight: 500;
  margin-top: 10px;
}
@media (min-width: 640px) {
  .sectionHero__category {
    font-size: 1.25rem;
    margin-top: 25px;
  }
}
@media (min-width: 1120px) {
  .sectionHero__category {
    margin-bottom: -3.5vw;
  }
}
.sectionHero + .section--grey {
  margin-top: -40px;
  padding-top: calc(var(--section-margin) + 40px);
}
@media (min-width: 1600px) {
  .sectionHero + .section--grey {
    margin-top: -100px;
    padding-top: calc(var(--section-margin) + 100px);
  }
}

.introSection {
  background: var(--color-primary);
  margin-top: -40px;
  padding-top: 75px;
  color: #ffffff;
  z-index: 10;
}
@media (min-width: 640px) {
  .introSection {
    font-size: 1.25rem;
    line-height: 1.75;
    letter-spacing: 0.025em;
    padding-top: 113px;
  }
}
@media (min-width: 1600px) {
  .introSection {
    margin-top: -100px;
    padding-top: 222px;
    font-size: 1.5rem;
    letter-spacing: 0.02em;
  }
}
.introSection__inner {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
@media (min-width: 640px) {
  .introSection__inner {
    gap: 45px;
  }
}
@media (min-width: 1360px) {
  .introSection__inner {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media (min-width: 1360px) {
  .introSection__col1 {
    width: 49%;
  }
}
.introSection__col2 {
  font-weight: 500;
}
@media (min-width: 1360px) {
  .introSection__col2 {
    width: 45%;
    max-width: 630px;
  }
}
.introSection__logos {
  position: relative;
  margin: 25px 0 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 40px;
}
@media (min-width: 640px) {
  .introSection__logos {
    gap: 20px 20%;
    margin: 40px 0 50px;
  }
}
@media (min-width: 640px) {
  .introSection__logos:before {
    content: "";
    display: block;
    position: absolute;
    background: #c2c2c2;
    width: 1px;
    top: 50%;
    left: calc(190px + 10%);
    height: 90px;
    translate: 0 -50%;
  }
}
@media (min-width: 640px) {
  .introSection__logos:before {
    left: calc(255px + 10%);
  }
}
@media (min-width: 1360px) {
  .introSection__logos:before {
    left: calc(190px + 10%);
  }
}
@media (min-width: 1920px) {
  .introSection__logos:before {
    left: calc(255px + 10%);
  }
}
.introSection__logo1 {
  max-width: 190px;
}
@media (min-width: 640px) {
  .introSection__logo1 {
    max-width: 255px;
  }
}
@media (min-width: 1360px) {
  .introSection__logo1 {
    max-width: 190px;
  }
}
@media (min-width: 1920px) {
  .introSection__logo1 {
    max-width: 255px;
  }
}
.introSection__logo2 {
  max-width: 180px;
}
@media (min-width: 640px) {
  .introSection__logo2 {
    max-width: 240px;
  }
}
@media (min-width: 1360px) {
  .introSection__logo2 {
    max-width: 180px;
  }
}
@media (min-width: 1920px) {
  .introSection__logo2 {
    max-width: 255px;
  }
}
.introSection + .textImageSection .textImageBlock__imageCol {
  margin-top: calc(-1 * var(--section-margin) - 40px);
}
@media (min-width: 1120px) {
  .introSection + .textImageSection .textImageBlock__imageCol {
    margin-top: calc(-1 * var(--section-margin) - 80px);
  }
}
@media (min-width: 1600px) {
  .introSection + .textImageSection .textImageBlock__imageCol {
    margin-top: calc(-1 * var(--section-margin) - 100px);
  }
}

.imagesSection {
  margin: 0;
}
@media (min-width: 640px) {
  .imagesSection {
    display: flex;
    flex-wrap: wrap;
  }
}
.imagesSection__imageContainer {
  position: relative;
}
@media (min-width: 640px) {
  .imagesSection__imageContainer {
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .imagesSection__imageContainer {
    width: 25%;
  }
}
.imagesSection__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 79%;
}
@media (min-width: 1120px) {
  .imagesSection__imageContainer:before {
    padding-bottom: 80%;
  }
}
.imagesSection__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.socialsSection {
  text-align: center;
}

.ctaSection {
  position: relative;
  margin: 80px 0;
}
@media (min-width: 640px) {
  .ctaSection {
    margin: 105px 0;
  }
}
@media (min-width: 1600px) {
  .ctaSection {
    margin: 160px 0;
  }
}
.ctaSection:has(.ctaSection__bg) {
  color: #ffffff;
  margin: 0;
  padding: 80px 0;
}
@media (min-width: 640px) {
  .ctaSection:has(.ctaSection__bg) {
    padding: 105px 0;
  }
}
@media (min-width: 1600px) {
  .ctaSection:has(.ctaSection__bg) {
    padding: 160px 0;
  }
}
.ctaSection:has(.ctaSection__bg) .button {
  color: #ffffff;
}
.ctaSection:has(.ctaSection__bg) .button:before, .ctaSection:has(.ctaSection__bg) .button:after {
  border-color: #ffffff;
}
@media (hover: hover) {
  .ctaSection:has(.ctaSection__bg) .button:hover {
    background-color: #ffffff;
    color: var(--color-primary);
  }
}
.ctaSection__bg {
  position: absolute;
  inset: 0;
}
.ctaSection__bgImage {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ctaSection__bg:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
}
.ctaSection .container {
  position: relative;
}
@media (min-width: 640px) {
  .ctaSection .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}

.narrowBlock {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

@media (min-width: 1120px) {
  .narrowLeftBlock {
    max-width: 630px;
  }
}

.postsListing {
  margin-top: 30px;
}
@media (min-width: 640px) {
  .postsListing {
    margin-top: 40px;
  }
}
.postsListing:first-child {
  margin-top: 0;
}
.postsListing__filters {
  margin-bottom: 30px;
}
@media (min-width: 640px) {
  .postsListing__filters {
    margin-bottom: 40px;
  }
}
@media (min-width: 1120px) {
  .postsListing__filters {
    margin-bottom: 70px;
  }
}
.postsListing__categoriesFilterDropdown {
  display: block;
}
@media (min-width: 640px) {
  .postsListing__categoriesFilterDropdown {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 960px) {
  .postsListing__categoriesFilterDropdown {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 1120px) {
  .postsListing__categoriesFilterDropdown {
    display: none;
  }
}
.postsListing__categoriesFilterButtons {
  display: none;
}
@media (min-width: 1120px) {
  .postsListing__categoriesFilterButtons {
    display: flex;
    justify-content: center;
    gap: 10px 20px;
  }
}
.postsListing__categoriesFilterButtons button {
  display: flex;
  align-items: center;
  color: var(--color-primary);
  white-space: nowrap;
  height: 33px;
  padding: 0 15px;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.04em;
  transition: color 0.3s, background-color 0.3s;
}
.postsListing__categoriesFilterButtons button.active {
  color: #ffffff;
  background-color: var(--color-primary);
}
@media (hover: hover) {
  .postsListing__categoriesFilterButtons button:hover {
    color: #ffffff;
    background-color: var(--color-primary);
  }
}
.postsListing__items {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .postsListing__items {
    flex-direction: row;
    margin: 0 -20px;
  }
}
.postsListing__item {
  display: flex;
  width: 100%;
  margin-bottom: 30px;
}
@media (min-width: 640px) {
  .postsListing__item {
    margin: 0 20px 40px;
    width: calc((100% - 80px) / 2);
  }
}
@media (min-width: 960px) {
  .postsListing__item {
    margin: 0 20px 40px;
    width: calc((100% - 120px) / 3);
  }
}
@media (min-width: 640px) {
  .postsListing__item:has(.mediaTeaser) {
    width: 100%;
  }
}
@media (min-width: 1120px) {
  .postsListing__item:has(.mediaTeaser) {
    width: calc((100% - 80px) / 2);
  }
}
@media (min-width: 1360px) {
  .postsListing__item:has(.mediaTeaser) {
    width: calc((100% - 120px) / 3);
  }
}
.postsListing__item.hidden {
  display: none;
}
.postsListing__pagination {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.textImageBlock {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
@media (min-width: 640px) {
  .textImageBlock {
    gap: 60px;
  }
}
@media (min-width: 1120px) {
  .textImageBlock {
    display: flex;
    flex-direction: row-reverse;
    gap: 6%;
  }
}
@media (min-width: 1360px) {
  .textImageBlock {
    gap: 10%;
  }
}
.textImageBlock__imageCol {
  margin-right: calc(-1 * var(--container-padding));
}
@media (min-width: 640px) {
  .textImageBlock__imageCol {
    width: 71%;
    margin-left: auto;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__imageCol {
    margin: 0;
    width: 51.2%;
  }
}
.textImageBlock__imageContainer {
  position: relative;
}
@media (min-width: 1120px) {
  .textImageBlock__imageContainer {
    margin-right: calc(-1 * var(--container-padding));
  }
}
@media (min-width: 1760px) {
  .textImageBlock__imageContainer {
    margin-right: calc(-1 * (100vw - 1760px + var(--container-padding) * 2) / 2);
  }
}
.textImageBlock__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 59%;
}
@media (min-width: 640px) {
  .textImageBlock__imageContainer:before {
    padding-bottom: 56.25%;
  }
}
.textImageBlock__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 640px) {
  .textImageBlock__textCol {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
@media (min-width: 1120px) {
  .textImageBlock__textCol {
    flex: 1;
  }
}
.textImageBlock--overlayTop .textImageBlock__imageCol {
  margin-top: -40px;
}
@media (min-width: 1600px) {
  .textImageBlock--overlayTop .textImageBlock__imageCol {
    margin-top: -80px;
  }
}
.textImageBlock--overlayTop .textImageBlock__imageContainer {
  margin-top: calc(-1 * var(--section-margin));
}

.benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0;
  gap: 35px 12%;
}
@media (min-width: 640px) {
  .benefits {
    gap: 45px 5%;
    margin: 53px 0;
  }
}
@media (min-width: 1120px) {
  .benefits {
    gap: 60px 2.5%;
  }
}
.benefits:first-child {
  margin-top: 0;
}
.benefits:last-child {
  margin-bottom: 0;
}
.benefits__item {
  width: 44%;
}
@media (min-width: 640px) {
  .benefits__item {
    width: 30%;
    text-align: center;
    margin: 0 auto;
  }
}
@media (min-width: 1120px) {
  .benefits__item {
    width: 18%;
  }
}
.benefits__itemIconContainer {
  display: block;
  position: relative;
  width: 86px;
  height: 86px;
  margin-bottom: 15px;
  border-radius: 100%;
}
@media (min-width: 640px) {
  .benefits__itemIconContainer {
    margin: 0 auto 21px;
    width: 93px;
    height: 93px;
  }
}
.benefits__itemIconContainerImage {
  width: 100%;
}
.benefits__itemTitle {
  font-weight: 500;
  line-height: 1.625;
}
@media (min-width: 640px) {
  .benefits__itemTitle {
    line-height: 1.75;
    margin: 0 -6%;
  }
}
.benefits:has(.benefits__itemDescription) .benefits__item {
  width: 100%;
}
@media (min-width: 1120px) {
  .benefits:has(.benefits__itemDescription) .benefits__item {
    width: auto;
    min-width: 18%;
    flex: 1;
  }
}

.carousel {
  overflow: hidden;
  margin: 0;
  padding: 40px var(--container-padding) 0;
}
@media (min-width: 640px) {
  .carousel {
    padding: 100px 85px 0;
  }
}
@media (min-width: 1120px) {
  .carousel {
    padding: 100px 85px 0;
  }
}
.carousel:first-child {
  margin-top: 0;
}
.carousel:last-child {
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .carousel__inner {
    max-width: 670px;
    margin: 0 auto;
  }
}
.carousel__slides {
  display: flex;
  align-items: stretch;
}
.carousel__slide {
  transition: margin 0.3s;
}
.carousel__slide.tns-slide-active {
  z-index: 100;
}
@media (min-width: 640px) {
  .carousel__slide.tns-slide-active {
    margin: -40px 0;
  }
}
@media (min-width: 1120px) {
  .carousel__slide.tns-slide-active {
    margin: -40px 0;
  }
}
@media (min-width: 640px) {
  .carousel__slide.tns-slide-active .testimonial {
    opacity: 1;
    border-color: #ffffff;
    margin: 0 -2px;
  }
}
@media (min-width: 1120px) {
  .carousel__slide.tns-slide-active .testimonial {
    margin: 0 -40px;
    padding-left: 80px;
    padding-right: 80px;
  }
}
@media (min-width: 640px) {
  .carousel__slide.tns-slide-active .timeline {
    opacity: 1;
    border-width: 0;
    margin: 0 -2px;
  }
}
@media (min-width: 1120px) {
  .carousel__slide.tns-slide-active .timeline {
    margin: 0 -40px;
  }
}
@media (min-width: 1120px) {
  .carousel__slide.tns-slide-active .timeline__textContainer {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.testimonial {
  background: #ffffff;
  padding: 25px 20px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 0 21px 0 rgba(0, 1, 1, 0.2);
  transition: opacity 0.3s, box-shadow 0.3s, margin 0.3s, border-color 0.3s, padding 0.3s;
}
@media (min-width: 640px) {
  .testimonial {
    padding: 60px 40px;
    opacity: 0.25;
    border: 1px solid #ababab;
  }
}
@media (min-width: 1120px) {
  .testimonial {
    padding: 60px 60px;
  }
}
.testimonial__name {
  margin-top: 28px;
}

.timeline {
  background: #ffffff;
  height: 100%;
  box-shadow: 0 0 21px 0 rgba(0, 1, 1, 0.2);
  transition: opacity 0.3s, box-shadow 0.3s, margin 0.3s, border-color 0.3s, padding 0.3s;
}
@media (min-width: 640px) {
  .timeline {
    opacity: 0.25;
    border: 1px solid #ababab;
  }
}
.timeline__imageContainer {
  position: relative;
  padding-bottom: 69%;
}
@media (min-width: 640px) {
  .timeline__imageContainer {
    padding-bottom: 68%;
  }
}
.timeline__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.timeline__overlay {
  position: absolute;
  inset: 0;
  padding: 15px 20px;
  color: #ffffff;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 100%);
}
@media (min-width: 640px) {
  .timeline__overlay {
    padding: 50px 60px;
  }
}
@media (min-width: 1120px) {
  .timeline__overlay {
    padding: 60px 60px;
  }
}
.timeline__textContainer {
  padding: 29px 20px;
}
@media (min-width: 640px) {
  .timeline__textContainer {
    padding: 60px 40px;
  }
}
@media (min-width: 1120px) {
  .timeline__textContainer {
    padding: 60px 60px;
  }
}

.socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 37px;
}
@media (min-width: 640px) {
  .socials {
    margin-top: 45px;
    gap: 30px;
  }
}

.social {
  background: var(--color-primary);
  width: 44px;
  height: 44px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s;
}
@media (hover: hover) {
  .social:hover {
    background: #000000;
  }
}
.social:before {
  content: "";
  background: #ffffff;
  mask: no-repeat center;
  mask-size: contain;
}
.social--facebook:before {
  mask-image: var(--icon-facebook-f);
  width: 24px;
  height: 24px;
}
.social--linkedin:before {
  mask-image: var(--icon-linkedin);
  width: 22px;
  height: 22px;
}
.social--youtube:before {
  mask-image: var(--icon-youtube);
  width: 27px;
  height: 21px;
}
.social--instagram:before {
  mask-image: var(--icon-instagram);
  width: 23px;
  height: 23px;
}
.social--tiktok:before {
  mask-image: var(--icon-tiktok);
  width: 23px;
  height: 23px;
}

.twoColsBlock {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-bottom: 60px;
}
@media (min-width: 1360px) {
  .twoColsBlock {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}
.twoColsBlock:last-child {
  margin-bottom: 0;
}
@media (min-width: 1360px) {
  .twoColsBlock__col1 {
    width: 40%;
  }
}
@media (min-width: 1360px) {
  .twoColsBlock__col2 {
    width: 48%;
  }
}

.missionVisionBlock {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-bottom: 60px;
}
@media (min-width: 1120px) {
  .missionVisionBlock {
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid #d7d7d7;
    margin-bottom: 90px;
    gap: 0;
  }
}
.missionVisionBlock:last-child {
  margin-bottom: 0;
}
@media (min-width: 1120px) {
  .missionVisionBlock:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    bottom: 0;
    background: #d7d7d7;
  }
}
@media (min-width: 1120px) {
  .missionVisionBlock__col1 {
    width: 50%;
    padding: 10px var(--container-padding) 90px 0;
    max-width: 725px;
  }
}
@media (min-width: 1120px) {
  .missionVisionBlock__col2 {
    width: 50%;
    padding: 15px 0 90px var(--container-padding);
    max-width: 725px;
  }
}

.values {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 32px 0;
  gap: 43px 12%;
}
@media (min-width: 640px) {
  .values {
    gap: 49px 6%;
    margin: 35px 0;
  }
}
@media (min-width: 1120px) {
  .values {
    gap: 60px 2.5%;
    margin: 40px 0;
  }
}
.values:first-child {
  margin-top: 0;
}
.values:last-child {
  margin-bottom: 0;
}
.values__item {
  width: 100%;
}
@media (min-width: 640px) {
  .values__item {
    width: 47%;
    text-align: center;
    margin: 0 auto;
  }
}
@media (min-width: 1360px) {
  .values__item {
    width: 18%;
  }
}
.values__itemIconContainer {
  display: block;
  position: relative;
  width: 86px;
  height: 86px;
  margin-bottom: 25px;
  border-radius: 100%;
}
@media (min-width: 640px) {
  .values__itemIconContainer {
    margin: 0 auto 21px;
    width: 93px;
    height: 93px;
  }
}
@media (min-width: 1120px) {
  .values__itemIconContainer {
    margin-bottom: 18px;
  }
}
.values__itemIconContainerImage {
  width: 100%;
}
.values__itemTitle {
  font-weight: 500;
  line-height: 1.625;
  margin-bottom: 10px;
}
@media (min-width: 640px) {
  .values__itemTitle {
    line-height: 1.75;
    margin: 0 0 10px;
    font-size: 1.25rem;
  }
}
@media (min-width: 1120px) {
  .values__itemTitle {
    font-size: 1.5rem;
  }
}

.associationsBlock {
  text-align: center;
}

.associationsCarousel {
  margin-top: 30px;
  overflow: hidden;
}
@media (min-width: 640px) {
  .associationsCarousel {
    margin-top: 65px;
  }
}
@media (min-width: 1600px) {
  .associationsCarousel {
    margin-top: 80px;
  }
}
@media (min-width: 640px) {
  .associationsCarousel .tns-controls {
    margin: 72px 0 0;
  }
}
.associationsCarousel__slide {
  position: relative;
}
@media (min-width: 640px) {
  .associationsCarousel__slide.tns-slide-active:after {
    content: "";
    position: absolute;
    top: 0;
    right: 35px;
    bottom: 0;
    width: 1px;
    background: #d0d0d0;
  }
}
.associationsCarousel__logoContainer {
  position: relative;
  max-width: 190px;
  margin: 0 auto;
}
.associationsCarousel__logoContainer:before {
  content: "";
  display: block;
  padding-bottom: 50%;
}
@media (hover: hover) {
  .associationsCarousel__logoContainer:hover img {
    filter: grayscale(100%);
  }
}
.associationsCarousel__logoImage {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(0);
  transition: filter 0.3s;
}

.supportBlock {
  text-align: center;
}

.supportCarousel {
  margin-top: 30px;
  overflow: hidden;
}
@media (min-width: 640px) {
  .supportCarousel {
    margin-top: 45px;
  }
}
@media (min-width: 1120px) {
  .supportCarousel {
    margin-top: 85px;
  }
}
@media (min-width: 640px) {
  .supportCarousel .tns-controls {
    margin: 72px 0 0;
  }
}
.supportCarousel__slide {
  position: relative;
}
@media (min-width: 640px) {
  .supportCarousel__slide.tns-slide-active:after {
    content: "";
    position: absolute;
    top: -10px;
    right: 35px;
    bottom: -10px;
    width: 1px;
    background: #d0d0d0;
  }
}
.supportCarousel__logoContainer {
  position: relative;
  max-width: 190px;
  margin: 0 auto;
}
.supportCarousel__logoContainer:before {
  content: "";
  display: block;
  padding-bottom: 50%;
}
@media (hover: hover) {
  .supportCarousel__logoContainer:hover .supportCarousel__logoImage {
    filter: grayscale(100%);
  }
}
.supportCarousel__logoImage {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: grayscale(0);
  transition: filter 0.3s;
}

.videoTextBlock {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (min-width: 640px) {
  .videoTextBlock {
    gap: 55px;
  }
}
@media (min-width: 1120px) {
  .videoTextBlock {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: flex-end;
    gap: 0;
  }
}
@media (min-width: 1360px) {
  .videoTextBlock {
    flex-direction: row-reverse;
  }
}
@media (min-width: 640px) {
  .videoTextBlock__videoCol {
    width: 65%;
    margin-left: auto;
  }
}
@media (min-width: 1120px) {
  .videoTextBlock__videoCol {
    width: 51.2%;
    margin: 0;
    translate: 0 40px;
  }
}
@media (min-width: 1600px) {
  .videoTextBlock__videoCol {
    translate: 0 80px;
  }
}
.videoTextBlock__videoContainer {
  position: relative;
  margin-left: calc(-1 * var(--container-padding));
  margin-bottom: calc(-1 * var(--section-margin) - 40px);
}
@media (min-width: 640px) {
  .videoTextBlock__videoContainer {
    margin-left: auto;
    margin-right: calc(-1 * var(--container-padding));
  }
}
@media (min-width: 1120px) {
  .videoTextBlock__videoContainer {
    margin-bottom: calc(-1 * var(--section-margin));
  }
}
@media (min-width: 1360px) {
  .videoTextBlock__videoContainer {
    margin-left: calc(-1 * var(--container-padding));
    margin-right: auto;
  }
}
@media (min-width: 1760px) {
  .videoTextBlock__videoContainer {
    margin-left: calc(-1 * (100vw - 1760px + var(--container-padding) * 2) / 2);
  }
}
.videoTextBlock__videoContainer:before {
  content: "";
  display: block;
  padding-bottom: 59%;
}
@media (min-width: 640px) {
  .videoTextBlock__videoContainer:before {
    padding-bottom: 56.25%;
  }
}
.videoTextBlock__videoContainer a:after {
  content: "";
  display: block;
  mask: var(--icon-play) no-repeat center;
  mask-size: contain;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 30px;
  height: 30px;
}
@media (min-width: 640px) {
  .videoTextBlock__videoContainer a:after {
    width: 44px;
    height: 44px;
  }
}
@media (min-width: 1120px) {
  .videoTextBlock__videoContainer a:after {
    width: 90px;
    height: 90px;
  }
}
.videoTextBlock__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 640px) {
  .videoTextBlock__textCol {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
@media (min-width: 1120px) {
  .videoTextBlock__textCol {
    width: 40%;
    justify-content: flex-start;
  }
}

.capabilities {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 40px;
}
@media (min-width: 640px) {
  .capabilities {
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: 60px;
  }
}
@media (min-width: 1120px) {
  .capabilities {
    margin-top: 70px;
  }
}
.capabilities:first-child {
  margin-top: 0;
}

@media (min-width: 640px) {
  .capability {
    width: calc((100% - 40px) / 2);
  }
}
@media (min-width: 1120px) {
  .capability {
    width: calc((100% - 80px) / 3);
  }
}
.capability__imageContainer {
  position: relative;
  padding-bottom: 60%;
}
.capability__imageContainer img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.capability__textContainer {
  padding: 20px 0 0;
}
@media (min-width: 1360px) {
  .capability__textContainer {
    padding: 35px 30px 0;
  }
}
.capability__textContainer h3 {
  margin-bottom: 10px;
}

.patterns {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
  gap: 40px;
}
@media (min-width: 640px) {
  .patterns {
    gap: 60px;
    margin-top: 60px;
  }
}
@media (min-width: 1360px) {
  .patterns {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 65px 10%;
  }
}
.patterns:first-child {
  margin-top: 0;
}
.patterns__item {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 640px) {
  .patterns__item {
    flex-direction: row;
    align-items: flex-start;
    gap: 40px;
  }
}
@media (min-width: 1360px) {
  .patterns__item {
    gap: 65px;
    width: 45%;
  }
}
.patterns__itemImageContainer {
  position: relative;
  border-radius: 100%;
  width: 204px;
  overflow: hidden;
}
.patterns__itemImageContainer:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.patterns__itemImageContainer img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 640px) {
  .patterns__itemTextContainer {
    flex: 1;
  }
}
.patterns__itemTextContainer h3 {
  margin-bottom: 0;
}
.patterns__itemTextContainer p {
  margin-bottom: 1em;
}
.patterns__itemTextContainer p:last-child {
  margin-bottom: 0;
}

.productsListing {
  margin-top: 40px;
}
@media (min-width: 640px) {
  .productsListing {
    margin-top: 50px;
  }
}
@media (min-width: 1600px) {
  .productsListing {
    margin-top: 60px;
  }
}
.productsListing__items {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media (min-width: 640px) {
  .productsListing__items {
    gap: 40px;
  }
}
@media (min-width: 1600px) {
  .productsListing__items {
    gap: 35px;
  }
}
.productsListing__item {
  width: 100%;
}
@media (min-width: 640px) {
  .productsListing__item {
    width: calc(50% - 20px);
  }
}
@media (min-width: 1120px) {
  .productsListing__item {
    width: calc((100% - 100px) / 3);
  }
}
@media (min-width: 1600px) {
  .productsListing__item {
    width: calc((100% - 105px) / 4);
  }
}
.productsListing__pagination {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (min-width: 640px) {
  .productsListing__pagination {
    margin-top: 60px;
  }
}
.productsListing:first-child {
  margin-top: 0;
}

.productCategory,
.productTeaser {
  position: relative;
  height: 100%;
  background: #ffffff;
  padding: 20px 20px 30px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  color: currentColor;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
  transition: box-shadow 0.3s;
}
@media (min-width: 640px) {
  .productCategory,
  .productTeaser {
    gap: 50px;
    padding: 25px 25px 30px;
  }
}
@media (min-width: 1600px) {
  .productCategory,
  .productTeaser {
    gap: 40px;
    padding: 25px 25px 50px;
  }
}
.productCategory__imageContainer,
.productTeaser__imageContainer {
  position: relative;
  display: block;
}
.productCategory__imageContainer:before,
.productTeaser__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 80%;
}
.productCategory__image,
.productTeaser__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.productCategory__title,
.productTeaser__title {
  display: block;
  font-size: 1rem;
  text-align: center;
  font-weight: 500;
}
@media (min-width: 640px) {
  .productCategory__title,
  .productTeaser__title {
    font-size: 1.25rem;
  }
}
.productCategory__subtitle,
.productTeaser__subtitle {
  display: block;
  font-weight: 300;
}
.productCategory__overlay,
.productTeaser__overlay {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
  background: var(--color-primary);
  color: #ffffff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
@media (min-width: 1120px) {
  .productCategory__overlay,
  .productTeaser__overlay {
    padding: 30px;
  }
}
@media (hover: hover) {
  .productCategory:hover,
  .productTeaser:hover {
    box-shadow: 0 0 21px rgba(0, 0, 0, 0.2);
    text-decoration: none;
  }
}
@media (hover: hover) and (min-width: 1120px) {
  .productCategory:hover .productCategory__overlay,
  .productCategory:hover .productTeaser__overlay,
  .productTeaser:hover .productCategory__overlay,
  .productTeaser:hover .productTeaser__overlay {
    visibility: visible;
    opacity: 1;
  }
}

.productsCta {
  background: var(--color-primary);
  color: #ffffff;
  padding: 70px 15px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
}
@media (min-width: 640px) {
  .productsCta {
    width: calc(50% - 20px);
    text-align: center;
  }
}
@media (min-width: 1120px) {
  .productsCta {
    width: 100%;
  }
}
@media (min-width: 1600px) {
  .productsCta {
    width: calc((100% - 105px) / 4 * 2 + 35px);
  }
}
.productsCta__title {
  margin-bottom: 35px;
  max-width: 200px;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (min-width: 640px) {
  .productsCta__title {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1120px) {
  .productsCta__title {
    max-width: none;
  }
}
@media (min-width: 1600px) {
  .productsCta__title {
    margin-bottom: 50px;
  }
}
.productsCta__buttons {
  margin: 0;
}
@media (min-width: 640px) {
  .productsCta__buttons {
    justify-content: center;
  }
}
.productsCta__buttons .button__text {
  white-space: nowrap;
}

.productOverlay {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.productOverlay__title {
  display: block;
  font-size: 1rem;
  text-align: center;
  font-weight: 500;
}
@media (min-width: 640px) {
  .productOverlay__title {
    font-size: 1.25rem;
  }
}
.productOverlay__subtitle {
  display: block;
  font-weight: 300;
}
.productOverlay__description {
  display: block;
  margin: 20px 0;
}
.productOverlay__downloadLink {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  font-size: 1rem;
  font-weight: 500;
  text-transform: uppercase;
  color: currentColor;
}
.productOverlay__downloadLink:before {
  content: "";
  display: block;
  background-color: currentColor;
  mask: var(--icon-download) no-repeat center;
  width: 24px;
  height: 30px;
}

.projectTeaser {
  position: relative;
  display: block;
  color: #ffffff;
  width: 100%;
  height: 100%;
}
.projectTeaser__imageContainer {
  display: block;
  position: relative;
}
.projectTeaser__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 105%;
}
.projectTeaser__imageContainer:after {
  content: "";
  display: block;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.55;
  position: absolute;
  inset: 0;
}
.projectTeaser__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s;
}
.projectTeaser__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 100%);
  padding: 30px 25px;
}
@media (min-width: 1120px) {
  .projectTeaser__overlay {
    padding: 35px 35px;
  }
}
.projectTeaser__title {
  display: block;
  text-shadow: 0 0 9.5px rgba(0, 1, 1, 0.2);
  font-weight: 500;
}
@media (min-width: 1120px) {
  .projectTeaser__title {
    font-size: 1.25rem;
  }
}
.projectTeaser__category {
  display: block;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-top: 10px;
}
@media (min-width: 1120px) {
  .projectTeaser__category {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .projectTeaser:hover .projectTeaser__image {
    filter: grayscale(0%);
  }
}

.mediaTeaser {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  border: 1px solid #dddddd;
  padding: 19px 17px;
  color: currentColor;
  gap: 30px;
  transition: background-color 0.3s;
}
@media (min-width: 640px) {
  .mediaTeaser {
    flex-direction: row;
    gap: 40px;
  }
}
.mediaTeaser__imageContainer {
  width: 100%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
@media (min-width: 640px) {
  .mediaTeaser__imageContainer {
    width: 27%;
  }
}
.mediaTeaser__image {
  width: 100%;
}
@media (min-width: 640px) {
  .mediaTeaser__textContainer {
    flex: 1;
    padding-top: 30px;
  }
}
.mediaTeaser__title {
  display: flex;
  align-items: center;
  position: relative;
  line-height: 1.5;
  font-weight: 500;
  padding-left: 60px;
  min-height: 40px;
}
@media (min-width: 640px) {
  .mediaTeaser__title {
    font-size: 1.25rem;
    padding-left: 0;
  }
}
.mediaTeaser__title:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background: var(--color-primary) var(--icon-download) no-repeat center;
  background-size: 18px auto;
  color: #ffffff;
}
@media (min-width: 640px) {
  .mediaTeaser__title:before {
    left: -60px;
  }
}
.mediaTeaser:hover {
  text-decoration: none;
  background: #dddddd;
}

.newsTeaser {
  display: block;
  background: #ffffff;
  color: currentColor;
  height: 100%;
  width: 100%;
  transition: box-shadow 0.3s;
}
.newsTeaser__imageContainer {
  position: relative;
  display: block;
}
.newsTeaser__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 69%;
}
@media (min-width: 1600px) {
  .newsTeaser__imageContainer:before {
    padding-bottom: 71%;
  }
}
.newsTeaser__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.newsTeaser__textContainer {
  display: block;
  padding: 25px 50px 25px 20px;
}
@media (min-width: 640px) {
  .newsTeaser__textContainer {
    padding: 35px 30px;
  }
}
@media (min-width: 1600px) {
  .newsTeaser__textContainer {
    padding: 40px 32px;
  }
}
.newsTeaser__title {
  font-weight: 500;
}
@media (min-width: 640px) {
  .newsTeaser__title {
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
@media (hover: hover) {
  .newsTeaser:hover {
    box-shadow: 0 0 21px rgba(0, 0, 0, 0.2);
    text-decoration: none;
  }
}

.singleTextImage {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  gap: 30px;
}
@media (min-width: 640px) {
  .singleTextImage {
    gap: 40px;
  }
}
@media (min-width: 1120px) {
  .singleTextImage {
    gap: 60px;
    flex-direction: row;
  }
}
@media (min-width: 1120px) {
  .singleTextImage--imageRight {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1120px) {
  .singleTextImage__imageCol {
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .singleTextImage__textCol {
    width: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.singleTextImage__imageContainer {
  position: relative;
}
.singleTextImage__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 66%;
}
.singleTextImage__imageContainer--autoRatio:before {
  display: none;
}
.singleTextImage__imageContainer--autoRatio img {
  position: static;
}
.singleTextImage__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 1120px) {
  .singleTextImage__textContainer {
    max-width: 510px;
  }
}
.singleTextImage__videoLink {
  display: block;
}
.singleTextImage__videoLink:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  background: var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M16.202,10.073 L0.202,20.073 L0.202,0.073 L16.202,10.073 Z'/%3E%3C/svg%3E") no-repeat 55% center;
}

.singleTextText {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
@media (min-width: 640px) {
  .singleTextText {
    gap: 40px;
  }
}
@media (min-width: 1120px) {
  .singleTextText {
    flex-direction: row;
  }
}
@media (min-width: 1120px) {
  .singleTextText__col1 {
    width: 48%;
  }
}
@media (min-width: 1600px) {
  .singleTextText__col1 {
    padding: 0 35px;
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .singleTextText__col2 {
    width: 48%;
  }
}
@media (min-width: 1600px) {
  .singleTextText__col2 {
    padding: 0 35px;
    width: 50%;
  }
}

.singleImageImage {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
@media (min-width: 640px) {
  .singleImageImage {
    gap: 40px;
  }
}
@media (min-width: 1120px) {
  .singleImageImage {
    flex-direction: row;
  }
}
@media (min-width: 1120px) {
  .singleImageImage__col1 {
    width: 49%;
  }
}
@media (min-width: 1120px) {
  .singleImageImage__col2 {
    width: 49%;
  }
}
.singleImageImage__imageContainer {
  position: relative;
}
.singleImageImage__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 66%;
}
.singleImageImage__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.singleBackNav {
  font-size: 1rem;
  letter-spacing: 0.04em;
}
@media (min-width: 640px) {
  .singleBackNav {
    margin-top: -40px;
  }
}
.singleBackNav__linkBack {
  position: relative;
  text-transform: uppercase;
  font-weight: 500;
  padding-left: 30px;
}
.singleBackNav__linkBack:before {
  content: "";
  background: currentColor;
  position: absolute;
  top: 50%;
  left: 0;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='14px' height='15px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 116, 188)' d='M0.798,7.354 L13.392,0.073 L13.392,14.635 L0.798,7.354 Z'/%3E%3C/svg%3E") no-repeat center;
  translate: 0 -50%;
  width: 14px;
  height: 14px;
}

.productMedia {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: 750px;
  margin: 0 auto;
}
@media (min-width: 640px) {
  .productMedia {
    gap: 50px;
  }
}

.productImage img {
  width: 100%;
  max-inline-size: none;
  max-block-size: none;
}

.productImages {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px 0;
}
@media (min-width: 640px) {
  .productImages {
    gap: 50px 0;
  }
}
@media (min-width: 1120px) {
  .productImages {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}
.productImages:last-child {
  margin-bottom: 0;
}
.productImages img {
  width: 100%;
  max-inline-size: none;
  max-block-size: none;
}
@media (min-width: 1120px) {
  .productImages__col1 {
    width: 48%;
  }
}
@media (min-width: 1120px) {
  .productImages__col2 {
    width: 48%;
  }
}

.productGallery__slider .tns-ovh {
  overflow: hidden;
}
.productGallery__slider .tns-controls {
  margin-top: 30px;
}
.productGallery__slides {
  display: flex;
  align-items: center;
}
.productGallery__image {
  width: 100%;
}
.productTable {
  text-align: center;
  font-size: 0.875rem;
}
@media (min-width: 1120px) {
  .productTable {
    font-size: 1rem;
  }
}
.productTable thead th {
  color: #ffffff;
  background-color: var(--color-primary);
  padding: 10px 5px;
  font-weight: 500;
  vertical-align: top;
  line-height: 1.5;
}
@media (min-width: 1120px) {
  .productTable thead th {
    padding: 20px 10px;
  }
}
@media (min-width: 1360px) {
  .productTable thead th {
    font-size: 1.25rem;
  }
}
.productTable tbody tr td {
  padding: 5px 5px;
  vertical-align: middle;
}
@media (min-width: 1120px) {
  .productTable tbody tr td {
    padding: 10px 10px;
  }
}
.productTable tbody tr:nth-child(2n+1) td {
  background: #f0f0f0;
}
.productTable tbody tr:first-child td {
  background: #e3e8f5;
}

.productDetails {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 60px 4%;
}
@media (min-width: 1120px) {
  .productDetails {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
  }
}
.productDetails:last-child {
  margin-bottom: 0;
}
@media (min-width: 1120px) {
  .productDetails__col1 {
    flex: 1;
    max-width: 620px;
    padding-top: var(--container-padding);
  }
}
@media (min-width: 1120px) {
  .productDetails__col2 {
    flex: 1;
    max-width: 49%;
  }
}
.productDetails__col2Inner {
  background: #f0f0f0;
  padding: var(--container-padding);
}

.downloads {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (min-width: 1600px) {
  .downloads {
    gap: 30px;
  }
}
.downloads__item a {
  position: relative;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.2;
  min-height: 30px;
  padding-left: 45px;
}
.downloads__item a:before {
  content: "";
  display: block;
  background-color: currentColor;
  position: absolute;
  top: 0;
  left: 15px;
  mask: var(--icon-download) no-repeat center;
  width: 24px;
  height: 30px;
  translate: -50% 0;
}
.downloads__item--type2 a:before {
  width: 28px;
  height: 28px;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M0,.99C0,.44.44,0,.99,0h16.01c.55,0,.99.44.99.99v16.01c0,.55-.44.99-.99.99H.99c-.55,0-.99-.44-.99-.99V.99ZM7.62,5.41c-.18-.12-.43-.07-.55.11-.04.07-.07.14-.07.22v6.51c0,.22.18.4.4.4.08,0,.16-.02.22-.07l4.88-3.25c.18-.12.23-.37.11-.55-.03-.04-.07-.08-.11-.11l-4.88-3.25h0Z'/%3E%3C/svg%3E");
}
.downloads__item--type1 a:before {
  width: 30px;
  height: 27px;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 85.7 74.9'%3E%3Cpath d='M74.8,0H11C4.9,0,0,4.9,0,11v52.9c0,6.1,4.9,11,11,11h63.7c6.1,0,11-4.9,11-11V11c.1-6.1-4.9-11-10.9-11ZM38.4,10.2c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5-4.5-2-4.5-4.5c-.1-2.5,2-4.5,4.5-4.5ZM25.7,10.2c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5-4.5-2-4.5-4.5c-.1-2.5,2-4.5,4.5-4.5ZM13.9,10.2c2.5,0,4.5,2,4.5,4.5s-2,4.5-4.5,4.5-4.5-2-4.5-4.5,2-4.5,4.5-4.5ZM79.8,63.8c0,2.8-2.2,5-5,5H11c-2.8,0-5-2.2-5-5V31.3h73.7v32.5h.1Z'/%3E%3C/svg%3E");
}
.downloads__item--type3 a:before {
  width: 30px;
  height: 34px;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 21.02 24'%3E%3Cpath d='M10.49,3.86c-3.55,0-6.43,2.89-6.42,6.44,0,1.2.34,2.37.97,3.39.26.49.86.67,1.35.41s.67-.86.41-1.35c-.02-.04-.05-.08-.08-.12-1.3-2.07-.68-4.81,1.39-6.11,2.07-1.3,4.81-.68,6.11,1.39.91,1.44.91,3.28,0,4.72-.3.47-.16,1.08.31,1.38.47.3,1.08.16,1.38-.31h0c1.88-3.01.97-6.98-2.04-8.86-1.02-.64-2.19-.97-3.39-.98Z'/%3E%3Cpath d='M10.49,0C4.7,0,0,4.71,0,10.51c0,2.63.99,5.16,2.76,7.09.4.38,1.03.37,1.41-.03.35-.36.37-.93.06-1.32-3.17-3.46-2.93-8.84.53-12.01,3.46-3.17,8.84-2.93,12.01.53,2.97,3.25,2.97,8.23,0,11.48-.37.41-.34,1.04.07,1.41.41.37,1.04.34,1.41-.06,3.92-4.27,3.64-10.91-.64-14.84C15.68.98,13.13,0,10.49,0Z'/%3E%3Cpath d='M11.76,15h-2.54c-1.1,0-2.01.88-2.01,1.99,0,.08,0,.16.01.23l.56,5c.11,1.02.98,1.79,2,1.78h1.42c1.02,0,1.89-.76,2-1.78l.56-5c.12-1.1-.67-2.09-1.77-2.21-.08,0-.15-.01-.23-.01Z'/%3E%3Ccircle cx='10.49' cy='10.5' r='2.5'/%3E%3C/svg%3E");
}

@media (min-width: 1120px) {
  .page-template-stone-strong-systems .benefits {
    justify-content: center;
    gap: 5%;
  }
}
@media (min-width: 1120px) {
  .page-template-stone-strong-systems .benefits__item {
    max-width: 380px;
    margin: 0;
  }
}

.singleProjectDetails {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (min-width: 1120px) {
  .singleProjectDetails {
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 60px;
  }
}
@media (min-width: 1120px) {
  .singleProjectDetails__col1 {
    width: 48%;
    max-width: 630px;
  }
}
.singleProjectDetails__col2 {
  position: relative;
}
@media (min-width: 1120px) {
  .singleProjectDetails__col2 {
    width: 49%;
  }
}
.singleProjectDetails__col2:before {
  content: "";
  position: absolute;
  top: 40px;
  left: calc(-1 * var(--container-padding));
  right: calc(-1 * var(--container-padding));
  bottom: calc(-1 * var(--section-margin) - 5px);
  background: #ffffff;
}
@media (min-width: 1120px) {
  .singleProjectDetails__col2:before {
    display: none;
  }
}
.singleProjectDetails__imageContainer {
  position: relative;
}
.singleProjectDetails__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 66%;
}
.singleProjectDetails__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mediaLink:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  visibility: hidden;
  transition: visibility 0.3s, opacity 0.3s;
  z-index: 20;
}
.mediaLink--image:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  background: #ffffff;
  mask: var(--icon-zoom) no-repeat center center;
  mask-size: 25px auto;
  transition: opacity 0.3s;
  z-index: 30;
}
@media (hover: hover) {
  .mediaLink--image:after {
    opacity: 0;
  }
}
.mediaLink--video:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  background: var(--color-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='17px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M16.202,10.073 L0.202,20.073 L0.202,0.073 L16.202,10.073 Z'/%3E%3C/svg%3E") no-repeat 55% center;
  z-index: 30;
}
@media (hover: hover) {
  .mediaLink:hover:before {
    visibility: visible;
    opacity: 1;
  }
  .mediaLink:hover:after {
    opacity: 1;
  }
}

body.page-template-home .sectionHero {
  overflow: hidden;
}
body.page-template-home .sectionHero__imageContainer:before {
  content: "";
  padding-bottom: 88%;
}
@media (min-width: 640px) {
  body.page-template-home .sectionHero__imageContainer:before {
    padding-bottom: 53%;
  }
}
@media (min-width: 1120px) {
  body.page-template-home .sectionHero__imageContainer:before {
    padding-bottom: 52.5%;
  }
}
@media (min-width: 1120px) {
  body.page-template-home .sectionHero__textContainer {
    max-width: 860px;
  }
}
@media (min-width: 1360px) {
  body.page-template-home .sectionHero:after {
    content: "";
    display: block;
    background: rgba(0, 0, 0, 0.75);
    font-size: 1.25rem;
    line-height: 1.5;
    width: 426px;
    height: 426px;
    position: absolute;
    right: 30%;
    top: calc(100% - 40px);
    border-radius: 100%;
    translate: 50% 0;
  }
}
body.page-template-home .introSection {
  margin-bottom: 245px;
  padding-bottom: 35px;
}
@media (min-width: 640px) {
  body.page-template-home .introSection {
    font-size: 1.0625rem;
    margin-bottom: 0;
    padding-bottom: 217px;
  }
}
@media (min-width: 1120px) {
  body.page-template-home .introSection {
    padding-bottom: 136px;
  }
}
@media (min-width: 640px) {
  body.page-template-home .introSection__inner {
    gap: 0;
  }
}
@media (min-width: 1120px) {
  body.page-template-home .introSection__col1 {
    max-width: 600px;
  }
}
body.page-template-home .introSection__circle {
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 25px;
  translate: 20px 0;
  font-weight: 500;
  letter-spacing: 0em;
}
@media (min-width: 640px) {
  body.page-template-home .introSection__circle {
    width: 280px;
    height: 280px;
    right: 60px;
    bottom: -70px;
  }
}
@media (min-width: 1120px) {
  body.page-template-home .introSection__circle {
    font-size: 1.25rem;
    line-height: 1.5;
    width: 426px;
    height: 426px;
    padding: 65px;
    bottom: 0;
    translate: 0 50%;
  }
}
@media (min-width: 1360px) {
  body.page-template-home .introSection__circle {
    right: 30%;
    top: 0;
    bottom: auto;
    translate: 50% 0;
  }
}
@media (min-width: 1600px) {
  body.page-template-home .introSection__circle {
    top: 60px;
  }
}

.productsSection {
  padding: 115px 0 75px;
}
@media (min-width: 640px) {
  .productsSection {
    padding: 140px 0 110px;
  }
}
@media (min-width: 1600px) {
  .productsSection {
    padding: 240px 0 230px;
  }
}
@media (min-width: 1120px) {
  .productsSection__intro {
    max-width: 630px;
  }
}

.latestNewsSection {
  padding-bottom: 120px;
}
@media (min-width: 640px) {
  .latestNewsSection {
    padding-bottom: 150px;
  }
}
@media (min-width: 1600px) {
  .latestNewsSection {
    padding-bottom: 320px;
  }
}

.latestNews {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 25px;
}
@media (min-width: 640px) {
  .latestNews {
    flex-direction: row;
  }
}
@media (min-width: 1600px) {
  .latestNews {
    margin-top: 60px;
    gap: 35px;
  }
}
.latestNews__item {
  display: flex;
}
@media (min-width: 640px) {
  .latestNews__item {
    flex: 1;
  }
}
.latestNews__item:nth-child(n+3) {
  display: none;
}
@media (min-width: 1120px) {
  .latestNews__item:nth-child(n+3) {
    display: block;
  }
}

.featuredProjects {
  margin-top: 25px;
}
@media (min-width: 640px) {
  .featuredProjects {
    display: flex;
    flex-wrap: wrap;
  }
}
@media (min-width: 1600px) {
  .featuredProjects {
    margin-top: 53px;
  }
}
@media (min-width: 640px) {
  .featuredProjects__item {
    width: 50%;
  }
}
@media (min-width: 1120px) {
  .featuredProjects__item {
    width: 25%;
  }
}
.featuredProjects__item:nth-child(n+3) {
  display: none;
}
@media (min-width: 640px) {
  .featuredProjects__item:nth-child(n+3) {
    display: block;
  }
}

.featuredProjectTeaser {
  position: relative;
  display: block;
  color: #ffffff;
}
@media (min-width: 640px) {
  .featuredProjectTeaser {
    text-align: center;
  }
}
.featuredProjectTeaser__imageContainer {
  display: block;
  position: relative;
}
.featuredProjectTeaser__imageContainer:before {
  content: "";
  display: block;
  padding-bottom: 125%;
}
@media (min-width: 1120px) {
  .featuredProjectTeaser__imageContainer:before {
    padding-bottom: 140%;
  }
}
.featuredProjectTeaser__imageContainer:after {
  content: "";
  display: block;
  background: #000000;
  opacity: 0.2;
  position: absolute;
  inset: 0;
}
.featuredProjectTeaser__image {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s;
}
.featuredProjectTeaser__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0) 100%);
  padding: 40px 30px;
}
@media (min-width: 640px) {
  .featuredProjectTeaser__overlay {
    padding: 65px 30px;
  }
}
.featuredProjectTeaser__title {
  display: block;
  text-shadow: 0 0 9.5px rgba(0, 1, 1, 0.2);
  font-weight: 500;
}
@media (min-width: 640px) {
  .featuredProjectTeaser__title {
    font-size: 1.25rem;
    max-width: 260px;
    margin: 0 auto;
  }
}
@media (hover: hover) {
  .featuredProjectTeaser:hover .featuredProjectTeaser__image {
    filter: grayscale(0%);
  }
}

@media (min-width: 1600px) {
  .page-template-about .introSection {
    padding-bottom: 235px;
  }
}

.futureSection {
  color: #ffffff;
  background: url("../images/future-bg-mobile.jpg") no-repeat center;
  background-size: cover;
}
@media (min-width: 640px) {
  .futureSection {
    background-image: url("../images/future-bg-tablet.jpg");
    padding: 140px 0;
  }
}
@media (min-width: 1120px) {
  .futureSection {
    background-image: url("../images/future-bg-desktop.jpg");
  }
}
@media (min-width: 1600px) {
  .futureSection {
    padding: 205px 0;
  }
}

@media (min-width: 1600px) {
  .supportSection {
    margin: 175px 0;
  }
}

.page-template-media .mediaTeaser {
  background: #ffffff;
  border-color: #ffffff;
  transition: box-shadow 0.3s;
}
@media (hover: hover) {
  .page-template-media .mediaTeaser:hover {
    box-shadow: 0 0 21px rgba(0, 0, 0, 0.2);
    text-decoration: none;
  }
}

.page-template-resources .mediaTeaser {
  background: #ffffff;
  border-color: #ffffff;
  transition: box-shadow 0.3s;
}
@media (hover: hover) {
  .page-template-resources .mediaTeaser:hover {
    box-shadow: 0 0 21px rgba(0, 0, 0, 0.2);
    text-decoration: none;
  }
}

.resources {
  display: flex;
  flex-direction: column;
  gap: 0 30px;
}
@media (min-width: 640px) {
  .resources {
    gap: 0 40px;
  }
}
@media (min-width: 1360px) {
  .resources {
    flex-direction: row;
  }
}
@media (min-width: 1360px) {
  .resources__listing {
    flex: 1;
  }
}
.resources__listing .postsListing__item:has(.mediaTeaser) {
  width: 100%;
}
@media (min-width: 1120px) {
  .resources__listing .postsListing__item:has(.mediaTeaser) {
    width: calc((100% - 80px) / 2);
  }
}
.resources__sidebar {
  color: #ffffff;
  background: var(--color-primary);
  padding: 40px 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media (min-width: 1360px) {
  .resources__sidebar {
    width: calc((100% - 80px) / 3);
    margin-bottom: 40px;
  }
}
.resources__sidebarTitle {
  font-weight: 500;
  margin: 0;
}
@media (min-width: 640px) {
  .resources__sidebarTitle {
    font-size: 1.25rem;
    max-width: 240px;
  }
}

.page-template-contact .textImageBlock__imageContainer:before {
  padding-bottom: 80%;
}
@media (min-width: 640px) {
  .page-template-contact .textImageBlock__imageContainer:before {
    padding-bottom: 69%;
  }
}

.mapContainer {
  position: absolute;
  inset: 0;
}

.contactDetails__phones {
  margin-top: 30px;
}
.contactDetails__emails {
  margin-top: 30px;
}

.schedule {
  display: flex;
  flex-direction: column;
  gap: 20px 100px;
}
@media (min-width: 640px) {
  .schedule {
    flex-direction: row;
  }
}
@media (min-width: 1120px) {
  .schedule {
    gap: 20px 260px;
  }
}
.schedule p {
  margin-bottom: 0.5em;
}
.schedule__col1 {
  max-width: 270px;
  width: 100%;
}
.schedule__col2 {
  position: relative;
  width: 100%;
  max-width: 300px;
}
@media (min-width: 640px) {
  .schedule__col2:before {
    content: "";
    position: absolute;
    left: -50px;
    width: 1px;
    top: 0;
    height: 100%;
    background: #d5d5d5;
  }
}
@media (min-width: 1120px) {
  .schedule__col2:before {
    left: -130px;
  }
}

.contactForm {
  margin: 30px auto 0;
  max-width: 1100px;
}
@media (min-width: 640px) {
  .contactForm {
    margin-top: 40px;
  }
}
.contactForm__cols {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
@media (min-width: 960px) {
  .contactForm__cols {
    flex-direction: row;
    gap: 50px;
  }
}
@media (min-width: 1360px) {
  .contactForm__cols {
    gap: 100px;
  }
}
.contactForm__col1 {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
@media (min-width: 960px) {
  .contactForm__col1 {
    gap: 35px;
    flex: 1;
  }
}
@media (min-width: 960px) {
  .contactForm__col2 {
    flex: 1;
  }
}
.contactForm__buttons {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 25px;
}
@media (min-width: 960px) {
  .contactForm__buttons {
    margin-top: 35px;
  }
}
@media (min-width: 1600px) {
  .contactForm__buttons {
    margin-top: 60px;
  }
}
.contactForm__buttons .wpcf7-spinner {
  margin: 0;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
}
.contactForm__buttons input[type=submit] {
  display: none;
}

.owl-carousel .owl-item {
  -webkit-backface-visibility: visible;
  -moz-backface-visibility: visible;
  backface-visibility: visible;
}

.accordions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 36px auto 75px;
  max-width: 1030px;
}
@media (min-width: 640px) {
  .accordions {
    margin-top: 48px;
    margin-bottom: 73px;
  }
}
@media (min-width: 640px) {
  .accordions {
    margin-bottom: 100px;
  }
}
.accordions:first-child {
  margin-top: 0;
}
.accordions:last-child {
  margin-bottom: 0;
}

.accordion {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.accordion__header {
  position: relative;
  min-height: 75px;
  display: flex;
  align-items: center;
  background: #ffffff;
  padding: 10px 60px 10px 20px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}
@media (min-width: 640px) {
  .accordion__header {
    padding: 10px 80px 10px 30px;
  }
}
.accordion__headerTitle {
  margin: 0;
  font-size: 1rem;
}
@media (min-width: 640px) {
  .accordion__headerTitle {
    font-size: 1.25rem;
  }
}
.accordion__header .ui-accordion-header-icon {
  border: solid transparent;
  border-width: 17px 9px 0 9px;
  border-top-color: currentColor;
  position: absolute;
  top: 50%;
  right: 30px;
  translate: 50% -50%;
  transition: rotate 0.3s;
}
@media (min-width: 640px) {
  .accordion__header .ui-accordion-header-icon {
    right: 40px;
  }
}
@media (hover: hover) {
  .accordion__header:hover {
    background: var(--color-primary);
    color: #ffffff;
  }
}
.accordion__header.ui-state-active {
  background: var(--color-primary);
  color: #ffffff;
}
.accordion__header.ui-state-active .ui-accordion-header-icon {
  rotate: 180deg;
}
.accordion__contentInner {
  padding: 32px 0 60px;
}
@media (min-width: 640px) {
  .accordion__contentInner {
    padding-bottom: 45px;
  }
}
@media (min-width: 1120px) {
  .accordion__contentInner {
    padding: 32px 70px 55px 33px;
  }
}
.accordion:first-child {
  margin-top: 0;
}

.fancybox-slide {
  padding: 40px var(--container-padding);
}

.fancybox-slide--html .fancybox-content {
  overflow: visible;
  max-width: 570px;
  padding: 50px 30px;
}
@media (min-width: 640px) {
  .fancybox-slide--html .fancybox-content {
    padding: 60px 90px 70px;
  }
}
.fancybox-slide--html .fancybox-content a {
  color: var(--color-primary);
}
.fancybox-slide--html .fancybox-content .formButtons {
  margin-top: 45px;
}
.fancybox-slide--html .fancybox-content .button {
  text-align: center;
  width: 100%;
}
@media (min-width: 640px) {
  .fancybox-slide--html .fancybox-content .button {
    width: auto;
  }
}
.fancybox-slide--html .fancybox-close-small {
  color: var(--color-primary);
  opacity: 1;
  width: 40px;
  height: 40px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  right: -10px;
  top: -40px;
}
@media (min-width: 640px) {
  .fancybox-slide--html .fancybox-close-small {
    right: -40px;
  }
}
.fancybox-slide--html .fancybox-close-small svg {
  width: 40px;
  height: 40px;
}
.fancybox-slide--html .fancybox-loading {
  padding: 0;
}
.fancybox-slide--html .fancybox-loading .fancybox-close-small {
  display: none;
}

.fancybox-button--close {
  opacity: 1;
  background: transparent;
  color: #ffffff;
}
.fancybox-button--arrow_left, .fancybox-button--arrow_right {
  position: relative;
  padding: 0 !important;
  width: var(--container-padding) !important;
  height: var(--container-padding) !important;
  background: transparent;
  top: 50% !important;
  translate: 0 -50%;
}
.fancybox-button--arrow_left:after, .fancybox-button--arrow_right:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  background: var(--color-primary);
  mask: var(--icon-triangle) no-repeat center;
  mask-size: contain;
  width: 20px;
  height: 20px;
}
@media (min-width: 640px) {
  .fancybox-button--arrow_left:after, .fancybox-button--arrow_right:after {
    width: 25px;
    height: 25px;
  }
}
.fancybox-button--arrow_left[disabled], .fancybox-button--arrow_right[disabled] {
  display: none;
}
.fancybox-button--arrow_left:after {
  rotate: 180deg;
}

.select2-container .select2-selection--single {
  height: 53px;
  border-radius: 6px;
  border: 2px solid currentColor;
  background: transparent;
  margin: 0;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 10px 60px 10px 20px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  color: currentColor;
  font-weight: 400;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: currentColor;
  font-style: italic;
  opacity: 0.76;
  font-weight: 400;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 51px;
  width: 60px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-width: 10px 6px 0 6px;
  border-top-color: currentColor;
  margin: 0;
  transform: translate(-50%, -50%);
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-bottom-color: currentColor;
  border-width: 0 6px 10px 6px;
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-radius: 6px;
}

.select2-dropdown {
  border-radius: 6px;
  background: #FFFBF8;
  border: 2px solid currentColor;
  padding: 0;
  overflow: hidden;
}

.select2-container--open .select2-dropdown--above {
  border-radius: 6px;
  border: 2px solid currentColor;
  margin-bottom: -2px;
}

.select2-container--open .select2-dropdown--below {
  border-radius: 6px;
  border: 2px solid currentColor;
  margin-top: -2px;
}

.select2-results__option {
  padding: 6px 22px;
  min-height: 46px;
  display: flex;
  align-items: center;
}
.select2-results__option--highlighted {
  background: #F8E3D5;
}

.tns-ovh {
  overflow: visible;
}

.tns-controls {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 30px 0 20px;
}
@media (min-width: 640px) {
  .tns-controls {
    margin: 100px 0 5px;
  }
}
@media (min-width: 1120px) {
  .tns-controls {
    margin: 105px 0 0;
  }
}
.tns-controls button {
  position: relative;
  width: 30px;
  height: 30px;
  text-indent: -9999px;
  transition: visibility 0.3s, opacity 0.3s;
}
.tns-controls button:before {
  content: "";
  border: solid transparent;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
}
.tns-controls button[data-controls=prev]:before {
  border-width: 15px 25px 15px 0;
  border-right-color: var(--color-primary);
}
.tns-controls button[data-controls=next]:before {
  border-width: 15px 0 15px 25px;
  border-left-color: var(--color-primary);
}
.tns-controls button[disabled] {
  visibility: hidden;
  opacity: 0;
}

.wpcf7 form .wpcf7-form-control-wrap {
  display: block;
}
.wpcf7 form span.wpcf7-not-valid-tip {
  text-align: right;
  font-size: 14px;
  color: red;
  position: absolute;
  top: 100%;
  right: 0;
}
.wpcf7 form .wpcf7-response-output {
  text-align: center;
  margin: 30px 0 0;
  padding: 10px 20px;
}
.wpcf7 form div.wpcf7-validation-errors,
.wpcf7 form div.wpcf7-mail-sent-ok {
  border: none;
}
.wpcf7 form div.wpcf7-validation-errors {
  color: red;
}
.wpcf7 form .btnWrap {
  position: relative;
}
.wpcf7 form .btnWrap .ajax-loader {
  position: absolute;
  top: 50%;
  right: -50px;
  transform: translateY(-50%);
  margin: 0;
}

.wpcf7-checkbox {
  display: block;
}
.wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  margin: 0;
}
.wpcf7-checkbox .wpcf7-list-item label {
  display: block;
}

/*# sourceMappingURL=styles.css.map */
