/* Miscellanoeous */
body {
  background-color: $body-bg-color;

  &.window-opened,
  &.navigation-active {
    overflow: hidden;
  }
}

.anchor {
  padding: 0;
  left: 0;
  position: absolute;
  width: 100% !important;
  max-width: none !important;
  z-index: -1;
}

.tiret {
  min-height: 1px;
  min-width: 10px;
  max-width: 10px;
  border-bottom: 1px solid #ffffff;
  display: block;
}

span,
i,
b {
  &.colored {
    color: esprit-sentiers(orange);
  }
}

hr {
  margin-top: 23px;
  margin-bottom: 23px;
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-top: 1px solid #bbbbbb;

  &.colored {
    border-top-color: esprit-sentiers(green);
  }

  &.small {
    border-top-width: 1.5px;
  }

  &.medium {
    border-top-width: 3px;
  }

  &.big {
    border-top-width: 6px;
  }
}

.alternate-sections > section:nth-child(even) {
  background-color: white;
}

.main-section {
  &:is(section)::before {
    content: "";
    display: block;
    height: 0.1px;
    visibility: hidden;
  }

  &:not(.page-title):not(.with-pt) {
    padding-top: 0 !important;
  }

  > * {
    max-width: 1200px;

    &:not(hr) {
      margin: auto;
    }
  }

  > .sub-section {
    margin-top: 30px;

    > .title {
      p {
        margin: 23px 0;
      }
    }
  }

  .title {
    padding-bottom: 30px;

    h2,
    h3,
    h4 {
      margin: 0;
    }

    h2 {
      padding: 0 0 30px;
    }

    hr {
      margin-top: 0;
    }
  }
}

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

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

.max-width-900 > * {
  max-width: 900px;
  margin: auto;
}

.flex {
  display: flex;
}

@media (max-width: 1150px) {
  .wrap-at-1150 {
    flex-flow: wrap !important;
  }
  .wrap-reverse-at-1150 {
    flex-flow: wrap-reverse !important;
  }
}

.align-self-flex-end {
  align-self: flex-end;
}

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

.flex-align-content-center {
  align-content: center;
}

.flex .flex-grow-1,
.flex-row .flex-grow-1,
.flex-wrap .flex-grow-1,
.flex-column .flex-grow-1 {
  flex-grow: 1;
}

.flex .flex-grow-2,
.flex-row .flex-grow-2,
.flex-wrap .flex-grow-2,
.flex-column .flex-grow-2 {
  flex-grow: 2;
}

.flex .flex-grow-3,
.flex-row .flex-grow-3,
.flex-wrap .flex-grow-3,
.flex-column .flex-grow-3 {
  flex-grow: 3;
}

.flex .flex-grow-4,
.flex-row .flex-grow-4,
.flex-wrap .flex-grow-4,
.flex-column .flex-grow-4 {
  flex-grow: 4;
}

.flex-row {
  display: flex;
  flex-flow: row;
}

.IE .flex-row {
  display: inline-flex;
}

.flex-wrap {
  display: flex;
  flex-flow: wrap;
}

.flex-row .col {
  padding: 10px 20px;
}

.IE .flex-row-2 .col {
  width: 50%;
  max-width: 50%;
}

.IE .flex-row-3 .col {
  width: 33.3%;
  max-width: 33.3%;
}

.flex-row .col h1,
.flex-row .col h2,
.flex-row .col h3,
.flex-row .col h4,
.flex-row .col h5,
.flex-row .col h6,
.flex-wrap .col p,
.flex-wrap .col h1,
.flex-wrap .col h2,
.flex-wrap .col h3,
.flex-wrap .col h4,
.flex-wrap .col h5,
.flex-wrap .col h6 {
  margin: 0;
}

.flex.justify-center,
.flex-row.justify-center {
  justify-content: center;
}

.flex-column {
  display: flex;
  flex-flow: column;
}

