@charset "UTF-8";
/* !One to rule them all */
@import url("https://fonts.googleapis.com/css?family=Alegreya:400,400i,700,700i,900,900i|Raleway:300,400,500,600,700,800,900");
/*----------------------------------------*/
/* !GENERAL */
/*----------------------------------------*/
/* quand inté terminé mettre '/' à la place de '/html/'*/
/* Font Family */
/* Background gen color */
/**/
/*foncè*/
/*clair*/
/**/
/* Container's max width */
/* boutons creation compte, mdp */
/*----------------------------------------*/
/* !Navigation link color */
/*----------------------------------------*/
/* bouton spécial resa, contact etc.*/
/* bouton mobile */
/*----------------------------------------*/
/* !cycleslider var */
/*----------------------------------------*/
/*----------------------------------------*/
/* !VUES LiSTING */
/*----------------------------------------*/
/*----------------------------------------*/
/* !Formulaire */
/*----------------------------------------*/
/* label */
/* input & textarea */
/**/
/**/
/* textarea */
/**/
/* select */
/**/
/**/
/* submit */
/**/
/* radio & checkbox */
/* file */
/* base functions & mixins */
/*/// @example scss - Usage
///   .element {
///     @include ellipsis;
///   }
	.element {
///     @include ellipsis(50%);
///   }
*/
/* Scss Document */
/* Base Reset & dependencies */
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

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

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

body {
  -ms-font-feature-settings: "liga", "kern";
  -o-font-feature-settings: "liga", "kern";
  font-feature-settings: "liga", "kern";
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * 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, hgroup, main, menu, nav, section, summary {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
}

/*========================================================================== */
/*--- PRINT ---*/
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
            filter: none !important;
    -ms-filter: none !important;
  }

  a, a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }

  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  h2, h3 {
    page-break-after: avoid;
  }
}
/*---------------*/
/* ALERT */
/*---------------*/
.info {
  background-color: #5bc0de !important;
}

.success {
  background-color: #5cb85c !important;
}

.warning {
  background-color: #f0ad4e !important;
}

.alert {
  background-color: #d9534f !important;
}

/**/
.info a {
  color: #5bc0de !important;
}

.success a {
  color: #5cb85c !important;
}

.warning a {
  color: #f0ad4e !important;
}

.alert a {
  color: #d9534f !important;
}

/*---------------*/
/* VIDEO */
/*---------------*/
.video {
  height: 0;
  padding-top: 25px;
  padding-bottom: 67.5%;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
}

.video.widescreen {
  padding-bottom: 56.34%;
}

.video.vimeo {
  padding-top: 0;
}

.video iframe, .video object, .video embed, .video video {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
}

/*---------------*/
/* CNIL COOKIE */
/*---------------*/
#cnil {
  background: #000;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.4);
  left: 0;
  overflow: hidden;
  padding: 20px 5%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999999;
  transform: translate(0, -120%);
}

#cnil p {
  font-size: 1.4rem;
  color: #FFF;
}

#cnil a {
  display: block;
  background: #333;
  color: #FFF;
  font-size: 1.2rem;
  text-transform: uppercase;
  margin: 10px;
  padding: 5px 10px;
  float: right;
}

#cnil a:hover {
  color: #21cdec;
}

#cnil a i {
  margin: 0 10px 0 0;
}

#cnil a:hover i {
  margin: 0 20px 0 0;
}

#cnil.show {
  transform: translate(0, 0);
}

/*---------------*/
/*BTN TOP*/
/*---------------*/
.ontop {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 5px;
  line-height: 30px;
  height: 30px;
  width: 30px;
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-align: center;
  color: #FFF;
  z-index: 8000;
}

.ontop i {
  font-size: 1.6rem;
}

.ontop:hover {
  color: #21cdec;
  background: rgba(0, 0, 0, 0.6);
}

.ontop_showed {
  display: block;
}

/* Core CSS, variables & mixins */
/*---------------*/
/* !MENU GENERAL */
/*---------------*/
#logo a {
  background: url("/images/logo.png") no-repeat 50% 50%/contain rgba(0, 0, 0, 0);
  text-indent: -999em;
  display: block;
  width: 183px;
  height: 67px;
  opacity: 1;
  padding: 0;
  float: left;
  margin: 10px 30px;
  position: relative;
  z-index: 9100;
}

header * {
  transition: all 0.5s;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  padding: 0;
  z-index: 9000;
  background: #FFF;
}

#logo_sogestmar {
  background: url("/images/sogestmar_logo.svg") no-repeat 50% 50%/contain rgba(0, 0, 0, 0);
  text-indent: -999em;
  display: block;
  width: 137px;
  height: 68px;
  opacity: 1;
  padding: 0;
  float: left;
  margin: 10px 30px;
  position: relative;
  z-index: 9100;
}

/* menu */
#menu {
  position: relative;
  z-index: 9000;
}

#menu ul {
  position: absolute;
  right: 0;
}

#menu ul + ul {
  left: 50%;
  right: auto;
  transform: translateX(-50%);
  min-width: 620px;
}

#menu ul li {
  list-style: none;
  display: block;
  float: left;
}

#menu ul li a {
  font-family: "Raleway", sans-serif;
  color: #000;
  display: block;
  float: left;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  position: relative;
  line-height: 90px;
  padding: 0 10px;
}

#menu ul li a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 0;
  width: 100%;
  background: #F4F4F4;
  z-index: -1;
  transition: all 0.5s;
}

#menu ul li:hover > a:before {
  height: 100%;
}

#menu ul li.lang, #menu ul li.contact {
  float: right;
}

#menu ul li.contact a {
  background: #BB1C14;
  color: #FFF;
  padding: 0 30px;
}

#menu ul li.contact a:hover {
  background: #212121;
}

#menu ul li.dispo a {
  background: #444;
  color: #FFF;
}

#menu ul li.dispo a:hover {
  background: #BB1C14;
}

.sogestmar #menu ul li.contact a {
  background: #213557;
}

.sogestmar #menu ul li.contact a:hover {
  background: #BB1C14;
}

/**/
.home #logo a {
  display: none;
}

.home header {
  height: 46px;
}

.home #menu ul li a {
  line-height: 46px;
}

/*---------------*/
/* !MENU MOBILE */
/*---------------*/
#toggle {
  background: url("/images/block_nav.svg") no-repeat scroll center center/65%;
  color: #fff;
  cursor: pointer;
  display: none;
  font-size: 2.4rem;
  height: 46px;
  line-height: 50px;
  text-align: center;
  width: 50px;
  z-index: 10000;
  position: fixed;
  transition: all 0.5s;
}

[data-toggle=deploy_h] #toggle {
  top: 80px;
  left: 0;
  background-color: #BB1C14;
}

/* action du menu deploy_h*/
main, footer, #header_before {
  left: 0;
  position: relative;
}

.deploy_h main, .deploy_h footer, .deploy_h header, .deploy_h #header_before, .deploy_h #toggle {
  left: 250px;
  transition: all 0.5s;
}

.deploy_h #menu {
  left: 0;
}

.deploy_h main, .deploy_h #header_before, .deploy_h #logo a, .deploy_h footer {
  -webkit-filter: blur(2px);
          filter: blur(2px);
}

.deploy_h {
  overflow: hidden;
  position: fixed;
}

/*----------------------*/
/* !MEDIA QUERIES MENU */
/*--------------------*/
@media all and (min-width: 1024px) {
  /* menu fixed */
  .fixed {
    box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.2);
    padding: 0;
    background: #FFF;
  }

  .fixed #menu {
    right: 0;
    top: 0;
    background: #FFF;
  }
}
@media all and (max-width: 1024px) {
  /* menu mobile classic */
  #toggle {
    display: block;
  }

  header {
    background: none;
    position: absolute;
  }

  #menu {
    background: #FFF;
    box-shadow: 3px 0 5px -2px #666;
    left: -260px;
    margin: 0;
    position: fixed;
    top: 0;
    bottom: 0;
    width: 250px;
    display: flex;
    flex-direction: column;
  }

  #menu ul {
    margin: 0;
    width: 210px;
    position: relative;
    left: auto;
    right: auto;
    transform: translateX(0);
  }

  #menu ul:nth-child(1) {
    margin: 0 20px 20px 20px;
    width: 210px;
    bottom: auto;
    position: relative;
    display: block;
    order: 1;
    display: flex;
    flex-direction: column-reverse;
  }

  #menu ul li {
    float: none;
  }

  #menu ul:nth-child(1) li a {
    border: none;
  }

  #menu ul:nth-child(1) li.contact a {
    background-color: #BB1C14;
    color: #fff;
  }

  #menu ul li a {
    color: #212121;
    display: block;
    float: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    line-height: 46px;
  }

  #menu ul:nth-child(1) li.contact a:hover,
#menu ul li a:hover {
    background: #212121;
    color: #FFF;
  }

  #menu ul li a::before {
    display: none;
  }

  #menu ul li.lang, #menu ul li.contact {
    float: none;
  }

  #menu ul li.contact a {
    padding: 0 12px;
    background: #FFF;
    color: #212121;
  }

  #menu ul + ul {
    min-width: inherit;
    padding: 20px 0 0 0;
  }
}
@media all and (max-width: 800px) {
  .home #logo a {
    display: block;
  }

  .home .slider .logo_home {
    display: none;
  }

  #logo a {
    width: 300px;
    height: 116px;
    margin: 0 auto;
    float: none;
    top: 50px;
  }
}
@media all and (max-width: 480px) {
  #logo a {
    width: 160px;
    height: 76px;
  }
}
/*---------------*/
/* !FORMULAIRE */
/*---------------*/
fieldset {
  margin: 10px 0;
  border: 1px solid #DDD;
}

legend {
  font-size: 1.6rem;
  padding: 0 10px;
}

.rowElem {
  margin: 15px 0;
  position: relative;
}

.radioElem, .checkboxElem, .selectElem {
  position: relative;
}

input, textarea, select {
  display: inline-block;
  height: 42px;
  outline: none;
  font-size: 16px;
  vertical-align: top;
  width: 100%;
  padding: 0 0 0 36px;
  transition: all 0.5s;
}
input::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #999;
  opacity: 1;
  font-weight: 300;
}
input:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
  color: #999;
  font-weight: 300;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
  color: #999;
  font-weight: 300;
}

input[type=button], input[type=reset], input[type=submit] {
  padding: 0;
}

/* input */
input {
  background: #FFF;
  border: 1px solid #BDC3C7;
  color: #000;
  border-radius: 0;
}

input:hover {
  background: #FFF;
  border: 1px solid #BB1C14;
  color: #999;
  border-radius: 0;
}

input:focus, textarea:focus {
  background: #FFF;
  border: 1px solid #BB1C14;
  color: #999;
  border-radius: 0;
}

input[disabled], textarea[disabled] {
  background: #CCC;
  border: 2px solid #CCC;
  color: #CCC;
}

input[disabled]::-webkit-input-placeholder, textarea[disabled]::-webkit-input-placeholder {
  color: #CCC;
}

input[disabled]::-moz-placeholder, textarea[disabled]::-moz-placeholder {
  color: #CCC;
}

/* submit */
input[type=submit] {
  background: #BB1C14;
  border: 1px solid #BB1C14;
  color: #FFF;
  border-radius: 0;
  font-size: 1.4rem;
  text-shadow: 0 1px rgba(0, 0, 0, 0.08);
  padding: 0;
  transition: all 0.5s;
}

input[type=submit]:hover {
  background: #000;
  border: 1px solid #000;
  color: #FFF;
  border-radius: 0;
}

/* textarea */
textarea {
  background: #FFF;
  border: 1px solid #BDC3C7;
  color: #000;
  border-radius: 0;
  height: 96px;
  line-height: 19px;
  padding: 10px 10px 10px 36px;
  resize: none;
  transition: all 0.5s;
}

textarea:hover {
  background: #FFF;
  border: 1px solid #BB1C14;
  color: #999;
  border-radius: 0;
}

textarea:focus {
  height: 120px;
}

/* label */
label {
  font-size: 1.6rem;
}

label i {
  font-size: 1.4rem !important;
  pointer-events: none;
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  color: #BDC3C7;
  transition: all 0.5s;
}

label span {
  background: #000;
  color: #FFF;
  border-radius: 3px;
  top: -8px;
  font-size: 1.1rem;
  font-weight: 600;
  left: 10px;
  max-height: 0;
  overflow: hidden;
  position: absolute;
  transition: all 0.5s;
  font-family: "Raleway", sans-serif;
}

label.show-label span {
  max-height: 22px;
  padding: 0 10px;
}

/* select */
select {
  background: #FFF;
  color: #000;
  border: 1px solid #BDC3C7;
  border-radius: 0;
  display: block;
  margin: 0;
  outline: none;
  padding: 9px 10px;
  text-indent: 0.01px;
  text-overflow: "";
  z-index: 10;
}

.selectElem {
  position: relative;
}

.selectElem:before {
  content: "";
  pointer-events: none;
  position: absolute;
  z-index: 10;
  background: #FFF;
  border-left: 1px solid #FFF;
  bottom: 2px;
  right: 2px;
  top: 2px;
  width: 34px;
}

.selectElem i {
  right: 10px;
  top: 10px;
  left: auto;
  font-size: 2.2rem;
  z-index: 12;
}

.selectElem:hover i, .selectElem:focus i {
  color: #BB1C14;
}

.selectElem:hover select {
  background: #FFF;
  color: #999;
  border: 1px solid #BB1C14;
  border-radius: 0;
}

.selectElem option {
  padding: 0 5px;
}

/* checkbox, radio */
input[type=radio], input[type=checkbox] {
  height: inherit;
  left: 0;
  opacity: 0;
  position: absolute;
  width: inherit;
}

.radio, .checkbox {
  background: #FFF;
  border: 1px solid #BDC3C7;
  display: inline-block;
  height: 18px;
  margin: 0 2px 0 0;
  position: relative;
  top: 5px;
  width: 18px;
  max-height: inherit;
  left: 0;
}

.checkbox:before, .radio:before {
  content: "";
  display: none;
}

input:checked + .checkbox:before, input:checked + .radio:before {
  display: block;
}

.checkbox:before {
  border-color: #BB1C14;
  -o-border-image: none;
     border-image: none;
  border-style: solid;
  border-width: 0 0 3px 3px;
  height: 6px;
  left: 4px;
  position: absolute;
  top: 3px;
  transform: rotate(-45deg);
  width: 9px;
}

input:checked + .checkbox, input:checked + .radio {
  border: 1px solid #BB1C14;
}

.radio {
  border-radius: 20px;
}

.radio:before {
  background: #BB1C14;
  border-radius: 10px;
  height: 7px;
  margin: 4px;
  width: 7px;
}

input:hover + .checkbox, input:hover + .radio {
  border-color: #BB1C14;
}

input:focus + .checkbox, input:focus + .radio {
  border-color: #BB1C14;
}

input:focus + .radio:before {
  background: #FFF;
}

input:focus + .checkbox:before {
  border-color: 1px solid #BB1C14;
}

checkboxElem:hover label {
  color: #BB1C14;
}

