@charset "UTF-8";
@import url(normalize.min.css);
/* @mixin bp($point) {

  @if $point == sma {
    @media screen and (max-width: 399px)  { @content; }
  }

  @if $point == med {
    @media screen and (max-width: 939px)  { @content; }
  }
  
} */
@import url(http://fonts.googleapis.com/css?family=Montserrat:400,700);
body {
  font-size: 62.5%;
  font-size: 0.625rem;
  line-height: 1.4;
  font-family: 'Montserrat', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "clig" 1;
  background: #1b1b1b center top;
  background-image: url(../img/body.png);
  background-image: url(../img/body.svg), none;
  background-position: calc(50% - 22px) 5px; }

.ie9 body {
  background-position: 50% 5px; }

.ie10 body {
  font-family: sans-serif; }

ul {
  margin: 0;
  padding: 0;
  list-style: none; }

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

.display_table {
  display: table;
  width: 100%;
  height: 100%; }
  .display_table .display_cell {
    display: table-cell;
    vertical-align: middle; }

ul.horiz {
  font-size: 0rem;
  word-spacing: -1em; }
  ul.horiz > li {
    display: inline-block;
    vertical-align: middle;
    font-size: 0.625rem;
    word-spacing: normal;
    line-height: 1.4; }

.vertic {
  display: inline-block;
  line-height: 1.4;
  vertical-align: middle; }

.wrapper {
  max-width: 1800px;
  margin: 0 auto;
  position: relative;
  overflow: hidden; }

.header_container {
  background: #1b1b1b; }
  .header_container header {
    height: 110px;
    line-height: 110px; }
    @media screen and (max-width: 700px) {
      .header_container header {
        height: auto;
        line-height: 1;
        padding: 20px 30px 20px 40px; } }
    .header_container header nav {
      position: relative;
      transition: all 0.2s ease; }
      @media screen and (max-width: 700px) {
        .header_container header nav {
          height: 0;
          overflow: hidden; } }
    .header_container header .logo {
      position: absolute;
      left: 0;
      width: 20%;
      max-width: 230px; }
      @media screen and (max-width: 1840px) {
        .header_container header .logo {
          left: 30px; } }
      @media screen and (max-width: 700px) {
        .header_container header .logo {
          position: static;
          width: 180px; } }
      .header_container header .logo img {
        vertical-align: middle;
        width: 100%; }
    .header_container header .close {
      display: none;
      position: absolute;
      right: 26px;
      top: 28px;
      width: 25px;
      height: 25px;
      background: center no-repeat;
      background-image: url(../img/nav_open.png);
      background-image: url(../img/nav_open.svg), none; }
      @media screen and (max-width: 700px) {
        .header_container header .close {
          display: block; } }
      .header_container header .close.active {
        background-image: url(../img/nav_close.png);
        background-image: url(../img/nav_close.svg), none; }
    .header_container header .menu {
      height: 100%;
      position: absolute;
      left: 33%; }
      @media screen and (max-width: 700px) {
        .header_container header .menu {
          position: static;
          margin: 25px 0 20px; } }
      .header_container header .menu a {
        display: inline-block;
        font-size: 200%;
        color: #fff;
        padding: 4px 0 5px;
        border: 1px solid #1b1b1b;
        border: 1px solid rgba(255, 255, 255, 0);
        border-right: none;
        border-left: none;
        transition: all 0.2s ease; }
        .header_container header .menu a:hover {
          border-color: white;
          border-color: white; }
        .header_container header .menu a.active {
          border-color: #5f5f5f;
          border-color: rgba(255, 255, 255, 0.3);
          pointer-events: none;
          cursor: default; }
        @media screen and (max-width: 900px) {
          .header_container header .menu a {
            font-size: 150%; } }
      .header_container header .menu ul {
        display: inline-block;
        vertical-align: middle; }
      .header_container header .menu li {
        margin-right: 30px; }
        @media screen and (max-width: 900px) {
          .header_container header .menu li {
            margin-right: 20px; } }
    .header_container header .social {
      position: absolute;
      right: 0; }
      @media screen and (max-width: 1840px) {
        .header_container header .social {
          right: 40px; } }
      @media screen and (max-width: 700px) {
        .header_container header .social {
          top: 25px;
          right: 0; } }
      .header_container header .social li {
        margin-right: 5px; }
        @media screen and (max-width: 700px) {
          .header_container header .social li {
            display: block;
            margin-right: 0;
            margin-bottom: 5px; } }
      .header_container header .social a {
        width: 23px;
        height: 23px;
        vertical-align: middle;
        display: inline-block;
        background-size: contain;
        border-radius: 2px; }
        @media screen and (max-width: 900px) {
          .header_container header .social a {
            height: 18px;
            width: 18px; } }
      .header_container header .social li a {
        background-image: url(../img/share_facebook_b6b6b6.png);
        background-image: url(../img/share_facebook_b6b6b6.svg), none; }
        .ie8 .header_container header .social li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_facebook_b6b6b6.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_facebook_b6b6b6.png', sizingMethod='scale')"; }
        .header_container header .social li a:hover {
          background-image: url(../img/share_facebook_fff.png);
          background-image: url(../img/share_facebook_fff.svg), none; }
          .ie8 .header_container header .social li a:hover {
            background: none; }
      .header_container header .social li + li a {
        background-image: url(../img/share_linkedin_b6b6b6.png);
        background-image: url(../img/share_linkedin_b6b6b6.svg), none; }
        .ie8 .header_container header .social li + li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_b6b6b6.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_b6b6b6.png', sizingMethod='scale')"; }
        .header_container header .social li + li a:hover {
          background-image: url(../img/share_linkedin_fff.png);
          background-image: url(../img/share_linkedin_fff.svg), none; }
          .ie8 .header_container header .social li + li a:hover {
            background: none; }
      .header_container header .social li + li + li a {
        background-image: url(../img/share_behance_b6b6b6.png);
        background-image: url(../img/share_behance_b6b6b6.svg), none; }
        .ie8 .header_container header .social li + li + li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_behance_b6b6b6.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_behance_b6b6b6.png', sizingMethod='scale')"; }
        .header_container header .social li + li + li a:hover {
          background-image: url(../img/share_behance_fff.png);
          background-image: url(../img/share_behance_fff.svg), none; }
          .ie8 .header_container header .social li + li + li a:hover {
            background: none; }
      .header_container header .social li + li + li + li a {
        background-image: url(../img/share_instagram_b6b6b6.png);
        background-image: url(../img/share_instagram_b6b6b6.svg), none; }
        .ie8 .header_container header .social li + li + li + li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_instagram_b6b6b6.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_instagram_b6b6b6.png', sizingMethod='scale')"; }
        .header_container header .social li + li + li + li a:hover {
          background-image: url(../img/share_instagram_fff.png);
          background-image: url(../img/share_instagram_fff.svg), none; }
          .ie8 .header_container header .social li + li + li + li a:hover {
            background: none; }

main {
  background: #fff;
  /* .resultats {
      display: block;
      article {
          display: block;
      }
  } */ }
  main section,
  main article:not(.popup),
  main .resultats {
    margin: 50px 0 0; }
    main section:first-child,
    main article:not(.popup):first-child,
    main .resultats:first-child {
      margin: 0; }
    main section h1,
    main article:not(.popup) h1,
    main .resultats h1 {
      font-size: 260%;
      text-transform: uppercase;
      margin: 0; }
      @media screen and (max-width: 768px) {
        main section h1,
        main article:not(.popup) h1,
        main .resultats h1 {
          font-size: 230%; } }
    main section h2,
    main article:not(.popup) h2,
    main .resultats h2 {
      font-size: 160%;
      margin: 30px 0 -30px; }
      @media screen and (max-width: 768px) {
        main section h2,
        main article:not(.popup) h2,
        main .resultats h2 {
          margin: 20px 0 -20px;
          font-size: 150%; } }
    main section p,
    main article:not(.popup) p,
    main .resultats p {
      font-size: 160%;
      margin: 30px 0 0; }
      @media screen and (max-width: 768px) {
        main section p,
        main article:not(.popup) p,
        main .resultats p {
          font-size: 150%;
          margin: 20px 0 0; } }
    main section a,
    main article:not(.popup) a,
    main .resultats a {
      color: #1b1b1b; }
      main section a:hover,
      main article:not(.popup) a:hover,
      main .resultats a:hover {
        text-decoration: underline; }
  main .filter {
    z-index: 5;
    position: relative;
    background: url(../img/filter_bkg.png) center repeat-x;
    background-size: contain;
    color: #fff;
    margin: 0; }
    .ie8 main .filter {
      display: none; }
    main .filter .button {
      left: 50%;
      bottom: 0;
      margin-left: -38px;
      margin-bottom: -38px;
      width: 76px;
      height: 38px;
      font-size: 120%;
      text-transform: uppercase;
      background-image: url(../img/filter_open.png);
      background-image: url(../img/filter_open.svg), none;
      position: absolute;
      color: #fff;
      text-align: center;
      padding-top: 7px;
      box-sizing: border-box; }
      main .filter .button:hover {
        text-decoration: none; }
      main .filter .button:before {
        content: 'Filtre'; }
      main .filter .button.active {
        background-image: url(../img/filter_close.png);
        background-image: url(../img/filter_close.svg), none; }
        main .filter .button.active:before {
          content: ''; }
    main .filter .filter_wrapper {
      overflow: hidden;
      transition: all 0.2s ease;
      box-sizing: border-box;
      height: 0; }
      main .filter .filter_wrapper > div {
        width: 50%;
        float: left;
        padding: 10px 40px 4px;
        margin: 10px 0;
        box-sizing: border-box; }
        @media screen and (max-width: 600px) {
          main .filter .filter_wrapper > div {
            width: 90%;
            margin: 0 5%;
            padding: 5%; } }
      main .filter .filter_wrapper > div + div {
        border-left: 1px solid #7f7f7f; }
        @media screen and (max-width: 600px) {
          main .filter .filter_wrapper > div + div {
            border-left: none;
            border-top: 1px solid #7f7f7f; } }
      main .filter .filter_wrapper a {
        font-size: 150%;
        color: inherit;
        display: inline-block;
        padding: 0px 6px;
        background: transparent;
        line-height: 24px;
        margin-bottom: 3px;
        margin-left: -6px; }
        @media screen and (max-width: 768px) {
          main .filter .filter_wrapper a {
            font-size: 140%; } }
        main .filter .filter_wrapper a.active {
          background-color: #7f7f7f;
          margin-left: 0;
          margin-right: 6px;
          pointer-events: none;
          cursor: default; }
        main .filter .filter_wrapper a.inactive {
          color: #7f7f7f;
          pointer-events: none;
          cursor: default; }
    main .filter h2 {
      text-transform: uppercase;
      font-weight: normal;
      margin: 0; }
    main .filter ul {
      margin-top: 10px; }
    main .filter li {
      display: inline; }
  main .portfolio {
    clear: both;
    overflow: hidden;
    transition: all 0.2s ease;
    margin: 0;
    margin-right: -1px; }
    main .portfolio .portfolio_wrapper {
      overflow: hidden; }
    main .portfolio a {
      float: left;
      box-sizing: border-box;
      border: solid 1px #fff;
      border-top: none;
      border-left: none;
      position: relative;
      color: #fff; }
    @media screen and (min-width: 500px) {
      main .portfolio a.vis,
      main .portfolio a.vis ~ a.vis {
        width: 50%;
        height: 400px; } }
  @media screen and (min-width: 500px) and (max-width: 1200px) {
    main .portfolio a.vis,
    main .portfolio a.vis ~ a.vis {
      height: 293px; } }
  @media screen and (min-width: 500px) and (max-width: 850px) {
    main .portfolio a.vis,
    main .portfolio a.vis ~ a.vis {
      height: 188px; } }
    @media screen and (min-width: 500px) {
      main .portfolio a.vis ~ a.vis ~ a.vis,
      main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis,
      main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
        width: 33%;
        height: 350px; } }
  @media screen and (min-width: 500px) and (max-width: 1200px) {
    main .portfolio a.vis ~ a.vis ~ a.vis,
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis,
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
      height: 255px; } }
  @media screen and (min-width: 500px) and (max-width: 850px) {
    main .portfolio a.vis ~ a.vis ~ a.vis,
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis,
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
      height: 163px; } }
    @media screen and (min-width: 500px) {
      main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis {
        width: 34%; }
      main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
        width: 25%;
        height: 300px;
        border-right: solid 1px #fff; } }
  @media screen and (min-width: 500px) and (max-width: 1200px) {
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
      height: 217px; } }
  @media screen and (min-width: 500px) and (max-width: 850px) {
    main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis ~ a.vis {
      height: 139px; } }

    @media screen and (max-width: 499px) {
      main .portfolio a.vis {
        width: 100%;
        height: 160px; }
      main .portfolio a.vis ~ a.vis,
      main .portfolio a.vis ~ a.vis ~ a.vis {
        width: 50%;
        height: 140px; }
      main .portfolio a.vis ~ a.vis ~ a.vis ~ a.vis {
        width: 33%;
        height: 120px;
        border-right: solid 1px #fff; }
      main .portfolio a.vis:nth-of-type(5) ~ a.vis:nth-child(3n+0) {
        width: 34% !important; } }
    main .portfolio img {
      width: 100%;
      height: 100%;
      background-position: center;
      background-size: cover; }
    main .portfolio .visibles,
    main .portfolio .hiddens {
      overflow: hidden; }
    main .portfolio .description {
      position: absolute;
      height: 100%;
      width: 100%;
      background: url("../img/black_40.png");
      background: url("../img/popup_pattern.png") center top repeat, url("../img/portfolio_gradient.png") center top repeat-x, rgba(27, 27, 27, 0.4);
      background-size: auto, contain;
      opacity: 0;
      filter: alpha(opacity=0);
      transition: all 0.2s ease;
      text-align: center;
      display: table; }
      main .portfolio .description .description_wrapper {
        display: inline-block;
        line-height: 1;
        text-align: left;
        display: table-cell;
        vertical-align: middle;
        padding-left: 20px; }
      main .portfolio .description .client {
        font-size: 240%;
        text-transform: uppercase; }
        @media screen and (max-width: 768px) {
          main .portfolio .description .client {
            font-size: 180%; } }
        @media screen and (max-width: 499px) {
          main .portfolio .description .client {
            display: none; } }
      main .portfolio .description .project {
        font-size: 210%;
        font-weight: bold;
        text-transform: uppercase; }
        @media screen and (max-width: 768px) {
          main .portfolio .description .project {
            font-size: 150%; } }
        @media screen and (max-width: 499px) {
          main .portfolio .description .project {
            display: none; } }
      main .portfolio .description .tags {
        font-style: italic;
        font-size: 170%;
        margin-top: 10px; }
        @media screen and (max-width: 768px) {
          main .portfolio .description .tags {
            font-size: 140%; } }
        @media screen and (max-width: 499px) {
          main .portfolio .description .tags {
            display: none; } }
    main .portfolio a:hover .description {
      opacity: 1;
      filter: alpha(opacity=100); }
  main a.expand {
    display: block;
    clear: both;
    background: #373737;
    background: #373737;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: #fff;
    font-size: 120%;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    box-shadow: inset 0px 0px 20px 0px gray;
    box-shadow: inset 0px 0px 20px 0px rgba(0, 0, 0, 0.5);
    transition: all 0.2s ease;
    margin: 0; }
    main a.expand:hover {
      background-color: #555555;
      background-color: rgba(55, 55, 55, 0.85);
      text-decoration: none; }
    main a.expand.white {
      display: none;
      box-shadow: none;
      background: none;
      color: #373737;
      border: 1px solid #373737;
      border-left: none;
      border-right: none;
      margin: 60px 0 0; }
      main a.expand.white:hover {
        background-color: #ebebeb;
        background-color: rgba(55, 55, 55, 0.1); }
      main a.expand.white span:before, main a.expand.white span:after {
        background-image: url(../img/expand_1b1b1b.png);
        background-image: url(../img/expand_1b1b1b.svg), none; }
    main a.expand.compact {
      height: 3px;
      overflow: hidden;
      pointer-events: none;
      cursor: default;
      transition: all 0.2s ease; }
    main a.expand span:before, main a.expand span:after {
      content: '';
      display: inline-block;
      vertical-align: middle;
      width: 16px;
      height: 14px;
      background-image: url(../img/expand_fff.png);
      background-image: url(../img/expand_fff.svg), none;
      margin: -2px 10px 0 0; }
    main a.expand span:after {
      margin-left: 10px;
      margin-right: 0; }
    main a.expand.expanded span:before, main a.expand.expanded span:after {
      background-image: url(../img/expand_invert_fff.png);
      background-image: url(../img/expand_invert_fff.svg), none; }
  .ie8 main .portfolio + .expand {
    display: none; }
  main .mission {
    height: 430px;
    line-height: 430px;
    margin: 0; }
    @media screen and (max-width: 768px) {
      main .mission {
        height: 380px;
        line-height: 380px; } }
    @media screen and (max-width: 700px) {
      main .mission {
        line-height: 1;
        height: auto;
        padding: 30px 0; } }
    main .mission li {
      text-align: center;
      width: 25%;
      box-sizing: border-box;
      padding: 0 10px; }
      @media screen and (max-width: 450px) {
        main .mission li {
          display: block;
          text-align: left; } }
    main .mission li:first-child {
      width: 19%; }
      @media screen and (max-width: 700px) {
        main .mission li:first-child {
          display: block;
          width: 100%;
          text-align: center; } }
    main .mission li:first-child + li {
      border-left: 1px solid #7f7f7f; }
      @media screen and (max-width: 700px) {
        main .mission li:first-child + li {
          border: none; } }
    main .mission li + li {
      width: 27%; }
      @media screen and (max-width: 700px) {
        main .mission li + li {
          width: 33.33%; } }
      @media screen and (max-width: 450px) {
        main .mission li + li {
          width: 100%;
          line-height: 120px;
          padding-right: 30px; } }
    @media screen and (max-width: 700px) {
      main .mission br {
        display: none; } }
    @media screen and (max-width: 450px) {
      main .mission .image {
        display: inline-block;
        vertical-align: middle;
        line-height: 1.4;
        width: 35%;
        text-align: right;
        padding-right: 20px;
        box-sizing: border-box; } }
    @media screen and (max-width: 380px) {
      main .mission .image {
        width: 45%; } }
    @media screen and (max-width: 450px) {
      main .mission .text {
        display: inline-block;
        vertical-align: middle;
        line-height: 1.4;
        width: 65%; } }
    @media screen and (max-width: 380px) {
      main .mission .text {
        width: 55%; } }
    main .mission h1,
    main .mission h2 {
      font-size: 200%;
      text-transform: uppercase; }
      @media screen and (max-width: 768px) {
        main .mission h1,
        main .mission h2 {
          font-size: 150%;
          margin-bottom: 30px; } }
    @media screen and (max-width: 700px) {
      main .mission h1 {
        width: 60%;
        margin-bottom: 30px;
        border-bottom: 1px solid #7f7f7f;
        display: inline-block;
        padding-bottom: 15px; } }
    main .mission h2 {
      margin: 40px 0 0; }
      @media screen and (max-width: 700px) {
        main .mission h2 {
          margin-top: 20px; } }
      @media screen and (max-width: 450px) {
        main .mission h2 {
          margin-top: 0; } }
    main .mission p {
      font-size: 180%;
      margin: 20px 0 0; }
      @media screen and (max-width: 768px) {
        main .mission p {
          font-size: 150%; } }
      @media screen and (max-width: 700px) {
        main .mission p {
          margin-top: 15px; } }
    @media screen and (max-width: 700px) {
      main .mission img {
        width: 110px; } }
    @media screen and (max-width: 450px) {
      main .mission img {
        width: 90px;
        display: inline-block;
        vertical-align: middle; } }
  main .clients {
    background: #1b1b1b;
    text-align: center;
    margin: 0;
    /* ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    li + li {
        border-top: 1px solid $coal;
    }
    img {
        width: 100%;
        vertical-align: middle;
    } */
    /* ul {
        width: 100%;
        
        text-align: center;
    }
    li {
        text-align: center;
        width: 16%;
        
    }
    img {
        max-width: 62.5%;
        &.SaintCinnamon, &.ClubMed {
            max-width: 80%;
        }
    } */ }
    main .clients img {
      height: 133px; }
      @media screen and (max-width: 768px) {
        main .clients img {
          height: 100px; } }
      @media screen and (max-width: 500px) {
        main .clients img {
          height: 90px; } }
  main .message {
    margin: 0;
    padding: 60px 0; }
    @media screen and (max-width: 700px) {
      main .message {
        padding: 40px 0; } }
    main .message li {
      box-sizing: border-box;
      width: 40%;
      padding: 0 7.5% 0 7.5%; }
      @media screen and (max-width: 700px) {
        main .message li {
          display: block;
          width: 100%; } }
    main .message li + li {
      width: 60%;
      padding: 0 11% 0 5%;
      border-left: 1px solid #7f7f7f; }
      @media screen and (max-width: 700px) {
        main .message li + li {
          width: 100%;
          border: none;
          padding: 0 7.5% 0 7.5%;
          margin-top: 15px; } }
    main .message h2 {
      font-size: 300%;
      margin-top: 0; }
      @media screen and (max-width: 768px) {
        main .message h2 {
          font-size: 200%; } }
      @media screen and (max-width: 700px) {
        main .message h2 {
          font-size: 220%;
          margin-bottom: 15px;
          line-height: 1.1; } }
    main .message p {
      font-size: 200%; }
      @media screen and (max-width: 768px) {
        main .message p {
          font-size: 150%; } }
    main .message form {
      text-align: right; }
    main .message input,
    main .message button,
    main .message .placeholder {
      width: 100%;
      height: 50px;
      border: none;
      outline: none;
      font-size: 200%;
      font-weight: bold;
      text-align: left;
      -webkit-appearance: none;
      -webkit-border-radius: 0;
      border-radius: 0;
      /* &:valid, &:focus {
              color: green;
              & ~:invalid {
                  &::placeholder {
                      color: red;
                  }
              }
          } */ }
      @media screen and (max-width: 768px) {
        main .message input,
        main .message button,
        main .message .placeholder {
          font-size: 150%; } }
      main .message input::placeholder,
      main .message button::placeholder,
      main .message .placeholder::placeholder {
        color: #1b1b1b; }
      main .message input::-ms-clear,
      main .message button::-ms-clear,
      main .message .placeholder::-ms-clear {
        display: none; }
      main .message input.valid,
      main .message button.valid,
      main .message .placeholder.valid {
        background: right center no-repeat;
        background-image: url(../img/input_valid.png);
        background-image: url(../img/input_valid.svg), none; }
      main .message input.invalid,
      main .message button.invalid,
      main .message .placeholder.invalid {
        background: right center no-repeat;
        background-image: url(../img/input_invalid.png);
        background-image: url(../img/input_invalid.svg), none; }
      main .message input.empty,
      main .message button.empty,
      main .message .placeholder.empty {
        background: none; }
    main .message input + input {
      border-top: 1px solid #373737; }
    main .message .placeholder {
      margin-bottom: 0;
      height: auto; }
    main .message button {
      border: 1px solid #373737;
      width: auto;
      padding: 5px 13px;
      height: auto;
      background: white;
      background: rgba(27, 27, 27, 0);
      transition: all 0.2s ease;
      opacity: 0.2;
      filter: alpha(opacity=20);
      pointer-events: none;
      cursor: default;
      font-size: 150%; }
      main .message button:valid {
        background: none; }
      main .message button.active {
        opacity: 1;
        filter: alpha(opacity=100);
        pointer-events: auto;
        cursor: pointer; }
        main .message button.active:hover {
          background-color: #ebebeb;
          background-color: rgba(55, 55, 55, 0.1); }
  main .popup {
    position: absolute;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: url("../img/popup_gradient.png") center top repeat-x;
    background: url("../img/popup_pattern.png") center top repeat, url("../img/popup_gradient.png") center top repeat-x;
    background-size: auto, contain;
    display: none;
    z-index: 10;
    padding: 50px; }
    @media screen and (max-width: 500px) {
      main .popup {
        padding: 0; } }
    main .popup .container {
      background: #fff;
      max-width: 800px;
      margin: 0 auto; }
    main .popup header {
      background: #373737;
      background: linear-gradient(to bottom, #1b1b1b 0%, #373737 100%);
      margin: 0 -10px;
      color: #fff;
      position: relative; }
      @media screen and (max-width: 500px) {
        main .popup header {
          margin: 0;
          border-top: 1px solid white;
          border-top: 1px solid rgba(255, 255, 255, 0.05); } }
      main .popup header .header_container {
        display: table;
        width: 100%; }
        @media screen and (max-width: 500px) {
          main .popup header .header_container {
            padding: 20px;
            box-sizing: border-box; } }
      main .popup header .title,
      main .popup header .tags {
        padding: 15px 0;
        display: table-cell;
        vertical-align: middle; }
        @media screen and (max-width: 500px) {
          main .popup header .title,
          main .popup header .tags {
            display: block; } }
      main .popup header .title {
        padding-left: 30px;
        width: 50%;
        box-sizing: border-box; }
        main .popup header .title div {
          border-right: 1px solid #7f7f7f;
          padding: 5px 0; }
          @media screen and (max-width: 500px) {
            main .popup header .title div {
              border-right: none; } }
        @media screen and (max-width: 500px) {
          main .popup header .title {
            padding: 0; } }
        main .popup header .title a {
          color: inherit; }
          main .popup header .title a:hover {
            text-decoration: underline; }
      main .popup header .tags {
        padding-right: 50px; }
        @media screen and (max-width: 500px) {
          main .popup header .tags {
            padding: 0;
            margin-top: 10px; } }
        main .popup header .tags div {
          vertical-align: middle;
          display: inline-block;
          padding: 5px 0 5px 20px; }
          @media screen and (max-width: 500px) {
            main .popup header .tags div {
              border-top: 1px solid #7f7f7f;
              padding: 10px 50px 0 0;
              display: block; } }
        main .popup header .tags p {
          text-transform: uppercase;
          font-size: 120%; }
          @media screen and (max-width: 500px) {
            main .popup header .tags p {
              display: inline;
              margin-right: 15px;
              font-weight: bold; } }
        main .popup header .tags ul {
          margin-top: 10px;
          /* li + li:before {
              font-size: 120%;
              content: ', ';
          } */ }
          @media screen and (max-width: 500px) {
            main .popup header .tags ul {
              display: inline; } }
          main .popup header .tags ul li {
            margin-right: 15px; }
            @media screen and (max-width: 500px) {
              main .popup header .tags ul li {
                vertical-align: baseline;
                line-height: 1.8; } }
          main .popup header .tags ul a {
            font-size: 120%;
            color: inherit; }
            main .popup header .tags ul a:hover {
              text-decoration: underline; }
      main .popup header h2,
      main .popup header h3 {
        margin: 0;
        text-transform: uppercase;
        font-size: 270%;
        font-weight: normal;
        line-height: 1; }
        @media screen and (max-width: 768px) {
          main .popup header h2,
          main .popup header h3 {
            font-size: 220%; } }
      main .popup header h3 {
        text-transform: none;
        line-height: 1.2;
        font-size: 170%; }
        @media screen and (max-width: 768px) {
          main .popup header h3 {
            font-size: 140%; } }
        main .popup header h3 b {
          font-size: 100%; }
      main .popup header p {
        margin: 0; }
      main .popup header .close {
        position: absolute;
        right: 16px;
        top: 10px;
        width: 17px;
        height: 17px;
        background-image: url(../img/popup_close.png);
        background-image: url(../img/popup_close.svg), none; }
      main .popup header .share {
        position: absolute;
        right: 10px;
        bottom: 10px;
        width: 29px;
        height: 29px; }
        .ie8 main .popup header .share {
          display: none; }
        main .popup header .share ul {
          width: 29px;
          height: 29px;
          position: absolute;
          background: #b6b6b6;
          border-radius: 3px;
          transition: all 0.2s ease;
          overflow: hidden;
          box-shadow: 0px 0px 10px rgba(27, 27, 27, 0); }
          main .popup header .share ul:hover, main .popup header .share ul.hover {
            height: 116px;
            box-shadow: 0px 0px 10px rgba(27, 27, 27, 0.5); }
        main .popup header .share li:first-child a {
          cursor: default; }
          main .popup header .share li:first-child a:hover {
            background-color: white;
            background-color: rgba(27, 27, 27, 0); }
        main .popup header .share a {
          display: block;
          width: 29px;
          height: 29px;
          background: white center no-repeat;
          background: rgba(27, 27, 27, 0) center no-repeat;
          background-size: 19px;
          transition: all 0.2s ease; }
        main .popup header .share li {
          width: 29px;
          height: 29px;
          background: center no-repeat;
          background-size: 19px; }
          main .popup header .share li * {
            opacity: 0; }
        main .popup header .share li + li:hover, main .popup header .share li + li.hover {
          background-color: #d1d1d1;
          background-color: rgba(27, 27, 27, 0.2);
          cursor: pointer; }
        main .popup header .share li + li a {
          width: 100%;
          height: 100%; }
        main .popup header .share .share_blank {
          background-image: url(../img/share_fff.svg);
          pointer-events: none;
          cursor: default; }
        main .popup header .share .share_pinterest {
          background-image: url(../img/share_pinterest_1b1b1b.svg); }
        main .popup header .share .share_behance {
          background-image: url(../img/share_behance_1b1b1b.svg); }
        main .popup header .share .share_facebook {
          background-image: url(../img/share_facebook_1b1b1b.svg); }
        main .popup header .share .share_twitter {
          background-image: url(../img/share_twitter_1b1b1b.svg); }
    main .popup .content {
      overflow: hidden; }
      main .popup .content p {
        font-size: 150%;
        padding: 0 50px;
        margin-top: 50px;
        margin-bottom: 0; }
        main .popup .content p a {
          color: inherit;
          text-decoration: underline; }
          main .popup .content p a:hover {
            color: #7f7f7f; }
      main .popup .content img {
        width: 100%;
        vertical-align: middle; }
      main .popup .content p + img {
        margin-top: 50px; }
      main .popup .content p + p {
        margin-top: 25px; }
    main .popup .suggestions {
      margin: 50px 50px 0;
      padding-top: 20px;
      border-top: #1b1b1b 1px solid; }
      @media screen and (max-width: 500px) {
        main .popup .suggestions {
          padding-bottom: 50px; } }
      main .popup .suggestions li {
        width: 31.428571429%;
        vertical-align: top;
        clear: both; }
        @media screen and (max-width: 700px) {
          main .popup .suggestions li {
            width: 100%;
            display: block;
            overflow: hidden; } }
      main .popup .suggestions li + li {
        margin-left: 2.8571428571%; }
        @media screen and (max-width: 700px) {
          main .popup .suggestions li + li {
            margin-left: 0;
            margin-top: 15px; } }
      @media screen and (max-width: 700px) {
        main .popup .suggestions .left,
        main .popup .suggestions .right {
          width: 50%;
          display: table-cell;
          vertical-align: middle; } }
      @media screen and (max-width: 700px) {
        main .popup .suggestions .right {
          padding-left: 20px; } }
      main .popup .suggestions img {
        width: 100%;
        background-position: center;
        background-size: cover; }
      main .popup .suggestions h2 {
        margin-bottom: 0; }
      main .popup .suggestions p {
        font-size: 150%;
        margin-top: 0; }
      main .popup .suggestions a {
        display: table;
        color: inherit;
        width: 100%; }
    main .popup footer {
      background: #373737;
      margin: 0 -10px;
      height: 40px;
      margin-top: 50px; }
      @media screen and (max-width: 500px) {
        main .popup footer {
          display: none; } }
  main .narrower {
    max-width: 700px;
    margin: 0 auto;
    padding: 70px 30px; }
  main .services ul {
    margin: 30px 0 0;
    font-size: 160%;
    display: table; }
    @media screen and (max-width: 768px) {
      main .services ul {
        font-size: 150%; } }
    main .services ul li {
      border-top: 1px solid #1b1b1b;
      padding: 5px 0; }
      main .services ul li:first-child {
        border: none; }
  main .contactez {
    overflow: hidden; }
    main .contactez .left {
      float: left;
      margin-bottom: 60px; }
      @media screen and (max-width: 740px) {
        main .contactez .left {
          float: none; } }
    main .contactez .right {
      float: right;
      width: 400px; }
      @media screen and (max-width: 740px) {
        main .contactez .right {
          float: none;
          width: 100%; } }
      main .contactez .right div + div {
        margin-top: 40px; }
      main .contactez .right div div {
        margin-bottom: 20px;
        overflow: hidden; }
      main .contactez .right h2 {
        margin-top: 0;
        text-transform: uppercase;
        font-size: 200%;
        line-height: 1;
        margin-bottom: 0; }
        @media screen and (max-width: 768px) {
          main .contactez .right h2 {
            margin-bottom: 10px; } }
      main .contactez .right div div p {
        font-weight: bold;
        margin-top: 10px; }
        @media screen and (max-width: 740px) {
          main .contactez .right div div p {
            display: inline; } }
      main .contactez .right div + p {
        margin-top: 0; }
      main .contactez .right .horiz {
        margin-top: 5px; }
        @media screen and (max-width: 740px) {
          main .contactez .right .horiz {
            display: inline-block;
            margin-left: 10px; } }
        @media screen and (max-width: 740px) {
          main .contactez .right .horiz li {
            vertical-align: baseline; } }
        main .contactez .right .horiz li a {
          background-image: url(../img/share_linkedin_1b1b1b.png);
          background-image: url(../img/share_linkedin_1b1b1b.svg), none; }
          .ie8 main .contactez .right .horiz li a {
            background: none;
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_1b1b1b.png', sizingMethod='scale');
            -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_1b1b1b.png', sizingMethod='scale')"; }
          main .contactez .right .horiz li a:hover {
            background-image: url(../img/share_linkedin_b6b6b6.png);
            background-image: url(../img/share_linkedin_b6b6b6.svg), none; }
            .ie8 main .contactez .right .horiz li a:hover {
              background: none; }
    main .contactez .horiz {
      margin: 60px 0 0; }
      main .contactez .horiz li {
        margin-right: 15px; }
        @media screen and (max-width: 768px) {
          main .contactez .horiz li {
            margin-right: 10px; } }
      main .contactez .horiz a {
        width: 20px;
        height: 20px;
        background-size: contain;
        border-radius: 2px;
        vertical-align: middle;
        display: inline-block; }
        @media screen and (max-width: 768px) {
          main .contactez .horiz a {
            width: 15px;
            height: 15px;
            margin-top: -3px; } }
      main .contactez .horiz li a {
        background-image: url(../img/share_facebook_1b1b1b.png);
        background-image: url(../img/share_facebook_1b1b1b.svg), none; }
        .ie8 main .contactez .horiz li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_facebook_1b1b1b.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_facebook_1b1b1b.png', sizingMethod='scale')"; }
        main .contactez .horiz li a:hover {
          background-image: url(../img/share_facebook_b6b6b6.png);
          background-image: url(../img/share_facebook_b6b6b6.svg), none; }
          .ie8 main .contactez .horiz li a:hover {
            background: none; }
      main .contactez .horiz li + li a {
        background-image: url(../img/share_linkedin_1b1b1b.png);
        background-image: url(../img/share_linkedin_1b1b1b.svg), none; }
        .ie8 main .contactez .horiz li + li a {
          background: none;
          filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_1b1b1b.png', sizingMethod='scale');
          -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/share_linkedin_1b1b1b.png', sizingMethod='scale')"; }
        main .contactez .horiz li + li a:hover {
          background-image: url(../img/share_linkedin_b6b6b6.png);
          background-image: url(../img/share_linkedin_b6b6b6.svg), none; }
          .ie8 main .contactez .horiz li + li a:hover {
            background: none; }
    main .contactez a {
      color: inherit; }
    main .contactez img {
      float: left;
      margin-right: 15px;
      width: 125px;
      height: 125px; }
      @media screen and (max-width: 500px) {
        main .contactez img {
          float: none;
          margin-bottom: 20px; } }
  main aside {
    position: absolute;
    right: 0;
    top: 65px;
    background: #fff; }
    @media screen and (max-width: 1150px) {
      main aside {
        cursor: pointer;
        margin-top: -15px;
        padding: 15px 0 15px 15px; }
        main aside.active {
          cursor: default; } }
    @media screen and (max-width: 1150px) {
      main aside .aside_container {
        padding: 10px 0 0 25px;
        border: 1px solid #a4a4a4;
        border: 1px solid rgba(27, 27, 27, 0.4);
        border-right: none; } }
    main aside .details {
      overflow: hidden;
      transition: height 0.2s ease, width 0.5s ease; }
      @media screen and (max-width: 1150px) {
        main aside .details {
          width: 0px;
          height: 0px; } }
    main aside .details_wrapper {
      width: 200px;
      padding: 1px 0 25px;
      margin-top: -1px; }
    main aside .close {
      display: none;
      position: absolute;
      left: 175px;
      top: 3px;
      width: 17px;
      height: 17px;
      background-image: url(../img/aside_close.png);
      background-image: url(../img/aside_close.svg), none; }
      @media screen and (max-width: 1150px) {
        main aside .close {
          display: block;
          top: 28px;
          left: 215px; } }
    main aside h2 {
      margin-top: 0;
      text-transform: uppercase;
      font-weight: normal;
      display: inline-block;
      margin-right: 25px; }
      @media screen and (max-width: 1150px) {
        main aside h2 {
          font-size: 120%; } }
    main aside h3 {
      font-size: 150%;
      text-transform: uppercase;
      margin: 30px 0 5px; }
    main aside li {
      font-size: 150%;
      line-height: 1.2;
      padding: 8px 20px 8px 0; }
      main aside li + li {
        border-top: 1px solid #1b1b1b; }
      main aside li a {
        color: inherit; }
        main aside li a:hover {
          text-decoration: underline; }
      main aside li span {
        white-space: nowrap; }
        main aside li span:before {
          content: ' '; }
    main aside .date_count {
      display: none; }
  @media screen and (max-width: 1150px) {
    main .resultats {
      display: block; } }
  main .resultats + article {
    margin: 0; }
    @media screen and (max-width: 1150px) {
      main .resultats + article {
        margin-top: 60px; } }
    @media screen and (max-width: 550px) {
      main .resultats + article {
        margin-top: 40px; } }
  main article {
    overflow: hidden;
     }
    main article:nth-child(-n+4) {
      display: block; }
    main article:not(.popup) + article {
      margin-top: 80px; }
      @media screen and (max-width: 550px) {
        main article:not(.popup) + article {
          margin-top: 60px; } }
    main article header img {
      width: 270px;
      float: left;
      margin: 0 30px 30px 0; }
      @media screen and (max-width: 768px) {
        main article header img {
          width: 230px; } }
      @media screen and (max-width: 550px) {
        main article header img {
          width: 100%;
          float: none;
          display: block; } }
    main article header h1 {
      margin-top: -8px !important; }
    main article header b,
    main article header .horiz a {
      font-size: 140%;
      color: inherit; }
    main article header .date {
      text-transform: uppercase;
      font-weight: bold; }
      main article header .date:after {
        content: '•';
        padding: 0 5px;
        font-size: 140%; }
    main article header li li + li:before {
      content: ', '; }
    main article header ul ul {
      display: inline-block; }
    main article header hr {
      text-align: left;
      margin-left: 0;
      width: 190px;
      border: 0;
      height: 1px;
      background: #1b1b1b;
      margin-top: 15px; }
    main article p img {
      width: 100%; }
    main article p a {
      text-decoration: underline; }
      main article p a:hover {
        color: #7f7f7f; }
    main article .more {
      width: 15px;
      height: 15px;
      display: inline-block;
      margin-left: 5px;
      background: #1b1b1b center no-repeat;
      background-image: url(../img/more.png);
      background-image: url(../img/more.svg), none;
      margin-bottom: -2px;
      border-radius: 3px; }
      main article .more:hover {
        background-color: #7f7f7f; }

.footer_container {
  background: #1b1b1b; }
  .footer_container footer {
    height: 50px;
    position: relative;
    padding: 0 15px;
    box-sizing: border-box; }
    @media screen and (max-width: 1000px) {
      .footer_container footer {
        height: auto;
        padding-top: 15px;
        padding-bottom: 15px;
        text-align: center; } }
    .footer_container footer div {
      position: absolute;
      left: 30px;
      color: #fff;
      margin: 0;
      text-transform: uppercase;
      font-size: 125%;
      line-height: 50px; }
      @media screen and (max-width: 1000px) {
        .footer_container footer div {
          position: static;
          left: auto;
          line-height: 1.4; } }
    .footer_container footer div + div {
      left: auto;
      right: 30px; }
      @media screen and (max-width: 1000px) {
        .footer_container footer div + div {
          position: static;
          right: auto;
          font-size: 100%;
          margin-top: 5px; } }
      @media screen and (max-width: 750px) {
        .footer_container footer div + div {
          margin-top: 15px; } }
    .footer_container footer span {
      white-space: nowrap; }
      @media screen and (max-width: 750px) {
        .footer_container footer span {
          display: block; } }
    .footer_container footer span.separator {
      color: #7f7f7f;
      margin: 0 15px;
      white-space: normal; }
      @media screen and (max-width: 750px) {
        .footer_container footer span.separator {
          display: none; } }

.email_sent {
  display: none; }

hr[data-js] {
  display: none; }

.clearfix {
  clear: both; }
