/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./assets/frontend/sass/app.scss ***!
  \****************************************************************************************************************************************************/
@charset "UTF-8";
/*
|
| FEATURES
|----------------
|
*/
/*
|
| UTILS
|----------------
|
*/
/*
|
| MIXINS
|----------------
|
*/
/*
    Name of the next breakpoint, or null for the last breakpoint.

    >> breakpoint-next(sm)
        md
    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
        md
    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
        md
*/
/*
    Minimum breakpoint width. Null for the smallest (first) breakpoint.

    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
        576px
*/
/*
    Maximum breakpoint width. Null for the largest (last) breakpoint.
    The maximum value is calculated as the minimum of the next one less 0.02px to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
    See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
    Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
    See https://bugs.webkit.org/show_bug.cgi?id=178261

    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
        767.98px
*/
/*
    Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
    Useful for making responsive utilities.

    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
        ""  (Returns a blank string)

    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
        "-sm"
*/
/*
    Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
    Makes the @content apply to the given breakpoint and wider.
*/
/*
    Media of at most the maximum breakpoint width. No query for the largest breakpoint.
    Makes the @content apply to the given breakpoint and narrower.
*/
/*
    Media that spans multiple breakpoint widths.
    Makes the @content apply between the min and max breakpoints
*/
/*
    Media between the breakpoint's minimum and maximum widths.
    No minimum for the smallest breakpoint, and no maximum for the largest one.
    Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
*/
/*
|
| Titles
|-----------------------
|
*/
/*
|
| MAPS
|----------------
|
*/
/*
|-------------
| Breakpoints media queries creation 
|-------------
| - How to use: add lines to create more breakpoints
|
*/
/*
|-------------------------------
| Container classes creation
|-------------------------------
| Variables used to generate container classes
| - Generated classes: .container / .container-fluid
|
*/
/*
|-------------------------------
| Grid gutters creation
|-------------------------------
| Variables used to generate grid gutter classes
| - Generated classes: .g-{size}
| - Exemple: .g-md
|
*/
/*
|-------------------------------
| Margins & Paddings classes creation
|-------------------------------
| Variables used to generate padding & margin classes
| - Generated classes: .m{direction}-{size} & .p{direction}-{size}
| - Exemple: .mt-md & .pt-md
|
*/
/*
|-------------
| Color classes creation 
|-------------
| - How to use: add lines to create more "color classes" 
| - Generated classes: .bg-{color} & .c-{color}
| - Exemple: .bg-black & .c-black
|
*/
/*
|-------------------------------
| Font family classes creation
|-------------------------------
| How to use: add lines to create more "font family classes" 
| - Generated classes: .ff-{family}
| - Exemple: .ff-default
|
*/
/*
|----------------------------------------------
| Font size classes creation
|----------------------------------------------
| Variables used to generate font size classes (including responsive)
| - Generated classes: .fs-{name}
| - Exemple: .fs-md
|
| Syntax :
|   '{name}': (
|       'default': {size},
|       'screens': (
|           'xl': {size},
|           'lg': {size},
|           'md': {size},
|           'sm': {size},
|       )
|   )
|
*/
/*
|-------------------------------
| Font weight classes creation
|-------------------------------
| How to use: add lines to create more "font weight classes"
| - Generated classes: .fw-{weight}
| - Exemple: .fw-400
|
*/
/*
|-------------------------------
| Text align classes creation
|-------------------------------
| Variables used to generate text-align classes
| - Generated classes: .ta-{alignment}
| - Exemple: .ta-center
|
*/
/*
|-------------------------------
| Title sizes classes creation
|-------------------------------
| Variables used to generate title classes (including responsive)
| - Generated classes: .{class}
| - Exemple: .title-xl
|
*/
/*
|
| CORE
|----------------
|
*/
/*
|---------------------------------------------------------------
| Helpers
|---------------------------------------------------------------
| Define helper classes
|
|
*/
/*
|
| TEXT TRANSFORMS
|----------------
|
*/
/*
|---------------------------------------------------------------
| CLASS GENERATOR
|---------------------------------------------------------------
| Mixins calls to generate classes
|
|
*/
/*
|
| CONTAINERS
|----------------
|
*/
.container {
  width: calc(100% - 2 * var(--container-gutter, 15px));
  max-width: var(--container-width, none);
  margin-inline: auto;
}
.container--fluid {
  --container-width: 100%;
}
.container--sm {
  --container-width: 48rem;
}

/*
|
| GRID
|----------------
|
*/
.row,
[class^=row-],
[class*=" row-"] {
  --gx: 30px;
  --gy: 30px;
  --tgx: max(0px, calc((var(--cc) - 1) * var(--gx)));
  display: flex;
  flex-wrap: wrap;
  gap: var(--gy) var(--gx);
}

.row {
  --cc: 24;
}

.row-12 {
  --cc: 12;
}

.col,
[class^=col-],
[class*=" col-"] {
  --cw: calc((100% - var(--tgx)) / var(--cc) * var(--cs) + (var(--cs) - 1) * var(--gx));
  width: var(--cw, 100%);
  flex: 0 0 var(--cw, 100%);
}

[class^=offset-],
[class*=" offset-"] {
  margin-left: calc((100% - var(--tgx)) / var(--cc) * var(--co) + var(--co) * var(--gx));
}

.col {
  --cs: var(--cc);
}

.col-auto {
  --cw: auto;
}

.order-first {
  order: -1;
}

.order-last {
  order: 999;
}

.order-0 {
  order: 0;
}

.offset-0 {
  --co: 0;
}

.col-1 {
  --cs: 1;
}

.order-1 {
  order: 1;
}

.offset-1 {
  --co: 1;
}

.col-2 {
  --cs: 2;
}

.order-2 {
  order: 2;
}

.offset-2 {
  --co: 2;
}

.col-3 {
  --cs: 3;
}

.order-3 {
  order: 3;
}

.offset-3 {
  --co: 3;
}

.col-4 {
  --cs: 4;
}

.order-4 {
  order: 4;
}

.offset-4 {
  --co: 4;
}

.col-5 {
  --cs: 5;
}

.order-5 {
  order: 5;
}

.offset-5 {
  --co: 5;
}

.col-6 {
  --cs: 6;
}

.order-6 {
  order: 6;
}

.offset-6 {
  --co: 6;
}

.col-7 {
  --cs: 7;
}

.order-7 {
  order: 7;
}

.offset-7 {
  --co: 7;
}

.col-8 {
  --cs: 8;
}

.order-8 {
  order: 8;
}

.offset-8 {
  --co: 8;
}

.col-9 {
  --cs: 9;
}

.order-9 {
  order: 9;
}

.offset-9 {
  --co: 9;
}

.col-10 {
  --cs: 10;
}

.order-10 {
  order: 10;
}

.offset-10 {
  --co: 10;
}

.col-11 {
  --cs: 11;
}

.order-11 {
  order: 11;
}

.offset-11 {
  --co: 11;
}

.col-12 {
  --cs: 12;
}

.order-12 {
  order: 12;
}

.offset-12 {
  --co: 12;
}

.col-13 {
  --cs: 13;
}

.order-13 {
  order: 13;
}

.offset-13 {
  --co: 13;
}

.col-14 {
  --cs: 14;
}

.order-14 {
  order: 14;
}

.offset-14 {
  --co: 14;
}

.col-15 {
  --cs: 15;
}

.order-15 {
  order: 15;
}

.offset-15 {
  --co: 15;
}

.col-16 {
  --cs: 16;
}

.order-16 {
  order: 16;
}

.offset-16 {
  --co: 16;
}

.col-17 {
  --cs: 17;
}

.order-17 {
  order: 17;
}

.offset-17 {
  --co: 17;
}

.col-18 {
  --cs: 18;
}

.order-18 {
  order: 18;
}

.offset-18 {
  --co: 18;
}

.col-19 {
  --cs: 19;
}

.order-19 {
  order: 19;
}

.offset-19 {
  --co: 19;
}

.col-20 {
  --cs: 20;
}

.order-20 {
  order: 20;
}

.offset-20 {
  --co: 20;
}

.col-21 {
  --cs: 21;
}

.order-21 {
  order: 21;
}

.offset-21 {
  --co: 21;
}

.col-22 {
  --cs: 22;
}

.order-22 {
  order: 22;
}

.offset-22 {
  --co: 22;
}

.col-23 {
  --cs: 23;
}

.order-23 {
  order: 23;
}

.offset-23 {
  --co: 23;
}

.col-24 {
  --cs: 24;
}

.order-24 {
  order: 24;
}

@media (min-width: 36rem) {
  .col-sm {
    --cs: var(--cc);
  }
  .col-sm-auto {
    --cw: auto;
  }
  .order-sm-first {
    order: -1;
  }
  .order-sm-last {
    order: 999;
  }
  .order-sm-0 {
    order: 0;
  }
  .offset-sm-0 {
    --co: 0;
  }
  .col-sm-1 {
    --cs: 1;
  }
  .order-sm-1 {
    order: 1;
  }
  .offset-sm-1 {
    --co: 1;
  }
  .col-sm-2 {
    --cs: 2;
  }
  .order-sm-2 {
    order: 2;
  }
  .offset-sm-2 {
    --co: 2;
  }
  .col-sm-3 {
    --cs: 3;
  }
  .order-sm-3 {
    order: 3;
  }
  .offset-sm-3 {
    --co: 3;
  }
  .col-sm-4 {
    --cs: 4;
  }
  .order-sm-4 {
    order: 4;
  }
  .offset-sm-4 {
    --co: 4;
  }
  .col-sm-5 {
    --cs: 5;
  }
  .order-sm-5 {
    order: 5;
  }
  .offset-sm-5 {
    --co: 5;
  }
  .col-sm-6 {
    --cs: 6;
  }
  .order-sm-6 {
    order: 6;
  }
  .offset-sm-6 {
    --co: 6;
  }
  .col-sm-7 {
    --cs: 7;
  }
  .order-sm-7 {
    order: 7;
  }
  .offset-sm-7 {
    --co: 7;
  }
  .col-sm-8 {
    --cs: 8;
  }
  .order-sm-8 {
    order: 8;
  }
  .offset-sm-8 {
    --co: 8;
  }
  .col-sm-9 {
    --cs: 9;
  }
  .order-sm-9 {
    order: 9;
  }
  .offset-sm-9 {
    --co: 9;
  }
  .col-sm-10 {
    --cs: 10;
  }
  .order-sm-10 {
    order: 10;
  }
  .offset-sm-10 {
    --co: 10;
  }
  .col-sm-11 {
    --cs: 11;
  }
  .order-sm-11 {
    order: 11;
  }
  .offset-sm-11 {
    --co: 11;
  }
  .col-sm-12 {
    --cs: 12;
  }
  .order-sm-12 {
    order: 12;
  }
  .offset-sm-12 {
    --co: 12;
  }
  .col-sm-13 {
    --cs: 13;
  }
  .order-sm-13 {
    order: 13;
  }
  .offset-sm-13 {
    --co: 13;
  }
  .col-sm-14 {
    --cs: 14;
  }
  .order-sm-14 {
    order: 14;
  }
  .offset-sm-14 {
    --co: 14;
  }
  .col-sm-15 {
    --cs: 15;
  }
  .order-sm-15 {
    order: 15;
  }
  .offset-sm-15 {
    --co: 15;
  }
  .col-sm-16 {
    --cs: 16;
  }
  .order-sm-16 {
    order: 16;
  }
  .offset-sm-16 {
    --co: 16;
  }
  .col-sm-17 {
    --cs: 17;
  }
  .order-sm-17 {
    order: 17;
  }
  .offset-sm-17 {
    --co: 17;
  }
  .col-sm-18 {
    --cs: 18;
  }
  .order-sm-18 {
    order: 18;
  }
  .offset-sm-18 {
    --co: 18;
  }
  .col-sm-19 {
    --cs: 19;
  }
  .order-sm-19 {
    order: 19;
  }
  .offset-sm-19 {
    --co: 19;
  }
  .col-sm-20 {
    --cs: 20;
  }
  .order-sm-20 {
    order: 20;
  }
  .offset-sm-20 {
    --co: 20;
  }
  .col-sm-21 {
    --cs: 21;
  }
  .order-sm-21 {
    order: 21;
  }
  .offset-sm-21 {
    --co: 21;
  }
  .col-sm-22 {
    --cs: 22;
  }
  .order-sm-22 {
    order: 22;
  }
  .offset-sm-22 {
    --co: 22;
  }
  .col-sm-23 {
    --cs: 23;
  }
  .order-sm-23 {
    order: 23;
  }
  .offset-sm-23 {
    --co: 23;
  }
  .col-sm-24 {
    --cs: 24;
  }
  .order-sm-24 {
    order: 24;
  }
}
@media (min-width: 48rem) {
  .col-md {
    --cs: var(--cc);
  }
  .col-md-auto {
    --cw: auto;
  }
  .order-md-first {
    order: -1;
  }
  .order-md-last {
    order: 999;
  }
  .order-md-0 {
    order: 0;
  }
  .offset-md-0 {
    --co: 0;
  }
  .col-md-1 {
    --cs: 1;
  }
  .order-md-1 {
    order: 1;
  }
  .offset-md-1 {
    --co: 1;
  }
  .col-md-2 {
    --cs: 2;
  }
  .order-md-2 {
    order: 2;
  }
  .offset-md-2 {
    --co: 2;
  }
  .col-md-3 {
    --cs: 3;
  }
  .order-md-3 {
    order: 3;
  }
  .offset-md-3 {
    --co: 3;
  }
  .col-md-4 {
    --cs: 4;
  }
  .order-md-4 {
    order: 4;
  }
  .offset-md-4 {
    --co: 4;
  }
  .col-md-5 {
    --cs: 5;
  }
  .order-md-5 {
    order: 5;
  }
  .offset-md-5 {
    --co: 5;
  }
  .col-md-6 {
    --cs: 6;
  }
  .order-md-6 {
    order: 6;
  }
  .offset-md-6 {
    --co: 6;
  }
  .col-md-7 {
    --cs: 7;
  }
  .order-md-7 {
    order: 7;
  }
  .offset-md-7 {
    --co: 7;
  }
  .col-md-8 {
    --cs: 8;
  }
  .order-md-8 {
    order: 8;
  }
  .offset-md-8 {
    --co: 8;
  }
  .col-md-9 {
    --cs: 9;
  }
  .order-md-9 {
    order: 9;
  }
  .offset-md-9 {
    --co: 9;
  }
  .col-md-10 {
    --cs: 10;
  }
  .order-md-10 {
    order: 10;
  }
  .offset-md-10 {
    --co: 10;
  }
  .col-md-11 {
    --cs: 11;
  }
  .order-md-11 {
    order: 11;
  }
  .offset-md-11 {
    --co: 11;
  }
  .col-md-12 {
    --cs: 12;
  }
  .order-md-12 {
    order: 12;
  }
  .offset-md-12 {
    --co: 12;
  }
  .col-md-13 {
    --cs: 13;
  }
  .order-md-13 {
    order: 13;
  }
  .offset-md-13 {
    --co: 13;
  }
  .col-md-14 {
    --cs: 14;
  }
  .order-md-14 {
    order: 14;
  }
  .offset-md-14 {
    --co: 14;
  }
  .col-md-15 {
    --cs: 15;
  }
  .order-md-15 {
    order: 15;
  }
  .offset-md-15 {
    --co: 15;
  }
  .col-md-16 {
    --cs: 16;
  }
  .order-md-16 {
    order: 16;
  }
  .offset-md-16 {
    --co: 16;
  }
  .col-md-17 {
    --cs: 17;
  }
  .order-md-17 {
    order: 17;
  }
  .offset-md-17 {
    --co: 17;
  }
  .col-md-18 {
    --cs: 18;
  }
  .order-md-18 {
    order: 18;
  }
  .offset-md-18 {
    --co: 18;
  }
  .col-md-19 {
    --cs: 19;
  }
  .order-md-19 {
    order: 19;
  }
  .offset-md-19 {
    --co: 19;
  }
  .col-md-20 {
    --cs: 20;
  }
  .order-md-20 {
    order: 20;
  }
  .offset-md-20 {
    --co: 20;
  }
  .col-md-21 {
    --cs: 21;
  }
  .order-md-21 {
    order: 21;
  }
  .offset-md-21 {
    --co: 21;
  }
  .col-md-22 {
    --cs: 22;
  }
  .order-md-22 {
    order: 22;
  }
  .offset-md-22 {
    --co: 22;
  }
  .col-md-23 {
    --cs: 23;
  }
  .order-md-23 {
    order: 23;
  }
  .offset-md-23 {
    --co: 23;
  }
  .col-md-24 {
    --cs: 24;
  }
  .order-md-24 {
    order: 24;
  }
}
@media (min-width: 64rem) {
  .col-lg {
    --cs: var(--cc);
  }
  .col-lg-auto {
    --cw: auto;
  }
  .order-lg-first {
    order: -1;
  }
  .order-lg-last {
    order: 999;
  }
  .order-lg-0 {
    order: 0;
  }
  .offset-lg-0 {
    --co: 0;
  }
  .col-lg-1 {
    --cs: 1;
  }
  .order-lg-1 {
    order: 1;
  }
  .offset-lg-1 {
    --co: 1;
  }
  .col-lg-2 {
    --cs: 2;
  }
  .order-lg-2 {
    order: 2;
  }
  .offset-lg-2 {
    --co: 2;
  }
  .col-lg-3 {
    --cs: 3;
  }
  .order-lg-3 {
    order: 3;
  }
  .offset-lg-3 {
    --co: 3;
  }
  .col-lg-4 {
    --cs: 4;
  }
  .order-lg-4 {
    order: 4;
  }
  .offset-lg-4 {
    --co: 4;
  }
  .col-lg-5 {
    --cs: 5;
  }
  .order-lg-5 {
    order: 5;
  }
  .offset-lg-5 {
    --co: 5;
  }
  .col-lg-6 {
    --cs: 6;
  }
  .order-lg-6 {
    order: 6;
  }
  .offset-lg-6 {
    --co: 6;
  }
  .col-lg-7 {
    --cs: 7;
  }
  .order-lg-7 {
    order: 7;
  }
  .offset-lg-7 {
    --co: 7;
  }
  .col-lg-8 {
    --cs: 8;
  }
  .order-lg-8 {
    order: 8;
  }
  .offset-lg-8 {
    --co: 8;
  }
  .col-lg-9 {
    --cs: 9;
  }
  .order-lg-9 {
    order: 9;
  }
  .offset-lg-9 {
    --co: 9;
  }
  .col-lg-10 {
    --cs: 10;
  }
  .order-lg-10 {
    order: 10;
  }
  .offset-lg-10 {
    --co: 10;
  }
  .col-lg-11 {
    --cs: 11;
  }
  .order-lg-11 {
    order: 11;
  }
  .offset-lg-11 {
    --co: 11;
  }
  .col-lg-12 {
    --cs: 12;
  }
  .order-lg-12 {
    order: 12;
  }
  .offset-lg-12 {
    --co: 12;
  }
  .col-lg-13 {
    --cs: 13;
  }
  .order-lg-13 {
    order: 13;
  }
  .offset-lg-13 {
    --co: 13;
  }
  .col-lg-14 {
    --cs: 14;
  }
  .order-lg-14 {
    order: 14;
  }
  .offset-lg-14 {
    --co: 14;
  }
  .col-lg-15 {
    --cs: 15;
  }
  .order-lg-15 {
    order: 15;
  }
  .offset-lg-15 {
    --co: 15;
  }
  .col-lg-16 {
    --cs: 16;
  }
  .order-lg-16 {
    order: 16;
  }
  .offset-lg-16 {
    --co: 16;
  }
  .col-lg-17 {
    --cs: 17;
  }
  .order-lg-17 {
    order: 17;
  }
  .offset-lg-17 {
    --co: 17;
  }
  .col-lg-18 {
    --cs: 18;
  }
  .order-lg-18 {
    order: 18;
  }
  .offset-lg-18 {
    --co: 18;
  }
  .col-lg-19 {
    --cs: 19;
  }
  .order-lg-19 {
    order: 19;
  }
  .offset-lg-19 {
    --co: 19;
  }
  .col-lg-20 {
    --cs: 20;
  }
  .order-lg-20 {
    order: 20;
  }
  .offset-lg-20 {
    --co: 20;
  }
  .col-lg-21 {
    --cs: 21;
  }
  .order-lg-21 {
    order: 21;
  }
  .offset-lg-21 {
    --co: 21;
  }
  .col-lg-22 {
    --cs: 22;
  }
  .order-lg-22 {
    order: 22;
  }
  .offset-lg-22 {
    --co: 22;
  }
  .col-lg-23 {
    --cs: 23;
  }
  .order-lg-23 {
    order: 23;
  }
  .offset-lg-23 {
    --co: 23;
  }
  .col-lg-24 {
    --cs: 24;
  }
  .order-lg-24 {
    order: 24;
  }
}
@media (min-width: 79rem) {
  .col-xl {
    --cs: var(--cc);
  }
  .col-xl-auto {
    --cw: auto;
  }
  .order-xl-first {
    order: -1;
  }
  .order-xl-last {
    order: 999;
  }
  .order-xl-0 {
    order: 0;
  }
  .offset-xl-0 {
    --co: 0;
  }
  .col-xl-1 {
    --cs: 1;
  }
  .order-xl-1 {
    order: 1;
  }
  .offset-xl-1 {
    --co: 1;
  }
  .col-xl-2 {
    --cs: 2;
  }
  .order-xl-2 {
    order: 2;
  }
  .offset-xl-2 {
    --co: 2;
  }
  .col-xl-3 {
    --cs: 3;
  }
  .order-xl-3 {
    order: 3;
  }
  .offset-xl-3 {
    --co: 3;
  }
  .col-xl-4 {
    --cs: 4;
  }
  .order-xl-4 {
    order: 4;
  }
  .offset-xl-4 {
    --co: 4;
  }
  .col-xl-5 {
    --cs: 5;
  }
  .order-xl-5 {
    order: 5;
  }
  .offset-xl-5 {
    --co: 5;
  }
  .col-xl-6 {
    --cs: 6;
  }
  .order-xl-6 {
    order: 6;
  }
  .offset-xl-6 {
    --co: 6;
  }
  .col-xl-7 {
    --cs: 7;
  }
  .order-xl-7 {
    order: 7;
  }
  .offset-xl-7 {
    --co: 7;
  }
  .col-xl-8 {
    --cs: 8;
  }
  .order-xl-8 {
    order: 8;
  }
  .offset-xl-8 {
    --co: 8;
  }
  .col-xl-9 {
    --cs: 9;
  }
  .order-xl-9 {
    order: 9;
  }
  .offset-xl-9 {
    --co: 9;
  }
  .col-xl-10 {
    --cs: 10;
  }
  .order-xl-10 {
    order: 10;
  }
  .offset-xl-10 {
    --co: 10;
  }
  .col-xl-11 {
    --cs: 11;
  }
  .order-xl-11 {
    order: 11;
  }
  .offset-xl-11 {
    --co: 11;
  }
  .col-xl-12 {
    --cs: 12;
  }
  .order-xl-12 {
    order: 12;
  }
  .offset-xl-12 {
    --co: 12;
  }
  .col-xl-13 {
    --cs: 13;
  }
  .order-xl-13 {
    order: 13;
  }
  .offset-xl-13 {
    --co: 13;
  }
  .col-xl-14 {
    --cs: 14;
  }
  .order-xl-14 {
    order: 14;
  }
  .offset-xl-14 {
    --co: 14;
  }
  .col-xl-15 {
    --cs: 15;
  }
  .order-xl-15 {
    order: 15;
  }
  .offset-xl-15 {
    --co: 15;
  }
  .col-xl-16 {
    --cs: 16;
  }
  .order-xl-16 {
    order: 16;
  }
  .offset-xl-16 {
    --co: 16;
  }
  .col-xl-17 {
    --cs: 17;
  }
  .order-xl-17 {
    order: 17;
  }
  .offset-xl-17 {
    --co: 17;
  }
  .col-xl-18 {
    --cs: 18;
  }
  .order-xl-18 {
    order: 18;
  }
  .offset-xl-18 {
    --co: 18;
  }
  .col-xl-19 {
    --cs: 19;
  }
  .order-xl-19 {
    order: 19;
  }
  .offset-xl-19 {
    --co: 19;
  }
  .col-xl-20 {
    --cs: 20;
  }
  .order-xl-20 {
    order: 20;
  }
  .offset-xl-20 {
    --co: 20;
  }
  .col-xl-21 {
    --cs: 21;
  }
  .order-xl-21 {
    order: 21;
  }
  .offset-xl-21 {
    --co: 21;
  }
  .col-xl-22 {
    --cs: 22;
  }
  .order-xl-22 {
    order: 22;
  }
  .offset-xl-22 {
    --co: 22;
  }
  .col-xl-23 {
    --cs: 23;
  }
  .order-xl-23 {
    order: 23;
  }
  .offset-xl-23 {
    --co: 23;
  }
  .col-xl-24 {
    --cs: 24;
  }
  .order-xl-24 {
    order: 24;
  }
}
@media (min-width: 90rem) {
  .col-xxl {
    --cs: var(--cc);
  }
  .col-xxl-auto {
    --cw: auto;
  }
  .order-xxl-first {
    order: -1;
  }
  .order-xxl-last {
    order: 999;
  }
  .order-xxl-0 {
    order: 0;
  }
  .offset-xxl-0 {
    --co: 0;
  }
  .col-xxl-1 {
    --cs: 1;
  }
  .order-xxl-1 {
    order: 1;
  }
  .offset-xxl-1 {
    --co: 1;
  }
  .col-xxl-2 {
    --cs: 2;
  }
  .order-xxl-2 {
    order: 2;
  }
  .offset-xxl-2 {
    --co: 2;
  }
  .col-xxl-3 {
    --cs: 3;
  }
  .order-xxl-3 {
    order: 3;
  }
  .offset-xxl-3 {
    --co: 3;
  }
  .col-xxl-4 {
    --cs: 4;
  }
  .order-xxl-4 {
    order: 4;
  }
  .offset-xxl-4 {
    --co: 4;
  }
  .col-xxl-5 {
    --cs: 5;
  }
  .order-xxl-5 {
    order: 5;
  }
  .offset-xxl-5 {
    --co: 5;
  }
  .col-xxl-6 {
    --cs: 6;
  }
  .order-xxl-6 {
    order: 6;
  }
  .offset-xxl-6 {
    --co: 6;
  }
  .col-xxl-7 {
    --cs: 7;
  }
  .order-xxl-7 {
    order: 7;
  }
  .offset-xxl-7 {
    --co: 7;
  }
  .col-xxl-8 {
    --cs: 8;
  }
  .order-xxl-8 {
    order: 8;
  }
  .offset-xxl-8 {
    --co: 8;
  }
  .col-xxl-9 {
    --cs: 9;
  }
  .order-xxl-9 {
    order: 9;
  }
  .offset-xxl-9 {
    --co: 9;
  }
  .col-xxl-10 {
    --cs: 10;
  }
  .order-xxl-10 {
    order: 10;
  }
  .offset-xxl-10 {
    --co: 10;
  }
  .col-xxl-11 {
    --cs: 11;
  }
  .order-xxl-11 {
    order: 11;
  }
  .offset-xxl-11 {
    --co: 11;
  }
  .col-xxl-12 {
    --cs: 12;
  }
  .order-xxl-12 {
    order: 12;
  }
  .offset-xxl-12 {
    --co: 12;
  }
  .col-xxl-13 {
    --cs: 13;
  }
  .order-xxl-13 {
    order: 13;
  }
  .offset-xxl-13 {
    --co: 13;
  }
  .col-xxl-14 {
    --cs: 14;
  }
  .order-xxl-14 {
    order: 14;
  }
  .offset-xxl-14 {
    --co: 14;
  }
  .col-xxl-15 {
    --cs: 15;
  }
  .order-xxl-15 {
    order: 15;
  }
  .offset-xxl-15 {
    --co: 15;
  }
  .col-xxl-16 {
    --cs: 16;
  }
  .order-xxl-16 {
    order: 16;
  }
  .offset-xxl-16 {
    --co: 16;
  }
  .col-xxl-17 {
    --cs: 17;
  }
  .order-xxl-17 {
    order: 17;
  }
  .offset-xxl-17 {
    --co: 17;
  }
  .col-xxl-18 {
    --cs: 18;
  }
  .order-xxl-18 {
    order: 18;
  }
  .offset-xxl-18 {
    --co: 18;
  }
  .col-xxl-19 {
    --cs: 19;
  }
  .order-xxl-19 {
    order: 19;
  }
  .offset-xxl-19 {
    --co: 19;
  }
  .col-xxl-20 {
    --cs: 20;
  }
  .order-xxl-20 {
    order: 20;
  }
  .offset-xxl-20 {
    --co: 20;
  }
  .col-xxl-21 {
    --cs: 21;
  }
  .order-xxl-21 {
    order: 21;
  }
  .offset-xxl-21 {
    --co: 21;
  }
  .col-xxl-22 {
    --cs: 22;
  }
  .order-xxl-22 {
    order: 22;
  }
  .offset-xxl-22 {
    --co: 22;
  }
  .col-xxl-23 {
    --cs: 23;
  }
  .order-xxl-23 {
    order: 23;
  }
  .offset-xxl-23 {
    --co: 23;
  }
  .col-xxl-24 {
    --cs: 24;
  }
  .order-xxl-24 {
    order: 24;
  }
}
.g-0 {
  --gx: 0px;
  --gy: 0px;
}

.gy-0 {
  --gy: 0px;
}

.gx-0 {
  --gx: 0px;
}

.g-xs {
  --gx: 0.5rem;
  --gy: 0.5rem;
}

.gy-xs {
  --gy: 0.5rem;
}

.gx-xs {
  --gx: 0.5rem;
}

.g-sm {
  --gx: 1rem;
  --gy: 1rem;
}

.gy-sm {
  --gy: 1rem;
}

.gx-sm {
  --gx: 1rem;
}

