@charset "UTF-8";
/*********************
IMPORTING PARTIALS
These files are needed at the beginning so that we establish all
our mixins, functions, and variables that we'll be using across
the whole project.
*********************/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  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
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 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 */ }

/**
 * 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 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 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; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/**
 * Kirby - remove any margin and paddings
 */
*,
*:after,
*:before {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

li {
  list-style: none; }

/******************************************************************
Site Name:
Author:

Stylesheet: Variables

Here is where we declare all our variables like colors, fonts,
base values, and defaults. We want to make sure this file ONLY
contains variables that way our files don't get all messy.
No one likes a mess.

******************************************************************/
/*********************
COLORS
Need help w/ choosing your colors? Try this site out:
http://0to255.com/
*********************/
/*
Here's a great tutorial on how to
use color variables properly:
http://sachagreif.com/sass-color-variables/
*/
/******************************************************************
Site Name:
Author:

Stylesheet: Typography

Need to import a font or set of icons for your site? Drop them in
here or just use this to establish your typographical grid. Or not.
Do whatever you want to...GOSH!

Helpful Articles:
http://trentwalton.com/2012/06/19/fluid-type/
http://ia.net/blog/responsive-typography-the-basics/
http://alistapart.com/column/responsive-typography-is-a-physical-discipline

******************************************************************/
/*********************
FONT FACE (IN YOUR FACE)
*********************/
/*  To embed your own fonts, use this syntax
  and place your fonts inside the
  library/fonts folder. For more information
  on embedding fonts, go to:
  http://www.fontsquirrel.com/
  Be sure to remove the comment brackets.
*/
/*  @font-face {
      font-family: 'Font Name';
      src: url('library/fonts/font-name.eot');
      src: url('library/fonts/font-name.eot?#iefix') format('embedded-opentype'),
             url('library/fonts/font-name.woff') format('woff'),
             url('library/fonts/font-name.ttf') format('truetype'),
             url('library/fonts/font-name.svg#font-name') format('svg');
      font-weight: normal;
      font-style: normal;
  }
*/
/*
The following is based of Typebase:
https://github.com/devinhunt/typebase.css
I've edited it a bit, but it's a nice starting point.
*/
/*
 i imported this one in the functions file so bones would look sweet.
 don't forget to remove it for your site.
*/
html {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; }

/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  -ms-word-wrap: break-word;
  word-break: break-word;
  word-wrap: break-word;
  -webkit-hyphens: none;
  hyphens: none;
  -webkit-hyphenate-before: 7;
  -webkit-hyphenate-after: 7;
  hyphenate-lines: 7;
  -ms-font-feature-settings: "liga", "dlig";
  -o-font-feature-settings: "liga", "dlig";
  font-feature-settings: "liga", "dlig"; }

/******************************************************************
Site Name:
Author:

Stylesheet: Sass Functions

You can do a lot of really cool things in Sass. Functions help you
make repeated actions a lot easier. They are really similar to mixins,
but can be used for so much more.

Anyway, keep them all in here so it's easier to find when you're
looking for one.

For more info on functions, go here:
http://sass-lang.com/documentation/Sass/Script/Functions.html

******************************************************************/
/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/******************************************************************
Site Name:
Author:

Stylesheet: Mixins Stylesheet

This is where you can take advantage of Sass' great features: Mixins.
I won't go in-depth on how they work exactly,
there are a few articles below that will help do that. What I will
tell you is that this will help speed up simple changes like
changing a color or adding CSS3 techniques gradients.

A WORD OF WARNING: It's very easy to overdo it here. Be careful and
remember less is more.

Helpful:
http://sachagreif.com/useful-sass-mixins/
http://thesassway.com/intermediate/leveraging-sass-mixins-for-cleaner-code
http://web-design-weekly.com/blog/2013/05/12/handy-sass-mixins/

******************************************************************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 0 0;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 1; }
  .hamburger.is-active:hover {
    opacity: 1; }
  .hamburger.is-active .hamburger-inner,
  .hamburger.is-active .hamburger-inner::before,
  .hamburger.is-active .hamburger-inner::after {
    background-color: #F6F6F6; }

.hamburger-box {
  width: 32px;
  height: 20px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 32px;
    height: 2px;
    background-color: currentColor;
    border-radius: 0px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -9px; }
  .hamburger-inner::after {
    bottom: -9px; }

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  perspective: 64px; }

.hamburger--3dx .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  perspective: 64px; }

.hamburger--3dx-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  perspective: 64px; }

.hamburger--3dy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  perspective: 64px; }

.hamburger--3dy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  perspective: 64px; }

.hamburger--3dxy .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg); }
  .hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  perspective: 64px; }

.hamburger--3dxy-r .hamburger-inner {
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }
  .hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1); }

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent !important;
  transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--3dxy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -9px, 0) rotate(-45deg); }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-6.4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-6.4px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  transform: translate3d(6.4px, 0, 0) rotate(45deg) scale(0.7, 1); }

.hamburger--arrow-r.is-active .hamburger-inner::after {
  transform: translate3d(6.4px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(-6.4px, -8px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(-6.4px, 8px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  transform: translate3d(6.4px, -8px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  transform: translate3d(6.4px, 8px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }

/*
   * Arrow Turn
   */
.hamburger--arrowturn.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn.is-active .hamburger-inner::before {
    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }
  .hamburger--arrowturn.is-active .hamburger-inner::after {
    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }

/*
   * Arrow Turn Right
   */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  transform: rotate(-180deg); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::before {
    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }
  .hamburger--arrowturn-r.is-active .hamburger-inner::after {
    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none; }

.hamburger--boring.is-active .hamburger-inner {
  transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -18px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -18px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 9px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 18px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -18px, 0) rotate(-270deg);
    transition-delay: 0.075s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 1px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 9px;
    transition: opacity 0.125s 0.275s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 18px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(-135deg);
  transition-delay: 0.075s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -18px, 0) rotate(270deg);
    transition-delay: 0.075s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 9px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -64px;
      top: -64px;
      transform: translate3d(64px, 64px, 0) rotate(45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -64px;
      top: -64px;
      transform: translate3d(-64px, 64px, 0) rotate(-45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 9px;
      right: 0;
      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent !important; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -64px;
      top: 64px;
      transform: translate3d(64px, -64px, 0) rotate(-45deg);
      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -64px;
      top: 64px;
      transform: translate3d(-64px, -64px, 0) rotate(45deg);
      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0; }

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0; }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 1px; }
  .hamburger--slider .hamburger-inner::before {
    top: 9px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider .hamburger-inner::after {
    top: 18px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-4.5714285714px, -7px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -18px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 1px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 9px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 18px; }

.hamburger--slider-r.is-active .hamburger-inner {
  transform: translate3d(0, 9px, 0) rotate(-45deg); }
  .hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(4.5714285714px, -7px, 0);
    opacity: 0; }
  .hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -18px, 0) rotate(90deg); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 1px;
  transition: background-color 0s 0.13s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 9px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 18px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent !important; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 9px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 9px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -18px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -9px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  transform: rotate(90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  transform: rotate(-90deg);
  background-color: transparent !important;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg); }

