/* Reset */
/*! minireset.css v0.0.7 | MIT License | github.com/jgthms/minireset.css */
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

button, input, select {
  margin: 0;
}

html {
  box-sizing: border-box;
}

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

img, video {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
}

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

td, th {
  padding: 0;
}

/* Mixins */

/* Read https://css-tricks.com/the-trick-to-viewport-units-on-mobile/ */

/* Read https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid */

/* Flex grid generator */

/* Read https://ismamz.github.io/postcss-utilities/docs#word-wrap */

/* Read https://codepen.io/raphaelgoetter/pen/KMgBJd?editors=1100 */

/* https://gist.github.com/MoOx/9137295 */

/* Custom custom properties and media queries */
/* Custom properties */
:root {
  /* Fonts */
  --defaultFontSize: 1.6rem;
  --defaultFontFamily: "Inter var", sans-serif;

  /* Grid */
  --gridColsNumber: 12;
  --gridColWidth: 84px;
  --gridGuttersNumber: 11;
  --gridGutterWidth: 16px;

  /* Colors */
  --colorPrimary: #240b36;
  --colorSecondary: #c42323;
  --colorPurple: #552143;
  --colorGray800: #222;
  --colorGray700: #333;
  --colorGray600: #6a6a6a;
  --colorGray500: #aaa;
  --colorGray400: #c7c7c7;
  --colorGray300: #d8d8d8;
  --colorGray200: #e6e6e6;
  --colorGray100: #f6f6f6;
  --colorWhite: #fff;

  /* Padding & margin */
  --xs3: 2px;
  --xs2: 4px;
  --xs: 8px;
  --s: 12px;
  --m: 16px;
  --l: 24px;
  --xl: 36px;
  --xl2: 48px;
  --xl3: 64px;
  --xl4: 96px;
  --xl5: 112px;

  /* Breakpoints */
  --bpMobileSmall: 480px;
  --bpMobileExtraLarge: 620px;
  --bpTabletSmall: 768px;
  --bpTabletLarge: 1024px;
  --bpGridPlus: 1184px;
  --bpDesktopWide: 1440px;
}

/*
  Custom media queries
  Read https://preset-env.cssdb.org/features#custom-media-queries
  Use : @media (--tabletLarge) {}
  Warning : custom properties are not allowed inside custom media queries /!\, read: https://stackoverflow.com/questions/40722882/css-native-variables-not-working-in-media-queries/47212942#47212942
*/

/* Base and utility */
*, ::before, ::after {
  box-sizing: border-box;
}

html {
  /* set base font-size to equiv "10px", which is adapted to rem unit */
  font-size: 62.5%;
  /* IE9-IE11 math fixing. See http://bit.ly/1g4X0bX */
  font-size: calc(1em * 0.625);
}

body {
  background-color: #fff;
  background-color: var(--colorWhite);
  font-family: "Inter var", sans-serif;
  font-family: var(--defaultFontFamily);
  font-size: 1.6rem;
  font-size: var(--defaultFontSize);
  font-weight: 400;
  color: #333;
  color: var(--colorGray700);
  line-height: 2.6rem;
}

.wrapper {
  width: 100%;
}

.grid {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: grid;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--gridColsNumber), 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
  justify-content: center;
  margin: auto;
}

.grid-hasPadding {
  padding-top: 112px;
  padding-top: var(--xl5);
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
}

@media (max-width: 768px) {

.grid-hasPadding {
    padding-top: 64px;
    padding-top: var(--xl3);
    padding-bottom: 64px;
    padding-bottom: var(--xl3);
}
  }

.grid-hasPaddingTop {
  padding-top: 112px;
  padding-top: var(--xl5);
}

@media (max-width: 768px) {

.grid-hasPaddingTop {
    padding-top: 64px;
    padding-top: var(--xl3);
}
  }

.grid-hasPaddingBottom {
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
}

@media (max-width: 768px) {

.grid-hasPaddingBottom {
    padding-bottom: 64px;
    padding-bottom: var(--xl3);
}
  }

.flex {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: flex;
  margin: 0 auto;
  width: 100%;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);
}

.grid_col-12 {
  grid-column: auto / span 12;
  /* Fix Firefox overflow text breaks in grid cell, see https://bugzilla.mozilla.org/show_bug.cgi?id=1528030 */
  max-width: 100%;
}

.grid_col-10 {
  grid-column: auto / span 10;
}

.grid_col-10.grid_col-center {
    grid-column-start: 2;
  }

.grid_col-8 {
  grid-column: auto / span 8;
}

.grid_col-8.grid_col-center {
    grid-column-start: 3;
  }

.grid_col-6 {
  grid-column: auto / span 6;
  max-width: 100%;
}

.grid_col-6.grid_col-center {
    grid-column-start: 4;
  }

@media (max-width: 768px) {

.grid_col-6 {
    grid-column: auto / span 12;
}

    .grid_col-6.grid_col-center {
      grid-column-start: auto;
    }
  }

.grid_col-4 {
  grid-column: auto / span 4;
  max-width: 100%;
}

.grid_col-4.grid_col-center {
    grid-column-start: 5;
  }

@media (max-width: 1024px) {

.grid_col-4 {
    grid-column: auto / span 6;
}

    .grid_col-4.grid_col-center {
      grid-column-start: 4;
    }
  }

@media (max-width: 768px) {

.grid_col-4 {
    grid-column: auto / span 12;
}

    .grid_col-4.grid_col-center {
      grid-column-start: auto;
    }
  }

.grid_col-3 {
  grid-column: auto / span 3;
  max-width: 100%;
}

.grid_col-3.grid_col-center {
    grid-column-start: 5;
  }

@media (max-width: 1024px) {

.grid_col-3 {
    grid-column: auto / span 4;
}

    .grid_col-3.grid_col-center {
      grid-column-start: 5;
    }
  }

@media (max-width: 768px) {

.grid_col-3 {
    grid-column: auto / span 6;
}

    .grid_col-3.grid_col-center {
      grid-column-start: 4;
    }
  }

.grid_col-2 {
  grid-column: auto / span 2;
  max-width: 100%;
}

.grid_col-2.grid_col-center {
    grid-column-start: 6;
  }

@media (max-width: 768px) {

.grid_col-2 {
    grid-column: auto / span 6;
}

    .grid_col-2.grid_col-center {
      grid-column-start: 4;
    }
  }

/* float utility */
.float-right {
  float: right;
}

.float-left {
  float: left;
}

/* align utility */
.text-center {
  text-align: center;
}

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

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

.center {
  margin-left: auto;
  margin-right: auto;
}

/* padding left utility */
.pl-0 {
  padding-left: 0;
}

.pl-xs3 {
  padding-left: 2px;
  padding-left: var(--xs3);
}

.pl-xs2 {
  padding-left: 4px;
  padding-left: var(--xs2);
}

.pl-xs {
  padding-left: 8px;
  padding-left: var(--xs);
}

.pl-s {
  padding-left: 12px;
  padding-left: var(--s);
}

.pl-m {
  padding-left: 16px;
  padding-left: var(--m);
}

.pl-l {
  padding-left: 24px;
  padding-left: var(--l);
}

.pl-xl {
  padding-left: 36px;
  padding-left: var(--xl);
}

.pl-xl2 {
  padding-left: 48px;
  padding-left: var(--xl2);
}

.pl-xl3 {
  padding-left: 64px;
  padding-left: var(--xl3);
}

.pl-xl4 {
  padding-left: 96px;
  padding-left: var(--xl4);
}

.pl-xl5 {
  padding-left: 112px;
  padding-left: var(--xl5);
}

/* padding right utility */
.pr-0 {
  padding-right: 0;
}

.pr-xs3 {
  padding-right: 2px;
  padding-right: var(--xs3);
}

.pr-xs2 {
  padding-right: 4px;
  padding-right: var(--xs2);
}

.pr-xs {
  padding-right: 8px;
  padding-right: var(--xs);
}

.pr-s {
  padding-right: 12px;
  padding-right: var(--s);
}

.pr-m {
  padding-right: 16px;
  padding-right: var(--m);
}

.pr-l {
  padding-right: 24px;
  padding-right: var(--l);
}

.pr-xl {
  padding-right: 36px;
  padding-right: var(--xl);
}

.pr-xl2 {
  padding-right: 48px;
  padding-right: var(--xl2);
}

.pr-xl3 {
  padding-right: 64px;
  padding-right: var(--xl3);
}

