@at-root {
  @-ms-viewport {
    width: device-width;
  } // stylelint-disable-line at-rule-no-vendor-prefix
}

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

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

body {
  font-family: $deffont;
  font-size: $deffz;
  color: $defcol;
  font-weight: $defweight;
  line-height: $deflh;
  overflow-x: hidden;
  @media screen and (max-width: $break) {
    // padding-top: $menumobh;

  }
}

.btn, .btn:hover {
  display: inline-block;
  padding: 10px 18px 14px;
  font-family: $deffont;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  // Text style for "Contact"
  letter-spacing: 0.7px;
  line-height: 1.1;
  height: auto;
  border-radius: 0;
  box-shadow: none;

  > i {
    font-size: 12px;
  }

  &.blackbg {
    color: $blanc;

    &:hover {
      background-color: $noir;
    }
  }
}

.main_btn {

  background-color: $bleu_at_f;
  color: $blanc;

  i {
    &::before {
      font-size: 14px;
    }
  }

  &:hover {
    background-image: $goldengradient;
    color:$noir;
  }

}

.btn.transparent_btn {
  letter-spacing: 0.57px;
  background-color: transparent;
  color: $blanc;
}

.blackbtn {
  background-color: $noir;
  color: $blanc;
  box-shadow: none;

  &:hover {
    color: $noir;
    background-image: $goldengradient;
  }
}


.contact_info_w_icon {
  display: table;
  // align-items: center;
  .contact_info {
    span.h5 {
      color: $noir;
      font-family: $deffont;
      font-size: 20px;
      font-weight: 300;
      display: table-cell;
      padding-left: 20px;
    }

    /*span {
      display: inline-block;
      color: $noir;
      font-family: $deffont;
      font-size: 30px;
      font-weight: 600;
    }

     */

  }
  a {
    display: table-cell;
    right:0;
    height:100%;
    background-image: $goldengradient;
    padding: 30px 17px;
    text-align: center;
    color: $blanc;
    border-left: solid 1px $gris_at;
  }
}

p {
  color: $noir;
  font-family: $deffont;
  font-size: 16px;
  font-weight: 300;
  margin-bottom: 20px;
  line-height: 1.4;

  &.bigtitle {
    font-size: 25px;
    color: $bleu_at_f;
  }

  &.mediumtitle {
    font-size: 20px;
  }
}

.mediumplus {
  font-size: 23px;
}

blockquote {
  quotes: none;
  padding: 0 40px;
  margin-bottom: 20px;
  color: $noir;
  font-style: normal;
  font-size: 17px;
  line-height: 1.3;
}