/*********************
BASE
If you set a great foundation, you won't need to add too many styles 
in the other stylesheets. 
*********************/
/******************************************************************

Stylesheet: Base Stylesheet

This is called at the top of the main stylsheet
and will be used across all viewports.

******************************************************************/
html, body {
  background-color: #F6F6F6; }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column; }

.page {
  width: 100vw;
  overflow: hidden; }

.svg-imports {
  height: 0;
  width: 0;
  overflow: hidden; }

a {
  color: currentColor;
  text-decoration: none; }

strong, b {
  font-weight: 500; }

img {
  width: 100%; }

.page {
  padding: 5vh 5vw 10vh; }
  .page.red {
    color: #C56C61; }
    .page.red *::-moz-selection {
      background-color: rgba(197, 108, 97, 0.5); }
    .page.red *::selection {
      background-color: rgba(197, 108, 97, 0.5); }
  .page.blue {
    color: #7294C9; }
    .page.blue *::-moz-selection {
      background-color: rgba(114, 148, 201, 0.5); }
    .page.blue *::selection {
      background-color: rgba(114, 148, 201, 0.5); }
  .page.green {
    color: #6CB29A; }
    .page.green *::-moz-selection {
      background-color: rgba(108, 178, 154, 0.5); }
    .page.green *::selection {
      background-color: rgba(108, 178, 154, 0.5); }
  .page.turquoise {
    color: #83B5B8; }
    .page.turquoise *::-moz-selection {
      background-color: rgba(131, 181, 184, 0.5); }
    .page.turquoise *::selection {
      background-color: rgba(131, 181, 184, 0.5); }
  .page p, .page h3, .page h4, .page ul {
    color: #373944; }
    .page p.color, .page h3.color, .page h4.color, .page ul.color {
      color: currentColor; }

/*****************
HEADER
*****************/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center; }
  .header .logo {
    display: block;
    fill: currentColor;
    z-index: 1000; }
    .header .logo svg {
      height: 66px; }

.menu a {
  position: relative;
  font-size: 17px;
  font-style: italic;
  font-weight: normal;
  color: #5E5E5E;
  padding: .5rem 0;
  margin: 0 .9rem;
  justify-self: start; }
  .menu a::after {
    content: "";
    display: block;
    transform: scaleX(0);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: currentColor; }
  .menu a[aria-current]::after {
    transform: scaleX(1); }

/*****************
LAYOUT
*****************/
.layout {
  position: relative; }
  .layout.invert p, .layout.invert h3, .layout.invert h4, .layout.invert ul {
    color: #fff; }
  .layout.color {
    background-color: currentColor; }
  .layout.grey {
    background-color: #efefef; }

.intro > p:first-of-type {
  font-size: 1.3em; }

.tags {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.075em;
  font-size: .75rem;
  font-weight: 600; }

.text, .intro {
  line-height: 1.5em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  z-index: 2; }
  .text:not(.text-spacing) > *:first-child, .intro:not(.text-spacing) > *:first-child {
    margin-top: 0; }
  .text div, .intro div {
    display: flex;
    flex-direction: column; }
  .text p,
  .text figure,
  .text ul,
  .text ol, .intro p,
  .intro figure,
  .intro ul,
  .intro ol {
    margin-bottom: 1.5em; }
  .text a, .text .formblock__submit, .intro a, .intro .formblock__submit {
    font-style: italic; }
  .text a.link-big, .text .formblock__submit, .intro a.link-big, .intro .formblock__submit {
    width: 80%;
    z-index: 1;
    position: relative;
    font-weight: bold;
    margin: 2rem 0 0;
    padding-bottom: 14px; }
    .text a.link-big:first-of-type, .text .formblock__submit:first-of-type, .intro a.link-big:first-of-type, .intro .formblock__submit:first-of-type {
      margin-top: 2rem; }
    .text a.link-big::after, .text .formblock__submit::after, .intro a.link-big::after, .intro .formblock__submit::after {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      width: 40px;
      height: 2px;
      background-color: currentColor; }
  .text li, .intro li {
    margin-bottom: 8px;
    padding-left: 14px;
    position: relative; }
    .text li::before, .intro li::before {
      content: "•";
      position: absolute;
      left: 0; }
    .text li p:first-of-type, .intro li p:first-of-type {
      margin-bottom: initial; }
  .text img, .intro img {
    width: 100%; }

/* end .text */
h1, .h1, h2, .h2 {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: normal; }

h1 {
  text-align: left; }

h3 {
  font-weight: 500; }

.note p {
  color: currentColor;
  font-style: italic; }

figure {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.list-experience li {
  padding-left: 0;
  margin-bottom: 0.75em; }
  .list-experience li::before {
    display: none; }

.list-experience p {
  padding: 0;
  margin: 0; }

.list-experience .list-title {
  font-weight: 500; }

.list-experience .list-date {
  font-style: italic; }

.list-references {
  display: flex;
  flex-direction: column; }
  .list-references li {
    padding-left: 0;
    margin-bottom: 1.25em;
    order: 0;
    display: grid;
    grid-template-columns: -webkit-min-content auto;
    grid-template-columns: min-content auto; }
    .list-references li::before {
      display: none; }
    .list-references li.media {
      order: 2; }
    .list-references li .icon {
      width: 27px;
      fill: #373944;
      grid-row: span 2;
      margin-right: 25px;
      margin-top: 0.25em; }
    .list-references li p {
      font-weight: bold;
      line-height: 1.2em; }
    .list-references li p, .list-references li a {
      color: #373944 !important;
      grid-column: 2; }
    .list-references li a {
      margin-top: 0.2em;
      justify-self: start; }
  .list-references h5 {
    order: 1; }

.list-testimonies {
  overflow: hidden;
  white-space: nowrap; }
  .list-testimonies li {
    white-space: normal;
    vertical-align: top;
    display: inline-block;
    padding-left: 0;
    max-width: 35vw;
    padding-bottom: 2em;
    margin-right: 10rem; }
    .list-testimonies li::before {
      display: none; }

.warning-block .icon {
  width: 40px;
  fill: currentColor;
  position: absolute;
  top: -20px;
  right: 20px; }

.warning-block p {
  color: currentColor !important; }

.warning-block:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: currentColor;
  opacity: 0.15;
  border-radius: 30px; }

p.testimony-quote {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 30px;
  line-height: 38px;
  font-style: italic;
  margin-bottom: 10px; }
  p.testimony-quote::before {
    content: "«\00a0"; }
  p.testimony-quote::after {
    content: "\00a0»"; }

p.testimony-author {
  font-size: 18px;
  font-style: italic; }
  p.testimony-author::before {
    content: "- "; }

.slide {
  position: relative;
  overflow: hidden; }
  .slide .slick-list, .slide ul {
    overflow: visible; }
  .slide p.testimony-author {
    color: #373944; }

.slide-control {
  display: flex;
  position: absolute;
  top: 0;
  right: 0; }
  .slide-control .slick-prev, .slide-control .slick-next {
    content: "»";
    background-color: transparent;
    border: none;
    color: #fff;
    margin-left: 1rem;
    font-size: 0;
    line-height: 0; }
    .slide-control .slick-prev:before, .slide-control .slick-next:before {
      content: "";
      background: url("../images/icon/arrow.svg");
      padding: 0;
      display: block;
      height: 24px;
      width: 24px; }
  .slide-control .slick-prev:before {
    transform: rotate(180deg); }
  .slide-control .slick-disabled {
    opacity: 0.5; }

.gallery {
  padding: 0;
  margin: 0;
  width: 100%;
  overflow: hidden; }
  .gallery .list-images {
    margin: 0; }
    .gallery .list-images li {
      width: 100%; }
  .gallery .slide-control {
    background-color: currentColor;
    padding: 0;
    bottom: 0;
    top: initial;
    right: initial;
    left: initial; }
    .gallery .slide-control .slick-prev, .gallery .slide-control .slick-next {
      margin: 0;
      padding: 12px; }
  .gallery .slick-slide div {
    display: flex; }

.side-content {
  position: absolute;
  display: flex;
  right: 0px;
  bottom: 0px; }
  .side-content:not(.side-taches) {
    opacity: 0;
    transform: translateX(10px); }
    .side-content:not(.side-taches).fadeIn {
      animation: fadeIn 0.8s ease-out 0.2s;
      animation-fill-mode: forwards; }

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateX(10px); }
  to {
    opacity: 1;
    transform: translateX(0); } }

.side-image {
  background-color: #3B3B3B;
  -webkit-clip-path: url(#bio-main);
          clip-path: url(#bio-main);
  transform-origin: bottom right; }
  .side-image img {
    width: 37.5vw;
    height: 750px;
    -o-object-fit: cover;
       object-fit: cover;
    mix-blend-mode: lighten; }

.side-image-services {
  -webkit-clip-path: url(#services-up);
          clip-path: url(#services-up); }
  .side-image-services img {
    height: 848px; }

.side-image-carte {
  -webkit-clip-path: url(#contact-carte);
          clip-path: url(#contact-carte); }
  .side-image-carte img {
    height: 540px; }

.side-image-overlay {
  -webkit-clip-path: url(#float-main);
          clip-path: url(#float-main); }
  .side-image-overlay img {
    height: 495px; }

.side-image-form {
  -webkit-clip-path: url(#contact-form);
          clip-path: url(#contact-form); }
  .side-image-form img {
    height: 665px; }

.side-image-bottom {
  -webkit-clip-path: url(#footer-bottom);
          clip-path: url(#footer-bottom); }
  .side-image-bottom img {
    width: 618px;
    height: 412px; }

.side-image-home {
  -webkit-clip-path: url(#home-main);
          clip-path: url(#home-main); }
  .side-image-home img {
    width: 599px;
    height: 494px; }

.side-image-home-float {
  -webkit-clip-path: initial;
          clip-path: initial;
  background-color: transparent; }
  .side-image-home-float img {
    width: 587px;
    height: 384px;
    -webkit-clip-path: url(#home-float);
            clip-path: url(#home-float); }

.side-quote {
  height: 300px;
  width: 300px;
  border-radius: 50%;
  background-color: currentColor;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 30px; }
  .side-quote p {
    overflow: hidden;
    color: #fff; }

.side-taches {
  --spacing-taches: 100px; }
  .side-taches img {
    position: absolute;
    width: auto;
    opacity: 0; }
    .side-taches img.fadeIn {
      animation: comeIn 0.2s ease-out;
      animation-fill-mode: forwards; }

@keyframes comeIn {
  from {
    opacity: 0;
    transform: scale(0.6); }
  to {
    opacity: 1;
    transform: scale(1); } }
    .side-taches img:nth-child(1) {
      animation-delay: 1.16s; }
    .side-taches img:nth-child(2) {
      animation-delay: 1.28s; }
    .side-taches img:nth-child(3) {
      animation-delay: 1.4s; }
  .side-taches.side-taches-home img:nth-child(1) {
    left: calc(var(--spacing-taches) * 0.5);
    top: 0;
    transform-origin: bottom right; }
  .side-taches.side-taches-home img:nth-child(2) {
    left: calc(var(--spacing-taches) * 1.5);
    top: calc(var(--spacing-taches) * 1.7);
    transform-origin: bottom left; }
  .side-taches.side-taches-home img:nth-child(3) {
    left: calc(var(--spacing-taches) * 0);
    top: calc(var(--spacing-taches) * 1.15);
    transform-origin: bottom right; }
  .side-taches.side-taches-bio img:nth-child(1) {
    left: calc(var(--spacing-taches) * -0.25);
    top: 0;
    transform-origin: bottom right; }
  .side-taches.side-taches-bio img:nth-child(2) {
    left: calc(var(--spacing-taches) * -1);
    top: var(--spacing-taches);
    transform-origin: top left; }
  .side-taches.side-taches-bio img:nth-child(3) {
    left: calc(var(--spacing-taches) / 2.5);
    top: calc(var(--spacing-taches) * -1.35);
    transform-origin: bottom right; }
  .side-taches.side-taches-questions img:nth-child(1) {
    left: calc(var(--spacing-taches) * -1.25);
    top: calc(var(--spacing-taches) * .5);
    transform-origin: bottom right; }
  .side-taches.side-taches-questions img:nth-child(2) {
    left: calc(var(--spacing-taches) * -.7);
    top: calc(var(--spacing-taches) * 1.5);
    transform-origin: top left; }
  .side-taches.side-taches-questions img:nth-child(3) {
    left: calc(var(--spacing-taches) * 1.3);
    top: calc(var(--spacing-taches) * -.35);
    transform-origin: bottom right; }
  .side-taches.side-taches-services img:nth-child(1) {
    left: calc(var(--spacing-taches) * 0.25);
    top: calc(var(--spacing-taches) * 0.25);
    transform-origin: bottom right; }
  .side-taches.side-taches-services img:nth-child(2) {
    left: calc(var(--spacing-taches) * -.7);
    top: calc(var(--spacing-taches) * 1.5);
    transform-origin: top left; }
  .side-taches.side-taches-services img:nth-child(3) {
    left: calc(var(--spacing-taches) * 0);
    top: calc(var(--spacing-taches) * -1.35);
    transform-origin: bottom right; }
  .side-taches.side-taches-partenaires img:nth-child(1) {
    left: calc(var(--spacing-taches) * -1.15);
    top: calc(var(--spacing-taches) * 0.85);
    transform-origin: bottom right; }
  .side-taches.side-taches-partenaires img:nth-child(2) {
    left: calc(var(--spacing-taches) * -1.7);
    top: calc(var(--spacing-taches) * 2.7);
    transform-origin: bottom right; }
  .side-taches.side-taches-partenaires img:nth-child(3) {
    left: calc(var(--spacing-taches) * 0);
    top: calc(var(--spacing-taches) * -0.5);
    transform-origin: top left; }
  .side-taches.side-taches-contact img:nth-child(1) {
    left: calc(var(--spacing-taches) * 0.25);
    top: calc(var(--spacing-taches) * -0.25);
    transform-origin: top left; }
  .side-taches.side-taches-contact img:nth-child(2) {
    left: calc(var(--spacing-taches) * -.7);
    top: calc(var(--spacing-taches) * 0.75);
    transform-origin: bottom right; }
  .side-taches.side-taches-contact img:nth-child(3) {
    display: none; }

.list-partners li a:hover img {
  -webkit-filter: grayscale(0%);
  transition-delay: 0s; }

.list-partners li a img {
  mix-blend-mode: multiply;
  -webkit-filter: grayscale(100%); }

/*****************
FORM
*****************/
#form, .formblock {
  --form-leftcolumn: 180px; }
  #form form, #form .formblock, .formblock form, .formblock .formblock {
    width: 100%; }
  #form .field, #form .formfield__container, .formblock .field, .formblock .formfield__container {
    display: grid;
    grid-template-columns: var(--form-leftcolumn) auto;
    margin-bottom: 1.3em;
    max-width: 800px; }
    #form .field .formblock__option__container, #form .formfield__container .formblock__option__container, .formblock .field .formblock__option__container, .formblock .formfield__container .formblock__option__container {
      display: contents;
      border: 0;
      padding: 0; }
      #form .field .formblock__option__container .formfield__option, #form .formfield__container .formblock__option__container .formfield__option, .formblock .field .formblock__option__container .formfield__option, .formblock .formfield__container .formblock__option__container .formfield__option {
        grid-row: auto;
        grid-column: 2/3;
        display: inline-block; }
    #form .field .title-field h3, #form .formfield__container .title-field h3, .formblock .field .title-field h3, .formblock .formfield__container .title-field h3 {
      margin: 2em 0 0em; }
    #form .field .divider-field, #form .formfield__container .divider-field, .formblock .field .divider-field, .formblock .formfield__container .divider-field {
      width: 100%;
      height: 2px;
      background-color: #373944;
      opacity: 0.05;
      margin: 2em 0 2em; }
    #form .field .divider-field, #form .field .title-field, #form .formfield__container .divider-field, #form .formfield__container .title-field, .formblock .field .divider-field, .formblock .field .title-field, .formblock .formfield__container .divider-field, .formblock .formfield__container .title-field {
      grid-column: 1 / span 2; }
    #form .field > label, #form .field .formblock_field__label, #form .formfield__container > label, #form .formfield__container .formblock_field__label, .formblock .field > label, .formblock .field .formblock_field__label, .formblock .formfield__container > label, .formblock .formfield__container .formblock_field__label {
      width: var(--form-leftcolumn);
      color: #373944;
      padding: 1em 0;
      line-height: 1.3em;
      position: relative;
      align-self: start; }
      #form .field > label::after, #form .field .formblock_field__label::after, #form .formfield__container > label::after, #form .formfield__container .formblock_field__label::after, .formblock .field > label::after, .formblock .field .formblock_field__label::after, .formblock .formfield__container > label::after, .formblock .formfield__container .formblock_field__label::after {
        content: "";
        position: absolute;
        background-color: #373944;
        width: 20px;
        height: 2px;
        bottom: 1px;
        opacity: 0.5;
        left: 0; }
    #form .field .formblock_field__label, #form .formfield__container .formblock_field__label, .formblock .field .formblock_field__label, .formblock .formfield__container .formblock_field__label {
      grid-row: 1 / span 2;
      padding-right: 3em; }
    #form .field abbr, #form .field .formfield__label__required, #form .formfield__container abbr, #form .formfield__container .formfield__label__required, .formblock .field abbr, .formblock .field .formfield__label__required, .formblock .formfield__container abbr, .formblock .formfield__container .formfield__label__required {
      color: #C56C61;
      text-decoration: none; }
    #form .field span, #form .formfield__container span, .formblock .field span, .formblock .formfield__container span {
      flex-grow: 1;
      width: 100%; }
    #form .field textarea, #form .field input, #form .formfield__container textarea, #form .formfield__container input, .formblock .field textarea, .formblock .field input, .formblock .formfield__container textarea, .formblock .formfield__container input {
      background-color: #F6F6F6;
      border: none;
      padding: 1em;
      color: #5E5E5E;
      width: 100%;
      max-width: 100%;
      resize: none; }
      #form .field textarea::-moz-placeholder, #form .field input::-moz-placeholder, #form .formfield__container textarea::-moz-placeholder, #form .formfield__container input::-moz-placeholder, .formblock .field textarea::-moz-placeholder, .formblock .field input::-moz-placeholder, .formblock .formfield__container textarea::-moz-placeholder, .formblock .formfield__container input::-moz-placeholder {
        opacity: 0.5; }
      #form .field textarea::placeholder, #form .field input::placeholder, #form .formfield__container textarea::placeholder, #form .formfield__container input::placeholder, .formblock .field textarea::placeholder, .formblock .field input::placeholder, .formblock .formfield__container textarea::placeholder, .formblock .formfield__container input::placeholder {
        opacity: 0.5; }
    #form .field textarea, #form .formfield__container textarea, .formblock .field textarea, .formblock .formfield__container textarea {
      height: 150px; }
    #form .field .formfield__option, #form .formfield__container .formfield__option, .formblock .field .formfield__option, .formblock .formfield__container .formfield__option {
      padding-top: 0.5em; }
      #form .field .formfield__option:first-of-type, #form .formfield__container .formfield__option:first-of-type, .formblock .field .formfield__option:first-of-type, .formblock .formfield__container .formfield__option:first-of-type {
        padding-top: 1em; }
      #form .field .formfield__option .formfield__option__label, #form .formfield__container .formfield__option .formfield__option__label, .formblock .field .formfield__option .formfield__option__label, .formblock .formfield__container .formfield__option .formfield__option__label {
        display: flex;
        align-items: baseline; }
      #form .field .formfield__option input, #form .formfield__container .formfield__option input, .formblock .field .formfield__option input, .formblock .formfield__container .formfield__option input {
        width: initial;
        margin-right: 1em; }
      #form .field .formfield__option .formfield__checkbox__check, #form .formfield__container .formfield__option .formfield__checkbox__check, .formblock .field .formfield__option .formfield__checkbox__check, .formblock .formfield__container .formfield__option .formfield__checkbox__check {
        display: none; }
  #form .alert, #form .error, #form .formblock__message--error, .formblock .alert, .formblock .error, .formblock .formblock__message--error {
    grid-row: 2;
    grid-column: 2;
    margin: 1em 0;
    font-size: 14px; }
    #form .alert li, #form .error li, #form .formblock__message--error li, .formblock .alert li, .formblock .error li, .formblock .formblock__message--error li {
      margin-bottom: 0;
      padding-left: 0;
      color: #C56C61; }
      #form .alert li::before, #form .error li::before, #form .formblock__message--error li::before, .formblock .alert li::before, .formblock .error li::before, .formblock .formblock__message--error li::before {
        display: none; }
  #form .success, .formblock .success {
    font-weight: bold;
    grid-row: 1;
    grid-column: 1;
    margin-left: var(--form-leftcolumn); }
  #form a.link-big, #form .formblock__submit, .formblock a.link-big, .formblock .formblock__submit {
    margin-left: var(--form-leftcolumn) !important;
    display: block; }
  #form [type="submit"], #form [type="button"], .formblock [type="submit"], .formblock [type="button"] {
    border: none;
    background-color: transparent;
    color: inherit;
    font-style: inherit;
    text-align: left; }
  #form .formblock__message--error, .formblock .formblock__message--error {
    /*


		@extend .warning-block;

		position: relative;
		padding: 0.5em;

		&::before {
			top: -0.5em;
			left: -0.5em;
		}
		*/
    position: relative;
    padding: 10px; }
    #form .formblock__message--error[data-form="form_error"] p, .formblock .formblock__message--error[data-form="form_error"] p {
      margin: 0; }
    #form .formblock__message--error::before, .formblock .formblock__message--error::before {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: currentColor;
      opacity: 0.15;
      border-radius: 20px; }
    #form .formblock__message--error ul, .formblock .formblock__message--error ul {
      margin: 0; }

