/** RESET **/

* {
  margin:0;
  padding:0;
  border-width:0;
  font:inherit;
  box-sizing:border-box;
}

/** GENERAL **/

html {
  -webkit-text-size-adjust:100%;
  -ms-text-size-adjust:100%;
  text-size-adjust:100%;
}

body {
  font:14px/1.2 'Open Sans','Helvetica','Arial',sans-serif;
  color:#000;
}

strong { font-weight:bold; }
em  { font-style: italic; }
code { font-family:monospace; }
img, svg { vertical-align:middle;max-width:100%; }
input, textarea, button { -webkit-appearance:none;border-radius:0; }
input, textarea { vertical-align:middle; }
textarea { resize:vertical; }
button, input[type="button"], input[type="submit"] { cursor:pointer; }

a, a:visited, a:hover, a:active {
  text-decoration:none;
}

p { letter-spacing:1px; line-height:1.5; }

.h1 {
  font-family:'Libre Baskerville', serif;
  font-size:36px;
  text-transform:uppercase;
  letter-spacing:2px;
}

.h1-needle {
  display:inline-block;
  padding-top:40px;
  background-image:url(../img/elements/needle-left.png);
  background-position:right top;
  background-repeat:no-repeat;
}

.h2 {
  font-size:24px;
  color:#2D2B2B;
  font-family:'Libre Baskerville', serif;
  text-transform:uppercase;
  letter-spacing:3px;
}

.general-info {
  padding: 10px;
  text-align: center;
  background: #ffffff;
}

.general-info .more {
  color: #000;
  cursor: pointer;
  text-decoration: underline;
}

.general-info .more:hover {
  text-decoration: none;
}

.general-info .more.animate {
  text-decoration: none;
  transition: border-color 0.2s ease-in;
  border-bottom: 1px solid #000;
}

.general-info .more.animate:hover {
  border-color: transparent;
}

.title-simple {
  font-weight:600;
  font-size:30px;
  text-transform:uppercase;
  text-align:center;
  letter-spacing:2px;
}

.baretitle {
  position:relative;
  display:inline-block;
  color:#454242;
  padding-bottom:20px;
}

.baretitle:after {
  content:"";
  position:absolute;
  left:20px;
  bottom:0;
  right:20px;
  border-top:1px #454242 solid;
}

.section-title {
  position:relative;
  text-align:center;
  overflow:hidden;
}

.section-title span {
  position:relative;
  padding:0 25px;
  z-index:3;
  display:inline-block;
  background-color:#fff;
  line-height:48px;
}

.section-title span:before, .section-title span:after {
  content:"";
  position:absolute;
  top:50%;
  width:1000px;
  height:11px;
  margin-top:-11px;
  background-repeat: no-repeat;
}

.section-title span:before { right:100%;background-image:url(../img/elements/needle-left.svg); }
.section-title span:after { left:100%;background-image:url(../img/elements/needle-right.svg); }

.section-subtitle {
  margin-top:10px;
  color:#747474;
  text-align:center;
  letter-spacing:4px;
  text-transform:uppercase;
}

.section-subtitle + .section-title {
  margin-top:5px;
}

p.section-text, .section-text p {
  margin:25px auto;
  width:60%;
  text-align:center;
}

.recaptcha-texte a, .recaptcha-texte a:visited {
  color: #8D744D;
}

.h-captcha {
	margin-top: 10px;
}

.button {
  position:relative;
  z-index:10;
  display:inline-block;
  padding:15px;
  color:#2D2B2B;
  background-color:#e8e8e8;
  font-size:11px;
  line-height:15px;
  text-transform:uppercase;
  font-weight:bold;
  letter-spacing:1px;
  cursor:pointer;
  -webkit-transition:background-color 250ms;
  transition:background-color 250ms;
  box-shadow:none;
}

.button:before {
  content:"";
  position:absolute;
  top:11px;
  left:11px;
  right:11px;
  bottom:11px;
  z-index:-1;
  border:1px #e8e8e8 solid;
  opacity:0;
  -webkit-transition:all 400ms cubic-bezier(0.680, 0, 0.265, 1); /* older webkit */
  -webkit-transition:all 400ms cubic-bezier(0.680, -0.550, 0.265, 1.550);
          transition:all 400ms cubic-bezier(0.680, -0.550, 0.265, 1.550);
}

.button:hover:before {
  top:-3px;
  left:-3px;
  right:-3px;
  bottom:-3px;
  opacity:1;
}

.button:disabled {
	background: rgba(232, 232, 232, .7);
	color: rgba(45, 43, 43, .7);
	cursor: not-allowed;
}

.button:hover:disabled {
	background: rgba(232, 232, 232, .6) !important;
	color: rgba(45, 43, 43, .7) !important;
}

.button.active {
  background-color:#454242;
  color:#e8e8e8;
}

.button.active:before {
  border-color:#454242;
}

.button-stroke {
  background-color: #fff;
  border: 1px solid #454242;
  padding: 14px;
}

.button-stroke:before {
  border-color: #ece4e4;
}

.button-stroke:hover:before {
  top:-4px;
  left:-4px;
  right:-4px;
  bottom:-4px;
}

.button-grey {
  background-color: #2D2B2B;
  font-weight: normal;
  color: #fff;
  padding-top: 10px;
  padding-bottom: 10px;
}

.button-grey:before {
  border-color: #2D2B2B;
}

.roundButton {
  position:relative;
  display:inline-block;
}

.roundButton:before {
  content:"";
  position:absolute;
  top:11px;
  left:11px;
  right:11px;
  bottom:11px;
  z-index:-1;
  border:1px #e8e8e8 solid;
  opacity:0;
  border-radius:50%;
  -webkit-transition:all 400ms cubic-bezier(0.680, 0, 0.265, 1); /* older webkit */
  -webkit-transition:all 400ms cubic-bezier(0.680, -0.550, 0.265, 1.550);
          transition:all 400ms cubic-bezier(0.680, -0.550, 0.265, 1.550);
}

.roundButton:hover:before {
  top:-3px;
  left:-3px;
  right:-3px;
  bottom:-3px;
  opacity:1;
}

.form-line + .form-line {
  margin-top:7px;
}

.form-line-button {
  position:relative;
  padding-right:97px;
}

.form-line-button .button {
  position:absolute;
  top:0;
  right:0;
  width:90px;
}

.form-text, .form-textarea {
  padding:10px;
  border:1px #e8e8e8 solid;
  line-height:16px;
  width:100%;
}

.form .button {
  padding:11px;
  font-size:10px;
  line-height:16px;
}

.form-file {
  /* background-color: #fff; */
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
}

.form-file-button {
  padding: 10px 20px;
  line-height: 18px;
  display: inline-block;
  color: #2D2B2B;
  cursor: pointer;
  font-style: italic;
  background-color: #e8e8e8;
}

.form-file-input {
  display: none;
}

.form-file-value {
  display: inline-block;
  margin-left: 5px;
}

.form-select {
  position: relative;
}

.form-select::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -6px;
  width: 8px;
  height: 8px;
  border: 0 solid #888;
  border-width: 0 1px 1px 0;
  transform: rotate(45deg);
}

.form-select-input {
  height: 38px;
  padding: 0 10px;
  border:1px #8D744D solid;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-pending .button {
  background-color:#454242;
  color:#8D744D;
  cursor:wait;
}

.alert-success {
  padding:15px;
  color:#3c763d;
  background-color:#dff0d8;
  border:1px solid #d6e9c6;
}

.alert-error {
  padding:15px;
  color:#721c24;
  background-color:#f8d7da;
  border:1px solid #f5c6cb;
}

ol.roman {
  list-style: inside;
  list-style-type: upper-roman;
  letter-spacing: 1px;
  line-height: 1.5;
  text-align: justify;
}

ol.roman .title {
  display: inline;
  font-weight: bold;
}

ol.roman .infos {
  margin-top: 20px;
  margin-bottom: 40px;
}

ol.roman .infos .paragraph:first-of-type, ol.roman .infos .p:first-of-type {
  margin-top: 0;
}

ol.roman .infos .paragraph, ol.roman .infos .p {
  margin-top: 20px;
}

ol.roman .infos .revine {
  margin-left: -18px;
  max-width: 150px;
  margin-bottom: 10px;
}

ul.text {
  list-style: inside;
  margin-left: 40px;
  letter-spacing: 1px;
  line-height: 1.5;
  margin-top: 20px;
}

.mentions a:hover {
  text-decoration: none;
}

.cryptedcontact.display:before {
  content:  attr(data-tld) "." attr(data-domain) "\0040" attr(data-name);
  unicode-bidi: bidi-override;
  direction: rtl;
}

.slider-bg .setpos {
  background-position: bottom bottom;
}

#video-container iframe {
  opacity: 0;
}

.control-volume {
  display: none;
  position: absolute;
  top: 45px;
  right: 16px;
  z-index: 10;
  line-height: 20px;
  font-size: 14px;
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
    background-size:100% 100%;
    -o-background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    background-size: contain;
    background-image: url(../img/elements/sound.on.svg);
  filter: invert(1);
  -ms-filter:invert(1);
}

.header-language .control-volume {
  position: relative;
  top: 8px;
  right: 0;
}

.control-volume.off {
  background-image: url(../img/elements/sound.off.svg);
}

#culture .h2 {
  color: #fff;
}

.arrow-slider {
  position: absolute;
  bottom: 50px;
  left: 50%;
  z-index: 5;
  margin-left: -.5em;
  font-size: 40px;
  width: 1em;
  height: .5em;
  border-color: #fff;
  cursor: pointer;
}

