@charset "UTF-8";
@font-face {
  font-family: 'questrial';
  src: url("../fonts/questrial/questrial.eot");
  src: url("../fonts/questrial/questrial.eot?") format("embedded-opentype"), url(".../fonts/questrial/questrial.woff2") format("woff2"), url("../fonts/questrial/questrial.woff") format("woff"), url("../fonts/questrial/questrial.ttf") format("truetype"), url("../fonts/questrial/questrial.svg") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
@font-face {
  font-family: 'roboto-condensed';
  src: url("../fonts/roboto-condensed/roboto-condensed.eot");
  src: url("../fonts/roboto-condensed/roboto-condensed.eot?") format("embedded-opentype"), url("../fonts/roboto-condensed/roboto-condensed.woff2") format("woff2"), url("../fonts/roboto-condensed/roboto-condensed.woff") format("woff"), url("../fonts/roboto-condensed/roboto-condensed.ttf") format("truetype"), url("../fonts/roboto-condensed/roboto-condensed.svg") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
/* fontico */
@font-face {
  font-family: "fontello";
  src: url("../fonts/icomoon/fontello.eot");
  src: url("../fonts/icomoon/fontello.eot?") format("embedded-opentype"), url("../fonts/icomoon/fontello.woff2") format("woff2"), url("../fonts/icomoon/fontello.woff") format("woff"), url("../fonts/icomoon/fontello.ttf") format("truetype"), url("../fonts/icomoon/fontello.svg") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }
.icon-search:before {
  content: '\e800'; }

.icon-basket:before {
  content: '\e801'; }

.icon-th:before {
  content: '\e802'; }

.icon-facebook:before {
  content: '\e803'; }

.icon-search-1:before {
  content: '\e804'; }

.icon-phone:before {
  content: '\e805'; }

.icon-th-list:before {
  content: '\e807'; }

.icon-left-open:before {
  content: '\e808'; }

.icon-right-open:before {
  content: '\e80c'; }

.icon-gplus:before {
  content: '\e80e'; }

.icon-twitter:before {
  content: '\f058'; }

.icon-mail-alt:before {
  content: '\f0e0'; }

.icon-angle-down:before {
  content: '\f107'; }

.icon-instagram:before {
  content: '\f31e'; }

.fa {
  display: inline-block;
  font-family: "fontello";
  font-size: 21px;
  line-height: 1;
  font-weight: normal;
  color: inherit;
  text-align: center;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  margin: 0 10px;
  border: none;
  background: none; }

/* mixin */
/* general */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: none; }

html {
  font-family: arial, lato, sans-serif;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: justify;
  scroll-behavior: smooth; }

body {
  font-family: arial, lato, sans-serif;
  min-height: 100%;
  color: var(--grey);
  scroll-behavior: smooth;
  background: var(--white); }

ul:not(.liste) {
  list-style-type: none; }

.liste {
  margin: 0 0 15px 20px;
  padding-left: 20px; }
  .liste ul {
    margin-bottom: 0; }
  .liste li {
    font-size: 14px;
    margin: 8px 0; }

img {
  max-width: 100%; }

.circle {
  border-radius: 50%; }

.margtop50 {
  margin-top: 50px; }

.frow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  .frow.fstart {
    justify-content: flex-start; }
  .frow > * {
    margin: 5px; }

/* couleurs */
body {
  --blue: #017cb7;
  --blue1: #2f569f;
  --blue2: #4166ac;
  --blue3: #203254;
  --green: #00ff00;
  --red: #ff0000;
  --grey: #777777;
  --grey1: #333;
  --grey2: #999999;
  --grey3: #E9E9E9;
  --grey4: #f6f6f6;
  --white: #fff;
  --white2: #dddddd;
  --black: #000; }

.bggrey {
  background: var(--grey4); }

.red {
  color: var(--red); }

.green {
  color: var(--green); }

/* titre */
p, h1, h2, h3, h4, h5, h6 {
  font-size: 17px;
  line-height: 25px;
  font-weight: normal;
  color: #4b4c4d;
  margin: 0 0 15px; }

.title, .title0, .title1, .title2, .title3, .title4, .title5 {
  font-family: 'roboto-condensed', lato, sans-serif;
  text-align: left; }

.title0 {
  font-family: 'questrial',lato,sans-serif;
  font-size: 35px;
  line-height: 40px;
  font-weight: 900;
  color: var(--white);
  text-transform: uppercase;
  margin: 0; }

.title {
  font-size: 28px;
  line-height: 34px;
  text-transform: uppercase;
  margin: 20px 0 10px; }

.title2 {
  font-size: 24px;
  line-height: 30px;
  text-transform: uppercase; }

.title4 {
  color: #0180B8;
  font-size: 24px;
  font-weight: 900;
  line-height: 24px; }

/* style texte */
.maj {
  text-transform: uppercase; }

.nomaj {
  text-transform: lowercase; }

.b, strong {
  font-weight: 900; }

.i {
  font-style: italic; }

a {
  font-size: 17px;
  line-height: 25px;
  color: #017cb7;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear; }
  a:hover {
    color: #62748f;
    text-decoration: underline; }
  a.nolink {
    cursor: initial; }

/* séléction texte */
::selection {
  background-color: var(--blue);
  color: --white; }

::-moz-selection {
  background-color: var(--blue);
  color: var(--white); }

/* alignement texte */
.tleft {
  text-align: left; }

.tright {
  text-align: right; }

.tcenter {
  text-align: center; }

/* bouton */
.btn {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-size: 17px;
  line-height: 25px;
  color: var(--white);
  text-decoration: none;
  padding: 6px 8px;
  border: none;
  background: #017cb7;
  cursor: pointer;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear; }
  .btn:hover {
    color: #ffffff;
    text-decoration: none;
    background: #025881; }
  .btn.btn2 {
    font-size: 12px;
    padding: 4px 6px;
    background: #8d9da0; }
    .btn.btn2:hover {
      background: #728083; }

/* map */
.maps-conteneur {
  height: 0;
  overflow: hidden;
  padding-bottom: 50%;
  position: relative; }
  .maps-conteneur iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }

/* colonnes */
.bcol {
  width: 100%;
  max-width: 1170px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  margin: 0 auto;
  padding: 40px 15px; }
  .bcol.full {
    max-width: inherit;
    padding: 0; }
    .bcol.full .col1 {
      margin: 0; }
  .bcol.padbottom0 {
    padding-bottom: 0; }
  .bcol.padtop0 {
    padding-top: 0; }
  .bcol.padh0 {
    padding-top: 0;
    padding-bottom: 0; }

.bcol .bcol {
  margin: 0;
  padding: 0; }

.bcol .bcol .col {
  padding: 0;
  margin: 0 15px 0;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto; }

.col {
  margin: 0 15px; }

.col1 {
  width: 100%; }

.col2 {
  width: 50%; }

.col3 {
  width: 33.33%; }

.col4 {
  width: 25%; }

.col13 {
  width: 36%; }

.col23 {
  width: 64%; }

.col34 {
  width: 75%; }

.mobil {
  display: none; }

/* carousel */
.owl-carousel {
  padding: 0 30px; }
  .owl-carousel .owl-stage-outer {
    width: 98%; }
  .owl-carousel * {
    height: 100%; }
  .owl-carousel .item_4 {
    padding: 0 20px; }
  .owl-carousel .owl-nav {
    height: auto;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    margin: 0; }
    .owl-carousel .owl-nav button {
      width: 20px;
      height: 20px;
      display: inline-flex;
      justify-content: center;
      align-items: center;
      margin: 0 3px;
      padding: 0px 10px;
      position: absolute;
      border: none;
      opacity: 0.5;
      transform: translate(0, -50%);
      background: #5a5c5d !important;
      -webkit-transition: all 0.3s linear;
      transition: all 0.3s linear; }
      .owl-carousel .owl-nav button span {
        height: 20px;
        display: block;
        font-size: 20px;
        line-height: 15px;
        color: var(--white);
        font-weight: 700; }
      .owl-carousel .owl-nav button.owl-prev {
        left: 0; }
      .owl-carousel .owl-nav button.owl-next {
        right: 0; }
      .owl-carousel .owl-nav button:hover {
        opacity: 1; }
  .owl-carousel .owl-dots {
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: 15px; }
    .owl-carousel .owl-dots .owl-dot span {
      width: 5px;
      height: 5px;
      display: block;
      margin: 5px;
      opacity: .25;
      border-radius: 50%;
      background: #000;
      -webkit-transition: all 0.3s linear;
      transition: all 0.3s linear; }
    .owl-carousel .owl-dots .owl-dot.active span, .owl-carousel .owl-dots .owl-dot:hover span {
      opacity: 1; }
  .owl-carousel#sliderpartenaires img {
    border: 2px solid #d7d7d7;
    border-radius: 4px; }

/* header */
.supmenu {
  padding: 10px 15px;
  background: #017cb7; }
  .supmenu .bcol {
    padding: 0; }
    .supmenu .bcol a {
      font-size: 17px;
      line-height: 25px;
      color: var(--white);
      white-space: nowrap; }

#header {
  font-family: "montserrat";
  width: 100%;
  min-height: 100px;
  position: relative;
  padding: 0 15px !important;
  background: var(--white);
  z-index: 8000;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear; }
  #header.fixed {
    padding: 10px 0;
    position: fixed;
    top: 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }
  #header .bcol {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0; }
    #header .bcol #logo {
      width: 100%;
      max-width: 282px;
      min-width: 200px;
      margin: 10px 0; }
      #header .bcol #logo img {
        width: 100%; }
    #header .bcol .menu {
      display: flex;
      flex-direction: row;
      justify-content: flex-end;
      align-items: flex-end; }
      #header .bcol .menu li {
        margin: 0 3px; }
        #header .bcol .menu li a {
          display: block;
          font-family: "roboto-condensed";
          font-size: 15px;
          line-height: 25px;
          font-weight: normal;
          color: #4b4c4d;
          text-decoration: none;
          text-transform: uppercase;
          letter-spacing: -0.5px;
          margin: 0;
          padding: 0 4px;
          -webkit-transition: all 0.3s linear;
          transition: all 0.3s linear; }
        #header .bcol .menu li.active a {
          cursor: initial; }
        #header .bcol .menu li.active a, #header .bcol .menu li > a:hover {
          color: var(--blue);
          text-decoration: underline; }
        #header .bcol .menu li:last-child a {
          padding-right: 0; }
  #header .menuopen {
    width: 35px;
    height: 22px;
    position: relative;
    margin: auto 0;
    margin-left: 15px;
    cursor: pointer;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear; }
    #header .menuopen span {
      display: block; }
    #header .menuopen span, #header .menuopen::before, #header .menuopen::after {
      content: '';
      width: 100%;
      height: 2px;
      margin: 0;
      background: var(--grey2);
      -webkit-transition: all 0.3s linear;
      transition: all 0.3s linear; }
    #header .menuopen::before, #header .menuopen::after {
      position: absolute;
      left: 0;
      right: 0; }
    #header .menuopen::before {
      top: 50%;
      transform: translateY(-50%); }
    #header .menuopen::after {
      bottom: 0; }
    #header .menuopen:hover span, #header .menuopen:hover::before, #header .menuopen:hover::after {
      background: var(--grey); }

