@charset "UTF-8";
/*---------------------------------------*		Styles et réglages globaux
\*---------------------------------------*/
/*------------------------------------*		Layout
\*------------------------------------*/
/*------------------------------------*		Images and SVG dirs
\*------------------------------------*/
/*------------------------------------*		Z-indexes
\*------------------------------------*/
/*------------------------------------*		Media queries breakpoints
\*------------------------------------*/
/*------------------------------------*		Animations
\*------------------------------------*/
@-webkit-keyframes showImg {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}
@keyframes showImg {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes showImgInv {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes showImgInv {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes showImgVertical {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

@keyframes showImgVertical {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes showImgVerticalInv {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

@keyframes showImgVerticalInv {
  0% {
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  60% {
    -webkit-transform: translate3d(0%, 0, 0);
            transform: translate3d(0%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
  }
}

/*------------------------------------*		Easing
\*------------------------------------*/
/*------------------------------------*		Functions
\*------------------------------------*/
/**
 * A function helper to avoid having to type `map-get($z-layers, ...)`
 * Based on http://css-tricks.com/handling-z-index/
 * @param  {string} $layer The name of the z-index
 * @param  {number} $var   The modifier if needed
 * @return {number}        The corresponding z-index based on the $z-layers var
 */
/**
 * Remove units from the given number
 * @param  {number} $number The number with units
 * @return {number}
 */
/**
 * Create variables for the media queries
 * @param  {string} $breakpoint The breakpoint
 * @param  {string} $type       Type of media query (min or max)
 * @param  {string} $unit       The unit for the media queries (em or px)
 * @return {string}             A media query expression
 */
/**
 * Slightly lighten a color
 * @access public
 * @param {Color} $color - color to tint
 * @param {Number} $percentage - percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Slightly darken a color
 * @access public
 * @param  {color}  $color       color to shade
 * @param  {number} $percentage  percentage of `$color` in returned color
 * @return {Color}
 */
/**
 * Power function
 * @param  {number} $number Number to apply power
 * @param  {number} $exp    The exponant for the power
 * @return {number}         The powered number
 */
/**
 * Factorial function
 * @param  {number} $number The number to factorize
 * @return {number}         The factorised number
 */
/**
 * Pi reference
 * @return {number} Retrun PI with 11 decimals
 */
/**
 * Convert deg to rad
 * @param  {string} $angle The angle to convert
 * @return {number}        The unitless angle converted to rad
 */
/**
 * Calculate the sinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The sinus of the given angle
 */
/**
 * Calculate the cosinus of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The cosinus of the given angle
 */
/**
 * Calculate the tangent of an angle
 * @param  {string} $angle The angle to compute
 * @return {number}        The tangent of the given angle
 */
/*---------------------------------------*		Positions & dispositions
\*---------------------------------------*/
/*---------------------------------------*		Typographie
\*---------------------------------------*/
/*---------------------------------------*		Triangles
\*---------------------------------------*/
/*---------------------------------------*		SVG Responsive
\*---------------------------------------*/
/*
Utilitaire pour le padding hack qui permet d'avoir des fichiers `*.svg` responsive.
Plus d'infos ici : http://tympanus.net/codrops/2014/08/19/making-svgs-responsive-with-css/
*/
/*------------------------------------*		Gradients
\*------------------------------------*/
/**
 * Mixin printing a linear-gradient
 * as well as a plain color fallback
 * and the `-webkit-` prefixed declaration
 * @param {String | List | Angle} $direction - Linear gradient direction
 * @param {Arglist} $color-stops - List of color-stops composing the gradient
 */
/*------------------------------------*		Positionnement & Display
\*------------------------------------*/
.u-none {
  display: none;
}

.u-table {
  display: table;
}

.u-cell {
  display: table-cell;
}

.u-inlbl {
  display: inline-block;
}

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

/*------------------------------------*		Typographie
\*------------------------------------*/
.u-tac {
  text-align: center;
}

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

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

/*------------------------------------*		Floating
\*------------------------------------*/
.u-left {
  float: left !important;
}

.u-right {
  float: right !important;
}

/*------------------------------------*		Accessibilité
\*------------------------------------*/
/**
 * A class to hide labels and stuff
 * for accessibility
 * @author Facebook Accessibility Team
 * @source https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.u-accessible-item {
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

/*!
 * ress.css • v1.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
	 # Global selectors
	 # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
}

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

:before,
:after {
  vertical-align: inherit;
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
  margin: 0;
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements */
}

/* # =================================================================
	 # General elements
	 # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

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

abbr[title] {
  text-decoration: none;
  /* Remove text decoration in Firefox 40+ */
  border-bottom: 1px dotted;
  /* Add a bordered underline effect in all browsers */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects;
  /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder;
  /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic;
  /* Address styling not present in Safari and Chrome */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
	 # Forms
	 # ================================================================= */
input {
  border-radius: 0;
}

[type="number"] {
  width: auto;
  /* Firefox 36+ */
}

[type="search"] {
  -webkit-appearance: textfield;
  /* Safari 8+ */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

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

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule. */
}

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

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

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

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  color: inherit;
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
}

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

/* Correct the text style of placeholders in Chrome, Edge, and Safari */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/* # =================================================================
	 # Specify media element style
	 # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

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

svg:not(:root) {
  overflow: hidden;
  /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block;
  /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
	 # Acessibility
	 # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
	 # Selection
	 # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  text-shadow: none;
  color: #fff;
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
}

::selection {
  text-shadow: none;
  color: #fff;
  background-color: #b3d4fc;
  /* Required when declaring ::selection */
}

/*---------------------------------------*		Sélection
\*---------------------------------------*/
::-moz-selection {
  text-shadow: none;
  color: #fff;
  background: #ff3333;
}

::selection {
  text-shadow: none;
  color: #fff;
  background: #ff3333;
}

/*---------------------------------------*		Réglages globaux
\*---------------------------------------*/
*,
*:after,
*:before {
  position: relative;
  outline: none;
}

html {
  font-size: 14px;
}

@media (min-width: 62em) {
  html {
    font-size: 14px;
  }
}

@media (min-width: 80em) {
  html {
    font-size: 16px;
  }
}

@media (min-width: 120em) {
  html {
    font-size: 18px;
  }
}

.is-mac,
.is-mac input,
.is-mac button,
.is-mac textarea {
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-osx-font-smoothing: antialiased;
}

/*------------------------------------*		Base typographique

		More settings:
		http://type-scale.com/
\*------------------------------------*/
@font-face {
  font-family: "Fancy";
  src: url("../fonts/fancy.html") format("woff2"), url("../fonts/fancy.woff") format("woff"), url("../fonts/fancy.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

body {
  font-family: "Oxygen", sans-serif;
  font-size: 1em;
  line-height: 1.55;
  color: #231f20;
}

@media (min-width: 48em) {
  body {
    padding-bottom: 0;
  }
}

@media (min-width: 62em) {
  body {
    padding: 0;
  }
}

p,
ul,
ol,
blockquote {
  margin-bottom: 1.55em;
  word-break: break-word;
}

h1,
h2,
h3,
h4 {
  margin: 1.414em 0 1em;
  font-family: "Playfair Display", serif;
  line-height: 1.16666;
  font-weight: 700;
  color: #ff3333;
}

h1 {
  margin-top: 0;
  font-size: 3.157em;
}

h2 {
  font-size: 2.3em;
  letter-spacing: -0.02em;
}

h3 {
  font-size: 1.777em;
}

h4 {
  font-size: 0.9em;
  font-family: "Oxygen", sans-serif;
  margin-top: 0;
  margin-bottom: 1.86em;
}

small {
  font-size: 0.75em;
}

sup {
  vertical-align: super;
  font-size: 0.75em;
}

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

ul {
list-style-type: none;
}

.js-lazy {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-out;
  transition: opacity 0.4s ease-out;
}

.js-lazy.is-loaded {
  opacity: 1;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

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

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

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*! Flickity v2.0.9
http://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: none;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: white;
  background: rgba(255, 255, 255, 0.75);
  cursor: pointer;
  /* vertically center */
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}

.flickity-prev-next-button:hover {
  background: white;
}

.flickity-prev-next-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #09F;
}

.flickity-prev-next-button:active {
  opacity: 0.6;
}

.flickity-prev-next-button.previous {
  left: 10px;
}

.flickity-prev-next-button.next {
  right: 10px;
}

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.flickity-prev-next-button svg {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

.flickity-prev-next-button .arrow {
  fill: #333;
}

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*------------------------------------*		Grid system (Bootstrap)
\*------------------------------------*/
.grid {
  width: 100%;
  max-width: 1640px;
  margin-right: auto;
  margin-left: auto;
}

.grid__row {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}

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

@media (min-width: 30em) {
  .grid__row {
    margin-right: -0.5rem;
    margin-left: -0.5rem;
  }
}

@media (min-width: 48em) {
  .grid__row {
    margin-right: -10px;
    margin-left: -10px;
  }
}

@media (min-width: 62em) {
  .grid__row {
    margin-right: -10px;
    margin-left: -10px;
  }
}

@media (min-width: 80em) {
  .grid__row {
    margin-right: -10px;
    margin-left: -10px;
  }
}

@media (min-width: 90em) {
  .grid__row {
    margin-right: -10px;
    margin-left: -10px;
  }
}

.grid,
[class*="grid__col-xxs--"],
[class*="grid__col-xs--"],
[class*="grid__col-s--"],
[class*="grid__col-m--"],
[class*="grid__col-l--"],
[class*="grid__col-xl--"] {
  min-height: 1px;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

@media (min-width: 30em) {
  .grid,
  [class*="grid__col-xxs--"],
  [class*="grid__col-xs--"],
  [class*="grid__col-s--"],
  [class*="grid__col-m--"],
  [class*="grid__col-l--"],
  [class*="grid__col-xl--"] {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}

@media (min-width: 48em) {
  .grid,
  [class*="grid__col-xxs--"],
  [class*="grid__col-xs--"],
  [class*="grid__col-s--"],
  [class*="grid__col-m--"],
  [class*="grid__col-l--"],
  [class*="grid__col-xl--"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 62em) {
  .grid,
  [class*="grid__col-xxs--"],
  [class*="grid__col-xs--"],
  [class*="grid__col-s--"],
  [class*="grid__col-m--"],
  [class*="grid__col-l--"],
  [class*="grid__col-xl--"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 80em) {
  .grid,
  [class*="grid__col-xxs--"],
  [class*="grid__col-xs--"],
  [class*="grid__col-s--"],
  [class*="grid__col-m--"],
  [class*="grid__col-l--"],
  [class*="grid__col-xl--"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

@media (min-width: 90em) {
  .grid,
  [class*="grid__col-xxs--"],
  [class*="grid__col-xs--"],
  [class*="grid__col-s--"],
  [class*="grid__col-m--"],
  [class*="grid__col-l--"],
  [class*="grid__col-xl--"] {
    padding-right: 10px;
    padding-left: 10px;
  }
}

[class*="grid__col-xxs--"],
[class*="grid__col-xs--"],
[class*="grid__col-s--"],
[class*="grid__col-m--"],
[class*="grid__col-l--"],
[class*="grid__col-xl--"] {
  float: left;
}

/*------------------------------------*		Smallest view
\*------------------------------------*/
[class*="grid__col-xxs--"] {
  display: block;
}

.grid__col-xxs--left {
  float: left;
}

.grid__col-xxs--right {
  float: right;
}

.grid__col-xxs--0 {
  display: none;
}

.grid__col-xxs--1 {
  width: 8.33333%;
}

.grid__col-xxs--2 {
  width: 16.66667%;
}

.grid__col-xxs--3 {
  width: 25%;
}

.grid__col-xxs--4 {
  width: 33.33333%;
}

.grid__col-xxs--5 {
  width: 41.66667%;
}

.grid__col-xxs--6 {
  width: 50%;
}

.grid__col-xxs--7 {
  width: 58.33333%;
}

.grid__col-xxs--8 {
  width: 66.66667%;
}

.grid__col-xxs--9 {
  width: 75%;
}

.grid__col-xxs--10 {
  width: 83.33333%;
}

.grid__col-xxs--11 {
  width: 91.66667%;
}

.grid__col-xxs--12 {
  width: 100%;
}

/*------------------------------------*		Smaller view
\*------------------------------------*/
@media (min-width: 30em) {
  [class*="grid__col-xs--"] {
    display: block;
  }
  .grid__col-xs--left {
    float: left;
  }
  .grid__col-xs--right {
    float: right;
  }
  .grid__col-xs--0 {
    display: none;
  }
  .grid__col-xs--1 {
    width: 8.33333%;
  }
  .grid__col-xs--2 {
    width: 16.66667%;
  }
  .grid__col-xs--3 {
    width: 25%;
  }
  .grid__col-xs--4 {
    width: 33.33333%;
  }
  .grid__col-xs--5 {
    width: 41.66667%;
  }
  .grid__col-xs--6 {
    width: 50%;
  }
  .grid__col-xs--7 {
    width: 58.33333%;
  }
  .grid__col-xs--8 {
    width: 66.66667%;
  }
  .grid__col-xs--9 {
    width: 75%;
  }
  .grid__col-xs--10 {
    width: 83.33333%;
  }
  .grid__col-xs--11 {
    width: 91.66667%;
  }
  .grid__col-xs--12 {
    width: 100%;
  }
}

/*------------------------------------*		Small view
\*------------------------------------*/
@media (min-width: 48em) {
  [class*="grid__col-s--"] {
    display: block;
  }
  .grid__col-s--left {
    float: left;
  }
  .grid__col-s--right {
    float: right;
  }
  .grid__col-s--0 {
    display: none;
  }
  .grid__col-s--1 {
    width: 8.33333%;
  }
  .grid__col-s--2 {
    width: 16.66667%;
  }
  .grid__col-s--3 {
    width: 25%;
  }
  .grid__col-s--4 {
    width: 33.33333%;
  }
  .grid__col-s--5 {
    width: 41.66667%;
  }
  .grid__col-s--6 {
    width: 50%;
  }
  .grid__col-s--7 {
    width: 58.33333%;
  }
  .grid__col-s--8 {
    width: 66.66667%;
  }
  .grid__col-s--9 {
    width: 75%;
  }
  .grid__col-s--10 {
    width: 83.33333%;
  }
  .grid__col-s--11 {
    width: 91.66667%;
  }
  .grid__col-s--12 {
    width: 100%;
  }
}

/*------------------------------------*		Medium view
\*------------------------------------*/
@media (min-width: 62em) {
  [class*="grid__col-m--"] {
    display: block;
  }
  .grid__col-m--left {
    float: left;
  }
  .grid__col-m--right {
    float: right;
  }
  .grid__col-m--0 {
    display: none;
  }
  .grid__col-m--1 {
    width: 8.33333%;
  }
  .grid__col-m--2 {
    width: 16.66667%;
  }
  .grid__col-m--3 {
    width: 25%;
  }
  .grid__col-m--4 {
    width: 33.33333%;
  }
  .grid__col-m--5 {
    width: 41.66667%;
  }
  .grid__col-m--6 {
    width: 50%;
  }
  .grid__col-m--7 {
    width: 58.33333%;
  }
  .grid__col-m--8 {
    width: 66.66667%;
  }
  .grid__col-m--9 {
    width: 75%;
  }
  .grid__col-m--10 {
    width: 83.33333%;
  }
  .grid__col-m--11 {
    width: 91.66667%;
  }
  .grid__col-m--12 {
    width: 100%;
  }
}

/*------------------------------------*		Large view
\*------------------------------------*/
@media (min-width: 80em) {
  [class*="grid__col-l--"] {
    display: block;
  }
  .grid__col-l--left {
    float: left;
  }
  .grid__col-l--right {
    float: right;
  }
  .grid__col-l--0 {
    display: none;
  }
  .grid__col-l--1 {
    width: 8.33333%;
  }
  .grid__col-l--2 {
    width: 16.66667%;
  }
  .grid__col-l--3 {
    width: 25%;
  }
  .grid__col-l--4 {
    width: 33.33333%;
  }
  .grid__col-l--5 {
    width: 41.66667%;
  }
  .grid__col-l--6 {
    width: 50%;
  }
  .grid__col-l--7 {
    width: 58.33333%;
  }
  .grid__col-l--8 {
    width: 66.66667%;
  }
  .grid__col-l--9 {
    width: 75%;
  }
  .grid__col-l--10 {
    width: 83.33333%;
  }
  .grid__col-l--11 {
    width: 91.66667%;
  }
  .grid__col-l--12 {
    width: 100%;
  }
}

/*------------------------------------*		Larger view
\*------------------------------------*/
@media (min-width: 90em) {
  [class*="grid__col-xl--"] {
    display: block;
  }
  .grid__col-xl--left {
    float: left;
  }
  .grid__col-xl--right {
    float: right;
  }
  .grid__col-xl--0 {
    display: none;
  }
  .grid__col-xl--1 {
    width: 8.33333%;
  }
  .grid__col-xl--2 {
    width: 16.66667%;
  }
  .grid__col-xl--3 {
    width: 25%;
  }
  .grid__col-xl--4 {
    width: 33.33333%;
  }
  .grid__col-xl--5 {
    width: 41.66667%;
  }
  .grid__col-xl--6 {
    width: 50%;
  }
  .grid__col-xl--7 {
    width: 58.33333%;
  }
  .grid__col-xl--8 {
    width: 66.66667%;
  }
  .grid__col-xl--9 {
    width: 75%;
  }
  .grid__col-xl--10 {
    width: 83.33333%;
  }
  .grid__col-xl--11 {
    width: 91.66667%;
  }
  .grid__col-xl--12 {
    width: 100%;
  }
}

/*------------------------------------*		Grid Advanced
\*------------------------------------*/
/*------------------------------------*		Smallest view
\*------------------------------------*/
.col-xs-no-gutter {
  padding-right: 0;
  padding-left: 0;
}

.col-xs-gutter {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

/*------------------------------------*		Smaller view
\*------------------------------------*/
@media (min-width: 30em) {
  .col-s-no-gutter {
    padding-right: 0;
    padding-left: 0;
  }
  .col-s-gutter {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
}

/*------------------------------------*		Small view
\*------------------------------------*/
@media (min-width: 48em) {
  .col-m-no-gutter {
    padding-right: 0;
    padding-left: 0;
  }
  .col-m-gutter {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/*------------------------------------*		Medium view
\*------------------------------------*/
@media (min-width: 62em) {
  .col-n-no-gutter {
    padding-right: 0;
    padding-left: 0;
  }
  .col-n-gutter {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/*------------------------------------*		Large view
\*------------------------------------*/
@media (min-width: 80em) {
  .col-l-no-gutter {
    padding-right: 0;
    padding-left: 0;
  }
  .col-l-gutter {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/*------------------------------------*		Larger view
\*------------------------------------*/
@media (min-width: 90em) {
  .col-xl-no-gutter {
    padding-right: 0;
    padding-left: 0;
  }
  .col-xl-gutter {
    padding-right: 10px;
    padding-left: 10px;
  }
}

/*------------------------------------*		Header
\*------------------------------------*/
.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 110;
  height: 80px;
  -webkit-transition: all 0.5s ease 0.5s;
          transition: all 0.5s ease 0.5s;
  background: rgba(255, 255, 255, 0);
}

@media (min-width: 48em) {
  .main-header {
    height: 80px;
  }
}

@media (min-width: 62em) {
  .main-header {
    height: 80px;
  }
}

@media (min-width: 80em) {
  .main-header {
    height: 120px;
  }
}

.is-loaded .main-header {
  -webkit-transition-delay: 0.55s;
          transition-delay: 0.55s;
  background: rgba(255, 255, 255, 0.95);
}

.main-header .toggle-menu {
  top: 40px;
  opacity: 0;
  -webkit-transition: all 0.5s ease 0s;
          transition: all 0.5s ease 0s;
}

.is-loaded .main-header .toggle-menu {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
  opacity: 1;
}

@media (min-width: 48em) {
  .main-header .toggle-menu {
    top: 40px;
  }
}

@media (min-width: 62em) {
  .main-header .toggle-menu {
    top: 40px;
  }
}

@media (min-width: 80em) {
  .main-header .toggle-menu {
    top: 60px;
  }
}

.menu-primary-menu-container {
  height: 100%;
  width: 100%;
}

.main-logo {
  display: block;
  margin: 0;
  position: fixed;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86);
  z-index: 115;
  top: 40px;
}

@media (min-width: 48em) {
  .main-logo {
    top: 40px;
    margin-top: 120px;
  }
}

@media (min-width: 62em) {
  .main-logo {
    margin-top: 110px;
    top: 40px;
  }
}

@media (min-width: 80em) {
  .main-logo {
    margin-top: 120px;
    top: 60px;
  }
}

@media (min-width: 48em) {
  .is-loaded .main-logo {
    margin-top: 0;
  }
}

@media (min-width: 62em) {
  .is-loaded .main-logo {
    margin-top: 0;
  }
}

@media (min-width: 80em) {
  .is-loaded .main-logo {
    margin-top: 0;
  }
}

@media (min-width: 48em) {
  .open-menu .main-logo {
    margin-top: 120px;
  }
}

@media (min-width: 62em) {
  .open-menu .main-logo {
    margin-top: 110px;
  }
}

@media (min-width: 80em) {
  .open-menu .main-logo {
    margin-top: 120px;
  }
}

.main-logo a {
  display: block;
}

.main-logo i {
  display: block;
  width: 94px;
  height: 94px;
  margin: auto;
  /* background: transparent url(../svg/layout/logo-icon.svg) center center no-repeat; */s
  background-size: contain;
  margin-bottom: 15px;
  position: absolute;
  bottom: 100%;
  left: 50%;
  opacity: 1;
  margin-left: -47px;
  -webkit-transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@media (min-width: 80em) {
  .main-logo i {
    width: 114px;
    height: 114px;
    margin-left: -57px;
  }
}

.is-loaded .main-logo i {
  opacity: 0;
}

.open-menu .main-logo i {
  opacity: 1;
}

.main-logo span {
  text-indent: -9999px;
  display: block;
  margin: auto;
  width: 180px;
  height: 65px;
  background: transparent url(../svg/layout/logo-txt2.svg) center center no-repeat;
  background-size: contain;
}

@media (min-width: 48em) {
  .main-logo span {
    width: 200px;
  }
}

@media (min-width: 80em) {
  .main-logo span {
    width: 260px;
    height: 75px;
  }
}

.section-landing .main-logo {
  display: block;
  margin: auto;
  background: transparent url(../svg/layout/logo.svg) center bottom no-repeat;
  background-size: 100% auto;
  text-indent: -9999px;
  overflow: hidden;
}

.toggle-menu {
  position: absolute;
  top: 50%;
  left: 20px;
  -webkit-transform: translate3d(0, -50%, 0) scale3d(0.8, 0.8, 1);
          transform: translate3d(0, -50%, 0) scale3d(0.8, 0.8, 1);
  text-transform: uppercase;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  font-size: 0.9em;
  color: #ff3333;
  -webkit-transition: opacity 0.4s ease 0.3s;
          transition: opacity 0.4s ease 0.3s;
}

@media (min-width: 48em) {
  .toggle-menu {
    -webkit-transform: translate3d(-50%, -50%, 0);
            transform: translate3d(-50%, -50%, 0);
    left: 40px;
    -webkit-transform-origin: center center;
        -ms-transform-origin: center center;
            transform-origin: center center;
  }
}

@media (min-width: 62em) {
  .toggle-menu {
    left: 40px;
  }
}

@media (min-width: 80em) {
  .toggle-menu {
    left: 60px;
  }
}

.toggle-menu > span {
  position: absolute;
  left: 100%;
  padding-left: 20px;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  -webkit-transition: all 0.6s ease;
          transition: all 0.6s ease;
  display: none;
}

@media (min-width: 48em) {
  .toggle-menu > span {
    display: block;
  }
}

.toggle-menu > span b {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translate3d(10px, -50%, 0);
          transform: translate3d(10px, -50%, 0);
  opacity: 0;
  -webkit-transition: all 0.6s ease;
          transition: all 0.6s ease;
  color: #ff3333;
}

.open-menu .toggle-menu > span {
  color: transparent;
}

.open-menu .toggle-menu > span b {
  opacity: 1;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.toggle-menu .icon-cross {
  position: absolute;
  width: 30px;
  height: 35px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  -webkit-transition: all 0s linear 0.5s;
          transition: all 0s linear 0.5s;
  opacity: 0;
}

.toggle-menu .icon-cross span {
  display: block;
  height: 4px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  background: #ff3333;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(0);
          transform: translate3d(-50%, -50%, 0) rotate(0);
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.open-menu .toggle-menu .icon-cross {
  opacity: 1;
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.open-menu .toggle-menu .icon-cross span {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.open-menu .toggle-menu .icon-cross span:first-child {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(-45deg);
          transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

.open-menu .toggle-menu .icon-cross span:last-child {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg);
          transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

.toggle-menu .burger {
  width: 30px;
  height: 35px;
  display: inline-block;
  vertical-align: middle;
  -webkit-transition: all 0s linear 0.4s;
          transition: all 0s linear 0.4s;
}

.open-menu .toggle-menu .burger {
  opacity: 0;
}

.toggle-menu .burger span {
  width: 26px;
  height: 4px;
  display: block;
  margin: 6px 0;
  -webkit-transition: all 0.4s ease 0.5s;
          transition: all 0.4s ease 0.5s;
}

.toggle-menu .burger span:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ff3333;
}

.toggle-menu .burger span:nth-child(2) {
  margin-left: 4px;
}

.open-menu .toggle-menu .burger span {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.open-menu .toggle-menu .burger span:first-child {
  -webkit-transform: translate3d(0, 10px, 0);
          transform: translate3d(0, 10px, 0);
}

.open-menu .toggle-menu .burger span:last-child {
  -webkit-transform: translate3d(0, -10px, 0);
          transform: translate3d(0, -10px, 0);
}

.toggle-menu:hover .burger span:after {
  -webkit-animation: barre 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
          animation: barre 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards;
}

.toggle-menu:hover .burger span:nth-child(2):after {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.toggle-menu:hover .burger span:nth-child(3):after {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}

@-webkit-keyframes barre {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50% {
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50.1% {
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}

@keyframes barre {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50% {
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transform-origin: right center;
            transform-origin: right center;
  }
  50.1% {
    -webkit-transform: scale3d(0, 1, 1);
            transform: scale3d(0, 1, 1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
    -webkit-transform-origin: left center;
            transform-origin: left center;
  }
}

.main-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 105;
  padding: 80px 20px;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0s linear 1.2s;
          transition: all 0s linear 1.2s;
}

@media (min-width: 48em) {
  .main-nav {
    padding: 80px;
  }
}

@media (min-width: 62em) {
  .main-nav {
    padding: 80px;
  }
}

@media (min-width: 80em) {
  .main-nav {
    padding: 120px;
  }
}

.open-menu .main-nav {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 1;
  visibility: visible;
}

.main-nav .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main-nav .bg:after {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  height: 100%;
  background: #FFF;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.2s;
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.2s;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
}

.main-nav .bg:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #FFF;
  background: #f0ece4;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s;
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.5s;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
}

.open-menu .main-nav .bg:before, .open-menu .main-nav .bg:after {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.open-menu .main-nav .bg:after {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.main-nav figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
  -webkit-transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  opacity: 0 !important;
}

.open-menu .main-nav figure {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.65s;
          transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.65s;
  opacity: 1 !important;
}

.main-nav .menu-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.main-nav .main-footer {
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  padding: 0;
}

@media (min-width: 62em) {
  .main-nav .main-footer {
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 80em) {
  .main-nav .main-footer {
    padding-left: 120px;
    padding-right: 120px;
  }
}

.open-menu .main-nav .main-footer {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.main-nav .menu {
  position: absolute;
  top: 50%;
  left: 10%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
  font-size: 1.55em;
  color: rgba(35, 31, 32, 0.5);
  letter-spacing: -0.02em;
  font-weight: 700;
  font-family: "Playfair Display", serif;
  line-height: 2em;
  text-align: left;
  width: 80%;
}

@media (min-width: 48em) {
  .main-nav .menu {
    font-size: 1.77777em;
    line-height: 2em;
    text-align: right;
    margin-top: 30px;
    width: 50%;
    top: 50%;
    right: 50%;
    left: auto;
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
  }
}

.main-nav .menu li {
  display: block;
  white-space: nowrap;
  -webkit-transform: translate3d(-40px, 0, 0);
          transform: translate3d(-40px, 0, 0);
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.open-menu .main-nav .menu li {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.open-menu .main-nav .menu li:nth-child(1) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.open-menu .main-nav .menu li:nth-child(2) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.open-menu .main-nav .menu li:nth-child(3) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.open-menu .main-nav .menu li:nth-child(4) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.open-menu .main-nav .menu li:nth-child(5) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.open-menu .main-nav .menu li:nth-child(6) {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.open-menu .main-nav .menu li:nth-child(7) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.open-menu .main-nav .menu li:nth-child(8) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.open-menu .main-nav .menu li:nth-child(9) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.open-menu .main-nav .menu li:nth-child(10) {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.open-menu .main-nav .menu li:nth-child(11) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.open-menu .main-nav .menu li:nth-child(12) {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.open-menu .main-nav .menu li:nth-child(13) {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.main-nav .menu li:after {
  content: '';
  width: 80px;
  height: 1px;
  position: absolute;
  left: 100%;
  top: 50%;
  margin-left: 20px;
  background: #ff3333;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  display: none;
  -webkit-transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.3s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@media (min-width: 48em) {
  .main-nav .menu li:after {
    display: block;
  }
}

.main-nav .menu li .txt-bg {
  left: 50%;
  top: 50%;
  margin-top: -0.1em;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

.main-nav .menu li .txt-bg span {
  opacity: 0;
  -webkit-transform: translate3d(0, 30%, 0);
          transform: translate3d(0, 30%, 0);
  -webkit-transition: all 0.35s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.35s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.main-nav .menu li .content-bg {
  pointer-events: none;
  color: transparent;
  position: absolute;
  right: 0;
}

.main-nav .menu li a {
  display: block;
  white-space: nowrap;
  vertical-align: top;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  overflow: hidden;
}

.main-nav .menu li a span {
  display: block;
  -webkit-transform: translate3d(0, 0%, 0);
          transform: translate3d(0, 0%, 0);
  -webkit-transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.main-nav .menu li a span:last-child {
  opacity: 0;
  position: absolute;
  top: 0;
  color: #ff3333;
  left: 0;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

@media (min-width: 48em) {
  .main-nav .menu li a span:last-child {
    right: 0;
    top: -4px;
    left: auto;
    font-size: 1.15em;
  }
}

@media (min-width: 62em) {
  .main-nav .menu li a span:last-child {
    right: 0;
    top: -4px;
    left: auto;
    font-size: 1.3em;
  }
}

@media (min-width: 80em) {
  .main-nav .menu li a span:last-child {
    font-size: 1.5em;
  }
}

.main-nav .menu li:hover:after, .main-nav .menu li.active:after {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.main-nav .menu li:hover a span, .main-nav .menu li.active a span {
  display: block;
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
  opacity: 0;
}

.main-nav .menu li:hover a span:last-child, .main-nav .menu li.active a span:last-child {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

@media (min-width: 48em) {
  .main-nav .menu li:hover .txt-bg span {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(1) {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(2) {
    -webkit-transition-delay: 0.05s;
            transition-delay: 0.05s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(3) {
    -webkit-transition-delay: 0.1s;
            transition-delay: 0.1s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(4) {
    -webkit-transition-delay: 0.15s;
            transition-delay: 0.15s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(5) {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(6) {
    -webkit-transition-delay: 0.25s;
            transition-delay: 0.25s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(7) {
    -webkit-transition-delay: 0.3s;
            transition-delay: 0.3s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(8) {
    -webkit-transition-delay: 0.35s;
            transition-delay: 0.35s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(9) {
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(10) {
    -webkit-transition-delay: 0.45s;
            transition-delay: 0.45s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(11) {
    -webkit-transition-delay: 0.5s;
            transition-delay: 0.5s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(12) {
    -webkit-transition-delay: 0.55s;
            transition-delay: 0.55s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(13) {
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(14) {
    -webkit-transition-delay: 0.65s;
            transition-delay: 0.65s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(15) {
    -webkit-transition-delay: 0.7s;
            transition-delay: 0.7s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(16) {
    -webkit-transition-delay: 0.75s;
            transition-delay: 0.75s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(17) {
    -webkit-transition-delay: 0.8s;
            transition-delay: 0.8s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(18) {
    -webkit-transition-delay: 0.85s;
            transition-delay: 0.85s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(19) {
    -webkit-transition-delay: 0.9s;
            transition-delay: 0.9s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(20) {
    -webkit-transition-delay: 0.95s;
            transition-delay: 0.95s;
  }
  .main-nav .menu li:hover .txt-bg span:nth-child(21) {
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
}

/*------------------------------------*		Main
\*------------------------------------*/
.main {
  padding-top: 80px;
  overflow-x: hidden;
}

@media (min-width: 62em) {
  .main {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

@media (min-width: 80em) {
  .main {
    padding-top: 120px;
    padding-bottom: 120px;
  }
}

.txt-bg {
  position: absolute;
  top: 0;
  left: 50%;
  font-family: 'Fancy';
  white-space: nowrap;
  font-size: 5rem;
  text-transform: uppercase;
  opacity: 0.25;
  font-weight: 400;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  line-height: 0.7em;
  z-index: -1;
  color: #ff3333;
}

@media (min-width: 62em) {
  .txt-bg {
    font-size: 7rem;
    top: -20px;
    opacity: 0.15;
  }
}

@media (min-width: 120em) {
  .txt-bg {
    top: -20px;
  }
}

.txt-bg span {
  display: inline-block;
}

.txt-bg.js-reveal span {
  opacity: 0;
  -webkit-transform: translate3d(0, 50%, 0);
          transform: translate3d(0, 50%, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.txt-bg.js-reveal.is-visible span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.txt-bg.js-reveal.is-visible span:nth-child(1) {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.txt-bg.js-reveal.is-visible span:nth-child(2) {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

.txt-bg.js-reveal.is-visible span:nth-child(3) {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.txt-bg.js-reveal.is-visible span:nth-child(4) {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.txt-bg.js-reveal.is-visible span:nth-child(5) {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.txt-bg.js-reveal.is-visible span:nth-child(6) {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.txt-bg.js-reveal.is-visible span:nth-child(7) {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.txt-bg.js-reveal.is-visible span:nth-child(8) {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.txt-bg.js-reveal.is-visible span:nth-child(9) {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.txt-bg.js-reveal.is-visible span:nth-child(10) {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.txt-bg.js-reveal.is-visible span:nth-child(11) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.txt-bg.js-reveal.is-visible span:nth-child(12) {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.txt-bg.js-reveal.is-visible span:nth-child(13) {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.txt-bg.js-reveal.is-visible span:nth-child(14) {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.txt-bg.js-reveal.is-visible span:nth-child(15) {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.txt-bg.js-reveal.is-visible span:nth-child(16) {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.txt-bg.js-reveal.is-visible span:nth-child(17) {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.txt-bg.js-reveal.is-visible span:nth-child(18) {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.txt-bg.js-reveal.is-visible span:nth-child(19) {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.txt-bg.js-reveal.is-visible span:nth-child(20) {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.txt-bg.js-reveal.is-visible span:nth-child(21) {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

.line-breaker.js-reveal span {
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}

.line-breaker.js-reveal span span {
  display: inline-block;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.line-breaker.js-reveal.is-visible span span {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.line-breaker.js-reveal.is-visible span:nth-child(1) span {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.line-breaker.js-reveal.is-visible span:nth-child(2) span {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.line-breaker.js-reveal.is-visible span:nth-child(3) span {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.line-breaker.js-reveal.is-visible span:nth-child(4) span {
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.line-breaker.js-reveal.is-visible span:nth-child(5) span {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.section {
  padding: 40px 20px;
}

@media (min-width: 48em) {
  .section {
    padding: 80px 80px;
  }
}

@media (min-width: 62em) {
  .section {
    padding: 80px 0;
  }
}

.section.intro {
  padding-top: 0;
  padding-bottom: 50px;
}

@media (min-width: 48em) {
  .section.intro {
    padding: 80px 80px;
    padding-bottom: 40px;
  }
}

@media (min-width: 62em) {
  .section.intro {
    padding: 80px 0;
    padding-bottom: 40px;
  }
}

.section-page {
  padding-bottom: 20px;
  margin-top: -10px;
}

@media (min-width: 48em) {
  .section-page {
    margin-top: 10px;
    padding-top: 0px;
    padding-bottom: 40px;
  }
}

@media (min-width: 62em) {
  .section-page {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.page-title {
  font-size: 2.2em;
  letter-spacing: -0.02em;
}

@media (min-width: 48em) {
  .page-title {
    font-size: 2.8em;
  }
}

.desc.js-reveal {
  opacity: 0;
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  -webkit-transition: all 0.6s ease 0.3s;
          transition: all 0.6s ease 0.3s;
}

.desc.js-reveal.is-visible {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.separator {
  margin-top: 80px;
  margin-bottom: 20px;
  text-align: center;
}

.separator .separator-inner {
  width: 100vw;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  overflow: hidden;
}

.separator .separator-inner .inner {
  width: 100%;
  overflow: hidden;
}

.separator.js-reveal .inner {
  left: -100%;
  -webkit-transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.separator.js-reveal .icon {
  left: 100%;
  -webkit-transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.separator.js-reveal.is-visible .inner,
.separator.js-reveal.is-visible .icon {
  left: 0;
}

.js-reveal {
  will-change: auto;
}

.anchor {
  position: absolute;
  top: -80px;
  left: 0;
}

@media (min-width: 48em) {
  .anchor {
    top: -80px;
  }
}

@media (min-width: 62em) {
  .anchor {
    top: -80px;
  }
}

@media (min-width: 80em) {
  .anchor {
    top: -120px;
  }
}

.section-map .anchor {
  top: 0;
}

.entry-body a {
  color: #ff3333;
  -webkit-transition: all 0.4s ease;
          transition: all 0.4s ease;
}

.entry-body a:hover {
  opacity: 0.7;
}

/*------------------------------------*		Footer
\*------------------------------------*/
.main-footer {
  width: 100%;
  color: #ff3333;
  font-size: 0.85em;
  line-height: 80px;
  text-align: center;
}

@media (min-width: 48em) {
  .main-footer {
    line-height: 80px;
    padding: 0 80px;
  }
}

@media (min-width: 62em) {
  .main-footer {
    position: absolute;
    line-height: 80px;
    text-align: left;
    bottom: 0%;
    left: 0;
    padding: 0 80px;
  }
}

@media (min-width: 80em) {
  .main-footer {
    line-height: 120px;
    padding: 0 120px;
  }
}

.main-footer.js-reveal {
  opacity: 0;
  -webkit-transition: all 0.5s ease 0.2s;
          transition: all 0.5s ease 0.2s;
  -webkit-transform: translate3d(0, 40px, 0);
          transform: translate3d(0, 40px, 0);
}

.main-footer.js-reveal.is-visible {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.main-footer br {
  display: block;
}

@media (min-width: 62em) {
  .main-footer br {
    display: none;
  }
}

.main-footer ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: inline-block;
  vertical-align: top;
  padding: 1.6em 0;
  width: 100%;
  line-height: 1.5em;
}

.main-footer ul:after {
  content: "";
  clear: both;
  display: block;
}

@media (min-width: 48em) {
  .main-footer ul {
    line-height: 3em;
    vertical-align: top;
    padding: 0.6em 0;
  }
}

@media (min-width: 62em) {
  .main-footer ul {
    line-height: 4em;
  }
}

.main-footer ul li {
  width: 100%;
  text-align: center;
}

@media (min-width: 48em) {
  .main-footer ul li:first-child:after {
 
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
  }
}

.main-footer ul li:last-child {
  margin-top: 5px;
}

.main-nav .main-footer ul li {
  text-align: left;
  float: left;
}

.main-nav .main-footer ul li:last-child {
  width: 40%;
  float: right;
  text-align: right;
  margin-top: 0;
}

@media (min-width: 48em) {
  .main-footer ul li {
    float: left;
    width: auto;
    text-align: left;
  }
  .main-footer ul li:last-child {
    float: right;
    width: auto;
    text-align: right;
    margin-top: 0;
    top: 0.5em;
    line-height: 2em;
  }
}

@media (min-width: 62em) {
  .main-footer ul li:last-child {
    top: 0;
    line-height: 4em;
  }
}

.main-footer .socials {
  margin-left: 10px;
  vertical-align: top;
}

@media (min-width: 48em) {
  .main-footer .socials {
    margin-top: 0;
    display: inline-block;
    margin-top: 0;
  }
}

.main-footer .socials .social {
  display: inline-block;
  margin-right: 10px;
  margin-left: 10px;
  vertical-align: top;
  margin-top: 15px;
}

.main-nav .main-footer .socials .social {
  margin-top: -26px;
}

@media (min-width: 48em) {
  .main-nav .main-footer .socials .social {
    margin-top: 0;
  }
}

@media (min-width: 48em) {
  .main-footer .socials .social {
    margin-left: 20px;
    margin-top: 0;
    margin-right: 0;
  }
}

.main-footer .socials .social .icon {
  top: -2px;
}

.main-footer .socials .social .icon * {
  -webkit-transition: all 0.4s ease;
          transition: all 0.4s ease;
}

.main-footer .socials .social:hover .icon * {
  fill: #b2b2b2;
}

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 109;
  -webkit-transition: all 0s linear 0s;
          transition: all 0s linear 0s;
}

.is-loaded .loader {
  opacity: 0;
  visibility: hidden;
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.loader:after {
  content: '';
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  height: 100%;
  background: #f0ece4;
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.3s;
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.3s;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.loader:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #FFF;
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.is-loaded .loader:before, .is-loaded .loader:after {
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.is-loaded .loader:after {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.loader p {
  margin: 0;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  font-size: 1.55em;
  color: rgba(35, 31, 32, 0.5);
  letter-spacing: -0.02em;
  font-weight: 700;
  font-family: "Playfair Display", serif;
  line-height: 2em;
  -webkit-transition: all 0.5s ease 0.6s;
          transition: all 0.5s ease 0.6s;
}

@media (min-width: 48em) {
  .loader p {
    font-size: 1.77777em;
    line-height: 2.45em;
  }
}

.is-loaded .loader p {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 0;
  margin-top: -30px;
}

.loader .loader-content {
  margin: 0;
  white-space: nowrap;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  font-size: 1.55em;
  color: rgba(35, 31, 32, 0.5);
  letter-spacing: -0.02em;
  font-weight: 700;
  font-family: "Playfair Display", serif;
  line-height: 2em;
  -webkit-transition: all 0.5s ease 0.6s;
          transition: all 0.5s ease 0.6s;
  overflow: hidden;
}

@media (min-width: 48em) {
  .loader .loader-content {
    font-size: 1.77777em;
    line-height: 2.45em;
  }
}

.is-loaded .loader .loader-content {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 0;
  margin-top: -30px;
}

.loader .loader-content .loader-elt {
  fill: #b2b2b2;
}

.loader .loader-content .loader-inner {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  overflow: hidden;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: loader 2.5s linear infinite;
          animation: loader 2.5s linear infinite;
}

.is-loaded .loader .loader-content .loader-inner {
  -webkit-animation: none;
          animation: none;
}

.loader .loader-content .loader-inner svg {
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-animation: loaderSvg 2.5s linear infinite;
          animation: loaderSvg 2.5s linear infinite;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}

.is-loaded .loader .loader-content .loader-inner svg {
  -webkit-animation: none;
          animation: none;
}

@-webkit-keyframes loader {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100%  {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@keyframes loader {
  0% {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100%  {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes loaderSvg {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100%  {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loaderSvg {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
            transform: translate3d(100%, 0, 0);
  }
  50% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100%  {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

/*------------------------------------*		Cookies
\*------------------------------------*/
.cookies {
  z-index: 80;
  position: fixed;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  background: #f0ece4;
  visibility: hidden;
  text-align: center;
  font-size: 0.7em;
  padding: 20px 0;
}

.cookies h3 {
  margin-top: 0;
  margin-bottom: 0.5em;
}

.cookies p {
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 48em) {
  .cookies p {
    width: 40%;
    min-width: 500px;
  }
}

.cookies.is-visible {
  display: block;
  visibility: visible;
}

/*------------------------------------*		Pictogrammes
\*------------------------------------*/
.icon {
  display: inline-block;
  vertical-align: middle;
}

.icon svg {
  display: block;
}

.icon_logo,
.svg_logo {
  width: 195px;
  height: 153px;
}

@media (min-width: 48em) {
  .icon_logo,
  .svg_logo {
    width: 235px;
    height: 184px;
  }
}

@media (min-width: 62em) {
  .icon_logo,
  .svg_logo {
    width: 195px;
    height: 153px;
  }
}

.icon_logo *,
.svg_logo * {
  fill: #FFF;
}

.icon_fb,
.svg_fb {
  width: 12px;
  height: 24px;
}

.icon_fb *,
.svg_fb * {
  fill: #ff3333;
}

.icon_insta,
.svg_insta {
  width: 24px;
  height: 24px;
}

.icon_insta *,
.svg_insta * {
  fill: #ff3333;
}

.icon_line,
.svg_line {
  width: 1064px;
  height: 54px;
}

.icon_line *,
.svg_line * {
  fill: #b2b2b2;
}

.icon_arrow-left,
.svg_arrow-left,
.icon_arrow-right,
.svg_arrow-right {
  width: 13px;
  height: 21px;
}

.icon_arrow-left *,
.svg_arrow-left *,
.icon_arrow-right *,
.svg_arrow-right * {
  fill: #ff3333;
}

.icon_arrow-down,
.svg_arrow-down {
  width: 21px;
  height: 13px;
}

.icon_arrow-down *,
.svg_arrow-down * {
  fill: #FFF;
}

.icon_marker,
.svg_marker {
  width: 18px;
  height: 26px;
}

.icon_marker *,
.svg_marker * {
  fill: #FFF;
}

.icon_hour,
.svg_hour {
  width: 20px;
  height: 20px;
}

.icon_hour *,
.svg_hour * {
  fill: #FFF;
}

.icon_phone,
.svg_phone {
  width: 16px;
  height: 25px;
}

.icon_phone *,
.svg_phone * {
  fill: #FFF;
}

/*------------------------------------*		Buttons
\*------------------------------------*/
.btn {
  cursor: pointer;
  display: inline-block;
  letter-spacing: -0.02em;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  color: #ff3333;
  padding: 1.16666em 30px;
  border: 1px solid #ff3333;
  border: 1.2px solid #ff3333;
  line-height: 1.3em;
  -webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
          transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  overflow: hidden;
  will-change: auto;
}

@media (min-width: 48em) {
  .btn {
    padding: 1.16666em 66px;
  }
}

.btn:before {
  content: '';
  width: 100%;
  padding-top: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(-45deg) scale(0);
          transform: translate3d(-50%, -50%, 0) rotate(-45deg) scale(0);
  background: #ff3333;
  will-change: auto;
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.btn:hover {
  color: #FFF;
}

.btn:hover:before {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(45deg) scale(1);
          transform: translate3d(-50%, -50%, 0) rotate(45deg) scale(1);
}

.btn.js-reveal {
  opacity: 0;
  -webkit-transform: translate3d(0, 40px, 0);
          transform: translate3d(0, 40px, 0);
}

.btn.js-reveal.is-visible {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.btn.btn-white {
  border-color: #FFF;
  color: #FFF;
}

.btn.btn-white:before {
  background: #FFF;
}

.btn.btn-white:hover {
  color: #ff3333;
}

.section-cover {
  padding-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 48em) {
  .section-cover {
    padding-bottom: 0;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 62em) {
  .section-cover {
    padding-bottom: 80px;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 80em) {
  .section-cover {
    padding-bottom: 120px;
    padding-left: 120px;
    padding-right: 120px;
  }
}

.section-cover .main-footer {
  padding: 0;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 0.75em;
}

@media (min-width: 48em) {
  .section-cover .main-footer {
    font-size: 0.85em;
  }
}

@media (min-width: 62em) {
  .section-cover .main-footer {
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 80em) {
  .section-cover .main-footer {
    padding-left: 120px;
    padding-right: 120px;
  }
}

.section-cover .main-footer ul {
  padding-top: 10px;
}

.section-cover .main-footer li {
  width: 100%;
  text-align: center;
  margin-top: 0;
}

.section-cover .main-footer li:first-child:after {
  display: none;
}

@media (min-width: 62em) {
  .section-cover .main-footer li:first-child a:before {
    content: '-';
    display: inline-block;
    padding-left: 5px;
    padding-right: 5px;
  }
}

@media (min-width: 48em) {
  .section-cover .main-footer li:first-child {
    top: 0.5em;
    line-height: 1.5em;
  }
}

@media (min-width: 62em) {
  .section-cover .main-footer li:first-child {
    top: auto;
    line-height: 4em;
  }
}

.section-cover .main-footer li:last-child {
  margin-top: 0;
  width: 100%;
  text-align: center;
}

@media (min-width: 48em) {
  .section-cover .main-footer li {
    width: auto;
    text-align: left;
  }
  .section-cover .main-footer li:last-child {
    text-align: right;
    width: auto;
    line-height: 1.5em;
    top: 0.5em;
  }
}

@media (min-width: 62em) {
  .section-cover .main-footer li:last-child {
    line-height: 4em;
    top: auto;
  }
}

.section-cover .down {
  display: block;
  position: absolute;
  left: 50%;
  padding-top: 68px;
  z-index: 11;
  bottom: 1%;
  display: none;
}

@media (min-width: 48em) {
  .section-cover .down {
    display: block;
  }
}

@media (min-width: 62em) {
  .section-cover .down {
    bottom: 2%;
    padding-top: 95px;
  }
}

@media (min-width: 80em) {
  .section-cover .down {
    bottom: 4%;
  }
}

.section-cover .down:before {
  width: 1px;
  height: 40px;
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  background: #ff3333;
}

@media (min-width: 62em) {
  .section-cover .down:before {
    height: 80px;
  }
}

.section-cover .down .icon {
  display: inline-block;
}

.section-cover .down .icon span {
  width: 22px;
  height: 34px;
  display: block;
  background: transparent url(../svg/layout/mouse.svg) center center no-repeat;
  background-size: contain;
}

.section-cover .down.js-reveal:before {
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
  -webkit-transition: all 0.8s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.5s;
          transition: all 0.8s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0.5s;
}

.section-cover .down.js-reveal .icon {
  -webkit-transform: translate3d(0, -20px, 0);
          transform: translate3d(0, -20px, 0);
  opacity: 0;
  -webkit-transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s;
          transition: all 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) 1.3s;
}

.section-cover .down.js-reveal.is-visible:before {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.section-cover .down.js-reveal.is-visible .icon {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.section-cover .down.js-reveal.is-visible .icon span {
  -webkit-animation: mouse 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2.2s infinite;
          animation: mouse 2s cubic-bezier(0.455, 0.03, 0.515, 0.955) 2.2s infinite;
}

@-webkit-keyframes mouse {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(0, -35%, 0);
            transform: translate3d(0, -35%, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 25%, 0);
            transform: translate3d(0, 25%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes mouse {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(0, -35%, 0);
            transform: translate3d(0, -35%, 0);
  }
  75% {
    -webkit-transform: translate3d(0, 25%, 0);
            transform: translate3d(0, 25%, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

.cover {
  width: 100%;
  height: calc(100vh - 160px);
  overflow: hidden;
}

@media (min-width: 48em) {
  .cover {
    height: calc(100vh - 160px);
  }
}

@media (min-width: 62em) {
  .cover {
    height: calc(100vh - 160px);
  }
}

@media (min-width: 80em) {
  .cover {
    height: calc(100vh - 240px);
  }
}

.cover .icon {
  position: absolute;
  bottom: 3%;
  left: 50%;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  opacity: 0.6;
  z-index: 11;
}

@media (min-width: 48em) {
  .cover .icon {
    display: none;
  }
}

.cover-item {
  width: 100%;
  position: absolute;
  height: 100%;
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
}

.cover-item:first-child {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.cover-item figure {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.cover-item.active {
  z-index: 1;
}

.cover-mask {
  position: absolute;
  width: 280px;
  height: 280px;
  left: 50%;
  top: 50%;
  margin-top: -140px;
  margin-left: -140px;
  -webkit-clip-path: url(#shape-cover);
          clip-path: url(#shape-cover);
  z-index: 6;
}

.chrome-49 .cover-mask {
  display: none;
}

.cover-mask figure {
  width: calc(100vw - 40px);
  height: calc(100vh - 160px);
  position: absolute;
  left: 50%;
  visibility: hidden;
  opacity: 1;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
  background-size: cover;
  background-repeat: no-repeat;
  -webkit-filter: url(#blur-effect);
          filter: url(#blur-effect);
  background-position: center center;
}

@media (min-width: 48em) {
  .cover-mask figure {
    width: calc(100vw - 160px);
    height: calc(100vh - 160px);
  }
}

@media (min-width: 62em) {
  .cover-mask figure {
    width: calc(100vw - 160px);
    height: calc(100vh - 160px);
  }
}

@media (min-width: 80em) {
  .cover-mask figure {
    width: calc(100vw - 240px);
    height: calc(100vh - 240px);
  }
}

.cover-mask figure:nth-child(2) {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

.imgs .box {
  width: 33.33333%;
  position: absolute;
  right: 100%;
  bottom: 12%;
  height: 200px;
  background: #f0ece4;
}

.imgs .box.js-reveal {
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
  -webkit-transition: all 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.2s;
          transition: all 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.2s;
}

.imgs .box.js-reveal.is-visible {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.imgs figure {
  display: block;
  margin: 0;
  text-align: center;
}

.imgs figure .inner {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  display: inline-block;
}

@media (min-width: 48em) {
  .imgs figure .inner {
    display: block;
  }
}

.imgs figure .inner:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f0ece4;
}

.imgs figure figcaption {
  font-size: 0.8888em;
  color: #ff3333;
  margin-top: 10px;
  margin-bottom: 20px;
}

@media (min-width: 48em) {
  .imgs figure figcaption {
    width: 90%;
    position: absolute;
    top: 100%;
    left: 0;
    margin-bottom: 0;
    margin-top: 40px;
  }
}

@media (min-width: 62em) {
  .imgs figure figcaption {
    margin-top: 80px;
  }
}

.imgs figure img {
  max-width: 100%;
  display: block;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  margin: auto;
}

.imgs figure.main-img {
  width: 100%;
  margin-top: 20px;
}

@media (min-width: 48em) {
  .imgs figure.main-img {
    margin-top: 50px;
  }
}

@media (min-width: 62em) {
  .imgs figure.main-img {
    margin-top: 0;
  }
}

.imgs figure.main-img img {
  width: 100%;
}

.imgs figure.main-img:after {
  width: 80px;
  height: 1px;
  position: absolute;
  top: 10%;
  left: 100%;
  margin-left: -20px;
  background: #ff3333;
}

.imgs figure.main-img.js-reveal:after {
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.7s;
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0.7s;
}

.imgs figure.main-img.js-reveal.is-visible:after {
  -webkit-transform: scale3d(1, 1, 1) !important;
          transform: scale3d(1, 1, 1) !important;
}

.imgs figure.main-img.js-reveal.is-visible figcaption.line-breaker span:nth-child(1) span {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.imgs figure.main-img.js-reveal.is-visible figcaption.line-breaker span:nth-child(2) span {
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}

.imgs figure.main-img.js-reveal.is-visible figcaption.line-breaker span:nth-child(3) span {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.imgs figure.main-img.js-reveal.is-visible figcaption.line-breaker span:nth-child(4) span {
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}

.imgs figure.main-img.js-reveal.is-visible figcaption.line-breaker span:nth-child(5) span {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.imgs figure.main-img.v-line:after {
  width: 1px;
  height: 80px;
  top: 100%;
  left: 10%;
  margin-left: 0;
  margin-top: -20px;
}

@media (min-width: 48em) {
  .imgs figure.main-img.v-line:after {
    content: '';
    height: 40px;
  }
}

@media (min-width: 62em) {
  .imgs figure.main-img.v-line:after {
    height: 80px;
  }
}

.imgs figure.main-img.v-line.js-reveal:after {
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
}

.imgs figure.right-img {
  margin-top: 20px;
  display: none;
}

@media (min-width: 48em) {
  .imgs figure.right-img {
    left: 90%;
    position: absolute;
    display: block;
    bottom: 10%;
    width: 50%;
  }
}

.imgs figure.left-img {
  margin-top: 20px;
  z-index: 11;
  display: none;
}

@media (min-width: 48em) {
  .imgs figure.left-img {
    right: 80%;
    position: absolute;
    display: block;
    bottom: 5%;
    width: 50%;
  }
}

.imgs figure.js-reveal .inner:after {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
}

.imgs figure.js-reveal.v-line .inner:after {
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

.imgs figure.js-reveal img {
  opacity: 0;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transform: translate3d(0, 20%, 0);
          transform: translate3d(0, 20%, 0);
}

.imgs figure.js-reveal.is-visible img.is-loaded,
.imgs figure.js-reveal.is-visible img {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.imgs figure.js-reveal.is-visible.right-img img.is-loaded,
.imgs figure.js-reveal.is-visible.right-img img {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

.imgs figure.js-reveal.is-visible.left-img img.is-loaded,
.imgs figure.js-reveal.is-visible.left-img img {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

@media (min-width: 48em) {
  .section-menu {
    padding: 40px 20px;
    padding-bottom: 80px;
  }
}

@media (min-width: 80em) {
  .section-menu {
    padding: 110px 0;
  }
}

.menus {
  padding-top: 120%;
  margin: 2.5em 0;
  margin-bottom: 3.5em;
}

@media (min-width: 48em) {
  .menus {
    padding-top: 80%;
  }
}

.menus:before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #f0ece4;
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
}

.menus.js-reveal:before {
  -webkit-transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.7s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.menus.js-reveal.is-visible:before {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.menus h3 {
  font-size: 2em;
  line-height: 1.2em;
  margin-top: 0;
}

@media (min-width: 48em) {
  .menus h3 {
    font-size: 2.33em;
  }
}

.menus .separator {
  width: 60%;
  opacity: 0.2;
  position: absolute;
  left: 30%;
  bottom: 15%;
  margin: 0;
  -webkit-transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.menus .separator .separator-inner {
  width: 100%;
  left: 0;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.menus.tab-0 .separator {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.menus.tab-0 .separator .separator-inner {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.menus.tab-1 .separator {
  -webkit-transform: translate3d(-20%, 0, 0);
          transform: translate3d(-20%, 0, 0);
  width: 50%;
}

.menus.tab-1 .separator .icon {
  -webkit-transform: translate3d(-20%, 0, 0);
          transform: translate3d(-20%, 0, 0);
}

.menus.tab-2 .separator {
  -webkit-transform: translate3d(35%, 0, 0);
          transform: translate3d(35%, 0, 0);
  width: 50%;
}

.menus.tab-2 .separator .icon {
  -webkit-transform: translate3d(-30%, 0, 0);
          transform: translate3d(-30%, 0, 0);
}

.menus-tabs {
  margin: 0;
  padding-left: 0;
  list-style: none;
  position: absolute;
  -webkit-transform: translate3d(-50%, 50%, 0);
          transform: translate3d(-50%, 50%, 0);
  color: rgba(35, 31, 32, 0.5);
  bottom: 100%;
  left: 50%;
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 1.25em;
  white-space: nowrap;
  text-align: right;
  z-index: 11;
  margin-bottom: -1.9em;
}

@media (min-width: 48em) {
  .menus-tabs {
    margin-right: 23%;
    font-size: 1.77777em;
    margin-top: 0;
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    bottom: auto;
    left: auto;
    top: 50%;
    right: 100%;
  }
}

@media (min-width: 62em) {
  .menus-tabs {
    margin-right: 30%;
  }
}

.menus-tabs li {
  display: inline-block;
  white-space: nowrap;
  padding: 0 6px;
  margin: 0.4em 0;
}

@media (min-width: 48em) {
  .menus-tabs li {
    display: block;
    padding: 0;
  }
}

.menus-tabs li:after {
  width: 80px;
  left: 100%;
  height: 1px;
  background: rgba(35, 31, 32, 0.5);
  position: absolute;
  -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
          transform-origin: left center;
  top: 50%;
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
  margin-left: 20px;
  margin-top: 2px;
  -webkit-transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@media (min-width: 48em) {
  .menus-tabs li:after {
    content: '';
    margin-left: 10px;
    width: 40px;
  }
}

@media (min-width: 62em) {
  .menus-tabs li:after {
    margin-left: 20px;
    width: 80px;
  }
}

.menus-tabs li:hover:after {
  -webkit-transform: scale3d(0.4, 1, 1);
          transform: scale3d(0.4, 1, 1);
}

.menus-tabs li.active {
  color: #ff3333;
}

.menus-tabs li.active:after {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  background: #ff3333;
}

.menus-tabs.js-reveal li.active:after {
  -webkit-transform: scale3d(0, 1, 1);
          transform: scale3d(0, 1, 1);
}

.menus-tabs.js-reveal a {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0);
  overflow: hidden;
  display: block;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86), color 0.4s ease;
          transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86), color 0.4s ease;
}

.menus-tabs.js-reveal a span {
  display: block;
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0);
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: transform 0.8s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.menus-tabs.js-reveal.is-visible li.active:after {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.menus-tabs.js-reveal.is-visible a {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.menus-tabs.js-reveal.is-visible a span {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.menus-tabs.js-reveal.is-visible li:nth-child(1) a, .menus-tabs.js-reveal.is-visible li:nth-child(1) span {
  -webkit-transition-delay: 0s, 0s;
          transition-delay: 0s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(2) a, .menus-tabs.js-reveal.is-visible li:nth-child(2) span {
  -webkit-transition-delay: 0.1s, 0s;
          transition-delay: 0.1s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(3) a, .menus-tabs.js-reveal.is-visible li:nth-child(3) span {
  -webkit-transition-delay: 0.2s, 0s;
          transition-delay: 0.2s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(4) a, .menus-tabs.js-reveal.is-visible li:nth-child(4) span {
  -webkit-transition-delay: 0.3s, 0s;
          transition-delay: 0.3s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(5) a, .menus-tabs.js-reveal.is-visible li:nth-child(5) span {
  -webkit-transition-delay: 0.4s, 0s;
          transition-delay: 0.4s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(6) a, .menus-tabs.js-reveal.is-visible li:nth-child(6) span {
  -webkit-transition-delay: 0.5s, 0s;
          transition-delay: 0.5s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(7) a, .menus-tabs.js-reveal.is-visible li:nth-child(7) span {
  -webkit-transition-delay: 0.6s, 0s;
          transition-delay: 0.6s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(8) a, .menus-tabs.js-reveal.is-visible li:nth-child(8) span {
  -webkit-transition-delay: 0.7s, 0s;
          transition-delay: 0.7s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(9) a, .menus-tabs.js-reveal.is-visible li:nth-child(9) span {
  -webkit-transition-delay: 0.8s, 0s;
          transition-delay: 0.8s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(10) a, .menus-tabs.js-reveal.is-visible li:nth-child(10) span {
  -webkit-transition-delay: 0.9s, 0s;
          transition-delay: 0.9s, 0s;
}

.menus-tabs.js-reveal.is-visible li:nth-child(11) a, .menus-tabs.js-reveal.is-visible li:nth-child(11) span {
  -webkit-transition-delay: 1s, 0s;
          transition-delay: 1s, 0s;
}

.menu-item {
  position: absolute;
  top: 10%;
  left: 0;
  padding-left: 5%;
  padding-right: 5%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0s linear 0.6s;
          transition: all 0s linear 0.6s;
  z-index: 1;
}

@media (min-width: 48em) {
  .menu-item {
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    padding-left: 30%;
  }
}

@media (min-width: 48em) {
  .menu-item h3 {
    margin-top: -20%;
  }
}

.menu-item .line-breaker.js-reveal span {
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}

.menu-item .line-breaker.js-reveal span span {
  display: inline-block;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: all 0.4s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.menu-item .desc.js-reveal {
  opacity: 0;
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  -webkit-transition: all 0.6s ease 0.3s;
          transition: all 0.6s ease 0.3s;
}

.menu-item.active {
  opacity: 1;
  visibility: visible;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  z-index: 3;
}

.menu-item.active .menu-imgs figure .inner {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.menu-item.active .line-breaker.is-visible span span {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
}

.menu-item.active .line-breaker.is-visible span:nth-child(1) span {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.menu-item.active .line-breaker.is-visible span:nth-child(2) span {
  -webkit-transition-delay: 0.85s;
          transition-delay: 0.85s;
}

.menu-item.active .line-breaker.is-visible span:nth-child(3) span {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.menu-item.active .line-breaker.is-visible span:nth-child(4) span {
  -webkit-transition-delay: 0.95s;
          transition-delay: 0.95s;
}

.menu-item.active .line-breaker.is-visible span:nth-child(5) span {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.menu-item.active .desc.is-visible {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  opacity: 1;
  -webkit-transition: all 0.6s ease 0.9s;
          transition: all 0.6s ease 0.9s;
}

.menu-imgs {
  position: absolute;
  width: 40%;
  left: -20%;
  display: none;
  height: 100%;
}

@media (min-width: 48em) {
  .menu-imgs {
    display: block;
  }
}

.menu-imgs.js-reveal figure {
  overflow: hidden;
}

.menu-imgs.js-reveal figure .inner {
  opacity: 0;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translate3d(-30px, 0, 0);
          transform: translate3d(-30px, 0, 0);
  -webkit-transition: all 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.menu-imgs figure {
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.menu-imgs figure .inner-img {
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
  opacity: 0;
  display: block;
  -webkit-transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.8s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.menu-imgs figure.active .inner-img {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.menu-imgs figure:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e7e0d4;
  -webkit-transform-origin: right center;
      -ms-transform-origin: right center;
          transform-origin: right center;
}

.menu-imgs figure img {
  display: block;
  width: 100%;
}

.section-testimonial {
  padding: 50px 0;
}

.testimonial-item {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
}

.testimonial-item p {
  color: #ff3333;
  font-size: 1.3333em;
  letter-spacing: -0.02em;
  font-weight: 700;
  margin: 0;
  font-family: "Playfair Display", serif;
  line-height: 1.14em;
}

.testimonial-item p:before {
  content: '';
  width: 22px;
  height: 16px;
  background: transparent url(../svg/layout/quote-start.svg) center center no-repeat;
  position: absolute;
  bottom: 100%;
  left: 0;
  background-size: contain;
  margin-bottom: 10px;
}

@media (min-width: 62em) {
  .testimonial-item p:before {
    right: 100%;
    margin-right: 10px;
    left: auto;
    margin-bottom: 0;
  }
}

.testimonial-item p:after {
  content: '';
  width: 22px;
  height: 16px;
  background: transparent url(../svg/layout/quote-end.svg) center center no-repeat;
  position: absolute;
  bottom: 100%;
  right: 0;
  margin-bottom: 10px;
  background-size: contain;
}

@media (min-width: 62em) {
  .testimonial-item p:after {
    left: 100%;
    margin-left: 10px;
    right: auto;
    margin-bottom: 0;
  }
}

.testimonial-item p:before, .testimonial-item p:after {
  opacity: 0;
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.testimonial-item .line-breaker.js-reveal span span {
  opacity: 0;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

.testimonial-item.active p.is-visible:before, .testimonial-item.active p.is-visible:after {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  opacity: 1;
}

.testimonial-item.active .line-breaker.is-visible span span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0%, 0);
          transform: translate3d(0, 0%, 0);
}

.testimonial-item.active .testimonial-author.is-visible:before {
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition-delay: 0.75s;
          transition-delay: 0.75s;
}

.testimonial-item.active .testimonial-author.is-visible span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.testimonial-author {
  font-weight: 700;
  font-size: 0.88888em;
  padding-top: 80px;
  color: #b2b2b2;
}

@media (min-width: 48em) {
  .testimonial-author {
    padding-top: 120px;
  }
}

.testimonial-author:before {
  position: absolute;
  content: '';
  left: 50%;
  width: 1px;
  height: 40px;
  background: #ff3333;
  top: 25px;
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86) 0s;
}

@media (min-width: 48em) {
  .testimonial-author:before {
    height: 80px;
  }
}

.testimonial-author span {
  display: block;
  -webkit-transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.testimonial-author.js-reveal:before {
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
}

.testimonial-author.js-reveal span {
  display: block;
  opacity: 0;
  -webkit-transform: translate3d(0, 20px, 0);
          transform: translate3d(0, 20px, 0);
}

.testimonial-arrows {
  font-size: 0;
  margin: 25px 0;
  text-align: center;
}

@media (min-width: 48em) {
  .testimonial-arrows {
    margin: 45px 0;
  }
}

.testimonial-arrows .btn {
  width: 70px;
  height: 65px;
  padding: 0;
  line-height: 60px;
}

.testimonial-arrows .btn.next {
  left: -1px;
}

.testimonial-arrows .btn:before {
  width: 140%;
  padding-top: 140%;
  pointer-events: none;
}

.testimonial-arrows .btn .icon {
  pointer-events: none;
}

.testimonial-arrows .btn .icon * {
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.testimonial-arrows .btn:hover .icon * {
  fill: #FFF;
}

.section-gallery {
  margin-top: 20px;
  white-space: nowrap;
  font-size: 0;
  padding-bottom: 30px;
  overflow: hidden;
}

.section-gallery:after {
  content: "";
  clear: both;
  display: block;
}

@media (min-width: 48em) {
  .section-gallery {
    margin-top: 80px;
    padding-bottom: 60px;
  }
}

.section-gallery.js-reveal .flickity-viewport {
  overflow: initial;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
  -webkit-transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1);
          transition: all 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.section-gallery.js-reveal.is-visible .flickity-viewport {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.section-gallery .flickity-page-dots {
  bottom: 10px;
}

.section-gallery .flickity-page-dots li {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: none;
  opacity: 1;
  margin: 0 4px;
}

.section-gallery .flickity-page-dots li:before {
  content: '';
  width: 100%;
  left: 0;
  top: 0;
  height: 100%;
  background: rgba(153, 126, 76, 0.5);
  position: absolute;
  border-radius: 50%;
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.section-gallery .flickity-page-dots li:after {
  content: '';
  width: 100%;
  left: -2px;
  top: -2px;
  height: 100%;
  border: 2px solid #ff3333;
  position: absolute;
  border-radius: 50%;
  box-sizing: content-box;
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
  opacity: 0;
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

.section-gallery .flickity-page-dots li.is-selected:before {
  -webkit-transform: scale3d(0, 0, 1);
          transform: scale3d(0, 0, 1);
}

.section-gallery .flickity-page-dots li.is-selected:after {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
}

.gallery-item {
  margin-right: 20px;
  display: inline-block;
  height: 320px;
  max-height: 95vh;
  pointer-events: none;
}

@media (min-width: 48em) {
  .gallery-item {
    height: 400px;
  }
}

@media (min-width: 62em) {
  .gallery-item {
    height: 570px;
    margin-right: 70px;
  }
}

.gallery-item figure {
  display: block;
  height: 100%;
}

.gallery-item figure img {
  display: block;
  height: 100%;
}

.gallery-nav {
  width: 70px;
  height: 65px;
  padding: 0;
  line-height: 60px;
  z-index: 21;
  position: absolute;
  left: 20px;
  text-align: center;
  border: none;
  top: 50%;
  display: none;
  margin-top: -47px;
}

@media (min-width: 48em) {
  .gallery-nav {
    margin-top: -62px;
    display: block;
  }
}

.gallery-nav.next {
  left: auto;
  right: 20px;
}

.gallery-nav:before {
  width: 140%;
  padding-top: 140%;
  pointer-events: none;
}

.gallery-nav .icon {
  pointer-events: none;
}

.gallery-nav .icon * {
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.gallery-nav:hover .icon * {
  fill: #FFF;
}

.section-map {
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  overflow: hidden;
}

@media (min-width: 48em) {
  .section-map {
    padding-top: 80px;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 62em) {
  .section-map {
    padding-top: 80px;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 80em) {
  .section-map {
    padding-top: 120px;
    padding-left: 120px;
    padding-right: 120px;
  }
}

.section-map .separator {
  position: absolute;
  left: 40%;
  bottom: 10%;
  display: none;
}

.section-map .separator .separator-inner {
  width: 50vw;
}

@media (min-width: 48em) {
  .section-map .separator {
    display: block;
  }
}

.map {
  width: 100%;
  margin-bottom: 20px;
  height: calc(100vh - 160px);
  display: none;
}

@media (min-width: 48em) {
  .map {
    margin-bottom: 0;
    display: block;
    height: calc(100vh - 160px);
  }
}

@media (min-width: 62em) {
  .map {
    height: calc(100vh - 160px);
  }
}

@media (min-width: 80em) {
  .map {
    height: calc(100vh - 240px);
  }
}

.map-block {
  background: #ff3333;
  text-align: center;
  width: 410px;
  padding: 30px 20px;
  color: #FFF;
  max-width: 100%;
}

@media (min-width: 48em) {
  .map-block {
    -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0);
    margin-top: 40px;
    padding: 40px 50px;
    position: absolute;
    top: 50%;
    right: 40px;
    width: 360px;
  }
}

@media (min-width: 62em) {
  .map-block {
    margin-top: 40px;
    right: 40px;
    width: 410px;
    padding: 30px 55px;
  }
}

@media (min-width: 80em) {
  .map-block {
    margin-top: 60px;
    right: 60px;
    padding: 35px 55px;
  }
}

.map-block.js-reveal {
  opacity: 0;
  margin-right: -60px;
  -webkit-transition: all 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.6s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.map-block.js-reveal.is-visible {
  opacity: 1;
  margin-right: 0;
}

.map-block .icon_logo {
  margin: auto;
}

.map-block ul {
  text-align: left;
  margin: 0;
  padding-left: 0;
  list-style: none;
  margin-top: 1.5em;
  margin-bottom: 2.5em;
}

.map-block ul li {
  display: block;
  line-height: 1.625em;
  margin-bottom: 0.45em;
  padding-left: 25px;
}

@media (min-width: 48em) {
  .map-block ul li {
    margin-left: 0;
    padding-left: 25px;
  }
}

.map-block ul li .icon {
  position: absolute;
  left: 0;
  top: 0.8em;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.map-block .btn {
  display: block;
  width: 100%;
  margin-bottom: -1px;
  padding-left: 0;
  padding-right: 0;
}

.section-news {
  padding: 0 10px;
  padding-top: 70px;
  padding-bottom: 60px;
}

@media (min-width: 48em) {
  .section-news {
    padding: 0;
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

@media (min-width: 62em) {
  .section-news {
    padding-top: 140px;
    padding-bottom: 160px;
  }
}

.section-news .bg {
  position: absolute;
  top: -180px;
  bottom: 0;
  left: 0;
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  z-index: -1;
}

.section-news .separator {
  position: absolute;
  right: 50%;
  bottom: 22%;
  display: none;
}

@media (min-width: 48em) {
  .section-news .separator {
    display: block;
  }
}

.news-slider {
  margin-top: 20px;
}

@media (min-width: 48em) {
  .news-slider {
    margin-top: 20px;
  }
}

.news-date {
  font-size: 0.9em;
  font-weight: 700;
  color: #ff3333;
  opacity: 0;
  -webkit-transform: translate3d(0, 30px, 0);
          transform: translate3d(0, 30px, 0);
  -webkit-transition: all 0.6s ease 0.5s;
          transition: all 0.6s ease 0.5s;
  margin-bottom: 1.6em;
}

.news-item h3 {
  margin-top: 0;
  font-size: 1.3333em;
}

.news-item .line-breaker.js-reveal span span {
  opacity: 0;
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0);
}

.news-item .desc.js-reveal {
  opacity: 0;
  -webkit-transform: translate3d(0, 50px, 0);
          transform: translate3d(0, 50px, 0);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.news-item.slick-active .line-breaker.is-visible span span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.news-item.slick-active .news-date.is-visible {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.news-item.slick-active .desc.js-reveal {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.news-imgs {
  margin-top: 30px;
  overflow: hidden;
  -webkit-transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: all 0.5s cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

@media (min-width: 48em) {
  .news-imgs {
    position: absolute;
    top: 60px;
    margin-top: 0;
    right: 110%;
    overflow: inherit;
    width: 60%;
  }
}

@media (min-width: 62em) {
  .news-imgs {
    right: 120%;
  }
}

.news-img {
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  -webkit-transition: all 0s linear 1s;
          transition: all 0s linear 1s;
  text-align: center;
}

@media (min-width: 48em) {
  .news-img {
    left: auto;
    width: 100%;
    right: 0;
  }
}

.news-img figure {
  display: inline-block;
  overflow: hidden;
  margin: 0;
}

.news-img figure:after {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #f0ece4;
  -webkit-transform-origin: top center;
      -ms-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: scale3d(1, 0, 1);
          transform: scale3d(1, 0, 1);
}

.news-img figure img {
  display: block;
  margin: auto;
  max-width: 100%;
  height: auto;
  width: auto;
}

.news-img.js-reveal img {
  opacity: 0;
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translate3d(-40px, 0, 0);
          transform: translate3d(-40px, 0, 0);
  -webkit-transition: all 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.7s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.news-img.active {
  opacity: 1;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}

.news-img.active.is-visible figure:after {
  -webkit-animation: showImgVertical 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards 1.05s;
          animation: showImgVertical 1s cubic-bezier(0.785, 0.135, 0.15, 0.86) forwards 1.05s;
}

.news-img.active.is-visible figure img {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.news-arrows {
  font-size: 0;
  margin-top: 20px;
  text-align: center;
}

@media (min-width: 48em) {
  .news-arrows {
    text-align: left;
  }
}

.news-arrows .btn {
  width: 70px;
  height: 65px;
  padding: 0;
  line-height: 60px;
  text-align: center;
}

.news-arrows .btn.next {
  left: -1px;
}

.news-arrows .btn:before {
  width: 140%;
  padding-top: 140%;
}

.news-arrows .btn .icon * {
  -webkit-transition: all 0.5s ease;
          transition: all 0.5s ease;
}

.news-arrows .btn:hover .icon * {
  fill: #FFF;
}

@media (min-width: 48em) {
  .section-landing {
    height: calc(100vh - 16.6666vw);
    min-height: 600px;
  }
}

.section-landing .grid__row,
.section-landing [class*="grid__col-m"] {
  height: 100%;
}

.section-landing .u-table {
  padding-bottom: 40px;
  width: 100%;
}

@media (min-width: 48em) {
  .section-landing .u-table {
    height: 100%;
    padding-bottom: 0;
  }
}

.section-landing .u-table .u-cell {
  width: 100%;
  vertical-align: middle;
}

.section-landing .main-logo {
  background-image: url(../svg/layout/logo.svg);
  position: absolute;
  top: -85px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
  width: 200px;
  height: 72px;
}

@media (min-width: 62em) {
  .section-landing .main-logo {
    width: 310px;
    height: 242px;
    top: -20px;
  }
}

.section-landing .slider {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.section-landing .slider .slick-list,
.section-landing .slider .slick-track {
  height: 100%;
}

.section-landing .slider .slide {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.section-landing .slider .slide.show figure.is-loaded {
  -webkit-transition: -webkit-transform 40s cubic-bezier(0.445, 0.05, 0.55, 0.95);
          transition: transform 40s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  -webkit-transform: scale3d(2, 2, 1);
          transform: scale3d(2, 2, 1);
}

.section-landing .slider .slide figure {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center no-repeat;
  background-repeat: no-repeat;
}

.section-landing .slider.js-reveal {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  overflow: hidden;
}

.section-landing .slider.js-reveal .slide {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
}

.section-landing .slider.js-reveal.is-visible {
  -webkit-transition: all 0.6s cubic-bezier(1, 0, 0, 1);
          transition: all 0.6s cubic-bezier(1, 0, 0, 1);
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.section-landing .slider.js-reveal.is-visible .slide {
  -webkit-transition: all 0.6s cubic-bezier(1, 0, 0, 1);
          transition: all 0.6s cubic-bezier(1, 0, 0, 1);
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

.section-landing .content {
  /*position: absolute;
		width: 100%;
		top: 50%;
		transform: translateY(-50%);*/
}

@media (min-width: 62em) {
  .section-landing .content {
    margin-top: 10em;
  }
}

@media (min-width: 80em) {
  .section-landing .content {
    margin-top: 9em;
  }
}

.section-landing .content h2 .line {
  display: inline-block;
  overflow: hidden;
}

.section-landing .content h2 .line .line-inner {
  display: inline-block;
}

.section-landing .content h2 .line:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #ff3333;
}

.section-landing .content h2.js-reveal .line:after {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
}

.section-landing .content h2.js-reveal .line .line-inner {
  -webkit-transform: translateY(30%);
      -ms-transform: translateY(30%);
          transform: translateY(30%);
  opacity: 0;
}

.section-landing .content h2.js-reveal:before {
  -webkit-transform: scale3d(0.6, 0.6, 1) translateY(40%) translateX(-50%);
          transform: scale3d(0.6, 0.6, 1) translateY(40%) translateX(-50%);
  opacity: 0;
  -webkit-transform-origin: -25% 50%;
      -ms-transform-origin: -25% 50%;
          transform-origin: -25% 50%;
}

.section-landing .content h2.js-reveal.is-visible .line:after {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s;
          transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s;
}

.section-landing .content h2.js-reveal.is-visible .line .line-inner {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(1, 0, 0, 1) 0.45s;
          transition: all 0.4s cubic-bezier(1, 0, 0, 1) 0.45s;
}

.section-landing .content h2.js-reveal.is-visible:before {
  -webkit-transition: all 0.45s ease 0.7s;
          transition: all 0.45s ease 0.7s;
  opacity: 0.15;
  -webkit-transform: scale3d(1, 1, 1) translateY(0%) translateX(-50%);
          transform: scale3d(1, 1, 1) translateY(0%) translateX(-50%);
}

.section-landing .content .btns {
  font-size: 0;
  text-align: center;
  margin-top: 2.5rem;
}

.section-landing .content .btns.js-reveal {
  -webkit-transform: translateY(40%);
      -ms-transform: translateY(40%);
          transform: translateY(40%);
  opacity: 0;
}

.section-landing .content .btns.js-reveal.is-visible {
  -webkit-transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s;
          transition: all 0.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s;
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

@media (min-width: 80em) {
  .section-landing .content .btns {
    margin-top: 3rem;
  }
}

.section-landing .content .btns .btn {
  font-size: 16.2px;
}

.section-landing .content .btns .btn:first-child {
  margin-right: -1px;
}

.section-presentation {
  margin-bottom: 20px;
}

@media (min-width: 48em) {
  .section-presentation {
    margin-top: 40px;
    margin-bottom: 50px;
  }
}

@media (min-width: 80em) {
  .section-presentation {
    margin-bottom: 60px;
  }
}

@media (min-width: 120em) {
  .section-presentation {
    margin-bottom: 100px;
  }
}

@media (min-width: 48em) {
  .section-presentation h2 {
    margin-bottom: 1.45em;
  }
}

@media (min-width: 62em) {
  .section-presentation.presentation1 .imgs {
    top: 6rem;
  }
}

@media (min-width: 48em) {
  .section-presentation.presentation1 .imgs .left-img {
   bottom: -15%;
    width: 33%;
    right: 80%;

  }
}

@media (min-width: 62em) {
  .section-presentation.presentation2 .imgs {
    top: 5rem;
  }
}

@media (min-width: 48em) {
  .section-presentation.presentation2 .imgs .right-img {
    bottom: 15%;
    left: 75%;
  }
}

.section-presentation.presentation2 .imgs .main-img:after {
  left: auto;
  right: 100%;
  margin-right: -20px;
  margin-left: 0;
}

.section-presentation.presentation2 .imgs .box {
  left: 90%;
  right: auto;
  bottom: 5%;
  height: 20%;
}

@media (min-width: 80em) {
  .section-presentation.presentation2 {
    margin-bottom: 80px;
  }
}

@media (min-width: 62em) {
  .section-presentation.presentation3 .imgs {
    top: 6rem;
  }
}

@media (min-width: 48em) {
  .section-presentation.presentation3 .imgs .left-img {
    bottom: -10%;
   
  }
}

.section-presentation.presentation3 .imgs .box {
  left: 50%;
  right: auto;
  bottom: 20%;
  top: -10%;
  height: 120%;
  -webkit-transform: translate3d(-50%, 0, 0);
          transform: translate3d(-50%, 0, 0);
}

.section-presentation.presentation3 .imgs .box.js-reveal {
  -webkit-transform: scale3d(1, 0, 1) translate3d(-50%, 0, 0);
          transform: scale3d(1, 0, 1) translate3d(-50%, 0, 0);
}

.section-presentation.presentation3 .imgs .box.js-reveal.is-visible {
  -webkit-transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0);
          transform: scale3d(1, 1, 1) translate3d(-50%, 0, 0);
}

@media (min-width: 80em) {
  .section-presentation.presentation3 {
    margin-bottom: 100px;
  }
}

@media (min-width: 120em) {
  .section-presentation.presentation3 {
    margin-bottom: 200px;
  }
}

.section-team {
  background: #231f20;
  color: #FFF;
  padding: 0 10px;
  padding-top: 70px;
  padding-bottom: 30px;
  margin-bottom: 40px;
}

@media (min-width: 48em) {
  .section-team {
    padding-top: 6em;
    padding-bottom: 6em;
    margin-bottom: 5em;
  }
}

.section-team h2 {
  color: #ff3333;
}

@media (min-width: 48em) {
  .section-team p {
    width: 85%;
  }
}

.section-team .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  left: 0;
  background-position: 45% 0%;
  background-repeat: no-repeat;
  background-size: auto 30%;
}

.section-team .bg:after {
  content: '';
  background: #231f20;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
}

@media (min-width: 48em) {
  .section-team .bg {
    background-position: 5% 50%;
    background-repeat: no-repeat;
    background-size: auto 100%;
  }
}

@media (min-width: 80em) {
  .section-team .bg:after {
    opacity: 0;
  }
}

@media (min-width: 48em) {
  .section-team .main-img {
    -webkit-transform: translate3d(0, -10em, 0);
            transform: translate3d(0, -10em, 0);
  }
}

@media (min-width: 62em) {
  .section-team .main-img {
    -webkit-transform: translate3d(0, -12em, 0);
            transform: translate3d(0, -12em, 0);
  }
}

.section-team .img2 {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

@media (min-width: 48em) {
  .section-team .img2 {
    margin-top: 40px !important;
    margin-bottom: -10em;
  }
}

.section-team .separator {
  opacity: 0.4;
  position: absolute;
  left: 50%;
  bottom: 3.5em;
}

.section-team .separator .separator-inner {
  width: 50vw;
}

.section-team .separator .icon_line * {
  fill: #4d4d4f;
}

.section-404 {
  width: 100%;
  height: calc(100vh - 160px);
  overflow: hidden;
  padding-bottom: 0;
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 48em) {
  .section-404 {
    height: calc(100vh - 160px);
    padding-bottom: 0;
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 62em) {
  .section-404 {
    height: calc(100vh - 160px);
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (min-width: 80em) {
  .section-404 {
    height: calc(100vh - 240px);
    padding-left: 120px;
    padding-right: 120px;
  }
}

.section-404 .grid {
  top: 50%;
  -webkit-transform: translate3d(0, -50%, 0);
          transform: translate3d(0, -50%, 0);
}

.section-404 section {
  width: 100%;
  overflow: hidden;
  height: 100%;
}

.section-404 section h1 {
  font-size: 2.4em;
  line-height: 0.9em;
}

@media (min-width: 48em) {
  .section-404 section h1 {
    font-size: 3.5em;
  }
}

@media (min-width: 62em) {
  .section-404 section h1 {
    font-size: 5em;
  }
}

.section-404 figure {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transform: scale3d(1, 1, 1);
          transform: scale3d(1, 1, 1);
  -webkit-transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