.arrow-slider:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .71em;
  height: .71em;
  border-style: solid;
  border-color: inherit;
  border-width: 0 1px 1px 0;
  transform-origin: 75% 75%;
}

.valeurs-nav.arrow-slider {
  border-color: #000;
}

.valeurs-nav.arrow-slider.prev {
  left: 0;
}

.valeurs-nav.arrow-slider.next {
  right: 0;
  left: auto;
}

.arrow-slider.next:before {
  transform: translate(-75%,-75%) rotate(315deg);
}

.arrow-slider.prev:before {
  transform: translate(-75%,-75%) rotate(135deg);
}

.arrow-slider.box-arrow {
  bottom: auto;
  top: 50%;
}

.arrow-slider.box-arrow.next {
  left: auto;
  right: 20px;
}

.arrow-slider.box-arrow.prev {
  left: 35px;
}

/** MODAL **/ 

body.modal-open {
  overflow: hidden;
}

.modal {
  display: none; 
  position: fixed; 
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%; 
  height: 100%; 
  overflow: auto;
  background-color: rgba(0,0,0,.8);
}

.modal .media-content {
  width: 100%;
  height: 100%;
  max-width: 80%;
  max-height: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#media.modal .close {
  background: transparent;
}

.modal .modal-content {
  background-color: #ffffff;
  opacity: .95;
  margin: auto;
  padding: 35px;
  border: 1px solid #8d744d;
  width: 80%;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  text-align: center;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
}

.modal .modal-content .title {
  color: #8d744d;
  text-transform: uppercase;
  font-size: 20px;
  margin-bottom: 30px;
}

.modal .modal-content .message {
  padding-left: 200px;
  padding-right: 200px;
}

.modal .modal-content .message div + div,.modal .modal-content .message p + p {
  margin-top: 20px;
}

.modal .modal-content .message a {
  color: #8D744D;
  text-decoration: underline;
}

.modal .modal-content .message a:hover {
  text-decoration: none;
}

.modal .modal-content .sign {
  margin-top: 30px;
  color: #8d744d;
  font-style: italic;
}

.modal .close {
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 0;
    background: #757575;
    color: #fff;
    padding: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-top: 7px;
    padding-bottom: 7px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.modal .close:hover, .modal .close:focus {
  opacity: .7;
}

.notif-cookies {
    position: fixed;
    bottom: 0;
    left: 0;
    display: none;
    width: 100%;
    background: rgba(45, 43, 43, 0.9);
    color: #fff;
    text-align: center;
    z-index: 10;
    padding: 10px;
}

.notif-cookies a {
  color: #fff;
  text-decoration: underline;
  margin-left: 5px;
}

.notif-cookies .animate {
  text-decoration: none;
  transition: border-color 0.2s ease-in;
  border-bottom: 1px solid #fff;
}

.notif-cookies .animate:hover {
  border-color: transparent;
}

.notif-cookies .agree {
  margin-left: 12px;
  padding: 3px;
  padding-left: 7px;
  padding-right: 7px;
  color: #000;
  background: #fff;
  transition: all 0.5s;
}

.notif-cookies .agree:hover {
  background: rgba(255,255,255,.6);
}

.iframe-container {
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
}

.iframe-container iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  }

/** LAYOUT **/

.wrapper { margin-left:auto;margin-right:auto;width:1240px; }

.row { margin-left:-60px; }
.col-3, .col-6, .col-9 { padding-left:60px;float:left; }
.col-3 { width:25%; }
.col-6 { width:50%; }
.col-9 { width:75%; }
.row-g30 { margin-left:-30px; }
.row-g30 .col-3, .row-g30 .col-6, .row-g30 .col-9 { padding-left:30px;float:left; }
.row-g15 { margin-left:-15px; }
.row-g15 .col-3, .row-g15 .col-6, .row-g15 .col-9 { padding-left:15px;float:left; }

.header {
  height:760px;
  background-color:#454242;
}

.header-wrapper {
  position:relative;
  padding-top:40px;
  height:100%;
}

.header-language {
  position:absolute;
  top:16px;
  right:16px;
  z-index:10;
  line-height:20px;
  font-size:14px;
  text-align:right;
  color:#fff;
  z-index: 100;
}

.header-language a {
  color:#fff;
}

.header-social {
  position:absolute;
  top:16px;
  left:16px;
  z-index:10;
  line-height:20px;
  font-size:16px;
  text-align:left;
  color:#fff;
}

.header-social a {
  display: inline-block;
  margin-left: 10px;
  color:#fff;
}

.header-social a:first-child {
  margin-left: 0;
}

.header:before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:10;
  height:287px;
  background-image:url(../img/bg/header-shadow.png);
  border-style: none;
  background-repeat: repeat-x;
}

.menu {
  z-index:20;
}

.menu .wrapper {
  position:relative;
  z-index:20;
}

.menu-left, .menu-right {
  float:left;
  width:50%;
  padding:0 10px;
  text-align:center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.menu-left { padding-right:110px; }
.menu-right { padding-left:110px; }

.menu-logo-top {
  position:absolute;
  left:50%;
  margin-left:-76px;
  width: 132px;
}

.menu-logo-fixed {
  display:none;
  position:absolute;
  top:10px;
  left:50%;
  margin-left:-26px;
}

.header:not(.header-fixed) .menu-logo-fixed.menu-rich-opened {
  margin-top: 30px;
}

.menu-close, .menu-trigger { display:none; }

.menu-item {
  margin-top:62px;
  display:inline-block;
  vertical-align:middle;
  text-align:center;
}

.menu-link {
  position:relative;
  z-index:0;
  display:inline-block;
  color:#fff;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:12px;
  line-height:15px;
  padding-bottom:30px;
}

.menu-link.active {
  color:#000;
}

.overlay {
  content:"";
  position:fixed;
  display:none;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:15;
  background-color:#000;
}

.menu-item-rich .menu-link {
  z-index:25;
}

.menu-item-rich .menu-link:before {
  display:none;
  position:absolute;
  content:"";
  bottom:0;
  left:50%;
  width:108px;
  height:22px;
  margin-left:-54px;
  background-image:url(../img/elements/needle-menu.png);
}

.menu-item-rich:hover .menu-link:before {
  display:block;
}

.richMenu {
  display:none;
  position:absolute;
  top:107px;
  left:0;
  z-index:15;
  width:100%;
  background-color:#fff;
  text-align:left;
}

.menu-item-rich:hover .richMenu {
  display:block;
}

.richMenu-description {
  float:left;
  width:340px;
  padding:50px;
  color: #2D2B2B;
  background-color:#e8e8e8;
}

.richMenu-description h3 {
  font-size:21px;
  font-weight:bold;
  text-transform:uppercase;
  line-height:1.3;
  letter-spacing:2px;
}

.menu-item-rich.full .richMenu-item h3 {
  color: #fff;
  font-size: 25px;
  margin-top: 5rem;
  z-index: 10;
  position: relative;
}

.richMenu-description p {
  margin-top:20px;
  line-height:1.3;
}

.menu-item-rich.full .richMenu-item p {
  display: none !important;
}

.richMenu-items {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:340px;
  padding:10px;
  text-align:center;
}

.richMenu-item {
  float:left;
  position: relative;
  padding:25px 30px 0;
  height:100%;
  width:calc(33.33333% - 6.9px);
}

.richMenu-item {
  margin-left: 10px;
}

.richMenu-item:first-of-type {
  margin-left: 0;
}

.menu-item-rich.full .menu-link::before {
  background-image: url(../img/elements/needle-menu-full.png);
}

.menu-item-rich.full .richMenu-item {
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

.menu-item-rich.full .richMenu-item:before {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.2);
  transition: all 0.3s;
  z-index: 9;
}

.menu-item-rich.full .richMenu-item:hover:before {
  background-color: rgba(45,43,43,0.7);
}

.richMenu-footer {
  position: absolute;
  bottom:25px;
  left: 0;
  right: 0;
  text-align: center;
}

.richMenu-double .richMenu-item {
  width:calc(50% - 5px);
}

.richMenu-item-content {
  display:inline-block;
  vertical-align:middle;
  max-width:220px;
  height:100%;
}

.richMenu-item + .richMenu-item {
  border-left:1px #e6e6e6 solid;
  padding-left:29px;
}

.menu-item-rich.full .richMenu-item + .richMenu-item {
  padding-left:0;
}

.richMenu-title {
  text-transform:uppercase;
  font-weight:bold;
  letter-spacing:2px;
}

.richMenu-text {
  font-size:12px;
  line-height:1.2;
}

.header-fixed .menu {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background-color:#2D2B2B;
  border-bottom:2px #e8e8e8 solid;
  padding: 0 20px;
}

.header-fixed .menu-logo-top { display:none; }
.header-fixed .menu-logo-fixed { display:block; }

.header-fixed .menu-item {
  margin-top:28px;
}

.header-fixed .menu-link {
  padding-bottom:28px;
}

.header-fixed .richMenu {
  top:72px;
}

.footer {
  margin:100px auto 90px;
  height:550px;
  padding-top:100px;
  background:#f5f5f5 url(../img/bg/footer.png) no-repeat right top;
  font-size:12px;
}

.footer-left {
  float:left;
  margin-left:170px;
  width:310px;
}

.footer-middle {
  float:left;
  margin-left:100px;
  width:175px;
}

.footer-right {
  float:left;
  margin-left:195px;
  margin-top: -70px;
}

.footer-title {
  margin-bottom:12px;
  letter-spacing:1px;
  text-transform:uppercase;
  font-family:'Libre Baskerville', serif;
}

.footer-title-border {
  padding-bottom:12px;
  border-bottom:1px #c4c4c4 solid;
}

.footer-about {
  line-height:18px;
  letter-spacing:1px;
}

.footer-about-logo {
  float:left;
  margin-bottom:10px;
}

.footer-about-text {
  margin-left:125px;
}

.footer-social {
  float: left;
  width: 110px;
}

.footer-social a {
  display:inline-block;
  margin-left: 10px;
  color:#454242;
  font-size: 14px;
}

.footer-social a:first-of-type {
  margin-left: 0;
}

.footer-plaquette {
  float: left;
  display: block;
  width: 175px;
  margin-left: 25px;
  padding: 10px 0;
  color: #000;

  text-align: center;
  border: 1px solid #c4c4c4;
}

.footer-plaquette:hover {
  background-color: #e8e8e8;
}

.footer-plaquette-icon {
  vertical-align: middle;
  font-size: 2em;
}

.footer-plaquette-text {
  display: inline-block;
  margin-left: 5px;
  text-transform: uppercase;
  vertical-align: middle;
  text-align: left;
}

.footer-links a {
  padding:3px 0;
  line-height:18px;
}

a.footer-link {
  display:inline-block;
  color:#454242;
}

a.footer-link:hover {
  font-weight:bold;
}

.footer-link:before {
  content:"> ";
  font-style:normal;
}

.footer-address + .footer-address {
  margin-top:35px;
}

.footer-address a {
  font-style:italic;
}

.footer-mention {
  font-size:10px;
  font-style:italic;
  color:#b2aaaa;
}

/** ITEMS **/

.square {
  padding:100px;
  background-color:#333;
  text-align:center;
  background-size:cover;
  background-position:center center;
  height:590px;
}

.square:before {
  content:"";
  display:inline-block;
  height:100%;
  vertical-align:middle;
}

.square .box {
  width:100%;
  height:390px;
  margin-bottom:20px;
}

.box {
  position:relative;
  display:inline-block;
  vertical-align:middle;
  padding-top:30px;
  text-align:center;
  background-color:rgba(45, 43, 43, 0.6);
  border:1px #e8e8e8 solid;
  color:#fff;
}

.box .label {
  font-size:16px;
  letter-spacing:1.2px;
}

.box-title {
  font-size:24px;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:4px;
}

.box-content {
  padding:0 30px;
}

.box-bottom {
  position:absolute;
  bottom:-22px;
  left:0;
  width:100%;
  text-align:center;
}

.label {
  font-style:italic;
  color:#e8e8e8;
}

hr {
  margin-left:auto;
  margin-right:auto;
  width:20px;
  border:0 #000 solid;
  border-top-width:1px;
}

hr.color {
  border-color:#e8e8e8;
}

hr.light {
  border-color:#ccc;
}

hr.left {
  margin-left:0;
  margin-right:0;
}

.tiles {
  margin-left:-5px;
}

.tiles-col-3, .tiles-col-5, .tiles-col-6, .tiles-col-7, .tiles-col-12 {
  float:left;
  padding-left:5px;
}

.tiles-col-3 { width:25%; }
.tiles-col-5 { width:41.66666666666667%; }
.tiles-col-6 { width:50%; }
.tiles-col-7 { width:58.333333333333336%; }
.tiles-col-12 { width:100%; }

.tile {
  position:relative;
  display:block;
  background-color:#333;
  background-position:center center;
  background-size:cover;
  cursor: pointer;
}

.tile:before {
  display:block;
  content:"";
  padding-top:100%;
}

.tile + .tile {
  margin-top:5px;
}

.tile:after {
  content:"+";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  right:0;
  z-index:5;
  border:11px transparent solid;
  box-shadow:inset 0 0 0 1px #e8e8e8;
  text-align:right;
  padding:0 5px;
  font-size:24px;
  color:#e8e8e8;
  opacity:0;
  -webkit-transition:opacity .25s ease-out;
  transition:opacity .25s ease-out;
  background-color:rgba(0,0,0,.5);
}

.tile:hover:after {
  opacity:1;
}

.tiles--gallery .tile:after {
  content: "";
}

.tile-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 6;
  color: #fff;
  margin-left: -.5em;
  margin-top: -.5em;
  font-size: 24px;
  width: 1em;
  text-align: center;
  opacity: 0;
}