@media (max-width: 1150px) {
  .wrap-at-1150 {
    flex-flow: wrap;
  }
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.m-0 {
  margin: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.mb-1 {
  margin-bottom: ($spacer * 0.25) !important;
}

.mt-1 {
  margin-top: ($spacer * 0.25) !important;
}

.ml-1 {
  margin-left: ($spacer * 0.25) !important;
}

.mr-1 {
  margin-right: ($spacer *  0.25) !important;
}

.pb-1 {
  padding-bottom: ($spacer * 0.25) !important;
}

.pt-1 {
  padding-top: ($spacer * 0.25) !important;
}

.pl-1 {
  padding-left: ($spacer * 0.25) !important;
}

.pr-1 {
  padding-right: ($spacer * 0.25) !important;
}

.m-1 {
  margin: ($spacer * 0.25) !important;
}

.p-1 {
  padding: ($spacer * 0.25) !important;
}

.mb-2 {
  margin-bottom: ($spacer * 0.5) !important;
}

.mt-2 {
  margin-top: ($spacer * 0.5) !important;
}

.ml-2 {
  margin-left: ($spacer * 0.5) !important;
}

.mr-2 {
  margin-right: ($spacer *  0.5) !important;
}

.pb-2 {
  padding-bottom: ($spacer * 0.5) !important;
}

.pt-2 {
  padding-top: ($spacer * 0.5) !important;
}

.pl-2 {
  padding-left: ($spacer * 0.5) !important;
}

.pr-2 {
  padding-right: ($spacer * 0.5) !important;
}

.m-2 {
  margin: ($spacer * 0.5) !important;
}

.p-2 {
  padding: ($spacer * 0.5) !important;
}

.mb-3 {
  margin-bottom: $spacer !important;
}

.mt-3 {
  margin-top: $spacer !important;
}

.ml-3 {
  margin-left: $spacer !important;
}

.mr-3 {
  margin-right: $spacer !important;
}

.pb-3 {
  padding-bottom: $spacer !important;
}

.pt-3 {
  padding-top: $spacer !important;
}

.pl-3 {
  padding-left: $spacer !important;
}

.pr-3 {
  padding-right: $spacer !important;
}

.m-3 {
  margin: $spacer !important;
}

.p-3 {
  padding: $spacer !important;
}

.mb-4 {
  margin-bottom: ($spacer * 1.5) !important;
}

.mt-4 {
  margin-top: ($spacer * 1.5) !important;
}

.ml-4 {
  margin-left: ($spacer * 1.5) !important;
}

.mr-4 {
  margin-right: ($spacer *  1.5) !important;
}

.pb-4 {
  padding-bottom: ($spacer * 1.5) !important;
}

.pt-4 {
  padding-top: ($spacer * 1.5) !important;
}

.pl-4 {
  padding-left: ($spacer * 1.5) !important;
}

.pr-4 {
  padding-right: ($spacer * 1.5) !important;
}

.m-4 {
  margin: ($spacer * 1.5) !important;
}

.p-4 {
  padding: ($spacer * 1.5) !important;
}

.mb-5 {
  margin-bottom: ($spacer * 3) !important;
}

.mt-5 {
  margin-top: ($spacer * 3) !important;
}

.ml-5 {
  margin-left: ($spacer * 3) !important;
}

.mr-5 {
  margin-right: ($spacer *  3) !important;
}

.pb-5 {
  padding-bottom: ($spacer * 3) !important;
}

.pt-5 {
  padding-top: ($spacer * 3) !important;
}

.pl-5 {
  padding-left: ($spacer * 3) !important;
}

.pr-5 {
  padding-right: ($spacer * 3) !important;
}

.m-5 {
  margin: ($spacer * 3) !important;
}

.p-5 {
  padding: ($spacer * 3) !important;
}

.mb-6 {
  margin-bottom: ($spacer * 6) !important;
}

.mt-6 {
  margin-top: ($spacer * 6) !important;
}

.ml-6 {
  margin-left: ($spacer * 6) !important;
}

.mr-6 {
  margin-right: ($spacer *  6) !important;
}

.pb-6 {
  padding-bottom: ($spacer * 6) !important;
}

.pt-6 {
  padding-top: ($spacer * 6) !important;
}

.pl-6 {
  padding-left: ($spacer * 6) !important;
}

.pr-6 {
  padding-right: ($spacer * 6) !important;
}

.m-6 {
  margin: ($spacer * 6) !important;
}

.p-6 {
  padding: ($spacer * 6) !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.pb-auto {
  padding-bottom: auto !important;
}

.pt-auto {
  padding-top: auto !important;
}

.pl-auto {
  padding-left: auto !important;
}

.pr-auto {
  padding-right: auto !important;
}

.m-auto {
  margin: auto !important;
}

.p-auto {
  padding: auto !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: ($spacer * 0.25) !important;
}

.gap-2 {
  gap: ($spacer * 0.5) !important;
}

.gap-3 {
  gap: $spacer !important;
}

.gap-4 {
  gap: ($spacer * 1.5) !important;
}

.gap-5 {
  gap: ($spacer * 3) !important;
}

.gap-6 {
  gap: ($spacer * 6) !important;
}