@charset "UTF-8";
/* ==========================================================================
	GLOBAL VARIABLES
/* ========================================================================== */
@import url("https://fast.fonts.net/t/1.css?apiType=css&projectid=917b3735-8ed1-4c0a-bd53-be95481dbb20");
@font-face {
  font-family: "Avenir-Light";
  src: url("../../assets/fonts/avenir/edefe737-dc78-4aa3-ad03-3c6f908330ed.eot?#iefix");
  src: url("../../assets/fonts/avenir/edefe737-dc78-4aa3-ad03-3c6f908330ed.eot?#iefix") format("eot"), url("../../assets/fonts/avenir/0078f486-8e52-42c0-ad81-3c8d3d43f48e.woff2") format("woff2"), url("../../assets/fonts/avenir/908c4810-64db-4b46-bb8e-823eb41f68c0.woff") format("woff"), url("../../assets/fonts/avenir/4577388c-510f-4366-addb-8b663bcc762a.ttf") format("truetype"); }

@font-face {
  font-family: "Avenir-Book";
  src: url("../../assets/fonts/avenir/710789a0-1557-48a1-8cec-03d52d663d74.eot?#iefix");
  src: url("../../assets/fonts/avenir/710789a0-1557-48a1-8cec-03d52d663d74.eot?#iefix") format("eot"), url("../../assets/fonts/avenir/065a6b14-b2cc-446e-9428-271c570df0d9.woff2") format("woff2"), url("../../assets/fonts/avenir/65d75eb0-2601-4da5-a9a4-9ee67a470a59.woff") format("woff"), url("../../assets/fonts/avenir/c70e90bc-3c94-41dc-bf14-caa727c76301.ttf") format("truetype"); }

@font-face {
  font-family: "Avenir";
  src: url("../../assets/fonts/avenir/57bf7902-79ee-4b31-a327-1bbf59a3d155.eot?#iefix");
  src: url("../../assets/fonts/avenir/57bf7902-79ee-4b31-a327-1bbf59a3d155.eot?#iefix") format("eot"), url("../../assets/fonts/avenir/b290e775-e0f9-4980-914b-a4c32a5e3e36.woff2") format("woff2"), url("../../assets/fonts/avenir/4b978f72-bb48-46c3-909a-2a8cd2f8819c.woff") format("woff"), url("../../assets/fonts/avenir/9bdf0737-f98c-477a-9365-ffc41b9d1285.ttf") format("truetype"); }

@font-face {
  font-family: "Avenir-Heavy";
  src: url("../../assets/fonts/avenir/6af9989e-235b-4c75-8c08-a83bdaef3f66.eot?#iefix");
  src: url("../../assets/fonts/avenir/6af9989e-235b-4c75-8c08-a83bdaef3f66.eot?#iefix") format("eot"), url("../../assets/fonts/avenir/d513e15e-8f35-4129-ad05-481815e52625.woff2") format("woff2"), url("../../assets/fonts/avenir/61bd362e-7162-46bd-b67e-28f366c4afbe.woff") format("woff"), url("../../assets/fonts/avenir/ccd17c6b-e7ed-4b73-b0d2-76712a4ef46b.ttf") format("truetype"); }

@font-face {
  font-family: "Avenir-Black";
  src: url("../../assets/fonts/avenir/f55e4498-ad48-4577-93a0-c614de5cbbb8.eot?#iefix");
  src: url("../../assets/fonts/avenir/f55e4498-ad48-4577-93a0-c614de5cbbb8.eot?#iefix") format("eot"), url("../../assets/fonts/avenir/c78eb7af-a1c8-4892-974b-52379646fef4.woff2") format("woff2"), url("../../assets/fonts/avenir/75b36c58-2a02-4057-a537-09af0832ae46.woff") format("woff"), url("../../assets/fonts/avenir/b5c44a82-eeb8-41de-9c3f-a8db50b24b8a.ttf") format("truetype"); }