.pr-xl4 {
  padding-right: 96px;
  padding-right: var(--xl4);
}

.pr-xl5 {
  padding-right: 112px;
  padding-right: var(--xl5);
}

/* padding top utility */
.pt-0 {
  padding-top: 0;
}

.pt-xs3 {
  padding-top: 2px;
  padding-top: var(--xs3);
}

.pt-xs2 {
  padding-top: 4px;
  padding-top: var(--xs2);
}

.pt-xs {
  padding-top: 8px;
  padding-top: var(--xs);
}

.pt-s {
  padding-top: 12px;
  padding-top: var(--s);
}

.pt-m {
  padding-top: 16px;
  padding-top: var(--m);
}

.pt-l {
  padding-top: 24px;
  padding-top: var(--l);
}

.pt-xl {
  padding-top: 36px;
  padding-top: var(--xl);
}

.pt-xl2 {
  padding-top: 48px;
  padding-top: var(--xl2);
}

.pt-xl3 {
  padding-top: 64px;
  padding-top: var(--xl3);
}

.pt-xl4 {
  padding-top: 96px;
  padding-top: var(--xl4);
}

.pt-xl5 {
  padding-top: 112px;
  padding-top: var(--xl5);
}

/* padding bottom utility */
.pb-0 {
  padding-bottom: 0;
}

.pb-xs3 {
  padding-bottom: 2px;
  padding-bottom: var(--xs3);
}

.pb-xs2 {
  padding-bottom: 4px;
  padding-bottom: var(--xs2);
}

.pb-xs {
  padding-bottom: 8px;
  padding-bottom: var(--xs);
}

.pb-s {
  padding-bottom: 12px;
  padding-bottom: var(--s);
}

.pb-m {
  padding-bottom: 16px;
  padding-bottom: var(--m);
}

.pb-l {
  padding-bottom: 24px;
  padding-bottom: var(--l);
}

.pb-xl {
  padding-bottom: 36px;
  padding-bottom: var(--xl);
}

.pb-xl2 {
  padding-bottom: 48px;
  padding-bottom: var(--xl2);
}

.pb-xl3 {
  padding-bottom: 64px;
  padding-bottom: var(--xl3);
}

.pb-xl4 {
  padding-bottom: 96px;
  padding-bottom: var(--xl4);
}

.pb-xl5 {
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
}

/* margin left utility  */
.ml-0 {
  margin-left: 0;
}

.ml-xs3 {
  margin-left: 2px;
  margin-left: var(--xs3);
}

.ml-xs2 {
  margin-left: 4px;
  margin-left: var(--xs2);
}

.ml-xs {
  margin-left: 8px;
  margin-left: var(--xs);
}

.ml-s {
  margin-left: 12px;
  margin-left: var(--s);
}

.ml-m {
  margin-left: 16px;
  margin-left: var(--m);
}

.ml-l {
  margin-left: 24px;
  margin-left: var(--l);
}

.ml-xl {
  margin-left: 36px;
  margin-left: var(--xl);
}

.ml-xl2 {
  margin-left: 48px;
  margin-left: var(--xl2);
}

.ml-xl3 {
  margin-left: 64px;
  margin-left: var(--xl3);
}

.ml-xl4 {
  margin-left: 96px;
  margin-left: var(--xl4);
}

.ml-xl5 {
  margin-left: 112px;
  margin-left: var(--xl5);
}

/* margin right utility */
.mr-0 {
  margin-right: 0;
}

.mr-xs3 {
  margin-right: 2px;
  margin-right: var(--xs3);
}

.mr-xs2 {
  margin-right: 4px;
  margin-right: var(--xs2);
}

.mr-xs {
  margin-right: 8px;
  margin-right: var(--xs);
}

.mr-s {
  margin-right: 12px;
  margin-right: var(--s);
}

.mr-m {
  margin-right: 16px;
  margin-right: var(--m);
}

.mr-l {
  margin-right: 24px;
  margin-right: var(--l);
}

.mr-xl {
  margin-right: 36px;
  margin-right: var(--xl);
}

.mr-xl2 {
  margin-right: 48px;
  margin-right: var(--xl2);
}

.mr-xl3 {
  margin-right: 64px;
  margin-right: var(--xl3);
}

.mr-xl4 {
  margin-right: 96px;
  margin-right: var(--xl4);
}

.mr-xl5 {
  margin-right: 112px;
  margin-right: var(--xl5);
}

/* margin top utility */
.mt-0 {
  margin-top: 0;
}

.mt-xs3 {
  margin-top: 2px;
  margin-top: var(--xs3);
}

.mt-xs2 {
  margin-top: 4px;
  margin-top: var(--xs2);
}

.mt-xs {
  margin-top: 8px;
  margin-top: var(--xs);
}

.mt-s {
  margin-top: 12px;
  margin-top: var(--s);
}

.mt-m {
  margin-top: 16px;
  margin-top: var(--m);
}

.mt-l {
  margin-top: 24px;
  margin-top: var(--l);
}

.mt-xl {
  margin-top: 36px;
  margin-top: var(--xl);
}

.mt-xl2 {
  margin-top: 48px;
  margin-top: var(--xl2);
}

.mt-xl3 {
  margin-top: 64px;
  margin-top: var(--xl3);
}

.mt-xl4 {
  margin-top: 96px;
  margin-top: var(--xl4);
}

.mt-xl5 {
  margin-top: 112px;
  margin-top: var(--xl5);
}

/* margin bottom utility */
.mb-0 {
  margin-bottom: 0;
}

.mb-xs3 {
  margin-bottom: 2px;
  margin-bottom: var(--xs3);
}

.mb-xs2 {
  margin-bottom: 4px;
  margin-bottom: var(--xs2);
}

.mb-xs {
  margin-bottom: 8px;
  margin-bottom: var(--xs);
}

.mb-s {
  margin-bottom: 12px;
  margin-bottom: var(--s);
}

.mb-m {
  margin-bottom: 16px;
  margin-bottom: var(--m);
}

.mb-l {
  margin-bottom: 24px;
  margin-bottom: var(--l);
}

.mb-xl {
  margin-bottom: 36px;
  margin-bottom: var(--xl);
}

.mb-xl2 {
  margin-bottom: 48px;
  margin-bottom: var(--xl2);
}

.mb-xl3 {
  margin-bottom: 64px;
  margin-bottom: var(--xl3);
}

.mb-xl4 {
  margin-bottom: 96px;
  margin-bottom: var(--xl4);
}

.mb-xl5 {
  margin-bottom: 112px;
  margin-bottom: var(--xl5);
}

/* Breakpoints hiders */
@media (max-width: 620px) {
.hide-onMobile {
    display: none;
}
  }

/* Elements */
/* Inter v.3.19 is a variable font with these axes: slnt, wght */
@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: oblique 0deg 10deg;
  src: url("/fonts/Inter-var.woff2?v=3.19") format("woff2");
}

/* Space Grotesk Bold v2.0 */
@font-face {
  font-family: "Space Grotesk";
  src: url("/fonts/SpaceGrotesk-Bold.eot");
  src:
    url("/fonts/SpaceGrotesk-Bold.eot?#iefix") format("embedded-opentype"),
    url("/fonts/SpaceGrotesk-Bold.woff2") format("woff2"),
    url("/fonts/SpaceGrotesk-Bold.woff") format("woff"),
    url("/fonts/SpaceGrotesk-Bold.ttf") format("truetype"),
    url("/fonts/SpaceGrotesk-Bold.svg#SpaceGrotesk-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

a, .link, .header_collapse {
  color: #c42323;
  color: var(--colorSecondary);
  text-decoration: none;
  transition: all 0.1s ease-in;
}

a:hover, .link:hover, .header_collapse:hover {
    color: #240b36;
    color: var(--colorPrimary);
  }

a:hover > .lucide, .link:hover > .lucide, .header_collapse:hover > .lucide {
      transition: all 0.1s ease-in;
      stroke: #240b36;
      stroke: var(--colorPrimary);
    }

.link-hasDarkBG, .header_nav_link, .header_social_link, .header_collapse {
  color: #fff;
  color: var(--colorWhite);
}

.link-hasDarkBG:hover, .header_nav_link:hover, .header_social_link:hover, .header_collapse:hover {
    color: #c42323;
    color: var(--colorSecondary);
  }

.link-hasDarkBG:hover > .lucide, .header_nav_link:hover > .lucide, .header_social_link:hover > .lucide, .header_collapse:hover > .lucide {
      stroke: #c42323;
      stroke: var(--colorSecondary);
    }

.link-isGray, .footer_nav_link {
  color: #6a6a6a;
  color: var(--colorGray600);
}

.link-isGray:hover, .footer_nav_link:hover {
    color: #c42323;
    color: var(--colorSecondary);
  }

.link-hasIcon {
  display: inline-flex;
  align-items: center;
}

.link-hasIcon > .lucide {
    stroke: #c42323;
    stroke: var(--colorSecondary);
    margin-right: 4px;
    margin-right: var(--xs2);
  }

h1, .h1 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 4.7rem;
  line-height: 6rem;
  color: #240b36;
  color: var(--colorPrimary);
  font-weight: 700;
}

@media (max-width: 768px) {

h1, .h1 {
    font-size: 4rem;
    line-height: 5rem;
}
  }

h2, .h2 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 3.6rem;
  line-height: 4.6rem;
  color: #240b36;
  color: var(--colorPrimary);
}

