@charset "UTF-8";

/* =============================================================================
   Grid
============================================================================= */
/* -----------------------------------------------------------------------------
   @Font-face
----------------------------------------------------------------------------- */
@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto/Regular/Roboto-Regular.woff2"), url("../fonts/Roboto/Regular/Roboto-Regular.woff");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto/Bold/Roboto-Bold.woff2"), url("../fonts/Roboto/Bold/Roboto-Bold.woff");
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto/Medium/Roboto-Medium.woff2"), url("../fonts/Roboto/Medium/Roboto-Medium.woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Roboto";
    src: url("../fonts/Roboto/Light/Roboto-Light.woff2"), url("../fonts/Roboto/Light/Roboto-Light.woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/*
---
name: Roboto
category: Polices
compile: true
---

```html
<div class="font--default">Lorem ipsum</div>
```

```sass
font-family: $font-stack;
```
*/
/*
---
name: Arial
category: Polices
---

```html
<div class="font--alt">Lorem ipsum</div>
```

```sass
font-family: $font-stack-alt;
```
*/
/*
S'applique pour sur nouveaux styles de bouton, permet d'appliquer les réglages
de base.

```sass
@include btn--default;
```
*/
/*
---
name: Bouton par défaut
category: Boutons et liens
---

Appliquer ce style pour obtenir un bouton stylé.

```html
<a href="#" class="btn">Bouton basique</a>
```

```sass
@include btn;
```
*/
/*
---
name: Bouton blanc avec filet
category: Boutons et liens
---

```html
<a href="#" class="btn-border">Oui</a>
<a href="#" class="btn-border">Non</a>
```

```sass
@include btn-border;
```
*/
/*
---
name: Bouton CTA
category: Boutons et liens
---

```html
<a href="#" class="btn-cta">Ma situation</a>
```

```sass
@include btn-cta;
```
*/
/*
---
name: Tags
category: Boutons et liens
---

```html
<ul class="tags-list">
  <li><a href="#" class="search-tag">Tag</a>
  <li><a href="#" class="search-tag--large">Tag large</a>
</ul>
```

```sass
@include tag;
@include tag('large');
```
*/
/*
---
name: Bouton fermer
category: Boutons et liens
---

> Note : Insérer une balise `img` dans le `button`.

```html
<button type="button" class="btn--small-close">X</button>
```

```sass
@include btn--small-close;
```
*/
/*
---
name: Lien avec puce
category: Boutons et liens
---

```html
<a href="#" class="more-link">Normal</a>
<br>
<a href="#" class="more-link--large">Grande version</a>
```

```sass
@include more-link;
@include more-link('large');
```
*/
/*
---
name: Bouton noir
category: Boutons et liens
---

```html
<a href="#" class="btn-black btn-black--calendar"><span>Courrier</span></a>
<a href="#" class="btn-black btn-black--rdv"><span>Prendre<br>rendez-vous</span></a>
```

```sass
@include btn-black;
```
*/
/*
---
name: Bouton prune
category: Boutons et liens
---

```html
<a href="#" class="btn-brand">J'accepte</a>
```

```sass
@include btn-brand;
```
*/
/*
---
name: Lien
category: Boutons et liens
---

```html
<a href="#" class="link">Lorem ipsum</a>
```

```sass
@include link;
```
*/
/*
---
name: Message
category: Blocs
---

Message d'information

```html
<div class="message">
  <h2 class="msg__title">Message d'information</h2>
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae unde dicta facilis porro distinctio quaerat incidunt et mollitia dolorum laborum. Beatae, possimus voluptatem a? Debitis consequuntur corporis reprehenderit, sint assumenda doloremque qui perferendis laborum. Dicta inventore quia, expedita corporis! Voluptate iusto, nulla dignissimos in porro architecto laborum quam ullam incidunt?<p>
</div>
```

```sass
@include message;
```
*/
/*
---
name: Bloc secondaire
category: Blocs
---

```html
<div class="aside-block">
  <header>
    <h2>Lorem ipsum</h2>
  </header>

  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae unde dicta facilis porro distinctio quaerat incidunt et mollitia dolorum laborum. Beatae, possimus voluptatem a? Debitis consequuntur corporis reprehenderit, sint assumenda doloremque qui perferendis laborum. Dicta inventore quia, expedita corporis! Voluptate iusto, nulla dignissimos in porro architecto laborum quam ullam incidunt?<p>

</div>
```

```sass
@include aside-box;
```
*/
/*
---
name: Liste de blocs
category: Blocs
---

```html
<div class="content-item">
  <h3 class="content-item__title">Lorem ipsum</h3>
  <div class="content-item__text">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae unde dicta facilis porro distinctio quaerat incidunt et mollitia dolorum laborum. Beatae, possimus voluptatem a? Debitis consequuntur corporis reprehenderit, sint assumenda doloremque qui perferendis laborum. Dicta inventore quia, expedita corporis! Voluptate iusto, nulla dignissimos in porro architecto laborum quam ullam incidunt?<p>
  </div>
</div>
```

```sass
@include content-item;
```
*/
/*
---
name: Fléchée
category: Listes
---

```html
<ul class="list">
  <li><a href="#">Lorem ipsum</a></li>
  <li><a href="#">Lorem ipsum</a></li>
  <li><a href="#">Lorem ipsum</a></li>
</ul>
```

```sass
@include list;
```
*/
/*
---
name: Date
category: Textes
---

```html
<div class="date">10 janvier 2017</div>
```

```sass
@include date;
```
*/
/*
---
name: Description
category: Textes
---

```html
<p class="description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatum, eaque ullam natus molestias sit velit repellendus dignissimos nostrum ipsum eveniet.</p>
```

```sass
@include description;
```
*/
/*
---
name: Taille de texte responsive
category: Textes
---

```html
<div class="text-size">Lorem ipsum</div>
```

```sass
@include text-size-rwd;
```
*/
/**
  * Return reponsive size for a specific size.
  */
/* -----------------------------------------------------------------------------
   Headings
----------------------------------------------------------------------------- */
/*
---
name: Titre 1
category: Textes
---

```html
<h2 class="title-1">Lorem ipsum</h2>
```

```sass
@include title-1;
```
*/
/*
---
name: Titre 2
category: Textes
---

```html
<h2 class="title-2">Lorem ipsum</h2>
```

```sass
@include title-2;
```
*/
/*
---
name: Titre 3
category: Textes
---

```html
<h2 class="title-3">Lorem ipsum</h2>
```

```sass
@include title-3;
```
*/
/*
---
name: Titre 4
category: Textes
---

```html
<h2 class="title-4">Lorem ipsum</h2>
```

```sass
@include title-4;
```
*/
/*
---
name: Titre 5
category: Textes
---

```html
<h2 class="title-5">Lorem ipsum</h2>
```

```sass
@include title-5;
```
*/
/*
---
name: Titre 6
category: Textes
---

```html
<h2 class="title-6">Lorem ipsum</h2>
```

```sass
@include title-6;
```
*/
/*
---
name: Titre 7
category: Textes
---

```html
<h2 class="title-7">Actualité</h2>
```

```sass
@include title-7;
```
*/
/*
---
name: Titre 8
category: Textes
---

```html
<h2 class="title-8">Salon des seniors</h2>
```

```sass
@include title-8;
```
*/
/* =============================================================================
   Popin
============================================================================= */
.popins-wrap {
    display: none;
}

.pop {
    padding: 10px;
    position: relative;
}

@media only screen and (min-width: 48em) {
    .pop {
        padding: 20px;
    }
}

.pop .btn--small-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
}

.pop p {
    font-size: 1.6rem;
}

@media only screen and (max-width: 47.9375em) {
    .pop p {
        font-size: 1.4rem;
    }
}

.pop__title {
    margin: 0 0 20px;
    font-weight: normal;
    font-size: 1.6rem;
    color: #403f3f;
    margin: 0 auto 20px;
    text-align: center;
    color: #a2516b;
    font-weight: bold;
    border-bottom: 1px solid #c2c2c2;
    max-width: 1000px;
    padding-bottom: 15px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .pop__title {
        font-size: 2.4rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop__title {
        margin-bottom: 15px;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop__title {
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
}

.pop__title .pop__title-label {
    display: inline-block;
    vertical-align: middle;
}

.pop__title .pop__title-sub {
    display: block;
    text-transform: none;
    font-weight: normal;
}

@media only screen and (max-width: 47.9375em) {
    .pop__title .pop__title-sub {
        margin-top: 15px;
    }
}

.pop--contact-2 .pop__title {
    margin-top: 0;
    margin-bottom: 15px;
}

.pop__content {
    margin: 0 auto;
    max-width: 1000px;
}

.pop__content iframe {
    max-width: 100%;
}

@media only screen and (max-width: 74.9375em) {
    .pop--account .pop__content {
        max-width: 720px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .pop--account .pop__content {
        max-width: 325px;
    }
}

.assistance {
    padding-left: 10px;
}

.assistance__schedule {
    font-size: 1.3rem;
    margin-bottom: 10px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .assistance__schedule {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .assistance__schedule {
        font-size: 1.6rem;
    }
}

/* =============================================================================
   Forms layout
============================================================================= */
/* -----------------------------------------------------------------------------
   Rows
----------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   Labels / fieldsets
----------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
   Helpers
----------------------------------------------------------------------------- */
/*
---
name: Champ texte
category: Formulaires
---

```html
<div class="form__row form__row--inline">
  <label>Label en ligne</label>
  <input type="text" class="input--text" placeholder="Exemple">
</div>

<div class="form__row">
  <label class="label--block">Zone de texte <span class="form__mandatory">*</span></label>
  <input type="text" class="input--text input--wide" placeholder="Exemple">
</div>

<div class="form__row">
  <label class="label--block">Zone de texte multiligne</label>
  <textarea class="input--textarea input--wide" placeholder="Exemple"></textarea>
</div>
```

```sass
@include input;
@include textarea;
```
*/
/*
---
name: Liste de choix
category: Formulaires
---

```html
<div class="form__row">
  <label class="label--block">Liste de choix</label>
  <select name="select-1" class="input--select input--wide">
    <option value="o1">Option 1</option>
    <option value="o2">Option 2</option>
    <option value="o3">Option 3</option>
  </select>

  <label class="label--block">Liste de choix désactivée</label>
  <select name="select-1" class="input--select input--wide" disabled="disabled">
    <option value="o1">Option 1</option>
    <option value="o2">Option 2</option>
    <option value="o3">Option 3</option>
  </select>
</div>
```

```sass
@include select;
```
*/
/*
---
name: Checkbox
category: Formulaires
---

```html
<div class="form__row">
  <fieldset class="fieldset">
    <legend>Options &ndash; Cases à cocher</legend>

    <div class="options__row">
      <input type="checkbox" value="" name="cb-1" id="cb-1" class="input--checkbox" checked />
      <label for="cb-1">Option 1</label>
    </div>

    <div class="options__row">
      <input type="checkbox" value="" name="cb-2" id="cb-2" class="input--checkbox" />
      <label for="cb-2">Option 2</label>
    </div>

  </fieldset>
</div>
```

```sass
@include checkbox;
```
*/
/*
---
name: Radio
category: Formulaires
---

```html
<div class="form__row">
  <fieldset class="fieldset">
    <legend>Options &ndash; Radios</legend>

    <div class="options__row">
      <input type="radio" value="" name="radio" id="radio-1" class="input--radio" checked />
      <label for="radio-1">Option 1</label>
    </div>

    <div class="options__row">
      <input type="radio" value="" name="radio" id="radio-2" class="input--radio" />
      <label for="radio-2">Option 2</label>
    </div>

  </fieldset>
</div>
```

```sass
@include radio;
```
*/
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
    font-family: sans-serif;
    /* 1 */
    line-height: 1.15;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 3 */
    -webkit-text-size-adjust: 100%;
    /* 3 */
}

/* 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 {
    -webkit-box-sizing: content-box;
    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 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
    outline-width: 0;
}

/**
 * 1. Remove the bottom border in 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 */
    -webkit-text-decoration: underline dotted;
    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;
}

/**
 * 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,
.default-form 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"],
[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;
}
*/
/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 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 {
    -webkit-box-sizing: border-box;
    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,
.default-form textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
    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 */
}

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

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

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

.space-before-extra-small {
    margin-top: 20px;
}

.space-before-small {
    margin-top: 40px;
}

.space-before-medium {
    margin-top: 60px;
}

.space-before-large {
    margin-top: 80px;
}

.space-before-extra-large {
    margin-top: 100px;
}

.space-after-extra-small {
    margin-bottom: 20px;
}

.space-after-small {
    margin-bottom: 40px;
}

.space-after-medium {
    margin-bottom: 60px;
}

.space-after-large {
    margin-bottom: 80px;
}

.space-after-extra-large {
    margin-bottom: 100px;
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
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;
}

/* =============================================================================
   Box sizing
============================================================================= */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

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

/* =============================================================================
   Images
============================================================================= */
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 */
img {
    max-width: 100%;
    /* [1] */
    font-style: italic;
    /* [2] */
    height: auto;
}

/* =============================================================================
   Helpers // Utilities classes for alignements & display
============================================================================= */
/* -----------------------------------------------------------------------------
   Display
----------------------------------------------------------------------------- */
.is-hidden {
    display: none !important;
}

.visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

/* -----------------------------------------------------------------------------
   Visibility
----------------------------------------------------------------------------- */
.visible-xs {
    display: none !important;
}

.visible-sm {
    display: none !important;
}

.hidden-md {
    display: none !important;
}

.visible-md {
    display: inherit !important;
}

@media only screen and (min-width: 48em) and (max-width: 63.9375em) {
    .hidden-md {
        display: inherit !important;
    }

    .visible-md {
        display: none !important;
    }

    .visible-sm {
        display: inherit !important;
    }

    .hidden-sm {
        display: none !important;
    }
}

@media only screen and (max-width: 47.9375em) {
    .hidden-md {
        display: inherit !important;
    }

    .visible-md {
        display: none !important;
    }

    .visible-xs {
        display: inherit !important;
    }

    .hidden-xs {
        display: none !important;
    }
}

/* -----------------------------------------------------------------------------
   Alignments
----------------------------------------------------------------------------- */
.align-left {
    text-align: left !important;
}

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

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

.valign-top {
    vertical-align: top !important;
}

.valign-middle {
    vertical-align: middle !important;
}

.valign-bottom {
    vertical-align: bottom !important;
}

.align-start {
    float: left !important;
}

.align-end {
    float: right !important;
}

.align-clear {
    clear: both !important;
}

/* =============================================================================
   Layout

   Global layout and custom grids
   Grid system : Susy (http://susy.oddbird.net)
============================================================================= */
/* -----------------------------------------------------------------------------
   Wrappers
----------------------------------------------------------------------------- */
.outer-wrap {
    position: relative;
    overflow: hidden;
    transition: -webkit-filter 1000ms;
    -webkit-transition: -webkit-filter 1000ms;
    transition: filter 1000ms;
    transition: filter 1000ms, -webkit-filter 1000ms;
}

.wrap {
    display: flow-root;
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 10px;
}

.wrap:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .wrap {
        max-width: 1024px;
    }
}

@media only screen and (min-width: 93.75em) {
    .wrap {
        padding: 0;
    }
}

.wrap--sub-header {
    padding-top: 40px;
    padding-bottom: 20px;
    position: relative;
    z-index: 2;
}

@media only screen and (max-width: 47.9375em) {
    .wrap--sub-header {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

.wrap--sub-header+.wrap {
    position: relative;
    z-index: 1;
}

/* -----------------------------------------------------------------------------
   Grids
----------------------------------------------------------------------------- */
.grid {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.grid:after {
    content: " ";
    display: block;
    clear: both;
}

.content-modale {
    display: none;
}

.grid--1-3--2-3--home>.grid__item,
.grid--1-3--2-3--home>.sidebar {
    position: relative;
    z-index: 2;
}

@media only screen and (min-width: 64em) and (max-width: 74.999em) {

    .grid--1-3--2-3--home>.grid__item,
    .grid--1-3--2-3--home>.sidebar {
        width: 22.61682%;
        float: left;
        margin-right: 0.93458%;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.749em) {

    .grid--1-3--2-3--home>.grid__item,
    .grid--1-3--2-3--home>.sidebar {
        width: 23.40426%;
        float: left;
        margin-right: 2.12766%;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--1-3--2-3--home>.grid__item,
    .grid--1-3--2-3--home>.sidebar {
        width: 25.10638%;
        float: left;
        margin-right: 2.12766%;
    }
}

.grid--1-3--2-3--home>.grid__item+.grid__item,
.grid--1-3--2-3--home>.main-content {
    position: relative;
    z-index: 1;
}

@media only screen and (min-width: 64em) and (max-width: 74.999em) {

    .grid--1-3--2-3--home>.grid__item+.grid__item,
    .grid--1-3--2-3--home>.main-content {
        width: 76.4486%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.749em) {

    .grid--1-3--2-3--home>.grid__item+.grid__item,
    .grid--1-3--2-3--home>.main-content {
        width: 74.46809%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--1-3--2-3--home>.grid__item+.grid__item,
    .grid--1-3--2-3--home>.main-content {
        width: 72.76596%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 48em) and (max-width: 74.9375em) {
    .search .grid--1-3--2-3--home .grid__item:first-child {
        display: none;
    }

    .search .grid--1-3--2-3--home .grid__item:first-child+.grid__item {
        width: 100%;
        text-align: center;
        float: left;
        margin-left: 0;
        margin-right: 0;
    }
}

/*.grid-50-50,
.grid-33-33-33 {
    margin: 10px 0px 0px;

}*/

@media only screen and (min-width: 48em) {

    /*.grid-50-50 {
        margin: 15px 0px;
    }*/

    .grid--2 {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-align: stretch;
        -webkit-box-align: stretch;
        align-items: stretch;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .sub-nav .grid--2 {
        -ms-flex-flow: column nowrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-flow: column nowrap;
    }

    .grid--2:after {
        content: " ";
        display: block;
        clear: both;
    }

    .grid--2>* {
        width: 48.57143%;
        /*float: left;*/
        margin-right: 2.85714% !important;
    }

    .grid--2>*:nth-child(2n) {
        width: 48.57143%;
        /*float: right;*/
        margin-right: 0 !important;
    }
}

.grid-50-50>.grid>div,
.grid-33-33-33>.grid>div {
    margin-bottom: 15px;
}

@media only screen and (min-width: 48em) {

    .grid-50-50>.grid>div,
    .grid-33-33-33>.grid>div {
        margin-bottom: 0;
    }
}

.grid-50-50>.grid>div>*:first-child,
.grid-50-50>.grid>div>*:first-child>section,
.grid-50-50>.grid>div>*:first-child>aside,
.grid-50-50 .shortcuts,
.grid-50-50 .shortcuts>*:first-child,
.grid-50-50 .shortcuts>*:first-child>div,
.grid-50-50 .shortcuts>*:first-child>div>section,
.grid-50-50 .shortcuts>*:first-child>div>aside,
.grid-33-33-33>.grid>div>*:first-child,
.grid-33-33-33>.grid>div>*:first-child>section,
.grid-33-33-33>.grid>div>*:first-child>aside,
.grid-33-33-33 .shortcuts,
.grid-33-33-33 .shortcuts>*:first-child,
.grid-33-33-33 .shortcuts>*:first-child>div,
.grid-33-33-33 .shortcuts>*:first-child>div>section,
.grid-33-33-33 .shortcuts>*:first-child>div>aside {
    height: 100%;
}


@media only screen and (min-width: 48em) {
    .grid--3 {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-align: stretch;
        -webkit-box-align: stretch;
        align-items: stretch;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .sub-nav .grid--3 {
        -ms-flex-flow: column nowrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-flow: column nowrap;
    }

    .grid--3:after {
        content: " ";
        display: block;
        clear: both;
    }

    .grid--3>* {
        width: 31.91489%;
        /*float: left;*/
        margin-right: 2.12766% !important;
    }

    .sub-nav .grid--3>* {
        width: 100%;
    }

    .grid--3>*:nth-child(3n) {
        width: 31.91489%;
        /*float: right;*/
        margin-right: 0 !important;
    }

    /*.grid-33-33-33 {
        margin: 15px 0px;
    }*/

    .home .grid-33-33-33 {
        margin: 2.12766% 0px 0px;
    }

    .grid-33-33-33>.grid>div {
        width: 31.91489%;
    }
}

@media only screen and (min-width: 75em) {
    .sub-nav .grid--3>* {
        width: 31.91489%;
    }

    .sub-nav .grid--3 {
        -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
    }
}

.flex--row {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: row nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row nowrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.flex--3--sm>aside,
.flex--3--sm>section,
.flex--3--sm>div,
.flex--3--sm>button,
.flex--3--sm .container-article {
    margin-bottom: 20px;
}

.flex--3--sm>button {
    width: 100%;
}

@media only screen and (min-width: 48em) {
    .flex--3--sm {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-flow: row nowrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row nowrap;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -ms-flex-pack: initial;
        -webkit-box-pack: initial;
        justify-content: initial;
    }

    .flex--3--sm>aside,
    .flex--3--sm>section,
    .flex--3--sm>div,
    .flex--3--sm>button,
    .flex--3--sm .container-article {
        -ms-flex: 0 0 32%;
        -webkit-box-flex: 0;
        flex: 0 0 32%;
    }

    .flex--3--sm>aside:not(:first-child),
    .flex--3--sm>section:not(:first-child),
    .flex--3--sm>div:not(:first-child),
    .flex--3--sm>button:not(:first-child),
    .flex--3--sm .container-article:not(:first-child) {
        margin-left: 2%;
    }

    .no-flexbox .flex--3--sm>aside,
    .no-flexbox .flex--3--sm>section,
    .no-flexbox .flex--3--sm>div,
    .no-flexbox .flex--3--sm .container-article {
        width: auto;
        margin-bottom: 15px;
    }

    .flex--3--sm.flex--wrap {
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
    }

    .flex--3--sm.flex--wrap:after {
        content: '';
        -ms-flex: 0 0 32%;
        -webkit-box-flex: 0;
        flex: 0 0 32%;
    }

    .flex--3--sm.flex--wrap:after,
    .flex--3--sm.flex--wrap>section,
    .flex--3--sm.flex--wrap>div,
    .flex--3--sm.flex--wrap>button {
        margin-left: 0;
    }
}

.flex--wrap {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media only screen and (min-width: 48em) {
    .grid--4 {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .grid--4:after {
        content: " ";
        display: block;
        clear: both;
    }

    .grid--4>* {
        width: 23.40426%;
        float: left;
        margin-right: 2.12766%;
    }

    .sub-nav .grid--4>* {
        width: 100%;
        float: none;
    }

    .grid--4>*:nth-child(4n) {
        width: 23.40426%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 75em) {
    .sub-nav .grid--4>* {
        width: 23.40426%;
        float: left;
    }
}

@media only screen and (min-width: 82.5em) {
    .grid--2-1>.grid__item {
        width: 74.46809%;
        float: left;
        margin-right: 2.12766%;
    }

    .grid--2-1>.grid__item+.grid__item {
        width: 23.40426%;
        float: right;
        margin-right: 0;
    }
}

/* -----------------------------------------------------------------------------
   Mosaique statique
----------------------------------------------------------------------------- */
@media only screen and (min-width: 48em) {
    .grid--2-3--1-3>.grid__item {
        width: 65.9306%;
        float: left;
        margin-right: 2.2082%;
    }
}

@media only screen and (min-width: 48em) {
    .grid--2-3--1-3>.grid__item+.grid__item {
        width: 31.8612%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 48em) {
    .grid--1-3--2-3--b>.grid__item {
        width: 31.8612%;
        float: left;
        margin-right: 2.2082%;
    }
}

@media only screen and (min-width: 48em) {
    .grid--1-3--2-3--b>.grid__item+.grid__item {
        width: 65.9306%;
        float: right;
        margin-right: 0;
    }
}

/* -----------------------------------------------------------------------------
   Layout
----------------------------------------------------------------------------- */
/* =============================================================================
   Basics

   Global & reusable styles.
============================================================================= */
/* -----------------------------------------------------------------------------
   Selection
----------------------------------------------------------------------------- */
::-moz-selection {
    background-color: #a2516b;
    color: #fff;
}

::selection {
    background-color: #a2516b;
    color: #fff;
}

::-moz-selection {
    background-color: #a2516b;
    color: #fff;
}

/* -----------------------------------------------------------------------------
   Body
----------------------------------------------------------------------------- */
html {
    -webkit-tap-highlight-color: rgba(162, 81, 107, 0.5);
    font: 0.625em/1.5 "Roboto", arial, helvetica, sans-serif;
    color: #403f3f;
    margin: 0;
}

body {
    font-size: 1.2rem;
    padding-top: 6.5rem;
    background-color: #fff;
}

@media only screen and (min-width: 93.75em) {
    body {
        padding-top: 8.5rem;
    }
}

iframe {
    width: 100%;
    border: 0;
    display: block;
}

#iframe-courriel,
#iframe-rdv,
#content-iframe {
    width: 100%;
}

.ratio-wrap {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}

.ratio-wrap object,
.ratio-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.fluidvids {
    padding-top: 0 !important;
}

/* -----------------------------------------------------------------------------
   Default link's style.
----------------------------------------------------------------------------- */
a {
    text-decoration: none;
    color: #403f3f;
}

a:hover,
a:focus,
a:active {
    text-decoration: underline;
}

.link {
    color: #a2516b;
    text-decoration: underline;
    font-weight: 600;
}

.link:hover,
.link:focus,
.link:active {
    text-decoration: none;
}

.block-link {
    cursor: pointer;
}

/* -----------------------------------------------------------------------------
   Lists
----------------------------------------------------------------------------- */
.list {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    font-size: 1.4rem;
    color: #000;
}

.list:first-child {
    margin-top: 0;
}

.list:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .list {
        font-size: 1.2rem;
    }
}

.list li {
    margin-bottom: 5px;
}

.list a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {
    .list a:before {
        margin-right: 10px;
    }
}

/* -----------------------------------------------------------------------------
   Others...
----------------------------------------------------------------------------- */
hr {
    background-color: #e9e9e9;
    border: none;
    height: 1px;
    margin-top: 15px;
    margin-bottom: 15px;
}

.table-wrap {
    overflow: auto;
}

.tags-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    margin-bottom: 20px;
    line-height: 3;
}

.tags-list li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px 0 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .tags-list li {
        margin-right: 5px;
    }
}

.search-tag {
    display: block;
    background: #d7db4a;
    color: #3e3e3e;
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 5px 10px;
    border: 0;
    cursor: pointer;
    text-align: left;
}

@media only screen and (min-width: 93.75em) {
    .search-tag {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search-tag {
        font-size: 1.3rem;
    }
}

.search-tag:hover,
.search-tag:focus,
.search-tag:active {
    background: #dcdf5f;
    text-decoration: none;
}

.search-tag:after {
    content: '';
    width: 9px;
    height: 9px;
    background: url("../images/remove--small.png");
    font-size: 1.2rem;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
}

@media only screen and (min-width: 93.75em) {
    .perimetre .search-tag {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .perimetre .search-tag {
        font-size: 1.2rem;
    }
}

.tags-list--small {
    margin-bottom: 10px;
    line-height: 2.5;
}

.tags-list--small .search-tag {
    padding: 3px 5px;
    font-size: 1.4rem;
}

.tags-list--small .search-tag:after {
    display: none;
}

.search-tag--large {
    display: block;
    background: #d7db4a;
    color: #3e3e3e;
    font-size: 1.4rem;
    line-height: 1.2;
    padding: 5px 10px;
    border: 0;
    cursor: pointer;
    text-align: left;
    font-size: 1.6rem;
}

@media only screen and (min-width: 93.75em) {
    .search-tag--large {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search-tag--large {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 82.5em) {
    .search-tag--large {
        font-size: 2.2rem;
    }
}

.search-tag--large:hover,
.search-tag--large:focus,
.search-tag--large:active {
    background: #dcdf5f;
    text-decoration: none;
}

.search-tag--large:after {
    content: '';
    width: 9px;
    height: 9px;
    background: url("../images/remove--small.png");
    font-size: 1.2rem;
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    font-size: 1.5rem;
}

.btn--small-close {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: none;
    padding: 10px 10px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.btn--small-close:hover,
.btn--small-close:focus,
.btn--small-close:active {
    text-decoration: none;
}

.btn--small-close:hover,
.btn--small-close:focus,
.btn--small-close:active {
    background-color: #efefef;
}

@media only screen and (max-width: 47.9375em) {
    .btn--small-close {
        width: 42px;
    }
}

.btn--small-close img {
    display: block;
}

.message {
    display: flow-root;
    position: relative;
    background-color: #e6e6e6;
    padding: 10px;
    font-size: 1.2rem;
    line-height: 1.4;
}

.message:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .message {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .message {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 48em) {
    .message {
        padding: 20px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .message {
        font-size: 1rem;
    }
}

.message .msg__title {
    margin: 0;
    font-weight: bold;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .message .msg__title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .message .msg__title {
        font-size: 1.6rem;
    }
}

.message p {
    margin: 0;
}

.more-link:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

.more-link--large {
    color: #a2516b;
    font-size: 1.4rem;
}

@media only screen and (min-width: 93.75em) {
    .more-link--large {
        font-size: 1.8rem;
    }
}

.more-link--large:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

/* -----------------------------------------------------------------------------
   Panels
----------------------------------------------------------------------------- */
.tgp--is-opened {
    display: block;
}

.btn-wrap--sep {
    border-top: 1px solid #c2c2c2;
    padding-top: 10px;
}

/* -----------------------------------------------------------------------------
   Blocks
----------------------------------------------------------------------------- */
.border-block {
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 20px;
}

.grid--article>.grid__item+.grid__item .border-block {
    margin-bottom: 0;
}

.aside-box {
    border: 1px solid #ccc;
    padding: 15px;
    /*margin-bottom: 20px;*/
    background: #fff;
}

.grid--article>.grid__item+.grid__item .aside-box {
    margin-bottom: 0;
}

.aside-box header {
    position: relative;
    text-transform: uppercase;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 20px;
    padding: 0 0 15px;
}

.aside-box header:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 2px;
    background-color: #dbdf71;
    width: 30%;
}

.aside-box header h2 {
    margin: 0;
    font-size: 1.4rem;
    color: #424242;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .aside-box header h2 {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .aside-box header h2 {
        font-size: 1.8rem;
    }
}

.content-item {
    display: flow-root;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e9e9e9;
}

.content-item:after {
    content: "";
    display: table;
    clear: both;
}

.content-item__title {
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    border: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-item__title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-item__title {
        font-size: 1.6rem;
    }
}

.content-item__text {
    font-size: 1.2rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-item__text {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-item__text {
        font-size: 1.4rem;
    }
}

.content-item__text *:first-child {
    margin-top: 0;
}

.content-item__text *:last-child {
    margin-bottom: 0;
}

.content-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.content-item__pict {
    float: left;
    display: block;
    margin-right: 15px;
}

.content-item__wrap {
    overflow: hidden;
}

.free-contrib h3.content-item {
    display: flow-root;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e9e9e9;
}

.free-contrib h3.content-item:after {
    content: "";
    display: table;
    clear: both;
}

.free-contrib h3.content-item__title {
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
    margin: 0;
    padding: 0;
    border: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib h3.content-item__title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib h3.content-item__title {
        font-size: 1.6rem;
    }
}

.free-contrib h3.content-item__text {
    font-size: 1.2rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib h3.content-item__text {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib h3.content-item__text {
        font-size: 1.4rem;
    }
}

.free-contrib h3.content-item__text *:first-child {
    margin-top: 0;
}

.free-contrib h3.content-item__text *:last-child {
    margin-bottom: 0;
}

.free-contrib h3.content-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.free-contrib h3.content-item__pict {
    float: left;
    display: block;
    margin-right: 15px;
}

.free-contrib h3.content-item__wrap {
    overflow: hidden;
}

.content-item--condensed {
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.content-item__pict--border {
    border: 1px solid #ccc;
}

/* -----------------------------------------------------------------------------
   Icons
----------------------------------------------------------------------------- */
.waves:before {
    content: '';
    display: block;
    vertical-align: middle;
    width: 60px;
    height: 11px;
    background: url("../images/waves-2.png") no-repeat top left;
    background-size: 100% auto;
    margin-bottom: 10px;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .waves:before {
        width: 40px;
        height: 7px;
    }
}

@media only screen and (min-width: 93.75em) {
    .waves:before {
        margin-bottom: 20px;
    }
}

.tgp--trigger--is-active .waves:before {
    background-image: url("../images/waves.png");
}

.faq__qr:hover .waves:before,
.faq__qr:focus .waves:before,
.faq__qr:active .waves:before {
    background-image: url("../images/waves.png");
}

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

/* =============================================================================
   Basics texts
============================================================================= */
/* -----------------------------------------------------------------------------
   Fonts
----------------------------------------------------------------------------- */
.font--default {
    font-family: "Roboto", arial, helvetica, sans-serif;
}

.font--alt {
    font-family: arial, helvetica, sans-serif;
}

/* -----------------------------------------------------------------------------
   Texts
----------------------------------------------------------------------------- */
.title-1 {
    margin: 0 0 20px;
    font-weight: normal;
    font-size: 1.6rem;
    color: #403f3f;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-1 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-1 {
        font-size: 2.4rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-1 {
        margin-bottom: 15px;
    }
}

.title-2 {
    margin: 0 0 30px;
    font-weight: normal;
    font-size: 1.3rem;
    text-transform: uppercase;
    color: #a2516b;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-2 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-2 {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .title-2 {
        margin-bottom: 10px;
    }
}

.title-3 {
    margin: 0 0 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 600;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .title-3 {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-3 {
        font-size: 2.4rem;
    }
}

.title-4 {
    margin: 0 0 20px;
    text-align: center;
    background: #a2516b;
    padding: 5px 0;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.6rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-4 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-4 {
        font-size: 2.4rem;
    }
}

.title-5 {
    margin: 20px 0;
    padding: 5px 0;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: normal;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-5 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-5 {
        font-size: 2.4rem;
    }
}

.title-5:first-child {
    margin-top: 0;
}

@media only screen and (max-width: 93.6875em) {
    .title-5 {
        margin: 10px 0;
        padding: 0;
    }
}

.title-6 {
    margin: 10px 0;
    padding: 0;
    color: #a2516b;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: bold;
}

.title-6 a {
    color: #a2516b;
}

.title-6:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-6 {
        font-size: 1.6rem;
        margin: 10px 0;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-6 {
        font-size: 1.8rem;
    }
}

.title-7 {
    margin: 10px 0;
    padding: 0;
    color: #a2516b;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 1px solid #a2516b;
    padding: 0 0 5px;
}

.title-7 a {
    color: #a2516b;
}

.title-7:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-7 {
        font-size: 1.6rem;
        margin: 10px 0;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-7 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-7 {
        padding: 0 0 6px;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-7 {
        padding: 0 0 10px;
    }
}

.title-8 {
    margin: 0;
    font-weight: 600;
    font-size: 1.2rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .title-8 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .title-8 {
        font-size: 1.6rem;
    }
}

.page-title {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 20px;
    color: #a2516b;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .page-title {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .page-title {
        font-size: 2.8rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .page-title {
        padding-right: 50px;
    }
}

.header-title h2 {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 20px;
    color: #a2516b;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .header-title h2 {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .header-title h2 {
        font-size: 2.8rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .header-title h2 {
        padding-right: 50px;
    }
}

.date {
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
    margin: 10px 0;
    color: #502e59;
}

.date:first-child {
    margin-top: 0;
}

@media only screen and (max-width: 47.9375em) {
    .date {
        margin: 0 0 5px;
        letter-spacing: 0;
        font-size: 1rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .date {
        font-size: 1.1rem;
        letter-spacing: 1px;
    }
}

.description {
    font-size: 1.5rem;
    line-height: 1.3;
}

.description *:first-child {
    margin-top: 0;
}

.description *:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .description {
        font-size: 1.3rem;
        line-height: 1.3;
    }
}

.contrib *:first-child {
    margin-top: 0;
}

.contrib *:last-child {
    margin-bottom: 0;
}

.text-size {
    font-size: 1.4rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .text-size {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .text-size {
        font-size: 1.8rem;
    }
}

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

   Reusable classes & mixins for forms.
============================================================================= */
.options__row,
.form__row,
.default-form .form__row {
    position: relative;
    clear: left;
    margin-bottom: 15px;
}

.form__row--inline input {
    display: inline-block;
    width: auto;
}

.label--block {
    display: block;
    float: none;
    text-align: left;
    width: auto;
    margin-bottom: 5px;
}

.label--inline {
    display: inline-block;
    float: none;
    text-align: left;
    width: auto;
    line-height: 1.5;
}

.fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    border: 1px solid #f1f1f1;
    padding: 10px;
}

.fieldset legend {
    padding: 0 10px;
}

.fieldset--invisible {
    margin: 0;
    padding: 0;
    border: 0;
}

.fieldset--invisible legend {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.input--wide {
    display: block;
    width: 100%;
}

.input--inline {
    display: inline-block;
    width: auto;
}

.input--text,
.default-form textarea,
.default-form input[type="tel"],
.default-form input[type="text"],
.default-form input[type="email"],
.default-form input[type="password"] {
    margin: 0;
    max-width: 100%;
    vertical-align: middle;
    font-family: inherit;
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 8px 10px;
    border: 1px solid #c2c2c2;
    border-radius: 0;
    color: #403f3f;
}

.input--text.placeholder,
.default-form textarea.placeholder,
.default-form input.placeholder[type="tel"],
.default-form input.placeholder[type="text"],
.default-form input.placeholder[type="email"],
.default-form input.placeholder[type="password"] {
    opacity: 0.8;
    font-style: normal;
}

.input--text:-moz-placeholder,
.default-form textarea:-moz-placeholder,
.default-form input:-moz-placeholder[type="tel"],
.default-form input:-moz-placeholder[type="text"],
.default-form input:-moz-placeholder[type="email"],
.default-form input:-moz-placeholder[type="password"] {
    opacity: 0.8;
    font-style: normal;
}

.input--text::-moz-placeholder,
.default-form textarea::-moz-placeholder,
.default-form input[type="tel"]::-moz-placeholder,
.default-form input[type="text"]::-moz-placeholder,
.default-form input[type="email"]::-moz-placeholder,
.default-form input[type="password"]::-moz-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.input--text:-ms-input-placeholder,
.default-form textarea:-ms-input-placeholder,
.default-form input:-ms-input-placeholder[type="tel"],
.default-form input:-ms-input-placeholder[type="text"],
.default-form input:-ms-input-placeholder[type="email"],
.default-form input:-ms-input-placeholder[type="password"] {
    opacity: 0.8;
    font-style: normal;
}

.input--text::-webkit-input-placeholder,
.default-form textarea::-webkit-input-placeholder,
.default-form input[type="tel"]::-webkit-input-placeholder,
.default-form input[type="text"]::-webkit-input-placeholder,
.default-form input[type="email"]::-webkit-input-placeholder,
.default-form input[type="password"]::-webkit-input-placeholder {
    opacity: 0.8;
    font-style: normal;
}

@media only screen and (max-width: 93.6875em) {

    .input--text,
    .default-form textarea,
    .default-form input[type="tel"],
    .default-form input[type="text"],
    .default-form input[type="email"],
    .default-form input[type="password"] {
        padding: 6px 10px;
    }
}

.input--text::-webkit-outer-spin-button,
.default-form textarea::-webkit-outer-spin-button,
.default-form input[type="tel"]::-webkit-outer-spin-button,
.default-form input[type="text"]::-webkit-outer-spin-button,
.default-form input[type="email"]::-webkit-outer-spin-button,
.default-form input[type="password"]::-webkit-outer-spin-button,
.input--text::-webkit-inner-spin-button,
.default-form textarea::-webkit-inner-spin-button,
.default-form input[type="tel"]::-webkit-inner-spin-button,
.default-form input[type="text"]::-webkit-inner-spin-button,
.default-form input[type="email"]::-webkit-inner-spin-button,
.default-form input[type="password"]::-webkit-inner-spin-button {
    display: none;
}

.input--text[type='number'],
.default-form textarea[type='number'],
.default-form input[type='number'][type="tel"],
.default-form input[type='number'][type="text"],
.default-form input[type='number'][type="email"],
.default-form input[type='number'][type="password"] {
    -moz-appearance: textfield;
    line-height: 1.8rem;
}

.input--textarea {
    margin: 0;
    max-width: 100%;
    vertical-align: middle;
    font-family: inherit;
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 8px 10px;
    border: 1px solid #c2c2c2;
    border-radius: 0;
    color: #403f3f;
    min-height: 5em;
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

.input--textarea.placeholder {
    opacity: 0.8;
    font-style: normal;
}

.input--textarea:-moz-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.input--textarea::-moz-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.input--textarea:-ms-input-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.input--textarea::-webkit-input-placeholder {
    opacity: 0.8;
    font-style: normal;
}

@media only screen and (max-width: 93.6875em) {
    .input--textarea {
        padding: 6px 10px;
    }
}

.input--textarea::-webkit-outer-spin-button,
.input--textarea::-webkit-inner-spin-button {
    display: none;
}

.input--textarea[type='number'] {
    -moz-appearance: textfield;
    line-height: 1.8rem;
}

.input--checkbox:not(:checked),
.default-form input:not(:checked)[type="checkbox"],
.input--checkbox:checked,
.default-form input:checked[type="checkbox"] {
    position: absolute;
    left: -9999px;
}

.input--checkbox:not(:checked)+label,
.default-form input:not(:checked)[type="checkbox"]+label,
.input--checkbox:checked+label,
.default-form input:checked[type="checkbox"]+label {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    padding-left: 22px;
    line-height: 1.6;
    font-size: 1.4rem;
}

@media only screen and (min-width: 48em) {

    .input--checkbox:not(:checked)+label,
    .default-form input:not(:checked)[type="checkbox"]+label,
    .input--checkbox:checked+label,
    .default-form input:checked[type="checkbox"]+label {
        padding-left: 26px;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .input--checkbox:not(:checked)+label,
    .default-form input:not(:checked)[type="checkbox"]+label,
    .input--checkbox:checked+label,
    .default-form input:checked[type="checkbox"]+label {
        line-height: 1.8;
    }
}

@media only screen and (min-width: 93.75em) {

    .input--checkbox:not(:checked)+label,
    .default-form input:not(:checked)[type="checkbox"]+label,
    .input--checkbox:checked+label,
    .default-form input:checked[type="checkbox"]+label {
        padding-left: 30px;
        font-size: 1.6rem;
        line-height: 1.5;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .filters__tree ul .input--checkbox:not(:checked)+label,
    .filters__tree ul .default-form input:not(:checked)[type="checkbox"]+label,
    .default-form .filters__tree ul input:not(:checked)[type="checkbox"]+label,
    .filters__tree ul .input--checkbox:checked+label,
    .filters__tree ul .default-form input:checked[type="checkbox"]+label,
    .default-form .filters__tree ul input:checked[type="checkbox"]+label {
        font-size: 1.2rem;
        line-height: 1.9;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .form--home .input--checkbox:not(:checked)+label,
    .form--home .default-form input:not(:checked)[type="checkbox"]+label,
    .default-form .form--home input:not(:checked)[type="checkbox"]+label,
    .form--home .input--checkbox:checked+label,
    .form--home .default-form input:checked[type="checkbox"]+label,
    .default-form .form--home input:checked[type="checkbox"]+label {
        font-size: 1.6rem;
        line-height: 1.5;
    }
}

@media only screen and (min-width: 93.75em) {

    .form--home .input--checkbox:not(:checked)+label,
    .form--home .default-form input:not(:checked)[type="checkbox"]+label,
    .default-form .form--home input:not(:checked)[type="checkbox"]+label,
    .form--home .input--checkbox:checked+label,
    .form--home .default-form input:checked[type="checkbox"]+label,
    .default-form .form--home input:checked[type="checkbox"]+label {
        font-size: 1.8rem;
        line-height: 1.4;
    }
}

.input--checkbox:not(:checked)+label:before,
.default-form input:not(:checked)[type="checkbox"]+label:before,
.input--checkbox:checked+label:before,
.default-form input:checked[type="checkbox"]+label:before {
    content: '';
    position: absolute;
    left: 2px;
    top: 2px;
    width: 16px;
    height: 16px;
    border: 1px solid #3e3e3e;
    background: #fff;
}

@media only screen and (min-width: 48em) {

    .input--checkbox:not(:checked)+label:before,
    .default-form input:not(:checked)[type="checkbox"]+label:before,
    .input--checkbox:checked+label:before,
    .default-form input:checked[type="checkbox"]+label:before {
        width: 20px;
        height: 20px;
    }
}

.input--checkbox:not(:checked)+label:hover:before,
.default-form input:not(:checked)[type="checkbox"]+label:hover:before,
.input--checkbox:checked+label:hover:before,
.default-form input:checked[type="checkbox"]+label:hover:before {
    background-color: #f4f4f4;
}

.input--checkbox:not(:checked)+label:after,
.default-form input:not(:checked)[type="checkbox"]+label:after,
.input--checkbox:checked+label:after,
.default-form input:checked[type="checkbox"]+label:after {
    content: '';
    background-image: url(../images/sprites.png);
    background-position: -268px -39px;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 5px;
    left: 7px;
    line-height: 1.2;
    -webkit-animation-name: check;
    animation-name: check;
    -webkit-animation-duration: 300ms;
    animation-duration: 300ms;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@media only screen and (max-width: 47.9375em) {

    .input--checkbox:not(:checked)+label:after,
    .default-form input:not(:checked)[type="checkbox"]+label:after,
    .input--checkbox:checked+label:after,
    .default-form input:checked[type="checkbox"]+label:after {
        top: 4px;
        left: 4px;
    }
}

.input--checkbox:not(:checked):focus+label,
.default-form input:not(:checked):focus[type="checkbox"]+label,
.input--checkbox:checked:focus+label,
.default-form input:checked:focus[type="checkbox"]+label {
    outline: 1px solid #3e3e3e;
}

.input--checkbox:not(:checked)+label:after,
.default-form input:not(:checked)[type="checkbox"]+label:after {
    display: none;
}

.input--checkbox:checked+label,
.default-form input:checked[type="checkbox"]+label {
    font-weight: bold;
}

.input--checkbox:checked+label:after,
.default-form input:checked[type="checkbox"]+label:after {
    display: block;
}

.input--checkbox[disabled]:not(:checked)+label,
.default-form input[disabled]:not(:checked)[type="checkbox"]+label,
.input--checkbox[disabled]:checked+label,
.default-form input[disabled]:checked[type="checkbox"]+label {
    color: #3e3e3e;
}

.input--checkbox[disabled]:not(:checked)+label:before,
.default-form input[disabled]:not(:checked)[type="checkbox"]+label:before,
.input--checkbox[disabled]:checked+label:before,
.default-form input[disabled]:checked[type="checkbox"]+label:before {
    background-color: #ccc;
}

.input--checkbox[disabled]:not(:checked)+label:after,
.default-form input[disabled]:not(:checked)[type="checkbox"]+label:after,
.input--checkbox[disabled]:checked+label:after,
.default-form input[disabled]:checked[type="checkbox"]+label:after {
    opacity: 0.8;
}

.input--checkbox:not(:checked)+label.checkbox-right,
.default-form input:not(:checked)[type="checkbox"]+label.checkbox-right,
.input--checkbox:checked+label.checkbox-right,
.default-form input:checked[type="checkbox"]+label.checkbox-right {
    padding-left: 0;
    padding-right: 20px;
}

.input--checkbox:not(:checked)+label.checkbox-right:before,
.default-form input:not(:checked)[type="checkbox"]+label.checkbox-right:before,
.input--checkbox:checked+label.checkbox-right:before,
.default-form input:checked[type="checkbox"]+label.checkbox-right:before {
    left: auto;
    right: 0;
}

.input--checkbox:not(:checked)+label.checkbox-right:after,
.default-form input:not(:checked)[type="checkbox"]+label.checkbox-right:after,
.input--checkbox:checked+label.checkbox-right:after,
.default-form input:checked[type="checkbox"]+label.checkbox-right:after {
    left: auto;
    right: 2px;
}

.input--checkbox:not(:checked)+label.label-hidden,
.default-form input:not(:checked)[type="checkbox"]+label.label-hidden,
.input--checkbox:checked+label.label-hidden,
.default-form input:checked[type="checkbox"]+label.label-hidden {
    margin-right: 0;
}

.input--checkbox:not(:checked)+label.label-hidden span,
.default-form input:not(:checked)[type="checkbox"]+label.label-hidden span,
.input--checkbox:checked+label.label-hidden span,
.default-form input:checked[type="checkbox"]+label.label-hidden span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

@-webkit-keyframes check {
    from {
        -webkit-transform: scale(0);
        transform: scale(0);
        border-radius: 50%;
    }

    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        border-radius: 50%;
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        border-radius: 2px;
    }
}

@keyframes check {
    from {
        -webkit-transform: scale(0);
        transform: scale(0);
        border-radius: 50%;
    }

    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        border-radius: 50%;
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        border-radius: 2px;
    }
}

.input--radio:not(:checked),
.default-form .options__group :not(:checked)[type="radio"],
.input--radio:checked,
.default-form .options__group :checked[type="radio"] {
    position: absolute;
    left: -9999px;
}

.input--radio:not(:checked)+label,
.default-form .options__group :not(:checked)[type="radio"]+label,
.input--radio:checked+label,
.default-form .options__group :checked[type="radio"]+label {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    padding-left: 22px;
    line-height: 1.6;
    font-size: 1.4rem;
}

@media only screen and (min-width: 48em) {

    .input--radio:not(:checked)+label,
    .default-form .options__group :not(:checked)[type="radio"]+label,
    .input--radio:checked+label,
    .default-form .options__group :checked[type="radio"]+label {
        padding-left: 26px;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .input--radio:not(:checked)+label,
    .default-form .options__group :not(:checked)[type="radio"]+label,
    .input--radio:checked+label,
    .default-form .options__group :checked[type="radio"]+label {
        line-height: 1.8;
    }
}

@media only screen and (min-width: 93.75em) {

    .input--radio:not(:checked)+label,
    .default-form .options__group :not(:checked)[type="radio"]+label,
    .input--radio:checked+label,
    .default-form .options__group :checked[type="radio"]+label {
        padding-left: 30px;
        font-size: 1.6rem;
        line-height: 1.5;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .filters__tree ul .input--radio:not(:checked)+label,
    .filters__tree ul .default-form .options__group :not(:checked)[type="radio"]+label,
    .default-form .options__group .filters__tree ul :not(:checked)[type="radio"]+label,
    .filters__tree ul .input--radio:checked+label,
    .filters__tree ul .default-form .options__group :checked[type="radio"]+label,
    .default-form .options__group .filters__tree ul :checked[type="radio"]+label {
        font-size: 1.2rem;
        line-height: 1.9;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .form--home .input--radio:not(:checked)+label,
    .form--home .default-form .options__group :not(:checked)[type="radio"]+label,
    .default-form .options__group .form--home :not(:checked)[type="radio"]+label,
    .form--home .input--radio:checked+label,
    .form--home .default-form .options__group :checked[type="radio"]+label,
    .default-form .options__group .form--home :checked[type="radio"]+label {
        font-size: 1.6rem;
        line-height: 1.5;
    }
}

@media only screen and (min-width: 93.75em) {

    .form--home .input--radio:not(:checked)+label,
    .form--home .default-form .options__group :not(:checked)[type="radio"]+label,
    .default-form .options__group .form--home :not(:checked)[type="radio"]+label,
    .form--home .input--radio:checked+label,
    .form--home .default-form .options__group :checked[type="radio"]+label,
    .default-form .options__group .form--home :checked[type="radio"]+label {
        font-size: 1.8rem;
        line-height: 1.4;
    }
}

.input--radio:not(:checked)+label:before,
.default-form .options__group :not(:checked)[type="radio"]+label:before,
.input--radio:checked+label:before,
.default-form .options__group :checked[type="radio"]+label:before {
    content: '';
    position: absolute;
    left: 2px;
    top: 2px;
    width: 16px;
    height: 16px;
    border: 1px solid #3e3e3e;
    background: #fff;
}

@media only screen and (min-width: 48em) {

    .input--radio:not(:checked)+label:before,
    .default-form .options__group :not(:checked)[type="radio"]+label:before,
    .input--radio:checked+label:before,
    .default-form .options__group :checked[type="radio"]+label:before {
        width: 20px;
        height: 20px;
    }
}

.input--radio:not(:checked)+label:hover:before,
.default-form .options__group :not(:checked)[type="radio"]+label:hover:before,
.input--radio:checked+label:hover:before,
.default-form .options__group :checked[type="radio"]+label:hover:before {
    background-color: #f4f4f4;
}

.input--radio:not(:checked)+label:after,
.default-form .options__group :not(:checked)[type="radio"]+label:after,
.input--radio:checked+label:after,
.default-form .options__group :checked[type="radio"]+label:after {
    content: '';
    background-image: url(../images/sprites.png);
    background-position: -268px -39px;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 5px;
    left: 7px;
    line-height: 1.2;
    -webkit-animation-name: check;
    animation-name: check;
    -webkit-animation-duration: 300ms;
    animation-duration: 300ms;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@media only screen and (max-width: 47.9375em) {

    .input--radio:not(:checked)+label:after,
    .default-form .options__group :not(:checked)[type="radio"]+label:after,
    .input--radio:checked+label:after,
    .default-form .options__group :checked[type="radio"]+label:after {
        top: 4px;
        left: 4px;
    }
}

.input--radio:not(:checked):focus+label,
.default-form .options__group :not(:checked):focus[type="radio"]+label,
.input--radio:checked:focus+label,
.default-form .options__group :checked:focus[type="radio"]+label {
    outline: 1px solid #3e3e3e;
}

.input--radio:not(:checked)+label:after,
.default-form .options__group :not(:checked)[type="radio"]+label:after {
    display: none;
}

.input--radio:checked+label,
.default-form .options__group :checked[type="radio"]+label {
    font-weight: bold;
}

.input--radio:checked+label:after,
.default-form .options__group :checked[type="radio"]+label:after {
    display: block;
}

.input--radio[disabled]:not(:checked)+label,
.default-form .options__group [disabled]:not(:checked)[type="radio"]+label,
.input--radio[disabled]:checked+label,
.default-form .options__group [disabled]:checked[type="radio"]+label {
    color: #3e3e3e;
}

.input--radio[disabled]:not(:checked)+label:before,
.default-form .options__group [disabled]:not(:checked)[type="radio"]+label:before,
.input--radio[disabled]:checked+label:before,
.default-form .options__group [disabled]:checked[type="radio"]+label:before {
    background-color: #ccc;
}

.input--radio[disabled]:not(:checked)+label:after,
.default-form .options__group [disabled]:not(:checked)[type="radio"]+label:after,
.input--radio[disabled]:checked+label:after,
.default-form .options__group [disabled]:checked[type="radio"]+label:after {
    opacity: 0.8;
}

.input--radio:not(:checked)+label.checkbox-right,
.default-form .options__group :not(:checked)[type="radio"]+label.checkbox-right,
.input--radio:checked+label.checkbox-right,
.default-form .options__group :checked[type="radio"]+label.checkbox-right {
    padding-left: 0;
    padding-right: 20px;
}

.input--radio:not(:checked)+label.checkbox-right:before,
.default-form .options__group :not(:checked)[type="radio"]+label.checkbox-right:before,
.input--radio:checked+label.checkbox-right:before,
.default-form .options__group :checked[type="radio"]+label.checkbox-right:before {
    left: auto;
    right: 0;
}

.input--radio:not(:checked)+label.checkbox-right:after,
.default-form .options__group :not(:checked)[type="radio"]+label.checkbox-right:after,
.input--radio:checked+label.checkbox-right:after,
.default-form .options__group :checked[type="radio"]+label.checkbox-right:after {
    left: auto;
    right: 2px;
}

.input--radio:not(:checked)+label.label-hidden,
.default-form .options__group :not(:checked)[type="radio"]+label.label-hidden,
.input--radio:checked+label.label-hidden,
.default-form .options__group :checked[type="radio"]+label.label-hidden {
    margin-right: 0;
}

.input--radio:not(:checked)+label.label-hidden span,
.default-form .options__group :not(:checked)[type="radio"]+label.label-hidden span,
.input--radio:checked+label.label-hidden span,
.default-form .options__group :checked[type="radio"]+label.label-hidden span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

@keyframes check {
    from {
        -webkit-transform: scale(0);
        transform: scale(0);
        border-radius: 50%;
    }

    50% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        border-radius: 50%;
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
        border-radius: 2px;
    }
}

.input--radio:not(:checked)+label:before,
.default-form .options__group :not(:checked)[type="radio"]+label:before,
.input--radio:checked+label:before,
.default-form .options__group :checked[type="radio"]+label:before {
    border-radius: 50%;
}

.input--radio:not(:checked)+label:after,
.default-form .options__group :not(:checked)[type="radio"]+label:after,
.input--radio:checked+label:after,
.default-form .options__group :checked[type="radio"]+label:after {
    top: 7px;
    width: 10px;
    height: 10px;
    background: #75a402;
    border-radius: 50%;
    -webkit-animation-name: check-radio;
    animation-name: check-radio;
}

@media only screen and (max-width: 47.9375em) {

    .input--radio:not(:checked)+label:after,
    .default-form .options__group :not(:checked)[type="radio"]+label:after,
    .input--radio:checked+label:after,
    .default-form .options__group :checked[type="radio"]+label:after {
        top: 5px;
        left: 5px;
    }
}

.input--radio:not(:checked):hover:before,
.default-form .options__group [type="radio"]:not(:checked):hover:before,
.input--radio:checked:hover:before,
.default-form .options__group [type="radio"]:checked:hover:before {
    background-color: #f4f4f4;
}

.input--radio:not(:checked):hover:after,
.default-form .options__group [type="radio"]:not(:checked):hover:after,
.input--radio:checked:hover:after,
.default-form .options__group [type="radio"]:checked:hover:after {
    background-color: #638b02;
}

.input--radio:checked+label,
.default-form .options__group :checked[type="radio"]+label {
    font-weight: normal;
}

@-webkit-keyframes check-radio {
    from {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes check-radio {
    from {
        -webkit-transform: scale(0);
        transform: scale(0);
    }

    50% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.input--select,
.default-form select {
    display: inline-block;
    vertical-align: middle;
    background: none;
    max-width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0 25px 0 0;
    border: 0;
    border-bottom: 2px solid #5d5d5d;
    border-radius: 0;
    color: #403f3f;
    background-image: url("../images/arrow-green-s.png");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    font-weight: 300;
    font-size: 1.6rem;
    height: 3rem;
    font-family: "Roboto", arial, helvetica, sans-serif;
    cursor: pointer;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    font-style: italic;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .input--select,
    .default-form select {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .input--select,
    .default-form select {
        font-size: 2rem;
    }
}

.input--select:hover,
.default-form select:hover,
.input--select:focus,
.default-form select:focus,
.input--select:active,
.default-form select:active {
    border-color: #75a402;
}

.input--select::-ms-expand,
.default-form select::-ms-expand {
    display: none;
}

.input--select option,
.default-form select option {
    font-size: 1.4rem;
}

.input--select.select--is-filled,
.default-form select.select--is-filled {
    font-weight: bold;
    font-style: normal;
}

@media only screen and (max-width: 47.9375em) {

    .form--perimetre .input--select,
    .form--perimetre .default-form select,
    .default-form .form--perimetre select {
        font-size: 1.2rem;
        height: 2.5rem;
        padding-top: 2px;
    }
}

.input--select[disabled],
.default-form select[disabled] {
    opacity: 0.3;
    cursor: not-allowed;
}

.form__btn-wrap {
    display: flow-root;
}

.form__btn-wrap:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width: 47.9375em) {
    .form__btn-wrap .big-btn {
        margin-bottom: 10px;
    }
}

.fake-select {
    display: inline-block;
    vertical-align: middle;
    background: none;
    max-width: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 0 25px 0 0;
    border: 0;
    border-bottom: 2px solid #5d5d5d;
    border-radius: 0;
    color: #403f3f;
    background-image: url("../images/arrow-green-s.png");
    background-repeat: no-repeat;
    background-position: 100% 50%;
    font-weight: 300;
    font-size: 1.6rem;
    height: 3rem;
    font-family: "Roboto", arial, helvetica, sans-serif;
    cursor: pointer;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    font-style: italic;
    font-style: italic;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .fake-select {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .fake-select {
        font-size: 2rem;
    }
}

.fake-select:hover,
.fake-select:focus,
.fake-select:active {
    border-color: #75a402;
}

.fake-select::-ms-expand {
    display: none;
}

.fake-select option {
    font-size: 1.4rem;
}

.fake-select.select--is-filled {
    font-weight: bold;
    font-style: normal;
}

@media only screen and (max-width: 47.9375em) {
    .form--perimetre .fake-select {
        font-size: 1.2rem;
        height: 2.5rem;
        padding-top: 2px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .fake-select {
        font-size: 1.2rem;
    }
}

.fake-select.is-filled {
    font-style: normal;
    font-weight: bold;
}

.pop--contact-2 .fake-select {
    display: block;
    width: 100%;
    text-align: left;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.format-date {
    width: 150px;
}

.format-date-xx {
    width: 55px;
}

.format-date-xxxx {
    width: 70px;
}

select+select {
    margin-left: 10px;
}

.btn,
.default-form .form__submit {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: #a2516b;
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    text-transform: uppercase;
    padding: 0 20px;
    letter-spacing: 1px;
}

.btn:hover,
.default-form .form__submit:hover,
.btn:focus,
.default-form .form__submit:focus,
.btn:active,
.default-form .form__submit:active {
    text-decoration: none;
}

.btn:hover,
.default-form .form__submit:hover,
.btn:focus,
.default-form .form__submit:focus,
.btn:active,
.default-form .form__submit:active {
    background-color: #af5e78;
}

.btn:active,
.default-form .form__submit:active {
    color: #f4f4f4;
}

@media only screen and (min-width: 82.5em) {

    .btn,
    .default-form .form__submit {
        font-size: 1.8rem;
    }
}

.btn[disabled="disabled"],
.default-form .form__submit[disabled="disabled"] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn--wide {
    display: block;
    width: 100%;
    float: none;
    text-align: center;
    padding: 10px;
}

@media only screen and (min-width: 82.5em) {
    .btn--wide {
        padding: 15px;
    }
}

.btn-border {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: none;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 20px;
    letter-spacing: 1px;
    border: 1px solid #a2516b;
}

.btn-border:hover,
.btn-border:focus,
.btn-border:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .btn-border {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .btn-border {
        font-size: 2rem;
    }
}

.btn-border.active {
    background-color: #a2516b;
    color: #fff;
}

.btn-border.btn-border--small {
    padding: 5px 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .btn-border.btn-border--small {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .btn-border.btn-border--small {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .btn-border.btn-border--small {
        padding: 5px 5px;
        font-size: 1.2rem;
    }
}

.btn-border:hover,
.btn-border:focus,
.btn-border:active {
    background-color: #af5e78;
    color: #fff;
}

.item-button,
.btn-black,
.tc_InsertConsent_AllowBtn {
    display: inline-block;
    vertical-align: middle;
    background-color: #3e3e3e;
    font-weight: bold;
    padding: 0 20px;
    min-height: 6rem;
    line-height: 6rem;
    /*max-width: 210px;*/
    /*font-size: 1.6rem;*/
    font-size: 1.4rem;
    color: #fff;
    text-align: left;
    text-transform: uppercase;
    border: 0;
    cursor: pointer;
    text-decoration: none !important;
    text-indent: 0;
}

@media only screen and (max-width: 63.9375em) {

    .item-button,
    .btn-black,
    .tc_InsertConsent_AllowBtn {
        /*max-width: 180px;*/
        font-size: 1.4rem;
        padding: 0 10px;
    }
}

.item-button:hover,
.item-button:focus,
.item-button:active,
.btn-black:hover,
.btn-black:focus,
.btn-black:active,
.tc_InsertConsent_AllowBtn:hover,
.tc_InsertConsent_AllowBtn:focus,
.tc_InsertConsent_AllowBtn:active {
    text-decoration: none !important;
    background: #a2516b;
}

.item-button span,
.btn-black span,
.tc_InsertConsent_AllowBtn span {
    display: inline-block;
    vertical-align: middle;
    line-height: 1.2;
}

.item-button img,
.btn-black img,
.tc_InsertConsent_AllowBtn img {
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.btn-cta {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: #dbdf71;
    color: #3e3e3e;
    font-size: 1.6rem;
    font-weight: normal;
    text-transform: uppercase;
    padding: 20px 40px;
    display: inline-block;
    vertical-align: middle;
    -webkit-box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.3);
}

.btn-cta:hover,
.btn-cta:focus,
.btn-cta:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .btn-cta {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .btn-cta {
        font-size: 2rem;
    }
}

.btn-cta[disabled="disabled"] {
    opacity: 0.5;
}

.btn-cta:hover,
.btn-cta:focus,
.btn-cta:active {
    background-color: #e0e486;
}

.btn-cta--small {
    padding: 10px 20px;
    font-size: 1.5rem;
}

.btn-brand {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background-color: #a2516b;
    font-weight: normal;
    padding: 2px 10px;
    font-size: 1.3rem;
    color: #fff;
}

.btn-brand:hover,
.btn-brand:focus,
.btn-brand:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .btn-brand {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .btn-brand {
        font-size: 1.6rem;
    }
}

.btn-brand:hover,
.btn-brand:focus,
.btn-brand:active {
    background: #af5e78;
}

.big-btn {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background-color: #a2516b;
    font-weight: normal;
    padding: 14px 30px;
    font-size: 1.3rem;
    color: #fff;
    text-transform: uppercase;
}

.big-btn:hover,
.big-btn:focus,
.big-btn:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .big-btn {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .big-btn {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 74.9375em) {
    .big-btn {
        padding: 10px 15px;
    }
}

.big-btn:hover,
.big-btn:focus,
.big-btn:active {
    background: #af5e78;
}

.big-btn[disabled] {
    opacity: 0.6;
}

.big-btn--next {
    float: right;
}

.big-btn--next:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-left: 20px;
    background-image: url(../images/sprites.png);
    background-position: -191px -31px;
    width: 17px;
    height: 33px;
}

.btn--next:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-left: 20px;
    background-image: url(../images/sprites.png);
    background-position: -191px -31px;
    width: 17px;
    height: 33px;
}

.big-btn--prev {
    float: left;
}

.big-btn--prev:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -191px -31px;
    width: 17px;
    height: 33px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.big-btn--black {
    background: #3e3e3e;
}

.btn--black {
    background-color: #3e3e3e;
}

.btn--black:hover,
.btn--black:focus,
.btn--black:active {
    background-color: #fff;
    color: #3e3e3e;
}

.btn--black:hover:before,
.btn--black:focus:before,
.btn--black:active:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid #3e3e3e;
}

.btn-black--calendar:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -101px 0px;
    width: 50px;
    height: 37px;
}

.btn-black--calendar--small:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -27px -207px;
    width: 20px;
    height: 15px;
}

.btn-black--rdv:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -101px -42px;
    width: 39px;
    height: 44px;
}

.btn-black--rdv--small:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -219px 0px;
    width: 20px;
    height: 23px;
}

.item-button,
.grid--article article .item-button,
.aside-contrib .item-button,
.btn-black--small {
    padding: 0 10px;
    min-height: 4rem;
    line-height: 4rem;
    /*max-width: 210px;*/
    font-size: 1.4rem;
}

.item-button:before,
.grid--article article .item-button:before,
.aside-contrib .item-button:before,
.btn-black--small:before {
    margin-right: 10px;
}

.btn-black--map:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: 0px -101px;
    width: 31px;
    height: 44px;
}

.btn-black--tel-white:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px;
    background-image: url(../images/sprites.png);
    background-position: -156px 0px;
    width: 30px;
    height: 30px;
}

.btn-black--tel-white:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    background-image: url(../images/sprites.png);
    background-position: -139px -101px;
    width: 10px;
    height: 20px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.btn--large {
    padding: 15px 30px;
}

@media only screen and (max-width: 47.9375em) {
    .btn--large {
        padding: 5px 15px;
    }
}

.form__calendars {
    margin-top: 20px;
}

.tooltip {
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    display: inline-block;
    vertical-align: middle;
}

.tooltip img {
    display: block;
}

.tooltip__panel {
    display: none;
    position: absolute;
    background: #dbdf71;
    padding: 15px;
    z-index: 10;
    width: 300px;
}

.tooltip__panel:before {
    content: '';
    position: absolute;
    right: 10px;
    top: calc(100% - 12px);
    height: 0;
    width: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 12px solid #dbdf71;
}

.tooltip__close {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    position: absolute;
    right: 0;
    top: 0;
    padding: 10px;
    cursor: pointer;
}

.tooltip__content {
    font-size: 1.2rem;
    line-height: 1.3;
    text-align: left;
    padding-right: 20px;
}

.tooltip__content *:first-child {
    margin-top: 0;
}

.tooltip__content *:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .tooltip__content {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .tooltip__content {
        font-size: 1.4rem;
    }
}

.tooltip__content ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 30px;
    text-indent: -15px;
    margin-top: 0;
    margin-left: 15px;
}

.tooltip__content ul:first-child {
    margin-top: 0;
}

.tooltip__content ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 93.75em) {
    .tooltip__content ul {
        text-indent: -17px;
    }
}

.tooltip__content ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

.tooltip__content ul li li:before {
    border: 1px solid #a2516b;
    background-color: transparent;
}

@media only screen and (max-width: 93.6875em) {
    .tooltip__content ul li:before {
        margin-right: 10px;
    }
}

.tel-sva {
    display: table;
    vertical-align: middle;
    border: 1px solid #000;
    background: #fff;
    padding: 0 3px;
    color: #000;
    font-family: arial, helvetica, sans-serif;
    height: 3.1rem;
    line-height: 2.9rem;
    text-decoration: none !important;
    letter-spacing: -0.2px;
}

.tel-sva+.tel-sva {
    margin-top: 10px;
}

.tel-sva__num {
    display: table-cell;
    white-space: nowrap;
    vertical-align: middle;
    font-weight: bold;
    height: 2.9rem;
    font-size: 2rem;
    line-height: 1.4;
    margin-right: 0;
    padding-right: 3px;
}

.tel-sva--long .tel-sva__num {
    font-size: 1.6rem;
    line-height: 1.8;
}

.tel-sva__info {
    height: 2.9rem;
    background: #000;
    display: table-cell;
    vertical-align: middle;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.1;
    font-family: "Roboto", arial, helvetica, sans-serif;
    padding: 0 5px 0 10px;
    position: relative;
    top: 0;
}

.tel-sva__info:before {
    content: '';
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
    height: 0;
    width: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #fff;
}

.tel-sva--grey {
    border-color: #767676;
    color: #767676;
}

.tel-sva--grey .tel-sva__info {
    background: #767676;
}

.tel-sva--green {
    border-color: #78b41e;
    color: #78b41e;
}

.tel-sva--green .tel-sva__info {
    background: #78b41e;
}

.tel-sva--purple {
    border-color: #a50f78;
    color: #a50f78;
}

.tel-sva--purple .tel-sva__info {
    background: #a50f78;
}

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
    display: none;
}

.ui-helper-hidden-accessible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.ui-helper-reset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    line-height: 1.3;
    text-decoration: none;
    font-size: 100%;
    list-style: none;
}

.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
    content: "";
    display: table;
    border-collapse: collapse;
}

.ui-helper-clearfix:after {
    clear: both;
}

.ui-helper-clearfix {
    min-height: 0;
    /* support: IE7 */
}

.ui-helper-zfix {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    opacity: 0;
    filter: Alpha(Opacity=0);
    /* support: IE8 */
}

.ui-front {
    z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
    cursor: default !important;
}

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
    display: block;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ui-datepicker {
    width: 17em;
    padding: .2em .2em 0;
    display: none;
}

.ui-datepicker .ui-datepicker-header {
    position: relative;
    padding: .2em 0;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    position: absolute;
    top: 2px;
    width: 1.8em;
    height: 1.8em;
}

.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
    top: 1px;
}

.ui-datepicker .ui-datepicker-prev {
    left: 2px;
}

.ui-datepicker .ui-datepicker-next {
    right: 2px;
}

.ui-datepicker .ui-datepicker-prev-hover {
    left: 1px;
}

.ui-datepicker .ui-datepicker-next-hover {
    right: 1px;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -8px;
    top: 50%;
    margin-top: -8px;
}

.ui-datepicker .ui-datepicker-title {
    margin: 0 2.3em;
    line-height: 1.8em;
    text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
    font-size: 1em;
    margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: 45%;
}

.ui-datepicker table {
    width: 100%;
    font-size: .9em;
    border-collapse: collapse;
    margin: 0 0 .4em;
}

.ui-datepicker th {
    padding: .7em .3em;
    text-align: center;
    font-weight: bold;
    border: 0;
}

.ui-datepicker td {
    border: 0;
    padding: 1px;
}

.ui-datepicker td span,
.ui-datepicker td a {
    display: block;
    padding: .2em;
    text-align: right;
    text-decoration: none;
}

.ui-datepicker .ui-datepicker-buttonpane {
    background-image: none;
    margin: .7em 0 0 0;
    padding: 0 .2em;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    float: right;
    margin: .5em .2em .4em;
    cursor: pointer;
    padding: .2em .6em .3em .6em;
    width: auto;
    overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
    float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
    width: auto;
}

.ui-datepicker-multi .ui-datepicker-group {
    float: left;
}

.ui-datepicker-multi .ui-datepicker-group table {
    width: 95%;
    margin: 0 auto .4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
    width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
    width: 33.3%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
    width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
    border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
    clear: left;
}

.ui-datepicker-row-break {
    clear: both;
    width: 100%;
    font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
    direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev {
    right: 2px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next {
    left: 2px;
    right: auto;
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
    right: 1px;
    left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
    left: 1px;
    right: auto;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
    clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
    float: left;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
    float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
    border-right-width: 0;
    border-left-width: 1px;
}

.ui-slider {
    position: relative;
    text-align: left;
}

.ui-slider .ui-slider-handle {
    position: absolute;
    z-index: 2;
    width: 1.2em;
    height: 1.2em;
    cursor: default;
    -ms-touch-action: none;
    touch-action: none;
}

.ui-slider .ui-slider-range {
    position: absolute;
    z-index: 1;
    font-size: .7em;
    display: block;
    border: 0;
    background-position: 0 0;
}

/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
    -webkit-filter: inherit;
    filter: inherit;
}

.ui-slider-horizontal {
    height: .8em;
}

.ui-slider-horizontal .ui-slider-handle {
    top: -.3em;
    margin-left: -.6em;
}

.ui-slider-horizontal .ui-slider-range {
    top: 0;
    height: 100%;
}

.ui-slider-horizontal .ui-slider-range-min {
    left: 0;
}

.ui-slider-horizontal .ui-slider-range-max {
    right: 0;
}

.ui-slider-vertical {
    width: .8em;
    height: 100px;
}

.ui-slider-vertical .ui-slider-handle {
    left: -.3em;
    margin-left: 0;
    margin-bottom: -.6em;
}

.ui-slider-vertical .ui-slider-range {
    left: 0;
    width: 100%;
}

.ui-slider-vertical .ui-slider-range-min {
    bottom: 0;
}

.ui-slider-vertical .ui-slider-range-max {
    top: 0;
}

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 *
 * To view and modify this theme, visit http://jqueryui.com/themeroller/
 */
/* Component containers
----------------------------------*/
.ui-widget {
    font-family: Verdana, Arial, sans-serif;
    font-size: 1.1em;
}

.ui-widget .ui-widget {
    font-size: 1em;
}

.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
    font-family: Verdana, Arial, sans-serif;
    font-size: 1em;
}

.ui-widget-content {
    border: 1px solid #aaaaaa;
    background: #ffffff;
    color: #222222;
}

.ui-widget-content a {
    color: #222222;
}

.ui-widget-header {
    border: 1px solid #aaaaaa;
    background: #cccccc url("../images/jquery-ui/ui-bg_highlight-soft_75_cccccc_1x100.png") 50% 50% repeat-x;
    color: #222222;
    font-weight: bold;
}

.ui-widget-header a {
    color: #222222;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
    border: 1px solid #d3d3d3;
    background: #e6e6e6 url("../images/jquery-ui/ui-bg_glass_75_e6e6e6_1x400.png") 50% 50% repeat-x;
    font-weight: normal;
    color: #555555;
}

.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
    color: #555555;
    text-decoration: none;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
    border: 1px solid #999999;
    background: #dadada url("../images/jquery-ui/ui-bg_glass_75_dadada_1x400.png") 50% 50% repeat-x;
    font-weight: normal;
    color: #212121;
}

.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited {
    color: #212121;
    text-decoration: none;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
    border: 1px solid #aaaaaa;
    background: #ffffff url("../images/jquery-ui/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;
    font-weight: normal;
    color: #212121;
}

.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
    color: #212121;
    text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
    border: 1px solid #fcefa1;
    background: #fbf9ee url("../images/jquery-ui/ui-bg_glass_55_fbf9ee_1x400.png") 50% 50% repeat-x;
    color: #363636;
}

.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
    color: #363636;
}

.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
    border: 1px solid #cd0a0a;
    background: #fef1ec url("../images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png") 50% 50% repeat-x;
    color: #cd0a0a;
}

.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
    color: #cd0a0a;
}

.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
    color: #cd0a0a;
}

.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
    font-weight: bold;
}

.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
    opacity: .7;
    filter: Alpha(Opacity=70);
    /* support: IE8 */
    font-weight: normal;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: .35;
    filter: Alpha(Opacity=35);
    /* support: IE8 */
    background-image: none;
}

.ui-state-disabled .ui-icon {
    filter: Alpha(Opacity=35);
    /* support: IE8 - See #6059 */
}

/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
    width: 16px;
    height: 16px;
}

.ui-icon,
.ui-widget-content .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_222222_256x240.png");
}

.ui-widget-header .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_222222_256x240.png");
}

.ui-state-default .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_888888_256x240.png");
}

.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_454545_256x240.png");
}

.ui-state-active .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_454545_256x240.png");
}

.ui-state-highlight .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_2e83ff_256x240.png");
}

.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
    background-image: url("../images/jquery-ui/ui-icons_cd0a0a_256x240.png");
}

/* positioning */
.ui-icon-blank {
    background-position: 16px 16px;
}

.ui-icon-carat-1-n {
    background-position: 0 0;
}

.ui-icon-carat-1-ne {
    background-position: -16px 0;
}

.ui-icon-carat-1-e {
    background-position: -32px 0;
}

.ui-icon-carat-1-se {
    background-position: -48px 0;
}

.ui-icon-carat-1-s {
    background-position: -64px 0;
}

.ui-icon-carat-1-sw {
    background-position: -80px 0;
}

.ui-icon-carat-1-w {
    background-position: -96px 0;
}

.ui-icon-carat-1-nw {
    background-position: -112px 0;
}

.ui-icon-carat-2-n-s {
    background-position: -128px 0;
}

.ui-icon-carat-2-e-w {
    background-position: -144px 0;
}

.ui-icon-triangle-1-n {
    background-position: 0 -16px;
}

.ui-icon-triangle-1-ne {
    background-position: -16px -16px;
}

.ui-icon-triangle-1-e {
    background-position: -32px -16px;
}

.ui-icon-triangle-1-se {
    background-position: -48px -16px;
}

.ui-icon-triangle-1-s {
    background-position: -64px -16px;
}

.ui-icon-triangle-1-sw {
    background-position: -80px -16px;
}

.ui-icon-triangle-1-w {
    background-position: -96px -16px;
}

.ui-icon-triangle-1-nw {
    background-position: -112px -16px;
}

.ui-icon-triangle-2-n-s {
    background-position: -128px -16px;
}

.ui-icon-triangle-2-e-w {
    background-position: -144px -16px;
}

.ui-icon-arrow-1-n {
    background-position: 0 -32px;
}

.ui-icon-arrow-1-ne {
    background-position: -16px -32px;
}

.ui-icon-arrow-1-e {
    background-position: -32px -32px;
}

.ui-icon-arrow-1-se {
    background-position: -48px -32px;
}

.ui-icon-arrow-1-s {
    background-position: -64px -32px;
}

.ui-icon-arrow-1-sw {
    background-position: -80px -32px;
}

.ui-icon-arrow-1-w {
    background-position: -96px -32px;
}

.ui-icon-arrow-1-nw {
    background-position: -112px -32px;
}

.ui-icon-arrow-2-n-s {
    background-position: -128px -32px;
}

.ui-icon-arrow-2-ne-sw {
    background-position: -144px -32px;
}

.ui-icon-arrow-2-e-w {
    background-position: -160px -32px;
}

.ui-icon-arrow-2-se-nw {
    background-position: -176px -32px;
}

.ui-icon-arrowstop-1-n {
    background-position: -192px -32px;
}

.ui-icon-arrowstop-1-e {
    background-position: -208px -32px;
}

.ui-icon-arrowstop-1-s {
    background-position: -224px -32px;
}

.ui-icon-arrowstop-1-w {
    background-position: -240px -32px;
}

.ui-icon-arrowthick-1-n {
    background-position: 0 -48px;
}

.ui-icon-arrowthick-1-ne {
    background-position: -16px -48px;
}

.ui-icon-arrowthick-1-e {
    background-position: -32px -48px;
}

.ui-icon-arrowthick-1-se {
    background-position: -48px -48px;
}

.ui-icon-arrowthick-1-s {
    background-position: -64px -48px;
}

.ui-icon-arrowthick-1-sw {
    background-position: -80px -48px;
}

.ui-icon-arrowthick-1-w {
    background-position: -96px -48px;
}

.ui-icon-arrowthick-1-nw {
    background-position: -112px -48px;
}

.ui-icon-arrowthick-2-n-s {
    background-position: -128px -48px;
}

.ui-icon-arrowthick-2-ne-sw {
    background-position: -144px -48px;
}

.ui-icon-arrowthick-2-e-w {
    background-position: -160px -48px;
}

.ui-icon-arrowthick-2-se-nw {
    background-position: -176px -48px;
}

.ui-icon-arrowthickstop-1-n {
    background-position: -192px -48px;
}

.ui-icon-arrowthickstop-1-e {
    background-position: -208px -48px;
}

.ui-icon-arrowthickstop-1-s {
    background-position: -224px -48px;
}

.ui-icon-arrowthickstop-1-w {
    background-position: -240px -48px;
}

.ui-icon-arrowreturnthick-1-w {
    background-position: 0 -64px;
}

.ui-icon-arrowreturnthick-1-n {
    background-position: -16px -64px;
}

.ui-icon-arrowreturnthick-1-e {
    background-position: -32px -64px;
}

.ui-icon-arrowreturnthick-1-s {
    background-position: -48px -64px;
}

.ui-icon-arrowreturn-1-w {
    background-position: -64px -64px;
}

.ui-icon-arrowreturn-1-n {
    background-position: -80px -64px;
}

.ui-icon-arrowreturn-1-e {
    background-position: -96px -64px;
}

.ui-icon-arrowreturn-1-s {
    background-position: -112px -64px;
}

.ui-icon-arrowrefresh-1-w {
    background-position: -128px -64px;
}

.ui-icon-arrowrefresh-1-n {
    background-position: -144px -64px;
}

.ui-icon-arrowrefresh-1-e {
    background-position: -160px -64px;
}

.ui-icon-arrowrefresh-1-s {
    background-position: -176px -64px;
}

.ui-icon-arrow-4 {
    background-position: 0 -80px;
}

.ui-icon-arrow-4-diag {
    background-position: -16px -80px;
}

.ui-icon-extlink {
    background-position: -32px -80px;
}

.ui-icon-newwin {
    background-position: -48px -80px;
}

.ui-icon-refresh {
    background-position: -64px -80px;
}

.ui-icon-shuffle {
    background-position: -80px -80px;
}

.ui-icon-transfer-e-w {
    background-position: -96px -80px;
}

.ui-icon-transferthick-e-w {
    background-position: -112px -80px;
}

.ui-icon-folder-collapsed {
    background-position: 0 -96px;
}

.ui-icon-folder-open {
    background-position: -16px -96px;
}

.ui-icon-document {
    background-position: -32px -96px;
}

.ui-icon-document-b {
    background-position: -48px -96px;
}

.ui-icon-note {
    background-position: -64px -96px;
}

.ui-icon-mail-closed {
    background-position: -80px -96px;
}

.ui-icon-mail-open {
    background-position: -96px -96px;
}

.ui-icon-suitcase {
    background-position: -112px -96px;
}

.ui-icon-comment {
    background-position: -128px -96px;
}

.ui-icon-person {
    background-position: -144px -96px;
}

.ui-icon-print {
    background-position: -160px -96px;
}

.ui-icon-trash {
    background-position: -176px -96px;
}

.ui-icon-locked {
    background-position: -192px -96px;
}

.ui-icon-unlocked {
    background-position: -208px -96px;
}

.ui-icon-bookmark {
    background-position: -224px -96px;
}

.ui-icon-tag {
    background-position: -240px -96px;
}

.ui-icon-home {
    background-position: 0 -112px;
}

.ui-icon-flag {
    background-position: -16px -112px;
}

.ui-icon-calendar {
    background-position: -32px -112px;
}

.ui-icon-cart {
    background-position: -48px -112px;
}

.ui-icon-pencil {
    background-position: -64px -112px;
}

.ui-icon-clock {
    background-position: -80px -112px;
}

.ui-icon-disk {
    background-position: -96px -112px;
}

.ui-icon-calculator {
    background-position: -112px -112px;
}

.ui-icon-zoomin {
    background-position: -128px -112px;
}

.ui-icon-zoomout {
    background-position: -144px -112px;
}

.ui-icon-search {
    background-position: -160px -112px;
}

.ui-icon-wrench {
    background-position: -176px -112px;
}

.ui-icon-gear {
    background-position: -192px -112px;
}

.ui-icon-heart {
    background-position: -208px -112px;
}

.ui-icon-star {
    background-position: -224px -112px;
}

.ui-icon-link {
    background-position: -240px -112px;
}

.ui-icon-cancel {
    background-position: 0 -128px;
}

.ui-icon-plus {
    background-position: -16px -128px;
}

@media only screen and (min-width: 75em) {
    .sub-nav {
        display: none;
        position: absolute;
        background: #fff;
        max-width: 100%;
        padding: 55px 45px 50px;
        z-index: 2;
        text-align: left;
        overflow: auto;
        max-height: 80vh;
        -webkit-box-shadow: 0 0 20px 14px rgba(0, 0, 0, 0.15);
        box-shadow: 0 0 20px 14px rgba(0, 0, 0, 0.15);
    }

    .load-perimetre .sub-nav {
        padding: 40px 20px;
    }

    .load-perimetre .sub-nav:before {
        content: '';
        display: block;
        height: 100%;
        min-height: 414px;
        background: url("../images/loader-nav.png") no-repeat;
        background-size: 100% auto;
        -webkit-animation-name: loader;
        animation-name: loader;
        -webkit-animation-duration: 600ms;
        animation-duration: 600ms;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
        -webkit-animation-direction: alternate-reverse;
        animation-direction: alternate-reverse;
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    }

    .load-perimetre .sub-nav * {
        display: none;
    }

    .sub-nav .grid3 {
        width: 66%;
    }

    .sub-nav .gridbanner h2 {
        border: none;
        padding: 0;
    }

    .gridbanner .btn-cta {
        margin: 20px 0;
    }

    .gridbanner img {
        margin: 10px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 82.5em) {
    .sub-nav {
        min-width: 1280px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .sub-nav {
        min-width: 100%;
        padding-top: 30px;
        padding-left: 15px;
        padding-right: 15px;
    }
}

.ui-icon-plusthick {
    background-position: -32px -128px;
}

.ui-icon-minus {
    background-position: -48px -128px;
}

.ui-icon-minusthick {
    background-position: -64px -128px;
}

.ui-icon-close {
    background-position: -80px -128px;
}

.ui-icon-closethick {
    background-position: -96px -128px;
}

.ui-icon-key {
    background-position: -112px -128px;
}

.ui-icon-lightbulb {
    background-position: -128px -128px;
}

.ui-icon-scissors {
    background-position: -144px -128px;
}

.ui-icon-clipboard {
    background-position: -160px -128px;
}

.ui-icon-copy {
    background-position: -176px -128px;
}

.ui-icon-contact {
    background-position: -192px -128px;
}

.ui-icon-image {
    background-position: -208px -128px;
}

.ui-icon-video {
    background-position: -224px -128px;
}

.ui-icon-script {
    background-position: -240px -128px;
}

.ui-icon-alert {
    background-position: 0 -144px;
}

.ui-icon-info {
    background-position: -16px -144px;
}

.ui-icon-notice {
    background-position: -32px -144px;
}

.ui-icon-help {
    background-position: -48px -144px;
}

.ui-icon-check {
    background-position: -64px -144px;
}

.ui-icon-bullet {
    background-position: -80px -144px;
}

.ui-icon-radio-on {
    background-position: -96px -144px;
}

.ui-icon-radio-off {
    background-position: -112px -144px;
}

.ui-icon-pin-w {
    background-position: -128px -144px;
}

.ui-icon-pin-s {
    background-position: -144px -144px;
}

.ui-icon-play {
    background-position: 0 -160px;
}

.ui-icon-pause {
    background-position: -16px -160px;
}

.ui-icon-seek-next {
    background-position: -32px -160px;
}

.ui-icon-seek-prev {
    background-position: -48px -160px;
}

.ui-icon-seek-end {
    background-position: -64px -160px;
}

.ui-icon-seek-start {
    background-position: -80px -160px;
}

/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first {
    background-position: -80px -160px;
}

.ui-icon-stop {
    background-position: -96px -160px;
}

.ui-icon-eject {
    background-position: -112px -160px;
}

.ui-icon-volume-off {
    background-position: -128px -160px;
}

.ui-icon-volume-on {
    background-position: -144px -160px;
}

.ui-icon-power {
    background-position: 0 -176px;
}

.ui-icon-signal-diag {
    background-position: -16px -176px;
}

.ui-icon-signal {
    background-position: -32px -176px;
}

.ui-icon-battery-0 {
    background-position: -48px -176px;
}

.ui-icon-battery-1 {
    background-position: -64px -176px;
}

.ui-icon-battery-2 {
    background-position: -80px -176px;
}

.ui-icon-battery-3 {
    background-position: -96px -176px;
}

.ui-icon-circle-plus {
    background-position: 0 -192px;
}

.ui-icon-circle-minus {
    background-position: -16px -192px;
}

.ui-icon-circle-close {
    background-position: -32px -192px;
}

.ui-icon-circle-triangle-e {
    background-position: -48px -192px;
}

.ui-icon-circle-triangle-s {
    background-position: -64px -192px;
}

.ui-icon-circle-triangle-w {
    background-position: -80px -192px;
}

.ui-icon-circle-triangle-n {
    background-position: -96px -192px;
}

/* couche 1 + popinSplash */
.layer>div {
    margin-bottom: 30px;
}

.ui-icon-circle-arrow-e {
    background-position: -112px -192px;
}

.ui-icon-circle-arrow-s {
    background-position: -128px -192px;
}

.ui-icon-circle-arrow-w {
    background-position: -144px -192px;
}

.ui-icon-circle-arrow-n {
    background-position: -160px -192px;
}

.ui-icon-circle-zoomin {
    background-position: -176px -192px;
}

.ui-icon-circle-zoomout {
    background-position: -192px -192px;
}

.ui-icon-circle-check {
    background-position: -208px -192px;
}

.ui-icon-circlesmall-plus {
    background-position: 0 -208px;
}

.ui-icon-circlesmall-minus {
    background-position: -16px -208px;
}

.ui-icon-circlesmall-close {
    background-position: -32px -208px;
}

.ui-icon-squaresmall-plus {
    background-position: -48px -208px;
}

.ui-icon-squaresmall-minus {
    background-position: -64px -208px;
}

.ui-icon-squaresmall-close {
    background-position: -80px -208px;
}

.ui-icon-grip-dotted-vertical {
    background-position: 0 -224px;
}

.ui-icon-grip-dotted-horizontal {
    background-position: -16px -224px;
}

.ui-icon-grip-solid-vertical {
    background-position: -32px -224px;
}

.ui-icon-grip-solid-horizontal {
    background-position: -48px -224px;
}

.ui-icon-gripsmall-diagonal-se {
    background-position: -64px -224px;
}

.ui-icon-grip-diagonal-se {
    background-position: -80px -224px;
}

/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
    border-top-left-radius: 4px;
}

.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
    border-top-right-radius: 4px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
    border-bottom-left-radius: 4px;
}

.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
    border-bottom-right-radius: 4px;
}

/* Overlays */
.ui-widget-overlay {
    background: #aaaaaa;
    opacity: .3;
    filter: Alpha(Opacity=30);
    /* support: IE8 */
}

.ui-widget-shadow {
    margin: -8px 0 0 -8px;
    padding: 8px;
    background: #aaaaaa;
    opacity: .3;
    filter: Alpha(Opacity=30);
    /* support: IE8 */
    border-radius: 8px;
}

/* HORIZONTAL */
/* increase bottom margin to fit the pips */
.ui-slider-horizontal.ui-slider-pips {
    margin-bottom: 1.4em;
}

/* default hide the labels and pips that arnt visible */
/* we just use css to hide incase we want to show certain */
/* labels/pips individually later */
.ui-slider-pips .ui-slider-label,
.ui-slider-pips .ui-slider-pip-hide {
    display: none;
}

/* now we show any labels that we've set to show in the options */
.ui-slider-pips .ui-slider-pip-label .ui-slider-label {
    display: block;
}

/* PIP/LABEL WRAPPER */
/* position each pip absolutely just below the default slider */
/* and also prevent accidental selection */
.ui-slider-pips .ui-slider-pip {
    width: 2em;
    height: 1em;
    line-height: 1em;
    position: absolute;
    font-size: 0.8em;
    color: #999;
    overflow: visible;
    text-align: center;
    top: 20px;
    left: 20px;
    margin-left: -1em;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.ui-state-disabled.ui-slider-pips .ui-slider-pip {
    cursor: default;
}

/* little pip/line position & size */
.ui-slider-pips .ui-slider-line {
    background: #999;
    width: 1px;
    height: 3px;
    position: absolute;
    left: 50%;
}

/* the text label postion & size */
/* it overflows so no need for width to be accurate */
.ui-slider-pips .ui-slider-label {
    position: absolute;
    top: 5px;
    left: 50%;
    margin-left: -1em;
    width: 2em;
}

/* make it easy to see when we hover a label */
.ui-slider-pips:not(.ui-slider-disabled) .ui-slider-pip:hover .ui-slider-label {
    color: black;
    font-weight: bold;
}

/* VERTICAL */
/* vertical slider needs right-margin, not bottom */
.ui-slider-vertical.ui-slider-pips {
    margin-bottom: 1em;
    margin-right: 2em;
}

/* align vertical pips left and to right of the slider */
.ui-slider-vertical.ui-slider-pips .ui-slider-pip {
    text-align: left;
    top: auto;
    left: 20px;
    margin-left: 0;
    margin-bottom: -0.5em;
}

/* vertical line/pip should be horizontal instead */
.ui-slider-vertical.ui-slider-pips .ui-slider-line {
    width: 3px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0;
}

.ui-slider-vertical.ui-slider-pips .ui-slider-label {
    top: 50%;
    left: 0.5em;
    margin-left: 0;
    margin-top: -0.5em;
    width: 2em;
}

/* FLOATING HORIZTONAL TOOLTIPS */
/* remove the godawful looking focus outline on handle and float */
.ui-slider-float .ui-slider-handle:focus,
.ui-slider-float .ui-slider-handle.ui-state-focus .ui-slider-tip-label,
.ui-slider-float .ui-slider-handle:focus .ui-slider-tip,
.ui-slider-float .ui-slider-handle.ui-state-focus .ui-slider-tip-label,
.ui-slider-float .ui-slider-handle:focus .ui-slider-tip-label .ui-slider-float .ui-slider-handle.ui-state-focus .ui-slider-tip-label {
    outline: none;
}

/* style tooltips on handles and on labels */
/* also has a nice transition */
.ui-slider-float .ui-slider-tip,
.ui-slider-float .ui-slider-tip-label {
    position: absolute;
    visibility: hidden;
    top: -40px;
    display: block;
    width: 34px;
    margin-left: -18px;
    left: 50%;
    height: 20px;
    line-height: 20px;
    background: white;
    border-radius: 3px;
    border: 1px solid #888;
    text-align: center;
    font-size: 12px;
    opacity: 0;
    color: #333;
    -webkit-transition-property: opacity, top, visibility;
    transition-property: opacity, top, visibility;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    -webkit-transition-duration: 200ms, 200ms, 0ms;
    transition-duration: 200ms, 200ms, 0ms;
    -webkit-transition-delay: 0ms, 0ms, 200ms;
    transition-delay: 0ms, 0ms, 200ms;
}

/* show the tooltip on hover or focus */
/* also switch transition delay around */
.ui-slider-float .ui-slider-handle:hover .ui-slider-tip,
.ui-slider-float .ui-slider-handle.ui-state-hover .ui-slider-tip,
.ui-slider-float .ui-slider-handle:focus .ui-slider-tip,
.ui-slider-float .ui-slider-handle.ui-state-focus .ui-slider-tip,
.ui-slider-float .ui-slider-handle.ui-state-active .ui-slider-tip,
.ui-slider-float .ui-slider-pip:hover .ui-slider-tip-label {
    opacity: 1;
    top: -30px;
    visibility: visible;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    -webkit-transition-delay: 200ms, 200ms, 0ms;
    transition-delay: 200ms, 200ms, 0ms;
}

/* put label tooltips below slider */
.ui-slider-float .ui-slider-pip .ui-slider-tip-label {
    top: 42px;
}

.ui-slider-float .ui-slider-pip:hover .ui-slider-tip-label {
    top: 32px;
    font-weight: normal;
}

/* give the tooltip a css triangle arrow */
.ui-slider-float .ui-slider-tip:after,
.ui-slider-float .ui-slider-pip .ui-slider-tip-label:after {
    content: " ";
    width: 0;
    height: 0;
    border: 5px solid rgba(255, 255, 255, 0);
    border-top-color: white;
    position: absolute;
    bottom: -10px;
    left: 50%;
    margin-left: -5px;
}

/* put a 1px border on the tooltip arrow to match tooltip border */
.ui-slider-float .ui-slider-tip:before,
.ui-slider-float .ui-slider-pip .ui-slider-tip-label:before {
    content: " ";
    width: 0;
    height: 0;
    border: 5px solid rgba(255, 255, 255, 0);
    border-top-color: #888;
    position: absolute;
    bottom: -11px;
    left: 50%;
    margin-left: -5px;
}

/* switch the arrow to top on labels */
.ui-slider-float .ui-slider-pip .ui-slider-tip-label:after {
    border: 5px solid rgba(255, 255, 255, 0);
    border-bottom-color: white;
    top: -10px;
}

.ui-slider-float .ui-slider-pip .ui-slider-tip-label:before {
    border: 5px solid rgba(255, 255, 255, 0);
    border-bottom-color: #888;
    top: -11px;
}

/* FLOATING VERTICAL TOOLTIPS */
/* tooltip floats to left of handle */
.ui-slider-vertical.ui-slider-float .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-tip-label {
    top: 50%;
    margin-top: -11px;
    width: 34px;
    margin-left: 0px;
    left: -60px;
    color: #333;
    -webkit-transition-duration: 200ms, 200ms, 0;
    transition-duration: 200ms, 200ms, 0;
    -webkit-transition-property: opacity, left, visibility;
    transition-property: opacity, left, visibility;
    -webkit-transition-delay: 0, 0, 200ms;
    transition-delay: 0, 0, 200ms;
}

.ui-slider-vertical.ui-slider-float .ui-slider-handle:hover .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-handle.ui-state-hover .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-handle:focus .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-handle.ui-state-focus .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-handle.ui-state-active .ui-slider-tip,
.ui-slider-vertical.ui-slider-float .ui-slider-pip:hover .ui-slider-tip-label {
    top: 50%;
    margin-top: -11px;
    left: -50px;
}

/* put label tooltips to right of slider */
.ui-slider-vertical.ui-slider-float .ui-slider-pip .ui-slider-tip-label {
    left: 47px;
}

.ui-slider-vertical.ui-slider-float .ui-slider-pip:hover .ui-slider-tip-label {
    left: 37px;
}

/* give the tooltip a css triangle arrow */
.ui-slider-vertical.ui-slider-float .ui-slider-tip:after,
.ui-slider-vertical.ui-slider-float .ui-slider-pip .ui-slider-tip-label:after {
    border: 5px solid rgba(255, 255, 255, 0);
    border-left-color: white;
    border-top-color: transparent;
    position: absolute;
    bottom: 50%;
    margin-bottom: -5px;
    right: -10px;
    margin-left: 0;
    top: auto;
    left: auto;
}

.ui-slider-vertical.ui-slider-float .ui-slider-tip:before,
.ui-slider-vertical.ui-slider-float .ui-slider-pip .ui-slider-tip-label:before {
    border: 5px solid rgba(255, 255, 255, 0);
    border-left-color: #888;
    border-top-color: transparent;
    position: absolute;
    bottom: 50%;
    margin-bottom: -5px;
    right: -11px;
    margin-left: 0;
    top: auto;
    left: auto;
}

.ui-slider-vertical.ui-slider-float .ui-slider-pip .ui-slider-tip-label:after {
    border: 5px solid rgba(255, 255, 255, 0);
    border-right-color: white;
    right: auto;
    left: -10px;
}

.ui-slider-vertical.ui-slider-float .ui-slider-pip .ui-slider-tip-label:before {
    border: 5px solid rgba(255, 255, 255, 0);
    border-right-color: #888;
    right: auto;
    left: -11px;
}

/* SELECTED STATES */
/* Comment out this chuck of code if you don't want to have
    the new label colours shown */
.ui-slider-pips [class*=ui-slider-pip-initial] {
    font-weight: bold;
    color: #14CA82;
}

.ui-slider-pips .ui-slider-pip-initial-2 {
    color: #1897C9;
}

.ui-slider-pips [class*=ui-slider-pip-selected] {
    font-weight: bold;
    color: #FF7A00;
}

.ui-slider-pips .ui-slider-pip-inrange {
    color: black;
}

.ui-slider-pips .ui-slider-pip-selected-2 {
    color: #E70081;
}

.ui-slider-pips [class*=ui-slider-pip-selected] .ui-slider-line,
.ui-slider-pips .ui-slider-pip-inrange .ui-slider-line {
    background: black;
}

.slider-wrapper {
    position: relative;
    margin: 8px 0 50px;
    padding: 0 10px 0 0;
}

@media only screen and (max-width: 93.6875em) {
    .slider-wrapper {
        padding-right: 40px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .slider-wrapper {
        padding-right: 0;
        margin-top: 30px;
    }
}

.slider {
    border-top: 1px solid #afafaf;
    cursor: pointer;
    background: #ececec;
    border-radius: 0;
    border: 0;
    height: 1.2em;
    font-family: "Roboto", arial, helvetica, sans-serif;
}

.slider .ui-widget-header {
    border-radius: 0;
    background: #a2516b;
}

.slider .ui-slider-handle {
    cursor: pointer;
    top: 0;
    width: 1px;
    height: 1.2em;
    margin-left: 0;
    background: none;
}

.slider .ui-slider-handle:after {
    content: '';
    position: absolute;
    top: -10px;
    left: -15px;
    display: block;
    border-radius: 50%;
    background: #fff;
    border: 10px solid #a2516b;
    width: 30px;
    height: 30px;
}

.slider .ui-slider-handle:before {
    content: '';
    position: absolute;
    top: -15px;
    left: -20px;
    display: block;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.05);
    width: 40px;
    height: 40px;
}

.slider .ui-slider-handle:hover,
.slider .ui-slider-handle:focus {
    background: #a4577e;
}

.slider .ui-slider-tip {
    visibility: visible;
    opacity: 1;
    display: block;
    top: -34px !important;
    color: #a2516b;
    border-radius: 0;
    font-weight: bold;
    border: 0;
    left: 1px;
    background: none;
}

.slider .ui-slider-tip:before {
    display: none;
}

.slider .ui-slider-tip:after {
    display: none;
}

.ui-slider-pips .ui-slider-line {
    height: 14px;
}

.ui-slider-pips .ui-slider-pip-inrange .ui-slider-line {
    background-color: #e1e1e1;
}

.ui-slider-pips [class*=ui-slider-pip-selected] .ui-slider-line {
    background-color: #a2516b;
}

.ui-slider-pips .ui-slider-label {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: normal;
    width: 130px;
    color: #3e3e3e;
    top: 20px;
    margin-left: -65px;
}

@media only screen and (max-width: 93.6875em) {
    .ui-slider-pips .ui-slider-label {
        font-size: 1.2rem;
        margin-left: -50px;
        max-width: 100px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .ui-slider-pips .ui-slider-label {
        margin-left: 0;
        width: 100px;
        text-align: left;
    }
}

.ui-slider-pips .ui-slider-pip-selected .ui-slider-label {
    font-weight: bold;
    color: #a2516b;
}

.ui-slider-pips .ui-slider-pip-last .ui-slider-label {
    text-align: left;
}

@media only screen and (max-width: 47.9375em) {
    .ui-slider-pips .ui-slider-pip-last .ui-slider-label {
        margin-left: -100px;
        text-align: right;
    }
}

.ui-slider-pips .ui-slider-pip {
    top: 16px;
}

.ui-slider-pips:not(.ui-slider-disabled) .ui-slider-pip:hover .ui-slider-label {
    color: #a2516b;
}

@media only screen and (max-width: 47.9375em) {
    .ui-slider-pips .ui-slider-pip-label .ui-slider-label {
        display: none;
    }
}

@media only screen and (max-width: 47.9375em) {

    .ui-slider-pips .ui-slider-pip-last .ui-slider-label,
    .ui-slider-pips .ui-slider-pip-first .ui-slider-label {
        display: block;
    }
}

.ui-datepicker-group-first {
    padding-right: 10px;
}

.ui-datepicker-group-last {
    padding-left: 10px;
}

.ui-datepicker-multi {
    width: auto !important;
}

@media only screen and (max-width: 47.9375em) {
    .ui-datepicker-multi .ui-datepicker-group {
        width: auto;
        float: none;
        padding: 0;
        margin-bottom: 10px;
    }
}

.ui-datepicker {
    border-radius: 0;
    border: 0;
    padding: 0;
    font-family: "Roboto", arial, helvetica, sans-serif;
}

.ui-datepicker .ui-datepicker-header {
    color: #fff;
    background: #3e3e3e;
    border-radius: 0;
    border: 0;
    font-size: 1.8rem;
    text-transform: uppercase;
    font-weight: 600;
    padding: 10px 0;
}

@media only screen and (max-width: 93.6875em) {
    .ui-datepicker .ui-datepicker-header {
        font-size: 1.4rem;
    }
}

.ui-datepicker td span,
.ui-datepicker td a {
    padding: 6px 8px;
    background: none;
    color: #887f8c;
    text-align: center;
    font-size: 1.4rem;
}

@media only screen and (max-width: 93.6875em) {

    .ui-datepicker td span,
    .ui-datepicker td a {
        padding: 4px 6px;
    }
}

.ui-datepicker .ui-state-default,
.ui-datepicker .ui-widget-content .ui-state-default,
.ui-datepicker .ui-widget-header .ui-state-default {
    border: 0;
    background: none;
    color: #887f8c;
}

.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-widget-content .ui-state-highlight,
.ui-datepicker .ui-widget-header .ui-state-highlight {
    border: 2px solid #dbdf71;
}

.ui-datepicker .ui-state-active,
.ui-datepicker .ui-widget-content .ui-state-active,
.ui-datepicker .ui-widget-header .ui-state-active {
    background-color: #dbdf71;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    width: auto;
    height: auto;
    top: 15px;
    cursor: pointer;
}

.ui-datepicker .ui-datepicker-prev.ui-state-hover,
.ui-datepicker .ui-datepicker-next.ui-state-hover {
    border: 0;
    background: none;
}

.ui-datepicker .ui-datepicker-prev:before,
.ui-datepicker .ui-datepicker-next:before {
    content: '';
    display: block;
    vertical-align: middle;
}

.ui-datepicker .ui-datepicker-prev {
    left: 15px;
}

.ui-datepicker .ui-datepicker-next {
    right: 15px;
}

.ui-datepicker .ui-datepicker-prev:before {
    background-image: url(../images/sprites.png);
    background-position: -139px -101px;
    width: 10px;
    height: 20px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.ui-datepicker .ui-datepicker-next:before {
    background-image: url(../images/sprites.png);
    background-position: -139px -101px;
    width: 10px;
    height: 20px;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
    display: none;
}

.ui-datepicker-calendar {
    border: 1px solid #e1c7cf;
    border-top-color: #fff;
}

.ui-datepicker-calendar th {
    background: #a2516b;
    color: #fff;
    font-weight: normal;
    text-transform: uppercase;
    padding: 5px 8px;
    font-size: 1.4rem;
}

@media only screen and (max-width: 93.6875em) {
    .ui-datepicker-calendar th {
        padding: 4px 6px;
    }
}

.ui-datepicker-multi .ui-datepicker-group table {
    margin: 0;
    width: 100%;
}

.starRating__wrap {
    display: flow-root;
}

.starRating__wrap:after {
    content: "";
    display: table;
    clear: both;
}

.rate .starRating__wrap {
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
}

.starRating__legend {
    padding: 1px;
}

.starRating {
    display: flow-root;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.starRating:after {
    content: "";
    display: table;
    clear: both;
}

.starRating>input {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.starRating>input:focus+label {
    outline: -webkit-focus-ring-color auto 5px;
}

.starRating>label {
    display: block;
    float: right;
    position: relative;
    padding-left: 8px;
    cursor: pointer;
}

.starRating>label:after,
.starRating>label:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 21px;
    height: 21px;
}

.starRating>label:before {
    background-image: url(../images/sprites.png);
    background-position: -166px -180px;
    width: 21px;
    height: 21px;
}

.starRating>label:after {
    background-image: url(../images/sprites.png);
    background-position: -140px -180px;
    width: 21px;
    height: 21px;
    display: none;
}

.starRating>label:hover:after,
.starRating>label:focus:after,
.starRating>label:active:after {
    display: inline-block;
}

.starRating>label:hover:before,
.starRating>label:focus:before,
.starRating>label:active:before {
    display: none;
}

.starRating>label:hover~label:after,
.starRating>label:focus~label:after,
.starRating>label:active~label:after {
    display: inline-block;
}

.starRating>label:hover~label:before,
.starRating>label:focus~label:before,
.starRating>label:active~label:before {
    display: none;
}

.starRating:not(:hover)> :checked~label:after {
    display: inline-block;
}

.starRating:not(:hover)> :checked~label:before {
    display: none;
}

.starRating__label {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.starRating>label:hover:before,
.starRating>label:hover~label:before,
.starRating:not(:hover)> :checked~label:before {
    opacity: 1;
}

.form-flex__wrap--is-open {
    overflow: hidden;
}

.form-flex {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: row nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row nowrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    max-width: 100%;
}

@media only screen and (max-width: 47.9375em) {
    .form-flex--is-open {
        width: 700px;
    }
}

.form-nav {
    position: relative;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    overflow: hidden;
    width: 0;
}

@media only screen and (max-width: 47.9375em) {
    .form-nav {
        margin-bottom: 10px;
    }
}

.form-flex--is-open .form-nav {
    padding-right: 15px;
    -ms-flex: 0 0 250px;
    -webkit-box-flex: 0;
    flex: 0 0 250px;
}

.form-nav:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    -ms-flex: 0 0 1px;
    -webkit-box-flex: 0;
    flex: 0 0 1px;
    background: #c1c1c1;
    -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.2);
}

.form-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

@media only screen and (min-width: 64em) {
    .form-nav ul {
        min-width: 185px;
    }
}

.form-nav li {
    margin-bottom: 2px;
    white-space: nowrap;
}

.form-nav a {
    display: block;
    padding: 13px 15px;
    background-color: #3e3e3e;
    color: #fff;
    font-size: 1.6rem;
}

@media only screen and (max-width: 93.6875em) {
    .form-nav a {
        font-size: 1.4rem;
        padding: 10px 10px;
    }
}

.form-nav a:hover,
.form-nav a:focus,
.form-nav a:active {
    text-decoration: none;
    background-color: #5d5d5d;
}

.form-nav a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -139px -101px;
    width: 10px;
    height: 20px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

@media only screen and (max-width: 93.6875em) {
    .form-nav a:before {
        margin-right: 7px;
    }
}

.form-nav__title {
    margin: 0 0 20px;
    text-align: center;
    font-weight: normal;
    font-size: 2.8rem;
    padding-bottom: 15px;
    border-bottom: 1px solid #c2c2c2;
}

@media only screen and (max-width: 74.9375em) {
    .form-nav__title {
        font-size: 2rem;
        padding: 0 45px 15px 15px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .form-nav__title {
        font-size: 1.6rem;
    }
}

.form-nav__title-label {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    color: #a2516b;
    font-weight: normal;
}

.form-nav__title-num {
    display: inline-block;
    vertical-align: middle;
    background: #a2516b;
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    margin-right: 5px;
}

[data-modal-no-ui] .form-nav__title-num {
    display: none;
}

@media only screen and (max-width: 47.9375em) {
    .form-nav__title-num {
        float: none;
        margin: 0 auto 0;
    }
}

.form-nav__num {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #fff;
    border-radius: 50%;
    text-align: center;
    margin-right: 7px;
}

@media only screen and (max-width: 93.6875em) {
    .form-nav__num {
        margin-right: 3px;
    }
}

.form-nav__label {
    display: inline-block;
    vertical-align: middle;
    white-space: normal;
    max-width: 150px;
    line-height: 1.3;
    padding-right: 5px;
}

.form-nav__content {
    position: relative;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    -ms-flex-positive: 1;
    -webkit-box-flex: 1;
    flex-grow: 1;
    max-width: 100%;
    overflow: hidden;
    min-width: 0;
}

.form-flex--is-open .form-nav__content {
    padding-left: 20px;
}

.form-nav__btn-prev {
    position: absolute;
    top: 14px;
    left: 0;
}

@media only screen and (max-width: 47.9375em) {
    .form-nav__btn-prev {
        top: 5px;
    }
}

[data-modal-no-ui] .form-nav__btn-prev {
    display: none;
}

.form-flex--is-open .form-nav__btn-prev {
    left: 20px;
}

@media only screen and (max-width: 47.9375em) {
    .form-flex--is-open .form-nav__btn-prev {
        left: 0;
    }
}

.form-nav__btn-prev:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -219px -108px;
    width: 18px;
    height: 21px;
}

.form-nav__btn-next {
    position: absolute;
    top: 14px;
    right: 0;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.form-nav__btn-next:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -219px -108px;
    width: 18px;
    height: 21px;
}

.nav-pagination {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    margin: 20px 0;
    text-align: center;
    font-size: 1.4rem;
    color: #a2516b;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: row nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row nowrap;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
}

@media only screen and (max-width: 47.9375em) {
    .nav-pagination {
        -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
        font-size: 1.2rem;
    }
}

.nav-pagination li {
    display: block;
    vertical-align: middle;
    margin: 0;
}

.nav-pagination li i {
    font-style: normal;
}

@media only screen and (max-width: 47.9375em) {
    .nav-pagination li i {
        position: absolute !important;
        clip: rect(1px, 1px, 1px, 1px);
        padding: 0 !important;
        border: 0 !important;
        height: 1px !important;
        width: 1px !important;
        overflow: hidden;
    }
}

.nav-pagination li>span,
.nav-pagination li>a {
    display: block;
    padding: 5px 15px;
    border: 1px solid #818181;
    color: #a2516b;
    min-height: 40px;
    line-height: 30px;
}

@media only screen and (max-width: 47.9375em) {

    .nav-pagination li>span,
    .nav-pagination li>a {
        padding: 3px 10px;
    }
}

.nav-pagination li>span:hover,
.nav-pagination li>span:focus,
.nav-pagination li>span:active,
.nav-pagination li>a:hover,
.nav-pagination li>a:focus,
.nav-pagination li>a:active {
    text-decoration: none;
    background-color: #f4f4f4;
}

.nav-pagination li.pagi__prev,
.nav-pagination li.pagi__last {
    margin: 0 10px;
}

@media only screen and (max-width: 47.9375em) {

    .nav-pagination li.pagi__prev,
    .nav-pagination li.pagi__last {
        margin: 0 5px;
    }
}

.nav-pagination li.pagi__current a {
    background: #a2516b;
    color: #fff;
}

.nav-pagination li.pagi__current a,
.nav-pagination li.pagi__link a {
    border-left-width: 0;
}

.nav-pagination li.pagi__prev+.pagi__link a {
    border-left-width: 1px;
}

.nav-pagination li.pagi__first+.pagi__hellip+.pagi__link a {
    border-left-width: 1px;
}

@media only screen and (max-width: 47.9375em) {
    .nav-pagination li.pagi__hellip {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
}

@media only screen and (max-width: 47.9375em) {

    .nav-pagination li.pagi__hellip,
    .nav-pagination li.pagi__link:not(.pagi__current) {
        display: none;
    }

    .nav-pagination li.pagi__first {
        margin-right: 10px;
    }
}

@media only screen and (max-width: 47.9375em) and (max-width: 47.9375em) {
    .nav-pagination li.pagi__first {
        margin-right: 5px;
    }
}

.nav-pagination .icon {
    display: inline-block;
    vertical-align: middle;
}

.nav-pagination .icon:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
}

.pagi__hellip {
    padding: 5px 15px;
    color: #818181;
}

.icon--prev {
    background-image: url(../images/sprites.png);
    background-position: -244px -43px;
    width: 12px;
    height: 22px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    margin-right: 10px;
}

@media only screen and (max-width: 47.9375em) {
    .icon--prev {
        margin-right: 5px;
    }
}

.icon--next {
    background-image: url(../images/sprites.png);
    background-position: -244px -43px;
    width: 12px;
    height: 22px;
    margin-left: 10px;
}

@media only screen and (max-width: 47.9375em) {
    .icon--next {
        margin-left: 5px;
    }
}

#cboxLoadedContent,
#cboxContent,
#cboxWrapper,
#colorbox {
    max-width: 100% !important;
}

/* =============================================================================
   Header
============================================================================= */
.main-header {
    padding: 5px 0;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    min-height: 6.5rem;
    max-height: 140px;
    background: #a2516b;
    background: -webkit-gradient(linear, left top, left bottom, from(#bb516b), to(#9e4b6a));
    background: linear-gradient(to bottom, #bb516b 0%, #9e4b6a 100%);
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    z-index: 7;
    -webkit-transition: min-height 300ms;
    transition: min-height 300ms;
}

@media only screen and (min-width: 75em) {
    .main-header {
        padding: 0;
    }
}

@media only screen and (min-width: 93.75em) {
    .main-header {
        min-height: 8.5rem;
    }
}

.main-header .main-title {
    margin: 0;
    font-weight: normal;
}

.main-header.main-header--small {
    min-height: 45px;
}

.logo-wrapper {
    margin: 0 10px 0 0;
    padding: 0;
    max-width: 100px;
    overflow: hidden;
    z-index: 3;
}

@media only screen and (min-width: 75em) {
    .logo-wrapper {
        position: absolute;
        left: 0;
        top: -20px;
        width: 235px;
        padding: 28px 20px 0;
        max-width: none;
        min-height: 110px;
        -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
        background: #a2516b;
        background: -webkit-gradient(linear, left top, left bottom, from(#b7506b), to(#a04c6a));
        background: linear-gradient(to bottom, #b7506b 0%, #a04c6a 100%);
        transition: box-shadow 300ms, width 300ms, -webkit-transform 300ms;
        -webkit-transition: width 300ms, -webkit-box-shadow 300ms, -webkit-transform 300ms;
        transition: width 300ms, -webkit-box-shadow 300ms, -webkit-transform 300ms;
        transition: box-shadow 300ms, transform 300ms, width 300ms;
        transition: box-shadow 300ms, transform 300ms, width 300ms, -webkit-box-shadow 300ms, -webkit-transform 300ms;
        transition: box-shadow 300ms, transform 300ms, width 300ms, -webkit-transform 300ms;
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg);
    }

    .main-header--small .logo-wrapper {
        width: 170px;
        min-height: 0;
    }

    .logo-wrapper:hover,
    .logo-wrapper:focus,
    .logo-wrapper:active {
        background: #a2516b;
        -webkit-box-shadow: 0 3px 40px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 3px 40px 0 rgba(0, 0, 0, 0.2);
        -webkit-transform: rotate(-3deg);
        transform: rotate(-3deg);
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .logo-wrapper {
        width: 180px;
    }

    .main-header--small .logo-wrapper {
        width: 150px;
        min-height: 0;
    }
}

.logo-wrapper img,
.logo-wrapper a,
.logo-wrapper .logo {
    display: block;
}

.logo-wrapper img {
    margin: 0 auto 5px;
}

@media only screen and (min-width: 75em) {
    .logo-wrapper img {
        margin-bottom: 10px;
    }
}

.logo-wrapper a:hover,
.logo-wrapper a:focus,
.logo-wrapper a:active {
    text-decoration: none;
}

.logo-wrapper span {
    position: relative;
    display: block;
    color: #fff;
    font-size: 0.8rem;
    text-align: center;
    letter-spacing: 1px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.logo-wrapper span:after,
.logo-wrapper span:before {
    content: '';
    display: block;
    height: 1px;
    background: rgba(255, 255, 255, 0.5);
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .logo-wrapper span {
        font-size: 1.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .logo-wrapper span {
        font-size: 1.4rem;
    }
}

.main-header--small .logo-wrapper span {
    opacity: 0;
    height: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .main-header--small .logo-wrapper span {
        font-size: 0.9rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .main-header--small .logo-wrapper span {
        font-size: 1rem;
    }
}

/* =============================================================================
   Footer
============================================================================= */
.main-footer {
    display: flow-root;
    background-color: #e9e9e9;
    text-align: center;
    padding: 15px 0;
    margin-top: 30px;
    font-size: 1.2rem;
}

.main-footer:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 82.5em) {
    .main-footer {
        font-size: 1.4rem;
        padding: 30px 0;
    }
}

.main-footer li {
    display: inline-block;
    vertical-align: middle;
}

.main-footer a {
    color: #333;
}

.main-footer .btn-cookies {
    cursor: pointer;
    border: 0;
    background: none;
}

.main-footer .btn-cookies:hover,
.main-footer .btn-cookies:focus {
    text-decoration: underline;
}

.footer__links {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

@media only screen and (min-width: 48em) {
    .footer__links {
        margin-bottom: 0;
    }
}

.footer__links li {
    position: relative;
    line-height: 3rem;
    padding: 0 6px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer__links li:after {
    content: '|';
    color: #333;
    position: absolute;
    right: 0px;
    width: 1px;
    height: 100%;
    font-size: 1.5rem;
    line-height: 3rem;
}

.footer__links li:last-child:after {
    content: none;
}

.footer__links li button {
    padding: 0px;
    font-size: 1.2rem;
    color: #333;
    font-family: "Roboto", sans-serif;
    line-height: 3rem;
}

@media only screen and (min-width: 82.5em) {
    .footer__links li {
        padding: 0 12px;
    }

    .footer__links li:after {
        font-size: 1.8rem;
    }
    .footer__links li button {
        font-size: 1.4rem;
    }
}

.footer__networks {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    display: inline-block;
    vertical-align: middle;
    margin-left: 30px;
}

.footer__networks li {
    margin-right: 15px;
    line-height: 1;
}

.footer__logos {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    margin: 20px 0;
    text-align: center;
}

@media only screen and (max-width: 47.9375em) {
    .footer__logos {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-flow: row nowrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row nowrap;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-line-pack: start;
        align-content: flex-start;
    }
}

.footer__logos li {
    display: inline-block;
    vertical-align: middle;
    margin: 10px 15px;
    max-width: 200px;
}

@media only screen and (max-width: 47.9375em) {
    .footer__logos li {
        margin-left: 1px;
        margin-right: 1px;
    }
}

.footer__logos img,
.footer__logos a {
    display: block;
}

/* =============================================================================
   Nav
============================================================================= */
@media only screen and (min-width: 75em) {
    .nav__links-list--more-than-3 {
        display: none;
    }

    .mlvl--back {
        display: none;
    }

    .main-nav {
        overflow: hidden;
        padding: 20px 0 0 250px;
        -webkit-transition: padding 300ms;
        transition: padding 300ms;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-nav {
        padding-left: 180px;
        padding-top: 5px;
    }
}

@media only screen and (min-width: 75em) {
    .main-header--small .main-nav {
        padding-top: 0;
        padding-left: 175px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-header--small .main-nav {
        padding-left: 150px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) {
    .main-nav {
        display: block;
    }
}

@media only screen and (min-width: 75em) {
    .main-nav .nav-tree {
        list-style: none;
        margin: 0;
        padding: 0;
        border: 0;
        display: table;
        width: 100%;
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-nav .nav-tree {
        font-size: 1.1rem;
    }
}

@media only screen and (min-width: 75em) {
    .main-nav .nav-tree>li {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
    }

    .main-nav .nav-tree>li>a {
        position: relative;
        display: block;
        padding: 22px 5px;
        color: #fff;
        min-height: 65px;
        text-transform: uppercase;
        -webkit-transition: padding 300ms;
        transition: padding 300ms;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-nav .nav-tree>li>a {
        min-height: 0;
    }
}

@media only screen and (min-width: 75em) {
    .main-header--small .main-nav .nav-tree>li>a {
        padding-top: 15px;
        padding-bottom: 15px;
        min-height: 0;
    }

    .main-nav .nav-tree>li>a:after {
        content: '';
        display: block;
        width: 1px;
        position: absolute;
        top: 40%;
        bottom: 40%;
        right: 0;
        background: #fff;
        -webkit-transition: all 300ms;
        transition: all 300ms;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-nav .nav-tree>li>a:after {
        top: 40%;
        bottom: 43%;
    }
}

@media only screen and (min-width: 75em) {
    .main-header--small .main-nav .nav-tree>li>a:after {
        top: 37%;
        bottom: 50%;
        height: 13px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .main-header--small .main-nav .nav-tree>li>a:after {
        top: 36%;
        height: 11px;
    }
}

@media only screen and (min-width: 75em) {

    .main-nav .nav-tree>li>a:hover,
    .main-nav .nav-tree>li>a:focus,
    .main-nav .nav-tree>li>a:active {
        background: -webkit-gradient(linear, left top, left bottom, from(#b4506b), to(#8e3856));
        background: linear-gradient(to bottom, #b4506b 0%, #8e3856 100%);
        text-decoration: none;
    }

    .main-nav .nav-tree>li>a.ddn--opened {
        background: -webkit-gradient(linear, left top, left bottom, from(#b4506b), to(#8e3856));
        background: linear-gradient(to bottom, #b4506b 0%, #8e3856 100%);
        text-decoration: none;
    }

    .main-nav .nav-tree>li>a.ddn--opened:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 4px;
        background-color: #9ddc05;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .main-nav .nav-tree>li:last-child a {
        padding-right: 0;
    }

    .main-nav .nav-tree>li:last-child a:after {
        display: none;
    }
}

@media only screen and (min-width: 75em) {
    .sub-nav {
        display: none;
        position: absolute;
        background: #fff;
        max-width: 100%;
        padding: 55px 45px 50px;
        z-index: 2;
        text-align: left;
        overflow: auto;
        max-height: 80vh;
        -webkit-box-shadow: 0 0 20px 14px rgba(0, 0, 0, 0.15);
        box-shadow: 0 0 20px 14px rgba(0, 0, 0, 0.15);
    }

    .load-perimetre .sub-nav {
        padding: 40px 20px;
    }

    .load-perimetre .sub-nav:before {
        content: '';
        display: block;
        height: 100%;
        min-height: 414px;
        background: url("../images/loader-nav.png") no-repeat;
        background-size: 100% auto;
        -webkit-animation-name: loader;
        animation-name: loader;
        -webkit-animation-duration: 600ms;
        animation-duration: 600ms;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
        -webkit-animation-direction: alternate-reverse;
        animation-direction: alternate-reverse;
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    }

    .load-perimetre .sub-nav * {
        display: none;
    }

    .sub-nav .grid3 {
        width: 66%;
    }

    .sub-nav .gridbanner h2 {
        border: none;
        padding: 0;
    }

    .gridbanner .btn-cta {
        margin: 20px 0;
    }

    .gridbanner img {
        margin: 10px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 82.5em) {
    .sub-nav {
        min-width: 1280px;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .sub-nav {
        min-width: 100%;
        /*padding-top: 30px;*/
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media only screen and (min-width: 75em) {

    .sub-nav h2,
    .sub-nav .title {
        font-size: 1.8rem;
        line-height: 1.2;
        font-weight: bold;
        margin: 20px 0 10px;
        color: #a2516b;
        border-top: 1px solid #d5d5d5;
        padding-top: 20px;
    }

    .sub-nav h2 a,
    .sub-nav .title a {
        color: #a2516b;
    }

    .sub-nav h2:first-child,
    .sub-nav .title:first-child {
        margin-top: 0;
        padding-top: 0;
        border-top: 0;
    }

    .sub-nav .nav__links-list {
        margin: 1em 0;
        padding: 0;
        list-style: none;
        font-size: 1.4rem;
        color: #000;
    }

    .sub-nav .nav__links-list:first-child {
        margin-top: 0;
    }

    .sub-nav .nav__links-list:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (min-width: 75em) and (min-width: 75em) and (max-width: 93.6875em) {
    .sub-nav .nav__links-list {
        font-size: 1.2rem;
    }
}

@media only screen and (min-width: 75em) {
    .sub-nav .nav__links-list li {
        margin-bottom: 5px;
    }

    .sub-nav .nav__links-list a:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        margin-right: 12px;
        background: none;
        border-radius: 0;
        height: 0;
        width: 0;
        border-top: 4px solid transparent;
        border-bottom: 4px solid transparent;
        border-left: 4px solid #a2516b;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sub-nav .nav__links-list a:before {
        margin-right: 10px;
    }
}

@media only screen and (min-width: 75em) {
    .sub-nav .nav__links-list a {
        color: #000;
        display: block;
        padding: 2px 0;
    }

    .sub-nav .nav__links-list a:hover,
    .sub-nav .nav__links-list a:focus,
    .sub-nav .nav__links-list a:active {
        font-weight: bold;
        text-decoration: none;
    }

    .ddn--opened+.sub-nav {
        display: block;
    }
}

.sub-nav--perimetre {
    /* padding: 140px 0; */
    text-align: center;
}

@media only screen and (max-width: 74.9375em) {
    .sub-nav--perimetre {
        padding: 10px;
    }
}

.grid__item.services h2 {
    font-size: 1.8rem;
    text-align: left;
}

.sub-nav--perimetre h2 {
    margin: 0 0 20px;
    font-size: 3rem;
    line-height: 1.2;
    color: #3e3e3e;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .grid__item.services h2 {
        font-size: 1.8rem;
        text-align: left;
    }

    .sub-nav--perimetre h2 {
        font-size: 3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .grid__item.services h2 {
        font-size: 1.8rem;
        text-align: left;
    }

    .sub-nav--perimetre h2 {
        font-size: 3rem;
    }
}

@media only screen and (max-width: 74.9375em) {
    .sub-nav--perimetre h2 {
        color: #fff;
        padding: 10px;
        font-size: 1.6rem;
        line-height: 1.4;
    }
}

.sub-nav--perimetre p {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sub-nav--perimetre p {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sub-nav--perimetre p {
        font-size: 2.8rem;
    }
}

@media only screen and (max-width: 74.9375em) {
    .sub-nav--perimetre p {
        color: #fff;
        padding: 10px;
        font-size: 1.6rem;
        line-height: 1.4;
    }
}

.sub-nav--perimetre .btn-wrap {
    margin: 40px 0 0;
}

@media only screen and (max-width: 74.9375em) {
    .sub-nav--perimetre .btn-wrap {
        margin-top: 20px;
    }
}

@media only screen and (max-width: 74.9375em) {
    .sub-nav--perimetre .btn-cta {
        color: #3e3e3e;
    }

    .sub-nav--perimetre .btn-cta:hover,
    .sub-nav--perimetre .btn-cta:focus,
    .sub-nav--perimetre .btn-cta:active {
        color: #fff;
    }
}

.text-tools {
    display: none;
    /*float: right;*/
    text-align: right;
    padding: 0.5rem 0;
}

.wrap--sub-header .text-tools {
    padding: 0;
    position: relative;
    top: -30px;
}


@media only screen and (min-width: 48em) {
    .text-tools {
        display: block;
    }

    .home-nav {
        padding-top: 35px;
    }

    .home-nav .text-tools {
        margin: 0;
        top: -30px;
        right: 0;
        position: relative;
    }
}

@media only screen and (min-width: 75em) {
    .home-nav .text-tools {
        right: 0;
    }
}

.text-tools ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.text-tools li {
    display: inline-block;
    vertical-align: middle;
    margin-left: 6px;
}

.text-tools button {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
}

.text-tools button:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
}

.text-tools span {
    /*position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;*/
    text-transform: uppercase;
    font-size: 1.1rem;
    font-weight: 700;
}

.home-nav .text-tools a {
    background: #fff;
    display: block;
    padding: 5px 10px;
}

.text-tools__minus:before {
    background-image: url(../images/sprites.png);
    background-position: -79px -207px;
    width: 16px;
    height: 12px;
}

.text-tools__default:before {
    background-image: url(../images/sprites.png);
    background-position: -268px -20px;
    width: 12px;
    height: 14px;
}

.text-tools__plus:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -128px;
    width: 24px;
    height: 15px;
}

.account-tool,
.help-tool {
    display: block;
}

.help-tool:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/sprites.png);
    background-position: -60px -150px;
    width: 25px;
    height: 24px;
}

.account-tool:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/mon_compte.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 25px;
    height: 24px;
}

.account-tool span,
.help-tool span {
    /*position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;*/
}

.nav__faq {
    padding: 10px;
}

@media only screen and (min-width: 75em) {
    .nav__faq {
        display: none;
    }
}

.nav__tools .help-tool,
.nav__faq .help-tool {
    display: inline-block;
    vertical-align: middle;
    min-height: 50px;
    min-width: 50px;
    line-height: 50px;
    width: 100%;
    /* background: #4c4b4b; */
    text-align: center;
}

.nav__tools .help-tool:before,
.nav__faq .help-tool:before {
    background-image: url(../images/sprites.png);
    background-position: -30px -150px;
    width: 25px;
    height: 24px;
}

.nav__tools .help-tool:hover,
.nav__tools .help-tool:focus,
.nav__tools .help-tool:active,
.nav__faq .help-tool:hover,
.nav__faq .help-tool:focus,
.nav__faq .help-tool:active {
    background-color: #a2516b;
}

/* -----------------------------------------------------------------------------
   Side Menu
----------------------------------------------------------------------------- */
.side-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    padding: 10px;
    background: -webkit-gradient(linear, left top, left bottom, from(#e9e9e9), color-stop(28%, #e3e3e3), to(#e9e9e9));
    background: linear-gradient(to bottom, #e9e9e9 0%, #e3e3e3 28%, #e9e9e9 100%);
}

@media only screen and (max-width: 47.9375em) {
    .side-menu {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .side-menu:after {
        content: " ";
        display: block;
        clear: both;
    }

    body:not(.front) .side-menu {
        display: none;
    }
}

@media only screen and (min-width: 48em) {
    .side-menu {
        display: block;
        padding: 0;
        width: 22rem;
        position: fixed;
        left: calc(100% - 7.8rem);
        background: none;
        z-index: 9998;
    }
}

@media only screen and (min-width: 82.5em) {
    .side-menu {
        top: 14rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .side-menu {
        left: calc(100% - 5rem);
        top: 12rem;
    }
}

.side-menu li {
    margin-bottom: 8px;
}

@media only screen and (max-width: 47.9375em) {
    .side-menu li {
        margin-bottom: 0;
        width: calc(50% - 5px);
        float: left;
    }

    .side-menu li:first-child {
        margin-right: 5px;
    }

    .side-menu li:last-child {
        margin-left: 5px;
    }
}

.side-menu a {
    position: relative;
    display: block;
    background: #3e3e3e;
    height: 7.4rem;
    padding: 10px 0;
    transition: -webkit-transform 300ms;
    -webkit-transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
}

@media only screen and (max-width: 47.9375em) {
    .side-menu a {
        padding: 0 5px;
        height: auto;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .side-menu a {
        height: 5rem;
    }
}

.side-menu a:hover,
.side-menu a:focus,
.side-menu a:active {
    text-decoration: none;
}

@media only screen and (min-width: 48em) {

    .side-menu a:hover,
    .side-menu a:focus,
    .side-menu a:active {
        -webkit-transform: translateX(-14.2rem);
        transform: translateX(-14.2rem);
    }
}

.side-menu a.active {
    background-color: #a2516b;
}

.side-menu a.active:before {
    content: '';
    position: absolute;
    top: calc(50% - 15px);
    left: -15px;
    height: 0;
    width: 0;
    border-top: 15px solid transparent;
    border-right: 15px solid #a2516b;
    border-bottom: 15px solid transparent;
}

.side__pict {
    position: relative;
    display: block;
    text-align: center;
    height: 5.4rem;
    margin: 0 auto;
    width: 25px;
}

@media only screen and (max-width: 47.9375em) {
    .side__pict {
        display: inline-block;
        vertical-align: middle;
        height: auto;
    }
}

@media only screen and (min-width: 48em) {
    .side__pict {
        float: left;
        width: 7.8rem;
    }
}

@media only screen and (min-width: 82.5em) {
    .side__pict {
        width: 7.8rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .side__pict {
        height: 3rem;
        width: 5rem;
    }
}

.side__pict img {
    display: inline-block;
    vertical-align: middle;
    max-height: 100%;
}

@media only screen and (min-width: 82.5em) {
    .side__pict img {
        width: 4.5rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .side__pict img {
        width: 50%;
    }
}

.side__label {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 54px;
    padding-left: 15px;
}

@media only screen and (max-width: 47.9375em) {
    .side__label {
        display: inline-block;
        vertical-align: middle;
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .side__label {
        line-height: 30px;
        font-size: 1.4rem;
    }
}

/* =============================================================================
   Sliding panel
============================================================================= */
@media only screen and (max-width: 74.9375em) {
    .sp--wrapper {
        will-change: transform;
        transition: -webkit-transform 150ms ease-in-out;
        -webkit-transition: -webkit-transform 150ms ease-in-out;
        transition: transform 150ms ease-in-out;
        transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out;
    }

    .sp--is-expanded .sp--wrapper {
        -webkit-transform: translate3d(280px, 0, 0);
        transform: translate3d(280px, 0, 0);
    }

    .sp--is-expanded {
        overflow: hidden;
    }

    .sp--panel {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        width: 280px;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        background: #f4f4f4;
        transition: -webkit-transform 150ms ease-in-out;
        -webkit-transition: -webkit-transform 150ms ease-in-out;
        transition: transform 150ms ease-in-out;
        transition: transform 150ms ease-in-out, -webkit-transform 150ms ease-in-out;
        will-change: transform;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        z-index: 8;
    }

    .sp--is-expanded .sp--panel {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    .sp--no-transitions .sp--panel {
        display: none;
    }

    .sp--no-transitions.sp--is-expanded .sp--panel {
        display: block;
    }

    .sp--overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fafafa;
        background: rgba(0, 0, 0, 0.2);
        z-index: 3;
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        -webkit-transition: opacity 150ms ease-in-out;
        transition: opacity 150ms ease-in-out;
        will-change: transform, opacity;
    }

    .sp--no-transitions .sp--overlay {
        display: none;
    }

    .sp--is-expanded .sp--overlay {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* =============================================================================
   Side nav
============================================================================= */
/* =============================================================================
   "Burger" button
============================================================================= */
.burger {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    width: 50px;
    float: left;
    margin-right: 20px;
    padding: 10px 10px;
    cursor: pointer;
}

@media only screen and (min-width: 75em) {
    .burger {
        display: none;
    }
}

.burger__icon {
    display: block;
    position: relative;
    margin: 0 auto;
    background: #fff;
    height: 3px;
    margin-bottom: 11px;
    margin-top: 11px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    text-indent: -100px;
}

.burger__icon:before,
.burger__icon:after {
    content: '';
    height: 3px;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    background: #fff;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.burger__icon:before {
    top: -11px;
}

.burger__icon:after {
    bottom: -11px;
}

.burger__text {
    display: none;
}

.tooltip__panel--burger {
    width: 250px;
    top: 50px;
    left: 5px;
}

@media only screen and (min-width: 48em) {
    .tooltip__panel--burger {
        display: none !important;
    }
}

.tooltip__panel--burger:before {
    top: -12px;
    right: auto;
    left: 30px;
}

/* -----------------------------------------------------------------------------
   Panel
----------------------------------------------------------------------------- */
.nav__tools,
.logo,
.sp--close {
    display: none;
}

@media only screen and (max-width: 74.9375em) {
    .sp--panel {
        background: #3e3e3e;
        color: #fff;
    }

    .sp--panel a {
        color: #fff;
    }

    .sp--panel ul {
        list-style: none;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .sp--panel .logo {
        display: block;
        width: 80px;
        margin: 0 auto 10px;
    }

    .sp--panel__inner {
        position: relative;
        overflow: auto;
        max-height: 100%;
        -webkit-overflow-scrolling: touch;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 10px 0;
    }

    .sp--close {
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        position: relative;
        width: 25px;
        height: 25px;
        cursor: pointer;
        position: absolute;
        top: 10px;
        left: 10px;
    }

    .sp--close:before,
    .sp--close:after {
        content: '';
        position: absolute;
        top: 12.5px;
        left: 0;
        right: 0;
        height: 1px;
        background: #fff;
    }

    .sp--close:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .sp--close:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .sp--close span {
        display: block;
    }

    .nav__tools {
        display: block;
        padding: 5px 10px;
        background-color: #4c4b4b;
    }

    .nav__tools ul {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -ms-flex-align: strech;
        -webkit-box-align: strech;
        align-items: strech;
        -ms-flex-line-pack: start;
        align-content: flex-start;
    }

    .nav__tools li {
        width: 22%;
    }

    .nav__tools a {
        display: block;
        min-height: 50px;
        line-height: 50px;
        background: #3e3e3e;
        text-align: center;
    }

    .nav__tools a:hover,
    .nav__tools a:focus,
    .nav__tools a:active {
        background-color: #a2516b;
    }

    .nav__tools a img {
        display: inline-block;
        vertical-align: middle;
        max-width: 30px;
    }

    .main-nav {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        top: 130px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
}

@media only screen and (max-width: 74.9375em) and (max-width: 74.9375em) {

    .main-nav .mlvl-level--top,
    .main-nav .menu-level-wrapper {
        position: relative;
    }
}

@media only screen and (max-width: 74.9375em) {

    .main-nav a:hover,
    .main-nav a:focus,
    .main-nav a:active {
        text-decoration: none;
        background-color: #a2516b;
    }

    .main-nav .mlvl--back {
        position: relative;
        margin: 0;
        padding: 0;
        border: 0;
        cursor: pointer;
        background: none;
        display: block;
        width: 100%;
        color: #fff;
        font-size: 1.6rem;
        line-height: 1.5;
        background-color: #333;
        padding: 12px 10px 12px 30px;
        text-align: left;
    }

    .main-nav .mlvl--back .back-arrow {
        position: relative;
        position: absolute;
        left: 15px;
        top: 0;
        bottom: 0;
    }

    .main-nav .mlvl--back .back-arrow:after,
    .main-nav .mlvl--back .back-arrow:before {
        content: '';
        position: absolute;
        right: calc(50% - 5px);
        top: calc(50% - 10px);
        border: solid transparent;
        height: 0;
        width: 0;
        pointer-events: none;
    }

    .main-nav .mlvl--back .back-arrow:before {
        border-color: rgba(255, 255, 255, 0);
        border-right-color: #fff;
        border-width: 10px;
    }

    .main-nav .mlvl--back .back-arrow:after {
        border-color: rgba(51, 51, 51, 0);
        border-right-color: #333;
        border-width: 12px;
        right: calc(50% - 10px + 1px + 1px);
        top: calc(50% - 12px);
    }

    .main-nav .nav-tree a {
        position: relative;
        display: block;
    }

    .main-nav .nav-tree .tree__arrow {
        position: relative;
        display: block;
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        width: 24px;
        transition: -webkit-transform 300ms;
        -webkit-transition: -webkit-transform 300ms;
        transition: transform 300ms;
        transition: transform 300ms, -webkit-transform 300ms;
    }

    .main-nav .nav-tree .tree__arrow:after,
    .main-nav .nav-tree .tree__arrow:before {
        content: '';
        position: absolute;
        left: calc(50% - 5px);
        top: calc(50% - 10px);
        border: solid transparent;
        height: 0;
        width: 0;
        pointer-events: none;
    }

    .main-nav .nav-tree .tree__arrow:before {
        border-color: rgba(255, 255, 255, 0);
        border-left-color: #fff;
        border-width: 10px;
    }

    .main-nav .nav-tree .tree__arrow:after {
        border-color: rgba(62, 62, 62, 0);
        border-left-color: #3e3e3e;
        border-width: 12px;
        left: calc(50% - 10px + 1px + 1px);
        top: calc(50% - 12px);
    }

    .main-nav .nav-tree li {
        border-bottom: 1px solid #484848;
    }

    .main-nav .nav-tree li a {
        padding: 12px 40px 12px 10px;
        font-weight: 300;
        font-size: 1.6rem;
    }

    .main-nav .nav-tree li a:hover .tree__arrow:after,
    .main-nav .nav-tree li a:focus .tree__arrow:after,
    .main-nav .nav-tree li a:active .tree__arrow:after {
        border-left-color: #a2516b;
    }

    .main-nav .nav-tree li a.current {
        text-decoration: none;
        background-color: #a2516b;
    }

    .main-nav .nav-tree li a.current .tree__arrow:after {
        border-left-color: #a2516b;
    }

    .main-nav .nav-tree ul li>a {
        padding-left: 30px;
    }

    .main-nav .nav-tree ul>li>ul>li>a {
        padding-left: 50px;
    }

    .main-nav .services-wrap {
        display: none;
        padding: 10px;
    }

    .sub-nav .grid__item {
        width: auto;
        float: none;
        margin-right: 0;
    }

    h2,
    .mlvl-parent {
        margin: 0;
        position: relative;
    }
}

.breadcrumb {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .breadcrumb {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .breadcrumb {
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .breadcrumb {
        margin-bottom: 0;
    }
}

.breadcrumb a {
    text-decoration: underline;
    color: #403f3f;
}

.breadcrumb a:hover,
.breadcrumb a:focus,
.breadcrumb a:active {
    text-decoration: none;
}

.breadcrumb span {
    display: inline-block;
    vertical-align: middle;
}

.breadcrumb span:not(:first-child):before {
    content: '>';
    margin: 0 5px 0 2px;
}

.breadcrumb-label {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}


.search {
    margin: 0 0 20px;
    background-color: #dadada;
    padding: 10px 0;
}

@media only screen and (min-width: 48em) {
    .search {
        padding: 20px 0;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search {
        padding: 10px 0;
    }
}

.search input {
    display: inline-block;
    vertical-align: middle;
    background: #fff;
    border: 2px solid #fff;
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 14px 16px;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    height: 60px;
}

.search input.placeholder {
    color: #333333;
}

.search input::-webkit-input-placeholder {
    color: #333333;
}

.search input::-moz-placeholder {
    color: #333333;
}

.search input:-ms-input-placeholder {
    color: #333333;
}

.search input::-ms-input-placeholder {
    color: #333333;
}

.search input::placeholder {
    color: #333333;
}

.search input:focus {
    border-color: #a2516b;
    outline: none;
}

@media only screen and (max-width: 47.9375em) {
    .search input {
        width: calc(100% - 40px);
        border: 1px solid #3e3e3e;
        height: 40px;
    }
}

@media only screen and (min-width: 48em) {
    .search input {
        width: 75%;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search input {
        padding: 10px 15px;
        height: 44px;
    }
}

.search .search__submit {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: #a2516b;
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    text-transform: uppercase;
    padding: 0 20px;
    letter-spacing: 1px;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0 20px;
    height: 60px;
    width: 60px;
    margin-left: -3px;
    margin-right: 20px;
    text-align: center;
}

.search .search__submit:hover,
.search .search__submit:focus,
.search .search__submit:active {
    text-decoration: none;
}

.search .search__submit:hover,
.search .search__submit:focus,
.search .search__submit:active {
    background-color: #af5e78;
}

.search .search__submit:active {
    color: #f4f4f4;
}

@media only screen and (min-width: 82.5em) {
    .search .search__submit {
        font-size: 1.8rem;
    }
}

.search .search__submit[disabled="disabled"] {
    opacity: 0.5;
    cursor: not-allowed;
}

@media only screen and (max-width: 47.9375em) {
    .search .search__submit {
        margin-right: 0;
        background-color: #3e3e3e;
        border: 1px solid #3e3e3e;
        height: 40px;
        width: 40px;
        padding: 0;
    }
}

@media only screen and (max-width: 82.4375em) {
    .search .search__submit {
        margin-right: 0;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search .search__submit {
        height: 44px;
        width: 44px;
        padding: 0;
    }
}

/*.search .search__submit:focus {
    outline: 2px solid #75a402;
}*/

.search.homeSearch {
    margin: 0;
}

.search.homeSearch .btn-toggle-wrap {
    display: none;
}

.search .btn-toggle-wrap {
    text-align: right;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    max-width: 114px;
}

@media only screen and (max-width: 47.9375em) {
    .search .btn-toggle-wrap {
        display: none;
    }
}

.search .btn--toggle {
    margin-left: 15px;
}

.btn--toggle {
    display: inline-block;
    vertical-align: middle;
    width: 4rem;
    height: 4rem;
    line-height: 3.8rem;
    text-align: center;
    border: 1px solid #818181;
    background-color: #fff;
    cursor: pointer;
}

.btn--toggle:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
}

.btn--toggle:hover:not(.btn--toggle--active),
.btn--toggle:focus:not(.btn--toggle--active),
.btn--toggle:active:not(.btn--toggle--active) {
    background: #f4f4f4;
}

.btn--toggle span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.btn--toggle--list:before {
    background-image: url(../images/sprites.png);
    background-position: -154px -150px;
    width: 27px;
    height: 21px;
}

.btn--toggle--grid:before {
    background-image: url(../images/sprites.png);
    background-position: -191px -97px;
    width: 23px;
    height: 23px;
}

.btn--toggle--active {
    background-color: #a2516b;
    border-color: #a2516b;
    cursor: default;
}

.btn--toggle--active.btn--toggle--list:before {
    background-image: url(../images/sprites.png);
    background-position: -90px -150px;
    width: 27px;
    height: 21px;
}

.btn--toggle--active.btn--toggle--grid:before {
    background-image: url(../images/sprites.png);
    background-position: -191px -69px;
    width: 23px;
    height: 23px;
}

.search__no-result {
    padding: 40px 0;
    text-align: center;
    font-size: 1.6rem;
    width: 100%;
}

/* =============================================================================
   Back to top
============================================================================= */
.back-to-top {
    position: fixed;
    bottom: -1em;
    right: 1em;
    z-index: 10;
    -webkit-transition: 1s;
    transition: 1s;
    opacity: 0;
}

@media only screen and (max-width: 47.9375em) {
    .back-to-top {
        bottom: auto;
        top: -4em;
    }
}

.back-to-top>a {
    position: relative;
    display: block;
    width: 40px;
    height: 40px;
    padding: 0.5em;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #000;
    opacity: 0.8;
    -webkit-transition: 500ms;
    transition: 500ms;
}

@media only screen and (max-width: 47.9375em) {
    .back-to-top>a {
        padding: 10px 15px;
    }
}

.back-to-top>a:after,
.back-to-top>a:before {
    bottom: 15px;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.back-to-top>a:after {
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: #000;
    border-width: 10px;
    margin-left: -10px;
}

.back-to-top>a:before {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 11px;
    margin-left: -11px;
}

.back-to-top>a:hover,
.back-to-top>a:focus,
.back-to-top>a:active {
    opacity: 1;
    background-color: #a2516b;
}

.back-to-top>a:hover:before,
.back-to-top>a:focus:before,
.back-to-top>a:active:before {
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: #000;
}

.back-to-top>a:hover:after,
.back-to-top>a:focus:after,
.back-to-top>a:active:after {
    border-color: rgba(162, 81, 107, 0);
    border-bottom-color: #a2516b;
}

.back-to-top:hover,
.back-to-top:focus,
.back-to-top:active {
    opacity: 1;
    bottom: 1em;
}

.back-to-top span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.back-to-top--is-visible {
    opacity: 1;
    bottom: 1em;
}

@media only screen and (max-width: 47.9375em) {
    .back-to-top--is-visible {
        bottom: auto;
        top: 1em;
    }
}

.sidebar-nav {
    border: 1px solid #ccc;
    padding: 15px;
    margin-bottom: 20px;
}

.grid--article>.grid__item+.grid__item .sidebar-nav {
    margin-bottom: 0;
}

@media only screen and (max-width: 63.9375em) {
    .sidebar-nav {
        display: none;
    }
}

.sidebar-nav>header {
    padding: 0 0 15px;
}

.sidebar-nav>header .title {
    margin: 0;
    font-size: 1.6rem;
    color: #3e3e3e;
    font-weight: normal;
    text-transform: uppercase;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav>header .title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav>header .title {
        font-size: 2.4rem;
    }
}

.sidebar-nav .nav-tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.sidebar-nav .nav-tree ul a {
    display: block;
}

.sidebar-nav .nav-tree ul ul {
    display: none;
}

.sidebar-nav .nav-tree .tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree .tree__parent--is-active+ul {
    display: block;
}

.sidebar-nav .nav-tree>ul>li {
    border-bottom: 1px solid #fff;
}

.sidebar-nav .nav-tree>ul>li>div>a {
    position: relative;
    font-size: 1.6rem;
    background-color: #3e3e3e;
    color: #fff;
    padding: 15px 25px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>div>a {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>div>a {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>div>a {
        padding: 10px 15px;
    }
}

.sidebar-nav .nav-tree>ul>li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>div>a:active {
    background-color: #4b4b4b;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>div.tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree>ul>li>div.tree__parent--is-active a:before {
    content: '';
    background-color: #dbdf71;
    width: 6px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
}

.sidebar-nav .nav-tree>ul>li>ul>li:not(:first-child) {
    border-top: 1px solid #3e3e3e;
}

.sidebar-nav .nav-tree>ul>li>ul>li>div>a {
    position: relative;
    font-size: 1.4rem;
    padding: 15px 20px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>div>a {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>div>a {
        font-size: 1.8rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>div>a {
        padding: 10px 15px;
    }
}

.sidebar-nav .nav-tree>ul>li>ul>li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>ul>li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>ul>li>div>a:active {
    background-color: #f4f4f4;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>ul>li>div.tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li {
    border-top: 1px solid #e9e9e9;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a {
    position: relative;
    font-size: 1.3rem;
    padding: 15px 20px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a {
        padding: 10px 15px;
    }
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    height: 0;
    width: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #a2516b;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div>a:active {
    background-color: #f4f4f4;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>div.tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li {
    border-top: 1px solid #e9e9e9;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a {
    position: relative;
    font-size: 1.3rem;
    padding: 15px 20px 15px 35px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a {
        padding: 10px 15px;
    }
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    width: 4px;
    height: 4px;
    background-color: #a2516b;
    border-radius: 50%;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div>a:active {
    background-color: #f4f4f4;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>div.tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li {
    border-top: 1px solid #e9e9e9;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a {
    position: relative;
    font-size: 1.3rem;
    padding: 15px 20px 15px 50px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a {
        padding: 10px 20px 10px 40px;
    }
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    margin-left: -15px;
    background-image: url(../images/sprites.png);
    background-position: -268px -70px;
    width: 9px;
    height: 4px;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div>a:active {
    background-color: #f4f4f4;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>div.tree__parent--is-active {
    font-weight: bold;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li {
    border-top: 1px solid #e9e9e9;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a {
    position: relative;
    font-size: 1.2rem;
    padding: 15px 20px 15px 35px;
    line-height: 1.2;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a {
        font-size: 1.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a {
        font-size: 1.2rem;
    }
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a:hover,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a:focus,
.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div>a:active {
    background-color: #f4f4f4;
    text-decoration: none;
}

.sidebar-nav .nav-tree>ul>li>ul>li>ul>li>ul>li>ul>li>ul li>div.tree__parent--is-active {
    font-weight: bold;
}

.home .layer h2 {
    margin-bottom: 20px;
}

/* couche 1 */

.couche1 {
    background: transparent;
    border-top: 3px solid #a2516b;
    -webkit-box-shadow: 0px 5px 9px -2px rgba(0, 0, 0, 0.42);
    box-shadow: 0px 5px 9px -2px rgba(0, 0, 0, 0.42);
}

#popinSplash {
    background: transparent;
    padding: 0;
}

.mobileBg,
.couche1,
#popinSplash {
    background-size: cover;
    background-repeat: no-repeat;
    background-position-y: bottom;
}

#popinSplash .mobileBg {
    padding: 20px 60px 20px 20px;
}

.mobileBg {
    padding: 20px 40px 20px 40px;
    position: relative;
}

.couche1 .wrap>a {
    display: block;
}

.couche1 .left,
#popinSplash .left {
    width: 33%;
    float: left;
    padding-right: 20px;
}

.couche1 .right,
#popinSplash .right {
    position: relative;
    display: block;
    min-width: 66%;
    float: right;
    width: 66%;
}

.couche1 h2,
.couche1 p,
.couche1 li,
#popinSplash h2,
#popinSplash p,
#popinSplash li {
    color: #333333;
    font-size: 1.6rem;
}

.couche1 .surtitre,
#popinSplash .surtitre {
    display: inline-block;
    background: #d7db4a;
    padding: 5px 15px;
    font-size: 3rem;
    font-weight: 700;
}

.couche1 h2,
#popinSplash h2 {
    margin: 5px 0;
    font-size: 4rem;
    font-weight: bold;
    text-transform: initial;
}

.couche1 p,
#popinSplash p {
    margin: 5px 0;
    font-size: 2.4rem;
    font-weight: 500;
}

.couche1 .sousTitre p,
#popinSplash .sousTitre p {
    color: #a2516b;
}

#popinSplash .bottom {
    position: relative;
    width: 100%;
    clear: both;
}

#popinSplash .bottom .cookiePop {
    display: inline-block;
    text-align: center;
    width: 33%;
    padding-top: 20px;
    padding-bottom: 11px;
}

#popinSplash .bottom .btnPopin {
    bottom: 0;
}

.cookiePop {
    cursor: pointer;
}

.btncouche1,
.btncouche2,
.btnPopin {
    background: #333333;
    padding: 10px 35px 10px 15px;
    color: #fff;
    font-size: 1.6rem;
}

.btncouche1,
.btnPopin {
    position: absolute;
    bottom: 20px;
    right: -20px;
    border: none;
    text-transform: uppercase;
}

.couche1 .btncouche1 {
    position: relative;
    width: auto;
    float: right;
    bottom: 0;
    right: 0;
}

.btncouche2 {
    position: relative;
    display: block;
    margin: 0 auto;
    text-align: center;
    width: 200px;
}

.btncouche1:hover,
.btncouche2:hover,
.btnPopin:hover {
    background: #4b4b4b;
    text-decoration: underline;
}

.btncouche1.filter__arrow::after,
.btncouche2.filter__arrow::after,
.btnPopin.filter__arrow::after {
    content: '';
    position: absolute;
    top: 30%;
    right: 15px;
    height: 15px;
    width: 15px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.btncouche1.filter__arrow::before,
.btncouche2.filter__arrow::before,
.btnPopin.filter__arrow::before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 10px;
}

#popinSplash .checkPop {
    border: none;
    background: none;
    font-size: 1.5rem;
    margin: 0px auto;
    text-align: center;
    font-weight: bold;
}

.clear {
    clear: both;
    height: 0;
}

.goDown {
    display: none !important;
}

/* old min-width: 47.9375em*/
@media only screen and (min-width: 1024px) {
    .mobileBg {

        background-image: none !important;
    }

    /*.couche1 .btncouche1 {
        right: 20px;
    }*/
}

@media only screen and (max-width: 47.9375em) {
    .couche1 {
        background-image: none !important;
    }

    .couche1 .surtitre,
    #popinSplash .surtitre {
        font-size: 2.2rem;
    }

    .couche1 h2,
    #popinSplash h2 {
        font-size: 3rem;
    }

    .couche1 p,
    #popinSplash p {
        font-size: 1.8rem;
    }

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

    .couche1 .btncouche1 {
        /*bottom: -40px;*/
        right: -20px;
    }
}

@media only screen and (max-width: 31.9375em) {

    .couche1 .right,
    .couche1 .left {
        width: 100%;
    }

    .couche1 .left img {
        margin: 15px 0;
    }

    #popinSplash .right,
    #popinSplash .left,
    #popinSplash .left img {
        width: 100%;
    }

    #popinSplash .left img {
        margin: 15px 0;
    }

    #popinSplash .bottom .cookiePop {
        width: 100%;
        text-align: right;
        right: -10px;
    }

    #popinSplash .bottom .btnPopin {
        position: relative;
        width: auto;
        float: right;
        bottom: 0;
        right: -10px;
    }

    .btncouche1.filter__arrow::before {
        top: 24%;
    }
}

/*.home h2 {
    text-transform: uppercase;
}*/

.layer2,
.layer3,
.layer4 {
    padding: 30px 0;
}

/* Couche 3 Actus Accueil */

.layer3 {
    background: #F2F2F2;
    border-top: 4px solid #a2516b;
}

.flexbox {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: column nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-flow: column nowrap;
}

.block-actu {
    position: relative;
    background: #fff;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    text-align: left;
    height: 100%;
}

.block-img {
    position: relative;
    width: 60px;
    height: 60px;
}

.block-actu img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 100%;
    width: auto !important;
}

.block-actu img:nth-child(2) {
    opacity: 0;
}

.block-actu a:hover img:first-child,
.block-actu a:focus img:first-child {
    opacity: 0;
}

.block-actu a:hover img:last-child,
.block-actu a:focus img:last-child {
    opacity: 1;
}

.block-actu .tag {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    background: #d7db4a;
    color: #3e3e3e;
    line-height: 1.2;
    padding: 3px 5px;
    font-size: 1.4rem;
    font-weight: 700;
    border: 0;
    cursor: pointer;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.block-actu .date-actu {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 12px;
}

.block-actu h3 {
    color: #a2516b;
    font-size: 2rem;
    margin: 0 0 15px;
    line-height: 1.2;
    font-weight: 600;
    position: relative;
    z-index: 5;
}

.block-actu .desc {
    font-size: 1.5rem;
}

.block-actu p {
    margin-top: 0;
}

.block-actu a {
    position: relative;
    display: block;
    padding: 25px;
    min-height: 300px;
    height: 100%;
}

.block-actu a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.block-actu a:hover,
.block-actu a:focus {
    text-decoration: none;
}

.block-actu a:hover:before,
.block-actu a:focus:before {
    background: rgba(0, 0, 0, 0.8);
}

.block-actu a:hover h3,
.block-actu a:focus h3,
.block-actu a:hover .desc,
.block-actu a:focus .desc,
.block-actu a:hover .date-actu,
.block-actu a:focus .date-actu,
.block-actu a:hover .tag,
.block-actu a:focus .tag {
    color: #fff;
}

.block-actu a:hover .tag,
.block-actu a:focus .tag {
    background-color: #555;
}

.btn-more-content {
    text-align: center;
    margin: 30px 0 0;
}

.btn-more-content a {
    position: relative;
    background: #333333;
    padding: 10px 35px 10px 15px;
    color: #fff;
    font-size: 1.6rem;
    text-transform: uppercase;
    display: inline-block;
}

.btn-more-content a:hover {
    background: #4b4b4b;
    text-decoration: underline;
}

.btn-more-content a::after,
.btn-more-content a:hover::after {
    content: '';
    position: absolute;
    top: 30%;
    right: 15px;
    height: 15px;
    width: 15px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    pointer-events: none;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

/*.btn-more-content a:hover::after {
    border-top-color: #4b4b4b;
}*/

/*.btn-more-content a::after,
.btn-more-content a::before {
    content: '';
    position: absolute;
    top: 25%;
    right: 0;
    border: solid transparent;
    height: 0;
    width: 0;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    pointer-events: none;
}

.btn-more-content a::after {
    border-width: 12px;
    border-top-color: #333333;
    top: 20%;
}

.btn-more-content a::before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 10px;
}*/

/* couche4 FAQ */
.home .faq__item>h2 {
    display: none;
}

.home .faq__item .faq__qr {
    -ms-flex: 0 0 23.54%;
    -webkit-box-flex: 0;
    flex: 0 0 23.54%;
    margin-right: 1.90%;
}

.home .faq__item .faq__qr:nth-of-type(4n) {
    margin-right: 0;
}

.home .faq__item .flex--wrap {
    -ms-flex-pack: normal;
    -webkit-box-pack: normal;
    justify-content: normal;
}

/* block couche 2 */
.couche2 {
    position: relative;
    clear: both;
    background-color: #f2f2f2;
    /*min-height: 150px;*/
    padding: 20px;
    margin-bottom: 3rem;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
    ;
}

.couche2 a {
    display: block;
}

.couche2:hover,
.couche2:focus {
    -webkit-box-shadow: 0px 5px 9px -2px rgba(0, 0, 0, 0.42);
    box-shadow: 0px 5px 9px -2px rgba(0, 0, 0, 0.42);
}

.couche2 .left {
    max-width: 25%;
    width: auto;
    float: left;
    overflow: hidden;
    text-align: center;
    padding-bottom: 62px;
}

.couche2 .left img {
    width: 100%;
}

.couche2 .right h3 {
    margin-top: 16px;
    text-transform: uppercase;
    color: #a2516b;
    margin: 0 0 5px;
    font-size: 1.6rem;
}

.couche2 .right p {
    font-size: 1.4rem;
    margin: 0;
}

.couche2 .right {
    text-align: left;
    width: 75%;
    float: left;
    padding-left: 20px;
    padding-bottom: 62px;
}

.couche2 .btncouche1 {
    height: 45px;
    clear: both;
    float: none;
    font-size: 1.6rem;
    bottom: 20px;
    right: 20px;
}

.couche2 .btncouche1.notext {
    height: 45px;
    width: 35px;
    padding: 10px 20px 10px 15px;
}

.layer2 .content-box:hover a,
.layer2 .content-box:focus a,
.layer2 .content-box:active a,
.layer2 .content-box:hover,
.layer2 .content-box:focus,
.layer2 .content-box:active {
    text-decoration: none;
    color: #000;
}



/* =============================================================================
   Menu level
============================================================================= */
@media only screen and (max-width: 74.9375em) {
    .mlvl-level {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        background: #3e3e3e;
        transition: -webkit-transform 200ms ease-out;
        -webkit-transition: -webkit-transform 200ms ease-out;
        transition: transform 200ms ease-out;
        transition: transform 200ms ease-out, -webkit-transform 200ms ease-out;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        z-index: 2;
    }

    .mlvl-level--top {
        position: static;
        background: none;
        overflow: hidden;
    }

    .mlvl--is-hidden {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    .no-csstransitions .mlvl--is-hidden {
        display: none;
    }
}

/* =============================================================================
   Home nav
============================================================================= */
.home-nav {
    display: flow-root;
    position: relative;
    background: url("../images/mockup/background-header.jpg") no-repeat;
    background-size: cover;
}

.home-nav:after {
    content: "";
    display: table;
    clear: both;
}

.home-nav:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: url("../images/pattern.png") repeat;
    opacity: 0.1;
}

.home-nav>.wrap {
    padding-top: 1px;
}

.goDown {
    display: none;
    position: relative;
    z-index: 1;
    height: 120px;
    padding-top: 80px;
    background: url(../images/mouse.png) center top no-repeat;
    background-size: 50px;
    text-align: center;
    cursor: pointer;
}

.goDown span {
    font-weight: bold;
    text-transform: uppercase;
    color: #a2516b;
}

@media only screen and (max-width: 47.9375em) {
    .home-nav>.wrap {
        padding-bottom: 10px;
    }
}

#cookies {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
}

@media only screen and (max-width: 47.9375em) {
    #cookies {
        padding: 10px;
    }
}

#cookies .wrap {
    padding-right: 30px;
    max-width: 1000px;
}

@media only screen and (max-width: 47.9375em) {
    #cookies .wrap {
        padding: 0;
    }
}

#cookies .btn--small-close {
    position: absolute;
    top: -20px;
    right: 0;
}

@media only screen and (max-width: 47.9375em) {
    #cookies .btn--small-close {
        top: 0;
        width: auto;
    }
}

#cookies .cookies__buttons,
#cookies .cookies__text {
    display: inline-block;
    vertical-align: middle;
}

#cookies .cookies__text {
    width: 70%;
    margin-right: 20px;
}

@media only screen and (max-width: 47.9375em) {
    #cookies .cookies__text {
        width: auto;
        margin-bottom: 10px;
        margin-right: 40px;
    }
}

#cookies .cookies__text a {
    text-decoration: underline;
}

#cookies .cookies__text a:hover,
#cookies .cookies__text a:focus,
#cookies .cookies__text a:active {
    text-decoration: none;
}

@media only screen and (max-width: 47.9375em) {
    #cookies .cookies__buttons {
        display: block;
        text-align: right;
    }
}

#cookies .cookies__buttons a,
#cookies .cookies__buttons button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
}

#cookies .cookies__buttons a {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background-color: #a2516b;
    font-weight: normal;
    padding: 2px 10px;
    font-size: 1.3rem;
    color: #fff;
    background-color: #666;
}

#cookies .cookies__buttons a:hover,
#cookies .cookies__buttons a:focus,
#cookies .cookies__buttons a:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    #cookies .cookies__buttons a {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    #cookies .cookies__buttons a {
        font-size: 1.6rem;
    }
}

#cookies .cookies__buttons a:hover,
#cookies .cookies__buttons a:focus,
#cookies .cookies__buttons a:active {
    background: #af5e78;
}

.icon-disc {
    position: relative;
    cursor: pointer;
    display: block;
    background: #3e3e3e;
    border-radius: 50%;
    text-align: center;
    border: 0;
    padding: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
}

@media only screen and (min-width: 93.75em) {
    .icon-disc {
        width: 42px;
        height: 42px;
        line-height: 42px;
    }
}

.icon-disc img {
    /*display: inline-block;
    vertical-align: middle;*/
    max-width: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.icon-disc:hover,
.icon-disc:focus,
.icon-disc:active {
    background-color: #a2516b;
}

.icon-rss img {
    position: relative;
    left: 5%;
}

.icon-disc--green {
    background: #dbdf71;
}

.icon-disc--green:hover,
.icon-disc--green:focus,
.icon-disc--green:active {
    background-color: #e0e486;
}

.icon-disc--right {
    position: absolute;
    top: 0;
    right: 0;
    border: 0;
    padding: 0;
}

.box .icon-disc--right {
    top: -10px;
}

.faq__answer .icon-disc--right {
    top: 20px;
    right: 15px;
}

/* =============================================================================
   Content grid
============================================================================= */
/*
  .content-grid-static : Conteneur dans le mode d'affichage fixe.
  .content-grid : Conteneur dans le mode d'affichage tuiles uniformes (flex-box).
*/
.content-grid {
    margin-bottom: 20px;
    display: none;
    -ms-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    clear: both;
}

.content-grid.content-grid--list {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}

.no-flexbox .content-grid.content-grid--list {
    display: block;
}

.search__next-results {
    margin-bottom: 20px;
    font-weight: 300;
}

@media only screen and (min-width: 48em) and (max-width: 74.9375em) {
    .display-mode--grid .wrap {
        margin: 0 50px 40px;
    }

    .home-nav .wrap {
        margin: 0 50px;
    }

    .cards-slider {
        max-width: 1280px;
    }

    .mobileBg {
        padding: 20px 0 20px 0;

    }
}

.content-grid--is-active {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
}

.no-flexbox .content-grid--is-active {
    display: block;
}

.display-mode--grid .content-grid:after {
    content: '';
    display: block;
    -ms-flex-preferred-size: 31.6%;
    flex-basis: 31.6%;
}

.content__dates {
    font-size: 1.4rem;
    margin: 10px 0 0;
    display: none;
}

.display-mode--list .content__dates {
    display: block;
}

@media only screen and (min-width: 93.75em) {
    .content__dates>div {
        display: inline-block;
        vertical-align: middle;
    }
}

.dates__sep {
    display: inline-block;
    vertical-align: middle;
    margin: 0 5px;
}

@media only screen and (max-width: 93.6875em) {
    .dates__sep {
        display: none;
    }
}

.date__label {
    display: inline;
    color: #502e59;
    text-transform: uppercase;
    margin-right: 10px;
}

.date__value {
    display: inline;
}

.date__value:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    background-image: url(../images/sprites.png);
    background-position: 0px -248px;
    width: 14px;
    height: 14px;
}

.content-box:hover .date__value:before {
    background-image: url(../images/sprites.png);
    background-position: -19px -248px;
    width: 14px;
    height: 14px;
}

.content__type {
    position: relative;
    margin: 0;
    text-transform: uppercase;
    text-align: right;
    font-size: 1rem;
    color: #502e59;
    z-index: 1;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content__type {
        font-size: 1.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content__type {
        font-size: 1.4rem;
    }
}

.content__date {
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
    margin: 10px 0;
    color: #502e59;
}

.content__date:first-child {
    margin-top: 0;
}

@media only screen and (max-width: 47.9375em) {
    .content__date {
        margin: 0 0 5px;
        letter-spacing: 0;
        font-size: 1rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content__date {
        font-size: 1.1rem;
        letter-spacing: 1px;
    }
}

.content-box {
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    margin-bottom: 10px;
}

.content-box:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content-box {
        min-height: 32.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-box {
        min-height: 39rem;
    }
}

.display-mode--grid .content-box .tags-list {
    display: none;
}

.display-mode--list .content-box {
    width: 100%;
}

.display-mode--grid .content-grid .content-box {
    -ms-flex: 0 1 auto;
    -webkit-box-flex: 0;
    flex: 0 1 auto;
    -ms-flex-preferred-size: 31.6%;
    flex-basis: 31.6%;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
}

@media only screen and (min-width: 0em) and (max-width: 47.9375em) {
    .display-mode--grid .content-grid .content-box {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }
}

@media only screen and (min-width: 48em) {
    .content-box {
        margin-bottom: 15px;
    }

    .home .content-box {
        margin-bottom: 0;
    }
}

/* A voir dans le temps si pas d'impact dans les pages*/
/*@media only screen and (min-width: 93.75em) {
    .content-box {
        margin-bottom: 30px;
    }
}*/

.content-box .content__pict {
    display: block;
    width: 100%;
}

.content-box .content__play {
    position: relative;
    display: block;
    z-index: 2;
}

.content-box .content__play:after {
    content: '';
    position: absolute;
    top: calc(50% - 48px);
    left: calc(50% - 48px);
    vertical-align: middle;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    background-image: url(../images/sprites.png);
    background-position: 0px 0px;
    width: 96px;
    height: 96px;
}

@media only screen and (max-width: 47.9375em) {
    .content-box .content__play:after {
        background: url("../images/play.png");
        width: 48px;
        height: 48px;
        background-size: cover;
        top: calc(50% - 24px);
        left: calc(50% - 24px);
    }
}

.content-box .content__play:hover:after,
.content-box .content__play:focus:after,
.content-box .content__play:active:after {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.content-box.content-box--highlight .content__play:after {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.content__breadcrumb {
    display: none;
    color: #a2516b;
    font-size: 1.4rem;
    margin-top: 5px;
}

.content__breadcrumb a {
    color: #a2516b;
}

.display-mode--list .content__breadcrumb {
    display: block;
}

.display-mode--grid .content__inner {
    display: flow-root;
    padding: 10px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    position: relative;
    z-index: 2;
}

.display-mode--grid .content__inner:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 48em) {
    .display-mode--grid .content__inner {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 2;
        padding: 15px;
    }
}

.display-mode--grid .content__text {
    padding: 10px;
    position: relative;
}

@media only screen and (min-width: 48em) {
    .display-mode--grid .content__text {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 15px;
        overflow: auto;
        max-height: 39rem;
    }
}

@media only screen and (min-width: 48em) and (min-width: 48em) and (max-width: 93.6875em) {
    .display-mode--grid .content__text {
        max-height: 30rem;
    }
}

.content-box--full .display-mode--grid .content__text {
    padding: 0;
}

@media only screen and (min-width: 48em) {
    .content-box--full .display-mode--grid .content__text {
        padding: 30px;
    }
}

@media only screen and (max-width: 47.9375em) {

    .content-box--article .display-mode--grid .content__text,
    .content-box--img .display-mode--grid .content__text {
        padding: 0.5rem;
    }
}

.display-mode--grid .content__text:before {
    content: '';
    display: block;
    vertical-align: middle;
    width: 60px;
    height: 11px;
    background-size: 100% auto;
    margin-bottom: 10px;
    background: url("../images/waves.png") no-repeat top left;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .display-mode--grid .content__text:before {
        width: 40px;
        height: 11px;
    }
}

@media only screen and (min-width: 93.75em) {
    .display-mode--grid .content__text:before {
        margin-bottom: 20px;
    }
}

.content__title {
    margin: 0 0 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 600;
    position: relative;
    z-index: 5;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content__title {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 93.75em) {
    .content__title {
        font-size: 2.4rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .content__title {
        font-size: 1.8rem;
        line-height: 1.3;
    }
}

.content-box--highlight .content__title a {
    text-decoration: underline;
}

.content__desc {
    font-size: 1.5rem;
    line-height: 1.3;
}

.content__desc *:first-child {
    margin-top: 0;
}

.content__desc *:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content__desc {
        font-size: 1.3rem;
        line-height: 1.3;
    }
}

.content__picto {
    margin-bottom: 10px;
}

@media only screen and (max-width: 47.9375em) {
    .content__picto {
        width: 20px;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content__picto {
        max-width: 35px;
    }
}

.display-mode--grid .content-grid .content-box--event:before,
.display-mode--grid .content-box--img:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    transition: -webkit-transform 300ms;
    -webkit-transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
    z-index: 1;
}

@media only screen and (min-width: 82.5em) {

    .display-mode--grid .content-grid .content-box--event:before,
    .display-mode--grid .content-box--img:before {
        top: 1.5rem;
        left: 1.5rem;
        right: 1.5rem;
        bottom: 1.5rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {

    .display-mode--grid .content-grid .content-box--event:before,
    .display-mode--grid .content-box--img:before {
        top: 10px;
        bottom: 10px;
        left: 10px;
        right: 10px;
    }
}

.display-mode--grid .content-grid .content-box--event .content__inner,
.display-mode--grid .content-box--img .content__inner {
    padding: 10px;
    color: #fff;
}

@media only screen and (min-width: 82.5em) {

    .display-mode--grid .content-grid .content-box--event .content__inner,
    .display-mode--grid .content-box--img .content__inner {
        padding: 15px;
    }
}

.display-mode--grid .content-grid .content-box--event .content__inner a,
.display-mode--grid .content-box--img .content__inner a {
    color: #fff;
}

.display-mode--grid .content-grid .content-box--event .content__type,
.display-mode--grid .content-box--img .content__type {
    color: #d7db4a;
}

.display-mode--grid .content-grid .content-box--event .content__date,
.display-mode--grid .content-box--img .content__date {
    color: #fff;
}

.display-mode--grid .content-grid .content-box--event .content__text,
.display-mode--grid .content-box--img .content__text {
    overflow: auto;
}

.display-mode--grid .content-grid .content-box--event .content__text:before,
.display-mode--grid .content-box--img .content__text:before {
    background-image: url("../images/waves.png");
}

.display-mode--grid .content-grid .content-box--event .pict-wrap,
.display-mode--grid .content-box--img .pict-wrap {
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.display-mode--grid .content-grid .content-box--event .pict-wrap a,
.display-mode--grid .content-box--img .pict-wrap a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.display-mode--grid .content-grid .content-box--event .pict-wrap .content__pict,
.display-mode--grid .content-box--img .pict-wrap .content__pict {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    height: 100%;
    width: auto;
    max-width: none;
    max-height: none;
}

@media only screen and (max-width: 47.9375em) {

    .display-mode--grid .content-grid .content-box--event .pict-wrap .content__pict,
    .display-mode--grid .content-box--img .pict-wrap .content__pict {
        width: 100%;
        height: auto;
    }
}

@media only screen and (max-width: 47.9375em) {

    .display-mode--grid .content-grid .content-box--event .pict-wrap.is-in-viewport .content__pict,
    .display-mode--grid .content-box--img .pict-wrap.is-in-viewport .content__pict {
        top: 0;
        -webkit-transform: translateY(0) translateX(-50%);
        transform: translateY(0) translateX(-50%);
    }
}

.content-grid-static .content-box--event .content__text {
    padding: 0;
}

.content-grid-static .content-box--event .pict-wrap {
    float: left;
    margin: 15px 0 15px 15px;
    position: relative;
    z-index: 2;
}

.content-grid-static .content-box--event .pict-wrap a {
    display: block;
}

@media only screen and (max-width: 47.9375em) {
    .content-grid-static .content-box--event .pict-wrap a {
        max-width: 140px;
    }
}

.content-grid-static .content-box--event .content__inner {
    position: relative;
    overflow: hidden;
}

.content-grid .content-box--event .content__text {
    padding: 0;
    clear: both;
}

.content-box--question:before,
.content-grid-static .content-box--event:before,
.content-box--article:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.content-box--question .content__text:before,
.content-grid-static .content-box--event .content__text:before,
.content-box--article .content__text:before {
    background-image: url("../images/waves-2.png");
}

.content-box--question .content__desc,
.content-grid-static .content-box--event .content__desc,
.content-box--article .content__desc {
    font-weight: 600;
}

.content-box--video {
    min-height: 0;
    width: 100%;
}

.content-box--video:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.content-box--video a {
    display: block;
    position: relative;
    z-index: 2;
}

.content-box--video .content-box__overlay-link {
    position: absolute;
    z-index: 4;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content-box--video {
        width: auto;
        min-height: 32.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-box--video {
        width: auto;
        min-height: 39rem;
    }
}

.content-box--video .content__inner {
    position: relative;
    padding: 0 10px;
}

.display-mode--list .content-box--video .content__inner {
    clear: none;
}

@media only screen and (min-width: 82.5em) {
    .content-box--video .content__inner {
        padding: 0 15px;
    }
}

.content-box--video .content__text {
    position: static;
    padding: 10px 0;
}

.display-mode--list .content-box--video .content__text {
    padding: 0;
}

@media only screen and (min-width: 48em) {
    .content-box--video .content__text {
        padding: 14px 0;
    }
}

.content-box--video .content__text:before {
    display: none;
}

.content-box--video .content__type {
    position: absolute;
    top: 5px;
    right: 10px;
    z-index: 2;
    background: rgba(255, 255, 255, 0.5);
    padding: 2px 4px;
}

@media only screen and (min-width: 48em) {
    .content-box--video .content__type {
        top: 15px;
        right: 15px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .display-mode--list .content-box--video .content__type {
        float: none;
    }
}

.content-box--video .content__desc {
    display: none;
}

.display-mode--list .content-box--video .content__desc,
.content-grid .content-box--video .content__desc {
    display: block;
}

.content-box--video .content__title {
    margin: 0;
}

.content-grid .content-box--video .content__title {
    margin-bottom: 15px;
}

.display-mode--grid .content-grid .content-box--event .content__inner,
.display-mode--grid .content-box--img .content__inner {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {

    .display-mode--grid .content-grid .content-box--event .content__inner,
    .display-mode--grid .content-box--img .content__inner {
        top: 10px;
        bottom: 10px;
        left: 10px;
        right: 10px;
    }
}

@media only screen and (min-width: 93.75em) {

    .display-mode--grid .content-grid .content-box--event .content__inner,
    .display-mode--grid .content-box--img .content__inner {
        top: 15px;
        bottom: 15px;
        left: 15px;
        right: 15px;
    }
}

main.display-mode--grid .content-box--question div.content__desc {
    display: none;
}

.content-box--event,
.content-box--question {
    width: 100%;
}

@media only screen and (min-width: 48em) {

    .content-box--event,
    .content-box--question {
        min-height: 153px;
        width: auto;
    }
}

@media only screen and (min-width: 93.75em) {

    .content-box--event,
    .content-box--question {
        min-height: 180px;
    }
}

.content-box--event .content__pict,
.content-box--question .content__pict {
    width: auto;
}

@media only screen and (min-width: 48em) {

    .content-box--event .content__pict,
    .content-box--question .content__pict {
        max-height: 15rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {

    .content-box--event .content__pict,
    .content-box--question .content__pict {
        max-height: 12rem;
    }
}

.content-grid .content-box--event .content__pict,
.content-grid .content-box--question .content__pict {
    display: block;
    max-height: 36rem;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {

    .content-grid .content-box--event .content__pict,
    .content-grid .content-box--question .content__pict {
        max-height: 29.2rem;
    }
}

.content-box--event .content__text,
.content-box--question .content__text {
    position: static;
    overflow: hidden;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
}

.display-mode--grid .content-box--event .content__text,
.display-mode--grid .content-box--question .content__text {
    overflow: auto;
}

@media only screen and (max-width: 47.9375em) {

    .content-box--event .content__text,
    .content-box--question .content__text {
        padding-left: 10px;
    }
}

.content-box--event .content__text:before,
.content-box--question .content__text:before {
    margin-bottom: 10px;
}

.content-box--event .content__picto,
.content-box--question .content__picto {
    margin-bottom: 0;
}

.content-box--event .content__date,
.content-box--question .content__date {
    margin: 5px 0;
}

@media only screen and (min-width: 48em) {

    .display-mode--grid .content-grid .content-box--event,
    .display-mode--grid .content-grid .content-box--question {
        min-height: 32.2rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .display-mode--grid .content-grid .content-box--event,
    .display-mode--grid .content-grid .content-box--question {
        min-height: 39rem;
    }
}

@media only screen and (min-width: 48em) {
    .content-box--event .content__type {
        float: right;
    }
}

.display-mode--grid .content-box--event .content__text {
    overflow: visible;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content-box--event--large {
        min-height: 32.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-box--event--large {
        min-height: 39rem;
    }
}

.content-box--event--large .content__text {
    clear: both;
}

.content-box--event--large .content__title {
    margin-bottom: 10px;
}

.content-grid-static .content-box--event--large .content__pict {
    width: auto;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content-grid-static .content-box--event--large .content__pict {
        max-height: 29.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-grid-static .content-box--event--large .content__pict {
        max-height: 36rem;
    }
}

.content-box--question .content__type {
    float: none;
}

.display-mode--list .content-box--question .content__type {
    float: none;
}

.content-box--question .content__picto {
    float: left;
    margin-right: 20px;
}

.content-grid .content-box--question .content__picto {
    float: none;
    margin-right: 0;
}

.content-box--question .content__title {
    overflow: hidden;
}

.content-grid .content-box--question .content__title {
    margin-bottom: 20px;
}

.display-mode--list .content-box--question .content__more {
    bottom: 0;
}

.content__more-text {
    font-size: 1.4rem;
    font-weight: bold;
    display: none;
}

.content-grid-static .content__more-text {
    display: none;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content__more-text {
        font-size: 1.3rem;
    }
}

.content__more-text ol {
    margin: 20px 0;
}

.content__more {
    background: #fff;
}

@media only screen and (max-width: 47.9375em) {
    .content__more {
        text-align: right;
    }
}

@media only screen and (min-width: 48em) {
    .content__more {
        position: absolute;
        bottom: 10px;
        right: 10px;
    }
}

@media only screen and (min-width: 93.75em) {
    .content__more {
        bottom: 15px;
        right: 15px;
    }
}

.content__more a {
    position: relative;
    display: block;
    color: #a2516b;
    font-size: 1.4rem;
}

@media only screen and (min-width: 48em) {
    .content__more a {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .content__more a {
        font-size: 1.4rem;
    }
}

.content__more a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    height: 0;
    width: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #a2516b;
}

/* -----------------------------------------------------------------------------
   Hover
----------------------------------------------------------------------------- */
.content-box:hover,
.content-box:focus,
.content-box:active {
    -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.1);
    color: #fff;
}

.content-box:hover .search-tag,
.content-box:focus .search-tag,
.content-box:active .search-tag {
    background-color: #555;
    color: #fff;
}

.content-box:hover .content__date,
.content-box:hover .date__label,
.content-box:hover .content__type,
.content-box:hover a,
.content-box:focus .content__date,
.content-box:focus .date__label,
.content-box:focus .content__type,
.content-box:focus a,
.content-box:active .content__date,
.content-box:active .date__label,
.content-box:active .content__type,
.content-box:active a {
    color: #fff;
}

.content-box:hover:before,
.content-box:focus:before,
.content-box:active:before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.content-box:hover .content__text:before,
.content-box:focus .content__text:before,
.content-box:active .content__text:before {
    background-image: url("../images/waves.png");
}

.content-box:hover .content__more,
.content-box:focus .content__more,
.content-box:active .content__more {
    background: none;
}

.content-box:hover .content__more a:before,
.content-box:focus .content__more a:before,
.content-box:active .content__more a:before {
    border-left-color: #fff;
}

.content-box:hover .content__breadcrumb,
.content-box:focus .content__breadcrumb,
.content-box:active .content__breadcrumb {
    color: #fff;
}

.content-grid-static .content-box--event:hover:before,
.content-grid-static .content-box--event:focus:before,
.content-grid-static .content-box--event:active:before,
.content-box--video:hover:before,
.content-box--video:focus:before,
.content-box--video:active:before,
.content-box--question:hover:before,
.content-box--question:focus:before,
.content-box--question:active:before,
.content-box--article:hover:before,
.content-box--article:focus:before,
.content-box--article:active:before,
.content-box--large:hover:before,
.content-box--large:focus:before,
.content-box--large:active:before {
    background: rgba(0, 0, 0, 0.8);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.content-box--video:hover .content__type,
.content-box--video:focus .content__type,
.content-box--video:active .content__type {
    background: #555;
}

.content-box--ad {
    padding: 0;
    min-height: 0;
    text-align: center;
    -webkit-box-shadow: none;
    box-shadow: none;
    overflow: visible;
}

.display-mode--list .content-box--ad:before {
    display: none;
}

.content-box--ad:hover,
.content-box--ad:focus,
.content-box--ad:active {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.content-box--ad .contrib__media {
    margin: 0;
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.content-box--ad .contrib__media:after {
    content: "";
    display: table;
    clear: both;
}

.content-box--ad .contrib__media:hover,
.content-box--ad .contrib__media:focus,
.content-box--ad .contrib__media:active {
    -webkit-transform: scale(1.02);
    transform: scale(1.02);
}

.content-box--ad article+article {
    margin-top: 20px;
}

.content-box--ad img {
    display: block;
    width: 100%;
}

/* -----------------------------------------------------------------------------
   Display mode : List
----------------------------------------------------------------------------- */
.display-mode--list {
    position: relative;
}

.display-mode--list .grid__item {
    width: auto !important;
    float: none !important;
    margin-right: 0 !important;
}

.display-mode--list .content-box {
    display: flow-root;
    padding: 15px;
    min-height: 0;
}

.display-mode--list .content-box:after {
    content: "";
    display: table;
    clear: both;
}

.display-mode--list .content-box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: -webkit-transform 300ms;
    -webkit-transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
    z-index: 1;
}

.display-mode--list .content-box:hover:before,
.display-mode--list .content-box:focus:before,
.display-mode--list .content-box:active:before {
    background: rgba(0, 0, 0, 0.8);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.display-mode--list .content__type {
    float: right;
    position: relative;
    top: 0;
    right: 0;
    padding: 0;
    background: none !important;
}

.display-mode--list .content-box--event .pict-wrap,
.display-mode--list .content__play,
.display-mode--list .pict-wrap {
    margin: 0 15px 0 0;
    position: relative;
    float: left;
    max-width: 350px;
    z-index: 2;
}

@media only screen and (max-width: 63.9375em) {

    .display-mode--list .content-box--event .pict-wrap,
    .display-mode--list .content__play,
    .display-mode--list .pict-wrap {
        max-width: 200px;
    }
}

@media only screen and (max-width: 29.9375em) {

    .display-mode--list .content-box--event .pict-wrap,
    .display-mode--list .content__play,
    .display-mode--list .pict-wrap {
        float: none;
        margin: 0 auto 10px;
        max-width: 100%;
    }

    .display-mode--list .content-box--event .pict-wrap img,
    .display-mode--list .content__play img,
    .display-mode--list .pict-wrap img {
        margin: 0 auto;
    }
}

.display-mode--list .content-box--event .pict-wrap .content__pict,
.display-mode--list .content__play .content__pict,
.display-mode--list .pict-wrap .content__pict {
    max-width: 100%;
    max-height: 18rem;
    width: auto;
}

@media only screen and (max-width: 47.9375em) {

    .display-mode--list .content__pict,
    .display-mode--list .pict-wrap {
        display: none;
    }
}

.display-mode--list .content__inner {
    overflow: hidden;
    position: relative;
    z-index: 2;
    padding: 0;
    clear: right;
    min-height: 10rem;
}

.display-mode--list .content__picto {
    display: none;
}

.content__toggle {
    margin: 0;
    padding: 0;
    border: 0;
    position: absolute !important;
    top: 10px;
    right: 10px;
    background: none;
    position: relative;
    width: 40px;
    height: 30px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    overflow: hidden;
    cursor: pointer;
    z-index: 10;
}

.content__toggle:after,
.content__toggle:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.content__toggle:before {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 18px;
}

.content__toggle:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 20px;
    top: calc(50% - 13px);
    right: calc(50% - 20px);
}

@media only screen and (max-width: 47.9375em) {
    .content__toggle {
        position: relative;
    }

    .content__toggle:after,
    .content__toggle:before {
        content: '';
        position: absolute;
        top: calc(50% - 5px);
        right: calc(50% - 10px);
        border: solid transparent;
        height: 0;
        width: 0;
        pointer-events: none;
    }

    .content__toggle:before {
        border-color: rgba(62, 62, 62, 0);
        border-top-color: #3e3e3e;
        border-width: 10px;
    }

    .content__toggle:after {
        border-color: rgba(255, 255, 255, 0);
        border-top-color: #fff;
        border-width: 12px;
        top: calc(50% - 9px);
        right: calc(50% - 12px);
    }
}

.content-box:hover .content__toggle {
    position: relative;
}

.content-box:hover .content__toggle:after,
.content-box:hover .content__toggle:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.content-box:hover .content__toggle:before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 18px;
}

.content-box:hover .content__toggle:after {
    border-color: rgba(51, 51, 51, 0);
    border-top-color: #333333;
    border-width: 20px;
    top: calc(50% - 13px);
    right: calc(50% - 20px);
}

.content-box:hover .content__toggle:after,
.content-box:hover .content__toggle:before {
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

@media only screen and (max-width: 47.9375em) {
    .content-box:hover .content__toggle {
        position: relative;
    }

    .content-box:hover .content__toggle:after,
    .content-box:hover .content__toggle:before {
        content: '';
        position: absolute;
        top: calc(50% - 5px);
        right: calc(50% - 10px);
        border: solid transparent;
        height: 0;
        width: 0;
        pointer-events: none;
    }

    .content-box:hover .content__toggle:before {
        border-color: rgba(255, 255, 255, 0);
        border-top-color: #fff;
        border-width: 10px;
    }

    .content-box:hover .content__toggle:after {
        border-color: rgba(51, 51, 51, 0);
        border-top-color: #333333;
        border-width: 12px;
        top: calc(50% - 9px);
        right: calc(50% - 12px);
    }
}

.content-box--collapsible .content__text {
    padding-right: 50px;
}

@media only screen and (max-width: 47.9375em) {
    .content-box--collapsible .content__inner {
        min-height: 0;
    }
}

.content-box--collapsible.content-box--event .content__text {
    clear: none;
}

.content-box--collapsible:not(.content-box--is-expanded) {
    cursor: pointer;
}

.content-box--collapsible:not(.content-box--is-expanded) .content__dates,
.content-box--collapsible:not(.content-box--is-expanded) .pict-wrap,
.content-box--collapsible:not(.content-box--is-expanded) .tags-list,
.content-box--collapsible:not(.content-box--is-expanded) .share__trigger,
.content-box--collapsible:not(.content-box--is-expanded) .content__type {
    display: none;
}

.content-box--collapsible.content-box--is-expanded .content__toggle {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.content-box--collapsible .content__type {
    clear: right;
    top: 30px;
}

.content-box__overlay-link,
.overlay-link:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 4;
}

.overlay-link:before {
    content: '';
    width: 100%;
    height: 100%;
}

.content-box__overlay-link span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.grid-placeholder {
    -webkit-animation-name: loader;
    animation-name: loader;
    -webkit-animation-duration: 600ms;
    animation-duration: 600ms;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-direction: alternate-reverse;
    animation-direction: alternate-reverse;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.grid-placeholder .content-box:before {
    content: '';
    display: block;
    background: #f3f3f3;
    height: 45%;
    margin-bottom: 20px;
}

.grid-placeholder .content-box:after {
    content: '';
    display: block;
    width: 80%;
    margin: 10px auto;
    background: #f3f3f3;
    height: 50px;
}

.grid-placeholder .content-box div {
    width: 80%;
    margin: 0 auto;
}

.grid-placeholder .content-box div:before {
    content: '';
    display: block;
    background: #dadada;
    margin-bottom: 10px;
    height: 20px;
}

.grid-placeholder .content-box div:after {
    content: '';
    display: block;
    background: #f3f3f3;
    height: 50px;
}

@-webkit-keyframes loader {
    to {
        opacity: 0.8;
    }
}

@keyframes loader {
    to {
        opacity: 0.8;
    }
}

/* =============================================================================
   Skip links
============================================================================= */
.skip-links {
    position: absolute;
    top: -5rem;
    left: 10px;
    z-index: 5;
    height: 0;
}

.skip-links li {
    display: inline;
    background: none;
    padding: 0;
    margin-right: 0.5em;
}

.skip-links a {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
    color: #fff;
    padding: 0.5em;
    white-space: nowrap;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    text-decoration: none;
    font-size: 1.6rem;
}

.skip-links a:focus,
.skip-links a:active {
    top: 6rem;
}

.skip-links__target {
    outline: 2px dashed #3e3e3e;
    overflow: hidden;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    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);
    transform: translate3d(0, 0, 0);
}

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

.slick-track:before,
.slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[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;
}

/* -----------------------------------------------------------------------------
   Cards layout
----------------------------------------------------------------------------- */
.cards-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.mlvl-level .cards-list {
    margin: 10px 10px;
}

.mlvl-level .cards-list li {
    width: 49%;
    margin-bottom: 5px;
}

.cards--layout-3 {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
    -ms-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.cards--layout-3:after,
.cards--layout-3 li {
    width: 33%;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    margin-bottom: 10px;
}

@media only screen and (max-width: 74.9375em) {

    .cards--layout-3:after,
    .cards--layout-3 li {
        width: 48%;
    }
}

.cards--layout-3:after {
    content: '';
}

.no-flexbox .cards--layout-3 {
    display: block;
}

.no-flexbox .cards--layout-3 li {
    float: left;
    margin: 0 5px 0 0;
}

.cards--layout-3 .sc__card {
    margin: 0 auto;
}

.cards--layout-2 {
    display: -ms-flexbox !important;
    display: -webkit-box !important;
    display: flex !important;
    -ms-flex-flow: row wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.cards--layout-2 li {
    width: 48%;
    -ms-grid-row-align: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch;
    margin-bottom: 10px;
}

.no-flexbox .cards--layout-2 {
    display: block;
}

.no-flexbox .cards--layout-2 li {
    float: left;
    margin: 0 5px 0 0;
}

.cards--layout-2 .sc__card {
    margin: 0 auto;
}

/* -----------------------------------------------------------------------------
   Cards
----------------------------------------------------------------------------- */
.sc__card {
    overflow: auto;
    max-width: 100%;
}

@media only screen and (max-width: 47.9375em) {
    .sc__card {
        overflow: visible;
    }
}

.init-natural-slider .slides .sc__card {
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    padding-bottom: 20px;
}

.pop--account .sc__card {
    display: block;
}

.slides .sc__card,
.slides .slick-slide {
    margin-right: 10px;
}

.home-nav .sc__card {
    padding: 20px 0 15px;
}

.sc__card .sc__card-bg,
.sc__card a {
    overflow: hidden;
    position: relative;
    display: block;
    text-align: center;
    background: #fff;
    padding: 0;
    -webkit-box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.1);
    box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.1);
    -webkit-transition: all 500ms;
    transition: all 500ms;
    cursor: pointer;
    border: 1px solid #ececed;
}

.contrib .sc__card .sc__card-bg,
.free-contrib .sc__card .sc__card-bg,
.contrib .sc__card a,
.free-contrib .sc__card a {
    -webkit-box-shadow: none;
    box-shadow: none;
}

@media only screen and (min-width: 75em) {

    .sc__card .sc__card-bg,
    .sc__card a {
        padding: 0;
        -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
        box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    }
}

@media only screen and (max-width: 47.9375em) {

    .slides .sc__card .sc__card-bg,
    .slides .sc__card a {
        overflow: visible;
    }
}

.sc__card .sc__card-bg:hover,
.sc__card .sc__card-bg:focus,
.sc__card .sc__card-bg:active,
.sc__card a:hover,
.sc__card a:focus,
.sc__card a:active {
    -webkit-box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.1);
}

.sc__card .sc__card-bg:hover .sc__long-text,
.sc__card .sc__card-bg:focus .sc__long-text,
.sc__card .sc__card-bg:active .sc__long-text,
.sc__card a:hover .sc__long-text,
.sc__card a:focus .sc__long-text,
.sc__card a:active .sc__long-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.sc__card .sc__card-bg.hover .sc__long-text,
.sc__card a.hover .sc__long-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.sc__card .sc__card-bg:focus,
.sc__card a:focus {
    outline: 2px solid #a2516b;
}

.load-perimetre .sc__card .sc__card-bg,
.load-perimetre .sc__card a {
    text-align: center;
    overflow: hidden;
    -webkit-animation-name: loader;
    animation-name: loader;
    -webkit-animation-duration: 600ms;
    animation-duration: 600ms;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-direction: alternate-reverse;
    animation-direction: alternate-reverse;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.load-perimetre .sc__card .sc__card-bg .sc__card-bg,
.load-perimetre .sc__card .sc__card-bg .sc__pict,
.load-perimetre .sc__card .sc__card-bg .sc__text,
.load-perimetre .sc__card .sc__card-bg .sc__lock,
.load-perimetre .sc__card .sc__card-bg .sc__long-text,
.load-perimetre .sc__card a .sc__card-bg,
.load-perimetre .sc__card a .sc__pict,
.load-perimetre .sc__card a .sc__text,
.load-perimetre .sc__card a .sc__lock,
.load-perimetre .sc__card a .sc__long-text {
    display: none;
}

.load-perimetre .sc__card .sc__card-bg:before,
.load-perimetre .sc__card a:before {
    content: '';
    display: block;
    width: 40%;
    height: 40%;
    border-radius: 50%;
    background-color: #e1e1e1;
    margin: 15% auto;
}

@media only screen and (max-width: 47.9375em) {

    .load-perimetre .sc__card .sc__card-bg:before,
    .load-perimetre .sc__card a:before {
        width: 50px;
        height: 50px;
    }
}

.load-perimetre .sc__card .sc__card-bg:after,
.load-perimetre .sc__card a:after {
    content: '';
    display: block;
    width: 70%;
    height: 15%;
    background-color: #e1e1e1;
    margin: 0 auto;
}

.cards-slider--green .sc__card {
    padding: 0;
}

.sub-nav .sc__card {
    margin: 0;
}

.sc__lock {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 50%;
}

.pop--account .sc__lock {
    display: none;
}

/* -----------------------------------------------------------------------------
   Image
----------------------------------------------------------------------------- */
.sc__pict {
    display: table-cell;
    margin-bottom: 10px;
    overflow: hidden;
    vertical-align: middle;
    height: 100px;
}

@media only screen and (max-width: 1024px) {
    .sc__pict {
        height: 80px;
    }
}

.sc__pict img {
    display: block;
    vertical-align: middle;
    width: 100%;
}

/* -----------------------------------------------------------------------------
   Title
----------------------------------------------------------------------------- */
.sc__text {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    text-transform: uppercase;
    color: #5d5d5d;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    padding: 0 2px;
}

@media only screen and (max-width: 1024px) {
    .sc__text {
        position: static;
    }
}

.sc__text strong {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

/* -----------------------------------------------------------------------------
   Card hover
----------------------------------------------------------------------------- */
.sc__long-text {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #a2516b;
    color: #fff;
    font-size: 1.4rem;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    overflow: auto;
    text-align: center;
}

@media only screen and (max-width: 1024px) {
    .sc__long-text {
        display: block;
        position: static;
        background: none;
        font-size: 1.2rem;
        line-height: 1.5;
        color: #403f3f;
    }
}

@media only screen and (min-width: 1025px) {
    .sc__long-text {
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
}

.long-text__hover {
    display: inline-block;
    vertical-align: middle;
    padding: 0 5px;
    line-height: 1.2;
}

.long-text__hover strong {
    display: block;
    text-transform: uppercase;
}

@media only screen and (max-width: 1024px) {
    .slides .long-text__hover strong {
        display: none;
    }
}

.long-text__more {
    display: block;
}

strong+.long-text__more {
    margin-top: 15px;
}

/*@media only screen and (max-width: 93.6875em) {
    strong+.long-text__more {
        margin-top: 10px;
    }
}*/

@media only screen and (max-width: 1024px) {
    strong+.long-text__more {
        margin-top: 0;
    }
}

/* -----------------------------------------------------------------------------
   Versions
----------------------------------------------------------------------------- */
.cards--large .sc__card,
.cards--large .slick-slide {
    width: 18rem;
}

@media only screen and (min-width: 1025px) and (max-width: 1104px) {

    .cards--large .sc__card,
    .cards--large .slick-slide {
        width: 15.9rem;
    }
}

@media only screen and (min-width: 1200px) and (max-width: 1499px) {

    .cards--large .sc__card,
    .cards--large .slick-slide {
        width: 15.9rem;
    }
}

/*@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .cards--large .sc__card, .cards--large .slick-slide {
        width: 14rem;
    }
}*/

@media only screen and (max-width: 1024px) {

    .cards--large .sc__card,
    .cards--large .slick-slide {
        width: 13rem;
    }
}

.cards--large .sc__card .sc__card-bg,
.cards--large .sc__card a {
    height: 18rem;
}

@media only screen and (min-width: 48em) and (max-width: 1024px) {

    .cards--large .sc__card .sc__card-bg,
    .cards--large .sc__card a {
        height: 14rem;
    }
}

@media only screen and (max-width: 1024px) {

    .cards--large .sc__card .sc__card-bg,
    .cards--large .sc__card a {
        height: 13rem;
    }
}

/*@media only screen and (min-width: 48em) and (max-width: 1024px) {
    .cards--large .sc__card .sc__long-text {
        line-height: 13.8rem;
    }
}*/

@media only screen and (min-width: 1025px) {
    .cards--large .sc__card .sc__long-text {
        line-height: 17.8rem;
    }
}

.cards--large .sc__card .sc__text {
    font-size: 1.3rem;
    line-height: 3.5rem;
    min-height: 3.5rem;
}

@media only screen and (max-width: 1024px) {
    .cards--large .sc__card .sc__text {
        font-size: 1.4rem;
        min-height: 4rem;
        line-height: 3rem;
    }
}

@media only screen and (min-width: 1025px) {
    .cards--large .sc__card .sc__text {
        font-size: 1.8rem;
        min-height: 6.8rem;
    }
}

.cards--large .sc__card .long-text__hover strong {
    font-size: 1.8rem;
}

@media only screen and (max-width: 93.6875em) {
    .cards--large .sc__card .long-text__hover strong {
        font-size: 1.3rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .cards--large .sc__card .long-text__hover strong {
        font-size: 1.2rem;
    }
}

@media only screen and (max-width: 1024px) {

    .cards--large .slides .sc__card .sc__card-bg,
    .cards--large .slides .sc__card a {
        height: 18rem;
    }
}

/* -----------------------------------------------------------------------------
   Small
----------------------------------------------------------------------------- */
.cards--small .sc__card {
    width: 14rem;
}

.cards--small .sc__card .sc__card-bg,
.cards--small .sc__card a {
    height: 14rem;
}

.cards--small .sc__card .sc__long-text {
    line-height: 13.8rem;
}

.cards--small .sc__card .sc__text {
    min-height: 5rem;
    font-size: 1.4rem;
}

.cards--small .sc__card .long-text__hover strong {
    font-size: 1.2rem;
}

@media only screen and (min-width: 48em) {
    .cards--small .sc__card .long-text__hover strong {
        font-size: 1.4rem;
    }
}

/* -----------------------------------------------------------------------------
   XS
----------------------------------------------------------------------------- */
.cards--xs .sc__card {
    width: 11rem;
}

.cards--xs .sc__card a {
    height: 11rem;
}

.cards--xs .sc__card .sc__long-text {
    line-height: 10.8rem;
}

.cards--xs .sc__card .sc__text {
    min-height: 4rem;
    font-size: 1.1rem;
}

.cards--xs .sc__card .long-text__hover {
    font-size: 1.1rem;
}

.cards--xs .sc__card .long-text__hover strong {
    font-size: 1.05rem;
}

.cards--xs .sc__card .sc__pict {
    height: 50px;
}

.menu-level-wrapper .mlvl-level .sc__card {
    width: auto;
}

.menu-level-wrapper .mlvl-level .sc__card a {
    min-height: 18rem;
    padding: 0;
    font-weight: inherit;
    overflow: visible;
    border: 0;
}

.menu-level-wrapper .mlvl-level .sc__card .long-text__hover strong {
    display: none;
}

.menu-level-wrapper .mlvl-level .sc__card .sc__pict {
    height: 8rem;
}

.menu-level-wrapper .mlvl-level .sc__card .sc__text {
    min-height: 3rem;
    position: static;
}

.menu-level-wrapper .mlvl-level .sc__card.sc__card--no-img .sc__text {
    margin-top: 3rem;
}

.menu-level-wrapper .mlvl-level .sc__card .sc__long-text {
    display: block;
    position: static;
    background: none;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #403f3f;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.menu-level-wrapper .mlvl-level .sc__card .long-text__more {
    line-height: 1.1;
    max-height: 59px;
}

.menu-level-wrapper .mlvl-level .sc__card .sc__card-bg {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
}

/* -----------------------------------------------------------------------------
   Green card
----------------------------------------------------------------------------- */
.cards--green a {
    border: 1px solid #d7db4a;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.cards--green a:hover,
.cards--green a:focus,
.cards--green a:active {
    background-color: #f4f4f4;
}

a.contrib-card-multi,
a.contrib-card {
    display: inline-block;
    vertical-align: middle;
    width: 14rem;
    min-height: 14rem;
    line-height: 14rem;
    text-align: center;
    background: #fff;
    border: 1px solid #dbdf71;
    text-decoration: none !important;
    text-transform: uppercase;
    font-weight: bold;
    overflow: hidden;
    font-size: 1.5rem;
}

@media only screen and (max-width: 47.9375em) {

    a.contrib-card-multi,
    a.contrib-card {
        width: 10rem;
        min-height: 10rem;
        line-height: 10rem;
        font-size: 1rem;
    }
}

a.contrib-card-multi:hover,
a.contrib-card-multi:focus,
a.contrib-card-multi:active,
a.contrib-card:hover,
a.contrib-card:focus,
a.contrib-card:active {
    background: #a2516b;
    color: #fff;
    border-color: #a2516b;
}

a.contrib-card-multi {
    padding-top: 30px;
    line-height: 1.5;
}

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

.slick__no-arrow .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle;
}

.slick__no-arrow .slick-track {
    width: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
}

.slider-title {
    font-weight: normal;
    text-align: center;
    margin: 20px 0 0;
    text-transform: uppercase;
}

.slider-title:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-left: 10px;
    background-image: url(../images/sprites.png);
    background-position: -52px -207px;
    width: 22px;
    height: 12px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

@media only screen and (min-width: 48em) {
    .slider-title {
        display: none;
    }
}

.cards-slider {
    margin-bottom: 20px;
}

@media only screen and (min-width: 1025px) {
    .cards-slider {
        margin: 0 40px 40px;
    }
}

/*@media only screen and (max-width: 1024px) {
    .home-nav .cards-slider {
        margin: 0 50px !important;
    }
}*/

/*@media only screen and (max-width: 767px) {
    .home-nav .cards-slider {
        margin: 0 40px !important;
    }
}*/

.cards-slider .slides {
    display: none;
}

.init-natural-slider .cards-slider .slides {
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
}

.init-natural-slider .cards-slider .slides::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.init-natural-slider .cards-slider .slides::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 3px;
}

.init-natural-slider .cards-slider .slides::-webkit-scrollbar-thumb {
    color: #fff;
    background-color: #a2516b;
    border-radius: 3px;
}

.cards-slider .slides.slick-initialized {
    display: block;
}

.cards-slider.cards-slider--green {
    margin-bottom: 40px;
}

.init-natural-slider .outer-wrap>div:not(.home-nav) .slides {
    padding: 5px 0;
}

.slick-arrow {
    text-decoration: none;
    display: none;
    width: 40px;
    margin: 0;
    border: 0;
    color: #fff;
    position: absolute;
    top: 20px;
    bottom: 20px;
    z-index: 1;
    background: #a2516b;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    line-height: 155px;
    overflow: hidden;
    cursor: pointer;
}

@media only screen and (min-width: 48em) {
    .slick-arrow {
        width: 30px;
    }
}

@media only screen and (min-width: 1024px) {
    .slick-arrow {
        display: block !important;
    }
}

.cards-slider--green .slick-arrow {
    background: #d7db4a;
    top: 0;
    bottom: 0;
}

.outer-wrap>div:not(.home-nav) .slick-arrow {
    top: 0;
    bottom: 0;
}

/*.slick-arrow:focus {
    outline: 2px solid #75a402;
}*/

.slick-arrow span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.outer-wrap>div:not(.home-nav) .slick-arrow {
    margin-left: 0;
    margin-right: 0;
}

.slick-prev {
    position: relative;
    position: absolute;
    left: -50px;
}

.slick-prev:after,
.slick-prev:before {
    content: '';
    position: absolute;
    right: calc(50% - 7.5px);
    top: calc(50% - 15px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.slick-prev:before {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 15px;
}

.slick-prev:after {
    border-color: rgba(162, 81, 107, 0);
    border-right-color: #a2516b;
    border-width: 18px;
    right: calc(50% - 15px + 2px + 1px);
    top: calc(50% - 18px);
}

@media only screen and (min-width: 48em) {
    .slick-prev {
        left: -40px;
    }
}

.cards-slider--green .slick-prev:before {
    border-right-color: #3e3e3e;
}

.cards-slider--green .slick-prev:after {
    border-right-color: #3e3e3e;
}

.slick-next {
    position: relative;
    position: absolute;
    right: -50px;
}

.slick-next:after,
.slick-next:before {
    content: '';
    position: absolute;
    left: calc(50% - 7.5px);
    top: calc(50% - 15px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.slick-next:before {
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #fff;
    border-width: 15px;
}

.slick-next:after {
    border-color: rgba(162, 81, 107, 0);
    border-left-color: #a2516b;
    border-width: 18px;
    left: calc(50% - 15px + 2px + 1px);
    top: calc(50% - 18px);
}

@media only screen and (min-width: 48em) {
    .slick-next {
        right: -40px;
    }
}

.cards-slider--green .slick-next:before {
    border-left-color: #3e3e3e;
}

.cards-slider--green .slick-next:after {
    border-left-color: #3e3e3e;
}

.slick-disabled {
    opacity: 0.5;
}

.slick-dots {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    text-align: center;
}

.cards-slider--green .slick-dots {
    bottom: -30px;
}

.slick-dots button {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    background-color: #eef1f5;
    /*width: 20px;
    height: 20px;
    border-radius: 50%;*/
    width: 60px;
    height: 6px;
    -webkit-box-shadow: 1px 1px 5px 1px #3b3b3b;
    box-shadow: 1px 1px 5px 1px #3b3b3b;
    text-indent: -9999px;
    overflow: hidden;
}

.slick-dots li.slick-active button {
    -webkit-box-shadow: 1px 1px 5px 1px #fff;
    box-shadow: 1px 1px 5px 1px #fff;
    height: 7px;
}

.slick-dots button:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #a2516b;
    -webkit-transition: width 350ms ease-in-out 0s;
    transition: width 350ms ease-in-out 0s;
}

@media only screen and (max-width: 47.9375em) {
    .slick-dots button {
        width: 20px;
    }
}

.slick-dots li {
    display: inline-block;
    vertical-align: middle;
    margin: 0 7px 5px;
}

/*.slick-dots li.slick-active button {
    background: #a2516b;
}*/

.slick-dots li.slick-active button:before,
.slick-dots button:hover:before,
.slick-dots button:focus:before {
    width: 100%;
}

.outer-wrap>div:not(.home-nav) .slick-dots {
    margin: 0;
    bottom: -40px;
    text-indent: 0;
}

.outer-wrap>div:not(.home-nav) .slick-dots li:before {
    display: none;
}

/* =============================================================================
   Filters
============================================================================= */
.filters__title {
    margin: 0 0 20px;
    font-size: 1.6rem;
    font-weight: 700;
    text-transform: uppercase;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .filters__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .filters__title {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .filters__title {
        margin-bottom: 10px;
    }
}

.filters-bar {
    padding-bottom: 20px;
}

.filters-bar .btn--small-close {
    float: right;
    z-index: 1;
}

.filters__section {
    max-height: 0;
    overflow-y: hidden;
    -webkit-transition: max-height 350ms ease-in-out 0s;
    transition: max-height 350ms ease-in-out 0s;
}

.filters__section.active {
    padding-bottom: 10px;
    max-height: 400px;
}


.section__body {
    display: none;
    padding: 15px 0;
}

.section__title {
    margin: 0;
}

.section__title button {
    position: relative;
    display: block;
    width: 100%;
    background-color: #3e3e3e;
    color: #fff;
    margin: 0;
    padding: 10px 15px;
    border: 0;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: left;
    cursor: pointer;
}

@media only screen and (max-width: 74.9375em) {
    .section__title button {
        font-size: 1.4rem;
    }
}

.section__title button .filter__arrow {
    position: relative;
    position: absolute;
    right: 30px;
    top: calc(50%);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.section__title button .filter__arrow:after,
.section__title button .filter__arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    right: calc(50% - 12px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.section__title button .filter__arrow:before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 12px;
}

.section__title button .filter__arrow:after {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 14px;
    top: calc(50% - 10px);
    right: calc(50% - 14px);
}

.section__title button.tgp--trigger--is-active .filter__arrow {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
}

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

.filters__tree ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    display: none;
    margin-left: 25px;
}

.filters__tree>li {
    padding: 5px 0;
}

.filters__tree>li:not(:first-child) {
    border-top: 1px solid #e9e9e9;
}

.filters__tree>li>ul>li {
    padding: 2px 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .filters__tree>li>ul>li {
        padding: 2px 0;
    }
}

.filters__tree .filter__parent {
    display: block;
    overflow: hidden;
    font-size: 1.6rem;
    line-height: 1.5;
    cursor: pointer;
}

.btn--arrow {
    float: right;
    cursor: pointer;
    position: relative;
    background: none;
    border: 0;
    padding: 0;
    margin: 0 15px 0 0;
    width: 25px;
    height: 25px;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.btn--arrow:hover,
.btn--arrow:focus,
.btn--arrow:active {
    background-color: #f4f4f4;
}

.btn--arrow.tgp--trigger--is-active {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

.btn--arrow:after,
.btn--arrow:before {
    bottom: 10px;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.btn--arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #fff;
    border-width: 6px;
    margin-left: -6px;
}

.btn--arrow:before {
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: #000;
    border-width: 7px;
    margin-left: -7px;
}

.filters-tags-wrap {
    display: none;
    border: 2px solid #3e3e3e;
    border-width: 2px 0;
    padding: 10px 15px;
    margin-bottom: 15px;
}

/* =============================================================================
   Popins custom
============================================================================= */
/* -----------------------------------------------------------------------------
   Search popin
----------------------------------------------------------------------------- */
.pop--search .pop__content {
    max-width: 830px;
    padding-top: 20px;
}

@media only screen and (max-width: 47.9375em) {
    .pop--search .pop__content {
        padding-top: 50px;
    }
}

.pop--search .search {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 30px;
}

@media only screen and (max-width: 47.9375em) {
    .pop--search .search {
        padding: 0;
        background: none;
        margin-bottom: 10px;
    }
}

.pop--search .search form {
    display: table;
    width: 100%;
}

.pop--search .search .grid__item {
    display: table-cell;
}

.pop--search .search .grid__item:last-child {
    width: 60px;
}

.pop--search .search input {
    width: 100%;
}

.pop--search .search button {
    margin-right: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop--search .search button {
        width: 100%;
    }
}

.search__suggestions {
    padding: 0 30px;
}

@media only screen and (max-width: 47.9375em) {
    .search__suggestions {
        padding: 0;
    }
}

.search__suggestions .media {
    display: flow-root;
    margin-bottom: 30px;
}

.search__suggestions .media:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width: 47.9375em) {
    .search__suggestions .media {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #f4f4f4;
    }
}

.search__suggestions .media__pict {
    float: left;
    margin: 0 20px 0 0;
}

.search__suggestions .media__pict a {
    display: block;
}

.search__suggestions .media__pict a img {
    display: block;
    margin: 0 auto;
}

@media only screen and (max-width: 47.9375em) {
    .search__suggestions .media__pict {
        margin-bottom: 10px;
    }
}

.search__suggestions .media__text {
    overflow: hidden;
}

.search__suggestions .media__date {
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 1.2;
    margin: 10px 0;
    color: #502e59;
    margin-bottom: 0;
}

.search__suggestions .media__date:first-child {
    margin-top: 0;
}

@media only screen and (max-width: 47.9375em) {
    .search__suggestions .media__date {
        margin: 0 0 5px;
        letter-spacing: 0;
        font-size: 1rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search__suggestions .media__date {
        font-size: 1.1rem;
        letter-spacing: 1px;
    }
}

.search__suggestions .media__title {
    margin: 0 0 15px;
    font-size: 1.5rem;
    line-height: 1.2;
    font-weight: 600;
    margin-bottom: 0;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .search__suggestions .media__title {
        font-size: 1.6rem;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 93.75em) {
    .search__suggestions .media__title {
        font-size: 2.4rem;
    }
}

.search__suggestions .media__text {
    font-size: 1.5rem;
    line-height: 1.3;
    font-weight: 600;
}

.search__suggestions .media__text *:first-child {
    margin-top: 0;
}

.search__suggestions .media__text *:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .search__suggestions .media__text {
        font-size: 1.3rem;
        line-height: 1.3;
    }
}

/* -----------------------------------------------------------------------------
   Contact popin
----------------------------------------------------------------------------- */
.pop--perimetre .form-perimetre-contact,
.pop--contact .form-perimetre-contact {
    font-size: 2.4rem;
}

@media only screen and (max-width: 47.9375em) {

    .pop--perimetre .form-perimetre-contact,
    .pop--contact .form-perimetre-contact {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--perimetre .form-perimetre-contact,
    .pop--contact .form-perimetre-contact {
        font-size: 1.6rem;
    }
}

.pop--perimetre .form-perimetre-contact .required-mention,
.pop--contact .form-perimetre-contact .required-mention {
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--perimetre .form-perimetre-contact .required-mention,
    .pop--contact .form-perimetre-contact .required-mention {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .pop--perimetre .form-perimetre-contact .required-mention,
    .pop--contact .form-perimetre-contact .required-mention {
        font-size: 1.6rem;
    }
}

.pop--perimetre .pop__content,
.pop--contact .pop__content {
    font-size: 1.4rem;
}

@media only screen and (min-width: 48em) {

    .pop--perimetre .pop__content,
    .pop--contact .pop__content {
        font-size: 2rem;
    }
}

.pop--perimetre .steps__num,
.pop--contact .steps__num {
    background: #a2516b;
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    float: left;
    margin-right: 15px;
    margin-top: 5px;
}

@media only screen and (max-width: 47.9375em) {

    .pop--perimetre .steps__num,
    .pop--contact .steps__num {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 47.9375em) {

    .pop--perimetre .steps__num,
    .pop--contact .steps__num {
        float: none;
        margin: 0 auto 10px;
    }
}

.pop--perimetre .steps-wrap,
.pop--contact .steps-wrap {
    margin-left: 50px;
}

@media only screen and (max-width: 47.9375em) {

    .pop--perimetre .steps-wrap,
    .pop--contact .steps-wrap {
        margin-left: 0;
    }
}

.pop--perimetre .options__row,
.pop--contact .options__row {
    display: block;
    margin: 0;
}

@media only screen and (min-width: 48em) {

    .pop--perimetre .options__row,
    .pop--contact .options__row {
        display: inline-block;
        vertical-align: middle;
    }
}

.pop--perimetre .options__row label,
.pop--contact .options__row label {
    line-height: 1.5;
    margin-right: 15px;
}

.pop--perimetre select,
.pop--perimetre .fake-select,
.pop--contact select,
.pop--contact .fake-select {
    font-size: 1.2rem;
}

@media only screen and (min-width: 48em) {

    .pop--perimetre select,
    .pop--perimetre .fake-select,
    .pop--contact select,
    .pop--contact .fake-select {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--perimetre select,
    .pop--perimetre .fake-select,
    .pop--contact select,
    .pop--contact .fake-select {
        font-size: 1.6rem;
    }
}

.pop--perimetre .selectric label,
.pop--contact .selectric label {
    height: 30px;
}

.pop--perimetre .step--motif,
.pop--contact .step--motif {
    margin: 0 auto;
    padding: 25px;
    background: #f0f0f0;
    text-align: center;
    border-top: 2px solid #a2516b;
}

.pop--perimetre .step--motif label,
.pop--contact .step--motif label {
    font-weight: bold;
}

.pop__section {
    margin-bottom: 30px;
    font-size: 1.4rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop__section {
        margin-bottom: 15px;
    }
}

.pop__section:last-child {
    margin-bottom: 0;
}

.pop--account .pop__content header h2,
.pop__section-title {
    margin: 0 0 20px;
    text-align: center;
    background: #a2516b;
    padding: 5px 0;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.6rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--account .pop__content header h2,
    .pop__section-title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .pop--account .pop__content header h2,
    .pop__section-title {
        font-size: 2.4rem;
    }
}

.btn-wrap--account .more-link {
    display: block;
}

@media only screen and (max-width: 47.9375em) {
    .btn-wrap--account .more-link {
        text-align: left;
        float: none !important;
        display: block;
    }
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox {
    max-width: 1024px;
}

@media only screen and (max-width: 1500px) {
    #colorbox {
        max-width: 1280px;
    }
}

#colorbox,
#cboxOverlay,
#cboxWrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
    max-width: none;
}

#cboxOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
}

#cboxMiddleLeft,
#cboxBottomLeft {
    clear: left;
}

#cboxContent {
    position: relative;
    max-height: 94vh;
    overflow: auto;
}

#cboxLoadedContent {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#cboxTitle {
    margin: 0;
}

#cboxLoadingOverlay,
#cboxLoadingGraphic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
    cursor: pointer;
}

.cboxPhoto {
    float: left;
    margin: auto;
    border: 0;
    display: block;
    max-width: none;
    -ms-interpolation-mode: bicubic;
}

.cboxIframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    padding: 0;
    margin: 0;
}

#colorbox,
#cboxContent,
#cboxLoadedContent {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#colorbox *,
#cboxContent *,
#cboxLoadedContent * {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
    background: #000;
    opacity: 0.9;
    filter: alpha(opacity=90);
}

#colorbox {
    outline: 0;
}

#cboxContent {
    margin-top: 20px;
    background: #fff;
}

.cboxIframe {
    background: #fff;
}

#cboxError {
    padding: 50px;
    border: 1px solid #ccc;
}

#cboxLoadedContent {
    background: #fff;
}

#cboxTitle {
    position: absolute;
    top: -20px;
    left: 0;
    color: #ccc;
    display: none !important;
}

#cboxCurrent {
    position: absolute;
    top: -20px;
    right: 0;
    color: #ccc;
}

#cboxLoadingGraphic {
    background: url(../images/colorbox/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
    border: 0;
    padding: 0;
    margin: 0;
    overflow: visible;
    width: auto;
    background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
    outline: 0;
}

#cboxSlideshow {
    position: absolute;
    top: -20px;
    right: 90px;
    color: #fff;
}

#cboxPrevious {
    position: absolute;
    top: 50%;
    left: 5px;
    margin-top: -32px;
    background: url(../images/colorbox/controls.png) no-repeat top left;
    width: 28px;
    height: 65px;
    text-indent: -9999px;
}

#cboxPrevious:hover {
    background-position: bottom left;
}

#cboxNext {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -32px;
    background: url(../images/colorbox/controls.png) no-repeat top right;
    width: 28px;
    height: 65px;
    text-indent: -9999px;
}

#cboxNext:hover {
    background-position: bottom right;
}

#cboxClose {
    position: absolute;
    top: 5px;
    right: 5px;
    background: url(../images/colorbox/controls.png) no-repeat top center;
    width: 38px;
    height: 19px;
    text-indent: -9999px;
}

#cboxClose:hover {
    background-position: bottom center;
}

/* =============================================================================
   Map France SVG
============================================================================= */
.grid--region>.grid__item {
    padding: 0;
}

@media only screen and (max-width: 82.4375em) {
    .grid--region>.grid__item {
        padding: 0 10px;
    }
}

@media only screen and (min-width: 82.5em) {
    .grid--region>.grid__item:first-child {
        width: 45.83333%;
        float: left;
    }
}

@media only screen and (min-width: 48em) and (max-width: 82.4375em) {
    .grid--region>.grid__item:first-child+.grid__item {
        width: 50%;
        float: left;
    }
}

@media only screen and (min-width: 82.5em) {
    .grid--region>.grid__item:first-child+.grid__item {
        width: 25%;
        float: left;
    }
}

@media only screen and (min-width: 48em) and (max-width: 82.4375em) {
    .grid--region>.grid__item:first-child+.grid__item+.grid__item {
        width: 50%;
        float: right;
        margin-right: 0;
    }
}

@media only screen and (min-width: 82.5em) {
    .grid--region>.grid__item:first-child+.grid__item+.grid__item {
        width: 29.16667%;
        float: right;
        margin-right: 0;
    }
}

.grid--region .grid__item--map {
    text-align: center;
}

.grid--region .grid__item--map>div {
    margin: 0 auto;
}

@media only screen and (max-width: 82.4375em) {
    .grid--region .grid__item--map {
        display: none;
    }
}

.map__idf {
    display: none;
    position: absolute;
    padding: 0 0 40px;
}

.map__inner {
    position: relative;
    background: #fff;
    z-index: 999;
    color: #686868;
    padding: 20px;
    width: 320px;
    border: 1px solid #ccc;
}

.map__inner:after {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 15px;
    margin-left: -15px;
}

.map__inner h2 {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 600;
    color: #a2516b;
}

.modal__list,
.regions__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.5rem;
}

@media only screen and (min-width: 93.75em) {

    .modal__list,
    .regions__list {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {

    .modal__list,
    .regions__list {
        font-size: 1.4rem;
    }
}

.modal__list button,
.regions__list button {
    margin: 0;
    padding: 0;
    border: 0;
    display: block;
    padding: 3px 0;
    background: none;
    text-align: left;
    cursor: pointer;
    position: relative;
    color: #686868;
}

.modal__list button:after,
.regions__list button:after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    top: calc(50% - 11px);
    margin-left: 5px;
    background-image: url(../images/sprites.png);
    background-position: -244px -43px;
    width: 12px;
    height: 22px;
    opacity: 0;
}

.modal__list button:hover,
.modal__list button:focus,
.modal__list button:active,
.regions__list button:hover,
.regions__list button:focus,
.regions__list button:active {
    text-decoration: none;
    color: #a2516b;
}

.modal__list button:hover:after,
.modal__list button:focus:after,
.modal__list button:active:after,
.regions__list button:hover:after,
.regions__list button:focus:after,
.regions__list button:active:after {
    opacity: 1;
}

.modal__list button.active,
.regions__list button.active {
    color: #a2516b;
}

.region-name {
    display: none;
}

body[data-profession="artisan"] .is-hidden--artisan-commercant,
body[data-profession="commercant"] .is-hidden--artisan-commercant {
    display: none;
}

body[data-profession="artisan"] .contact-v2__step .is-hidden--artisan-commercant,
body[data-profession="commercant"] .contact-v2__step .is-hidden--artisan-commercant {
    display: block;
}

body[data-region="28"] .is-hidden--cpl {
    display: none;
}

body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .grid__item--map {
    display: none;
}

body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .contact-v2__regions,
body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .pop--region {
    padding-left: 20px;
    padding-right: 20px;
    width: 400px;
}

body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .contact-v2__regions .grid__item,
body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .pop--region .grid__item {
    float: none !important;
    width: auto !important;
}

body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .regions__list li {
    display: none;
}

body:not([data-modal-is-open="#popin--contact-mvp"])[data-profession="profession-liberale"] .regions__list li.item--profession-liberale {
    display: block;
}

.results-header {
    display: flow-root;
    margin: 0 0 10px;
}

.results-header:after {
    content: "";
    display: table;
    clear: both;
}

.results__title {
    margin: 0;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 1.4rem;
    text-align: center;
}

@media only screen and (min-width: 48em) {
    .results__title {
        text-align: left;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .results__title {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .results__title {
        font-size: 1.8rem;
    }
}

.results__title strong {
    text-transform: none;
}

.sort-widget {
    float: right;
    position: relative;
    top: -5px;
}

@media only screen and (max-width: 47.9375em) {
    .sort-widget {
        float: none;
        position: static;
        margin-bottom: 10px;
        text-align: right;
    }
}

.sort-widget__label {
    display: inline-block;
    vertical-align: middle;
    text-transform: uppercase;
    font-size: 1.4rem;
    margin-right: 10px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sort-widget__label {
        font-size: 1.6rem;
    }
}

.sort-widget__list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 1.4rem;
    display: inline-block;
    vertical-align: middle;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .sort-widget__list {
        font-size: 1.6rem;
    }
}

.sort-widget__list li {
    display: inline-block;
    vertical-align: middle;
}

.sort-widget__list a {
    display: block;
    padding: 5px 10px;
    border: 1px solid #ccc;
}

.sort-widget__list a:hover,
.sort-widget__list a:focus,
.sort-widget__list a:active {
    text-decoration: none;
    background: #ccc;
}

.sort-widget__list .sort-order a:before {
    content: '';
    display: none;
    vertical-align: middle;
    height: 0;
    width: 0;
    border-top: 6px solid #403f3f;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    margin-right: 10px;
}

.sort-widget__list .sort-order a:hover,
.sort-widget__list .sort-order a:focus,
.sort-widget__list .sort-order a:active {
    background: #f4f4f4;
}

.sort-widget__list .sort-order.up a,
.sort-widget__list .sort-order.down a {
    background: #a2516b;
    color: #fff;
    border-color: #a2516b;
}

.sort-widget__list .sort-order.up a:before,
.sort-widget__list .sort-order.down a:before {
    border-top-color: #fff;
}

.sort-widget__list .sort-order.up a:hover,
.sort-widget__list .sort-order.up a:focus,
.sort-widget__list .sort-order.up a:active,
.sort-widget__list .sort-order.down a:hover,
.sort-widget__list .sort-order.down a:focus,
.sort-widget__list .sort-order.down a:active {
    background: #a2516b;
    border-color: #a2516b;
}

.sort-widget__list .sort-order.up-no-arrow a,
.sort-widget__list .sort-order.down-no-arrow a {
    background: #a2516b;
    color: #fff;
    border-color: #a2516b;
}

.sort-widget__list .sort-order.up-no-arrow a:hover,
.sort-widget__list .sort-order.up-no-arrow a:focus,
.sort-widget__list .sort-order.up-no-arrow a:active,
.sort-widget__list .sort-order.down-no-arrow a:hover,
.sort-widget__list .sort-order.down-no-arrow a:focus,
.sort-widget__list .sort-order.down-no-arrow a:active {
    background: #a2516b;
    border-color: #a2516b;
}

.sort-widget__list .sort-order.up a:before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    display: inline-block;
}

.sort-widget__list .sort-order.down a:before {
    display: inline-block;
}

.other-contents {
    background-color: #e9e9e9;
    margin-bottom: 2px;
    padding: 10px 0;
    position: relative;
    z-index: 0;
}

@media only screen and (min-width: 93.75em) {
    .other-contents {
        padding: 20px 0;
    }
}

.content-block {
    background: #fff;
    border: 1px solid #c4c2c2;
    padding: 10px;
}

@media only screen and (min-width: 93.75em) {
    .content-block {
        padding: 15px 15px 10px;
    }
}

.content-block .btn-wrap {
    font-size: 1.2rem;
    text-align: right;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-block .btn-wrap {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-block .btn-wrap {
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .other-contents .content-block {
        margin-bottom: 10px;
    }
}

.content-block__news {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9e9e9;
}

.content-block__title {
    margin: 10px 0;
    padding: 0;
    color: #a2516b;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: bold;
}

.content-block__title a {
    color: #a2516b;
}

.content-block__title:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-block__title {
        font-size: 1.6rem;
        margin: 10px 0;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-block__title {
        font-size: 1.8rem;
    }
}

.content-block--news .content-block__title {
    margin: 10px 0;
    padding: 0;
    color: #a2516b;
    font-size: 1.4rem;
    line-height: 1.2;
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: 1px solid #a2516b;
    padding: 0 0 5px;
}

.content-block--news .content-block__title a {
    color: #a2516b;
}

.content-block--news .content-block__title:first-child {
    margin-top: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-block--news .content-block__title {
        font-size: 1.6rem;
        margin: 10px 0;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-block--news .content-block__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-block--news .content-block__title {
        padding: 0 0 6px;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-block--news .content-block__title {
        padding: 0 0 10px;
    }
}

.content-block__text {
    font-size: 1.2rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .content-block__text {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .content-block__text {
        font-size: 1.4rem;
    }
}

.content-block--image-overlay {
    padding: 0;
    position: relative;
    overflow: hidden;
}

.other-contents .content-block--image-overlay {
    min-height: 15rem;
}

.image-overlay__text {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 10px 15px;
    margin: 0;
    -webkit-transition: background 300ms;
    transition: background 300ms;
    font-size: 1.4rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .image-overlay__text {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .image-overlay__text {
        font-size: 1.8rem;
    }
}

.image-overlay {
    display: block;
}

.image-overlay img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    height: 100%;
    width: auto;
    max-width: none;
    max-height: none;
}

@media only screen and (max-width: 74.9375em) {
    .image-overlay img {
        width: 100%;
        height: auto;
    }
}

.image-overlay:hover .image-overlay__text,
.image-overlay:focus .image-overlay__text,
.image-overlay:active .image-overlay__text {
    background: rgba(0, 0, 0, 0.9);
}

.home-nav__options {
    margin-top: 10px;
    padding: 15px;
    background: rgba(255, 255, 255, 0.8);
    -webkit-box-shadow: -1px 5px 20px 0 rgba(0, 0, 0, 0.1);
    box-shadow: -1px 5px 20px 0 rgba(0, 0, 0, 0.1);
}

@media only screen and (min-width: 48em) {
    .home-nav__options {
        max-width: 58%;
        margin: 5px auto 0;
        padding: 45px 30px;
    }
}

@media only screen and (max-width: 93.6875em) {
    .home-nav__options {
        margin-top: 20px;
        padding: 30px 15px;
    }
}

@media only screen and (min-width: 93.75em) {
    .home-nav__options {
        max-width: 50%;
    }
}

.home-nav__options .tags-list {
    margin-bottom: 10px;
    line-height: 4;
}

.home-nav__options *:last-child {
    margin-bottom: 0;
}

.section--perimetre {
    display: none;
}

.section--perimetre header {
    margin-bottom: 10px;
}

.section--perimetre--home {
    text-align: center;
}

.perimetre {
    position: relative;
    padding: 18px 40px 18px 18px;
    background-color: #ececed;
    margin-bottom: 20px;
    z-index: 2;
}

@media only screen and (max-width: 47.9375em) {
    .perimetre {
        padding: 18px 10px 18px 10px;
    }
}

@media only screen and (max-width: 63.9375em) {
    .perimetre {
        margin-bottom: 15px;
    }
}

.perimetre .section--perimetre {
    display: block;
}

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

.perimetre--is-expanded {
    -webkit-box-shadow: 5px 10px 10px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 5px 10px 10px 0 rgba(0, 0, 0, 0.2);
}

.perimetre--is-expanded .steps__num,
.perimetre--is-expanded .tags-list {
    display: none;
}

.perimetre--is-expanded .step {
    display: block !important;
}

.perimetre:not(.perimetre--is-expanded) .search-tag--large {
    position: relative;
    width: 100%;
    padding: 3px 8px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .perimetre:not(.perimetre--is-expanded) .search-tag--large {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .perimetre:not(.perimetre--is-expanded) .search-tag--large {
        font-size: 1.6rem;
    }
}

.perimetre:not(.perimetre--is-expanded) .search-tag--large:after {
    position: absolute;
    top: calc(50% - 5px);
    right: 10px;
}

.perimetre:not(.perimetre--is-expanded) .tags-list {
    margin: 0;
}

.perimetre:not(.perimetre--is-expanded) .tags-list li {
    display: block;
    margin-bottom: 10px;
}

.perimetre:not(.perimetre--is-expanded) .tags-list li:last-child {
    margin-bottom: 0;
}

.perimetre:not(.perimetre--is-expanded) .btn-wrap,
.perimetre:not(.perimetre--is-expanded) .step {
    display: none;
}

.perimetre:not(.perimetre--is-expanded) .search-tag--not-complete {
    width: 100%;
    display: block;
}

.perimetre:not(.perimetre--is-expanded) .btn-wrap-sidebar {
    display: none;
}

.perimetre__title {
    font-size: 1.2rem;
    margin: 0 0 0;
    color: #a2516b;
    text-align: center;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .perimetre__title {
        font-size: 1.2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .perimetre__title {
        font-size: 1.2rem;
    }
}

.perimetre:not(.perimetre--is-expanded) .perimetre__title {
    display: none;
}

#tags-container {
    display: none;
    margin-bottom: 10px;
}

.form--is-validate #tags-container,
.form--is-complete #tags-container {
    display: block;
}

@media only screen and (max-width: 47.9375em) {
    .btn-alter {
        display: none;
        margin: 0;
        padding: 0;
        border: 0;
        cursor: pointer;
        background: none;
        position: absolute;
        top: 0;
        right: 0;
        padding: 10px;
    }

    .btn-alter:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        background-image: url(../images/sprites.png);
        background-position: -268px -56px;
        width: 9px;
        height: 9px;
    }
}

@media only screen and (min-width: 48em) {
    .btn-alter {
        margin: 0;
        padding: 0;
        border: 0;
        cursor: pointer;
        background: none;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        background: #3e3e3e;
        color: #fff;
        width: 25px;
    }

    .btn-alter:hover,
    .btn-alter:focus,
    .btn-alter:active {
        background: #4b4b4b;
    }

    .btn-alter:before {
        content: '';
        display: inline-block;
        vertical-align: middle;
        background-image: url(../images/sprites.png);
        background-position: -268px 0px;
        width: 13px;
        height: 15px;
        -webkit-transition: all 300ms;
        transition: all 300ms;
    }

    .perimetre--is-expanded .btn-alter:before {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}

.btn-alter span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

@media only screen and (max-width: 47.9375em) {
    .btn-alter--x {
        display: block;
    }
}

.modal-perimetre {
    display: none;
    position: absolute;
    border: 1px solid #3e3e3e;
    border-top-width: 2px;
    padding: 25px 0;
    text-align: left;
    width: 400px;
    max-width: 90%;
    z-index: 99999;
    background: #fff;
}

@media only screen and (min-width: 48em) {
    .modal-perimetre {
        width: 300px;
    }
}

@media only screen and (min-width: 48em) {
    .modal-perimetre {
        width: 600px;
    }
}

@media only screen and (min-width: 82.5em) {
    .modal-perimetre {
        width: 1000px;
    }
}

.modal-perimetre:after {
    content: '';
    height: 0;
    width: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #3e3e3e;
    bottom: 100%;
    left: 50%;
    position: absolute;
}

.modal-perimetre.pop--from-left:after {
    left: 16%;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .modal-perimetre.pop--from-left:after {
        left: 21%;
    }
}

.modal-perimetre svg {
    max-width: 100%;
}

.modal-perimetre .region {
    cursor: pointer;
}

.modal-perimetre .btn--small-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
}

.modal-perimetre--pad,
.modal--je-suis,
.modal--pro {
    padding: 10px;
    max-width: 500px;
}

@media only screen and (max-width: 47.9375em) {

    .modal-perimetre--pad,
    .modal--je-suis,
    .modal--pro {
        max-width: 96%;
    }
}

@media only screen and (min-width: 48em) {

    .modal-perimetre--pad,
    .modal--je-suis,
    .modal--pro {
        padding: 25px;
    }
}

.modal--pro .message {
    margin-bottom: 10px;
    margin-right: 50px;
}

@media only screen and (min-width: 48em) {
    .modal--pro .message {
        margin-bottom: 20px;
    }
}

.modal--pro .message img {
    margin-right: 5px;
    float: left;
}

@media only screen and (max-width: 47.9375em) {
    .modal--pro .message img {
        max-width: 15px;
    }
}

@media only screen and (min-width: 48em) {
    .modal--pro .message img {
        margin-right: 15px;
    }
}

.modal--pro .message__content {
    overflow: hidden;
}

.step {
    margin-bottom: 10px;
}

@media only screen and (min-width: 48em) {
    .step {
        margin-bottom: 20px;
    }
}

.section--perimetre--home .step {
    float: none;
    display: inline-block;
    vertical-align: middle;
}

.form--is-validate .step[data-step-state="complete"] {
    display: none;
}

.form--perimetre--full .step[data-step-state="complete"] {
    display: block;
}

.step .btn-border {
    margin-right: 10px;
}

@media only screen and (max-width: 47.9375em) {
    .step .btn-border {
        margin-right: 5px;
    }
}

.steps__num {
    background: #a2516b;
    width: 27px;
    height: 27px;
    line-height: 27px;
    border-radius: 50%;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    float: left;
    margin-right: 15px;
    margin-top: 5px;
    display: inline-block;
    vertical-align: middle;
}

@media only screen and (max-width: 47.9375em) {
    .steps__num {
        width: 20px;
        height: 20px;
        line-height: 20px;
        font-size: 1.4rem;
    }
}

.home-nav__options .steps__num {
    margin-top: 0;
}

.pop__title .steps__num {
    float: none;
    margin-top: 0;
}

@media only screen and (max-width: 47.9375em) {
    .steps__num {
        float: none;
        margin: 0 auto;
    }
}

.steps-wrap {
    margin-bottom: 15px;
}

.step--disabled {
    opacity: 0.5;
}

.home__title-wrap {
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

.assistance__title,
.home__title {
    font-weight: 600;
    margin: 0 20px 0 0;
    display: inline-block;
    vertical-align: middle;
    color: #3e3e3e;
    font-size: 1.6rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .assistance__title,
    .home__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .assistance__title,
    .home__title {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 29.9375em) {

    .assistance__title,
    .home__title {
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 21.8125em) {

    .assistance__title,
    .home__title {
        margin-right: 0;
        margin-bottom: 0;
        font-size: 1.2rem;
        line-height: 1.8;
    }
}

.pop--contact .assistance__title,
.pop--contact .home__title {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
}

@media only screen and (min-width: 48em) {

    .pop--contact .assistance__title,
    .pop--contact .home__title {
        display: inline-block;
        vertical-align: middle;
        margin-right: 1rem;
        font-size: 2rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--contact .assistance__title,
    .pop--contact .home__title {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .pop--contact .assistance__title,
    .pop--contact .home__title {
        font-size: 2rem;
    }
}

.pop--contact-2 .assistance__title,
.pop--contact-2 .home__title {
    font-size: 1.3rem;
    font-weight: bold;
    margin-bottom: 10px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .pop--contact-2 .assistance__title,
    .pop--contact-2 .home__title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .pop--contact-2 .assistance__title,
    .pop--contact-2 .home__title {
        font-size: 1.6rem;
    }
}

.form--perimetre .btn-wrap {
    margin-top: 40px;
}

.form--perimetre button[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form--perimetre.form--is-complete:not(.form--perimetre--full) .btn-wrap {
    display: none;
}

.pop--perimetre-mc .btn-wrap button {
    margin-left: 15px;
}

.pop--perimetre-mc .btn-wrap a {
    float: left;
    color: #a2516b;
    text-decoration: underline;
    font-size: 1.4rem;
}

.pop--perimetre-mc .btn-wrap a:hover,
.pop--perimetre-mc .btn-wrap a:focus,
.pop--perimetre-mc .btn-wrap a:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .pop--perimetre-mc .btn-wrap a {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .pop--perimetre-mc .btn-wrap a {
        font-size: 1.8rem;
    }
}

.search-tag--not-complete {
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    background-color: #dadada;
    border: 1px solid #dadada;
    padding: 5px 10px;
    font-size: 1.2rem;
    color: #000;
    width: 12rem;
    text-align: left;
}

@media only screen and (max-width: 93.6875em) {
    .search-tag--not-complete {
        width: 12rem;
    }
}

.search-tag--not-complete:hover,
.search-tag--not-complete:focus,
.search-tag--not-complete:active {
    background: none;
}

.search-tag--not-complete.active {
    background: none;
}

.form-pa {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.box {
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    /*overflow: hidden;*/
    padding: 20px;
    margin-bottom: 20px;
}

.box:after {
    content: "";
    display: table;
    clear: both;
}

.grid--article .box {
    margin-bottom: 0;
}

.box header {
    position: relative;
    border-bottom: 1px solid #000;
    padding: 0 50px 15px 0;
    margin: 0 0 15px;
}

.box header.box__header--title-only {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 0;
}

.box .content__dates {
    display: block;
    margin-bottom: 15px;
}

.box .date__label {
    color: #502e59;
}

.box__title {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 1px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .box__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .box__title {
        font-size: 2.4rem;
    }
}

.box__text {
    font-size: 1.3rem;
    font-weight: 600;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .box__text {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .box__text {
        font-size: 1.5rem;
    }
}

.box__text *:first-child {
    margin-top: 0;
}

.box__text *:last-child {
    margin-bottom: 0;
}

.box__text+.box__text {
    margin-top: 10px;
}

.box__text>h2 {
    margin: 0 0 10px;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .box__text>h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .box__text>h2 {
        font-size: 2rem;
    }
}

.box__text>h2+p {
    margin-top: 0;
}

.box__text>ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    font-size: 1.4rem;
    color: #000;
    font-size: 1.3rem;
    margin-left: 20px;
    text-indent: -15px;
}

.box__text>ul:first-child {
    margin-top: 0;
}

.box__text>ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .box__text>ul {
        font-size: 1.2rem;
    }
}

.box__text>ul li {
    margin-bottom: 5px;
}

.box__text>ul a:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {
    .box__text>ul a:before {
        margin-right: 10px;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .box__text>ul {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .box__text>ul {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .box__text>ul {
        margin-left: 50px;
        text-indent: -17px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .box__text>ul li>a {
        text-decoration: underline;
    }

    .box__text>ul li>a:hover,
    .box__text>ul li>a:focus,
    .box__text>ul li>a:active {
        text-decoration: none;
    }
}

.rubric {
    margin-bottom: 20px;
}

.rubric__sub {
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    background: #fff;
    padding: 25px;
    border-left: 4px solid #dbdf71;
    margin-bottom: 20px;
    page-break-inside: auto;
    -moz-column-break-inside: auto;
    -webkit-column-break-inside: auto;
    break-inside: auto;
}

.rubric__sub:after {
    content: "";
    display: table;
    clear: both;
}

.rubric__sub *:first-child {
    margin-top: 0;
}

.rubric__sub *:last-child {
    margin-bottom: 0;
}

.rubric__sub h2 {
    margin: 0;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #7d4460;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rubric__sub h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rubric__sub h2 {
        font-size: 2rem;
    }
}

.rubric__sub h2 a {
    color: #a2516b;
}

.rubric__sub h3 {
    margin: 0 0 15px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rubric__sub h3 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rubric__sub h3 {
        font-size: 1.6rem;
    }
}

.rubric__sub ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    font-size: 1.4rem;
    color: #000;
}

.rubric__sub ul:first-child {
    margin-top: 0;
}

.rubric__sub ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rubric__sub ul {
        font-size: 1.2rem;
    }
}

.rubric__sub ul li {
    margin-bottom: 5px;
}

.rubric__sub ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

.rubric__sub ul li li:before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {
    .rubric__sub ul a:before {
        margin-right: 10px;
    }
}

.faq .tgp--panel {
    display: none;
}

.faq__item {
    margin-bottom: 20px;
}

.faq__item>h2 {
    margin: 0;
}

.faq__item>h2 button {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    display: block;
    background: #3e3e3e;
    color: #fff;
    width: 100%;
    text-align: left;
    padding: 15px 60px 15px 10px;
    font-size: 1.6rem;
    line-height: 1.1;
    overflow: hidden;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__item>h2 button {
        font-size: 2rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__item>h2 button {
        font-size: 2.8rem;
    }
}

@media only screen and (min-width: 48em) {
    .faq__item>h2 button {
        padding: 15px 20px;
    }
}

.faq__item>h2 button.tgp--trigger--is-active .faq__arrow {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.faq__item>h2 button .faq__arrow {
    position: relative;
    position: absolute;
    right: 30px;
    top: 50%;
    transition: -webkit-transform 300ms;
    -webkit-transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
}

.faq__item>h2 button .faq__arrow:after,
.faq__item>h2 button .faq__arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 10px);
    right: calc(50% - 20px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.faq__item>h2 button .faq__arrow:before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 20px;
}

.faq__item>h2 button .faq__arrow:after {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 22px;
    top: calc(50% - 14px);
    right: calc(50% - 22px);
}

@media only screen and (min-width: 48em) {
    .faq__item>h2 button .faq__arrow {
        right: 40px;
    }
}

.faq__item>h2 button:hover,
.faq__item>h2 button:focus,
.faq__item>h2 button:active {
    background: #a2516b;
}

.faq__item>h2 button:hover .faq__arrow:after,
.faq__item>h2 button:focus .faq__arrow:after,
.faq__item>h2 button:active .faq__arrow:after {
    border-top-color: #a2516b;
}

.faq__content {
    padding: 15px 0;
}

.faq__subitem {
    margin-bottom: 15px;
}

.faq__subitem>h3 {
    margin: 0;
}

.faq__subitem>h3 button {
    position: relative;
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    display: block;
    background: #fff;
    border: 1px solid #3e3e3e;
    color: #3e3e3e;
    width: 100%;
    text-align: left;
    padding: 10px 60px 10px 10px;
    font-size: 1.6rem;
    line-height: 1.1;
    overflow: hidden;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__subitem>h3 button {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__subitem>h3 button {
        font-size: 2.4rem;
    }
}

@media only screen and (min-width: 48em) {
    .faq__subitem>h3 button {
        padding: 10px 20px;
    }
}

.faq__subitem>h3 button>.faq__arrow {
    position: relative;
    position: absolute;
    right: 30px;
    top: 50%;
    transition: -webkit-transform 300ms;
    -webkit-transition: -webkit-transform 300ms;
    transition: transform 300ms;
    transition: transform 300ms, -webkit-transform 300ms;
}

.faq__subitem>h3 button>.faq__arrow:after,
.faq__subitem>h3 button>.faq__arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.faq__subitem>h3 button>.faq__arrow:before {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 18px;
}

.faq__subitem>h3 button>.faq__arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 20px;
    top: calc(50% - 13px);
    right: calc(50% - 20px);
}

@media only screen and (min-width: 48em) {
    .faq__subitem>h3 button>.faq__arrow {
        right: 40px;
    }
}

.faq__subitem>h3 button.tgp--trigger--is-active {
    border-color: #a2516b;
    color: #a2516b;
}

.faq__subitem>h3 button.tgp--trigger--is-active .faq__arrow {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.faq__subitem>h3 button.tgp--trigger--is-active .faq__arrow:before {
    border-top-color: #a2516b;
}

.faq__title {
    margin: 0;
    font-size: 1.4rem;
    font-weight: normal;
    line-height: 1.2;
}

.faq__title:before {
    content: '';
    display: block;
    width: 43px;
    height: 42px;
    margin-bottom: 10px;
    background: url(../images/pictos/question.png) no-repeat center center;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__title {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__title {
        font-size: 1.8rem;
    }
}

.faq__title a:hover {
    text-decoration: none;
}

.faq__qr {
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    margin-bottom: 20px;
    cursor: pointer;
    background: #fff;
    border: 0;
    text-align: left;
}

.faq__qr:after {
    content: "";
    display: table;
    clear: both;
}

.faq__qr:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.faq__qr.tgp--trigger--is-active {
    color: #fff;
}

.faq__qr.tgp--trigger--is-active .faq__title a {
    color: #fff;
}

.faq__qr.tgp--trigger--is-active:before {
    background: #3e3e3e;
    -webkit-transition: all 500ms;
    transition: all 500ms;
}

.faq__qr:hover,
.faq__qr:focus,
.faq__qr:active {
    color: #fff;
}

.faq__qr:hover .faq__title a,
.faq__qr:focus .faq__title a,
.faq__qr:active .faq__title a {
    color: #fff;
}

.faq__qr:hover .faq__title:before,
.faq__qr:focus .faq__title:before,
.faq__qr:active .faq__title:before,
.faq__qr.tgp--trigger--is-active .faq__title:before {
    background: url(../images/pictos/question--white.png) no-repeat center center;
}

.faq__qr:hover:before,
.faq__qr:focus:before,
.faq__qr:active:before {
    background: #a2516b;
    -webkit-transition: all 500ms;
    transition: all 500ms;
}

.faq__qr .faq__qr-content {
    position: relative;
    display: block;
    z-index: 2;
}

@media only screen and (max-width: 93.6875em) {
    .faq__qr .faq__qr-content {
        padding: 15px;
    }
}

@media only screen and (min-width: 48em) {
    .faq__qr .faq__qr-content {
        padding: 25px;
        min-height: 230px;
    }
}

div.faq__answer {
    position: relative;
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
    overflow: visible;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    margin-bottom: 20px;
    padding: 10px 15px;
    border-top: 4px solid #dbdf71;
    background: #fff;
    display: none;
}

div.faq__answer:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 48em) {
    div.faq__answer {
        padding: 20px 25px;
    }
}

div.faq__answer:before {
    content: '';
    position: absolute;
    bottom: 100.1%;
    left: 14%;
    height: 0;
    width: 0;
    border-left: 18px solid transparent;
    border-right: 18px solid transparent;
    border-bottom: 18px solid #dbdf71;
    z-index: 10;
}

div.faq__answer.tgp--panel+div.faq__answer:before {
    left: 47.5%;
}

div.faq__answer.tgp--panel+div.faq__answer+div.faq__answer:before {
    left: 80%;
}

div.faq__answer.tgp--panel+div.faq__answer:last-child:before {
    left: 80%;
}

.faqHome div.faq__answer:before {
    left: 12.5%;
}

.faqHome div.faq__answer.tgp--panel+div.faq__answer:before {
    left: 37.5%;
}

.faqHome div.faq__answer.tgp--panel+div.faq__answer+div.faq__answer:before {
    left: 62.5%;
}

.faqHome div.faq__answer.tgp--panel+div.faq__answer+div.faq__answer+div.faq__answer:before {
    left: 87.5%;
}

div.faq__answer ol {
    margin: 20px 0 20px 30px;
    padding: 0;
}

@media only screen and (max-width: 93.6875em) {
    div.faq__answer ol {
        margin-left: 28px;
    }
}

div.faq__answer ol li {
    margin-bottom: 5px;
}

div.faq__answer .contrib {
    font-size: 1.3rem;
    position: relative;
    padding: 0 0 15px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    div.faq__answer .contrib {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    div.faq__answer .contrib {
        font-size: 1.5rem;
    }
}

div.faq__answer .contrib:after {
    content: '';
    background: #f4f4f4;
    height: 2px;
    position: absolute;
    left: -25px;
    right: -25px;
    bottom: 0;
}

div.faq__answer .faq__num {
    color: #a2516b;
    font-weight: bold;
    margin-right: 10px;
}

.faq__answer-title {
    margin: 0 0 20px;
    font-size: 1.6rem;
    text-align: center;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__answer-title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__answer-title {
        font-size: 2.4rem;
    }
}

@media only screen and (max-width: 93.6875em) {
    .faq__answer-title {
        padding-right: 55px;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__answer-title {
        padding-right: 60px;
    }
}

.faq__usefull {
    text-align: center;
    padding: 20px 20px 0;
}

.faq__usefull-title {
    margin: 0 0 15px;
    font-size: 1.3rem;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__usefull-title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__usefull-title {
        font-size: 1.5rem;
    }
}

.faq__usefull-feedback {
    display: none;
    text-align: center;
    padding: 20px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .faq__usefull-feedback {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .faq__usefull-feedback {
        font-size: 1.6rem;
    }
}

.faq__usefull-feedback:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -112px -180px;
    width: 23px;
    height: 21px;
}

.faq__yn button {
    margin: 0 10px;
}

.share__trigger {
    z-index: 5;
}

.front .share__trigger {
    display: none;
}

.content-box .share__trigger {
    top: 35px;
    right: 15px;
}

.content-box--collapsible .share__trigger {
    top: 70px;
}

@media only screen and (max-width: 29.9375em) {
    .content-box--collapsible .share__trigger {
        top: 45px;
    }
}

.share__list {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    position: absolute;
    z-index: 20;
}

.share__list li {
    margin-bottom: 10px;
}

.share__list.tgp--is-opened {
    display: block;
}

.zone-rebond {
    margin-top: 40px;
}

.grid--article article,
.zone-rebond article,
.aside-contrib {
    display: flow-root;
    padding: 20px;
    background-color: #ececed;
}

.grid--article article:after,
.zone-rebond article:after,
.aside-contrib:after {
    content: "";
    display: table;
    clear: both;
}

.grid--article article h2,
.zone-rebond article h2,
.aside-contrib h2 {
    margin: 0;
    text-transform: uppercase;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: bold;
}

.aside-contrib h2.type {
    font-size: 1.4rem;
    font-weight: 500;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article h2,
    .zone-rebond article h2,
    .aside-contrib h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article h2,
    .zone-rebond article h2,
    .aside-contrib h2 {
        font-size: 2rem;
    }
}

.grid--article article .contrib,
.zone-rebond article .contrib,
.aside-contrib .contrib {
    font-size: 1.3rem;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib,
    .zone-rebond article .contrib,
    .aside-contrib .contrib {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib,
    .zone-rebond article .contrib,
    .aside-contrib .contrib {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib,
    .zone-rebond article .contrib,
    .aside-contrib .contrib {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib,
    .zone-rebond article .contrib,
    .aside-contrib .contrib {
        font-size: 1.6rem;
    }
}

.grid--article article .contrib h1,
.zone-rebond article .contrib h1,
.aside-contrib .contrib h1 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 5px;
}

.grid--article article .contrib h1:first-child,
.zone-rebond article .contrib h1:first-child,
.aside-contrib .contrib h1:first-child {
    margin-top: 0;
}

.grid--article article .contrib h2,
.zone-rebond article .contrib h2,
.aside-contrib .contrib h2 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 5px;
}

.grid--article article .contrib h3,
.zone-rebond article .contrib h3,
.aside-contrib .contrib h3 {
    font-size: 1.25em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #dbdf71;
}

.grid--article article .contrib h4,
.zone-rebond article .contrib h4,
.aside-contrib .contrib h4 {
    font-size: 1em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #929191;
}

.grid--article article .contrib p:first-child,
.grid--article article .contrib h1+p,
.grid--article article .contrib h2+p,
.grid--article article .contrib h3+p,
.grid--article article .contrib h4+p,
.grid--article article .contrib h5+p,
.grid--article article .contrib h6+p,
.zone-rebond article .contrib p:first-child,
.zone-rebond article .contrib h1+p,
.zone-rebond article .contrib h2+p,
.zone-rebond article .contrib h3+p,
.zone-rebond article .contrib h4+p,
.zone-rebond article .contrib h5+p,
.zone-rebond article .contrib h6+p,
.aside-contrib .contrib p:first-child,
.aside-contrib .contrib h1+p,
.aside-contrib .contrib h2+p,
.aside-contrib .contrib h3+p,
.aside-contrib .contrib h4+p,
.aside-contrib .contrib h5+p,
.aside-contrib .contrib h6+p {
    margin-top: 0;
}

.grid--article article .contrib a,
.zone-rebond article .contrib a,
.aside-contrib .contrib a {
    text-decoration: underline;
}

.grid--article article .contrib a:hover,
.grid--article article .contrib a:focus,
.grid--article article .contrib a:active,
.zone-rebond article .contrib a:hover,
.zone-rebond article .contrib a:focus,
.zone-rebond article .contrib a:active,
.aside-contrib .contrib a:hover,
.aside-contrib .contrib a:focus,
.aside-contrib .contrib a:active {
    text-decoration: none;
}

.grid--article article .contrib a.link--brand,
.zone-rebond article .contrib a.link--brand,
.aside-contrib .contrib a.link--brand {
    color: #a2516b;
}

.grid--article article .contrib ul,
.zone-rebond article .contrib ul,
.aside-contrib .contrib ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 30px;
    text-indent: -15px;
}

.grid--article article .contrib ul:first-child,
.zone-rebond article .contrib ul:first-child,
.aside-contrib .contrib ul:first-child {
    margin-top: 0;
}

.grid--article article .contrib ul:last-child,
.zone-rebond article .contrib ul:last-child,
.aside-contrib .contrib ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib ul,
    .zone-rebond article .contrib ul,
    .aside-contrib .contrib ul {
        text-indent: -17px;
    }
}

.grid--article article .contrib ul li:before,
.zone-rebond article .contrib ul li:before,
.aside-contrib .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

.grid--article article .contrib ul li li:before,
.zone-rebond article .contrib ul li li:before,
.aside-contrib .contrib ul li li:before {
    border-color: #a2516b;
    background-color: transparent;
}

@media only screen and (max-width: 93.6875em) {

    .grid--article article .contrib ul li:before,
    .zone-rebond article .contrib ul li:before,
    .aside-contrib .contrib ul li:before {
        margin-right: 10px;
    }
}

.grid--article article .contrib ul li,
.zone-rebond article .contrib ul li,
.aside-contrib .contrib ul li {
    margin-bottom: 5px;
}

.grid--article article .contrib .content-layout-2 ul li:before,
.zone-rebond article .contrib .content-layout-2 ul li:before,
.aside-contrib .contrib .content-layout-2 ul li:before {
    margin-right: 12px;
}

.grid--article article .contrib ol,
.zone-rebond article .contrib ol,
.aside-contrib .contrib ol {
    margin: 20px 0 20px 30px;
    padding: 0;
}

@media only screen and (max-width: 93.6875em) {

    .grid--article article .contrib ol,
    .zone-rebond article .contrib ol,
    .aside-contrib .contrib ol {
        margin-left: 28px;
    }
}

.grid--article article .contrib ol li,
.zone-rebond article .contrib ol li,
.aside-contrib .contrib ol li {
    margin-bottom: 5px;
}

.grid--article article .contrib table,
.zone-rebond article .contrib table,
.aside-contrib .contrib table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    font-size: 1.2rem;
    margin: 40px 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib table,
    .zone-rebond article .contrib table,
    .aside-contrib .contrib table {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib table,
    .zone-rebond article .contrib table,
    .aside-contrib .contrib table {
        font-size: 1.4rem;
    }
}

.grid--article article .contrib table caption,
.zone-rebond article .contrib table caption,
.aside-contrib .contrib table caption {
    color: #a2516b;
    font-weight: bold;
    padding: 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib table caption,
    .zone-rebond article .contrib table caption,
    .aside-contrib .contrib table caption {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib table caption,
    .zone-rebond article .contrib table caption,
    .aside-contrib .contrib table caption {
        font-size: 1.6rem;
    }
}

.grid--article article .contrib table th,
.grid--article article .contrib table td,
.zone-rebond article .contrib table th,
.zone-rebond article .contrib table td,
.aside-contrib .contrib table th,
.aside-contrib .contrib table td {
    padding: 15px 20px;
    border: 1px solid #c8c6c6;
}

.grid--article article .contrib table th,
.zone-rebond article .contrib table th,
.aside-contrib .contrib table th {
    font-weight: normal;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
}

.grid--article article .contrib table tbody th,
.zone-rebond article .contrib table tbody th,
.aside-contrib .contrib table tbody th {
    text-transform: none;
}

.grid--article article .contrib table tr,
.zone-rebond article .contrib table tr,
.aside-contrib .contrib table tr {
    border-bottom: 1px solid #403f3f;
}

.grid--article article .contrib table tbody tr:hover th,
.grid--article article .contrib table tbody tr:hover td,
.zone-rebond article .contrib table tbody tr:hover th,
.zone-rebond article .contrib table tbody tr:hover td,
.aside-contrib .contrib table tbody tr:hover th,
.aside-contrib .contrib table tbody tr:hover td {
    background: #e9e9e9;
}

.grid--article article .contrib table.contenttable,
.grid--article article .contrib table.table--black,
.zone-rebond article .contrib table.contenttable,
.zone-rebond article .contrib table.table--black,
.aside-contrib .contrib table.contenttable,
.aside-contrib .contrib table.table--black {
    margin-bottom: 20px;
}

.grid--article article .contrib table.contenttable th,
.grid--article article .contrib table.table--black th,
.zone-rebond article .contrib table.contenttable th,
.zone-rebond article .contrib table.table--black th,
.aside-contrib .contrib table.contenttable th,
.aside-contrib .contrib table.table--black th {
    background: #403f3f;
}

.grid--article article .contrib table.contenttable tbody th,
.grid--article article .contrib table.table--black tbody th,
.zone-rebond article .contrib table.contenttable tbody th,
.zone-rebond article .contrib table.table--black tbody th,
.aside-contrib .contrib table.contenttable tbody th,
.aside-contrib .contrib table.table--black tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

.grid--article article .contrib table.alternatif,
.grid--article article .contrib table.table--brand,
.zone-rebond article .contrib table.alternatif,
.zone-rebond article .contrib table.table--brand,
.aside-contrib .contrib table.alternatif,
.aside-contrib .contrib table.table--brand {
    margin-bottom: 20px;
}

.grid--article article .contrib table.alternatif th,
.grid--article article .contrib table.table--brand th,
.zone-rebond article .contrib table.alternatif th,
.zone-rebond article .contrib table.table--brand th,
.aside-contrib .contrib table.alternatif th,
.aside-contrib .contrib table.table--brand th {
    background: #a2516b;
}

table.alternatif tfoot td {
    background: #a2516b;
    color: #FFF;
}

.grid--article article .contrib table.alternatif tbody th,
.grid--article article .contrib table.table--brand tbody th,
.zone-rebond article .contrib table.alternatif tbody th,
.zone-rebond article .contrib table.table--brand tbody th,
.aside-contrib .contrib table.alternatif tbody th,
.aside-contrib .contrib table.table--brand tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

.grid--article article .contrib table.telecharger,
.grid--article article .contrib table.table--list,
.zone-rebond article .contrib table.telecharger,
.zone-rebond article .contrib table.table--list,
.aside-contrib .contrib table.telecharger,
.aside-contrib .contrib table.table--list {
    margin-bottom: 20px;
}

.grid--article article .contrib table.telecharger caption,
.grid--article article .contrib table.table--list caption,
.zone-rebond article .contrib table.telecharger caption,
.zone-rebond article .contrib table.table--list caption,
.aside-contrib .contrib table.telecharger caption,
.aside-contrib .contrib table.table--list caption {
    color: #403f3f;
}

.grid--article article .contrib table.telecharger th,
.grid--article article .contrib table.table--list th,
.zone-rebond article .contrib table.telecharger th,
.zone-rebond article .contrib table.table--list th,
.aside-contrib .contrib table.telecharger th,
.aside-contrib .contrib table.table--list th {
    background: #dbdf71;
    text-align: center;
    color: #403f3f;
    font-weight: bold;
}

.grid--article article .contrib table.telecharger a,
.grid--article article .contrib table.table--list a,
.zone-rebond article .contrib table.telecharger a,
.zone-rebond article .contrib table.table--list a,
.aside-contrib .contrib table.telecharger a,
.aside-contrib .contrib table.table--list a {
    text-decoration: underline;
}

.grid--article article .contrib table.telecharger a:hover,
.grid--article article .contrib table.telecharger a:focus,
.grid--article article .contrib table.telecharger a:active,
.grid--article article .contrib table.table--list a:hover,
.grid--article article .contrib table.table--list a:focus,
.grid--article article .contrib table.table--list a:active,
.zone-rebond article .contrib table.telecharger a:hover,
.zone-rebond article .contrib table.telecharger a:focus,
.zone-rebond article .contrib table.telecharger a:active,
.zone-rebond article .contrib table.table--list a:hover,
.zone-rebond article .contrib table.table--list a:focus,
.zone-rebond article .contrib table.table--list a:active,
.aside-contrib .contrib table.telecharger a:hover,
.aside-contrib .contrib table.telecharger a:focus,
.aside-contrib .contrib table.telecharger a:active,
.aside-contrib .contrib table.table--list a:hover,
.aside-contrib .contrib table.table--list a:focus,
.aside-contrib .contrib table.table--list a:active {
    text-decoration: none;
}

.grid--article article .contrib .contrib__chapeau,
.zone-rebond article .contrib .contrib__chapeau,
.aside-contrib .contrib .contrib__chapeau {
    font-size: 1.3rem;
    margin: 0 0 20px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib .contrib__chapeau,
    .zone-rebond article .contrib .contrib__chapeau,
    .aside-contrib .contrib .contrib__chapeau {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib .contrib__chapeau,
    .zone-rebond article .contrib .contrib__chapeau,
    .aside-contrib .contrib .contrib__chapeau {
        font-size: 1.6rem;
    }
}

.grid--article article .contrib .contrib__media,
.zone-rebond article .contrib .contrib__media,
.aside-contrib .contrib .contrib__media {
    text-align: center;
}

.grid--article article .contrib img.gauche,
.grid--article article .contrib .contrib__media--left,
.zone-rebond article .contrib img.gauche,
.zone-rebond article .contrib .contrib__media--left,
.aside-contrib .contrib img.gauche,
.aside-contrib .contrib .contrib__media--left {
    float: left;
    margin: 0 15px 1em 0;
}

.grid--article article .contrib img.gauche img,
.grid--article article .contrib .contrib__media--left img,
.zone-rebond article .contrib img.gauche img,
.zone-rebond article .contrib .contrib__media--left img,
.aside-contrib .contrib img.gauche img,
.aside-contrib .contrib .contrib__media--left img {
    max-width: 300px;
}

.grid--article article .contrib img.droite,
.grid--article article .contrib .contrib__media--right,
.zone-rebond article .contrib img.droite,
.zone-rebond article .contrib .contrib__media--right,
.aside-contrib .contrib img.droite,
.aside-contrib .contrib .contrib__media--right {
    float: right;
    margin: 0 0 1em 15px;
}

.grid--article article .contrib img.droite img,
.grid--article article .contrib .contrib__media--right img,
.zone-rebond article .contrib img.droite img,
.zone-rebond article .contrib .contrib__media--right img,
.aside-contrib .contrib img.droite img,
.aside-contrib .contrib .contrib__media--right img {
    max-width: 300px;
}

.grid--article article .contrib img.droite,
.grid--article article .contrib img.gauche,
.zone-rebond article .contrib img.droite,
.zone-rebond article .contrib img.gauche,
.aside-contrib .contrib img.droite,
.aside-contrib .contrib img.gauche {
    max-width: 300px;
}

.grid--article article .contrib iframe,
.zone-rebond article .contrib iframe,
.aside-contrib .contrib iframe {
    margin: 0 auto 2rem;
}

.grid--article article .contrib .ratio-wrap,
.zone-rebond article .contrib .ratio-wrap,
.aside-contrib .contrib .ratio-wrap {
    margin: 0 auto 2rem;
}

.grid--article article .contrib h2,
.zone-rebond article .contrib h2,
.aside-contrib .contrib h2 {
    margin: 0;
    text-transform: uppercase;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: bold;
    color: #403f3f;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .grid--article article .contrib h2,
    .zone-rebond article .contrib h2,
    .aside-contrib .contrib h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .grid--article article .contrib h2,
    .zone-rebond article .contrib h2,
    .aside-contrib .contrib h2 {
        font-size: 2rem;
    }
}

.grid--article article .contrib h3,
.zone-rebond article .contrib h3,
.aside-contrib .contrib h3 {
    border-left: 0;
    padding-left: 0;
}

/*.grid--article article .contrib p,
.zone-rebond article .contrib p,
.aside-contrib .contrib p {
    overflow: hidden;
}*/

.grid--article article a,
.zone-rebond article a,
.aside-contrib a {
    text-decoration: underline;
    word-break: break-all;
    word-break: break-word;
    word-break: break-word;
    line-height: 2.2rem;
}

.grid--article article a:hover,
.grid--article article a:focus,
.grid--article article a:active,
.zone-rebond article a:hover,
.zone-rebond article a:focus,
.zone-rebond article a:active,
.aside-contrib a:hover,
.aside-contrib a:focus,
.aside-contrib a:active {
    text-decoration: none;
}

.grid--article article,
.aside-contrib {
    margin: 0;
}

.aside-contrib--brand,
.aside-contrib--dark {
    color: #fff;
}

.aside-contrib--brand a,
.aside-contrib--dark a {
    color: #fff;
}

.aside-contrib--brand .contrib ul li:before,
.aside-contrib--dark .contrib ul li:before {
    background-color: #fff;
}

.aside-contrib--brand .contrib h2,
.aside-contrib--dark .contrib h2 {
    color: #fff;
}

.aside-contrib--brand .contrib h4,
.aside-contrib--brand .contrib h3,
.aside-contrib--dark .contrib h4,
.aside-contrib--dark .contrib h3 {
    border-left-color: #fff;
}

.aside-contrib--brand {
    background-color: #a2516b;
}

.aside-contrib--brand .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #fff;
}

.aside-contrib--brand .contrib ul li li:before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #fff;
}

@media only screen and (max-width: 93.6875em) {
    .aside-contrib--brand .contrib ul li:before {
        margin-right: 10px;
    }
}

.aside-contrib--dark {
    background-color: #3e3e3e;
}

.aside-contrib--dark .contrib h2 {
    color: #fff;
}

.aside-contrib--dark .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #dbdf71;
}

.aside-contrib--dark .contrib ul li li:before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #dbdf71;
}

@media only screen and (max-width: 93.6875em) {
    .aside-contrib--dark .contrib ul li:before {
        margin-right: 10px;
    }
}

.grid--article article,
.aside-contrib--grey {
    background-color: #ececed;
}

.aside-contrib--grey .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

.aside-contrib--grey .contrib ul lili:before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {

    .grid--article article .contrib ul li:before,
    .aside-contrib--grey .contrib ul li:before {
        margin-right: 10px;
    }
}

.aside-contrib--green {
    background-color: #e0e486;
}

.aside-contrib--green .contrib h4,
.aside-contrib--green .contrib h3 {
    border-left-color: #403f3f;
}

.aside-contrib--green .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

.aside-contrib--green .contrib ul li li:before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {
    .aside-contrib--green .contrib ul li:before {
        margin-right: 10px;
    }
}

.download-block {
    display: flow-root;
    padding: 20px;
    text-align: center;
}

.download-block:after {
    content: "";
    display: table;
    clear: both;
}

/*.zone-rebond .download-block {
    background-color: #ececed;
}*/
.download-block {
    background-color: #ececed;
}

.download-block h2 {
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 10px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #a2516b;
    border-bottom: 1px solid #dbdbdc;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .download-block h2 {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .download-block h2 {
        font-size: 1.8rem;
    }
}

.download-block h2:before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 90px;
    height: 2px;
    background-color: #a2516b;
}

.download-block h2 span {
    font-weight: normal;
    color: #403f3f;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .download-block h2 span {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .download-block h2 span {
        font-size: 1.5rem;
    }
}

.download-block h3 {
    margin: 15px 0 10px;
    font-weight: normal;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .download-block h3 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .download-block h3 {
        font-size: 1.5rem;
    }
}

.download-block img {
    display: block;
    -webkit-box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 4px 4px 6px 0 rgba(0, 0, 0, 0.2);
    margin: 0 auto 20px;
    max-height: 150px;
    max-width: 150px;
}

.aside-faq {
    position: relative;
    line-height: 1.3;
    margin-bottom: 0;
}

.aside-faq .content__more {
    background: none;
    position: static;
    text-align: right;
    margin-top: 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .aside-faq .content__more {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .aside-faq .content__more {
        font-size: 1.6rem;
    }
}

.aside-faq .content__more a {
    text-decoration: none;
}

.aside-faq .content__more a:hover,
.aside-faq .content__more a:focus,
.aside-faq .content__more a:active {
    text-decoration: underline;
}

.aside-faq .content__type {
    float: right;
}

.aside-faq .content__title {
    font-size: 1.3rem;
    font-weight: normal;
    margin-bottom: 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .aside-faq .content__title {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .aside-faq .content__title {
        font-size: 1.6rem;
    }
}

.aside-faq .content__text:before {
    content: '';
    display: block;
    vertical-align: middle;
    width: 60px;
    height: 11px;
    background-size: 100% auto;
    margin-bottom: 10px;
    background: url("../images/waves-2.png") no-repeat top left;
}

@media only screen and (min-width: 48em) and (max-width: 93.6875em) {
    .aside-faq .content__text:before {
        width: 40px;
        height: 11px;
    }
}

@media only screen and (min-width: 93.75em) {
    .aside-faq .content__text:before {
        margin-bottom: 20px;
    }
}

.aside-faq .contrib a {
    text-decoration: none;
}

.aside-faq .contrib a:hover,
.aside-faq .contrib a:focus,
.aside-faq .contrib a:active {
    text-decoration: underline;
}

.grid--article {
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    /*overflow: hidden;*/
    margin-bottom: 20px;
    background: #ececed;
}

.grid--article:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 64em) {
    .grid--article {
        display: table;
        table-layout: fixed;
        width: 100%;
    }

    .grid--article .grid__item:last-child {
        width: 33%;
    }

    .grid--article>.grid__item {
        display: table-cell;
        vertical-align: top;
    }

    .grid--article>.grid__item:first-child {
        width: 67%;
    }

    .grid--article>.grid__item:first-child:last-child:first-child {
        width: 100%;
    }
}

.grid--article .box {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.grid--article>.grid__item:first-child {
    background: #fff;
}

.grid--article>.grid__item+.grid__item {
    background-color: #ececed;
}

.label-data {
    font-weight: normal;
}

.label-data a {
    font-weight: bold;
    color: #a2516b;
    text-decoration: underline;
}

.label-data a:hover,
.label-data a:focus,
.label-data a:active {
    text-decoration: none;
}

.rsi-local__title-above {
    margin: 40px 0 0 0;
    color: #a2516b;
    font-size: 1.75em;
    font-weight: bold;
}

.contrib .content-layout-1,
.content-layout-1 {
    margin: 30px 0;
    padding: 10px 15px;
    border-left: 4px solid #dbdf71;
    background-color: #ececed;
}

@media only screen and (min-width: 93.75em) {

    .contrib .content-layout-1,
    .content-layout-1 {
        padding: 15px 30px;
    }
}

.contrib .content-layout-1 h2,
.content-layout-1 h2 {
    margin: 0 0 10px;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .content-layout-1 h2,
    .content-layout-1 h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .content-layout-1 h2,
    .content-layout-1 h2 {
        font-size: 2rem;
    }
}

.contrib .content-layout-1 .more,
.content-layout-1 .more {
    text-align: right;
}

.contrib .content-layout-1 .more__link,
.content-layout-1 .more__link {
    text-decoration: underline;
    color: #a2516b;
}

.contrib .content-layout-1 .more__link:before,
.content-layout-1 .more__link:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .content-layout-1 .more__link:before,
    .content-layout-1 .more__link:before {
        margin-right: 10px;
    }
}

.contrib .content-layout-1 .more__link:hover,
.contrib .content-layout-1 .more__link:focus,
.contrib .content-layout-1 .more__link:active,
.content-layout-1 .more__link:hover,
.content-layout-1 .more__link:focus,
.content-layout-1 .more__link:active {
    text-decoration: none;
}

.contrib .content-layout-1>.contrib h3,
.content-layout-1>.contrib h3 {
    font-size: 1.25em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #dbdf71;
}

.contrib .content-layout-1>.contrib h4,
.content-layout-1>.contrib h4 {
    font-size: 1em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #929191;
}

.contrib .content-layout-1>.contrib a,
.content-layout-1>.contrib a {
    text-decoration: underline;
}

.contrib .content-layout-1>.contrib a:hover,
.contrib .content-layout-1>.contrib a:focus,
.contrib .content-layout-1>.contrib a:active,
.content-layout-1>.contrib a:hover,
.content-layout-1>.contrib a:focus,
.content-layout-1>.contrib a:active {
    text-decoration: none;
}

.contrib .content-layout-1>.contrib p:first-child,
.contrib .content-layout-1>.contrib h1+p,
.contrib .content-layout-1>.contrib h2+p,
.contrib .content-layout-1>.contrib h3+p,
.contrib .content-layout-1>.contrib h4+p,
.contrib .content-layout-1>.contrib h5+p,
.contrib .content-layout-1>.contrib h6+p,
.content-layout-1>.contrib p:first-child,
.content-layout-1>.contrib h1+p,
.content-layout-1>.contrib h2+p,
.content-layout-1>.contrib h3+p,
.content-layout-1>.contrib h4+p,
.content-layout-1>.contrib h5+p,
.content-layout-1>.contrib h6+p {
    margin-top: 0;
}

.content-layout-1>.contrib p:last-child {
    margin-bottom: 0;
}

.contrib .content-layout-1>.contrib ul,
.content-layout-1>.contrib ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 30px;
    text-indent: -15px;
}

.contrib .content-layout-1>.contrib ul:first-child,
.content-layout-1>.contrib ul:first-child {
    margin-top: 0;
}

.contrib .content-layout-1>.contrib ul:last-child,
.content-layout-1>.contrib ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 93.75em) {

    .contrib .content-layout-1>.contrib ul,
    .content-layout-1>.contrib ul {
        text-indent: -17px;
    }
}

.contrib .content-layout-1>.contrib ul li:before,
.content-layout-1>.contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

.contrib .content-layout-1>.contrib ul li li:before,
.content-layout-1>.contrib ul li li:before {
    border: 1px solid #a2516b;
    background-color: transparent;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .content-layout-1>.contrib ul li:before,
    .content-layout-1>.contrib ul li:before {
        margin-right: 10px;
    }
}

.contrib .content-layout-1>.contrib ul li,
.content-layout-1>.contrib ul li {
    margin-bottom: 5px;
}

.contrib .content-layout-1>.contrib ol,
.content-layout-1>.contrib ol {
    margin: 20px 0 20px 28px;
    padding: 0;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .content-layout-1>.contrib ol,
    .content-layout-1>.contrib ol {
        margin-left: 28px;
    }
}

.contrib .content-layout-1>.contrib ol li,
.content-layout-1>.contrib ol li {
    margin-bottom: 5px;
}

.contrib .content-layout-1>.contrib img.gauche,
.contrib .content-layout-1>.contrib .contrib__media--left,
.content-layout-1>.contrib img.gauche,
.content-layout-1>.contrib .contrib__media--left {
    float: left;
    margin: 0 15px 0 0;
}

.contrib .content-layout-1>.contrib img.gauche img,
.contrib .content-layout-1>.contrib .contrib__media--left img,
.content-layout-1>.contrib img.gauche img,
.content-layout-1>.contrib .contrib__media--left img {
    max-width: 300px;
}

.contrib .content-layout-1>.contrib img.droite,
.contrib .content-layout-1>.contrib .contrib__media--right,
.content-layout-1>.contrib img.droite,
.content-layout-1>.contrib .contrib__media--right {
    float: right;
    margin: 0 0 0 15px;
}

.contrib .content-layout-1>.contrib img.droite img,
.contrib .content-layout-1>.contrib .contrib__media--right img,
.content-layout-1>.contrib img.droite img,
.content-layout-1>.contrib .contrib__media--right img {
    max-width: 300px;
}

.contrib .content-layout-1>.contrib img.droite,
.contrib .content-layout-1>.contrib img.gauche,
.content-layout-1>.contrib img.droite,
.content-layout-1>.contrib img.gauche {
    max-width: 300px;
}

.free-contrib {
    display: flow-root;
    font-size: 1.3rem;
}

.free-contrib:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib {
        font-size: 1.6rem;
    }
}

.free-contrib h1 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 5px;
}

.free-contrib h1:first-child {
    margin-top: 0;
}

.free-contrib h2 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 15px;
}

.free-contrib h3 {
    font-size: 1.25em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #dbdf71;
}

.free-contrib h4,
.free-contrib h5,
.free-contrib h6 {
    font-size: 1em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #929191;
}

.free-contrib h5,
.free-contrib h6 {
    margin-left: 40px;
    border-left: 2px solid #502e59;
}

.free-contrib h6 {
    font-weight: normal;
}

.free-contrib p:first-child,
.free-contrib h1+p,
.free-contrib h2+p,
.free-contrib h3+p,
.free-contrib h4+p,
.free-contrib h5+p,
.free-contrib h6+p {
    margin-top: 0;
}

.free-contrib a {
    text-decoration: underline;
}

.free-contrib a:hover,
.free-contrib a:focus,
.free-contrib a:active {
    text-decoration: none;
}

.free-contrib a.link--brand {
    color: #a2516b;
}

.free-contrib ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 15px;
    /*text-indent: -15px;*/
}

.free-contrib ul ul {
    margin-left: 30px;
}

.free-contrib ul:first-child {
    margin-top: 0;
}

.free-contrib ul:last-child {
    margin-bottom: 0;
}

/*@media only screen and (min-width: 93.75em) {
    .free-contrib ul {
        text-indent: -17px;
    }
}*/

.free-contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

.free-contrib ul li li:before {
    border: 1px solid #a2516b;
    background-color: transparent;
}


@media only screen and (max-width: 93.6875em) {
    .free-contrib ul li:before {
        margin-right: 10px;
    }
}

.free-contrib ul li {
    margin-bottom: 5px;
}

.free-contrib .content-layout-2 ul li:before {
    margin-right: 12px;
}

.free-contrib ol {
    margin: 20px 0 20px 30px;
    padding: 0;
}

@media only screen and (max-width: 93.6875em) {
    .free-contrib ol {
        margin-left: 28px;
    }
}

.free-contrib ol li {
    margin-bottom: 5px;
}

.free-contrib table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    font-size: 1.2rem;
    margin: 40px 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib table {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib table {
        font-size: 1.4rem;
    }
}

.free-contrib table caption {
    color: #a2516b;
    font-weight: bold;
    padding: 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib table caption {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib table caption {
        font-size: 1.6rem;
    }
}

.free-contrib table th,
.free-contrib table td {
    padding: 15px 20px;
    border: 1px solid #c8c6c6;
}

.free-contrib table th {
    font-weight: normal;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
}

.free-contrib table tbody th {
    text-transform: none;
}

.free-contrib table tr {
    border-bottom: 1px solid #403f3f;
}

.free-contrib table tbody tr:hover th,
.free-contrib table tbody tr:hover td {
    background: #e9e9e9;
}

.free-contrib table.contenttable,
.free-contrib table.table--black {
    margin-bottom: 20px;
}

.free-contrib table.contenttable th,
.free-contrib table.table--black th {
    background: #403f3f;
}

.free-contrib table.contenttable tbody th,
.free-contrib table.table--black tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

.free-contrib table.alternatif,
.free-contrib table.table--brand {
    margin-bottom: 20px;
}

.free-contrib table.alternatif th,
.free-contrib table.table--brand th {
    background: #a2516b;
}

.free-contrib table.alternatif tbody th,
.free-contrib table.table--brand tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

.free-contrib table.telecharger,
.free-contrib table.table--list {
    margin-bottom: 20px;
}

.free-contrib table.telecharger caption,
.free-contrib table.table--list caption {
    color: #403f3f;
}

.free-contrib table.telecharger th,
.free-contrib table.table--list th {
    background: #dbdf71;
    text-align: center;
    color: #403f3f;
    font-weight: bold;
}

.free-contrib table.telecharger a,
.free-contrib table.table--list a {
    text-decoration: underline;
}

.free-contrib table.telecharger a:hover,
.free-contrib table.telecharger a:focus,
.free-contrib table.telecharger a:active,
.free-contrib table.table--list a:hover,
.free-contrib table.table--list a:focus,
.free-contrib table.table--list a:active {
    text-decoration: none;
}

.free-contrib .contrib__chapeau {
    font-size: 1.3rem;
    margin: 0 0 20px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .free-contrib .contrib__chapeau {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .free-contrib .contrib__chapeau {
        font-size: 1.6rem;
    }
}

.free-contrib .contrib__media {
    text-align: center;
}

.free-contrib img.gauche,
.free-contrib .contrib__media--left {
    float: left;
    margin: 1em 15px 0 0;
}

.free-contrib img.gauche img,
.free-contrib .contrib__media--left img {
    max-width: 300px;
}

.free-contrib img.droite,
.free-contrib .contrib__media--right {
    float: right;
    margin: 1em 0 0 15px;
}

.free-contrib img.droite img,
.free-contrib .contrib__media--right img {
    max-width: 300px;
}

.free-contrib img.droite,
.free-contrib img.gauche {
    max-width: 300px;
}

.free-contrib iframe {
    margin: 0 auto 2rem;
}

.free-contrib .ratio-wrap {
    margin: 0 auto 2rem;
}

.contrib .exergue-prune,
.exergue-prune {
    position: relative;
    margin: 30px 0;
    padding: 40px 20px;
    background-color: #3e3e3e;
    color: #fff;
}

@media only screen and (min-width: 93.75em) {

    .contrib .exergue-prune,
    .exergue-prune {
        padding: 60px 40px;
    }
}

.contrib .exergue-prune:before,
.exergue-prune:before {
    content: '';
    position: absolute;
    top: -20px;
    left: calc(50% - 20px);
    width: 40px;
    height: 40px;
    background-color: #dbdf71;
}

.contrib .exergue-prune:after,
.exergue-prune:after {
    content: '';
    background-image: url(../images/sprites.png);
    background-position: -122px -150px;
    width: 27px;
    height: 21px;
    position: absolute;
    top: -10px;
    left: calc(50% - 13.5px);
}

.contrib .exergue-prune a,
.exergue-prune a {
    color: #fff;
}

.contrib .exergue-prune .contrib-card,
.exergue-prune .contrib-card {
    color: #403f3f;
}

.exergue-prune a.contrib-card:hover,
.exergue-prune a.contrib-card:focus,
.exergue-prune a.contrib-card:active {
    background: #e0e486;
    border-color: #e0e486;
    color: #000;
}

.exergue-prune a.item-button,
.aside-contrib--dark a.item-button {
    background-color: #fff;
    color: #403f3f;
}

.exergue-prune a.item-button:hover,
.exergue-prune a.item-button:focus,
.exergue-prune a.item-button:active,
.aside-contrib--dark a.item-button:hover,
.aside-contrib--dark a.item-button:focus,
.aside-contrib--dark a.item-button:active,
.aside-contrib--brand a.item-button:hover,
.aside-contrib--brand a.item-button:focus,
.aside-contrib--brand a.item-button:active {
    background-color: #e0e486;
    color: #000;
}

.contrib .exergue-prune h2,
.exergue-prune h2 {
    margin: 0 0 15px;
    color: #fff !important;
    font-size: 1.4rem;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .exergue-prune h2,
    .exergue-prune h2 {
        font-size: 1.6rem !important;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .exergue-prune h2,
    .exergue-prune h2 {
        font-size: 1.8rem !important;
    }
}

.contrib .exergue-prune h3,
.exergue-prune h3 {
    border-left: 0;
    padding-left: 0;
}

.contrib .exergue-prune p,
.exergue-prune p {
    line-height: 1.6;
}

.contrib .exergue-prune .more__link,
.exergue-prune .more__link {
    text-decoration: underline;
    color: #fff;
}

.contrib .exergue-prune .more__link:before,
.exergue-prune .more__link:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 6px solid #dbdf71;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .exergue-prune .more__link:before,
    .exergue-prune .more__link:before {
        margin-right: 10px;
    }
}

.contrib .exergue-prune .more__link:hover,
.contrib .exergue-prune .more__link:focus,
.contrib .exergue-prune .more__link:active,
.exergue-prune .more__link:hover,
.exergue-prune .more__link:focus,
.exergue-prune .more__link:active {
    text-decoration: none;
}

.contrib .exergue-prune ul li:before,
.exergue-prune ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border: 0 !important;
    border-top: 4px solid transparent !important;
    border-bottom: 4px solid transparent !important;
    border-left: 4px solid #dbdf71 !important;
    border-radius: 0px !important;
    background-color: rgba(0, 0, 0, 0) !important;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .exergue-prune ul li:before,
    .exergue-prune ul li:before {
        margin-right: 10px;
    }
}

.contrib .exergue-vert,
.exergue-vert {
    position: relative;
    margin: 30px 0;
    padding: 15px 15px;
    border-top: 4px solid #dbdf71;
    background-color: #ececed;
    clear: both;
}

@media only screen and (min-width: 93.75em) {

    .contrib .exergue-vert,
    .exergue-vert {
        padding: 15px 30px;
    }
}

.contrib .exergue-vert:before,
.exergue-vert:before {
    content: '';
    position: absolute;
    top: -20px;
    left: 20%;
    height: 0;
    width: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #dbdf71;
}

.contrib .exergue-vert h2,
.exergue-vert h2 {
    margin: 0 0 15px;
    color: #000;
    font-size: 1.3rem;
    font-weight: bold;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .exergue-vert h2,
    .exergue-vert h2 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .exergue-vert h2,
    .exergue-vert h2 {
        font-size: 1.6rem;
    }
}

.contrib .exergue-vert h3,
.exergue-vert h3 {
    border-left: 0;
    padding-left: 0;
}

.contrib .article-bon-a-savoir,
.article-bon-a-savoir {
    font-size: 1.3rem;
    /*margin: 0 0 30px;*/
    padding: 15px 20px;
    border-left: 4px solid #dbdf71;
    background-color: #fff;
    display: flow-root;
    position: relative;
    -webkit-box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    -webkit-transition: background 300ms, -webkit-box-shadow 300ms;
    transition: background 300ms, -webkit-box-shadow 300ms;
    transition: box-shadow 300ms, background 300ms;
    transition: box-shadow 300ms, background 300ms, -webkit-box-shadow 300ms;
    overflow: hidden;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .article-bon-a-savoir,
    .article-bon-a-savoir {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .article-bon-a-savoir,
    .article-bon-a-savoir {
        font-size: 1.6rem;
    }
}

.contrib .article-bon-a-savoir:after,
.article-bon-a-savoir:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 93.75em) {

    .contrib .article-bon-a-savoir,
    .article-bon-a-savoir {
        padding: 15px 40px;
    }

    .zone-rebond .contrib .article-bon-a-savoir,
    .zone-rebond .article-bon-a-savoir {
        padding: 20px;
    }
}

.grid--article>.grid__item+.grid__item .contrib .article-bon-a-savoir,
.grid--article>.grid__item+.grid__item .article-bon-a-savoir {
    -webkit-box-shadow: none;
    box-shadow: none;
    margin-bottom: 0;
}

@media only screen and (min-width: 93.75em) {

    .grid--article>.grid__item+.grid__item .contrib .article-bon-a-savoir,
    .grid--article>.grid__item+.grid__item .article-bon-a-savoir {
        padding: 15px 20px;
    }
}

.contrib .article-bon-a-savoir h2,
.article-bon-a-savoir h2 {
    margin: 0 0 10px;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 0;
    line-height: 1.5;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .article-bon-a-savoir h2,
    .article-bon-a-savoir h2 {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .article-bon-a-savoir h2,
    .article-bon-a-savoir h2 {
        font-size: 2rem;
    }
}

.contrib .article-bon-a-savoir h3,
.article-bon-a-savoir h3 {
    margin: 0 0 10px;
    border-left: 0;
    padding-left: 0;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .contrib .article-bon-a-savoir h3,
    .article-bon-a-savoir h3 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .contrib .article-bon-a-savoir h3,
    .article-bon-a-savoir h3 {
        font-size: 1.6rem;
    }
}

.contrib .article-bon-a-savoir h4,
.article-bon-a-savoir h4 {
    border-left: 0;
    padding-left: 0;
}

.contrib .article-bon-a-savoir .more,
.article-bon-a-savoir .more {
    text-align: right;
}

.contrib .article-bon-a-savoir .more__link,
.article-bon-a-savoir .more__link {
    text-decoration: underline;
    color: #a2516b;
}

.contrib .article-bon-a-savoir .more__link:before,
.article-bon-a-savoir .more__link:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    background: none;
    border-radius: 0;
    height: 0;
    width: 0;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #a2516b;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .article-bon-a-savoir .more__link:before,
    .article-bon-a-savoir .more__link:before {
        margin-right: 10px;
    }
}

.contrib .article-bon-a-savoir .more__link:hover,
.contrib .article-bon-a-savoir .more__link:focus,
.contrib .article-bon-a-savoir .more__link:active,
.article-bon-a-savoir .more__link:hover,
.article-bon-a-savoir .more__link:focus,
.article-bon-a-savoir .more__link:active {
    text-decoration: none;
}

.contrib .article-bon-a-savoir a,
.article-bon-a-savoir a {
    text-decoration: underline;
}

.contrib .article-bon-a-savoir a:hover,
.contrib .article-bon-a-savoir a:focus,
.contrib .article-bon-a-savoir a:active,
.article-bon-a-savoir a:hover,
.article-bon-a-savoir a:focus,
.article-bon-a-savoir a:active {
    text-decoration: none;
}

.contrib .article-bon-a-savoir ul,
.article-bon-a-savoir ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 30px;
    text-indent: -15px;
}

.contrib .article-bon-a-savoir ul:first-child,
.article-bon-a-savoir ul:first-child {
    margin-top: 0;
}

.contrib .article-bon-a-savoir ul:last-child,
.article-bon-a-savoir ul:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 93.75em) {

    .contrib .article-bon-a-savoir ul,
    .article-bon-a-savoir ul {
        text-indent: -17px;
    }
}

.contrib .article-bon-a-savoir ul li:before,
.article-bon-a-savoir ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

.contrib .article-bon-a-savoir ul li li:before,
.article-bon-a-savoir ul li li:before {
    border: 1px solid #a2516b;
    background-color: transparent;
}

@media only screen and (max-width: 93.6875em) {

    .contrib .article-bon-a-savoir ul li:before,
    .article-bon-a-savoir ul li:before {
        margin-right: 10px;
    }
}

.contrib .article-bon-a-savoir ul li,
.article-bon-a-savoir ul li {
    margin-bottom: 5px;
}

main .container-article {
    border: 1px solid #dbdbdc;
    padding: 20px 20px;
}

main .container-article,
main>.article,
main>.article-bon-a-savoir {
    margin: 40px 0;
}

.grid--article main .container-article {
    border: none;
    padding: 20px;
}

@media only screen and (max-width: 47.9375em) {
    main .container-article {
        padding: 10px;
    }
}

@media only screen and (min-width: 93.75em) {
    main .container-article {
        padding: 30px 40px;
    }
}

.sommaire .container-article,
.grid--2 .container-article,
.grid--3 .container-article,
.grid--4 .container-article {
    margin: 0;
    padding: 15px;
}

main .container-article .contrib {
    display: flow-root;
    font-size: 1.3rem;
}

main .container-article .contrib:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    main .container-article .contrib {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    main .container-article .contrib {
        font-size: 1.6rem;
    }
}

main .container-article .contrib h1 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 5px;
}

main .container-article .contrib h1:first-child {
    margin-top: 0;
}

main .container-article .contrib h2 {
    font-size: 1.75em;
    line-height: 1.2;
    color: #a2516b;
    font-weight: bold;
    margin: 0 0 5px;
}

main .container-article .contrib h3 {
    font-size: 1.25em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #dbdf71;
}

main .container-article .contrib h4,
main .container-article .contrib h5,
main .container-article .contrib h6 {
    font-size: 1em;
    margin: 1em 0 0.5em;
    padding: 0 0 0 10px;
    font-weight: bold;
    border-left: 2px solid #929191;
}

main .container-article .contrib h5,
main .container-article .contrib h6 {
    margin-left: 40px;
    border-left: 2px solid #502e59;
}

main .container-article .contrib h6 {
    font-weight: normal;
}

main .container-article .contrib p:first-child,
main .container-article .contrib h1+p,
main .container-article .contrib h2+p,
main .container-article .contrib h3+p,
main .container-article .contrib h4+p,
main .container-article .contrib h5+p,
main .container-article .contrib h6+p {
    margin-top: 0;
}

main .container-article .contrib a {
    text-decoration: underline;
}

main .container-article .contrib a:hover,
main .container-article .contrib a:focus,
main .container-article .contrib a:active {
    text-decoration: none;
}

main .container-article .contrib a.link--brand {
    color: #a2516b;
}

main .container-article .contrib ul {
    margin: 1em 0;
    padding: 0;
    list-style: none;
    margin: 20px 0 20px 15px;
    /*text-indent: -15px;*/
}

main .container-article .contrib ul ul {
    margin-left: 30px;
}

main .container-article .contrib ul:first-child {
    margin-top: 0;
}

main .container-article .contrib ul:last-child {
    margin-bottom: 0;
}

/*@media only screen and (min-width: 93.75em) {
    main .container-article .contrib ul {
        text-indent: -17px;
    }
}*/

main .container-article .contrib ul li:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: #a2516b;
}

main .container-article .contrib ul li li:before {
    border: 1px solid #a2516b;
    background-color: transparent;
}

@media only screen and (max-width: 93.6875em) {
    main .container-article .contrib ul li:before {
        margin-right: 10px;
    }
}

main .container-article .contrib ul li {
    margin-bottom: 5px;
}

main .container-article .contrib .content-layout-2 ul li:before {
    margin-right: 12px;
}

main .container-article .contrib ol {
    margin: 20px 0 20px 30px;
    padding: 0;
}

@media only screen and (max-width: 93.6875em) {
    main .container-article .contrib ol {
        margin-left: 28px;
    }
}

main .container-article .contrib ol li {
    margin-bottom: 5px;
}

main .container-article .contrib table {
    border-collapse: collapse;
    width: 100%;
    background: #fff;
    font-size: 1.2rem;
    margin: 40px 0;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    main .container-article .contrib table {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    main .container-article .contrib table {
        font-size: 1.4rem;
    }
}

main .container-article .contrib table caption {
    color: #a2516b;
    font-weight: bold;
    padding: 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    main .container-article .contrib table caption {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    main .container-article .contrib table caption {
        font-size: 1.6rem;
    }
}

main .container-article .contrib table th,
main .container-article .contrib table td {
    padding: 15px 20px;
    border: 1px solid #c8c6c6;
}

main .container-article .contrib table th {
    font-weight: normal;
    text-align: left;
    color: #fff;
    text-transform: uppercase;
}

main .container-article .contrib table tbody th {
    text-transform: none;
}

main .container-article .contrib table tr {
    border-bottom: 1px solid #403f3f;
}

main .container-article .contrib table tbody tr:hover th,
main .container-article .contrib table tbody tr:hover td {
    background: #e9e9e9;
}

main .container-article .contrib table.contenttable,
main .container-article .contrib table.table--black {
    margin-bottom: 20px;
}

main .container-article .contrib table.contenttable th,
main .container-article .contrib table.table--black th,
tfoot td {
    background: #403f3f;
}

tfoot td {
    color: #fff;
}

main .container-article .contrib table.contenttable tbody th,
main .container-article .contrib table.table--black tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

main .container-article .contrib table.alternatif,
main .container-article .contrib table.table--brand {
    margin-bottom: 20px;
}

main .container-article .contrib table.alternatif th,
main .container-article .contrib table.table--brand th {
    background: #a2516b;
}

main .container-article .contrib table.alternatif tbody th,
main .container-article .contrib table.table--brand tbody th {
    background: #f6f6f6;
    color: #403f3f;
}

main .container-article .contrib table.telecharger,
main .container-article .contrib table.table--list {
    margin-bottom: 20px;
}

main .container-article .contrib table.telecharger caption,
main .container-article .contrib table.table--list caption {
    color: #403f3f;
}

main .container-article .contrib table.telecharger th,
main .container-article .contrib table.table--list th {
    background: #dbdf71;
    text-align: center;
    color: #403f3f;
    font-weight: bold;
}

table.telecharger tfoot td {
    background: #dbdf71;
    color: #403f3f;
}

main .container-article .contrib table.telecharger a,
main .container-article .contrib table.table--list a {
    text-decoration: underline;
}

main .container-article .contrib table.telecharger a:hover,
main .container-article .contrib table.telecharger a:focus,
main .container-article .contrib table.telecharger a:active,
main .container-article .contrib table.table--list a:hover,
main .container-article .contrib table.table--list a:focus,
main .container-article .contrib table.table--list a:active {
    text-decoration: none;
}

main .container-article .contrib .contrib__chapeau {
    font-size: 1.3rem;
    margin: 0 0 20px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    main .container-article .contrib .contrib__chapeau {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    main .container-article .contrib .contrib__chapeau {
        font-size: 1.6rem;
    }
}

main .container-article .contrib .contrib__media {
    text-align: center;
}

main .container-article .contrib img.gauche,
main .container-article .contrib .contrib__media--left {
    float: left;
    margin: 0 15px 1em 0;
}

main .container-article .contrib img.gauche img,
main .container-article .contrib .contrib__media--left img {
    max-width: 300px;
}

main .container-article .contrib img.droite,
main .container-article .contrib .contrib__media--right {
    float: right;
    margin: 0 0 1em 15px;
}

main .container-article .contrib img.droite img,
main .container-article .contrib .contrib__media--right img {
    max-width: 300px;
}

main .container-article .contrib img.droite,
main .container-article .contrib img.gauche {
    max-width: 300px;
}

main .container-article .contrib iframe {
    margin: 0 auto 2rem;
}

main .container-article .contrib .ratio-wrap {
    margin: 0 auto 2rem;
}

main .container-article .contrib--iframe {
    font-size: 1.4rem;
}

.file--icon {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
}

.item-pdf:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -244px -91px;
    width: 16px;
    height: 16px;
}

.exergue-prune .item-pdf:before,
.aside-contrib--dark .item-pdf:before,
.aside-contrib--brand .item-pdf:before {
    background-image: url(../images/sprites.png);
    background-position: -42px -227px;
    width: 16px;
    height: 16px;
}

.item-xls:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -244px -154px;
    width: 16px;
    height: 16px;
}

.exergue-prune .item-xls:before,
.aside-contrib--dark .item-xls:before,
.aside-contrib--brand .item-xls:before {
    background-image: url(../images/sprites.png);
    background-position: 0px -227px;
    width: 16px;
    height: 16px;
}

.item-email:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -82px -227px;
    width: 16px;
    height: 13px;
}

.exergue-prune .item-email:before,
.aside-contrib--dark .item-email:before,
.aside-contrib--brand .item-email:before {
    background-image: url(../images/sprites.png);
    background-position: -244px -70px;
    width: 16px;
    height: 16px;
}

.item-zip:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -21px -227px;
    width: 16px;
    height: 16px;
}

.exergue-prune .item-zip:before,
.aside-contrib--dark .item-zip:before,
.aside-contrib--brand .item-zip:before {
    background-image: url(../images/sprites.png);
    background-position: -244px -112px;
    width: 16px;
    height: 16px;
}

.item-email,
.item-pdf,
.item-xls,
.item-zip,
.item-autres-fichiers,
.item-lien-externe {
    /*white-space: nowrap;*/
    word-break: break-all;
    word-break: break-word;
}

.item-lien-externe:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -244px -196px;
    width: 16px;
    height: 16px;
}

.exergue-prune .item-lien-externe:before,
.aside-contrib--dark .item-lien-externe:before,
.aside-contrib--brand .item-lien-externe:before {
    background-image: url(../images/sprites.png);
    background-position: -244px -175px;
    width: 16px;
    height: 16px;
}

.item-autres-fichiers:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px;
    background-image: url(../images/sprites.png);
    background-position: -63px -227px;
    width: 14px;
    height: 16px;
}

.exergue-prune .item-autres-fichiers:before,
.aside-contrib--dark .item-autres-fichiers:before,
.aside-contrib--brand .item-autres-fichiers:before {
    background-image: url(../images/sprites.png);
    background-position: -244px -133px;
    width: 16px;
    height: 16px;
}

.rsi-local {
    margin: 10px 0 20px;
    padding: 25px;
    background-color: #ececed;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rsi-local {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rsi-local {
        font-size: 1.5rem;
    }
}

.rsi-local__title {
    position: relative;
    margin: 0 0 20px;
    padding: 0 0 10px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #a2516b;
    border-bottom: 1px solid #dbdbdc;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rsi-local__title {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rsi-local__title {
        font-size: 1.8rem;
    }
}

.rsi-local__title:before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 90px;
    height: 2px;
    background-color: #a2516b;
}

.rsi-local__title span {
    font-weight: normal;
    color: #403f3f;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rsi-local__title span {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rsi-local__title span {
        font-size: 1.5rem;
    }
}

.rsi-local__row {
    margin-bottom: 40px;
}

.rsi-local__row:last-child {
    margin-bottom: 0;
}

@media only screen and (min-width: 48em) {
    .rsi-local__row .grid__item {
        width: 43.33333%;
        float: left;
    }
}

@media only screen and (min-width: 48em) {
    .rsi-local__row .grid__item:first-child {
        width: 29.16667%;
        float: left;
    }
}

@media only screen and (min-width: 48em) {
    .rsi-local__row .grid__item:last-child {
        width: 27.5%;
        float: right;
        margin-right: 0;
    }
}

.rsi-local__day {
    display: inline-block;
    vertical-align: middle;
    min-width: 70px;
}

.rsi-local__schedule {
    display: inline-block;
    vertical-align: middle;
}

.rsi-icon {
    position: relative;
    padding-left: 35px;
}

.rsi-icon:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}

.address-icon {
    font-style: normal;
    margin: 0 0 20px;
}

.address-icon:before {
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -191px 0px;
    width: 23px;
    height: 26px;
}

.address-icon span {
    display: block;
    overflow: hidden;
}

.clock-icon {
    clear: both;
    margin-bottom: 20px;
}

.clock-icon:before {
    position: absolute;
    top: 2px;
    left: 4px;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -244px -21px;
    width: 17px;
    height: 17px;
}

.web-icon {
    clear: both;
    margin-bottom: 20px;
}

.web-icon:before {
    position: absolute;
    top: 2px;
    left: 4px;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -219px -83px;
    width: 20px;
    height: 20px;
}

.web-icon a {
    text-decoration: underline;
}

.web-icon a:hover,
.web-icon a:focus,
.web-icon a:active {
    text-decoration: none;
}

.mail-icon {
    clear: both;
    margin-bottom: 20px;
}

.mail-icon:before {
    position: absolute;
    top: 4px;
    left: 0;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -192px -180px;
    width: 22px;
    height: 16px;
}

.mail-icon a {
    text-decoration: underline;
}

.mail-icon a:hover,
.mail-icon a:focus,
.mail-icon a:active {
    text-decoration: none;
}

.mail-icon .contrib {
    overflow: hidden;
}

.icon-offset {
    clear: both;
    margin-bottom: 20px;
}

.icon-offset:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    width: 26px;
    height: 1px;
}

.icon-offset .contrib {
    overflow: hidden;
}

.fax-icon {
    margin-bottom: 20px;
}

.fax-icon:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -191px -125px;
    width: 22px;
    height: 23px;
}

.fax-icon .contrib {
    overflow: hidden;
}

.tel-icon {
    margin-bottom: 20px;
}

.tel-icon:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -30px -180px;
    width: 22px;
    height: 22px;
}

.tel-icon .contrib {
    overflow: hidden;
}

.info-icon {
    margin-bottom: 20px;
    line-height: 1.2;
}

.info-icon:before {
    position: absolute;
    top: 0;
    left: 4px;
    content: '';
    float: left;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -219px -58px;
    width: 20px;
    height: 20px;
}

.info-icon .contrib {
    overflow: hidden;
}

.icon-map {
    display: block;
    text-decoration: underline;
}

.icon-map:hover,
.icon-map:focus,
.icon-map:active {
    text-decoration: none;
}

.icon-map:before {
    position: absolute;
    top: 0;
    left: 2px;
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 16px;
    background-image: url(../images/sprites.png);
    background-position: -219px -28px;
    width: 18px;
    height: 25px;
}

@media only screen and (max-width: 47.9375em) {
    .icon-map {
        margin-bottom: 20px;
    }
}

.oc-pict {
    margin-bottom: 10px;
}

.rsi-local__rdv {
    margin: 10px 0;
}

.media-video {
    margin: 40px 0;
    background-color: #ececed;
    padding: 30px;
}

@media only screen and (max-width: 93.6875em) {
    .media-video {
        padding: 20px;
    }
}

.media-video video {
    display: block;
    width: 100%;
}

.contrib__media {
    position: relative;
    margin: 40px 0;
    text-align: center;
}

.contrib__media img {
    display: block;
    margin: 0 auto;
    width: 100%;
}

.contrib__media--center {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
}

.contrib__media--center img {
    width: auto;
}

.contrib__media-legend {
    background: rgba(62, 62, 62, 0.9);
    color: #fff;
    padding: 5px 10px;
    text-align: left;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .contrib__media-legend {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .contrib__media-legend {
        font-size: 1.6rem;
    }
}

.rate {
    margin: 20px 0;
}

.rate__header {
    background-color: #3e3e3e;
    color: #fff;
    padding: 10px 10px;
}

@media only screen and (max-width: 47.9375em) {
    .rate__header {
        text-align: center;
    }
}

@media only screen and (min-width: 48em) {
    .rate__header {
        padding: 10px 70px;
    }
}

.rate__header h2 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
    margin-right: 40px;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rate__header h2 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rate__header h2 {
        font-size: 1.5rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .rate__buttons {
        text-align: center;
        padding: 10px 0;
    }
}

@media only screen and (min-width: 48em) {
    .rate__buttons {
        display: inline-block;
        vertical-align: middle;
    }
}

.rate__buttons input[type="radio"] {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.rate__yn {
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    margin-right: 20px;
}

.rate__yn span {
    visibility: hidden;
}

.rate__yn:hover,
.rate__yn:focus,
.rate__yn:active {
    color: #dbdf71;
}

.rate__yn:hover span,
.rate__yn:focus span,
.rate__yn:active span {
    visibility: visible;
}

.rate__yn.active {
    color: #dbdf71;
}

.rate__yn.active span {
    visibility: visible;
}

.rate__yn:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}

.rate__yes:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -66px;
    width: 27px;
    height: 26px;
}

.rate__yes:hover:before,
.rate__yes:focus:before,
.rate__yes:active:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -35px;
    width: 27px;
    height: 26px;
}

.rate__yes.active:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -35px;
    width: 27px;
    height: 26px;
}

.rate__no:before {
    background-image: url(../images/sprites.png);
    background-position: -73px -101px;
    width: 26px;
    height: 26px;
}

.rate__no:hover:before,
.rate__no:focus:before,
.rate__no:active:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -97px;
    width: 26px;
    height: 26px;
}

.rate__no.active:before {
    background-image: url(../images/sprites.png);
    background-position: -156px -97px;
    width: 26px;
    height: 26px;
}

.rate__radio:focus+label,
.rate__radio:checked+label {
    color: #dbdf71;
}

.rate__radio:focus+label span,
.rate__radio:checked+label span {
    visibility: visible;
}

.rate__body {
    display: flow-root;
    display: none;
    padding: 10px 10px;
    background-color: #f4f4f4;
}

.rate__body:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (min-width: 48em) {
    .rate__body {
        padding: 20px 70px;
    }
}

.rate__body label,
.rate__body #rate__stars {
    font-weight: bold;
    display: inline;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {

    .rate__body label,
    .rate__body #rate__stars {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {

    .rate__body label,
    .rate__body #rate__stars {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {

    .rate__body label,
    .rate__body #rate__stars {
        display: block;
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 47.9375em) {
    .rate__body .btn--large {
        display: block;
        width: 100%;
        float: none;
        text-align: center;
        padding: 10px;
    }
}

@media only screen and (max-width: 47.9375em) and (min-width: 82.5em) {
    .rate__body .btn--large {
        padding: 15px;
    }
}

@media only screen and (min-width: 48em) {
    .rate__body .btn--large {
        float: right;
    }
}

.rate__stars {
    border-bottom: 1px solid #cacbcb;
    padding: 0 0 30px;
    margin-bottom: 30px;
    font-size: 1.2rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rate__stars {
        font-size: 1.3rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rate__stars {
        font-size: 1.4rem;
    }
}

.rate__get-better {
    margin-bottom: 20px;
}

.rate__get-better label {
    display: block;
    float: none;
    text-align: left;
    width: auto;
    margin-bottom: 5px;
    margin-bottom: 15px;
}

.rate__get-better textarea {
    margin: 0;
    max-width: 100%;
    vertical-align: middle;
    font-family: inherit;
    font-size: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    min-height: 3em;
    padding: 20px;
    overflow: auto;
    vertical-align: top;
    resize: vertical;
    border: 1px solid #f1f1f1;
    font-size: 1.3rem;
    line-height: 1.6;
    color: #333;
    display: block;
    width: 100%;
}

.rate__get-better textarea.placeholder {
    opacity: 0.8;
    font-style: normal;
}

.rate__get-better textarea:-moz-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.rate__get-better textarea::-moz-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.rate__get-better textarea:-ms-input-placeholder {
    opacity: 0.8;
    font-style: normal;
}

.rate__get-better textarea::-webkit-input-placeholder {
    opacity: 0.8;
    font-style: normal;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .rate__get-better textarea {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .rate__get-better textarea {
        font-size: 1.6rem;
    }
}

.rate__thanks {
    display: none;
    text-align: center;
    padding: 20px;
    font-size: 2.4rem;
}

.rate__thanks:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: -36px -101px;
    width: 32px;
    height: 29px;
}

.default-form {
    color: #3e3e3e;
}

.default-form .form__text {
    display: flow-root;
    font-size: 1.6rem;
    margin-bottom: 20px;
}

.default-form .form__text *:first-child {
    margin-top: 0;
}

.default-form .form__text *:last-child {
    margin-bottom: 0;
}

.default-form .form__text:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width: 47.9375em) {
    .default-form .form__label {
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 48em) {
    .default-form .form__label {
        float: left;
        width: 31.91489%;
        padding-right: 2.12766%;
    }

    .default-form .form__label.form__label--above {
        float: none;
        width: auto;
        padding-right: 0;
        margin-bottom: 10px;
    }
}

@media only screen and (min-width: 48em) and (min-width: 48em) {
    .default-form .form__label.form__label--above+.form__content {
        max-width: none;
        float: none;
        width: auto;
    }
}

.default-form .form__label label {
    display: block;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1;
    text-align: left;
    margin-bottom: 0;
    padding-top: 6px;
}

@media only screen and (min-width: 48em) {
    .default-form .form__label label {
        text-align: right;
    }
}

@media only screen and (max-width: 47.9375em) {
    .default-form .form__label label {
        font-size: 1.4rem;
    }
}

.default-form .form__label.form__label--above label {
    text-align: left;
    padding-top: 0;
}

.default-form .form__content:first-child {
    display: table;
    width: 100%;
}

@media only screen and (min-width: 48em) {
    .default-form .form__content:first-child {
        max-width: 580px;
    }
}

@media only screen and (min-width: 48em) {
    .default-form .form__content:not(:first-child) {
        float: right;
        width: 65.95745%;
    }
}

.default-form .form__row--error {
    margin-bottom: 0;
    clear: both;
}

.default-form .form__row--error+.form__content {
    max-width: 580px;
    display: table;
    width: 100%;
    float: none;
}

.default-form .options__group {
    padding-top: 2px;
}

.default-form .options__group label {
    margin-right: 20px;
}

.default-form textarea,
.default-form input[type="tel"],
.default-form input[type="text"],
.default-form input[type="email"],
.default-form input[type="password"] {
    width: 100%;
}

.default-form textarea {
    border: 0 !important;
}

@media only screen and (min-width: 48em) {
    .default-form select {
        font-size: 1.6rem;
    }
}

.default-form .form__row {
    display: table;
    width: 100%;
}

.default-form .title {
    margin: 20px 0;
    color: #a2516b;
    font-size: 2rem;
    font-weight: 300;
}

@media only screen and (max-width: 47.9375em) {
    .default-form .title {
        font-size: 1.6rem;
    }
}

.default-form .options__group input[type="radio"].radio-btn+label {
    margin: 0;
    padding: 0;
    border: 0;
    overflow: visible;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    text-align: left;
    line-height: 1.2;
    font-size: inherit;
    font-family: inherit;
    background: none;
    color: #a2516b;
    font-size: 1.6rem;
    font-weight: bold;
    text-transform: uppercase;
    padding: 10px 20px;
    letter-spacing: 1px;
    border: 1px solid #a2516b;
    padding: 5px 10px;
    font-weight: bold;
    margin-right: 10px;
}

.default-form .options__group input[type="radio"].radio-btn+label:hover,
.default-form .options__group input[type="radio"].radio-btn+label:focus,
.default-form .options__group input[type="radio"].radio-btn+label:active {
    text-decoration: none;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .default-form .options__group input[type="radio"].radio-btn+label {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .default-form .options__group input[type="radio"].radio-btn+label {
        font-size: 2rem;
    }
}

.default-form .options__group input[type="radio"].radio-btn+label.active {
    background-color: #a2516b;
    color: #fff;
}

.default-form .options__group input[type="radio"].radio-btn+label.btn-border--small {
    padding: 5px 10px;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .default-form .options__group input[type="radio"].radio-btn+label.btn-border--small {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .default-form .options__group input[type="radio"].radio-btn+label.btn-border--small {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .default-form .options__group input[type="radio"].radio-btn+label.btn-border--small {
        padding: 5px 5px;
        font-size: 1.2rem;
    }
}

.default-form .options__group input[type="radio"].radio-btn+label:hover,
.default-form .options__group input[type="radio"].radio-btn+label:focus,
.default-form .options__group input[type="radio"].radio-btn+label:active {
    background-color: #af5e78;
    color: #fff;
}

@media only screen and (min-width: 48em) {
    .default-form .options__group input[type="radio"].radio-btn+label {
        font-size: 1.6rem;
    }
}

@media only screen and (max-width: 47.9375em) {
    .default-form .options__group input[type="radio"].radio-btn+label {
        font-size: 1.4rem;
    }
}

.default-form .options__group input[type="radio"].radio-btn+label:after,
.default-form .options__group input[type="radio"].radio-btn+label:before {
    display: none !important;
}

.default-form .options__group input[type="radio"].radio-btn:checked+label {
    background-color: #a2516b;
    color: #fff;
}

.form--1-line {
    margin-top: 2rem;
}

.form--1-line .form__content:first-child {
    max-width: none;
}

.form--1-line .btn-black {
    max-width: none;
}

.form--1-line .form__feedback {
    width: 55px;
}

.form__feedback {
    padding: 0 15px;
    width: 100px;
}

@media only screen and (max-width: 47.9375em) {
    .form__feedback {
        width: 30px;
        padding: 0 5px;
    }
}

.form__field {
    border: 1px solid #c2c2c2;
    display: table;
}

.form__field.floating-label--has-focus {
    border-color: #a2516b;
}

.form__field .floating-label {
    display: table-cell;
    vertical-align: bottom;
}

.form__field .form__help {
    display: table-cell;
    vertical-align: middle;
    padding-right: 10px;
    text-align: right;
}

.form__field-ta {
    border: 1px solid #c2c2c2;
}

.form__field-ta textarea {
    padding: 10px 20px !important;
    font-size: 1.6rem;
    width: 100%;
}

@media only screen and (max-width: 63.9375em) {
    .form__field-ta textarea {
        padding: 10px;
    }
}

.form__field-header {
    display: table;
    width: 100%;
}

.form__field-header label {
    display: table-cell;
    vertical-align: middle;
    font-size: 1.6rem;
    line-height: 1.2;
    font-weight: bold;
}

.form__feedback,
.form__field-wrap {
    display: table-cell;
    vertical-align: middle;
}

.form__feedback .form__field,
.form__field-wrap .form__field {
    width: 100%;
}

.form__field-wrap--small {
    width: 100px;
}

.form__field-wrap--small .form__icon {
    width: 10px;
}

.form__field-wrap--medium {
    width: 120px;
}

.form__field-wrap--medium .tooltip__panel:before {
    right: auto;
    left: 20px;
}

.form__field-wrap--medium .form__icon {
    width: 10px;
}

.form__field-wrap+.form__field-wrap {
    padding-left: 10px;
}

.form__field-wrap .form__field--format-small {
    width: 250px;
}

.form__icon {
    display: table-cell;
    vertical-align: middle;
    width: 55px;
    line-height: 5rem;
    text-align: center;
    cursor: text;
}

@media only screen and (max-width: 63.9375em) {
    .form__icon {
        width: 40px;
        line-height: 5rem;
    }
}

.form__icon:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
}

.form__icon--none,
.form__icon--small {
    width: 20px;
}

.input-date:not(:nth-last-child(2)) {
    padding-right: 10px;
}

.form__icon--user:before {
    background-image: url(../images/sprites.png);
    background-position: -219px -156px;
    width: 16px;
    height: 20px;
}

.form__icon--mail:before {
    background-image: url(../images/sprites.png);
    background-position: 0px -207px;
    width: 22px;
    height: 15px;
}

.form__icon--edit:before {
    background-image: url(../images/sprites.png);
    background-position: -57px -180px;
    width: 22px;
    height: 22px;
}

.form__icon--place:before {
    background-image: url(../images/sprites.png);
    background-position: -219px -181px;
    width: 16px;
    height: 20px;
}

.form__icon--tel:before {
    background-image: url(../images/sprites.png);
    background-position: -219px -134px;
    width: 19px;
    height: 17px;
}

.form__icon--calendar:before {
    background-image: url(../images/sprites.png);
    background-position: -191px -153px;
    width: 22px;
    height: 22px;
}

.floating-label {
    position: relative;
}

.floating-label label {
    position: absolute;
    top: 15px;
    left: 0;
    font-size: 1.6rem;
    font-weight: bold;
    -webkit-transition: top 200ms, font-size 200ms;
    transition: top 200ms, font-size 200ms;
    cursor: text;
    max-width: 90%;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.floating-label input {
    height: 4rem;
    font-size: 1.6rem !important;
    line-height: 2;
    opacity: 0 !important;
    border: 0 !important;
    -webkit-transition: opacity 500ms;
    transition: opacity 500ms;
    padding: 0 !important;
    width: 100%;
}

.floating-label input:-ms-input-placeholder {
    opacity: 0;
}

.floating-label input:focus {
    opacity: 1 !important;
    outline: none;
}

.floating-label.floating-label--is-completed input {
    opacity: 1 !important;
}

.floating-label input:focus+label,
.floating-label.floating-label--is-completed label {
    top: 3px;
    font-size: 1.2rem;
}

.help {
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    border: 1px solid #3e3e3e;
    width: 2.5rem;
    height: 2.5rem;
    text-align: center;
    border-radius: 50%;
    font-size: 1.5rem;
    cursor: pointer;
}

.form__btn-wrap {
    display: flow-root;
}

.form__btn-wrap:after {
    content: "";
    display: table;
    clear: both;
}

@media only screen and (max-width: 47.9375em) {
    .form__btn-wrap .big-btn {
        margin-bottom: 10px;
    }
}

.form__checked:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/sprites.png);
    background-position: -84px -180px;
    width: 23px;
    height: 21px;
}

.form__checked strong {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.form__error {
    color: #ae0000;
    padding: 10px 0;
    font-size: 1.6rem;
}

@media only screen and (max-width: 63.9375em) {
    .form__error {
        font-size: 1.3rem;
    }
}

.form__error:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    background-image: url(../images/sprites.png);
    background-position: 0px -180px;
    width: 25px;
    height: 22px;
}

.form-title {
    margin: 20px 0 10px;
    font-size: 2rem;
    font-weight: bold;
}

.car-counter {
    text-align: right;
    padding: 5px 0;
    font-size: 1.4rem;
}

.car-counter span {
    font-weight: bold;
}

.contact-form__row {
    margin-bottom: 50px;
}

@media only screen and (max-width: 47.9375em) {
    .contact-form__row {
        margin-bottom: 20px;
    }
}

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

.contact-form__row--inline {
    display: inline-block;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-form__row--limit {
    max-width: 40%;
}

.contact-form__row--limit .input-date+.input-date {
    padding-right: 10px;
}

.home__title--block {
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
}

.contact-v2__regions .home__title {
    display: block;
    text-align: center;
    margin-bottom: 20px;
}

.contact-v2__regions .active {
    font-weight: bold;
}

.contact__title {
    font-weight: bold;
    margin: 0 0 20px 0;
    text-align: center;
    color: #3e3e3e;
    font-size: 1.6rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .contact__title {
        font-size: 1.8rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .contact__title {
        font-size: 2rem;
    }
}

@media only screen and (max-width: 29.9375em) {
    .contact__title {
        font-size: 1.4rem;
    }
}

@media only screen and (max-width: 21.8125em) {
    .contact__title {
        font-size: 1.2rem;
        line-height: 1.8;
    }
}

.contact__button-list {
    margin: 0 0 35px;
}

@media only screen and (min-width: 48em) and (max-width: 74.9375em) {
    .contact__button-list {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-flow: row wrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row wrap;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
    }

    .contact__button-list>div {
        -ms-flex-preferred-size: 49%;
        flex-basis: 49%;
    }
}

@media only screen and (min-width: 75em) {
    .contact__button-list {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-flow: row nowrap;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-flow: row nowrap;
        -ms-flex-pack: justify;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -ms-flex-align: start;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-line-pack: start;
        align-content: flex-start;
    }

    .contact__button-list>div {
        -ms-flex-preferred-size: 24%;
        flex-basis: 24%;
    }
}

.contact__button-list .btn-black {
    width: 100%;
    display: block;
    max-width: none;
    margin: 0 auto;
}

@media only screen and (max-width: 74.9375em) {
    .contact__button-list .btn-wrap {
        margin-bottom: 10px;
    }
}

.contact__button-list h4 {
    margin: 0;
    font-weight: normal;
    font-size: 1.3rem;
}

@media only screen and (min-width: 75em) and (max-width: 93.6875em) {
    .contact__button-list h4 {
        font-size: 1.4rem;
    }
}

@media only screen and (min-width: 93.75em) {
    .contact__button-list h4 {
        font-size: 1.6rem;
    }
}

@media only screen and (min-width: 75em) {
    .contact__inner {
        padding: 0 45px;
    }
}

.contact__slider {
    margin: 0 0 30px;
}

.contact__slider.slick__no-arrow {
    text-align: center;
}

.contact__slider.slick__no-arrow .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle;
}

.contact__slider.slick__no-arrow .slick-track {
    width: auto !important;
    -webkit-transform: none !important;
    transform: none !important;
}

@media only screen and (max-width: 74.9375em) {
    .contact__slider {
        display: block;
        overflow: auto;
        padding-bottom: 20px;
        white-space: nowrap;
        text-align: center;
    }
}

@media only screen and (min-width: 75em) {
    .contact__slider {
        margin: 0 60px 50px;
    }
}

.contact__slider .sc__card {
    margin-right: 10px;
    white-space: normal;
}

@media only screen and (min-width: 64em) {
    .contact__slider .sc__card {
        margin-right: 20px;
    }
}

@media only screen and (max-width: 74.9375em) {
    .contact__slider .sc__card {
        display: inline-block;
        vertical-align: middle;
    }
}

@media only screen and (max-width: 47.9375em) {
    .contact__slider .sc__card a {
        height: 18.5rem;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    }

    .contact__slider .sc__card .sc__card-bg {
        height: auto;
        border: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .contact__slider .sc__card .sc__long-text {
        line-height: 1.4;
    }

    .contact__slider .sc__card .long-text__hover strong {
        text-transform: none;
        font-weight: normal;
    }

    .contact__slider .sc__card .sc__text {
        min-height: 3rem;
    }
}

.contact__slider .slick-dots {
    bottom: -30px;
}

.contact__slider .slick-arrow {
    width: 50px;
    top: -10px;
    bottom: -10px;
    -webkit-box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.3);
}

.contact__slider .slick-prev {
    left: -60px;
}

.contact__slider .slick-next {
    right: -60px;
}

.pop--contact-v2 {
    padding-top: 0;
    padding-bottom: 0;
}

@media only screen and (min-width: 75em) {
    .pop--contact-v2 {
        padding: 0;
    }
}

.pop--contact-v2 .form-nav__content,
.pop--contact-v2 .form-nav {
    padding-top: 20px;
}

.pop--contact-v2 .form-nav__content {
    padding-bottom: 20px;
}

.pop--contact-v2 .form__btn-wrap {
    padding-top: 20px;
}

.pop--contact-v2 .steps-wrap {
    text-align: center;
}

.form-nav__header {
    position: relative;
}

.btn-black__list__wrap {
    display: none;
    min-height: 1px;
}

.btn-black__list__wrap.tgp--is-opened {
    display: block;
}

.btn-black__list {
    display: none;
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: #fff;
    border: 1px solid #3e3e3e;
    padding: 10px 15px;
}

.btn-black__list li:not(:last-child) {
    padding-bottom: 10px;
}

.load-tel .btn-black__list {
    -webkit-animation-name: loader;
    animation-name: loader;
    -webkit-animation-duration: 600ms;
    animation-duration: 600ms;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-direction: alternate-reverse;
    animation-direction: alternate-reverse;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.load-tel .btn-black__list:after,
.load-tel .btn-black__list:before {
    content: '';
    display: block;
    width: 90%;
    height: 30px;
    background-color: #e1e1e1;
    margin: 20px auto;
}

.load-tel .btn-black__list li {
    display: none;
}

.tel__label {
    display: block;
    margin-bottom: 5px;
}

.contact__footer {
    padding: 15px 0;
}

.contact__layout-cols {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-flow: row nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-flow: row nowrap;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
}

.contact__layout-cols>div {
    -ms-flex-preferred-size: 45%;
    flex-basis: 45%;
}

.sitemap__btn-wrap {
    text-align: right;
    margin: 20px 0;
}

.sitemap__btn-wrap .btn-border {
    font-size: 1.4rem;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap__btn-wrap .btn-border {
        font-size: 1.2rem;
    }
}

.sitemap__header {
    position: relative;
}

.sitemap__content {
    display: none;
    margin: 10px 0;
}

.sitemap__desc {
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 1.3;
}

.sitemap__desc *:first-child {
    margin-top: 0;
}

.sitemap__desc *:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap__desc {
        font-size: 1.4rem;
        line-height: 1.5;
    }
}

@media only screen and (max-width: 47.9375em) {
    .sitemap__desc {
        font-size: 1.3rem;
    }
}

.toggle-arrow {
    margin: 0;
    padding: 0;
    border: 0;
    cursor: pointer;
    background: none;
    position: relative;
    position: absolute;
    top: 0;
    right: 5px;
    height: 38px;
    width: 56px;
    overflow: hidden;
    -webkit-transition: all 300ms;
    transition: all 300ms;
    padding: 10px;
}

.toggle-arrow:after,
.toggle-arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.toggle-arrow:before {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 18px;
}

.toggle-arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 21px;
    top: calc(50% - 15px);
    right: calc(50% - 21px);
}

@media only screen and (max-width: 47.9375em) {
    .toggle-arrow {
        right: 0;
    }
}

.toggle-arrow.tgp--trigger--is-active {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.toggle-arrow span {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
}

.sitemap {
    margin-bottom: 40px;
}

.sitemap ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 0;
}

.sitemap>ul>li {
    --level: 1;
    border: 1px solid #ccc;
    padding: 10px;
    margin-bottom: 20px;
}

.sitemap>ul>li>.sitemap__header>a {
    display: block;
    text-transform: uppercase;
    font-size: 2.4rem;
    line-height: 1.1;
    margin-bottom: 10px;
    margin-right: 60px;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap>ul>li>.sitemap__header>a {
        font-size: 2rem;
    }
}

.sitemap>ul>li>.sitemap__content>ul>li {
    --level: 2;
    padding: 0;
    margin-bottom: 1px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header {
    background: #3e3e3e;
    color: #fff;
    padding: 15px;
    -webkit-transition: all 300ms;
    transition: all 300ms;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
    display: block;
    font-size: 2rem;
    line-height: 1.1;
    color: #fff;
    margin-bottom: 10px;
    margin-right: 60px;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
        font-size: 1.8rem;
    }
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow {
    position: relative;
    position: absolute;
    top: 5px;
    right: 5px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after,
.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 18px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after {
    border-color: rgba(62, 62, 62, 0);
    border-top-color: #3e3e3e;
    border-width: 21px;
    top: calc(50% - 15px);
    right: calc(50% - 21px);
}

.sitemap>ul>li>.sitemap__content>ul>li.is-active>.sitemap__header {
    border-left: 5px solid #3e3e3e;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li {
    --level: 3;
    padding: 15px 0 0;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header {
    padding-left: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #3e3e3e;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
    display: block;
    font-size: 1.8rem;
    line-height: 1.1;
    margin-bottom: 10px;
    margin-right: 60px;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
        font-size: 1.6rem;
    }
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .sitemap__desc {
    font-size: 1.6rem;
    line-height: 1.3;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow {
    top: -10px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li.is-active>.sitemap__header>a {
    font-weight: bold;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li {
    --level: 4;
    padding: 15px 0 0;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header {
    padding-left: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 15px;
    height: 0;
    width: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #a2516b;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow {
    position: relative;
    position: absolute;
    top: -10px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after,
.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    border-color: rgba(162, 81, 107, 0);
    border-top-color: #a2516b;
    border-width: 18px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 21px;
    top: calc(50% - 15px);
    right: calc(50% - 21px);
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
    display: block;
    font-size: 1.8rem;
    line-height: 1.1;
    margin-bottom: 10px;
    margin-right: 60px;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
        font-size: 1.5rem;
    }
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li.is-active>.sitemap__header>a {
    font-weight: bold;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li {
    --level: 5;
    padding: 15px 0 0;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header {
    padding-left: 45px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    width: 4px;
    height: 4px;
    background-color: #a2516b;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 30px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow {
    position: relative;
    position: absolute;
    top: -10px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after,
.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    content: '';
    position: absolute;
    top: calc(50% - 9px);
    right: calc(50% - 18px);
    border: solid transparent;
    height: 0;
    width: 0;
    pointer-events: none;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:before {
    border-color: rgba(204, 204, 204, 0);
    border-top-color: #ccc;
    border-width: 18px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header .toggle-arrow:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 21px;
    top: calc(50% - 15px);
    right: calc(50% - 21px);
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
    display: block;
    font-size: 1.6rem;
    line-height: 1.1;
    margin-bottom: 10px;
    margin-right: 60px;
}

@media only screen and (max-width: 93.6875em) {
    .sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
        font-size: 1.4rem;
    }
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li.is-active>.sitemap__header>a {
    font-weight: bold;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li {
    --level: 6;
    padding: 15px 0 0;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header {
    padding-left: 50px;
    padding-bottom: 15px;
    border-bottom: 1px solid #ccc;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    background-image: url(../images/sprites.png);
    background-position: -268px -70px;
    width: 9px;
    height: 4px;
    position: absolute;
    top: 6px;
    left: 30px;
}

.sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
    display: block;
    font-size: 1.6rem;
    line-height: 1.1;
    margin-bottom: 10px;
}

@media only screen and (max-width: 47.9375em) {
    .sitemap>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__content>ul>li>.sitemap__header>a {
        font-size: 1.4rem;
    }
}

body:after {
    content: '';
}

.loader {
    opacity: 0;
    text-align: center;
    position: fixed;
    top: 20%;
    left: 0;
    right: 0;
    z-index: 99999;
    -webkit-transition: all 1000ms;
    transition: all 1000ms;
    height: 0;
    overflow: hidden;
}

.loading .loader {
    opacity: 1;
    height: auto;
}

.loader__text {
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-weight: bold;
    font-size: 1.6rem;
    padding: 20px;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
}

.loading:after {
    content: '';
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99998;
    background: rgba(255, 255, 255, 0.9);
}

/* =============================================================================
   Print
============================================================================= */
.visible-print {
    display: none !important;
}

@media print {
    .visible-print {
        display: block !important;
    }

    * {
        background-image: none !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body {
        width: auto !important;
        margin: 0 10px !important;
        font-size: 10px;
        background-color: #fff !important;
    }

    p,
    blockquote {
        orphans: 3;
        widows: 3;
    }

    h1,
    h2,
    h3,
    caption {
        page-break-after: avoid;
    }

    blockquote,
    ul,
    ol {
        page-break-inside: avoid;
    }

    a {
        color: #000 !important;
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    .wrap {
        max-width: none;
        padding: 0;
    }

    .slider-title,
    .cards-slider,
    .tooltip__panel,
    #cboxOverlay,
    #colorbox,
    #cookies,
    .btn-black,
    .item-button,
    .dates__sep,
    .more__link,
    .aside-box,
    .other-contents,
    .rate,
    .media-video,
    .icon-disc,
    .aside-en-direct,
    .aside-simulateur,
    .aside-faq,
    .content__more,
    .back-to-top,
    .btn-wrap,
    .main-footer,
    .content-grid .content-box--event:before,
    .content-box--img:before,
    .content__text:before,
    .content__picto,
    .content-box .content__play:after,
    .search,
    .sidebar,
    .home-nav__options,
    .side-menu,
    .logo,
    .logo-wrapper span,
    .burger,
    #sliding-panel,
    .share__trigger,
    .aside-contrib,
    .sommaire .box__text ul,
    .services-cards {
        display: none !important;
    }

    .contrib .exergue-prune:before,
    .exergue-prune:before,
    .contrib .exergue-prune:after,
    .exergue-prune:after {
        content: none;
    }

    .content-layout-2 {
        background: none !important;
        color: #000 !important;
    }

    .content-layout-2 h2,
    .content-layout-2 a {
        color: #000 !important;
    }

    .wrap--sub-header {
        padding-top: 0;
        padding-bottom: 0;
    }

    .pict-wrap,
    .content__pict,
    .main-header {
        position: static !important;
        -webkit-transform: none !important;
        transform: none !important;
    }

    .content__play,
    .pict-wrap {
        float: left;
        margin: 0 10px 10px 0 !important;
        max-width: 150px;
    }

    .content__play img,
    .pict-wrap img {
        max-width: 100% !important;
        height: auto !important;
        width: auto !important;
    }

    .content-box {
        border-bottom: 1px solid #000 !important;
    }

    body {
        padding: 0;
    }

    .content__date,
    .content__type,
    .content__inner {
        color: #000 !important;
    }

    .grid--article {
        background: none;
    }

    .aside-contrib--brand {
        color: #000;
        background: none;
    }

    .aside-contrib--brand img {
        display: none;
    }

    .contrib .exergue-vert,
    .contrib .exergue-prune,
    .rsi-local,
    .aside-contrib,
    .grid--article article,
    .grid--article>.grid__item+.grid__item {
        color: #000 !important;
        background: none;
    }

    .contrib .exergue-vert h2,
    .contrib .exergue-prune h2,
    .rsi-local h2,
    .aside-contrib h2,
    .grid--article article h2,
    .grid--article>.grid__item+.grid__item h2 {
        color: #000 !important;
    }

    main .container-article,
    .test-print,
    .free-contrib,
    .contrib .exergue-vert,
    .contrib .exergue-prune,
    .rsi-local,
    .download-block,
    .grid--article article,
    .aside-contrib,
    .box {
        position: relative;
        border: 2px solid #ccc;
        padding: 10px;
        float: none;
        margin: 0 3px 10px 0;
        background-clip: padding-box;
    }

    .article-bon-a-savoir,
    .content-layout-1 {
        border-top: 2px solid #ccc;
        border-right: 2px solid #ccc;
        border-bottom: 2px solid #ccc;
        padding: 10px;
        background: none;
    }

    .tel-sva__info {
        color: #000;
    }

    main .container-article .contrib table th,
    .contrib__media-legend {
        color: #000;
        background: none;
    }

    .main-content {
        padding-top: 0 !important;
    }

    ul li {
        list-style: inside disc !important;
    }

    ul li li {
        list-style: inside circle !important;
    }

    ul li::before {
        content: none !important;
    }
}