/*file*/
.btnfile {
  height: 34px;
  line-height: 34px;
  padding: 0 16px;
  position: absolute;
  right: 4px;
  top: 4px;
  z-index: 10;
  background: #BB1C14;
  color: #FFF;
  border-radius: 3px;
  max-height: inherit;
  left: auto;
}

input[type=file] {
  bottom: 0;
  cursor: pointer;
  height: 100%;
  opacity: 0;
  padding: 8px 10px;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: 11;
}

.fileElem input[type=file] + input[type=text] {
  padding: 0 0 0 35px;
}

.fileElem input[type=file]:hover + input[type=text] {
  border-color: #BB1C14;
}

/*---------------*/
/* MODAL BOX*/
/*---------------*/
#modal_box {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.9);
  z-index: 10000;
  overflow: hidden;
  visibility: hidden;
}

/**/
.modal_content {
  height: auto;
  left: 50%;
  position: fixed;
  transition: all 0.5s;
  visibility: hidden;
  z-index: 2000;
  background: #FFF;
  padding: 20px 40px;
  top: 50%;
  color: #FFF;
  text-align: center;
  opacity: 0;
  width: 90%;
  max-width: 900px;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-font-smoothing: antialiased;
  transform: translateX(-50%) translateY(-50%) perspective(1px);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.modal_content h3 {
  text-transform: uppercase;
  margin: 0 0 10px 0;
  color: #FFF;
}

.modal_content a {
  display: block;
  padding: 5px 10px;
  background: #FFF;
  color: #00b3be;
  display: inline-block;
  margin: 5px 10px;
}

/**/
.modal_content a:hover {
  padding: 5px 20px;
}

/**/
#modal_box.md_show {
  visibility: visible;
}

.modal_content.md_cshow {
  visibility: visible;
  opacity: 1;
}

/*---------------*/
/* SEARCH SIMPLE */
/*---------------*/
.search_engine {
  position: fixed;
  top: 0;
  left: 0;
  min-height: 86px;
  overflow: hidden;
  width: 100%;
  background: #FFF;
  padding: 0 5%;
  box-shadow: 0 5px 5px 0 rgba(0, 0, 0, 0.4);
  z-index: 40000;
  transform: translateY(-150%);
}

.search_engine input {
  border: none;
  float: left;
  padding: 0;
  margin: 13px 10px;
  width: calc(95% - 20px);
  font-size: 30px;
  height: 60px;
  text-transform: none;
}

.search_engine #search_engine_close {
  display: block;
  float: left;
  font-size: 22px;
  width: calc(5% - 20px);
  margin: 0 10px;
  line-height: 86px;
  text-align: center;
  transition: all 0.5s;
}

.search_engine #search_engine_close:hover {
  display: block;
  transform: rotate(90deg);
  color: #000;
  transform-origin: 50%;
}

.search_showed {
  transform: translateY(0);
}

@media all and (max-width: 480px) {
  .search_engine input {
    float: none;
    width: calc(80% - 20px);
    clear: both;
  }

  .search_engine #search_engine_close {
    float: right;
    width: calc(20% - 20px);
  }
}
.multi .rowElem {
  width: calc(30% - 20px);
  margin: 20px 10px;
  float: left;
}

.multi .rowElem + .rowElem {
  width: calc(65% - 20px);
  margin: 0 10px;
  float: left;
}

.multi .rowElem + .rowElem input {
  border-bottom: 1px solid #CCC;
}

/*---------------*/
/* BREADCRUMBS */
/*---------------*/
.cd-breadcrumb, .cd-multi-steps {
  width: 90%;
  max-width: 768px;
  padding: 0.5em 1em;
  margin: 1em auto;
  background-color: #edeff0;
  border-radius: 0.25em;
}

.cd-breadcrumb:after, .cd-multi-steps:after {
  content: "";
  display: table;
  clear: both;
}

.cd-breadcrumb li, .cd-multi-steps li {
  display: inline-block;
  float: left;
  margin: 0.5em 0;
}

.cd-breadcrumb li::after, .cd-multi-steps li::after {
  /* this is the separator between items */
  display: inline-block;
  content: "»";
  margin: 0 0.6em;
  color: #959fa5;
}

.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after {
  /* hide separator after the last item */
  display: none;
}

.cd-breadcrumb li > *, .cd-multi-steps li > * {
  /* single step */
  display: inline-block;
  font-size: 1.4rem;
  color: #2c3f4c;
}

.cd-breadcrumb li.current > *, .cd-multi-steps li.current > * {
  /* selected step */
  color: #BB1C14;
}

.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
  /* steps already visited */
  color: #BB1C14;
}

.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
  /* replace the default arrow separator with a custom icon */
  content: "";
  height: 16px;
  width: 16px;
  background: url(/images/_sources/cd-custom-separator.svg) no-repeat center center;
  vertical-align: middle;
}

.cd-breadcrumb.custom-icons li > *::before, .cd-multi-steps.custom-icons li > *::before {
  /* add a custom icon before each item */
  content: "";
  display: inline-block;
  height: 20px;
  width: 20px;
  margin-right: 0.4em;
  margin-top: -2px;
  background: url(/images/_sources/cd-custom-icons-01.svg) no-repeat 0 0;
  vertical-align: middle;
}

.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(2) > *::before {
  /* change custom icon using image sprites */
  background-position: -20px 0;
}

.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(3) > *::before {
  background-position: -40px 0;
}

.cd-breadcrumb.custom-icons li:not(.current):nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li:not(.current):nth-of-type(4) > *::before {
  background-position: -60px 0;
}

.cd-breadcrumb.custom-icons li.current:first-of-type > *::before, .cd-multi-steps.custom-icons li.current:first-of-type > *::before {
  /* change custom icon for the current item */
  background-position: 0 -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(2) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(2) > *::before {
  background-position: -20px -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(3) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(3) > *::before {
  background-position: -40px -20px;
}

.cd-breadcrumb.custom-icons li.current:nth-of-type(4) > *::before, .cd-multi-steps.custom-icons li.current:nth-of-type(4) > *::before {
  background-position: -60px -20px;
}

@media only screen and (min-width: 768px) {
  .cd-breadcrumb, .cd-multi-steps {
    padding: 0 1.2em;
  }

  .cd-breadcrumb li, .cd-multi-steps li {
    margin: 1.2em 0;
  }

  .cd-breadcrumb li::after, .cd-multi-steps li::after {
    margin: 0 1em;
  }

  .cd-breadcrumb li > *, .cd-multi-steps li > * {
    font-size: 1.4rem;
  }
}
/* -------------------------------- 
Triangle breadcrumb
-------------------------------- */
@media only screen and (min-width: 768px) {
  .cd-breadcrumb.triangle {
    /* reset basic style */
    background-color: transparent;
    padding: 0;
  }

  .cd-breadcrumb.triangle li {
    position: relative;
    padding: 0;
    margin: 4px 4px 4px 0;
  }

  .cd-breadcrumb.triangle li:last-of-type {
    margin-right: 0;
  }

  .cd-breadcrumb.triangle li > * {
    position: relative;
    padding: 1em 0.8em 1em 2.5em;
    color: #2c3f4c;
    background-color: #edeff0;
    /* the border color is used to style its ::after pseudo-element */
    border-color: #edeff0;
  }

  .cd-breadcrumb.triangle li.current > * {
    /* selected step */
    color: #ffffff;
    background-color: #BB1C14;
    border-color: #BB1C14;
  }

  .cd-breadcrumb.triangle li:first-of-type > * {
    padding-left: 1.6em;
    border-radius: 0.25em 0 0 0.25em;
  }

  .cd-breadcrumb.triangle li:last-of-type > * {
    padding-right: 1.6em;
    border-radius: 0 0.25em 0.25em 0;
  }

  .no-touch .cd-breadcrumb.triangle a:hover {
    /* steps already visited */
    color: #ffffff;
    background-color: #2c3f4c;
    border-color: #2c3f4c;
  }

  .cd-breadcrumb.triangle li::after, .cd-breadcrumb.triangle li > *::after {
    /* 
    	li > *::after is the colored triangle after each item
    	li::after is the white separator between two items
    */
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    content: "";
    height: 0;
    width: 0;
    /* 48px is the height of the <a> element */
    border: 24px solid transparent;
    border-right-width: 0;
    border-left-width: 20px;
  }

  .cd-breadcrumb.triangle li::after {
    /* this is the white separator between two items */
    z-index: 1;
    transform: translateX(4px);
    border-left-color: #ffffff;
    /* reset style */
    margin: 0;
  }

  .cd-breadcrumb.triangle li > *::after {
    /* this is the colored triangle after each element */
    z-index: 2;
    border-left-color: inherit;
  }

  .cd-breadcrumb.triangle li:last-of-type::after, .cd-breadcrumb.triangle li:last-of-type > *::after {
    /* hide the triangle after the last step */
    display: none;
  }

  .cd-breadcrumb.triangle.custom-separator li::after {
    /* reset style */
    background-image: none;
  }

  .cd-breadcrumb.triangle.custom-icons li::after, .cd-breadcrumb.triangle.custom-icons li > *::after {
    /* 50px is the height of the <a> element */
    border-top-width: 25px;
    border-bottom-width: 25px;
  }

  @-moz-document url-prefix() {
    .cd-breadcrumb.triangle li::after, .cd-breadcrumb.triangle li > *::after {
      /* fix a bug on Firefix - tooth edge on css triangle */
      border-left-style: dashed;
    }
  }
}
/* -------------------------------- 
Custom icons hover effects - breadcrumb
-------------------------------- */
@media only screen and (min-width: 768px) {
  .no-touch .cd-breadcrumb.triangle.custom-icons li:first-of-type a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:first-of-type em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:first-of-type a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:first-of-type em::before {
    /* change custom icon using image sprites - hover effect or current item */
    background-position: 0 -40px;
  }

  .no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(2) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(2) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(2) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(2) em::before {
    background-position: -20px -40px;
  }

  .no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(3) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(3) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(3) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(3) em::before {
    background-position: -40px -40px;
  }

  .no-touch .cd-breadcrumb.triangle.custom-icons li:nth-of-type(4) a:hover::before, .cd-breadcrumb.triangle.custom-icons li.current:nth-of-type(4) em::before, .no-touch .cd-multi-steps.text-center.custom-icons li:nth-of-type(4) a:hover::before, .cd-multi-steps.text-center.custom-icons li.current:nth-of-type(4) em::before {
    background-position: -60px -40px;
  }
}
/*---------------*/
/* PAGINATION */
/*---------------*/
.paging {
  text-align: center;
}

.pagine {
  width: 90%;
  max-width: 768px;
  margin: 2em auto 4em;
  text-align: center;
}

.pagine li {
  display: none;
  margin: 0 0.2em;
}

/* hide numbers on small devices */
.pagine li.button {
  display: inline-block;
}

/* make sure prev next buttons are visible */
.pagine a, .pagine span {
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  padding: 0.3em 0.6em;
  font-size: 1.6rem;
  transition: all 0.5s;
}

.pagine a {
  border: 1px solid #e6e6e6;
  border-radius: 0.25em;
  color: #000;
}

.pagine a:hover {
  background-color: #BB1C14;
  border: 1px solid #BB1C14;
}

.pagine a:active {
  transform: scale(0.9);
}

/* click effect */
.pagine a.disabled {
  color: rgba(46, 64, 87, 0.4);
  pointer-events: none;
}

/* button disabled */
.pagine a.disabled::before, .pagine a.disabled::after {
  opacity: 0.4;
}

.pagine .button:first-of-type a::before {
  content: "« ";
}

.pagine .button:last-of-type a::after {
  content: " »";
}

.pagine .active a {
  background-color: #BB1C14;
  border-color: #BB1C14;
  color: #000;
  pointer-events: none;
}

/* selected number */
@media only screen and (min-width: 768px) {
  .pagine li {
    display: inline-block;
  }
}
@media only screen and (min-width: 1170px) {
  .pagine {
    margin: 4em auto 8em;
  }
}
/* -------------------------------- 
No space - remove distance between list items
-------------------------------- */
.pagine.no-space {
  width: auto;
  max-width: none;
  display: inline-block;
  border-radius: 0.25em;
  border: 1px solid #e6e6e6;
}

.pagine.no-space:after {
  content: "";
  display: table;
  clear: both;
}

.pagine.no-space li {
  margin: 0;
  float: left;
  border-right: 1px solid #e6e6e6;
}

.pagine.no-space li:last-of-type {
  border-right: none;
}

.pagine.no-space a, .pagine.no-space span {
  float: left;
  border-radius: 0;
  padding: 0.8em 1em;
  border: none;
}

.pagine.no-space li:first-of-type a {
  border-radius: 0.25em 0 0 0.25em;
}

.pagine.no-space li:last-of-type a {
  border-radius: 0 0.25em 0.25em 0;
}

/* -------------------------------- 
move buttons - move prev and next buttons to the sides
-------------------------------- */
.pagine.move-buttons:after {
  content: "";
  display: table;
  clear: both;
}

.pagine.move-buttons .button:first-of-type {
  float: left;
}

.pagine.move-buttons .button:last-of-type {
  float: right;
}

.pagine.no-space.move-buttons {
  width: 90%;
  max-width: 768px;
  display: block;
  overflow: hidden;
}

.pagine.no-space.move-buttons li {
  float: none;
  border: none;
}

.pagine.no-space.move-buttons a, .pagine.no-space.move-buttons span {
  float: none;
}

/* -------------------------------- 
custom icons - customize the small arrow inside the next and prev buttons 
-------------------------------- */
.pagine.custom-icons .button a {
  position: relative;
}

.pagine.custom-icons .button:first-of-type a {
  padding-left: 2.4em;
}

.pagine.custom-icons .button:last-of-type a {
  padding-right: 2.4em;
}

.pagine.custom-icons .button:first-of-type a::before, .pagine.custom-icons .button:last-of-type a::after {
  content: "";
  position: absolute;
  display: inline-block;
  /* set size for custom icons */
  width: 16px;
  height: 16px;
  top: 50%;
  /* set margin-top = icon height/2 */
  margin-top: -8px;
  background: transparent url("/images/_sources/cd-icon-arrow-1.svg") no-repeat center center;
}

.pagine.custom-icons .button:first-of-type a::before {
  left: 0.8em;
}

.pagine.custom-icons .button:last-of-type a::after {
  right: 0.8em;
  transform: rotate(180deg);
}

/* -------------------------------- 
custom buttons - replace prev and next buttons text with a custom icon 
-------------------------------- */
.pagine.custom-buttons a, .pagine.custom-buttons span {
  vertical-align: middle;
}

.pagine.custom-buttons .button a {
  /* set custom width */
  width: 40px;
  /* image replacement */
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  color: transparent;
  background-image: url("/images/_sources/cd-icon-arrow-2.svg");
  background-repeat: no-repeat;
  background-position: center center;
}

.pagine.custom-buttons .button:last-of-type a {
  transform: rotate(180deg);
}

.no-touch .pagine.custom-buttons .button:last-of-type a:active {
  transform: scale(0.9) rotate(180deg);
}

.pagine.no-space.custom-buttons .button:last-of-type a {
  border-radius: 0.25em 0 0 0.25em;
}

/* -------------------------------- 
animated buttons - animate the text inside prev and next buttons 
-------------------------------- */
.pagine.animated-buttons a, .pagine.animated-buttons span {
  padding: 0 1.4em;
  height: 50px;
  line-height: 50px;
  overflow: hidden;
}

.pagine.animated-buttons .button a {
  position: relative;
  padding: 0 2em;
}

.pagine.animated-buttons .button:first-of-type a::before, .pagine.animated-buttons .button:last-of-type a::after {
  left: 50%;
  transform: translateX(-50%);
  right: auto;
  transition: all 0.3s;
}

.pagine.animated-buttons .button:last-of-type a::after {
  transform: translateX(-50%) rotate(180deg);
}

.pagine.animated-buttons i {
  display: block;
  height: 100%;
  transform: translateY(100%);
  transition: transform 0.3s;
}

.no-touch .pagine.animated-buttons .button a:hover i {
  transform: translateY(0);
}

.no-touch .pagine.animated-buttons .button:first-of-type a:hover::before {
  transform: translateX(-50%) translateY(-50px);
}

.no-touch .pagine.animated-buttons .button:last-of-type a:hover::after {
  transform: translateX(-50%) rotate(180deg) translateY(50px);
}

/* Modules */
/*---------------*/
/* !SLIDER Home */
/*---------------*/
#slideracc {
  height: 88vh;
}

.home #slideracc {
  height: 100vh;
}