.responsiv .mobil {
  display: block; }
.responsiv #header #logo {
  min-width: inherit; }
.responsiv #header #menu {
  width: 100%;
  display: none;
  position: absolute;
  align-items: flex-start;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  border-top: solid 1px var(--grey3);
  background: var(--white);
  overflow-x: auto; }
  .responsiv #header #menu .supmenu {
    width: 100%;
    justify-content: flex-start;
    padding: 10px 15px;
    margin: 0;
    border-bottom: solid 1px var(--grey3); }
  .responsiv #header #menu .menu {
    width: 100%;
    flex-direction: column;
    margin: 0;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.4); }
    .responsiv #header #menu .menu li {
      width: 100%;
      text-align: left;
      border-bottom: solid 1px var(--grey3); }
      .responsiv #header #menu .menu li a {
        display: block;
        padding: 10px 15px; }
      .responsiv #header #menu .menu li.sublink {
        position: relative; }
        .responsiv #header #menu .menu li.sublink:hover .submenu {
          display: none; }
        .responsiv #header #menu .menu li.sublink .mobil {
          width: 100%;
          height: 38px;
          display: flex;
          justify-content: flex-end;
          align-items: center;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          cursor: pointer; }
          .responsiv #header #menu .menu li.sublink .mobil .fa {
            font-size: 20px;
            margin-right: 15px;
            transform: rotate(-90deg); }
        .responsiv #header #menu .menu li.sublink .submenu {
          position: relative;
          bottom: inherit;
          transform: translateY(0);
          border-top: solid 1px var(--grey3);
          box-shadow: none; }
        .responsiv #header #menu .menu li.sublink.openmenu .submenu {
          display: block;
          max-height: 150px;
          overflow: auto; }