.honeypot {
  position: absolute;
  left: -9999px; }

/*****************
FOOTER
*****************/
.footer {
  margin-top: auto;
  background-color: #A2A2A2;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: left;
  align-items: center; }
  .footer a {
    font-size: 14px;
    color: #F6F6F6; }
    .footer a[aria-current]::after {
      transform: scaleX(0); }
  .footer .logo {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    height: 74px;
    width: 74px;
    margin-right: 1rem;
    background-color: #A9A9A9;
    border-radius: 50%; }
    .footer .logo svg {
      height: 36px;
      fill: #F6F6F6;
      display: block; }
  .footer .menu {
    margin-left: auto; }
  .footer .mentions p, .footer .mentions a {
    color: #d5d5d5; }
  .footer .mentions a:hover {
    color: #fff; }

/*********************
BASE (MOBILE) SIZE
This are the mobile styles. It's what people see on their phones. 
Remember, keep it light: Speed is Important.
*********************/
@media only screen and (max-width: 480px) {
  /******************************************************************

Stylesheet: under 480px

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible.

******************************************************************/
  /*
IMPORTANT NOTE ABOUT SASS 3.3 & UP
You can't use @extend within media queries
anymore, so just be aware that if you drop
them in here, they won't work.
*/
  .page {
    padding: 0;
    width: 100%; }
  /*****************
HEADER
*****************/
  .header {
    padding: 6.25vw 0;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    display: flex;
    flex-direction: row; }
  .nav-container {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    padding-left: 6.25vw; }
  #hamburger {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
    pointer-events: all; }
    #hamburger button.hamburger {
      padding: calc(12.5vw/3 + 6px) 4.1666666667vw;
      margin: 6.25vw 6.25vw;
      background-color: #F6F6F6;
      border-radius: 100%;
      display: flex;
      align-items: center;
      transform: rotate(138deg);
      transition: transform 0.3s ease-in-out 0.2s; }
      #hamburger button.hamburger.is-active {
        transform: rotate(90deg);
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out 0.25s;
        background-color: transparent; }
      #hamburger button.hamburger:focus {
        outline: none; }
  #menu-bg {
    position: absolute;
    width: 100%;
    height: 100vh;
    min-height: 360px;
    pointer-events: none; }
    #menu-bg .menu {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: -1;
      transform: scale(0) rotate(10deg) translateX(30%);
      transform-origin: top right;
      transition: all 0.4s ease-out 0.2s; }
      #menu-bg .menu svg {
        fill: currentColor; }
    #menu-bg .overlay {
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #F6F6F6;
      opacity: 0;
      z-index: -1;
      transition: opacity 0.4s ease-out;
      margin-left: -6.25vw; }
    #menu-bg .extras {
      opacity: 0;
      position: relative;
      height: 100vh;
      width: 100vw;
      min-height: 730px; }
      #menu-bg .extras .side-taches {
        top: initial;
        bottom: 100px;
        right: initial;
        left: 0px; }
    #menu-bg.isOpen .menu {
      opacity: 1;
      transform: scale(1) rotate(0) translateX(0);
      transition: all 0.4s ease-in; }
    #menu-bg.isOpen .overlay {
      opacity: 0.4;
      transition: opacity 0.4s ease-in;
      pointer-events: all; }
    #menu-bg.isOpen .extras {
      opacity: 1; }
  #menu-header {
    z-index: 1;
    pointer-events: none;
    color: currentColor;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 37.5vw;
    padding-bottom: 12.5vw;
    padding-left: 37.5vw;
    padding-right: 6.25vw; }
    #menu-header.isOpen {
      pointer-events: all; }
      #menu-header.isOpen .menu-item {
        opacity: 1;
        transition: opacity 0.3s ease-in-out; }
        #menu-header.isOpen .menu-item:nth-child(0) {
          transition-delay: 0s; }
        #menu-header.isOpen .menu-item:nth-child(1) {
          transition-delay: 0.1s; }
        #menu-header.isOpen .menu-item:nth-child(2) {
          transition-delay: 0.2s; }
        #menu-header.isOpen .menu-item:nth-child(3) {
          transition-delay: 0.3s; }
        #menu-header.isOpen .menu-item:nth-child(4) {
          transition-delay: 0.4s; }
        #menu-header.isOpen .menu-item:nth-child(5) {
          transition-delay: 0.5s; }
    #menu-header .menu-item {
      padding: 1.5em 0 1em;
      opacity: 0;
      transition: opacity 0.3s ease-in-out; }
      #menu-header .menu-item:first-child {
        padding-top: 0; }
      #menu-header .menu-item::after {
        height: 2px;
        width: 30px; }
      #menu-header .menu-item a {
        color: #fff;
        font-size: 20px; }
  .menu-tooltip {
    display: none; }
  /*****************
LAYOUT
*****************/
  .layout {
    padding: 25vw 0;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    display: flex;
    flex-direction: column; }
    .layout.bottom-spacing {
      padding-bottom: 0; }
  .emphase, .intro > p:first-of-type {
    font-size: 16px;
    line-height: 26px; }
  .intro {
    margin-top: 50vw; }
  h1, .h1, h2, .h2 {
    font-size: 34px;
    line-height: 42px;
    letter-spacing: 0.85px;
    margin-top: 6.25vw;
    margin-bottom: 12.5vw; }
  h1 {
    max-width: 90%; }
  h3, .h3 {
    font-size: 22px;
    line-height: 34px;
    margin-top: 12.5vw;
    margin-bottom: 6.25vw; }
  .h3.subtitle {
    margin-top: 0;
    margin-bottom: 0; }
  h4 {
    font-size: 13px;
    line-height: 24px;
    margin-top: 4.1666666667vw;
    margin-bottom: 4.1666666667vw; }
  p {
    font-size: 13px;
    line-height: 22px; }
  em {
    font-size: 11px;
    line-height: 0; }
  a.link-big, .formblock__submit {
    font-size: 20px;
    line-height: 34px;
    max-width: 60%; }
  .aside {
    margin-top: 12.5vw; }
  .name-aside {
    display: none !important; }
  .warning-block {
    margin: 6.25vw 0 12.5vw; }
    .warning-block .icon {
      right: calc(50% - 20px); }
    .warning-block p {
      padding: 0 6.25vw; }
      .warning-block p:first-of-type {
        padding-top: 8.3333333333vw; }
      .warning-block p:last-of-type {
        padding-bottom: 6.25vw;
        margin: 0; }
    .warning-block:before {
      border-radius: 20px; }
  .slide {
    margin-right: -6.25vw;
    margin-left: -25vw;
    padding-left: 25vw; }
    .slide ul {
      margin-top: 12.5vw; }
  .slide-control {
    display: flex;
    position: absolute;
    top: 12.5vw;
    right: 12.5vw; }
  .list-testimonies li {
    max-width: 70vw;
    margin-right: 12.5vw; }
  .list-partners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 18.75vw;
    grid-row-gap: 18.75vw;
    margin-top: 12.5vw; }
    .list-partners li {
      place-self: center; }
  .gallery {
    padding: 0;
    margin: 0; }
    .gallery .list-images li {
      height: 35vh; }
    .gallery .list-images img {
      height: 100%;
      width: auto; }
  .side-content-container {
    display: flex;
    justify-content: flex-end; }
  .side-image-up, .side-image-services, .side-image-carte, .side-image-home {
    clip-path: url(#mobile-main);
    -webkit-clip-path: url(#mobile-main);
    top: -30px; }
    .side-image-up img, .side-image-services img, .side-image-carte img, .side-image-home img {
      width: 218px;
      height: 427px; }
  .side-image-overlay {
    top: -160px; }
  .side-image-bottom {
    position: relative;
    margin-top: 25vw;
    margin-right: -6.25vw;
    overflow: hidden; }
  .side-image-overlay, .side-image-second {
    clip-path: url(#mobile-float);
    -webkit-clip-path: url(#mobile-float);
    top: -160px; }
    .side-image-overlay img, .side-image-second img {
      width: 153px;
      height: 264px; }
  .side-image-second {
    position: relative;
    align-self: flex-end;
    margin: -12.5vw 0;
    margin-right: -6.25vw;
    top: 0; }
    .side-image-second img {
      width: 153px;
      height: 264px; }
  .side-image-home-float {
    bottom: 0;
    position: relative;
    overflow: hidden;
    margin-bottom: -50vw;
    margin-right: -6.25vw; }
    .side-image-home-float img {
      transform: scale(0.7); }
  .side-quote {
    display: none; }
  .side-taches {
    top: 40px;
    right: 62.5vw;
    bottom: initial;
    transform: scale(0.5);
    --spacing-taches: 120px; }
    .side-taches.side-taches-home {
      transform: scale(0.75);
      --spacing-taches: 100px; }
      .side-taches.side-taches-home img:nth-child(1) {
        left: calc(var(--spacing-taches) * 0.25);
        top: calc(var(--spacing-taches) * -.5);
        transform-origin: bottom right; }
      .side-taches.side-taches-home img:nth-child(2) {
        left: calc(var(--spacing-taches) * 1);
        top: calc(var(--spacing-taches) * 1.7);
        transform-origin: bottom left;
        transform: rotate(180deg); }
      .side-taches.side-taches-home img:nth-child(3) {
        left: calc(var(--spacing-taches) * -0.15);
        top: calc(var(--spacing-taches) * .75);
        transform-origin: bottom right; }
    .side-taches.side-taches-questions img:nth-child(3) {
      left: calc(var(--spacing-taches) * 1);
      top: calc(var(--spacing-taches) * -1); }
    .side-taches.side-taches-partenaires {
      top: 10px; }
  /*****************
FORM
*****************/
  #form form {
    width: 100%; }
  #form .field, #form .formfield__container {
    grid-template-columns: 1fr; }
    #form .field label, #form .field .formblock_field__label, #form .formfield__container label, #form .formfield__container .formblock_field__label {
      margin-bottom: 6.25vw;
      grid-row: 1;
      padding-right: 0; }
    #form .field input, #form .formfield__container input {
      grid-row: 2;
      width: 100%; }
    #form .field .formblock__option__container .formfield__option, #form .formfield__container .formblock__option__container .formfield__option {
      grid-row: auto;
      grid-column: 1;
      display: inline-block; }
      #form .field .formblock__option__container .formfield__option .formfield__option__label, #form .formfield__container .formblock__option__container .formfield__option .formfield__option__label {
        display: inline-block; }
    #form .field .formblock__message--error, #form .formfield__container .formblock__message--error {
      grid-row: initial;
      grid-column: 1;
      margin: 1em 0 1em; }
  #form .alert, #form .error {
    grid-row: 3;
    grid-column: 1;
    margin: 1em 0;
    font-size: 14px; }
  #form a.link-big, #form .formblock__submit {
    margin-left: 0 !important; }
  /*****************
FOOTER
*****************/
  .footer {
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    padding-top: 25vw;
    padding-bottom: 12.5vw;
    display: grid;
    grid-template-columns: 5fr 2fr;
    height: auto;
    overflow: hidden; }
    .footer a {
      font-size: 14px; }
    .footer .logo {
      margin-bottom: 12.5vw;
      align-self: start; }
    .footer .name {
      grid-row: 2;
      grid-column: 1; }
    .footer .menu {
      grid-row: span 2;
      grid-column: 2;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      .footer .menu a {
        margin-bottom: 6.25vw; }
    .footer .mentions {
      margin-top: 12.5vw;
      grid-column: 1/3; }
      .footer .mentions p {
        margin-bottom: 6.25vw; } }

