/**
 * Strip unit from number.
 *
 * Example:
 *   strip-unit(10px) // 10
 *   strip-unit(10%) // 10
 *   strip-unit(10) // 10
 */
/**
 * Convert string to number.
 *
 * Example:
 *   str-to-number('20px') // 20px
 *   str-to-number('10vw') // 10vw
 */
/**
 * Convert pixels to relative units.
 *
 * Example:
 *   px-to-relative(480px, 960px, '%') // 50%
 *   px-to-relative(240px, 960px, 'vw') // 25vw
 */
/**
 * Convert px to %.
 *
 * Example:
 *   px-to-percent(480px, 960px) // 50%
 *   px-to-percent(240px, 960px) // 25%
 */
/**
 * Convert px to vw.
 *
 * Example:
 *   px-to-vw(480px, 960px) // 50vw
 *   px-to-vw(240px, 960px) // 25vw
 */
/**
 * Convert % to px.
 *
 * Example:
 *   percent-to-px(25%, 960px) // 240px
 *   percent-to-px(50%, 1200px) // 600px
 */
/**
 * Convert hex to rgb.
 *
 * Example:
 *   hex-to-rgb(#000000) // 0, 0, 0
 *   hex-to-rgb(#FFFFFF) // 255, 255, 255
 */
/**
 * Shortcut for minmax(0, 1fr).
 *
 * Example:
 *   fr(1) // minmax(0, 1fr)
 *   fr(2) // minmax(0, 2fr)
 */
/**
 * String replace.
 *
 * Example:
 *   str-replace('hello world', 'world', 'john') // 'hello john'
 */
/**
 * Trim string.
 *
 * Example:
 *   str-trim(' foo ') // 'foo'
 *   str-trim('bar ') // 'bar'
 */
/* Return one column width */
/**
 * Return responsive font size.
 *
 * Example:
 *   responsive-font-size(40px, 20px, $min-width: 320px)
 */
/* Clearfix */
/* Remove clearfix */
/* Page padding */
/* Compensate horizontal page padding */
/* Layout row */
/* Layout cell */
/* Layout cell reset */
/* Layout row reset */
/* Full width element */
/* Dotted underline */
/* Dotted underline reset*/
/* Triangle */
/* Triangle color */
/* Outer lines */
/* Outer lines reset */
/* Remove extreme property */
/* Remove first and last margins */
/* Remove first and list p margins */
/* Build inner selector */
/* Full width background */
/* Visually hidden */
/* Reset visually-hidden styles */
/* Hamburger icon */
/* Overlay */
/* Transition with multiple properties */
/* Lines using gradient */
/* Hide scrollbar but non disable scrolling */
/* Hide element */
/* Show element */
/* Left icon */
/* Hide siblings */
/* Keep maximum first elements */
/* Adaptive version keep-first() mixin */
/* Add label colon */
/* Text inputs */
/* Background SVG with custom color */
/* Page grid system */
/* Pixelated image */
:root {
  --color-text: var(--color-blue-dark);
  --color-text-inverted: white;
  --color-link: var(--color-blue);
  --color-link-hover: var(--color-blue-dark);
  --color-blue: #1C498E;
  --color-blue-rgb: 28, 73, 142;
  --color-blue-dark: #1B2543;
  --page-max-width: 1920px;
  --page-content-max-width: 1496px;
  --page-min-width: 320px;
  --page-padding: 20px;
  --page-font-family: "Mulish", sans-serif;
  --page-font-family-ext: "Organetto Ext", sans-serif;
  --page-font-family-semiext: "Organetto SemiExt", sans-serif;
  --page-font-size: 18px;
  --page-line-height: 1.3;
  --page-text-color: var(--color-text);
  --page-link-color: var(--color-link);
  --page-link-color-hover: var(--color-link-hover);
  --page-link-text-decoration-hover: none;
  --scrollbar-width: 20px;
  --correct-100vw: calc(100vw - var(--scrollbar-width));
  --page-width: min(var(--correct-100vw), var(--page-max-width));
  --page-content-width: min(calc(var(--correct-100vw) - var(--page-padding) * 2), var(--page-content-max-width));
  --page-header-height: 72px;
  --page-header-margin-bottom: 50px;
  --page-background: white;
  --breadcrumb-separator: "/";
  --overlay-background: rgba(black, 0.7);
  --dialog-padding: var(--gutter-width);
  --p-margin: 1.6em;
  --content-region-margin-bottom: 100px;
  --curved-block-margin: 4.375%;
  --consultation-fixed-panel-height: 80px;
  --admin-toolbar-height: 0px;
  --h1-font-size: 56px;
  --h2-font-size: 40px;
  --h3-font-size: 24px;
  --h4-font-size: 20px;
  --font-size-title-2: 24px;
  --font-size-title-3: 20px;
  --page-grid-columns: 12;
  --page-grid-column-gap: 40px;
  --form-item-margin: 20px;
  --form-text-inputs-font-size: 16px;
  --form-button-border-color: rgba(28, 73, 142, 0.40);
  --form-button-border-color-hover: var(--color-blue);
  --form-button-text-color: var(--color-link);
  --z-index-status-messages: 6;
  --z-index-consultation-fixed-panel: 7;
  --z-index-page-header: 8;
  --z-index-admin-toolbar: 9;
  --z-index-mobile-menu: 10;
  --z-index-overlay: 11;
  --z-index-dialog: 12;
  --local-task-background-color: #EDEDEE;
  --local-task-background-color-hover: #DADADE;
  --local-task-background-color-active: #7C7D7F;
  --local-task-font-size: 14px;
  --local-task-text-color: inherit;
  --local-task-text-color-hover: inherit;
  --local-task-text-color-active: white;
}
@media (max-width: 1980px) {
  :root {
    --curved-block-margin: 4.2708333333%;
  }
}
@media (max-width: 1600px) {
  :root {
    --curved-block-margin: 3.75%;
  }
}
@media (max-width: 800px) {
  :root {
    --page-padding: 15px;
    --page-header-height: 56px;
    --page-font-size: 16px;
    --page-grid-column-gap: 16px;
    --consultation-fixed-panel-height: 64px;
  }
}