.responsiv.openmenu .menuopen::before {
  display: none; }
.responsiv.openmenu .menuopen::after {
  transform: rotate(45deg) translateX(-35%) translateY(-100%); }
.responsiv.openmenu .menuopen span {
  transform: rotate(-45deg) translateX(-35%) translateY(100%); }
.responsiv.openmenu #header #menu {
  display: block; }

/* slider */
#slider .owl-carousel {
  height: calc(100vh - 300px);
  min-height: 320px;
  padding: 0; }
  #slider .owl-carousel .owl-stage-outer {
    width: 100%; }
#slider .txt {
  width: 100%;
  max-width: 1170px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  margin: auto;
  padding: 40px 0; }
  #slider .txt > * {
    height: auto;
    font-family: 'questrial';
    font-size: 2vw;
    line-height: 3vw;
    margin: 0 0 2%;
    padding: 8px;
    color: #ffffff;
    text-transform: uppercase;
    text-align: left;
    text-shadow: 0 0 4px #4c4c4c;
    background: rgba(0, 0, 0, 0.2);
    bottom: 80px;
    left: 20px;
    z-index: 100; }
#slider img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  z-index: 1; }
#slider .owl-nav button {
  width: 40px;
  height: 60px;
  line-height: 60px;
  color: var(--white);
  text-align: center;
  margin: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.6;
  cursor: pointer;
  z-index: 200;
  background: #017cb7 !important;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear; }
  #slider .owl-nav button:hover {
    opacity: 1; }
  #slider .owl-nav button span {
    height: 60px;
    font-size: 40px;
    line-height: 50px; }