/*********************
LARGER MOBILE DEVICES
This is for devices like the Galaxy Note or something that's
larger than an iPhone but smaller than a tablet. Let's call them
tweeners.
*********************/
@media only screen and (min-width: 481px) and (max-width: 767px) {
  /******************************************************************

Stylesheet: under 480px

Be light and don't over style since everything here will be
loaded by mobile devices. You want to keep it as minimal as
possible.

******************************************************************/
  /*
IMPORTANT NOTE ABOUT SASS 3.3 & UP
You can't use @extend within media queries
anymore, so just be aware that if you drop
them in here, they won't work.
*/
  .page {
    padding: 0;
    width: 100%; }
  /*****************
HEADER
*****************/
  .header {
    padding: 6.25vw 0;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    display: flex;
    flex-direction: row; }
  .nav-container {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
    padding-left: 6.25vw; }
  #hamburger {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
    pointer-events: all; }
    #hamburger button.hamburger {
      padding: calc(12.5vw/3 + 6px) 4.1666666667vw;
      margin: 6.25vw 6.25vw;
      background-color: #F6F6F6;
      border-radius: 100%;
      display: flex;
      align-items: center;
      transform: rotate(138deg);
      transition: transform 0.3s ease-in-out 0.2s; }
      #hamburger button.hamburger.is-active {
        transform: rotate(90deg);
        transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out 0.25s;
        background-color: transparent; }
      #hamburger button.hamburger:focus {
        outline: none; }
  #menu-bg {
    position: absolute;
    width: 100%;
    height: 100vh;
    min-height: 360px;
    pointer-events: none; }
    #menu-bg .menu {
      position: absolute;
      width: 100%;
      height: 100%;
      z-index: -1;
      transform: scale(0) rotate(10deg) translateX(30%);
      transform-origin: top right;
      transition: all 0.4s ease-out 0.2s; }
      #menu-bg .menu svg {
        fill: currentColor; }
    #menu-bg .overlay {
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: #F6F6F6;
      opacity: 0;
      z-index: -1;
      transition: opacity 0.4s ease-out;
      margin-left: -6.25vw; }
    #menu-bg .extras {
      opacity: 0;
      position: relative;
      height: 100vh;
      width: 100vw;
      min-height: 730px; }
      #menu-bg .extras .side-taches {
        top: initial;
        bottom: 100px;
        right: initial;
        left: 0px; }
    #menu-bg.isOpen .menu {
      opacity: 1;
      transform: scale(1) rotate(0) translateX(0);
      transition: all 0.4s ease-in; }
    #menu-bg.isOpen .overlay {
      opacity: 0.4;
      transition: opacity 0.4s ease-in;
      pointer-events: all; }
    #menu-bg.isOpen .extras {
      opacity: 1; }
  #menu-header {
    z-index: 1;
    pointer-events: none;
    color: currentColor;
    width: 100%;
    display: flex;
    flex-direction: column;
    padding-top: 37.5vw;
    padding-bottom: 12.5vw;
    padding-left: 37.5vw;
    padding-right: 6.25vw; }
    #menu-header.isOpen {
      pointer-events: all; }
      #menu-header.isOpen .menu-item {
        opacity: 1;
        transition: opacity 0.3s ease-in-out; }
        #menu-header.isOpen .menu-item:nth-child(0) {
          transition-delay: 0s; }
        #menu-header.isOpen .menu-item:nth-child(1) {
          transition-delay: 0.1s; }
        #menu-header.isOpen .menu-item:nth-child(2) {
          transition-delay: 0.2s; }
        #menu-header.isOpen .menu-item:nth-child(3) {
          transition-delay: 0.3s; }
        #menu-header.isOpen .menu-item:nth-child(4) {
          transition-delay: 0.4s; }
        #menu-header.isOpen .menu-item:nth-child(5) {
          transition-delay: 0.5s; }
    #menu-header .menu-item {
      padding: 1.5em 0 1em;
      opacity: 0;
      transition: opacity 0.3s ease-in-out; }
      #menu-header .menu-item:first-child {
        padding-top: 0; }
      #menu-header .menu-item::after {
        height: 2px;
        width: 30px; }
      #menu-header .menu-item a {
        color: #fff;
        font-size: 20px; }
  .menu-tooltip {
    display: none; }
  /*****************
LAYOUT
*****************/
  .layout {
    padding: 25vw 0;
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    display: flex;
    flex-direction: column; }
    .layout.bottom-spacing {
      padding-bottom: 0; }
  .emphase, .intro > p:first-of-type {
    font-size: 16px;
    line-height: 26px; }
  .intro {
    margin-top: 50vw; }
  h1, .h1, h2, .h2 {
    font-size: 34px;
    line-height: 42px;
    letter-spacing: 0.85px;
    margin-top: 6.25vw;
    margin-bottom: 12.5vw; }
  h1 {
    max-width: 90%; }
  h3, .h3 {
    font-size: 22px;
    line-height: 34px;
    margin-top: 12.5vw;
    margin-bottom: 6.25vw; }
  .h3.subtitle {
    margin-top: 0;
    margin-bottom: 0; }
  h4 {
    font-size: 13px;
    line-height: 24px;
    margin-top: 4.1666666667vw;
    margin-bottom: 4.1666666667vw; }
  p {
    font-size: 13px;
    line-height: 22px; }
  em {
    font-size: 11px;
    line-height: 0; }
  a.link-big, .formblock__submit {
    font-size: 20px;
    line-height: 34px;
    max-width: 60%; }
  .aside {
    margin-top: 12.5vw; }
  .name-aside {
    display: none !important; }
  .warning-block {
    margin: 6.25vw 0 12.5vw; }
    .warning-block .icon {
      right: calc(50% - 20px); }
    .warning-block p {
      padding: 0 6.25vw; }
      .warning-block p:first-of-type {
        padding-top: 8.3333333333vw; }
      .warning-block p:last-of-type {
        padding-bottom: 6.25vw;
        margin: 0; }
    .warning-block:before {
      border-radius: 20px; }
  .slide {
    margin-right: -6.25vw;
    margin-left: -25vw;
    padding-left: 25vw; }
    .slide ul {
      margin-top: 12.5vw; }
  .slide-control {
    display: flex;
    position: absolute;
    top: 12.5vw;
    right: 12.5vw; }
  .list-testimonies li {
    max-width: 70vw;
    margin-right: 12.5vw; }
  .list-partners {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 18.75vw;
    grid-row-gap: 18.75vw;
    margin-top: 12.5vw; }
    .list-partners li {
      place-self: center; }
  .gallery {
    padding: 0;
    margin: 0; }
    .gallery .list-images li {
      height: 35vh; }
    .gallery .list-images img {
      height: 100%;
      width: auto; }
  .side-content-container {
    display: flex;
    justify-content: flex-end; }
  .side-image-up, .side-image-services, .side-image-carte, .side-image-home {
    clip-path: url(#mobile-main);
    -webkit-clip-path: url(#mobile-main);
    top: -30px; }
    .side-image-up img, .side-image-services img, .side-image-carte img, .side-image-home img {
      width: 218px;
      height: 427px; }
  .side-image-overlay {
    top: -160px; }
  .side-image-bottom {
    position: relative;
    margin-top: 25vw;
    margin-right: -6.25vw;
    overflow: hidden; }
  .side-image-overlay, .side-image-second {
    clip-path: url(#mobile-float);
    -webkit-clip-path: url(#mobile-float);
    top: -160px; }
    .side-image-overlay img, .side-image-second img {
      width: 153px;
      height: 264px; }
  .side-image-second {
    position: relative;
    align-self: flex-end;
    margin: -12.5vw 0;
    margin-right: -6.25vw;
    top: 0; }
    .side-image-second img {
      width: 153px;
      height: 264px; }
  .side-image-home-float {
    bottom: 0;
    position: relative;
    overflow: hidden;
    margin-bottom: -50vw;
    margin-right: -6.25vw; }
    .side-image-home-float img {
      transform: scale(0.7); }
  .side-quote {
    display: none; }
  .side-taches {
    top: 40px;
    right: 62.5vw;
    bottom: initial;
    transform: scale(0.5);
    --spacing-taches: 120px; }
    .side-taches.side-taches-home {
      transform: scale(0.75);
      --spacing-taches: 100px; }
      .side-taches.side-taches-home img:nth-child(1) {
        left: calc(var(--spacing-taches) * 0.25);
        top: calc(var(--spacing-taches) * -.5);
        transform-origin: bottom right; }
      .side-taches.side-taches-home img:nth-child(2) {
        left: calc(var(--spacing-taches) * 1);
        top: calc(var(--spacing-taches) * 1.7);
        transform-origin: bottom left;
        transform: rotate(180deg); }
      .side-taches.side-taches-home img:nth-child(3) {
        left: calc(var(--spacing-taches) * -0.15);
        top: calc(var(--spacing-taches) * .75);
        transform-origin: bottom right; }
    .side-taches.side-taches-questions img:nth-child(3) {
      left: calc(var(--spacing-taches) * 1);
      top: calc(var(--spacing-taches) * -1); }
    .side-taches.side-taches-partenaires {
      top: 10px; }
  /*****************
FORM
*****************/
  #form form {
    width: 100%; }
  #form .field, #form .formfield__container {
    grid-template-columns: 1fr; }
    #form .field label, #form .field .formblock_field__label, #form .formfield__container label, #form .formfield__container .formblock_field__label {
      margin-bottom: 6.25vw;
      grid-row: 1;
      padding-right: 0; }
    #form .field input, #form .formfield__container input {
      grid-row: 2;
      width: 100%; }
    #form .field .formblock__option__container .formfield__option, #form .formfield__container .formblock__option__container .formfield__option {
      grid-row: auto;
      grid-column: 1;
      display: inline-block; }
      #form .field .formblock__option__container .formfield__option .formfield__option__label, #form .formfield__container .formblock__option__container .formfield__option .formfield__option__label {
        display: inline-block; }
    #form .field .formblock__message--error, #form .formfield__container .formblock__message--error {
      grid-row: initial;
      grid-column: 1;
      margin: 1em 0 1em; }
  #form .alert, #form .error {
    grid-row: 3;
    grid-column: 1;
    margin: 1em 0;
    font-size: 14px; }
  #form a.link-big, #form .formblock__submit {
    margin-left: 0 !important; }
  /*****************
FOOTER
*****************/
  .footer {
    padding-left: 6.25vw;
    padding-right: 6.25vw;
    padding-top: 25vw;
    padding-bottom: 12.5vw;
    display: grid;
    grid-template-columns: 5fr 2fr;
    height: auto;
    overflow: hidden; }
    .footer a {
      font-size: 14px; }
    .footer .logo {
      margin-bottom: 12.5vw;
      align-self: start; }
    .footer .name {
      grid-row: 2;
      grid-column: 1; }
    .footer .menu {
      grid-row: span 2;
      grid-column: 2;
      display: flex;
      flex-direction: column;
      justify-content: space-between; }
      .footer .menu a {
        margin-bottom: 6.25vw; }
    .footer .mentions {
      margin-top: 12.5vw;
      grid-column: 1/3; }
      .footer .mentions p {
        margin-bottom: 6.25vw; }
  /******************************************************************

Stylesheet: 481px and Up Stylesheet

This stylesheet is loaded for larger devices. It's set to
481px because at 480px it would load on a landscaped iPhone.
This isn't ideal because then you would be loading all those
extra styles on that same mobile connection.

A word of warning. This size COULD be a larger mobile device,
so you still want to keep it pretty light and simply expand
upon your base.scss styles.

******************************************************************/
  /*
IMPORTANT NOTE ABOUT SASS 3.3 & UP
You can't use @extend within media queries
anymore, so just be aware that if you drop
them in here, they won't work.
*/ }