.h2-alternate {
  color: #333;
  color: var(--colorGray700);
  font-family: "Inter var", sans-serif;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 3.2rem;
}

@media (max-width: 768px) {

.h2-alternate {
    font-size: 2rem;
    line-height: 3rem;
}
  }

h3, .h3 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 2.4rem;
  line-height: 3.1rem;
  color: #240b36;
  color: var(--colorPrimary);
}

h4, .h4 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 2rem;
  line-height: 2.4rem;
  color: #240b36;
  color: var(--colorPrimary);
}

#svgdefs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.logo {
  width: 168px;
  height: 30px;
}

.logo_association > svg {
  width: 420px;
  height: 81px;
}

.lucide {
  width: 2rem;
  height: 2rem;
  stroke-width: 1px;
  stroke: #6a6a6a;
  stroke: var(--colorGray600);
}

.iconWrapper {
  display: inline-flex;
  border: 1px solid #e6e6e6;
  border: 1px solid var(--colorGray200);
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 4px;
}

.iconWrapper > svg {
    margin: auto;
    width: 1.6rem;
    height: 1.6rem;
  }

.iconWrapper.iconWrapper-rounded {
    border-radius: 50%;
  }

button {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  cursor: pointer;

  background-color: #c42323;

  background-color: var(--colorSecondary);
  display: inline-flex;
  align-items: center;
  padding: 16px 12px;
  padding: var(--m) var(--s);
  color: #fff;
  color: var(--colorWhite);
  border-radius: 6px;
  transition: all 0.1s ease-in;
  box-shadow: 0 0 0 1px #c42323 inset;
  box-shadow: 0 0 0 1px var(--colorSecondary) inset;
}

button:hover:not(:disabled) {
    background-color: #240b36;
    background-color: var(--colorPrimary);
    box-shadow: 0 0 0 1px #c42323 inset;
    box-shadow: 0 0 0 1px var(--colorSecondary) inset;
    color: #fff;
    color: var(--colorWhite);
    transition: all 0.1s ease-out;
  }

button > .lucide {
    margin-right: 8px;
    margin-right: var(--xs);
    stroke: #fff;
    stroke: var(--colorWhite);
  }

.button-secondary {
  background-color: #fff;
  background-color: var(--colorWhite);
  box-shadow: 0 0 0 1px #c42323 inset;
  box-shadow: 0 0 0 1px var(--colorSecondary) inset;
  color: #c42323;
  color: var(--colorSecondary);
}

.button-secondary > .lucide {
    stroke: #c42323;
    stroke: var(--colorSecondary);
  }

.button-secondary:hover:not(:disabled) {
    background-color: #fff;
    background-color: var(--colorWhite);
    box-shadow: 0 0 0 1px #240b36 inset;
    box-shadow: 0 0 0 1px var(--colorPrimary) inset;
    color: #240b36;
    color: var(--colorPrimary);
  }

.button-secondary:hover:not(:disabled) > .lucide {
      stroke: #240b36;
      stroke: var(--colorPrimary);
    }

.button-small {
  padding: 8px;
  padding: var(--xs);
  font-size: 1.4rem;
}

.button-small > .lucide {
    margin-right: 4px;
    margin-right: var(--xs2);
    width: 1.6rem;
    height: 1.6rem;
  }

.button-rounded {
  border-radius: 50%;
  padding: 16px;
  padding: var(--m);
}

.button-rounded.button-small {
    padding: 8px;
    padding: var(--xs);
  }

.button-rounded > .lucide {
    margin-right: 0;
  }