.tile:hover .tile-icon {
  opacity: 1;
}

.tile-content {
  position:absolute;
  left:27px;
  bottom:27px;
  z-index:10;
}

.tile-2h:before {
  padding-top:200%;
  padding-bottom:5px;
}

.tile-fh {
  height:265px;
}

.tile-fh:before {
  padding:0;
}

.tile .label {
  letter-spacing:1px;
}

.tile-text {
  border:1px #e8e8e8 solid;
  background-color:#fff;
  text-align:center;
  cursor: auto;
}

.tile-text:after {
  display:none;
}

.tile-text .tile-content {
  position:static;
  display:inline-block;
  vertical-align:middle;
}

.tile-text p {
  font-weight:300;
  letter-spacing:2px;
}

.tile-text:before {
  display:inline-block;
  height:100%;
  vertical-align:middle;
}

.tile-subtitle {
  display:block;
  margin-bottom:5px;
  color:#e8e8e8;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:12px;
}

.tile-title {
  font-size:18px;
  font-weight:bold;
  text-transform:uppercase;
  letter-spacing:3px;
  color:#fff;
  line-height:1;
}

.miniform {
  position:relative;
  padding-right:40px;
}

.miniform-input {
  width:100%;
  border:1px #c4c4c4 solid;
  background-color:transparent;
  padding:10px;
  line-height:16px;
}

.miniform-submit {
  position:absolute;
  top:0;
  right:0;
  background-color:transparent;
  font-weight:bold;
  color:#454242;
  border:1px #c4c4c4 solid;
  border-left-width:0;
  padding:10px;
  line-height:16px;
  width:40px;
}

.miniform-submit:hover {
  background-color:#c4c4c4;
  color:#fff;
}

.tabs-titles {
  position:relative;
  padding-top:1px;
  text-align:center;
}

.tabs-titles:before {
  content:"";
  position:absolute;
  top:50%;
  height:50%;
  left:0;
  right:0;
  z-index:1;
  margin-top:-1px;
  border:1px #e8e8e8 solid;
  border-bottom:none;
}

.tab-title {
  position:relative;
  z-index:5;
  display:inline-block;
  height:38px;
  width:220px;
  padding:7px 0;
  margin:-1px 25px 0;
  border:1px #e8e8e8 solid;
  background-color:#fff;
  font:11px/24px 'Libre Baskerville', serif;
  font-weight:bold;
  text-transform:uppercase;
  cursor:pointer;
}

.tab-title:hover, .tab-title.active {
  background-color:#e8e8e8;
}

.tabs-content {
  padding:90px 100px;
  border:1px #e8e8e8 solid;
  border-top:none;
}

.tab-content {
  display:none;
}

.tab-content.active {
  display:block;
}

.previews {
  margin-left:-55px;
  margin-bottom:-55px;
}

.previews-col {
  float:left;
  width:25%;
  padding-left:55px;
  padding-bottom:55px;
}

.preview {
  position:relative;
  display:block;
  cursor:pointer;
}

.preview span {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  font:24px/24px 'Libre Baskerville', serif;
  font-weight:bold;
  text-transform:uppercase;
  text-align:center;
  color:#fff;
  background-color:rgba(0,0,0,.5);
  border:14px transparent solid;
  box-shadow:inset 0 0 0 1px #e8e8e8;
  opacity:0;
  -webkit-transition:opacity .25s ease-out;
  transition:opacity .25s ease-out;
}

.preview:hover span {
  opacity:1;
}

.preview span:before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  height:100%;
}

.preview img {
  width:100%;
}

.portraits {
  text-align:center;
}

.portrait {
  display:inline-block;
  margin:0 55px;
  width:230px;
}

.portrait:first-child { margin-left:0; }
.portrait:last-child { margin-right:0; }

.portrait img {
  width:100%;
}

.portrait-name {
  margin-top:25px;
  text-transform:uppercase;
  font-family:'Libre Baskerville', serif;
  font-weight:bold;
  letter-spacing:2px;
}

.portrait-function {
  text-transform:uppercase;
  font-weight:600;
  letter-spacing:2px;
  color:#a29c9c;
}

.portrait p {
  font-size:12px;
}

.blackbox {
  text-align:center;
  background:#454242 url(../img/bg/dark-j.png) no-repeat center center;
  background-size:auto 100%;
  color:#fff;
  border:1px #e8e8e8 solid;
}

.blackbox:before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  padding-top:100%;
}

.blackbox-content {
  display:inline-block;
  vertical-align:middle;
}

.blackbox .quote {
  position:relative;
  padding:80px;
  font-style:italic;
  line-height:1.5;
}

.blackbox .quote:before, .blackbox .quote:after {
  position:absolute;
  font-family:'Libre Baskerville', serif;
  left:0;
  width:100%;
  font-size:110px;
  font-style:normal;
}

.blackbox .quote:before {
  top:-10px;
  content:"\201C";
}

.blackbox .quote:after {
  bottom:-90px;
  content:"\201D";
}

.blackbox .miniquote {
  font-style:italic;
  line-height:1.5;
  width:60%;
  margin-left:auto;
  margin-right:auto;
}

.blackbox-nav {
  font-family:'Libre Baskerville', serif;
}

.blackbox-nav-prev, .blackbox-nav-next {
  display:inline-block;
  color:#d9c485;
  cursor:pointer;
  font-size:18px;
}

.blackbox-nav-prev { margin-right:30px; }
.blackbox-nav-next { margin-left:30px; }

.blackbox-nav-current {
  color:#d9c485;
}