#slider .owl-dots {
  margin-top: -30px;
  z-index: 500; }
  #slider .owl-dots .owl-dot span {
    width: 12px;
    height: 12px;
    opacity: .99;
    background: var(--blue); }
  #slider .owl-dots .owl-dot.active span {
    background: #099ae0; }
  #slider .owl-dots .owl-dot:hover span {
    background: #025881; }

#headband {
  background: var(--blue); }
  #headband .bcol {
    padding: 50px 15px; }

.dleft {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start; }
  .dleft a {
    flex: 0 0 auto;
    margin-right: 5px; }
    .dleft a img {
      width: 20px;
      margin: 3px 0 -3px 0; }

.banner {
  padding-top: 60px;
  padding-bottom: 0px; }

/* home */
#nos-atouts * {
  text-align: center; }
#nos-atouts img {
  max-height: 100px; }
#nos-atouts p {
  min-height: 140px; }

#confiances .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  row-gap: 25px;
  column-gap: 5%;
  margin-top: 15px; }
  #confiances .grid picture {
    text-align: center; }
    #confiances .grid picture img {
      border: 2px solid #d7d7d7;
      border-radius: 4px; }

/* qui sommes nous ? */
#quisommesnous .fleft a {
  line-height: 0; }
#quisommesnous .fleft img {
  max-width: 20px; }

/* nos références */
#references #form .grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0;
  column-gap: 15px; }

.bpartenaires .col1 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 25px;
  column-gap: 25px; }
  .bpartenaires .col1 .blocpartenaire {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start; }
    .bpartenaires .col1 .blocpartenaire picture {
      flex: 0 0 auto;
      max-width: 180px;
      margin-right: 15px; }
      .bpartenaires .col1 .blocpartenaire picture img {
        border: 2px solid #d7d7d7;
        border-radius: 4px; }
    .bpartenaires .col1 .blocpartenaire .btext {
      margin-top: 20px; }

/* contact */
#contact #headmap .maps-conteneur {
  padding-bottom: 40vh; }
#contact #form {
  padding-top: 20px; }
#contact .txtform img {
  margin: 0px 0 10px; }