.tags {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.tag {
  font-weight: light;
  font-size: 1.2rem;
  color: #333;
  color: var(--colorGray700);
  border-radius: 6px;
  display: inline-flex;
  padding-left: 0.6rem;
  padding-right: 0.6rem;
  border: 1px solid #d8d8d8;
  border: 1px solid var(--colorGray300);
  height: 2.4rem;
  align-items: center;
}

.flag > span {
    display: none;
  }

.flag::after {
    font-size: 2rem;
  }

.flag-AD::after {
  content: "\1F1E6\1F1E9";
}

.flag-AE::after {
  content: "\1F1E6\1F1EA";
}

.flag-AF::after {
  content: "\1F1E6\1F1EB";
}

.flag-AG::after {
  content: "\1F1E6\1F1EC";
}

.flag-AI::after {
  content: "\1F1E6\1F1EE";
}

.flag-AL::after {
  content: "\1F1E6\1F1F1";
}

.flag-AM::after {
  content: "\1F1E6\1F1F2";
}

.flag-AO::after {
  content: "\1F1E6\1F1F4";
}

.flag-AQ::after {
  content: "\1F1E6\1F1F6";
}

.flag-AR::after {
  content: "\1F1E6\1F1F7";
}

.flag-AS::after {
  content: "\1F1E6\1F1F8";
}

.flag-AT::after {
  content: "\1F1E6\1F1F9";
}

.flag-AU::after {
  content: "\1F1E6\1F1FA";
}

.flag-AW::after {
  content: "\1F1E6\1F1FC";
}

.flag-AX::after {
  content: "\1F1E6\1F1FD";
}

.flag-AZ::after {
  content: "\1F1E6\1F1FF";
}

.flag-BA::after {
  content: "\1F1E7\1F1E6";
}

.flag-BB::after {
  content: "\1F1E7\1F1E7";
}

.flag-BD::after {
  content: "\1F1E7\1F1E9";
}

.flag-BE::after {
  content: "\1F1E7\1F1EA";
}

.flag-BF::after {
  content: "\1F1E7\1F1EB";
}

.flag-BG::after {
  content: "\1F1E7\1F1EC";
}

.flag-BH::after {
  content: "\1F1E7\1F1ED";
}

.flag-BI::after {
  content: "\1F1E7\1F1EE";
}

.flag-BJ::after {
  content: "\1F1E7\1F1EF";
}

.flag-BL::after {
  content: "\1F1E7\1F1F1";
}

.flag-BM::after {
  content: "\1F1E7\1F1F2";
}

.flag-BN::after {
  content: "\1F1E7\1F1F3";
}

.flag-BO::after {
  content: "\1F1E7\1F1F4";
}

.flag-BQ::after {
  content: "\1F1E7\1F1F6";
}

.flag-BR::after {
  content: "\1F1E7\1F1F7";
}

.flag-BS::after {
  content: "\1F1E7\1F1F8";
}

.flag-BT::after {
  content: "\1F1E7\1F1F9";
}

.flag-BV::after {
  content: "\1F1E7\1F1FB";
}

.flag-BW::after {
  content: "\1F1E7\1F1FC";
}

.flag-BY::after {
  content: "\1F1E7\1F1FE";
}

.flag-BZ::after {
  content: "\1F1E7\1F1FF";
}

.flag-CA::after {
  content: "\1F1E8\1F1E6";
}

.flag-CC::after {
  content: "\1F1E8\1F1E8";
}

.flag-CD::after {
  content: "\1F1E8\1F1E9";
}

.flag-CF::after {
  content: "\1F1E8\1F1EB";
}

.flag-CG::after {
  content: "\1F1E8\1F1EC";
}

.flag-CH::after {
  content: "\1F1E8\1F1ED";
}

.flag-CI::after {
  content: "\1F1E8\1F1EE";
}

.flag-CK::after {
  content: "\1F1E8\1F1F0";
}

.flag-CL::after {
  content: "\1F1E8\1F1F1";
}

.flag-CM::after {
  content: "\1F1E8\1F1F2";
}

.flag-CN::after {
  content: "\1F1E8\1F1F3";
}

.flag-CO::after {
  content: "\1F1E8\1F1F4";
}

.flag-CR::after {
  content: "\1F1E8\1F1F7";
}

.flag-CU::after {
  content: "\1F1E8\1F1FA";
}

.flag-CV::after {
  content: "\1F1E8\1F1FB";
}

.flag-CW::after {
  content: "\1F1E8\1F1FC";
}

.flag-CX::after {
  content: "\1F1E8\1F1FD";
}

.flag-CY::after {
  content: "\1F1E8\1F1FE";
}

.flag-CZ::after {
  content: "\1F1E8\1F1FF";
}

.flag-DE::after {
  content: "\1F1E9\1F1EA";
}

.flag-DJ::after {
  content: "\1F1E9\1F1EF";
}

.flag-DK::after {
  content: "\1F1E9\1F1F0";
}

.flag-DM::after {
  content: "\1F1E9\1F1F2";
}

.flag-DO::after {
  content: "\1F1E9\1F1F4";
}

.flag-DZ::after {
  content: "\1F1E9\1F1FF";
}

.flag-EC::after {
  content: "\1F1EA\1F1E8";
}

.flag-EE::after {
  content: "\1F1EA\1F1EA";
}

.flag-EG::after {
  content: "\1F1EA\1F1EC";
}

.flag-EH::after {
  content: "\1F1EA\1F1ED";
}

.flag-ER::after {
  content: "\1F1EA\1F1F7";
}

.flag-ES::after {
  content: "\1F1EA\1F1F8";
}

.flag-ET::after {
  content: "\1F1EA\1F1F9";
}

.flag-FI::after {
  content: "\1F1EB\1F1EE";
}

.flag-FJ::after {
  content: "\1F1EB\1F1EF";
}

.flag-FK::after {
  content: "\1F1EB\1F1F0";
}

.flag-FM::after {
  content: "\1F1EB\1F1F2";
}

.flag-FO::after {
  content: "\1F1EB\1F1F4";
}

.flag-FR::after {
  content: "\1F1EB\1F1F7";
}

.flag-GA::after {
  content: "\1F1EC\1F1E6";
}

.flag-GB::after {
  content: "\1F1EC\1F1E7";
}

.flag-GD::after {
  content: "\1F1EC\1F1E9";
}

.flag-GE::after {
  content: "\1F1EC\1F1EA";
}

.flag-GF::after {
  content: "\1F1EC\1F1EB";
}

.flag-GG::after {
  content: "\1F1EC\1F1EC";
}

.flag-GH::after {
  content: "\1F1EC\1F1ED";
}

.flag-GI::after {
  content: "\1F1EC\1F1EE";
}

.flag-GL::after {
  content: "\1F1EC\1F1F1";
}

.flag-GM::after {
  content: "\1F1EC\1F1F2";
}

.flag-GN::after {
  content: "\1F1EC\1F1F3";
}

.flag-GP::after {
  content: "\1F1EC\1F1F5";
}

.flag-GQ::after {
  content: "\1F1EC\1F1F6";
}

.flag-GR::after {
  content: "\1F1EC\1F1F7";
}

.flag-GS::after {
  content: "\1F1EC\1F1F8";
}

.flag-GT::after {
  content: "\1F1EC\1F1F9";
}

.flag-GU::after {
  content: "\1F1EC\1F1FA";
}

.flag-GW::after {
  content: "\1F1EC\1F1FC";
}

.flag-GY::after {
  content: "\1F1EC\1F1FE";
}

.flag-HK::after {
  content: "\1F1ED\1F1F0";
}

.flag-HM::after {
  content: "\1F1ED\1F1F2";
}

.flag-HN::after {
  content: "\1F1ED\1F1F3";
}

.flag-HR::after {
  content: "\1F1ED\1F1F7";
}

.flag-HT::after {
  content: "\1F1ED\1F1F9";
}

.flag-HU::after {
  content: "\1F1ED\1F1FA";
}

.flag-ID::after {
  content: "\1F1EE\1F1E9";
}

.flag-IE::after {
  content: "\1F1EE\1F1EA";
}

.flag-IL::after {
  content: "\1F1EE\1F1F1";
}

.flag-IM::after {
  content: "\1F1EE\1F1F2";
}

.flag-IN::after {
  content: "\1F1EE\1F1F3";
}

.flag-IO::after {
  content: "\1F1EE\1F1F4";
}

.flag-IQ::after {
  content: "\1F1EE\1F1F6";
}

.flag-IR::after {
  content: "\1F1EE\1F1F7";
}

.flag-IS::after {
  content: "\1F1EE\1F1F8";
}

.flag-IT::after {
  content: "\1F1EE\1F1F9";
}

.flag-JE::after {
  content: "\1F1EF\1F1EA";
}

.flag-JM::after {
  content: "\1F1EF\1F1F2";
}

.flag-JO::after {
  content: "\1F1EF\1F1F4";
}

.flag-JP::after {
  content: "\1F1EF\1F1F5";
}

.flag-KE::after {
  content: "\1F1F0\1F1EA";
}

.flag-KG::after {
  content: "\1F1F0\1F1EC";
}

.flag-KH::after {
  content: "\1F1F0\1F1ED";
}

.flag-KI::after {
  content: "\1F1F0\1F1EE";
}

.flag-KM::after {
  content: "\1F1F0\1F1F2";
}

.flag-KN::after {
  content: "\1F1F0\1F1F3";
}

.flag-KP::after {
  content: "\1F1F0\1F1F5";
}

.flag-KR::after {
  content: "\1F1F0\1F1F7";
}

.flag-KW::after {
  content: "\1F1F0\1F1FC";
}

.flag-KY::after {
  content: "\1F1F0\1F1FE";
}

.flag-KZ::after {
  content: "\1F1F0\1F1FF";
}

.flag-LA::after {
  content: "\1F1F1\1F1E6";
}

.flag-LB::after {
  content: "\1F1F1\1F1E7";
}

.flag-LC::after {
  content: "\1F1F1\1F1E8";
}

.flag-LI::after {
  content: "\1F1F1\1F1EE";
}

.flag-LK::after {
  content: "\1F1F1\1F1F0";
}

.flag-LR::after {
  content: "\1F1F1\1F1F7";
}

.flag-LS::after {
  content: "\1F1F1\1F1F8";
}

.flag-LT::after {
  content: "\1F1F1\1F1F9";
}

.flag-LU::after {
  content: "\1F1F1\1F1FA";
}

.flag-LV::after {
  content: "\1F1F1\1F1FB";
}

.flag-LY::after {
  content: "\1F1F1\1F1FE";
}

.flag-MA::after {
  content: "\1F1F2\1F1E6";
}

.flag-MC::after {
  content: "\1F1F2\1F1E8";
}

.flag-MD::after {
  content: "\1F1F2\1F1E9";
}

.flag-ME::after {
  content: "\1F1F2\1F1EA";
}

.flag-MF::after {
  content: "\1F1F2\1F1EB";
}

.flag-MG::after {
  content: "\1F1F2\1F1EC";
}

.flag-MH::after {
  content: "\1F1F2\1F1ED";
}

.flag-MK::after {
  content: "\1F1F2\1F1F0";
}

.flag-ML::after {
  content: "\1F1F2\1F1F1";
}

.flag-MM::after {
  content: "\1F1F2\1F1F2";
}

.flag-MN::after {
  content: "\1F1F2\1F1F3";
}

.flag-MO::after {
  content: "\1F1F2\1F1F4";
}

.flag-MP::after {
  content: "\1F1F2\1F1F5";
}

.flag-MQ::after {
  content: "\1F1F2\1F1F6";
}

.flag-MR::after {
  content: "\1F1F2\1F1F7";
}

.flag-MS::after {
  content: "\1F1F2\1F1F8";
}

.flag-MT::after {
  content: "\1F1F2\1F1F9";
}

.flag-MU::after {
  content: "\1F1F2\1F1FA";
}

.flag-MV::after {
  content: "\1F1F2\1F1FB";
}

.flag-MW::after {
  content: "\1F1F2\1F1FC";
}

.flag-MX::after {
  content: "\1F1F2\1F1FD";
}

.flag-MY::after {
  content: "\1F1F2\1F1FE";
}

.flag-MZ::after {
  content: "\1F1F2\1F1FF";
}

.flag-NA::after {
  content: "\1F1F3\1F1E6";
}

.flag-NC::after {
  content: "\1F1F3\1F1E8";
}

.flag-NE::after {
  content: "\1F1F3\1F1EA";
}

.flag-NF::after {
  content: "\1F1F3\1F1EB";
}

.flag-NG::after {
  content: "\1F1F3\1F1EC";
}

.flag-NI::after {
  content: "\1F1F3\1F1EE";
}

.flag-NL::after {
  content: "\1F1F3\1F1F1";
}

.flag-NO::after {
  content: "\1F1F3\1F1F4";
}

.flag-NP::after {
  content: "\1F1F3\1F1F5";
}

.flag-NR::after {
  content: "\1F1F3\1F1F7";
}

.flag-NU::after {
  content: "\1F1F3\1F1FA";
}

.flag-NZ::after {
  content: "\1F1F3\1F1FF";
}

.flag-OM::after {
  content: "\1F1F4\1F1F2";
}

.flag-PA::after {
  content: "\1F1F5\1F1E6";
}

.flag-PE::after {
  content: "\1F1F5\1F1EA";
}

.flag-PF::after {
  content: "\1F1F5\1F1EB";
}

.flag-PG::after {
  content: "\1F1F5\1F1EC";
}

.flag-PH::after {
  content: "\1F1F5\1F1ED";
}

.flag-PK::after {
  content: "\1F1F5\1F1F0";
}

.flag-PL::after {
  content: "\1F1F5\1F1F1";
}

.flag-PM::after {
  content: "\1F1F5\1F1F2";
}

.flag-PN::after {
  content: "\1F1F5\1F1F3";
}

.flag-PR::after {
  content: "\1F1F5\1F1F7";
}

.flag-PS::after {
  content: "\1F1F5\1F1F8";
}

.flag-PT::after {
  content: "\1F1F5\1F1F9";
}

.flag-PW::after {
  content: "\1F1F5\1F1FC";
}

.flag-PY::after {
  content: "\1F1F5\1F1FE";
}

.flag-QA::after {
  content: "\1F1F6\1F1E6";
}

.flag-RE::after {
  content: "\1F1F7\1F1EA";
}

.flag-RO::after {
  content: "\1F1F7\1F1F4";
}

.flag-RS::after {
  content: "\1F1F7\1F1F8";
}

.flag-RU::after {
  content: "\1F1F7\1F1FA";
}

.flag-RW::after {
  content: "\1F1F7\1F1FC";
}

.flag-SA::after {
  content: "\1F1F8\1F1E6";
}

.flag-SB::after {
  content: "\1F1F8\1F1E7";
}

.flag-SC::after {
  content: "\1F1F8\1F1E8";
}

.flag-SD::after {
  content: "\1F1F8\1F1E9";
}

.flag-SE::after {
  content: "\1F1F8\1F1EA";
}

.flag-SG::after {
  content: "\1F1F8\1F1EC";
}

.flag-SH::after {
  content: "\1F1F8\1F1ED";
}

.flag-SI::after {
  content: "\1F1F8\1F1EE";
}

.flag-SJ::after {
  content: "\1F1F8\1F1EF";
}

.flag-SK::after {
  content: "\1F1F8\1F1F0";
}

.flag-SL::after {
  content: "\1F1F8\1F1F1";
}

.flag-SM::after {
  content: "\1F1F8\1F1F2";
}

.flag-SN::after {
  content: "\1F1F8\1F1F3";
}

.flag-SO::after {
  content: "\1F1F8\1F1F4";
}

.flag-SR::after {
  content: "\1F1F8\1F1F7";
}

.flag-SS::after {
  content: "\1F1F8\1F1F8";
}

.flag-ST::after {
  content: "\1F1F8\1F1F9";
}

.flag-SV::after {
  content: "\1F1F8\1F1FB";
}

.flag-SX::after {
  content: "\1F1F8\1F1FD";
}

.flag-SY::after {
  content: "\1F1F8\1F1FE";
}

.flag-SZ::after {
  content: "\1F1F8\1F1FF";
}

.flag-TC::after {
  content: "\1F1F9\1F1E8";
}

.flag-TD::after {
  content: "\1F1F9\1F1E9";
}

.flag-TF::after {
  content: "\1F1F9\1F1EB";
}

.flag-TG::after {
  content: "\1F1F9\1F1EC";
}

.flag-TH::after {
  content: "\1F1F9\1F1ED";
}

.flag-TJ::after {
  content: "\1F1F9\1F1EF";
}

.flag-TK::after {
  content: "\1F1F9\1F1F0";
}

.flag-TL::after {
  content: "\1F1F9\1F1F1";
}

.flag-TM::after {
  content: "\1F1F9\1F1F2";
}

.flag-TN::after {
  content: "\1F1F9\1F1F3";
}

.flag-TO::after {
  content: "\1F1F9\1F1F4";
}

.flag-TR::after {
  content: "\1F1F9\1F1F7";
}

.flag-TT::after {
  content: "\1F1F9\1F1F9";
}

.flag-TV::after {
  content: "\1F1F9\1F1FB";
}

.flag-TW::after {
  content: "\1F1F9\1F1FC";
}

.flag-TZ::after {
  content: "\1F1F9\1F1FF";
}

.flag-UA::after {
  content: "\1F1FA\1F1E6";
}

.flag-UG::after {
  content: "\1F1FA\1F1EC";
}

.flag-UM::after {
  content: "\1F1FA\1F1F2";
}

.flag-US::after {
  content: "\1F1FA\1F1F8";
}

.flag-UY::after {
  content: "\1F1FA\1F1FE";
}

.flag-UZ::after {
  content: "\1F1FA\1F1FF";
}

.flag-VA::after {
  content: "\1F1FB\1F1E6";
}

.flag-VC::after {
  content: "\1F1FB\1F1E8";
}

.flag-VE::after {
  content: "\1F1FB\1F1EA";
}

.flag-VG::after {
  content: "\1F1FB\1F1EC";
}

.flag-VI::after {
  content: "\1F1FB\1F1EE";
}

.flag-VN::after {
  content: "\1F1FB\1F1F3";
}

.flag-VU::after {
  content: "\1F1FB\1F1FA";
}

.flag-WF::after {
  content: "\1F1FC\1F1EB";
}

.flag-WS::after {
  content: "\1F1FC\1F1F8";
}

.flag-YE::after {
  content: "\1F1FE\1F1EA";
}

.flag-YT::after {
  content: "\1F1FE\1F1F9";
}

.flag-ZA::after {
  content: "\1F1FF\1F1E6";
}

.flag-ZM::after {
  content: "\1F1FF\1F1F2";
}

.flag-ZW::after {
  content: "\1F1FF\1F1FC";
}

.flag-ZZ::after {
  content: "\3c\a7\3e";
  font-size: 1.4rem;
  color: #aaa;
  color: var(--colorGray500);
}

/* Components */
.header {
  width: 100%;

  background-color: #240b36;

  background-color: var(--colorPrimary);
  border-bottom: 1px solid #333;
  border-bottom: 1px solid var(--colorGray700);
}

.header_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: flex;
  margin: 0 auto;
  width: 100%;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);

  padding-top: 16px;

  padding-top: var(--m);
  padding-bottom: 16px;
  padding-bottom: var(--m);
  align-items: center;
  flex-wrap: nowrap;
}