.slider {
  position: relative;
  margin: 0 auto 200px 0;
}

.slider h2 {
  display: block;
  font-size: 90px;
  line-height: 70px;
  color: #FFF;
  font-weight: 400;
  text-align: center;
  padding: 0;
  text-transform: uppercase;
  position: absolute;
  bottom: -134px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
}

.slider h2 span {
  color: #000;
  clear: both;
  display: block;
}

.slider h2:after {
  display: none;
}

/**/
.home .slider {
  position: relative;
  margin: 0 auto 100px 0;
  overflow: hidden;
}

.home .slider h2 {
  display: block;
  background: rgba(33, 33, 33, 0.28);
  font-size: 3.5rem;
  line-height: 3.5rem;
  color: #FFF;
  font-weight: 400;
  text-align: center;
  padding: 50px 70px;
  text-transform: uppercase;
  position: absolute;
  max-width: 570px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  bottom: auto;
  width: 80%;
}

.home .slider h2 span {
  font-size: 1.6rem;
  font-weight: 600;
  font-family: "Raleway", sans-serif;
  clear: both;
  display: block;
  color: #FFF;
  text-transform: uppercase;
  font-style: normal;
}

.home .slider h2:after {
  display: none;
}

.home .slider .logo_home {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
}

.home .slide, .home .slide img {
  width: 100%;
}

.slide video {
  height: auto;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
  z-index: -100;
}

#accroche {
  transition: all 0.5s;
}

#accroche.disappear {
  opacity: 0;
}

/**/
.batiments_carou {
  max-width: 100vw;
  overflow: hidden;
  padding: 0 0 20px 0;
  position: relative;
}

.batiments_carou h2 {
  text-align: center;
  margin: 0 auto;
  padding: 40px 0;
}

.batiments_carou h2:after {
  display: none;
}

.batiments_carou .cycle-slideshow {
  position: relative;
  overflow: visible !important;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.batiments_carou .cycle-slideshow:before {
  content: "";
  background: #F2F2F2;
  width: 100%;
  height: 80%;
  position: absolute;
  top: 10%;
  left: 0;
  z-index: -1;
}

.batiments_carou .sliders {
  max-width: 360px;
  min-width: 280px;
  height: 418px;
  position: relative !important;
  text-align: center;
  margin: 20px;
  background: #FFF;
  transition: all 0.5s;
}

.batiments_carou .sliders:hover {
  transform: translateY(-10px);
}

.batiments_carou .sliders:after {
  content: "";
  width: 100%;
  height: 80%;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.batiments_carou .mage {
  position: relative;
}

.batiments_carou h3 {
  display: block;
  font-size: 3.6rem;
  line-height: 3.2rem;
  color: #FFF;
  font-weight: 400;
  text-align: center;
  padding: 0;
  text-transform: uppercase;
  position: absolute;
  bottom: -69px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
}

.batiments_carou .sliders img {
  width: 100%;
}

.batiments_carou h3 span {
  color: #000;
  clear: both;
  display: block;
}

.batiments_carou .txt {
  margin: 60px 0 0 0;
}

.batiments_carou .txt p {
  color: #BBB;
  font-size: 1.5rem;
  font-weight: 600;
  font-family: "Raleway", sans-serif;
  text-transform: uppercase;
  padding: 0;
}

.batiments_carou .txt p + p {
  font-size: 1.6rem;
  padding: 5px 0;
  font-weight: normal;
  color: #000;
  font-family: "Portrait Web", serif;
  font-style: italic;
  text-transform: none;
}

.batiments_carou a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**/
.projets_carou {
  display: flex;
  justify-content: center;
  position: relative;
}

.projets_carou:before {
  content: "";
  background: #F2F2F2;
  width: 100%;
  height: 80%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.projets_carou h2 {
  text-align: center;
  font-size: 3.2rem;
  margin: 0;
  padding: 50px 0 20px 0;
}

.projets_carou h2:after {
  display: none;
}

.projets_carou article {
  width: 38%;
  max-width: 440px;
  display: inline-block;
  margin: 0 40px;
}

.projets_carou article > div {
  background: #FFF;
  position: relative;
  padding: 0 0 80px 0;
}

.projets_carou article > div:after {
  content: "";
  width: 100%;
  height: 80%;
  box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}

.projets_carou img {
  width: 100%;
}

.projets_carou h3 {
  font-size: 4.6rem;
  color: #FFF;
  line-height: 4rem;
  text-align: center;
  transform: translateY(-31px);
  margin: 0;
}

.projets_carou h3 span {
  color: #000;
  display: block;
  clear: both;
}

.projets_carou a {
  font-size: 1.4rem;
  text-transform: uppercase;
  color: #BBB;
  font-family: "Raleway", sans-serif;
  font-weight: 700;
  text-align: center;
  display: block;
  padding: 10px;
  transition: all 0.5s;
}

/**/
.odeon_carou {
  clear: both;
  background: #212121;
  width: 100%;
  position: relative;
}

.odeon_carou img {
  width: 100%;
}

.odeon_carou .descr {
  width: 30%;
  height: 100%;
  background: #212121;
  padding: 3%;
  position: absolute;
  right: 21%;
  top: 0;
  z-index: 1000;
}

.odeon_carou .descr h2 {
  color: #FFF;
  font-size: 4.2rem;
  line-height: 4.2rem;
  margin: 20px auto 0 auto;
}

.odeon_carou .descr h2:after {
  display: none;
}

.odeon_carou .descr p {
  color: #FFF;
  text-align: justify;
  line-height: 1.8rem;
  font-size: 1.6rem;
}

.odeon_carou .cycle-slide {
  margin: 35px 130px 40px -80px;
}

.odeon_carou .cycle-slide a {
  display: block;
}

.odeon_carou .dobble a {
  margin: 0 0 13% 0;
}

.odeon_carou .dobble a + a {
  margin: 0;
}

/**/
.sogest_carou {
  clear: both;
  background: #FFF;
  width: 100%;
  position: relative;
}

.sogest_carou .cycle-slide {
  /*   margin: 35px 130px 40px -80px; */
  margin: 0 10px;
}

/**/
@media all and (max-width: 1180px) {
  .odeon_carou .descr h2 {
    font-size: 3.4rem;
    line-height: 3.4rem;
    margin: 10px auto;
  }

  .odeon_carou .descr p {
    font-size: 1.4rem;
    line-height: 1.6rem;
  }
}
@media all and (max-width: 800px) {
  .odeon_carou .descr {
    width: 50%;
    right: 0;
  }

  .slide video {
    left: auto;
    margin: 0;
    max-height: 100%;
    max-width: 100%;
    min-height: auto;
    position: relative;
    top: auto;
    transform: translate(0px, 0px);
    z-index: 0;
  }

  .home #slideracc {
    height: auto;
  }

  .home .slider {
    margin: 200px auto 100px 0;
  }
}
@media all and (max-width: 640px) {
  .slider {
    margin: 0 auto 130px 0;
  }

  .slider h2 {
    font-size: 6rem;
    line-height: 5rem;
    bottom: -106px;
  }

  .home .slider h2 {
    font-size: 2.5rem;
    line-height: 2.5rem;
    padding: 40px 30px;
  }

  .home .slider h2 span {
    font-size: 1.4rem;
  }

  .odeon_carou .descr {
    width: 100%;
    position: relative;
    padding: 10%;
  }

  .batiments_carou .cycle-slide {
    min-width: 300px;
    margin: 0 40px;
  }

  .batiments_carou h3 {
    font-size: 4rem;
    line-height: 4rem;
    transform: translate(-50%, 11px);
  }

  .projets_carou article {
    min-width: 280px;
    margin: 0 10px;
  }
}
/* 480 galaxy s - 414 iphone 6s */
@media all and (max-width: 480px) {
  .mega_carousel .mega_text {
    width: 90%;
  }

  .mega_carousel .mega_control {
    font-size: 3rem;
  }

  .mega_carousel .cycle-slideshow {
    width: 70vw;
    overflow: visible !important;
    margin: 0 0 0 15vw;
  }

  .mega_carousel .cycle-caption {
    font-size: 1.6rem;
    white-space: nowrap;
  }

  .mega_carousel .pre {
    left: -70vw;
  }

  .mega_carousel .next {
    right: -70vw;
  }

  .projets_carou {
    display: block;
    text-align: center;
  }

  .projets_carou article {
    min-width: 280px;
    margin: 0 10px;
    clear: both;
  }

  .projets_carou h2 {
    font-size: 2.8rem;
  }

  .projets_carou h3 {
    font-size: 4rem;
    line-height: 3rem;
    transform: translateY(-25px);
  }
}
/* 414 -iphone 6s - 375 iphone 6, 360 galaxy s3, nexus , note - htc one - xperia z - */
@media all and (max-width: 414px) {
  .mega_carousel .mega_control {
    line-height: 100px;
    margin: 0 0 40px 0;
  }

  .mega_carousel .mega_control span.active::after {
    bottom: 0;
  }

  #slideracc {
    height: 82vh;
  }

  .slider h2 {
    bottom: -99px;
    font-size: 5rem;
    line-height: 4rem;
  }
}
@media all and (max-width: 320px) {
  /**/
  .batiments_carou .cycle-slide {
    min-width: 300px;
    margin: 0 10px;
  }

  .batiments_carou h3 {
    transform: translate(-50%, 9px);
  }
}
/*---------------*/
/* ACTUS HOME */
/*---------------*/
.n_home {
  background: #BB1C14;
  position: relative;
}

.n_home h2 {
  color: #FFF;
  position: absolute;
  top: 20%;
  right: 25%;
  transform: translateX(50%);
}

.n_home h2:after {
  background: url("/images/h_white.png");
}

.n_home img {
  float: left;
  width: 50%;
}

.n_home .txt {
  position: absolute;
  top: 60%;
  right: 25%;
  transform: translate(50%, -50%);
  width: 29%;
  max-height: 160px;
  overflow: hidden;
}

.n_home h3 {
  font-size: 1.8rem;
  color: #FFF;
  font-weight: 800;
}

.n_home p {
  color: #FFF;
  font-size: 1.4rem;
  text-align: justify;
}

.n_home a {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: block;
}

/**/
@media all and (max-width: 800px) {
  .n_home h2 {
    top: 15%;
  }

  .n_home .txt {
    width: 39%;
    top: 65%;
  }
}
/* 480 galaxy s - 414 iphone 6s */
@media all and (max-width: 480px) {
  .n_home {
    padding: 30px 0;
  }

  .n_home h2 {
    position: relative;
    top: auto;
    right: auto;
    transform: translateX(0);
  }

  .n_home img {
    float: none;
    width: 100%;
  }

  .n_home .txt {
    position: relative;
    top: auto;
    right: auto;
    transform: translate(0, 0);
    width: 80%;
    max-height: none;
    margin: 40px 10% 0 10%;
  }
}
/* 414 -iphone 6s - 375 iphone 6, 360 galaxy s3, nexus , note - htc one - xperia z - */
/*---------------*/
/* ALBUMS PHOTOS */
/*---------------*/
#albumphoto_listing figure {
  cursor: pointer;
  float: left;
  height: auto;
  margin: 10px 1%;
  min-width: 320px;
  max-height: 360px;
  max-width: 480px;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 48%;
}

#albumphoto_listing figure img {
  display: block;
  opacity: 0.8;
  position: relative;
}

#albumphoto_listing figure figcaption {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  color: #fff;
  font-size: 1.25em;
  text-transform: uppercase;
  padding: 2em;
}

#albumphoto_listing figure figcaption::before, #albumphoto_listing figure figcaption::after {
  pointer-events: none;
}

#albumphoto_listing figure figcaption, #albumphoto_listing figure figcaption > a {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

#albumphoto_listing figure figcaption > a {
  font-size: 0;
  opacity: 0;
  text-indent: 200%;
  white-space: nowrap;
  z-index: 1000;
}

#albumphoto_listing figure h3 {
  font-weight: 800;
  word-spacing: -0.15em;
  font-size: 1em;
}

#albumphoto_listing figure h3 span {
  font-weight: 300;
}

#albumphoto_listing figure h3, #albumphoto_listing figure p {
  margin: 0;
}

#albumphoto_listing figure p {
  font-size: 68.5%;
  letter-spacing: 1px;
  color: #FFF;
}

#albumphoto_listing ul li {
  list-style: none;
}

#albumphoto_listing > * {
  border-sizing: border-box;
}

