@charset "UTF-8";
/* *************************************************** */
/* Feuille de style principale pour barl.ch ********** */
/* Version 1.0 *************************************** */
/* Styles génériques */
.page-content {
  position: relative;
  z-index: 5;
  padding: 2rem 0 0 0;
  background-color: var(--divider); }

.twitter-timeline {
  max-height: 80vh; }

:root {
  --primary: #0273d0;
  --primary-transparent: rgba(2, 115, 208, 0.8);
  --dark: #014984;
  --dark-transparent: rgba(1, 73, 132, 0.8);
  --accent: #2c3e50;
  --text: var(--dark);
  --dark-grey: #324354;
  --dark-braun: #3b3626;
  --dark-braun-transparent: rgba(59, 54, 38, 0.8);
  --divider: #ecf0f1;
  --danger: #e74c3c;
  --warning: #f39c12;
  --success: #2ecc71;
  --success-transparent: rgba(46, 204, 113, 0.5);
  --hint: #95a5a6;
  --hint-transparent: rgba(149, 165, 166, 0.3);
  --jaune: #f9cc38;
  --jaune-transparent: rgba(249, 204, 56, 0.8);
  --blanc-casse: #fffdf6;
  --font-family: "Source Sans Pro", sans-serif;
  --box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3),
    0 1px 3px 1px rgba(60, 64, 67, 0.15); }

/*Petits écrans et orientation paysage*/
/*Orientation paysage et tablettes*/
/*Ordinateurs portables*/
/*Ecrans larges*/
:root {
  font-size: 62.5%;
  scrollbar-width: thin; }

html::-webkit-scrollbar-button {
  color: red; }

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

body {
  position: relative;
  z-index: 5;
  font-family: var(--font-family);
  font-size: 1.6rem;
  color: var(--text);
  min-height: 100vh; }
  @media (min-width: 900px) {
    body {
      font-size: 1.7rem; } }

h1 {
  font-weight: 600;
  font-size: 3rem; }

h2 {
  font-size: 2.5rem; }

h3,
h4 {
  font-size: 2rem;
  font-weight: 400; }

h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 1.5rem;
  font-weight: 600; }

p {
  margin-bottom: 2rem; }

a {
  color: var(--primary);
  text-decoration: none; }

img {
  vertical-align: middle; }

.link:hover {
  text-decoration: underline; }

ul {
  list-style: none; }

video {
  width: 100%;
  height: auto;
  max-height: 100%;
  border-radius: 0.3rem;
  box-shadow: var(--box-shadow); }

strong {
  font-weight: 600; }

/*Petits écrans et orientation paysage*/
/*Orientation paysage et tablettes*/
/*Ordinateurs portables*/
/*Ecrans larges*/
/*******************************/
/****** classes génériques *****/
/*******************************/
/*Petits écrans et orientation paysage*/
/*Orientation paysage et tablettes*/
/*Ordinateurs portables*/
/*Ecrans larges*/
.container-flex {
  display: flex;
  justify-content: center;
  align-items: center; }

.title-underline {
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--divider); }

.title-underline_dark {
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--dark); }

.main-title {
  padding: 3rem 0 !important;
  margin-bottom: 1rem;
  border-top: 1px solid var(--dark);
  border-bottom: 1px solid var(--dark); }

.citation {
  padding-top: 3rem;
  padding-bottom: 3rem;
  margin-top: 3rem;
  margin-bottom: 3rem;
  border-top: 1px solid var(--dark);
  border-bottom: 1px solid var(--dark); }

.img-profile {
  border-radius: 50%;
  max-width: 200px;
  width: 100%;
  box-shadow: var(--box-shadow); }

.alert-primary {
  background-color: var(--primary);
  border-radius: 0.3rem;
  padding: 1rem 2rem;
  box-shadow: var(--box-shadow);
  color: var(--divider);
  text-align: center; }

.text-normal {
  font-weight: 400 !important; }

.text-bold {
  font-weight: 700; }

.text-start {
  text-align: start; }

.video-container {
  width: 100%;
  overflow: hidden;
  max-width: 70rem;
  max-height: 90vh; }