.g-md {
  --gx: 2rem;
  --gy: 2rem;
}

.gy-md {
  --gy: 2rem;
}

.gx-md {
  --gx: 2rem;
}

.g-lg {
  --gx: 4rem;
  --gy: 4rem;
}

.gy-lg {
  --gy: 4rem;
}

.gx-lg {
  --gx: 4rem;
}

.g-xl {
  --gx: 5rem;
  --gy: 5rem;
}

.gy-xl {
  --gy: 5rem;
}

.gx-xl {
  --gx: 5rem;
}

.g-xxl {
  --gx: 7.5rem;
  --gy: 7.5rem;
}

.gy-xxl {
  --gy: 7.5rem;
}

.gx-xxl {
  --gx: 7.5rem;
}

@media (max-width: 89.98rem) {
  .xxl-down-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .xxl-down-gy-0 {
    --gy: 0px;
  }
  .xxl-down-gx-0 {
    --gx: 0px;
  }
  .xxl-down-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .xxl-down-gy-xs {
    --gy: 0.5rem;
  }
  .xxl-down-gx-xs {
    --gx: 0.5rem;
  }
  .xxl-down-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .xxl-down-gy-sm {
    --gy: 1rem;
  }
  .xxl-down-gx-sm {
    --gx: 1rem;
  }
  .xxl-down-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .xxl-down-gy-md {
    --gy: 2rem;
  }
  .xxl-down-gx-md {
    --gx: 2rem;
  }
  .xxl-down-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .xxl-down-gy-lg {
    --gy: 4rem;
  }
  .xxl-down-gx-lg {
    --gx: 4rem;
  }
  .xxl-down-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .xxl-down-gy-xl {
    --gy: 5rem;
  }
  .xxl-down-gx-xl {
    --gx: 5rem;
  }
  .xxl-down-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .xxl-down-gy-xxl {
    --gy: 7.5rem;
  }
  .xxl-down-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (max-width: 78.98rem) {
  .xl-down-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .xl-down-gy-0 {
    --gy: 0px;
  }
  .xl-down-gx-0 {
    --gx: 0px;
  }
  .xl-down-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .xl-down-gy-xs {
    --gy: 0.5rem;
  }
  .xl-down-gx-xs {
    --gx: 0.5rem;
  }
  .xl-down-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .xl-down-gy-sm {
    --gy: 1rem;
  }
  .xl-down-gx-sm {
    --gx: 1rem;
  }
  .xl-down-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .xl-down-gy-md {
    --gy: 2rem;
  }
  .xl-down-gx-md {
    --gx: 2rem;
  }
  .xl-down-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .xl-down-gy-lg {
    --gy: 4rem;
  }
  .xl-down-gx-lg {
    --gx: 4rem;
  }
  .xl-down-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .xl-down-gy-xl {
    --gy: 5rem;
  }
  .xl-down-gx-xl {
    --gx: 5rem;
  }
  .xl-down-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .xl-down-gy-xxl {
    --gy: 7.5rem;
  }
  .xl-down-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (max-width: 63.98rem) {
  .lg-down-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .lg-down-gy-0 {
    --gy: 0px;
  }
  .lg-down-gx-0 {
    --gx: 0px;
  }
  .lg-down-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .lg-down-gy-xs {
    --gy: 0.5rem;
  }
  .lg-down-gx-xs {
    --gx: 0.5rem;
  }
  .lg-down-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .lg-down-gy-sm {
    --gy: 1rem;
  }
  .lg-down-gx-sm {
    --gx: 1rem;
  }
  .lg-down-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .lg-down-gy-md {
    --gy: 2rem;
  }
  .lg-down-gx-md {
    --gx: 2rem;
  }
  .lg-down-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .lg-down-gy-lg {
    --gy: 4rem;
  }
  .lg-down-gx-lg {
    --gx: 4rem;
  }
  .lg-down-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .lg-down-gy-xl {
    --gy: 5rem;
  }
  .lg-down-gx-xl {
    --gx: 5rem;
  }
  .lg-down-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .lg-down-gy-xxl {
    --gy: 7.5rem;
  }
  .lg-down-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (max-width: 47.98rem) {
  .md-down-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .md-down-gy-0 {
    --gy: 0px;
  }
  .md-down-gx-0 {
    --gx: 0px;
  }
  .md-down-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .md-down-gy-xs {
    --gy: 0.5rem;
  }
  .md-down-gx-xs {
    --gx: 0.5rem;
  }
  .md-down-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .md-down-gy-sm {
    --gy: 1rem;
  }
  .md-down-gx-sm {
    --gx: 1rem;
  }
  .md-down-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .md-down-gy-md {
    --gy: 2rem;
  }
  .md-down-gx-md {
    --gx: 2rem;
  }
  .md-down-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .md-down-gy-lg {
    --gy: 4rem;
  }
  .md-down-gx-lg {
    --gx: 4rem;
  }
  .md-down-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .md-down-gy-xl {
    --gy: 5rem;
  }
  .md-down-gx-xl {
    --gx: 5rem;
  }
  .md-down-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .md-down-gy-xxl {
    --gy: 7.5rem;
  }
  .md-down-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (max-width: 35.98rem) {
  .sm-down-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .sm-down-gy-0 {
    --gy: 0px;
  }
  .sm-down-gx-0 {
    --gx: 0px;
  }
  .sm-down-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .sm-down-gy-xs {
    --gy: 0.5rem;
  }
  .sm-down-gx-xs {
    --gx: 0.5rem;
  }
  .sm-down-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .sm-down-gy-sm {
    --gy: 1rem;
  }
  .sm-down-gx-sm {
    --gx: 1rem;
  }
  .sm-down-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .sm-down-gy-md {
    --gy: 2rem;
  }
  .sm-down-gx-md {
    --gx: 2rem;
  }
  .sm-down-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .sm-down-gy-lg {
    --gy: 4rem;
  }
  .sm-down-gx-lg {
    --gx: 4rem;
  }
  .sm-down-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .sm-down-gy-xl {
    --gy: 5rem;
  }
  .sm-down-gx-xl {
    --gx: 5rem;
  }
  .sm-down-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .sm-down-gy-xxl {
    --gy: 7.5rem;
  }
  .sm-down-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (min-width: 36rem) {
  .sm-up-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .sm-up-gy-0 {
    --gy: 0px;
  }
  .sm-up-gx-0 {
    --gx: 0px;
  }
  .sm-up-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .sm-up-gy-xs {
    --gy: 0.5rem;
  }
  .sm-up-gx-xs {
    --gx: 0.5rem;
  }
  .sm-up-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .sm-up-gy-sm {
    --gy: 1rem;
  }
  .sm-up-gx-sm {
    --gx: 1rem;
  }
  .sm-up-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .sm-up-gy-md {
    --gy: 2rem;
  }
  .sm-up-gx-md {
    --gx: 2rem;
  }
  .sm-up-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .sm-up-gy-lg {
    --gy: 4rem;
  }
  .sm-up-gx-lg {
    --gx: 4rem;
  }
  .sm-up-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .sm-up-gy-xl {
    --gy: 5rem;
  }
  .sm-up-gx-xl {
    --gx: 5rem;
  }
  .sm-up-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .sm-up-gy-xxl {
    --gy: 7.5rem;
  }
  .sm-up-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (min-width: 48rem) {
  .md-up-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .md-up-gy-0 {
    --gy: 0px;
  }
  .md-up-gx-0 {
    --gx: 0px;
  }
  .md-up-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .md-up-gy-xs {
    --gy: 0.5rem;
  }
  .md-up-gx-xs {
    --gx: 0.5rem;
  }
  .md-up-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .md-up-gy-sm {
    --gy: 1rem;
  }
  .md-up-gx-sm {
    --gx: 1rem;
  }
  .md-up-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .md-up-gy-md {
    --gy: 2rem;
  }
  .md-up-gx-md {
    --gx: 2rem;
  }
  .md-up-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .md-up-gy-lg {
    --gy: 4rem;
  }
  .md-up-gx-lg {
    --gx: 4rem;
  }
  .md-up-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .md-up-gy-xl {
    --gy: 5rem;
  }
  .md-up-gx-xl {
    --gx: 5rem;
  }
  .md-up-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .md-up-gy-xxl {
    --gy: 7.5rem;
  }
  .md-up-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (min-width: 64rem) {
  .lg-up-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .lg-up-gy-0 {
    --gy: 0px;
  }
  .lg-up-gx-0 {
    --gx: 0px;
  }
  .lg-up-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .lg-up-gy-xs {
    --gy: 0.5rem;
  }
  .lg-up-gx-xs {
    --gx: 0.5rem;
  }
  .lg-up-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .lg-up-gy-sm {
    --gy: 1rem;
  }
  .lg-up-gx-sm {
    --gx: 1rem;
  }
  .lg-up-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .lg-up-gy-md {
    --gy: 2rem;
  }
  .lg-up-gx-md {
    --gx: 2rem;
  }
  .lg-up-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .lg-up-gy-lg {
    --gy: 4rem;
  }
  .lg-up-gx-lg {
    --gx: 4rem;
  }
  .lg-up-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .lg-up-gy-xl {
    --gy: 5rem;
  }
  .lg-up-gx-xl {
    --gx: 5rem;
  }
  .lg-up-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .lg-up-gy-xxl {
    --gy: 7.5rem;
  }
  .lg-up-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (min-width: 79rem) {
  .xl-up-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .xl-up-gy-0 {
    --gy: 0px;
  }
  .xl-up-gx-0 {
    --gx: 0px;
  }
  .xl-up-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .xl-up-gy-xs {
    --gy: 0.5rem;
  }
  .xl-up-gx-xs {
    --gx: 0.5rem;
  }
  .xl-up-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .xl-up-gy-sm {
    --gy: 1rem;
  }
  .xl-up-gx-sm {
    --gx: 1rem;
  }
  .xl-up-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .xl-up-gy-md {
    --gy: 2rem;
  }
  .xl-up-gx-md {
    --gx: 2rem;
  }
  .xl-up-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .xl-up-gy-lg {
    --gy: 4rem;
  }
  .xl-up-gx-lg {
    --gx: 4rem;
  }
  .xl-up-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .xl-up-gy-xl {
    --gy: 5rem;
  }
  .xl-up-gx-xl {
    --gx: 5rem;
  }
  .xl-up-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .xl-up-gy-xxl {
    --gy: 7.5rem;
  }
  .xl-up-gx-xxl {
    --gx: 7.5rem;
  }
}
@media (min-width: 90rem) {
  .xxl-up-g-0 {
    --gx: 0px;
    --gy: 0px;
  }
  .xxl-up-gy-0 {
    --gy: 0px;
  }
  .xxl-up-gx-0 {
    --gx: 0px;
  }
  .xxl-up-g-xs {
    --gx: 0.5rem;
    --gy: 0.5rem;
  }
  .xxl-up-gy-xs {
    --gy: 0.5rem;
  }
  .xxl-up-gx-xs {
    --gx: 0.5rem;
  }
  .xxl-up-g-sm {
    --gx: 1rem;
    --gy: 1rem;
  }
  .xxl-up-gy-sm {
    --gy: 1rem;
  }
  .xxl-up-gx-sm {
    --gx: 1rem;
  }
  .xxl-up-g-md {
    --gx: 2rem;
    --gy: 2rem;
  }
  .xxl-up-gy-md {
    --gy: 2rem;
  }
  .xxl-up-gx-md {
    --gx: 2rem;
  }
  .xxl-up-g-lg {
    --gx: 4rem;
    --gy: 4rem;
  }
  .xxl-up-gy-lg {
    --gy: 4rem;
  }
  .xxl-up-gx-lg {
    --gx: 4rem;
  }
  .xxl-up-g-xl {
    --gx: 5rem;
    --gy: 5rem;
  }
  .xxl-up-gy-xl {
    --gy: 5rem;
  }
  .xxl-up-gx-xl {
    --gx: 5rem;
  }
  .xxl-up-g-xxl {
    --gx: 7.5rem;
    --gy: 7.5rem;
  }
  .xxl-up-gy-xxl {
    --gy: 7.5rem;
  }
  .xxl-up-gx-xxl {
    --gx: 7.5rem;
  }
}
/*
|
| MARGINS & PADDINGS
|----------------
|
*/
.m-0 {
  margin: 0;
}

.mt-0 {
  margin-top: 0;
}

.mb-0 {
  margin-bottom: 0;
}

.my-0 {
  margin-block: 0;
}

.ml-0 {
  margin-left: 0;
}

.mr-0 {
  margin-right: 0;
}

.mx-0 {
  margin-inline: 0;
}

.p-0 {
  padding: 0;
}

.pt-0 {
  padding-top: 0;
}

.pb-0 {
  padding-bottom: 0;
}

.py-0 {
  padding-block: 0;
}

.pl-0 {
  padding-left: 0;
}

.pr-0 {
  padding-right: 0;
}

.px-0 {
  padding-inline: 0;
}

.m-xs {
  margin: 0.5rem;
}

.mt-xs {
  margin-top: 0.5rem;
}

.mb-xs {
  margin-bottom: 0.5rem;
}

.my-xs {
  margin-block: 0.5rem;
}

.ml-xs {
  margin-left: 0.5rem;
}

.mr-xs {
  margin-right: 0.5rem;
}

.mx-xs {
  margin-inline: 0.5rem;
}

.p-xs {
  padding: 0.5rem;
}

.pt-xs {
  padding-top: 0.5rem;
}

.pb-xs {
  padding-bottom: 0.5rem;
}

.py-xs {
  padding-block: 0.5rem;
}

.pl-xs {
  padding-left: 0.5rem;
}

.pr-xs {
  padding-right: 0.5rem;
}

.px-xs {
  padding-inline: 0.5rem;
}

.m-sm {
  margin: 1rem;
}

.mt-sm {
  margin-top: 1rem;
}

.mb-sm {
  margin-bottom: 1rem;
}

.my-sm {
  margin-block: 1rem;
}

.ml-sm {
  margin-left: 1rem;
}

.mr-sm {
  margin-right: 1rem;
}

.mx-sm {
  margin-inline: 1rem;
}

.p-sm {
  padding: 1rem;
}

.pt-sm {
  padding-top: 1rem;
}

.pb-sm {
  padding-bottom: 1rem;
}

.py-sm {
  padding-block: 1rem;
}

.pl-sm {
  padding-left: 1rem;
}

.pr-sm {
  padding-right: 1rem;
}

.px-sm {
  padding-inline: 1rem;
}

.m-md {
  margin: 2rem;
}

.mt-md {
  margin-top: 2rem;
}

.mb-md {
  margin-bottom: 2rem;
}

.my-md {
  margin-block: 2rem;
}

.ml-md {
  margin-left: 2rem;
}

.mr-md {
  margin-right: 2rem;
}

.mx-md {
  margin-inline: 2rem;
}

.p-md {
  padding: 2rem;
}

.pt-md {
  padding-top: 2rem;
}

.pb-md {
  padding-bottom: 2rem;
}

.py-md {
  padding-block: 2rem;
}

.pl-md {
  padding-left: 2rem;
}

.pr-md {
  padding-right: 2rem;
}

.px-md {
  padding-inline: 2rem;
}

.m-lg {
  margin: 4rem;
}

.mt-lg {
  margin-top: 4rem;
}

.mb-lg {
  margin-bottom: 4rem;
}

.my-lg {
  margin-block: 4rem;
}

.ml-lg {
  margin-left: 4rem;
}

.mr-lg {
  margin-right: 4rem;
}

.mx-lg {
  margin-inline: 4rem;
}

.p-lg {
  padding: 4rem;
}

.pt-lg {
  padding-top: 4rem;
}

.pb-lg {
  padding-bottom: 4rem;
}

.py-lg {
  padding-block: 4rem;
}

.pl-lg {
  padding-left: 4rem;
}

.pr-lg {
  padding-right: 4rem;
}

.px-lg {
  padding-inline: 4rem;
}

.m-xl {
  margin: 5rem;
}

.mt-xl {
  margin-top: 5rem;
}

.mb-xl {
  margin-bottom: 5rem;
}

.my-xl {
  margin-block: 5rem;
}

.ml-xl {
  margin-left: 5rem;
}

.mr-xl {
  margin-right: 5rem;
}

.mx-xl {
  margin-inline: 5rem;
}

.p-xl {
  padding: 5rem;
}

.pt-xl {
  padding-top: 5rem;
}

.pb-xl {
  padding-bottom: 5rem;
}

.py-xl {
  padding-block: 5rem;
}

.pl-xl {
  padding-left: 5rem;
}

.pr-xl {
  padding-right: 5rem;
}

.px-xl {
  padding-inline: 5rem;
}

.m-xxl {
  margin: 7.5rem;
}

.mt-xxl {
  margin-top: 7.5rem;
}

.mb-xxl {
  margin-bottom: 7.5rem;
}

.my-xxl {
  margin-block: 7.5rem;
}

.ml-xxl {
  margin-left: 7.5rem;
}

.mr-xxl {
  margin-right: 7.5rem;
}

.mx-xxl {
  margin-inline: 7.5rem;
}

.p-xxl {
  padding: 7.5rem;
}

.pt-xxl {
  padding-top: 7.5rem;
}

.pb-xxl {
  padding-bottom: 7.5rem;
}

.py-xxl {
  padding-block: 7.5rem;
}

.pl-xxl {
  padding-left: 7.5rem;
}

.pr-xxl {
  padding-right: 7.5rem;
}

.px-xxl {
  padding-inline: 7.5rem;
}

.m-fluid {
  margin: var(--side-margin);
}

.mt-fluid {
  margin-top: var(--side-margin);
}

.mb-fluid {
  margin-bottom: var(--side-margin);
}

.my-fluid {
  margin-block: var(--side-margin);
}

.ml-fluid {
  margin-left: var(--side-margin);
}

.mr-fluid {
  margin-right: var(--side-margin);
}

.mx-fluid {
  margin-inline: var(--side-margin);
}

.p-fluid {
  padding: var(--side-margin);
}

.pt-fluid {
  padding-top: var(--side-margin);
}

.pb-fluid {
  padding-bottom: var(--side-margin);
}

.py-fluid {
  padding-block: var(--side-margin);
}

.pl-fluid {
  padding-left: var(--side-margin);
}

.pr-fluid {
  padding-right: var(--side-margin);
}

.px-fluid {
  padding-inline: var(--side-margin);
}

@media (max-width: 89.98rem) {
  .xxl-down-m-0 {
    margin: 0;
  }
  .xxl-down-mt-0 {
    margin-top: 0;
  }
  .xxl-down-mb-0 {
    margin-bottom: 0;
  }
  .xxl-down-my-0 {
    margin-block: 0;
  }
  .xxl-down-ml-0 {
    margin-left: 0;
  }
  .xxl-down-mr-0 {
    margin-right: 0;
  }
  .xxl-down-mx-0 {
    margin-inline: 0;
  }
  .xxl-down-p-0 {
    padding: 0;
  }
  .xxl-down-pt-0 {
    padding-top: 0;
  }
  .xxl-down-pb-0 {
    padding-bottom: 0;
  }
  .xxl-down-py-0 {
    padding-block: 0;
  }
  .xxl-down-pl-0 {
    padding-left: 0;
  }
  .xxl-down-pr-0 {
    padding-right: 0;
  }
  .xxl-down-px-0 {
    padding-inline: 0;
  }
  .xxl-down-m-xs {
    margin: 0.5rem;
  }
  .xxl-down-mt-xs {
    margin-top: 0.5rem;
  }
  .xxl-down-mb-xs {
    margin-bottom: 0.5rem;
  }
  .xxl-down-my-xs {
    margin-block: 0.5rem;
  }
  .xxl-down-ml-xs {
    margin-left: 0.5rem;
  }
  .xxl-down-mr-xs {
    margin-right: 0.5rem;
  }
  .xxl-down-mx-xs {
    margin-inline: 0.5rem;
  }
  .xxl-down-p-xs {
    padding: 0.5rem;
  }
  .xxl-down-pt-xs {
    padding-top: 0.5rem;
  }
  .xxl-down-pb-xs {
    padding-bottom: 0.5rem;
  }
  .xxl-down-py-xs {
    padding-block: 0.5rem;
  }
  .xxl-down-pl-xs {
    padding-left: 0.5rem;
  }
  .xxl-down-pr-xs {
    padding-right: 0.5rem;
  }
  .xxl-down-px-xs {
    padding-inline: 0.5rem;
  }
  .xxl-down-m-sm {
    margin: 1rem;
  }
  .xxl-down-mt-sm {
    margin-top: 1rem;
  }
  .xxl-down-mb-sm {
    margin-bottom: 1rem;
  }
  .xxl-down-my-sm {
    margin-block: 1rem;
  }
  .xxl-down-ml-sm {
    margin-left: 1rem;
  }
  .xxl-down-mr-sm {
    margin-right: 1rem;
  }
  .xxl-down-mx-sm {
    margin-inline: 1rem;
  }
  .xxl-down-p-sm {
    padding: 1rem;
  }
  .xxl-down-pt-sm {
    padding-top: 1rem;
  }
  .xxl-down-pb-sm {
    padding-bottom: 1rem;
  }
  .xxl-down-py-sm {
    padding-block: 1rem;
  }
  .xxl-down-pl-sm {
    padding-left: 1rem;
  }
  .xxl-down-pr-sm {
    padding-right: 1rem;
  }
  .xxl-down-px-sm {
    padding-inline: 1rem;
  }
  .xxl-down-m-md {
    margin: 2rem;
  }
  .xxl-down-mt-md {
    margin-top: 2rem;
  }
  .xxl-down-mb-md {
    margin-bottom: 2rem;
  }
  .xxl-down-my-md {
    margin-block: 2rem;
  }
  .xxl-down-ml-md {
    margin-left: 2rem;
  }
  .xxl-down-mr-md {
    margin-right: 2rem;
  }
  .xxl-down-mx-md {
    margin-inline: 2rem;
  }
  .xxl-down-p-md {
    padding: 2rem;
  }
  .xxl-down-pt-md {
    padding-top: 2rem;
  }
  .xxl-down-pb-md {
    padding-bottom: 2rem;
  }
  .xxl-down-py-md {
    padding-block: 2rem;
  }
  .xxl-down-pl-md {
    padding-left: 2rem;
  }
  .xxl-down-pr-md {
    padding-right: 2rem;
  }
  .xxl-down-px-md {
    padding-inline: 2rem;
  }
  .xxl-down-m-lg {
    margin: 4rem;
  }
  .xxl-down-mt-lg {
    margin-top: 4rem;
  }
  .xxl-down-mb-lg {
    margin-bottom: 4rem;
  }
  .xxl-down-my-lg {
    margin-block: 4rem;
  }
  .xxl-down-ml-lg {
    margin-left: 4rem;
  }
  .xxl-down-mr-lg {
    margin-right: 4rem;
  }
  .xxl-down-mx-lg {
    margin-inline: 4rem;
  }
  .xxl-down-p-lg {
    padding: 4rem;
  }
  .xxl-down-pt-lg {
    padding-top: 4rem;
  }
  .xxl-down-pb-lg {
    padding-bottom: 4rem;
  }
  .xxl-down-py-lg {
    padding-block: 4rem;
  }
  .xxl-down-pl-lg {
    padding-left: 4rem;
  }
  .xxl-down-pr-lg {
    padding-right: 4rem;
  }
  .xxl-down-px-lg {
    padding-inline: 4rem;
  }
  .xxl-down-m-xl {
    margin: 5rem;
  }
  .xxl-down-mt-xl {
    margin-top: 5rem;
  }
  .xxl-down-mb-xl {
    margin-bottom: 5rem;
  }
  .xxl-down-my-xl {
    margin-block: 5rem;
  }
  .xxl-down-ml-xl {
    margin-left: 5rem;
  }
  .xxl-down-mr-xl {
    margin-right: 5rem;
  }
  .xxl-down-mx-xl {
    margin-inline: 5rem;
  }
  .xxl-down-p-xl {
    padding: 5rem;
  }
  .xxl-down-pt-xl {
    padding-top: 5rem;
  }
  .xxl-down-pb-xl {
    padding-bottom: 5rem;
  }
  .xxl-down-py-xl {
    padding-block: 5rem;
  }
  .xxl-down-pl-xl {
    padding-left: 5rem;
  }
  .xxl-down-pr-xl {
    padding-right: 5rem;
  }
  .xxl-down-px-xl {
    padding-inline: 5rem;
  }
  .xxl-down-m-xxl {
    margin: 7.5rem;
  }
  .xxl-down-mt-xxl {
    margin-top: 7.5rem;
  }
  .xxl-down-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .xxl-down-my-xxl {
    margin-block: 7.5rem;
  }
  .xxl-down-ml-xxl {
    margin-left: 7.5rem;
  }
  .xxl-down-mr-xxl {
    margin-right: 7.5rem;
  }
  .xxl-down-mx-xxl {
    margin-inline: 7.5rem;
  }
  .xxl-down-p-xxl {
    padding: 7.5rem;
  }
  .xxl-down-pt-xxl {
    padding-top: 7.5rem;
  }
  .xxl-down-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .xxl-down-py-xxl {
    padding-block: 7.5rem;
  }
  .xxl-down-pl-xxl {
    padding-left: 7.5rem;
  }
  .xxl-down-pr-xxl {
    padding-right: 7.5rem;
  }
  .xxl-down-px-xxl {
    padding-inline: 7.5rem;
  }
  .xxl-down-m-fluid {
    margin: var(--side-margin);
  }
  .xxl-down-mt-fluid {
    margin-top: var(--side-margin);
  }
  .xxl-down-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .xxl-down-my-fluid {
    margin-block: var(--side-margin);
  }
  .xxl-down-ml-fluid {
    margin-left: var(--side-margin);
  }
  .xxl-down-mr-fluid {
    margin-right: var(--side-margin);
  }
  .xxl-down-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .xxl-down-p-fluid {
    padding: var(--side-margin);
  }
  .xxl-down-pt-fluid {
    padding-top: var(--side-margin);
  }
  .xxl-down-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .xxl-down-py-fluid {
    padding-block: var(--side-margin);
  }
  .xxl-down-pl-fluid {
    padding-left: var(--side-margin);
  }
  .xxl-down-pr-fluid {
    padding-right: var(--side-margin);
  }
  .xxl-down-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (max-width: 78.98rem) {
  .xl-down-m-0 {
    margin: 0;
  }
  .xl-down-mt-0 {
    margin-top: 0;
  }
  .xl-down-mb-0 {
    margin-bottom: 0;
  }
  .xl-down-my-0 {
    margin-block: 0;
  }
  .xl-down-ml-0 {
    margin-left: 0;
  }
  .xl-down-mr-0 {
    margin-right: 0;
  }
  .xl-down-mx-0 {
    margin-inline: 0;
  }
  .xl-down-p-0 {
    padding: 0;
  }
  .xl-down-pt-0 {
    padding-top: 0;
  }
  .xl-down-pb-0 {
    padding-bottom: 0;
  }
  .xl-down-py-0 {
    padding-block: 0;
  }
  .xl-down-pl-0 {
    padding-left: 0;
  }
  .xl-down-pr-0 {
    padding-right: 0;
  }
  .xl-down-px-0 {
    padding-inline: 0;
  }
  .xl-down-m-xs {
    margin: 0.5rem;
  }
  .xl-down-mt-xs {
    margin-top: 0.5rem;
  }
  .xl-down-mb-xs {
    margin-bottom: 0.5rem;
  }
  .xl-down-my-xs {
    margin-block: 0.5rem;
  }
  .xl-down-ml-xs {
    margin-left: 0.5rem;
  }
  .xl-down-mr-xs {
    margin-right: 0.5rem;
  }
  .xl-down-mx-xs {
    margin-inline: 0.5rem;
  }
  .xl-down-p-xs {
    padding: 0.5rem;
  }
  .xl-down-pt-xs {
    padding-top: 0.5rem;
  }
  .xl-down-pb-xs {
    padding-bottom: 0.5rem;
  }
  .xl-down-py-xs {
    padding-block: 0.5rem;
  }
  .xl-down-pl-xs {
    padding-left: 0.5rem;
  }
  .xl-down-pr-xs {
    padding-right: 0.5rem;
  }
  .xl-down-px-xs {
    padding-inline: 0.5rem;
  }
  .xl-down-m-sm {
    margin: 1rem;
  }
  .xl-down-mt-sm {
    margin-top: 1rem;
  }
  .xl-down-mb-sm {
    margin-bottom: 1rem;
  }
  .xl-down-my-sm {
    margin-block: 1rem;
  }
  .xl-down-ml-sm {
    margin-left: 1rem;
  }
  .xl-down-mr-sm {
    margin-right: 1rem;
  }
  .xl-down-mx-sm {
    margin-inline: 1rem;
  }
  .xl-down-p-sm {
    padding: 1rem;
  }
  .xl-down-pt-sm {
    padding-top: 1rem;
  }
  .xl-down-pb-sm {
    padding-bottom: 1rem;
  }
  .xl-down-py-sm {
    padding-block: 1rem;
  }
  .xl-down-pl-sm {
    padding-left: 1rem;
  }
  .xl-down-pr-sm {
    padding-right: 1rem;
  }
  .xl-down-px-sm {
    padding-inline: 1rem;
  }
  .xl-down-m-md {
    margin: 2rem;
  }
  .xl-down-mt-md {
    margin-top: 2rem;
  }
  .xl-down-mb-md {
    margin-bottom: 2rem;
  }
  .xl-down-my-md {
    margin-block: 2rem;
  }
  .xl-down-ml-md {
    margin-left: 2rem;
  }
  .xl-down-mr-md {
    margin-right: 2rem;
  }
  .xl-down-mx-md {
    margin-inline: 2rem;
  }
  .xl-down-p-md {
    padding: 2rem;
  }
  .xl-down-pt-md {
    padding-top: 2rem;
  }
  .xl-down-pb-md {
    padding-bottom: 2rem;
  }
  .xl-down-py-md {
    padding-block: 2rem;
  }
  .xl-down-pl-md {
    padding-left: 2rem;
  }
  .xl-down-pr-md {
    padding-right: 2rem;
  }
  .xl-down-px-md {
    padding-inline: 2rem;
  }
  .xl-down-m-lg {
    margin: 4rem;
  }
  .xl-down-mt-lg {
    margin-top: 4rem;
  }
  .xl-down-mb-lg {
    margin-bottom: 4rem;
  }
  .xl-down-my-lg {
    margin-block: 4rem;
  }
  .xl-down-ml-lg {
    margin-left: 4rem;
  }
  .xl-down-mr-lg {
    margin-right: 4rem;
  }
  .xl-down-mx-lg {
    margin-inline: 4rem;
  }
  .xl-down-p-lg {
    padding: 4rem;
  }
  .xl-down-pt-lg {
    padding-top: 4rem;
  }
  .xl-down-pb-lg {
    padding-bottom: 4rem;
  }
  .xl-down-py-lg {
    padding-block: 4rem;
  }
  .xl-down-pl-lg {
    padding-left: 4rem;
  }
  .xl-down-pr-lg {
    padding-right: 4rem;
  }
  .xl-down-px-lg {
    padding-inline: 4rem;
  }
  .xl-down-m-xl {
    margin: 5rem;
  }
  .xl-down-mt-xl {
    margin-top: 5rem;
  }
  .xl-down-mb-xl {
    margin-bottom: 5rem;
  }
  .xl-down-my-xl {
    margin-block: 5rem;
  }
  .xl-down-ml-xl {
    margin-left: 5rem;
  }
  .xl-down-mr-xl {
    margin-right: 5rem;
  }
  .xl-down-mx-xl {
    margin-inline: 5rem;
  }
  .xl-down-p-xl {
    padding: 5rem;
  }
  .xl-down-pt-xl {
    padding-top: 5rem;
  }
  .xl-down-pb-xl {
    padding-bottom: 5rem;
  }
  .xl-down-py-xl {
    padding-block: 5rem;
  }
  .xl-down-pl-xl {
    padding-left: 5rem;
  }
  .xl-down-pr-xl {
    padding-right: 5rem;
  }
  .xl-down-px-xl {
    padding-inline: 5rem;
  }
  .xl-down-m-xxl {
    margin: 7.5rem;
  }
  .xl-down-mt-xxl {
    margin-top: 7.5rem;
  }
  .xl-down-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .xl-down-my-xxl {
    margin-block: 7.5rem;
  }
  .xl-down-ml-xxl {
    margin-left: 7.5rem;
  }
  .xl-down-mr-xxl {
    margin-right: 7.5rem;
  }
  .xl-down-mx-xxl {
    margin-inline: 7.5rem;
  }
  .xl-down-p-xxl {
    padding: 7.5rem;
  }
  .xl-down-pt-xxl {
    padding-top: 7.5rem;
  }
  .xl-down-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .xl-down-py-xxl {
    padding-block: 7.5rem;
  }
  .xl-down-pl-xxl {
    padding-left: 7.5rem;
  }
  .xl-down-pr-xxl {
    padding-right: 7.5rem;
  }
  .xl-down-px-xxl {
    padding-inline: 7.5rem;
  }
  .xl-down-m-fluid {
    margin: var(--side-margin);
  }
  .xl-down-mt-fluid {
    margin-top: var(--side-margin);
  }
  .xl-down-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .xl-down-my-fluid {
    margin-block: var(--side-margin);
  }
  .xl-down-ml-fluid {
    margin-left: var(--side-margin);
  }
  .xl-down-mr-fluid {
    margin-right: var(--side-margin);
  }
  .xl-down-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .xl-down-p-fluid {
    padding: var(--side-margin);
  }
  .xl-down-pt-fluid {
    padding-top: var(--side-margin);
  }
  .xl-down-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .xl-down-py-fluid {
    padding-block: var(--side-margin);
  }
  .xl-down-pl-fluid {
    padding-left: var(--side-margin);
  }
  .xl-down-pr-fluid {
    padding-right: var(--side-margin);
  }
  .xl-down-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (max-width: 63.98rem) {
  .lg-down-m-0 {
    margin: 0;
  }
  .lg-down-mt-0 {
    margin-top: 0;
  }
  .lg-down-mb-0 {
    margin-bottom: 0;
  }
  .lg-down-my-0 {
    margin-block: 0;
  }
  .lg-down-ml-0 {
    margin-left: 0;
  }
  .lg-down-mr-0 {
    margin-right: 0;
  }
  .lg-down-mx-0 {
    margin-inline: 0;
  }
  .lg-down-p-0 {
    padding: 0;
  }
  .lg-down-pt-0 {
    padding-top: 0;
  }
  .lg-down-pb-0 {
    padding-bottom: 0;
  }
  .lg-down-py-0 {
    padding-block: 0;
  }
  .lg-down-pl-0 {
    padding-left: 0;
  }
  .lg-down-pr-0 {
    padding-right: 0;
  }
  .lg-down-px-0 {
    padding-inline: 0;
  }
  .lg-down-m-xs {
    margin: 0.5rem;
  }
  .lg-down-mt-xs {
    margin-top: 0.5rem;
  }
  .lg-down-mb-xs {
    margin-bottom: 0.5rem;
  }
  .lg-down-my-xs {
    margin-block: 0.5rem;
  }
  .lg-down-ml-xs {
    margin-left: 0.5rem;
  }
  .lg-down-mr-xs {
    margin-right: 0.5rem;
  }
  .lg-down-mx-xs {
    margin-inline: 0.5rem;
  }
  .lg-down-p-xs {
    padding: 0.5rem;
  }
  .lg-down-pt-xs {
    padding-top: 0.5rem;
  }
  .lg-down-pb-xs {
    padding-bottom: 0.5rem;
  }
  .lg-down-py-xs {
    padding-block: 0.5rem;
  }
  .lg-down-pl-xs {
    padding-left: 0.5rem;
  }
  .lg-down-pr-xs {
    padding-right: 0.5rem;
  }
  .lg-down-px-xs {
    padding-inline: 0.5rem;
  }
  .lg-down-m-sm {
    margin: 1rem;
  }
  .lg-down-mt-sm {
    margin-top: 1rem;
  }
  .lg-down-mb-sm {
    margin-bottom: 1rem;
  }
  .lg-down-my-sm {
    margin-block: 1rem;
  }
  .lg-down-ml-sm {
    margin-left: 1rem;
  }
  .lg-down-mr-sm {
    margin-right: 1rem;
  }
  .lg-down-mx-sm {
    margin-inline: 1rem;
  }
  .lg-down-p-sm {
    padding: 1rem;
  }
  .lg-down-pt-sm {
    padding-top: 1rem;
  }
  .lg-down-pb-sm {
    padding-bottom: 1rem;
  }
  .lg-down-py-sm {
    padding-block: 1rem;
  }
  .lg-down-pl-sm {
    padding-left: 1rem;
  }
  .lg-down-pr-sm {
    padding-right: 1rem;
  }
  .lg-down-px-sm {
    padding-inline: 1rem;
  }
  .lg-down-m-md {
    margin: 2rem;
  }
  .lg-down-mt-md {
    margin-top: 2rem;
  }
  .lg-down-mb-md {
    margin-bottom: 2rem;
  }
  .lg-down-my-md {
    margin-block: 2rem;
  }
  .lg-down-ml-md {
    margin-left: 2rem;
  }
  .lg-down-mr-md {
    margin-right: 2rem;
  }
  .lg-down-mx-md {
    margin-inline: 2rem;
  }
  .lg-down-p-md {
    padding: 2rem;
  }
  .lg-down-pt-md {
    padding-top: 2rem;
  }
  .lg-down-pb-md {
    padding-bottom: 2rem;
  }
  .lg-down-py-md {
    padding-block: 2rem;
  }
  .lg-down-pl-md {
    padding-left: 2rem;
  }
  .lg-down-pr-md {
    padding-right: 2rem;
  }
  .lg-down-px-md {
    padding-inline: 2rem;
  }
  .lg-down-m-lg {
    margin: 4rem;
  }
  .lg-down-mt-lg {
    margin-top: 4rem;
  }
  .lg-down-mb-lg {
    margin-bottom: 4rem;
  }
  .lg-down-my-lg {
    margin-block: 4rem;
  }
  .lg-down-ml-lg {
    margin-left: 4rem;
  }
  .lg-down-mr-lg {
    margin-right: 4rem;
  }
  .lg-down-mx-lg {
    margin-inline: 4rem;
  }
  .lg-down-p-lg {
    padding: 4rem;
  }
  .lg-down-pt-lg {
    padding-top: 4rem;
  }
  .lg-down-pb-lg {
    padding-bottom: 4rem;
  }
  .lg-down-py-lg {
    padding-block: 4rem;
  }
  .lg-down-pl-lg {
    padding-left: 4rem;
  }
  .lg-down-pr-lg {
    padding-right: 4rem;
  }
  .lg-down-px-lg {
    padding-inline: 4rem;
  }
  .lg-down-m-xl {
    margin: 5rem;
  }
  .lg-down-mt-xl {
    margin-top: 5rem;
  }
  .lg-down-mb-xl {
    margin-bottom: 5rem;
  }
  .lg-down-my-xl {
    margin-block: 5rem;
  }
  .lg-down-ml-xl {
    margin-left: 5rem;
  }
  .lg-down-mr-xl {
    margin-right: 5rem;
  }
  .lg-down-mx-xl {
    margin-inline: 5rem;
  }
  .lg-down-p-xl {
    padding: 5rem;
  }
  .lg-down-pt-xl {
    padding-top: 5rem;
  }
  .lg-down-pb-xl {
    padding-bottom: 5rem;
  }
  .lg-down-py-xl {
    padding-block: 5rem;
  }
  .lg-down-pl-xl {
    padding-left: 5rem;
  }
  .lg-down-pr-xl {
    padding-right: 5rem;
  }
  .lg-down-px-xl {
    padding-inline: 5rem;
  }
  .lg-down-m-xxl {
    margin: 7.5rem;
  }
  .lg-down-mt-xxl {
    margin-top: 7.5rem;
  }
  .lg-down-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .lg-down-my-xxl {
    margin-block: 7.5rem;
  }
  .lg-down-ml-xxl {
    margin-left: 7.5rem;
  }
  .lg-down-mr-xxl {
    margin-right: 7.5rem;
  }
  .lg-down-mx-xxl {
    margin-inline: 7.5rem;
  }
  .lg-down-p-xxl {
    padding: 7.5rem;
  }
  .lg-down-pt-xxl {
    padding-top: 7.5rem;
  }
  .lg-down-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .lg-down-py-xxl {
    padding-block: 7.5rem;
  }
  .lg-down-pl-xxl {
    padding-left: 7.5rem;
  }
  .lg-down-pr-xxl {
    padding-right: 7.5rem;
  }
  .lg-down-px-xxl {
    padding-inline: 7.5rem;
  }
  .lg-down-m-fluid {
    margin: var(--side-margin);
  }
  .lg-down-mt-fluid {
    margin-top: var(--side-margin);
  }
  .lg-down-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .lg-down-my-fluid {
    margin-block: var(--side-margin);
  }
  .lg-down-ml-fluid {
    margin-left: var(--side-margin);
  }
  .lg-down-mr-fluid {
    margin-right: var(--side-margin);
  }
  .lg-down-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .lg-down-p-fluid {
    padding: var(--side-margin);
  }
  .lg-down-pt-fluid {
    padding-top: var(--side-margin);
  }
  .lg-down-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .lg-down-py-fluid {
    padding-block: var(--side-margin);
  }
  .lg-down-pl-fluid {
    padding-left: var(--side-margin);
  }
  .lg-down-pr-fluid {
    padding-right: var(--side-margin);
  }
  .lg-down-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (max-width: 47.98rem) {
  .md-down-m-0 {
    margin: 0;
  }
  .md-down-mt-0 {
    margin-top: 0;
  }
  .md-down-mb-0 {
    margin-bottom: 0;
  }
  .md-down-my-0 {
    margin-block: 0;
  }
  .md-down-ml-0 {
    margin-left: 0;
  }
  .md-down-mr-0 {
    margin-right: 0;
  }
  .md-down-mx-0 {
    margin-inline: 0;
  }
  .md-down-p-0 {
    padding: 0;
  }
  .md-down-pt-0 {
    padding-top: 0;
  }
  .md-down-pb-0 {
    padding-bottom: 0;
  }
  .md-down-py-0 {
    padding-block: 0;
  }
  .md-down-pl-0 {
    padding-left: 0;
  }
  .md-down-pr-0 {
    padding-right: 0;
  }
  .md-down-px-0 {
    padding-inline: 0;
  }
  .md-down-m-xs {
    margin: 0.5rem;
  }
  .md-down-mt-xs {
    margin-top: 0.5rem;
  }
  .md-down-mb-xs {
    margin-bottom: 0.5rem;
  }
  .md-down-my-xs {
    margin-block: 0.5rem;
  }
  .md-down-ml-xs {
    margin-left: 0.5rem;
  }
  .md-down-mr-xs {
    margin-right: 0.5rem;
  }
  .md-down-mx-xs {
    margin-inline: 0.5rem;
  }
  .md-down-p-xs {
    padding: 0.5rem;
  }
  .md-down-pt-xs {
    padding-top: 0.5rem;
  }
  .md-down-pb-xs {
    padding-bottom: 0.5rem;
  }
  .md-down-py-xs {
    padding-block: 0.5rem;
  }
  .md-down-pl-xs {
    padding-left: 0.5rem;
  }
  .md-down-pr-xs {
    padding-right: 0.5rem;
  }
  .md-down-px-xs {
    padding-inline: 0.5rem;
  }
  .md-down-m-sm {
    margin: 1rem;
  }
  .md-down-mt-sm {
    margin-top: 1rem;
  }
  .md-down-mb-sm {
    margin-bottom: 1rem;
  }
  .md-down-my-sm {
    margin-block: 1rem;
  }
  .md-down-ml-sm {
    margin-left: 1rem;
  }
  .md-down-mr-sm {
    margin-right: 1rem;
  }
  .md-down-mx-sm {
    margin-inline: 1rem;
  }
  .md-down-p-sm {
    padding: 1rem;
  }
  .md-down-pt-sm {
    padding-top: 1rem;
  }
  .md-down-pb-sm {
    padding-bottom: 1rem;
  }
  .md-down-py-sm {
    padding-block: 1rem;
  }
  .md-down-pl-sm {
    padding-left: 1rem;
  }
  .md-down-pr-sm {
    padding-right: 1rem;
  }
  .md-down-px-sm {
    padding-inline: 1rem;
  }
  .md-down-m-md {
    margin: 2rem;
  }
  .md-down-mt-md {
    margin-top: 2rem;
  }
  .md-down-mb-md {
    margin-bottom: 2rem;
  }
  .md-down-my-md {
    margin-block: 2rem;
  }
  .md-down-ml-md {
    margin-left: 2rem;
  }
  .md-down-mr-md {
    margin-right: 2rem;
  }
  .md-down-mx-md {
    margin-inline: 2rem;
  }
  .md-down-p-md {
    padding: 2rem;
  }
  .md-down-pt-md {
    padding-top: 2rem;
  }
  .md-down-pb-md {
    padding-bottom: 2rem;
  }
  .md-down-py-md {
    padding-block: 2rem;
  }
  .md-down-pl-md {
    padding-left: 2rem;
  }
  .md-down-pr-md {
    padding-right: 2rem;
  }
  .md-down-px-md {
    padding-inline: 2rem;
  }
  .md-down-m-lg {
    margin: 4rem;
  }
  .md-down-mt-lg {
    margin-top: 4rem;
  }
  .md-down-mb-lg {
    margin-bottom: 4rem;
  }
  .md-down-my-lg {
    margin-block: 4rem;
  }
  .md-down-ml-lg {
    margin-left: 4rem;
  }
  .md-down-mr-lg {
    margin-right: 4rem;
  }
  .md-down-mx-lg {
    margin-inline: 4rem;
  }
  .md-down-p-lg {
    padding: 4rem;
  }
  .md-down-pt-lg {
    padding-top: 4rem;
  }
  .md-down-pb-lg {
    padding-bottom: 4rem;
  }
  .md-down-py-lg {
    padding-block: 4rem;
  }
  .md-down-pl-lg {
    padding-left: 4rem;
  }
  .md-down-pr-lg {
    padding-right: 4rem;
  }
  .md-down-px-lg {
    padding-inline: 4rem;
  }
  .md-down-m-xl {
    margin: 5rem;
  }
  .md-down-mt-xl {
    margin-top: 5rem;
  }
  .md-down-mb-xl {
    margin-bottom: 5rem;
  }
  .md-down-my-xl {
    margin-block: 5rem;
  }
  .md-down-ml-xl {
    margin-left: 5rem;
  }
  .md-down-mr-xl {
    margin-right: 5rem;
  }
  .md-down-mx-xl {
    margin-inline: 5rem;
  }
  .md-down-p-xl {
    padding: 5rem;
  }
  .md-down-pt-xl {
    padding-top: 5rem;
  }
  .md-down-pb-xl {
    padding-bottom: 5rem;
  }
  .md-down-py-xl {
    padding-block: 5rem;
  }
  .md-down-pl-xl {
    padding-left: 5rem;
  }
  .md-down-pr-xl {
    padding-right: 5rem;
  }
  .md-down-px-xl {
    padding-inline: 5rem;
  }
  .md-down-m-xxl {
    margin: 7.5rem;
  }
  .md-down-mt-xxl {
    margin-top: 7.5rem;
  }
  .md-down-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .md-down-my-xxl {
    margin-block: 7.5rem;
  }
  .md-down-ml-xxl {
    margin-left: 7.5rem;
  }
  .md-down-mr-xxl {
    margin-right: 7.5rem;
  }
  .md-down-mx-xxl {
    margin-inline: 7.5rem;
  }
  .md-down-p-xxl {
    padding: 7.5rem;
  }
  .md-down-pt-xxl {
    padding-top: 7.5rem;
  }
  .md-down-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .md-down-py-xxl {
    padding-block: 7.5rem;
  }
  .md-down-pl-xxl {
    padding-left: 7.5rem;
  }
  .md-down-pr-xxl {
    padding-right: 7.5rem;
  }
  .md-down-px-xxl {
    padding-inline: 7.5rem;
  }
  .md-down-m-fluid {
    margin: var(--side-margin);
  }
  .md-down-mt-fluid {
    margin-top: var(--side-margin);
  }
  .md-down-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .md-down-my-fluid {
    margin-block: var(--side-margin);
  }
  .md-down-ml-fluid {
    margin-left: var(--side-margin);
  }
  .md-down-mr-fluid {
    margin-right: var(--side-margin);
  }
  .md-down-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .md-down-p-fluid {
    padding: var(--side-margin);
  }
  .md-down-pt-fluid {
    padding-top: var(--side-margin);
  }
  .md-down-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .md-down-py-fluid {
    padding-block: var(--side-margin);
  }
  .md-down-pl-fluid {
    padding-left: var(--side-margin);
  }
  .md-down-pr-fluid {
    padding-right: var(--side-margin);
  }
  .md-down-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (max-width: 35.98rem) {
  .sm-down-m-0 {
    margin: 0;
  }
  .sm-down-mt-0 {
    margin-top: 0;
  }
  .sm-down-mb-0 {
    margin-bottom: 0;
  }
  .sm-down-my-0 {
    margin-block: 0;
  }
  .sm-down-ml-0 {
    margin-left: 0;
  }
  .sm-down-mr-0 {
    margin-right: 0;
  }
  .sm-down-mx-0 {
    margin-inline: 0;
  }
  .sm-down-p-0 {
    padding: 0;
  }
  .sm-down-pt-0 {
    padding-top: 0;
  }
  .sm-down-pb-0 {
    padding-bottom: 0;
  }
  .sm-down-py-0 {
    padding-block: 0;
  }
  .sm-down-pl-0 {
    padding-left: 0;
  }
  .sm-down-pr-0 {
    padding-right: 0;
  }
  .sm-down-px-0 {
    padding-inline: 0;
  }
  .sm-down-m-xs {
    margin: 0.5rem;
  }
  .sm-down-mt-xs {
    margin-top: 0.5rem;
  }
  .sm-down-mb-xs {
    margin-bottom: 0.5rem;
  }
  .sm-down-my-xs {
    margin-block: 0.5rem;
  }
  .sm-down-ml-xs {
    margin-left: 0.5rem;
  }
  .sm-down-mr-xs {
    margin-right: 0.5rem;
  }
  .sm-down-mx-xs {
    margin-inline: 0.5rem;
  }
  .sm-down-p-xs {
    padding: 0.5rem;
  }
  .sm-down-pt-xs {
    padding-top: 0.5rem;
  }
  .sm-down-pb-xs {
    padding-bottom: 0.5rem;
  }
  .sm-down-py-xs {
    padding-block: 0.5rem;
  }
  .sm-down-pl-xs {
    padding-left: 0.5rem;
  }
  .sm-down-pr-xs {
    padding-right: 0.5rem;
  }
  .sm-down-px-xs {
    padding-inline: 0.5rem;
  }
  .sm-down-m-sm {
    margin: 1rem;
  }
  .sm-down-mt-sm {
    margin-top: 1rem;
  }
  .sm-down-mb-sm {
    margin-bottom: 1rem;
  }
  .sm-down-my-sm {
    margin-block: 1rem;
  }
  .sm-down-ml-sm {
    margin-left: 1rem;
  }
  .sm-down-mr-sm {
    margin-right: 1rem;
  }
  .sm-down-mx-sm {
    margin-inline: 1rem;
  }
  .sm-down-p-sm {
    padding: 1rem;
  }
  .sm-down-pt-sm {
    padding-top: 1rem;
  }
  .sm-down-pb-sm {
    padding-bottom: 1rem;
  }
  .sm-down-py-sm {
    padding-block: 1rem;
  }
  .sm-down-pl-sm {
    padding-left: 1rem;
  }
  .sm-down-pr-sm {
    padding-right: 1rem;
  }
  .sm-down-px-sm {
    padding-inline: 1rem;
  }
  .sm-down-m-md {
    margin: 2rem;
  }
  .sm-down-mt-md {
    margin-top: 2rem;
  }
  .sm-down-mb-md {
    margin-bottom: 2rem;
  }
  .sm-down-my-md {
    margin-block: 2rem;
  }
  .sm-down-ml-md {
    margin-left: 2rem;
  }
  .sm-down-mr-md {
    margin-right: 2rem;
  }
  .sm-down-mx-md {
    margin-inline: 2rem;
  }
  .sm-down-p-md {
    padding: 2rem;
  }
  .sm-down-pt-md {
    padding-top: 2rem;
  }
  .sm-down-pb-md {
    padding-bottom: 2rem;
  }
  .sm-down-py-md {
    padding-block: 2rem;
  }
  .sm-down-pl-md {
    padding-left: 2rem;
  }
  .sm-down-pr-md {
    padding-right: 2rem;
  }
  .sm-down-px-md {
    padding-inline: 2rem;
  }
  .sm-down-m-lg {
    margin: 4rem;
  }
  .sm-down-mt-lg {
    margin-top: 4rem;
  }
  .sm-down-mb-lg {
    margin-bottom: 4rem;
  }
  .sm-down-my-lg {
    margin-block: 4rem;
  }
  .sm-down-ml-lg {
    margin-left: 4rem;
  }
  .sm-down-mr-lg {
    margin-right: 4rem;
  }
  .sm-down-mx-lg {
    margin-inline: 4rem;
  }
  .sm-down-p-lg {
    padding: 4rem;
  }
  .sm-down-pt-lg {
    padding-top: 4rem;
  }
  .sm-down-pb-lg {
    padding-bottom: 4rem;
  }
  .sm-down-py-lg {
    padding-block: 4rem;
  }
  .sm-down-pl-lg {
    padding-left: 4rem;
  }
  .sm-down-pr-lg {
    padding-right: 4rem;
  }
  .sm-down-px-lg {
    padding-inline: 4rem;
  }
  .sm-down-m-xl {
    margin: 5rem;
  }
  .sm-down-mt-xl {
    margin-top: 5rem;
  }
  .sm-down-mb-xl {
    margin-bottom: 5rem;
  }
  .sm-down-my-xl {
    margin-block: 5rem;
  }
  .sm-down-ml-xl {
    margin-left: 5rem;
  }
  .sm-down-mr-xl {
    margin-right: 5rem;
  }
  .sm-down-mx-xl {
    margin-inline: 5rem;
  }
  .sm-down-p-xl {
    padding: 5rem;
  }
  .sm-down-pt-xl {
    padding-top: 5rem;
  }
  .sm-down-pb-xl {
    padding-bottom: 5rem;
  }
  .sm-down-py-xl {
    padding-block: 5rem;
  }
  .sm-down-pl-xl {
    padding-left: 5rem;
  }
  .sm-down-pr-xl {
    padding-right: 5rem;
  }
  .sm-down-px-xl {
    padding-inline: 5rem;
  }
  .sm-down-m-xxl {
    margin: 7.5rem;
  }
  .sm-down-mt-xxl {
    margin-top: 7.5rem;
  }
  .sm-down-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .sm-down-my-xxl {
    margin-block: 7.5rem;
  }
  .sm-down-ml-xxl {
    margin-left: 7.5rem;
  }
  .sm-down-mr-xxl {
    margin-right: 7.5rem;
  }
  .sm-down-mx-xxl {
    margin-inline: 7.5rem;
  }
  .sm-down-p-xxl {
    padding: 7.5rem;
  }
  .sm-down-pt-xxl {
    padding-top: 7.5rem;
  }
  .sm-down-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .sm-down-py-xxl {
    padding-block: 7.5rem;
  }
  .sm-down-pl-xxl {
    padding-left: 7.5rem;
  }
  .sm-down-pr-xxl {
    padding-right: 7.5rem;
  }
  .sm-down-px-xxl {
    padding-inline: 7.5rem;
  }
  .sm-down-m-fluid {
    margin: var(--side-margin);
  }
  .sm-down-mt-fluid {
    margin-top: var(--side-margin);
  }
  .sm-down-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .sm-down-my-fluid {
    margin-block: var(--side-margin);
  }
  .sm-down-ml-fluid {
    margin-left: var(--side-margin);
  }
  .sm-down-mr-fluid {
    margin-right: var(--side-margin);
  }
  .sm-down-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .sm-down-p-fluid {
    padding: var(--side-margin);
  }
  .sm-down-pt-fluid {
    padding-top: var(--side-margin);
  }
  .sm-down-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .sm-down-py-fluid {
    padding-block: var(--side-margin);
  }
  .sm-down-pl-fluid {
    padding-left: var(--side-margin);
  }
  .sm-down-pr-fluid {
    padding-right: var(--side-margin);
  }
  .sm-down-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (min-width: 36rem) {
  .sm-up-m-0 {
    margin: 0;
  }
  .sm-up-mt-0 {
    margin-top: 0;
  }
  .sm-up-mb-0 {
    margin-bottom: 0;
  }
  .sm-up-my-0 {
    margin-block: 0;
  }
  .sm-up-ml-0 {
    margin-left: 0;
  }
  .sm-up-mr-0 {
    margin-right: 0;
  }
  .sm-up-mx-0 {
    margin-inline: 0;
  }
  .sm-up-p-0 {
    padding: 0;
  }
  .sm-up-pt-0 {
    padding-top: 0;
  }
  .sm-up-pb-0 {
    padding-bottom: 0;
  }
  .sm-up-py-0 {
    padding-block: 0;
  }
  .sm-up-pl-0 {
    padding-left: 0;
  }
  .sm-up-pr-0 {
    padding-right: 0;
  }
  .sm-up-px-0 {
    padding-inline: 0;
  }
  .sm-up-m-xs {
    margin: 0.5rem;
  }
  .sm-up-mt-xs {
    margin-top: 0.5rem;
  }
  .sm-up-mb-xs {
    margin-bottom: 0.5rem;
  }
  .sm-up-my-xs {
    margin-block: 0.5rem;
  }
  .sm-up-ml-xs {
    margin-left: 0.5rem;
  }
  .sm-up-mr-xs {
    margin-right: 0.5rem;
  }
  .sm-up-mx-xs {
    margin-inline: 0.5rem;
  }
  .sm-up-p-xs {
    padding: 0.5rem;
  }
  .sm-up-pt-xs {
    padding-top: 0.5rem;
  }
  .sm-up-pb-xs {
    padding-bottom: 0.5rem;
  }
  .sm-up-py-xs {
    padding-block: 0.5rem;
  }
  .sm-up-pl-xs {
    padding-left: 0.5rem;
  }
  .sm-up-pr-xs {
    padding-right: 0.5rem;
  }
  .sm-up-px-xs {
    padding-inline: 0.5rem;
  }
  .sm-up-m-sm {
    margin: 1rem;
  }
  .sm-up-mt-sm {
    margin-top: 1rem;
  }
  .sm-up-mb-sm {
    margin-bottom: 1rem;
  }
  .sm-up-my-sm {
    margin-block: 1rem;
  }
  .sm-up-ml-sm {
    margin-left: 1rem;
  }
  .sm-up-mr-sm {
    margin-right: 1rem;
  }
  .sm-up-mx-sm {
    margin-inline: 1rem;
  }
  .sm-up-p-sm {
    padding: 1rem;
  }
  .sm-up-pt-sm {
    padding-top: 1rem;
  }
  .sm-up-pb-sm {
    padding-bottom: 1rem;
  }
  .sm-up-py-sm {
    padding-block: 1rem;
  }
  .sm-up-pl-sm {
    padding-left: 1rem;
  }
  .sm-up-pr-sm {
    padding-right: 1rem;
  }
  .sm-up-px-sm {
    padding-inline: 1rem;
  }
  .sm-up-m-md {
    margin: 2rem;
  }
  .sm-up-mt-md {
    margin-top: 2rem;
  }
  .sm-up-mb-md {
    margin-bottom: 2rem;
  }
  .sm-up-my-md {
    margin-block: 2rem;
  }
  .sm-up-ml-md {
    margin-left: 2rem;
  }
  .sm-up-mr-md {
    margin-right: 2rem;
  }
  .sm-up-mx-md {
    margin-inline: 2rem;
  }
  .sm-up-p-md {
    padding: 2rem;
  }
  .sm-up-pt-md {
    padding-top: 2rem;
  }
  .sm-up-pb-md {
    padding-bottom: 2rem;
  }
  .sm-up-py-md {
    padding-block: 2rem;
  }
  .sm-up-pl-md {
    padding-left: 2rem;
  }
  .sm-up-pr-md {
    padding-right: 2rem;
  }
  .sm-up-px-md {
    padding-inline: 2rem;
  }
  .sm-up-m-lg {
    margin: 4rem;
  }
  .sm-up-mt-lg {
    margin-top: 4rem;
  }
  .sm-up-mb-lg {
    margin-bottom: 4rem;
  }
  .sm-up-my-lg {
    margin-block: 4rem;
  }
  .sm-up-ml-lg {
    margin-left: 4rem;
  }
  .sm-up-mr-lg {
    margin-right: 4rem;
  }
  .sm-up-mx-lg {
    margin-inline: 4rem;
  }
  .sm-up-p-lg {
    padding: 4rem;
  }
  .sm-up-pt-lg {
    padding-top: 4rem;
  }
  .sm-up-pb-lg {
    padding-bottom: 4rem;
  }
  .sm-up-py-lg {
    padding-block: 4rem;
  }
  .sm-up-pl-lg {
    padding-left: 4rem;
  }
  .sm-up-pr-lg {
    padding-right: 4rem;
  }
  .sm-up-px-lg {
    padding-inline: 4rem;
  }
  .sm-up-m-xl {
    margin: 5rem;
  }
  .sm-up-mt-xl {
    margin-top: 5rem;
  }
  .sm-up-mb-xl {
    margin-bottom: 5rem;
  }
  .sm-up-my-xl {
    margin-block: 5rem;
  }
  .sm-up-ml-xl {
    margin-left: 5rem;
  }
  .sm-up-mr-xl {
    margin-right: 5rem;
  }
  .sm-up-mx-xl {
    margin-inline: 5rem;
  }
  .sm-up-p-xl {
    padding: 5rem;
  }
  .sm-up-pt-xl {
    padding-top: 5rem;
  }
  .sm-up-pb-xl {
    padding-bottom: 5rem;
  }
  .sm-up-py-xl {
    padding-block: 5rem;
  }
  .sm-up-pl-xl {
    padding-left: 5rem;
  }
  .sm-up-pr-xl {
    padding-right: 5rem;
  }
  .sm-up-px-xl {
    padding-inline: 5rem;
  }
  .sm-up-m-xxl {
    margin: 7.5rem;
  }
  .sm-up-mt-xxl {
    margin-top: 7.5rem;
  }
  .sm-up-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .sm-up-my-xxl {
    margin-block: 7.5rem;
  }
  .sm-up-ml-xxl {
    margin-left: 7.5rem;
  }
  .sm-up-mr-xxl {
    margin-right: 7.5rem;
  }
  .sm-up-mx-xxl {
    margin-inline: 7.5rem;
  }
  .sm-up-p-xxl {
    padding: 7.5rem;
  }
  .sm-up-pt-xxl {
    padding-top: 7.5rem;
  }
  .sm-up-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .sm-up-py-xxl {
    padding-block: 7.5rem;
  }
  .sm-up-pl-xxl {
    padding-left: 7.5rem;
  }
  .sm-up-pr-xxl {
    padding-right: 7.5rem;
  }
  .sm-up-px-xxl {
    padding-inline: 7.5rem;
  }
  .sm-up-m-fluid {
    margin: var(--side-margin);
  }
  .sm-up-mt-fluid {
    margin-top: var(--side-margin);
  }
  .sm-up-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .sm-up-my-fluid {
    margin-block: var(--side-margin);
  }
  .sm-up-ml-fluid {
    margin-left: var(--side-margin);
  }
  .sm-up-mr-fluid {
    margin-right: var(--side-margin);
  }
  .sm-up-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .sm-up-p-fluid {
    padding: var(--side-margin);
  }
  .sm-up-pt-fluid {
    padding-top: var(--side-margin);
  }
  .sm-up-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .sm-up-py-fluid {
    padding-block: var(--side-margin);
  }
  .sm-up-pl-fluid {
    padding-left: var(--side-margin);
  }
  .sm-up-pr-fluid {
    padding-right: var(--side-margin);
  }
  .sm-up-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (min-width: 48rem) {
  .md-up-m-0 {
    margin: 0;
  }
  .md-up-mt-0 {
    margin-top: 0;
  }
  .md-up-mb-0 {
    margin-bottom: 0;
  }
  .md-up-my-0 {
    margin-block: 0;
  }
  .md-up-ml-0 {
    margin-left: 0;
  }
  .md-up-mr-0 {
    margin-right: 0;
  }
  .md-up-mx-0 {
    margin-inline: 0;
  }
  .md-up-p-0 {
    padding: 0;
  }
  .md-up-pt-0 {
    padding-top: 0;
  }
  .md-up-pb-0 {
    padding-bottom: 0;
  }
  .md-up-py-0 {
    padding-block: 0;
  }
  .md-up-pl-0 {
    padding-left: 0;
  }
  .md-up-pr-0 {
    padding-right: 0;
  }
  .md-up-px-0 {
    padding-inline: 0;
  }
  .md-up-m-xs {
    margin: 0.5rem;
  }
  .md-up-mt-xs {
    margin-top: 0.5rem;
  }
  .md-up-mb-xs {
    margin-bottom: 0.5rem;
  }
  .md-up-my-xs {
    margin-block: 0.5rem;
  }
  .md-up-ml-xs {
    margin-left: 0.5rem;
  }
  .md-up-mr-xs {
    margin-right: 0.5rem;
  }
  .md-up-mx-xs {
    margin-inline: 0.5rem;
  }
  .md-up-p-xs {
    padding: 0.5rem;
  }
  .md-up-pt-xs {
    padding-top: 0.5rem;
  }
  .md-up-pb-xs {
    padding-bottom: 0.5rem;
  }
  .md-up-py-xs {
    padding-block: 0.5rem;
  }
  .md-up-pl-xs {
    padding-left: 0.5rem;
  }
  .md-up-pr-xs {
    padding-right: 0.5rem;
  }
  .md-up-px-xs {
    padding-inline: 0.5rem;
  }
  .md-up-m-sm {
    margin: 1rem;
  }
  .md-up-mt-sm {
    margin-top: 1rem;
  }
  .md-up-mb-sm {
    margin-bottom: 1rem;
  }
  .md-up-my-sm {
    margin-block: 1rem;
  }
  .md-up-ml-sm {
    margin-left: 1rem;
  }
  .md-up-mr-sm {
    margin-right: 1rem;
  }
  .md-up-mx-sm {
    margin-inline: 1rem;
  }
  .md-up-p-sm {
    padding: 1rem;
  }
  .md-up-pt-sm {
    padding-top: 1rem;
  }
  .md-up-pb-sm {
    padding-bottom: 1rem;
  }
  .md-up-py-sm {
    padding-block: 1rem;
  }
  .md-up-pl-sm {
    padding-left: 1rem;
  }
  .md-up-pr-sm {
    padding-right: 1rem;
  }
  .md-up-px-sm {
    padding-inline: 1rem;
  }
  .md-up-m-md {
    margin: 2rem;
  }
  .md-up-mt-md {
    margin-top: 2rem;
  }
  .md-up-mb-md {
    margin-bottom: 2rem;
  }
  .md-up-my-md {
    margin-block: 2rem;
  }
  .md-up-ml-md {
    margin-left: 2rem;
  }
  .md-up-mr-md {
    margin-right: 2rem;
  }
  .md-up-mx-md {
    margin-inline: 2rem;
  }
  .md-up-p-md {
    padding: 2rem;
  }
  .md-up-pt-md {
    padding-top: 2rem;
  }
  .md-up-pb-md {
    padding-bottom: 2rem;
  }
  .md-up-py-md {
    padding-block: 2rem;
  }
  .md-up-pl-md {
    padding-left: 2rem;
  }
  .md-up-pr-md {
    padding-right: 2rem;
  }
  .md-up-px-md {
    padding-inline: 2rem;
  }
  .md-up-m-lg {
    margin: 4rem;
  }
  .md-up-mt-lg {
    margin-top: 4rem;
  }
  .md-up-mb-lg {
    margin-bottom: 4rem;
  }
  .md-up-my-lg {
    margin-block: 4rem;
  }
  .md-up-ml-lg {
    margin-left: 4rem;
  }
  .md-up-mr-lg {
    margin-right: 4rem;
  }
  .md-up-mx-lg {
    margin-inline: 4rem;
  }
  .md-up-p-lg {
    padding: 4rem;
  }
  .md-up-pt-lg {
    padding-top: 4rem;
  }
  .md-up-pb-lg {
    padding-bottom: 4rem;
  }
  .md-up-py-lg {
    padding-block: 4rem;
  }
  .md-up-pl-lg {
    padding-left: 4rem;
  }
  .md-up-pr-lg {
    padding-right: 4rem;
  }
  .md-up-px-lg {
    padding-inline: 4rem;
  }
  .md-up-m-xl {
    margin: 5rem;
  }
  .md-up-mt-xl {
    margin-top: 5rem;
  }
  .md-up-mb-xl {
    margin-bottom: 5rem;
  }
  .md-up-my-xl {
    margin-block: 5rem;
  }
  .md-up-ml-xl {
    margin-left: 5rem;
  }
  .md-up-mr-xl {
    margin-right: 5rem;
  }
  .md-up-mx-xl {
    margin-inline: 5rem;
  }
  .md-up-p-xl {
    padding: 5rem;
  }
  .md-up-pt-xl {
    padding-top: 5rem;
  }
  .md-up-pb-xl {
    padding-bottom: 5rem;
  }
  .md-up-py-xl {
    padding-block: 5rem;
  }
  .md-up-pl-xl {
    padding-left: 5rem;
  }
  .md-up-pr-xl {
    padding-right: 5rem;
  }
  .md-up-px-xl {
    padding-inline: 5rem;
  }
  .md-up-m-xxl {
    margin: 7.5rem;
  }
  .md-up-mt-xxl {
    margin-top: 7.5rem;
  }
  .md-up-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .md-up-my-xxl {
    margin-block: 7.5rem;
  }
  .md-up-ml-xxl {
    margin-left: 7.5rem;
  }
  .md-up-mr-xxl {
    margin-right: 7.5rem;
  }
  .md-up-mx-xxl {
    margin-inline: 7.5rem;
  }
  .md-up-p-xxl {
    padding: 7.5rem;
  }
  .md-up-pt-xxl {
    padding-top: 7.5rem;
  }
  .md-up-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .md-up-py-xxl {
    padding-block: 7.5rem;
  }
  .md-up-pl-xxl {
    padding-left: 7.5rem;
  }
  .md-up-pr-xxl {
    padding-right: 7.5rem;
  }
  .md-up-px-xxl {
    padding-inline: 7.5rem;
  }
  .md-up-m-fluid {
    margin: var(--side-margin);
  }
  .md-up-mt-fluid {
    margin-top: var(--side-margin);
  }
  .md-up-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .md-up-my-fluid {
    margin-block: var(--side-margin);
  }
  .md-up-ml-fluid {
    margin-left: var(--side-margin);
  }
  .md-up-mr-fluid {
    margin-right: var(--side-margin);
  }
  .md-up-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .md-up-p-fluid {
    padding: var(--side-margin);
  }
  .md-up-pt-fluid {
    padding-top: var(--side-margin);
  }
  .md-up-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .md-up-py-fluid {
    padding-block: var(--side-margin);
  }
  .md-up-pl-fluid {
    padding-left: var(--side-margin);
  }
  .md-up-pr-fluid {
    padding-right: var(--side-margin);
  }
  .md-up-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (min-width: 64rem) {
  .lg-up-m-0 {
    margin: 0;
  }
  .lg-up-mt-0 {
    margin-top: 0;
  }
  .lg-up-mb-0 {
    margin-bottom: 0;
  }
  .lg-up-my-0 {
    margin-block: 0;
  }
  .lg-up-ml-0 {
    margin-left: 0;
  }
  .lg-up-mr-0 {
    margin-right: 0;
  }
  .lg-up-mx-0 {
    margin-inline: 0;
  }
  .lg-up-p-0 {
    padding: 0;
  }
  .lg-up-pt-0 {
    padding-top: 0;
  }
  .lg-up-pb-0 {
    padding-bottom: 0;
  }
  .lg-up-py-0 {
    padding-block: 0;
  }
  .lg-up-pl-0 {
    padding-left: 0;
  }
  .lg-up-pr-0 {
    padding-right: 0;
  }
  .lg-up-px-0 {
    padding-inline: 0;
  }
  .lg-up-m-xs {
    margin: 0.5rem;
  }
  .lg-up-mt-xs {
    margin-top: 0.5rem;
  }
  .lg-up-mb-xs {
    margin-bottom: 0.5rem;
  }
  .lg-up-my-xs {
    margin-block: 0.5rem;
  }
  .lg-up-ml-xs {
    margin-left: 0.5rem;
  }
  .lg-up-mr-xs {
    margin-right: 0.5rem;
  }
  .lg-up-mx-xs {
    margin-inline: 0.5rem;
  }
  .lg-up-p-xs {
    padding: 0.5rem;
  }
  .lg-up-pt-xs {
    padding-top: 0.5rem;
  }
  .lg-up-pb-xs {
    padding-bottom: 0.5rem;
  }
  .lg-up-py-xs {
    padding-block: 0.5rem;
  }
  .lg-up-pl-xs {
    padding-left: 0.5rem;
  }
  .lg-up-pr-xs {
    padding-right: 0.5rem;
  }
  .lg-up-px-xs {
    padding-inline: 0.5rem;
  }
  .lg-up-m-sm {
    margin: 1rem;
  }
  .lg-up-mt-sm {
    margin-top: 1rem;
  }
  .lg-up-mb-sm {
    margin-bottom: 1rem;
  }
  .lg-up-my-sm {
    margin-block: 1rem;
  }
  .lg-up-ml-sm {
    margin-left: 1rem;
  }
  .lg-up-mr-sm {
    margin-right: 1rem;
  }
  .lg-up-mx-sm {
    margin-inline: 1rem;
  }
  .lg-up-p-sm {
    padding: 1rem;
  }
  .lg-up-pt-sm {
    padding-top: 1rem;
  }
  .lg-up-pb-sm {
    padding-bottom: 1rem;
  }
  .lg-up-py-sm {
    padding-block: 1rem;
  }
  .lg-up-pl-sm {
    padding-left: 1rem;
  }
  .lg-up-pr-sm {
    padding-right: 1rem;
  }
  .lg-up-px-sm {
    padding-inline: 1rem;
  }
  .lg-up-m-md {
    margin: 2rem;
  }
  .lg-up-mt-md {
    margin-top: 2rem;
  }
  .lg-up-mb-md {
    margin-bottom: 2rem;
  }
  .lg-up-my-md {
    margin-block: 2rem;
  }
  .lg-up-ml-md {
    margin-left: 2rem;
  }
  .lg-up-mr-md {
    margin-right: 2rem;
  }
  .lg-up-mx-md {
    margin-inline: 2rem;
  }
  .lg-up-p-md {
    padding: 2rem;
  }
  .lg-up-pt-md {
    padding-top: 2rem;
  }
  .lg-up-pb-md {
    padding-bottom: 2rem;
  }
  .lg-up-py-md {
    padding-block: 2rem;
  }
  .lg-up-pl-md {
    padding-left: 2rem;
  }
  .lg-up-pr-md {
    padding-right: 2rem;
  }
  .lg-up-px-md {
    padding-inline: 2rem;
  }
  .lg-up-m-lg {
    margin: 4rem;
  }
  .lg-up-mt-lg {
    margin-top: 4rem;
  }
  .lg-up-mb-lg {
    margin-bottom: 4rem;
  }
  .lg-up-my-lg {
    margin-block: 4rem;
  }
  .lg-up-ml-lg {
    margin-left: 4rem;
  }
  .lg-up-mr-lg {
    margin-right: 4rem;
  }
  .lg-up-mx-lg {
    margin-inline: 4rem;
  }
  .lg-up-p-lg {
    padding: 4rem;
  }
  .lg-up-pt-lg {
    padding-top: 4rem;
  }
  .lg-up-pb-lg {
    padding-bottom: 4rem;
  }
  .lg-up-py-lg {
    padding-block: 4rem;
  }
  .lg-up-pl-lg {
    padding-left: 4rem;
  }
  .lg-up-pr-lg {
    padding-right: 4rem;
  }
  .lg-up-px-lg {
    padding-inline: 4rem;
  }
  .lg-up-m-xl {
    margin: 5rem;
  }
  .lg-up-mt-xl {
    margin-top: 5rem;
  }
  .lg-up-mb-xl {
    margin-bottom: 5rem;
  }
  .lg-up-my-xl {
    margin-block: 5rem;
  }
  .lg-up-ml-xl {
    margin-left: 5rem;
  }
  .lg-up-mr-xl {
    margin-right: 5rem;
  }
  .lg-up-mx-xl {
    margin-inline: 5rem;
  }
  .lg-up-p-xl {
    padding: 5rem;
  }
  .lg-up-pt-xl {
    padding-top: 5rem;
  }
  .lg-up-pb-xl {
    padding-bottom: 5rem;
  }
  .lg-up-py-xl {
    padding-block: 5rem;
  }
  .lg-up-pl-xl {
    padding-left: 5rem;
  }
  .lg-up-pr-xl {
    padding-right: 5rem;
  }
  .lg-up-px-xl {
    padding-inline: 5rem;
  }
  .lg-up-m-xxl {
    margin: 7.5rem;
  }
  .lg-up-mt-xxl {
    margin-top: 7.5rem;
  }
  .lg-up-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .lg-up-my-xxl {
    margin-block: 7.5rem;
  }
  .lg-up-ml-xxl {
    margin-left: 7.5rem;
  }
  .lg-up-mr-xxl {
    margin-right: 7.5rem;
  }
  .lg-up-mx-xxl {
    margin-inline: 7.5rem;
  }
  .lg-up-p-xxl {
    padding: 7.5rem;
  }
  .lg-up-pt-xxl {
    padding-top: 7.5rem;
  }
  .lg-up-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .lg-up-py-xxl {
    padding-block: 7.5rem;
  }
  .lg-up-pl-xxl {
    padding-left: 7.5rem;
  }
  .lg-up-pr-xxl {
    padding-right: 7.5rem;
  }
  .lg-up-px-xxl {
    padding-inline: 7.5rem;
  }
  .lg-up-m-fluid {
    margin: var(--side-margin);
  }
  .lg-up-mt-fluid {
    margin-top: var(--side-margin);
  }
  .lg-up-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .lg-up-my-fluid {
    margin-block: var(--side-margin);
  }
  .lg-up-ml-fluid {
    margin-left: var(--side-margin);
  }
  .lg-up-mr-fluid {
    margin-right: var(--side-margin);
  }
  .lg-up-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .lg-up-p-fluid {
    padding: var(--side-margin);
  }
  .lg-up-pt-fluid {
    padding-top: var(--side-margin);
  }
  .lg-up-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .lg-up-py-fluid {
    padding-block: var(--side-margin);
  }
  .lg-up-pl-fluid {
    padding-left: var(--side-margin);
  }
  .lg-up-pr-fluid {
    padding-right: var(--side-margin);
  }
  .lg-up-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (min-width: 79rem) {
  .xl-up-m-0 {
    margin: 0;
  }
  .xl-up-mt-0 {
    margin-top: 0;
  }
  .xl-up-mb-0 {
    margin-bottom: 0;
  }
  .xl-up-my-0 {
    margin-block: 0;
  }
  .xl-up-ml-0 {
    margin-left: 0;
  }
  .xl-up-mr-0 {
    margin-right: 0;
  }
  .xl-up-mx-0 {
    margin-inline: 0;
  }
  .xl-up-p-0 {
    padding: 0;
  }
  .xl-up-pt-0 {
    padding-top: 0;
  }
  .xl-up-pb-0 {
    padding-bottom: 0;
  }
  .xl-up-py-0 {
    padding-block: 0;
  }
  .xl-up-pl-0 {
    padding-left: 0;
  }
  .xl-up-pr-0 {
    padding-right: 0;
  }
  .xl-up-px-0 {
    padding-inline: 0;
  }
  .xl-up-m-xs {
    margin: 0.5rem;
  }
  .xl-up-mt-xs {
    margin-top: 0.5rem;
  }
  .xl-up-mb-xs {
    margin-bottom: 0.5rem;
  }
  .xl-up-my-xs {
    margin-block: 0.5rem;
  }
  .xl-up-ml-xs {
    margin-left: 0.5rem;
  }
  .xl-up-mr-xs {
    margin-right: 0.5rem;
  }
  .xl-up-mx-xs {
    margin-inline: 0.5rem;
  }
  .xl-up-p-xs {
    padding: 0.5rem;
  }
  .xl-up-pt-xs {
    padding-top: 0.5rem;
  }
  .xl-up-pb-xs {
    padding-bottom: 0.5rem;
  }
  .xl-up-py-xs {
    padding-block: 0.5rem;
  }
  .xl-up-pl-xs {
    padding-left: 0.5rem;
  }
  .xl-up-pr-xs {
    padding-right: 0.5rem;
  }
  .xl-up-px-xs {
    padding-inline: 0.5rem;
  }
  .xl-up-m-sm {
    margin: 1rem;
  }
  .xl-up-mt-sm {
    margin-top: 1rem;
  }
  .xl-up-mb-sm {
    margin-bottom: 1rem;
  }
  .xl-up-my-sm {
    margin-block: 1rem;
  }
  .xl-up-ml-sm {
    margin-left: 1rem;
  }
  .xl-up-mr-sm {
    margin-right: 1rem;
  }
  .xl-up-mx-sm {
    margin-inline: 1rem;
  }
  .xl-up-p-sm {
    padding: 1rem;
  }
  .xl-up-pt-sm {
    padding-top: 1rem;
  }
  .xl-up-pb-sm {
    padding-bottom: 1rem;
  }
  .xl-up-py-sm {
    padding-block: 1rem;
  }
  .xl-up-pl-sm {
    padding-left: 1rem;
  }
  .xl-up-pr-sm {
    padding-right: 1rem;
  }
  .xl-up-px-sm {
    padding-inline: 1rem;
  }
  .xl-up-m-md {
    margin: 2rem;
  }
  .xl-up-mt-md {
    margin-top: 2rem;
  }
  .xl-up-mb-md {
    margin-bottom: 2rem;
  }
  .xl-up-my-md {
    margin-block: 2rem;
  }
  .xl-up-ml-md {
    margin-left: 2rem;
  }
  .xl-up-mr-md {
    margin-right: 2rem;
  }
  .xl-up-mx-md {
    margin-inline: 2rem;
  }
  .xl-up-p-md {
    padding: 2rem;
  }
  .xl-up-pt-md {
    padding-top: 2rem;
  }
  .xl-up-pb-md {
    padding-bottom: 2rem;
  }
  .xl-up-py-md {
    padding-block: 2rem;
  }
  .xl-up-pl-md {
    padding-left: 2rem;
  }
  .xl-up-pr-md {
    padding-right: 2rem;
  }
  .xl-up-px-md {
    padding-inline: 2rem;
  }
  .xl-up-m-lg {
    margin: 4rem;
  }
  .xl-up-mt-lg {
    margin-top: 4rem;
  }
  .xl-up-mb-lg {
    margin-bottom: 4rem;
  }
  .xl-up-my-lg {
    margin-block: 4rem;
  }
  .xl-up-ml-lg {
    margin-left: 4rem;
  }
  .xl-up-mr-lg {
    margin-right: 4rem;
  }
  .xl-up-mx-lg {
    margin-inline: 4rem;
  }
  .xl-up-p-lg {
    padding: 4rem;
  }
  .xl-up-pt-lg {
    padding-top: 4rem;
  }
  .xl-up-pb-lg {
    padding-bottom: 4rem;
  }
  .xl-up-py-lg {
    padding-block: 4rem;
  }
  .xl-up-pl-lg {
    padding-left: 4rem;
  }
  .xl-up-pr-lg {
    padding-right: 4rem;
  }
  .xl-up-px-lg {
    padding-inline: 4rem;
  }
  .xl-up-m-xl {
    margin: 5rem;
  }
  .xl-up-mt-xl {
    margin-top: 5rem;
  }
  .xl-up-mb-xl {
    margin-bottom: 5rem;
  }
  .xl-up-my-xl {
    margin-block: 5rem;
  }
  .xl-up-ml-xl {
    margin-left: 5rem;
  }
  .xl-up-mr-xl {
    margin-right: 5rem;
  }
  .xl-up-mx-xl {
    margin-inline: 5rem;
  }
  .xl-up-p-xl {
    padding: 5rem;
  }
  .xl-up-pt-xl {
    padding-top: 5rem;
  }
  .xl-up-pb-xl {
    padding-bottom: 5rem;
  }
  .xl-up-py-xl {
    padding-block: 5rem;
  }
  .xl-up-pl-xl {
    padding-left: 5rem;
  }
  .xl-up-pr-xl {
    padding-right: 5rem;
  }
  .xl-up-px-xl {
    padding-inline: 5rem;
  }
  .xl-up-m-xxl {
    margin: 7.5rem;
  }
  .xl-up-mt-xxl {
    margin-top: 7.5rem;
  }
  .xl-up-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .xl-up-my-xxl {
    margin-block: 7.5rem;
  }
  .xl-up-ml-xxl {
    margin-left: 7.5rem;
  }
  .xl-up-mr-xxl {
    margin-right: 7.5rem;
  }
  .xl-up-mx-xxl {
    margin-inline: 7.5rem;
  }
  .xl-up-p-xxl {
    padding: 7.5rem;
  }
  .xl-up-pt-xxl {
    padding-top: 7.5rem;
  }
  .xl-up-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .xl-up-py-xxl {
    padding-block: 7.5rem;
  }
  .xl-up-pl-xxl {
    padding-left: 7.5rem;
  }
  .xl-up-pr-xxl {
    padding-right: 7.5rem;
  }
  .xl-up-px-xxl {
    padding-inline: 7.5rem;
  }
  .xl-up-m-fluid {
    margin: var(--side-margin);
  }
  .xl-up-mt-fluid {
    margin-top: var(--side-margin);
  }
  .xl-up-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .xl-up-my-fluid {
    margin-block: var(--side-margin);
  }
  .xl-up-ml-fluid {
    margin-left: var(--side-margin);
  }
  .xl-up-mr-fluid {
    margin-right: var(--side-margin);
  }
  .xl-up-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .xl-up-p-fluid {
    padding: var(--side-margin);
  }
  .xl-up-pt-fluid {
    padding-top: var(--side-margin);
  }
  .xl-up-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .xl-up-py-fluid {
    padding-block: var(--side-margin);
  }
  .xl-up-pl-fluid {
    padding-left: var(--side-margin);
  }
  .xl-up-pr-fluid {
    padding-right: var(--side-margin);
  }
  .xl-up-px-fluid {
    padding-inline: var(--side-margin);
  }
}
@media (min-width: 90rem) {
  .xxl-up-m-0 {
    margin: 0;
  }
  .xxl-up-mt-0 {
    margin-top: 0;
  }
  .xxl-up-mb-0 {
    margin-bottom: 0;
  }
  .xxl-up-my-0 {
    margin-block: 0;
  }
  .xxl-up-ml-0 {
    margin-left: 0;
  }
  .xxl-up-mr-0 {
    margin-right: 0;
  }
  .xxl-up-mx-0 {
    margin-inline: 0;
  }
  .xxl-up-p-0 {
    padding: 0;
  }
  .xxl-up-pt-0 {
    padding-top: 0;
  }
  .xxl-up-pb-0 {
    padding-bottom: 0;
  }
  .xxl-up-py-0 {
    padding-block: 0;
  }
  .xxl-up-pl-0 {
    padding-left: 0;
  }
  .xxl-up-pr-0 {
    padding-right: 0;
  }
  .xxl-up-px-0 {
    padding-inline: 0;
  }
  .xxl-up-m-xs {
    margin: 0.5rem;
  }
  .xxl-up-mt-xs {
    margin-top: 0.5rem;
  }
  .xxl-up-mb-xs {
    margin-bottom: 0.5rem;
  }
  .xxl-up-my-xs {
    margin-block: 0.5rem;
  }
  .xxl-up-ml-xs {
    margin-left: 0.5rem;
  }
  .xxl-up-mr-xs {
    margin-right: 0.5rem;
  }
  .xxl-up-mx-xs {
    margin-inline: 0.5rem;
  }
  .xxl-up-p-xs {
    padding: 0.5rem;
  }
  .xxl-up-pt-xs {
    padding-top: 0.5rem;
  }
  .xxl-up-pb-xs {
    padding-bottom: 0.5rem;
  }
  .xxl-up-py-xs {
    padding-block: 0.5rem;
  }
  .xxl-up-pl-xs {
    padding-left: 0.5rem;
  }
  .xxl-up-pr-xs {
    padding-right: 0.5rem;
  }
  .xxl-up-px-xs {
    padding-inline: 0.5rem;
  }
  .xxl-up-m-sm {
    margin: 1rem;
  }
  .xxl-up-mt-sm {
    margin-top: 1rem;
  }
  .xxl-up-mb-sm {
    margin-bottom: 1rem;
  }
  .xxl-up-my-sm {
    margin-block: 1rem;
  }
  .xxl-up-ml-sm {
    margin-left: 1rem;
  }
  .xxl-up-mr-sm {
    margin-right: 1rem;
  }
  .xxl-up-mx-sm {
    margin-inline: 1rem;
  }
  .xxl-up-p-sm {
    padding: 1rem;
  }
  .xxl-up-pt-sm {
    padding-top: 1rem;
  }
  .xxl-up-pb-sm {
    padding-bottom: 1rem;
  }
  .xxl-up-py-sm {
    padding-block: 1rem;
  }
  .xxl-up-pl-sm {
    padding-left: 1rem;
  }
  .xxl-up-pr-sm {
    padding-right: 1rem;
  }
  .xxl-up-px-sm {
    padding-inline: 1rem;
  }
  .xxl-up-m-md {
    margin: 2rem;
  }
  .xxl-up-mt-md {
    margin-top: 2rem;
  }
  .xxl-up-mb-md {
    margin-bottom: 2rem;
  }
  .xxl-up-my-md {
    margin-block: 2rem;
  }
  .xxl-up-ml-md {
    margin-left: 2rem;
  }
  .xxl-up-mr-md {
    margin-right: 2rem;
  }
  .xxl-up-mx-md {
    margin-inline: 2rem;
  }
  .xxl-up-p-md {
    padding: 2rem;
  }
  .xxl-up-pt-md {
    padding-top: 2rem;
  }
  .xxl-up-pb-md {
    padding-bottom: 2rem;
  }
  .xxl-up-py-md {
    padding-block: 2rem;
  }
  .xxl-up-pl-md {
    padding-left: 2rem;
  }
  .xxl-up-pr-md {
    padding-right: 2rem;
  }
  .xxl-up-px-md {
    padding-inline: 2rem;
  }
  .xxl-up-m-lg {
    margin: 4rem;
  }
  .xxl-up-mt-lg {
    margin-top: 4rem;
  }
  .xxl-up-mb-lg {
    margin-bottom: 4rem;
  }
  .xxl-up-my-lg {
    margin-block: 4rem;
  }
  .xxl-up-ml-lg {
    margin-left: 4rem;
  }
  .xxl-up-mr-lg {
    margin-right: 4rem;
  }
  .xxl-up-mx-lg {
    margin-inline: 4rem;
  }
  .xxl-up-p-lg {
    padding: 4rem;
  }
  .xxl-up-pt-lg {
    padding-top: 4rem;
  }
  .xxl-up-pb-lg {
    padding-bottom: 4rem;
  }
  .xxl-up-py-lg {
    padding-block: 4rem;
  }
  .xxl-up-pl-lg {
    padding-left: 4rem;
  }
  .xxl-up-pr-lg {
    padding-right: 4rem;
  }
  .xxl-up-px-lg {
    padding-inline: 4rem;
  }
  .xxl-up-m-xl {
    margin: 5rem;
  }
  .xxl-up-mt-xl {
    margin-top: 5rem;
  }
  .xxl-up-mb-xl {
    margin-bottom: 5rem;
  }
  .xxl-up-my-xl {
    margin-block: 5rem;
  }
  .xxl-up-ml-xl {
    margin-left: 5rem;
  }
  .xxl-up-mr-xl {
    margin-right: 5rem;
  }
  .xxl-up-mx-xl {
    margin-inline: 5rem;
  }
  .xxl-up-p-xl {
    padding: 5rem;
  }
  .xxl-up-pt-xl {
    padding-top: 5rem;
  }
  .xxl-up-pb-xl {
    padding-bottom: 5rem;
  }
  .xxl-up-py-xl {
    padding-block: 5rem;
  }
  .xxl-up-pl-xl {
    padding-left: 5rem;
  }
  .xxl-up-pr-xl {
    padding-right: 5rem;
  }
  .xxl-up-px-xl {
    padding-inline: 5rem;
  }
  .xxl-up-m-xxl {
    margin: 7.5rem;
  }
  .xxl-up-mt-xxl {
    margin-top: 7.5rem;
  }
  .xxl-up-mb-xxl {
    margin-bottom: 7.5rem;
  }
  .xxl-up-my-xxl {
    margin-block: 7.5rem;
  }
  .xxl-up-ml-xxl {
    margin-left: 7.5rem;
  }
  .xxl-up-mr-xxl {
    margin-right: 7.5rem;
  }
  .xxl-up-mx-xxl {
    margin-inline: 7.5rem;
  }
  .xxl-up-p-xxl {
    padding: 7.5rem;
  }
  .xxl-up-pt-xxl {
    padding-top: 7.5rem;
  }
  .xxl-up-pb-xxl {
    padding-bottom: 7.5rem;
  }
  .xxl-up-py-xxl {
    padding-block: 7.5rem;
  }
  .xxl-up-pl-xxl {
    padding-left: 7.5rem;
  }
  .xxl-up-pr-xxl {
    padding-right: 7.5rem;
  }
  .xxl-up-px-xxl {
    padding-inline: 7.5rem;
  }
  .xxl-up-m-fluid {
    margin: var(--side-margin);
  }
  .xxl-up-mt-fluid {
    margin-top: var(--side-margin);
  }
  .xxl-up-mb-fluid {
    margin-bottom: var(--side-margin);
  }
  .xxl-up-my-fluid {
    margin-block: var(--side-margin);
  }
  .xxl-up-ml-fluid {
    margin-left: var(--side-margin);
  }
  .xxl-up-mr-fluid {
    margin-right: var(--side-margin);
  }
  .xxl-up-mx-fluid {
    margin-inline: var(--side-margin);
  }
  .xxl-up-p-fluid {
    padding: var(--side-margin);
  }
  .xxl-up-pt-fluid {
    padding-top: var(--side-margin);
  }
  .xxl-up-pb-fluid {
    padding-bottom: var(--side-margin);
  }
  .xxl-up-py-fluid {
    padding-block: var(--side-margin);
  }
  .xxl-up-pl-fluid {
    padding-left: var(--side-margin);
  }
  .xxl-up-pr-fluid {
    padding-right: var(--side-margin);
  }
  .xxl-up-px-fluid {
    padding-inline: var(--side-margin);
  }
}
/*
|
| BACKGROUND COLORS
|----------------
|
*/
.bg-black {
  background-color: #0B0B0B;
}

.bg-white {
  background-color: #fff;
}

.bg-green {
  background-color: #17bd54;
}

.bg-green-light {
  background-color: #f3fbf6;
}

.bg-blue {
  background-color: #1D428A;
}

.bg-ecole {
  background-color: #DC036D;
}

.bg-college {
  background-color: #1BB9D6;
}

.bg-lycee {
  background-color: #4080FC;
}

.bg-prepas {
  background-color: #FFDA1F;
}

.bg-parcours-bilingue {
  background-color: #8D52FF;
}

/*
|
| TEXT ALIGNS
|----------------
|
*/
/*
|
| FONT FAMILIES
|----------------
|
*/
/*
|
| FONT SIZES
|----------------
|
*/
/*
|
| FONT WEIGHTS
|----------------
|
*/
/*
|
| TITLES
|----------------
|
*/
/*
|
| COLORS
|----------------
|
*/
.c-black {
  color: #0B0B0B;
}

.c-white {
  color: #fff;
}

.c-green {
  color: #17bd54;
}

.c-green-light {
  color: #f3fbf6;
}

.c-blue {
  color: #1D428A;
}

.c-ecole {
  color: #DC036D;
}

.c-college {
  color: #1BB9D6;
}

.c-lycee {
  color: #4080FC;
}

.c-prepas {
  color: #FFDA1F;
}

.c-parcours-bilingue {
  color: #8D52FF;
}

/**
 * Swiper 11.2.8
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: May 23, 2025
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

:root {
  --header-height: 112px;
  --side-margin: clamp(20px, 3.5vw, 70px);
  --container-width: 88.375rem;
}

@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/200.woff2) format("truetype");
  font-weight: 200;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/300.woff2) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/400.woff2) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/500.woff2) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/600.woff2) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url(../fonts/ibm/700.woff2) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
}
@font-face {
  font-family: "Merchant";
  src: url(../fonts/merchant/200.woff2) format("truetype");
  font-weight: 200;
  font-style: normal;
  font-stretch: normal;
}
* {
  margin: 0;
  padding: 0;
}

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

html {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

hr {
  border: 0;
}

button,
input,
select,
textarea {
  border: 0;
  border-radius: 0;
  background-color: transparent;
  appearance: none;
  letter-spacing: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

a,
button,
select,
input,
textarea {
  color: inherit;
}

a,
button {
  cursor: pointer;
}

button {
  text-transform: inherit;
}

a {
  text-decoration: none;
}

ol li,
ul li {
  list-style-type: none;
}

ul {
  margin: 0;
  padding: 0;
}
ul li {
  list-style-type: none;
}

[hidden] {
  display: none !important;
}

html,
body {
  scroll-behavior: smooth;
}
@media (hover: hover) {
  html,
  body {
    overscroll-behavior: none;
  }
}

body {
  display: flex;
  min-height: 100dvh;
  flex-direction: column;
  font-family: IBM Plex Sans, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
@media (min-width: 64rem) {
  body::before {
    position: fixed;
    inset: 0;
    z-index: 998;
    background-color: rgba(0, 0, 0, 0.5);
    content: "";
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
  }
  body:has(.submenu:is([data-state=opening], [data-state=opened]))::before {
    opacity: 1;
  }
}

.wrapper {
  flex: 1 1 auto;
}

.quick-access {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.quick-access:not(:focus-within) {
  opacity: 0;
}
.quick-access-link:not(:focus-visible) {
  width: 0;
  height: 0;
  position: absolute;
  overflow: hidden;
}

.disp-desk {
  display: block;
}
@media (max-width: 63.98rem) {
  .disp-desk {
    display: none;
  }
}

.disp-mob {
  display: none;
}
@media (max-width: 63.98rem) {
  .disp-mob {
    display: block;
  }
}

.image-content {
  position: relative;
  aspect-ratio: 16/9;
}
@media (max-width: 63.98rem) {
  .image-content {
    height: 12rem;
    width: 100%;
    aspect-ratio: inherit;
  }
}
.image-content img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.intoduction {
  color: #535353;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
@media (min-width: 64rem) {
  .intoduction {
    width: 75%;
  }
}

.summary-wrapper {
  display: flex;
  align-items: flex-start;
  position: relative;
  height: 100%;
}
@media (max-width: 63.98rem) {
  .summary-wrapper {
    display: block;
    padding: 0;
    margin: 3rem 0;
  }
}
@media (max-width: 63.98rem) {
  .summary-wrapper + .container {
    width: 100%;
  }
}
.summary-wrapper .summary-post {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  height: calc(100% - 7rem);
  width: calc(28vw - 3rem);
}
@media (max-width: 63.98rem) {
  .summary-wrapper .summary-post {
    width: 100%;
    height: auto;
    bottom: inherit;
    position: sticky;
    top: 0;
    background: #0B0B0B;
    border: 1px solid white;
    padding: 18px 1rem;
    z-index: auto;
  }
  .summary-wrapper .summary-post.is-sticky {
    z-index: 999;
  }
}
.summary-wrapper .summary-post .summary-dropdown {
  display: none;
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
  border: 1px solid #0B0B0B;
  background: #fff;
  color: #0B0B0B;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg fill=\"black\" height=\"20\" viewBox=\"0 0 24 24\" width=\"20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 10l5 5 5-5z\"/></svg>");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1.2rem 1.2rem;
}
@media (max-width: 63.98rem) {
  .summary-wrapper .summary-post .summary-dropdown {
    display: block;
  }
}
.summary-wrapper .summary-post ul {
  position: sticky;
  top: 7rem;
  flex: 0 0 26%;
  padding: 2rem;
  background: #0B0B0B;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  z-index: 2;
}
@media (max-width: 63.98rem) {
  .summary-wrapper .summary-post ul {
    display: none;
  }
}
.summary-wrapper .summary-post a {
  position: relative;
  display: block;
  padding: 0;
  transition: all 0.3s ease;
}
.summary-wrapper .summary-post a::after {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0;
  width: 1rem;
  height: 2px;
  background: #17bd54;
  transform: scaleX(0);
  transform-origin: left center;
  transition: all 0.3s ease;
}
.summary-wrapper .summary-post a.active {
  font-weight: 700;
  padding-left: 28px;
}
.summary-wrapper .summary-post a.active::after {
  transform: scaleX(1);
}

.title-h1 {
  font-size: 6rem;
  font-weight: 200;
  line-height: 110%;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .title-h1 {
    font-size: 3rem;
  }
}
@media (max-width: 47.98rem) {
  .title-h1 {
    font-size: 2rem;
  }
}

.title-h2 {
  color: #0B0B0B;
  font-size: 3.5rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .title-h2 {
    font-size: 2.8rem;
  }
}
@media (max-width: 47.98rem) {
  .title-h2 {
    font-size: 2rem;
  }
}

.title-h3 {
  color: #0B0B0B;
  font-size: 2rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .title-h3 {
    font-size: 1.8rem;
  }
}

.suptitle {
  font-size: 1.375rem;
  line-height: 130%;
  position: relative;
  color: #fff;
}
.suptitle:before {
  content: "";
  height: 0.5rem;
  aspect-ratio: 1;
  display: block;
  border-radius: 10rem;
  margin-top: 0.65rem;
  margin-right: 0.7rem;
  float: left;
  background-color: #1D428A;
}

.m-a {
  margin-left: auto;
  margin-right: auto;
}

.o-h {
  overflow: hidden;
}

.rel {
  position: relative;
}

.z1 {
  z-index: 1;
  position: relative;
}

.w-100 {
  width: 100%;
}

.mw-100 {
  max-width: 100%;
}

.m-0 {
  margin: 0 !important;
}

.mw-0 {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.h-100 {
  height: 100%;
}

.gap-0 {
  gap: 0rem;
}

.gap-1 {
  gap: 1rem;
}

.gx-20 {
  --gx:19px;
}

.va-b {
  display: flex;
  vertical-align: bottom;
  align-items: end;
}

.txt-c {
  text-align: center;
}

.dflex {
  display: flex;
  align-items: center;
  vertical-align: middle;
}

.reverse {
  flex-direction: row-reverse !important;
}

.mt-0-5 {
  margin-top: 0.5rem;
}

.al-rc {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 47.98rem) {
  .al-rc {
    display: block;
  }
}

.al-rb {
  display: flex;
  justify-content: flex-end;
  align-items: end;
}
@media (max-width: 47.98rem) {
  .al-rb {
    display: block;
  }
}

.ai-i {
  align-items: initial;
}

.w-fc {
  width: fit-content;
}

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

.txt-c {
  text-align: center;
}

.sticky {
  top: 8rem;
  position: sticky;
  margin-bottom: 4rem;
}

.icon {
  display: inline-block;
  width: 1em;
  min-width: 1em;
  height: 1em;
  min-height: 1em;
  fill: none;
}
.icon [fill] {
  fill: currentColor;
}
.icon [stroke] {
  stroke: currentColor;
}

:is(.media-contain, .media-cover) {
  position: relative;
  overflow: hidden;
}
:is(.media-contain, .media-cover) :is(img, video, iframe) {
  display: block;
  position: absolute;
  inset: 0;
}
.media-contain :is(img, video) {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
}
.media-contain iframe {
  margin: auto;
}
.media-cover :is(img, video, iframe) {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.screen-reader-text {
  width: 0;
  height: 0;
  position: absolute;
  overflow: hidden;
}

.cms p:not(:first-child),
.cms ul:not(:first-child),
.cms ol:not(:first-child),
.cms h1:not(:first-child),
.cms h2:not(:first-child),
.cms h3:not(:first-child),
.cms h4:not(:first-child),
.cms h5:not(:first-child),
.cms h6:not(:first-child),
.cms table:not(:first-child) {
  margin-top: 1em;
}
.cms h2 {
  color: #0B0B0B;
  font-size: 3.5rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .cms h2 {
    font-size: 2.8rem;
  }
}
@media (max-width: 47.98rem) {
  .cms h2 {
    font-size: 2rem;
  }
}
.cms h3 {
  color: #0B0B0B;
  font-size: 2rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .cms h3 {
    font-size: 1.8rem;
  }
}
.cms h4 {
  color: #0B0B0B;
  font-size: 1.5rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .cms h4 {
    font-size: 1.3rem;
  }
}
.cms h5 {
  color: #0B0B0B;
  font-size: 1.4rem;
  line-height: 110%;
  font-weight: 200;
  font-family: "Merchant";
}
@media (max-width: 63.98rem) {
  .cms h5 {
    font-size: 1.2rem;
  }
}
.cms img {
  display: block;
  width: 100%;
  height: auto;
}
.cms iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}
.cms ul:not([class]) li:not(:first-child),
.cms ol:not([class]) li:not(:first-child) {
  margin-top: 0.25em;
}
.cms ol:not([class]) li {
  list-style: decimal;
}
.cms ul {
  list-style: none;
  margin-left: 1rem;
}
.cms ul li {
  position: relative;
  padding-left: 1rem;
}
.cms ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 0.4em;
  height: 0.4em;
  min-width: 0.4em;
  min-height: 0.4em;
  background-color: #0fbd54;
  border-radius: 50%;
}
.cms a:not([class]) {
  color: #17bd54;
  word-break: break-all;
  overflow-wrap: anywhere;
  text-decoration: underline;
}
.cms table th,
.cms table td {
  padding-block: 0.25rem;
}
.cms table th:not(:last-child),
.cms table td:not(:last-child) {
  padding-right: 1rem;
}

body > div > span[style*="font-weight: bold;"] {
  display: none !important;
}

.button {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.button .button__label {
  font-size: 1rem;
  font-weight: 500;
  padding-right: 1rem;
  background: none;
}
.button .button__square {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 2.5rem;
  width: 2.5rem;
  min-width: 2.5rem;
  background: #17bd54;
  overflow: hidden;
}
.button .button__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  background-image: url(../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, -50%);
  transition: transform 1s, opacity 1s;
  opacity: 1;
  pointer-events: none;
}
.button .button__arrow--in {
  transform: translate(-150%, -50%);
  opacity: 0;
}
.button:hover .button__arrow--out {
  transform: translate(150%, -50%);
  opacity: 0;
}
.button:hover .button__arrow--in {
  transform: translate(-50%, -50%);
  opacity: 1;
}
.button.btn_black .button__label {
  color: #0B0B0B;
}
.button.btn-alt .button__label {
  color: #fff;
  background-color: #17bd54;
  padding: 8px 0rem 8px 1rem;
}

.post-card {
  position: relative;
  overflow: hidden;
}
.post-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: transparent;
  transition: background-color 0.7s;
  z-index: 0;
}
.post-card .image-content {
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: block;
  background: #f4fbf7;
}
.post-card .image-content .post-card-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  transition: all ease 0.7s;
}
.post-card .image-content .post-card-tag {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 1;
  background: #fff;
  transition: all ease 0.7s;
}
.post-card .image-content .post-card-tag span {
  display: block;
  padding: 0.2rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #0B0B0B;
  text-transform: uppercase;
}
.post-card .image-content .post-card-tag span.name::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin-top: -3px;
  margin-right: 0.4rem;
  vertical-align: middle;
  background-color: #17bd54;
}
.post-card .image-content .post-card-datebox {
  position: absolute;
  bottom: 0.7rem;
  left: 0.7rem;
  background-color: #0B0B0B;
  color: #fff;
  text-align: center;
  z-index: 2;
  min-width: 6rem;
  padding: 0.3rem 0.4rem 0.375rem 0.4rem;
}
.post-card .image-content .post-card-datebox .day {
  color: #fff;
  text-align: center;
  font-family: Merchant;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 2.375rem;
  letter-spacing: 0.0425rem;
  display: block;
}
.post-card .image-content .post-card-datebox .month {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
}
.post-card .image-content svg {
  position: absolute;
  right: -1px;
  bottom: -1px;
}
.post-card .details {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  height: 14rem;
  border-bottom: 1px solid #d0cece;
}
.post-card .details .post-card-title {
  font-family: Merchant;
  font-size: 1.625rem;
  font-weight: 200;
  line-height: 2rem;
  color: #0B0B0B;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card .details .post-card-infos {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.625rem;
  color: #17bd54;
  margin-top: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card .details .post-card-intro {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
  margin-top: 0.5rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card .details .post-card-complement {
  font-size: 1rem;
  line-height: 1.625rem;
  margin-top: 0.5rem;
  color: #0B0B0B;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.post-card .details .more {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: auto;
  font-size: 1rem;
  font-weight: 500;
  transition: all ease 0.4s;
}
.post-card .details .more svg {
  width: 0.6rem;
  height: 0.6rem;
  min-width: 0.6rem;
  color: #17bd54;
}
.post-card .post-card-details {
  display: block;
  opacity: 0.4;
  font-size: 0.875rem;
}
.post-card .post-card-details .post-card-cat,
.post-card .post-card-details .post-card-date {
  display: inline-block;
  vertical-align: middle;
}
.post-card .post-card-details .post-card-date span {
  display: inline-block;
  padding: 0 0.4rem;
}
.post-card .post-file {
  display: block;
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 150%;
  color: #1D428A;
  text-transform: uppercase;
  text-decoration: underline;
}
.post-card:hover .image-content .post-card-image {
  transform: scale(1.06);
}
.post-card:hover .more {
  gap: 1.2rem;
}
.post-card:hover .name {
  color: white !important;
  background-color: #17bd54 !important;
}
.post-card:hover .name:before {
  content: "";
  background-color: white !important;
}

.post-card .post-card-tag .name.cat-black::before {
  background-color: #0B0B0B !important;
}

.post-card:hover .post-card-tag .name.cat-black {
  background-color: #0B0B0B !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-black::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-white::before {
  background-color: #fff !important;
}

.post-card:hover .post-card-tag .name.cat-white {
  background-color: #fff !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-white::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-green::before {
  background-color: #17bd54 !important;
}

.post-card:hover .post-card-tag .name.cat-green {
  background-color: #17bd54 !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-green::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-green-light::before {
  background-color: #f3fbf6 !important;
}

.post-card:hover .post-card-tag .name.cat-green-light {
  background-color: #f3fbf6 !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-green-light::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-blue::before {
  background-color: #1D428A !important;
}

.post-card:hover .post-card-tag .name.cat-blue {
  background-color: #1D428A !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-blue::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-ecole::before {
  background-color: #DC036D !important;
}

.post-card:hover .post-card-tag .name.cat-ecole {
  background-color: #DC036D !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-ecole::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-college::before {
  background-color: #1BB9D6 !important;
}

.post-card:hover .post-card-tag .name.cat-college {
  background-color: #1BB9D6 !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-college::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-lycee::before {
  background-color: #4080FC !important;
}

.post-card:hover .post-card-tag .name.cat-lycee {
  background-color: #4080FC !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-lycee::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-prepas::before {
  background-color: #FFDA1F !important;
}

.post-card:hover .post-card-tag .name.cat-prepas {
  background-color: #FFDA1F !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-prepas::before {
  background-color: #fff !important;
}

.post-card .post-card-tag .name.cat-parcours-bilingue::before {
  background-color: #8D52FF !important;
}

.post-card:hover .post-card-tag .name.cat-parcours-bilingue {
  background-color: #8D52FF !important;
  color: #fff;
}

.post-card:hover .post-card-tag .name.cat-parcours-bilingue::before {
  background-color: #fff !important;
}

.modal {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.9);
  padding: var(--side-margin);
  overflow: auto;
  transition: background-color 0.5s ease;
}
.modal-inner {
  padding: var(--side-margin);
  margin: auto;
  background-color: #fff;
  color: #000;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
[role=dialog] > .modal-inner {
  width: 100%;
  max-width: 54rem;
}

[role=alertdialog] > .modal-inner {
  width: fit-content;
}

.modal[inert] {
  background-color: rgba(0, 0, 0, 0);
}
.modal[inert] .modal-inner {
  opacity: 0;
  transform: translateY(var(--side-margin));
}

.pagination {
  margin: 5rem auto;
  width: fit-content;
}
@media (max-width: 47.98rem) {
  .pagination {
    margin: 1rem auto 0 auto;
  }
}
.pagination, .pagination-list {
  display: flex;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 63.98rem) {
  .pagination, .pagination-list {
    gap: 0.8rem;
  }
}
@media (max-width: 47.98rem) {
  .pagination, .pagination-list {
    gap: 0.6rem;
  }
}
.pagination-arrow {
  vertical-align: middle;
  align-items: center;
  display: flex;
  width: 2rem;
  height: 2rem;
  border: 1px solid #17bd54;
  background-color: #17bd54;
  color: #fff;
}
@media (max-width: 35.98rem) {
  .pagination-arrow {
    width: 1.7rem;
    height: 1.7rem;
  }
}
.pagination-arrow:first-child {
  transform: rotate(-180deg);
}
.pagination .icon {
  margin: auto;
  width: 0.5em;
  min-width: 0.5em;
  height: 0.5em;
  min-height: 0.5em;
}
.pagination .icon path {
  stroke: #fff;
}
.pagination-link {
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
  transition: all ease 0.3s;
  font-weight: 300;
}
@media (max-width: 47.98rem) {
  .pagination-link {
    width: 2rem;
    height: 2rem;
    font-size: 0.9rem;
  }
}
@media (max-width: 35.98rem) {
  .pagination-link {
    width: 1.7rem;
    height: 1.7rem;
  }
}
.pagination-link[aria-current=true] {
  color: #17bd54;
}

.breadcrumbs-list {
  display: inline;
  list-style: none;
  margin: 0;
  padding: 0;
  white-space: normal;
}
.breadcrumbs-item {
  display: inline;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.25rem;
  white-space: normal;
}
.breadcrumbs-item .icon {
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  margin: 0 0.4rem;
  vertical-align: middle;
  fill: #17bd54;
}
.breadcrumbs-item .icon {
  color: #17bd54;
  margin-left: 0.3rem;
  margin-right: 0.5rem;
}
.breadcrumbs-item:not(:last-child) {
  margin-right: 0.2rem;
}
.breadcrumbs-item[aria-current=page] {
  color: var(--green);
}
.breadcrumbs-item .cat {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  transition: color 0.3s;
}
.breadcrumbs-link {
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  transition: color 0.3s;
}
.breadcrumbs-link:hover {
  color: #17bd54;
}
.breadcrumbs .separator {
  display: inline-block;
  position: relative;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  font-size: 0;
  margin: 0 0.625rem;
}
.breadcrumbs .separator::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background: var(--green);
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border-radius: 2px;
}

.swiper-button {
  width: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0rem;
  max-width: fit-content;
}
.swiper-button .swiper-button-nt,
.swiper-button .swiper-button-pv {
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  padding: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #0B0B0B;
  transition: all ease 0.3s;
}
@media (max-width: 63.98rem) {
  .swiper-button .swiper-button-nt,
  .swiper-button .swiper-button-pv {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.swiper-button .swiper-button-nt svg,
.swiper-button .swiper-button-pv svg {
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  color: #0B0B0B;
}
.swiper-button .swiper-button-nt.swiper-button-disabled,
.swiper-button .swiper-button-pv.swiper-button-disabled {
  opacity: 0.3;
}
.swiper-button .swiper-button-nt:hover,
.swiper-button .swiper-button-pv:hover {
  color: #fff;
  background-color: #0B0B0B;
}
.swiper-button .swiper-button-nt:hover svg,
.swiper-button .swiper-button-pv:hover svg {
  color: #fff;
}
.swiper-button .swiper-button-pv {
  transform: rotate(180deg);
}
.swiper-button .swiper-button-nt {
  margin-left: 0.5rem;
}
.swiper-button .swiper-button svg {
  width: 8px;
  height: 13px;
}

.banner {
  width: 100%;
  overflow: hidden;
  position: relative;
  height: 1.5rem;
  background: #1D428A;
  z-index: 1;
}
.banner .banner-track {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  will-change: transform;
  transition: none;
}
.banner .banner-text {
  color: white;
  font-size: 0.75rem;
  font-weight: 400;
  white-space: nowrap;
  display: inline-block;
}
.banner.scrolling .banner-track {
  justify-content: flex-start;
  width: max-content;
}
.banner.scrolling .banner-text {
  padding-right: 4rem;
}
.banner.scrolling:hover .banner-track {
  animation-play-state: paused;
}
.banner.scrolling .banner-track {
  animation: banner-scroll 12s linear infinite;
}

@keyframes banner-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.hero-home {
  height: 100vh;
  width: 100%;
  position: relative;
  margin-top: -7rem;
}
@media (max-width: 63.98rem) {
  .hero-home {
    height: initial;
    padding-top: 14rem;
  }
}
.hero-home:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/noise.png);
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.hero-home:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.4;
  background-color: #000;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-home .banner-home {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.hero-home .hero-toggle {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.hero-home .hero-toggle .icon {
  width: 2rem;
  height: 2rem;
  fill: #fff;
  display: inline-flex;
}
.hero-home .hero-toggle[data-state=playing] .icon-play {
  display: none;
}
.hero-home .hero-toggle[data-state=paused] .icon-pause {
  display: none;
}
.hero-home .intro-home {
  position: absolute;
  bottom: 2rem;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  color: #fff;
}
@media (max-width: 63.98rem) {
  .hero-home .intro-home {
    bottom: 3rem;
    position: relative;
  }
}
.hero-home .intro-home .title-h1 {
  font-size: 5.5rem;
}
@media (max-width: 78.98rem) {
  .hero-home .intro-home .title-h1 {
    font-size: 4.5rem;
  }
}
@media (max-width: 63.98rem) {
  .hero-home .intro-home .title-h1 {
    font-size: 3.5rem;
  }
}
@media (max-width: 35.98rem) {
  .hero-home .intro-home .title-h1 {
    font-size: 3rem;
  }
}
.hero-home .intro-home .title-h1 span {
  color: #1D428A;
}
.hero-home .intro-home .description-home {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
.hero-home .intro-home .levels {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.hero-home .intro-home .levels .elem {
  flex: 1 1 calc(20% - 2rem);
  padding: 1.5rem 1.5rem 2.5rem 1.5rem;
  color: #fff;
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  position: relative;
  transition: all ease 0.3s;
}
@media (max-width: 63.98rem) {
  .hero-home .intro-home .levels .elem {
    flex: 1 1 calc(100% - 2rem);
  }
}
.hero-home .intro-home .levels .elem:before {
  content: "";
  width: 0%;
  height: 0.375rem;
  display: block;
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  transition: all ease 0.5s;
}
.hero-home .intro-home .levels .elem .name {
  font-family: "Merchant";
  font-size: 1.625rem;
  line-height: 2rem;
  font-weight: 300;
  margin-bottom: 0.5rem;
  display: block;
}
.hero-home .intro-home .levels .elem .text {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  display: block;
}
.hero-home .intro-home .levels .elem .link {
  position: absolute;
  bottom: -1.5rem;
  width: 3rem;
  height: 3rem;
  display: block;
  left: 0;
}
.hero-home .intro-home .levels .elem .link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #fff;
  color: #0B0B0B;
  font-size: 2rem;
  text-decoration: none;
  transition: all 0.3s ease;
}
.hero-home .intro-home .levels .elem .link .button__label {
  display: none;
}
.hero-home .intro-home .levels .elem .link .button__square {
  width: 3rem;
  height: 3rem;
  left: 1.5rem;
  background: #fff;
}
.hero-home .intro-home .levels .elem .link .button__arrow {
  transition: all ease 0.8s;
  background-image: url(../img/arrow_b.svg);
}
.hero-home .intro-home .levels .elem:hover:before {
  content: "";
  width: 100%;
  transition: all ease 0.8s;
}
.hero-home .intro-home .levels .elem:hover .button__arrow {
  background-image: url(../img/arrow.svg);
}
.hero-home .intro-home .levels .elem:hover .button__arrow--out {
  transform: translate(150%, -50%);
  opacity: 0;
}
.hero-home .intro-home .levels .elem:hover .button__arrow--in {
  transform: translate(-50%, -50%);
  opacity: 1;
}
.hero-home .intro-home .levels .elem:hover:nth-child(1):before {
  background-color: #DC036D;
}
.hero-home .intro-home .levels .elem:hover:nth-child(1) .button__square {
  background: #DC036D;
}
.hero-home .intro-home .levels .elem:hover:nth-child(2):before {
  background-color: #1BB9D6;
}
.hero-home .intro-home .levels .elem:hover:nth-child(2) .button__square {
  background: #1BB9D6;
}
.hero-home .intro-home .levels .elem:hover:nth-child(3):before {
  background-color: #4080FC;
}
.hero-home .intro-home .levels .elem:hover:nth-child(3) .button__square {
  background: #4080FC;
}
.hero-home .intro-home .levels .elem:hover:nth-child(4):before {
  background-color: #FFDA1F;
}
.hero-home .intro-home .levels .elem:hover:nth-child(4) .button__square {
  background: #FFDA1F;
}
.hero-home .intro-home .levels .elem:hover:nth-child(5):before {
  background-color: #8D52FF;
}
.hero-home .intro-home .levels .elem:hover:nth-child(5) .button__square {
  background: #8D52FF;
}

.hero-default {
  width: 100%;
  position: relative;
}

.hero-news {
  height: 92vh;
  min-height: 47rem;
  width: 100%;
  position: relative;
  margin-top: -7rem;
}
@media (max-width: 47.98rem) {
  .hero-news {
    min-height: initial;
  }
}
.hero-news:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/noise.png);
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.hero-news:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.4;
  background-color: #000;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-news img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.hero-news .intro-news {
  position: absolute;
  bottom: 15rem;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  color: #fff;
}
@media (max-width: 47.98rem) {
  .hero-news .intro-news {
    bottom: 2rem;
  }
}
@media (max-width: 78.98rem) {
  .hero-news .intro-news .title-h1 {
    font-size: 4rem;
  }
}
@media (max-width: 35.98rem) {
  .hero-news .intro-news .title-h1 {
    font-size: 2.5rem;
  }
}
.hero-news .intro-news .title-h1 span {
  color: #1D428A;
  display: block;
}
.hero-news .intro-news .description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 150%;
}

.hero-single .title-h2 {
  font-size: 4.5rem;
}
@media (max-width: 47.98rem) {
  .hero-single .title-h2 {
    font-size: 2.5rem;
  }
}
.hero-single .single-tag {
  margin-right: 0.8rem;
  display: inline-block;
  transition: all 0.7s ease;
}
.hero-single .single-tag .name {
  display: inline-block;
  padding: 0.2rem 0.7rem;
  font-size: 0.75rem;
  font-weight: 400;
  color: #0B0B0B;
  text-transform: uppercase;
  transition: all 0.7s ease;
  border: 1px solid #d0cece;
  background: #fff;
}
.hero-single .single-tag .name::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  margin-right: 0.4rem;
  margin-top: -3px;
  vertical-align: middle;
  background-color: #17bd54;
}
.hero-single .single-date {
  font-family: "IBM Plex Sans";
  font-size: 0.75rem;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
}
.hero-single .intro {
  color: #535353;
  font-family: "IBM Plex Sans";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
@media (min-width: 64rem) {
  .hero-single .intro {
    width: 75%;
  }
}

.hero-single .single-tag .name.cat-black::before {
  background-color: #0B0B0B;
}

.hero-single .single-tag .name.cat-black:hover {
  background-color: #0B0B0B;
  color: #fff;
}

.hero-single .single-tag .name.cat-black:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-white::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-white:hover {
  background-color: #fff;
  color: #fff;
}

.hero-single .single-tag .name.cat-white:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-green::before {
  background-color: #17bd54;
}

.hero-single .single-tag .name.cat-green:hover {
  background-color: #17bd54;
  color: #fff;
}

.hero-single .single-tag .name.cat-green:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-green-light::before {
  background-color: #f3fbf6;
}

.hero-single .single-tag .name.cat-green-light:hover {
  background-color: #f3fbf6;
  color: #fff;
}

.hero-single .single-tag .name.cat-green-light:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-blue::before {
  background-color: #1D428A;
}

.hero-single .single-tag .name.cat-blue:hover {
  background-color: #1D428A;
  color: #fff;
}

.hero-single .single-tag .name.cat-blue:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-ecole::before {
  background-color: #DC036D;
}

.hero-single .single-tag .name.cat-ecole:hover {
  background-color: #DC036D;
  color: #fff;
}

.hero-single .single-tag .name.cat-ecole:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-college::before {
  background-color: #1BB9D6;
}

.hero-single .single-tag .name.cat-college:hover {
  background-color: #1BB9D6;
  color: #fff;
}

.hero-single .single-tag .name.cat-college:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-lycee::before {
  background-color: #4080FC;
}

.hero-single .single-tag .name.cat-lycee:hover {
  background-color: #4080FC;
  color: #fff;
}

.hero-single .single-tag .name.cat-lycee:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-prepas::before {
  background-color: #FFDA1F;
}

.hero-single .single-tag .name.cat-prepas:hover {
  background-color: #FFDA1F;
  color: #fff;
}

.hero-single .single-tag .name.cat-prepas:hover::before {
  background-color: #fff;
}

.hero-single .single-tag .name.cat-parcours-bilingue::before {
  background-color: #8D52FF;
}

.hero-single .single-tag .name.cat-parcours-bilingue:hover {
  background-color: #8D52FF;
  color: #fff;
}

.hero-single .single-tag .name.cat-parcours-bilingue:hover::before {
  background-color: #fff;
}

.hero-levels .title-h1 {
  font-size: 4.5rem;
  font-weight: 200;
  line-height: 4.75rem;
}
@media (max-width: 47.98rem) {
  .hero-levels .title-h1 {
    font-size: 2.4rem;
    line-height: 120%;
  }
}
.hero-levels .description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
.hero-levels .button-level {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  gap: 1rem;
}
.hero-levels .button-level .button__label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
.hero-levels .button-level .button__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  background-image: url(../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 1;
  pointer-events: none;
  transform: translate(-40%, -70%) rotate(90deg);
  animation: arrow-vertical 1s ease-in-out infinite;
}
.hero-levels .button-level .button__square {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 2rem;
  width: 2rem;
  min-width: 2rem;
  background: #17bd54;
  overflow: hidden;
}
.hero-levels .media .row {
  --gx: 0.5rem;
}
.hero-levels .media .images {
  gap: 0.5rem;
  margin-bottom: 1rem;
  width: 100%;
}
.hero-levels .media .images .image-content {
  width: 100%;
  position: relative;
  background-color: #deffea;
}
@media (max-width: 63.98rem) {
  .hero-levels .media .images .image-content {
    height: initial;
  }
}
.hero-levels .media .images .image-content img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-levels .media .images.images-3 .image1-levels {
  height: 12.5rem;
}
.hero-levels .media .images.images-3 .image2-levels,
.hero-levels .media .images.images-3 .image3-levels {
  height: 12rem;
}
.hero-levels .media .images.images-4 .image1-levels {
  height: 12.5rem;
}
.hero-levels .media .images.images-4 .image2-levels,
.hero-levels .media .images.images-4 .image3-levels {
  height: 12rem;
}
.hero-levels .media .images.images-4 .image4-levels {
  height: 25rem;
}
.hero-levels .media .video-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16/9 */
}
.hero-levels .media .video-content video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes arrow-vertical {
  0%, 100% {
    transform: translate(-40%, -70%) rotate(90deg);
  }
  50% {
    transform: translate(-40%, -40%) rotate(90deg);
  }
}
.hero-editorial .title-h1 {
  font-size: 4.5rem;
  font-weight: 200;
  line-height: 4.75rem;
}
@media (max-width: 47.98rem) {
  .hero-editorial .title-h1 {
    font-size: 2.4rem;
    line-height: 120%;
  }
}
.hero-editorial .description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
.hero-editorial .description {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
.hero-editorial .media .row {
  --gx: 0.5rem;
}
.hero-editorial .media .images {
  gap: 0.5rem;
  margin-bottom: 1rem;
  width: 100%;
}
.hero-editorial .media .images .image-content {
  width: 100%;
  position: relative;
  background-color: #deffea;
}
@media (max-width: 63.98rem) {
  .hero-editorial .media .images .image-content {
    height: initial;
  }
}
.hero-editorial .media .images .image-content img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-editorial .media .images.images-3 .image1-editorial {
  height: 12.5rem;
}
.hero-editorial .media .images.images-3 .image2-editorial,
.hero-editorial .media .images.images-3 .image3-editorial {
  height: 12rem;
}
.hero-editorial .media .images.images-4 .image1-editorial {
  height: 12.5rem;
}
.hero-editorial .media .images.images-4 .image2-editorial,
.hero-editorial .media .images.images-4 .image3-editorial {
  height: 12rem;
}
.hero-editorial .media .images.images-4 .image4-editorial {
  height: 25rem;
}
.hero-editorial .media .video-content {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16/9 */
}
.hero-editorial .media .video-content video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hero-identify {
  width: 100%;
  position: relative;
  margin-top: -7rem;
}
@media (min-width: 64rem) {
  .hero-identify {
    height: 88vh;
    min-height: 47rem;
  }
}
@media (max-width: 63.98rem) {
  .hero-identify {
    padding-bottom: 9rem;
  }
}
.hero-identify:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/noise.png);
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.hero-identify:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background-color: #000;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-identify img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  filter: grayscale(100%);
  transition: filter 0.4s;
}
.hero-identify .quote-identify {
  position: absolute;
  bottom: 3rem;
  margin: auto;
  left: 0;
  right: 0;
  color: white;
}
@media (max-width: 63.98rem) {
  .hero-identify .quote-identify {
    top: 7rem;
    position: relative;
  }
}
.hero-identify .quote-identify .text-quote {
  border: 1px solid #d0cece;
  position: relative;
  padding: 5rem 5.5rem 5rem 2.5rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
}
@media (max-width: 63.98rem) {
  .hero-identify .quote-identify .text-quote {
    padding: 5rem 2.5rem 5rem 2.5rem;
  }
}
.hero-identify .quote-identify .text-quote .quote-icon {
  position: absolute;
  top: -1.2rem;
  left: 1.5rem;
  padding: 0 1rem;
}
.hero-identify .quote-identify .text-quote .quote-text {
  font-family: Merchant;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
}
@media (max-width: 63.98rem) {
  .hero-identify .quote-identify .text-quote .quote-text {
    font-size: 2rem;
    line-height: 120%;
  }
}
.hero-identify .quote-identify .details {
  display: flex;
  vertical-align: middle;
  top: 0;
  bottom: 0;
}
@media (min-width: 64rem) {
  .hero-identify .quote-identify .details {
    position: absolute;
    margin-left: -5rem;
  }
}
.hero-identify .quote-identify .details .image-author {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 150%;
  height: 13.2rem;
  aspect-ratio: 1;
  position: relative;
}
@media (max-width: 63.98rem) {
  .hero-identify .quote-identify .details .image-author {
    width: 5rem;
    height: 5rem;
  }
}
.hero-identify .quote-identify .details .image-author img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}
.hero-identify .quote-identify .details .name-author {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}
.hero-identify .quote-identify .details .function-author {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.hero-registration {
  height: 100vh;
  min-height: 47rem;
  width: 100%;
  position: relative;
  margin-top: -7rem;
}
@media (max-width: 63.98rem) {
  .hero-registration {
    width: 100%;
    height: 100%;
    position: relative;
    margin-top: -7rem;
    padding-top: 8rem;
    min-height: inherit;
  }
}
.hero-registration:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../img/noise.png);
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.hero-registration:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0.4;
  background-color: #000;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.hero-registration img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.hero-registration .button {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  text-align: left;
  gap: 1rem;
}
.hero-registration .button .button__label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}
.hero-registration .button .button__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  background-image: url(../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 1;
  pointer-events: none;
  transform: translate(-40%, -70%) rotate(90deg);
  animation: arrow-vertical 1s ease-in-out infinite;
}
.hero-registration .button .button__square {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 2rem;
  width: 2rem;
  min-width: 2rem;
  background: #17bd54;
  overflow: hidden;
}
.hero-registration .intro-registration {
  position: absolute;
  bottom: 3rem;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
  color: #fff;
  z-index: 2;
}
@media (max-width: 63.98rem) {
  .hero-registration .intro-registration {
    bottom: 0;
    padding: 0rem 0 2rem 0;
    position: relative;
  }
}
.hero-registration .intro-registration .row {
  gap: 0;
}
.hero-registration .intro-registration .row .title-h1 span {
  color: #1D428A;
  display: block;
}
.hero-registration .intro-registration .row .description {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 150%;
}
.hero-registration .intro-registration .list-title {
  gap: 1rem;
  display: flex;
  align-items: center;
  z-index: 4;
  position: sticky;
  top: 90px;
  z-index: 10;
  padding-block: 12px;
}
@media (max-width: 63.98rem) {
  .hero-registration .intro-registration .list-title {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #17bd54 rgba(200, 200, 200, 0.2);
  }
  .hero-registration .intro-registration .list-title::-webkit-scrollbar {
    height: 6px;
  }
  .hero-registration .intro-registration .list-title::-webkit-scrollbar-track {
    background: rgba(200, 200, 200, 0.2);
    border-radius: 3px;
  }
  .hero-registration .intro-registration .list-title::-webkit-scrollbar-thumb {
    background: #17bd54;
    border-radius: 3px;
  }
  .hero-registration .intro-registration .list-title::-webkit-scrollbar-thumb:hover {
    background: #119040;
  }
}
.hero-registration .intro-registration .list-title .item {
  display: flex;
  padding: 1rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  position: relative;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 500;
}
@media (max-width: 63.98rem) {
  .hero-registration .intro-registration .list-title .item {
    min-width: 17rem;
  }
}
.hero-registration .intro-registration .list-title .item::before {
  content: "";
  height: 3px;
  width: 0%;
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  transition: all ease 0.5s;
}
.hero-registration .intro-registration .list-title .item:hover::before {
  width: 100%;
  transition: all ease 0.5s;
}
.hero-registration .intro-registration .list-title .item:hover svg {
  margin-left: 5px;
  margin-right: 0;
}
.hero-registration .intro-registration .list-title .item.ecole::before {
  background-color: #DC036D;
}
.hero-registration .intro-registration .list-title .item.college-lycee::before {
  background: linear-gradient(to right, #1BB9D6, #4080FC);
}
.hero-registration .intro-registration .list-title .item.prepas::before {
  background-color: #FFDA1F;
}
.hero-registration .intro-registration .list-title .item.parcours-bilingue::before {
  background-color: #8D52FF;
}
.hero-registration .intro-registration .list-title .item.sainte-marie::before {
  background-color: #17bd54;
}
.hero-registration .intro-registration .list-title .item .image-content {
  width: 4.5rem;
  height: 2.625rem;
}
.hero-registration .intro-registration .list-title .item .image-content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-registration .intro-registration .list-title .item svg {
  margin-right: 5px;
  transition: all ease 0.3s;
}
.hero-registration .intro-registration .list-title .item svg path {
  fill: #0B0B0B;
}
.hero-registration.levels-active .list-title {
  padding: 0.2rem 0;
  top: 0px;
  left: 0;
  right: 0;
  z-index: 999;
  position: fixed;
  background: #0b0b0b;
  max-width: 1414px;
  margin: auto;
  box-shadow: 0 0 0 100vmax #0b0b0b;
  clip-path: inset(0 -100vmax);
}

.header {
  width: 100%;
  position: sticky;
  top: calc(-1 * var(--header-h) + var(--header-o));
  z-index: 999;
  padding: 0.5rem 0;
  background-color: #fff;
  transition: all ease 0.3s;
}
.header.is-submenu-open {
  background-color: #fff;
  transition: opacity 0.5s ease;
}
.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.header-logo {
  display: block;
  z-index: 999;
  position: relative;
}
.header-logo-inner {
  display: block;
}
.header-logo .logo {
  height: 6rem;
  display: block;
}
@media (max-width: 63.98rem) {
  .header-logo .logo {
    height: 5rem;
    width: 5rem;
  }
}
.header-logo .logo_alt {
  height: 6rem;
  display: none;
}
@media (max-width: 63.98rem) {
  .header-logo .logo_alt {
    height: 5rem;
    width: 5rem;
  }
}
@media (min-width: 79rem) {
  .header {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% + var(--submenu-h, 0px)), 0 calc(100% + var(--submenu-h, 0px)));
    transition: clip-path 0.5s ease;
  }
  .header::before {
    display: block;
    width: 100%;
    height: calc(var(--viewport-height, 100vh) - 100% - 1px);
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -2;
    background-color: inherit;
    content: "";
  }
}

@media (min-width: 79rem) {
  [data-scroll=ongoing] .header {
    color: #fff;
    background: #0B0B0B;
  }
  [data-scroll=ongoing] .header .language-list {
    margin-top: -0.6rem;
  }
}
.menu-top {
  width: fit-content;
  margin-left: auto;
  display: flex;
  gap: 1rem;
  font-weight: 600;
  font-size: 0.875rem;
}
@media (min-width: 79rem) {
  .menu-top {
    padding-bottom: 0.9rem;
  }
}
.menu-top .menu-item a {
  display: flex;
  vertical-align: middle;
  align-items: center;
  gap: 0.5rem;
}
.menu-top .menu-item a svg {
  color: #17bd54;
}
.menu-top .menu-item:hover {
  color: #17bd54;
}
.menu-top .menu-list {
  float: inline-end;
}
.menu-top .menu-list li a {
  font-size: 0.875rem;
  font-weight: 600;
}
@media (max-width: 78.98rem) {
  .menu-top {
    display: none !important;
  }
}

.menu-wrapper {
  float: right;
  display: block;
  gap: 1.5rem 1rem;
  position: relative;
  padding-top: 0.7rem;
}
.menu-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  width: 100%;
  background-color: #17bd54;
}
.menu-list {
  display: flex;
  column-gap: 2rem;
}
.menu-item .button-registration {
  position: relative;
}
@media (min-width: 79rem) {
  .menu-item .button-registration {
    z-index: 999;
  }
}
.menu-item .button-registration .button__label,
.menu-item .button-registration .button__square {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: normal;
}
.menu-item .button-registration:hover {
  color: #17bd54;
}
.menu-link {
  display: flex;
  position: relative;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
  line-height: normal;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 600;
}
.menu-link .button__label,
.menu-link .button__square {
  font-size: 0.875rem;
  font-weight: 600;
}
.menu-link .menu-arrow [stroke] {
  color: #17bd54;
}
.menu-link:hover {
  color: #17bd54;
}
.menu-language .pll-switcher-select {
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  text-transform: uppercase;
}
.menu-language .pll-switcher-select:hover {
  color: #17bd54;
}
.menu-search {
  display: flex;
  border: 1px solid;
  align-items: center;
}
.menu-search-input {
  padding-inline: 0.25rem;
}
.menu-search-button {
  display: grid;
  width: 1.5rem;
  aspect-ratio: 1;
  place-items: center;
}
@media (min-width: 79rem) {
  .menu {
    margin-left: auto;
  }
  .menu-toggle {
    display: none;
  }
  .menu-wrapper {
    align-items: center;
  }
  .menu-list {
    align-items: center;
  }
  [aria-expanded=true] > .menu-arrow {
    rotate: 180deg;
  }
}
@media (max-width: 70rem) {
  .menu-list {
    column-gap: 0.5rem;
  }
}
@media (max-width: 78.98rem) {
  .menu-toggle {
    display: flex;
    width: 2.5rem;
    aspect-ratio: 1/1;
    justify-content: center;
    align-items: center;
    font-size: 1.25rem;
  }
  .menu-toggle::before {
    content: "Menu";
    position: absolute;
    top: 0.63rem;
    right: -2.5rem;
    text-transform: uppercase;
    font-size: 0.75rem;
    line-height: 1.1875rem;
    letter-spacing: 0.015rem;
  }
  .menu-toggle-icon {
    width: 0.5em;
    position: relative;
    margin-block: 0.3em;
    transform-origin: 0.5em 50%;
    transition: background-color 0.3s ease, transform 0.3s ease;
  }
  .menu-toggle-icon, .menu-toggle-icon::before, .menu-toggle-icon::after {
    display: block;
    height: 1px;
    border-radius: 2px;
    background-color: currentColor;
  }
  .menu-toggle-icon::before, .menu-toggle-icon::after {
    width: 1em;
    position: absolute;
    left: 0;
    content: "";
    transition: transform 0.3s ease;
  }
  .menu-toggle-icon::before {
    top: -0.3em;
  }
  .menu-toggle-icon::after {
    bottom: -0.3em;
  }
  .menu-toggle[aria-expanded=true] .menu-toggle-icon {
    background-color: transparent;
    transform: rotate(180deg);
  }
  .menu-toggle[aria-expanded=true] .menu-toggle-icon::before {
    transform: translateY(0.3em) rotate(-45deg);
  }
  .menu-toggle[aria-expanded=true] .menu-toggle-icon::after {
    transform: translateY(-0.3em) rotate(45deg);
  }
  .menu-toggle .menu-list .menu-item {
    border: none;
  }
  .menu-wrapper {
    width: 100%;
    height: calc(var(--viewport-height, 100vh) - 100%);
    position: absolute;
    top: 100%;
    left: 0;
    z-index: -1;
    padding: 1rem;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    transition: opacity 0.5s ease;
  }
  .menu-wrapper[inert] {
    opacity: 0;
  }
  .menu-wrapper .submenu {
    margin: 0 !important;
  }
  .menu-list {
    width: 100%;
    padding-inline: 0;
    margin-inline: 0;
    flex-direction: column;
    flex: 1 1 auto;
    overflow: auto;
  }
  .menu-list .menu-item:not(.language) {
    padding-top: 0.75rem;
    border-top: 1px solid #eee;
    margin-top: 0.75rem;
  }
  .menu-arrow {
    rotate: -90deg;
  }
  .menu .menu-arrow {
    width: 2em;
    min-width: 2em;
    height: 2em;
    min-height: 2em;
  }
  .menu .menu-arrow path {
    stroke: #17bd54;
  }
  .menu-button {
    width: 100%;
  }
  .menu-button .button__square {
    margin-left: auto;
  }
}
.has-banner-offset-in-page .submenu {
  margin-top: 36px;
}

.submenu {
  width: 100%;
  position: absolute;
  transition: opacity 0.5s ease;
}
.submenu[inert] {
  opacity: 0;
}
.submenu-wrapper {
  display: grid;
  position: relative;
  column-gap: var(--side-margin);
  grid-template-columns: 1fr 1fr;
}
.submenu-header, .submenu-content {
  padding-block: 2.5rem;
}
.submenu-text {
  margin-top: 1rem;
}
.submenu-button {
  margin-top: 2rem;
}
.submenu-list {
  display: grid;
  gap: 1.5rem var(--side-margin);
}
.submenu-link:hover {
  color: #17bd54 !important;
}
.submenu-link:hover .button__label {
  color: #17bd54 !important;
}
.submenu-close {
  display: grid;
  width: 2rem;
  aspect-ratio: 1/1;
  position: absolute;
  place-items: center;
  font-size: 1.25rem;
}
@media (min-width: 79rem) {
  .submenu {
    top: calc(100% + 1px);
    left: 0;
    z-index: -1;
  }
  .submenu-header {
    position: relative;
    padding-right: var(--side-margin);
  }
  .submenu-header:after {
    content: "";
    height: calc(100% - 6rem);
    width: 1px;
    background-color: #17bd54;
    position: absolute;
    right: -1.5rem;
    top: 3rem;
    bottom: 3rem;
  }
  .submenu-header .button__label {
    color: #0B0B0B !important;
    font-family: "IBM Plex Sans" !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: normal !important;
  }
  .submenu-text {
    color: #0B0B0B;
    font-family: Merchant;
    font-size: 3.5rem;
    font-weight: 200;
    line-height: 4.125rem;
  }
  .submenu-list {
    padding: 2rem 0;
    margin-left: 4rem;
    color: #0B0B0B;
  }
  .submenu-list .bd-r:not(:last-child) {
    position: relative;
  }
  .submenu-list .bd-r:not(:last-child):after {
    content: "";
    height: 100%;
    width: 1px;
    background-color: #d0cece;
    position: absolute;
    right: -1.5rem;
    top: 0;
  }
  .submenu-list a {
    color: #0B0B0B;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5rem;
  }
  .submenu-list .subsubmenu-list {
    gap: 1rem;
    display: grid;
  }
  .submenu .button .button__label {
    color: #0B0B0B;
    font-family: "Merchant";
    font-size: 1.625rem;
    font-weight: 200;
    line-height: 2rem;
    padding: 0;
    padding-right: 1rem;
  }
  .submenu-close {
    bottom: 1rem;
    right: 0;
    opacity: 0;
    pointer-events: none;
  }
  .submenu-close:focus-visible {
    opacity: 1;
  }
}
@media (max-width: 78.98rem) {
  .submenu {
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    background-color: #fff;
    overflow: auto;
  }
  .submenu-wrapper {
    grid-template-columns: 100%;
  }
  .submenu-header {
    border-bottom: 1px solid #eee;
  }
  .submenu-close {
    top: 0rem;
    right: 0;
  }
  .submenu-item {
    margin-bottom: 8px;
  }
}
@media (max-width: 78.98rem) {
  .submenu-list {
    width: 100%;
    grid-template-columns: 100%;
  }
  .submenu-link.button {
    width: 100%;
    padding-bottom: 1rem;
    border-bottom: 1px solid #17bd54;
  }
  .submenu-link.button .button__square {
    margin-left: auto;
  }
}
@media (min-width: 79rem) {
  .submenu.levels .submenu-wrapper {
    grid-template-columns: initial;
  }
  .submenu.levels .submenu-wrapper .submenu-list {
    margin-left: 0;
    color: #0B0B0B;
    grid-template-columns: repeat(5, 1fr);
  }
}

.language-list {
  display: flex;
  gap: 1em;
}
.language-item:not(:last-child) {
  position: relative;
}
.language-item:not(:last-child)::after {
  display: block;
  width: 1em;
  height: 100%;
  position: absolute;
  top: 0;
  left: 100%;
  text-align: center;
  font-weight: 700;
  content: "·";
}
.language-link[aria-current=true] {
  font-weight: 500;
}
@media (max-width: 78.98rem) {
  .language {
    margin-top: auto;
  }
}

.shortcut-link {
  position: absolute;
  top: calc(var(--header-height) + 1rem);
  left: 1rem;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
.shortcut-link:focus-visible {
  opacity: 1;
}

@media (min-width: 79rem) {
  .submenu {
    position: fixed;
    top: var(--header-h);
    left: 0;
    width: 100vw;
    z-index: 998;
    background: white;
  }
  .submenu .container {
    max-width: none;
    padding: 0 var(--side-margin);
  }
}
.menu-toggle {
  margin-right: 3rem;
  position: relative;
}
.menu-toggle::before {
  content: "Menu";
  position: absolute;
  top: 0.63rem;
  right: -2.5rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.1875rem;
  letter-spacing: 0.015rem;
}

.home .header,
.blog .header,
.page-template-identify .header,
.page-template-registration .header {
  background-color: transparent;
}
@media (min-width: 79rem) {
  .home .header,
  .blog .header,
  .page-template-identify .header,
  .page-template-registration .header {
    color: #fff;
  }
}
.home .header .logo,
.blog .header .logo,
.page-template-identify .header .logo,
.page-template-registration .header .logo {
  display: none;
}
.home .header .logo_alt,
.blog .header .logo_alt,
.page-template-identify .header .logo_alt,
.page-template-registration .header .logo_alt {
  display: block;
}
.home .header .menu-toggle,
.blog .header .menu-toggle,
.page-template-identify .header .menu-toggle,
.page-template-registration .header .menu-toggle {
  color: #fff;
  margin-right: 3rem;
  position: relative;
}
.home .header .menu-toggle::before,
.blog .header .menu-toggle::before,
.page-template-identify .header .menu-toggle::before,
.page-template-registration .header .menu-toggle::before {
  content: "Menu";
  color: white;
  position: absolute;
  top: 0.63rem;
  right: -2.5rem;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1.1875rem;
  letter-spacing: 0.015rem;
}
.home .header .menu-arrow [stroke],
.blog .header .menu-arrow [stroke],
.page-template-identify .header .menu-arrow [stroke],
.page-template-registration .header .menu-arrow [stroke] {
  color: #fff;
}
.home .header .menu-wrapper:before,
.blog .header .menu-wrapper:before,
.page-template-identify .header .menu-wrapper:before,
.page-template-registration .header .menu-wrapper:before {
  opacity: 0.4;
  background-color: #fff;
}
.home .header.is-submenu-open,
.blog .header.is-submenu-open,
.page-template-identify .header.is-submenu-open,
.page-template-registration .header.is-submenu-open {
  background-color: #fff;
}
.home .header.is-submenu-open .logo,
.blog .header.is-submenu-open .logo,
.page-template-identify .header.is-submenu-open .logo,
.page-template-registration .header.is-submenu-open .logo {
  display: block !important;
}
.home .header.is-submenu-open .logo_alt,
.blog .header.is-submenu-open .logo_alt,
.page-template-identify .header.is-submenu-open .logo_alt,
.page-template-registration .header.is-submenu-open .logo_alt {
  display: none !important;
}
.home .header.is-submenu-open .menu-arrow [stroke],
.blog .header.is-submenu-open .menu-arrow [stroke],
.page-template-identify .header.is-submenu-open .menu-arrow [stroke],
.page-template-registration .header.is-submenu-open .menu-arrow [stroke] {
  color: #0B0B0B;
}
.home .header.is-submenu-open .menu-toggle,
.home .header.is-submenu-open .menu-toggle:before,
.home .header.is-submenu-open .menu-link,
.home .header.is-submenu-open .menu-item,
.home .header.is-submenu-open .button-registration,
.blog .header.is-submenu-open .menu-toggle,
.blog .header.is-submenu-open .menu-toggle:before,
.blog .header.is-submenu-open .menu-link,
.blog .header.is-submenu-open .menu-item,
.blog .header.is-submenu-open .button-registration,
.page-template-identify .header.is-submenu-open .menu-toggle,
.page-template-identify .header.is-submenu-open .menu-toggle:before,
.page-template-identify .header.is-submenu-open .menu-link,
.page-template-identify .header.is-submenu-open .menu-item,
.page-template-identify .header.is-submenu-open .button-registration,
.page-template-registration .header.is-submenu-open .menu-toggle,
.page-template-registration .header.is-submenu-open .menu-toggle:before,
.page-template-registration .header.is-submenu-open .menu-link,
.page-template-registration .header.is-submenu-open .menu-item,
.page-template-registration .header.is-submenu-open .button-registration {
  color: #0B0B0B;
}
.home .header.is-submenu-open .menu-wrapper:before,
.blog .header.is-submenu-open .menu-wrapper:before,
.page-template-identify .header.is-submenu-open .menu-wrapper:before,
.page-template-registration .header.is-submenu-open .menu-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  width: 100%;
}

[data-scroll=ongoing] .header {
  background: #0B0B0B;
}
[data-scroll=ongoing] .header .menu-toggle {
  color: white;
}

.submenu-open .header {
  color: #000;
  background: #fff;
}
.submenu-open .header:before {
  content: "";
  background: #fff;
}
.submenu-open .header .logo {
  display: block;
}
.submenu-open .header .logo_alt {
  display: none;
}
.submenu-open .menu-wrapper:before {
  content: "";
  background-color: #000 !important;
}
.submenu-open .menu-wrapper svg path {
  stroke: black;
}

.footer {
  color: #fff;
  background-color: #0B0B0B;
}
.footer .intro-footer {
  font-family: "IBM Plex Sans";
  font-size: 2.4rem;
  font-weight: 600;
  text-transform: uppercase;
}
@media (max-width: 47.98rem) {
  .footer .intro-footer {
    font-size: 1.8rem;
  }
}
.footer .intro-footer .intro-title-footer {
  gap: 0.8rem;
}
.footer .social-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem 1rem;
  background: #17bd54;
  position: absolute;
  right: 0;
  bottom: -1px;
}
@media (max-width: 63.98rem) {
  .footer .social-footer {
    position: relative;
  }
}
.footer .social-footer a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  width: 2rem;
  position: relative;
}
.footer .social-footer a span {
  position: relative;
}
.footer .social-footer a span:after {
  content: "";
  height: 1px;
  width: 100%;
  display: inline-block;
  background-color: #1D428A;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all ease 0.3s;
}
@media (max-width: 47.98rem) {
  .footer .social-footer a {
    display: block;
    padding: 0.5rem 0;
  }
}
.footer .social-footer a img {
  height: 2rem;
}
.footer .social-footer a:hover span:after {
  bottom: 0.2rem;
}
.footer .items-footer {
  border: 1px solid #fff;
}
@media (min-width: 64rem) {
  .footer .items-footer .address-footer {
    padding: 2rem 0 0 2.5rem;
  }
}
.footer .items-footer .address-footer h2 {
  font-family: "Merchant";
  font-size: 1.625rem;
  font-weight: 200;
  line-height: 2rem;
}
.footer .items-footer .address-footer .elem {
  display: flex;
  vertical-align: middle;
  gap: 0.5rem;
  font-family: "IBM Plex Sans";
  font-size: 1rem;
  transition: all ease 0.3s;
  padding-bottom: 0.5rem;
  word-break: break-all;
  overflow-wrap: anywhere;
}
.footer .items-footer .address-footer .elem:hover {
  opacity: 0.8;
}
@media (min-width: 64rem) {
  .footer .items-footer .links-footer .link-footer {
    border-left: 1px solid #fff;
    padding: 1.5rem 0 1rem 2rem;
  }
}
.footer .items-footer .links-footer .link-footer .elem {
  display: flex;
  vertical-align: middle;
  align-items: center;
  gap: 0.5rem;
  transition: all ease 0.3s;
  padding-bottom: 0.5rem;
  font-family: "Merchant";
  font-size: 1.375rem;
  font-weight: 200;
  line-height: 1.5rem;
}
.footer .items-footer .links-footer .link-footer .elem:hover {
  opacity: 0.8;
}
.footer .bottom-footer {
  padding: 1.5rem 2rem;
  display: flex;
  align-items: center;
  vertical-align: middle;
  border-top: 1px solid rgba(18, 18, 18, 0.15);
  color: white;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.09375rem;
}
@media (max-width: 63.98rem) {
  .footer .bottom-footer {
    display: block;
  }
}
.footer .bottom-footer a {
  color: white;
  font-size: 1rem;
  font-weight: 400;
  line-height: 150%;
}
@media (max-width: 63.98rem) {
  .footer .bottom-footer a {
    padding: 0 1rem;
    margin-bottom: 1rem;
  }
}
@media (max-width: 47.98rem) {
  .footer .bottom-footer a {
    display: block;
  }
}
.footer .bottom-footer .menu-footer {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: auto;
}
@media (max-width: 63.98rem) {
  .footer .bottom-footer .menu-footer {
    display: block;
    text-align: center;
    margin: auto;
  }
}
.footer .bottom-footer .row {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.footer .bottom-footer .row .menu-infos {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 78.98rem) {
  .footer .bottom-footer .row .menu-infos {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 63.98rem) {
  .double-blocks .container {
    width: calc(100% - 1 * var(--container-gutter, 15px));
  }
}
.double-blocks .row {
  align-items: stretch;
}
.double-blocks .row .title-h2 {
  width: 100%;
}
.double-blocks .row .elem {
  padding: 3rem 2rem;
  background-color: #fff;
}
@media (max-width: 47.98rem) {
  .double-blocks .row .elem {
    padding: 2rem 1rem;
  }
}
.double-blocks .row .elem > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.double-blocks .row .elem .title-h3 {
  font-size: 2.5rem;
  font-style: normal;
  font-weight: 200;
  line-height: 3rem;
}
@media (max-width: 47.98rem) {
  .double-blocks .row .elem .title-h3 {
    font-size: 2rem;
    line-height: 120%;
  }
}
.double-blocks .row .btn {
  margin-top: auto;
  width: 100%;
}

.simple-blocs .row {
  align-items: stretch;
}
.simple-blocs .row .elem {
  padding: 3rem 3rem;
  background-color: #fff;
}
@media (max-width: 47.98rem) {
  .simple-blocs .row .elem {
    padding: 2rem;
  }
}
.simple-blocs .row .elem > div {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.simple-blocs .row .elem .title-h3 {
  font-size: 3.5rem;
  font-weight: 200;
  line-height: 4.125rem;
}
@media (max-width: 47.98rem) {
  .simple-blocs .row .elem .title-h3 {
    font-size: 2rem;
    line-height: 120%;
  }
}
.simple-blocs .row .elem .text-content {
  font-family: "Merchant";
  font-size: 1.375rem;
  font-weight: 200;
  line-height: 1.5rem;
}
.simple-blocs .row .elem .button {
  margin-top: auto;
}

.news {
  overflow: hidden;
  position: relative;
}
.news svg {
  color: #17bd54;
  height: 1.5rem;
  min-height: 1.5rem;
  width: 2rem;
  min-width: 2rem;
}
.news .title-h2 {
  font-size: 4.5rem;
  display: flex;
  vertical-align: middle;
  gap: 1rem;
}
@media (max-width: 63.98rem) {
  .news .title-h2 {
    font-size: 2.8rem;
  }
}
@media (max-width: 47.98rem) {
  .news .title-h2 {
    font-size: 2.2rem;
  }
}
.news .title-h2 strong {
  display: block;
  font-weight: 600;
}
.news .swiper-news,
.news .swiper-news-level {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.news .buttons {
  margin: auto;
  width: fit-content;
  gap: 2rem;
  display: flex;
}

.news-level {
  overflow: hidden;
  position: relative;
}
.news-level svg {
  color: #17bd54;
  height: 1.5rem;
  min-height: 1.5rem;
  width: 2rem;
  min-width: 2rem;
}
.news-level .title-h2 {
  display: flex;
  vertical-align: middle;
  gap: 1rem;
}
@media (max-width: 63.98rem) {
  .news-level .title-h2 {
    font-size: 2.8rem;
  }
}
@media (max-width: 47.98rem) {
  .news-level .title-h2 {
    font-size: 2.2rem;
  }
}
.news-level .title-h2 strong {
  display: block;
  font-weight: 600;
}
.news-level .swiper-news-level {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.news-level .swiper-news-level .swiper-slide {
  background: white;
}
.news-level .swiper-news-level .swiper-slide .post-card {
  padding: 2rem;
  border: 1px solid #d0cece;
}
@media (max-width: 47.98rem) {
  .news-level .swiper-news-level .swiper-slide .post-card {
    padding: 1rem;
  }
}
.news-level .swiper-news-level .swiper-slide .post-card .details {
  border: none;
}
.news-level .swiper-news-level .swiper-slide .post-card .details .post-card-title {
  -webkit-line-clamp: 3;
}
.news-level .buttons {
  margin: auto;
  width: fit-content;
  gap: 2rem;
  display: flex;
}

.files {
  background-color: #f4fbf7;
}
.files-title {
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 2rem;
}
.files-title span {
  display: block;
}
.files-title span svg {
  width: 3.8125rem;
  height: 2.8125rem;
  color: #17bd54;
}
.files-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
}
.files-item {
  flex: 0 0 auto;
  white-space: normal;
  background-color: #fff;
  padding: 0.625rem 1.3rem;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(11, 11, 11, 0.07);
}
@media (max-width: 47.98rem) {
  .files-item {
    width: 100%;
  }
}
.files-dot {
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  margin-right: 0.75rem;
  flex-shrink: 0;
}
.files-text {
  flex: 1;
  font-size: 1rem;
}
.files-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  aspect-ratio: 1/1;
  margin-top: 6px;
}

.files-list .files-item {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  background: #fff;
  min-width: 14rem;
}
.files-list .files-item::before {
  content: "";
  z-index: 2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.2s ease, background 1.2s ease;
  transform-origin: center;
  background-color: transparent;
  position: absolute;
  left: 1.29rem;
}
.files-list .files-item .files-dot {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.5s ease, background 1.5s ease;
  transform-origin: center;
}
.files-list .files-item .files-text {
  z-index: 1;
  transition: color 1.2s ease;
}
.files-list .files-item .files-icon {
  z-index: 1;
  transition: color 1.2s ease;
}
.files-list .files-item .files-icon svg {
  transition: color 1.2s ease;
}
.files-list .files-item:hover .files-dot {
  transform: scale(108);
}
.files-list .files-item:hover .files-text,
.files-list .files-item:hover .files-complement {
  color: #fff;
}
.files-list .files-item:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=black] .files-dot {
  background-color: #0B0B0B;
}
.files-item[data-color=black]:hover::before {
  background-color: #fff;
}
.files-item[data-color=black]:hover .files-text,
.files-item[data-color=black]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=white] .files-dot {
  background-color: #fff;
}
.files-item[data-color=white]:hover::before {
  background-color: #fff;
}
.files-item[data-color=white]:hover .files-text,
.files-item[data-color=white]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=green] .files-dot {
  background-color: #17bd54;
}
.files-item[data-color=green]:hover::before {
  background-color: #fff;
}
.files-item[data-color=green]:hover .files-text,
.files-item[data-color=green]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=green-light] .files-dot {
  background-color: #f3fbf6;
}
.files-item[data-color=green-light]:hover::before {
  background-color: #fff;
}
.files-item[data-color=green-light]:hover .files-text,
.files-item[data-color=green-light]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=blue] .files-dot {
  background-color: #1D428A;
}
.files-item[data-color=blue]:hover::before {
  background-color: #fff;
}
.files-item[data-color=blue]:hover .files-text,
.files-item[data-color=blue]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=ecole] .files-dot {
  background-color: #DC036D;
}
.files-item[data-color=ecole]:hover::before {
  background-color: #fff;
}
.files-item[data-color=ecole]:hover .files-text,
.files-item[data-color=ecole]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=college] .files-dot {
  background-color: #1BB9D6;
}
.files-item[data-color=college]:hover::before {
  background-color: #fff;
}
.files-item[data-color=college]:hover .files-text,
.files-item[data-color=college]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=lycee] .files-dot {
  background-color: #4080FC;
}
.files-item[data-color=lycee]:hover::before {
  background-color: #fff;
}
.files-item[data-color=lycee]:hover .files-text,
.files-item[data-color=lycee]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=prepas] .files-dot {
  background-color: #FFDA1F;
}
.files-item[data-color=prepas]:hover::before {
  background-color: #fff;
}
.files-item[data-color=prepas]:hover .files-text,
.files-item[data-color=prepas]:hover .files-icon svg {
  color: #fff;
}

.files-item[data-color=parcours-bilingue] .files-dot {
  background-color: #8D52FF;
}
.files-item[data-color=parcours-bilingue]:hover::before {
  background-color: #fff;
}
.files-item[data-color=parcours-bilingue]:hover .files-text,
.files-item[data-color=parcours-bilingue]:hover .files-icon svg {
  color: #fff;
}

.specifics {
  position: relative;
}
@media (max-width: 63.98rem) {
  .specifics {
    background-size: cover;
    background-position: center;
  }
}
.specifics .specifics-image-wrapper {
  width: 100%;
  z-index: 1;
  overflow: hidden;
}
@media (min-width: 64rem) {
  .specifics .specifics-image-wrapper {
    position: sticky;
    top: 0;
    height: 100vh;
  }
}
@media (max-width: 63.98rem) {
  .specifics .specifics-image-wrapper {
    display: none;
  }
}
.specifics .specifics-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.specifics .specifics-content {
  position: relative;
  z-index: 2;
}
@media (max-width: 63.98rem) {
  .specifics .specifics-content {
    padding: 4rem 0;
  }
}
.specifics .specifics-content .container {
  position: sticky;
  top: 60%;
}
@media (min-width: 64rem) {
  .specifics .specifics-content .container {
    transform: translateY(-60%);
  }
}
.specifics .specifics-content .title-specifics {
  color: #fff;
}
.specifics .specifics-content .list-specifics {
  display: flex;
  flex-wrap: wrap;
}
.specifics .specifics-content .list-specifics > .col-md-24 {
  width: 100%;
}
@media (max-width: 63.98rem) {
  .specifics .specifics-content .list-specifics > .col-md-24 {
    width: 50%;
  }
}
.specifics .specifics-content .list-specifics > .col-md-24 .type-text,
.specifics .specifics-content .list-specifics > .col-md-24 .type-link {
  height: 5.44rem;
  display: flex;
  align-items: center;
  padding-left: 2.625rem;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 400;
  background: transparent;
}
@media (max-width: 63.98rem) {
  .specifics .specifics-content .list-specifics > .col-md-24 .type-text,
  .specifics .specifics-content .list-specifics > .col-md-24 .type-link {
    padding-left: 1rem;
    font-size: 1rem;
  }
}
.specifics .specifics-content .list-specifics > .col-md-24 .type-link {
  justify-content: center;
  font-size: 1rem;
  font-weight: 500;
  background: #17bd54;
  padding-left: 0;
  border: none;
  gap: 1rem;
  transition: all ease 0.3s;
  padding-left: 0.8rem 12.8px;
}
.specifics .specifics-content .list-specifics > .col-md-24 .type-link svg {
  width: 0.5em;
  min-width: 0.5em;
  height: 0.5em;
  min-height: 0.5em;
}
.specifics .specifics-content .list-specifics > .col-md-24 .type-link:hover {
  -webkit-filter: brightness(1.2);
  filter: brightness(1.2);
}

.image-mosaic .row .title-h2 {
  font-size: 3.5rem;
  font-weight: 200;
  line-height: 4.125rem;
}
@media (max-width: 47.98rem) {
  .image-mosaic .row .title-h2 {
    font-size: 2rem;
    line-height: 120%;
  }
}
.image-mosaic .row .row-images {
  display: grid;
  grid-gap: 1rem;
}
.image-mosaic .row .row-images.count-1 {
  grid-template-columns: 1fr;
}
.image-mosaic .row .row-images.count-2, .image-mosaic .row .row-images.count-4 {
  grid-template-columns: 1fr 1fr;
}
.image-mosaic .row .row-images.count-3 {
  grid-template-columns: 1fr 1fr;
}
.image-mosaic .row .row-images.count-3 > .elem:first-child {
  grid-column: 1/-1;
}
@media (max-width: 47.98rem) {
  .image-mosaic .row .row-images {
    grid-template-columns: 1fr !important;
  }
}
.image-mosaic .row .row-images .elem {
  width: 100%;
  height: 18.75rem;
}
@media (max-width: 47.98rem) {
  .image-mosaic .row .row-images .elem {
    height: auto;
    aspect-ratio: 16/9;
  }
}
.image-mosaic .row .row-images img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-mosaic .row .text-content {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
.image-mosaic .row .button {
  margin-top: auto;
}

.download-folder {
  padding: 2rem;
  background: #fff;
}
.download-folder .title {
  font-family: Merchant;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
}
.download-folder .files-item {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  background: #fff;
  width: 100%;
  min-width: 14rem;
}
@media (min-width: 64rem) {
  .download-folder .files-item {
    margin-left: auto;
  }
}
.download-folder .files-item::before {
  content: "";
  z-index: 2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.5s ease, background 1.5s ease;
  transform-origin: center;
  background-color: transparent;
  position: absolute;
  left: 1.29rem;
}
.download-folder .files-item .files-dot {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.5s ease, background 1.5s ease;
  transform-origin: center;
}
.download-folder .files-item .files-text {
  z-index: 1;
  transition: color 1.5s ease;
}
.download-folder .files-item .files-icon {
  z-index: 1;
  transition: color 1.5s ease;
}
.download-folder .files-item .files-icon svg {
  transition: color 1.5s ease;
}
.download-folder .files-item:hover .files-dot {
  transform: scale(108);
}
.download-folder .files-item:hover .files-text,
.download-folder .files-item:hover .files-complement {
  color: #fff;
}
.download-folder .files-item:hover .files-icon svg {
  color: #fff;
}

.content-background {
  position: relative;
  overflow: visible;
  height: 46rem;
}
.content-background .image-container {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  margin-left: calc(-50vw - 17.9%);
  height: inherit;
  z-index: 0;
}
@media (max-width: 78.98rem) {
  .content-background .image-container {
    margin-left: calc(-50vw - 18%);
  }
}
@media (max-width: 63.98rem) {
  .content-background .image-container {
    margin-left: calc(-50vw - 1.5%);
  }
}
.content-background .image-container:before {
  content: "";
  background-color: black;
  opacity: 0.4;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.content-background .image-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-background .container {
  position: relative;
  z-index: 1;
  height: inherit;
  display: flex;
  align-items: flex-end;
  padding-bottom: 2rem;
  color: #fff;
}
.content-background .container .title-h2 {
  color: #fff;
}

.content-image {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.content-image .row {
  width: 100%;
}
.content-image .image-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  z-index: 0;
}
.content-image .image-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-image .container {
  position: relative;
  z-index: 1;
  height: inherit;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 8rem 7.5rem;
}
@media (max-width: 78.98rem) {
  .content-image .container {
    padding: 4rem 3.5rem;
  }
}
@media (max-width: 63.98rem) {
  .content-image .container {
    padding: 3rem 2rem;
  }
}
.content-image .container .elem {
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  padding: 4rem 7.5rem;
}
@media (max-width: 78.98rem) {
  .content-image .container .elem {
    padding: 4rem 6.5rem;
  }
}
@media (max-width: 63.98rem) {
  .content-image .container .elem {
    padding: 2rem 1.5rem;
  }
}
.content-image .container .elem .title-h2 {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
}
@media (max-width: 78.98rem) {
  .content-image .container .elem .title-h2 {
    font-size: 2rem;
    line-height: 120%;
  }
}
@media (max-width: 63.98rem) {
  .content-image .container .elem .title-h2 {
    font-size: 1.6rem;
    line-height: 130%;
  }
}

.faq .list-faq .elem {
  position: relative;
  border-bottom: 1px solid #d0cecf;
  transition: all 0.4s ease;
}
.faq .list-faq .elem .question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  letter-spacing: 0.0425rem;
  padding: 1.8rem 4rem 1.8rem 0;
  cursor: pointer;
  position: relative;
  outline: none;
  display: flex;
}
.faq .list-faq .elem .question .title_faq {
  color: #0B0B0B;
  font-family: Merchant;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 2.375rem;
}
.faq .list-faq .elem .question span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  min-width: 3rem;
  background: #17bd54;
  overflow: hidden;
  right: 0;
  top: 1.5rem;
  position: absolute;
}
.faq .list-faq .elem .question span svg {
  font-size: 1.2rem;
  transition: all 0.4s ease;
}
.faq .list-faq .elem .question span svg path {
  stroke: #fff;
  transition: all 0.4s ease;
}
.faq .list-faq .elem .answer {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease;
}
.faq .list-faq .elem .answer .sub {
  padding: 0 0 2.25rem 0;
}
.faq .list-faq .elem .answer .sub .editor {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}
.faq .list-faq .elem .answer .sub .quote-single {
  margin-top: 3rem;
  margin-bottom: 0rem;
}
.faq .list-faq .elem .answer .sub .quote-single .quote-col {
  --co: 0;
}
.faq .list-faq .elem .answer .sub .quote-single .quote-col {
  --co: 0;
}
.faq .list-faq .elem.active {
  border-bottom: 2px solid #17bd54;
}
.faq .list-faq .elem.active .question svg {
  transform: rotate(180deg);
}

.block-contact .item {
  background-color: #0B0B0B;
  padding: 2rem 2.3125rem;
}
@media (max-width: 47.98rem) {
  .block-contact .item {
    padding: 1rem;
  }
}
.block-contact .item .title {
  color: #fff;
  font-family: Merchant;
  font-size: 1.625rem;
  font-weight: 200;
  line-height: 2rem;
  display: flex;
  vertical-align: middle;
  align-items: flex-start;
}
@media (max-width: 47.98rem) {
  .block-contact .item .title {
    font-size: 1.3rem;
  }
}
.block-contact .item .title span {
  width: 2.4rem;
  height: 2.4rem;
  min-width: 2.4rem;
  min-height: 2.4rem;
  display: block;
  border-radius: 30rem;
  background-color: #17bd54;
  margin-right: 0.5rem;
  margin-top: -7px;
  overflow: hidden;
  position: relative;
}
.block-contact .item .title span.ecole {
  background-color: #DC036D;
}
.block-contact .item .title span.college {
  background-color: #1BB9D6;
}
.block-contact .item .title span.lycee {
  background-color: #4080FC;
}
.block-contact .item .title span.prepas {
  background-color: #FFDA1F;
}
.block-contact .item .title span.parcours-bilingue {
  background-color: #8D52FF;
}
.block-contact .item .title span.ecole-college {
  background-color: #DC036D;
}
.block-contact .item .title span.ecole-college:before {
  content: "";
  width: 1.2rem;
  height: 2.4rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #1BB9D6;
}
.block-contact .item .title span:after {
  content: "";
  width: auto;
  height: inherit;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  z-index: 1;
  position: relative;
  background-image: url(../img/pin.svg);
}
.block-contact .item .elem {
  color: #fff;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
.block-contact .item .elem .email,
.block-contact .item .elem .address {
  white-space: normal;
  word-break: break-word;
  align-items: start;
}
.block-contact .item .elem .email svg,
.block-contact .item .elem .address svg {
  color: #17bd54;
  width: 1.5rem;
  max-width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
}

.others-levels {
  position: relative;
}
.others-levels .banner-levels {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.others-levels .title-h2 {
  color: #fff;
}
@media (min-width: 48rem) {
  .others-levels .title-h2 {
    text-align: center;
  }
}
.others-levels .levels {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.others-levels .levels .elem {
  height: 13.75rem;
  flex: 1 1 calc(20% - 2rem);
  padding: 1.5rem 1.5rem 2.5rem 1.5rem;
  color: #fff;
  position: relative;
  transition: all 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  position: relative;
  transition: all ease 0.3s;
}
@media (max-width: 63.98rem) {
  .others-levels .levels .elem {
    flex: 1 1 calc(50% - 2rem);
  }
}
.others-levels .levels .elem:before {
  content: "";
  width: 0%;
  height: 0.375rem;
  display: block;
  background-color: transparent;
  position: absolute;
  left: -1px;
  right: -1px;
  top: -1px;
  transition: all ease 0.3s;
}
.others-levels .levels .elem .name {
  font-family: "Merchant";
  font-size: 1.625rem;
  line-height: 2rem;
  font-weight: 300;
  margin-bottom: 0.5rem;
  display: block;
}
@media (max-width: 78.98rem) {
  .others-levels .levels .elem .name {
    font-size: 1.4rem;
  }
}
.others-levels .levels .elem .text {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5rem;
  display: block;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}
.others-levels .levels .elem .link {
  position: absolute;
  bottom: -1.5rem;
  width: 3rem;
  height: 3rem;
  display: block;
  left: 0;
}
.others-levels .levels .elem .link a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  background: #fff;
  color: #0B0B0B;
  font-size: 2rem;
  text-decoration: none;
  transition: all 0.3s ease;
}
.others-levels .levels .elem .link .button__label {
  display: none;
}
.others-levels .levels .elem .link .button__square {
  width: 3rem;
  height: 3rem;
  left: 1.5rem;
  background: #fff;
}
.others-levels .levels .elem .link .button__arrow {
  transition: all ease 0.8s;
  background-image: url(../img/arrow_b.svg);
}
.others-levels .levels .elem:hover:before {
  content: "";
  width: 100%;
  transition: all ease 0.8s;
  background-color: #17bd54;
}
.others-levels .levels .elem:hover .button__square {
  background: #17bd54;
}
.others-levels .levels .elem:hover .button__arrow {
  background-image: url(../img/arrow.svg);
}
.others-levels .levels .elem:hover .button__arrow--out {
  transform: translate(150%, -50%);
  opacity: 0;
}
.others-levels .levels .elem:hover .button__arrow--in {
  transform: translate(-50%, -50%);
  opacity: 1;
}
.others-levels .levels .elem:hover.ecole:before {
  background-color: #DC036D;
}
.others-levels .levels .elem:hover.ecole .button__square {
  background: #DC036D;
}
.others-levels .levels .elem:hover.college:before {
  background-color: #1BB9D6;
}
.others-levels .levels .elem:hover.college .button__square {
  background: #1BB9D6;
}
.others-levels .levels .elem:hover.lycee:before {
  background-color: #4080FC;
}
.others-levels .levels .elem:hover.lycee .button__square {
  background: #4080FC;
}
.others-levels .levels .elem:hover.prepas:before {
  background-color: #FFDA1F;
}
.others-levels .levels .elem:hover.prepas .button__square {
  background: #FFDA1F;
}
.others-levels .levels .elem:hover.parcours-bilingue:before {
  background-color: #8D52FF;
}
.others-levels .levels .elem:hover.parcours-bilingue .button__square {
  background: #8D52FF;
}

.slider-content-section {
  overflow: hidden;
  position: relative;
}
.slider-content-section .bg-content {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.slider-content-section .title-h2 {
  color: white;
  z-index: 1;
  position: relative;
}
.slider-content-section .swiper-content {
  position: relative;
  width: auto;
  max-width: none;
}
.slider-content-section .swiper-content .swiper-slide {
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  overflow: hidden;
  height: initial;
}
.slider-content-section .swiper-content .swiper-slide .elem {
  padding: 1.5rem;
}
@media (max-width: 47.98rem) {
  .slider-content-section .swiper-content .swiper-slide .elem {
    padding: 1rem;
  }
}
.slider-content-section .swiper-content .swiper-slide .elem.swiper-slide-active {
  opacity: 1;
}
.slider-content-section .swiper-content .swiper-slide .elem .title {
  color: #fff;
  font-family: Merchant;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 4rem;
}
.slider-content-section .swiper-content .swiper-slide .elem .subtitle {
  color: #fff;
  font-family: Merchant;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 120%;
}
@media (max-width: 63.98rem) {
  .slider-content-section .swiper-content .swiper-slide .elem .subtitle {
    font-size: 1.8rem;
    white-space: normal;
    word-break: break-word;
    hyphens: auto;
  }
}
@media (max-width: 47.98rem) {
  .slider-content-section .swiper-content .swiper-slide .elem .subtitle {
    font-size: 1.6rem;
  }
}
.slider-content-section .swiper-content .swiper-slide .elem .image {
  aspect-ratio: 16/9;
}
.slider-content-section .swiper-content .swiper-slide .elem .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.slider-content-section .swiper-content .swiper-slide .elem .video {
  position: relative;
  aspect-ratio: 16/9;
}
.slider-content-section .swiper-content .swiper-slide .elem .video .player {
  position: relative;
  width: 100%;
  height: 100%;
}
.slider-content-section .swiper-content .swiper-slide .elem .video .overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
}
.slider-content-section .swiper-content .swiper-slide .elem .video .overlay .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.slider-content-section .swiper-content .swiper-slide .elem .video .video-frame {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.slider-content-section .swiper-content .swiper-slide .elem .video iframe {
  width: 100%;
  height: 100%;
  display: block;
}
.slider-content-section .swiper-content .swiper-slide .elem .text {
  color: white;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
.slider-content-section .swiper-content .swiper-buttons {
  position: absolute;
  top: 5rem;
  left: 1.5rem;
  width: 3.7rem;
  display: flex;
}
@media (max-width: 63.98rem) {
  .slider-content-section .swiper-content .swiper-buttons {
    right: 1.5rem;
    top: 2.5rem;
  }
}
.slider-content-section .swiper-content .swiper-buttons .swiper-button-pv,
.slider-content-section .swiper-content .swiper-buttons .swiper-button-nt {
  top: calc(50% + 1.5rem);
  transform: translateY(-50%);
  z-index: 10;
}
.slider-content-section .swiper-content .swiper-buttons .swiper-button-pv {
  left: 0rem;
  transform: translate(-50%, -50%) rotate(180deg);
}
.slider-content-section .swiper-content .swiper-buttons .swiper-button-nt {
  right: -1.6rem;
}
.slider-content-section .swiper-content .swiper-buttons .button__square {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  min-width: 3rem;
  position: absolute;
  background: #17bd54;
  overflow: hidden;
  cursor: pointer;
  top: 0;
}
.slider-content-section .swiper-content .swiper-buttons .button__square .button__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  background-image: url(../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, opacity 0.3s;
  opacity: 1;
  pointer-events: none;
}
.slider-content-section .swiper-content .swiper-buttons .button__square .button__arrow--in {
  transform: translate(-150%, -50%);
  opacity: 0;
}
.slider-content-section .swiper-content .swiper-buttons .button__square:hover .button__arrow--out {
  transform: translate(150%, -50%);
  opacity: 0;
}
.slider-content-section .swiper-content .swiper-buttons .button__square:hover .button__arrow--in {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.table .table-responsive {
  width: 100%;
  overflow-x: auto;
}
.table .table-responsive table {
  border-collapse: collapse;
  width: 100%;
  min-width: 38rem;
}
.table .table-responsive table thead {
  background-color: #17bd54;
}
.table .table-responsive table thead th {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5rem;
  padding: 1rem;
  border: 1px solid white;
  text-align: left;
  min-width: 5rem;
}
@media (max-width: 47.98rem) {
  .table .table-responsive table thead th {
    font-size: 0.9rem;
    padding: 0.8rem;
  }
}
.table .table-responsive table tbody {
  background-color: #fff;
}
.table .table-responsive table tbody td {
  color: #0B0B0B;
  font-size: 1rem;
  font-weight: 400;
  line-height: 120%;
  padding: 1rem;
  border: 1px solid #ddd;
  text-align: left;
  min-width: 6rem;
}
@media (max-width: 47.98rem) {
  .table .table-responsive table tbody td {
    font-size: 0.9rem;
    padding: 0.8rem;
  }
}
.table .table-responsive table tbody tr + tr {
  border-top: 1px solid #ddd;
}

.charts .chart-block canvas {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
  aspect-ratio: 4/2;
  height: auto;
  max-height: 600px;
  background-color: white;
}
.charts .row {
  --gx: 7rem;
}

.slider-editorial {
  background-color: #fff !important;
}
@media (max-width: 63.98rem) {
  .slider-editorial {
    padding: 1.5rem !important;
  }
}
.slider-editorial .title-h2 {
  color: #0B0B0B;
}
.slider-editorial .swiper-slide {
  background-color: #0B0B0B !important;
}
.slider-editorial .swiper-slide .elem .title {
  line-height: 2rem !important;
  font-size: 1.625rem !important;
}

.highlights-news .post-card {
  padding: 2rem;
  border: 1px solid #d0cece;
  background-color: #fff;
}
.highlights-news .details {
  border: none;
}

.numbers {
  background-color: #fff;
}
.numbers .item {
  padding-top: 1rem;
  border-top: 1px solid #17bd54;
}
.numbers .item .number {
  font-family: Merchant;
  color: #0B0B0B;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 2.375rem;
  letter-spacing: 0.0425rem;
}
.numbers .item .description {
  color: var(--Light-dark, #535353);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}

.content-blocks .item {
  padding: 2.5rem 2rem;
  background-color: #fff;
}
.content-blocks .item .icon {
  width: 1.5rem;
  height: 1.5rem;
  color: #17bd54;
}
.content-blocks .item .icon img {
  max-height: 1.5rem;
}
.content-blocks .item .title {
  color: #0B0B0B;
  font-family: Merchant;
  font-size: 2rem;
  font-weight: 200;
  line-height: 120%;
}
.content-blocks .item .description {
  color: #0B0B0B;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.625rem;
}

.introduction .title-h2 {
  font-size: 4.5rem;
  font-weight: 200;
  line-height: 4.75rem;
}
@media (max-width: 78.98rem) {
  .introduction .title-h2 {
    font-size: 3rem;
    line-height: 120%;
  }
}
@media (max-width: 47.98rem) {
  .introduction .title-h2 {
    font-size: 2rem;
  }
}
.introduction .title-h2 svg {
  color: #17bd54;
  height: 1.5rem;
  min-height: 1.5rem;
  width: 2rem;
  min-width: 2rem;
  margin-top: 1rem;
}
@media (max-width: 78.98rem) {
  .introduction .title-h2 svg {
    margin-top: 0.8rem;
  }
}
@media (max-width: 47.98rem) {
  .introduction .title-h2 svg {
    margin-top: 0.2rem;
  }
}
.introduction .text-intro {
  color: #535353;
}

.map .places {
  padding: 2.5rem 2.375rem;
  background-color: #fff;
}
@media (max-width: 63.98rem) {
  .map .places {
    padding: 1.5rem 1.375rem;
  }
}
.map .places .elem {
  position: relative;
}
.map .places .elem .title {
  font-family: Merchant;
  font-size: 1.625rem;
  font-weight: 200;
  line-height: 2rem;
  display: flex;
  vertical-align: middle;
  align-items: center;
  padding-top: 1.5rem;
}
.map .places .elem .title .pin {
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  border-radius: 30rem;
  background-color: #17bd54;
  margin-right: 0.5rem;
  overflow: hidden;
  position: relative;
}
.map .places .elem .title .pin svg {
  position: relative;
}
.map .places .elem .title .pin svg path {
  fill: white;
}
.map .places .elem .title .pin.ecole {
  background-color: #DC036D;
}
.map .places .elem .title .pin.college-lycee {
  background: linear-gradient(to right, #1BB9D6, #4080FC);
}
.map .places .elem .title .pin.prepas {
  background-color: #FFDA1F;
}
.map .places .elem .title .pin.prepas svg path {
  fill: #0B0B0B;
}
.map .places .elem .email svg,
.map .places .elem .address svg {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  color: #17bd54;
  width: 1.5rem;
  max-width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
}
.map .places .elem:first-child .title {
  padding-top: 0 !important;
}
.map .places .elem:not(:last-child) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #17bd54;
}
.map .image-map {
  overflow: hidden;
}
.map .image-map img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  display: block;
}
.map .button {
  display: flex;
  margin: 2rem auto 0 auto;
}

.quote-single .row {
  --gy: 0.2rem;
}
.quote-single .row .quote {
  border: 1px solid #d0cece;
  padding: 3.5rem 2.5rem;
  position: relative;
}
@media (max-width: 47.98rem) {
  .quote-single .row .quote {
    padding: 1.5rem;
  }
}
.quote-single .row .quote .quote-icon {
  color: #1D428A;
}
.quote-single .row .quote .quote-icon {
  position: absolute;
  top: -1.2rem;
  left: 1.5rem;
  padding: 0 1rem;
  background-color: #f3fbf6;
}
@media (max-width: 47.98rem) {
  .quote-single .row .quote .quote-icon {
    top: -1.4rem;
  }
}
.quote-single .row .quote .quote-icon svg {
  height: 2.8rem;
  width: 2.8rem;
  max-width: 2.8rem;
  color: #17bd54;
}
.quote-single .row .quote .quote-text {
  font-family: "Merchant";
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
}
@media (max-width: 47.98rem) {
  .quote-single .row .quote .quote-text {
    font-size: 1.6rem;
    line-height: 120%;
  }
}
.quote-single .row .quote .author {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  position: relative;
}
.quote-single .row .quote .author::before {
  content: "";
  height: 1px;
  width: 3.5rem;
  top: -1.8rem;
  position: absolute;
  background-color: #17bd54;
}
.quote-single .row .quote .author .image-author {
  aspect-ratio: 1;
  width: 3.5rem;
  display: block;
  margin-top: auto;
}
.quote-single .row .quote .author .image-author img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.quote-single .row .quote .author .name-author {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
}
.quote-single .row .quote .author .function-author {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
}

.video-section .player {
  position: relative;
  aspect-ratio: 16/9;
  background: #000000;
}
.video-section .player .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  aspect-ratio: 16/9;
}
.video-section .player .overlay .image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all ease 0.4s;
  border: 1px solid #dbdbdb;
}
.video-section .player .overlay .frame {
  position: absolute;
  display: flex;
  vertical-align: middle;
  align-items: center;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(14px);
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: 500;
  color: white;
  gap: 1rem;
}
.video-section .player .overlay .frame .btn {
  height: 2.5rem;
  width: 2.5rem;
  min-width: 2.5rem;
  display: flex;
  vertical-align: middle;
  align-items: center;
  background-color: #17bd54;
}
.video-section .player .overlay .frame .btn svg {
  height: 1rem;
  width: 1rem;
  min-width: 1rem;
  margin: auto;
  color: #fff;
}
.video-section .player .video-frame {
  display: none;
  aspect-ratio: 16/9;
}
.video-section .player .video-frame iframe {
  width: 100%;
  height: 100%;
}
.video-section .player .video-frame video {
  width: 100%;
  height: auto;
  max-width: 100%;
}
.video-section .player:hover .image {
  filter: brightness(0.7);
  transition: all ease 0.4s;
}

.files-elem .files-list {
  justify-content: inherit;
}
.files-elem .files-list .files-item {
  padding: 0.625rem 2rem 2rem 1.1rem;
}
.files-elem .files-list .files-item .files-text {
  line-height: 120%;
}
.files-elem .files-list .files-item .files-complement {
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
  position: absolute;
  bottom: 0.8rem;
  left: 2.6rem;
  z-index: 1;
  transition: color 0.8s ease;
}

.button-section .bg {
  background-color: #fff;
  text-align: center;
  padding: 3rem;
}
@media (max-width: 78.98rem) {
  .button-section .bg {
    padding: 1.5rem;
  }
}
@media (max-width: 47.98rem) {
  .button-section .bg {
    padding: 1.5rem;
  }
}

.gallery {
  overflow: hidden;
}
.gallery .swiper-gallery {
  position: relative;
  margin-left: -2rem;
  margin-right: -2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  width: auto;
  max-width: none;
}
.gallery .swiper-gallery .swiper-slide {
  aspect-ratio: 3/2;
  opacity: 0.1;
  transition: opacity 1s;
}
.gallery .swiper-gallery .swiper-slide.swiper-slide-active {
  opacity: 1;
}
.gallery .swiper-gallery .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery .swiper-gallery .swiper-button-pv,
.gallery .swiper-gallery .swiper-button-nt {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.gallery .swiper-gallery .swiper-button-pv {
  left: 2rem;
  transform: translate(-50%, -50%) rotate(180deg);
}
.gallery .swiper-gallery .swiper-button-nt {
  right: 0.5rem;
}
.gallery .swiper-gallery .button__square {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 3rem;
  width: 3rem;
  min-width: 3rem;
  position: absolute;
  background: #17bd54;
  overflow: hidden;
  cursor: pointer;
}
.gallery .swiper-gallery .button__square .button__arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 0.6rem;
  min-width: 0.6rem;
  width: 0.6rem;
  background-image: url(../img/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, -50%);
  transition: transform 0.3s, opacity 0.3s;
  opacity: 1;
  pointer-events: none;
}
.gallery .swiper-gallery .button__square .button__arrow--in {
  transform: translate(-150%, -50%);
  opacity: 0;
}
.gallery .swiper-gallery .button__square:hover .button__arrow--out {
  transform: translate(150%, -50%);
  opacity: 0;
}
.gallery .swiper-gallery .button__square:hover .button__arrow--in {
  transform: translate(-50%, -50%);
  opacity: 1;
}

.image-text {
  position: relative;
  overflow: hidden;
  height: 100%;
}
.image-text .container {
  padding: 3rem 3.125rem;
  background-color: #fff;
}
@media (max-width: 47.98rem) {
  .image-text .container {
    padding: 1.5rem 1rem;
  }
}
.image-text .container .title-h2 {
  font-size: 2.5rem;
}
.image-text .container .text-content {
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  z-index: 0;
}
.image-text .container .text-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

.error404 .header {
  background-color: #fff;
}
.error404 .wrapper {
  vertical-align: middle;
  align-items: center;
  display: flex;
}
.error404 .wrapper .page-404 .block-404 {
  margin: auto;
  text-align: center;
}
.error404 .wrapper .page-404 .block-404-title {
  font-size: 8vw;
  font-weight: 300;
  line-height: 1;
}
.error404 .wrapper .page-404 .block-404-link {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
}

.ecoindex-grade {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.ecoindex-grade-item {
  display: flex;
  width: clamp(3rem, 5vw, 5rem);
  aspect-ratio: 1;
  padding: 0.75rem;
  border: 1px solid;
  border-radius: 0.5rem;
  justify-content: flex-end;
  align-items: flex-end;
  font-weight: 500;
  line-height: 1;
}
.ecoindex-grade-item:nth-child(1) {
  color: #4D9E30;
}
.ecoindex-grade-item:nth-child(1).ecoindex-grade-item--active {
  background-color: #4D9E30;
  color: white;
}
.ecoindex-grade-item:nth-child(2) {
  color: #50B84B;
}
.ecoindex-grade-item:nth-child(2).ecoindex-grade-item--active {
  background-color: #50B84B;
  color: white;
}
.ecoindex-grade-item:nth-child(3) {
  color: #CADB2A;
}
.ecoindex-grade-item:nth-child(3).ecoindex-grade-item--active {
  background-color: #CADB2A;
  color: white;
}
.ecoindex-grade-item:nth-child(4) {
  color: #F6EB13;
}
.ecoindex-grade-item:nth-child(4).ecoindex-grade-item--active {
  background-color: #F6EB13;
  color: white;
}
.ecoindex-grade-item:nth-child(5) {
  color: #FECD07;
}
.ecoindex-grade-item:nth-child(5).ecoindex-grade-item--active {
  background-color: #FECD07;
  color: white;
}
.ecoindex-grade-item:nth-child(6) {
  color: #FA9F47;
}
.ecoindex-grade-item:nth-child(6).ecoindex-grade-item--active {
  background-color: #FA9F47;
  color: white;
}
.ecoindex-grade-item:nth-child(7) {
  color: #EF3A3B;
}
.ecoindex-grade-item:nth-child(7).ecoindex-grade-item--active {
  background-color: #EF3A3B;
  color: white;
}

.header,
.page-template-levels {
  background-color: #f3fbf6;
}

.page-template-editorial {
  background-color: #f3fbf6;
}

.page-template-identify {
  background-color: #f3fbf6;
}

.page-registration {
  background: #f3fbf6;
}
.page-registration .admission-bloc {
  position: relative;
  scroll-margin-top: 3rem;
}
.page-registration .admission-bloc .title-h2 {
  color: #0B0B0B;
  font-size: 3.5rem;
  font-weight: 200;
  line-height: 4.125rem;
}
.page-registration .admission-bloc .intro {
  color: #535353;
  font-family: "IBM Plex Sans";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
}
.page-registration .admission-bloc .registration .title-h3 {
  color: #0B0B0B;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 2.375rem;
  letter-spacing: 0.0425rem;
}
.page-registration .admission-bloc .registration .event-box {
  display: flex;
  border: 1px solid #17bd54;
  padding: 1rem 1.5rem 1rem 1rem;
  transition: all ease 0.3s;
}
.page-registration .admission-bloc .registration .event-box:hover {
  background-color: #fff;
}
.page-registration .admission-bloc .registration .event-box:hover .post-card-icon {
  padding-left: 0.2rem;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox {
  background-color: #fff;
  color: #0B0B0B;
  text-align: center;
  z-index: 2;
  min-width: 8rem;
  padding: 0.75rem;
  display: block;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .day {
  color: #0B0B0B;
  font-family: Merchant;
  font-size: 2.125rem;
  font-weight: 200;
  line-height: 2.375rem;
  display: block;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .month {
  color: #0B0B0B;
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .post-card-tag {
  display: block;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .post-card-tag .tag {
  gap: 0.4rem;
  margin-top: 0.5rem;
  padding: 0.5rem 0.7rem;
  border: 1px solid #d0cece;
  position: relative;
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .post-card-tag .tag::before {
  content: "";
  aspect-ratio: 1;
  height: 0.5em;
  width: 0.5em;
  background-color: #17bd54;
  border-radius: 50%;
  float: left;
}
.page-registration .admission-bloc .registration .event-box .post-card-datebox .post-card-tag .tag .name {
  color: #0B0B0B;
  font-size: 0.75rem;
  font-weight: 400;
  text-transform: uppercase;
}
.page-registration .admission-bloc .registration .event-box .event-details {
  margin-left: 1rem;
}
.page-registration .admission-bloc .registration .event-box .event-details .post-card-title {
  color: #0B0B0B;
  font-family: Merchant;
  font-size: 1.375rem;
  font-weight: 200;
  line-height: 1.5rem;
  display: block;
}
.page-registration .admission-bloc .registration .event-box .event-details .post-card-icon {
  display: block;
  transition: all ease 0.3s;
}
.page-registration .admission-bloc .registration .event-box .event-details .post-card-infos {
  color: #0B0B0B;
  font-family: "IBM Plex Sans";
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  display: block;
}
.page-registration .admission-bloc .doc-step {
  background: #fff;
  position: relative;
  padding: 3rem 2.5rem 2rem 2.5rem;
}
.page-registration .admission-bloc .doc-step .step-header {
  display: flex;
  align-items: baseline;
  margin-bottom: 1rem;
}
.page-registration .admission-bloc .doc-step .step-header .step-number {
  background: #000;
  color: #fff;
  position: absolute;
  aspect-ratio: 1;
  height: 3rem;
  top: -1.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  display: flex;
  vertical-align: middle;
  align-items: center;
}
.page-registration .admission-bloc .doc-step .step-header .step-number span {
  margin: auto;
}
.page-registration .admission-bloc .doc-step .step-header .step-title {
  color: #0B0B0B;
  font-family: Merchant;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
  margin: 0;
}
.page-registration .admission-bloc .doc-step .step-content {
  font-size: 0.95rem;
  margin-bottom: 1rem;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  background: #fff;
  width: 100%;
}
@media (min-width: 64rem) {
  .page-registration .admission-bloc .doc-step .files-elems .files-item {
    margin-left: auto;
  }
}
.page-registration .admission-bloc .doc-step .files-elems .files-item::before {
  content: "";
  z-index: 2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.2s ease, background 1.2s ease;
  transform-origin: center;
  background-color: transparent;
  position: absolute;
  left: 1.29rem;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item .files-dot {
  position: relative;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  transition: transform 1.2s ease, background 1.2s ease;
  transform-origin: center;
  background-color: #17bd54;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item .files-text {
  z-index: 1;
  transition: color 1.2s ease;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item .files-icon {
  z-index: 1;
  transition: color 1.2s ease;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item .files-icon svg {
  transition: color 1.2s ease;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item:hover .files-dot {
  transform: scale(108);
}
.page-registration .admission-bloc .doc-step .files-elems .files-item:hover .files-text,
.page-registration .admission-bloc .doc-step .files-elems .files-item:hover .files-complement {
  color: #fff;
}
.page-registration .admission-bloc .doc-step .files-elems .files-item:hover .files-icon svg {
  color: #fff;
}
.page-registration .admission-bloc .doc-step .button {
  display: flex;
}
.page-registration .admission-bloc .doc-step .email {
  color: #0B0B0B;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  vertical-align: middle;
  align-items: center;
  gap: 0.8rem;
}
.page-registration .admission-bloc .doc-step .email span {
  display: flex;
  width: 2rem;
  height: 2rem;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  background-color: #17bd54;
  padding: 0.4rem;
}
.page-registration .admission-bloc .doc-step .email span svg {
  max-height: 1.5rem;
  height: 100%;
  width: 100%;
  color: white;
}
.page-registration .admission-bloc .doc-step .step-more {
  margin-top: 1rem;
  font-size: 0.9rem;
  border: 1px solid #17bd54;
  padding: 2rem;
}
.page-registration .admission-bloc .doc-step .step-more .details {
  display: flex;
  vertical-align: middle;
  align-items: center;
  flex-wrap: nowrap;
  color: #0B0B0B;
  font-family: "IBM Plex Sans";
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5rem;
}
.page-registration .admission-bloc .doc-step .step-more .details img {
  max-height: 2rem;
  height: 100%;
  aspect-ratio: 1;
}
.page-registration .admission-bloc[data-color=ecole] .event-box {
  border: 1px solid #DC036D !important;
}
.page-registration .admission-bloc[data-color=ecole] .files-dot,
.page-registration .admission-bloc[data-color=ecole] .button__square,
.page-registration .admission-bloc[data-color=ecole] .doc-step .email span,
.page-registration .admission-bloc[data-color=ecole] .cms ul li::before {
  background-color: #DC036D !important;
}
.page-registration .admission-bloc[data-color=ecole] .step-more {
  border-color: #DC036D !important;
}
.page-registration .admission-bloc[data-color=ecole] .post-card-tag::before {
  content: "";
  background-color: #DC036D !important;
}
.page-registration .admission-bloc[data-color=college-lycee] .event-box {
  border: 1px solid #1BB9D6 !important;
}
.page-registration .admission-bloc[data-color=college-lycee] .files-dot,
.page-registration .admission-bloc[data-color=college-lycee] .button__square,
.page-registration .admission-bloc[data-color=college-lycee] .doc-step .email span,
.page-registration .admission-bloc[data-color=college-lycee] .cms ul li::before {
  background-color: #1BB9D6 !important;
}
.page-registration .admission-bloc[data-color=college-lycee] .step-more {
  border-color: #1BB9D6 !important;
}
.page-registration .admission-bloc[data-color=college-lycee] .post-card-tag::before {
  content: "";
  background-color: #1BB9D6 !important;
}
.page-registration .admission-bloc[data-color=prepas] .event-box {
  border: 1px solid #FFDA1F !important;
}
.page-registration .admission-bloc[data-color=prepas] .files-dot,
.page-registration .admission-bloc[data-color=prepas] .button__square,
.page-registration .admission-bloc[data-color=prepas] .doc-step .email span,
.page-registration .admission-bloc[data-color=prepas] .cms ul li::before {
  background-color: #FFDA1F !important;
}
.page-registration .admission-bloc[data-color=prepas] .step-more {
  border-color: #FFDA1F !important;
}
.page-registration .admission-bloc[data-color=prepas] .post-card-tag::before {
  content: "";
  background-color: #FFDA1F !important;
}
.page-registration .admission-bloc[data-color=parcours-bilingue] .event-box {
  border: 1px solid #8D52FF !important;
}
.page-registration .admission-bloc[data-color=parcours-bilingue] .files-dot,
.page-registration .admission-bloc[data-color=parcours-bilingue] .button__square,
.page-registration .admission-bloc[data-color=parcours-bilingue] .doc-step .email span,
.page-registration .admission-bloc[data-color=parcours-bilingue] .cms ul li::before {
  background-color: #8D52FF !important;
}
.page-registration .admission-bloc[data-color=parcours-bilingue] .step-more {
  border-color: #8D52FF !important;
}
.page-registration .admission-bloc[data-color=parcours-bilingue] .post-card-tag::before {
  content: "";
  background-color: #8D52FF !important;
}
.page-registration .admission-bloc[data-color=college-lycee] .files-dot,
.page-registration .admission-bloc[data-color=college-lycee] .button__square,
.page-registration .admission-bloc[data-color=college-lycee] .doc-step .email span,
.page-registration .admission-bloc[data-color=college-lycee] .cms ul li::before {
  background: linear-gradient(to right, #1BB9D6, #4080FC) !important;
}

.blog .select-type,
.archive .select-type {
  display: inline-flex;
}
.blog .select-type li,
.archive .select-type li {
  transition: all 0.3s ease;
  border-bottom: 1px solid #929292;
}
.blog .select-type li a,
.archive .select-type li a {
  color: #929292;
  font-family: Merchant;
  font-size: 2.5rem;
  font-weight: 200;
  line-height: 3rem;
  padding-right: 1rem;
  margin-bottom: 0.9rem;
  display: block;
  transition: all 0.3s ease;
}
@media (max-width: 63.98rem) {
  .blog .select-type li a,
  .archive .select-type li a {
    font-size: 1.7rem;
  }
}
@media (max-width: 47.98rem) {
  .blog .select-type li a,
  .archive .select-type li a {
    font-size: 1.4rem;
  }
}
.blog .select-type li:hover, .blog .select-type li.active,
.archive .select-type li:hover,
.archive .select-type li.active {
  border-color: #17bd54;
}
.blog .select-type li:hover a, .blog .select-type li.active a,
.archive .select-type li:hover a,
.archive .select-type li.active a {
  color: #0B0B0B;
}
.blog #filters,
.archive #filters {
  z-index: 2;
  padding: 1.5rem;
  position: relative;
  margin-top: -12.3rem;
  background-color: #fff;
}
@media (max-width: 63.98rem) {
  .blog #filters,
  .archive #filters {
    margin-top: 0;
    padding: 1.5rem 0;
  }
}
.blog #filters .filters-toggle,
.archive #filters .filters-toggle {
  display: none;
  width: 100%;
  border: 1px solid #17bd54;
  background: #fff;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0.875rem 1rem;
  text-align: left;
}
.blog #filters .filters-toggle:after,
.archive #filters .filters-toggle:after {
  content: "";
  display: inline-block;
  margin-left: 0.5rem;
  width: 0;
  height: 0;
  border-left: 0.375rem solid transparent;
  border-right: 0.375rem solid transparent;
  border-top: 0.375rem solid #0B0B0B;
  vertical-align: middle;
}
.blog #filters .dflex,
.archive #filters .dflex {
  display: flex;
  flex-wrap: wrap;
}
.blog #filters .label,
.blog #filters label,
.archive #filters .label,
.archive #filters label {
  display: flex;
  cursor: pointer;
  transition: all 0.4s ease;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.25rem;
  padding: 1rem 2.5rem;
  justify-content: center;
  align-items: center;
  border: 1px solid #0B0B0B;
  background: #fff;
  vertical-align: middle;
  align-items: center;
}
@media (max-width: 63.98rem) {
  .blog #filters .label,
  .blog #filters label,
  .archive #filters .label,
  .archive #filters label {
    width: calc(50% - 0.25rem);
    margin: 0 0 0.5rem 0;
    height: 2.6rem;
    padding: 0.7rem 0.6rem;
    font-size: 0.8rem;
  }
}
@media (max-width: 47.98rem) {
  .blog #filters .label,
  .blog #filters label,
  .archive #filters .label,
  .archive #filters label {
    width: 100%;
  }
}
.blog #filters .label:hover,
.blog #filters label:hover,
.archive #filters .label:hover,
.archive #filters label:hover {
  color: #fff;
  background-color: #17bd54;
  border: 1px solid #17bd54;
}
.blog #filters input,
.archive #filters input {
  display: none;
}
.blog #filters input[type=radio]:checked + label,
.archive #filters input[type=radio]:checked + label {
  color: #fff;
  background-color: #17bd54;
  border: 1px solid #17bd54;
  font-weight: 700;
}
@media (max-width: 63.98rem) {
  .blog #filters .filters-toggle,
  .archive #filters .filters-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
  }
  .blog #filters #filters-group,
  .archive #filters #filters-group {
    position: absolute;
    left: 0;
    right: 0;
  }
  .blog #filters:not(.is-open) #filters-group,
  .archive #filters:not(.is-open) #filters-group {
    display: none;
  }
  .blog #filters.is-open #filters-group,
  .archive #filters.is-open #filters-group {
    display: flex;
    flex-direction: column;
  }
  .blog #filters label,
  .archive #filters label {
    width: 100%;
    margin: -1px;
    height: 2.6rem;
    padding: 0.7rem 0.6rem;
    font-size: 0.8rem;
  }
}
.blog .grid,
.archive .grid {
  --gy: 1.25rem;
  --gx: 1.25rem;
}
.blog .post-card,
.archive .post-card {
  padding: 2rem;
  border: 1px solid #d0cece;
}
.blog .post-card .details,
.archive .post-card .details {
  border: none;
}
.blog .post-card .details .post-card-title,
.archive .post-card .details .post-card-title {
  -webkit-line-clamp: 2;
}

.single {
  background-color: #f3fbf6;
}
.single .image-container {
  width: 100%;
  height: inherit;
  z-index: 0;
  aspect-ratio: 16/9;
}
.single .image-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

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