/*---------------*/
/***** Lexi *****/
/*---------------*/
figure.effect-lexi {
  background: linear-gradient(-45deg, #000 0%, #fff 100%);
}

figure.effect-lexi img {
  margin: -10px 0 0 -10px;
  max-width: none;
  width: calc(100% + 10px);
  opacity: 0.9;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(10px, 10px, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-lexi figcaption::before, figure.effect-lexi p {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-lexi figcaption::before {
  position: absolute;
  right: -100px;
  bottom: -100px;
  width: 300px;
  height: 300px;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 900px rgba(255, 255, 255, 0.2);
  content: "";
  opacity: 0;
  transform: scale3d(0.5, 0.5, 1);
  transform-origin: 50% 50%;
}

figure.effect-lexi:hover img {
  opacity: 0.6;
  transform: translate3d(0, 0, 0);
}

figure.effect-lexi h3 {
  text-align: left;
  transition: transform 0.35s;
  transform: translate3d(5px, 5px, 0);
}

figure.effect-lexi p {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0 1.5em 1.5em 0;
  width: 140px;
  text-align: right;
  opacity: 0;
  transform: translate3d(20px, 20px, 0);
}

figure.effect-lexi:hover figcaption::before {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

figure.effect-lexi:hover h3, figure.effect-lexi:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Julia *****/
/*---------------*/
figure.effect-julia {
  background: #2f3238;
}

figure.effect-julia img {
  max-width: none;
  height: 400px;
  transition: opacity 1s, transform 1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-julia figcaption {
  text-align: left;
}

figure.effect-julia h3 {
  position: relative;
  padding: 0.5em 0;
}

figure.effect-julia p {
  display: inline-block;
  margin: 0 0 0.25em;
  padding: 0.4em 1em;
  background: rgba(255, 255, 255, 0.9);
  color: #2f3238;
  text-transform: none;
  font-weight: 500;
  font-size: 75%;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-360px, 0, 0);
}

figure.effect-julia p:first-child {
  transition-delay: 0.15s;
}

figure.effect-julia p:nth-of-type(2) {
  transition-delay: 0.1s;
}

figure.effect-julia p:nth-of-type(3) {
  transition-delay: 0.05s;
}

figure.effect-julia:hover p:first-child {
  transition-delay: 0s;
}

figure.effect-julia:hover p:nth-of-type(2) {
  transition-delay: 0.05s;
}

figure.effect-julia:hover p:nth-of-type(3) {
  transition-delay: 0.1s;
}

figure.effect-julia:hover img {
  opacity: 0.4;
  transform: scale3d(1.1, 1.1, 1);
}

figure.effect-julia:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*-----------------*/
/***** Goliath *****/
/*-----------------*/
figure.effect-goliath {
  background: #df4e4e;
}

figure.effect-goliath img, figure.effect-goliath h3 {
  transition: transform 0.35s;
}

figure.effect-goliath img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-goliath h3, figure.effect-goliath p {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 30px;
}

figure.effect-goliath p {
  text-transform: none;
  font-size: 90%;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 50px, 0);
}

figure.effect-goliath:hover img {
  transform: translate3d(0, -80px, 0);
}

figure.effect-goliath:hover h3 {
  transform: translate3d(0, -100px, 0);
}

figure.effect-goliath:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*-----------------*/
/***** Hera *****/
/*-----------------*/
figure.effect-hera {
  background: #303fa9;
}

figure.effect-hera h3 {
  font-size: 158.75%;
}

figure.effect-hera h3, figure.effect-hera p {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-50%, -50%, 0);
  transform-origin: 50%;
}

figure.effect-hera figcaption::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  border: 2px solid #fff;
  content: "";
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, -45deg) scale3d(0, 0, 1);
  transform-origin: 50%;
}

figure.effect-hera p {
  width: 100px;
  text-transform: none;
  font-size: 121%;
  line-height: 2;
}

figure.effect-hera p a {
  color: #fff;
}

figure.effect-hera p a:hover, figure.effect-hera p a:focus {
  opacity: 0.6;
}

figure.effect-hera p a i {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-hera p a:first-child i {
  transform: translate3d(-60px, -60px, 0);
}

figure.effect-hera p a:nth-child(2) i {
  transform: translate3d(60px, -60px, 0);
}

figure.effect-hera p a:nth-child(3) i {
  transform: translate3d(-60px, 60px, 0);
}

figure.effect-hera p a:nth-child(4) i {
  transform: translate3d(60px, 60px, 0);
}

figure.effect-hera:hover figcaption::before {
  opacity: 1;
  transform: translate3d(-50%, -50%, 0) rotate3d(0, 0, 1, -45deg) scale3d(1, 1, 1);
}

figure.effect-hera:hover h3 {
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scale3d(0.8, 0.8, 1);
}

figure.effect-hera:hover p i:empty {
  transform: translate3d(0, 0, 0);
  /* just because it's stronger than nth-child */
  opacity: 1;
}

/*-----------------*/
/***** Winston *****/
/*-----------------*/
figure.effect-winston {
  background: #162633;
  text-align: left;
}

figure.effect-winston img {
  transition: opacity 0.45s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-winston figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/triangle.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  transition: opacity 0.45s, transform 0.45s;
  transform: rotate3d(0, 0, 1, 45deg);
  transform-origin: 0 100%;
}

figure.effect-winston h3 {
  transition: transform 0.35s;
  transform: translate3d(0, 20px, 0);
}

figure.effect-winston p {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0 1.5em 7% 0;
}

figure.effect-winston a {
  margin: 0 10px;
  color: #5d504f;
  font-size: 170%;
}

figure.effect-winston a:hover, figure.effect-winston a:focus {
  color: #cc6055;
}

figure.effect-winston p a i {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 50px, 0);
}

figure.effect-winston:hover img {
  opacity: 0.6;
}

figure.effect-winston:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-winston:hover figcaption::before {
  opacity: 0.7;
  transform: rotate3d(0, 0, 1, 20deg);
}

figure.effect-winston:hover p i {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

figure.effect-winston:hover p a:nth-child(3) i {
  transition-delay: 0.05s;
}

figure.effect-winston:hover p a:nth-child(2) i {
  transition-delay: 0.1s;
}

figure.effect-winston:hover p a:first-child i {
  transition-delay: 0.15s;
}

/*-----------------*/
/***** Selena *****/
/*-----------------*/
figure.effect-selena {
  background: #fff;
}

figure.effect-selena img {
  opacity: 0.95;
  transition: transform 0.35s;
  transform-origin: 50% 50%;
}

figure.effect-selena:hover img {
  transform: scale3d(0.95, 0.95, 1);
}

figure.effect-selena h3 {
  transition: transform 0.35s;
  transform: translate3d(0, 20px, 0);
}

figure.effect-selena p {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: perspective(1000px) rotate3d(1, 0, 0, 90deg);
  transform-origin: 50% 0%;
}

figure.effect-selena:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-selena:hover p {
  opacity: 1;
  transform: perspective(1000px) rotate3d(1, 0, 0, 0);
}

/*-----------------*/
/***** Terry *****/
/*-----------------*/
figure.effect-terry {
  background: #34495e;
}

figure.effect-terry figcaption {
  padding: 1em;
}

figure.effect-terry figcaption::before, figure.effect-terry figcaption::after {
  position: absolute;
  width: 200%;
  height: 200%;
  border-style: solid;
  border-color: #101010;
  content: "";
  transition: transform 0.35s;
}

figure.effect-terry figcaption::before {
  right: 0;
  bottom: 0;
  border-width: 0 70px 60px 0;
  transform: translate3d(70px, 60px, 0);
}

figure.effect-terry figcaption::after {
  top: 0;
  left: 0;
  border-width: 15px 0 0 15px;
  transform: translate3d(-15px, -15px, 0);
}

figure.effect-terry img, figure.effect-terry p a {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-terry img {
  opacity: 0.85;
}

figure.effect-terry h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0.4em 10px;
  width: 50%;
  transition: transform 0.35s;
  transform: translate3d(100%, 0, 0);
}

@media screen and (max-width: 920px) {
  figure.effect-terry h3 {
    padding: 0.75em 10px;
    font-size: 120%;
  }
}
figure.effect-terry p {
  float: right;
  clear: both;
  text-align: left;
  text-transform: none;
  font-size: 111%;
}

figure.effect-terry p a {
  display: block;
  margin-bottom: 1em;
  color: #fff;
  opacity: 0;
  transform: translate3d(90px, 0, 0);
}

figure.effect-terry p a:hover, figure.effect-terry p a:focus {
  color: #f3cf3f;
}

figure.effect-terry:hover figcaption::before, figure.effect-terry:hover figcaption::after {
  transform: translate3d(0, 0, 0);
}

figure.effect-terry:hover img {
  opacity: 0.6;
}

figure.effect-terry:hover h3, figure.effect-terry:hover p a {
  transform: translate3d(0, 0, 0);
}

figure.effect-terry:hover p a {
  opacity: 1;
}

figure.effect-terry:hover p a:first-child {
  transition-delay: 0.025s;
}

figure.effect-terry:hover p a:nth-child(2) {
  transition-delay: 0.05s;
}

figure.effect-terry:hover p a:nth-child(3) {
  transition-delay: 0.075s;
}

figure.effect-terry:hover p a:nth-child(4) {
  transition-delay: 0.1s;
}

/*-----------------*/
/***** Phoebe *****/
/*-----------------*/
figure.effect-phoebe {
  background: #675983;
}

figure.effect-phoebe img {
  opacity: 0.85;
  transition: opacity 0.35s;
}

figure.effect-phoebe:hover img {
  opacity: 0.6;
}

figure.effect-phoebe figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/triangle2.svg) no-repeat center center;
  background-size: 100% 100%;
  content: "";
  transition: opacity 0.35s, transform 0.35s;
  transform: scale3d(5, 2.5, 1);
  transform-origin: 50% 50%;
}

figure.effect-phoebe:hover figcaption::before {
  opacity: 0.6;
  transform: scale3d(1, 1, 1);
}

figure.effect-phoebe h3 {
  margin-top: 1em;
  transition: transform 0.35s;
  transform: translate3d(0, 40px, 0);
}

figure.effect-phoebe:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-phoebe p a {
  color: #fff;
  font-size: 140%;
  opacity: 0;
  position: relative;
  display: inline-block;
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-phoebe p a:first-child {
  transform: translate3d(-60px, -60px, 0);
}

figure.effect-phoebe p a:nth-child(2) {
  transform: translate3d(0, 60px, 0);
}

figure.effect-phoebe p a:nth-child(3) {
  transform: translate3d(60px, -60px, 0);
}

figure.effect-phoebe:hover p a {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*-----------------*/
/***** Apollo *****/
/*-----------------*/
figure.effect-apollo {
  background: #3498db;
}

figure.effect-apollo img {
  opacity: 0.95;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale3d(1.05, 1.05, 1);
}

figure.effect-apollo figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  content: "";
  transition: transform 0.6s;
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, -100%, 0);
}

figure.effect-apollo p {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 3em;
  padding: 0 1em;
  max-width: 150px;
  border-right: 4px solid #fff;
  text-align: right;
  opacity: 0;
  transition: opacity 0.35s;
}

figure.effect-apollo h3 {
  text-align: left;
}

figure.effect-apollo:hover img {
  opacity: 0.6;
  transform: scale3d(1, 1, 1);
}

figure.effect-apollo:hover figcaption::before {
  transform: scale3d(1.9, 1.4, 1) rotate3d(0, 0, 1, 45deg) translate3d(0, 100%, 0);
}

figure.effect-apollo:hover p {
  opacity: 1;
  transition-delay: 0.1s;
}

/*-----------------*/
/***** Kira *****/
/*-----------------*/
figure.effect-kira {
  background: #fff;
  text-align: left;
}

figure.effect-kira img {
  transition: opacity 0.35s;
}

figure.effect-kira figcaption {
  z-index: 1;
}

figure.effect-kira p {
  padding: 2.25em 0.5em;
  font-weight: 600;
  font-size: 100%;
  line-height: 1.5;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, -10px, 0);
}

figure.effect-kira p a {
  margin: 0 0.5em;
  color: #101010;
}

figure.effect-kira p a:hover, figure.effect-kira p a:focus {
  opacity: 0.6;
}

figure.effect-kira figcaption::before {
  position: absolute;
  top: 0;
  right: 2em;
  left: 2em;
  z-index: -1;
  height: 3.5em;
  background: #fff;
  content: "";
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 4em, 0) scale3d(1, 0.023, 1);
  transform-origin: 50% 0;
}

figure.effect-kira:hover img {
  opacity: 0.5;
}

figure.effect-kira:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

figure.effect-kira:hover figcaption::before {
  opacity: 0.7;
  transform: translate3d(0, 5em, 0) scale3d(1, 1, 1);
}

/*-----------------*/
/***** Steve *****/
/*-----------------*/
figure.effect-steve {
  z-index: auto;
  overflow: visible;
}

figure.effect-steve:before, figure.effect-steve h3:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  transition: opacity 0.35s;
}

figure.effect-steve:before {
  box-shadow: 0 3px 30px rgba(0, 0, 0, 0.8);
  opacity: 0;
}

figure.effect-steve figcaption {
  z-index: 1;
}

figure.effect-steve img {
  opacity: 1;
  transition: transform 0.35s;
  transform: scale(1);
}

figure.effect-steve h3, figure.effect-steve p {
  background: #fff;
  color: #2d434e;
}

figure.effect-steve h3 {
  position: relative;
  margin-top: 2em;
  padding: 0.25em;
}

figure.effect-steve h3:before {
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
}

figure.effect-steve p {
  margin-top: 1em;
  padding: 0.5em;
  font-weight: 800;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale3d(0.9, 0.9, 1);
}

figure.effect-steve:hover:before {
  opacity: 1;
}

figure.effect-steve:hover img {
  transform: scale(1.02);
}

figure.effect-steve:hover h3:before {
  opacity: 0;
}

figure.effect-steve:hover p {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/*-----------------*/
/***** Moses *****/
/*-----------------*/
figure.effect-moses {
  background: linear-gradient(-45deg, #EC65B7 0%, #05E0D8 100%);
}

figure.effect-moses img {
  opacity: 0.85;
  transition: opacity 0.35s;
}

figure.effect-moses h3, figure.effect-moses p {
  padding: 20px;
  width: 50%;
  height: 50%;
  border: 2px solid #fff;
}

figure.effect-moses h3 {
  padding: 20px;
  width: 50%;
  height: 50%;
  text-align: left;
  transition: transform 0.35s;
  transform: translate3d(10px, 10px, 0);
}

figure.effect-moses p {
  float: right;
  padding: 20px;
  text-align: right;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-50%, -50%, 0);
}

figure.effect-moses:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-moses:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

figure.effect-moses:hover img {
  opacity: 0.6;
}

/*---------------*/
/***** Jazz *****/
/*---------------*/
figure.effect-jazz {
  background: linear-gradient(-45deg, #f3cf3f 0%, #f33f58 100%);
}

figure.effect-jazz img {
  opacity: 0.9;
}

figure.effect-jazz figcaption::after, figure.effect-jazz img, figure.effect-jazz p {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-jazz figcaption::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  content: "";
  opacity: 0;
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 0, 1);
  transform-origin: 50% 50%;
}

figure.effect-jazz h3, figure.effect-jazz p {
  opacity: 1;
  transform: scale3d(0.8, 0.8, 1);
}

figure.effect-jazz h3 {
  padding-top: 26%;
  transition: transform 0.35s;
}

figure.effect-jazz p {
  padding: 0.5em 2em;
  text-transform: none;
  font-size: 0.85em;
  opacity: 0;
}

figure.effect-jazz:hover img {
  opacity: 0.7;
  transform: scale3d(1.05, 1.05, 1);
}

figure.effect-jazz:hover figcaption::after {
  opacity: 1;
  transform: rotate3d(0, 0, 1, 45deg) scale3d(1, 1, 1);
}

figure.effect-jazz:hover h3, figure.effect-jazz:hover p {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/*---------------*/
/***** Ming *****/
/*---------------*/
figure.effect-ming {
  background: #030c17;
}

figure.effect-ming img {
  opacity: 0.9;
  transition: opacity 0.35s;
}

figure.effect-ming figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.2);
  content: "";
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale3d(1.4, 1.4, 1);
}

figure.effect-ming h3 {
  margin: 20% 0 10px 0;
  transition: transform 0.35s;
}