/*********************
TABLET & SMALLER LAPTOPS
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 768px) {
  /******************************************************************

Stylesheet: Tablet & Small Desktop Stylesheet

Here's where you can start getting into the good stuff.
This size will work on iPads, other tablets, and desktops.
So you can start working with more styles, background images,
and other resources. You'll also notice the grid starts to
come into play. Have fun!

******************************************************************/
  .page {
    padding: 0;
    width: 100%;
    min-height: 100vh; }
  /*****************
Header
*****************/
  .header {
    padding-left: 12.5vw;
    padding-right: 6.25vw;
    z-index: 2;
    min-height: 12.5vw;
    flex-direction: row;
    top: 0;
    background-color: rgba(246, 246, 246, 0.9);
    z-index: 100; }
    .header .logo {
      transition: filter 0.2s ease-in-out 0.2s; }
      .header .logo:hover, .header .logo:focus {
        filter: brightness(90%);
        transition-delay: 0s; }
  #hamburger {
    display: none; }
  #menu-bg {
    display: none; }
  .menu {
    display: flex;
    flex-direction: row; }
    .menu .menu-item {
      position: relative; }
      .menu .menu-item:hover .menu-tooltip {
        opacity: 0.98;
        transform: translateY(0px) rotate(0deg) scale(1);
        transition: opacity 0.2s ease-out 1s, transform 0.2s ease-out 1s; }
        .menu .menu-item:hover .menu-tooltip p {
          opacity: 1;
          transition: opacity 0.2s ease-out 1.23s; }
      .menu .menu-item:last-child .menu-tooltip {
        right: 0;
        left: initial; }
        .menu .menu-item:last-child .menu-tooltip::after {
          border-right: 24px solid #fff;
          border-left: 0;
          left: initial;
          right: 0; }
    .menu a {
      margin: 0;
      margin-left: 1.8rem;
      font-size: 14px;
      transition: filter 0.2s ease-in-out 0.2s; }
      .menu a::after {
        transition: transform 0.2s ease-in-out 0.2s;
        transform-origin: left; }
      .menu a:hover, .menu a:focus {
        filter: brightness(10%);
        transition-delay: 0s; }
        .menu a:hover::after, .menu a:focus::after {
          transform: scaleX(3);
          display: block;
          transition-delay: 0s; }
  .menu-tooltip {
    background-color: #fff;
    border-radius: 24px;
    z-index: 100;
    margin: 0 .9rem;
    pointer-events: none;
    position: absolute;
    top: 64px;
    left: 0;
    padding: 20px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 200px;
    opacity: 0;
    transform: translateY(-10px) rotate(0deg) scale(0.6);
    transform-origin: top left;
    transition: opacity 0.2s ease-in 0.2s, transform 0.2s ease-in 0.3s; }
    .menu-tooltip p {
      font-size: 17px;
      line-height: 20px;
      letter-spacing: 0.94px;
      color: currentColor;
      opacity: 0;
      transition: opacity 0.2s ease-in; }
    .menu-tooltip::after {
      content: "";
      width: 0;
      height: 0;
      border-top: 12px solid transparent;
      border-bottom: 24px solid transparent;
      border-left: 24px solid #fff;
      position: absolute;
      left: 0;
      top: -12px; }
  /*****************
LAYOUT
*****************/
  .layout {
    padding: 6.25vw 0;
    padding-left: 12.5vw;
    padding-right: 6.25vw; }
    .layout.bottom-spacing {
      padding-bottom: 50vw; }
    .layout.home {
      padding-bottom: 12.5vw;
      overflow: visible; }
  .emphase, .intro > p:first-of-type {
    font-size: 20px;
    line-height: 32px;
    font-style: normal; }
  .text, .intro {
    display: grid;
    justify-items: start;
    grid-template-columns: 6fr 2fr 5fr; }
    .text.compact, .intro.compact {
      grid-template-columns: 6fr 1fr 5fr 1fr;
      grid-template-rows: auto auto 1fr auto; }
      .text.compact h3, .intro.compact h3 {
        margin-bottom: 2.0833333333vw; }
    .text > *, .intro > * {
      grid-column: 1; }
    .text.wide, .intro.wide {
      grid-template-columns: 8fr 2fr 3fr; }
    .text.ultra-wide, .intro.ultra-wide {
      grid-template-columns: 10fr 0fr 3fr; }
    .text .aside, .intro .aside {
      max-width: calc(5/16 * 100vw);
      grid-column: 3;
      width: 100%; }
      .text .aside:not(.text-spacing) > *:first-child, .intro .aside:not(.text-spacing) > *:first-child {
        margin-top: 0; }
      .text .aside.top, .intro .aside.top {
        grid-row-start: 1;
        grid-row-end: 5; }
      .text .aside.top-spacing, .intro .aside.top-spacing {
        grid-row-start: 1;
        margin-top: 350px;
        grid-row-end: 100; }
    .text .name-aside, .intro .name-aside {
      width: 200px;
      opacity: 0.95; }
      .text .name-aside p, .intro .name-aside p {
        margin: 0;
        font-size: 2em;
        line-height: 1.4em;
        letter-spacing: -0px; }
    .text a:not(.link-big), .intro a:not(.link-big) {
      position: relative; }
      .text a:not(.link-big)::after, .intro a:not(.link-big)::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: currentColor;
        opacity: 0;
        transform-origin: left;
        transition: opacity 0.2s ease-in-out; }
      .text a:not(.link-big):hover::after, .text a:not(.link-big):focus::after, .intro a:not(.link-big):hover::after, .intro a:not(.link-big):focus::after {
        opacity: 1;
        transition-delay: 0s; }
  h1, .h1, h2, .h2 {
    font-size: 40px;
    line-height: 50px;
    letter-spacing: 1px;
    margin-top: 3.125vw;
    margin-bottom: 4.1666666667vw; }
  h3, .h3 {
    font-size: 24px;
    line-height: 34px;
    margin-top: 6.25vw;
    margin-bottom: 3.125vw; }
    h3:first-of-type, .h3:first-of-type {
      margin-top: 9.375vw; }
  .h3.subtitle {
    margin-top: 0; }
  h4 {
    font-size: 16px;
    line-height: 26px;
    margin-top: 2.0833333333vw;
    margin-bottom: 2.0833333333vw; }
  p {
    font-size: 16px;
    line-height: 26px; }
  em {
    font-style: italic;
    font-size: 14px;
    line-height: 0; }
  a.link-big, .formblock__submit {
    font-size: 22px;
    line-height: 32px;
    transition: filter 0.2s ease-in-out 0.2s; }
    a.link-big.align-end, .formblock__submit.align-end {
      align-self: end; }
    a.link-big::after, .formblock__submit::after {
      transition: transform 0.12s ease-in-out 0.2s;
      transform-origin: left; }
    a.link-big:hover, a.link-big:focus, .formblock__submit:hover, .formblock__submit:focus {
      filter: brightness(90%);
      transition-delay: 0s; }
      a.link-big:hover::after, a.link-big:focus::after, .formblock__submit:hover::after, .formblock__submit:focus::after {
        transform: scaleX(3);
        transition-delay: 0s; }
  .warning-block {
    margin: 3.125vw 0 6.25vw; }
    .warning-block .icon {
      right: 3.125vw;
      grid-column: 1 / span 1; }
    .warning-block p {
      padding: 0 3.125vw; }
      .warning-block p:first-of-type {
        padding-top: 3.125vw; }
      .warning-block p:last-of-type {
        padding-bottom: 3.125vw;
        margin: 0; }
    .warning-block:before {
      border-radius: 30px;
      grid-column: 1 / span 1; }
  p.testimony-quote {
    font-size: 26px;
    line-height: 32px; }
  p.testimony-author {
    font-size: 14px; }
  .slide {
    margin-right: -6.25vw;
    margin-left: -12.5vw;
    padding-left: 12.5vw; }
    .slide ul {
      margin-top: 6.25vw; }
  .slide-control {
    display: flex;
    position: absolute;
    top: 6.25vw;
    right: 6.25vw; }
  .gallery {
    padding-top: 0;
    padding-bottom: 0;
    margin-left: 0; }
    .gallery .list-images .slick-slide {
      opacity: 0.7;
      transition: opacity 0.3s ease-out, filter 0.3s ease-out;
      filter: grayscale(100%); }
    .gallery .list-images .slick-current {
      opacity: 1;
      filter: grayscale(0%); }
    .gallery .list-images li {
      height: 500px; }
    .gallery .list-images img {
      height: 100%;
      width: auto; }
  /*****************
ASIDE MEDIA
*****************/
  .side-quote {
    width: 260px;
    height: 260px;
    padding: 40px;
    margin-right: 6.25vw; }
    .side-quote p.testimony-quote {
      font-size: 20px;
      line-height: 26px;
      margin-bottom: 0; }
    .side-quote p.testimony-author {
      display: none; }
  .side-quote-up {
    top: 750px;
    right: 3.125vw; }
  .side-quote-second {
    bottom: 500px;
    z-index: 2; }
  .side-image img {
    max-width: 639px; }
  .side-content-container {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 53.125vw;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    transform-origin: bottom right; }
    .side-content-container.home {
      bottom: -50px; }
  .side-image-home {
    right: initial;
    left: 80px;
    bottom: initial;
    top: 9.375vw;
    top: initial;
    bottom: 220px; }
  .side-image-home-float {
    right: calc((6.25vw * 2) - 30px);
    right: 0;
    left: 120px;
    bottom: -3.125vw;
    bottom: 0;
    animation-delay: 0.5s !important; }
  .side-image-services {
    top: 100px;
    bottom: initial; }
    .side-image-services img {
      max-width: 536px; }
  .side-image-partners {
    top: 200px; }
  .side-image-carte img {
    max-width: 540px; }
  .side-image-overlay {
    top: -100px;
    bottom: initial; }
    .side-image-overlay img {
      width: 31.25vw;
      max-width: 424px; }
  .side-image-bottom {
    bottom: -1px; }
    .side-image-bottom img {
      max-width: 50vw; }
  .side-taches {
    top: calc(200px - 6.25vw);
    right: 31.25vw;
    bottom: initial;
    --spacing-taches: 100px; }
    .side-taches.side-taches-home {
      top: initial;
      bottom: 490px;
      left: 0; }
    .side-taches.side-taches-services {
      top: calc(210px - 6.25vw); }
    .side-taches.side-taches-contact {
      right: 25vw;
      top: calc(210px - 6.25vw); }
  .list-partners {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    margin-right: 18.75vw;
    margin-top: 6.25vw;
    grid-column-gap: 11.25vw;
    grid-row-gap: 7.5vw; }
    .list-partners::after {
      content: "";
      grid-column: 3;
      grid-row: 1/8; }
    .list-partners li {
      place-self: center;
      max-width: 300px; }
  /*****************
FOOTER
*****************/
  .footer {
    padding: 6.25vw 0 6.25vw;
    padding-left: 12.5vw;
    padding-right: 6.25vw;
    display: grid;
    grid-template-columns: auto 1fr 2fr; }
    .footer a {
      font-size: 12px; }
    .footer .name {
      max-width: 100px; }
    .footer .menu a:hover, .footer .menu a:focus {
      filter: brightness(110%); }
      .footer .menu a:hover::after, .footer .menu a:focus::after {
        transform: scaleX(1.5); }
    .footer .mentions {
      grid-row: 2;
      grid-column: 1/4;
      margin-top: 3.125vw;
      margin-left: auto; }
      .footer .mentions p, .footer .mentions a {
        font-size: 10px; }
      .footer .mentions p {
        display: inline-block;
        margin-left: 1rem; } }