.widget {
  &.form_widget {
    margin-bottom: 35px;

    .widget_header {
      margin: 0;
      min-height: 100px;
      // background-image: $goldengradient;
      background-color: $grisc;
      justify-content: center;

      i.fi {
        margin-right: 20px;

        &::before {
          color: $bleu_at_f;
          font-size: 35px;
        }
      }

      .widget_title {
        color: $bleu_at_f;
        font-family: $deffont;
        font-size: 25px;
        font-weight: 300;
        margin-bottom: 20px;
        margin: 0;
      }
    }

    //fin widget_header

    .widget_body {
      padding: 15px 40px;
      background-color: $grisc;

      form {
        .input-field {
          &.myslect {
            margin-top: 40px;
          }

          margin: 0;
          // padding: 0;
          label {
            color: $noir;
            font-family: $deffont;
            font-size: 17px;
            margin-bottom: 30px;
            display: inline-block;

          }

          .select-wrapper {
            width: 90%;

            .dropdown-content li > a, .dropdown-content li > span {
              color: $noir;
            }

            input.select-dropdown {
              padding: 5px 10px;
              border: 1px solid $noir;
              color: $noir;
              height: 30px;

            }

            + label {
              top: -45px;
            }
          }

          input {
            &[type=text] {
              border-bottom: 1px solid $noir;
              box-shadow: none;

              &:focus, &:active {
                box-shadow: none;
              }
            }

            color: $noir;

            &:focus, &:active {
              color: $noir;
            }

            &::placeholder {
              color: $noir;
            }
          }
        }

        input[type=checkbox] {
          &:checked {
            + span {
              &::before {
                background-image: $goldengradient;
                top: 12px;
                left: 0;
              }
            }
          }

          + span {
            margin-top: 20px;
            color: $gris;
            font-size: 14px;
            line-height: 1.2;

            &::after, &::before {
              top: 12px;
              left: 0;
              width: 14px;
              height: 14px;
              border: 1px solid $gris;
              border-radius: 12px;
              background: transparent;
              transform: none;
            }
          }
        }

        button {
          display: block;
          padding: 10px 18px 14px;
          font-family: $deffont;
          font-size: 14px;
          font-weight: 300;
          text-transform: uppercase;
          // Text style for "Contact"
          letter-spacing: 0.7px;
          line-height: 1.1;
          height: auto;
          border-radius: 0;
          box-shadow: none;
          border: none;
          cursor: pointer;
          background-color: $bleu_at_f;
          color: $blanc;
          float: right;
          margin-top: 18px;
          &:hover {
            background-image: $goldengradient;
          }
        }
      }
    }
    img {
      max-width: 100%;
      margin-top: 20px;
    }
  }

  &.parrainage {
    margin-bottom: 35px;
    position: relative;

    .parrainage_card {
      padding: 50px;
      color: $noir;
      font-family: $deffont;
      font-size: 16px;
      font-weight: 300;
      background-image: $goldengradient;

      span.h5 {
        font-size: 26px;
        margin-bottom: 15px;
      }

      p {
        font-size: 22px;

        b {
          font-weight: 400;
        }
      }
    }

    .parrainage_img {
      margin: 0;

      img {
        width: 100%;
      }
    }

    .parrainage_btn {
      position: absolute;
      top: 49%;
      left: 50%;
      transform: translate(-50%, 0);
    }
  }

  &.promotion {
    position: relative;
    padding: 100px 50px 70px;
    background-color: $noirc;
    background-image: url(../../../stocktmp/promotion.png);
    background-position: center top;
    background-repeat: no-repeat;

    .promo_info {
      display: flex;
      align-items: center;
      margin-bottom: 60px;

      .promo_number {
        background-image: $goldengradient;
        -webkit-background-clip: text;
        color: transparent;
        font-size: 40px;
        font-weight: 600;
        margin-right: 20px;
      }

      .promo_legend {
        color: $blanc;
        font-size: 18px;
      }
    }

    p {
      color: $blanc;
      font-size: 20px;
      line-height: 1.2;
    }

    a {
      position: absolute;
      right: 30px;
      bottom: 30px;

      i {
        &::before {
          background-image: $goldengradient;
          -webkit-background-clip: text;
          color: transparent;
          font-size: 30px;
        }
      }
    }
  }
}

.temoignage_container {
  background-color: $blanc;
  padding: 70px 40px 60px;
  position: relative;

  .temoingnage_arrows {
    position: absolute;
    right: 30px;
    top: 26px;

    a {
      color: $grisf;

      i:before {
        font-size: 23px;
      }

      &#temoingnage_arrows_prev {
        margin-right: 3px;

        i:before {
          transform: scale(-1);
        }
      }
    }
  }

  .temoignage {
    > div {

      .single_temoignage {
        margin: 0 auto;
      }

    }

    .single_temoignage {
      width: 312px;
      height: 152px;
      position: relative;
      @media(max-width: $break) {
        width: auto;
      }

      .single_temoignage_quote {
        color: $grisf;
        font-family: $deffont;
        font-style: italic;
        font-size: 16px;
        font-weight: 300;
      }

      .single_temoignage_name {
        position: absolute;
        color: $grisf;
        font-family: $deffont;
        font-size: 19px;
        font-weight: 300;
        bottom: 0;
      }
    }
  }
}

.centertxt {
  text-align: center;
}

.seemore_btn {
  color: $noir;

  i {
    &::before {
      font-size: 40px;
      transform: rotate(90deg);
    }
  }
}

.bloc_card_and_content {
  .mycard {
    span.h2 {
      color: $blanc;
      font-size: 25px;
    }

    &.same_card_height {
      height: 100%;
      display: flex;
      align-items: center;
      @media(max-width: $break) {
        width: 100%;
      }
    }

    &.dynamicheight {
      min-height: unset !important;
    }
  }

  .bloc_content {
    padding: 35px 10px;

    a {
      color: $noir;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.6px;
      margin-left: 0;
      margin-top: 15px;
      display: inline-block;

      i {
        &::before {
          font-size: 11px;
        }
      }
    }

    li {
      a {
        margin: 0 0 4px 0;
        padding: 0;
        font-size: 16px;
        text-transform: none;

        &:hover {
          color: $gold;
        }
      }
    }
  }
}