figure.effect-ming p {
  padding: 1em;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale(1.5);
}

figure.effect-ming:hover h3 {
  transform: scale(0.9);
}

figure.effect-ming:hover figcaption::before, figure.effect-ming:hover p {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

figure.effect-ming:hover figcaption {
  background-color: rgba(58, 52, 42, 0);
}

figure.effect-ming:hover img {
  opacity: 0.4;
}

/*---------------*/
/***** Duke *****/
/*---------------*/
figure.effect-duke {
  background: linear-gradient(-45deg, #34495e 0%, #cc6055 100%);
}

figure.effect-duke img, figure.effect-duke p {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-duke:hover img {
  opacity: 0.1;
  transform: scale3d(2, 2, 1);
}

figure.effect-duke h3 {
  transition: transform 0.35s;
  transform: scale3d(0.8, 0.8, 1);
  transform-origin: 50% 100%;
}

figure.effect-duke p {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 20px;
  padding: 30px;
  border: 2px solid #fff;
  text-transform: none;
  font-size: 90%;
  opacity: 0;
  transform: scale3d(0.8, 0.8, 1);
  transform-origin: 50% -100%;
}

figure.effect-duke:hover h3, figure.effect-duke:hover p {
  opacity: 1;
  transform: scale3d(1, 1, 1);
}

/*---------------*/
/***** Lily *****/
/*---------------*/
figure.effect-lily img {
  max-width: none;
  width: calc(100% + 50px);
  opacity: 0.7;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-40px, 0, 0);
}

figure.effect-lily figcaption {
  text-align: left;
}

figure.effect-lily figcaption > div {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2em;
  width: 100%;
  height: 50%;
}

figure.effect-lily h3, figure.effect-lily p {
  transform: translate3d(0, 40px, 0);
}

figure.effect-lily h3 {
  transition: transform 0.35s;
}

figure.effect-lily p {
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.2s, transform 0.35s;
}

figure.effect-lily:hover img, figure.effect-lily:hover p {
  opacity: 1;
}

figure.effect-lily:hover img, figure.effect-lily:hover h3, figure.effect-lily:hover p {
  transform: translate3d(0, 0, 0);
}

figure.effect-lily:hover p {
  transition-delay: 0.05s;
  transition-duration: 0.35s;
}

/*---------------*/
/***** Sadie *****/
/*---------------*/
figure.effect-sadie figcaption::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(72, 76, 97, 0) 0%, rgba(72, 76, 97, 0.8) 75%);
  content: "";
  opacity: 0;
  transform: translate3d(0, 50%, 0);
}

figure.effect-sadie h3 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  color: #484c61;
  transition: transform 0.35s, color 0.35s;
  transform: translate3d(0, -50%, 0);
}

figure.effect-sadie figcaption::before, figure.effect-sadie p {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-sadie p {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 2em;
  width: 100%;
  opacity: 0;
  transform: translate3d(0, 10px, 0);
}

figure.effect-sadie:hover h3 {
  color: #fff;
  transform: translate3d(0, -50%, 0) translate3d(0, -40px, 0);
}

figure.effect-sadie:hover figcaption::before, figure.effect-sadie:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Roxy *****/
/*---------------*/
figure.effect-roxy {
  background: linear-gradient(45deg, #ff89e9 0%, #05abe0 100%);
}

figure.effect-roxy img {
  max-width: none;
  width: calc(100% + 60px);
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-50px, 0, 0);
}

figure.effect-roxy figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: 1px solid #fff;
  content: "";
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-20px, 0, 0);
}

figure.effect-roxy figcaption {
  padding: 3em;
  text-align: left;
}

figure.effect-roxy h3 {
  padding: 30% 0 10px 0;
}

figure.effect-roxy p {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-10px, 0, 0);
}

figure.effect-roxy:hover img {
  opacity: 0.7;
  transform: translate3d(0, 0, 0);
}

figure.effect-roxy:hover figcaption::before, figure.effect-roxy:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Bubba *****/
/*---------------*/
figure.effect-bubba {
  background: #000;
}

figure.effect-bubba img {
  opacity: 1;
  transition: all 0.35s;
  transform: scale(1);
  -webkit-transform: scale(1);
}

figure.effect-bubba:hover img {
  opacity: 0.7;
  transform: scale(1.05);
  -webkit-transform: scale(1.05);
}

figure.effect-bubba figcaption::before, figure.effect-bubba figcaption::after {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  content: "";
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
}

figure.effect-bubba figcaption::before {
  border-top: 4px solid rgba(255, 255, 255, 0.7);
  border-bottom: 4px solid rgba(255, 255, 255, 0.7);
  transform: scale(0, 1);
}

figure.effect-bubba figcaption::after {
  border-right: 4px solid rgba(255, 255, 255, 0.7);
  border-left: 4px solid rgba(255, 255, 255, 0.7);
  transform: scale(1, 0);
}

figure.effect-bubba h3 {
  padding-top: 30%;
  transition: transform 0.35s;
  transform: translate3d(0, -20px, 0);
}

figure.effect-bubba p {
  padding: 20px 2.5em;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 20px, 0);
}

figure.effect-bubba:hover figcaption::before, figure.effect-bubba:hover figcaption::after {
  opacity: 1;
  transform: scale(1);
}

figure.effect-bubba:hover h3, figure.effect-bubba:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Romeo *****/
/*---------------*/
figure.effect-romeo {
  perspective: 1000px;
}

figure.effect-romeo img {
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 0, 300px);
}

figure.effect-romeo:hover img {
  opacity: 0.6;
  transform: translate3d(0, 0, 0);
}

figure.effect-romeo figcaption::before, figure.effect-romeo figcaption::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 1px;
  background: #fff;
  content: "";
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-50%, -50%, 0);
}

figure.effect-romeo:hover figcaption::before {
  opacity: 0.5;
  transform: translate3d(-50%, -50%, 0) rotate(45deg);
}

figure.effect-romeo:hover figcaption::after {
  opacity: 0.5;
  transform: translate3d(-50%, -50%, 0) rotate(-45deg);
}

figure.effect-romeo h3, figure.effect-romeo p {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transition: transform 0.35s;
}

figure.effect-romeo h3 {
  transform: translate3d(0, -50%, 0) translate3d(0, -150%, 0);
}

figure.effect-romeo p {
  padding: 0.25em 2em;
  transform: translate3d(0, -50%, 0) translate3d(0, 150%, 0);
}

figure.effect-romeo:hover h3 {
  transform: translate3d(0, -50%, 0) translate3d(0, -100%, 0);
}

figure.effect-romeo:hover p {
  transform: translate3d(0, -50%, 0) translate3d(0, 100%, 0);
}

/*---------------*/
/***** Layla *****/
/*---------------*/
figure.effect-layla {
  background: #18a367;
}

figure.effect-layla img {
  height: 390px;
}

figure.effect-layla figcaption {
  padding: 3em;
}

figure.effect-layla figcaption::before, figure.effect-layla figcaption::after {
  position: absolute;
  content: "";
  opacity: 0;
}

figure.effect-layla figcaption::before {
  top: 50px;
  right: 30px;
  bottom: 50px;
  left: 30px;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: scale(0, 1);
  transform-origin: 0 0;
}

figure.effect-layla figcaption::after {
  top: 30px;
  right: 50px;
  bottom: 30px;
  left: 50px;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: scale(1, 0);
  transform-origin: 100% 0;
}

figure.effect-layla h3 {
  padding-top: 26%;
  transition: transform 0.35s;
}

figure.effect-layla p {
  padding: 0.5em 2em;
  text-transform: none;
  opacity: 0;
  transform: translate3d(0, -10px, 0);
}

figure.effect-layla img, figure.effect-layla h3 {
  transform: translate3d(0, -30px, 0);
}

figure.effect-layla img, figure.effect-layla figcaption::before, figure.effect-layla figcaption::after, figure.effect-layla p {
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-layla:hover img {
  opacity: 0.7;
  transform: translate3d(0, 0, 0);
}

figure.effect-layla:hover figcaption::before, figure.effect-layla:hover figcaption::after {
  opacity: 1;
  transform: scale(1);
}

figure.effect-layla:hover h3, figure.effect-layla:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

figure.effect-layla:hover figcaption::after, figure.effect-layla:hover h3, figure.effect-layla:hover p, figure.effect-layla:hover img {
  transition-delay: 0.15s;
}

/*---------------*/
/***** Honey *****/
/*---------------*/
figure.effect-honey {
  background: #4a3753;
}

figure.effect-honey img {
  opacity: 0.9;
  transition: opacity 0.35s;
}

figure.effect-honey:hover img {
  opacity: 0.5;
}

figure.effect-honey figcaption::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: #fff;
  content: "";
  transform: translate3d(0, 10px, 0);
}

figure.effect-honey h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1em 1.5em;
  width: 100%;
  text-align: left;
  transform: translate3d(0, -30px, 0);
}

figure.effect-honey h3 i {
  font-style: normal;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, -30px, 0);
}

figure.effect-honey figcaption::before, figure.effect-honey h3 {
  transition: transform 0.35s;
}

figure.effect-honey:hover figcaption::before, figure.effect-honey:hover h3, figure.effect-honey:hover h3 i {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Oscar *****/
/*---------------*/
figure.effect-oscar {
  background: linear-gradient(45deg, #22682a 0%, #9b4a1b 40%, #3a342a 100%);
}

figure.effect-oscar img {
  opacity: 0.9;
  transition: opacity 0.35s;
}

figure.effect-oscar figcaption {
  padding: 3em;
  background-color: rgba(58, 52, 42, 0.7);
  transition: background-color 0.35s;
}

figure.effect-oscar figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: 1px solid #fff;
  content: "";
}

figure.effect-oscar h3 {
  margin: 20% 0 10px 0;
  transition: transform 0.35s;
  transform: translate3d(0, 100%, 0);
}

figure.effect-oscar figcaption::before, figure.effect-oscar p {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale(0);
}

figure.effect-oscar:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-oscar:hover figcaption::before, figure.effect-oscar:hover p {
  opacity: 1;
  transform: scale(1);
}

figure.effect-oscar:hover figcaption {
  background-color: rgba(58, 52, 42, 0);
}

figure.effect-oscar:hover img {
  opacity: 0.4;
}

/*---------------*/
/***** Marley *****/
/*---------------*/
figure.effect-marley figcaption {
  text-align: right;
}

figure.effect-marley h3, figure.effect-marley p {
  position: absolute;
  right: 30px;
  left: 30px;
  padding: 10px 0;
}

figure.effect-marley p {
  bottom: 30px;
  line-height: 1.5;
  transform: translate3d(0, 100%, 0);
}

figure.effect-marley h3 {
  top: 30px;
  transition: transform 0.35s;
  transform: translate3d(0, 20px, 0);
}

figure.effect-marley:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-marley h3::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 4px;
  background: #fff;
  content: "";
  transform: translate3d(0, 40px, 0);
}

figure.effect-marley h3::after, figure.effect-marley p {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-marley:hover h3::after, figure.effect-marley:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Ruby *****/
/*---------------*/
figure.effect-ruby {
  background-color: #17819c;
}

figure.effect-ruby img {
  opacity: 0.7;
  transition: opacity 0.35s, transform 0.35s;
  transform: scale(1.15);
}

figure.effect-ruby:hover img {
  opacity: 0.5;
  transform: scale(1);
}

figure.effect-ruby h3 {
  margin-top: 20%;
  transition: transform 0.35s;
  transform: translate3d(0, 20px, 0);
}

figure.effect-ruby p {
  margin: 1em 0 0;
  padding: 3em;
  border: 1px solid #fff;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, 20px, 0) scale(1.1);
}

figure.effect-ruby:hover h3 {
  transform: translate3d(0, 0, 0);
}

figure.effect-ruby:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/*---------------*/
/***** Milo *****/
/*---------------*/
figure.effect-milo {
  background: #2e5d5a;
}

figure.effect-milo img {
  max-width: none;
  width: calc(100% + 60px);
  opacity: 1;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-30px, 0, 0) scale(1.12);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-milo:hover img {
  opacity: 0.5;
  transform: translate3d(0, 0, 0) scale(1);
}

figure.effect-milo h3 {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 1em 1.2em;
}

figure.effect-milo p {
  padding: 0 10px 0 0;
  width: 50%;
  border-right: 1px solid #fff;
  text-align: right;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-40px, 0, 0);
}