@property --integer {
  syntax: "<integer>";
  initial-value: 0;
  inherits: false;
}
@property --number {
  syntax: "<number>";
  initial-value: 0;
  inherits: false;
}
@property --percentage {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --ratio {
  syntax: "<ratio>";
  inherits: false;
  initial-value: 1/1;
}
/* Page title paragraph */
.page-title-par--3 {
  --image3-width: 1276;
  --image3-height: 1398;
  position: relative;
  aspect-ratio: 1920/1024;
  background: var(--color-blue);
  overflow: hidden;
}
.page-title-par--3 .page-title-par__title {
  font-size: clamp(26px, 26px + 86 * (100vw - 500px) / 1036, 112px);
}
.page-title-par--3 .page-title-par__image1,
.page-title-par--3 .page-title-par__image2,
.page-title-par--3 .page-title-par__image3 {
  position: absolute;
  z-index: -1;
}
.page-title-par--3 .page-title-par__image1 {
  inset: -10px;
  background: url("../../img/content/front-page-title-image1.webp") center/cover no-repeat;
}
.page-title-par--3 .page-title-par__image2 {
  inset: -10px;
  background: url("../../img/content/front-page-title-image2.webp") 70% bottom no-repeat;
  background-size: 50% auto;
}
.page-title-par--3 .page-title-par__image3 {
  bottom: -20px;
  left: -8%;
  aspect-ratio: var(--image3-width)/var(--image3-height);
  width: auto;
  height: 140%;
}
@media (max-width: 1900px) {
  .page-title-par--3 .page-title-par__image3 {
    height: 135%;
  }
}
.page-title-par--3 .page-title-par__image3::after {
  image-rendering: pixelated;
  content: "";
  position: absolute;
  inset: 0;
  background: url("../../img/content/front-page-title-image3.webp") center/contain no-repeat;
}
.page-title-par--3 .page-title-par__image3::before {
  content: "";
  position: absolute;
  left: 17.3%;
  top: 0;
  bottom: 46%;
  width: 4%;
  transform: rotate(-12.1deg);
  animation-name: sword;
  animation-duration: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  /*background: red;
  opacity: 0.8;
  z-index: 1;*/
}
@keyframes sword {
  from {
    box-shadow: 0 0 20px 0 white;
  }
  to {
    box-shadow: 0 0 20px 10px white;
  }
}
.page-title-par--3 .page-title-par__image1,
.page-title-par--3 .page-title-par__image2,
.page-title-par--3 .page-title-par__image3 {
  transform: translate(calc(var(--parallax-x, 0) * var(--parallax-ratio) * 1px), calc(var(--parallax-y, 0) * var(--parallax-ratio) * 1px));
  transition: transform 0.1s ease-out;
}
.page-title-par--3 .page-title-par__image1 {
  --parallax-ratio: 0.01;
}
.page-title-par--3 .page-title-par__image2 {
  --parallax-ratio: 0.03;
}
.page-title-par--3 .page-title-par__image3 {
  --parallax-ratio: 0.04;
}
@media (max-width: 600px) {
  .page-title-par--3 {
    aspect-ratio: auto;
    min-height: 572px;
  }
  .page-title-par--3 .page-title-par__image2 {
    background-size: auto 60%;
  }
  .page-title-par--3 .page-title-par__image3 {
    left: -90px;
    height: 100%;
  }
  .page-title-par--3 .page-title-par__title {
    align-self: start;
    margin-top: 56px;
    margin-bottom: 56px;
  }
}
@media (max-width: 430px) {
  .page-title-par--3 {
    min-height: 500px;
  }
  .page-title-par--3 .page-title-par__image3 {
    left: -70px;
    height: 90%;
  }
}
@media (max-width: 340px) {
  .page-title-par--3 .page-title-par__image3 {
    left: -80px;
  }
}

/* Statistics paragraph */
.block-par--5 .block-par__background-image {
  display: flex;
  align-items: center;
  justify-content: center;
}
.block-par--5 .block-par__background-image-image {
  width: 31.25%;
  height: auto;
  object-fit: contain;
}
.block-par--5 .block-par__inner {
  padding: 12.5% 0;
}
.block-par--5 .text-par {
  display: grid;
  grid-template-columns: repeat(var(--page-grid-columns), 1fr);
  column-gap: var(--page-grid-column-gap);
  grid-auto-rows: max-content;
  align-items: center;
}
.block-par--5 .text-par__left-pane {
  grid-column: span 8;
  font-size: clamp(20px, 20px + 20 * (100vw - 500px) / 1036, 40px);
  font-weight: 700;
  line-height: 1.2;
}
.block-par--5 .text-par__left-pane ul {
  --marker-width: 1em;
  display: flex;
  flex-direction: column;
  gap: 0.7em 0;
  margin: 0;
  padding: 0;
  list-style: none;
  row-gap: 1em;
}
.block-par--5 .text-par__left-pane ul li {
  position: relative;
  padding-left: calc(var(--marker-width) + 0.4em);
}
.block-par--5 .text-par__left-pane ul li::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: var(--marker-width);
  height: auto;
  aspect-ratio: 2/1;
  border: 0.15em solid var(--color-blue);
  border-radius: 1em;
}
.block-par--5 .text-par__right-pane {
  grid-column: 9/-1;
  display: flex;
  flex-direction: column;
  gap: 40px 0;
  text-align: center;
  font-size: clamp(16px, 16px + 8 * (100vw - 320px) / 1216, 24px);
  font-weight: 500;
  letter-spacing: 0.5px;
  line-height: 1.2;
}
.block-par--5 .text-par__right-pane b {
  display: block;
  font-family: var(--page-font-family-ext);
  font-size: clamp(40px, 40px + 40 * (100vw - 700px) / 836, 80px);
  font-weight: 800;
  letter-spacing: 2px;
  line-height: 1;
}
@media (max-width: 1000px) {
  .block-par--5 .block-par__background-image-image {
    width: 50%;
  }
}
@media (max-width: 800px) {
  .block-par--5 .text-par {
    grid-template-columns: initial;
    row-gap: 40px;
  }
  .block-par--5 .text-par__left-pane {
    font-weight: 600;
  }
  .block-par--5 .block-par__background-image-image {
    width: 80%;
  }
}
@media (max-width: 500px) {
  .block-par--5 .block-par__background-image-image {
    width: 93%;
  }
}

