/*! 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 {
  margin: 0.67em 0;
  font-size: 2em;
}

/* 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-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/* 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 */
  -webkit-text-decoration: underline dotted;
          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-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * 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 {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

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 {
  margin: 0; /* 2 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  font-family: inherit; /* 1 */
}

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

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

/**
 * 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 {
  display: table; /* 1 */
  box-sizing: border-box; /* 1 */
  padding: 0; /* 3 */
  max-width: 100%; /* 1 */
  color: inherit; /* 2 */
  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;
}

:root {
  --font-text: "Poppins", sans-serif;
  --color-text-dark: #181528;
  --color-text: rgba(24, 21, 40, 0.8);
  --color-text-light: rgba(24, 21, 40, 0.6);
  --color-bg: #f4f4f9;
  --color-bg-dark: #181528;
  --color-border-light: rgba(24, 21, 40, 0.12);
  --color-border: rgba(24, 21, 40, 0.36);
  --color-border-dark: rgba(24, 21, 40, 0.6);
  --color-accent: #e00000;
  --color-accent-rgb: 224, 0, 0;
  --color-red: #e00000;
  --color-green: #28965a;
  --container-width: 1488px;
  --container-width-narrow: 960px;
  --layout-spacing: 24px;
  --layout-spacing-half: 12px;
  --header-height: 96px;
  --border-radius: 12px;
  --button-height: 48px;
  --button-height-small: 40px;
  --button-text-height: 36px;
  --input-height: 48px;
  --constrainer: max(
      var(--layout-spacing),
      calc((100cqw - var(--container-width)) / 2)
  );
  --constrainer-narrow: max(
      var(--layout-spacing),
      calc((100cqw - var(--container-width-narrow)) / 2)
  );
}
@media (max-width: 1599px) {
  :root {
    --container-width: 1320px;
  }
}
@media (max-width: 767px) {
  :root {
    --header-height: 60px;
    --layout-spacing: 16px;
    --layout-spacing-half: 8px;
    --border-radius: 8px;
    --button-height: 40px;
    --button-height-small: 36px;
    --button-text-height: 24px;
    --input-height: 40px;
  }
}

@media (min-width: 768px) {
  body.scrolled {
    --header-height: 72px;
  }
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  clip-path: inset(50%);
  margin: -1px;
  padding: 0;
  width: 1px;
  word-wrap: normal !important;
  height: 1px;
  overflow: hidden;
}
.screen-reader-text:focus {
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  clip: auto !important;
  display: block;
  top: 5px;
  left: 5px;
  z-index: 100000;
  clip-path: none;
  padding: 15px 23px 14px;
  width: auto;
  height: auto;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: normal;
  text-decoration: none;
}

@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("../webfonts/Inter-Regular.eot");
  src: url("../webfonts/Inter-Regular.eot?#iefix") format("embedded-opentype"), url("../webfonts/Inter-Regular.woff2") format("woff2"), url("../webfonts/Inter-Regular.woff") format("woff"), url("../webfonts/Inter-Regular.ttf") format("truetype"), url("../webfonts/Inter-Regular.svg#Inter") format("svg");
  font-family: "Inter";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 500;
  src: url("../webfonts/Inter-500.eot");
  src: url("../webfonts/Inter-500.eot?#iefix") format("embedded-opentype"), url("../webfonts/Inter-500.woff2") format("woff2"), url("../webfonts/Inter-500.woff") format("woff"), url("../webfonts/Inter-500.ttf") format("truetype"), url("../webfonts/Inter-500.svg#Inter") format("svg");
  font-family: "Inter";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 600;
  src: url("../webfonts/Inter-600.eot");
  src: url("../webfonts/Inter-600.eot?#iefix") format("embedded-opentype"), url("../webfonts/Inter-600.woff2") format("woff2"), url("../webfonts/Inter-600.woff") format("woff"), url("../webfonts/Inter-600.ttf") format("truetype"), url("../webfonts/Inter-600.svg#Inter") format("svg");
  font-family: "Inter";
  font-display: swap;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