figure.effect-milo:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Dexter *****/
/*---------------*/
figure.effect-dexter {
  background: linear-gradient(to bottom, #258dc8 0%, #683c13 100%);
}

figure.effect-dexter img {
  transition: opacity 0.35s;
}

figure.effect-dexter:hover img {
  opacity: 0.4;
}

figure.effect-dexter figcaption::after {
  position: absolute;
  right: 30px;
  bottom: 30px;
  left: 30px;
  height: calc(50% - 30px);
  border: 7px solid #fff;
  content: "";
  transition: transform 0.35s;
  transform: translate3d(0, -100%, 0);
}

figure.effect-dexter:hover figcaption::after {
  transform: translate3d(0, 0, 0);
}

figure.effect-dexter figcaption {
  padding: 3em;
  text-align: left;
}

figure.effect-dexter p {
  position: absolute;
  right: 60px;
  bottom: 60px;
  left: 60px;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(0, -100px, 0);
}

figure.effect-dexter:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Sarah *****/
/*---------------*/
figure.effect-sarah {
  background: #42b078;
}

figure.effect-sarah img {
  max-width: none;
  width: calc(100% + 20px);
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(-10px, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

figure.effect-sarah:hover img {
  opacity: 0.4;
  transform: translate3d(0, 0, 0);
}

figure.effect-sarah figcaption {
  text-align: left;
}

figure.effect-sarah h3 {
  position: relative;
  overflow: hidden;
  padding: 0.5em 0;
}

figure.effect-sarah h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #fff;
  content: "";
  transition: transform 0.35s;
  transform: translate3d(-100%, 0, 0);
}

figure.effect-sarah:hover h3::after {
  transform: translate3d(0, 0, 0);
}

figure.effect-sarah p {
  padding: 1em 0;
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
  transform: translate3d(100%, 0, 0);
}

figure.effect-sarah:hover p {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/*---------------*/
/***** Zoe *****/
/*---------------*/
figure.effect-zoe figcaption {
  top: auto;
  bottom: 0;
  padding: 1em;
  height: 3.75em;
  background: #fff;
  color: #3c4a50;
  transition: transform 0.35s;
  transform: translate3d(0, 100%, 0);
}

figure.effect-zoe h3 {
  float: left;
}

figure.effect-zoe p.icon-links a {
  float: right;
  color: #3c4a50;
  font-size: 1.4em;
}

figure.effect-zoe:hover p.icon-links a:hover, figure.effect-zoe:hover p.icon-links a:focus {
  color: #252d31;
}

figure.effect-zoe p.description {
  position: absolute;
  bottom: 8em;
  padding: 2em;
  color: #fff;
  text-transform: none;
  font-size: 90%;
  opacity: 0;
  transition: opacity 0.35s;
  -webkit-backface-visibility: hidden;
  /* Fix for Chrome 37.0.2062.120 (Mac) */
}

figure.effect-zoe h3, figure.effect-zoe p.icon-links a {
  transition: transform 0.35s;
  transform: translate3d(0, 200%, 0);
}

figure.effect-zoe p.icon-links a span::before {
  display: inline-block;
  padding: 8px 10px;
  font-family: "feathericons";
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.icon-paper-clip::before {
  content: "";
}

.icon-heart::before {
  content: "";
}

figure.effect-zoe h3 {
  display: inline-block;
}

figure.effect-zoe:hover p.description {
  opacity: 1;
}

figure.effect-zoe:hover figcaption, figure.effect-zoe:hover h3, figure.effect-zoe:hover p.icon-links a {
  transform: translate3d(0, 0, 0);
}

figure.effect-zoe:hover h3 {
  transition-delay: 0.05s;
}

figure.effect-zoe:hover p.icon-links a:nth-child(3) {
  transition-delay: 0.1s;
}

figure.effect-zoe:hover p.icon-links a:nth-child(2) {
  transition-delay: 0.15s;
}

figure.effect-zoe:hover p.icon-links a:first-child {
  transition-delay: 0.2s;
}

/*---------------*/
/***** Chico *****/
/*---------------*/
figure.effect-chico img {
  transition: opacity 0.35s, transform 0.35s;
  transform: scale(1.12);
}

figure.effect-chico:hover img {
  opacity: 0.5;
  transform: scale(1);
}

figure.effect-chico figcaption {
  padding: 3em;
}

figure.effect-chico figcaption::before {
  position: absolute;
  top: 30px;
  right: 30px;
  bottom: 30px;
  left: 30px;
  border: 1px solid #fff;
  content: "";
  transform: scale(1.1);
}

figure.effect-chico figcaption::before, figure.effect-chico p {
  opacity: 0;
  transition: opacity 0.35s, transform 0.35s;
}

figure.effect-chico h3 {
  padding: 20% 0 20px 0;
}

figure.effect-chico p {
  margin: 0 auto;
  max-width: 200px;
  transform: scale(1.5);
}

figure.effect-chico:hover figcaption::before, figure.effect-chico:hover p {
  opacity: 1;
  transform: scale(1);
}

/*--------------*/
/* PARTENAIRES */
/*--------------*/
.partners {
  margin: 100px auto;
}

/*
 * Nivo Lightbox v1.2.0
 * http://dev7studios.com/nivo-lightbox
 *
 * Copyright 2013, Dev7studios
 * Free to use and abuse under the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 */
.nivo-lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99998;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  box-sizing: border-box;
  background: rgba(41, 39, 37, 0.98);
}

.nivo-lightbox-overlay.nivo-lightbox-open {
  visibility: visible;
  opacity: 1;
}

.nivo-lightbox-wrap {
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: 10%;
  right: 10%;
}

.nivo-lightbox-content {
  width: 100%;
  height: 100%;
}

.nivo-lightbox-title-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  text-align: center;
}

.nivo-lightbox-nav {
  display: none;
  padding: 5px 10px;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  background: transparent;
  color: #BB1C14;
  border: 2px solid #BB1C14;
  transition: 0.5s all;
}

.nivo-lightbox-nav:hover {
  background: #BB1C14;
  color: #FFF;
  border: 2px solid #BB1C14;
}

.nivo-lightbox-prev {
  position: absolute;
  top: 50%;
  left: 2%;
}

.nivo-lightbox-next {
  position: absolute;
  top: 50%;
  right: 2%;
}

.nivo-lightbox-close {
  position: absolute;
  top: 2%;
  right: 2%;
  text-transform: uppercase;
  font-weight: 700;
}

.nivo-lightbox-image {
  text-align: center;
}

.nivo-lightbox-image img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  vertical-align: middle;
  display: inline !important;
}

.nivo-lightbox-content iframe {
  width: 100%;
  height: 100%;
}

.nivo-lightbox-inline, .nivo-lightbox-ajax {
  max-height: 100%;
  box-sizing: border-box;
}

.nivo-lightbox-error {
  display: table;
  text-align: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-shadow: 0 1px 1px #000;
}

.nivo-lightbox-error p {
  display: table-cell;
  vertical-align: middle;
}

/* Effects
 **********************************************/
.nivo-lightbox-notouch .nivo-lightbox-effect-fade, .nivo-lightbox-notouch .nivo-lightbox-effect-fadeScale, .nivo-lightbox-notouch .nivo-lightbox-effect-slideLeft, .nivo-lightbox-notouch .nivo-lightbox-effect-slideRight, .nivo-lightbox-notouch .nivo-lightbox-effect-slideUp, .nivo-lightbox-notouch .nivo-lightbox-effect-slideDown, .nivo-lightbox-notouch .nivo-lightbox-effect-fall {
  transition: all 0.2s ease-in-out;
}

/* fadeScale */
.nivo-lightbox-effect-fadeScale .nivo-lightbox-wrap {
  transition: all 0.3s;
  transform: scale(0.7);
}

.nivo-lightbox-effect-fadeScale.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: scale(1);
}

/* slideLeft / slideRight / slideUp / slideDown */
.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight .nivo-lightbox-wrap, .nivo-lightbox-effect-slideUp .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
}

.nivo-lightbox-effect-slideLeft .nivo-lightbox-wrap {
  transform: translateX(-10%);
}

.nivo-lightbox-effect-slideRight .nivo-lightbox-wrap {
  transform: translateX(10%);
}

.nivo-lightbox-effect-slideLeft.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideRight.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateX(0);
}

.nivo-lightbox-effect-slideDown .nivo-lightbox-wrap {
  transform: translateY(-10%);
}

.nivo-lightbox-effect-slideUp .nivo-lightbox-wrap {
  transform: translateY(10%);
}

.nivo-lightbox-effect-slideUp.nivo-lightbox-open .nivo-lightbox-wrap, .nivo-lightbox-effect-slideDown.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateY(0);
}

/* fall */
.nivo-lightbox-body-effect-fall .nivo-lightbox-effect-fall {
  perspective: 1000px;
}

.nivo-lightbox-effect-fall .nivo-lightbox-wrap {
  transform: translateZ(300px);
}

.nivo-lightbox-effect-fall.nivo-lightbox-open .nivo-lightbox-wrap {
  transform: translateZ(0);
}

/*custom showroom*/
.nivo-lightbox-notouch .nivo-lightbox-effect-fade {
  background: rgba(250, 250, 250, 0.9);
}

.nivo-lightbox-inline img {
  max-width: 35%;
  width: auto;
  margin: -30px 0 0 0;
}

.art_nom {
  margin: 0 0 0 40%;
  font-size: 2.4rem;
  font-weight: 500;
  color: #3a474c;
}

.nivo-lightbox-inline p {
  width: 60%;
  float: right;
  margin: 10px 0;
}

@media all and (max-width: 640px) {
  .nivo-lightbox-inline, .nivo-lightbox-ajax {
    top: 0 !important;
    margin: 0 !important;
  }

  .nivo-lightbox-inline img {
    max-width: 100%;
    width: auto;
    margin: 0 auto;
    display: block;
  }

  .art_nom {
    margin: 10px auto;
    font-size: 2.4rem;
    font-weight: 500;
    color: #3a474c;
  }

  .nivo-lightbox-inline p {
    width: 100%;
    float: none;
  }
}
/*--------------*/
/* Growing Grid */
/*--------------*/
.growing_grid {
  clear: both;
  background: #F4F4F4;
  position: relative;
  overflow: hidden;
  padding: 50px 5%;
  max-width: 1180px;
}

.growing_grid > div {
  margin: 0 0 50px 0;
}

.growing_grid > div h2 {
  margin: 0 0 20px 0;
}

.growing_grid article {
  background: #fff none repeat scroll 0 0;
  display: block;
  float: left;
  height: 320px;
  margin: 5px;
  padding: 20px;
  position: relative;
  text-align: center;
  width: calc(33% - 10px);
  overflow: hidden;
}

.growing_grid article:hover {
  cursor: pointer;
  transform: scale(0.95, 0.95);
}

.growing_grid article h3 {
  height: 40px;
  text-transform: none;
  color: #000;
  font-size: 1.8rem;
}

.growing_grid article h3::after {
  display: none;
}

.growing_grid article .logo {
  display: block;
  margin: 0 auto;
  overflow: hidden;
}

.growing_grid article .logo img {
  vertical-align: middle;
}

.growing_grid article .description {
  display: none;
}

.growing_grid article img {
  width: 100%;
}

.growing_grid article .partnerdescr {
  display: none;
}

.growing_grid article.size {
  height: 650px;
  width: calc(66% - 10px);
}

.growing_grid article.size:hover {
  transform: scale(1, 1);
}

.growing_grid article.size img {
  width: 65%;
}

.growing_grid article.size .partnerdescr {
  display: block;
  overflow: hidden;
}

.growing_grid article.size p {
  text-align: justify;
}

@media all and (max-width: 1024px) {
  .growing_grid {
    padding: 50px 15%;
  }

  .growing_grid article {
    width: calc(50% - 10px);
  }

  .growing_grid article.size img {
    width: 100%;
  }

  .growing_grid article.size {
    height: auto;
    width: calc(100% - 10px);
  }
}
@media all and (max-width: 640px) {
  .growing_grid {
    padding: 50px 5%;
  }
}
@media all and (max-width: 480px) {
  .growing_grid article {
    width: 320px;
    float: none;
    margin: 10px auto;
  }
}
@media all and (max-width: 320px) {
  .growing_grid article {
    width: 280px;
  }
}
/*---------------*/
/* !COLIBROOT v1 */
/*---------------*/
html {
  font-size: 62.5%;
}

body {
  background: #FFF;
  color: #000;
  font-family: "Portrait Web", serif;
  overflow-x: hidden;
}

header, main, footer, section, aside, article, nav, form {
  transition: all 0.5s;
}
header::after, main::after, footer::after, section::after, aside::after, article::after, nav::after, form::after {
  clear: both;
  content: "";
  display: table;
}

.gmap div {
  transition: none !important;
}

h1 {
  font-family: "Portrait Web", serif;
  font-size: 4.2rem;
  font-weight: 600;
}

h2 {
  font-family: "Portrait Web", serif;
  color: #000;
  font-size: 5.2rem;
  font-weight: 400;
  line-height: 5.2rem;
  position: relative;
  margin: 50px auto;
  position: relative;
  display: block;
  text-align: left;
  padding: 0 0 20px;
  text-align: center;
}

h2:after {
  content: "";
  background: url("/images/tilde.png") no-repeat;
  width: 23px;
  height: 51px;
  position: absolute;
  bottom: -40px;
  left: 0;
}

h3 {
  font-size: 2.4rem;
  color: #BB1C14;
  text-transform: uppercase;
  margin: 0 0 30px 0;
  font-weight: 400;
}

p {
  color: #000;
  font-size: 1.7rem;
  padding: 10px 0;
  line-height: 2rem;
}

a {
  text-decoration: none;
  color: #BB1C14;
  font-size: 1.7rem;
}

a:hover {
  color: #000;
}

/*---------------*/
/* !GEN */
/*---------------*/
main {
  width: 100%;
  position: relative;
}

main > section {
  margin: 0 auto 50px auto;
  max-width: 100vw;
}

fieldset {
  padding: 20px;
}

/**/
.ontop {
  background: #000;
  bottom: 20px;
  transition: all 0.5s;
}

.ontop:hover {
  color: #FFF;
  background: #BB1C14;
}

/**/
section.contact, section.plansite {
  width: 50%;
  margin: 200px auto;
}

/**/
.return, .btn_info {
  font-family: "Raleway", sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #FFF;
  text-transform: uppercase;
  padding: 8px 20px;
  position: absolute;
  bottom: -150px;
  min-width: 215px;
  text-align: center;
  transition: all 0.5s;
}

.return {
  background: #212121;
  left: 0;
}

.return:hover {
  color: #FFF;
  background: #BB1C14;
}

.prev, .nex {
  display: block;
  background: #212121;
  font-family: "Raleway", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #FFF;
  text-transform: uppercase;
  position: absolute;
  bottom: -150px;
  width: 40px;
  height: 31px;
  line-height: 30px;
  text-align: center;
  transition: all 0.5s;
}

.nex {
  left: 175px;
}

.prev:hover, .nex:hover {
  background: #BB1C14;
  color: #FFF;
}

.btn_info {
  background: #BB1C14;
  right: 0;
}

.btn_info:hover {
  color: #FFF;
  background: #212121;
  right: -10px;
}

/* line scroll*/
.line-scroll {
  position: absolute;
  bottom: 80px;
  right: 30px;
  z-index: 2000;
}

.line-scroll .line {
  background: rgba(0, 0, 0, 0) linear-gradient(to bottom, white 50%, rgba(255, 255, 255, 0) 50%) repeat scroll 0 -80px/100% 200%;
  bottom: 0;
  display: block;
  height: 80px;
  left: 50%;
  position: absolute;
  top: auto;
  transform: translateY(-2px);
  width: 1px;
  z-index: 11;
}

.line-scroll .line.active {
  -webkit-animation: 3s ease-in-out 1s normal forwards infinite running line-scroll;
          animation: 3s ease-in-out 1s normal forwards infinite running line-scroll;
}

@-webkit-keyframes line-scroll {
  0% {
    background-position: 0 -80px;
  }
  80% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 80px;
  }
}

@keyframes line-scroll {
  0% {
    background-position: 0 -80px;
  }
  80% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 80px;
  }
}
.line-scroll em {
  display: block;
  transform: rotate(-90deg) translate(-20px, -24px);
  position: absolute;
  top: 0;
  left: 0;
  color: #FFF;
  font-size: 1.1rem;
  font-family: "Raleway", sans-serif;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
  opacity: 0;
  -webkit-animation: 3s ease 3s normal forwards infinite running em-visi;
          animation: 3s ease 3s normal forwards infinite running em-visi;
}