@font-face {
  font-family: "icomoon";
  src: url("../../assets/fonts/icomoon/fonts/icomoon.eot?7onrph");
  src: url("../../assets/fonts/icomoon/fonts/icomoon.eot?7onrph#iefix") format("embedded-opentype"), url("../../assets/fonts/icomoon/fonts/icomoon.ttf?7onrph") format("truetype"), url("../../assets/fonts/icomoon/fonts/icomoon.woff?7onrph") format("woff"), url("../../assets/fonts/icomoon/fonts/icomoon.svg?7onrph#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-toxic:before {
  content: ""; }

.icon-gourde:before {
  content: ""; }

.icon-recycle:before {
  content: ""; }

.icon-fontaine-bonbonne:before {
  content: ""; }

.icon-fresh-400:before {
  content: ""; }

.icon-fresh-500:before {
  content: ""; }

.icon-fresh-1000:before {
  content: ""; }

.icon-fresh-1500:before {
  content: ""; }

.icon-fresh-bulles-15:before {
  content: ""; }

.icon-fresh-bulles-500:before {
  content: ""; }

.icon-no-plastic-bottle:before {
  content: ""; }

.icon-camion:before {
  content: ""; }

.icon-eauchaude .path1:before {
  content: "";
  color: #003d4c; }

.icon-eauchaude .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c;
  opacity: 0.65; }

.icon-eaucristalline .path1:before {
  content: "";
  color: #003d4c; }

.icon-eaucristalline .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c;
  opacity: 0.65; }

.icon-eauextrachaude .path1:before {
  content: "";
  color: #003d4c; }

.icon-eauextrachaude .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c;
  opacity: 0.65; }

.icon-eaufinementpetillante .path1:before {
  content: "";
  color: #003d4c;
  opacity: 0.6; }

.icon-eaufinementpetillante .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaufinementpetillante .path3:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaufinementpetillante .path4:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaufroide .path1:before {
  content: "";
  color: #003d4c; }

.icon-eaufroide .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c;
  opacity: 0.65; }

.icon-eaupetillante .path1:before {
  content: "";
  color: #003d4c;
  opacity: 0.6; }

.icon-eaupetillante .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaupetillante .path3:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaupetillante .path4:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaupetillante .path5:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaupetillante .path6:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eaupetillante .path7:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-eautempereee-2:before {
  content: ""; }

.icon-employee:before {
  content: ""; }

.icon-energymore:before {
  content: ""; }

.icon-fontaine-eau:before {
  content: ""; }

.icon-fruit-basket:before {
  content: ""; }

.icon-group-people:before {
  content: ""; }

.icon-secteur-activit-1:before {
  content: ""; }

.icon-secteur-activit-2:before {
  content: ""; }

.icon-plastic-bottle:before {
  content: ""; }

.icon-gaz:before {
  content: ""; }

.icon-petrole:before {
  content: ""; }

.icon-tree:before {
  content: ""; }

.icon-truck:before {
  content: ""; }

.icon-cloud:before {
  content: ""; }

.icon-osmoseurs:before {
  content: "";
  color: #0097db; }

.icon-adoucisseurs:before {
  content: "";
  color: #0097db; }

.icon-fresh-200:before {
  content: ""; }

.icon-quote-end:before {
  content: "";
  color: #f2a900; }

.icon-quote-start:before {
  content: "";
  color: #f2a900; }

.icon-environnement:before {
  content: ""; }

.icon-addlocation:before {
  content: ""; }

.icon-advice:before {
  content: ""; }

.icon-ambassador:before {
  content: ""; }

.icon-arrowback:before {
  content: ""; }

.icon-arrowbotom:before {
  content: ""; }

.icon-arrowright:before {
  content: ""; }

.icon-arrowup:before {
  content: ""; }

.icon-avenew:before {
  content: ""; }

.icon-bin:before {
  content: ""; }

.icon-boiler:before {
  content: ""; }

.icon-building:before {
  content: ""; }

.icon-building-mini:before {
  content: ""; }

.icon-bullet:before {
  content: ""; }

.icon-callback:before {
  content: ""; }

.icon-canalisation:before {
  content: ""; }

.icon-cards:before {
  content: ""; }

.icon-chat:before {
  content: ""; }

.icon-check:before {
  content: ""; }

.icon-check-circle:before {
  content: ""; }

.icon-cheveuxbrillants:before {
  content: ""; }

.icon-client:before {
  content: ""; }

.icon-close:before {
  content: ""; }

.icon-comments:before {
  content: ""; }

.icon-creditcard:before {
  content: ""; }

.icon-cross-circle:before {
  content: ""; }

.icon-culliganadoucisseur:before {
  content: ""; }

.icon-culliganosmoseur:before {
  content: ""; }

.icon-date:before {
  content: ""; }

.icon-delete:before {
  content: ""; }

.icon-description:before {
  content: ""; }

.icon-doc:before {
  content: ""; }

.icon-download:before {
  content: ""; }

.icon-drophappy:before {
  content: ""; }

.icon-dropsad:before {
  content: ""; }

.icon-eautemperee:before {
  content: ""; }

.icon-eco-bottles:before {
  content: ""; }

.icon-eco-groupofhouses:before {
  content: ""; }

.icon-eco-house:before {
  content: ""; }

.icon-edit:before {
  content: ""; }

.icon-electric:before {
  content: ""; }

.icon-entretien:before {
  content: ""; }

.icon-envrionnement:before {
  content: ""; }

.icon-euros:before {
  content: ""; }

.icon-eye:before {
  content: ""; }

.icon-eye-blind:before {
  content: ""; }

.icon-facture:before {
  content: ""; }

.icon-family:before {
  content: ""; }

.icon-faqs:before {
  content: ""; }

.icon-filter:before {
  content: ""; }

.icon-filtration-charbon-actif:before {
  content: ""; }

.icon-fullscreen:before {
  content: ""; }

.icon-handshake:before {
  content: ""; }

.icon-help:before {
  content: ""; }

.icon-home:before {
  content: ""; }

.icon-info:before {
  content: ""; }

.icon-lightbulb:before {
  content: ""; }

.icon-linge-doux:before {
  content: ""; }

.icon-link:before {
  content: ""; }

.icon-list:before {
  content: ""; }

.icon-machinealaver:before {
  content: ""; }

.icon-mail:before {
  content: ""; }

.icon-member:before {
  content: ""; }

.icon-menu:before {
  content: ""; }

.icon-miniarrowbottom:before {
  content: ""; }

.icon-miniarrowleft:before {
  content: ""; }

.icon-miniarrowright:before {
  content: ""; }

.icon-miniarrowup:before {
  content: ""; }

.icon-minicards:before {
  content: ""; }

.icon-minimize:before {
  content: ""; }

.icon-modernity:before {
  content: ""; }

.icon-more:before {
  content: ""; }

.icon-mylocation:before {
  content: ""; }

.icon-navigation:before {
  content: ""; }

.icon-notmember:before {
  content: ""; }

.icon-no-toxic .path1:before {
  content: "";
  color: #003d4c; }

.icon-no-toxic .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-no-toxic .path3:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-no-toxic .path4:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-no-toxic .path5:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-no-toxic .path6:before {
  content: "";
  margin-left: -1em;
  color: white; }

.icon-no-toxic .path7:before {
  content: "";
  margin-left: -1em;
  color: #003d4c; }

.icon-osmoseur:before {
  content: ""; }

.icon-peau-douce:before {
  content: ""; }

.icon-phone:before {
  content: ""; }

.icon-photo:before {
  content: ""; }

.icon-place:before {
  content: ""; }

.icon-place-line:before {
  content: ""; }

.icon-play:before {
  content: ""; }

.icon-play-circle:before {
  content: ""; }

.icon-pommeaudouche:before {
  content: ""; }

.icon-products-culligan:before {
  content: ""; }

.icon-project:before {
  content: ""; }

.icon-question:before {
  content: ""; }

.icon-quotation:before {
  content: ""; }

.icon-rdv:before {
  content: ""; }

.icon-reload:before {
  content: ""; }

.icon-satisfaction:before {
  content: ""; }

.icon-schedule:before {
  content: ""; }

.icon-search:before {
  content: ""; }

.icon-services:before {
  content: ""; }

.icon-services-boy:before {
  content: ""; }

.icon-settings:before {
  content: ""; }

.icon-share:before {
  content: ""; }

.icon-social-facebook:before {
  content: ""; }

.icon-social-instagram:before {
  content: ""; }

.icon-social-linkedin:before {
  content: ""; }

.icon-social-pinterest:before {
  content: ""; }

.icon-social-twitter:before {
  content: ""; }

.icon-social-viadeo:before {
  content: ""; }

.icon-social-vimeo:before {
  content: ""; }

.icon-social-youtube:before {
  content: ""; }

.icon-star:before {
  content: ""; }

.icon-star-empty:before {
  content: ""; }

.icon-star-half .path1:before {
  content: "";
  color: #003d4c; }

.icon-star-half .path2:before {
  content: "";
  margin-left: -1em;
  color: #003d4c;
  opacity: 0.5; }

.icon-store:before {
  content: ""; }

.icon-surfaces-brillantes:before {
  content: ""; }

.icon-sur-mesure:before {
  content: ""; }

.icon-tap:before {
  content: ""; }

.icon-touch:before {
  content: ""; }

.icon-trash:before {
  content: ""; }

.icon-triple-filtration:before {
  content: ""; }

.icon-vaisselle:before {
  content: ""; }

.icon-warranty:before {
  content: ""; }

.icon-water:before {
  content: ""; }

.icon-water-bottle:before {
  content: ""; }

.icon-water-full:before {
  content: ""; }

.icon-waterquality:before {
  content: ""; }

.icon-work:before {
  content: ""; }

.icon-account:before {
  content: ""; }

.icon-add:before {
  content: ""; }

/* ===================
	    Colors (Same variables as Figma)
/* ===================*/
/*
@media all and (-ms-high-contrast:none) {
    $filter: linear-gradient(180deg, rgba(0, 0, 0, 0) 0.01%, #000000 56.25%);
}
*/
/* ===================
	    Fonts
/* ===================*/
/* ===================
    Config
/* ===================*/
/* ===================
    Dauphine var default
/* ===================*/
/* ===================
    FlexContent
/* ===================*/
/* ===================
    Animations for AOS
/* ===================*/
/* ===================
    Width for offset container
/* ===================*/
/* ==========================================================================
	LIB - PACKAGE
/* ========================================================================== */
/**
 * modified version of eric meyer's reset 2.0
 * http://meyerweb.com/eric/tools/css/reset/
 */
/**
     * basic reset
     */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, main,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/**
     * HTML5 display-role reset for older browsers
     */
article, aside, details, figcaption, figure,
footer, header, menu, nav, section,
main, summary {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

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

/**
 * modified version of normalize.css 3.0.2
 * http://necolas.github.io/normalize.css/
 */
/**
     * 1. Set default font family to sans-serif.
     * 2. Prevent iOS text size adjust after orientation change, without disabling
     *    user zoom.
     */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

/**
     * HTML5 display definitions
     * =============================================================================
     */
/**
     * 1. Correct `inline-block` display not defined in IE 8/9.
     * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
     */
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

/**
     * Prevent modern browsers from displaying `audio` without controls.
     * Remove excess height in iOS 5 devices.
     */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
     * Address `[hidden]` styling not present in IE 8/9/10.
     * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
     */
[hidden],
template {
  display: none; }

/**
     * Links
     * =============================================================================
     */
/**
     * Remove the gray background color from active links in IE 10.
     */
a {
  background-color: transparent; }

/**
     * Improve readability when focused and also mouse hovered in all browsers.
     */
a:active,
a:hover {
  outline: 0; }

/**
     * Text-level semantics
     * =============================================================================
     */
/**
     * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
     */
abbr[title] {
  border-bottom: 1px dotted; }

/**
     * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
     */
b,
strong {
  font-weight: bold; }

/**
     * 1. Address styling not present in Safari and Chrome.
     * 2. Set previously resetted italic font-style
     */
dfn,
i, em {
  font-style: italic; }

/**
     * Address styling not present in IE 8/9.
     */
mark {
  background: #ff0;
  color: #000; }

/**
     * Address inconsistent and variable font size in all browsers.
     */
small {
  font-size: 80%; }

/**
     * Prevent `sub` and `sup` affecting `line-height` in all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/**
     * Embedded content
     * =============================================================================
     */
/**
     * Remove border when inside `a` element in IE 8/9/10.
     */
img {
  border: 0; }

/**
     * Correct overflow not hidden in IE 9/10/11.
     */
svg:not(:root) {
  overflow: hidden; }

/**
     * Grouping content
     * =============================================================================
     */
/**
     * Address differences between Firefox and other browsers.
     */
hr {
  box-sizing: content-box;
  height: 0; }

/**
     * Contain overflow in all browsers.
     */
pre {
  overflow: auto; }

/**
     * Address odd `em`-unit font size rendering in all browsers.
     */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

/**
     * Forms
     * =============================================================================
     */
/**
     * Known limitation: by default, Chrome and Safari on OS X allow very limited
     * styling of `select`, unless a `border` property is set.
     */
/**
     * 1. Correct color not being inherited.
     *    Known issue: affects color of disabled elements.
     * 2. Correct font properties not being inherited.
     * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
     */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

/**
     * Address `overflow` set to `hidden` in IE 8/9/10/11.
     */
button {
  overflow: visible; }

/**
     * Address inconsistent `text-transform` inheritance for `button` and `select`.
     * All other form control elements do not inherit `text-transform` values.
     * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
     * Correct `select` style inheritance in Firefox.
     */
button,
select {
  text-transform: none; }

/**
     * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
     *    and `video` controls.
     * 2. Correct inability to style clickable `input` types in iOS.
     * 3. Improve usability and consistency of cursor style between image-type
     *    `input` and others.
     */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

/**
     * Re-set default cursor for disabled elements.
     */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
     * Remove inner padding and border in Firefox 4+.
     */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
     * Address Firefox 4+ setting `line-height` on `input` using `!important` in
     * the UA stylesheet.
     */
input {
  line-height: normal; }

/**
     * It's recommended that you don't attempt to style these elements.
     * Firefox's implementation doesn't respect box-sizing, padding, or width.
     *
     * 1. Address box sizing set to `content-box` in IE 8/9/10.
     * 2. Remove excess padding in IE 8/9/10.
     */
input[type="checkbox"],
input[type="radio"] {
  padding: 0; }

/**
     * Fix the cursor style for Chrome's increment/decrement buttons. For certain
     * `font-size` values of the `input`, it causes the cursor style of the
     * decrement button to change from `default` to `text`.
     */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
     * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
     * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
     *    (include `-moz` to future-proof).
     */
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

/**
     * Remove inner padding and search cancel button in Safari and Chrome on OS X.
     * Safari (but not Chrome) clips the cancel button when the search input has
     * padding (and `textfield` appearance).
     */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
     * Remove default vertical scrollbar in IE 8/9/10/11.
     */
textarea {
  overflow: auto; }

/**
     * Don't inherit the `font-weight` (applied by a rule above).
     * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
     */
optgroup {
  font-weight: bold; }

/**
 * responsive viewport
 */
@viewport {
  width: device-width; }

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

/**
     * iOS "clickable elements" fix for role="button"
     *
     * Fixes "clickability" issue (and more generally, the firing of events such as focus as well)
     * for traditionally non-focusable elements with role="button"
     * see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
     */
[role="button"] {
  cursor: pointer; }

/**
     * Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.
     *
     * In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11
     * DON'T remove the click delay when `<meta name="viewport" content="width=device-width">` is present.
     * However, they DO support removing the click delay via `touch-action: manipulation`.
     * See:
     * - http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch
     * - http://caniuse.com/#feat=css-touch-action
     * - http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay
     */
a,
area,
button,
[role="button"],
input,
label,
select,
summary,
textarea {
  touch-action: manipulation; }

/**
     * Always hide an element with the `hidden` HTML attribute (from PureCSS).
     */
[hidden] {
  display: none !important; }

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

body {
  -webkit-font-smoothing: antialiased;
  font-smooth: always; }

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

/******************************
**
** Container/Gutters
**
******************************/
strong {
  font-weight: bold; }

i, em {
  font-style: italic; }

u {
  text-decoration: underline; }

.full-screen, .footer__titles .btn, .home__content--left .useful-resources .w-resource .w-icon, .showcase__content .grid .item .nb-slide {
  display: flex;
  align-items: center;
  justify-content: center; }

.full-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%; }

.home__header--bg {
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat; }

.img-fluid {
  max-width: 100%;
  height: auto; }

.container {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }
  @media (min-width: 720px) {
    .container {
      padding-left: 12px;
      padding-right: 12px; } }
  @media (min-width: 960px) {
    .container {
      padding-left: 0;
      padding-right: 0; } }
  @media (min-width: 720px) {
    .container {
      max-width: 720px; } }
  @media (min-width: 960px) {
    .container {
      max-width: 940px; } }
  @media (min-width: 1280px) {
    .container {
      max-width: 1200px; } }
  @media (min-width: 1600px) {
    .container {
      max-width: 1400px; } }

.container-fluid {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px; }
  @media (min-width: 720px) {
    .container-fluid {
      padding-left: 12px;
      padding-right: 12px; } }
  @media (min-width: 960px) {
    .container-fluid {
      padding-left: 0;
      padding-right: 0; } }

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -6px;
  margin-left: -6px; }
  @media (min-width: 720px) {
    .row {
      margin-right: -12px;
      margin-left: -12px; } }
  .row .no-gutters {
    margin-right: 0;
    margin-left: 0; }
    .row .no-gutters > .col,
    .row .no-gutters > [class*="col-"] {
      padding-right: 0;
      padding-left: 0; }

.container.test {
  position: fixed;
  top: 0;
  transform: translateX(-50%);
  pointer-events: none;
  opacity: .15;
  height: 100%;
  width: 100%;
  margin: 0 auto;
  background: #FF9800;
  z-index: 9999999;
  left: 50%;
  display: flex; }
  .container.test > div {
    position: relative;
    margin: 0 12px;
    width: 100%;
    height: 100%;
    background: #009688; }
    .container.test > div:first-child {
      margin-left: 0; }
    .container.test > div:last-child {
      margin-right: 0; }

/*

Created by: https://getbootstrap.com/

*/
/*

Created by: https://getbootstrap.com/

*/
/*

Created by: https://getbootstrap.com/

*/
/*

Created by: https://getbootstrap.com/

*/
.color-secondary-01 {
  color: #0155B8; }

.color-secondary-02 {
  color: #CE004A; }

.color-secondary-03 {
  color: #F2A900; }

.color-secondary-04 {
  color: #509E2F; }

.color-secondary-05 {
  color: #0097DB; }

.color-secondary-06 {
  color: #19A6B3; }

.bg-secondary-01 {
  background-color: #0155B8; }

.bg-secondary-02 {
  background-color: #CE004A; }

.bg-secondary-03 {
  background-color: #F2A900; }

.bg-secondary-04 {
  background-color: #509E2F; }

.bg-secondary-05 {
  background-color: #0097DB; }

.bg-secondary-06 {
  background-color: #19A6B3; }

/* ==========================================================================
	CORE
/* ========================================================================== */
.fade-in, .fade-out {
  animation-fill-mode: both;
  animation-timing-function: ease-in; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0;
    pointer-events: none; } }

@keyframes rotate-circle {
  0% {
    transform: rotate(-45deg); }
  5% {
    transform: rotate(-45deg); }
  12% {
    transform: rotate(-405deg); }
  100% {
    transform: rotate(-405deg); } }

@keyframes icon-line-tip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes icon-line-long {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@keyframes shake-animation {
  0% {
    transform: translate(0, 0); }
  1.78571% {
    transform: translate(5px, 0); }
  3.57143% {
    transform: translate(0, 0); }
  5.35714% {
    transform: translate(5px, 0); }
  7.14286% {
    transform: translate(0, 0); }
  8.92857% {
    transform: translate(5px, 0); }
  10.71429% {
    transform: translate(0, 0); }
  30.71429% {
    transform: translate(0, 0); }
  32.78571% {
    transform: translate(5px, 0); }
  34.57143% {
    transform: translate(0, 0); }
  36.35714% {
    transform: translate(5px, 0); }
  38.14286% {
    transform: translate(0, 0); }
  40.92857% {
    transform: translate(5px, 0); }
  42.71429% {
    transform: translate(0, 0); }
  60.78571% {
    transform: translate(0, 0); }
  62.35714% {
    transform: translate(5px, 0); }
  64.14286% {
    transform: translate(0, 0); }
  66.92857% {
    transform: translate(5px, 0); }
  68.71429% {
    transform: translate(0, 0); }
  70.92857% {
    transform: translate(5px, 0); }
  72.71429% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, 0); } }

/* $animation-hover : Dauphine variable */
.fade-in {
  animation-name: fadeIn;
  animation-duration: 300ms; }

.fade-out {
  animation-name: fadeOut;
  animation-duration: 300ms; }

/* Animation for waiting block as Facebook */
@keyframes placeHolderShimmer {
  0% {
    background-position: -468px 0; }
  100% {
    background-position: 468px 0; } }

[data-animation] {
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0, 0, 0.4, 1);
  animation-name: fadeUp;
  animation-duration: 300ms; }

[data-delay="100"] {
  animation-delay: .1s; }

[data-delay="200"] {
  animation-delay: .2s; }

[data-delay="300"] {
  animation-delay: .3s; }

[data-delay="400"] {
  animation-delay: .4s; }

[data-delay="500"] {
  animation-delay: .5s; }

@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 60px, 0); }
  100% {
    opacity: 1;
    transform: translateZ(0); } }

.h1, .wysiwyg h1,
.wysiwyg .h1, .h2, .wysiwyg h2,
.wysiwyg .h2, .h3, .wysiwyg h3,
.wysiwyg .h3, .h4, .wysiwyg h4,
.wysiwyg .h4, .h5, .wysiwyg h5,
.wysiwyg .h5 {
  font-family: "OpenSans-Black", sans-serif;
  color: #0155B8; }

.h1, .wysiwyg h1,
.wysiwyg .h1 {
  font-size: 42px;
  line-height: 120%; }
  @media (min-width: 720px) {
    .h1, .wysiwyg h1,
    .wysiwyg .h1 {
      font-size: 70px;
      line-height: 120%; } }
  @media (min-width: 1280px) {
    .h1, .wysiwyg h1,
    .wysiwyg .h1 {
      font-size: 80px;
      line-height: 120%; } }
  @media (min-width: 1600px) {
    .h1, .wysiwyg h1,
    .wysiwyg .h1 {
      font-size: 100px;
      line-height: 120%; } }

.h2, .wysiwyg h2,
.wysiwyg .h2 {
  font-size: 36px;
  line-height: 120%; }
  @media (min-width: 720px) {
    .h2, .wysiwyg h2,
    .wysiwyg .h2 {
      font-size: 50px;
      line-height: 120%; } }
  @media (min-width: 1280px) {
    .h2, .wysiwyg h2,
    .wysiwyg .h2 {
      font-size: 50px;
      line-height: 120%; } }
  @media (min-width: 1600px) {
    .h2, .wysiwyg h2,
    .wysiwyg .h2 {
      font-size: 65px;
      line-height: 120%; } }

.h3, .wysiwyg h3,
.wysiwyg .h3 {
  font-size: 24px;
  line-height: 33px; }
  @media (min-width: 720px) {
    .h3, .wysiwyg h3,
    .wysiwyg .h3 {
      font-size: 36px;
      line-height: 120%; } }
  @media (min-width: 1280px) {
    .h3, .wysiwyg h3,
    .wysiwyg .h3 {
      font-size: 36px;
      line-height: 120%; } }
  @media (min-width: 1600px) {
    .h3, .wysiwyg h3,
    .wysiwyg .h3 {
      font-size: 42px;
      line-height: 120%; } }

.h4, .wysiwyg h4,
.wysiwyg .h4 {
  font-size: 20px;
  line-height: 27px; }
  @media (min-width: 720px) {
    .h4, .wysiwyg h4,
    .wysiwyg .h4 {
      font-size: 28px;
      line-height: 33px; } }
  @media (min-width: 1280px) {
    .h4, .wysiwyg h4,
    .wysiwyg .h4 {
      font-size: 28px;
      line-height: 120%; } }
  @media (min-width: 1600px) {
    .h4, .wysiwyg h4,
    .wysiwyg .h4 {
      font-size: 32px;
      line-height: 120%; } }

.h5, .wysiwyg h5,
.wysiwyg .h5 {
  font-size: 18px;
  line-height: 25px; }
  @media (min-width: 1280px) {
    .h5, .wysiwyg h5,
    .wysiwyg .h5 {
      font-size: 22px;
      line-height: 26px; } }

.headline {
  text-transform: uppercase;
  color: #0155B8;
  font-family: "OpenSans-Black", sans-serif;
  letter-spacing: 0.03em;
  font-weight: 900;
  font-size: 14px;
  line-height: 170%; }
  @media (min-width: 720px) {
    .headline {
      font-size: 16px;
      line-height: 170%; } }
  @media (min-width: 1280px) {
    .headline {
      font-size: 16px;
      line-height: 170%; } }
  @media (min-width: 1600px) {
    .headline {
      font-size: 20px;
      line-height: 160%; } }

/* ===================
	    Icomoon
/* ===================*/
/* ===================
	    Image
/* ===================*/
/* ===================
	    Functions
/* ===================*/
/* ===================
	    Box shadow
/* ===================*/
/* ===================
	   Gradient
/* ===================*/
/* ===================
	   Padding
/* ===================*/
/* ===================
	   Margin
/* ===================*/
/* ===================
	    Position
/* ===================*/
p,
.p {
  font-size: 16px;
  line-height: 27px;
  font-weight: normal; }
  @media (min-width: 1600px) {
    p,
    .p {
      font-size: 20px;
      line-height: 155%; } }

p--small,
.p--small, #usage-correct .square .text, #bloc-identite-logo-usage2 .square .text, #bloc-identite-couleurs-1 .square .text {
  font-size: 16px;
  line-height: 24px; }
  @media (min-width: 1600px) {
    p--small,
    .p--small, #usage-correct .square .text, #bloc-identite-logo-usage2 .square .text, #bloc-identite-couleurs-1 .square .text {
      font-size: 16px;
      line-height: 155%; } }

p--medium,
.p--medium {
  font-size: 20px;
  line-height: 34px; }
  @media (min-width: 1600px) {
    p--medium,
    .p--medium {
      font-size: 22px;
      line-height: 155%; } }

p--large,
.p--large {
  font-size: 20px;
  line-height: 170%; }
  @media (min-width: 720px) {
    p--large,
    .p--large {
      font-size: 24px;
      line-height: 170%; } }
  @media (min-width: 1600px) {
    p--large,
    .p--large {
      font-size: 28px;
      line-height: 170%; } }

p--xlarge,
.p--xlarge {
  font-size: 22px;
  line-height: 170%; }
  @media (min-width: 720px) {
    p--xlarge,
    .p--xlarge {
      font-size: 26px;
      line-height: 170%; } }
  @media (min-width: 1600px) {
    p--xlarge,
    .p--xlarge {
      font-size: 30px;
      line-height: 170%; } }

ul.primary-list li, .wysiwyg ul li {
  position: relative;
  padding-left: 20px;
  line-height: 27px; }
  ul.primary-list li + li, .wysiwyg ul li + li {
    margin-top: 20px; }
  ul.primary-list li:before, .wysiwyg ul li:before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    height: 6px;
    width: 6px;
    border-radius: 100%;
    background-color: #CE004A; }

ol li, .wysiwyg ol li {
  position: relative;
  padding-left: 28px;
  counter-increment: step;
  line-height: 27px; }
  ol li + li, .wysiwyg ol li + li {
    margin-top: 20px; }
  ol li:before, .wysiwyg ol li:before {
    content: counter(step, decimal-leading-zero) ".";
    position: absolute;
    top: 0;
    left: 0;
    font-size: 16px;
    font-weight: bold;
    color: #CE004A; }

ul.slider-list li {
  position: relative;
  padding-left: 15px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-family: "OpenSans-Black", sans-serif;
  cursor: pointer;
  transition: color 250ms ease-out; }
  ul.slider-list li.active {
    color: #fff; }
  ul.slider-list li:hover {
    color: #fff; }
  ul.slider-list li + li {
    margin-top: 20px; }

.read-more {
  display: flex;
  align-items: center;
  color: #003D4C;
  cursor: pointer;
  text-decoration: none;
  transition: color 250ms ease-out; }
  .read-more:hover {
    color: #0155B8; }
    .read-more:hover:before {
      color: #0155B8; }
  .read-more:before {
    content: "";
    font-family: "icomoon";
    font-size: 20px;
    color: #CE004A;
    font-weight: 400;
    transition: color 250ms ease-out;
    margin-right: 11px; }

.read-more--plus:before {
  content: "";
  font-family: "icomoon";
  font-size: 20px;
  color: #CE004A;
  font-weight: 400; }

.read-more--white {
  color: #fff; }
  .read-more--white:before {
    color: #fff; }

.link {
  text-decoration: none;
  color: #003D4C;
  transition: color 250ms ease-out; }

.btn {
  position: relative;
  z-index: 1;
  display: inline-block;
  text-decoration: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 16px;
  padding: 18px 30px;
  outline: none;
  border: 0;
  border-radius: 4px;
  text-align: center;
  white-space: nowrap; }
  @media (min-width: 720px) {
    .btn {
      font-size: 20px;
      line-height: 20px; } }

.btn--primary {
  color: #fff; }
  .btn--primary:after {
    content: '';
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 4px;
    transition: all 350ms ease-out; }
  @media (min-width: 960px) {
    .btn--primary:hover:after {
      background-color: #0155B8;
      transform: scale(1.01); } }
  .btn--primary:after {
    background-color: #CE004A; }

.btn--secondary {
  color: #fff; }
  .btn--secondary:after {
    content: '';
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 4px;
    transition: all 350ms ease-out; }
  @media (min-width: 960px) {
    .btn--secondary:hover:after {
      background-color: #0155B8;
      transform: scale(1.01); } }
  .btn--secondary:after {
    background-color: #003D4C; }

.btn--small {
  padding: 12px 20px;
  font-size: 16px;
  line-height: 16px; }

.btn--outline {
  color: #003D4C;
  background-color: transparent;
  transition: color 350ms ease-out; }
  .btn--outline:after {
    content: '';
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 4px;
    transition: all 350ms ease-out;
    border: 1px solid #C0C9DD; }
  @media (min-width: 960px) {
    .btn--outline:hover {
      color: #0155B8; }
      .btn--outline:hover:after {
        border-color: #0155B8;
        transform: scale(1.02); } }

.btn--outline--white {
  color: #fff;
  transition: color 350ms ease-out; }
  .btn--outline--white:after {
    content: '';
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 4px;
    transition: all 350ms ease-out;
    border: 1px solid #fff; }
  @media (min-width: 960px) {
    .btn--outline--white:hover {
      color: #fff; }
      .btn--outline--white:hover:after {
        border-color: #fff;
        transform: scale(1.02); } }

.btn--outline--transparent {
  color: #fff;
  transition: color 350ms ease-out; }
  .btn--outline--transparent:after {
    content: '';
    position: absolute;
    z-index: -2;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 4px;
    transition: all 350ms ease-out;
    border: 1px solid rgba(255, 255, 255, 0.2); }
  @media (min-width: 960px) {
    .btn--outline--transparent:hover {
      color: #fff; }
      .btn--outline--transparent:hover:after {
        border-color: #fff;
        transform: scale(1.02); } }

.btn--disabled {
  background-color: #F0F0F0;
  color: #8E97AB;
  cursor: initial;
  pointer-events: none; }

.h1--white {
  color: #fff; }

.h1--black {
  color: #003D4C; }

.h2--white {
  color: #fff; }

.h2--black {
  color: #003D4C; }

.h3--white {
  color: #fff; }

.h3--black {
  color: #003D4C; }

.h4--white {
  color: #fff; }

.h4--black {
  color: #003D4C; }

.h4--secondary-02 {
  color: #CE004A; }

.h5--white {
  color: #fff; }

.h5--black {
  color: #003D4C; }

.headline--white {
  color: #fff; }

.headline--black {
  color: #003D4C; }

.headline--transparent {
  color: rgba(255, 255, 255, 0.6); }

.headline--gray-01 {
  color: #525B6F; }

.headline--gray-02 {
  color: #8E97AB; }

.headline--gray-03 {
  color: #C0C9DD; }

.link--white {
  color: #fff; }

.link--underline {
  text-decoration: underline; }
  @media (min-width: 960px) {
    .link--underline:hover {
      color: #0155B8; } }

p a:not(.btn),
p .link {
  color: #CE004A;
  text-decoration: underline;
  margin-left: 5px;
  transition: color 250ms ease-out; }
  @media (min-width: 960px) {
    p a:not(.btn):hover,
    p .link:hover {
      color: #0155B8 !important; } }
  p a:not(.btn).link-privacy,
  p .link.link-privacy {
    color: #8E97AB;
    margin-left: 1px; }

p.link {
  cursor: pointer; }

@media (min-width: 960px) {
  .link-hover--transparent:hover {
    color: rgba(255, 255, 255, 0.6); } }

@media (min-width: 960px) {
  .link-hover--secondary-01:hover {
    color: #0155B8; } }

.read-more--down:before {
  content: "";
  font-family: "icomoon";
  font-size: 20px;
  color: #CE004A;
  font-weight: 400;
  margin-right: 8px; }

.read-more--up:before {
  content: "";
  font-family: "icomoon";
  font-size: 20px;
  color: #CE004A;
  font-weight: 400; }

.full-screen {
  cursor: pointer;
  transition: color 250ms ease-out; }
  @media (min-width: 960px) {
    .full-screen:hover {
      color: #0155B8; }
      .full-screen:hover:before {
        color: inherit; } }
  .full-screen:before {
    content: "";
    font-family: "icomoon";
    font-size: 21px;
    color: #CE004A;
    font-weight: 400;
    margin-right: 5px;
    /*margin-top: rem(-2);*/ }

.link-icon {
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: color 250ms ease-out; }

@media (min-width: 960px) {
  .link-icon--filter:hover,
  .link-icon--reset:hover {
    color: #0155B8; } }

.link-icon--filter:after {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: inherit;
  font-weight: 400;
  margin-left: 12px; }

.link-icon--filter.active {
  color: #0155B8; }
  .link-icon--filter.active:after {
    content: "";
    font-family: "icomoon";
    font-size: 18px;
    color: inherit;
    font-weight: 400; }

.link-icon--back:before {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: #CE004A;
  font-weight: 400;
  transition: color 250ms ease-out;
  margin-right: 8px; }

.link-icon--back:hover, .link-icon--back:hover:before {
  color: #0155B8; }

.link-icon--reset:before {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: inherit;
  font-weight: 400;
  margin-right: 8px; }

.link-icon--geoloc:before {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: inherit;
  font-weight: 400;
  margin-right: 8px; }

.link-icon--phone:before {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: inherit;
  font-weight: 400;
  margin-right: 8px; }

.link-icon--itinerary:before {
  content: "";
  font-family: "icomoon";
  font-size: 18px;
  color: inherit;
  font-weight: 400;
  margin-right: 8px; }

ul.slider-list {
  list-style: initial;
  padding-left: 15px; }
  ul.slider-list--inline {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding-left: 0;
    margin: -20px 0 0; }
    ul.slider-list--inline li {
      margin-top: 20px;
      padding-left: 0; }
      ul.slider-list--inline li + li {
        margin-top: 20px;
        margin-left: 75px; }
        ul.slider-list--inline li + li:before {
          content: '';
          display: block;
          width: 40px;
          height: 1px;
          background-color: rgba(255, 255, 255, 0.5);
          position: absolute;
          top: 50%;
          transform: translateY(-50%);
          left: -65px; }

html {
  font-family: "OpenSans", sans-serif;
  font-size: 16px;
  line-height: 27px;
  text-align: left;
  color: #003D4C; }

p--white,
.p--white {
  color: #fff; }

p--gray-02,
.p--gray-02 {
  color: #8E97AB; }

p--secondary-01,
.p--secondary-01 {
  color: #0155B8; }

p--secondary-02,
.p--secondary-02 {
  color: #CE004A; }

p--secondary-03,
.p--secondary-03 {
  color: #F2A900; }

p--secondary-04,
.p--secondary-04 {
  color: #509E2F; }

p--secondary-05,
.p--secondary-05 {
  color: #0097DB; }

p--transparent,
.p--transparent {
  color: rgba(255, 255, 255, 0.65); }

p--heavy,
.p--heavy {
  font-family: "OpenSans-Heavy", sans-serif; }

p--black,
.p--black {
  font-family: "OpenSans-Black", sans-serif; }

.icon {
  font-style: inherit; }
  .icon--white {
    color: #fff; }
  .icon--secondary-01 {
    color: #0155B8; }
  .icon--secondary-02 {
    color: #CE004A; }
  .icon--secondary-03 {
    color: #F2A900; }
  .icon--secondary-04 {
    color: #509E2F; }
  .icon--secondary-05 {
    color: #0097DB; }
  .icon--gray-03 {
    color: #C0C9DD; }
  .icon--gray-02 {
    color: #8E97AB; }

.number {
  font-family: "OpenSans-Black", sans-serif;
  color: #003D4C; }
  .number--white {
    color: #fff; }
  .number--secondary-02 {
    color: #CE004A; }

.word {
  display: inline-block;
  word-break: keep-all; }

/* ===================
      Wysiwyg
/* ===================*/
.wysiwyg > *:last-child {
  margin-bottom: 0; }

.wysiwyg p + h2, .wysiwyg p + h3, .wysiwyg p + h4, .wysiwyg p + h5, .wysiwyg ul + h2, .wysiwyg ul + h3, .wysiwyg ul + h4, .wysiwyg ul + h5, .wysiwyg ol + h2, .wysiwyg ol + h3, .wysiwyg ol + h4, .wysiwyg ol + h5 {
  margin-top: 30px; }

.wysiwyg h2 + h3, .wysiwyg h2 + h4, .wysiwyg h2 + h5 {
  margin-top: 10px; }

.wysiwyg h3 + h2, .wysiwyg h3 + h4, .wysiwyg h3 + h5 {
  margin-top: 5px; }

.wysiwyg h4 + h3, .wysiwyg h4 + h2, .wysiwyg h4 + h5 {
  margin-top: 10px; }

.wysiwyg h5 + h3, .wysiwyg h5 + h2, .wysiwyg h5 + h4 {
  margin-top: 10px; }

.wysiwyg h2 + ul, .wysiwyg h2 + ol, .wysiwyg h2 + p, .wysiwyg h3 + ul, .wysiwyg h3 + ol, .wysiwyg h3 + p, .wysiwyg h4 + ul, .wysiwyg h4 + ol, .wysiwyg h4 + p, .wysiwyg h5 + ul, .wysiwyg h5 + ol, .wysiwyg h5 + p {
  margin-top: 10px; }
  @media (min-width: 960px) {
    .wysiwyg h2 + ul, .wysiwyg h2 + ol, .wysiwyg h2 + p, .wysiwyg h3 + ul, .wysiwyg h3 + ol, .wysiwyg h3 + p, .wysiwyg h4 + ul, .wysiwyg h4 + ol, .wysiwyg h4 + p, .wysiwyg h5 + ul, .wysiwyg h5 + ol, .wysiwyg h5 + p {
      margin-top: 20px; } }

.wysiwyg p + ul, .wysiwyg p + ol {
  margin-top: 20px; }

.wysiwyg p + p {
  margin-top: 20px; }

.wysiwyg ul + ul, .wysiwyg ul + ol {
  margin-top: 10px; }

.wysiwyg ul + p {
  margin-top: 20px; }

.wysiwyg ol + ol, .wysiwyg ol + ul {
  margin-top: 10px; }

.wysiwyg ol + p {
  margin-top: 20px; }

.wysiwyg h3,
.wysiwyg .h3 {
  color: #003D4C; }

.wysiwyg h4,
.wysiwyg .h4 {
  color: #CE004A; }

.wysiwyg h5,
.wysiwyg .h5 {
  color: #003D4C; }

.wysiwyg a:not(.btn) {
  color: #CE004A; }
  .wysiwyg a:not(.btn):hover {
    color: #0155B8; }

.wysiwyg--white p,
.wysiwyg--white a:not(.btn) {
  color: #fff; }

.wysiwyg--white a:not(.btn):hover {
  color: rgba(255, 255, 255, 0.5); }

.wysiwyg .btn {
  margin-top: 20px; }
  .wysiwyg .btn a {
    text-decoration: none; }
  .wysiwyg .btn:hover a {
    color: #003D4C; }

.wysiwyg hr {
  display: none; }

.btn--loading {
  cursor: initial;
  pointer-events: none; }
  .btn--loading:before {
    content: '';
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: #f6f7f8;
    background: -webkit-gradient(linear, left top, right top, color-stop(8%, #CE004A), color-stop(18%, #71042b), color-stop(33%, #CE004A));
    background: -webkit-linear-gradient(left, #CE004A 8%, rgba(0, 0, 0, 0.3) 18%, #CE004A 33%);
    background: linear-gradient(to right, #CE004A 8%, rgba(0, 0, 0, 0.3) 18%, #CE004A 33%);
    background-size: 800px 104px;
    height: 100%;
    width: 100%;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    border-radius: 4px; }

span.btn {
  pointer-events: none;
  cursor: pointer; }

/*
.w-play{
    display: flex;
    justify-content: center;
    align-items: center;
    width: rem(64);
    height: rem(64);
    border-radius: 100%;
    background-color: $secondary-02;
    @include center(both);
    @include transition(300ms, all, ease-out);
    &:before{
        @include icon($icon-play, rem(18), $white);
        z-index: 1;
    }
    &:after{
        content: '';
        display: block;
        width: rem(92);
        height: rem(92);
        border-radius: 100%;
        background-color: rgba($secondary-02, 0.2);
        @include transition(300ms, all, ease-out);
        @include center(both);
    }
    &--small{
        width: rem(30);
        height: rem(30);
        &:before{
            font-size: rem(13);
        }
        &:after{
            width: rem(50);
            height: rem(50);
        }
        @include breakpoint(lg) {
            width: rem(35);
            height: rem(35);
            &:before{
                font-size: rem(15);
            }
            &:after{
                width: rem(60);
                height: rem(60);
            }
        }
    }
}

a.w-btn-circle,
button.w-btn-circle,
a.lSPrev,
a.lSNext{
    @include center-vertical();
    z-index: 10;
    width: rem(56);
    height: rem(56);
    border-radius: 100%;
    border: none;
    cursor: pointer;
    background-color: transparent;
    color: transparent;
    outline: none;
    outline-color: transparent;
    @include btn-circle();
    @include btn-circle-svg($gray-03, $secondary-01);
    &:before{
        @include center(both);
        height: auto;
        width: auto;
        pointer-events: none;
    }
    &--prev{
        @include btn-circle-direction('left');
    }
    &--next{
        @include btn-circle-direction('right');
    }
    &--close{
        @include btn-circle-svg(rgba($white, 0.25), $white);
        &:before{
            @include icon($icon-close, rem(24), $white);
        }
    }
    &--white{
        @include btn-circle-svg(rgba($white, 0.25), $white);
    }
    &.pswp__button{
        @include btn-circle-svg(rgba($white, 0.25), $white);
        &--arrow--left:before{
            @include icon($icon-miniarrowleft, rem(24), $white);
        }
        &--arrow--right:before{
            @include icon($icon-miniarrowright, rem(24), $white);
        }
    }
}

a.lSPrev,
a.lSNext{
    &:after{
        content: '';
        display: block;
        width: calc(100% - 2px);
        height: calc(100% - 2px);
        background-color: $white;
        border-radius: 100%;
        margin-left: rem(1);
        margin-top: rem(1);
    }
}

a.lSPrev{
    &:before{
        @include icon($icon-miniarrowleft, rem(24), $primary-black);
    }
}
a.lSNext{
    &:before{
        @include icon($icon-miniarrowright, rem(24), $primary-black);
    }
}*/
html,
body {
  width: 100%;
  height: 100%; }

body {
  position: relative;
  /*overflow-y: overlay;*/ }
  body.overflow-hidden {
    overflow: hidden; }
  @media (min-width: 720px) {
    body.overflow-hidden--sm {
      overflow: hidden; } }
  @media (min-width: 960px) {
    body.overflow-hidden--md {
      overflow: hidden; } }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0, 0, 0.4, 1); }

[data-aos='fade-up'] {
  transform: none; }
  @media (min-width: 960px) {
    [data-aos='fade-up'] {
      transform: translate3d(0, 60px, 0); } }

@media (min-width: 720px) {
  .page {
    overflow: hidden; } }

hr {
  border-style: solid;
  border-width: 0.5px;
  border-color: #C0C9DD;
  margin: 0; }

#loader {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #003D4C;
  cursor: wait;
  opacity: 1;
  transition: all 250ms ease-out; }
  #loader.loaded {
    opacity: 0;
    visibility: hidden; }

@media (min-width: 960px) {
  .custom-scrollbar::-webkit-scrollbar {
    width: 14px;
    height: 18px; }
  .custom-scrollbar::-webkit-scrollbar-thumb {
    height: 6px;
    border: 4px solid rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border-radius: 7px;
    background-color: rgba(0, 0, 0, 0.15);
    box-shadow: inset -1px -1px 0px rgba(0, 0, 0, 0.05), inset 1px 1px 0px rgba(0, 0, 0, 0.05); }
  .custom-scrollbar::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    display: none; }
  .custom-scrollbar::-webkit-scrollbar-corner {
    background-color: transparent; } }

.mt-40 {
  margin-top: 40px; }

/* ==========================================================================
	COMPONENTS
/* ========================================================================== */
.main {
  background: #F2F6FB; }
  @media (min-width: 720px) {
    .main {
      position: relative;
      margin: 30px; } }

.content {
  width: 100%;
  padding: 140px 25px 0 25px; }
  @media (min-width: 720px) {
    .content {
      padding: 180px 45px 0; } }
  @media (min-width: 960px) {
    .content {
      padding: 190px 60px 0; } }
  @media (min-width: 1280px) {
    .content {
      padding: 175px 80px 0 460px; } }
  @media (min-width: 1600px) {
    .content {
      max-width: 1600px;
      margin: 0 auto; } }
  @media (min-width: 2000px) {
    .content {
      max-width: 1700px; } }

.w-bloc {
  position: relative;
  padding: 40px 0;
  /* @include breakpoint(xlg) {
        padding: padding(xlg) 0;
    }*/
  border-top: 1px solid #C0C9DD; }
  @media (min-width: 720px) {
    .w-bloc {
      padding: 80px 0; } }
  @media (min-width: 1280px) {
    .w-bloc {
      padding: 80px 0; } }
  .w-bloc.top-title {
    border-top: none;
    padding-top: 0; }
  .w-bloc + .w-bloc {
    margin-top: 40px; }
    @media (min-width: 720px) {
      .w-bloc + .w-bloc {
        margin-top: 80px; } }
    @media (min-width: 1280px) {
      .w-bloc + .w-bloc {
        margin-top: 80px; } }
  .w-bloc:nth-child(2) {
    margin-top: 0; }
  .w-bloc .title {
    position: relative;
    display: inline-block;
    padding-right: 30px; }
    .w-bloc .title .icon {
      position: absolute;
      right: 0;
      bottom: 10px;
      color: #8E97AB;
      font-size: 24px;
      cursor: pointer;
      transition: all 250ms ease-out;
      display: none; }
      @media (min-width: 960px) {
        .w-bloc .title .icon {
          display: block; } }
      .w-bloc .title .icon:hover {
        color: #CE004A; }
    .w-bloc .title .copy-text {
      font-size: 14px;
      color: #0097DB;
      position: absolute;
      width: auto;
      right: 0;
      top: 18px;
      transform: translate(100%, 5px);
      padding-left: 6px;
      opacity: 0;
      transition: all 250ms ease-out;
      display: none; }
      @media (min-width: 720px) {
        .w-bloc .title .copy-text {
          display: block; } }
      .w-bloc .title .copy-text.show {
        opacity: 1;
        transform: translate(100%, 0); }
    .w-bloc .title.h3 .icon {
      bottom: 7px; }
    .w-bloc .title.h3 .copy-text {
      top: 7px; }
  .w-bloc .wysiwyg + .btn,
  .w-bloc .wysiwyg + .w-btn,
  .w-bloc p + .btn,
  .w-bloc p + .w-btn {
    margin-top: 20px; }
  .w-bloc .wysiwyg + img,
  .w-bloc p + img {
    margin-top: 30px; }
    @media (min-width: 720px) {
      .w-bloc .wysiwyg + img,
      .w-bloc p + img {
        margin-top: 60px; } }
  .w-bloc .title + p {
    margin-top: 15px; }
    @media (min-width: 720px) {
      .w-bloc .title + p {
        margin-top: 25px; } }
  .w-bloc img {
    box-shadow: 0px 6px 40px rgba(0, 0, 0, 0.05); }
  .w-bloc .img-full {
    width: 100%; }
  .w-bloc .p--large + .p--medium {
    margin-top: 20px; }
    @media (min-width: 720px) {
      .w-bloc .p--large + .p--medium {
        margin-top: 40px; } }
  .w-bloc .h3 + p {
    margin-top: 20px; }
    @media (min-width: 720px) {
      .w-bloc .h3 + p {
        margin-top: 40px; } }
  .w-bloc .headline + .title {
    margin-top: 5px; }
  .w-bloc .w-title {
    display: flex;
    flex-wrap: wrap; }
    @media (min-width: 480px) {
      .w-bloc .w-title {
        align-items: center;
        flex-direction: row;
        justify-content: space-between; } }
    .w-bloc .w-title .btn {
      margin-top: 20px; }
      @media (min-width: 720px) {
        .w-bloc .w-title .btn {
          margin-top: 0; } }
    .w-bloc .w-title + p {
      padding-top: 40px; }
      @media (min-width: 720px) {
        .w-bloc .w-title + p {
          padding-top: 80px; } }
  .w-bloc p b {
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: 0.05em;
    font-family: "OpenSans-Black", sans-serif; }

.subsection {
  padding: 40px 0;
  /* @include breakpoint(xlg) {
        padding: padding(xlg) 0;
    }*/ }
  @media (min-width: 720px) {
    .subsection {
      padding: 80px 0; } }
  @media (min-width: 1280px) {
    .subsection {
      padding: 80px 0; } }
  .subsection:nth-of-type(1) {
    padding-top: 60px; }
  .subsection:last-child {
    padding-bottom: 0; }

.w-detail {
  padding-top: 60px;
  display: flex;
  flex-wrap: wrap; }

.active {
  color: #CE004A; }

.property {
  padding: 10px 20px;
  text-align: justify;
  font-size: 12px; }

@media (min-width: 720px) {
  .w-square {
    margin: 0 -20px -40px -20px; } }

.w-square .square {
  padding-bottom: 20px;
  width: 100%; }
  @media (min-width: 720px) {
    .w-square .square {
      width: 50%;
      padding-left: 0;
      padding-right: 0;
      padding: 0 20px 40px 20px; } }
  @media (min-width: 960px) {
    .w-square .square {
      width: 25%;
      padding-left: 0;
      padding-right: 0;
      padding: 0 20px 40px 20px; } }
  .w-square .square--inner {
    display: flex;
    flex-direction: column; }
    .w-square .square--inner .text {
      padding-top: 20px; }
    .w-square .square--inner img {
      width: 100%; }
  .w-square .square__color {
    width: 100%;
    position: relative;
    display: block; }
    .w-square .square__color:before {
      content: "";
      display: block;
      padding-top: 100%;
      width: 100%;
      background-color: inherit;
      box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.05);
      border: 1px solid #D2D2D2; }

@media (min-width: 960px) {
  .half .square {
    width: 50%; } }

.half .square .text {
  padding-top: 0; }

.full .square {
  width: 100%; }
  .full .square + .square {
    padding-top: 20px; }
    @media (min-width: 720px) {
      .full .square + .square {
        padding-top: 84px; } }

@media (min-width: 960px) {
  #bloc-identite-logo-couleurs .square, #bloc-identite-degrade .square, #bloc-identite-photo-correction .square {
    width: 50%; } }

#bloc-identite-logo-couleurs .square--inner, #bloc-identite-degrade .square--inner, #bloc-identite-photo-correction .square--inner {
  background-color: #fff;
  height: 100%; }
  #bloc-identite-logo-couleurs .square--inner .w-text, #bloc-identite-degrade .square--inner .w-text, #bloc-identite-photo-correction .square--inner .w-text {
    padding: 40px 20px; }
    @media (min-width: 720px) {
      #bloc-identite-logo-couleurs .square--inner .w-text, #bloc-identite-degrade .square--inner .w-text, #bloc-identite-photo-correction .square--inner .w-text {
        padding: 60px 35px; } }
    #bloc-identite-logo-couleurs .square--inner .w-text .text, #bloc-identite-degrade .square--inner .w-text .text, #bloc-identite-photo-correction .square--inner .w-text .text {
      padding-top: 0; }

.footer {
  background-color: #003D4C;
  position: relative;
  z-index: 1; }
  .footer__titles {
    margin: 0 auto;
    padding-left: 25px;
    padding-right: 25px;
    /*@include breakpoint(xlg) {
        padding-left: bodyPaddings(xs);
        padding-right: bodyPaddings(xs);
    }*/
    padding-top: 40px;
    padding-bottom: 40px; }
    @media (min-width: 720px) {
      .footer__titles {
        padding-left: 45px;
        padding-right: 45px; } }
    @media (min-width: 960px) {
      .footer__titles {
        padding-left: 65px;
        padding-right: 65px; } }
    @media (min-width: 1280px) {
      .footer__titles {
        padding-left: 80px;
        padding-right: 80px; } }
    @media (min-width: 720px) {
      .footer__titles {
        padding-top: 80px; } }
    @media (min-width: 1280px) {
      .footer__titles {
        padding-top: 80px; } }
    @media (min-width: 1600px) {
      .footer__titles {
        padding-top: 100px; } }
    @media (min-width: 720px) {
      .footer__titles {
        padding-bottom: 80px; } }
    @media (min-width: 1280px) {
      .footer__titles {
        padding-bottom: 80px; } }
    @media (min-width: 1600px) {
      .footer__titles {
        padding-bottom: 100px; } }
    @media (min-width: 720px) {
      .footer__titles {
        max-width: 95%;
        padding: 80px; } }
    @media (min-width: 960px) {
      .footer__titles {
        max-width: 80%; } }
    @media (min-width: 1280px) {
      .footer__titles {
        max-width: 60%; } }
    .footer__titles .btn {
      padding: 16px;
      margin-left: 10px; }
      .footer__titles .btn:after {
        border-radius: 50px; }
      .footer__titles .btn .icon {
        font-size: 24px; }
    .footer__titles .title {
      display: flex;
      align-items: center; }
  .footer__legals {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #8E97AB;
    padding: 20px 40px;
    padding-left: 25px;
    padding-right: 25px;
    /*@include breakpoint(xlg) {
        padding-left: bodyPaddings(xs);
        padding-right: bodyPaddings(xs);
    }*/ }
    @media (min-width: 720px) {
      .footer__legals {
        padding-left: 45px;
        padding-right: 45px; } }
    @media (min-width: 960px) {
      .footer__legals {
        padding-left: 65px;
        padding-right: 65px; } }
    @media (min-width: 1280px) {
      .footer__legals {
        padding-left: 80px;
        padding-right: 80px; } }
    @media (max-width: 719.98px) {
      .footer__legals {
        flex-direction: column;
        align-items: center; } }
    @media (min-width: 720px) {
      .footer__legals {
        padding: 20px 80px; } }
    .footer__legals a {
      text-decoration: none;
      transition: all 250ms ease-out; }
      .footer__legals a:hover {
        opacity: .5; }
    .footer__legals__adeliom {
      display: flex;
      align-items: center;
      white-space: nowrap; }
      @media (max-width: 1279.98px) {
        .footer__legals__adeliom {
          margin: 25px 0; } }
      @media (min-width: 960px) {
        .footer__legals__adeliom {
          transition: color 250ms ease-out; }
          .footer__legals__adeliom:hover {
            color: rgba(255, 255, 255, 0.5); }
            .footer__legals__adeliom:hover img {
              opacity: 0.5; } }
      .footer__legals__adeliom img {
        margin: 0 5px;
        transition: all 250ms ease-out; }

.menu-secondary nav > ul > li {
  padding-bottom: 10px; }

.menu-secondary a {
  text-decoration: none;
  transition: all 250ms ease-out; }
  @media (min-width: 960px) {
    .menu-secondary a:hover {
      color: #CE004A; } }

.menu-secondary .children li {
  margin-top: 15px; }
  .menu-secondary .children li:before {
    top: 13px; }
  .menu-secondary .children li a {
    text-transform: initial;
    color: #525B6F;
    font-weight: 500; }
    .menu-secondary .children li a.active {
      color: #CE004A; }

.menu-secondary--desktop {
  display: none; }
  .menu-secondary--desktop.stop-scrolling {
    position: fixed;
    bottom: auto;
    top: 197px;
    left: inherit; }
  @media (min-width: 1280px) {
    .menu-secondary--desktop {
      display: block;
      left: 30px;
      top: 197px;
      height: auto;
      position: fixed;
      width: 350px;
      padding-left: 60px; } }
  @media (min-width: 1600px) {
    .menu-secondary--desktop {
      left: 100px; } }
  @media (min-width: 2000px) {
    .menu-secondary--desktop {
      left: 200px; } }
  .menu-secondary--desktop > li {
    padding-top: 10px; }
  .menu-secondary--desktop .children {
    padding-bottom: 30px; }
    .menu-secondary--desktop .children.close {
      display: none; }
    .menu-secondary--desktop .children a {
      font-family: "OpenSans", sans-serif;
      letter-spacing: initial; }

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 3;
  -webkit-transition: 400ms ease transform;
  transition: 400ms ease transform;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 25px; }
  @media (min-width: 720px) {
    header {
      top: 30px;
      left: 30px;
      right: 30px;
      width: calc(100% - 60px);
      height: auto;
      padding: 25px 45px; } }
  @media (min-width: 1280px) {
    header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 115px;
      padding: 0 50px;
      background-color: transparent;
      box-shadow: none; } }
  @media (min-width: 1600px) {
    header {
      height: 140px; } }
  header.class-top, header.hidden-header {
    box-shadow: 0px 6px 40px rgba(0, 0, 0, 0.05);
    background-color: #F2F4F6;
    top: 0; }
  header #logo {
    max-width: 100px;
    display: block; }
    @media (min-width: 720px) {
      header #logo {
        max-width: 160px; } }
    @media (min-width: 960px) {
      header #logo {
        max-width: 185px; } }
    @media (min-width: 1600px) {
      header #logo {
        max-width: 210px; } }
    header #logo img {
      max-width: 100%; }
    header #logo .logo-white {
      display: none; }
  header .icon-menu {
    color: #0155B8;
    font-size: 27px;
    cursor: pointer; }
    @media (min-width: 1280px) {
      header .icon-menu {
        display: none; } }
  header .main-nav {
    display: none; }
    @media (min-width: 1280px) {
      header .main-nav {
        display: block; } }
    header .main-nav ul {
      display: flex; }
      header .main-nav ul li {
        padding: 0 25px; }
        header .main-nav ul li.active a {
          color: #CE004A; }
        header .main-nav ul li a {
          text-decoration: none;
          text-transform: uppercase;
          letter-spacing: 0.03em;
          color: #525B6F;
          font-weight: 800;
          transition: all 250ms ease-out; }
          @media (min-width: 960px) {
            header .main-nav ul li a:hover {
              color: #CE004A; } }

body.homepage {
  /*  header:not(.class-top):not(.hidden-header){
    #logo {
      .logo-white {
        display: block;
      }

      .logo {
        display: none;
      }
    }
    .icon-menu{
      color:$white;
    }

    .main-nav{
      li{
        a{
          color:$white;
          &:hover{
            color:$secondary-02;
          }
        }
      }
    }
  }*/ }
  body.homepage header {
    background-color: #fff; }

.menu-mobile {
  position: fixed;
  background-color: #0155B8;
  z-index: 50;
  left: 0;
  top: 0;
  bottom: 0;
  width: 80%;
  padding: 25px;
  transform: translateX(-100%);
  transition: transform .3s ease-in;
  height: 100vh;
  overflow-y: scroll; }
  @media (min-width: 1280px) {
    .menu-mobile {
      display: none; } }
  .menu-mobile.open {
    transform: translateX(0);
    transition: cubic-bezier(0.16, 0.84, 0.44, 1) 0.6s; }
  .menu-mobile .menu-item {
    padding: 13px 0;
    position: relative;
    width: 100%; }
    .menu-mobile .menu-item:after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      height: 1px;
      width: 100%;
      background-color: #C0C9DD; }
    .menu-mobile .menu-item .icon {
      color: #C0C9DD;
      position: absolute;
      top: 15px;
      right: 0;
      cursor: pointer;
      font-size: 20px;
      transition: all 250ms ease-out; }
    .menu-mobile .menu-item a {
      text-decoration: none;
      color: #C0C9DD; }
    .menu-mobile .menu-item .menu-secondary {
      display: none; }
      .menu-mobile .menu-item .menu-secondary--mobile {
        padding-left: 20px; }
        .menu-mobile .menu-item .menu-secondary--mobile > li {
          padding: 10px 0; }
          .menu-mobile .menu-item .menu-secondary--mobile > li:first-child {
            margin-top: 10px; }
        .menu-mobile .menu-item .menu-secondary--mobile .children {
          display: block; }
          .menu-mobile .menu-item .menu-secondary--mobile .children li:before {
            background-color: #C0C9DD; }
          .menu-mobile .menu-item .menu-secondary--mobile .children li:first-child {
            margin-top: 20px; }
          .menu-mobile .menu-item .menu-secondary--mobile .children li a {
            color: #C0C9DD;
            font-family: "OpenSans-Light", sans-serif; }
    .menu-mobile .menu-item--current > a, .menu-mobile .menu-item--current > .icon {
      color: #fff; }
    .menu-mobile .menu-item--current .menu-secondary {
      display: block; }
    .menu-mobile .menu-item .icon.open-menu:before {
      content: ""; }

#overlay {
  position: fixed;
  z-index: 5;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  transition: .6s ease-out opacity;
  opacity: 0;
  display: none;
  background-color: #0155B8;
  box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: all 250ms ease-out; }

.close-menu {
  font-size: 27px;
  right: 25px;
  top: 15px;
  position: fixed;
  color: #fff;
  opacity: 0;
  pointer-events: none;
  transition: all 250ms ease-out;
  z-index: 6; }

.menu-open {
  overflow: hidden; }
  .menu-open #overlay {
    opacity: .5;
    top: 0;
    display: block; }
  .menu-open .close-menu {
    opacity: 1; }
  .menu-open .icon-menu {
    opacity: 0; }

.accordion .item {
  padding-top: 20px;
  border-bottom: 1px solid #C0C9DD;
  float: none;
  transition: all 250ms ease-out; }
  @media (min-width: 960px) {
    .accordion .item:hover:not(.open) {
      box-shadow: 0px 15px 25px -5px rgba(0, 0, 0, 0.15);
      border-color: transparent; } }
  .accordion .item.open .item__question:after {
    content: "";
    font-family: "icomoon";
    font-size: 24px;
    color: inherit;
    font-weight: 400; }
  .accordion .item__question, .accordion .item__answer {
    padding: 0 12px 20px; }
  .accordion .item__question {
    display: flex;
    justify-content: space-between;
    font-size: 20px;
    line-height: 34px;
    cursor: pointer; }
    .accordion .item__question:after {
      content: "";
      font-family: "icomoon";
      font-size: 24px;
      color: inherit;
      font-weight: 400; }
  .accordion .item__answer {
    display: none; }

.accordion--white .item {
  border-bottom: 1px solid #fff; }
  .accordion--white .item:hover:not(.open) {
    border-color: #fff;
    box-shadow: none; }
    .accordion--white .item:hover:not(.open) .item__question {
      color: rgba(255, 255, 255, 0.5); }
  .accordion--white .item__question {
    color: #fff;
    transition: color 250ms ease-out; }
  .accordion--white .item__answer * {
    color: #fff; }

/* ==========================================================================
	PAGES
/* ========================================================================== */
.home {
  padding-top: 60px; }
  @media (min-width: 720px) {
    .home {
      padding-top: 100px; } }
  @media (min-width: 1280px) {
    .home {
      padding-top: 140px; } }
  .home__header {
    position: relative;
    padding-left: 25px;
    padding-right: 25px;
    /*@include breakpoint(xlg) {
        padding-left: bodyPaddings(xs);
        padding-right: bodyPaddings(xs);
    }*/
    padding-bottom: 40px;
    padding-bottom: 0;
    padding-top: 0; }
    @media (min-width: 720px) {
      .home__header {
        padding-left: 45px;
        padding-right: 45px; } }
    @media (min-width: 960px) {
      .home__header {
        padding-left: 65px;
        padding-right: 65px; } }
    @media (min-width: 1280px) {
      .home__header {
        padding-left: 80px;
        padding-right: 80px; } }
    @media (min-width: 720px) {
      .home__header {
        padding-bottom: 80px; } }
    @media (min-width: 1280px) {
      .home__header {
        padding-bottom: 80px; } }
    @media (min-width: 1600px) {
      .home__header {
        padding-bottom: 100px; } }
    @media (min-width: 720px) {
      .home__header {
        padding-top: 160px; } }
    @media (min-width: 1280px) {
      .home__header {
        padding: 200px 130px 200px; } }
    @media (min-width: 1600px) {
      .home__header {
        padding: 280px 130px 180px; } }
    .home__header .w-bg {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      overflow: hidden; }
      @media (min-width: 1280px) {
        .home__header .w-bg {
          bottom: 0; } }
    .home__header--bg {
      z-index: 0;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      /* &:before{
        content:"";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        display: block;
        background-color: #00232C;
        opacity: .5;
      }*/ }
    .home__header--titles {
      position: relative;
      z-index: 1;
      background-color: rgba(255, 255, 255, 0.85);
      height: 100%;
      padding: 30px; }
      @media (min-width: 960px) {
        .home__header--titles {
          padding: 50px; } }
      @media (min-width: 1280px) {
        .home__header--titles {
          padding: 50px 70px;
          max-width: 1050px;
          margin: 0 auto; } }
    .home__header h1 {
      font-weight: 900; }
    .home__header .w-img {
      z-index: -1;
      position: relative; }
    .home__header--img {
      margin-top: 30px;
      width: 100%; }
      @media (min-width: 720px) {
        .home__header--img {
          margin-top: 60px; } }
      @media (min-width: 1280px) {
        .home__header--img {
          position: absolute;
          right: 0;
          bottom: -80px;
          transform: translateY(30%);
          z-index: -1;
          width: 60%; } }
  .home .w-home {
    padding: 40px 0;
    /* @include breakpoint(xlg) {
        padding: padding(xlg) 0;
    }*/
    padding-left: 25px;
    padding-right: 25px;
    /*@include breakpoint(xlg) {
        padding-left: bodyPaddings(xs);
        padding-right: bodyPaddings(xs);
    }*/ }
    @media (min-width: 720px) {
      .home .w-home {
        padding: 80px 0; } }
    @media (min-width: 1280px) {
      .home .w-home {
        padding: 80px 0; } }
    @media (min-width: 720px) {
      .home .w-home {
        padding-left: 45px;
        padding-right: 45px; } }
    @media (min-width: 960px) {
      .home .w-home {
        padding-left: 65px;
        padding-right: 65px; } }
    @media (min-width: 1280px) {
      .home .w-home {
        padding-left: 80px;
        padding-right: 80px; } }
    @media (min-width: 1600px) {
      .home .w-home {
        max-width: 1600px;
        margin: 0 auto; } }
    @media (min-width: 2000px) {
      .home .w-home {
        max-width: 1700px; } }
    @media (min-width: 1280px) {
      .home .w-home {
        padding: 250px 130px 80px; } }
    @media (min-width: 1600px) {
      .home .w-home {
        padding-top: 250px; } }
  .home__intro {
    border: none;
    padding-top: 0; }
    @media (min-width: 1280px) {
      .home__intro {
        width: 75%;
        padding-left: 0;
        padding-right: 0; } }
    .home__intro .title {
      padding-right: 0; }
  .home__content {
    padding-bottom: 40px; }
    @media (min-width: 720px) {
      .home__content {
        padding-bottom: 80px; } }
    @media (min-width: 1280px) {
      .home__content {
        padding-bottom: 80px; } }
    @media (min-width: 1600px) {
      .home__content {
        padding-bottom: 100px; } }
    @media (min-width: 960px) {
      .home__content {
        display: flex; } }
    @media (min-width: 960px) {
      .home__content--left, .home__content--right {
        width: 50%; } }
    @media (min-width: 960px) {
      .home__content--left {
        padding-right: 20px; } }
    @media (min-width: 1280px) {
      .home__content--left {
        padding-right: 40px; } }
    .home__content--left .w-bloc {
      border: none; }
    .home__content--left .useful-resources {
      background-color: #fff;
      padding: 40px 20px; }
      @media (min-width: 720px) {
        .home__content--left .useful-resources {
          padding: 40px; } }
      @media (min-width: 1280px) {
        .home__content--left .useful-resources {
          padding: 80px 40px; } }
      .home__content--left .useful-resources .title {
        margin-bottom: 20px; }
        @media (min-width: 720px) {
          .home__content--left .useful-resources .title {
            margin-bottom: 40px; } }
      .home__content--left .useful-resources .w-resource {
        position: relative;
        display: flex;
        align-items: center;
        padding: 30px 0;
        border-top: 1px solid #C0C9DD; }
        .home__content--left .useful-resources .w-resource:last-child {
          padding-bottom: 0; }
        @media (min-width: 960px) {
          .home__content--left .useful-resources .w-resource:hover .w-icon {
            background-color: #CE004A; } }
        .home__content--left .useful-resources .w-resource .w-icon {
          background-color: #0097DB;
          margin-right: 20px;
          width: 30px;
          height: 30px;
          transition: all 250ms ease-out; }
          @media (min-width: 720px) {
            .home__content--left .useful-resources .w-resource .w-icon {
              width: 40px;
              height: 40px;
              margin-right: 35px; } }
          .home__content--left .useful-resources .w-resource .w-icon .icon {
            font-size: 24px; }
    @media (min-width: 960px) {
      .home__content--right {
        padding-left: 20px; } }
    @media (min-width: 1280px) {
      .home__content--right {
        padding-left: 40px; } }
    .home__content--right .w-bloc:first-child {
      border: none; }
    .home__content--right .w-bloc:last-child {
      padding-bottom: 0; }
    .home__content--right .w-bloc + .w-bloc {
      margin-top: 0; }
  .home__quick-access {
    padding: 40px 0;
    /* @include breakpoint(xlg) {
        padding: padding(xlg) 0;
    }*/ }
    @media (min-width: 720px) {
      .home__quick-access {
        padding: 80px 0; } }
    @media (min-width: 1280px) {
      .home__quick-access {
        padding: 80px 0; } }
    .home__quick-access .w-quick {
      padding-top: 40px;
      margin: 0 -20px -20px;
      display: flex;
      flex-wrap: wrap; }
      @media (min-width: 960px) {
        .home__quick-access .w-quick {
          padding-top: 80px;
          margin: 0 -40px -40px; } }
      .home__quick-access .w-quick .quick-access {
        width: 100%;
        padding: 0 20px 20px;
        position: relative; }
        @media (min-width: 480px) {
          .home__quick-access .w-quick .quick-access {
            width: 50%;
            padding-left: 0;
            padding-right: 0;
            padding: 0 20px 20px; } }
        @media (min-width: 720px) {
          .home__quick-access .w-quick .quick-access {
            width: 33.33333%;
            padding-left: 0;
            padding-right: 0;
            padding: 0 20px 20px; } }
        @media (min-width: 960px) {
          .home__quick-access .w-quick .quick-access {
            width: 25%;
            padding-left: 0;
            padding-right: 0;
            padding: 0 40px 40px; } }
        @media (min-width: 960px) {
          .home__quick-access .w-quick .quick-access:hover .text {
            color: #CE004A; } }
        .home__quick-access .w-quick .quick-access img {
          width: 100%; }
        .home__quick-access .w-quick .quick-access .text {
          padding-top: 10px;
          transition: all 250ms ease-out; }
  .home__faq {
    padding: 40px 0;
    /* @include breakpoint(xlg) {
        padding: padding(xlg) 0;
    }*/ }
    @media (min-width: 720px) {
      .home__faq {
        padding: 80px 0; } }
    @media (min-width: 1280px) {
      .home__faq {
        padding: 80px 0; } }
    .home__faq .w-faq {
      padding-top: 20px; }
      @media (min-width: 1280px) {
        .home__faq .w-faq {
          padding-top: 40px;
          width: 75%;
          padding-left: 0;
          padding-right: 0; } }

.showcase {
  padding-left: 25px;
  padding-right: 25px;
  /*@include breakpoint(xlg) {
        padding-left: bodyPaddings(xs);
        padding-right: bodyPaddings(xs);
    }*/ }
  @media (min-width: 1600px) {
    .showcase {
      max-width: 1600px;
      margin: 0 auto; } }
  @media (min-width: 2000px) {
    .showcase {
      max-width: 1700px; } }
  @media (min-width: 720px) {
    .showcase {
      padding-left: 45px;
      padding-right: 45px; } }
  @media (min-width: 960px) {
    .showcase {
      padding-left: 65px;
      padding-right: 65px; } }
  @media (min-width: 1280px) {
    .showcase {
      padding-left: 80px;
      padding-right: 80px; } }
  .showcase__titles {
    margin-bottom: 40px; }
    @media (min-width: 720px) {
      .showcase__titles {
        margin-bottom: 80px; } }
  .showcase__content .grid .item {
    margin-bottom: 40px; }
    @media (min-width: 720px) {
      .showcase__content .grid .item {
        margin-bottom: 80px; } }
    .showcase__content .grid .item img {
      max-width: 100%; }
    .showcase__content .grid .item .nb-slide {
      position: absolute;
      bottom: 4px;
      right: 0;
      padding: 10px 15px;
      color: #fff;
      background-color: #003D4C;
      font-size: 16px; }
      .showcase__content .grid .item .nb-slide img {
        margin-right: 10px; }

/* Photoswipe */
.pswp {
  /*.pswp__top-bar{
      display: flex;
      height: 20%;
  }*/ }
  .pswp .pswp__bg {
    background: rgba(0, 0, 0, 0.85); }
  .pswp .pswp__button--close {
    position: absolute;
    top: 20px;
    left: 20px;
    transform: none;
    float: none;
    opacity: 1; }
  .pswp .pswp__ui--idle .pswp__top-bar {
    opacity: 1; }
  .pswp .pswp__button--arrow--left:before,
  .pswp .pswp__button--arrow--right:before {
    background: none; }
  .pswp .pswp__button--arrow--right:before, .pswp .pswp__button--arrow--left:before {
    font-family: 'Icomoon';
    content: "";
    font-size: 18px;
    color: white;
    transition: all 350ms ease-out;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px; }
  .pswp .pswp__button--arrow--right:hover:before, .pswp .pswp__button--arrow--left:hover:before {
    border-color: #fff; }
  .pswp .pswp__button--arrow--left:before {
    content: ""; }
  .pswp .pswp__button--arrow--left {
    left: 30px; }
  .pswp .pswp__button--arrow--right {
    right: 30px; }
  .pswp .pswp__ui--idle .pswp__button--arrow--left, .pswp .pswp__ui--idle .pswp__button--arrow--right {
    opacity: 1 !important; }
  .pswp .pswp__zoom-wrap {
    text-align: center; }
    .pswp .pswp__zoom-wrap:before {
      content: '';
      display: inline-block;
      height: 100%;
      vertical-align: middle; }
  .pswp .pswp__caption {
    background-color: #171717; }
  .pswp .pswp__caption__center {
    text-align: center;
    font-size: 14px;
    line-height: 23px;
    color: white; }
  .pswp .w-iframe {
    line-height: 0;
    width: 100%;
    max-width: 100%;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 1045;
    pointer-events: none; }
  .pswp .w-iframe__video {
    position: relative;
    padding-bottom: 65%;
    padding-top: 25px;
    height: 0;
    width: 100%;
    max-width: 60%;
    margin: auto;
    pointer-events: all; }
    .pswp .w-iframe__video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .pswp video {
    width: 100% !important;
    height: auto !important; }
  .pswp img {
    background-color: white; }

.pswp--animate_opacity,
.pswp__bg,
.pswp__caption,
.pswp__top-bar,
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  -webkit-transition: opacity 400ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 400ms cubic-bezier(0.4, 0, 0.22, 1); }

.grid-sizer {
  width: 31%; }

.gutter-sizer {
  width: 3.5%; }

.item {
  float: left; }
  .item:after {
    content: '';
    display: block;
    clear: both; }