body {
  color: var(--color-text);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  font-family: "Inter", sans-serif;
}
@media (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

::-moz-selection {
  background-color: rgba(var(--color-accent-rgb), 0.24);
}

::selection {
  background-color: rgba(var(--color-accent-rgb), 0.24);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 1.25em 0 0.5em;
  color: var(--color-text-dark);
  font-weight: 600;
  text-wrap: balance;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0;
}

h1 {
  margin: 0;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
h1.small-page-title {
  margin-bottom: var(--layout-spacing);
  font-size: 14px;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  h1.small-page-title {
    font-size: 11px;
  }
}

h1,
p.page-title {
  margin: 0;
  font-weight: 600;
  font-size: clamp(28px, 2.4vw + 1rem, 56px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
h1.small,
p.page-title.small {
  font-size: clamp(24px, 2vw + 1rem, 40px);
}

h2 {
  font-size: clamp(20px, 1.6vw + 0.5rem, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
h2.large {
  margin: 0;
  font-size: 40px;
}
@media (max-width: 1599px) {
  h2.large {
    font-size: clamp(22px, 2vw + 0.5rem, 36px);
  }
}
h2.very-large {
  margin: 0;
  font-size: 48px;
}
@media (max-width: 1599px) {
  h2.very-large {
    font-size: clamp(24px, 2vw + 1rem, 40px);
  }
}

.elementor-widget-reditus-heading p {
  color: var(--color-text-dark);
  font-weight: 500;
}
.elementor-widget-reditus-heading h2 + p {
  font-size: 18px;
}
@media (max-width: 1023px) {
  .elementor-widget-reditus-heading h2 + p {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .elementor-widget-reditus-heading h2 + p {
    font-size: 15px;
  }
}

h3 {
  font-size: clamp(19px, 1.2vw + 0.5rem, 24px);
}
h3.small {
  font-size: 19px;
}
@media (max-width: 767px) {
  h3.small {
    font-size: 17px;
  }
}

h4 {
  font-weight: 600;
  font-size: 18px;
}
@media (max-width: 767px) {
  h4 {
    font-size: 16px;
  }
}

h5 {
  font-weight: 600;
  font-size: 16px;
}
@media (max-width: 767px) {
  h5 {
    font-size: 15px;
  }
}

p {
  margin: 0.75em 0;
}
p:first-child {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
p.small {
  font-size: 14px;
}
@media (max-width: 767px) {
  p.small {
    font-size: 13px;
  }
}
p.very-small {
  font-size: 13px;
}
@media (max-width: 767px) {
  p.very-small {
    font-size: 12px;
  }
}

a {
  color: var(--color-text);
}
a:hover {
  color: var(--color-text-dark);
}

b,
strong {
  color: var(--color-text-dark);
  font-weight: 600;
}

ul {
  margin: 0.75em 0;
  padding-inline-start: 1.25em;
}
ul:first-child {
  margin-top: 0;
}
ul:last-child {
  margin-bottom: 0;
}

.site-navigation ul {
  display: flex;
  gap: calc(var(--layout-spacing) * 0.5) var(--layout-spacing);
  margin: 0;
  padding: 0;
  list-style: none;
}

button[aria-controls=primary-navigation] {
  display: block;
  width: 36px;
  height: 36px;
}
@media (min-width: 1280px) {
  button[aria-controls=primary-navigation] {
    display: none;
  }
}

@media (min-width: 1280px) {
  li.menu-item:not(.menu-item-button) a {
    display: block;
    align-content: center;
    transition: color 0.12s ease, box-shadow 0.12s ease;
    box-shadow: inset 0 0 0 0 var(--color-accent);
    height: var(--button-height-small);
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
  }
  li.menu-item:not(.menu-item-button).current-menu-item:not(.menu-item-button) a, li.menu-item:not(.menu-item-button):hover:not(.menu-item-button) a {
    box-shadow: inset 0 -2px 0 0 var(--color-accent);
  }
  li.menu-item-button {
    margin-left: calc(var(--layout-spacing) * 0.5);
  }
  li.menu-item-button + li.menu-item-button {
    margin-left: calc(var(--layout-spacing) * -0.5);
  }
}
@media (max-width: 1279px) {
  .site-navigation {
    position: fixed;
    top: -100%;
    left: 0;
    transform: translateY(0);
    transform-origin: top;
    visibility: hidden;
    transition: transform 0.36s ease, visibility 0.36s ease;
    transition-delay: 0.24s;
    background-color: var(--color-bg-dark);
    padding-top: var(--header-height);
    width: 100%;
    height: 100%;
    height: 100dvh;
    pointer-events: none;
  }
  .site-navigation ul {
    flex-direction: column;
    align-items: flex-end;
    padding: var(--layout-spacing);
    height: 100%;
    overflow: auto;
  }
  .site-navigation ul li:first-child {
    margin-top: auto;
  }
  .site-navigation:before {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-20%, 20%);
    opacity: 0;
    transition: opacity 0.24s ease-out 0s, transform 0.24s ease-out 0s;
    background-image: url("../img/reditus-symbol-outline.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    aspect-ratio: 1/2;
    width: auto;
    height: 65%;
    pointer-events: none;
    content: "";
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation {
    transform: translateY(100%);
    visibility: visible;
    transition-delay: 0s;
    pointer-events: auto;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item {
    transform: translateX(0);
    opacity: 1;
    transition-delay: 0.12s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(1) {
    transition-delay: 0.24s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(2) {
    transition-delay: 0.36s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(3) {
    transition-delay: 0.48s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(4) {
    transition-delay: 0.6s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(5) {
    transition-delay: 0.72s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(6) {
    transition-delay: 0.84s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(7) {
    transition-delay: 0.96s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(8) {
    transition-delay: 1.08s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(9) {
    transition-delay: 1.2s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation li.menu-item:nth-child(10) {
    transition-delay: 1.32s;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] + .site-navigation:before {
    transform: translate(-10%, 20%);
    opacity: 1;
    transition-delay: 0.36s;
  }
  li.menu-item {
    transform: translateX(6px);
    opacity: 0;
    transition: opacity 0.24s ease-out, transform 0.24s ease-out;
    transition-delay: 0s;
  }
  li.menu-item:not(.menu-item-button) a {
    display: inline-block;
    color: #ffffff;
    font-weight: 500;
    font-size: 20px;
    line-height: 40px;
    text-decoration: none;
  }
  li.menu-item-button {
    margin-top: var(--layout-spacing);
    width: 100%;
    text-align: right;
  }
  li.menu-item-button + li.menu-item-button {
    margin-top: var(--layout-spacing);
  }
  li.menu-item-button .button {
    padding: 0 var(--button-height-small);
    width: 100%;
    max-width: 360px;
    height: 48px;
    font-size: 15px;
  }
  button[aria-controls=primary-navigation] {
    position: relative;
    right: -4px;
    z-index: 2;
    cursor: pointer;
    outline: none;
    border: none;
    background-color: transparent;
    padding: 0 4px;
  }
  button[aria-controls=primary-navigation] span {
    display: block;
    position: relative;
    background-color: #ffffff;
    width: 100%;
    height: 2px;
  }
  button[aria-controls=primary-navigation] span:before, button[aria-controls=primary-navigation] span:after {
    position: absolute;
    left: 0;
    transition: transform 0.16s ease 0s, top 0.16s ease 0.16s;
    background-color: #ffffff;
    width: 100%;
    height: 100%;
    content: "";
  }
  button[aria-controls=primary-navigation] span:before {
    top: -8px;
  }
  button[aria-controls=primary-navigation] span:after {
    top: 8px;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] span {
    background-color: transparent;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] span:before, button[aria-controls=primary-navigation][aria-expanded=true] span:after {
    top: 0;
    transition: transform 0.16s ease 0.16s, top 0.16s ease;
  }
  button[aria-controls=primary-navigation][aria-expanded=true] span:before {
    transform: rotate(45deg);
  }
  button[aria-controls=primary-navigation][aria-expanded=true] span:after {
    transform: rotate(-45deg);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, var(--layout-spacing), 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes revealDownMask {
  from {
    -webkit-mask-size: 100% 0%;
    mask-size: 100% 0%;
  }
  to {
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
  }
}
.fade-in-up,
.fade-in,
.reveal-down {
  opacity: 0;
  will-change: opacity, transform;
}

.fade-in-up {
  transform: translate3d(0, var(--layout-spacing), 0);
}

.fade-in {
  transform: none;
}

.reveal-down {
  transform: none;
  opacity: 1;
  -webkit-mask-image: linear-gradient(#000, #000);
          mask-image: linear-gradient(#000, #000);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-mask-size: 100% 0%;
          mask-size: 100% 0%;
}

.animating .fade-in-up {
  animation-name: fadeInUp;
  animation-duration: 0.4s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
.animating .fade-in {
  animation-name: fadeIn;
  animation-duration: 0.4s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}
.animating .reveal-down {
  animation-name: revealDownMask;
  animation-duration: 0.4s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}

.d-1 {
  animation-delay: 0.2s;
}

.d-2 {
  animation-delay: 0.4s;
}

.d-3 {
  animation-delay: 0.6s;
}

.d-4 {
  animation-delay: 0.8s;
}

.d-5 {
  animation-delay: 1s;
}

.d-6 {
  animation-delay: 1.2s;
}

.d-7 {
  animation-delay: 1.4s;
}

.d-8 {
  animation-delay: 1.6s;
}

.d-9 {
  animation-delay: 1.8s;
}

.d-10 {
  animation-delay: 2s;
}

@media (prefers-reduced-motion: reduce) {
  .fade-in-up,
  .fade-in {
    opacity: 1;
    transform: none;
    animation: none !important;
    will-change: auto;
  }
  .reveal-down {
    opacity: 1;
    transform: none;
    animation: none !important;
    will-change: auto;
    -webkit-mask: none;
    mask: none;
  }
}
* {
  box-sizing: border-box;
}

.site {
  container-type: inline-size;
}

.site-main {
  padding-top: var(--header-height);
}

.container {
  padding-right: var(--layout-spacing);
  padding-left: var(--layout-spacing);
  width: 100%;
  max-width: var(--container-width);
}

.container--wide {
  max-width: 100%;
}

.elementor {
  container-type: inline-size;
}

.e-flex,
.e-flex > .e-con-inner {
  --display: flex;
  display: var(--display);
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: auto;
  flex-direction: var(--flex-direction);
  justify-content: var(--justify-content);
  align-items: var(--align-items);
  align-self: auto;
}
@media (max-width: 767px) {
  .e-flex,
  .e-flex > .e-con-inner {
    flex-wrap: wrap;
  }
}

.e-con {
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
}
.e-con > .elementor-element {
  width: 100%;
}

.e-con-inner {
  width: 100%;
  height: 100%;
}

.elementor-element {
  align-self: var(--align-self);
}

.elementor-widget-container {
  height: 100%;
}

.elementor-widget {
  width: 100%;
}

.e-width--1-4 {
  flex: 0 0 calc(25% - var(--layout-spacing-half));
  max-width: calc(25% - var(--layout-spacing-half));
}
@media (max-width: 767px) {
  .e-width--1-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--1-3 {
  flex: 0 0 calc(33.3334% - var(--layout-spacing-half));
  max-width: calc(33.3334% - var(--layout-spacing-half));
}
@media (max-width: 767px) {
  .e-width--1-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--1-2 {
  flex: 0 0 calc(50% - var(--layout-spacing-half));
  max-width: calc(50% - var(--layout-spacing-half));
}
@media (max-width: 767px) {
  .e-width--1-2 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--2-3 {
  flex: 0 0 calc(66.6667% - var(--layout-spacing-half));
  max-width: calc(66.6667% - var(--layout-spacing-half));
}
@media (max-width: 767px) {
  .e-width--2-3 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--3-4 {
  flex: 0 0 calc(75% - var(--layout-spacing-half));
  max-width: calc(75% - var(--layout-spacing-half));
}
@media (max-width: 767px) {
  .e-width--3-4 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--1 {
  flex: 0 0 100%;
  max-width: 100%;
}
@media (max-width: 767px) {
  .e-width--1 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--auto {
  flex: 0 1 auto;
  width: auto !important;
}
@media (max-width: 767px) {
  .e-width--auto {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.e-width--full {
  flex: 0 0 100%;
  padding: 0;
  max-width: 100%;
}
@media (max-width: 767px) {
  .e-width--full {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .e-width--full {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (max-width: 1023px) {
  .e-width--tablet-1-4 {
    flex: 0 0 calc(25% - var(--layout-spacing-half));
    max-width: calc(25% - var(--layout-spacing-half));
  }
  .e-width--tablet-1-3 {
    flex: 0 0 calc(33.3334% - var(--layout-spacing-half));
    max-width: calc(33.3334% - var(--layout-spacing-half));
  }
  .e-width--tablet-1-2 {
    flex: 0 0 calc(50% - var(--layout-spacing-half));
    max-width: calc(50% - var(--layout-spacing-half));
  }
  .e-width--tablet-2-3 {
    flex: 0 0 calc(66.6667% - var(--layout-spacing-half));
    max-width: calc(66.6667% - var(--layout-spacing-half));
  }
  .e-width--tablet-3-4 {
    flex: 0 0 calc(75% - var(--layout-spacing-half));
    max-width: calc(75% - var(--layout-spacing-half));
  }
  .e-width--tablet-1 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .e-width--tablet-auto {
    flex: 0 1 auto;
    width: auto !important;
  }
  .e-width--tablet-full {
    flex: 0 0 100%;
    padding: 0;
    max-width: 100%;
  }
}
@media (max-width: 1023px) and (max-width: 767px) {
  .e-width--tablet-full {
    padding: 0;
  }
}
@media (max-width: 767px) {
  .e-width--mobile-1-4 {
    flex: 0 0 calc(25% - var(--layout-spacing-half));
    max-width: calc(25% - var(--layout-spacing-half));
  }
  .e-width--mobile-1-3 {
    flex: 0 0 calc(33.3334% - var(--layout-spacing-half));
    max-width: calc(33.3334% - var(--layout-spacing-half));
  }
  .e-width--mobile-1-2 {
    flex: 0 0 calc(50% - var(--layout-spacing-half));
    max-width: calc(50% - var(--layout-spacing-half));
  }
  .e-width--mobile-2-3 {
    flex: 0 0 calc(66.6667% - var(--layout-spacing-half));
    max-width: calc(66.6667% - var(--layout-spacing-half));
  }
  .e-width--mobile-3-4 {
    flex: 0 0 calc(75% - var(--layout-spacing-half));
    max-width: calc(75% - var(--layout-spacing-half));
  }
  .e-width--mobile-1 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .e-width--mobile-auto {
    flex: 0 1 auto;
    width: auto !important;
  }
  .e-width--mobile-full {
    flex: 0 0 100%;
    padding: 0;
    max-width: 100%;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .e-width--mobile-full {
    padding: 0;
  }
}
.e-max-width-narrow > .elementor-element {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  max-width: calc(var(--container-width) / 3 * 2 - var(--layout-spacing) / 3);
}

.e-bg-gray,
.e-bg-image {
  border-radius: var(--border-radius);
}

.e-con.e-bg-gray,
.e-con.e-bg-image {
  padding-inline: calc(var(--layout-spacing) * 1.5);
  padding-block: calc(var(--layout-spacing) * 0.83334 * 1.5);
}

.e-bg-gray {
  background-color: var(--color-bg);
}
.e-bg-gray .e-bg-gray {
  background-color: #ffffff;
}

.e-bg-image {
  position: relative;
  background-color: var(--color-bg-dark);
  color: #ffffff;
}
.e-bg-image:before {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.76;
  border-radius: var(--border-radius);
  background-color: var(--color-bg-dark);
  width: 100%;
  height: 100%;
  content: "";
}
.e-bg-image > div {
  z-index: 2;
}
.e-bg-image h1,
.e-bg-image h2,
.e-bg-image h3,
.e-bg-image h4,
.e-bg-image h5,
.e-bg-image h6,
.e-bg-image p,
.e-bg-image a {
  color: #ffffff;
}
.e-bg-image .e-bg-gray {
  background-color: rgba(255, 255, 255, 0.12);
}

.e-min-height--20 {
  min-height: 20vh;
}

.e-min-height--30 {
  min-height: 30vh;
}

.e-min-height--40 {
  min-height: 40vh;
}

.e-min-height--50 {
  min-height: 50vh;
}

.e-grid {
  display: grid;
  gap: var(--layout-spacing);
}

.e-grid-cols--1 {
  grid-template-columns: repeat(1, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--1 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--2 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--3 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--4 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--5 {
  grid-template-columns: repeat(5, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--5 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--6 {
  grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--6 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--7 {
  grid-template-columns: repeat(7, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--7 {
    grid-template-columns: repeat(1, 1fr);
  }
}

.e-grid-cols--8 {
  grid-template-columns: repeat(8, 1fr);
}
@media (max-width: 767px) {
  .e-grid-cols--8 {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media (max-width: 1023px) {
  .e-grid-cols--tablet-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .e-grid-cols--tablet-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .e-grid-cols--tablet-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .e-grid-cols--tablet-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .e-grid-cols--tablet-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .e-grid-cols--tablet-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .e-grid-cols--tablet-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .e-grid-cols--tablet-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
@media (max-width: 767px) {
  .e-grid-cols--mobile-1 {
    grid-template-columns: repeat(1, 1fr);
  }
  .e-grid-cols--mobile-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .e-grid-cols--mobile-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .e-grid-cols--mobile-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .e-grid-cols--mobile-5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .e-grid-cols--mobile-6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .e-grid-cols--mobile-7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .e-grid-cols--mobile-8 {
    grid-template-columns: repeat(8, 1fr);
  }
}
.e-fd--row {
  flex-direction: row;
}

.e-fd--row-reverse {
  flex-direction: row-reverse;
}

.e-fd--column {
  flex-direction: column;
}

.e-fd--column-reverse {
  flex-direction: column-reverse;
}

.e-jc--flex-start {
  justify-content: flex-start;
}

.e-jc--center {
  justify-content: center;
}

.e-jc--flex-end {
  justify-content: flex-end;
}

.e-jc--space-between {
  justify-content: space-between;
}

.e-jc--space-around {
  justify-content: space-around;
}

.e-jc--space-evenly {
  justify-content: space-evenly;
}

.e-ai---flex-start {
  align-items: flex-start;
}

.e-ai--center {
  align-items: center;
}

.e-ai--flex-end {
  align-items: flex-end;
}

.e-ai--stroke-width {
  align-items: stretch;
}

.e-align--center {
  text-align: center;
}

.e-align--left {
  text-align: left;
}

.e-align--right {
  text-align: right;
}

@media (max-width: 1023px) {
  .e-fd--tablet-row {
    flex-direction: row;
  }
  .e-fd--tablet-row-reverse {
    flex-direction: row-reverse;
  }
  .e-fd--tablet-column {
    flex-direction: column;
  }
  .e-fd--tablet-column-reverse {
    flex-direction: column-reverse;
  }
  .e-jc--tablet-flex-start {
    justify-content: flex-start;
  }
  .e-jc--tablet-center {
    justify-content: center;
  }
  .e-jc--tablet-flex-end {
    justify-content: flex-end;
  }
  .e-jc--tablet-space-between {
    justify-content: space-between;
  }
  .e-jc--tablet-space-around {
    justify-content: space-around;
  }
  .e-jc--tablet-space-evenly {
    justify-content: space-evenly;
  }
  .e-ai--tablet--flex-start {
    align-items: flex-start;
  }
  .e-ai--tablet-center {
    align-items: center;
  }
  .e-ai--tablet-flex-end {
    align-items: flex-end;
  }
  .e-ai--tablet-stroke-width {
    align-items: stretch;
  }
  .e-align--tablet-center {
    text-align: center;
  }
  .e-align--tablet-left {
    text-align: left;
  }
  .e-align--tablet-right {
    text-align: right;
  }
}
@media (max-width: 767px) {
  .e-fd--mobile-row {
    flex-direction: row;
  }
  .e-fd--mobile-row-reverse {
    flex-direction: row-reverse;
  }
  .e-fd--mobile-column {
    flex-direction: column;
  }
  .e-fd--mobile-column-reverse {
    flex-direction: column-reverse;
  }
  .e-jc--mobile-flex-start {
    justify-content: flex-start;
  }
  .e-jc--mobile-center {
    justify-content: center;
  }
  .e-jc--mobile-flex-end {
    justify-content: flex-end;
  }
  .e-jc--mobile-space-between {
    justify-content: space-between;
  }
  .e-jc--mobile-space-around {
    justify-content: space-around;
  }
  .e-jc--mobile-space-evenly {
    justify-content: space-evenly;
  }
  .e-ai--mobile--flex-start {
    align-items: flex-start;
  }
  .e-ai--mobile-center {
    align-items: center;
  }
  .e-ai--mobile-flex-end {
    align-items: flex-end;
  }
  .e-ai--mobile-stroke-width {
    align-items: stretch;
  }
  .e-align--mobile-center {
    text-align: center;
  }
  .e-align--mobile-left {
    text-align: left;
  }
  .e-align--mobile-right {
    text-align: right;
  }
}
.e-mt--x1 {
  margin-top: var(--layout-spacing);
}

.e-mt--x1-5 {
  margin-top: calc(var(--layout-spacing) * 1.5);
}

.e-mt--x2 {
  margin-top: calc(var(--layout-spacing) * 2);
}

.e-mt--x3 {
  margin-top: calc(var(--layout-spacing) * 3);
}

.e-mt--x4 {
  margin-top: calc(var(--layout-spacing) * 4);
}

.e-mt--auto {
  margin-top: auto;
}

.e-mb--x1 {
  margin-bottom: var(--layout-spacing);
}

.e-mb--x1-5 {
  margin-bottom: calc(var(--layout-spacing) * 1.5);
}

.e-mb--x2 {
  margin-bottom: calc(var(--layout-spacing) * 2);
}

.e-mb--x3 {
  margin-bottom: calc(var(--layout-spacing) * 3);
}

.e-mb--x4 {
  margin-bottom: calc(var(--layout-spacing) * 4);
}

.e-mb--auto {
  margin-top: auto;
}

.e-rg--x1 {
  row-gap: var(--layout-spacing);
}

.e-rg--x1-5 {
  row-gap: calc(var(--layout-spacing) * 1.5);
}

.e-rg--x2 {
  row-gap: calc(var(--layout-spacing) * 2);
}

.e-rg--x3 {
  row-gap: calc(var(--layout-spacing) * 3);
}

.e-rg--x4 {
  row-gap: calc(var(--layout-spacing) * 4);
}

.site-header {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  justify-content: space-between;
  align-items: center;
  z-index: 9;
  transition: height 0.12s ease;
  background-color: var(--color-bg-dark);
  padding-right: var(--constrainer);
  padding-left: var(--constrainer);
  width: 100%;
  height: var(--header-height);
  color: #ffffff;
}
.site-header > div {
  display: flex;
  -moz-column-gap: calc(var(--layout-spacing) * 2);
       column-gap: calc(var(--layout-spacing) * 2);
  align-items: center;
}

.site-logo {
  display: block;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .site-logo {
    width: auto;
    height: 32px;
  }
}

.language-switcher {
  position: relative;
  z-index: 9;
}
.language-switcher a {
  color: #ffffff;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  text-transform: uppercase;
}

.site-footer {
  display: flex;
  position: relative;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  padding-top: calc(var(--layout-spacing) * 6);
  padding-right: var(--constrainer);
  padding-bottom: calc(var(--layout-spacing) * 2);
  padding-left: var(--constrainer);
  overflow: hidden;
  color: #ffffff;
}
.site-footer:before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--color-bg-dark);
  width: 100%;
  height: calc(100% - var(--layout-spacing) * 2);
  content: "";
}
@media (max-width: 767px) {
  .site-footer {
    flex-direction: column;
  }
}
.site-footer > div {
  position: relative;
}
@media (min-width: 768px) {
  .site-footer > div {
    width: 50%;
  }
}
.site-footer h2 {
  margin: 0 0 1em;
  color: #ffffff;
  text-wrap: balance;
}
@media (max-width: 767px) {
  .site-footer h2 {
    max-width: 360px;
  }
}
.site-footer a {
  color: #ffffff;
  text-decoration: none;
}
.site-footer a:hover {
  text-decoration: underline;
}
.site-footer .icon {
  filter: brightness(0) invert(1);
}
.site-footer .bg {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (max-width: 767px) {
  .site-footer .bg {
    transform: translateX(calc(var(--layout-spacing) * 3));
    margin-left: auto;
    width: 100%;
  }
}
.site-footer .bg > div {
  display: grid;
  position: absolute;
  top: 0;
  left: 0;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--layout-spacing);
  width: 100%;
}
.site-footer .bg > div .reditus-symbol {
  aspect-ratio: 1/2;
  width: 100%;
  height: auto;
}
.site-footer .bg > div:first-child .reditus-symbol {
  grid-column: 4/span 2;
  transform: translateY(calc(var(--layout-spacing) * -6));
}
@media (max-width: 767px) {
  .site-footer .bg > div:first-child .reditus-symbol {
    grid-column: 5/span 2;
  }
}
.site-footer .bg > div:last-child .reditus-symbol {
  grid-column: 2/span 3;
}
@media (max-width: 767px) {
  .site-footer .bg > div:last-child .reditus-symbol {
    grid-column: 3/span 3;
    transform: translateY(calc(var(--layout-spacing) * -3));
  }
}
.site-footer ul.contacts {
  display: flex;
  row-gap: calc(var(--layout-spacing) * 0.5);
  flex-direction: column;
  margin: 0 0 calc(var(--layout-spacing) * 4);
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .site-footer ul.contacts {
    row-gap: var(--layout-spacing);
  }
}
.site-footer ul.contacts li {
  display: flex;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  row-gap: calc(var(--layout-spacing) * 0.5);
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .site-footer ul.contacts li {
    row-gap: var(--layout-spacing);
    flex-direction: column;
  }
}
.site-footer ul.contacts li a {
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: flex-start;
}
.site-footer ul.social-icons {
  display: flex;
  gap: calc(var(--layout-spacing) * 0.75);
  transform: opacity 0.12s ease;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .site-footer ul.social-icons {
    flex-direction: column;
  }
}
@media (min-width: 768px) {
  .site-footer ul.social-icons {
    margin-bottom: 0.25em;
  }
}
.site-footer ul.social-icons a {
  display: block;
}
.site-footer ul.social-icons a:hover {
  opacity: 0.8;
}

.footer-info {
  display: flex;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  justify-content: space-between;
  align-items: flex-end;
}
.footer-info p.copyright {
  opacity: 0.6;
  margin: 0.5em 0 0;
}
.footer-info p.policies {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
  flex-wrap: wrap;
}

.button {
  display: inline-block;
  align-content: center;
  vertical-align: top;
  transition: background-color 0.12s ease, color 0.12s ease, box-shadow 0.24s ease;
  cursor: pointer;
  outline: none;
  box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0);
  border: none;
  border-radius: 6px;
  background-color: var(--color-accent);
  padding: 0 calc(var(--button-height) * 0.5);
  height: var(--button-height);
  color: #ffffff;
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.button:hover {
  box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), 0.24);
  color: #ffffff;
}
@media (max-width: 767px) {
  .button {
    font-size: 13px;
  }
}
.button.outline {
  outline: 1px solid var(--color-accent);
  outline-offset: -1px;
  background-color: transparent;
}
.button.outline.white {
  outline: 1px solid #ffffff;
}
.button.outline.white:hover {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.24);
}
.button.small {
  padding: 0 calc(var(--button-height-small) * 0.5);
  height: var(--button-height-small);
  font-size: 13px;
}
@media (max-width: 767px) {
  .button.small {
    font-size: 12px;
  }
}

.button-arrow-down {
  display: inline-block;
  position: relative;
  vertical-align: top;
  cursor: pointer;
  width: calc(var(--button-height) * 0.75);
  height: var(--button-height);
  overflow: hidden;
}
.button-arrow-down::after {
  position: absolute;
  left: 0;
  transform: translateY(0);
  transition: transform 0.24s ease;
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M23.4844 35.7656L15.2344 27.5156C14.9062 27.2344 14.9062 26.7656 15.2344 26.4844C15.5156 26.2031 15.9844 26.2031 16.2656 26.4844L23.25 33.4219V12.75C23.25 12.3281 23.5781 12 24 12C24.4219 12 24.75 12.3281 24.75 12.75V33.4219L31.7344 26.4844C32.0156 26.2031 32.4844 26.2031 32.7656 26.4844C33.0938 26.7656 33.0938 27.2344 32.7656 27.5156L24.5156 35.7656C24.2344 36.0938 23.7656 36.0938 23.4844 35.7656Z' fill='white'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  content: "";
}
@media (max-width: 767px) {
  .button-arrow-down::after {
    background-size: var(--button-height);
  }
}
.button-arrow-down:hover::after {
  transform: translateY(4px);
}

.text-button {
  display: inline-flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  align-items: center;
  transition: box-shadow 0.24s ease;
  cursor: pointer;
  outline: none;
  box-shadow: inset 0 -2px 0 0 var(--color-accent);
  border: none;
  height: var(--button-text-height);
  color: var(--color-text-dark);
  font-weight: 600;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}
.text-button:after {
  transition: transform 0.12s ease;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.7812 9.53125L11.5312 14.7812L11 15.3125L9.96875 14.25L10.5 13.7188L14.4688 9.75H1V8.25H14.4688L10.5 4.28125L9.96875 3.75L11 2.6875L11.5312 3.21875L16.7812 8.46875L17.3125 9L16.7812 9.53125Z' fill='%23181528'/%3E%3C/svg%3E");
  width: 18px;
  height: 18px;
  content: "";
}
@media (max-width: 767px) {
  .text-button:after {
    width: 16px;
    height: 16px;
  }
}
.text-button:hover:after {
  transform: translateX(2px);
}
@media (max-width: 767px) {
  .text-button {
    -moz-column-gap: 4px;
         column-gap: 4px;
    font-size: 13px;
  }
}

input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=file]):not([type=submit]),
textarea {
  display: inline-block;
  vertical-align: top;
  transition: box-shadow 0.12s ease;
  outline: none;
  box-shadow: 0 0 0 1px var(--color-border);
  border: none;
  border-radius: 6px;
  padding: 0;
  padding-right: calc(var(--input-height) * 0.3);
  padding-left: calc(var(--input-height) * 0.3);
  max-width: 100%;
  height: var(--input-height);
  color: var(--color-text-dark);
}
input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=file]):not([type=submit]):focus, input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=file]):not([type=submit]):focus-visible,
textarea:focus,
textarea:focus-visible {
  outline: none;
  box-shadow: 0 0 0 1px var(--color-border-dark);
}
@media (max-width: 767px) {
  input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=file]):not([type=submit]),
  textarea {
    font-size: 14px;
  }
}
input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=file]):not([type=submit]).error,
textarea.error {
  box-shadow: 0 0 0 1px var(--color-red);
}

input[type=file] {
  border: 1px dashed var(--color-border);
  border-radius: 6px;
  padding: calc(var(--layout-spacing) * 0.5);
  font-size: 15px;
}
@media (max-width: 767px) {
  input[type=file] {
    font-size: 14px;
  }
}

label {
  display: block;
  font-weight: 500;
}
label small {
  display: block;
  color: var(--color-text);
  font-weight: 400;
}

textarea {
  padding-top: calc(var(--input-height) * 0.33334);
  padding-bottom: calc(var(--input-height) * 0.33334);
  height: auto;
  resize: vertical;
}

.input-group-floating {
  position: relative;
}
.input-group-floating label {
  position: absolute;
  top: 15px;
  left: calc(var(--input-height) * 0.3);
  transform-origin: left;
  transition: transform 0.12s ease;
  background: #ffffff;
  pointer-events: none;
  color: var(--color-text-light);
  font-weight: 400;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (max-width: 767px) {
  .input-group-floating label {
    top: 12px;
    font-size: 14px;
  }
}
.input-group-floating label span {
  color: var(--color-red);
}
.input-group-floating input:not(:-moz-placeholder) + label, .input-group-floating textarea:not(:-moz-placeholder) + label {
  transform: translateY(-150%) scale(0.8);
  color: var(--color-text-dark);
}
.input-group-floating input:focus + label, .input-group-floating input:not(:placeholder-shown) + label,
.input-group-floating textarea:focus + label,
.input-group-floating textarea:not(:placeholder-shown) + label {
  transform: translateY(-150%) scale(0.8);
  color: var(--color-text-dark);
}
@media (max-width: 767px) {
  .input-group-floating input:not(:-moz-placeholder) + label, .input-group-floating textarea:not(:-moz-placeholder) + label {
    transform: translateY(-135%) scale(0.8);
  }
  .input-group-floating input:focus + label, .input-group-floating input:not(:placeholder-shown) + label,
  .input-group-floating textarea:focus + label,
  .input-group-floating textarea:not(:placeholder-shown) + label {
    transform: translateY(-135%) scale(0.8);
  }
}
.input-group-floating input::-moz-placeholder, .input-group-floating textarea::-moz-placeholder {
  color: transparent;
}
.input-group-floating input::placeholder,
.input-group-floating textarea::placeholder {
  color: transparent;
}
.input-group-floating input:-moz-placeholder + button, .input-group-floating textarea:-moz-placeholder + button {
  display: none;
}
.input-group-floating input:placeholder-shown + button,
.input-group-floating textarea:placeholder-shown + button {
  display: none;
}
.input-group-floating select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.input-group-floating select::-ms-expand {
  display: none;
}

.fancybox-bg {
  background-color: var(--color-bg-dark);
}

.fancybox-content {
  border-radius: var(--border-radius);
  padding: calc(var(--layout-spacing) * 2);
  width: 100%;
  max-width: 840px;
}

.fancybox-button {
  position: absolute;
  top: 0;
  right: 0;
}

.fancybox-slide--html .fancybox-close-small {
  opacity: 1;
  padding: 0;
  transition: transform 0.12s ease;
  background-image: url("data:image/svg+xml, %3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7L29 29' stroke='%23181528' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M7 29L29 7' stroke='%23181528' vector-effect='non-scaling-stroke' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  padding: 0;
  width: var(--button-height);
  height: var(--button-height);
  background-size: calc(var(--button-height) * 0.75);
}
.fancybox-slide--html .fancybox-close-small:hover {
  transform: scale(0.9);
}

.icon {
  display: inline-block;
  vertical-align: top;
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
  font-style: normal;
  line-height: 1;
}
@media (max-width: 767px) {
  .icon {
    width: 20px;
    height: 20px;
  }
}

.icon--phone {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15.9375 4.76166L14.5664 8.03119C14.4609 8.27729 14.5313 8.55854 14.7422 8.73432L16.1836 9.92963C16.3945 10.1054 16.4648 10.3515 16.3594 10.5976C15.1992 13.2695 13.0898 15.4492 10.4531 16.7148C10.207 16.8203 9.92579 16.7499 9.78516 16.5742L8.48438 14.9921C8.3086 14.7812 8.02735 14.7109 7.78125 14.8163L4.51172 16.1874C4.23047 16.2929 4.05469 16.6093 4.16016 16.8906L4.19532 17.1367C4.72266 18.9999 6.48047 20.4765 8.51954 20.0546C14.1797 18.8593 18.6094 14.4296 19.8047 8.76947C20.2266 6.73041 18.75 4.9726 16.8867 4.44526L16.6406 4.4101C16.3594 4.30463 16.043 4.48041 15.9375 4.76166ZM16.957 3.32026L17.168 3.39057C19.4531 3.98822 21.4922 6.23822 20.8945 9.01557C19.6289 15.0976 14.8477 19.8788 8.76563 21.1445C5.98829 21.7421 3.73829 19.7031 3.14063 17.4179L3.07032 17.207C2.82422 16.3632 3.28125 15.4843 4.05469 15.1328L7.35938 13.7617C8.0625 13.4804 8.8711 13.6913 9.36329 14.289L10.3477 15.5195C12.457 14.3945 14.1445 12.6718 15.1641 10.5273L14.0391 9.61322C13.4414 9.12104 13.2305 8.31244 13.5117 7.60932L14.8828 4.30463C15.2344 3.53119 16.1133 3.07416 16.957 3.32026Z' fill='%23181528'/%3E%3C/svg%3E");
}

.icon--email {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 18.1562C21 19.2461 20.1211 20.125 19.0312 20.125H4.96875C3.87891 20.125 3 19.2461 3 18.1562V8.59375C3 8.06641 3.28125 7.53906 3.73828 7.25781L10.4531 2.75781C11.4023 2.125 12.6328 2.125 13.5469 2.75781L20.2617 7.25781C20.7188 7.53906 21 8.06641 21 8.59375V18.1562ZM4.96875 19H19.0312C19.4883 19 19.875 18.6133 19.875 18.1562V10.2812L13.7227 15.0273C12.7031 15.8008 11.2969 15.8008 10.2773 15.0273L4.125 10.2812V18.1562C4.125 18.6133 4.51172 19 4.96875 19ZM19.875 8.62891C19.875 8.45312 19.8047 8.27734 19.6289 8.17188L12.9492 3.70703C12.3867 3.32031 11.6484 3.32031 11.0508 3.70703L4.37109 8.17188C4.23047 8.27734 4.125 8.45312 4.125 8.62891C4.125 8.76953 4.19531 8.94531 4.33594 9.05078L10.9805 14.1133C11.5781 14.6055 12.4219 14.6055 13.0195 14.1133L19.6641 9.05078C19.8047 8.94531 19.875 8.76953 19.875 8.62891Z' fill='%23181528'/%3E%3C/svg%3E");
}

.icon--location {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6.375 9.89453C6.375 11.6523 7.28906 13.7266 8.51953 15.6953C9.71484 17.5938 11.1211 19.2461 12 20.1953C12.8789 19.2461 14.2852 17.5938 15.4805 15.6953C16.7109 13.7266 17.625 11.6523 17.625 9.89453C17.625 6.87109 15.1289 4.375 12 4.375C8.87109 4.375 6.375 6.87109 6.375 9.89453ZM12 3.25C15.7266 3.25 18.75 6.20312 18.75 9.89453C18.75 14.0781 14.5312 19.1055 12.7734 21.0039C12.3516 21.4609 11.6484 21.4609 11.2266 21.0039C9.46875 19.1055 5.25 14.0781 5.25 9.89453C5.25 6.20312 8.27344 3.25 12 3.25ZM13.6875 10C13.6875 9.05078 12.9492 8.3125 12 8.3125C11.0508 8.3125 10.3125 9.05078 10.3125 10C10.3125 10.9492 11.0508 11.6875 12 11.6875C12.9492 11.6875 13.6875 10.9492 13.6875 10ZM12 7.1875C13.5469 7.1875 14.8125 8.45312 14.8125 10C14.8125 11.5469 13.5469 12.8125 12 12.8125C10.4531 12.8125 9.1875 11.5469 9.1875 10C9.1875 8.45312 10.4531 7.1875 12 7.1875Z' fill='%23181528'/%3E%3C/svg%3E");
}

.icon--facebook {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.1875 13.7617H6.86719V10.3516H9.1875V8.83984C9.1875 5.04297 10.9102 3.25 14.6719 3.25C15.375 3.25 16.6055 3.39062 17.1328 3.53125V6.66016C16.8516 6.625 16.3945 6.58984 15.832 6.58984C13.9688 6.58984 13.2656 7.29297 13.2656 9.12109V10.3516H16.957L16.3242 13.7617H13.2656V21.25H9.1875V13.7617Z' fill='%23181528'/%3E%3C/svg%3E");
}

.icon--instagram {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 8.00781C14.5 8.00781 16.4922 10.0391 16.4922 12.5C16.4922 15 14.4609 16.9922 12 16.9922C9.5 16.9922 7.50781 14.9609 7.50781 12.5C7.50781 10 9.53906 8.00781 12 8.00781ZM12 9.57031C10.3594 9.60938 9.07031 10.8984 9.07031 12.5C9.10938 14.1406 10.3984 15.4297 12 15.4297C13.6406 15.3906 14.9297 14.1016 14.9297 12.5C14.8906 10.8594 13.6016 9.57031 12 9.57031ZM15.6328 7.8125C15.6328 8.39844 16.1016 8.86719 16.6875 8.86719C17.2734 8.86719 17.7422 8.39844 17.7422 7.8125C17.7422 7.22656 17.2734 6.79688 16.6875 6.79688C16.1016 6.79688 15.6328 7.22656 15.6328 7.8125ZM20.7109 8.90625C20.7891 10.3516 20.7891 14.6484 20.7109 16.0938C20.6328 17.5 20.3203 18.75 19.3047 19.7656C18.25 20.8203 17.0391 21.1328 15.6328 21.1719C14.1875 21.2891 9.85156 21.2891 8.40625 21.1719C7 21.1328 5.75 20.7812 4.73438 19.7656C3.71875 18.75 3.36719 17.5 3.32812 16.0938C3.25 14.6484 3.25 10.3125 3.32812 8.86719C3.40625 7.5 3.71875 6.25 4.73438 5.23438C5.75 4.17969 7 3.86719 8.40625 3.78906C9.85156 3.71094 14.1875 3.71094 15.6328 3.78906C17.0391 3.86719 18.25 4.17969 19.3047 5.23438C20.3203 6.25 20.6328 7.5 20.7109 8.90625ZM18.8359 17.6562C19.3047 16.5234 19.1875 13.7891 19.1875 12.5C19.1875 11.2109 19.3047 8.47656 18.8359 7.34375C18.5234 6.5625 17.9375 5.97656 17.1562 5.66406C16.0234 5.23438 13.2891 5.3125 12 5.3125C10.75 5.3125 8.01562 5.23438 6.84375 5.66406C6.10156 5.97656 5.47656 6.5625 5.20312 7.34375C4.73438 8.47656 4.85156 11.2109 4.85156 12.5C4.85156 13.7891 4.73438 16.5234 5.20312 17.6562C5.51562 18.4375 6.10156 19.0234 6.84375 19.3359C8.01562 19.7656 10.75 19.6875 12 19.6875C13.2891 19.6875 16.0234 19.7656 17.1562 19.3359C17.9375 19.0234 18.5234 18.4375 18.8359 17.6562Z' fill='%23181528'/%3E%3C/svg%3E");
}

.icon--linkedin {
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.75 4.375C19.3828 4.375 19.875 4.90234 19.875 5.5V19C19.875 19.6328 19.3828 20.125 18.75 20.125H5.25C4.61719 20.125 4.125 19.6328 4.125 19V5.5C4.125 4.90234 4.61719 4.375 5.25 4.375H18.75ZM8.87109 17.875H8.90625V10.3516H6.55078V17.875H8.87109ZM7.71094 6.625C6.97266 6.625 6.375 7.22266 6.375 7.99609C6.375 8.73438 6.97266 9.33203 7.71094 9.33203C8.44922 9.33203 9.08203 8.73438 9.08203 7.99609C9.08203 7.22266 8.44922 6.625 7.71094 6.625ZM17.625 17.875V13.7617C17.625 11.7227 17.2031 10.1758 14.8477 10.1758C13.6875 10.1758 12.9492 10.8086 12.6328 11.3711H12.5977V10.3516H10.3477V17.875H12.7031V14.1484C12.7031 13.1641 12.8789 12.2148 14.0742 12.2148C15.2695 12.2148 15.3047 13.3398 15.3047 14.2188V17.875H17.625Z' fill='%23181528'/%3E%3C/svg%3E");
}

.reditus-symbol {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}
.reditus-symbol path {
  stroke: #ffffff;
  fill: var(--color-accent);
  stroke-dasharray: 1600px;
  stroke-dashoffset: 0;
}

.animating .reditus-symbol:not(.reditus-symbol--outline) path {
  animation: reditusOnce 3s linear forwards;
}

@keyframes reditusOnce {
  0% {
    stroke-dashoffset: 1600px;
    fill: transparent;
  }
  50% {
    fill: transparent;
  }
  60% {
    stroke-dashoffset: 0;
    fill: var(--color-accent);
  }
  100% {
    stroke-dashoffset: 0;
    fill: var(--color-accent);
  }
}
.reditus-symbol--outline path {
  stroke: #ffffff;
  fill: transparent;
  stroke-dasharray: 1200px 400px;
  stroke-dashoffset: 0;
  animation: reditusOutlineLoop 4s linear infinite;
  animation-play-state: paused;
}

.animating .reditus-symbol--outline path {
  animation-play-state: running;
}

@keyframes reditusOutlineLoop {
  to {
    stroke-dashoffset: -1600px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reditus-symbol path {
    animation: none !important;
    stroke-dasharray: none;
    stroke-dashoffset: 0;
    fill: var(--color-accent);
    stroke: #ffffff;
  }
  .reditus-symbol--outline path {
    stroke: #ffffff;
    fill: transparent;
  }
}
img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}

.elementor-widget-reditus-image img {
  display: block;
  border-radius: var(--border-radius);
  -o-object-fit: cover;
     object-fit: cover;
}
.elementor-widget-reditus-image.image-ar--21-9 img {
  aspect-ratio: 21/9;
}
.elementor-widget-reditus-image.image-ar--16-9 img {
  aspect-ratio: 16/9;
}
.elementor-widget-reditus-image.image-ar--3-2 img {
  aspect-ratio: 3/2;
}
.elementor-widget-reditus-image.image-ar--4-3 img {
  aspect-ratio: 4/3;
}
.elementor-widget-reditus-image.image-ar--1-1 img {
  aspect-ratio: 1;
}

.carousel {
  position: relative;
}
.carousel .slick-prev,
.carousel .slick-next {
  position: absolute;
  top: 50%;
  right: 0;
  transition: opacity 0.12s ease;
  margin-top: calc(var(--button-height-small) * -0.5);
}
.carousel .slick-prev {
  left: calc(var(--button-height-small) * -1);
}
@media (max-width: 1599px) {
  .carousel .slick-prev {
    left: 0;
  }
}
.carousel .slick-next {
  right: calc(var(--button-height-small) * -1);
}
@media (max-width: 1599px) {
  .carousel .slick-next {
    right: 0;
  }
}

@media (max-width: 1599px) {
  .e-max-width-narrow .carousel .slick-prev {
    left: calc(var(--button-height-small) * -1);
  }
}
@media (max-width: 1023px) {
  .e-max-width-narrow .carousel .slick-prev {
    left: 0;
  }
}
@media (max-width: 1599px) {
  .e-max-width-narrow .carousel .slick-next {
    right: calc(var(--button-height-small) * -1);
  }
}
@media (max-width: 1023px) {
  .e-max-width-narrow .carousel .slick-next {
    right: 0;
  }
}

.carousel--gap .slick-slide {
  margin: 0 var(--layout-padding);
}
.carousel--gap .slick-list {
  margin: 0 calc(var(--layout-padding) * -1);
}

.slick-arrow {
  position: relative;
  z-index: 3;
  cursor: pointer;
  margin: 0;
  outline: none;
  border: none;
  background-color: transparent;
  padding: 0;
  width: 36px;
  height: 48px;
  text-indent: -9999px;
}
@media (max-width: 767px) {
  .slick-arrow {
    width: 24px;
    height: 36px;
  }
}
.slick-arrow.slick-disabled {
  opacity: 0.38;
  pointer-events: none;
}
.slick-arrow:after {
  position: absolute;
  top: 0;
  left: 0;
  transition: transform 0.16s ease-in;
  background-position: center;
  background-size: 40px;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  content: "";
}
@media (max-width: 767px) {
  .slick-arrow:after {
    background-size: 28px;
  }
}
.slick-arrow.slick-prev:after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.625 20L13.3125 19.3125L23.3125 9.3125L24 8.5625L25.4375 10L24.6875 10.6875L15.4375 20L24.6875 29.3125L25.4375 30L24 31.4375L23.3125 30.6875L13.3125 20.6875L12.625 20Z' fill='%23181528'/%3E%3C/svg%3E");
}
.slick-arrow.slick-prev:hover:after {
  transform: translateX(-2px);
}
.slick-arrow.slick-next:after {
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M27.4375 20L26.75 20.6875L16.75 30.6875L16 31.4375L14.625 30L15.3125 29.3125L24.625 20L15.3125 10.6875L14.625 10L16 8.5625L16.75 9.3125L26.75 19.3125L27.4375 20Z' fill='%23181528'/%3E%3C/svg%3E");
}
.slick-arrow.slick-next:hover:after {
  transform: translateX(2px);
}

.table-wrap {
  width: 100%;
  overflow: auto;
}
.table-wrap table {
  border-collapse: collapse;
}
.table-wrap table th,
.table-wrap table td {
  padding: 0.5em 1em;
  border: 1px solid var(--color-border);
}

.feature {
  display: flex;
  row-gap: calc(var(--layout-spacing) * 0.83334);
  flex-direction: column;
  border-radius: var(--border-radius);
  padding: calc(var(--layout-spacing) * 0.83334) var(--layout-spacing);
  height: 100%;
}
.feature h3 {
  margin: 0;
  color: var(--color-accent);
  font-weight: 500;
  font-size: clamp(20px, 1.6vw + 0.5rem, 32px);
}
.feature h4 {
  margin: 0 0 0.25em;
}
.feature p {
  margin: 0;
  font-size: 15px;
}
@media (max-width: 767px) {
  .feature p {
    font-size: 14px;
  }
}

.feature__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: calc(var(--layout-spacing) * 0.5);
}
.feature__heading img {
  display: block;
  margin-left: auto;
  border-radius: 0;
  width: calc(var(--layout-spacing) * 2);
  height: calc(var(--layout-spacing) * 2);
  -o-object-fit: contain;
     object-fit: contain;
}

.e-bg-gray .feature-card {
  background-color: #ffffff;
}

.faqs {
  display: flex;
  row-gap: calc(var(--layout-spacing) * 0.5);
  flex-direction: column;
}

.faq {
  border-radius: var(--border-radius);
  background-color: var(--color-bg);
}

.e-bg-gray .faq {
  background-color: #ffffff;
}

.faq__question {
  display: flex;
  -moz-column-gap: calc(var(--layout-spacing) * 0.5);
       column-gap: calc(var(--layout-spacing) * 0.5);
  justify-content: space-between;
  align-items: flex-start;
  cursor: pointer;
  padding-inline: var(--layout-spacing);
  padding-block: calc(var(--layout-spacing) * 0.83334 * 1);
  font-size: 18px;
  margin: 0;
}
@media (max-width: 767px) {
  .faq__question {
    font-size: 15px;
  }
}
.faq__question > .icon {
  position: relative;
  flex-shrink: 0;
  width: var(--layout-spacing);
  height: var(--layout-spacing);
}
.faq__question > .icon:before, .faq__question > .icon:after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--color-accent);
  content: "";
}
.faq__question > .icon:before {
  width: 20px;
  height: 2px;
}
@media (max-width: 767px) {
  .faq__question > .icon:before {
    width: 16px;
  }
}
.faq__question > .icon:after {
  transition: height 0.12s ease;
  width: 2px;
  height: 20px;
}
@media (max-width: 767px) {
  .faq__question > .icon:after {
    height: 16px;
  }
}
.faq__question[aria-expanded=true] > .icon:after {
  height: 0;
}

.faq__answer {
  padding-inline: var(--layout-spacing);
  padding-bottom: calc(var(--layout-spacing) * 0.83334 * 1);
}

.page-hero {
  display: grid;
  position: relative;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  background-color: var(--color-bg-dark);
  padding-top: calc(var(--layout-spacing) * 1.5);
  padding-bottom: calc(var(--layout-spacing) * 1.5);
  padding-inline: var(--constrainer);
  color: #ffffff;
}
@media (max-width: 767px) {
  .page-hero {
    padding-top: var(--layout-spacing);
    padding-bottom: var(--layout-spacing);
  }
}
.page-hero:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-100%);
  z-index: -1;
  background-color: var(--color-bg-dark);
  width: 100%;
  height: var(--header-height);
  content: "";
}
.page-hero h1,
.page-hero h2,
.page-hero h3,
.page-hero p {
  color: #ffffff;
}
.page-hero p:not(.page-title) {
  margin: 0.75em 0;
  font-size: 18px;
}
@media (max-width: 767px) {
  .page-hero p:not(.page-title) {
    font-size: 16px;
  }
}
.page-hero ul {
  display: flex;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  margin: var(--layout-spacing) 0 0;
  padding: 0;
  list-style: none;
}
.page-hero > div {
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .page-hero > .image-wrap {
    margin-top: var(--layout-spacing);
  }
}
.page-hero > .image-wrap img {
  position: relative;
  z-index: 2;
  border-radius: var(--border-radius);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .page-hero > .image-wrap img {
    aspect-ratio: 1.5;
  }
}
.page-hero > .bg {
  display: grid;
  position: absolute;
  top: 0;
  right: 0;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--layout-spacing);
  z-index: 3;
  padding-right: var(--constrainer);
  padding-left: var(--constrainer);
  aspect-ratio: 2.5;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (min-width: 768px) {
  .page-hero > .bg {
    padding-top: calc(var(--layout-spacing) * 3);
  }
}
@media (max-width: 767px) {
  .page-hero > .bg {
    grid-template-columns: repeat(3, 1fr);
  }
}
.page-hero > .bg .reditus-symbol {
  grid-column: span 3/span 3;
  grid-column-start: 5;
}
@media (max-width: 767px) {
  .page-hero > .bg .reditus-symbol {
    grid-column: span 1/span 1;
    grid-column-start: 3;
    transform: translateX(calc(var(--layout-spacing) * 3));
  }
}
@media (min-width: 768px) {
  .page-hero {
    grid-template-columns: repeat(12, 1fr);
  }
  .page-hero > div:first-child {
    grid-column: span 5/span 5;
    align-self: center;
  }
  .page-hero > .image-wrap {
    grid-column: span 6/span 6;
    grid-column-start: 7;
  }
}

@media (min-width: 768px) {
  .page-hero--homepage {
    align-items: last baseline;
    padding-top: calc(var(--layout-spacing) * 4);
  }
  .page-hero--homepage > div:first-child {
    grid-column: span 6/span 6;
  }
  .page-hero--homepage > div:nth-child(2) {
    grid-column: span 5/span 5;
    grid-column-start: 8;
  }
  .page-hero--homepage > div.image-wrap {
    grid-column: span 12/span 12;
    margin-top: var(--layout-spacing);
  }
  .page-hero--homepage > div.image-wrap img {
    aspect-ratio: 2.5;
  }
}
.page-hero--homepage.has-image {
  padding-bottom: 0;
}
.page-hero--homepage.has-image .image-wrap {
  position: relative;
  background-color: var(--color-bg-dark);
}
.page-hero--homepage.has-image .image-wrap img {
  border-radius: var(--border-radius);
}
.page-hero--homepage.has-image .image-wrap:after {
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(var(--constrainer) * -1);
  z-index: 1;
  background-color: #ffffff;
  width: calc(100% + var(--constrainer) * 2);
  height: 50%;
  content: "";
}

.hero-chart-card {
  display: flex;
  position: absolute;
  row-gap: calc(var(--layout-spacing) * 0.5);
  flex-direction: column;
  align-items: center;
  z-index: 2;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  border-radius: var(--border-radius);
  background-color: rgba(255, 255, 255, 0.6);
  padding: var(--layout-spacing) calc(var(--layout-spacing) * 0.5) calc(var(--layout-spacing) * 0.75);
  max-width: calc(var(--layout-spacing) * 6);
  color: var(--color-text-dark);
  font-weight: 600;
  font-size: 14px;
  line-height: 16px;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  text-align: center;
}
@media (max-width: 767px) {
  .hero-chart-card {
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    max-width: calc(var(--layout-spacing) * 5.5);
    font-size: 10px;
    line-height: 12px;
  }
}
.hero-chart-card.hero-chart-card--1 {
  bottom: calc(var(--layout-spacing) * 1.5);
  left: calc(var(--layout-spacing) * -1.5);
}
@media (max-width: 1365px) {
  .hero-chart-card.hero-chart-card--1 {
    bottom: calc(var(--layout-spacing) * -0.5);
    left: calc(var(--layout-spacing) * -0.5);
  }
}
.hero-chart-card.hero-chart-card--2 {
  top: calc(var(--layout-spacing) * 1.5);
  right: calc(var(--layout-spacing) * -1.5);
}
@media (max-width: 1365px) {
  .hero-chart-card.hero-chart-card--2 {
    top: calc(var(--layout-spacing) * -0.5);
    right: calc(var(--layout-spacing) * -0.5);
  }
}

.hero-chart {
  position: relative;
}
.hero-chart > span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  color: var(--color-text-dark);
  font-weight: 500;
  font-size: 24px;
  line-height: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .hero-chart > span {
    font-size: 16px;
  }
}
.hero-chart > div {
  --value: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 9px), #000 calc(100% - 8px));
  border-radius: 50%;
  background: conic-gradient(var(--color-accent) calc(var(--value) * 1%), var(--color-border-light) 0);
  aspect-ratio: 1;
  width: calc(var(--layout-spacing) * 4);
  color: var(--color-text-dark);
  font-weight: 600;
}
@media (max-width: 767px) {
  .hero-chart > div {
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 6px), #000 calc(100% - 5px));
  }
}
@media (max-width: 767px) {
  .hero-chart > div {
    width: calc(var(--layout-spacing) * 3);
  }
}

.page-heading {
  padding-top: calc(var(--layout-spacing) * 2);
  padding-inline: var(--constrainer);
}
.page-heading.narrow-content {
  padding-inline: var(--constrainer-narrow);
}
.page-heading + .page-content {
  padding-top: 0;
}
.page-heading h1 {
  margin-bottom: 0.75em;
}

.page-content {
  padding-block: calc(var(--layout-spacing) * 4);
  padding-inline: var(--constrainer);
}
.page-content.narrow-content {
  padding-inline: var(--constrainer-narrow);
}

.site-cta {
  position: relative;
  margin-bottom: calc(var(--layout-spacing) * -2);
  padding-right: var(--constrainer);
  padding-left: var(--constrainer);
}
.site-cta:before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--color-bg-dark);
  width: 100%;
  height: 50%;
  pointer-events: none;
  content: "";
}

.site-cta__content {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  row-gap: calc(var(--layout-spacing) * 0.5);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 2;
  padding: var(--layout-spacing);
  width: 100%;
  height: 100%;
  color: #ffffff;
  text-align: center;
}
.site-cta__content > * {
  max-width: calc(var(--container-width) / 2 - var(--layout-spacing) * 0.5);
}
.site-cta__content h2 {
  color: #ffffff;
}
.site-cta__content p {
  margin: 0;
  font-size: 20px;
  text-wrap: balance;
}
@media (max-width: 1599px) {
  .site-cta__content p {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .site-cta__content p {
    font-size: 15px;
  }
}
.site-cta__content .button {
  margin-top: var(--layout-spacing);
}

.site-cta__image {
  display: block;
  margin: 0;
  border-radius: var(--border-radius);
  background-color: var(--color-bg-dark);
  padding: 0;
  aspect-ratio: 2.5;
  width: 100%;
  height: auto;
  overflow: hidden;
}
@media (max-width: 767px) {
  .site-cta__image {
    aspect-ratio: 3/4;
    height: auto;
  }
}
.site-cta__image img {
  display: block;
  opacity: 0.24;
  aspect-ratio: 2.5;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .site-cta__image img {
    aspect-ratio: 3/4;
    height: auto;
  }
}

.contact-form {
  display: flex;
  row-gap: var(--layout-spacing);
  flex-direction: column;
  color: var(--color-text-dark);
}
.contact-form.is-loading {
  opacity: 0.36;
  pointer-events: none;
}
.contact-form h1 {
  margin-bottom: calc(var(--layout-spacing) * 0.5);
}
.contact-form p {
  margin: 1em 0 0;
}
.contact-form p.contact-form-error {
  color: var(--color-red);
  font-weight: 500;
}
.contact-form p:empty {
  display: none;
}
.contact-form fieldset {
  display: flex;
  gap: var(--layout-spacing);
  margin: 0;
  border: none;
  padding: 0;
}
@media (max-width: 767px) {
  .contact-form fieldset {
    flex-direction: column;
  }
}
.contact-form fieldset > div {
  width: 100%;
}
@media (min-width: 768px) {
  .contact-form fieldset > div:not(:only-child) {
    width: 50%;
  }
}
.contact-form fieldset > div input,
.contact-form fieldset > div textarea {
  width: 100%;
}
.contact-form footer {
  margin-top: calc(var(--layout-spacing) * 0.5);
}
.contact-form footer > div {
  display: flex;
  align-items: center;
  gap: var(--layout-spacing);
}
@media (max-width: 767px) {
  .contact-form footer > div {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
.contact-form label.acceptance {
  display: flex;
  -moz-column-gap: 6px;
       column-gap: 6px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.333;
  font-weight: 400;
  color: var(--color-text);
}
@media (max-width: 767px) {
  .contact-form label.acceptance {
    font-size: 12px;
  }
}
.contact-form label.acceptance input {
  margin-top: 2px;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.contact-form .input-group-file {
  display: flex;
  gap: var(--layout-spacing);
  align-items: center;
}
@media (min-width: 768px) {
  .contact-form .input-group-file > label,
  .contact-form .input-group-file > input {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .contact-form .input-group-file {
    flex-direction: column;
    align-items: flex-start;
  }
}

.fancybox-content .contact-form h1 {
  margin-top: -0.15em;
}

.contact-form-success-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 25vh;
  text-align: center;
}
.contact-form-success-message .icon {
  display: block;
  margin-bottom: var(--layout-spacing);
  background-image: url("data:image/svg+xml,%3Csvg width='64' height='64' viewBox='0 0 64 64' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32.0625 64C20.5625 64 10.0625 58 4.3125 48C-1.4375 38.125 -1.4375 26 4.3125 16C10.0625 6.125 20.5625 0 32.0625 0C43.4375 0 53.9375 6.125 59.6875 16C65.4375 26 65.4375 38.125 59.6875 48C53.9375 58 43.4375 64 32.0625 64ZM46.1875 26.125H46.0625C47.3125 25 47.3125 23.125 46.0625 21.875C44.9375 20.75 43.0625 20.75 41.9375 21.875L28.0625 35.875L22.1875 30C20.9375 28.75 19.0625 28.75 17.9375 30C16.6875 31.125 16.6875 33 17.9375 34.125L25.9375 42.125C27.0625 43.375 28.9375 43.375 30.1875 42.125L46.1875 26.125Z' fill='%2328965A'/%3E%3C/svg%3E");
  background-position: center;
  background-size: 100%;
  width: calc(var(--layout-spacing) * 3);
  height: calc(var(--layout-spacing) * 3);
}
.contact-form-success-message .button {
  margin-top: var(--layout-spacing);
}

.testimonial-item {
  border-radius: var(--border-radius);
  background-color: var(--color-bg);
  padding: calc(var(--layout-spacing) * 1.83334) calc(var(--layout-spacing) * 2);
}
.testimonial-item blockquote {
  margin: 0;
  color: var(--color-text-dark);
  font-size: 18px;
}
@media (max-width: 767px) {
  .testimonial-item blockquote {
    font-size: 15px;
  }
}
.testimonial-item blockquote:before {
  display: block;
  margin-bottom: var(--layout-spacing);
  background-image: url("data:image/svg+xml, %3Csvg viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M32 21C32 24.875 28.875 28 25 28H23C22.4375 28 22 27.5625 22 27C22 26.4375 22.4375 26 23 26H25C27.75 26 30 23.75 30 21V19.4375C29.4375 19.8125 28.75 20 28 20H24C21.8125 20 20 18.1875 20 16V12C20 9.8125 21.8125 8 24 8H28C30.1875 8 32 9.8125 32 12V21ZM30 16V12C30 10.875 29.125 10 28 10H24C22.875 10 22 10.875 22 12V16C22 17.125 22.875 18 24 18H28C29.125 18 30 17.125 30 16ZM8 18H12C13.125 18 14 17.125 14 16V12C14 10.875 13.125 10 12 10H8C6.875 10 6 10.875 6 12V16C6 17.125 6.875 18 8 18ZM16 14V21C16 24.875 12.875 28 9 28H7C6.4375 28 6 27.5625 6 27C6 26.4375 6.4375 26 7 26H9C11.75 26 14 23.75 14 21V19.4375C13.4375 19.8125 12.75 20 12 20H8C5.8125 20 4 18.1875 4 16V12C4 9.8125 5.8125 8 8 8H12C14.1875 8 16 9.8125 16 12V14Z' fill='%23E00000'/%3E%3C/svg%3E");
  background-image: 100%;
  background-repeat: no-repeat;
  width: 36px;
  height: 36px;
  content: "";
}
@media (max-width: 767px) {
  .testimonial-item blockquote:before {
    width: 32px;
    height: 32px;
  }
}
.testimonial-item p {
  margin: 0;
}
.testimonial-item em {
  font-size: normal;
}
.testimonial-item footer {
  margin-top: calc(var(--layout-spacing) * 0.5);
  font-size: 14px;
}
@media (max-width: 767px) {
  .testimonial-item footer {
    font-size: 13px;
  }
}

.e-bg-gray .testimonial-item {
  background-color: #ffffff;
}

.team {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--layout-spacing);
}
@media (max-width: 1365px) {
  .team {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1023px) {
  .team {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1366px) {
  .team.team-col--2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .team.team-col--3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .team.team-col--5 {
    grid-template-columns: repeat(5, 1fr);
  }
  .team.team-col--6 {
    grid-template-columns: repeat(6, 1fr);
  }
  .team.team-col--7 {
    grid-template-columns: repeat(7, 1fr);
  }
  .team.team-col--8 {
    grid-template-columns: repeat(8, 1fr);
  }
}

.team-member {
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: var(--border-radius);
  background-color: var(--color-bg);
  text-align: center;
}
.team-member > img,
.team-member .placeholder {
  display: block;
  border-radius: var(--border-radius);
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  background-color: var(--color-bg);
  aspect-ratio: 3/4;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.team-member__info {
  padding-inline: var(--layout-spacing);
  padding-block: calc(var(--layout-spacing) * 0.83334);
}
.team-member__info h3 {
  margin: 0;
  font-weight: 500;
  font-size: 18px;
}
@media (max-width: 767px) {
  .team-member__info h3 {
    font-size: 15px;
  }
}
.team-member__info p {
  margin: 0.25em 0 1em;
  font-size: 13px;
}
@media (max-width: 767px) {
  .team-member__info p {
    font-size: 12px;
  }
}
.team-member__info a {
  color: var(--color-text-dark);
  text-decoration: none;
}
.team-member__info ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: calc(var(--layout-spacing) * 0.5);
  margin: 0;
  padding: 0;
  font-weight: 500;
  font-size: 15px;
  line-height: 20px;
  list-style: none;
}
@media (max-width: 767px) {
  .team-member__info ul {
    font-size: 14px;
  }
  .team-member__info ul li:first-child {
    width: 100%;
  }
}
.team-member__info ul a {
  vertical-align: top;
}
.team-member__info ul .icon {
  vertical-align: top;
  width: 20px;
  height: 20px;
}

.map {
  display: flex;
  position: relative;
  row-gap: calc(var(--layout-spacing) * 2);
  flex-direction: column;
  justify-content: space-between;
  border-radius: var(--border-radius);
  background-color: var(--color-bg-dark);
  padding: calc(var(--layout-spacing) * 0.83334 * 3) calc(var(--layout-spacing) * 3);
  overflow: hidden;
  color: #ffffff;
}
@media (min-width: 768px) {
  .map {
    min-height: 75vh;
  }
}
@media (max-width: 767px) {
  .map {
    padding: calc(var(--layout-spacing) * 0.83334 * 2) calc(var(--layout-spacing) * 2);
  }
}
.map h2,
.map h3,
.map h3,
.map h4 {
  margin: 0;
  margin-bottom: var(--layout-spacing);
  color: #ffffff;
}
.map > div {
  position: relative;
  z-index: 2;
}
@media (min-width: 768px) {
  .map > div {
    max-width: calc(50% - var(--layout-spacing) * 0.5);
  }
}
.map p {
  opacity: 0.8;
}
.map ul {
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--layout-spacing) * 0.5);
  margin: 0;
  padding: 0;
  font-weight: 500;
  list-style: none;
}
@media (max-width: 767px) {
  .map ul {
    flex-direction: column;
  }
}
.map ul li {
  display: flex;
  -moz-column-gap: 4px;
       column-gap: 4px;
  align-items: center;
}
.map ul li:before {
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.3594 5.19533C20.7891 5.46876 20.8672 6.0547 20.5938 6.48439L10.2812 20.8594C10.0859 21.0938 9.85156 21.211 9.57812 21.25C9.30469 21.25 9.03125 21.1719 8.83594 20.9766L3.52344 15.6641C3.17188 15.3125 3.17188 14.6875 3.52344 14.336C3.875 13.9844 4.5 13.9844 4.85156 14.336L9.38281 18.8672L19.0703 5.39064C19.3438 4.96095 19.9297 4.88283 20.3594 5.19533Z' fill='%23E00000'/%3E%3C/svg%3E");
  background-size: 100%;
  width: var(--layout-spacing);
  height: var(--layout-spacing);
  content: "";
}

.map__svg {
  margin: 0;
  padding: 0;
  pointer-events: none;
}
@media (min-width: 768px) {
  .map__svg {
    position: absolute;
    top: -12%;
    right: 0;
    width: auto;
    height: 124%;
  }
}
@media (max-width: 767px) {
  .map__svg {
    margin-top: calc(var(--layout-spacing) * 0.83334 * -8);
    margin-right: calc(var(--layout-spacing) * -2);
    margin-bottom: calc(var(--layout-spacing) * 0.83334 * -2);
  }
}
.map__svg svg {
  width: 100%;
  height: 100%;
}
.map__svg img {
  display: block;
  width: auto;
  height: 100%;
}
@media (max-width: 767px) {
  .map__svg img {
    margin-left: auto;
    width: 100%;
    max-width: 320px;
    height: auto;
  }
}
.map__svg .pin circle {
  fill: var(--color-accent);
  opacity: 0;
}
.map__svg .pin.animate circle:first-child {
  animation: pinInnerAppear 2s ease-in forwards;
}
.map__svg .pin.animate circle:last-child {
  animation: pinOuterPulse 2s linear forwards;
}

@keyframes pinInnerAppear {
  0% {
    opacity: 0;
    r: 0;
  }
  50% {
    opacity: 1;
    r: 3;
  }
  100% {
    opacity: 0;
  }
}
@keyframes pinOuterPulse {
  0% {
    opacity: 0.4;
    r: 0;
    stroke-width: 0;
  }
  50% {
    opacity: 0.5;
    r: 8;
    stroke-width: 1.5;
  }
  100% {
    opacity: 0;
    r: 18;
    stroke-width: 1.5;
  }
}
.services {
  display: flex;
  row-gap: var(--layout-spacing);
  flex-direction: column;
}
.services > a,
.services > div {
  transition: box-shadow 0.12s ease;
  box-shadow: inset 0 -1px 0 var(--color-border-light);
  padding: calc(var(--layout-spacing) * 0.5) 0;
  text-decoration: none;
}
.services > a h2,
.services > a h3,
.services > div h2,
.services > div h3 {
  margin: 0;
}
.services > a p,
.services > div p {
  margin: 0.25em 0 0;
}
.services > a {
  display: flex;
  -moz-column-gap: var(--layout-spacing);
       column-gap: var(--layout-spacing);
  justify-content: space-between;
  align-items: center;
}
.services > a:after {
  display: block;
  flex-shrink: 0;
  transition: transform 0.12s ease;
  margin-left: auto;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M29.7656 18.5156L21 27.3281L19.9688 26.25L20.4844 25.7344L27.4688 18.75H6V17.25H27.4688L20.4844 10.2656L19.9688 9.75L21 8.67188L21.5156 9.23438L29.7656 17.4844L30.3281 18L29.7656 18.5156Z' fill='%23181528'/%3E%3C/svg%3E%0A");
  background-size: 100%;
  width: calc(var(--layout-spacing) * 1.5);
  height: calc(var(--layout-spacing) * 1.5);
  content: "";
}
.services > a:hover {
  box-shadow: inset 0 -3px 0 var(--color-accent);
}
.services > a:hover:after {
  transform: translateX(4px);
}

.step {
  position: relative;
  padding-bottom: calc(var(--layout-spacing) * 1.5);
  width: 50%;
}
.step h4 {
  margin: 0;
  font-size: 16px;
  padding-top: 0.4em;
}
@media (max-width: 767px) {
  .step h4 {
    padding-top: 0.1em;
    font-size: 15px;
  }
}
.step p {
  margin: 0.5em 0 0;
  font-size: 15px;
}
@media (max-width: 767px) {
  .step p {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .step {
    width: 100%;
  }
}
.step:first-child {
  padding-top: 0;
}
.step:last-child {
  padding-bottom: 0;
}
.step:nth-child(odd) {
  box-shadow: 2px 0 0 0 var(--color-accent);
  padding-right: calc(var(--layout-spacing) * 1.5);
  text-align: right;
}
@media (max-width: 767px) {
  .step:nth-child(odd) {
    box-shadow: inset 2px 0 0 0 var(--color-accent);
    padding-right: 0;
    padding-left: calc(var(--layout-spacing) * 1.5);
    text-align: left;
  }
}
.step:nth-child(odd) .step__number {
  right: calc(var(--layout-spacing) * -0.75 - 1px);
}
@media (max-width: 767px) {
  .step:nth-child(odd) .step__number {
    right: auto;
    left: calc(var(--layout-spacing) * -0.75 + 1px);
  }
}
.step:nth-child(even) {
  margin-left: auto;
  box-shadow: inset 2px 0 0 0 var(--color-accent);
  padding-left: calc(var(--layout-spacing) * 1.5);
}
.step:nth-child(even) .step__number {
  left: calc(var(--layout-spacing) * -0.75 + 1px);
}
.step:last-child {
  box-shadow: none;
}
@media (max-width: 767px) {
  .step:last-child {
    box-shadow: none;
  }
}

.step__number {
  position: absolute;
  border-radius: 50%;
  background-color: var(--color-accent);
  width: calc(var(--layout-spacing) * 1.5);
  height: calc(var(--layout-spacing) * 1.5);
  color: #ffffff;
  font-weight: 500;
  line-height: calc(var(--layout-spacing) * 1.5);
  text-align: center;
}
@media (max-width: 767px) {
  .step__number {
    font-size: 12px;
  }
}

.contacts {
  display: flex;
  row-gap: var(--layout-spacing);
  flex-direction: column;
  font-weight: 500;
}
.contacts ul {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--layout-spacing) calc(var(--layout-spacing) * 2);
  margin: 0;
  padding: 0;
  color: var(--color-text-dark);
  list-style: none;
}
.contacts ul span {
  display: block;
  margin-bottom: 0.25em;
  color: var(--color-text);
  font-weight: 400;
  font-size: 14px;
}
@media (max-width: 767px) {
  .contacts ul span {
    font-size: 13px;
  }
}