/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */

figcaption,
figure,
main { /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */

figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent; /* 1 */
  -webkit-text-decoration-skip: objects; /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
  vertical-align: middle;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, /* 1 */
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

html, body {
    height: 100%;
}

body {
    font-family: 'Simplon', sans-serif;
    font-size: 1.4rem;
    line-height: 1.5;
    padding-top: 7.2rem; /* TopBar height */
    background: #efefef;
}
button, input, optgroup, select, textarea {
    font-family: 'Simplon', sans-serif;
}

a {
    color: #1e0d68;
}
a:hover {
}

*[onclick] {
    cursor: pointer;
}

hr {
    margin: 3rem 0;
    border: 1px solid #f2f2f2;
}
audio{
    width:80%;
}
/*
@media (max-width: 1680px) {
    html {
        font-size: 54.7%;
    }
}

@media (max-width: 540px) {
    html {
        font-size: 46.875%;
    }
}
*/

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

@font-face {
    font-family: 'PVC Banner';
    src:
        url('../../../assets/pvc-banner.woff') format('woff'),
        url('../../../assets/pvc-banner.woff2') format('woff2')
    ;
    font-display: swap;
}

@font-face {
    font-family: 'PVC BannerUltra';
    src:
        url('../../../assets/pvc-bannerultra.woff') format('woff'),
        url('../../../assets/pvc-bannerultra.woff2') format('woff2')
    ;
    font-display: swap;
}

@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-regular.woff') format('woff'),
        url('../../../assets/simplon-regular.woff2') format('woff2')
    ;
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-bold.woff') format('woff'),
        url('../../../assets/simplon-bold.woff2') format('woff2')
    ;
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-italic.woff') format('woff'),
        url('../../../assets/simplon-italic.woff2') format('woff2')
    ;
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-bold-italic.woff') format('woff'),
        url('../../../assets/simplon-bold-italic.woff2') format('woff2')
    ;
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-medium.woff') format('woff'),
        url('../../../assets/simplon-medium.woff2') format('woff2')
    ;
    font-weight: 500; /* Medium */
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-medium-italic.woff') format('woff'),
        url('../../../assets/simplon-medium-italic.woff2') format('woff2')
    ;
    font-weight: 500; /* Medium */
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-light.woff') format('woff'),
        url('../../../assets/simplon-light.woff2') format('woff2')
    ;
    font-weight: 300; /* Light */
    font-display: swap;
}
@font-face {
    font-family: 'Simplon';
    src:
        url('../../../assets/simplon-light-italic.woff') format('woff'),
        url('../../../assets/simplon-light-italic.woff2') format('woff2')
    ;
    font-weight: 300; /* Light */
    font-style: italic;
    font-display: swap;
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

.slick-track {
    margin-left: unset;
    margin-right: unset;
}

.slick-slide img {
    margin: 0 auto;
}

.slick-slide {
    outline-offset: -3px;
}

/* Arrows */
.slick-prev,
.slick-next
{
    position: absolute;
    top: 50%;
    font-size: 0;
    line-height: 0;
    padding: 2rem;
    margin-top: -2rem;
    cursor: pointer;
    border: none;
    background: transparent;
    z-index: 700;
}
.slick-prev {
    left: 0;
}
.slick-next {
    right: 0;
}

.slick-prev:after,
.slick-next:after
{
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    border: 2px solid #999;
    border-bottom: none;
    border-left: none;
    transform: translateX(-.3rem) rotate(45deg);
    border-color: #1e0d68;
}
.slick-prev:after {
    transform: translateX(.3rem) rotate(-135deg);
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

/* Dots */
.slick-dots
{
    position: absolute;
    bottom: 5%;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}
.slick-dots li
{
    position: relative;
    display: inline-block;
    margin: 0 5px;
    padding: 0;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;
    width: 1rem;
    height: 1rem;
    padding: 0;
    cursor: pointer;
    color: transparent;
    background: #fff;
    border: 0;
    border-radius: 50%;
}
.slick-dots li.slick-active button
{
    background: #28dbc4;
}
.alternativeTheme .slick-dots li.slick-active button
{
    background: #c2252d;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
}
.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #eeeeee;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 34px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 46px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.form-group-sm .form-control {
  height: 30px;
  line-height: 30px;
}
textarea.form-group-sm .form-control,
select[multiple].form-group-sm .form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  min-height: 32px;
}
.input-lg {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-lg {
  height: 46px;
  line-height: 46px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.form-group-lg .form-control {
  height: 46px;
  line-height: 46px;
}
textarea.form-group-lg .form-control,
select[multiple].form-group-lg .form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  min-height: 38px;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 42.5px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px;
}
.input-sm + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #3c763d;
}
.has-success .form-control {
  border-color: #3c763d;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #2b542c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
}
.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #3c763d;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #8a6d3b;
}
.has-warning .form-control {
  border-color: #8a6d3b;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #66512c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
}
.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #8a6d3b;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #a94442;
}
.has-error .form-control {
  border-color: #a94442;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #843534;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
}
.has-error .input-group-addon {
  color: #a94442;
  border-color: #a94442;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #a94442;
}
.has-feedback label ~ .form-control-feedback {
  top: 25px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #737373;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 27px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.333333px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #3c763d;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #2b542c;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #245269;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #66512c;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #a94442;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #843534;
}
.panel {
  margin-bottom: 20px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 16px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 20px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #337ab7;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #337ab7;
  border-color: #337ab7;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #337ab7;
}
.panel-primary > .panel-heading .badge {
  color: #337ab7;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #337ab7;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #3c763d;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #3c763d;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #31708f;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #8a6d3b;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #a94442;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 46px;
  line-height: 46px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  color: #555555;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 18px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-left: -1px;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 15:48:49
 */

.control-label {
    text-transform: uppercase;
    font-weight: 500; /* Medium */
}

.form-control {
    font-size: inherit;
    border-radius: .8rem;
    color: #666;
}
.form-control::placeholder {
    color: #999;
}
.form-control:focus {
    border-color: #28dbc4;
    box-shadow: none;
}

.form-inline {
    margin: 0 -10px;
}
.form-inline > * {
    margin-left: 10px;
    margin-right: 10px;
}


.checkbox-buttons .checkbox-inline {
    padding: 0;
}

.checkbox-buttons input[type="checkbox"] {
    display: none;
}

.checkbox-buttons input[type="checkbox"] + .control-label {
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    padding: 1rem 3.5rem;
    margin: 15px 0 0;
    color: #fff;
    background: #28dbc4;
    border: none;
    border-radius: .8rem;
    transition: .5s background ease, .5s box-shadow ease;
    color: #000;
    background: #e0e0e0;
}
.checkbox-buttons input[type="checkbox"] + .control-label:hover {
    text-decoration: none;
    box-shadow: 0 0 6px 2px #28dbc4;;
}
.checkbox-buttons input[type="checkbox"] + .control-label:focus {
    outline: thin dotted;
    outline-offset: -5px;
}
.checkbox-buttons input[type="checkbox"] + .control-label:active {
    background: #000;
    box-shadow: none;
}
.checkbox-buttons input[type="checkbox"] + .control-label:focus:active {
    outline: none;
}

.checkbox-buttons input[type="checkbox"]:checked + .control-label {
    color: #fff;
    background: #666;
}


.checkbox-buttons-columns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.checkbox-buttons-columns .checkbox-inline {
    flex-basis: 23%;
    display: flex;
    margin: 0 1%;
}
.checkbox-buttons-columns input[type="checkbox"] + .control-label {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    text-align: center;
}


@media (max-width: 840px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 31.333%;
    }
}

@media (max-width: 620px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 48%;
    }
}