@media (max-width: 1024px) {

.header_content {
    flex-wrap: wrap;
}
  }

.header_logo_link {
  display: flex;
}

.header_nav {
  flex-grow: 1;
}

@media (max-width: 1024px) {

.header_nav {
    width: 100%;
    margin-top: 16px;
    margin-top: var(--m);
    display: none;
}
  }

.header_nav-open {
  display: block;
}

.header_nav_items {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
  -moz-column-gap: var(--l);
       column-gap: var(--l);
  justify-content: center;
  padding-left: 16px;
  padding-left: var(--m);
  padding-right: 16px;
  padding-right: var(--m);
}

@media (max-width: 1024px) {

.header_nav_items {
    flex-direction: column;
    row-gap: 16px;
    row-gap: var(--m);
    padding-left: 0;
    padding-right: 0;
}
  }

@media (max-width: 1024px) {

.header_nav_link {
    display: block;
}
  }

.header_social {
  margin-left: auto;
}

@media (max-width: 1024px) {

.header_social {
    width: 100%;
    margin-left: 0;
    margin-top: 24px;
    margin-top: var(--l);
    border-top: 1px solid #6a6a6a;
    border-top: 1px solid var(--colorGray600);
    display: none;
}
  }

.header_social-open {
  display: block;
}

.header_social_items {
  display: flex;
}