/*********************
DESKTOP
This is the average viewing window. So Desktops, Laptops, and
in general anyone not viewing on a mobile device. Here's where
you can add resource intensive styles.
*********************/
@media only screen and (min-width: 1030px) {
  /******************************************************************

Stylesheet: Desktop Stylsheet

This is the desktop size. It's larger than an iPad so it will only
be seen on the Desktop.

******************************************************************/
  /*****************
HEADER
*****************/
  .header .menu a {
    font-size: 17px; }
  /*****************
LAYOUT
*****************/
  .layout.bottom-spacing {
    padding-bottom: 37.5vw; }
  .text.compact, .intro.compact {
    grid-template-columns: 5fr 1fr 5fr 1fr; }
  p.testimony-quote {
    font-size: 30px;
    line-height: 38px; }
  p.testimony-author {
    font-size: 18px; }
  /*****************
FORM
*****************/
  #form, .formblock {
    --form-leftcolumn: 300px; }
  /*****************
ASIDE MEDIA
*****************/
  .side-quote {
    width: 300px;
    height: 300px; }
    .side-quote p.testimony-quote {
      font-size: 24px;
      line-height: 32px;
      margin-bottom: 0; }
  .side-quote-up {
    right: 6.25vw; }
  /*****************
FOOTER
*****************/
  .footer a {
    font-size: 17px; }
  .footer .name {
    max-width: 150px; } }