.encartDesigners {
  position: relative;
  background-color: #000;
  color:#fff;
  border:1px #e8e8e8 solid;
  box-shadow:inset 0 0 0 1px #ad9d71;
}

.encartDesigners-title {
  position: absolute;
  top: 40px;
  left: 40px;
  z-index: 5;
}

.encartDesigners:before {
  content:"";
  display:inline-block;
  vertical-align:middle;
  padding-top:100%;
}

.encartDesigners:after {
  content:"";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  background-color: #000;
  opacity: .25;
}

.encartDesigners .slider-bg {
  z-index: 3;
}

.encartDesigners .slider-item {
  padding-left: 40px;
  padding-right: 40px;
}

.encartDesigners-name {
  max-width: 350px;
}

.encartDesigners-content {
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  z-index: 5;
}

.encartDesigners-quote {
  line-height: 1.5;
  font-style: italic;
  letter-spacing: .1em;
  max-width: 400px;
}

.encartDesigners-nav {
  margin-left: 40px;
  font-family:'Libre Baskerville', serif;
}

.encartDesigners-nav-prev, .encartDesigners-nav-next {
  display:inline-block;
  color: #e8e8e8;
  cursor:pointer;
  font-size:18px;
}

.encartDesigners-nav-prev { margin-right:30px; }
.encartDesigners-nav-next { margin-left:30px; }

.encartDesigners-nav-page {
  font-style: italic;
}

.encartDesigners-nav-current {
  color:#e8e8e8;
}

.rounded {
  border-radius:50%;
  border:1px #e8e8e8 solid;
}

.years {
  font:24px/36px 'Libre Baskerville', serif;
  font-style:italic;
  display:block;
}

.years ul {
  float:left;
  width:50%;
}

.years li {
  display:block;
  margin-top:24px;
  color:#bfbfbfbf;
  cursor:pointer;
  -webkit-transition:.25s color ease-out;
  transition:.25s color ease-out;
}

.years li:before {
  content:"";
  display:inline-block;
  border:1px #bfbfbfbf solid;
  width:9px;
  height:9px;
  margin-right:18px;
  -webkit-transition:.25s all ease-out;
  transition:.25s all ease-out;
}

.years li:hover, .years li.active {
  color:#454242;
}

.years li:hover:before, .years li.active:before {
  border-color:#454242;
  background-color:#454242;
}

.buttonPicker .button {
  width:230px;
  margin:25px 25px 0;
}

.simpleSlider {
  position:relative;
  background-color:#454242;
}

.simpleSlider-right {
  text-align:right;
}

.simpleSlider .box {
  position:relative;
  z-index:10;
  padding:25px 15px 50px;
  width:560px;
}

.simpleSlider .box-arrows {
  padding-left:60px;
  padding-right:60px;
}

.box-arrow-left,
.box-arrow-right {
  position:absolute;
  width:25px;
  height:70px;
  top:50%;
  margin-top:-35px;
  background-image:url(../img/elements/arrows-mini.classic.png);
  cursor:pointer;
}

.box-arrow-left {
  left:25px;
}

.box-arrow-right {
  right:25px;
  background-position:-48px 0;
}

.shadow-ltr:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  z-index:5;
  width:410px;
  background-image:url(../img/bg/ltr-shadow.png);
}

.newsletter {
  position:absolute;
  left:100px;
  top:0;
  z-index:10;
  height:100%;
  width:310px;
  text-align:left;
}

.newsletter-title {
  font-size:18px;
  text-transform:uppercase;
  font-weight:bold;
  letter-spacing:2px;
  color:#ffffff;
}

.newsletter-input {
  padding:15px 20px;
  width:100%;
  border:1px #e8e8e8 solid;
  background: rgba(45, 43, 43, 0.6);
  border-color:rgba(255,255,255,.3);
  color:#fff;
  background-color:transparent;
  letter-spacing:2px;
}