@media (max-width: 420px) {
    .checkbox-buttons-columns .checkbox-inline {
        flex-basis: 98%;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:46:17
 */

/* Grid flexbox fallback */
.Grid {
    display: flex;
    flex-wrap: wrap;
    margin: -1rem;
    overflow: hidden;
}
.Grid > * {
    width: calc(100%/var(--grid-columns) - 2rem);
    margin: 1rem;
}
.Grid--marginBottom {
    margin-bottom: 2rem;
}

@supports (display: grid) {
    .Grid {
        --grid-columns: 1;
        --grid-gap: 2rem;
        display: grid;
        grid-gap: var(--grid-gap);
        grid-template-columns: repeat(var(--grid-columns), 1fr);
        margin: 0;
    }
    .Grid > * {
        width: auto;
        margin: 0;
    }
}

.Grid--bigGap {
    --grid-gap: 18rem;
}
.Grid--midGap {
    --grid-gap: 9rem;
}

.Grid--2 {
    --grid-columns: 2;
}
.Grid--2--1-2 {
    --grid-columns: 2;
}
.Grid--2--1-2 > *:first-child {
    width: 33%;
    margin-right: 2rem;
}
.Grid--2--1-2 > *:last-child {
    flex: 1;
}
.Grid--2--2-3 {
    --grid-columns: 2;
}
.Grid--2--2-3 > *:first-child {
    width: 40%;
    margin-right: 2rem;
}
.Grid--2--2-3 > *:last-child {
    flex: 1;
}
@supports (display: grid) {
    .Grid--2--1-2 {
        grid-template-columns: 1fr 2fr;
    }
    .Grid--2--1-2 > *:first-child,
    .Grid--2--1-2 > *:last-child {
        width: auto;
        margin: 0;
    }
    .Grid--2--2-3 {
        grid-template-columns: 2fr 3fr;
    }
    .Grid--2--2-3 > *:first-child,
    .Grid--2--2-3 > *:last-child {
        width: auto;
        margin: 0;
    }
}

.Grid--2--2-1 {
    --grid-columns: 2;
}
.Grid--2--2-1 > *:first-child {
    width: 66%;
    margin-right: 2rem;
}
.Grid--2--2-1 > *:last-child {
    flex: 1;
}
@supports (display: grid) {
    .Grid--2--2-1 {
        grid-template-columns: 2fr 1fr;
    }
    .Grid--2--2-1 > *:first-child,
    .Grid--2--2-1 > *:last-child {
        width: auto;
        margin: 0;
    }
}

.Grid--3 {
    --grid-columns: 3;
}
.Grid--4 {
    --grid-columns: 4;
}
.Grid--5 {
    --grid-columns: 5;
}
.Grid--padding {
    padding: 1rem;
}
@media (max-width: 1700px) {
    .Grid--bigGap {
        --grid-gap: 10rem;
    }
}
@media (max-width: 1460px) {
    .Grid--bigGap {
        --grid-gap: 6rem;
    }

    /* 1 column at size XL */
    .Grid--xl-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xl-1.Grid--2--1-2 > *:first-child,
    .Grid--xl-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--xl-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XL */
    .Grid--xl-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XL */
    .Grid--xl-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 4 columns at size XL */
    .Grid--xl-4 {
        --grid-columns: 4;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--xl-orderFirst {
        order: -1;
    }
}
@media (max-width: 1260px) {
    .Grid--bigGap {
        --grid-gap: 4rem;
    }

    /* 1 column at size L */
    .Grid--l-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--l-1.Grid--2--1-2 > *:first-child,
    .Grid--l-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--l-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size L */
    .Grid--l-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size L */
    .Grid--l-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--l-orderFirst {
        order: -1;
    }
}
@media (max-width: 1080px) {
    /* 1 column at size M */
    .Grid--m-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--m-1.Grid--2--1-2 > *:first-child,
    .Grid--m-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--m-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size M */
    .Grid--m-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size M */
    .Grid--m-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--m-orderFirst {
        order: -1;
    }
}
@media (max-width: 960px) {
    .Grid--bigGap {
        --grid-gap: 6rem;
    }

    /* 1 column at size S */
    .Grid--s-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--s-1.Grid--2--1-2 > *:first-child,
    .Grid--s-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--m-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size S */
    .Grid--s-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size S */
    .Grid--s-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--s-orderFirst {
        order: -1;
    }
}
@media (max-width: 900px) {
    /* 1 column at size XS */
    .Grid--xs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xs-1.Grid--2--1-2 > *:first-child,
    .Grid--xs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--xs-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }

    /* 2 columns at size XS */
    .Grid--xs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--xs-orderFirst {
        order: -1;
    }
}
@media (max-width: 620px) {
    /* 1 column at size XXS */
    .Grid--xxs-noGrid {
        display: block;
    }
    .Grid--xxs-noGrid.Grid--2--1-2 > *,
    .Grid--xxs-noGrid.Grid--2--2-1 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxs-noGrid.Grid--2--2-3 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xxs-order-1 {
        order:1;
    }
    .Grid--xxs-order-2 {
        order:2;
    }
    .Grid--xxs-1.Grid--2--1-2 > *:first-child,
    .Grid--xxs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--xxs-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XS */
    .Grid--xxs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xxs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--xxs-orderFirst {
        order: -1;
    }
}
@media (max-width: 320px) {
    /* 1 column at size XXXS */
    .Grid--xxxs-noGrid {
        display: block;
    }
    .Grid--xxxs-noGrid.Grid--2--1-2 > *,
    .Grid--xxxs-noGrid.Grid--2--2-1 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxxs-noGrid.Grid--2--2-3 > * {
        width: auto;
        margin-right: 1em;
    }
    .Grid--xxxs-1 {
        --grid-columns: 1;
        grid-template-columns: 1fr;
    }
    .Grid--xxxs-1.Grid--2--1-2 > *:first-child,
    .Grid--xxxs-1.Grid--2--2-1 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    .Grid--xxxs-1.Grid--2--2-3 > *:first-child {
        width: auto;
        margin-right: 0;
    }
    /* 2 columns at size XS */
    .Grid--xxxs-2 {
        --grid-columns: 2;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }
    /* 3 columns at size XS */
    .Grid--xxxs-3 {
        --grid-columns: 3;
        grid-template-columns: repeat(var(--grid-columns), 1fr);
    }

    .Grid-item--xxxs-orderFirst {
        order: -1;
    }
}

.Grid--marginBottom {
    margin-bottom: 2rem;
}


/* IE 10-11 */

@media all and (-ms-high-contrast:none)
{
    .Grid > * {
        width: calc(100% - 2.01rem);
    }
    .Grid--2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    .Grid--3 > * {
        width: calc(100%/3 - 2.01rem);
    }
    .Grid--4 > * {
        width: calc(100%/4 - 2.01rem);
    }
    .Grid--5 > * {
        width: calc(100%/5 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 1260px) {
    /* 1 column at size L */
    .Grid--l-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size L */
    .Grid--l-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size L */
    .Grid--l-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 1080px) {
    /* 1 column at size M */
    .Grid--m-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size M */
    .Grid--m-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size M */
    .Grid--m-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 960px) {
    /* 1 column at size S */
    .Grid--s-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size S */
    .Grid--s-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size S */
    .Grid--s-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 900px) {
    /* 1 column at size XS */
    .Grid--xs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XS */
    .Grid--xs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XS */
    .Grid--xs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 620px) {
    /* 1 column at size XXS */
    .Grid--xxs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XXS */
    .Grid--xxs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XXS */
    .Grid--xxs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}
@media all and (-ms-high-contrast:none) and (max-width: 320px) {
    /* 1 column at size XXXS */
    .Grid--xxxs-1 > * {
        width: calc(100% - 2.01rem);
    }
    /* 2 columns at size XXXS */
    .Grid--xxxs-2 > * {
        width: calc(100%/2 - 2.01rem);
    }
    /* 3 columns at size XXXS */
    .Grid--xxxs-3 > * {
        width: calc(100%/3 - 2.01rem);
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:23:21
 */

.Title,
.richtext h1, .richtext h2, .richtext h3, .richtext h4, .richtext h5, .richtext h6 {
}
.Title:first-child,
.richtext h1:first-child, .richtext h2:first-child, .richtext h3:first-child, .richtext h4:first-child, .richtext h5:first-child, .richtext h6:first-child {
    margin-top: 0;
}
.Title a {
    color: inherit;
    text-decoration: none;
}
.Title a:hover {
    color: #28dbc4;
}
.HomePartners .Title a:hover {
    color: #fff;
}

.Title--1,
.richtext h1 {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 3rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 3rem;
    text-align: center;
    color: #1e0d68;
}
.richtext h1 {
    margin: 3rem 0;
}

.Subtitle,
.richtext .Subtitle {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 1.4rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 3rem;
    text-align: center;
    color: #1e0d68;
}
.richtext .Subtitle,
.richtext h2.Subtitle,
.richtext h3.Subtitle,
.richtext h4.Subtitle {
    font-size: 2rem;
    margin: 4rem 0 3rem;
    color: #1e0d68;
}
a.Subtitle,
.Subtitle > a {
    text-decoration: none;
}
a.Subtitle:hover,
.Subtitle > a:hover {
    text-decoration: none;
    color: #28dbc4;
}
.Title + .Subtitle {
    margin-top: -3rem;
}
.Subtitle--noMargin {
    margin: 0;
}
.Bloc + .Subtitle {
    margin-top: 3rem;
}

.Title--2,
.richtext h2 {
    color: #28dbc4;
    font-size: 2rem;
    margin: 3rem 0 2rem;
    font-weight: normal;
    text-transform: uppercase;
}

.Title--3,
.richtext h3 {
    font-size: 2rem;
    font-weight: normal;
    margin: 1.8rem 0;
    color: #28dbc4;
}
.Title--2 + .Title--3,
.richtext h2 + h3 {
    margin-top: -2rem;
}

.Title--4,
.richtext h4 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 1.6rem 0;
}
.Title--3 + .Title--4,
.richtext h3 + h4 {
    margin-top: -1.6rem;
}

.Title--5,
.richtext h5 {
    font-size: 1.6rem;
    font-weight: normal;
    margin: 1.6rem 0;
}
.Title--4 + .Title--5,
.richtext h4 + h5 {
    margin-top: -1.6rem;
}

.Title--6,
.richtext h6 {
    font-size: 1em;
    font-weight: bold;
    margin: 1.5rem 0;
}
.Title--5 + .Title--6,
.richtext h5 + h6 {
    margin-top: -1.5rem;
}

.Title--left,
.Subtitle--left {
    text-align: left;
}

.Title--1.Title--1--alt {
    font-family: 'Simplon', sans-serif;
    font-size: 8rem;
    line-height: 1.2;
    font-weight: bold;
    color: #1e0d68;
}
.Title--1.Title--1--altBig {
    font-family: 'Simplon', sans-serif;
    font-size: 12rem;
    line-height: 1.2;
    font-weight: bold;
    color: #1e0d68;
}

.Title--2.Title--2--alt {
    font-family: 'Simplon', sans-serif;
    font-size: 6rem;
    line-height: 1.2;
    font-weight: bold;
    color: #1e0d68;
}

.Surtitle {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 2rem;
    font-weight: normal;
    text-transform: uppercase;
    color: #989898;
}
.Surtitle--alt {
    font-family: 'Simplon', sans-serif;
    font-weight: bold;
    line-height: 1.2;
}
.Surtitle + .Title {
    margin-top: -.5rem;
}


.VerticalTitleContainer {
    margin: 1rem 1rem 0;
    padding-right: 100px;
    padding-left: 100px;
}
.VerticalTitle .Title {
    text-align: left;
    padding-right: 1rem;
    margin: 0;
}

@media (max-width: 1080px) {
    .VerticalTitleContainer {
        padding-right: 80px;
        padding-left: 80px;
    }
}

@media (max-width: 1040px) {
    .VerticalTitleContainer {
        padding-right: 40px;
        padding-left: 40px;
    }
}

@media (max-width: 960px) {
        .Title--2.Title--2--alt {
        margin-bottom: 0;
    }
}

@media (max-width: 720px) {
    .VerticalTitleContainer {
        padding-right: 10px;
        padding-left: 10px;
    }
}

@media (min-width: 961px) {
    .VerticalTitleContainer {
        padding-right: 0;
    }
}

@media (min-width: 1440px) {
    .VerticalTitleContainer {
        display: flex;
        margin-left: 0;
        padding: 0;
    }
    .VerticalTitle {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
        border-left: 1px solid #eaeaea;
        margin: 0 3rem 0 2em;
    }
    .VerticalTitle .Surtitle {
        padding-left: 1rem;
        border-left: 1px solid #eaeaea;
    }
}




@media (max-width: 1024px) {
    .Title--1,
    .richtext h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 960px) {
    .Title--1,
    .richtext h1 {
        font-size: 2rem;
    }
    .Subtitle {
        font-size: 1rem;
    }
}

@media (max-width: 640px) {
    .Title--1,
    .richtext h1 {
        font-size: 1.8rem;
    }
    .Subtitle {
        font-size: .8rem;
    }
}

@media (max-width: 420px) {
    .Title--1,
    .richtext h1 {
        font-size: 1.4rem;
    }
    .Subtitle {
        font-size: .8rem;
    }
}

.Title--animated,
.Surtitle--animated {
    opacity: 0;
    transform: translateY(50px);
    transition: opacity .8s ease-out, transform .8s ease-out;
    transition-delay: .3s;
}
.Title--animated.visible,
.Surtitle--animated.visible {
    opacity: 1;
    transform: translateY(0);
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 10:50:09
 */

.Table {
    width: 100%;
    border-collapse: collapse;
}

.Table tr,
.Table td {
    vertical-align: top;
}

.Table thead th {
    text-transform: uppercase;
    font-weight: normal;
}

.Table--spaceLines th,
.Table--spaceLines td {
    padding: .5em;
}
.Table--spaceLines th:first-child,
.Table--spaceLines td:first-child {
    padding-left: 0;
}
.Table--spaceLines th:last-child,
.Table--spaceLines td:last-child {
    padding-right: 0;
}

.Table--thLeft th {
   text-align: left;
   padding-right: 2em;
}

.Table--2--1-2 tr > *:first-child {
    width: 33%;
}
.Table--2--1-2 tr > *:last-child {
    padding-left: 2rem;
}

.Table--center {
    width: auto;
    margin: 0 auto;
}
.Table--min70width {
    min-width: 70%;
}

.Table--rowsSeparator tr + tr {
    border-top: 1px solid #d7d7d7;
}

.Table--thMinWidth11 th {
    width: 10.5em;
}

.Table tr.togglableLine {
    display: none;
}
.Table.open tr.togglableLine {
    /*display: table-row;*/
}

.Table-toggler {
    display: block;
    text-align: center;
    font-size: 3rem;
    line-height: 1;
}

.Table.Table--verticalCenterLines th,
.Table th.Table-cell--verticalCenter,
.Table.Table--verticalCenterLines td,
.Table td.Table-cell--verticalCenter {
    vertical-align: middle;
}

.Table.Table--verticalTopLines th,
.Table th.Table-cell--verticalTop,
.Table.Table--verticalTopLines td,
.Table td.Table-cell--verticalTop {
    vertical-align: top;
}

.Table-cell--icon {
    width: 1.5em;
}

.Table-cell--big {
    font-size: 2rem;
    font-weight: bold;
}

@media (max-width: 1080px) {
    /* 1 column at size M */
    .Table--m-1,
    .Table--m-1 tr,
    .Table--m-1 th,
    .Table--m-1 td,
    .Table--m-1.Table--2--1-2 tr > *:first-child,
    .Table--m-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--m-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 960px) {
    /* 1 column at size S */
    .Table--s-1,
    .Table--s-1 tr,
    .Table--s-1 th,
    .Table--s-1 td,
    .Table--s-1.Table--2--1-2 tr > *:first-child,
    .Table--s-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--s-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 900px) {
    /* 1 column at size XS */
    .Table--xs-1,
    .Table--xs-1 tr,
    .Table--xs-1 th,
    .Table--xs-1 td,
    .Table--xs-1.Table--2--1-2 tr > *:first-child,
    .Table--xs-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--xs-1 tr + tr {
        margin-top: 1rem;
    }
}
@media (max-width: 620px) {
    /* 1 column at size XXS */
    .Table--xxs-1,
    .Table--xxs-1 tr,
    .Table--xxs-1 th,
    .Table--xxs-1 td,
    .Table--xxs-1.Table--2--1-2 tr > *:first-child,
    .Table--xxs-1.Table--2--1-2 tr > *:last-child {
        display: block;
        margin: 0;
        padding: 0;
        width: auto;
    }
    .Table--xxs-1 tr + tr {
        margin-top: 1rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 17:33:55
 */

.Btn {
    display: inline-block;
    text-decoration: none;
    text-transform: uppercase;
    padding: 1rem 3.5rem;
    margin: 15px 0 0;
    color: #fff;
    background: #28dbc4;
    border: 1px solid transparent;
    border-radius: .8rem;
    transition: .5s background ease, .5s box-shadow ease, .5s border ease;
}
.alternativeTheme .Btn {
    background: #c2252d;
}

.Btn:hover {
    text-decoration: none;
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .3);
}
.Btn:focus {
    outline: thin dotted;
    outline-offset: -5px;
}
.Btn:active {
    background: #000;
    box-shadow: none;
}
.Btn:focus:active {
    outline: none;
}

.Btn--darkBg {
    color: #fff;
    border: 2px solid #fff;
    background: transparent;
}

.Btn--reset {
    background: #aaa;
}

.Btn--off {
    background: #fff;
    color: #999;
    border: 1px solid #999;
}

.Btn--xs{
    padding: 0 5px;
    margin: 0 0 0 7px;
    border-radius: 50%;
    font-size: 2rem;
    line-height: 1em;
}

.BtnGroup .Btn:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.BtnGroup .Btn:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.Btn--secondary {
    background: none;
    border-color: #999;
    color: #666;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:41:14
 */

.TopBar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    padding: 2rem;
    height: 7.2rem;
    z-index: 900;
    background: #fff;
}

.TopBar-logo,
.TopBar-logo img {
    height: 150%;
    z-index: 1100;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 */

.Header {
    position: relative;
    text-align: center;
    color: #fff;
}

.Header-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 3rem;
}
.Header-content-bottom {
    position: absolute;
    right: 0;
    bottom: 3rem;
    left: 0;
    text-align: center;
}

.Header-image {
    display: block;
    width: 100%;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 09:41:26
 */

.LocaleSwitcher {
    list-style: none;
    padding: 0;
    margin: 0;
}

.LocaleSwitcher-item {
    display: inline;
}

.LocaleSwitcher-item + .LocaleSwitcher-item {
    margin-left: 1em;
}

.LocaleSwitcher-item-link {
    text-decoration: none;
    color: inherit;
    transition: color .5s ease;
}
.LocaleSwitcher-item-link:hover {
    color: #000;
    text-decoration: underline;
}

.LocaleSwitcher-item.active,
.LocaleSwitcher-item.active .LocaleSwitcher-item-link {
    color: #1e0d68;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:30:22
 */

.Slider {
    position: relative;
    padding-bottom: 56.25%;
}
.Slider--15-10 {
    padding-bottom: 66.7%;
}
.Slider--fullHeight {
    height: 100%;
    padding-bottom: 0;
}

.Slider-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.Slider-item,
.slick-initialized .Slider-item {
    position: relative;
    display: flex;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.Slider .slick-list {
    height: 100%;
    width: 100%;
}
.Slider .slick-track {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
}

.Slider .slick-prev::after,
.Slider .slick-next::after
{
    border-color: #fff;
}

.Slider .slick-prev.slick-disabled,
.Slider .slick-next.slick-disabled
{
    opacity: .2;
    pointer-events: none;
}

.Slider-item-copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .5rem 1.5rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}
.Slider-item-title {
    position: absolute;
    left: 0;
    top: 0;
}

.Slider-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
}
.Slider-overlay-text {
    color: #000;
    margin-top: 1em;
    text-transform: uppercase;
    text-align: center;
}

.Slider-item-video {
    width: 100%;
}

.Slider-item-muteIcon {
    position: absolute;
    top: 2rem;
    right: 2rem;
    height: 3rem;
    visibility: visible;
    transition: visibility .5s ease, opacity .5s ease;
    pointer-events: none;
}
.Slider-item-muteIcon.inactive {
    visibility: hidden;
    opacity: 0;
}

.Slider-item-text > *:last-child {
    margin-bottom: 0;
}

.Slider--controlsOutside .slick-dots {
    bottom: -1.7rem;
}

.Slider--controlsOutside .slick-dots li button {
    background-color: #8582AF;
}
.Slider--controlsOutside .slick-dots li.slick-active button {
    background-color: #1e0d68;
}

.Slider--controlsOutside .Slider .slick-prev:after,
.Slider--controlsOutside  .Slider .slick-next:after {
    border-color: #000;
}

.Slider--controlsOutside .slick-prev {
    left: -4.4rem;
}
.Slider--controlsOutside .slick-next {
    right: -4.4rem;
}


.Slider--noItemsCrop .Slider-item,
.Slider--noItemsCrop .slick-initialized .Slider-item {
    background-size: contain;
}

.Slider--smallDots .slick-dots li button {
    width: .5rem;
    height: .5rem;
}


.Slider--sideTimeLine {
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
}
.Slider--sideTimeLine .Slider-controls {
    order: -1;
}
.Slider--sideTimeLine .Slider-content {
    position: static;
}
.Slider--sideTimeLine .slick-track {
    align-items: unset;
}
.Slider--sideTimeLine .slick-prev,
.Slider--sideTimeLine .slick-next
{
    padding: 1rem;
}
.Slider--sideTimeLine .Slider-item {
    display: block;
}
.Slider--sideTimeLine .slick-prev,
.Slider--sideTimeLine .slick-next {
    position: static;
    background: #1e0d68;
}

@media (max-width: 800px) {
    .Slider-overlay-text {
        font-size: .8em;
    }
}
@media (max-width: 620px) {
    .Slider--fullHeight {
        padding-bottom: 56%;
    }
}
@media (max-width: 520px) {
    .RaceCountdown {
        font-size: .4rem;
    }
}

@media (min-width: 1600px) {
    .Slider--sideTimeLine {
        margin-top: 10rem;
    }
}

@media (min-width: 1900px) {
    .Slider--sideTimeLine {
        margin-top: 18rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 11:20:49
 */

.Carousel {
    position: relative;
    padding-bottom: 166%;
    margin: 0 -1rem;
}
.Carousel--full {
    padding-bottom: 0;
}
.Carousel[data-slides-to-show="3"] {
    padding-bottom: 56.25%;
}
.Carousel[data-slides-to-show="6"] {
    padding-bottom: 26%;
}
.Carousel--short {
    padding-bottom: 120%;
}

.Carousel-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
.Carousel--full .Carousel-content {
    position: relative;
}

.Carousel-content .slick-list {
    height: 100%;
    width: 100%;
}
.Carousel-content .slick-track {
    display: flex;
    align-items: center;
    height: 100%;
    width: 100%;
}
.Carousel-content .slick-prev {
    left: -3.3rem;
}
.Carousel-content .slick-next {
    right: -3.3rem;
}


.Carousel-item,
.slick-initialized .Carousel-item {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0 1rem;
    background: #28dbc4;
    color: #1e0d68;
    border-radius: 1.2rem;
    overflow: hidden;
    transition: background .5s ease, color .5s ease;
}
.alternativeTheme .Carousel-item,
.alternativeTheme .slick-initialized .Carousel-item {
    color: #fff;
    background: #c2252d;
}
.alternativeTheme .Carousel-item .color-hover-link:hover{
    color:#1e0d68;
}
.Carousel--full .Carousel-item{
    background: white;
}

a.Carousel-item {
    text-decoration: none;
}
a.Carousel-item:hover,
.Carousel-item--hover:hover{
    text-decoration: none;
    background-color: #1e0d68;
    color: #fff;
}



.Carousel-item-imageWrapper {
    display: block;
    overflow: hidden;
    flex: 1;
    transition: transform 1s ease;
}
.Carousel-item-image {
    display: block;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform 1s ease;
}
a.Carousel-item:hover .Carousel-item-imageWrapper .Carousel-item-image {
    transform: scale(1.1);
}

.Carousel-item-content {
    padding: 1rem;
}
.Carousel-item-content img {
    display: inline;
}

.Carousel-item-title {
    display: block;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: 500; /* Medium */
}
.Carousel-item-subtitle {
    display: block;
    margin: 1rem 0 0;
    padding: 0;
    text-transform: uppercase;
}
.Carousel-item-title a,
.Carousel-item-subtitle a {
    color: inherit;
}
.Carousel-item-subtitle--bold{
    font-weight: bold;
}

.Carousel--margin {
    margin: 4rem;
}

.Carousel--margin .Carousel-content .slick-prev {
    left: -3.6rem;
}
.Carousel--margin .Carousel-content .slick-next {
    right: -3.6rem;
}

@media (max-width: 1280px) {
    .Carousel[data-slides-to-show="6"] {
        padding-bottom: 38%;
    }
}
@media (max-width: 920px) {
    .Carousel {
        padding-bottom: 88%;
    }
    .Carousel--short {
        padding-bottom: 70%;
    }
    .Carousel[data-slides-to-show="3"] {
        padding-bottom: 68%;
    }
    .Carousel[data-slides-to-show="6"] {
        padding-bottom: 68%;
    }
}

@media (max-width: 620px) {
    .Carousel,
    .Carousel[data-slides-to-show="3"] {
        padding-bottom: 125%;
    }
    .Carousel[data-slides-to-show="6"] {
        padding-bottom: 125%;
    }
    .Carousel--short {
        padding-bottom: 100%;
    }
    .Carousel-content .slick-prev {
        left: -3rem;
    }
    .Carousel-content .slick-next {
        right: -3rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-10 18:38:40
 */

.CarouselVideo {
}

.CarouselVideo .slick-track {
    display: flex;
}
.CarouselVideo .slick-slide {
    height: auto;
}
.slick-initialized .slick-slide.CarouselVideo-item {
    display: flex;
    flex-direction: column;
}

.CarouselVideo-item {
    margin: 0 1rem;
    display: block;
    text-align: left;
    border-radius: .6rem;
    color: #fff;
    background: #28dbc4;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
}

.CarouselVideo-item-videoWrapper {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    padding-bottom: 56.25%;
    border-radius: .6rem .6rem 0 0;
    transition: transform 1s ease;
    background: #000;
}
.CarouselVideo-item-videoHolder {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.CarouselVideo-imageContainer {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    overflow: hidden;
    display: flex;
    background: #000;
}
.CarouselVideo-image {
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .5s ease;
}

.CarouselVideo-imageContainer .CarouselVideo-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.CarouselVideo-image-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.CarouselVideo-image-overlay-icon {
    width: 20%;
    transition: transform .5s ease;
}

.CarouselVideo-item[onclick]:hover .CarouselVideo-image {
    transform: scale(1.1);
}
.CarouselVideo-item[onclick]:hover .CarouselVideo-image-overlay-icon {
    transform: scale(.9);
}

.CarouselVideo-item-video {
    width: 100%;
    height: 100%;
}

.CarouselVideo-item-content {
    display: block;
    padding: 1em;
    flex: 1;
    transition: background .5s ease, color .5s ease;
}

.CarouselVideo-item-title {
    display: block;
    margin: 0;
    font-weight: bold;
    color: #1e0d68;
    text-decoration: none;
    transition: color .5s ease;
}
a.CarouselVideo-item-content {
    text-decoration: none;
    color: inherit;
}

.CarouselVideo-item-subtitle {
    display: block;
    font-size: .9em;
}

.CarouselVideo-item-text,
.CarouselVideo-item p.CarouselVideo-item-text {
    margin: 1rem 0 0 0;
    padding: 0;
}

.CarouselVideo-item[onclick]:hover,
.CarouselVideo-item-content:hover {
    color: #fff;
    background: #1e0d68;
}

.CarouselVideo-item[onclick]:hover .CarouselVideo-item-title,
.CarouselVideo-item-content:hover .CarouselVideo-item-title {
    color: #fff;
}

.CarouselVideo-content .slick-prev {
    left: -3.3rem;
}
.CarouselVideo-content .slick-next {
    right: -3.3rem;
}


@media (max-width: 720px) {
    .CarouselVideo {
        margin-left: 3rem;
        margin-right: 3rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2021-09-10 10:39:56
 */

.DropDown {
    position: relative;
}

.DropDown--m {
    width: 28rem;
    margin: 0 auto;
}
.DropDown--inline {
    display:inline-block;
}

.DropDown-title {
    display: block;
    font-weight: bold;
    margin: 2rem 0;
    font-size: 1.8rem;
}

.DropDown-toggler {
    position: relative;
    display: block;
    text-align: left;
    text-decoration: none;
    padding: 1rem 4rem 1rem 1.5rem;
    color: #1e0d68;
}

.DropDown-toggler::after {
    position: absolute;
    right: 1rem;
    top: 50%;
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    margin-top: -.6rem        ;
    border: 2px solid #333;
    border-bottom: none;
    border-left: none;
    transform-origin: 66% 33%;
    transform: translate(-.5rem, .1rem) rotate(135deg);
    transition: transform .5s ease;
}


.DropDown-list {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: left;
    list-style: none;
    margin: 0;
    padding: 1rem 0;
    border-top: 0;
    background: #fff;
    z-index: 10;
    visibility: hidden;
    opacity: 0;
    transition: visibility .5s ease, opacity .5s ease, top .5s ease;
}

.DropDown-list-item {
}

.DropDown-list-item-link {
    display: block;
    padding: 1rem 2rem;
    text-decoration: none;
    transition: color .5s ease, background-color .5s ease;
}
.DropDown-list-item-link:hover {
    color: #fff;
    background: #1e0d68;
}



.DropDown.open .DropDown-toggler::after {
    transform: translate(-.5rem, .1rem) rotate(-45deg);
}

.DropDown.open .DropDown-list {
    top: 100%;
    visibility: visible;
    opacity: 1;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:47:43
 */

.MainMenu {
    flex: 1;
    display: flex;
    font-size: 1.2rem;
}

.MainMenu-items {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    text-align: center;
}

.MainMenu-item {
    display: inline-block;
    font-weight: bold;
    color: #1e0d68;
    text-transform: uppercase;
    margin: 0;
    transition: .5s padding ease;
}

.MainMenu-item.first {
    background-color: #1e0d68;
    color: white;
}

.MainMenu-item.first .MainMenu-item-link {
    color: white;
    margin: 0 0.3rem;
}

.MainMenu-item-link {
    display: inline-block;
    text-decoration: none;
    margin: 0 2rem;
    padding: .3rem .6rem;
    color: #1e0d68;
    border-bottom: 2px solid transparent;
    transition: .5s border-bottom-color ease, .5s padding ease;
}

.MainMenu-item-link:hover,
.MainMenu-item-link.active,
.MainMenu-item.active-ancestor .MainMenu-item-link,
.MainMenu-item:hover > .MainMenu-item-link {
    text-decoration: none;
    border-bottom-color: #1e0d68;
}

.MainMenu-item-subMenu {
    position: absolute;
    display: flex;
    justify-content: center;
    top: 7.2rem;
    left: 0;
    right: 0;
    margin: 0;
    padding: 3rem;
    text-align: left;
    background: #1e0d68;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: .5s opacity ease, .5s visibility ease;
}
.MainMenu-item-subMenu .MainMenu-item {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0 3rem;
    font-size: 1.6rem;
}
.MainMenu-item-subMenu .MainMenu-item-link {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 1rem 4rem;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 1.6rem;
    color: #28dbc4;
    transition: .5s color ease, .5s background-color ease;
    z-index: 999;
}
.MainMenu-item-subMenu .MainMenu-item-link:hover {
    color: #fff;
}
.MainMenu-item-subMenu .MainMenu-item-link--strong {
    color:#fff;
    font-weight:bold;
}
.MainMenu-item-subMenu .MainMenu-item-link--strong:hover {
    color: #28dbc4;
}
.MainMenu-item-subMenu .Bloc--cut::after {
    background:#1e0d68;
}

.MainMenu-item:hover > .MainMenu-item-subMenu {
    opacity: 1;
    visibility: visible;
}

.MainMenu-addon {
    display: flex;
    flex-direction: column;
    justify-content: center;
    font-size: 1.1rem;
    color: #989898;
    text-align: right;
}

.MainMenu-item-zones {
    display: flex;
    justify-content: center;
    font-size: 1.4rem;
    text-transform: none;
    font-weight: normal;
}
.MainMenu-item-zone {
    flex: 0;
    display: flex;
    flex-direction: column;
}
.MainMenu-item-zone-content {
    display: flex;
    flex: 1;
}

.MainMenu-item-subMenu .MainMenu-item-zone .MainMenu-item-link {
    flex: 0;
}

.MainMenu-item-zone + .MainMenu-item-zone {
    position: relative;
    margin-left: 3rem;
    padding-left: 3rem;
}
.MainMenu-item-subMenu .MainMenu-item + .MainMenu-item,
.MainMenu-item-zone + .MainMenu-item-zone {
    border-left: 1px solid #28dbc4;
}
.MainMenu-item-zone-title {
    display: block;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.6rem;
    margin: 0 0 2rem 0;
    padding: 0;
    font-weight: normal;
    color: #28dbc4;
}
a.MainMenu-item-zone-title {
    text-decoration: none;
    color: #28dbc4;
}
a.MainMenu-item-zone-title:hover {
    text-decoration: none;
    color: #fff;
}

.MainMenu-item-zone-bloc {
    display: block;
    width: 25rem;
    margin-bottom: 1rem;
}
.MainMenu-item-zone-bloc + .MainMenu-item-zone-bloc {
    margin-left: 3rem;
}
.MainMenu-item-zone-links{
    display:flex;
    justify-content: space-between;
}
.MainMenu-item-zone-link{
    color:white;
    font-size:1.6rem;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom:1rem;
}

.MainMenu-item-zone-link::after {
    content: '';
    display: inline-block;
    width: 0.6rem;
    height: 0.6rem;
    border: 2px solid white;
    border-bottom: none;
    border-left: none;
    transform: translateX(0.5rem) rotate(45deg) skew(-16deg, -15deg)
}

.MainMenu-item-zone-links .MainMenu-item-zone-link:nth-child(0n+2){
    flex: 1;
    text-align: right;
    padding-right: 4rem;
}

/* Burger menu button */
.MainMenu-btn {
    position: absolute;
    top: 50%;
    right: 24px;
    cursor: pointer;
    width: 24px;
    margin: -8px 0 0;
    padding: 0;
    border: none;
    border-bottom: 3px solid #1e0d68;
    outline-offset: 5px;
    background: none;
    opacity: 0;
    visibility: hidden;
    transition: padding .5s ease-in-out, background 1.5s ease-out, border-radius .5s ease-in-out, .5s opacity ease, .5s visibility ease, border-color .4s ease-in-out;
    z-index: 1201;
}
.MainMenu-btn:before {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid #1e0d68;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.MainMenu-btn:after {
    content: "";
    display: block;
    margin-bottom: 4px;
    border-bottom: 3px solid #1e0d68;
    transition: transform .4s ease-in-out, border-color .4s ease-in-out;
}
.MainMenu.open .MainMenu-btn {
    border-color: transparent;
}
.MainMenu.open .MainMenu-btn:before {
    transform: translateY(5px) rotate(-135deg);
}
.MainMenu.open .MainMenu-btn:after {
    transform: translateY(-2px) rotate(135deg);
}

.MainMenu-socialNetworks,
.SocialNetworks.MainMenu-socialNetworks {
    display: none;
}

@media (max-width: 1160px) {
    .MainMenu-item-link {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }
}

@media (max-width: 1100px) {
    .MainMenu-item-link {
        margin-left: 1rem;
        margin-right: 1rem;
    }
}

@media (max-width: 990px) {
    .MainMenu-item-link {
        margin-left: .5rem;
        margin-right: .5rem;
    }
}

/* If changing this breakpoint, remember to also update it in js file */
@media (max-width: 930px) {
    /* Burger menu */
    .MainMenu-btn {
        opacity: 1;
        visibility: visible;
    }

    .MainMenu-items {
        position: fixed;
        top: -100vh;
        left: 0;
        right: 0;
        bottom: 0;
        background: #28dbc4;
        z-index: 900;
        justify-content: center;
        align-items: stretch;
        flex-direction: column;
        display: flex;
        font-size: 1.6rem;
        opacity: 0;
        visibility: hidden;
        transition: 1s top ease, 1s opacity ease, 1s visibility ease;
        padding-bottom: 5.2rem; /* space for MainMenu-addon */
        overflow: auto;
    }
    .MainMenu-item {
        display: block;
    }
    .MainMenu-item-link {
        display: block;
        text-align: center;
        padding: 10px;
        margin-left: 0;
        margin-right: 0;
        color: #fff;
        border: none;
    }

    .MainMenu-item-subMenu {
        position: static;
        display: block;
        font-size: 1.4rem;
        padding: 0;
        max-height: 0;
        width: 100%;
        background: none;
        border: none;
        text-align: center;
        transition: 1s max-height ease, 1s opacity ease, 1s visibility ease;
    }
    .MainMenu-item-subMenu .MainMenu-item {
        display: block;
        padding: 0;
    }
    .MainMenu-item-subMenu .MainMenu-item-link {
        color: #fff;
    }
    .MainMenu-item-link:hover,
    .MainMenu-item-subMenu .MainMenu-item-link:hover,
    .MainMenu-item.open > .MainMenu-item-link {
        color: #fff;
        background: #000;
    }
    .MainMenu-item:hover > .MainMenu-item-subMenu {
        opacity: 0;
        visibility: hidden;
    }
    .MainMenu-item.open > .MainMenu-item-subMenu {
        opacity: 1;
        visibility: visible;
        max-height: 800px;
    }

    .MainMenu.open .MainMenu-items {
        top: 0;
        opacity: 1;
        visibility: visible;
    }
    .MainMenu.open .MainMenu-btn:before,
    .MainMenu.open .MainMenu-btn:after {
        border-color: #fff;
    }

    .MainMenu-addon {
        position: fixed;
        font-size: 1.4rem;
        bottom: 0;
        left: 0;
        right: 0;
        opacity: 0;
        visibility: hidden;
        text-align: center;
        z-index: 1201;
        color: #f0f0f0;
        transition: 1s opacity ease, 1s visibility ease;
        background: #28dbc4;
    }
    .MainMenu.open .MainMenu-addon {
        opacity: 1;
        visibility: visible;
    }
    .MainMenu-item-zones {
        display: none;
    }

    .MainMenu-socialNetworks,
    .SocialNetworks.MainMenu-socialNetworks {
        display: flex;
    }
}

/* On verry small displays, do not show logo in burger menu */
@media (max-width: 420px) and (max-height: 480px) {
    .MainMenu-items {
        z-index: 1200;
    }
}

/* IE 10-11 */
@media all and (-ms-high-contrast:none)
{
    .MainMenu-item-zones {
        display: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-04-19 09:24:21
 */

.SimpleMenu {
}

.SimpleMenu-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.SimpleMenu-list-item {
    display: inline-block;
    margin: 0 3rem;
    text-transform: uppercase;
}

.SimpleMenu-list-item-link {
    text-decoration: none;
}

.SimpleMenu-list-item-link:hover {
    text-decoration: underline;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 15:54:31
 */

.SecondaryMenu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.SecondaryMenu-item {
    display: inline-block;
    margin: 0;
    text-transform: uppercase;
}
.SecondaryMenu-item + .SecondaryMenu-item::before {
    content: '/';
    margin: 0 .5em;
}

.SecondaryMenu-item-link {
    display: inline-block;
    text-transform: uppercase;
    text-decoration: none;
    color: inherit;
    transition: color .5s ease;
}

.SecondaryMenu-item-link:hover {
    color: #000;
    text-decoration: underline;
}

.SecondaryMenu-item-subMenu {
    position: absolute;
    font-size: 1.4rem;
    right: 0;
    list-style: none;
    margin: 0;
    padding: 1rem 0 ;
    text-align: left;
    background: #1e0d68;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: .5s opacity ease, .5s visibility ease;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item {
    display: block;
    margin: 0;
    padding: 0;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item + .SecondaryMenu-item::before {
    display: none;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item-link {
    display: block;
    padding: .6rem 4rem;
    margin: 0;
    text-align: left;
    transition: .5s color ease, .5s background-color ease;
}
.SecondaryMenu-item-subMenu .SecondaryMenu-item-link:hover {
    text-decoration: none;
    color: #fff;
}

.SecondaryMenu-item:hover > .SecondaryMenu-item-subMenu {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 930px) {
    .SecondaryMenu-item-link {
        padding: .5rem;
    }
    .SecondaryMenu-item-subMenu {
        bottom: 5rem;
        left: 0;
    }
    .SecondaryMenu-item-subMenu .SecondaryMenu-item-link {
        text-align: center;
        padding: 1rem 2rem;
    }
    .SecondaryMenu-item-subMenu .SecondaryMenu-item-link:hover {
        background: #000;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-04-19 09:24:21
 */

.PageMenu {
    margin: 3rem 0;
}

.PageMenu-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.PageMenu-list-item {
    display: inline-block;
    margin: 0;
    text-transform: uppercase;
}
.PageMenu-list-item + .PageMenu-list-item::before {
    content: '|';
    display: inline-block;
    margin: 0 .6em;
}

.PageMenu-list-item-link {
    text-decoration: none;
    font-weight: bold;
    color: #28dbc4;
}

.PageMenu-list-item-link:hover {
    text-decoration: underline;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-04-19 09:24:21
 */

.PageMenuBlocs {
}

.PageMenuBlocs-title {
    font-size: 12rem;
    font-weight: bold;
    line-height: 1.2;
    margin: 0 0 -3.5rem 2rem;
    color: #8b8b8b;
    opacity: .3;
    position: relative;
    z-index: -1;
}

.PageMenuBlocs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: item;
}

.PageMenuBlocs-list-item {
    display: flex;
    flex: 1;
    counter-increment: item;
}

.PageMenuBlocs-list-item-link {
    display: block;
    flex: 1;
    text-decoration: none;
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.3;
    padding: 4rem 5rem;
    color: #fff;
    background: #11073E;
    transition: color .5s ease, background-color .5s ease;
}
.PageMenuBlocs-list-item-link::before {
    content: counter(item, decimal-leading-zero);
    display: block;
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 3rem;
    margin-bottom: 1rem;
    font-weight: bold;
    color: rgba(255,255,255,.27);
}

.PageMenuBlocs-list-item-link:hover {
    background: #28dbc4;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 13:55:32
 */

.MainBody {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 4rem 140px 2rem 140px;
}

.MainBody p {
    margin: 3rem 0;
}

.MainBodyBgWrapper {
    padding-bottom: 4rem;
    background: #28dbc4;
}

@media (max-width: 1080px) {
    .MainBody {
        padding-right: 100px;
        padding-left: 100px;
    }
}

@media (max-width: 800px) {
    .MainBody {
        padding-right: 70px;
        padding-left: 70px;
    }
}

@media (max-width: 640px) {
    .MainBody {
        padding-right: 40px;
        padding-left: 40px;
    }
}

.MainBody--large {
    max-width: 1400px;
    padding-right: 120px;
    padding-left: 120px;
}

.MainBody--midLarge {
    max-width: 1760px;
    padding-right: 120px;
    padding-left: 120px;
}

.MainBody--extraLarge {
    max-width: 1800px;
    padding-right: 120px;
    padding-left: 120px;
}

.MainBody--light {
    color: #989898;
}

@media (max-width: 1120px) {
    .MainBody--large {
        padding-right: 100px;
        padding-left: 100px;
    }
}

@media (max-width: 1080px) {
    .MainBody,
    .MainBody--large {
        padding-right: 80px;
        padding-left: 80px;
    }
}

@media (max-width: 1040px) {
    .MainBody,
    .MainBody--large {
        padding-right: 40px;
        padding-left: 40px;
    }
}

@media (max-width: 720px) {
    .MainBody {
        padding-top: 3rem;
    }
    .MainBody,
    .MainBody--large {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.MainBody--fullWidth {
    max-width: unset;
    padding-right: 0;
    padding-left: 0;
}


.MainBody--mVerticalSpacing {
    margin-top: 6rem;
    margin-bottom: 6rem;
    padding-top: 0;
    padding-bottom: 0;
}
.MainBody--mVerticalSpacing p:last-child {
    margin-bottom: 0;
}
.MainBody--lVerticalSpacing {
    margin-top: 10rem;
    margin-bottom: 10rem;
    padding-top: 0;
    padding-bottom: 0;
}
.MainBody--lVerticalSpacing p:last-child {
    margin-bottom: 0;
}

.MainBodyBgWrapper--light {
    background: #fff;
}
.MainBodyBgWrapper--grey {
    padding-top: 1px;
    padding-bottom: 1px;
    background: #efefef;
}
.MainBodyBgWrapper--color {
    padding-top: 1px;
    padding-bottom: 1px;
    background: #28dbc4;
}

.MainBody--noTopPadding {
    padding-top: 0;
}
.MainBody--noTopMargin {
    margin-top: 0;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 15:31:31
 */

.MainFooter {
    position: relative;
    padding: 8rem 2rem 2rem 2rem;
    text-align: center;
    text-transform: uppercase;
    background: #fff;
}
.MainFooter-logo {
    position: absolute;
    top: 8rem;
    right: 2rem;
    content: '';
    display: block;
    width: 10rem;
    height: 6rem;
    background: url(../../../assets/logo-imoca.svg) no-repeat;
    background-size: contain;
    filter: gray;
    filter: grayscale(1);
}

.MainFooter {
    margin-top: 6rem;
    color: #999;
}

.MainBodyBgWrapper + .MainFooter {
    margin-top: 0;
}

.MainFooter a {
    text-decoration: none;
    color: inherit;
}
.MainFooter a:hover {
    text-decoration: underline;
}

.MainFooter-newsletter {
    margin: 7rem 0;
}

.MainFooter .form-control {
    color: #999;
    max-width: 250px;
    margin: 0 auto;
}
.MainFooter .form-control::placeholder {
    color: #d6d6d6;
}

.MainFooter-signature {
    margin-top: 8rem;
}

@media (max-width: 1024px) {
    .MainFooter::after {
        display: none;
    }
}

@media (max-width: 1000px) {
    .MainFooter-menu {
        display: none;
    }
}

@media (max-width: 620px) {
    .MainFooter-logo {
        display: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-01 09:01:58
 */

.Pagination {
    text-align: center;
    margin: 3rem 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
}

.Pagination-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.Pagination-item {
    display: inline-block;
    margin: 0;
}
.Pagination-item + .Pagination-item {
    margin-left: -1px;
}
.Pagination-item.active {
    font-weight: bold;
}

.Pagination-item-link {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: .8rem 1.2rem;
    color: inherit;
    border: 1px solid #999;
    transition: color .5s ease, background-color .5s ease, border-color .5s ease;
}
.Pagination-item-link:hover {
    text-decoration: none;
    color: #fff;
    background: #28dbc4;
    border-color: #28dbc4;
}


.Pagination-item.disable .Pagination-item-link,
.Pagination-item.disable .Pagination-item-link:hover {
    color: #999;
    background: none;
    z-index: 1;
}

.Pagination-item.active {
    z-index: 1;
}
.Pagination-item.active .Pagination-item-link {
    color: #fff;
    background: #28dbc4;
    border-color: #28dbc4;
}

.Pagination-item--previous,
.Pagination-item--next {
}
.Pagination-item--previous .Pagination-item-link {
    border-radius: 1rem 0 0 1rem;
}
.Pagination-item--next .Pagination-item-link {
    border-radius: 0 1rem 1rem 0;
}
.Pagination-item--previous .Pagination-item-link::before,
.Pagination-item--next .Pagination-item-link::after {
    color: #aaa;
    transition: color .5s ease;
}
.Pagination-item--previous .Pagination-item-link::before {
    content: '<<';
    margin-right: .5em;
}
.Pagination-item--next .Pagination-item-link::after {
    content: '>>';
    margin-left: .5em;
}
.Pagination-item--previous .Pagination-item-label,
.Pagination-item--next .Pagination-item-label {
}
.Pagination-item--previous .Pagination-item-link:hover::before,
.Pagination-item--next .Pagination-item-link:hover::after {
    color: #fff;
}
.Pagination-item--previous.disable .Pagination-item-link::before,
.Pagination-item--next.disable .Pagination-item-link::after,
.Pagination-item--previous.disable .Pagination-item-link:hover::before,
.Pagination-item--next.disable .Pagination-item-link:hover::after {
    color: #cdcdcd;
}

@media (max-width: 640px) {
    .Pagination-item--previous .Pagination-item-label,
    .Pagination-item--next .Pagination-item-label {
        display: none;
    }
}

@media (max-width: 500px) {
    .Pagination-item {
        display: none;
    }
    .Pagination-item.active,
    .Pagination-item--previous,
    .Pagination-item--next {
        display: inline-block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 15:47:42
 */

.MultiBlocWrapper .Bloc:last-child {
    margin-bottom: 0;
}

.Bloc {
    /*position: relative;*/ /* Safari fix: remove relative position, it cause bug on borders when bloc has border radius and overflow content */
    background: #fff;
    overflow: hidden;
    margin-bottom: 2rem;
    transform: translate3d(0, 0, 0); /* Safari fix for border radius, overflow and child css transform. Also compensate removing of relative positionning, because "transform" creates a context for absolute positionning like relative position */
}
.Bloc--noVerticalMargin {
    margin-top: 0;
    margin-bottom: 0;
}
.Bloc--transparent{
    background: transparent;
}

/* Lets grid handle spacing when mixed in */
.Grid > .Bloc {
    margin: 0;
}

.Bloc-content,
.Bloc-footer {
    padding: 1.5em 2.25em;
}
.Bloc-content + .Bloc-footer {
    padding: 0 2.25em 1.5em 2.25em;
}
.Bloc-content p {
    margin: .8em 0;
}
.Bloc-content > p:first-child {
    margin-top: 0;
}
.Bloc-content > p:last-child {
    margin-bottom: 0;
}
.Bloc-content--bg {
    background: #fff;
}
.Bloc-content--doublePadding {
    padding: 3em 4.5em;
}

.Bloc-content--doublePadding + .Bloc-footer
.Bloc-footer--noPaddingTop {
    padding-top: 0;
}


.Bloc-image {
    display: block;
    width: 100%;
}
.Bloc-image--topright{
    position:absolute;
    top:4em;
    right:4em;
    width:150px;
}

.Bloc-title {
    font-weight: bold;
    font-size: 1.6rem;
    text-transform: uppercase;
    margin: 0 0 1em;
    padding: 0;
    color: #1e0d68;
}
.alternativeTheme .Bloc-title {
    color: #c2252d;
}
.Bloc > .Bloc-title {
    margin-top: 1.5em;
    margin-right: 1.5em;
    margin-left: 1.5em;
}
.Bloc > .Bloc-title + .Bloc-content {
    padding-top: 0;
}

.Bloc-subtitle {
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    margin: 1rem 0 .5rem;
    padding: 0;
    color: #1e0d68;
}
.Bloc-subtitle:first-child {
    margin-top: 0;
}

.Bloc-content + .Bloc-content {
    border-top: 2px solid #f2f2f2;
}

.Bloc--cut {
    padding-bottom: 5.2rem;
}
.Bloc--cut::after {
    position: absolute;
    bottom: -50rem;
    left: -1px;
    right: -1px;
    content: '';
    display: block;
    height: 50rem;
    background: #efefef;
    transform-origin: bottom left;
    transform: skew(0deg, -10deg);
}
.Bloc--cut.Bloc--small {
    padding-bottom: 3rem;
}

.Bloc--alignBottomWithTopCut {
    margin-bottom: 5.2rem;
}

.Bloc--nextToBlocCut {
    padding-bottom: 5.2rem;
}
.Bloc--nextToBlocCut::after {
    position: absolute;
    bottom: 0rem;
    left: 0;
    right: 0;
    content: '';
    display: block;
    height: 5.2rem;
    background: #efefef;
}
.Bloc--nextToBlocCut.Bloc--jsResize {
    padding-bottom: 0;
}
.Bloc--nextToBlocCut.Bloc--jsResize::after {
    display: none;
}

.Bloc--round {
    border-radius: 1.2rem;
}
.Bloc--roundTop {
    border-radius: 1.2rem 1.2rem 0 0;
}
.Bloc--roundTopLeft {
    border-radius: 1.2rem 0 0;
}
.Bloc--roundTopRight {
    border-radius: 0 1.2rem 0 0;
}
.Bloc--roundBottom {
    border-radius: 0 0 1.2rem 1.2rem;
}
.Bloc--roundBottomLeft {
    border-radius: 0 0 0 1.2rem;
}
.Bloc--roundBottomRight {
    border-radius: 0 0 1.2rem 0;
}

.Bloc--small.Bloc--round {
    border-radius: .6rem;
}
.Bloc--small.Bloc--roundTop {
    border-radius: .6rem .6rem 0 0;
}
.Bloc--small.Bloc--roundTopLeft {
    border-radius: .6rem 0 0;
}
.Bloc--small.Bloc--roundTopRight {
    border-radius: 0 .6rem 0 0;
}
.Bloc--small.Bloc--roundBottom {
    border-radius: 0 0 .6rem .6rem;
}
.Bloc--small.Bloc--roundBottomLeft {
    border-radius: 0 0 0 .6rem;
}
.Bloc--small.Bloc--roundBottomRight {
    border-radius: 0 0 .6rem 0;
}

.Bloc--bgWaves {
    color: #fff;
    background: #28dbc4 url(../../../assets/waves.svg) no-repeat bottom center / 102% auto;
}
.alternativeTheme .Bloc--bgWaves {
    background-color: #c2252d;
}

.Bloc-collapsing {
    max-height: 0;
    transition: max-height .5s linear;
    overflow: hidden;
}
.Bloc-toggler {
    position: relative;
    cursor: pointer;
    transition: color .5s ease;
}
.Bloc-toggler::before {
    content: '';
    position: absolute;
    top: 1rem;
    left: -1.5rem;
    /*margin-top: -2.5rem;*/
    border-left: .5rem solid currentColor;
    border-top: .5rem solid transparent;
    border-bottom: .5rem solid transparent;
    transition: color .5s ease, transform .5s ease;
}
.Bloc-toggler:hover {
    color: #000;
}

.Bloc-toggler--dots {
    display: block;
    text-align: left;
    max-height: 1.5em;
    transition: max-height 2s ease-out;
}
.Bloc-toggler--dots::before {
    display: none;
}
.Bloc-toggler--dots::after {
    content: '...';
}
.Bloc-toggler--arrow::before{
    display:none;
}
.Bloc-toggler--arrow::after {
    content: '';
    position: absolute;
    right: -2.2rem;
    top: 0.1rem;
    background: none;
    border: none;
    width: 1rem;
    height: 1rem;
    padding: 0;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    outline: none;
    transform: rotateZ(45deg);
}
.Bloc.expand .Bloc-collapsing {
    max-height: 10000px;
    transition: max-height 1s;
}
.Bloc.expand .Bloc-toggler::before {
    transform: rotateZ(90deg);
}
.Bloc.expand .Bloc-toggler--dots {
}
.Bloc.expand .Bloc-toggler--dots::after {
    margin-top: 1em;
    content: '';
    display: block;
    width: .5em;
    height: .5em;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(-45deg);
}
.Bloc.expand .Bloc-toggler--arrow::after {
    transform: rotateZ(135deg);
}

/* breakpoints is aligned with Grid--s-1 */
@media (max-width: 960px) {
    .Bloc--alignBottomWithTopCut {
        margin-bottom: 0;
    }
    .Bloc-image--topright{
        position:relative;
        top:auto;
        right:auto;
        margin:0 auto;
    }
}

@media (max-width: 620px) {
    .Bloc--cut {
        padding-bottom: 0;
    }
    .Bloc--cut::after {
        display: none;
    }
    .Bloc--nextToBlocCut {
        padding-bottom: 0;
    }
    .Bloc--nextToBlocCut::after {
        display: none;
    }

    .Bloc-content,
    .Bloc-footer {
        padding: 1em 1.8em;
    }
    .Bloc-content--doublePadding {
        padding: 2em 3.6em;
    }
}

@media (max-width: 480px) {
    .Bloc-content,
    .Bloc-footer {
        padding: 1em 1.4em;
    }
    .Bloc-content--doublePadding {
        padding: 2em 2.8em;
    }
}

@media (min-width: 931px) {
    .Bloc.expandExceptMobile .Bloc-collapsing {
        max-height: 10000px;
    }
    .Bloc.expandExceptMobile .Bloc-toggler::before {
        display: none;
    }
    .Bloc.expandExceptMobile .Bloc-toggler--dots::after {
        display: none;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 17:51:55
 */

.Tabs {
}

.Tabs-nav {
    display: flex;
    align-items: center;
    justify-content: center;
}

.Tabs-nav.Tabs-nav--marginBottom {
    margin-bottom: 2rem;
}

.alternativeTheme .Tabs-nav {
    margin-top: 4rem;
    margin-bottom: 4rem;
}

.Tabs-nav-item {
    position: relative;
    text-align: center;
    text-decoration: none;
    padding: 1rem 2rem;
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 2px;
    border-bottom: 2px solid transparent;
    color: #1e0d68;
    transition: color .5s ease, border-bottom-color .5s ease;
}
.Tabs-nav-item:hover {
    text-decoration: none;
    border-bottom-color: currentColor;
}
.Tabs-nav-item:hover::after {
    content: '';

}
.Tabs-nav-item.open {
    color: #28dbc4;
}

.Tabs-contents {
    position: relative;
    transition: height 1s ease;
}

.Tabs-content {
    position: absolute;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    transition: opacity 1s ease, visibility 1s ease;
}

.Tabs-content.open {
    visibility: visible;
    opacity: 1;
}

.Tabs-nav--big {
    font-size: 1.3em;
}
.Tabs-nav--big .Tabs-nav-item {
    border-bottom-width: 3px;
}

.alternativeTheme .Tabs-nav-item.open {
    color: #c2252d;
}

.alternativeTheme:hover {
    text-decoration: none;
    border-bottom-color: #c2252d;
}

@media (max-width: 720px) {

    .Tabs--responsive .Tabs-nav {
        display: block;
    }
    .Tabs--responsive .Tabs-nav-item {
        display: block;
        text-align: left;
        border: none;
    }
    .Tabs--responsive .Tabs-nav-item::before {
        content: '';
        display: inline-block;
        margin-right: .5em;
        border-left: .5rem solid currentColor;
        border-top: .5rem solid transparent;
        border-bottom: .5rem solid transparent;
        transition: color .5s ease, transform .5s ease;
    }

    .Tabs--responsive .Tabs-nav-item.open::before {
        transform: rotateZ(90deg);
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 17:19:18
 */

.Card {
    display: block;
    /*position: relative;*/ /* Safari fix: remove relative position, it cause bug on borders when bloc has border radius and overflow content */
    transform: translate3d(0, 0, 0); /* Safari fix: compensate removing of relative positionning, because "transform" creates a context for absolute positionning like relative position */
    transition: background-color .5s ease;
}

.Card-imageContainer {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 67%;
    overflow: hidden;
    display: flex;
}
.Card-imageContainer--portrait {
    padding-bottom: 121%;
}
.Card-imageContainer--cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.Card-image {
    display: block;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform .5s ease;
}
.Card-imageContainer .Card-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.Card-image-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.Card-image-overlay-icon {
    height: 5rem;
}
.Card--small .Card-image-overlay-icon {
    height: 4.5rem;
}

.Card-tag {
    display: block;
    position: absolute;
    font-size: 1em;
    font-weight: bold;
    text-transform: uppercase;
    top: 0;
    right: 0;
    padding: .2rem 2rem;
    color: #1e0d68;
    background-color: #28dbc4;
}
.alternativeTheme .Card-tag {
    color: #fff;
    background-color: #c2252d;
}

.Card:hover .Card-imageContainer .Card-image {
    transform: scale(1.05);
}


.Card-surtitle,
.Card-subtitle {
    display: block;
    font-family: 'Simplon', sans-serif;
    font-size: 1.6rem;
    line-height: 1;
    text-transform: uppercase;
    margin: 0 0 1rem;
    color: #28dbc4;
    transition: color .5s ease;
}
.alternativeTheme .Card-surtitle,
.alternativeTheme .Card-subtitle {
    color: #c2252d;
}
.Card-surtitle-tag {
    display: inline-block;
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 1.4rem;
    margin-right: 1;
    transform-origin: left;
    transform: scale(.8, 1);
}
.Card-surtitle-date {
    display: inline-block;
}

.Card-title {
    display: block;
    font-family: 'Simplon', sans-serif;
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 1rem;
    padding: 0;
    font-weight: 500; /* Medium */
    color: #1e0d68;
}
.Card-title > a {
    color: inherit;
    text-decoration: none;
}
.Card-title > a:hover {
    text-decoration: none;
}
.Card--big .Card-title {
    font-size: 3.2rem;
}
.Card-title--small {
    font-size: 1.2em;
}
.Card-title--ucase {
    text-transform: uppercase;
}

.Card-content {
    display: block;
    padding: 2em;
}
.Bloc--jsResize.Bloc--cut.Card .Card-content {
    padding-bottom: .5rem;
}

.Card-text,
p.Card-text {
    margin: 1rem 0;
    padding: 0;
}

.Card-link {
    display: block;
    font-family: sans-serif;
    text-decoration: none;
    text-align: left;
    margin-top: 2rem;
    font-size: 2rem;
    color: #1e0d68;
    transition: color .5s ease;
}
.Card-link:hover {
    text-decoration: none;
    color: #000;
}

.Card.Bloc--cut .Card-link {
    position: absolute;
    text-align: left;
}

.Card--absoluteLink {
    padding-bottom: 3rem;
}
.Card--absoluteLink .Card-link {
    position: absolute;
    bottom: 2rem;
}

.Card[onclick]:hover {
    background-color: #28dbc4;
}
.alternativeTheme .Card[onclick]:hover {
    color: #fff;
    background-color: #c2252d;
}
.alternativeTheme .Card[onclick]:hover .Card-title {
    color: #fff;
}
.Card[onclick]:hover .Card-surtitle,
.Card[onclick]:hover .Card-subtitle,
.Card[onclick]:hover .Card-link {
    color: #fff;
}


.Card--small .Card-content {
    padding: 1.6rem;
}
.Card--small .Card-surtitle {
    font-size: 1.3rem;
}
.Card--small .Card-title {
    font-size: 1.6rem;
}
.Card--small .Card-surtitle-tag {
    font-size: 1.1rem;
    margin-right: 0;
}
.Card--small .Card-link {
    margin-top: 0;
}

@media (max-width: 720px) {
    .Card--big .Card-title {
        font-size: 2.6rem;
    }
}
@media (max-width: 620px) {
    .Card.Bloc--cut .Card-link {
        position: static;
    }

    .Card--absoluteLink {
        padding-bottom: 0;
    }
    .Card--absoluteLink .Card-link {
        position: static;
    }

    .Card-content {
        padding: 1.8em;
    }
}
@media (max-width: 620px) {
    .Card--big .Card-title {
        font-size: 2rem;
    }
}

@media (max-width: 480px) {
    .Card-content {
        padding: 1.4em;
    }
}

.CardThumbs {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: left;
    flex-wrap: wrap;
}
.CardThumb {
    margin: 0 1% 1rem 1%;
    flex: 0 1 150px;
    background: #28dbc4;
    color: #1e0d68;
    border-radius: 1.2rem;
}
.CardThumb-image {
    max-width: 100%;
}
.CardThumb-content {
    padding: 1em 0;
}
.CardThumb-content p {
    margin: 1em 0;
    font-size: 12px;
}
.CardThumb .CardThumb-content a{
    text-decoration: none;
}
.CardThumb-title {
    display: block;
    font-family: 'Simplon', sans-serif;
    font-size: 1.8rem;
    line-height: 1.2;
    margin: 0 0 1rem;
    padding: 0;
    font-weight: 500;
    color: #1e0d68;
}
.CardThumb .CardThumb-title {
    font-size: 1.6rem;
}
@media (max-width: 1300px) {
    .CardThumbs {
        flex-wrap: wrap;
    }
    .CardThumb {
        width: 23%;
        flex: 0 0 auto;
    }
}

@media (max-width: 800px) {
    .CardThumb {
        margin: 0 2%;
        width: 29.333%;
    }
}

@media (max-width: 550px) {
    .CardThumb {
        width: 46%;
    }
}

.CardTile {
    vertical-align: center;
    background: #28dbc4;
    color: #1e0d68;
    text-align: center;
    padding: 1.5em;
    font-size: 1.4em;
    display: flex;
    flex-direction: column;
    justify-content: start;
    text-decoration: none;
}
.CardTile:hover{
    background: #1e0d68;
    color: #fff;
    text-decoration: none;
}
.CardTile-icon {
    display: block;
    margin: 0 auto 20px auto;
    width: 90px;
}

.CardTile-image {
    object-fit: contain;
    object-position: center;
    max-height: 100%;
    max-width: 100%;
    margin: auto;
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 10:31:49
 */

.ProfileCard {
    display: flex;
    flex-direction: column;
}

.ProfileCard-item {
}

.ProfileCard-padding-small {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.ProfileCard-item-line {
    margin-bottom: .5rem;
}

.alternativeTheme .ProfileCard-item-line a{
    color: #c2252d;
    text-decoration: none;
}

.ProfileCard-item--fluid {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ProfileCard-imageContainer {
    position: relative;
}

.ProfileCard-image {
    display: block;
}

.ProfileCard-content {
    font-size: 1.6rem;
}

.ProfileCard-imageCopyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .2rem .6rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}

.ProfileCard-flagContainer {
    display: flex;
    align-items: center;
}

.ProfileCard-header {
}
.ProfileCard-flag {
    box-shadow: 0 0 2px 1px rgba(0, 0, 0, .2);
}
.ProfileCard-titleContainer {
}

.ProfileCard-title {
    font-size: 2.4rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin: 0;
    padding: 0;
    color: #1e0d68;
}
.ProfileCard-title a {
    color: inherit;
    text-decoration: none;
}
.ProfileCard-title a:hover {
    text-decoration: none;
    color: #28dbc4;
}
.alternativeTheme .ProfileCard-title a:hover {
    color: #c2252d;
}

.ProfileCard-label {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
}
.ProfileCard-label-main {
    margin-top: 10px
}

.ProfileCard-ranking {
    font-size: 3.2rem;
    font-weight: bold;
    color: #28dbc4;
}
.alternativeTheme .ProfileCard-ranking {
    color: #c2252d;
}
.ProfileCard-points {
    font-size: 3.2rem;
    color: #28dbc4;
}
.alternativeTheme .ProfileCard-points {
    color: #c2252d;
}
.ProfileCard-coefficient {
    font-size: 2.4rem;
    font-weight: bold;
    color: #28dbc4;
}
.alternativeTheme .ProfileCard-coefficient {
    color: #c2252d;
}

a.ProfileCard-ranking,
a.ProfileCard-points {
    text-decoration: none;
}
a.ProfileCard-ranking:hover,
a.ProfileCard-points:hover {
    color: #1e0d68;
}

@media (min-width: 1024px) {
    .ProfileCard-ranking,
    .ProfileCard-points {
        font-size: 4rem;
    }
}

@media (min-width: 1200px) {
    .ProfileCard-ranking,
    .ProfileCard-points {
        font-size: 6rem;
    }
}


@media (max-width: 620px) {
    .ProfileCard-header {
        text-align: center;
    }
    .ProfileCard-flagContainer {
        display: inline-block;
    }
    .ProfileCard-flag {
        margin-right: 1em;
    }
    .ProfileCard-titleContainer {
        display: inline-block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 16:34:34
 */

.BriefCard {
    display: flex;
    text-decoration: none;
}
.BriefCard + .BriefCard {
    margin-top: .7em;
    padding-top: .7em;
    border-top: 1px solid #000;
}

.BriefCard-date {
    width: 4em;
    margin-right: .5em;
}

.BriefCard-title {
    display: block;
    font-weight: bold;
}

.BriefCard-content {
    flex: 1;
    position: relative;
    height: 4.2rem;
}

.BriefCard-content-overflowContainer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}
.BriefCard-content-overflowContainer .BriefCard-title,
.BriefCard-content-overflowContainer .BriefCard-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.BriefCard:hover {
    text-decoration: none;
    color: #28dbc4;
}
.BriefCard:hover .BriefCard-date {
}
.BriefCard:hover .BriefCard-title {
    color: #28dbc4;
}
.alternativeTheme .BriefCard:hover,
.alternativeTheme .BriefCard:hover .BriefCard-title {
    color: #c2252d;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-25 17:35:09
 */

.Breadcrumb {
    margin: 0 0 2.5rem;
    padding: 0;
    list-style: none;
    text-align: center;
}

.Breadcrumb-item {
    margin: 0;
    display: inline;
    color: #999;
}
.Breadcrumb-item::before {
    content: '/';
    margin: 0 .5em;
    color: #c0c0c0;
}
.Breadcrumb-item:first-child::before {
    display: none;
}
.Breadcrumb-item:last-child {
    color: #333;
}

.Breadcrumb-item-link, .Breadcrumb span {
    color: inherit;
    text-decoration: none;
}
.Breadcrumb a:hover {
    text-decoration: underline;
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-21 09:48:54
 */

.SocialNetworks {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem;
}

.SocialNetworks-link {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 0 .5rem;
    max-width: 4.5rem;
    justify-content: center;
    align-items: center;
}

.SocialNetworks-icon {
    width: 100%;
    max-width: 5rem;
    max-height: 5rem;
    border-radius: 50%;
    fill: #fff;
    transition: fill .5s ease;
}
.SocialNetworks-link:hover svg.SocialNetworks-icon {
    fill: #1e0d68;
}

.SocialNetworks-link--shop {
    order: 100;
    background-color: #1e0d68;
    border-radius: 50%;
    width: 3.5rem;
    height: 3.5rem;
    line-height: 3.2em;
    margin-left: 0.5rem;
}

.SocialNetworks-icon--shop {
    width: 2rem;
    height: 2rem;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-26 17:36:53
 */

.RaceEditionWinnerCard {
}

.RaceEditionWinnerCard a {
    color: inherit;
    text-decoration: none;
}
.RaceEditionWinnerCard a:hover {
    color: #28dbc4;
    text-decoration: none;
}
.alternativeTheme .RaceEditionWinnerCard a:hover {
    color: #c2252d;
}

.RaceEditionWinnerCard-title {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    transform: scale(.7, 1);
    transform-origin: left;
    font-size: 1rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 .4rem;
    color: #28dbc4;
}
.alternativeTheme .RaceEditionWinnerCard-title {
    color: #c2252d;
}
.RaceEditionWinnerCard-title a {
    color: inherit;
    text-decoration: none;
}
.RaceEditionWinnerCard-title a:hover {
    color: inherit;
    text-decoration: none;
    color: #1e0d68;
}

.RaceEditionWinnerCard-skipper,
.RaceEditionWinnerCard-boat {
    font-weight: bold;
}

.RaceEditionWinnerCard-coSkipper {
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 09:27:58
 */

.RaceCountdown {
    display: inline-block;
    color: #1e0d68;
    font-size: 1.4rem;
}

.RaceCountdown-title {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 1.2em;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 .3em 0;
    padding: .5em 6em;
    line-height: 1.3;
    text-align: center;
    border: 1px solid #1e0d68;
    border-radius: 1em 1em 0 0;
}

.RaceCountdown-content {
    display: flex;
}
.RaceCountdown-content-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 100em;
    justify-content: center;
    padding: 1.4em 2.1em;
    border: 1px solid #1e0d68;
    visibility: visible;
    opacity: 1;
    transition: max-width 1s ease, padding 1s ease, visibility 1s ease, opacity 1s ease, margin-left 1s ease;
    transform: translateZ(0); /* Force GPU use, to avoid IOS Safari leaving junk pixels on screens (caused by border-radius calculation) */
}
/*.RaceCountdown-content-item:first-child {
    border-radius: 0 0 0 1em;
}
.RaceCountdown-content-item:last-child {
    border-radius: 0 0 1em 0;
}*/
.RaceCountdown-content-item + .RaceCountdown-content-item {
    margin-left: .3em;
}
.RaceCountdown-value {
    font-family: 'Simplon', sans-serif;
    font-weight: bold;
    font-size: 4.3em;
    line-height: 1;
    width: 1.2em;
    text-align: center;
}
.RaceCountdown-days .RaceCountdown-value {
    width: auto;
}

.RaceCountdown-content-item.hide {
    max-width: 0;
    opacity: 0;
    padding: 0;
    visibility: hidden;
    overflow: hidden;
    margin-left: 0;
    border-width: 0;
}
.RaceCountdown-content-item.hide + .RaceCountdown-content-item {
    margin-left: 0;
}
.RaceCountdown-content-item.hide .RaceCountdown-value {
    width: auto;
}

.RaceCountdown-label {
    font-weight: 300; /* Light */
    text-transform: uppercase;
    font-size: 1.8em;
    line-height: 1;
}

@media (max-width: 920px) {
    .RaceCountdown {
        font-size: 1.2rem;
    }
}

@media (max-width: 800px) {
    .RaceCountdown {
        font-size: 1rem;
    }
}

@media (max-width: 540px) {
    .RaceCountdown {
        font-size: .6rem;
    }
}

@media (max-width: 320px) {
    .RaceCountdown {
        font-size: .4rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 15:15:11
 */

.EmbedMap {
    position: relative;
    padding-bottom: 66.7%;
}

.EmbedMap-iframe {
    display: block;
    border: none;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

@media (max-width: 920px) {
    .EmbedMap {
        padding-bottom: 100%;
    }
}

@media (max-width: 740px) {
    .EmbedMap {
        padding-bottom: 150%;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-27 18:11:31
 */

.Banner {
    position: relative;
    display: block;
    width: 100%;
}

.Banner--marginTop {
    margin-top: 1rem;
}
.Banner--fullHeight {
    height: 100%;
}

.Banner-image {
    display: block;
    width: 100%;
}

.Banner-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    pointer-events: none;
}

.Banner-title {
    color: #fff;
    text-transform: uppercase;
    font-size: 3rem;
    font-weight: bold;
}

.Banner-copyright {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: .5rem 1.5rem;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.4);
}

.Banner-btn {
    color: #fff;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    margin-top: 1rem;
    padding: 1rem 8rem;
    border: 1px solid #fff;
    transition: border-color .5s ease, background-color .5s ease;
    pointer-events: auto;
}
.Banner-btn:hover {
    text-decoration: none;
    background-color: #1e0d68;
    border-color: #1e0d68;
}

@media (max-width: 1200px) {
    .Banner-title {
        font-size: 2.6rem;
    }
}

@media (max-width: 1024px) {
    .Banner-title {
        font-size: 2rem;
    }
}

@media (max-width: 720px) {
    .Banner-title {
        font-size: 1.6rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-28 15:17:53
 */

.HomePartners {
    padding: 3rem 0;
    color: #1e0d68;
    background: #28dbc4;
}

.HomePartners-section {
    padding: 3rem;
    border-top: 1px solid #25a7ad;
}

.HomePartners-logos {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.HomePartners-logo {
    max-width: 100px;
    max-height: 80px;
    margin: 0 2rem 2rem;
    /*filter: sepia(100%) hue-rotate(164deg) saturate(600%);*/
}

.HomePartners-logo--big {
    max-width: 300px;
    max-height: 240px;
    margin: 0 4rem 4rem;
}
.HomePartners-logo--large {
    max-width: 210px;
}

.gallery{
    margin:0 4rem 4rem 4rem;
}
.gallery .gallery-item {
    height: 220px;
    width: 220px;
    overflow: hidden;
    margin: 5px;
    text-align: center;
}
.gallery .gallery-item .magnific-popup img {
    display: block;
    margin: 0 auto;
    min-height: 100%;
}


.gallery .slick-dots {
    bottom: -25px;
}
.gallery .slick-dots li button{
    background:#666;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-03 16:17:34
 */

.RankingFilters {
    display: flex;
}
.RankingFilters-column {
    position: relative;
    display: block;
    flex: 1 1 0px;
    display: flex;
    flex-direction: column;
}
.RankingFilters-column-content {
    position: relative;
    height: 16rem;
}
.RankingFilters-column + .RankingFilters-column .RankingFilters-column-content::before {
    content: '';
    position: absolute;
    top: 5%;
    left: 0;
    bottom: 5%;
}

.RankingFilters-column-title {
    display: block;
    font-family: 'Simplon', sans-serif;
    font-size: 1.6rem;
    text-transform: uppercase;
    text-align: left;
    font-weight: normal;
    color: #28dbc4;
    margin: 0 1.4rem 1rem 1.4rem;
}

.RankingFilters-column-input {
    font-size: 1.2rem;
    width: auto;
    margin: 0 1.4rem;
    padding: 0;
    height: auto;
    border-top: none;
    border-right: none;
    border-left: none;
    border-radius: 0;
    box-shadow: none;
    color: #333;
}

.RankingFilters-list {
    list-style: none;
    margin: 0;
    padding: .6rem 0;
}

.RankingFilters-list-item {

}

.RankingFilters-list-item-link {
    display: block;
    padding: .6rem 1.4rem;
    text-decoration: none;
    font-family: 'Simplon', sans-serif;
    text-transform: uppercase;
    transition: color .5s ease, background-color .5s ease;
}
.RankingFilters-list-item-link:hover {
    text-decoration: none;
    color: #1e0d68;
    text-decoration: underline;
}
.RankingFilters-list-item-link.active {
    font-weight: bold;
    color: #1e0d68;
}

.RankingFiltersMobile {
    display: none;
}

.RankingFiltersMobile .form-control {
    margin-bottom: 1rem;
}

@media (max-width: 860px) {
    .RankingFilters {
        display: none;
    }
    .RankingFiltersMobile {
        display: block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-03 16:39:31
 */

.Scroller {
    position: relative;
    height: 100%;
    padding-right: 3.8rem;
}

.Scroller-content {
    height: 100%;
    overflow: hidden;
}

.Scroller-upBtn,
.Scroller-downBtn {
    position: absolute;
    right: 1.4rem;
    background: none;
    border: none;
    width: 1.4rem;
    height: 1.4rem;
    padding: 0;
    border-top: 1px solid #333;
    border-right: 1px solid #333;
    outline: none;
}

.Scroller-upBtn {
    top: 1em;
    transform: rotate(-45deg);
}
.Scroller-downBtn {
    bottom: 1em;
    transform: rotate(135deg);
}

.Scroller-upBtn.off,
.Scroller-downBtn.off {
    opacity: .3;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-08 15:28:22
 */

/* Caution : not really a component, big dependencies on Table (added in-project for supporting newx layout adaptations ) */

.RankingTable {
}

.RankingTable-line {
}

.RankingTable-line-rank {
    font-weight: bold;
    font-size: 2rem;
}
.RankingTable-line-rank sup {
    font-size: .6em;
}

.RankingTable-line-rank--big {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 3rem;
    padding-left: 1rem;
    min-width: 8rem;
    color: #1e0d68;
    background: url('../../../assets/symbol-imoca-grey.svg') no-repeat left top / contain;
}
@media (min-width: 521px) {
    .Table td.RankingTable-line-cell--bigRank {
        vertical-align: top;
    }
}

.RankingTable-line-rank--big--color {
    background-image: url('../../../assets/symbol-imoca-color.svg');
}


.RankingTable-cell-title {
    font-size: 2rem;
    text-transform: uppercase;
    line-height: 1.3;
    margin-bottom: .3rem;
}

.RankingTable-cell-image {
    display: block;
    float: left;
    margin-right: 0.9em;
    height: 5.6em;
}

.RankingTable-line-points  {
    font-weight: bold;
}
.RankingTable-line-points--big {
    font-size: 2rem;
}


@media (max-width: 640px) {
    .RankingTable-cell-title {
        font-size: 1em;
    }
    .RankingTable-line-rank--big {
        font-size: 2.2rem;
        min-width: 3em;
    }
    .RankingTable-line-points--big {
        font-size: 1em;
    }
}

@media (max-width: 520px) {
    .RankingTable-line-rank--big {
        min-width: 0;
        padding: 0;
        background: none;
    }
}

.RankingTable--shrink .RankingTable-cell-title {
    font-size: 1em;
}
.RankingTable--shrink .RankingTable-line-rank--big {
    font-size: 2.2rem;
    min-width: 0;
    padding: 0;
    background: none;
}
.RankingTable--shrink .RankingTable-line-points--big {
    font-size: 1em;
}
/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-08 17:33:37
 */

.Filters {
}

.Filters-filter {
    display: block;
}

.Filters-filter-control[type="checkbox"] {
    display: none;
}

.Filters-filter-control[type="checkbox"] + .Filters-filter-label {
    position: relative;
    display: block;
    font-weight: normal;
    text-decoration: none;
    text-transform: uppercase;
    padding: .5rem 1.4rem;
    margin: 0;
    border: none;
    transition: .5s background ease, .5s color ease;
    /*color: #000;
    background: #e0e0e0;*/
}
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:hover,
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:active {
    text-decoration: none;
    color: #fff;
    background: #1e0d68;
}
.Filters-filter-control[type="checkbox"] + .Filters-filter-label:focus {
    outline: thin dotted;
    outline-offset: -5px;
}

.Filters-filter-control[type="checkbox"]:checked + .Filters-filter-label {
    /*color: #1e0d68;
    background: #28dbc4;*/
    font-weight: bold;
    color: #28dbc4;
}

/*
.Filters-filter-control[type="checkbox"]:checked + .Filters-filter-label::after {
    position: absolute;
    left: 1rem;
    top: 50%;
    margin-top: -.75em;
    content:'\2713';
    color: #28dbc4;
}
*/

/*.Filters-menu {
    flex: 1;
    display: flex;
    font-size: 1.2rem;
}

.FiltersMenu-list {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    text-align: center;
}

.FiltersMenu-list-item {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #1e0d68;
    text-transform: uppercase;
    margin: 0;
    transition: .5s padding ease;
}

.FiltersMenu-list-item-link {
    display: inline-block;
    text-decoration: none;
    margin: 0 2rem;
    padding: .3rem .6rem;
    color: #1e0d68;
    border-bottom: 2px solid transparent;
    transition: .5s border-bottom-color ease, .5s padding ease;
}

.FiltersMenu-list-item-link:hover,
.FiltersMenu-list-item-link.active,
.FiltersMenu-list-item.active-ancestor .FiltersMenu-list-item-link,
.FiltersMenu-list-item:hover > .FiltersMenu-list-item-link {
    text-decoration: none;
    border-bottom-color: #1e0d68;
}

.FiltersMenu-list-item-subMenu {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
    padding: 1rem 0;
    width: 20rem;
    height: 20rem;
    text-align: left;
    background: #fff;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: .5s opacity ease, .5s visibility ease;
}
.FiltersMenu-list-item-subMenu .FiltersMenu-list-item {
    display: block;
    margin: 0;
    text-transform: none;
}

.FiltersMenu-list-item:hover > .FiltersMenu-list-item-subMenu {
    opacity: 1;
    visibility: visible;
}*/







/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-09 11:55:59
 */

.Article {
}

.Article-title {
    font-family: 'Simplon', sans-serif;
    font-weight: bold;
    text-align: left;
    font-size: 4rem;
    text-transform: uppercase;
    margin: 0;
    color: #1e0d68;
}

.Article-body {
    font-size: 1.6rem;
}

.Article-abstract {
    font-size: 1.2em;
    font-weight: bold;
}

@media (max-width: 960px) {
    .Article-title {
        font-size: 3rem;
    }
}

@media (max-width: 620px) {
    .Article-title {
        font-size: 2.6rem;
    }
}

@media (max-width: 420px) {
    .Article-title {
        font-size: 2.2rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-04 16:35:24
 */

.Error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 500px;
}

.Error-title {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 10rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0;
    text-align: center;
    color: #28dbc4;
}

.Error-subtitle {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 2rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 3rem;
    text-align: center;
    color: #1e0d68;
}

@media (max-width: 640px) {
    .Error-title {
        font-size: 8rem;
    }
}

@media (max-width: 420px) {
    .Error-title {
        font-size: 6rem;
    }
}

.Partner-bloc {
    display:flex;
}
.Partner-image {
    flex: 0 0 300px;
    text-align: center;
    padding: 0 50px;
}
.Partner-image > img {
    max-width: 100%;
    max-height: 100px;
}
.Partner-content {
    display: flex;
    flex-direction: column;
}
.Partner-content .richtext {
    flex: 1;
}
.Partner-content p {
    margin: 1em 0;
}
.Partner-title {
    font-size: 2em;
    color: #28dbc4;
    margin: 0;
}
@media (max-width: 600px) {
    .Partner-bloc {
        flex-direction: column;
    }
    .Partner-image {
        flex: 1;
    }
    .Partner-content {
        padding: 0 2em;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-10 13:46:27
 */

.RaceMenuBloc {
    color: #fff;
}
.RaceMenuBloc + .RaceMenuBloc {
    margin-top: .5rem;
}

.RaceMenuBloc-date {
    padding-right: 2.2rem;
    opacity: .6;
    white-space: nowrap;
}

.RaceMenuBloc-title a {
    color: inherit;
    text-decoration: none;
}
.RaceMenuBloc-title a:hover,
.RaceMenuBloc tr[onclick]:hover {
    color: #28dbc4;
}


.RaceMenuBloc-table {
    margin-bottom: 2rem;
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-10 15:46:39
 */

.HomeRaces {
    position: relative;
    min-height: 39rem;
}

.HomeRaces-list {
    width: 33%;
}

.HomeRaces-list-title {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 3rem;
    margin: 0 0 .8rem;
    padding: 3rem 0 0;
    color: #28dbc4;
}
.HomeRaces-list-title:first-child {
    padding-top: 0;
}

.HomeRaces-list-item {
    font-weight: bold;
    padding: .2em 0;
    display: flex;
    justify-content: space-between;
}
a.HomeRaces-list-item {
    color: inherit;
    text-decoration: none;
}

.HomeRaces-list-item + .HomeRaces-list-item {
    border-top: 1px solid #c6c6c6;
}

.HomeRaces-list-item-title {
    margin-right: 2rem;
}
.HomeRaces-list-item-date {
}
.HomeRaces-list-item-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 33%;
    background-size: cover;
    background-position: center center;
    visibility: hidden;
    opacity: 0;
    transition: visibility .5s ease, opacity .5s ease;
}

.HomeRaces-list-item.active,
a.HomeRaces-list-item:hover {
    color: #28dbc4;
}
.HomeRaces-list:hover .HomeRaces-list-item.active {
    color: inherit;
}
.HomeRaces-list:hover .HomeRaces-list-item.active:hover {
    color: #28dbc4;
}

.HomeRaces-list-item.active .HomeRaces-list-item-image,
a.HomeRaces-list-item:hover .HomeRaces-list-item-image {
    visibility: inherit;
    opacity: inherit;
}

a.HomeRaces-list-item:hover .HomeRaces-list-item-image {
    z-index: 2;
    background: #fff;
    background-color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.HomeRaces-list-footer {
    margin-top: 3rem;
    text-align: center;
}

@media (max-width: 1400px) {
    .HomeRaces-list-title {
        font-size: 2rem;
    }
}

@media (max-width: 1200px) {
    .HomeRaces-list {
        font-size: 1.2rem;
    }
}

@media (max-width: 920px) {
    .HomeRaces-list {
        width: 100%;
    }
    .HomeRaces-list-item-image {
        display: none;
    }
}

.HomeCountdown{
    position:absolute;
    top:7.2rem;
    right:0;
    color:#fff;
    text-align:center;
    background: url('../../../assets/countdown.png') no-repeat right top / contain;
    padding: 5px;
    width: 270px;
    height: 150px;
    z-index: 2;
}
.HomeCountdown-title{
    text-transform: uppercase;
    font-size:1.2em;
}
.HomeCountdown-title a{
    color:#fff;
    text-decoration: none;
}
.HomeCountdown-image{
    line-height: 0;
    margin-right:15px;
}
.HomeCountdown-image img{
    height:30px;
    margin:0;
}
.HomeCountdown-time{
    font-size:1.1em;
    font-weight:bold;
    color:#fff!important;
    display: flex;
    justify-content: center;
}
.HomeCountdown-time > div{
    margin:0 6px;
}
.HomeCountdown-time .RaceCountdown-value{
    font-size:1em;
}
.HomeCountdown-time .RaceCountdown-label{
    font-size:1em;
}
@media (max-width: 620px) {
    .HomeCountdown {
        position: static;
        background: #152850;
        width: 100%;
        height:auto;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-22 12:06:58
 */

.FloatBar {
    position: fixed;
    bottom: 80px;
    left: 0;
    padding: 1rem 1rem 0;
    z-index: 19;
    background: #efefef;
    border-radius: 0 1.2rem 0 0;
}
.FloatBar::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 6rem;
    height: 6rem;
    background: #efefef;
    transform-origin: bottom right;
    transform: rotate(-15deg);
    z-index: 10;
}

.FloatBar-link {
    position: relative;
    display: block;
    z-index: 11;
}
.FloatBar-link + .FloatBar-link {
    margin-top: .25rem;
}
.FloatBar-link:hover svg.FloatBar-icon {
    fill: #28dbc4;
}
.alternativeTheme .FloatBar-link:hover svg.FloatBar-icon {
    fill: #b43735;
}
.FloatBar-icon {
    width: 100%;
    max-width: 2.5rem;
    max-height: 2.5rem;
    fill: #1e0d68;
    transition: fill .5s ease;
}

.FloatBar-link--shop {
    position: absolute;
    top: -4.5rem;
    left: 0;
    background-color: #28dbc4;
    width: 100%;
    padding: 0.5rem 0;
    border-radius: 0 1.2rem 1.2rem 0;
}

.FloatBar-icon--shop {
    width: 3rem;
    height: 3rem;
    vertical-align: middle;
}

@media (max-width: 620px) {
    .FloatBar {
        position: static;
        background: none;
        padding: 0;
    }
    .FloatBar::after{
        display:none;
    }
    .FloatBar-link {
        display: inline-block;
    }
    .FloatBar-icon{
        max-width: 3.5rem;
        max-height: 3.5rem;
        margin: 0 .5rem;
    }
}


/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-23 17:25:18
 */

.ShareButton {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 2rem;
    margin: 0 .5rem;
    line-height: 1;
    background: #28dbc4;
    border: none;
    text-decoration: none;
    color: #fff;
    transition: color .5s ease, background .5s ease;
}

.ShareButton-icon {
    display: inline;
    height: 2rem;
    fill: #fff;
    margin-right: .5em;
}

.ShareButton:hover {
    background: #1e0d68;
}
.ShareButton--download{
    background: #28dbc4 url('../../../assets/download-white.png') center center no-repeat;
    background-size: 80%;
    color: #1e0d68;
    text-align: center;
    font-size: 1.4em;
    text-decoration: none;
    display: inline-block;
    vertical-align: middle;
    height: 40px;
    width: 40px;
    margin-left:10px;
}
@media (max-width: 480px) {
    .ShareButton {
        padding: .8rem 1.5rem;
    }
}

.ShopPopup {
    position: fixed;
    bottom: 4rem;
    right: 4rem;
    width: 43rem;
    height: 15rem;
    background-color: #1e0d68;
    z-index: 200;
    overflow: hidden;
    border-radius: 1.2rem;
    display: flex;
}

.ShopPopup > div {
    width: 50%;
}

.ShopPopup-link {
    display: flex;
    flex-direction: column;
}

.ShopPopup-link > div {
    flex: 1 0 auto;
    text-align: center;
}

.ShopPopup-text {
    flex: 1;
    font-size: 1.2em;
    color: #28dbc4;
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ShopPopup-btn {
    background-color: white;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.6em;
    line-height: 0.9em;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ShopPopup-btn a {
    text-decoration: none;
}

.ShopPopup-text span:nth-child(1) {
    margin-left: -4rem;
}

.ShopPopup-text span:nth-child(2) {
    font-family: 'PVC Banner', 'Simplon', sans-serif;
    font-size: 0.7em;
    color: white;
    margin-left: 7rem;
}

.ShopPopup-link img {
    width: 10rem;
    min-height: 2rem;
    margin: .5rem;
    color: transparent;
}

.ShopPopup-image {
    display: flex;
}

.ShopPopup-image img {
    object-fit: cover;
    min-width: 100%;
    min-height: 100%;
}

.ShopPopup-close {
    position: absolute;
    cursor: pointer;
    color: black;
    right: 0;
    top: 0;
    width: 2rem !important;
    height: 2rem;
    font-size: 1.5em;
}

@media (max-width: 620px) {

    .ShopPopup {
        position: fixed;
        bottom: 1rem;
        right: 2rem;
        width: 34rem;
        height: 8rem;
    }

    .ShopPopup .ShopPopup-link {
        width: 100%;
        padding: .5rem 1rem;
    }

    .ShopPopup-text {
        flex-direction: row;
        padding: 0;
    }

    .ShopPopup-text span:nth-child(1) {
        margin-left: 0;
    }

    .ShopPopup-text span:nth-child(2) {
        margin-left: 0;
    }

    .ShopPopup-text img {
        position: absolute;
        right: 1rem;
        top: 4rem;
        width: 8rem;
        min-height: initial;
    }

    .ShopPopup-btn {
        background-color: transparent;
        justify-content: start;
    }

    .ShopPopup-btn a {
        color: #28dbc4;
        background-color: white;
        border-radius: 5px;
        padding: .3rem .5rem;
        font-size: 0.7em;
    }

    .ShopPopup-btn a:after {
        content: ">";
        margin-left: 1rem;
    }

    .ShopPopup-image {
        display: none;
    }

    .ShopPopup-close {
        color: white;
    }
}

.NewsletterPopup-form{
    padding: 3rem 3rem 0 3rem;
    margin-bottom: 3rem;
}

.Newsletter-input {
    width: calc(100% - 20px);
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.Newsletter-btn {

    padding: 1rem;
    background-color: #28dbc4;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: bold;
}

.NewsletterPopup {
    position: fixed;
    bottom: 4rem;
    right: 4rem;
    width: 300px;
    background-color: white;
    z-index: 200;
    overflow: hidden;
    border: solid 1px #d0d0d0;
    border-radius: 1.2rem;
    cursor:pointer;
}

.NewsletterPopup-text {
    flex: 1;
    font-size: 1.2em;
    color: #28dbc4;
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.NewsletterPopup-btn {
    background-color: white;
    text-transform: uppercase;
    font-size: 1.4em;
    line-height: 0.9em;
    color:#1e0d68;
    margin: 1em auto;
    display: block;
    text-align: center;
    text-decoration: none;
}

.NewsletterPopup-btn--small {
    font-size: 1.4em;
}

.NewsletterPopup-btn a {
    text-decoration: none;
}

.NewsletterPopup-image {
    display: flex;
}

.NewsletterPopup-image img {
    width: 100%;
}

.NewsletterPopup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
    color: black;
    width: 2.5rem !important;
    height: 2.5rem;
    background: white;
    border-radius: 50%;
    text-align: center;
    padding-top: 0;
    font-size: 2rem;
    line-height: 1.2;
}

.NewsletterForm-close {
    float: right;
    position: relative;
    top: 1rem;
    right: 1rem;
    font-weight: bold;
    cursor: pointer;
    color: black;
}

.captchaStyle{
    margin-top: 30px;
}

@media (max-width: 620px) {
    .g-recaptcha {
        transform:scale(0.77);
        transform-origin:0 0;
    }

    .NewsletterPopup {
        position: fixed;
        bottom: 0;
        right: 0;
        width: 100%;
        min-height: 15rem;
    }

    .NewsletterPopup-image img {
        object-fit: cover;
        min-width: 100%;
        min-height: 100%;
        margin-bottom: 0;
    }

    .NewsletterPopup-btn {
        background-color: transparent;
        font-size: 1.2em;
    }

    .NewsletterPopup-btn a {
        color: #1e0d68;
        background-color: white;
        padding: .3rem .5rem;
        font-size: 0.7em;
        width: 100%;
        text-align: center;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-07-30 09:45:44
 */

.ColdPage {
}

.ColdPage-body {
    font-size: 1.6rem;
    padding: 0 15%;
}

@media (max-width: 1160px) {
    .ColdPage-body {
        padding: 0 11%;
    }
}

@media (max-width: 1160px) {
    .ColdPage-body {
        padding: 0 11%;
    }
}

@media (max-width: 850px) {
    .ColdPage-body {
        padding: 0 5%;
    }
}

@media (max-width: 730px) {
    .ColdPage-body {
        padding: 0;
    }
}

.Mosaic{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    margin:2em 0;
}
.Mosaic-item{
    position:relative;
    cursor:pointer;
    flex:0 1 100%;
    padding-bottom: 50%;
}
.Mosaic--col-4 .Mosaic-item{
    flex:0 1 25%;
    padding-bottom: 25%;
}
.Mosaic--col-3 .Mosaic-item{
    flex:0 1 33%;
    padding-bottom: 33%;
}
.Mosaic--col-2 .Mosaic-item{
    flex:0 1 50%;
    padding-bottom: 50%;
}
.Mosaic-item-title{
    text-align:center;
    color:white;
    font-size: 1.5em;
}
.Mosaic-item-image{
    background:radial-gradient(rgba(41,48,58,.25) 25%,rgba(41,48,58,0) 80%);
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center top;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
}
.Mosaic-item-title--uppercase{
    text-transform: uppercase;
}
.Mosaic-item-hover{
    display:none;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:rgba(40,219,196,0.84);
    flex-direction: column;
    justify-content: center;
    padding:1rem;
}
.Mosaic-item:hover .Mosaic-item-image .Mosaic-item-title{
    display:none;
}
.Mosaic-item:hover > .Mosaic-item-hover{
    display: flex;
}
.Mosaic-item-text-container{
    background:radial-gradient(rgba(41,48,58,.25) 25%,rgba(41,48,58,0) 80%);
    width:100%;
    height:100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:1rem;
}
@media (max-width: 800px) {
    .Mosaic--col-4 .Mosaic-item,
    .Mosaic--col-3 .Mosaic-item{
        flex:0 1 50%;
        padding-bottom: 50%;
    }
}
@media (max-width: 592px) {
    .Mosaic--col-4 .Mosaic-item,
    .Mosaic--col-3 .Mosaic-item,
    .Mosaic--col-2 .Mosaic-item{
        flex:0 1 100%;
        padding-bottom: 70%;
    }
}
.Sustainability-desktop{
    position:relative;
    text-align: center;
    max-width: 2200px;
    margin: 0 auto;
}
.Sustainability-desktop-image{
    max-width:100%;
}
.Sustainability-desktop-link{
    position:absolute;
    text-transform: uppercase;
    text-decoration: none;
    color:#28dbc4;
    font-size: 1.2em;
    font-weight: bold;
    outline: none;
    z-index: 3;
}
.Sustainability-desktop-link:before{
    content : '+';
    color:white;
    background:#28dbc4;
    border-radius:50%;
    padding:0 8px;
    font-size: 3rem;
    -webkit-box-shadow: 3px 2px 4px 1px rgba(153,153,153,0.31);
    box-shadow: 3px 2px 4px 1px rgba(153,153,153,0.31);
    margin-right:5px;
    font-weight: normal;
}
.Sustainability-desktop-link:hover{
    color: #1e0d68;
}
.Sustainability-desktop-link:hover:before{
    background: #1e0d68;
}
.Sustainability-desktop-areaLink{
    position:absolute;
    outline: none;
    display:block;
    z-index: 2;
}
.Sustainability-mobile{
    display:none;
    text-align: center;
}
@media (max-width: 1200px) {
    .Sustainability-desktop-link{
        font-size: 1em;
    }
    .Sustainability-desktop-link:before{
        font-size: 2rem;
        padding:0 5px;
    }
}
@media (max-width: 900px) {
    .Sustainability-desktop-link{
        font-size: 0.8em;
    }
    .Sustainability-desktop-link:before{
        font-size: 1.3rem;
        padding:0 3px;
    }
}

@media (max-width: 821px) {
    .Sustainability-desktop{
        display:none;
    }
    .Sustainability-mobile{
        display:block;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2024-08-12 11:00:47
 */

.TimeLine {
    position: relative;
    display: flex;
    flex: 1;
    width: 100%;
    height: 100%;
}

.TimeLine-content {
    flex: 1;
}

.TimeLine-controls {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 16rem;
    margin-right: 1rem;
    order: -1;
}
.TimeLine-controls::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 4rem;
    border-left: 1px solid #eae0e0;
}

.TimeLine-item,
.slick-initialized .TimeLine-item {
    position: relative;
    display: flex;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border: none; /* Slick default vertical style override */
}

.TimeLine-item-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.TimeLine-item-muteIcon {
    position: absolute;
    top: 2rem;
    right: 2rem;
    height: 3rem;
    visibility: visible;
    transition: visibility .5s ease, opacity .5s ease;
    pointer-events: none;
}
.TimeLine-item-muteIcon.inactive {
    visibility: hidden;
    opacity: 0;
}

/*.TimeLine-text {
    margin-right: 20rem;
    order: -1;
}*/








.TimeLine-dots {
    position: relative;
    padding: 0 0 0 1rem;
    margin: 0;
    height: 100%;
    list-style: none;
    display: flex;
    justify-content: space-evenly;
    flex-direction: column;
}

.TimeLine-dots li {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0;
}
.TimeLine-dot {
    font-family: 'Simplon';
    font-weight: 300;
    position: relative;
    /*display: flex;
    align-items: center;*/
    padding: 0 0 0 5rem;
    margin: 2rem 0;
    border: none;
    background: none;
    color: #989898;

    /*font-size: 0;
    line-height: 0;
    width: 1rem;
    height: .4rem;
    margin: 0 .3rem;
    padding: 0;
    cursor: pointer;
    color: transparent;
    background: #fff;
    border: 0;*/


    /*width: .4rem;
    height: 1rem;*/
    transition: color 1s ease, padding .5s ease;
}
.TimeLine-dot::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1rem;
    width: 2rem;
    height: 2rem;
    border: 1px solid #eae0e0;
    border-radius: 50%;
    transition: border-color 1s ease, background-color 1s ease;
    z-index: 1;
}
.TimeLine-dot::after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: 2rem;
    margin-left: 1px;
    width: 1rem;
    border-bottom: 1px solid #eaeaea;
    transition: border-color 1s ease;
}
.TimeLine-dot:hover {
    color: #000;
}
.TimeLine-dot:hover::before,
.TimeLine-dot:hover::after {
    border-color: #666;
}
.TimeLine-dot:hover {
    padding-left: 4.5rem;
}

.TimeLine-dots .slick-active .TimeLine-dot {
    font-weight: bold;
    color: #1e0d68;
}
.TimeLine-dots .slick-active .TimeLine-dot::before,
.TimeLine-dots .slick-active .TimeLine-dot::after {
    border-color: #1e0d68;
}
.TimeLine-dots .slick-active .TimeLine-dot::before {
    background-color: #1e0d68;
}

/* Slick overide */
.TimeLine .slick-list {
    height: 100%;
    width: 100%;
}
.TimeLine .slick-track {
    display: block;
    height: 100%;
    width: 100%;
}

@media (min-width: 1600px) {
    .TimeLine-controls {
        margin-right: 8rem;
    }
    .TimeLine-dot {
        margin: 4rem 0;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 */

.VerticalAccordion {
    display: flex;
    flex-direction: column;
}

.VerticalAccordion-title {
    display: flex;
    flex: 0;
    margin: 0;
    padding: 0 1rem;
    font-size: 4rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .5);
    background: #28dbc4;
    border-right: 1px solid #EFEFEF;
}
.VerticalAccordion-title-content {
}

.VerticalAccordion-content {
    display: flex;
    flex-direction: column;
}

.VerticalAccordion-item {
    border-right: 1px solid #EFEFEF;
}

.VerticalAccordion-item-header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    flex: 0;
    padding: .5rem 1rem;
    cursor: pointer;
    color: #fff;
    background: #28dbc4;
    transition: color .5s ease, background .5s ease;
}
.VerticalAccordion-item.open .VerticalAccordion-item-header {
    color: #1e0d68;
    background: #efefef;
}
.VerticalAccordion-item-titleContainer {
    display: block;
    font-weight: bold;
    line-height: 1.2;
    font-size: 1.8rem;
    text-transform: uppercase;
    color: inherit;
}
a.VerticalAccordion-item-titleContainer {
    text-decoration: none;
}

.VerticalAccordion-item-title {
}

.VerticalAccordion-item-body {
    flex: 1;
    overflow: hidden;
    background: #EFEFEF;
    opacity: 0;
    transition: width 1s ease, height 1s ease, padding 1s ease, opacity 1s ease;
}
.VerticalAccordion-item.open .VerticalAccordion-item-body {
    opacity: 1;
}

.VerticalAccordion-item-body-content {
    padding: 1rem 2rem;
}

@media (min-width: 700px) {
    .VerticalAccordion {
        flex-direction: row;
    }

    .VerticalAccordion-title {
        font-size: 8rem;
        padding: 1.5rem 0;
    }
    .VerticalAccordion-title-content {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }

    .VerticalAccordion-content {
        flex-direction: row;
        height: 100%;
    }

    .VerticalAccordion-item {
        display: flex;
    }

    .VerticalAccordion-item-header {
        padding: 2.5rem 1rem 1rem;
    }

    .VerticalAccordion-item-titleContainer {
        font-size: 2rem;
        min-width: 2rem;
    }

    .VerticalAccordion-item-title {
        writing-mode: vertical-rl;
        transform: rotate(180deg);
    }

    .VerticalAccordion-item-body-content {
        height: 100%;
    }
}

@media (min-width: 900px) {
    .VerticalAccordion-item-body-content {
        padding: 4rem 6rem;
    }

    .VerticalAccordion--minHeight50 {
        min-height: 50vh;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2024-08-16 14:23:40
 */

.Thumb {
    display: flex;
    flex-direction: column;
    text-align: center;
    margin: 0 1rem;
    background: #1e0d68;
    color: #fff;
    border-radius: 1.2rem;
    overflow: hidden;
    transition: background .5s ease, color .5s ease;
}

.Thumb-imageWrapper {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 100%;
    overflow: hidden;
}
.Thumb-image {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}
a.Thumb:hover .Thumb-imageWrapper .Thumb-image,
.Thumb[onclick]:hover .Thumb-imageWrapper .Thumb-image {
    transform: scale(1.1);
}

.Thumb-content {
    padding: 1.5rem;
}

.Thumb-title {
    display: block;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: normal;
}
.Thumb-subtitle {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 1.4rem;
    text-transform: uppercase;
    font-weight: normal;
}
.Thumb-title a,
.Thumb-subtitle a {
    color: inherit;
}

@media (min-width: 700px) {
    .Thumb-title, .Thumb-subtitle {
        font-size: 1.6rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2024-09-03 10:48:40
 */

.KeyNumber {
    text-align: center;
    max-width: 25rem;
    color: #fff;
}

.KeyNumber-title {
    font-family: 'PVC BannerUltra', 'Simplon', sans-serif;
    font-size: 3rem;
}

.KeyNumber-text {
    font-size: 1.8rem;
}

@media (min-width: 1180px) {
    .KeyNumber-title {
        font-size: 4rem;
    }

    .KeyNumber-text {
        font-size: 2rem;
    }
}

@media (min-width: 1800px) {
    .KeyNumber-title {
        font-size: 5rem;
    }

    .KeyNumber-text {
        font-size: 2.8rem;
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 */

.ImageMap {
    text-align: center;
    margin: 0 4rem;
}
.ImageMap-content {
    display: inline-block;
    position: relative;
}

.ImageMap-image {
    display: inline-block;
    width: auto;
    max-width: 100%;
    max-height: 68vh;
    margin: 0 auto;
}

.ImageMap-marker {
    position: absolute;
    line-height: 1;
    font-size: 1.2rem;
    width: 2rem;
    height: 2rem;
    margin: -1rem 0 0 -1rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ImageMap-marker::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 50%;
    background: #fff;
    border: .3rem solid #28dbc4;
    animation: pulseImageMap 3s infinite;
}

.ImageMap-marker-content {
    position: absolute;
    top: 1rem;
    left: 1rem;
    width: max-content;
    max-width: 18rem;
    padding: 1rem 2rem;
    line-height: 1.3;
    text-align: left;
    color: #fff;
    background: rgb(38, 38, 38, .9);
    visibility: hidden;
    opacity: 0;
    border-radius: .4rem    ;
    transition: visibility .5s ease, opacity .5s ease;
    transform: translateY(-50%);
}
.ImageMap-marker-content--left {
    left: unset;
    right: 1rem;
}

.ImageMap-marker:hover,
.ImageMap-marker:focus {
    z-index: 1;
    outline: none;
}
.ImageMap-marker:hover::after,
.ImageMap-marker:focus::after {
    animation: unset;
}
.ImageMap-marker:hover .ImageMap-marker-content,
.ImageMap-marker:focus .ImageMap-marker-content {
    visibility: visible;
    opacity: 1;
}

@media (min-width: 1024px) {
    .ImageMap-marker-content {
        max-width: 30rem;
    }
}

@media (min-width: 1024px) {
    .ImageMap-marker {
        font-size: 1.4rem;
    }
}

@keyframes pulseImageMap {
    0% {
        border-color: #1e0d68;
        box-shadow: 0 0 5px rgba(30, 13, 104, 0.5);
    }
    25% {
        border-color: #28dbc4;
        box-shadow: 0 0 20px rgba(40, 219, 196, 1);
    }
    85%, 100% {
        border-color: #1e0d68;
        box-shadow: 0 0 5px rgba(30, 13, 104, 0.5);
    }
}

/**
 * @author: Yoann Le Crom <yoann.lecrom@abstractive.fr>
 * date:    2019-06-20 14:29:04
 */

.clearfix {
    clear: both;
}

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

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

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

.pull-left {
    float: left;
    margin-right:25px;
    margin-bottom:25px;
}

.pull-right {
    float: right;
}

.media-pullLeft {
    float: left;
    max-width: 50%;
    margin: 0 2rem 2rem 0;
}

.media-pullRight {
    float: right;
    max-width: 50%;
    margin: 0 0 2rem 2rem;
}

.richtext {
    overflow: auto;
}
.richtext img {
    max-width: 100%;
}

.table-container {
    overflow: auto;
}
.table-container-no-wrap {
    white-space: nowrap;
}

.icon,
.small-icon,
.flag-icon {
    height: 1em;
    width: 1.5em;
    vertical-align: middle;
    position: relative;
    top: -.1em;
    margin-right: .5em;
}
.small-icon {
    width: 1em;
    height: 1em;
}
.flag-icon {
    box-shadow: 0 0 1px 0px rgba(0, 0, 0, .2);
}
.flag-icon-noMargin {
    margin: 0;
}
.flag-label-container {
    display: flex;
}
.flag-label-container.flag-label-container--center{
    justify-content: center;
}
.flag-label-container .flag-icon {
    top: .15em;
    margin: 0 1em 0 0;
}

.color-link {
    text-transform: uppercase;
    font-weight: bold;
    color: #28dbc4;
    text-decoration: none;
}
.alternativeTheme .color-link {
    color: #c2252d;
}
.color-link:hover {
    text-decoration: underline;
}
.color-hover-link {
    text-decoration: none;
}
.color-hover-link:hover {
    color: #28dbc4;
    text-decoration: none;
}
.alternativeTheme .color-hover-link:hover {
    color: #c2252d;
}
.strong-link {
    font-weight: bold;
    text-decoration: none;
}
.strong-link:hover,
.strong-link a :hover {
    color: #28dbc4;
    text-decoration: none;
}
.alternativeTheme .strong-link:hover,
.alternativeTheme .strong-link a :hover {
    color: #c2252d;
}

.download-link {
    text-transform: uppercase;
}
.download-link::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .5em;
    background: url('data:image/svg+xml;utf8,<svg enable-background="new 0 0 5.949 8.244" height="8.244" viewBox="0 0 5.949 8.244" width="5.949" xmlns="http://www.w3.org/2000/svg"><path d="m.926 2.772 2.029 3.165 2.068-3.165z"/><path d="m2.439 0h1.07v3.114h-1.07z"/><path d="m0 7.173h5.949v1.07h-5.949z"/><path d="m0 6.137h1.07v1.57h-1.07z"/><path d="m4.878 6.137h1.071v1.57h-1.071z"/></svg>') no-repeat center / auto 100%;
}

.unstyled-list {
    list-style: none;
    padding: 0;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0;
}


.copyright {
    display: block;
    font-size: 1.2rem;
}
.copyright,
.copyright a {
    color: #999;
    text-decoration: none;
}
.copyright a:hover {
    text-decoration: underline;
}

.image-fullWidth {
    display: block;
    width: 100%;
}
.audio-fullWidth {
    width: 100%;
}

.full-height {
    height: 100%;
}

.full-width {
    width: 100%;
}

.image-contain {
    max-width: 100%;
    max-height: 100%;
}

.image-fade {
    opacity: 0;
    transition: opacity 1s ease-out;
    transition-delay: .3s;
}
.image-fade.visible {
    opacity: 1;
}

.videoHolder {
    position: relative;
    padding-bottom: 56.25%;
}
.videoHolder > * {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.tag {
    display: inline-block;
    font-size: 1.2rem;
    padding: .2rem 2rem;
    color: #1e0d68;
    background-color: #28dbc4;
}
.alternativeTheme .tag {
    color: #fff;
    background-color: #c2252d;;
}

.hideMobile {
}
.showMobile {
    display: none;
}
.collapseMobile {
}

.anchor {
    position: relative;
    top: -7.2rem; /* TopBar height*/
}

.flex-column {
    display: flex;
    flex-direction: column;
}
.flex-grow {
    flex-grow: 1;
}
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex-vertical-center {
    display: flex;
    align-items: center;
}

.g-recaptcha {
    margin: 0 auto;
}

.richtext iframe,
.twitter-tweet {
display: block;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.twitter-tweet {
    width: 100% !important;
    max-width: 500px !important;
}

figure small {
    display: block;
    text-align: center;
}

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

.no-overflow {
    overflow: hidden;
}

.imoca .azimut-consent--container {
    z-index: 201;
}

.imoca .azimut-consent--modal-container {
    z-index: 1000;
}

.imoca .azimut-consent--button {
    color: white;
    background-color: #28dbc4;
    border: 1px solid #28dbc4;
}

.imoca .azimut-consent--button:hover {
    color: white;
    background-color: #22b4a0;
    border: 1px solid #22b4a0;
}

.imoca .azimut-consent--button.azimut-consent--invert {
    color: #28dbc4;
    background-color: transparent;
}

.imoca-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.7);
}

.imoca-modal .modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    border: 1px solid #888;
    width: 80%;
}

@media (max-width: 720px) {
    .hideMobile {
        display: none;
    }
    .showMobile {
        display: block;
    }
    span.showMobile {
        display: inline;
    }
    td.collapseMobile {
        width: 0;
        min-width: 0;
        padding: 0;
        overflow: hidden;
        display: block;
    }

    .richtext ul {
        padding-left: 3rem;
    }
    .imoca-modal .modal-content {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .richtext ul {
        padding-left: 2rem;
    }
}

.lb-loader,.lightbox{text-align:center;line-height:0}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../../../assets/loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../../../assets/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../../../assets/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../../../assets/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}