.wrapper-grid_small {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
  @media (min-width: 629px) {
    .wrapper-grid_small {
      grid-gap: 3rem; } }

.wrapper-grid_md {
  display: grid;
  grid-gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

.grid-small_2-1 {
  grid-gap: 1rem !important; }
  @media (min-width: 629px) {
    .grid-small_2-1 {
      grid-template-columns: 200px 1fr !important; } }

.wrapper-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 4rem;
  padding: 4rem 1rem; }
  @media (min-width: 629px) {
    .wrapper-grid {
      grid-gap: 1rem; } }
  @media (min-width: 900px) {
    .wrapper-grid {
      margin-top: 4rem;
      margin-bottom: 4rem; } }
  .wrapper-grid h2 {
    margin-bottom: 2rem;
    margin-top: 1rem; }
  .wrapper-grid p,
  .wrapper-grid a {
    font-size: 1.7rem; }
    @media (min-width: 900px) {
      .wrapper-grid p,
      .wrapper-grid a {
        font-size: 1.9rem; } }
  .wrapper-grid.cards .card-images {
    padding: 0 !important; }
    .wrapper-grid.cards .card-images img {
      width: 100%;
      transform: scale(1.05); }
  .wrapper-grid.cards > * {
    border-radius: 0.3rem;
    padding: 0.5rem;
    overflow: hidden; }

.self-center_center {
  justify-self: center;
  align-self: center; }

.align-self_stretch {
  align-self: stretch; }

.align-self_center {
  align-self: center; }

.justify-self_center {
  justify-self: center; }

@media (min-width: 629px) {
  .align-self_start {
    align-self: start !important; } }

@media (min-width: 629px) {
  .align-self_end {
    align-self: end !important; } }

@media (min-width: 629px) {
  .justify-self_start {
    justify-self: start !important; } }

@media (min-width: 629px) {
  .justify-self_end {
    justify-self: end !important; } }

/* largeur max du contenu principal */
.jf_s {
  max-width: 768px;
  margin: auto; }

.jf_m {
  max-width: 1024px;
  margin: auto; }

.jf_l {
  max-width: 1200px;
  margin: auto; }

.jf_xl {
  width: 100%; }

/* largeur max conteneur */
.container-s {
  width: 100%;
  max-width: 480px; }

.container-small {
  width: 100%;
  max-width: 629px; }

.container-sm {
  width: 100%;
  max-width: 767px; }

.container-m {
  width: 100%;
  max-width: 900px; }

.container-l {
  width: 100%;
  max-width: 1200px; }

.position-relative {
  position: relative; }

.wave {
  position: absolute;
  height: 100%;
  width: 100vw;
  background: #2c3e50;
  bottom: 0;
  z-index: 0; }

.flex-column {
  display: flex;
  flex-direction: column;
  align-items: center; }

@media (min-width: 767px) {
  .flex-row-sm {
    flex-flow: row nowrap !important; }
    .flex-row-sm * {
      flex: 1; } }

.flex-row {
  display: flex;
  align-items: center; }

.justify-content_center {
  justify-content: center; }

.justify-content_between {
  justify-content: space-between; }

.justify-content_evenly {
  justify-content: space-evenly; }

.justify-content_around {
  justify-content: space-around; }

.flex-start {
  justify-content: start; }

.align-stretch {
  align-items: stretch; }

.highlight {
  color: white;
  padding: 1rem 1rem;
  border-radius: 3px;
  box-shadow: var(--box-shadow);
  text-align: center; }

.bg-success {
  background-color: var(--success); }

.bg-warning {
  background-color: var(--warning); }

.bg-gold {
  background-color: var(--jaune); }

.bg-danger {
  background-color: var(--danger); }

.bg-white {
  background-color: white !important; }

.bd-danger {
  border: 1px solid var(--danger); }

.bd-success {
  border: 1px solid var(--success); }

/**********************/
/*** Grid templates ***/
/**********************/
.body-grid {
  min-height: 100vh;
  display: grid;
  grid: "header" auto "content" 1fr "footer" auto / auto; }

header {
  grid-area: header; }

.page-content {
  grid-area: content; }

footer {
  grid-area: footer; }

div.page-content.sidebar-right {
  position: relative;
  display: grid;
  grid: ". title title ." auto ". main1 main1 ." auto ". sidebar sidebar ." ". . . ." 4rem ". main2 main2 ." auto ". . . ." 4rem ". main3 main3 ." auto ". main4 main4 ." auto ". . . ." 2rem / auto 1fr 1fr auto;
  grid-gap: 0 2rem; }
  @media (min-width: 767px) {
    div.page-content.sidebar-right {
      grid: ". title title title ." auto ". . . . ." 4rem ". main1 main1  sidebar ." auto ". . . . ." 6rem ". main2 main2 main2 ." auto ". . . . ." 6rem ". main3 main3 main4 ." auto ". . . . ." 2rem;
      grid-template-columns: auto 1fr 1fr 1fr auto; } }
  @media (min-width: 1000px) {
    div.page-content.sidebar-right {
      grid-template-columns: 0.5fr 1fr 1fr 1fr 0.5fr; } }
  div.page-content.sidebar-right .main-title {
    grid-area: title;
    z-index: 5; }
  div.page-content.sidebar-right .section1 {
    grid-area: main1;
    z-index: 5; }
  div.page-content.sidebar-right .section2 {
    grid-area: main2;
    z-index: 5; }
  div.page-content.sidebar-right .section3 {
    grid-area: main3;
    z-index: 5; }
  div.page-content.sidebar-right .section4 {
    grid-area: main4;
    z-index: 5; }
  div.page-content.sidebar-right .sidebar {
    grid-area: sidebar;
    z-index: 5; }

.divider-2rem {
  grid-column: 1 /-1;
  height: 2rem; }

.divider-4rem {
  grid-column: 1 /-1;
  height: 4rem; }

.divider-6rem {
  grid-column: 1 /-1;
  height: 6rem; }

.grid-1col {
  display: grid;
  grid-template-columns: 0.5rem 1fr 1fr 0.5rem; }
  @media (min-width: 480px) {
    .grid-1col {
      grid-template-columns: 2rem 1fr 1fr 2rem; } }
  @media (min-width: 629px) {
    .grid-1col {
      grid-template-columns: 4rem 1fr 1fr 4rem; } }
  @media (min-width: 900px) {
    .grid-1col {
      grid-template-columns: 0.5fr 1fr 1fr 0.5fr; } }
  @media (min-width: 1200px) {
    .grid-1col {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
  .grid-1col > * {
    grid-column: 2 / 4; }

div.page-content.sidebar-right_auto {
  position: relative;
  display: grid;
  grid-template-columns: 1rem repeat(10, 1fr) 1rem; }
  div.page-content.sidebar-right_auto > * {
    grid-column: 2/12; }
  @media (min-width: 629px) {
    div.page-content.sidebar-right_auto {
      grid-template-columns: 2rem repeat(10, 1fr) 2rem; } }
  @media (min-width: 900px) {
    div.page-content.sidebar-right_auto {
      grid-column-gap: 4rem;
      grid-template-columns: repeat(12, 1fr); }
      div.page-content.sidebar-right_auto > * {
        grid-column: 2 / 8; } }
  @media (min-width: 1600px) {
    div.page-content.sidebar-right_auto {
      grid-template-columns: 2.5fr repeat(10, 1fr) 2.5fr; } }
  div.page-content.sidebar-right_auto .sidebar {
    grid-column: 2 / 12; }
    div.page-content.sidebar-right_auto .sidebar .sidebar-content {
      padding: 1.5rem 1rem;
      border-radius: 0.5rem;
      box-shadow: var(--box-shadow); }
    @media (min-width: 900px) {
      div.page-content.sidebar-right_auto .sidebar {
        position: absolute;
        grid-column: span 4 / 12;
        height: 90%;
        left: 0;
        right: 0;
        top: 2rem;
        bottom: 0; }
        div.page-content.sidebar-right_auto .sidebar .sidebar-content {
          position: sticky;
          top: 8rem; } }

.wrapper-grid_pers {
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 1rem; }
  .wrapper-grid_pers .table-title {
    display: grid;
    grid-template-columns: 1fr !important;
    grid-gap: 2rem 2rem; }
    @media (min-width: 480px) {
      .wrapper-grid_pers .table-title {
        grid-template-columns: repeat(3, 1fr) !important; } }
    .wrapper-grid_pers .table-title > * {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: space-between;
      text-align: start; }
    .wrapper-grid_pers .table-title p {
      margin: 0.5rem 0 !important; }
    .wrapper-grid_pers .table-title ul {
      margin: 0.5rem 0; }
      .wrapper-grid_pers .table-title ul li::before {
        content: "○ "; }
  .wrapper-grid_pers .tab-divider {
    height: 2rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--dark); }
  .wrapper-grid_pers.columns-4 > * {
    grid-template-columns: 5fr repeat(3, minmax(5rem, 1fr)); }
  .wrapper-grid_pers.columns-3 > * {
    grid-template-columns: 5fr repeat(2, minmax(6.5rem, 1fr)); }
  .wrapper-grid_pers.columns-3b > * {
    grid-template-columns: 3fr repeat(2, minmax(7rem, 1fr)); }
    @media (min-width: 629px) {
      .wrapper-grid_pers.columns-3b > * {
        grid-template-columns: 3fr repeat(2, minmax(14rem, 1fr)); } }
  .wrapper-grid_pers .grid-tab-row {
    display: grid;
    grid-gap: 0 2rem;
    align-content: center;
    justify-content: center; }
    .wrapper-grid_pers .grid-tab-row > * {
      background-color: white;
      padding: 0.5rem;
      display: flex;
      align-items: center; }
    .wrapper-grid_pers .grid-tab-row p {
      margin: 0 !important; }
    .wrapper-grid_pers .grid-tab-row .prix,
    .wrapper-grid_pers .grid-tab-row .checkbox {
      justify-content: center; }
    .wrapper-grid_pers .grid-tab-row .tab-head_prix {
      grid-column: 2 / 3;
      justify-content: center; }
    .wrapper-grid_pers .grid-tab-row .tab-head_simuler {
      grid-column: 3 / 4;
      justify-content: center; }
    .wrapper-grid_pers .grid-tab-row .check-container {
      justify-content: center;
      color: var(--divider); }
      .wrapper-grid_pers .grid-tab-row .check-container.minimale {
        background-color: var(--danger); }
      .wrapper-grid_pers .grid-tab-row .check-container.partielle {
        background-color: var(--success); }
      .wrapper-grid_pers .grid-tab-row .check-container.complete {
        background-color: var(--jaune); }
      .wrapper-grid_pers .grid-tab-row .check-container img {
        width: 1.5rem; }

/***********/
/* Padding */
/***********/
.p-0 {
  padding: 0 !important; }

/*each permet de parcourir le tableau
Ici, @include créé les classes grâce à la mixin*/
.p-1 {
  padding: 0.5rem; }

.p-2 {
  padding: 1rem; }

.p-3 {
  padding: 1.5rem; }

.p-4 {
  padding: 2rem; }

.p-5 {
  padding: 2.5rem; }

.pt-1 {
  padding-top: 0.5rem; }

.pt-2 {
  padding-top: 1rem; }

.pt-3 {
  padding-top: 1.5rem; }

.pt-4 {
  padding-top: 2rem; }

.pt-5 {
  padding-top: 2.5rem; }

.pb-1 {
  padding-bottom: 0.5rem; }

.pb-2 {
  padding-bottom: 1rem; }

.pb-3 {
  padding-bottom: 1.5rem; }

.pb-4 {
  padding-bottom: 2rem; }

.pb-5 {
  padding-bottom: 2.5rem; }

.pr-1 {
  padding-right: 0.5rem; }

.pr-2 {
  padding-right: 1rem; }

.pr-3 {
  padding-right: 1.5rem; }

.pr-4 {
  padding-right: 2rem; }

.pr-5 {
  padding-right: 2.5rem; }

.pl-1 {
  padding-left: 0.5rem; }

.pl-2 {
  padding-left: 1rem; }

.pl-3 {
  padding-left: 1.5rem; }

.pl-4 {
  padding-left: 2rem; }

.pl-5 {
  padding-left: 2.5rem; }

.px-1 {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

.px-2 {
  padding-left: 1rem;
  padding-right: 1rem; }

.px-3 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.px-4 {
  padding-left: 2rem;
  padding-right: 2rem; }

.px-5 {
  padding-left: 2.5rem;
  padding-right: 2.5rem; }

.py-1 {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

.py-2 {
  padding-left: 1rem;
  padding-right: 1rem; }

.py-3 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.py-4 {
  padding-left: 2rem;
  padding-right: 2rem; }

.py-5 {
  padding-left: 2.5rem;
  padding-right: 2.5rem; }

/***********************************************/
/***********/
/* Margin */
/***********/
.m-0 {
  margin: 0 !important; }

/*each permet de parcourir le tableau
Ici, @include créé les classes grâce à la mixin*/
.m-1 {
  margin: 0.5rem; }

.m-2 {
  margin: 1rem; }

.m-3 {
  margin: 1.5rem; }

.m-4 {
  margin: 2rem; }

.m-5 {
  margin: 2.5rem; }

.mt-1 {
  margin-top: 0.5rem; }

.mt-2 {
  margin-top: 1rem; }

.mt-3 {
  margin-top: 1.5rem; }

.mt-4 {
  margin-top: 2rem; }

.mt-5 {
  margin-top: 2.5rem; }

.mb-1 {
  margin-bottom: 0.5rem; }

.mb-2 {
  margin-bottom: 1rem; }

.mb-3 {
  margin-bottom: 1.5rem; }

.mb-4 {
  margin-bottom: 2rem; }

.mb-5 {
  margin-bottom: 2.5rem; }

.mr-1 {
  margin-right: 0.5rem; }

.mr-2 {
  margin-right: 1rem; }

.mr-3 {
  margin-right: 1.5rem; }

.mr-4 {
  margin-right: 2rem; }

.mr-5 {
  margin-right: 2.5rem; }

.ml-1 {
  margin-left: 0.5rem; }

.ml-2 {
  margin-left: 1rem; }

.ml-3 {
  margin-left: 1.5rem; }

.ml-4 {
  margin-left: 2rem; }

.ml-5 {
  margin-left: 2.5rem; }

.mx-1 {
  margin-left: 0.5rem;
  margin-right: 0.5rem; }

.mx-2 {
  margin-left: 1rem;
  margin-right: 1rem; }

.mx-3 {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }

.mx-4 {
  margin-left: 2rem;
  margin-right: 2rem; }

.mx-5 {
  margin-left: 2.5rem;
  margin-right: 2.5rem; }

.my-1 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem; }

.my-2 {
  margin-top: 1rem;
  margin-bottom: 1rem; }

.my-3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.my-4 {
  margin-top: 2rem;
  margin-bottom: 2rem; }

.my-5 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem; }

/***********************************************/
.w-100 {
  width: 100%; }

.w-90 {
  width: 90%; }

.w-80 {
  width: 80%; }

.w-70 {
  width: 70%; }

.w-60 {
  width: 60%; }

.w-50 {
  width: 50%; }

.h-100 {
  height: 100%; }

.h-90 {
  height: 90%; }

.h-80 {
  height: 80%; }

.h-70 {
  height: 70%; }

.h-60 {
  height: 60%; }

.h-50 {
  height: 50%; }

.btn {
  border: 0;
  border-radius: 3px;
  padding: 1rem 2rem;
  outline: 0;
  cursor: pointer;
  transition: box-shadow 0.2s; }
  .btn:hover {
    box-shadow: var(--box-shadow);
    transform: scale(1.01);
    transition: all 0.2s; }
  .btn-primary {
    background: var(--success);
    color: white; }
  .btn-secondary {
    background: white;
    border: 1px solid var(--success);
    color: var(--primary); }
  .btn-danger {
    background-color: var(--danger);
    color: white; }

/*Petits écrans et orientation paysage*/
/*Orientation paysage et tablettes*/
/*Ordinateurs portables*/
/*Ecrans larges*/
/**************/
/*** HEADER ***/
/**************/
header {
  position: relative;
  box-shadow: var(--box-shadow); }

.site-header {
  display: grid;
  align-items: center;
  justify-items: center;
  grid: ". . . . ." 1fr ". . . . ." 1fr ". slogan slogan slogan ." 1fr ". . . . ." 2rem ". icons icons icons ." 1fr / 2rem 1fr 1fr 1fr 2rem;
  background-image: url("/theme/assets/images/fond_1.jpg");
  background-position: center center;
  background-size: cover;
  height: 40vh;
  min-height: 150px; }
  @media (min-width: 767px) {
    .site-header {
      grid: ". . . . ." 2rem "logo logo . . icons" 1fr ". . . . ." 1fr ". slogan slogan slogan ." 1fr ". . . . ." 1fr "largeNav largeNav largeNav largeNav largeNav" 6rem / 1fr 1fr 1fr 1fr 1fr; } }
  .site-header .header-bg_color {
    align-self: stretch;
    justify-self: stretch;
    background-image: linear-gradient(var(--primary-transparent), transparent);
    grid-row: 1 / -1;
    grid-column: 1 / -1;
    z-index: 1; }
  .site-header .icons {
    grid-area: icons;
    align-self: stretch;
    justify-self: stretch;
    display: flex;
    justify-content: space-around;
    align-items: center;
    z-index: 2; }
    .site-header .icons a {
      font-size: 3rem;
      color: white; }
  .site-header .slogan {
    grid-area: slogan;
    z-index: 2;
    font-size: 2rem;
    font-weight: 400;
    color: white; }
    @media (min-width: 375px) {
      .site-header .slogan {
        font-size: 2.5rem; } }
    @media (min-width: 1200px) {
      .site-header .slogan {
        font-size: 3rem; } }
  .site-header .logo-container {
    display: none; }
    @media (min-width: 767px) {
      .site-header .logo-container {
        display: unset;
        grid-area: logo;
        z-index: 2; } }
  .site-header .large-nav {
    position: relative; }
    .site-header .large-nav_fixed {
      transition: all 1s ease;
      position: fixed;
      top: 0; }
  .site-header .header-nav_large-screen {
    grid-area: largeNav;
    display: none;
    z-index: 10;
    box-shadow: var(--box-shadow); }
    @media (min-width: 767px) {
      .site-header .header-nav_large-screen {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 6rem;
        background-color: var(--dark-transparent); } }
    .site-header .header-nav_large-screen .fb-icon {
      flex: 1;
      text-align: center; }
      .site-header .header-nav_large-screen .fb-icon i {
        color: white;
        font-size: 3rem; }
    .site-header .header-nav_large-screen ul {
      flex: 2;
      display: flex;
      justify-content: space-evenly;
      align-self: stretch;
      align-items: center; }
      .site-header .header-nav_large-screen ul .active {
        background-color: var(--primary-transparent); }
      .site-header .header-nav_large-screen ul li {
        padding: 0 2rem;
        align-self: stretch;
        align-items: center;
        display: flex; }
        .site-header .header-nav_large-screen ul li:hover {
          opacity: 0.8; }
      .site-header .header-nav_large-screen ul li a {
        text-transform: uppercase;
        color: white; }

.menu-bars {
  height: 4rem;
  width: 4rem;
  background-color: var(--dark);
  border-radius: 0.3rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0.7rem;
  margin-right: 2rem; }
  .menu-bars span {
    display: block;
    height: 1px;
    background-color: white; }
  .menu-bars :nth-child(1) {
    width: 75%; }
  .menu-bars :nth-child(2) {
    width: 100%; }
  .menu-bars :nth-child(3) {
    width: 85%; }

.header-nav {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column; }
  @media (min-width: 767px) {
    .header-nav {
      display: none; } }
  .header-nav_content {
    padding: 1.5rem 0;
    height: 9rem;
    direction: rtl;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-end;
    transition: all 0.5s; }
  .header-nav_visible {
    align-items: center;
    height: 6rem;
    background-color: var(--primary-transparent);
    transition: all 0.5s;
    box-shadow: var(--box-shadow); }
    .header-nav_visible .header-nav_logo {
      opacity: 1; }

.menu-mobile-container .mobile-menu {
  align-self: flex-end;
  text-align: right;
  font-size: 1.8rem;
  padding: 0.8rem 2rem;
  margin-right: 2rem;
  background-color: white;
  border-radius: 0.2rem;
  visibility: hidden;
  opacity: 0;
  max-height: 0;
  transform: scale(0.8); }
  .menu-mobile-container .mobile-menu.ouvert {
    visibility: visible;
    opacity: 1;
    max-height: 1000px;
    transform: scale(1);
    transition: opacity 0.5s, max-height 0.5s, transform cubic-bezier(0.01, 0.51, 0.58, 1) 0.8s; }
  .menu-mobile-container .mobile-menu::before {
    content: "";
    position: absolute;
    top: -0.8rem;
    right: 1rem;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0.8rem 0.8rem 0.8rem;
    border-color: transparent transparent white transparent; }
  .menu-mobile-container .mobile-menu ul li {
    padding: 0.7rem 0;
    border-bottom: 1px solid var(--divider); }

/**********************/
/***** Front-page** ***/
/**********************/
.sidebar {
  position: relative;
  z-index: 5;
  align-self: start;
  display: flex;
  flex-direction: column; }
  .sidebar > p {
    font-size: 1.8rem; }
  .sidebar .highlight div > * {
    margin: 0 !important; }
  .sidebar .highlight {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .sidebar .highlight div {
      margin-left: 1rem; }
      .sidebar .highlight div p {
        background-color: transparent; }
      .sidebar .highlight div h4 {
        letter-spacing: 0.1rem;
        font-weight: 400;
        text-transform: uppercase;
        font-size: 1.7rem; }
    .sidebar .highlight i {
      font-size: 2.5rem; }
  .sidebar a:hover {
    transform: scaleY(1.01);
    transform: scaleX(1.01);
    transition: all 0.3s; }

.container-img-fond {
  position: relative;
  justify-self: stretch;
  align-self: stretch;
  z-index: 1;
  overflow: hidden; }
  .container-img-fond img {
    filter: opacity(0.3);
    position: absolute;
    top: 0;
    left: calc(-500px + 100vw / 2); }
    @media (min-width: 767px) {
      .container-img-fond img {
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 1000px) {
      .container-img-fond img {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        left: 0; } }

.img-fond-1 {
  grid-column: 1/-1;
  grid-row: 2/4; }
  @media (min-width: 767px) {
    .img-fond-1 {
      grid-row: 2/4; } }

.img-fond-2 {
  grid-column: 1/-1;
  grid-row: 7/-1; }
  @media (min-width: 767px) {
    .img-fond-2 {
      grid-row: 7/-1; } }

.front-page p {
  background-color: var(--hint-transparent);
  padding: 0.5rem; }

.section1 {
  font-size: 1.8rem;
  align-self: stretch; }
  .section1 > p {
    background-color: var(--hint-transparent);
    padding: 0.5rem; }

.section3,
.section4 {
  padding-top: 1.5rem; }

.partenaires > img {
  width: 100%; }

.specialisation > img {
  max-width: 129px;
  padding: 1rem 0; }

.prestations .grid-1col {
  grid-gap: 2rem 0; }

.prestations h3 {
  font-weight: 400;
  font-size: 2.1rem;
  padding: 0.5rem;
  background-color: var(--hint-transparent); }

.prestations p,
.prestations li {
  font-size: 1.7rem; }

.prestations li {
  padding: 0.5rem 0; }

.prestations li::before {
  content: "\002022";
  padding-right: 0.5rem;
  vertical-align: baseline; }

.prestations .highlight {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 2rem;
  letter-spacing: 0.1rem; }

.prestations .sidebar-content:last-child {
  margin-bottom: 2rem; }

.maintenance .simulation-result > div {
  margin-bottom: 2rem; }

.maintenance .simulation-result > div > * {
  margin: 0 !important; }

/* ************ */
/* Page contact */
/* ************ */
/* Formulaire de contact*/
.contact > ul li {
  font-size: 1.7rem; }
  .contact > ul li::before {
    content: "\002022";
    padding-right: 0.5rem;
    vertical-align: baseline; }

.contact li {
  padding: 0.5rem 0; }

form {
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 2rem;
  border-radius: 0.5rem; }
  form input,
  form p,
  form label,
  form select,
  form button {
    font-size: 1.7rem;
    -webkit-appearance: none; }
  form input[type="radio"] {
    -webkit-appearance: radio; }
  form .wrapper-grid_md {
    grid-gap: 3rem 2rem; }
    @media (min-width: 629px) {
      form .wrapper-grid_md {
        grid-gap: 2rem 2rem; } }

label {
  margin-bottom: 0.5rem; }

input,
select,
textarea {
  border: 1px solid #eeeeee;
  border-radius: 0.5rem;
  padding: 1rem 2rem; }

select,
textarea {
  margin-bottom: 20px; }

textarea {
  height: 100px; }

.text-error {
  color: var(--danger);
  font-size: 1.8rem; }

.reverze {
  unicode-bidi: bidi-override;
  direction: rtl; }

/* Drop-down wrapper styles */
.dpdw-elem {
  border-bottom: 1px solid var(--dark);
  margin-bottom: 1rem; }
  .dpdw-elem .dpdw-btn {
    background-color: var(--hint-transparent);
    padding: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    .dpdw-elem .dpdw-btn.body-hidden::after {
      content: "+";
      font-size: 2.3rem;
      padding: 0 1rem;
      transition: all 0.6s ease; }
    .dpdw-elem .dpdw-btn.body-visible::after {
      content: "\002014";
      font-size: 2.3rem;
      padding: 0 1rem;
      transition: all 0.6s ease; }
  .dpdw-elem .dpdw-body {
    max-height: 0;
    overflow: hidden;
    background-color: white;
    transition: 0.6s ease max-height;
    margin-bottom: 1rem; }
    .dpdw-elem .dpdw-body * {
      margin-left: 1rem;
      margin-right: 1rem; }
    .dpdw-elem .dpdw-body :first-child {
      margin-top: 1rem; }
    .dpdw-elem .dpdw-body :last-child {
      margin-bottom: 1rem; }
  .dpdw-elem li {
    font-size: 1.7rem; }
  .dpdw-elem li {
    padding: 0.5rem 0; }
  .dpdw-elem li::before {
    content: "\002022";
    padding-right: 0.5rem;
    vertical-align: baseline; }

.sidebar.precautions .dpd-wrapper-container,
.sidebar.contrat-maintenance .dpd-wrapper-container {
  position: relative;
  perspective: 8px;
  -webkit-perspective: 8px;
  perspective-origin: 0%;
  -webkit-perspective-origin: 0%;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  z-index: 5;
  max-height: 75vh;
  overflow-x: hidden;
  overflow-y: hidden; }

.sidebar.precautions .dpdw-elem,
.sidebar.contrat-maintenance .dpdw-elem {
  position: relative;
  transform-origin: 0;
  -webkit-transform-origin: 0;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  z-index: 5 !important;
  border-bottom-color: var(--success); }
  .sidebar.precautions .dpdw-elem > p,
  .sidebar.contrat-maintenance .dpdw-elem > p {
    background-color: var(--hint-transparent);
    padding: 0.5rem;
    border-radius: 0.3rem; }
  .sidebar.precautions .dpdw-elem > h4,
  .sidebar.contrat-maintenance .dpdw-elem > h4 {
    color: white;
    background-color: var(--danger);
    border-radius: 0.3rem;
    box-shadow: var(--box-shadow);
    font-weight: 400; }
  .sidebar.precautions .dpdw-elem div h4,
  .sidebar.contrat-maintenance .dpdw-elem div h4 {
    font-weight: 400;
    color: white;
    background-color: var(--success);
    border-radius: 0.3rem;
    padding: 0.5rem 1rem; }
  .sidebar.precautions .dpdw-elem .dpdw-body,
  .sidebar.contrat-maintenance .dpdw-elem .dpdw-body {
    border-radius: 0.3rem;
    background-color: rgba(255, 255, 255, 0.5); }

.sidebar.contrat-maintenance div.dpdw-elem > h4 {
  background-color: var(--jaune); }

.dpd-bg_img {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateZ(-3px);
  -webkit-transform: translateZ(-3px);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  width: 100%;
  height: 100%; }
  .dpd-bg_img img {
    filter: opacity(0.4);
    transform: scale(1.5) translateX(100px);
    min-width: 100vw; }

.dpd-wrapper_scrollbar {
  overflow-y: scroll !important; }
  .dpd-wrapper_scrollbar::-webkit-scrollbar {
    width: 0.3rem; }
  .dpd-wrapper_scrollbar::-webkit-scrollbar-track-piece {
    width: 0.3rem; }
  .dpd-wrapper_scrollbar::-webkit-scrollbar-thumb {
    background: var(--dark);
    height: 0.5rem;
    border-radius: 0.3rem; }
  .dpd-wrapper_scrollbar::-webkit-scrollbar-track {
    background: transparent; }

/**************/
/*** FOOTER ***/
/**************/
footer {
  padding-top: 3rem;
  padding-bottom: 3rem;
  min-height: 20rem;
  z-index: 5;
  display: grid;
  grid-gap: 3rem;
  grid: " . col0 ." 1fr ". col1 ." 1fr ". col2 ." 1fr ". col3 ." 1fr / 1fr 5fr 1fr;
  background-color: var(--primary); }
  @media (min-width: 629px) {
    footer {
      grid: ". col0 col3 ." 1fr ". col1 col2 ." 1fr / 1fr 4fr 4fr 1fr; } }
  @media (min-width: 1000px) {
    footer {
      grid: ". col0 col1 col2 col3 ." 1fr / 1fr 2fr 2fr 2fr 2fr 1fr; } }
  footer .colNo0 {
    grid-area: col0; }
  footer .colNo1 {
    grid-area: col1; }
  footer .colNo2 {
    grid-area: col2; }
  footer .colNo3 {
    grid-area: col3; }
    footer .colNo3 li::before {
      content: "\002022";
      padding-right: 0.5rem; }
  footer h4 {
    margin-bottom: 1rem;
    font-size: 2rem; }
  footer p {
    margin-bottom: 0.5rem; }
  footer > * {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-bottom: 2rem; }

.footer-menu {
  margin-bottom: 1rem; }
  .footer-menu a {
    color: var(--dark); }
  .footer-menu li {
    text-decoration: underline;
    transition: all 0.3s; }
    .footer-menu li a:hover {
      color: white;
      transition: all 0.3s; }
