@charset "UTF-8";
@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css);
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

.scrollmagic-pin-spacer {
  overflow: hidden; }

body {
  font-family: "SF Pro Display", sans-serif;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  text-rendering: optimizeLegibility;
  text-rendering: geometricPrecision;
  font-smooth: always;
  font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: subpixel-antialiased;
  background-color: #000;
  display: flex;
  flex-direction: column; }

.title {
  font-size: 50px;
  font-weight: bold; }

.text {
  font-weight: bold;
  font-size: 22px;
  line-height: 1.15385;
  letter-spacing: 0.002em;
  margin-right: 3%; }

.intro {
  height: 100vh; }

.intro video {
  height: 100%;
  width: 100%;
  object-fit: cover; }

.intro h1 {
  color: white;
  position: absolute;
  line-height: px;
  font-size: 90px; }

.intro .title {
  font-size: 100px; }

.section {
  height: 100vh;
  color: black;
  flex-shrink: 0; }

.about {
  color: #fff; }
  .about .picture {
    position: absolute;
    width: 100%;
    height: 100%;
    background: url("../images/nc.jpg") center center;
    background-size: cover; }
  .about .texts {
    position: absolute;
    width: 100%;
    height: 100%;
    align-items: center;
    display: FLEX;
    flex-direction: row-reverse; }
    .about .texts .title {
      font-size: 70px; }
    .about .texts .text {
      flex-basis: 32%; }

.secure {
  background-color: #fff !important; }
  .secure .picture {
    position: absolute;
    width: 100%;
    height: 100%;
    background: url("../images/nath.jpg") center center;
    background-size: cover; }
  .secure .texts {
    position: absolute;
    width: 100%;
    height: 100%;
    color: #fff;
    align-items: center;
    display: FLEX;
    flex-direction: row-reverse; }
    .secure .texts .title {
      font-size: 70px; }
    .secure .texts .text {
      flex-basis: 35%; }

.testimonials {
  color: #fff;
  background: #000;
  display: flex;
  padding: 2%; }
  .testimonials .col {
    width: 33%;
    position: relative;
    padding: 2%; }
    .testimonials .col:not(:last-child):after {
      content: "";
      height: 70%;
      top: 50%;
      transform: translateY(-50%);
      position: absolute;
      right: 0;
      width: 1px;
      background-color: #353535; }
  .testimonials .title {
    font-size: 28px; }
  .testimonials .text {
    font-size: 18px; }

.price {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 0; }
  .price .price_in {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80%;
    max-width: 1500px; }
  .price .title {
    margin-bottom: 10px; }
  .price .pricing {
    background-color: #ffc439;
    color: #000;
    border-radius: 40px;
    padding: 5px 10px; }
  .price .left {
    flex: 1; }
  .price #smart-button-container {
    flex: 0.5; }
  .price .right {
    flex: 0.33; }
  .price .right img {
    width: 70%; }
  .price .mini {
    font-size: 16px; }
    .price .mini a {
      color: #000; }

.studio {
  background-color: #fff !important; }
  .studio .row {
    display: flex;
    height: 400px;
    width: 100%; }
    .studio .row .col {
      width: 50%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center; }
      .studio .row .col .text {
        font-weight: bold;
        font-size: 22px;
        line-height: 1.15385;
        letter-spacing: 0.002em;
        text-align: center;
        margin: 5%; }
        .studio .row .col .text .title {
          font-size: 50px; }
  .studio .picture0 {
    background: url("../images/studio_0.jpg") center center;
    background-size: cover; }
  .studio .picture1 {
    background: url("../images/studio_1.jpg") center center;
    background-size: cover; }
  .studio .picture2 {
    background: url("../images/studio_2.jpg") center center;
    background-size: cover; }
  .studio .picture3 {
    background: url("../images/studio_3.jpg") center center;
    background-size: cover; }

.faq {
  background-color: #fff !important;
  display: flex;
  flex-direction: column;
  align-items: center; }
  .faq .row {
    display: flex;
    min-height: 200px;
    width: 80%;
    max-width: 1500px; }
    .faq .row .colfull,
    .faq .row .col {
      padding: 2% 0 2% 0; }
      .faq .row .colfull .text,
      .faq .row .col .text {
        font-size: 17px;
        line-height: 1.5294717647;
        font-weight: 400;
        letter-spacing: -0.021em;
        background-color: white;
        color: #333;
        font-style: normal; }
        .faq .row .colfull .text .title,
        .faq .row .col .text .title {
          color: #000 !important;
          font-size: 30px; }
    .faq .row .colfull {
      border-top: 1px solid #e6e6e6;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      border-bottom: 1px solid #e6e6e6; }
    .faq .row .col {
      width: 50%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center; }
      .faq .row .col:first-child {
        border-right: 1px solid #e6e6e6; }
      .faq .row .col:last-child {
        padding-left: 2%;
        padding-right: 2%; }

.introvideo {
  width: 100%;
  height: 100vh;
  font-weight: bold;
  overflow: hidden; }
  .introvideo .back {
    background-color: #000;
    width: 100%;
    height: 100vh;
    position: absolute;
    opacity: 0.3;
    z-index: 10; }
  .introvideo .txt {
    width: 100%;
    text-align: center;
    position: absolute;
    color: #fff;
    top: 50%;
    z-index: 10;
    transform: translateY(-50%); }
    .introvideo .txt .cheriregarde {
      font-size: 120px;
      line-height: 45%;
      text-align: center; }
      .introvideo .txt .cheriregarde .cheri {
        font-size: 40%;
        font-weight: bold; }
      .introvideo .txt .cheriregarde .text {
        margin-top: 4%;
        font-size: 20%; }
    .introvideo .txt .text {
      font-weight: bold;
      line-height: 1.15385;
      letter-spacing: 0.002em;
      margin-right: 0 !important;
      text-align: right; }
  .introvideo video {
    width: 100%; }

.introvideo {
  overflow: hidden;
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.introvideo > video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0; }

/* 1. Pas de support d'object-fit */
@media (min-aspect-ratio: 16 / 9) {
  .introvideo > video {
    height: 300%;
    top: -100%; } }

@media (max-aspect-ratio: 16 / 9) {
  .introvideo > video {
    width: 300%;
    left: -100%; } }

/* 2. En cas de support d'object-fit, écrase les règles en (1) */
@supports (object-fit: cover) {
  .introvideo > video {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover; } }

#videoportrait {
  display: none; }

.question {
  text-align: center;
  background-color: #fafafa; }

.cookies {
  font-size: 14px;
  position: absolute;
  bottom: 10px;
  color: #fff;
  z-index: 100;
  text-align: center;
  width: 100%;
  padding: 0 4%; }

.optioncloud {
  background: #fafafa;
  color: #1d1d1f;
  display: flex;
  /* margin: 0 10%; */
  justify-content: center;
  align-items: center;
  padding-bottom: 4%; }
  .optioncloud .warning {
    width: 100%;
    /* padding: 4% 4%; */
    margin: 0 4%;
    display: flex;
    flex-direction: column;
    align-items: center; }
    .optioncloud .warning .left {
      padding: 10px;
      flex: 1;
      width: 100%;
      background: #f2f2f2;
      margin-bottom: 10px; }
    .optioncloud .warning H1 {
      font-size: 20px; }

@media only screen and (max-width: 800px) {
  .booking .break {
    flex-direction: column !important; }
  .booking .form {
    margin: 0 !important; }
  .collectemail {
    text-align: center;
    padding: 20px 0 !important; }
    .collectemail .label {
      margin-bottom: 10px; }
    .collectemail form {
      flex-direction: column !important; }
    .collectemail input {
      margin-left: 0 !important; }
    .collectemail .elem {
      display: flex;
      flex-direction: column; }
  .sentence {
    font-size: 20px !important; }
  .cheriregarde .text {
    text-align: center !important;
    font-size: 30% !important;
    position: absolute !important;
    margin-top: 5% !important; }
  .disclaimer-text {
    font-size: 15px !important; }
    .disclaimer-text .title {
      font-size: 30px !important; }
  #videolandscape {
    display: none !important;
    visibility: hidden !important; }
  #videoportrait {
    display: block !important; }
  .section {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100); }
  .cheriregarde {
    font-size: 14vw !important; }
  .introvideo {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100); }
  .intro {
    display: none !important; }
  .about .picture {
    background-position-x: 40%;
    opacity: 0.3; }
  .about .texts,
  .secure .texts {
    flex-direction: column-reverse; }
  .about .title,
  .secure .title {
    font-size: 50px !important; }
  .about .text,
  .secure .text {
    margin: 10% 10%; }
  .secure {
    background-color: #000 !important; }
    .secure .picture {
      background-position-x: initial;
      opacity: 0.5;
      background-image: linear-gradient(4deg, black 0%, rgba(0, 0, 0, 0.2) 70%), url("../images/nath.jpg"); }
  .studio .coltext {
    width: 100% !important; }
  .studio .row {
    height: 100%;
    flex-direction: column; }
    .studio .row#line1 {
      flex-direction: column-reverse !important; }
    .studio .row#line3 {
      flex-direction: column-reverse !important; }
    .studio .row .col {
      height: 50vh;
      width: 100% !important; }
  .booking .title {
    text-align: center; }
  .price_in {
    flex-direction: column;
    text-align: left; }
    .price_in .text {
      font-size: 100%;
      text-align: left;
      margin-bottom: 3%; }
    .price_in #smart-button-container {
      width: 100%; }
    .price_in .title {
      text-align: center; }
  .testimonials {
    flex-direction: column; }
    .testimonials .col {
      width: 100%;
      text-align: center; }
      .testimonials .col:after {
        display: none; }
      .testimonials .col .title {
        font-size: 25px; }
      .testimonials .col .text {
        font-size: 12px; }
  .faq {
    flex-direction: column;
    padding: 3% 0; }
    .faq .col {
      width: 100% !important; }
      .faq .col:first-child {
        border-right: 0 !important;
        border-bottom: 1px solid #e6e6e6; }
      .faq .col:last-child {
        padding-left: 0 !important;
        padding-right: 0 !important; }
    .faq .row {
      flex-direction: column; }
  .footer .footer-in {
    flex-direction: column; }
    .footer .footer-in .icons {
      padding: 3% 0; } }

.mentions {
  color: #fff;
  width: 80%;
  margin-left: 10%;
  line-height: 27px;
  letter-spacing: 0.5px;
  text-align: justify; }
  .mentions a {
    color: #fff; }
  .mentions h2 {
    margin-top: 20px; }
  .mentions h1 {
    margin-top: 40px;
    margin-bottom: 40px; }

.mentionsbottom {
  height: 20px;
  color: #fff;
  font-size: 12px;
  text-align: right;
  padding-right: 20px;
  width: 100%; }
  .mentionsbottom a {
    color: #fff;
    text-decoration: none; }

.oldprice {
  margin-left: 10px;
  text-decoration: line-through; }

.phone {
  position: absolute;
  z-index: 100;
  color: #fff;
  width: 100%;
  margin-top: 1vh;
  text-align: center; }
  .phone a {
    text-decoration: none;
    color: #fff; }

#smart-button-container a {
  text-decoration: none;
  color: #000;
  font-weight: bold;
  border: 1px SOLID #000;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center; }
  #smart-button-container a img {
    height: 20px; }

.paypal-button {
  height: 45px !important; }

.warning {
  width: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  padding-bottom: 2%; }
  .warning .warning-in {
    width: 80%;
    font-size: 14px;
    max-width: 1500px; }

.footer {
  background-color: #000;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 0; }
  .footer .footer-in {
    display: flex;
    width: 80%;
    align-items: center; }
    .footer .footer-in img {
      border: 0;
      margin-left: 10px; }
    .footer .footer-in .left {
      flex: 1; }
    .footer .footer-in a {
      text-decoration: none;
      color: #fff;
      font-size: 17px;
      font-weight: bold; }

.legals {
  width: 100%;
  background-color: #000;
  text-align: center;
  font-size: 10px;
  padding-bottom: 5px;
  color: #fff; }
  .legals a {
    color: #fff; }

.disclaimer-text {
  padding: 3%;
  text-align: center;
  background-color: #000;
  min-height: 10vw;
  color: #333;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 22px;
  flex-direction: column;
  line-height: 1.15385;
  letter-spacing: 0.002em; }

.disclaimer {
  overflow: hidden;
  /*  height: calc(100vw * 0.6);
    background: url("../images/background_people.jpg") center center;
    background-size: 100% auto;*/ }
  .disclaimer .title {
    font-size: 40px;
    color: #000; }
  .disclaimer img {
    float: left;
    width: 100%; }

.collectemail {
  color: #fff;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px; }
  .collectemail form {
    display: flex;
    align-items: center;
    flex-direction: row; }
  .collectemail input {
    height: 40px;
    font-size: 20px;
    padding: 0 20px;
    margin-left: 20px; }
  .collectemail .button {
    cursor: pointer;
    display: inline-flex;
    background: #000;
    border: 1px solid #fff;
    color: #fff;
    height: 40px;
    text-decoration: none;
    padding: 0 20px;
    align-items: center;
    justify-content: center; }
    .collectemail .button:hover {
      background-color: #fff;
      color: #000; }

input:focus,
select:focus,
textarea:focus,
button:focus {
  outline: none; }

input {
  border: 0;
  -webkit-appearance: none;
  box-shadow: none !important;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none; }

:-webkit-autofill {
  color: #fff !important; }

.buttonlight {
  font-size: 18px;
  border: 1px solid #fff;
  /* border-radius: 20px; */
  padding: 10px;
  position: absolute;
  bottom: 100px;
  color: #fff;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
  text-decoration: none; }
  .buttonlight:hover {
    background-color: #fff;
    color: #000; }

.arrow {
  position: absolute;
  bottom: 10px;
  text-decoration: none;
  border: 0;
  position: absolute;
  bottom: 30px;
  z-index: 100;
  left: 50%;
  transform: translateX(-50%); }

.testi {
  min-height: 100px;
  display: flex;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: 20px 0; }
  .testi .sentence {
    color: #fff;
    position: relative;
    font-size: 42px;
    display: inline-flex;
    align-items: center; }
  .testi .logos {
    display: flex;
    align-items: center;
    justify-content: center; }
    .testi .logos img {
      border: 0;
      width: 70%; }
  .testi .guill {
    font-family: "FontAwesome";
    font-size: 100px;
    opacity: 0.35;
    font-style: normal; }
  .testi .site {
    font-size: 20px;
    color: #ffffffc1;
    text-decoration: none; }

.seevideo {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 25px; }
  .seevideo #videohome {
    width: 100vw; }
  .seevideo .seevideobutton {
    color: #fff;
    border: 1px solid #fff;
    padding: 10px;
    cursor: pointer; }
    .seevideo .seevideobutton:hover {
      background: #fff;
      color: #000; }
  .seevideo #videodiv {
    display: none; }

.booking {
  background-color: #fff;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: center; }
  .booking .in {
    margin-bottom: 40px;
    width: 80%;
    max-width: 1500px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 0; }
    .booking .in .bookingtext {
      font-size: 17px;
      line-height: 1.5294717647;
      font-weight: 400;
      letter-spacing: -0.021em;
      background-color: white;
      color: #333;
      font-style: normal; }
    .booking .in .buttonform {
      margin-top: 20px; }
      .booking .in .buttonform .btn {
        text-decoration: none;
        padding: 10px;
        color: #fff;
        background-color: #36b3a8;
        font-size: 20px;
        font-weight: 700; }
    .booking .in .success {
      margin: 10%; }
    .booking .in .sub {
      font-size: 16px; }
    .booking .in .b {
      width: 100%; }
    .booking .in .break {
      display: flex;
      width: 100%;
      flex-direction: row; }
    .booking .in .title {
      font-size: 30px;
      margin-bottom: 20px; }
    .booking .in .willcontact {
      text-align: center; }
    .booking .in .form {
      flex: 1;
      position: relative; }
      .booking .in .form:first-child {
        margin-right: 10px; }
      .booking .in .form input {
        font-size: 17px;
        line-height: 1.23536;
        font-weight: 400;
        letter-spacing: -0.022em;
        font-family: SF Pro Text, SF Pro Icons, Helvetica Neue, Helvetica, Arial, sans-serif;
        width: 100%;
        height: 3.29412rem;
        border-radius: 12px;
        border-width: 1px;
        border-style: solid;
        box-sizing: border-box;
        margin-bottom: 0.82353rem;
        padding: 1.05882rem 0.94118rem 0;
        text-align: left;
        -webkit-appearance: none;
        appearance: none;
        border-color: rgba(0, 0, 0, 0.2); }
      .booking .in .form span {
        position: absolute;
        pointer-events: none;
        transition-timing-function: ease-in;
        transition-duration: 0.125s;
        top: 1.05882rem;
        white-space: nowrap;
        overflow: hidden;
        max-width: calc(100% - 32px);
        left: 1rem;
        font-size: 12px;
        line-height: 1.33337;
        font-weight: 400;
        letter-spacing: -0.01em;
        font-family: SF Pro Text, SF Pro Icons, Helvetica Neue, Helvetica, Arial, sans-serif;
        top: 0.58824rem;
        color: #858585; }

.promo {
  margin-left: 20px;
  font-weight: normal;
  font-size: 70%; }