/* Services paragraph */
.front-services {
  /*--zindex-gradient: 1;
  --zindex-toggle-link: 2;
  --zindex-blur: 3;
  --zindex-open-pane: 4;
  --animation-duration: 0.2s;
  overflow: hidden;

  .block-par__inner {
    padding: px-to-percent(140px, $page-max-width) 0 px-to-percent(80px, $page-max-width) 0;
  }

  // Bottom gradient
  &::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent, #1C498E);
    opacity: 0.8;
    z-index: var(--zindex-gradient);
  }

  // Panes wrapper
  .block-par__paragraphs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 var(--page-grid-column-gap);
    text-align: center;
  }

  // Pane
  .text-par {
    display: grid;
    grid-template-areas: 'content';
    grid-template-rows: min-content;
  }

  // Image
  &__image {
    @include pixelated-image();
    grid-area: content;
    display: block;
  }
  &__image--left {
    transform: translateX(-15.625%);
  }
  &__image--right {
    transform: translateX(17.5%);
  }

  // Toggle link
  &__toggle-link {
    @include h1();
    grid-area: content;
    align-self: end;
    margin-bottom: px-to-percent(130px, 800px);
    font-size: responsive-font-size(56px, 24px, $min-width: 700px);
    text-transform: uppercase;
    text-shadow: 0 0 8px rgba(28, 73, 142, 0.60);
    position: relative;
    z-index: var(--zindex-toggle-link);
  }
  &__toggle-link:hover {
    text-decoration: none;
  }
  // Toggle link icon
  &__toggle-link::after {
    @include round-button();
    @include round-button--big();
    content: '';
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
    background: url('../../img/plus-icon-white-24px.svg') center / 60% no-repeat;
  }
  &__toggle-link:hover::after {
    --form-button-border-color: var(--form-button-border-color-hover);
  }

  // Popup
  &__popup {
    display: none;
    flex-direction: column;
    gap: 20px 0;
    font-size: responsive-font-size(32px, 16px, $min-width: 360px);
    font-weight: 700;
    letter-spacing: 0.5px;
    line-height: 1.2;
  }
  // Popup blur
  &::after {
    @include transition-multiple(visibility background backdrop-filter, var(--animation-duration));
    content: '';
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: var(--zindex-blur);
    visibility: hidden;
  }
  // Open popup blur
  &:has(.is-open)::after {
    visibility: visible;
    background: rgba(28, 73, 142, 0.4);
    backdrop-filter: blur(5px);
  }
  // Open popup
  .is-open {
    position: relative;
    z-index: var(--zindex-open-pane);

    .front-services__image {
      display: none;
    }
    .front-services__toggle-link {
      align-self: start;
      margin: px-to-percent(90px, 800px) 0 px-to-percent(40px, 800px) 0;
    }
    .front-services__toggle-link::after {
      transform: rotate(45deg);
    }
    .front-services__popup {
      display: flex;
    }
  }

  // Adaptive
  @include media('<=mobile') {
    // Block bottom gradient
    &::before {
      display: none;
    }

    .block-par__inner {
      padding: px-to-percent(64, 360px) 0 px-to-percent(64, 360px) 0;
    }
    .block-par__paragraphs {
      grid-template-columns: 1fr;
      row-gap: var(--page-grid-column-gap);
    }
    .text-par {
      justify-content: center;
    }
    .front-services__image {
      width: px-to-percent(280px, 360px);
      margin: 0 auto 25px auto;
      transform: none;
    }
    .front-services__toggle-link {
      margin-bottom: 0;
    }
    .front-services__toggle-link::after {
      margin-top: 8px;
    }
    .is-open {
      .front-services__toggle-link {
        margin-top: 0;
      }
    }
  }*/
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
.front-services::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(28, 73, 142, 0.7);
  backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
}
.front-services__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
  aspect-ratio: 1920/1000;
  max-width: initial;
  min-height: 100%;
  padding: var(--curved-block-margin) 0 0 0;
  position: relative;
}
.front-services__group {
  display: flex;
  text-align: center;
}
.front-services__image div {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
}
.front-services__image3 {
  image-rendering: pixelated;
}
.front-services__content {
  display: flex;
  flex-direction: column;
  justify-content: end;
}
@media (min-width: 1557px) {
  .front-services__content {
    width: calc(var(--page-content-max-width) / 2);
  }
}
.front-services__links {
  display: flex;
  flex-direction: column;
  gap: 20px 0;
  font-size: clamp(16px, 16px + 16 * (100vw - 950px) / 586, 32px);
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1.2;
}
.front-services__group:not(.front-services__group--open) .front-services__links {
  display: none;
}
.front-services__toggle {
  font-family: var(--page-font-family-ext);
  font-size: clamp(24px, 24px + 32 * (100vw - 500px) / 1036, 56px);
  font-weight: 800;
  line-height: 1.1;
  word-break: break-word;
  margin-bottom: 18.75%;
  font-size: clamp(24px, 24px + 32 * (100vw - 800px) / 736, 56px);
  text-transform: uppercase;
  text-shadow: 0 0 8px rgba(28, 73, 142, 0.6);
}
.front-services__toggle:hover {
  text-decoration: none;
}
.front-services__toggle::after {
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 6px solid var(--form-button-border-color);
  border-radius: 50%;
  background: transparent;
  transition: border-color 0.2s;
  width: 56px;
  height: 56px;
  border-width: 8px;
  content: "";
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  background: url("../../img/plus-icon-white-24px.svg") center/60% no-repeat;
}
.front-services__toggle::after:hover {
  border-color: var(--form-button-border-color-hover);
}
@media (max-width: 800px) {
  .front-services__toggle::after {
    width: 40px;
    height: 40px;
    border-width: 6px;
  }
}
.front-services__toggle:hover::after {
  --form-button-border-color: var(--form-button-border-color-hover);
}
.front-services__group--left {
  justify-self: end;
  margin-right: calc(var(--page-grid-column-gap) / 2);
}
.front-services__group--left .front-services__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
}
.front-services__group--left .front-services__image1 {
  background-image: url("../../img/content/services-left-1.png");
  background-position: center;
  background-size: contain;
}
.front-services__group--left .front-services__image2 {
  background-image: url("../../img/content/services-left-2.png");
  background-position: 30% 60%;
  background-size: 65.8333333333% auto;
}
.front-services__group--left .front-services__image3 {
  background-image: url("../../img/content/services-left-3.png");
  background-size: 46.6666666667% auto;
  background-position: 70% 70%;
}
.front-services__group--right {
  justify-self: start;
  margin-left: calc(var(--page-grid-column-gap) / 2);
}
.front-services__group--right .front-services__image {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
}
.front-services__group--right .front-services__image1 {
  background-image: url("../../img/content/services-right-1.png");
  background-position: center;
  background-size: contain;
}
.front-services__group--right .front-services__image2 {
  background-image: url("../../img/content/services-right-2.png");
  background-size: 27.1875% auto;
  background-position: 85% 60%;
}
.front-services__group--right .front-services__image3 {
  background-image: url("../../img/content/services-right-3.png");
  background-position: 30% 70%;
  background-size: 46.6666666667% auto;
}
.front-services--open::before {
  opacity: 1;
  visibility: visible;
}
.front-services--open .front-services__group:not(.front-services__group--open) {
  z-index: -1;
}
.front-services__group--open .front-services__content {
  justify-content: start;
  margin-top: 10%;
}
.front-services__group--open .front-services__toggle {
  margin-bottom: 5%;
}
.front-services__image1, .front-services__image2, .front-services__image3 {
  transform: translate(calc(var(--parallax-x, 0) * var(--parallax-ratio) * 1px), calc(var(--parallax-y, 0) * var(--parallax-ratio) * 1px));
  transition: transform 0.1s ease-out;
}
.front-services__image1 {
  --parallax-ratio: 0.01;
}
.front-services__image2 {
  --parallax-ratio: 0.03;
}
.front-services__image3 {
  --parallax-ratio: 0.04;
}
@media (max-width: 1600px) {
  .front-services__links {
    row-gap: 10px;
  }
}
@media (max-width: 850px) {
  .front-services__inner {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 50px;
    justify-items: center;
    aspect-ratio: initial;
    min-height: initial;
    padding-top: 10%;
    padding-bottom: 10%;
  }
  .front-services__group {
    justify-self: initial;
    width: initial;
    margin: 0;
    position: relative;
    min-height: 280px;
  }
  .front-services__group .front-services__image {
    width: 100%;
  }
  .front-services__group .front-services__image2 {
    background-size: contain;
  }
  .front-services__group .front-services__image3 {
    background-size: contain;
  }
  .front-services__group--left .front-services__image2 {
    background-size: auto 50%;
    background-position: 35% 60%;
  }
  .front-services__group--left .front-services__image3 {
    background-size: contain;
    background-position: 60% 70%;
  }
  .front-services__group--right .front-services__image2 {
    background-size: auto 50%;
    background-position: 85% 60%;
  }
  .front-services__toggle {
    margin-bottom: 0;
  }
}

/* Reviews paragraph */
@media (max-width: 1200px) {
  .block-par--8 .slider {
    --columns: 2;
    --last-column: 0.5;
  }
}
@media (max-width: 950px) {
  .block-par--8 .slider {
    --columns: 1;
    --last-column: 0.6;
  }
}
@media (max-width: 700px) {
  .block-par--8 .slider {
    --last-column: 0.2;
  }
}

/*# sourceMappingURL=node-1.css.map */