@-webkit-keyframes em-visi {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes em-visi {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/**/
.nivo-lightbox-theme-default {
  font-family: "Raleway", sans-serif;
}

/**/
.contact h2 {
  padding: 0 0 20px;
}

/*---------------*/
/* !SOUND BUTTON*/
/*---------------*/
.sound-toggle {
  cursor: pointer;
  height: 41px;
  margin: 0;
  padding: 14px 10px;
  pointer-events: all;
  width: 41px;
  position: absolute;
  top: 70px;
  right: 20px;
  background: none;
  border: none;
}

.sound-toggle__bars {
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 22px;
}

.sound-toggle__bars::before {
  color: #fff;
  content: "Off";
  font-size: 11px;
  font-weight: 600;
  left: 0;
  letter-spacing: 0.075em;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  top: -1px;
  transition: opacity 0.5s ease 0.2s, color 0.5s ease 0s;
  width: 100%;
  z-index: 1;
}

.sound-toggle__bar {
  background: #fff;
  height: 100%;
  opacity: 1;
  transform: translateY(87%);
  transition: background 0.5s ease 0s;
  width: 2px;
  margin: 0 1px;
}

.sound-toggle__bar:first-child {
  -webkit-animation-duration: 0.468s;
          animation-duration: 0.468s;
}

.sound-toggle__bar:nth-child(2) {
  -webkit-animation-duration: 0.489s;
          animation-duration: 0.489s;
}

.sound-toggle__bar:nth-child(3) {
  -webkit-animation-duration: 0.405s;
          animation-duration: 0.405s;
}

.sound-toggle__bar:nth-child(4) {
  -webkit-animation-duration: 0.412s;
          animation-duration: 0.412s;
}

.sound-toggle__bar:nth-child(5) {
  -webkit-animation-duration: 0.421s;
          animation-duration: 0.421s;
}

.sound-toggle__bar:nth-child(6) {
  -webkit-animation-duration: 0.445s;
          animation-duration: 0.445s;
}

.sound-toggle:not(.is-muted) .sound-toggle__bar {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-name: sound-bar-animation;
          animation-name: sound-bar-animation;
  -webkit-animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
          animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.sound-toggle.is-muted .sound-toggle__bars::before, .sound-toggle:hover .sound-toggle__bars::before {
  opacity: 1;
}

@-webkit-keyframes sound-bar-animation {
  0% {
    opacity: 0.8;
    transform: translateY(87%);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}

@keyframes sound-bar-animation {
  0% {
    opacity: 0.8;
    transform: translateY(87%);
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-webkit-keyframes sound-bar-animation-off {
  0% {
    transform: translateY(20%);
  }
  100% {
    transform: translateY(87%);
  }
}
@keyframes sound-bar-animation-off {
  0% {
    transform: translateY(20%);
  }
  100% {
    transform: translateY(87%);
  }
}
/*---------------*/
/* !MODULES*/
/*---------------*/
/* txt 1 colonne */
.col_1 {
  width: 55%;
  text-align: justify;
  clear: both;
}

.col_1 img {
  max-width: 100%;
  margin: 0 auto;
}

.col_1 .adresse {
  font-size: 1.8rem;
  font-style: italic;
  font-weight: 600;
}

/* dark grey flottant à droite */
.grey_zone {
  background: #212121;
  float: right;
  padding: 5%;
}

.grey_zone h2 {
  color: #FFF;
  font-size: 3.6rem;
  line-height: 3.6rem;
  font-weight: 400;
  font-style: italic;
  padding: 70px 0 40px 0;
  text-align: center;
  margin: 0;
}

.grey_zone h2:before {
  content: "";
  background: url("/images/top_h2.png") no-repeat;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 48px;
  height: 53px;
}

.grey_zone h2:after {
  content: "";
  background: url("/images/top_h2.png") no-repeat;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 48px;
  height: 10px;
}

.grey_zone h2 span {
  font-size: 1.2rem;
  font-weight: 600;
  font-family: "Raleway", sans-serif;
  clear: both;
  display: block;
  color: #9E9E9E;
  text-transform: uppercase;
  font-style: normal;
}

.grey_zone > div {
  float: left;
  width: 38%;
  margin: 0 6%;
}

.grey_zone div + div {
  float: right;
}

.grey_zone p {
  color: #FFF;
  font-size: 2.4rem;
  line-height: 2.8rem;
  font-style: italic;
  text-align: center;
}

/* mini gallery*/
.miniG {
  margin: 20px 0;
}
.miniG::after {
  clear: both;
  content: "";
  display: table;
}

.miniG figure {
  float: left;
  max-width: 100%;
  width: 49%;
  display: block;
  overflow: hidden;
}

.miniG figure + figure {
  float: right;
}

.miniG figure img {
  width: 100%;
}

.miniG h3 {
  color: #000;
  text-align: left;
  text-transform: none;
  margin: 10px 0;
  font-size: 1.7rem;
}

/* dark grey avec mini slider*/
.grey_encart {
  width: 80%;
  max-width: 1024px;
  position: relative;
  padding: 50px 0;
}

.grey_encart .descr {
  background: #212121;
  width: 72%;
  float: right;
  padding: 10% 10% 15% 15%;
  margin: 12% 0 0 0;
}

.grey_encart .descr h2 {
  color: #FFF;
  padding: 0;
}

.grey_encart .descr h2:after {
  display: none;
}

.grey_encart .descr p {
  color: #FFF;
  text-align: justify;
  line-height: 2rem;
  font-size: 1.8rem;
}

.grey_encart .micro_slider {
  position: absolute;
  top: 50px;
  left: 0;
}

/* monaco sur mesure */
.light_grey {
  background: #F4F4F4;
  width: 100%;
  padding: 5% 0;
}

.light_grey > div {
  width: 60%;
  text-align: justify;
  margin: 0 auto;
  max-width: 800px;
}

.light_grey .image {
  margin: 2% 0 2% 5%;
}

.light_grey img {
  width: 100%;
}

/* satri & co */
.side_img {
  width: 80%;
  padding: 0;
  float: right;
}

.side_img .head {
  display: table;
}

.side_img .head img {
  display: table-cell;
  width: 100%;
}

.side_img .head > div {
  position: relative;
}

.side_img .head > div:before {
  content: "";
  position: absolute;
  top: 11%;
  left: -22px;
  width: 52px;
  height: 42px;
  background: #C43730;
  z-index: 10;
}

.side_img .head h2 {
  display: table-cell;
  vertical-align: bottom;
  text-align: right;
  width: 38%;
  padding: 0 40px 2% 0;
}

.side_img .head h2:before {
  content: "";
  position: absolute;
}

.side_img .head h2:after {
  display: none;
}

.side_img .col_2 {
  -webkit-columns: 2 200px;
     -moz-columns: 2 200px;
          columns: 2 200px;
  -webkit-column-gap: 45px;
     -moz-column-gap: 45px;
          column-gap: 45px;
  margin: 40px 0;
  text-align: justify;
  width: calc(100% - 200px);
  float: left;
}

.side_img .col_2 p {
  padding: 0;
}

.side_img .label {
  float: left;
  margin: 40px 45px;
}

/**/
.galery_H {
  width: 100%;
  display: flex;
}

.galery_H a {
  width: 25%;
  flex: 1 1 auto;
  margin: 0 5px;
  display: block;
  overflow: hidden;
  position: relative;
}

.galery_H a:first-child {
  margin: 0 5px 0 0;
}

.galery_H a:last-child {
  margin: 0 0 0 5px;
}

.galery_H a img {
  max-width: 100%;
  transition: all 0.5s;
}

/**/
.service_co {
  text-align: center;
  width: 55%;
}

.service_co p {
  color: #000;
  font-size: 1.7rem;
  line-height: 2rem;
  padding: 10px 0;
}

/**/
.red_btn {
  font-family: "Raleway", sans-serif;
  background: #BB1C14;
  color: #FFF;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  padding: 10px 40px;
  margin: 20px 0;
  display: inline-block;
  transition: all 0.5s;
  position: relative;
  transform: translateZ(0px);
}

.red_btn:before {
  background: #212121;
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0 50% 0;
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
  z-index: -1;
}

.red_btn:hover {
  color: #FFF;
}

.red_btn:hover:before {
  transform: scaleX(1);
}

/**/
.galery_gen {
  width: 80%;
  max-width: 908px;
}

.galery_gen .headC, .galery_gen .footC {
  width: 100%;
  clear: both;
}

.galery_gen .leftC, .galery_gen .rightC {
  width: 50%;
  float: left;
}

.galery_gen figure {
  display: block;
  margin: 0 10px 20px 10px;
  position: relative;
  background: none;
}

.galery_gen figure figcaption {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  color: #fff;
  display: block;
  font-size: 1.2rem;
  padding: 0;
  text-transform: uppercase;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.galery_gen figure figcaption a {
  font-size: 0;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  text-indent: 200%;
  top: 0;
  white-space: nowrap;
  width: 100%;
  z-index: 10;
}

.galery_gen figure img {
  width: 100%;
  position: relative;
}

.galery_gen p.desc {
  left: 50%;
  margin: 0;
  position: absolute;
  text-align: center;
  top: 20%;
  transform: translate(-50%, -50%);
  width: 50%;
  font-family: "Raleway", sans-serif;
  background: none;
  color: #FFF;
}

/**/
.bien figure {
  display: block;
  margin: 0 10px 20px 10px;
  position: relative;
  background: none;
  width: calc(50% - 20px);
  float: left;
}

.bien figure:first-child {
  width: calc(100% - 20px);
}

/*---------------*/
/* !SOGESTMAR */
/*---------------*/
.sogestmar footer {
  display: none;
}

.sogestmar main {
  min-height: 100vh;
}

.sogest_log {
  width: 80%;
  max-width: 640px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.sogest_log form {
  display: flex;
  justify-content: space-around;
  width: 80%;
  margin: 0 auto;
}

.sogest_log form .rowElem {
  width: 48%;
}

.sogest_log > div p {
  text-align: center;
  color: #213557;
}

.sogest_log > div a {
  color: #213557;
  text-decoration: underline;
}

.sogest_log h2 {
  margin: 80px 0 0;
  color: #213557;
  font-size: 1.7rem;
  line-height: 1.2;
}

.sogest_log h1 img {
  margin: 0 auto;
}

#error {
  text-align: center;
}

#error p {
  border-radius: 5px;
  background: #bb1c14;
  color: #FFF;
  padding: 10px 20px;
  display: inline-block;
  margin: 0 auto;
}

/* search */
.sogestmar .search .fst_line {
  display: flex;
  justify-content: center;
}

.sogestmar .search .rowElem {
  min-width: 180px;
  margin: 0 10px;
  width: 50%;
}

.sogestmar .search select {
  font-size: 1.6rem;
}
.sogestmar .search select::-moz-placeholder {
  color: #111;
  opacity: 1;
  font-weight: 300;
}
.sogestmar .search select:-ms-input-placeholder {
  color: #111;
  font-weight: 300;
}
.sogestmar .search select::-webkit-input-placeholder {
  color: #111;
  font-weight: 300;
}

.sogestmar input[type=submit] {
  width: 100%;
  background: #213557;
  border: 1px solid #213557;
  margin: 0 10px;
  font-size: 1.6rem;
}

.sogestmar input[type=submit]:hover {
  background: #bb1c14;
  border: 1px solid #bb1c14;
}

.sogestmar .search .selectElem i {
  font-size: 1.2rem;
}

.sogestmar .selectElem::before {
  top: 1px;
  right: 1px;
  bottom: 1px;
}

.sogestmar .batiments_carou .sliders.private:before {
  content: "";
  background: url("/images/lock.png") no-repeat;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 24px;
  height: 28px;
  z-index: 100;
}

.sogestmar input {
  border: 1px solid #213557;
}

/* modal box */
.sogestmar .modal_content {
  color: #111;
}

.sogestmar .modal_content input[type=submit] {
  background: #213557;
  border: 1px solid #213557;
  margin: 0 0 5px;
}

.sogestmar .modal_content input[type=submit]:hover {
  background: #bb1c14;
  border: 1px solid #bb1c14;
}

.sogestmar .modal_content h3 {
  color: #000;
  max-width: calc(100% - 20px);
}

/* details */
.sogest_detail {
  margin: 220px 0 60px 0;
  width: 100%;
  padding: 0;
}

.sogest_detail .head {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 85%;
  margin: 0 0 0 15%;
  position: relative;
}

.sogest_detail .head .nav {
  position: absolute;
  left: 0;
  top: -60px;
}

.sogest_detail .head .return {
  font-family: "Portrait Web", serif;
  font-size: 1.3rem;
  font-weight: 500;
  color: #7F7F7F;
  text-transform: none;
  padding: 8px 20px;
  text-align: center;
  border: 1px solid #CBCBCB;
  transition: all 0.5s;
  position: relative;
  bottom: auto;
  min-width: 215px;
}

.sogest_detail .head .return {
  background: #FFF;
  left: 0;
}

.sogest_detail .head .return:hover {
  color: #FFF;
  background: #BB1C14;
}

.sogest_detail .head .prev, .nex {
  display: none;
}

.sogest_detail .head .image {
  position: relative;
}

.sogest_detail .head .image:before {
  content: "";
  position: absolute;
  top: 11%;
  left: -22px;
  width: 52px;
  height: 42px;
  background: #213557;
  z-index: 10;
}

.sogest_detail .head img {
  display: table-cell;
  width: 100%;
}

.sogest_detail .head .txt {
  text-align: right;
  padding: 0 40px 5% 0;
}

.sogest_detail .head h2 {
  text-align: right;
  margin: 0;
}

.sogest_detail .head h2:before {
  content: "";
  position: absolute;
}

.sogest_detail .head h2:after {
  display: none;
}

.sogest_detail .head .price {
  font-size: 4rem;
  color: #7B7B7B;
}

.sogest_detail .boutons {
  margin: 20px 0;
  display: flex;
  justify-content: flex-end;
}

.sogest_detail .boutons a {
  display: inline-block;
  background: #213557;
  color: #fff;
  padding: 14px 30px;
  margin: 0 10px;
  transition: all 0.5s;
}

.sogest_detail .boutons a:hover {
  background: #bb1c14;
}

.sogest_detail .content {
  display: flex;
  justify-content: center;
  width: 85%;
  margin: 0 0 0 15%;
}

.sogest_detail .content .descr {
  width: 50%;
  padding: 4% 8%;
  text-align: justify;
}

.sogest_detail .content .list {
  width: 50%;
  padding: 4% 10% 4% 2%;
  max-width: 640px;
}

.sogest_detail .content .list p {
  border-bottom: 1px solid #DFDFDF;
  padding: 5px 10px;
  color: #AAAAAA;
}

.sogest_detail .content .list p:last-child {
  border-bottom: none;
}

.sogest_detail .content .list p span {
  text-align: right;
  float: right;
  color: #000;
}

/* cta */
.sogest_cta {
  display: flex;
  justify-content: center;
  margin: 40px 0 0;
}

.sogest_cta a {
  background: #213557;
  color: #FFF;
  padding: 14px 30px;
  margin: 0 10px;
  transition: all 0.5s;
}

.sogest_cta a:hover {
  background: #bb1c14;
}

/* contact */
.sogest_contact {
  background: #F2F2F2;
  padding: 40px 0;
}

.sogest_contact > div {
  width: 55%;
  margin: 0 auto;
  display: flex;
}

.sogest_contact .soform {
  padding: 0 20px 0 0;
}

.sogest_contact .soform p {
  font-size: 1.1rem;
  text-align: left;
}

.sogest_contact .soform a {
  color: #213557;
}

.sogest_contact .soform form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sogest_contact .soform form > * {
  flex: 1 1 auto;
  margin: 0 0 14px;
}

.sogest_contact .soform form .rowElem {
  width: 100%;
}

.sogest_contact .soform form .rowElem:nth-of-type(2) {
  width: 50%;
  padding: 0 7px 0 0;
}

.sogest_contact .soform form .rowElem:nth-of-type(3) {
  width: 50%;
  padding: 0 0 0 7px;
}

.sogest_contact .soform form .rowElem:nth-of-type(4) {
  width: 50%;
  padding: 0 7px 0 0;
}

.sogest_contact .soform form .rowElem:nth-of-type(5) {
  width: 50%;
  padding: 0 0 0 7px;
}

.sogest_contact .socont {
  min-width: 220px;
  padding: 0 0 0 40px;
}

.sogest_contact .socont .img {
  width: 144px;
  height: 144px;
  border-radius: 150px;
  overflow: hidden;
}

.sogest_contact .socont .img img {
  width: 100%;
}

.sogest_contact .socont .name {
  font-size: 2.4rem;
}

.sogest_contact h2 {
  margin: 0;
  text-align: center;
}

.sogest_contact h2:before {
  content: "";
  position: absolute;
}

.sogest_contact h2:after {
  display: none;
}

.sogest_contact input, .sogest_contact textarea {
  font-size: 1.6rem;
}
.sogest_contact input::-moz-placeholder, .sogest_contact textarea::-moz-placeholder {
  color: #000;
  opacity: 1;
  font-weight: 500;
}
.sogest_contact input:-ms-input-placeholder, .sogest_contact textarea:-ms-input-placeholder {
  color: #000;
  font-weight: 500;
}
.sogest_contact input::-webkit-input-placeholder, .sogest_contact textarea::-webkit-input-placeholder {
  color: #000;
  font-weight: 500;
}

.sogest_contact input[type=submit] {
  background: #213557;
  border: 1px solid #213557;
  font-size: 1.6rem;
}

.sogest_contact input[type=submit]:hover {
  background: #bb1c14;
  border: 1px solid #bb1c14;
}

/* sogest logo */
.sogest_logo {
  position: relative;
  height: 115px;
  margin: 30px 0;
}

.sogest_logo > div {
  background: url("/images/sogestmar_logo.svg") no-repeat;
  width: 231px;
  height: 115px;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}

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

.sogestmar #btn_close {
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
  width: 40px;
  color: #213557;
}

.modal_content a {
  padding: 5px 0;
  margin: 0;
  color: #213557;
}

.modal_content a:hover {
  padding: 5px 0;
}

.sogest_par h2 {
  text-align: center;
  padding: 0;
}

.sogest_par h2:after {
  display: none;
}

/*---------------*/
/* !WYSI*/
/*---------------*/
.wysi * {
  transition: all 0.5s;
}

.wysi {
  position: relative;
  width: 50%;
  margin: 200px auto;
}

.wysi img {
  max-width: 100%;
}

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

.wysiwyg h2 {
  padding: 0 0 20px;
}

.wysiwyg ul, .wysiwyg ol {
  font-size: 1.6rem;
  margin: 20px;
}

.wysiwyg blockquote {
  font-size: 1.6rem;
  color: #999;
  font-style: italic;
  margin: 10px 0 10px 50px;
  padding: 10px 20px;
  border-left: 3px solid #ccc;
  max-width: 60%;
}

/*---------------*/
/* !PLANDUSITE*/
/*---------------*/
.plansite li {
  list-style: none;
}

.plansite li a {
  font-size: 2rem;
}

/*---------------*/
/* !TIMLINE */
/*---------------*/
.timeline2 {
  margin: 0 auto;
  background: #FFF;
  padding: 50px 0;
  max-width: 75vw;
}

.timeline2 ul {
  display: table;
  margin: 0 auto;
}

.timeline2 ul li {
  display: table-row;
}

.timeline2 h2 {
  text-align: center;
}

.timeline2 h2:after {
  display: none;
}

.timeline2 div {
  display: table-cell;
  font-size: 1.7rem;
  font-weight: 600;
  padding: 5px 15px 2px;
  border-bottom: 2px solid #DDD;
}

.timeline2 span {
  font-style: italic;
}

.timeline2 div:nth-of-type(2n) {
  font-family: sans-serif;
}

/*---------------*/
/* !TIMLINE _SAV */
/*---------------*/
/*
.timeline { margin: 0 auto; background: #FFF; padding: 50px 0; max-width: 95vw;}
.timeline h2{ text-align: center;}
.timeline h2:after{ display: none;}
.timeline ul{ display: table; border-spacing: 10px; border-collapse: separate; margin: 0 auto;}
.timeline li{ display: table-row;}
.timeline div{ display: table-cell; padding: 0 10px; vertical-align: middle;}
.timeline div:first-of-type{ text-align: right;}
.timeline div:nth-of-type(2){ font-family: $thirdFont; color: #999; font-size: 1.8rem; padding: 0 10px; position: relative;}
.timeline div:nth-of-type(2):before{ content:''; height: 1px; width: 12px; background: #A31511; position: absolute; top: 48%; left: -8px;}
.timeline div:nth-of-type(2):after{ content:''; height: 1px; width: 12px; background: #A31511; position: absolute; top:48%; right: -8px;}
.timeline div:last-of-type{ text-align: left;}
.timeline p{ font-size: 1.8rem; font-weight: 600; padding: 0;}
.timeline span{ font-style: italic; font-size: 1.6rem; font-weight: 400;}
#btml{ background: #212121; height: 40px; width: 120px; margin: 0 auto 100px; display: block; color: white; line-height: 40px; text-align: center; cursor: pointer;}
#btml:hover{ background: $secondaryColor;}
.timeline.active { display: block; position: fixed; top:0; left: 0; width: 100vw; height: 100vh; overflow: auto; z-index: 9000;}
.timeline #close{ position: absolute; top:10px; right: 20px; line-height: 50px; cursor: pointer;}
/**/
/*
.timeline li:first-child{ text-transform: uppercase;}
.timeline li:first-child p{ font-size: 2.2rem; padding: 5px 0; border-bottom: 1px solid #000; }
.timeline li:first-child > div{ padding: 15px 0;}
.timeline li:first-child > div:nth-of-type(2){ border-bottom: none;}
.timeline li:first-child > div:nth-of-type(2):before, .timeline li:first-child > div:nth-of-type(2):after{ display: none;}*/
/*---------------*/
/* !FOOTER */
/*---------------*/
footer {
  width: 100%;
  max-width: 630px;
  text-align: center;
  clear: both;
  margin: 0 auto 40px auto;
  font-family: "Raleway", sans-serif;
  text-align: center;
}

footer p {
  text-align: left;
  list-style: none;
  color: #000;
  font-size: 1.3rem;
  font-weight: 600;
  padding: 0;
  color: #AAA;
  display: inline;
}

footer a {
  color: #AAA;
  font-size: 1.3rem;
  font-weight: 600;
  padding: 0 7px;
  display: inline;
  transition: all 0.5s;
}

footer a:hover {
  color: #BB1C14;
}

/**/
footer .colibri {
  position: absolute;
  bottom: 7px;
  right: 20px;
}

footer .colibri a {
  font-size: 3rem;
  color: #000;
  float: right;
}

/*---------------*/
/* !ANIMATIONS */
/*---------------*/
.col_1 * {
  transition: all 0.5s ease 0.1s;
}

.col_1 h2 {
  display: block;
  overflow: hidden;
  padding: 0 0 20px 0;
}

.col_1 h2 span {
  transform: translateY(150%);
  display: block;
}

.col_1.anim h2 span {
  transform: translateY(0);
}

.col_1 .tit {
  margin: 30px 0 10px 0;
  font-size: 2rem;
}

/**/
.grey_zone {
  width: 80%;
  overflow: hidden;
  position: relative;
}

.grey_zone .mask {
  background: #FFF;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 3;
  margin: 0;
  transition: left 1s ease 0.2s;
}

.grey_zone.anim .mask {
  left: 100%;
}

/**/
.light_grey h2 {
  transform: translateY(30px);
  opacity: 0;
  transition: all 0.5s linear 0.4s;
}

.light_grey .image {
  position: relative;
  overflow: hidden;
  float: right;
}

.light_grey .mask {
  background: #212121;
  bottom: 100%;
  left: 0;
  margin: 0 -10px 0 0;
  position: absolute;
  right: 100%;
  top: 0;
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
  z-index: 3;
}

.light_grey.anim h2 {
  transform: translateY(0);
  opacity: 1;
}

/*marzocco family*/
.grey_zone + .light_grey {
  clear: both;
}

/**/
.side_img .image {
  position: relative;
}

.side_img .mask {
  background: #212121;
  bottom: 100%;
  left: 0;
  margin: 0 -10px 0 0;
  position: absolute;
  right: 100%;
  top: 0;
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
  z-index: 3;
}

/**/
.galery_H a {
  position: relative;
  overflow: hidden;
  float: right;
}

.galery_H a img {
  opacity: 0;
  transform: translate3d(-20px, 0px, 0px);
  transition: opacity 0s linear 0.6s, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.galery_H a:nth-child(2) img {
  transition: opacity 0s linear 0.8s, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.galery_H a:nth-child(3) img {
  transition: opacity 0s linear 1s, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.galery_H a:nth-child(4) img {
  transition: opacity 0s linear 1.2s, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.galery_H .mask {
  background: #212121;
  bottom: 100%;
  left: 0;
  margin: 0 -10px 0 0;
  position: absolute;
  right: 100%;
  top: 0;
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.3s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
  z-index: 3;
}

.galery_H a:nth-child(2) .mask {
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.5s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.5s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.8s;
}

.galery_H a:nth-child(3) .mask {
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.4s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.7s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.7s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 1s;
}

.galery_H a:nth-child(4) .mask {
  transition: bottom 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) 0.6s, right 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.9s, margin 0.4s cubic-bezier(0.77, 0, 0.175, 1) 0.9s, left 0.4s cubic-bezier(0.77, 0, 0.175, 1) 1.2s;
}

.galery_H.anim a img {
  opacity: 1;
  transform: translate3d(0px, 0px, 0px);
}

.galery_H.anim .mask {
  bottom: 0;
  left: 100%;
  margin-right: 0;
  right: -1px;
}

.galery_H.anim a:hover img {
  transform: scale(1.1);
}

.galery_H a:hover img {
  transform: scale(1.1);
}

/*---------------*/
/* !MEDIA QUERIES MAIN */
/*---------------*/
/* 800 galaxy note & tab - nexus 10 768 ipad, 720 surface pro */
@media all and (max-width: 800px) {
  .col_1 {
    width: 80%;
  }

  .grey_zone {
    width: 90%;
  }

  .grey_encart .descr {
    width: 100%;
    padding: 10% 10% 15%;
    margin: 0;
  }

  .grey_encart .micro_slider {
    position: relative;
    top: -50px;
    left: 40px;
    transform: translate(15%, -4%);
    float: left;
  }

  .light_grey > div {
    width: 80%;
  }

  .side_img {
    width: 90%;
  }

  .side_img .head h2 {
    font-size: 4.2rem;
  }

  .light_grey .image {
    width: 40%;
  }

  .timeline li:first-child p {
    font-size: 1.7rem;
    width: 100%;
    white-space: normal;
  }

  /**/
  .sogest_detail .head, .sogest_detail .content {
    width: auto;
    margin: 0 0 0 5%;
  }

  .sogest_detail .content .descr {
    width: 50%;
    padding: 4% 2%;
  }

  .sogest_detail .content .list {
    padding: 4%;
  }

  .sogest_contact > div {
    width: 80%;
  }
}
@media all and (max-width: 640px) {
  h2 {
    font-size: 4.2rem;
    line-height: 4.2rem;
  }

  .side_img .head h2 {
    display: block;
    width: 100%;
    text-align: left;
    margin: 0 auto 10px;
  }

  section.contact, section.plansite, .wysi {
    width: 80%;
  }

  .return, .btn_info, .prev, .nex {
    bottom: -110px;
  }

  .timeline h2 {
    font-size: 3.2rem;
  }

  .timeline ul {
    display: block;
  }

  .timeline li {
    display: block;
  }

  .timeline li > div {
    width: calc(50% - 34px);
    display: inline-block;
    padding: 5px 10px;
  }

  .timeline div:nth-of-type(2) {
    width: 60px;
  }

  .timeline span,
.timeline p {
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
        -ms-hyphens: auto;
            hyphens: auto;
    font-size: 1.6rem;
  }

  .timeline2 div {
    font-size: 1.6rem;
    padding: 5px 5px 2px;
  }

  /**/
  .sogest_detail {
    margin: 170px 0 60px 0;
  }

  .sogest_detail .head, .sogest_detail .content {
    flex-direction: column;
  }

  .sogest_detail .head .price {
    font-size: 3rem;
  }

  .sogest_detail .content .descr {
    width: 96%;
    padding: 0;
    order: 2;
  }

  .sogest_detail .content .list {
    width: 96%;
    padding: 30px 0;
    order: 1;
  }

  .sogest_contact h2 {
    font-size: 3rem;
  }

  .sogest_contact > div {
    width: 90%;
    flex-direction: column;
  }

  .sogest_contact .soform {
    padding: 0;
  }

  .sogest_detail .head .nav {
    top: -10px;
  }

  .sogestmar .modal_content {
    width: 90%;
  }

  .sogestmar .search .fst_line {
    flex-direction: column;
  }

  .sogestmar .search .rowElem {
    margin: 10px;
  }

  .sogestmar .search input[type=submit] {
    width: auto;
    margin: 10px;
  }
}
@media all and (max-width: 480px) {
  .grey_zone {
    width: 100%;
  }

  .grey_zone h2 {
    font-size: 3.2rem;
  }

  .grey_encart {
    width: 90%;
  }

  .grey_encart .micro_slider {
    transform: translate(5%, -4%);
    max-width: 90%;
  }

  .grey_encart .micro_slider img {
    width: 100%;
  }

  .side_img .label {
    clear: both;
    margin: 10px auto;
    float: none;
    width: 100px;
  }

  .side_img .col_2 {
    width: 90%;
  }

  footer {
    padding: 0 10%;
  }

  .grey_zone > div {
    float: none;
    width: 90%;
    margin: 6%;
  }

  .light_grey .image {
    width: 100%;
  }

  .galery_gen .leftC {
    width: 100%;
    margin: 0;
  }

  .galery_gen .rightC {
    width: 100%;
  }

  .bien figure {
    width: calc(100% - 20px);
  }

  .timeline span,
.timeline p {
    font-size: 1.4rem;
  }

  .timeline li:first-child p {
    font-size: 1.5rem;
  }

  .timeline2 {
    max-width: 90vw;
  }

  .timeline2 div:nth-of-type(1) {
    max-width: 200px;
  }
}
@media all and (max-width: 414px) {
  main > section {
    margin: 0 auto 50px auto;
  }

  .grey_encart {
    width: 100%;
  }

  .grey_encart .micro_slider {
    left: 20px;
  }

  h2 {
    font-size: 4rem;
    line-height: 4rem;
  }

  .return, .prev, .nex {
    bottom: -90px;
  }

  .return {
    width: 100%;
  }

  .nex {
    left: auto;
    right: 0;
  }

  .btn_info {
    bottom: -122px;
    width: 100%;
  }

  .btn_info:hover {
    right: 0;
  }

  .timeline span,
.timeline p {
    font-size: 1.2rem;
  }

  .timeline li:first-child p {
    font-size: 1.3rem;
  }

  .timeline2 div:nth-of-type(3) {
    max-width: 100px;
  }
}
@media all and (max-width: 320px) {
  html {
    font-size: 58%;
  }

  .btn_info {
    bottom: -28%;
  }

  .slider h2 {
    bottom: -91px;
  }
}

/*# sourceMappingURL=main.css.map */