.newsletter-input::-webkit-input-placeholder { color:#fff;font-style:italic; }
.newsletter-input::-moz-placeholder { color:#fff;font-style:italic; }
.newsletter-input:-ms-input-placeholder { color:#fff;font-style:italic; }

.nav-inpage .button {
  position:relative;
  padding-bottom:25px;
  width:100%;
  text-align:center;
}

.nav-inpage .button:after {
  content:"";
  position:absolute;
  bottom:10px;
  left:50%;
  margin-left:-7px;
  width:15px;
  height:8px;
  background-image:url(../img/elements/chevron-down.png);
}

.postList {
  border-bottom:1px #e5e5e5 solid;
}

.postList-post {
  position:relative;
  margin-bottom:60px;
  padding-top:60px;
  border-top:1px #e5e5e5 solid;
}

.postList-img {
  float:left;
  width: 340px;
  height: 240px;
  max-width: 100%;
  background-position: center center;
  background-size: cover;
}

.postList-content {
  margin-left:400px;
  padding-bottom:80px;
}

.postList-header {
  border-bottom:2px #e8e8e8 solid;
  margin-bottom:25px;
  padding-bottom:15px;
  font-size:12px;
  letter-spacing:1px;
}

.postList-title {
  text-transform:uppercase;
  font-size:18px;
  font-weight:bold;
  color:#2D2B2B;
}

.postList-date {
  font-style:italic;
}

.postList-post .button {
  position:absolute;
  left:400px;
  bottom:0;
}

.jobOffer:first-child .jobOffer-post {
  border-top:1px #e8e8e8 solid;
}

.jobOffer-post {
  position:relative;
  padding:60px 0;
  border-bottom:1px #e8e8e8 solid;
}

.jobOffer-img {
  float:left;
  width: 340px;
  height: 240px;
  max-width: 100%;
  background-position: center center;
  background-size: cover;
}

.jobOffer-content {
  margin-left:400px;
  padding-bottom:80px;
}

.jobOffer-header {
  border-bottom:2px #e8e8e8 solid;
  margin-bottom:25px;
  padding-bottom:15px;
  font-size:12px;
  letter-spacing:1px;
}

.jobOffer-title {
  text-transform:uppercase;
  font-size:18px;
  font-weight:bold;
  color:#2D2B2B;
  display: block;
  width: 100%;
}

.jobOffer-details {
    font-size: 15px;
    margin-top: 5px;
    display: block;
    color:#2D2B2B;
}

.jobOffer-date {
  font-style:italic;
}

.jobOffer-buttons {
  position:absolute;
  left:400px;
  bottom:60px;
}

.jobOffer-buttons .button {
  margin-left: 10px;
}

.jobOffer-buttons .button:first-child {
  margin-left: 0;
}

.jobInfos {
  display: none;
  position: relative;
  margin-top: -1px;
  padding: 40px 0;
  background-color: #f5f5f5;
}

.jobInfos:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -30px;
  border-style: solid;
  border-color: #fff transparent;
  border-width: 30px 30px 0 30px;
}

.jobInfos-title {
  margin-top: 30px;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: .1em;
  font-size: 18px;
}

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

.jobInfos-title:after {
  content: "";
  display: block;
  margin-top: 15px;
  width: 50%;
  height: 2px;
  background-color: #454242;
}

.jobInfos-text {
  margin-top: 30px;
}

.jobInfos-text p {
  margin-top: 15px;
}

.jobInfos-list, .jobInfos-text ul {
  line-height: 1.5;
  letter-spacing: 1px;
  margin-top: 15px;
  list-style: none;
}

.jobInfos-list li, .jobInfos-text ul li {
  position: relative;
  margin-top: 5px;
  padding-left: 10px;
}

.jobInfos-list li:first-child, .jobInfos-text ul li:first-child {
  margin-top: 0;
}

.jobInfos-list li:before, .jobInfos-text ul li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\2022";
  font-weight: bold;
}

.jobInfos-details {
  margin-top: 30px;
  font-size: 16px;
  letter-spacing: .1em;
}

.jobInfos-details strong {
  text-transform: uppercase;
}

.jobInfos .button {
  background: #2D2B2B;
  color: #fff;
}

.jobs-message {
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: .1em;
  font-size: 18px;
  margin-right: 20px;
}

.jobs-noOffers {
  display: none;
  text-align: center;
}

.jobs-noOffers-title {
  font-size: 22px;
  text-transform: uppercase;
  font-family:'Libre Baskerville', serif;
  letter-spacing: .1em;
  color: #454242;
}

.jobs-noOffers-text {
  margin-top: 5px;
  text-transform: uppercase;
}

.jobs-noOffers-options {
  margin-top: 90px;
}

.jobs-noOffers-options .jobs-noOffers-title {
  margin-bottom: 10px;
  font-size: 18px;
}

.candidature-form {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.candidature-form-message {
  min-height: 238px;
}
.candidature-form-button {
  width: 100%;
}

.candidature-form .form-text, .candidature-form .form-select-input, .candidature-form .form-textarea {
  border-color: #2D2B2B;
}

.dropdown {
  position: relative;
  display: inline-block;
  width: 260px;
  border: 1px #454242 solid;
  cursor: pointer;
}

.dropdowns-item + .dropdowns-item {
  margin-left: 30px;
  vertical-align: top;
}

.dropdown:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  width: 34px;
  background: #2D2B2B url(../img/elements/chevron-down-white.png) no-repeat center center;
}

.dropdown-select {
  height: 33px;
  padding: 0 44px 0 10px;
  color: #2D2B2B;
  font-style: italic;
  width: 100%;
  position: relative;
  z-index: 5;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.searchForm {
  position:relative;
  display:inline-block;
  padding-right:41px;
  width:300px;
  max-width:100%;
}

.searchForm-input {
  border:1px #454242 solid;
  border-right:0;
  height:41px;
  width:100%;
  padding:0 12px;
}

.searchForm-submit {
  position:absolute;
  top:0;
  right:0;
  width:41px;
  height:41px;
  text-indent:-999px;
  background:#454242 url(../img/elements/icon-search.png) no-repeat center center;
}

.contactBlock {
  margin-left:auto;
  margin-right:auto;
  width:100%;
  text-align:center;
}

.contactBlock-email {
  float:left;
  width:50%;
  border-right:1px #e5e5e5 solid;
}

.contactBlock-phoneNumber {
  font-size:18px;
  color: #2D2B2B;
  height: 185px;
  margin-top: 30px;
  border: 1px solid #e8e8e8;
  width: 70%;
  display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.contactBlock-phoneNumber .phone + .phone {
  margin-top: 10px;
}

.contactBlock-phoneNumber .city {
  font-weight: bold;
}

.contactBlock-phone {
  float:left;
  width:50%;
}

.contactBlock-social {
  margin-top:30px;
  padding-top:30px;
  margin-left:360px;
  border-top:1px #8D744D solid;
}

.contactBlock-email .form {
  padding-left: 20%;
  padding-right: 20%;
}

.contactBlock-social a {
  margin:0 5px;
}

.contactBlock .button {
  -webkit-transition:none;
  transition:none;
}

.contactBlock .button:hover {
  color:#8D744D;
  background-color:#454242;
}

.contactBlock .button:before {
  display:none;
}

.project-description {
  float:left;
  width:720px;
}

.project-description p + p {
  margin-top:1.5em;
}

.project-description-text {
  line-height: 1.5;
  overflow: hidden;
}

.project-description-plus {
  margin-top: 20px;
  display: none;
}

.project-infos {
  float:right;
  padding:15px 0;
  width:360px;
  background:#454242 url(../img/bg/dark-j-small.png) no-repeat center center;
  background-size:auto 100%;
  border:1px #e8e8e8 solid;
  color:#fff;
  text-align:center;
  font-size:12px;
  line-height:22px;
}

.project-info {
  margin:0 40px;
  padding:30px 0;
}

.project-info + .project-info {
  border-top:1px #555049 solid;
}

.project-info img {
  margin-bottom:5px;
}

.project-designer {
  margin-bottom:25px;
}

.project-designer-image {
  float:left;
}

.project-designer-content {
  margin-left:270px;
}

.project-designer-name {
  margin-bottom:20px;
  font-size:30px;
  text-transform:uppercase;
  font-weight:bold;
}

.project-designer-quote {
  font-family: 'Libre Baskerville', serif;
  font-style: italic;
  letter-spacing: 0;
}

.project-designer-url {
  display: inline-block;
  margin-top: 25px;
  font-family: 'Libre Baskerville', serif;
  letter-spacing: 1px;
  color: #000;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: bold;
}

.project-designer-url:hover {
  text-decoration: underline;
}

.needlebox {
  border:1px #454242 solid;
  border-top:none;
}

.needlebox .section-title {
  margin-left:-1px;
  margin-right:-1px;
}

.needlebox .section-title:before {
  position:absolute;
  content:"";
  background-color:#fff;
  top:0;
  bottom:50%;
  left:0;
  right:0;
  margin-bottom:4px;
}

.needlebox-content {
  margin:60px 80px 80px;
}

.slider {
  position:relative;
}

.slider-bg {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  overflow:hidden;
  background-position:center center;
  background-size:cover;
  -webkit-perspective:500px;
          perspective:500px;
}

.slider-bg div {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-position:center center;
  background-size:cover;
  opacity:0;
  transition:all 10s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transition:all 10s cubic-bezier(0.190, 1.000, 0.220, 1.000), opacity 500ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.progress span {
  display:inline-block;
  vertical-align:middle;
  width:12px;
  height:12px;
  margin:0 2px;
  background-color:#2D2B2B;
  border-radius:6px;
  cursor:pointer;
  -webkit-transition:background-color .1s ease-out;
  transition:background-color .1s ease-out;
}

.progress :hover, .progress .active {
  background-color:#e8e8e8;
}

.progress {
  text-align:center;
}

.slider-frame {
  overflow:hidden;
  -webkit-transition:height .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition:height .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.slider-scroller {
  width:10000%;
  transform:translate3d(0,0,0);
  -webkit-transform:translate3d(0,0,0);
  transition:-webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition:transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition:transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000), -webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transition:-webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.slider-item {
  width:1%;
  float:left;
}

.slidable-frame {
  overflow:hidden;
}

.slidable-scroller {
  width:10000%;
  transform:translate3d(0,0,0);
  -webkit-transform:translate3d(0,0,0);
  transition:-webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition:transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  transition:transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000), -webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-transition:-webkit-transform .5s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}

.slidable-page {
  width:1%;
  float:left;
}

.slidable-arrows {
  position:relative;
}

.slidable-prev, .slidable-next {
  user-select: none;
}

.slidable-arrow-left,
.slidable-arrow-right {
  position:absolute;
  width:76px;
  height:147px;
  margin-top:-73px;
  top:50%;
  z-index:5;
  background-image:url(../img/elements/arrows-big.png);
  cursor:pointer;
}

.slidable-arrow-left {
  left:35px;
}

.slidable-arrow-right {
  right:35px;
  background-position:-76px 0;
}

.header-box-container {
  position:absolute;
  top:152px;
  left:0;
  right:0;
  bottom:0;
  z-index:5;
}

.header-box {
  margin-left:125px;
  width:480px;
  padding-left:10px;
  padding-right:10px;
}

.header-video-container, .header-video-mask {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1;
  overflow:hidden;
}

.header-video {
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:300%;
  z-index:1;
  opacity: 0;
  transition: opacity 1s ease-out;
}

.header-video[src*="player.vimeo"] {
  width: 135%;
}

.header-video.is-visible {
  opacity: 1 !important;
}

.header-video-container-height .header-video {
  top:0;
  height:100%;
  left:-100%;
  width:300%;
}

.header-scroller {
  position: absolute;
  bottom: 50px;
  left: 50%;
  z-index: 5;
  margin-left: -.5em;
  font-size: 40px;
  width: 1em;
  height: .5em;
  border-color: #fff;
  cursor: pointer;
}

.header-scroller:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: .71em;
  height: .71em;
  border-style: solid;
  border-color: inherit;
  border-width: 0 1px 1px 0;
  transform-origin: 75% 75%;
  transform: translate(-75%,-75%) rotate(45deg);
}

.popin {
  display:none;
  position:fixed;
  top:50%;
  left:50%;
  z-index:30;
  -webkit-transform: translate(-50%,-50%);
          transform: translate(-50%,-50%);
}

.popin-sidebar {
  float:left;
  height:100%;
  width:390px;
  padding:65px 35px;
  background-color:#e8e8e8;
}

.popin-title {
  padding-bottom:35px;
  background:url(../img/elements/needle-left.svg) no-repeat right bottom;
  text-transform:uppercase;
  font-size:30px;
  font-weight:bold;
  letter-spacing:3px;
}

.popin-description {
  margin-top:40px;
}

.popin-close {
  position:absolute;
  bottom:50px;
  left:0;
  width:390px;
  text-align:center;
  font-family:'Libre Baskerville', serif;
  font-size:12px;
  line-height:13px;
  font-weight:bold;
  text-transform:uppercase;
  cursor:pointer;
}

.popin-close:before {
  display:inline-block;
  content:"";
  vertical-align:top;
  width:9px;
  height:9px;
  margin-top:2px;
  margin-right:6px;
  background-image:url(../img/elements/icon-cross.png);
}

.popin-content {
  max-width: 800px;
  max-height: 600px;
  max-width:93vw;
  max-height: 93vh;
  max-height: calc(100vh - 180px);

  user-drag: none;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.popin-navigation {
  position:absolute;
  bottom: 100%;
  right: 0;
  z-index: 5;
  margin-bottom: 20px;
}

.popin-navigation span {
  display:inline-block;
  width:33px;
  height:33px;
  cursor:pointer;
  background-position:center center;
  background-repeat:no-repeat;
  background-image:url(../img/elements/cross-white.png);
}

.popin-navigation span + span {
  margin-left:30px;
}

span.popin-nav-prev, span.popin-nav-next {
  width: 17px;
}

span.popin-nav-prev { background-position: right center; }
span.popin-nav-next { background-position: left center; }

.popin-more {
  position: absolute;
  bottom: 20px;
  left: 20px;
  line-height: 30px;
  width: 30px;
  height: 30px;
  z-index: 5;
  background-color: #e8e8e8;
  color: #020100;
  text-align: center;
  font-size: 30px;
  cursor: pointer;
}

.popin-legend {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  background-color: rgba(0, 0, 0, .5);
  color: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}

.popin-legend:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 0;
  border: 1px solid #e8e8e8;
}

.popin-legend-title {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 0 30px;
  max-width: 480px;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.popin-legend-text {
  position: relative;
  z-index: 1;
  width: 100%;
  margin-top: 15px;
  padding-left: 30px;
  padding-right: 30px;
  max-width: 480px;
}

.cards {
  margin-left:-30px;
}

.card {
  float:left;
  padding-left:30px;
  width:25%;
}

.card img {
  width:100%;
}

.card-content {
  padding:30px 0;
  text-align:center;
  border:1px #2D2B2B solid;
  border-top:none;
  max-height: 250px;
}

.card-title {
  font-size:24px;
  text-transform:uppercase;
  font-weight:600;
  color:#2D2B2B;
  letter-spacing:2px;
}

.card hr.color {
  border-color: #2D2B2B;
}

.card-content p {
  line-height:2;
}

.card-content a {
  font-style:italic;
  color:#000;
}

.card-content a:before {
  content:"> ";
}

.card-content a:hover {
  font-weight:bold;
}

.contact-col {
  float:left;
  width:50%;
  padding:0 55px;
}

.contact .contact-col {
	height: 730px;
}

.contact-box {
  min-height:600px;
  padding:40px 40px 10px;
  text-align:center;
  border:1px #454242 solid;
}

.contact .contact-box .h2 {
  font-family: inherit;
  font-weight: bold;
}

.contact-box .form-text, .contact-box .form-textarea {
  color: #2D2B2B;
  padding:13px;
}

.contact-box .button {
  padding:15px;
  width:260px;
  font-size:12px;
}

.contact-coord {
  display:block;
  margin-top:10px;
  font-size:20px;
  color:#2D2B2B;
}

.contact-coord .phone + .phone {
  margin-top: 10px;
}

.contact-coord .city {
  font-weight: bold;
}

.contact {
  height: auto;
  display: flex;
  flex-direction: row;
}

.contact .contact-col .contact-left {
  min-height: auto;
  height: 100%;
}

.contact .contact-col .contact-call {
  min-height: auto;
  height: calc(65% - 30px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.contact .contact-col .contact-social {
  min-height: auto;
  height: 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.contact-social a, .contact-box .icon {
  display: inline-block;
  margin-left: 20px;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background-color: #2D2B2B;
  line-height: 33px;
  font-size: 20px;
  color: #fff;
  margin-top: 10px;
  margin-bottom: 20px;
}

.contact-social a:first-child {
  margin-left: 0;
}

.wrapper .news-content {
  margin-left: 15%;
  margin-right: 15%;
}

.news-content h2, .news-content h3 {
  margin: 40px 0;
  font-weight: 600;
  font-size: 30px;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.news-content h3 {
  font-size: 24px;
  margin: 30px 0;
}

.news-content p + p {
  margin-top:25px;
}

.news-content a {
  color: #000;
  text-decoration: underline;
}

.news-content a:hover, .news-content a:active {
  text-decoration: none;
}

.news-block {
  margin-top: 50px;
}

.news-block:first-child {
  margin-top: 0;
}

.news-textWrapper {
  margin-left: auto;
  margin-right: auto;
}

.news-text {
  text-align: center;
}

.news-imageText {
  display: flex;
}

.news-imageText-img {
  align-self: flex-start;
}

.news-imageText-text {
  flex: 1;
  margin: 50px;
  margin-left: 0;
  align-self: center;
  text-align: justify;
}

.news-imageText--right .news-imageText-img {
  order: 2;
}

.news-video-text {
  text-align: center;
}

.news-video-video {
  margin-top: 0;
  text-align: center;
}

.news-video-video iframe {
}

.news-columns-wrapper {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

.news-columns-col {
  flex: 1;
  border-left: 1px  solid #e8e8e8;
  padding-left: 60px;
  text-align: justify;
}

.image-column-left .news-columns-col, .image-column-right .news-columns-col {
  margin: auto;
}

.news-columns.image-column-left .news-columns-wrapper {
  flex-direction: row-reverse;
}

.news-columns.image-column-left .news-columns-col:first-of-type {
  padding-left: 60px;
  padding-right: 0;
}

.news-columns .news-columns-col:only-child {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.news-columns.image-column-left .news-columns-col:nth-child(2) {
  border: none;
  padding-left: 0;
  padding-right: 60px;
  border-right: 1px solid #e8e8e8;
  min-width: 50%;
}

.news-columns-col:first-child {
  border-left: none;
  padding-left: 0;
  padding-right: 60px;
}

.nav-prev, .nav-next, .nav-back {
  position:relative;
  float:left;
  width:33.33333%;
  height:290px;
  border-color:#fff;
  border-style:solid;
  border-width:0 30px;
  text-align:center;
  font-family:'Libre Baskerville', serif;
  font-style:italic;
  font-size:18px;
  line-height:1.3;
  letter-spacing:2px;
  color:#e8e8e8;
  overflow:hidden;
}

.nav-back {
  margin-left:33.3333%;
}

.nav-prev + .nav-back {
  margin-left:0;
}

.nav a {
  color:#e8e8e8;
}

.nav-img {
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-size:cover;
  background-position:center center;
  -webkit-transition:all 1000ms ease-out;
  transition:all 1000ms ease-out;
}

.nav a:hover .nav-img {
  -webkit-transform:scale(1.05);
          transform:scale(1.05);
}

.nav-content {
  position:relative;
  z-index:5;
  display:inline-block;
  vertical-align:middle;
}

.nav-prev {
  border-left:none;
}

.nav-next {
  border-right:none;
}

.nav-prev a:after, .nav-next a:after {
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  z-index:1;
  background-color:#000;
  filter:alpha(opacity=50);
  opacity:0.5;
}

.nav-back {
  background-color:#e8e8e8;
  color:#454242;
}

.nav-back a {
  color:#454242;
}

.nav-back a:hover {
  background-color:#454242;
  color:#e8e8e8;
}

.nav-arrow-back {
  display:inline-block;
  width:106px;
  height:15px;
  fill: #454242;
}

.nav-back a:hover .nav-arrow-back {
  fill: #e8e8e8;
}

.nav-title {
  text-transform:uppercase;
  font-family:'Open Sans', sans-serif;
  font-style:normal;
  font-weight:bold;
  color:#fff;
}

.home-testimonials .progress {
  position:absolute;
  left:0;
  width:100%;
  bottom:45px;
}

.home-testimonials {
  position: relative;
}

.home-testimonials .box {
  position: relative;
  z-index: 2;
}

.home-testimonials-bg {
  position: absolute;
  display: none;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 1;
  background-position: center center;
  background-size: cover;
}

.box + .home-testimonials-bg {
  display: block;
}

.epopee .box {
  position:relative;
  z-index:10;
  padding:25px 15px 50px;
}

.epopee .box-title {
  font-size: 24px;
}

.epopee-slider-container {
  height: 500px;
}

.social-title {
  font-family:'Libre Baskerville', serif;
  text-transform:uppercase;
  color:#e8e8e8;
  font-size:12px;
}

.social-links {
  margin-top:20px;
}

.social-links a {
  display:inline-block;
  margin:0 3px;
}

.social-links a .fa {
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #e8e8e8;
  line-height: 28px;
  font-size: 17px;
  color: #2D2B2B;
}

.equipes-portraits {
  margin-left: -120px;
  text-align: left;
}

.equipes-portraits .portrait {
  vertical-align: top;
  margin:70px 0 0 117px;
  width: 220px;
  text-align: center;
}

.mentions p {
  margin-top: 25px;
}

.mentions a {
  text-decoration: underline;
  color: #000;
}

/* JS */

.form-error {
  border-color:#c00;
}

.valeurs {
  position: relative;
  max-width: 1028px;
  margin-left: auto;
  margin-right: auto;
}

.valeurs-item {
  padding-bottom: 45px;
  padding-left: 107px;
  padding-right: 107px;
  text-align: center;
}

.valeurs-text {
  margin-top: 45px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.valeurs-progress {
  text-align: center;
}

.valeurs-progress span {
  display: inline-block;
  margin: 0 2px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background-color: #454242;
  cursor: pointer;
}

.valeurs-progress span.active {
  background-color: #e8e8e8;
}

.valeurs-nav {
  position: absolute;
  top: 131px;
  width: 37px;
  height: 70px;
  cursor: pointer;
}

.valeurs-nav-prev {
  left: 0;
  background-image: url(../img/elements/valeurs-left.png);
}

.valeurs-nav-next {
  right: 0;
  background-image: url(../img/elements/valeurs-right.png);
}

/** HELPERS **/

.mv10 { margin-top:10px;margin-bottom:10px; }
.mv15 { margin-top:15px;margin-bottom:15px; }
.mv20 { margin-top:20px;margin-bottom:20px; }
.mv25 { margin-top:25px;margin-bottom:25px; }

.mha { margin-left:auto;margin-right:auto; }

.mt5 { margin-top:5px; }
.mt10 { margin-top:10px; }
.mt20 { margin-top:20px; }
.mt25 { margin-top:25px; }
.mt30 { margin-top:30px; }
.mt40 { margin-top:40px; }
.mt50 { margin-top:50px; }
.mt60 { margin-top:60px; }
.mt70 { margin-top:70px; }
.mt80 { margin-top:80px; }
.mt90 { margin-top:90px; }
.mt100 { margin-top:100px; }
.mt120 { margin-top:120px; }

.ml10 { margin-left:10px; }
.ml30 { margin-left:30px; }

.mr10 { margin-right:10px; }

.pb50 { padding-bottom:50px; }

.ph30 { padding-left:30px;padding-right:30px; }
.ph60 { padding-left:60px;padding-right:60px; }
.ph80 { padding-left:80px;padding-right:80px; }
.ph100 { padding-left:100px;padding-right:100px; }

.w10p { width:10px; }
.w60p { width:60px; }

.w60 { width:60%; }
.w100 { width:100%; }

.h400 { height:400px; }
.h410 { height:410px; }
.h510 { height:510px; }
.h560 { height:560px; }

.fz36 { font-size:36px; }

.tac { text-align:center; }
.tar { text-align:right; }
.vam { vertical-align:middle; }
.fll { float:left; }
.dib { display:inline-block; }
.di { display:inline; }
a.bvam { display:inline-block;height:100%;width:100%; }
.bvam:before { content:"";display:inline-block;vertical-align:middle;height:100%; }

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { *zoom: 1; }

.visible-m, .visible-s, .visible-t {
  display:none;
}

form .website_field__ {
	display: none !important;
}

.g-recaptcha {
	margin-top: 10px;
	margin-bottom: -10px;
}

.contact .contact-box .g-recaptcha {
	margin-bottom: -20px;
}

.grecaptcha-badge { opacity:0;}

.recaptcha-texte{
  font-size:10px;
  padding-top:20px;
  color:#afafaf;
}

/* Responsive */

@media (max-height:790px) {
  .header {
    height:710px;
  }
}

@media (max-height:710px) {
  .header {
    height:710px;
  }

  .modal .modal-content {
    transform: none;
    top: initial;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .modal .modal-content .title {
    margin-top: 15px;
  }
}

@media (min-height:710px) {
  .modal .modal-content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (min-height:1100px) {
  .header {
    height:960px;
  }
}

@media (max-width:1260px) {
  .modal .modal-content .message {
    padding-left: 20px;
    padding-right: 20px;
  }
  .wrapper {
    width:890px;
  }
  .header-wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
  .menu .wrapper, .header-wrapper {
    width: 100%;
  }
  .header {
    height:670px;
  }
  .header-box {
    margin-left:30px;
  }
  .menu-logo-top {
    margin-left:-66px;
  }
  .menu-logo-top svg {
    width:132px;
  }
  .menu-left, .menu-right {
    padding:0;
  }
  .menu-left {
    padding-right:80px;
  }
  .menu-right {
    padding-left:80px;
  }
  .menu-link {
    font-size:11px;
  }
  .richMenu {
    left: -20px;
    width: auto;
    right: -20px;
  }
  .richMenu-description {
    width:260px;
    padding:40px;
  }
  .richMenu-items {
    left:260px;
    padding:0 20px;
  }
  .richMenu-item {
    padding:50px 15px 0;
  }
  .richMenu-footer {
    bottom: 50px;
  }
  .richMenu-item + .richMenu-item {
    border-left:none;
    padding-left:15px;
  }
  .square {
    padding:25px 30px;
    height:415px;
  }
  .square .box {
    height:350px;
  }
  .simpleSlider .box {
    width:520px;
  }

  .wrapper .news-content {
    margin-left: 0;
    margin-right: 0;
  }

  /*.footer {
    background-position:315px 0;
  }
  .footer-left {
    margin-left:40px;
  }
  .footer-middle {
    margin-left:50px;
  }
  .footer-right {
    width:200px;
    margin-left:110px;
  }

  .footer-newsletter {
    width:270px;
  }
  .footer-address + .footer-address {
    margin-top:35px;
  }*/

  /* DEBUT DU RAJOUT - RESPONSIVE */

  .footer {
    padding-top: 85px;
    position:relative;
    height: auto;
    margin-bottom: 40px;
    background-image:none;
    overflow:hidden;
  }

  .footer:after {
    content:"";
    position:absolute;
    top:0;
    left:50%;
    z-index:1;
    margin-left:20px;
    width:368px;
    height:461px;
    background-image:url(../img/bg/footer-mobile.png);
  }

  .footer > .footer-wrapper, .footer .footer-right {
    padding-left: 40px;
  }

  .footer-left {
    margin-left:0;
    height:385px;
  }

  .footer-middle {
    position:relative;
    z-index:5;
    margin-left:100px;
  }

  .footer-right {
    clear:both;
    margin:20px 0 0;
    padding:30px 0;
    float:none;
    width:auto;
    background-color:#e8e8e8;
  }

  .footer-address {
    float: left;
    margin-top: 10px !important;
    width: 25%;
    text-align: center;
  }

  .footer-address + .footer-address {
    margin-top: 0;
  }

  /* FIN DU RAJOUT - RESPONSIVE */

  .tile-content {
    left:15px;
    bottom:15px;
  }
  .tile:after, .preview span {
    border-width:6px;
  }
  .newsletter {
    left:40px;
    width:250px;
  }
  .portrait {
    width:200px;
  }

  .epopee .h1 {
    font-size: 28px;
  }
  .years {
    font-size: 20px;
  }
  .project-description {
    float:none;
    width:auto;
  }
  .project-infos {
    float:none;
    margin-top:50px;
    width:auto;
  }
  .contact-col {
    float:none;
    width:auto;
  }
  .contact-col + .contact-col {
    margin-top:30px;
  }
  
  .contact .contact-col {
  	height: auto;
  }
  
  .contact-box {
    padding:40px;
  }

  .contact {
    height: auto;
    display: block;
  }

  .contact .contact-col .contact-left {
    min-height: auto;
    height: 100%;
  }

  .contact .contact-col .contact-call {
    min-height: auto;
    height: 100%;
  }

  .contact .contact-col .contact-social {
    min-height: auto;
    height: 100%;
  }

  .blackbox .quote { padding-left: 0;padding-right: 0; }

  .equipes-portraits {
    margin-left: -115px;
  }

  .equipes-portraits .portrait {
    margin-left: 115px;
  }

  .m-mv10 { margin-top:10px;margin-bottom:10px; }
  .m-mt10 { margin-top:10px; }
  .m-mt20 { margin-top:20px; }
  .m-p40 { padding:40px; }
  .m-ph40 { padding-left:40px;padding-right:40px; }
  .m-fz26 { font-size:26px; }

  .visible-m {
    display:block;
  }
}

@media (max-width:1260px) and (min-width:650px) {
  .project-info {
    float:left;
    width:33.3333%;
    margin:0;
    padding:30px;
  }

  .project-info + .project-info {
    border-top:0;
  }

  .jobOffer-content {
    padding-bottom: 0;
  }

  .jobOffer-buttons {
    margin-top: 20px;
    position: initial;
  }

}

@media (max-width :1280px) {
  .header-video[src*="player.vimeo"] {
    height: 200%;
    top: -200px;
  }
}

@media (max-width:1100px) {
  .visible-t {
    display: block;
  }

  .header-wrapper, .menu .wrapper {
    position:static;
  }

  .header-social {
    display: none;
  }

  .header-scroller {
    bottom: 30px;
  }

  .menu-container {
    display:none;
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:20;
    background-color:#454242;
    border-bottom:2px #e8e8e8 solid;
    padding:10px 0 25px;
  }

  .menu-logo-top {
    position:relative;
    z-index:10;
  }

  .menu-left, .menu-right {
    float:none;
    margin:0 auto;
    padding:0;
    width:630px;
    display: block;
  }

  .menu .menu-item {
    display:block;
    float:none;
    padding:0;
    margin:0;
  }

  .menu-item {
    border-top: 1px #655e51 solid;
  }

  .menu-left .menu-item:first-child {
    border-top:none;
  }

  .menu-item-rich:hover .richMenu {
    display:none;
  }

  .menu-link {
    display:block;
    padding:20px 0;
    font-size:14px;
  }

  .menu-close, .menu-trigger { display:block; }

  .menu-trigger {
    position:absolute;
    top:98px;
    left:50%;
    margin-left:-240px;
    padding:4px 0;
    z-index:10;
    border:0 #fff solid;
    border-width:3px 0;
    width:29px;
    cursor:pointer;
  }

  .control-volume {
    display: none;
  }

  .header-language {
    top:98px;
    right:50%;
    margin-right:-240px;
  }

  .header-box-container {
    text-align:center;
  }

  .header-box {
    margin-left:0;
  }

  .menu-trigger:before {
    content:"";
    display:block;
    border:0 #fff solid;
    border-top-width:3px;
  }

  .menu-item-rich:hover .menu-link:before {
    display:none;
  }

  .menu-close {
    margin:10px 0;
    padding:10px 0;
    text-align:center;
    cursor:pointer;
    color:#e8e8e8;
    font-size:52px;
    font-weight:300;
  }
}

@media (max-width:990px) {
  .wrapper, .footer-wrapper { width:630px; }
  .footer-wrapper { margin-left:auto;margin-right:auto; }

  .col-s-6, .tiles-col-s-6 { width:50%; }
  .col-s-12, .tiles-col-s-12 { width:100%; }

  .h1 { font-size:30px; }

  .modal .modal-content .message {
    padding-left: 0;
    padding-right: 0;
  }

  .contactBlock-email, .contactBlock-phone {
    width: 100% !important;
    float: none;
  }

  .contactBlock-email {
    padding:0;
    border-right:none;
    border-bottom:1px #e5e5e5 solid;
    padding-bottom:30px;
  }

  .contactBlock-phone {
    margin-left:0;
    margin-top:30px;
  }

  .contactBlock-phoneNumber {
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }

  .contactBlock-email .form {
    padding-left: 0%;
    padding-right: 0%;
  }

  .footer {
    padding-top: 100px;
    position:relative;
    margin-bottom:0;
    width:auto;
    height:auto;
    background-image:none;
    overflow:hidden;
  }

  .footer:after {
    content:"";
    position:absolute;
    top:0;
    left:50%;
    z-index:1;
    margin-left:20px;
    width:368px;
    height:461px;
    background-image:url(../img/bg/footer-mobile.png);
  }

  .footer > .footer-wrapper, .footer .footer-right {
    padding-left: 0;
    padding-top: 0;
  }

  .footer-left {
    margin-left:0;
    height:385px;
  }

  .footer-middle {
    position:relative;
    z-index:5;
    margin-left:100px;
  }

  .footer-right {
    clear:both;
    margin:20px 0 0;
    padding:30px 0;
    float:none;
    width:auto;
    background-color:#e8e8e8;
  }

  .footer-newsletter {
    width:auto;
  }

  .footer-address {
    float:left;
    width:50%;
    text-align: center;
    margin-top: 30px !important;
  }

  .footer-address + .footer-address {
    margin-top:0;
    margin-left: 0;
  }

  .square { height:630px; }
  .square .box { max-width:370px; }

  .newsletter {
    position:relative;
    left:0;
    z-index:5;
    margin-top:80px;
    text-align:center;
    width:auto;
  }

  .shadow-ltr:before {
    display:none;
  }

  .previews-col {
    width:50%;
  }

  .newsletter-input { text-align:center; }

  .simpleSlider { padding:60px 0; }
  .simpleSlider-right { text-align:center; }

  .contactBlock { width:auto; }
  .contactBlock-email { width:50%; }

  .epopee .h1-needle {
    display:block;
  }

  .epopee .h1 br {
    display:none;
  }

  .years {
    margin-top:30px;
    text-align:center;
  }

  .years ul {
    float:none;
    width:auto;
    display: inline;
  }

  .years li {
    margin:0 15px;
    display:inline-block;
  }

  .epopee .box {
    width:100%;
  }

  .popin {
    margin:0;
    top:0;
    bottom:0;
    right:0;
    left:0;
    width:auto;
    height:auto;
    -webkit-transform: none;
            transform: none;
    text-align: center;
    -ms-flex-line-pack: center;
        align-content: center;
  }

  .popin-content {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
  }

  .popin-sidebar {
    height:auto;
    padding:15px;
    width:100%;
    position:absolute;
    bottom:0;
    left:0;
  }

  .popin-title {
    padding:0;
    background-image:none;
    display:block;
    font-size:24px;
  }

  .popin-description {
    display:none;
  }

  .popin-close {
    display:none;
  }

  .popin-navigation {
    top:30px;
    right:30px;
  }

  .portrait {
    width:175px;
    margin:0 25px;
  }

  .contact-col {
    padding:0;
  }

  .card {
    float:none;
    width:auto;
  }

  .card + .card {
    margin-top:30px;
  }

  .nav-prev, .nav-next, .nav-back {
    float:none;
    width:auto;
    border:0;
  }

  .nav-next, .nav-back {
    margin-top:20px;
  }

  .equipes-portraits {
    margin-left: -45px;
  }

  .equipes-portraits .portrait {
    margin-left: 45px;
    width: 180px;
  }

  .postList-post {
    text-align: center;
  }

  .postList-img {
    float:none;
    margin-left: auto;
    margin-right: auto;
  }

  .postList-header {
    display: inline-block;
  }

  .postList-content {
    margin:0 10px;
    margin-top:30px;
    padding-bottom: 0;
  }

  .postList-post .button {
    position: relative;
    margin-top: 20px;
    left: auto;
    bottom: auto;
  }


  .jobOffer-buttons .button {
    margin-left: 0;
    margin-top: 10px;
  }

  .jobOffer-buttons .button:first-child {
    margin-top: 0;
  }

  .valeurs-item {
    padding-left: 5px;
    padding-right: 5px;
  }

  .valeurs-nav {
    display: none;
  }

  .news-imageText {
    display: block;
    text-align: center;
  }

  .news-video-video iframe {
    max-width: 100%;
  }

  .news-columns-wrapper {
    display: block;
  }

  .news-columns-col.news-columns-col {
    padding: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }

  .news-columns-col.news-columns-col .news-imageText-img {
    width: 100%;
    margin-top: 15px;
  }

  .s-mt5 { margin-top:5px; }
  .s-mt20 { margin-top:20px; }
  .s-mt30 { margin-top:30px; }
  .s-mt40 { margin-top:40px; }
  .s-ha { height:auto; }
  .s-p0 { padding:0; }

  .visible-s {
    display:block;
  }
}

@media (max-width:650px) {
  .wrapper {
    width:auto;
    max-width:440px;
  }

  .header-video[src*="player.vimeo"] {
    width: 400%;
  }

  .modal .modal-content {
    padding-left: 20px;
    padding-right: 20px;
    top: auto;
    transform: none;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .menu-left, .menu-right {
    width:auto;
  }
  .menu-trigger {
    margin-left:0;
    margin-right:130px;
    left:auto;
    right:50%;
  }
  .header-language {
    font-size:18px;
    margin-right:0;
    margin-left:130px;
    right:auto;
    left:50%;
  }
  .header-box {
    width:90%;
  }

  .arrow-slider {
    display: none;
  }

  .footer {
    max-width:none;
  }

  .footer:after {
    display:none;
  }

  .footer-wrapper {
    width:auto;
  }

  .footer-left {
    float:none;
    width:auto;
    padding:0 20px;
    height:auto;
  }

  .footer-middle {
    display:none;
  }

  .footer-title {
    text-align:center;
    font-size:18px;
  }

  .footer-title-border {
    padding-bottom:0;
    border-bottom:0;
  }

  .footer-mention {
    position:absolute;
    padding:25px 0 40px;
    bottom:0;
    left:0;
    width:100%;
    text-align:center;
    background-color:#fff;
    color:#454242;
  }

  .footer-address {
    float:none;
    width:auto;
    text-align:center;
  }

  .footer-address + .footer-address {
    margin-top:40px !important;
  }

  .footer-right {
    padding:40px 0 120px;
  }

  .footer-social {
    float: none;
    width: auto;
    text-align: center;
  }

  .footer-plaquette {
    float: none;
    margin: 20px auto 0;
  }

  .section-title {
    padding-top:40px;
  }

  .section-title span {
    position:static;
    padding:0;
  }

  .section-title span:before {
    right:0;
    top:0;
    margin-top:0;
  }

  .section-title span:after {
    display: none;
  }

  .grecaptcha-badge { opacity:0;}

  .contactBlock-social {
    margin-left:0;
    width:auto;
  }
  .previews {
    margin-left: -5px;
    width: 100%;
  }
  .previews-col {
    width: 50%;
    padding-left:20px;
    padding-bottom:20px;
  }

  .needlebox .section-title:before {
    bottom:auto;
    height:7px;
  }
  .needlebox-content {
    margin:10px 30px 30px;
  }
  .simpleSlider .box {
    width:100%;
  }
  .square {
    height:auto;
  }
  .square .box {
    height:auto;
    padding-bottom:40px;
  }

  .home-testimonials .box {
    padding-bottom:70px;
  }

  .blackbox-content {
    padding:30px;
  }

  .blackbox:before {
    display:none;
  }

  .blackbox .quote {
    padding:80px 20px;
  }

  .blackbox .miniquote {
    width:auto;
    padding:0 20px;
  }

  p.section-text, .section-text p {
    width:auto;
    margin:25px;
  }

  .nav-inpage {
    padding:0 10px;
  }

  .portrait {
    display:block;
    width:auto;
    max-width:260px;
  }

  .portrait, .portrait:first-child, .portrait:last-child {
    margin-left:auto;
    margin-right:auto;
  }

  .portrait + .portrait {
    margin-top:20px;
  }

  .contact-box {
    padding:10px;
    border:none;
  }

  .contact-coord {
    font-size:20px;
  }

  .years {
    font-size: 18px;
  }

  .tabs-content {
    padding: 50px;
  }

  .equipes-portraits {
    margin-left: -20px;
  }

  .equipes-portraits .portrait {
    display: inline-block;
    vertical-align: top;
    margin-left: 20px;
    margin-top: 30px;
    width: 200px;
  }

  .simpleSlider .box-arrows {
    padding-left: 0;
    padding-right: 0;
  }

  .box-arrow-left, .box-arrow-right {
    display: none;
  }

  .project-designer-image {
    float: none;
  }
  .project-designer-content {
    margin-left: 0;
    margin-top: 15px;
  }

  .dropdowns-item + .dropdowns-item {
    margin-left: 0;
    margin-top: 10px;
  }

  .jobOffer-img {
    float: none;
    width: 100%;
  }

  .jobOffer-content {
    margin-top: 30px;
    margin-left: 0;
  }

  .jobOffer-buttons {
    left: 0;
  }

  .jobOffer-buttons .button {
    margin-left: 10px;
    margin-top: 0;
  }

  form.candidature-form .col-6 {
    width: 100%;
  }

  form.candidature-form .form-file-button {
    width: 100%;
    text-align: center;
  }

  form.candidature-form .col-6 + .col-6 {
    margin-top: 10px;
  }

  .xs-tac { text-align:center; }

  .xs-ml0 { margin-left:0; }
  .xs-mt20 { margin-top:20px; }
  .xs-mh10 { margin-left:10px; margin-right:10px; }
  .xs-p10 { padding:10px; }
  .xs-ph0 { padding-left:0; padding-right:0; }
  .xs-ph10 { padding-left:10px; padding-right:10px; }

  .xs-nomiddle { height:auto; }
  .xs-nomiddle:before { display:none; }
}

@media (max-width:480px) {
  .wrapper {
    padding-left: 10px;
    padding-right: 10px;
  }

  .full-width, .wrapper .slider-bg, .wrapper .footer-right, .fullscreen {
    margin-left: -10px;
    margin-right: -10px;
  }

  .tile-title {
    word-wrap: break-word;
    font-size: 16px;
  }

  .xxs-mt30 { margin-top:30px; }
  .col-xxs-12 {
    width:100%;
  }
  .menu-trigger {
    margin:0;
    left:15px;
    right:auto;
  }
  .header-language {
    margin:0;
    right:15px;
    left:auto;
  }
  .box-title {
    font-size:24px;
  }
  .tabs-content {
    padding: 20px;
    overflow: hidden;
  }

  .equipes-portraits {
    text-align: center;
    margin-left: 0;
  }

  .equipes-portraits .portrait {
    margin-left: 0;
    width: 100%;
    max-width: 220px;
  }

  .news-block p {
    margin-left: 10px;
    margin-right: 10px;
  }

  .xxs-mh10 { margin-left:10px; margin-right:10px; }
}