.header_social_item {
  display: inline-flex;
}

.header_social_link {

  display: inline-flex;
  width: 3.6rem;
  height: 4.4rem;
}

.header_social_icon {
  margin: auto;
  fill: #fff;
  fill: var(--colorWhite);
  width: 1.8rem;
  height: 1.8rem;
}

.header_collapse {
  align-items: center;
  padding-left: 16px;
  padding-left: var(--m);
  gap: 4px;
  gap: var(--xs2);
  color: #fff;
  color: var(--colorWhite);
  cursor: pointer;
  height: 4.4rem;

  display: none;
  margin-left: auto;
}

@media (max-width: 1024px) {

.header_collapse {
    display: flex;
}
  }

.header_collapse_icon {
  stroke: #c7c7c7;
  stroke: var(--colorGray400);
}

.header_collapse_icon-close {
  display: none;
}

.header_collapse-open > .header_collapse_icon-open {
    display: none;
  }

.header_collapse-open > .header_collapse_icon-close {
    display: block;
  }

.footer {
  width: 100%;

  padding-top: 16px;

  padding-top: var(--m);
  padding-bottom: 16px;
  padding-bottom: var(--m);
  border-top: 1px solid #e6e6e6;
  border-top: 1px solid var(--colorGray200);
}

.footer_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: grid;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--gridColsNumber), 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
  justify-content: center;
  margin: auto;

  align-items: center;
  font-size: 1.4rem;
}

.footer_baseline {
  grid-column: 1 / 4;
  color: #c7c7c7;
  color: var(--colorGray400);
}

@media (max-width: 1024px) {

.footer_baseline {
    grid-column: 1 / 13;
    justify-self: center;
    order: 2;
    margin-top: 8px;
    margin-top: var(--xs);
}
  }

.footer_nav {
  grid-column: 4 / 13;
  justify-self: end;
}

@media (max-width: 1024px) {

.footer_nav {
    order: 1;
    grid-column: 1 / 13;
    justify-self: center;
}
  }

.footer_nav_items {
  display: flex;
  flex-wrap: wrap;
  row-gap: 4px;
  row-gap: var(--xs2);
  -moz-column-gap: 16px;
       column-gap: 16px;
  -moz-column-gap: var(--m);
       column-gap: var(--m);
  align-items: center;
}

@media (max-width: 1024px) {

.footer_nav_items {
    justify-content: center;
}
  }

.testimonials {
  display: grid;
  max-width: calc((84px * 10 ) + (16px * 11));
  max-width: calc((var(--gridColWidth) * 10 ) + (var(--gridGutterWidth) * 11));
  margin: auto;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 84px;
       column-gap: 84px;
  grid-column-gap: 84px;
  grid-column-gap: var(--gridColWidth);
  -moz-column-gap: var(--gridColWidth);
       column-gap: var(--gridColWidth);
  row-gap: 16px;
  grid-row-gap: 16px;
  grid-row-gap: var(--m);
  row-gap: var(--m);
}

@media (max-width: 1024px) {

.testimonials {
    -moz-column-gap: 24px;
         column-gap: 24px;
    -moz-column-gap: var(--l);
         column-gap: var(--l);
}
  }

@media (max-width: 768px) {

.testimonials {
    -moz-column-gap: 16px;
         column-gap: 16px;
    -moz-column-gap: var(--m);
         column-gap: var(--m);
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    width: 100%;
    row-gap: 48px;
    row-gap: var(--xl2);
}
  }

.testimonials_item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  gap: var(--m);
}

.testimonials_item_img {
  display: flex;
  height: 80px;
}

.testimonials_item_img > img {
    max-width: 160px;
    max-height: 80px;
    margin: auto auto 0 auto;
  }

.testimonials_item_desc {
  text-align: center;
  font-weight: 300;
}

@media (max-width: 1024px) {

.testimonials_item_desc {
    max-width:280px;
    margin:0 auto;
}
  }

.hero {
  width: 100%;

  overflow: hidden;
}

.hero.hero-isDark {
    background-color: #240b36;
    background-color: var(--colorPrimary);
  }

.hero.hero-isDark .hero_content h1 {
      color: #fff;
      color: var(--colorWhite);
    }

.hero.hero-isDark .hero_content .h2-alternate {
      color: #f6f6f6;
      color: var(--colorGray100);
    }

.hero.hero-isDark .testimonials .testimonials_item_desc {
        color: #d8d8d8;
        color: var(--colorGray300);
      }

.hero.hero-isCenter > .hero_content {
      align-items: center;
    }

.hero.hero-isCenter > .hero_content > h1 {
        text-align: center;
      }

.hero.hero-isCenter > .hero_content > h2 {
        text-align: center;
      }

.hero_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: flex;
  margin: 0 auto;
  width: 100%;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);

  flex-direction: column;
  gap: 24px;
  gap: var(--l);
  padding-top: 112px;
  padding-top: var(--xl5);
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
  position: relative;
}

.hero_content > h1 {
    z-index: 2;

    max-width: calc((84px * 7) + (16px * 6));

    max-width: calc((var(--gridColWidth) * 7) + (var(--gridGutterWidth) * 6));
  }

.hero_content > h2 {
    z-index: 2;

    max-width: calc((84px * 8) + (16px * 7));

    max-width: calc((var(--gridColWidth) * 8) + (var(--gridGutterWidth) * 7));
  }

.hero_content > .testimonials {
    z-index: 2;
    margin-top: 48px;
    margin-top: var(--xl2);
    margin-left: 0;
  }

@media (max-width: 768px) {

.hero_content {
    padding-top: 64px;
    padding-top: var(--xl3);
    padding-bottom: 64px;
    padding-bottom: var(--xl3);
}
  }

.hero_bg {
  position: absolute;
  right: -400px;
  top: -80px;
  z-index: 1;
}

.hero_bg > svg {
    width: 943px;
    height: 951px;
  }

@media (max-width: 768px) {

.hero_bg {
    left: 50%;
}
  }