/* formulaire */
form input:not(.btn),
form textarea, form select {
  width: 100%;
  height: 38px;
  font-family: arial, lato, sans-serif;
  font-size: 14px;
  line-height: 18px;
  font-weight: 500;
  color: var(--grey);
  padding: 4px;
  margin: 0px 0 20px;
  border: solid 2px var(--grey3);
  background: var(--white); }
  form input:not(.btn)::-webkit-input-placeholder,
  form textarea::-webkit-input-placeholder, form select::-webkit-input-placeholder {
    opacity: 1;
    color: var(--grey); }
  form input:not(.btn)::-moz-placeholder,
  form textarea::-moz-placeholder, form select::-moz-placeholder {
    opacity: 1;
    color: var(--grey); }
  form input:not(.btn):-ms-input-placeholder,
  form textarea:-ms-input-placeholder, form select:-ms-input-placeholder {
    opacity: 1;
    color: var(--grey); }
form textarea {
  width: 100% !important;
  min-width: 100%;
  max-width: 100%;
  height: 150px;
  margin-bottom: 15px; }
form label {
  display: block;
  position: relative; }
  form label span.error {
    font-size: 11px;
    line-height: 12px;
    color: red;
    text-align: left;
    position: absolute;
    left: 2px;
    bottom: 3px; }
form .success {
  color: green;
  text-align: center; }

/* footer */
#footer {
  padding: 0;
  background: var(--blue); }
  #footer #footertop .c1 {
    width: 150px; }
  #footer #footertop .c2 {
    width: calc(100% - 150px - 450px - 60px); }
    #footer #footertop .c2 * {
      color: var(--white); }
    #footer #footertop .c2 .title {
      margin-top: 35px; }
  #footer #footertop .c3 {
    width: 450px; }
  #footer #footertop #mapfooter {
    width: 100%;
    max-width: 450px;
    height: 250px; }
  #footer #footertop .padtop0 {
    padding-bottom: 20px; }
  #footer #footerbottom {
    text-align: center;
    padding: 0;
    background: #025881; }
    #footer #footerbottom .bcol {
      padding: 20px 15px 15px; }
      #footer #footerbottom .bcol p {
        font-size: 14px;
        color: #018fae;
        margin: 0; }

/* responsive */
@media screen and (max-width: 940px) {
  .bcol {
    padding-left: 15px;
    padding-right: 15px;
    flex-direction: column; }

  .col {
    margin: 0; }

  .col2 {
    width: 100%;
    margin: 0 0 15px; }

  .col3 {
    width: 100%;
    margin: 0 0 15px; }

  .col23 {
    width: 100%;
    margin: 0 0 15px; }

  .col13 {
    width: 100%;
    margin: 0 0 15px; }

  .col34 {
    width: 100%;
    margin: 0 0 15px; }

  .col4 {
    width: 100%;
    margin: 0 0 15px; }

  .bcol .bcol {
    flex-direction: row; }
    .bcol .bcol .col2 {
      width: calc(50% - 30px); }

  #slider .owl-carousel {
    min-height: inherit;
    max-height: 340px; }
  #slider .txt > * {
    font-size: 3vw;
    line-height: 4vw;
    margin: 0 auto 2%; }

  #nos-atouts .col3 {
    max-width: 300px;
    margin: 0 auto 35px; }
    #nos-atouts .col3:last-child {
      margin-bottom: 0; }
    #nos-atouts .col3 p {
      min-height: inherit; }

  .txtform {
    text-align: center; }
    .txtform * {
      text-align: center; }

  .bpartenaires .col1 {
    grid-template-columns: 1fr; }

  #footer #footertop .bcol {
    flex-direction: column;
    align-items: center; }
    #footer #footertop .bcol > * {
      width: 100%;
      max-width: 350px; }
    #footer #footertop .bcol .c1 {
      text-align: center;
      margin: 20px auto 0; }
    #footer #footertop .bcol .c2 * {
      text-align: center; } }
@media screen and (max-width: 620px) {
  #slider .owl-carousel {
    max-height: 240px; }

  .bpartenaires .col1 .blocpartenaire {
    flex-direction: column;
    justify-content: center;
    align-items: center; }
    .bpartenaires .col1 .blocpartenaire .btext * {
      text-align: center; }

  #confiances .grid {
    grid-template-columns: 1fr 1fr; }

  #clients .bcol, #confiances .bcol {
    padding-top: 0; } }
@media screen and (max-width: 460px) {
  .bcol .bcol {
    flex-direction: column; }
    .bcol .bcol .col2 {
      width: 100%;
      margin: 0 0 15px; }

  #references #form .grid {
    grid-template-columns: 1fr; } }

/*# sourceMappingURL=style.css.map */