.actualites_list {
  .actualites_list_item {
    margin-right: 1px;
    padding: 60px 35px 30px;
    height: 100%;
    min-height: 333px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;

    &.last {
      margin-right: 0;
    }

    .actualites_list_item_overllay {
      content: "";
      background-image: linear-gradient(0deg, $noir, transparent);
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      opacity: 0.8;
      z-index: 1;
    }

    img {
      position: absolute;
      height: 100%;
      width: auto;
      max-width: none;
      top: -9999px;
      bottom: -9999px;
      left: -9999px;
      right: -9999px;
      margin: auto;

      /*
      position: absolute;
      max-width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;

       */
    }

    span.h5 {
      position: relative;
      color: $blanc;
      font-size: 17px;
      text-transform: uppercase;
      margin-bottom: 20px;
      z-index: 2;
      display: block;
    }

    span {
      position: relative;
      color: $blanc;
      font-size: 13px;
      letter-spacing: 1.29px;
      text-transform: none;
      z-index: 2;
    }

    span.h4 {
      position: relative;
      color: $blanc;
      font-size: 17px;
      margin: 20px 0;
      z-index: 2;
      @media(min-width: $break) {
        height: 60px;
      }
    }

    a {
      color: $blanc;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.6px;
      position: relative;
      z-index: 2;
    }

    &.not_article {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding-left: 30px;
      padding-right: 45px;

      span.h5 {
        color: $blanc;
        font-size: 25px;
      }

      p {
        color: $blanc;
        font-size: 20px;
      }

      a {
        color: $blanc;
      }
    }

    @media(max-width: $break) {
      overflow: hidden;
      position: relative;
      img {
        position: absolute;
        width: 100%;
        height: auto;
        top: -9999px;
        bottom: -9999px;
        left: -9999px;
        right: -9999px;
        margin: auto;
        max-width: none;
      }
    }
  }
}

.reduction {

  .reduction_img_container {
    background-color: #1c1c1d;
    position: relative;

    img:not(.triangle) {
      width: 100%;
      bottom: 0;
      position: absolute;
    }

    img.triangle {
      position: absolute;
      transform: scale(0.5) translate(80%, 50%) scaleX(-1);

      bottom: 0;
      right: 0;
    }
  }

  .reduction_content {
    background-color: #1c1c1d;
    padding: 44px 82px 44px 20px !important;

    h4 {
      color: $blanc;
      font-size: 20px;
      letter-spacing: -0.4px;
      margin-bottom: 10px;

      span {
        background-image: linear-gradient(-251deg, #fbf19d 0%, #b37c1a 100%);
        -webkit-background-clip: text;
        color: transparent;
        font-family: $deffont;
        font-size: 30px;
        font-weight: 400;
      }
    }

    p {
      color: $blanc;
      font-size: 20px;
      font-weight: 300;
    }

    a {
      color: $blanc;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.6px;

      i.fi {
        color: $gold;
      }
    }
  }

  em.reduction_cgv {
    padding-right: 165px;
    color: $noir;
    font-size: 15px;
    font-style: italic;
    font-weight: 200;
    display: inline-block;
  }

  @media(max-width: $break) {
    .row {
      display: block;

      .col {
        display: block;

        .triangle {
          display: none;
        }
      }
      img {
        max-width: 100%;
      }
    }
    em.reduction_cgv {
      padding: 0;
    }
  }
}

.avantages {
  padding: 40px 0;

  .avantage_item {
    padding: 5px 15px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;

    img {
      margin-right: 18px;
      /*&::before {
        font-size: 40px;
        -webkit-background-clip: text;
        background-image: $goldengradient;
        color: transparent;
      }*/
    }

    .avantage_item_txt {
      color: $grisf;
      font-family: DINCond;
      font-size: 26px;
      font-weight: 300;
    }

    &:not(.last) {
      &::after {
        content: "";
        width: 1px;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        background-image: linear-gradient(-178deg, $bleu_at_c 0%, $bleu_at_f 100%);
      }
    }

    @media(max-width: $break) {
      width: 100%;
      justify-content: left;
      &:not(.last) {
        &::after {
          background-image: none;
        }
      }
    }
  }
}

.flexdisplay {
  display: flex;
  align-items: center;

  p {
    flex: 1;
  }
}

a {
  color: #000;
  transition: color .2s linear;

  &:hover {
    color: $bleu_at_f;
  }
}

.more_info_txt {
  display: none;
  padding-top: 60px;
}

h1 {
  font-size: 46px;
  color: $noir;
  margin-bottom: 18px;
  margin-top: 0;
  text-align: left;
}

h2 {
  font-size: 30px;
  color: $noir;
  margin-bottom: 18px;
  margin-top: 0;
  text-align: left;
}

h3 {
  font-size: 24px;
  color: $noir;
  margin-bottom: 18px;
  margin-top: 0;
  text-align: left;
}

strong, b {
  font-weight: 500;
}

.alert{
  padding: 0;
}

.actu_title {
  display: block;
  width: 100%;
  text-align: center;
  margin: 10px auto;
  font-size: 33px;
  font-family : Caveat;
  color : $bleu_at_f;
}