/*********************
LARGE VIEWING SIZE
This is for the larger monitors and possibly full screen viewers.
*********************/
@media only screen and (min-width: 1240px) {
  /******************************************************************

Stylesheet: Super Large Monitor Stylesheet

You can add some advanced styles here if you like. This kicks in
on larger screens.

******************************************************************/
  /*****************
LAYOUT
*****************/
  .layout.home {
    padding-bottom: 18.75vw; }
  /*****************
ASIDE MEDIA
*****************/
  .side-content-container {
    transform: scale(1); }
  .side-taches.side-taches-contact {
    right: 21.875vw;
    top: 310px; }
    .side-taches.side-taches-contact img:nth-child(1) {
      top: calc(var(--spacing-taches) * -0.55); } }

/*********************
RETINA (2x RESOLUTION DEVICES)
This applies to the retina iPhone (4s) and iPad (2,3) along with
other displays with a 2x resolution. You can also create a media
query for retina AND a certain size if you want. Go Nuts.
*********************/
@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
  /******************************************************************
Site Name: 
Author: 

Stylesheet: Retina Screens & Devices Stylesheet

When handling retina screens you need to make adjustments, especially
if you're not using font icons. Here you can add them in one neat
place.

******************************************************************/
  /* 

EXAMPLE 
Let's say you have an image and you need to make sure it looks ok
on retina screens. Let's say we have an icon which dimension are
24px x 24px. In your regular stylesheets, it would look something
like this:

.icon {
	width: 24px;
	height: 24px;
	background: url(img/test.png) no-repeat;
}

For retina screens, we have to make some adjustments, so that image
doesn't look blurry. So, taking into account the image above and the
dimensions, this is what we would put in our retina stylesheet:

.icon {
	background: url(img/test@2x.png) no-repeat;
	background-size: 24px 24px;
}

So, you would create the same icon, but at double the resolution, meaning 
it would be 48px x 48px. You'd name it the same, but with a @2x at the end
(this is pretty standard practice). Set the background image so it matches
the original dimensions and you are good to go. 

*/ }