.text {

  blockquote {
    position: relative;
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

    blockquote::before {
      content: "";
      position: absolute;
      left: calc(16px * -1);
      left: calc(var(--m) * -1);
      top: 0;
      bottom: 0;
      width: 2px;
      background-color: #c7c7c7;
      background-color: var(--colorGray400);
    }

  cite {
    font-size: 0.9em;
  }
}

.text hr {
    margin-bottom: 16px;
    margin-bottom: var(--m);
    border: none;
    background-color: #c7c7c7;
    background-color: var(--colorGray400);
    height: 1px;
  }

.text p {
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text p:last-child {
      margin-bottom: 0;
    }

.text h1 {
    margin-bottom: 36px;
    margin-bottom: var(--xl);
  }

.text h2 {
    margin-bottom: 24px;
    margin-bottom: var(--l);
  }

.text h3 {
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text h4 {
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text h5 {
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text h6 {
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-bottom: 24px;
    margin-bottom: var(--l);
  }

.text ul {
    list-style: none;
  }

.text ul:not(:last-child) {
      margin-bottom: 16px;
      margin-bottom: var(--m);
    }

.text ul li {
      position: relative;
    }

.text ul li::before {
        position: absolute;
        left: calc(16px * -1);
        left: calc(var(--m) * -1);
        width: 1em;
        color: #6a6a6a;
        color: var(--colorGray600);
        content: "\2022"; /* \2022 is the CSS Code/unicode for a bullet */
      }

.text ul li:not(:last-child) {
        margin-bottom: 8px;
        margin-bottom: var(--xs);
      }

.text ul li ul{
        margin-left: 16px;
        margin-left: var(--m);
        margin-top: 4px;
        margin-top: var(--xs2);
      }

.text ol {
    list-style-position: outside;
  }

.text ol:not(:last-child) {
      margin-bottom: 16px;
      margin-bottom: var(--m);
    }

.text ol li:not(:last-child) {
        margin-bottom: 8px;
        margin-bottom: var(--xs);
      }

.text .banner{
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text table{
    margin-bottom: 16px;
    margin-bottom: var(--m);
  }

.text p + hr, .text ul + hr, .text ol + hr, .text .members + hr, .text .sponsors + hr{
    margin-top: 96px;
    margin-top: var(--xl4);
  }

.text p + h2, .text ul + h2, .text hr + h2, .text ol + h2, .text .banner + h2, .text .members + h2, .text .sponsors + h2, .text table + h2, .text iframe + h2 {
    margin-top: 64px;
    margin-top: var(--xl3);
  }

.text p + h3, .text ul + h3, .text hr + h3, .text ol + h3, .text .banner + h3, .text .members + h3, .text .sponsors + h3, .text table + h3 {
    margin-top: 48px;
    margin-top: var(--xl2);
  }

.text p + h4, .text ul + h4, .text hr + h4, .text ol + h4, .text .banner + h4, .text .members + .banner, .text .sponsors + .banner, .text table + h4, .text .members + h4, .text .sponsors + h4 {
    margin-top: 36px;
    margin-top: var(--xl);
  }

.text p + h5, .text ul + h5, .text hr + h5, .text ol + h5, .text p + .members, .text p + .sponsors, .text .banner + h5, .text .members + h5, .text .sponsors + h5, .text table + h5 {
    margin-top: 24px;
    margin-top: var(--l);
  }

.text p + h6, .text ul + h6, .text hr + h6, .text ol + h6, .text .banner + h6, .text .members + h6, .text .sponsors + h6, .text table + h6 {
    margin-top: 16px;
    margin-top: var(--m);
  }

.text {
  
  .footnotes{
    margin-top: 96px;
    margin-top: var(--xl4);
    ol{
      li{
        p {
          display:inline;
        }
      }
    }
  }
}

.text a.footnote-ref::before {
    content: '[';
  }

.text a.footnote-ref::after {
    content: ']';
  }

.columns {
  width: 100%;
}

.columns_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: grid;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);
  grid-template-columns: repeat(12, 1fr);
  grid-template-columns: repeat(var(--gridColsNumber), 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
  justify-content: center;
  margin: auto;

  padding-top: 112px;

  padding-top: var(--xl5);
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
}

@media (max-width: 768px) {

.columns_content {
    padding-top: 64px;
    padding-top: var(--xl3);
    padding-bottom: 64px;
    padding-bottom: var(--xl3);
}
  }

.column {
  display: flex;
  flex-wrap: nowrap;
}

.column_icon {
  flex-shrink: 0;
  width: 84px;
  width: var(--gridColWidth);
  display: flex;
  justify-content: center;
}

.colum_title {
  margin-bottom: 12px;
  margin-bottom: var(--s);
}

.card {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  border: 1px solid var(--colorGray200);
  border-radius: 6px;
  gap: 12px;
  gap: var(--s);
  padding: 24px;
  padding: var(--l);
}

.card.card-hasLink {
    cursor: pointer;
    position: relative;
  }

.card.card-hasLink:hover {
      border: 1px solid #c42323;
      border: 1px solid var(--colorSecondary);
    }

.card_titleWrapper {
  display: flex;
  align-items: center;
  -moz-column-gap: 4px;
       column-gap: 4px;
  -moz-column-gap: var(--xs2);
       column-gap: var(--xs2);
}

.card_flag {
  margin-top: 4px;
  margin-top: var(--xs2);
  margin-left: 4px;
  margin-left: var(--xs2);
}

.card_desc {
  margin-bottom: 24px;
  margin-bottom: var(--l);
}

.card_tags {
  margin-top: auto;
}

.card_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
}

.card_author {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 8px;
  gap: var(--xs);
  margin-top: auto;
}

.card_author_name {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #6a6a6a;
  color: var(--colorGray600);
  margin-top: 5px;
}

.card_author_icon {
  flex-shrink: 0;
}

.cards {
  grid-column: auto / span 12;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
}

@media (max-width: 1024px) {

.cards {
    grid-template-columns: repeat(2, 1fr);
}
  }

@media (max-width: 620px) {

.cards {
    grid-template-columns: repeat(1, 1fr);
}
  }

.gist-meta {
  display: none;
}

.gist .gist-file {
  margin-bottom: 0 !important;
}

.tabs_nav {
  display: flex;
}

.tabs_nav_item {
  display: inline-flex;
}

.tabs_nav_item:first-child > .tabs_nav_link {
    border-radius: 6px 0 0;
  }

.tabs_nav_item:last-child > .tabs_nav_link {
    border-radius: 0 6px 0 0;
  }

.tabs_nav_link {
  background-color: #f6f6f6;
  background-color: var(--colorGray100);
  padding: 12px;
  padding: var(--s);
}

.tabs_nav_link.tabs_nav_link-isActive {
    background-color: #e6e6e6;
    background-color: var(--colorGray200);
  }

.tabs_items {
  border: 1px solid #e6e6e6;
  border: 1px solid var(--colorGray200);
  border-radius: 0 6px 6px;
}

.tab {
  display: none;
  padding: 12px;
  padding: var(--s);
}

.tab.tab-isActive {
    display: block;
  }

.steps {
  grid-column: auto / span 12;
}

.step {
  display: flex;

  max-width: calc((84px * 9) + (16px * 8));

  max-width: calc((var(--gridColWidth) * 9) + (var(--gridGutterWidth) * 8));

  justify-items: center;
  align-items: center;
  gap: 84px;
  gap: var(--gridColWidth);
  margin-left: auto;
  margin-right: auto;
  margin-top: 112px;
  margin-top: var(--xl5);
}

.step:nth-child(odd) > .step_demo {
      order: 1;
    }

.step:nth-child(odd) > .step_presentation {
      order: 2;
    }

.step:nth-child(even) > .step_demo {
      order: 2;
    }

.step:nth-child(even) > .step_presentation {
      order: 1;
    }

.step.step-isLarge {
    max-width: calc((84px * 12) + (16px * 11));
    max-width: calc((var(--gridColWidth) * 12) + (var(--gridGutterWidth) * 11));
  }

.step.step-isLarge > .step_demo {
      max-width: calc((84px * 7) + (16px * 6));
      max-width: calc((var(--gridColWidth) * 7) + (var(--gridGutterWidth) * 6));
    }

.step.step-isLarge > .step_presentation {
      max-width: calc((84px * 4) + (16px * 5));
      max-width: calc((var(--gridColWidth) * 4) + (var(--gridGutterWidth) * 5));
    }

@media (max-width: 1024px) {
    .step.step-isLarge {
      max-width: calc((84px * 9) + (16px * 8));
      max-width: calc((var(--gridColWidth) * 9) + (var(--gridGutterWidth) * 8));

      flex-direction: column;
    }

      .step.step-isLarge > .step_demo {
        width: 100%;

        max-width: calc((84px * 6) + (16px * 5));

        max-width: calc((var(--gridColWidth) * 6) + (var(--gridGutterWidth) * 5));
      }

      .step.step-isLarge > .step_presentation {
        text-align: center;
      }

        .step.step-isLarge > .step_presentation > .step_links {
          justify-content: center;
        }
  }

@media (max-width: 768px) {

.step {
    gap: 36px;
    gap: var(--xl);
}
  }

@media (max-width: 620px) {

.step {
    flex-direction: column;
    margin-top: 64px;
    margin-top: var(--xl3);
}
  }

.step_demo {
  max-width: calc((84px * 4) + (16px * 4));
  max-width: calc((var(--gridColWidth) * 4) + (var(--gridGutterWidth) * 4));

  overflow: hidden;
}

@media (max-width: 620px) {

.step_demo {
    order: 1;
}
  }

.step_presentation {
  max-width: calc((84px * 4) + (16px * 4));
  max-width: calc((var(--gridColWidth) * 4) + (var(--gridGutterWidth) * 4));

  display: flex;
  flex-direction: column;
  gap: 12px;
  gap: var(--s);
  flex-shrink: 0;
}

@media (max-width: 620px) {

.step_presentation {
    text-align: center;
    order: 2;
}
  }

.step_links {
  margin-top: 16px;
  margin-top: var(--m);
  display: flex;
  gap: 16px;
  gap: var(--m);
}

@media (max-width: 620px) {

.step_links {
    justify-content: center;
}
  }

.cta {
  width: 100%;

  overflow: hidden;
  position: relative;
}

.cta_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: flex;
  margin: 0 auto;
  width: 100%;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);

  flex-direction: column;
  align-items: center;
  gap: 24px;
  gap: var(--l);
  padding-top: 112px;
  padding-top: var(--xl5);
  padding-bottom: 112px;
  padding-bottom: var(--xl5);
}

@media (max-width: 768px) {

.cta_content {
    padding-top: 64px;
    padding-top: var(--xl3);
    padding-bottom: 64px;
    padding-bottom: var(--xl3);
}
  }

.cta_bg {
  position: absolute;
  bottom: -540px;
  left: 50%;
  transform: translateX(-50%) rotate(75deg);
  z-index: 1;
}

.cta_bg > svg {
    width: 943px;
    height: 951px;
    opacity: 0.2;
  }

@media (max-width: 768px) {

.cta_bg {
    bottom: -640px;
}
  }

.cta_title, .cta_subtitle {
  max-width: calc((84px * 8) + (16px * 9));
  max-width: calc((var(--gridColWidth) * 8) + (var(--gridGutterWidth) * 9));

  text-align: center;
  z-index: 2;
}

.cta_link {
  z-index: 2;
  margin-top: 36px;
  margin-top: var(--xl);
}

table, .table {
  grid-column: auto / span 12;
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

table > thead > tr > th, .table > thead > tr > th {
        padding: 12px;
        padding: var(--s);
        text-align: left;
        font-weight: 500;
        background-color: #f6f6f6;
        background-color: var(--colorGray100);
        width: auto;
      }

table > thead > tr > th:first-child, .table > thead > tr > th:first-child {
          border-radius: 6px 0 0;
        }

table > thead > tr > th:last-child, .table > thead > tr > th:last-child {
          border-radius: 0 6px 0 0;
        }

table > thead > tr > th.th-isLarge, .table > thead > tr > th.th-isLarge {
          width: 20rem;
        }

table > thead > tr > th.th-isMedium, .table > thead > tr > th.th-isMedium {
          width: 16rem;
        }

table > thead > tr > th.th-isSmall, .table > thead > tr > th.th-isSmall {
          width: 10rem;
        }

table > thead > tr > th.th-isTruncated, .table > thead > tr > th.th-isTruncated {
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }

table > tbody > tr, .table > tbody > tr {
      border-bottom: 1px solid #f6f6f6;
      border-bottom: 1px solid var(--colorGray100);
    }

table > tbody > tr:last-child, .table > tbody > tr:last-child {
        border: none;
      }

table > tbody > tr > td, .table > tbody > tr > td {
        padding: 12px;
        padding: var(--s);
        vertical-align: top;
      }

table > tbody > tr > td.td-isTruncated, .table > tbody > tr > td.td-isTruncated {
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        }

@media (max-width: 1024px) {
          table > thead > tr > th.th-isLarge, .table > thead > tr > th.th-isLarge, table > thead > tr > th.th-isMedium, .table > thead > tr > th.th-isMedium, table > thead > tr > th.th-isSmall, .table > thead > tr > th.th-isSmall {
            width: auto;
          }
  }

@media (max-width: 768px) {
        table > thead > tr > th, .table > thead > tr > th {
          display: none;
        }
      table > tbody > tr, .table > tbody > tr {
        display: block;
        padding: 16px 0;
        padding: var(--m) 0;
        border-bottom: 1px solid #e6e6e6;
        border-bottom: 1px solid var(--colorGray200);
      }

        table > tbody > tr > td, .table > tbody > tr > td {
          display: flex;
          flex-direction: row;
          flex-wrap: 0;
          width: 100%;
          padding: 4px 12px;
          padding: var(--xs2) var(--s);
          text-align: right;
        }

          table > tbody > tr > td::before, .table > tbody > tr > td::before {
            content: attr(data-column);
            flex-grow: 1;
            padding-right: 8px;
            padding-right: var(--xs);
            text-align: left;
            font-weight: 500;
          }

          table > tbody > tr > td.td-isTruncated, .table > tbody > tr > td.td-isTruncated {
            overflow: visible;
            text-overflow: none;
            white-space: normal;
          }
  }

.members {
  grid-column: auto / span 12;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
}

@media (max-width: 1024px) {

.members {
    grid-template-columns: repeat(2, 1fr);
}
  }

@media (max-width: 620px) {

.members {
    grid-template-columns: repeat(1, 1fr);
}
  }

.member {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  border: 1px solid var(--colorGray200);
  border-radius: 6px;
  gap: 12px;
  gap: var(--s);
  padding: 16px;
  padding: var(--m);
  text-align: center;
}

.member.member-hasLink {
    cursor: pointer;
    position: relative;
  }

.member.member-hasLink:hover {
      border: 1px solid #c42323;
      border: 1px solid var(--colorSecondary);
    }

.member.member-placeholder {
    align-items: center;
    justify-content: center;
    background-color: #f6f6f6;
    background-color: var(--colorGray100);
  }

.member_image {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.member_image > img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }

h4.member_name {
  margin-top: auto;
  margin-bottom: 0;
}

h4.member_name:before {
    content: "";
    display: block;
    margin: 0 auto;
    margin-bottom: 16px;
    margin-bottom: var(--m);
    margin-top: 16px;
    margin-top: var(--m);
    width: 20%;
    height: 1px;
    background-color: #e6e6e6;
    background-color: var(--colorGray200);
  }

.member_website {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #6a6a6a;
  color: var(--colorGray600);
}

.member_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
}

.banner {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 36px;
  padding: var(--xl);
  border-radius: 6px;
  border: 1px solid #d8d8d8;
  border: 1px solid var(--colorGray300);
  background-color: #f6f6f6;
  background-color: var(--colorGray100);
}

.banner_content{
  z-index: 2;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 12px;
  gap: var(--s);
}

@media (max-width: 768px) {

.banner_content{
    flex-direction: column;
}
  }

.banner-dark{
  background-color: #240b36;
  background-color: var(--colorPrimary);
  border:none;
}

.banner_bg{
  position: absolute;
  right: -100px;
  top: -140px;
  z-index: 1;
}

.banner_bg > svg {
    width: 943px;
    height: 951px;
  }

@media (max-width: 768px) {

.banner_bg{
    left: 50%;
}
  }

.announcement {
  width: 100%;

  background-color: #c42323;

  background-color: var(--colorSecondary);
  text-align: center;
}

.announcement_content {
  max-width: calc((84px * 12) + (16px * 11));
  max-width: calc((var(--gridColWidth) * var(--gridColsNumber)) + (var(--gridGutterWidth) * var(--gridGuttersNumber)));
  display: flex;
  margin: 0 auto;
  width: 100%;
  padding-right: 16px;
  padding-right: var(--m);
  padding-left: 16px;
  padding-left: var(--m);

  justify-content: center;
  align-items: center;
  gap: 12px;
  gap: var(--s);

  padding: 8px;

  padding: var(--xs);
  color: #fff;
  color: var(--colorWhite);
  font-size: 1.4rem;
}

.sponsors {
  grid-column: auto / span 12;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  grid-gap: 16px;
  grid-gap: var(--gridGutterWidth);
  gap: var(--gridGutterWidth);
}

@media (max-width: 1024px) {

.sponsors {
    grid-template-columns: repeat(2, 1fr);
}
  }

@media (max-width: 620px) {

.sponsors {
    grid-template-columns: repeat(1, 1fr);
}
  }

.sponsor {
  display: flex;
  flex-direction: column;
  border: 1px solid #e6e6e6;
  border: 1px solid var(--colorGray200);
  border-radius: 6px;
  gap: 12px;
  gap: var(--s);
  padding: 16px;
  padding: var(--m);
  text-align: center;
}

.sponsor.sponsor-hasLink {
    cursor: pointer;
    position: relative;
  }

.sponsor.sponsor-hasLink:hover {
      border: 1px solid #c42323;
      border: 1px solid var(--colorSecondary);
    }

.sponsor.sponsor-placeholder {
    align-items: center;
    justify-content: center;
    background-color: #f6f6f6;
    background-color: var(--colorGray100);
  }

.sponsor_image {
  width: 100%;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sponsor_image > img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }

h4.sponsor_name {
  margin-top: auto;
  margin-bottom: 0;
}

h4.sponsor_name:before {
    content: "";
    display: block;
    margin: 0 auto;
    margin-bottom: 16px;
    margin-bottom: var(--m);
    margin-top: 16px;
    margin-top: var(--m);
    width: 20%;
    height: 1px;
    background-color: #e6e6e6;
    background-color: var(--colorGray200);
  }

.sponsor_website {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #6a6a6a;
  color: var(--colorGray600);
}

.sponsor_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 0;
}

