* {
  box-sizing: border-box;
}

.container-fluid {
  padding: 0;
  margin: 0;
}
.container-fluid > .row:not(.gap) {
  padding: 0;
  margin: 0;
}
.container-fluid > .row:not(.gap) > div[class*=col] {
  padding: 0;
}

/* TINYMCE */
.mce-content-body {
  padding: 1rem;
  background: white;
}

/* STRUCTURE */
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

html {
  font-size: 16px;
}

@media (min-width: 1921px) {
  html {
    font-size: 18px;
  }
}
@media (max-width: 1199px) {
  html {
    font-size: 14px;
  }
}
body {
  background: #f0f0f0;
  font-family: "Montserrat";
  font-size: 1rem;
  color: #343434;
  line-height: 1.7;
}

h1, h2, h3, ul, ol, p {
  margin: 0;
  padding: 0;
}

h1 {
  font-size: 4rem;
  line-height: 1;
  margin: 0 0 1rem;
}

@media (max-width: 1199px) {
  h1 {
    font-size: 2.5rem;
  }
}
@media (max-width: 991px) {
  h1 {
    font-size: 1.8rem;
  }
}
h2, .h2 {
  font-size: 3rem;
  font-weight: 300;
  line-height: 1.2;
  margin: 0 0 1.5rem;
}
h2.small, .h2.small {
  font-size: 2rem;
}
h2:last-child, .h2:last-child {
  margin: 0;
}
h2 strong, .h2 strong {
  font-weight: 800;
}
h2 span, .h2 span {
  font-size: 5rem;
}

@media (max-width: 1199px) {
  h2, .h2 {
    font-size: 2.2rem;
  }
  h2 span, .h2 span {
    font-size: 3rem;
  }
}
@media (max-width: 991px) {
  h2, .h2 {
    font-size: 1.5rem;
  }
  h2 span, .h2 span {
    font-size: 2rem;
  }
}
h3, .h3 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1rem;
}
h3.small, .h3.small {
  font-size: 2rem;
}

@media (max-width: 1199px) {
  h3, .h3 {
    font-size: 1.6rem;
  }
  h3.small, .h3.small {
    font-size: 1.4rem;
  }
}
@media (max-width: 991px) {
  h3, .h3 {
    font-size: 1.2rem;
  }
  h3.small, .h3.small {
    font-size: 1rem;
  }
}
h4, .h4 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 1rem;
}

@media (max-width: 1199px) {
  h4, .h4 {
    font-size: 1.1rem;
  }
}
h5, .h5 {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 200;
  color: #717171;
  text-transform: uppercase;
  margin: 0 0 1rem;
}

p {
  margin: 0 0 2rem;
}
p:last-child {
  margin-bottom: 0;
}

ul, ol {
  margin: 0 0 2rem 2rem;
}
ul:last-child, ol:last-child {
  margin: 0;
}

a {
  color: #D9001C;
  text-decoration: none;
  transition: color 0.5s ease;
}
a:hover {
  color: #A20015;
}

small {
  font-size: 0.85rem;
}

form {
  /* CONTACT FORM */
}
form + .msg {
  font-size: 1.2rem;
  color: #D9001C;
  text-align: center;
  display: none;
}
form + .msg.active {
  display: block;
}
form.hide {
  display: none;
}
form input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
form input[type=checkbox]:checked + label:after, form input[type=checkbox]:checked + span:after {
  opacity: 1;
}
form input[type=checkbox] + label, form input[type=checkbox] + span {
  display: block;
  position: relative;
  padding: 0.25rem 1rem 0 2.5rem;
  font-size: 0.85rem;
  cursor: pointer;
}
form input[type=checkbox] + label:before, form input[type=checkbox] + span:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: white;
  border: solid 1px #d0d0d0;
}
form input[type=checkbox] + label:after, form input[type=checkbox] + span:after {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 0.6rem;
  border: solid #343434;
  border-width: 0 3px 3px 0;
  padding: 4px 2px;
  transform: rotate(45deg);
  opacity: 0;
}
form .inline {
  display: flex;
  gap: 1rem;
}
form .inline .form-group {
  width: calc(50% - 0.5rem);
}
form .form-group {
  margin: 0 0 2rem;
}
form .form-group.file {
  position: relative;
  overflow: hidden;
}
form .form-group.file input {
  position: absolute;
  inset: 0;
  transform: scale(3);
  opacity: 0;
}
form .form-group.file label {
  display: block;
  width: 100%;
  height: 3rem;
  padding: 0 1rem;
  border: 0;
  border-bottom: solid 1px #d0d0d0;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 3rem;
  color: #343434;
  background: white;
  position: relative;
}
form .form-group.file label + span {
  font-size: 0.85rem;
  font-style: italic;
}
form .form-group.file .wpcf7-form-control-wrap {
  position: inherit;
}
form .form-group.error .form-control {
  border-bottom-color: #A20015;
}
form .form-control, form .form-control-textarea {
  width: 100%;
  height: 3rem;
  padding: 0 3rem 0 1rem;
  border: 0;
  border-bottom: solid 1px #d0d0d0;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  color: #343434;
  line-height: 3rem;
  background: white;
  position: relative;
}
form .form-control.nom, form .form-control-textarea.nom {
  background: white no-repeat calc(100% - 0.5rem) 50%/2.25rem url(../images/nom.svg);
}
form .form-control.adresse, form .form-control-textarea.adresse {
  background: white no-repeat calc(100% - 0.5rem) 50%/2.25rem url(../images/adresse.svg);
}
form .form-control.telephone, form .form-control-textarea.telephone {
  background: white no-repeat calc(100% - 0.5rem) 50%/2.25rem url(../images/telephone.svg);
}
form .form-control.email, form .form-control-textarea.email {
  background: white no-repeat calc(100% - 0.5rem) 50%/2.25rem url(../images/email.svg);
}
form .form-control:focus, form .form-control-textarea:focus {
  outline: 0;
  border-bottom: solid 1px #D9001C;
}
form .form-control::-moz-placeholder, form .form-control-textarea::-moz-placeholder {
  color: #343434;
}
form .form-control::placeholder, form .form-control-textarea::placeholder {
  color: #343434;
}
form .form-control-textarea {
  height: 13rem;
  line-height: 1.5;
  padding: 1rem;
  resize: none;
}
form [type=submit] {
  display: inline-block;
  border: 0;
  background: #D9001C;
  padding: 0.75rem 2rem;
  margin: 0;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.85rem;
  color: white;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: color 0.5s ease, background 0.5s ease;
}
form .wpcf7-list-item {
  margin: 0;
}
form .wpcf7-not-valid-tip {
  font-size: 0.85rem;
}
form .wpcf7-response-output {
  border: solid 1px #D9001C !important;
  margin: 1rem 0 0 !important;
  text-align: center;
  color: #D9001C;
  font-size: 1rem;
  font-weight: 700;
}

@media (max-width: 991px) {
  form .inline {
    flex-wrap: wrap;
    gap: 0;
  }
  form .inline .form-group {
    width: 100%;
  }
}
/* HEADER */
header {
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.3;
  text-transform: uppercase;
  height: 6rem;
  align-items: center;
}
header nav ul {
  display: flex;
  margin: 0;
}
header nav ul li {
  width: 16.6666666667%;
  text-align: center;
  height: 6rem;
  list-style: none;
  position: relative;
}
header nav ul li:hover:first-child > a {
  background: #A20015;
}
header nav ul li:hover > a {
  background: #A20015;
  color: white;
}
header nav ul li:hover ul {
  display: flex;
}
header nav ul li:first-child > a {
  background: #D9001C;
  color: white;
}
header nav ul li a {
  color: #343434;
  text-decoration: none;
  padding: 0 0.5rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: color 0.5s ease, background 0.5s ease;
}
header nav ul li a:hover {
  background: #A20015;
  color: white;
}
header nav ul li ul {
  position: absolute;
  z-index: 1;
  top: 6rem;
  left: 0;
  right: 0;
  padding: 1rem 0;
  background: #A20015;
  flex-direction: column;
  display: none;
}
header nav ul li ul li {
  width: 100%;
  height: auto;
}
header nav ul li ul li:first-child a {
  background: transparent;
}
header nav ul li ul li a {
  font-size: 1rem;
  color: white;
  padding: 0.5rem 1rem;
}
header .logo {
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
header .logo a {
  width: 100%;
  display: block;
  text-align: center;
}
header .logo img {
  width: 70%;
  max-width: 220px;
}
header .burger {
  position: absolute;
  top: 1.5rem;
  right: 7.1428571429%;
  width: 3rem;
  height: 3rem;
  background: #D9001C;
  -webkit-mask: no-repeat center/3rem url(../images/burger.svg);
          mask: no-repeat center/3rem url(../images/burger.svg);
  display: none;
}

@media (max-width: 1199px) {
  header nav {
    position: absolute;
    z-index: 3;
    top: 6rem;
    left: 0;
    right: 0;
    display: none;
  }
  header nav.active {
    display: block;
  }
  header nav ul {
    width: 100%;
    flex-direction: column;
    background: white;
  }
  header nav ul li {
    width: 100%;
    height: auto;
  }
  header nav ul li a {
    padding: 3.5714285714vw;
  }
  header nav ul li ul {
    position: relative;
    top: 0;
  }
  header .burger {
    display: block;
  }
}
@media (max-width: 991px) {
  header .logo img {
    width: 100%;
  }
}
/* FOOTER */
footer {
  border-bottom: solid 3rem #343434;
  background: #d0d0d0;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  text-transform: uppercase;
}
footer > div {
  padding: 4rem 0;
  position: relative;
}
footer > div:after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -2rem;
  right: 0;
  width: 12rem;
  height: 12rem;
  transform: rotate(-90deg);
  background: no-repeat bottom left/12rem auto url(../images/demi-cercle.svg);
}
footer ul li {
  list-style: none;
  margin: 0 0 0.5rem;
}
footer ul li a {
  color: #343434;
  text-decoration: none;
}
footer ul li a:hover {
  color: #A20015;
}
footer .logo img {
  margin: 0 0 1rem;
}
footer .linkedin a {
  display: inline-block;
  padding: 0 2.5rem 0 0;
  position: relative;
  color: #343434;
}
footer .linkedin a:before {
  content: "";
  position: absolute;
  top: -0.25rem;
  right: 0;
  width: 1.8rem;
  height: 1.8rem;
  background: no-repeat center/1.8rem url(../images/linkedin-bleu.svg);
}
footer .certifications img {
  max-width: 100px;
}
footer .coordonnees {
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  text-transform: none;
}
footer .coordonnees p {
  margin: 0;
}
footer .copyright {
  padding: 3rem 0 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  text-transform: none;
  text-align: center;
  font-style: italic;
  font-size: 0.85rem;
  color: #717171;
}
footer .copyright a {
  color: #717171;
  text-decoration: none;
}

@media (max-width: 1199px) {
  footer ul:last-child {
    margin: 0 0 2rem;
  }
}
@media (max-width: 991px) {
  footer > div:after {
    width: 8rem;
    height: 8rem;
    background: no-repeat bottom left/8rem auto url(../images/demi-cercle.svg);
  }
  footer .certifications {
    margin: 0 0 2rem;
  }
  footer .coordonnees {
    margin: 0 0 2rem;
  }
}
/* CLASSES */
/* TRAITS VERTICAUX */
.grid {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
}
.grid .col-grid {
  width: 2.380952381%;
  height: 100vh;
}
.grid .col-grid:nth-child(6n) {
  border-right: solid 1px rgba(52, 52, 52, 0.15);
}
.grid .col-grid:last-child {
  border: 0;
}

@media (max-width: 1199px) {
  .grid .col-grid:nth-child(6n) {
    border: 0;
  }
  .grid .col-grid:nth-child(3), .grid .col-grid:nth-last-child(4) {
    border-right: solid 1px rgba(52, 52, 52, 0.15);
  }
}
/* STICKY */
.sticky-left, .sticky-right {
  font-family: "Oswald", sans-serif;
  font-weight: 200;
  color: #717171;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1.2;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  text-align: center;
  width: 5rem;
  height: 80vh;
  position: absolute;
  z-index: 4;
  top: 6rem;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f0f0f0;
}
.sticky-left a, .sticky-right a {
  font-weight: 600;
  color: #717171;
  text-decoration: none;
}
.sticky-left a:hover, .sticky-right a:hover {
  color: #A20015;
}
.sticky-left ul li, .sticky-right ul li {
  list-style: none;
}
.sticky-left p, .sticky-right p {
  margin: 0;
}
.sticky-left .contact, .sticky-right .contact {
  margin: 2rem 0;
}
.sticky-left .btn, .sticky-right .btn {
  color: white;
}
.sticky-left .btn:hover, .sticky-right .btn:hover {
  color: white;
}

@media (max-width: 1199px) {
  .sticky-left, .sticky-right {
    width: 7.1428571429%;
  }
}
@media (max-width: 991px) {
  .sticky-left, .sticky-right {
    display: none;
  }
}
.sticky-left {
  left: 0;
}

.sticky-right {
  height: calc(80vh - 5rem);
  right: 0;
  bottom: 5rem;
}
.sticky-right .btn {
  position: absolute;
  top: 0;
  transform: translateY(-100%);
  display: flex;
  align-items: center;
  font-size: 1.3rem;
  padding: 2rem 0;
  width: 5rem;
}

@media (max-width: 1199px) {
  .sticky-right .btn {
    width: 7.1428571429vw;
  }
}
/* TEXTE */
.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-rouge {
  color: #D9001C;
}

.text-uppercase {
  text-transform: uppercase;
}

/* BG */
.bg-gris {
  background: #f0f0f0;
}

.bg-rouge {
  background: #D9001C;
  color: white;
}
.bg-rouge .h5 {
  color: white;
}
.bg-rouge .btn {
  background: white;
  color: #343434;
}
.bg-rouge .btn.clean {
  color: white;
}
.bg-rouge .btn.fleche span:before {
  border-left-color: white;
}

.bg-blanc {
  background: white;
}

/* MARGES */
.p {
  padding: 3.5714285714vw;
}

.p-0 {
  padding: 0rem;
}

.pt-0 {
  padding-top: 0rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-0 {
  padding-bottom: 0rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-0 {
  margin: 0rem;
}

.mt-0 {
  margin-top: 0rem;
}

.mb-0 {
  margin-bottom: 0rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-1 {
  padding: 1rem;
}

.pt-1 {
  padding-top: 1rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-1 {
  padding-bottom: 1rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-1 {
  margin: 1rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mb-1 {
  margin-bottom: 1rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-2 {
  padding: 2rem;
}

.pt-2 {
  padding-top: 2rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-2 {
  padding-bottom: 2rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-2 {
  margin: 2rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-3 {
  padding: 3rem;
}

.pt-3 {
  padding-top: 3rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-3 {
  padding-bottom: 3rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-3 {
  margin: 3rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-4 {
  padding: 4rem;
}

.pt-4 {
  padding-top: 4rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-4 {
  padding-bottom: 4rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-4 {
  margin: 4rem;
}

.mt-4 {
  margin-top: 4rem;
}

.mb-4 {
  margin-bottom: 4rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-5 {
  padding: 5rem;
}

.pt-5 {
  padding-top: 5rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-5 {
  padding-bottom: 5rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-5 {
  margin: 5rem;
}

.mt-5 {
  margin-top: 5rem;
}

.mb-5 {
  margin-bottom: 5rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-6 {
  padding: 6rem;
}

.pt-6 {
  padding-top: 6rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-6 {
  padding-bottom: 6rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-6 {
  margin: 6rem;
}

.mt-6 {
  margin-top: 6rem;
}

.mb-6 {
  margin-bottom: 6rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-7 {
  padding: 7rem;
}

.pt-7 {
  padding-top: 7rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-7 {
  padding-bottom: 7rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-7 {
  margin: 7rem;
}

.mt-7 {
  margin-top: 7rem;
}

.mb-7 {
  margin-bottom: 7rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-8 {
  padding: 8rem;
}

.pt-8 {
  padding-top: 8rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-8 {
  padding-bottom: 8rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-8 {
  margin: 8rem;
}

.mt-8 {
  margin-top: 8rem;
}

.mb-8 {
  margin-bottom: 8rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-9 {
  padding: 9rem;
}

.pt-9 {
  padding-top: 9rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-9 {
  padding-bottom: 9rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-9 {
  margin: 9rem;
}

.mt-9 {
  margin-top: 9rem;
}

.mb-9 {
  margin-bottom: 9rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-10 {
  padding: 10rem;
}

.pt-10 {
  padding-top: 10rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-10 {
  padding-bottom: 10rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-10 {
  margin: 10rem;
}

.mt-10 {
  margin-top: 10rem;
}

.mb-10 {
  margin-bottom: 10rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-11 {
  padding: 11rem;
}

.pt-11 {
  padding-top: 11rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-11 {
  padding-bottom: 11rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-11 {
  margin: 11rem;
}

.mt-11 {
  margin-top: 11rem;
}

.mb-11 {
  margin-bottom: 11rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-12 {
  padding: 12rem;
}

.pt-12 {
  padding-top: 12rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-12 {
  padding-bottom: 12rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-12 {
  margin: 12rem;
}

.mt-12 {
  margin-top: 12rem;
}

.mb-12 {
  margin-bottom: 12rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-13 {
  padding: 13rem;
}

.pt-13 {
  padding-top: 13rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-13 {
  padding-bottom: 13rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-13 {
  margin: 13rem;
}

.mt-13 {
  margin-top: 13rem;
}

.mb-13 {
  margin-bottom: 13rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-14 {
  padding: 14rem;
}

.pt-14 {
  padding-top: 14rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-14 {
  padding-bottom: 14rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-14 {
  margin: 14rem;
}

.mt-14 {
  margin-top: 14rem;
}

.mb-14 {
  margin-bottom: 14rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-15 {
  padding: 15rem;
}

.pt-15 {
  padding-top: 15rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-15 {
  padding-bottom: 15rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-15 {
  margin: 15rem;
}

.mt-15 {
  margin-top: 15rem;
}

.mb-15 {
  margin-bottom: 15rem;
}

.p {
  padding: 3.5714285714vw;
}

.p-16 {
  padding: 16rem;
}

.pt-16 {
  padding-top: 16rem;
}

.pt {
  padding-top: 3.5714285714vw;
}

.pb-16 {
  padding-bottom: 16rem;
}

.pb {
  padding-bottom: 3.5714285714vw;
}

.m-16 {
  margin: 16rem;
}

.mt-16 {
  margin-top: 16rem;
}

.mb-16 {
  margin-bottom: 16rem;
}

@media (min-width: 1200px) {
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-0 {
    padding: 0rem;
  }
  .pt-xl-0 {
    padding-top: 0rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-0 {
    padding-bottom: 0rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-0 {
    margin: 0rem;
  }
  .mt-xl-0 {
    margin-top: 0rem;
  }
  .mb-xl-0 {
    margin-bottom: 0rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-1 {
    padding: 1rem;
  }
  .pt-xl-1 {
    padding-top: 1rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-1 {
    padding-bottom: 1rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-1 {
    margin: 1rem;
  }
  .mt-xl-1 {
    margin-top: 1rem;
  }
  .mb-xl-1 {
    margin-bottom: 1rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-2 {
    padding: 2rem;
  }
  .pt-xl-2 {
    padding-top: 2rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-2 {
    padding-bottom: 2rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-2 {
    margin: 2rem;
  }
  .mt-xl-2 {
    margin-top: 2rem;
  }
  .mb-xl-2 {
    margin-bottom: 2rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-3 {
    padding: 3rem;
  }
  .pt-xl-3 {
    padding-top: 3rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-3 {
    padding-bottom: 3rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-3 {
    margin: 3rem;
  }
  .mt-xl-3 {
    margin-top: 3rem;
  }
  .mb-xl-3 {
    margin-bottom: 3rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-4 {
    padding: 4rem;
  }
  .pt-xl-4 {
    padding-top: 4rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-4 {
    padding-bottom: 4rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-4 {
    margin: 4rem;
  }
  .mt-xl-4 {
    margin-top: 4rem;
  }
  .mb-xl-4 {
    margin-bottom: 4rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-5 {
    padding: 5rem;
  }
  .pt-xl-5 {
    padding-top: 5rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-5 {
    padding-bottom: 5rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-5 {
    margin: 5rem;
  }
  .mt-xl-5 {
    margin-top: 5rem;
  }
  .mb-xl-5 {
    margin-bottom: 5rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-6 {
    padding: 6rem;
  }
  .pt-xl-6 {
    padding-top: 6rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-6 {
    padding-bottom: 6rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-6 {
    margin: 6rem;
  }
  .mt-xl-6 {
    margin-top: 6rem;
  }
  .mb-xl-6 {
    margin-bottom: 6rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-7 {
    padding: 7rem;
  }
  .pt-xl-7 {
    padding-top: 7rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-7 {
    padding-bottom: 7rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-7 {
    margin: 7rem;
  }
  .mt-xl-7 {
    margin-top: 7rem;
  }
  .mb-xl-7 {
    margin-bottom: 7rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-8 {
    padding: 8rem;
  }
  .pt-xl-8 {
    padding-top: 8rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-8 {
    padding-bottom: 8rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-8 {
    margin: 8rem;
  }
  .mt-xl-8 {
    margin-top: 8rem;
  }
  .mb-xl-8 {
    margin-bottom: 8rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-9 {
    padding: 9rem;
  }
  .pt-xl-9 {
    padding-top: 9rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-9 {
    padding-bottom: 9rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-9 {
    margin: 9rem;
  }
  .mt-xl-9 {
    margin-top: 9rem;
  }
  .mb-xl-9 {
    margin-bottom: 9rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-10 {
    padding: 10rem;
  }
  .pt-xl-10 {
    padding-top: 10rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-10 {
    padding-bottom: 10rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-10 {
    margin: 10rem;
  }
  .mt-xl-10 {
    margin-top: 10rem;
  }
  .mb-xl-10 {
    margin-bottom: 10rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-11 {
    padding: 11rem;
  }
  .pt-xl-11 {
    padding-top: 11rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-11 {
    padding-bottom: 11rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-11 {
    margin: 11rem;
  }
  .mt-xl-11 {
    margin-top: 11rem;
  }
  .mb-xl-11 {
    margin-bottom: 11rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-12 {
    padding: 12rem;
  }
  .pt-xl-12 {
    padding-top: 12rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-12 {
    padding-bottom: 12rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-12 {
    margin: 12rem;
  }
  .mt-xl-12 {
    margin-top: 12rem;
  }
  .mb-xl-12 {
    margin-bottom: 12rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-13 {
    padding: 13rem;
  }
  .pt-xl-13 {
    padding-top: 13rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-13 {
    padding-bottom: 13rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-13 {
    margin: 13rem;
  }
  .mt-xl-13 {
    margin-top: 13rem;
  }
  .mb-xl-13 {
    margin-bottom: 13rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-14 {
    padding: 14rem;
  }
  .pt-xl-14 {
    padding-top: 14rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-14 {
    padding-bottom: 14rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-14 {
    margin: 14rem;
  }
  .mt-xl-14 {
    margin-top: 14rem;
  }
  .mb-xl-14 {
    margin-bottom: 14rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-15 {
    padding: 15rem;
  }
  .pt-xl-15 {
    padding-top: 15rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-15 {
    padding-bottom: 15rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-15 {
    margin: 15rem;
  }
  .mt-xl-15 {
    margin-top: 15rem;
  }
  .mb-xl-15 {
    margin-bottom: 15rem;
  }
  .p-xl {
    padding: 3.5714285714vw;
  }
  .p-xl-16 {
    padding: 16rem;
  }
  .pt-xl-16 {
    padding-top: 16rem;
  }
  .pt-xl {
    padding-top: 3.5714285714vw;
  }
  .pb-xl-16 {
    padding-bottom: 16rem;
  }
  .pb-xl {
    padding-bottom: 3.5714285714vw;
  }
  .m-xl-16 {
    margin: 16rem;
  }
  .mt-xl-16 {
    margin-top: 16rem;
  }
  .mb-xl-16 {
    margin-bottom: 16rem;
  }
}
@media (min-width: 992px) {
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-0 {
    padding: 0rem;
  }
  .pt-lg-0 {
    padding-top: 0rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-0 {
    padding-bottom: 0rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-0 {
    margin: 0rem;
  }
  .mt-lg-0 {
    margin-top: 0rem;
  }
  .mb-lg-0 {
    margin-bottom: 0rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-1 {
    padding: 1rem;
  }
  .pt-lg-1 {
    padding-top: 1rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-1 {
    padding-bottom: 1rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-1 {
    margin: 1rem;
  }
  .mt-lg-1 {
    margin-top: 1rem;
  }
  .mb-lg-1 {
    margin-bottom: 1rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-2 {
    padding: 2rem;
  }
  .pt-lg-2 {
    padding-top: 2rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-2 {
    padding-bottom: 2rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-2 {
    margin: 2rem;
  }
  .mt-lg-2 {
    margin-top: 2rem;
  }
  .mb-lg-2 {
    margin-bottom: 2rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-3 {
    padding: 3rem;
  }
  .pt-lg-3 {
    padding-top: 3rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-3 {
    padding-bottom: 3rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-3 {
    margin: 3rem;
  }
  .mt-lg-3 {
    margin-top: 3rem;
  }
  .mb-lg-3 {
    margin-bottom: 3rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-4 {
    padding: 4rem;
  }
  .pt-lg-4 {
    padding-top: 4rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-4 {
    padding-bottom: 4rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-4 {
    margin: 4rem;
  }
  .mt-lg-4 {
    margin-top: 4rem;
  }
  .mb-lg-4 {
    margin-bottom: 4rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-5 {
    padding: 5rem;
  }
  .pt-lg-5 {
    padding-top: 5rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-5 {
    padding-bottom: 5rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-5 {
    margin: 5rem;
  }
  .mt-lg-5 {
    margin-top: 5rem;
  }
  .mb-lg-5 {
    margin-bottom: 5rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-6 {
    padding: 6rem;
  }
  .pt-lg-6 {
    padding-top: 6rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-6 {
    padding-bottom: 6rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-6 {
    margin: 6rem;
  }
  .mt-lg-6 {
    margin-top: 6rem;
  }
  .mb-lg-6 {
    margin-bottom: 6rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-7 {
    padding: 7rem;
  }
  .pt-lg-7 {
    padding-top: 7rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-7 {
    padding-bottom: 7rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-7 {
    margin: 7rem;
  }
  .mt-lg-7 {
    margin-top: 7rem;
  }
  .mb-lg-7 {
    margin-bottom: 7rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-8 {
    padding: 8rem;
  }
  .pt-lg-8 {
    padding-top: 8rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-8 {
    padding-bottom: 8rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-8 {
    margin: 8rem;
  }
  .mt-lg-8 {
    margin-top: 8rem;
  }
  .mb-lg-8 {
    margin-bottom: 8rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-9 {
    padding: 9rem;
  }
  .pt-lg-9 {
    padding-top: 9rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-9 {
    padding-bottom: 9rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-9 {
    margin: 9rem;
  }
  .mt-lg-9 {
    margin-top: 9rem;
  }
  .mb-lg-9 {
    margin-bottom: 9rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-10 {
    padding: 10rem;
  }
  .pt-lg-10 {
    padding-top: 10rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-10 {
    padding-bottom: 10rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-10 {
    margin: 10rem;
  }
  .mt-lg-10 {
    margin-top: 10rem;
  }
  .mb-lg-10 {
    margin-bottom: 10rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-11 {
    padding: 11rem;
  }
  .pt-lg-11 {
    padding-top: 11rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-11 {
    padding-bottom: 11rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-11 {
    margin: 11rem;
  }
  .mt-lg-11 {
    margin-top: 11rem;
  }
  .mb-lg-11 {
    margin-bottom: 11rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-12 {
    padding: 12rem;
  }
  .pt-lg-12 {
    padding-top: 12rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-12 {
    padding-bottom: 12rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-12 {
    margin: 12rem;
  }
  .mt-lg-12 {
    margin-top: 12rem;
  }
  .mb-lg-12 {
    margin-bottom: 12rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-13 {
    padding: 13rem;
  }
  .pt-lg-13 {
    padding-top: 13rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-13 {
    padding-bottom: 13rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-13 {
    margin: 13rem;
  }
  .mt-lg-13 {
    margin-top: 13rem;
  }
  .mb-lg-13 {
    margin-bottom: 13rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-14 {
    padding: 14rem;
  }
  .pt-lg-14 {
    padding-top: 14rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-14 {
    padding-bottom: 14rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-14 {
    margin: 14rem;
  }
  .mt-lg-14 {
    margin-top: 14rem;
  }
  .mb-lg-14 {
    margin-bottom: 14rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-15 {
    padding: 15rem;
  }
  .pt-lg-15 {
    padding-top: 15rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-15 {
    padding-bottom: 15rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-15 {
    margin: 15rem;
  }
  .mt-lg-15 {
    margin-top: 15rem;
  }
  .mb-lg-15 {
    margin-bottom: 15rem;
  }
  .p-lg {
    padding: 3.5714285714vw;
  }
  .p-lg-16 {
    padding: 16rem;
  }
  .pt-lg-16 {
    padding-top: 16rem;
  }
  .pt-lg {
    padding-top: 3.5714285714vw;
  }
  .pb-lg-16 {
    padding-bottom: 16rem;
  }
  .pb-lg {
    padding-bottom: 3.5714285714vw;
  }
  .m-lg-16 {
    margin: 16rem;
  }
  .mt-lg-16 {
    margin-top: 16rem;
  }
  .mb-lg-16 {
    margin-bottom: 16rem;
  }
}
/* POSITIONS */
.p-relative {
  position: relative;
}

/* FLEX */
.justify-content-center {
  justify-content: center;
}

.justify-content-end {
  justify-content: flex-end;
}

.align-items-center {
  align-items: center;
}

.align-items-end {
  align-items: flex-end;
}

/* IMPORTANT */
.important {
  font-size: 1.2rem;
}

/* SAVOIR */
.savoir {
  background: rgba(255, 255, 255, 0.2);
  padding: 1rem;
}

/* ANNEE */
.annee {
  font-weight: 300;
  font-size: 7rem;
  text-shadow: -1px -1px 0 #343434, 1px -1px 0 #343434, -1px 1px 0 #343434, 1px 1px 0 #343434;
  color: #f0f0f0;
  margin-top: -2rem;
}

@media (max-width: 991px) {
  .annee {
    font-size: 4rem;
  }
}
/* IMAGES */
.image {
  position: relative;
}
.image.ratio-1-1 {
  min-height: 100%;
}
.image.ratio-1-1:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.image.ratio-1-1 img {
  position: absolute;
  inset: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.image.force-height {
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.image.force-height:before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.image.force-height img {
  position: absolute;
  inset: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.image.has-circle:before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  right: 0;
  height: 50%;
  background: no-repeat 75% 100%/12rem auto url(../images/demi-cercle.svg);
}
.image.video:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: -8.3333333333%;
  width: 14.2857142857vw;
  height: 14.2857142857vw;
  transform: translateY(-50%) rotate(90deg);
  background: no-repeat bottom left/14.2857142857vw auto url(../images/demi-cercle.svg);
}
.image.blend img {
  mix-blend-mode: multiply;
}
.image .over {
  position: absolute;
  inset: 7.1428571429vw 14.2857142857vw;
  color: white;
}
.image .over .h5 {
  color: white;
}
.image img {
  width: 100%;
  height: auto;
  display: block;
}
.image iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
}

@media (min-width: 1921px) {
  .image.force-height:before {
    padding-bottom: 50%;
  }
}
@media (max-width: 991px) {
  .image.has-circle:before {
    background: no-repeat 75% 100%/8rem auto url(../images/demi-cercle.svg);
  }
}
/* BOUTONS */
.btn {
  display: inline-block;
  border: 0;
  background: #D9001C;
  padding: 0.75rem 2rem;
  margin: 0;
  font-family: "Oswald", sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.85rem;
  color: white;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  transition: color 0.5s ease, background 0.5s ease;
}
.btn.large, .btn.xlarge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5rem;
  padding: 0 2rem;
  font-size: 1.3rem;
}
.btn.large.fleche span:before, .btn.xlarge.fleche span:before {
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #D9001C;
  transition: border-left 0.5s ease;
}
.btn.xlarge {
  height: 8rem;
}
.btn.force-width {
  width: 100%;
  text-align: center;
}
.btn.clean {
  background: transparent;
  text-decoration: underline;
  padding: 0;
}
.btn.clean:hover {
  background: transparent;
}
.btn.fleche {
  color: #D9001C;
}
.btn.fleche span {
  position: relative;
  display: inline-block;
  padding: 0 1rem 0 0;
}
.btn.fleche span:before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid #D9001C;
}
.btn.fleche:hover {
  color: #A20015;
}
.btn.fleche:hover span:before {
  border-left-color: #A20015;
}
.btn.photo span {
  padding: 0 2rem 0 0;
  background: no-repeat center right/2rem url(../images/photo.svg);
}
.btn.linkedin span {
  padding: 0 2rem 0 0;
  background: no-repeat center right/1rem url(../images/linkedin.svg);
}
.btn:hover {
  background: #A20015;
  color: white;
}

@media (min-width: 1921px) {
  .btn {
    font-size: 1rem;
  }
}
@media (max-width: 1199px) {
  .btn.large, .btn.xlarge {
    height: 4rem;
    font-size: 1.1rem;
  }
  .btn.xlarge {
    height: 6rem;
  }
}
/* BANNER */
.banner {
  padding: 0;
}
.banner.has-cta {
  position: relative;
  min-height: 80vh;
  display: flex;
  align-items: center;
}
.banner.has-clip {
  background: #f0f0f0;
}
.banner.has-clip .image {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10rem), 21.4285714286% calc(100% - 10rem), 21.4285714286% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10rem), 21.4285714286% calc(100% - 10rem), 21.4285714286% 100%, 0 100%);
  height: 50vh;
  position: relative;
}
.banner.has-clip .image:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(52, 52, 52, 0.4);
}
.banner.has-clip .image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.banner .wrapper {
  padding: 7.1428571429vw 0;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.banner .wrapper .h5 {
  color: white;
}
.banner .cta {
  position: absolute;
  z-index: 3;
  left: 0;
  bottom: 0;
  width: 100%;
}
.banner + .titre .wrapper {
  height: 10rem;
  margin-top: -10rem;
  display: flex;
  align-items: center;
}
.banner + .titre .wrapper.offre-emploi {
  height: auto;
  margin-top: -8rem;
}
.banner + .titre .wrapper h1 {
  margin: 0;
}

@media (max-width: 1199px) {
  .banner.has-clip .image {
    height: 30vh;
  }
}
@media (max-width: 991px) {
  .banner.has-cta {
    padding-bottom: 6rem;
  }
  .banner.has-clip .image {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), 21.4285714286% calc(100% - 5rem), 21.4285714286% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), 21.4285714286% calc(100% - 5rem), 21.4285714286% 100%, 0 100%);
  }
  .banner + .titre .wrapper {
    height: 5rem;
    margin-top: -5rem;
  }
  .banner + .titre .wrapper.offre-emploi {
    height: auto;
    margin-top: -3rem;
  }
  .banner .cta {
    /*position: relative;*/
  }
}
/* FEATURED */
.featured {
  position: relative;
}
.featured.has-clip {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), 50% calc(100% - 5rem), 50% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), 50% calc(100% - 5rem), 50% 100%, 0 100%);
}
.featured.has-clip .wrapper {
  padding-bottom: calc(7.1428571429vw + 5rem);
}
.featured:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(52, 52, 52, 0.5);
}
.featured .wrapper {
  position: relative;
  padding: 7.1428571429vw;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured .wrapper .h5 {
  color: white;
}
.featured .wrapper .into-clip {
  position: absolute;
  bottom: 0;
  height: 5rem;
  display: flex;
  align-items: center;
}

@media (max-width: 991px) {
  .featured .wrapper .into-clip {
    position: relative;
    height: auto;
  }
}
/* RECRUTEMENT CONTINU */
.recrutement-continu .wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.recrutement-continu .image {
  z-index: 3;
  margin-top: -5rem;
  height: calc(100% + 5rem);
}

@media (max-width: 991px) {
  .recrutement-continu .image {
    margin-top: 0;
    height: 300px;
  }
}
/* PITCH */
.pitch {
  background: #f0f0f0;
  overflow: hidden;
}
.pitch h2 {
  margin: 0;
  text-indent: calc(14.2857142857% + 2.5vw);
  font-size: 8.2vw;
  line-height: 1.1;
  font-weight: 800;
  color: #D9001C;
  text-transform: uppercase;
  position: relative;
}

/* COMPETENCES */
.competences {
  position: relative;
  padding-bottom: 27rem;
}
.competences:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 40vw;
  height: 40vw;
  background: no-repeat bottom left/100% url(../images/buisard-cest.png);
}
.competences .wrapper {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 0 0 4rem;
}
.competences .wrapper .competence {
  position: relative;
  width: calc(50% - 0.5rem);
  background: white;
  padding: 2rem 2rem 2rem 5rem;
  box-shadow: 0 0 45px rgba(52, 52, 52, 0.1);
  font-size: 0.85rem;
  line-height: 1.5;
}
.competences .wrapper .competence.conception-cabine:before {
  background: no-repeat center/3.5rem url(../images/conception-cabine.svg);
}
.competences .wrapper .competence.mise-en-forme:before {
  background: no-repeat center/3.5rem url(../images/mise-en-forme.svg);
}
.competences .wrapper .competence.soudure:before {
  background: no-repeat center/3.5rem url(../images/soudure.svg);
}
.competences .wrapper .competence.peinture:before {
  background: no-repeat center/3.5rem url(../images/peinture.svg);
}
.competences .wrapper .competence.assemblage:before {
  background: no-repeat center/3.5rem url(../images/assemblage.svg);
}
.competences .wrapper .competence:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0.75rem;
  width: 3.5rem;
  height: 3.5rem;
}
.competences .wrapper .competence .titre {
  line-height: 1.3;
  margin: 0 0 0.5rem;
}

@media (min-width: 1921px) {
  .competences:before {
    background-size: 80%;
  }
}
@media (max-width: 1199px) {
  .competences {
    padding-bottom: 8rem;
  }
  .competences:before {
    content: none;
  }
  .competences .wrapper .competence {
    width: 100%;
  }
}
@media (max-width: 991px) {
  .competences .wrapper {
    margin-top: 2rem;
  }
}
/* SECTEURS */
.secteurs {
  color: white;
  margin-top: -10rem;
  padding-bottom: 20rem;
  background: #D9001C no-repeat center bottom/cover var(--image);
  transition: background 1s ease;
}
.secteurs ul {
  margin: 0;
}
.secteurs ul li {
  list-style: none;
  margin: 1rem 0 1.5rem;
  font-size: 3rem;
  font-weight: 700;
  color: rgba(52, 52, 52, 0.75);
  cursor: pointer;
  transition: color 0.5s ease;
}
.secteurs ul li.active, .secteurs ul li:hover {
  color: white;
}
.secteurs .h5 {
  color: white;
}
.secteurs .slider-secteurs .slide {
  width: 100%;
  height: 10rem;
  padding: 0 7.1428571429vw 0 0;
}
.secteurs .slider-secteurs .owl-dots {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
}
.secteurs .slider-secteurs .owl-dots button {
  width: 3px;
  height: 2rem;
  border-radius: 3px;
  background: #343434;
  margin: 0 0 0.5rem;
  transition: height 0.5s ease, background 0.5s ease;
}
.secteurs .slider-secteurs .owl-dots button.active {
  height: 5rem;
  background: white;
}
.secteurs .btn {
  background: #343434;
}
.secteurs .btn:hover {
  background: #A20015;
}

@media (min-width: 1921px) {
  .secteurs {
    background-size: 70%;
  }
}
@media (max-width: 1199px) {
  .secteurs ul li {
    font-size: 2.5rem;
  }
}
@media (max-width: 991px) {
  .secteurs ul li {
    font-size: 2rem;
  }
  .secteurs .slider-secteurs .slide {
    height: auto;
  }
  .secteurs .slider-secteurs .wrapper .cta {
    position: relative;
  }
}
/* CAROUSEL */
.carousel {
  margin-top: -4rem;
  background: #f0f0f0;
}
.carousel .owl-item {
  position: relative;
  width: 57.1428571429vw !important;
  aspect-ratio: 16/9;
}
.carousel .owl-item.active + .active:before {
  opacity: 1;
}
.carousel .owl-item:before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  background: rgba(255, 255, 255, 0.6);
  opacity: 0;
  transition: opacity 0.5s ease;
}
.carousel .owl-nav {
  position: absolute;
  z-index: 3;
  top: 0;
  right: 21.4285714286vw;
}
.carousel .owl-nav .owl-prev {
  display: none;
}
.carousel .owl-nav button.owl-next {
  width: 8rem;
  height: 8rem;
  background: #D9001C;
  -webkit-mask: no-repeat center/8rem auto url(../images/right.svg);
          mask: no-repeat center/8rem auto url(../images/right.svg);
  transition: background 0.5s ease;
}
.carousel .owl-nav button.owl-next:hover {
  background: #A20015;
}
.carousel .image {
  position: relative;
  z-index: 2;
}
.carousel .image img {
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 991px) {
  .carousel {
    margin-top: 4rem;
  }
  .carousel .owl-nav {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .carousel .owl-item {
    width: 85.7142857143vw !important;
    aspect-ratio: 1/1;
  }
  .carousel .image img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* CHIFFRES */
.chiffres-cles.has-bg {
  position: relative;
}
.chiffres-cles.has-bg:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 40vw;
  max-width: 60rem;
  height: 28vw;
  background: no-repeat bottom left/100% url(../images/nous-vous-offrons.png);
}
.chiffres-cles .chiffre-cle {
  font-size: 1.1rem;
  line-height: 1.3;
  padding: 0 2rem 0 0;
  margin: 0 0 3rem;
}
.chiffres-cles .chiffre-cle p {
  font-weight: 700;
  padding: 0 1rem;
}
.chiffres-cles .chiffre-cle .nombre {
  height: clamp(4rem, 6vw, 7rem);
  font-size: clamp(4rem, 6vw, 7rem);
  font-weight: 300;
  line-height: 1;
  border-bottom: solid 1px #d0d0d0;
  margin: 0 0 0.5rem;
  padding: 0 0.5rem;
}
.chiffres-cles .chiffre-cle .nombre.is-stroked {
  text-shadow: -1px -1px 0 #343434, 1px -1px 0 #343434, -1px 1px 0 #343434, 1px 1px 0 #343434;
  color: #f0f0f0;
}
.chiffres-cles .chiffre-cle .nombre.is-stroked.text-rouge {
  text-shadow: -1px -1px 0 #D9001C, 1px -1px 0 #D9001C, -1px 1px 0 #D9001C, 1px 1px 0 #D9001C;
}
.chiffres-cles .chiffre-cle .nombre small {
  font-size: 2.5vw;
  position: relative;
  left: 0.25rem;
}
.chiffres-cles .alignement {
  margin-top: 7rem;
  font-weight: 500;
}

@media (min-width: 1921px) {
  .chiffres-cles.has-bg:before {
    background-size: 80%;
  }
}
@media (max-width: 1199px) {
  .chiffres-cles .chiffre-cle {
    margin: 0 0 2rem;
  }
  .chiffres-cles .chiffre-cle .nombre small {
    font-size: 6vw;
    left: 0;
  }
  .chiffres-cles .alignement {
    margin-top: 0;
  }
}
@media (max-width: 991px) {
  .chiffres-cles.has-bg:before {
    content: none;
  }
  .chiffres-cles .wrapper {
    /*margin: 4rem 0 0;*/
  }
}
/* VALEURS */
.valeurs .wrapper {
  position: relative;
  z-index: 1;
  padding: 7.1428571429vw 7.1428571429vw;
  background: #D9001C;
  color: white;
}
.valeurs .wrapper h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  text-transform: none;
}
.valeurs .image {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.valeurs .image img {
  height: calc(100% - 7.1428571429vw);
  -o-object-fit: cover;
     object-fit: cover;
}

/* OFFRES */
.offres {
  display: flex;
  width: 100%;
  transition: transform 0.5s ease;
}
.offres.has-formations {
  width: 200%;
}
.offres.active {
  transform: translateX(-50%);
}
.offres .emplois, .offres .formations {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.offres .emplois .wrapper .offre {
  background: white;
}
.offres .emplois .acces {
  background: #D9001C;
}
.offres .emplois .acces:hover {
  background: #A20015;
}
.offres .emplois .acces span {
  color: white;
}
.offres .emplois .acces span:before {
  border-color: white;
}
.offres .formations {
  color: white;
  background: #D9001C;
}
.offres .formations .container-fluid, .offres .formations .row, .offres .formations [class*=col] {
  height: 100%;
}
.offres .formations .h5 {
  color: white;
}
.offres .formations .btn.fleche {
  color: white;
}
.offres .formations .btn.fleche span:before {
  border-left-color: white;
}
.offres .formations .acces {
  background: white;
}
.offres .formations .acces:hover span {
  color: #A20015;
}
.offres .formations .acces:hover span:before {
  border-color: #A20015;
}
.offres .formations .acces span {
  color: #D9001C;
}
.offres .formations .acces span:before {
  border-color: #D9001C;
}
.offres .wrapper {
  margin: 2rem 0 0;
}
.offres .wrapper .offre {
  margin: 0 0 4rem;
  position: relative;
}
.offres .wrapper .offre .description {
  padding: 1rem;
}
.offres .wrapper .offre .type {
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #D9001C;
  margin: 0 0 0.5rem;
}
.offres .acces {
  position: relative;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.5s ease;
}
.offres .acces span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size: 3rem;
  font-weight: 300;
  color: white;
  padding: 6rem 0 0 0;
  position: relative;
  transition: color 0.5s ease;
}
.offres .acces span:before {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 0.5rem);
  border: solid white;
  border-width: 0 2px 2px 0;
  padding: 1rem;
  transform: rotate(135deg);
  transition: border 0.5s ease;
  animation: fleche 1s ease alternate infinite;
}
@keyframes fleche {
  from {
    transform: rotate(135deg) scale(1);
    left: calc(50% - 1rem);
  }
  to {
    transform: rotate(135deg) scale(1.2);
    left: calc(50% + 0rem);
  }
}

@media (max-width: 991px) {
  .offres .formations .container-fluid, .offres .formations .row, .offres .formations [class*=col] {
    height: auto;
  }
  .offres .acces span {
    writing-mode: inherit;
    text-orientation: inherit;
    transform: rotate(0);
    font-size: 2rem;
    padding: 1rem 3rem 1rem 0;
  }
  .offres .acces span:before {
    top: 50%;
    right: 0;
    left: inherit;
    transform: translateY(-50%) rotate(-45deg);
    animation: none;
  }
}
/* METIERS */
.metiers {
  background: white;
  padding: 0 0 5rem;
}
.metiers .wrapper {
  position: relative;
  background: #f0f0f0;
  padding: 3.5714285714vw;
}
.metiers .wrapper h2 {
  margin: 0;
}
.metiers .slider-metiers {
  /*.owl-nav {
      position: absolute;
      top: 50%;
      transform: translateY(-50%) translateX(50%);
      right: calc(100vw / 14 - 1px);
      display: flex;
      flex-direction: column;

      span {
          display: none;
      }

      .owl-prev, .owl-next {
          width: 5rem;
          height: 5rem;
          background: $rouge;
          margin: 0 0 5rem;
          transition: background 0.5s ease;

          &:hover {
              background: $rougeFonce;
          }
      }

      .owl-prev {
          mask: no-repeat center / 5rem url(../images/top.svg);
      }

      .owl-next {
          mask: no-repeat center / 5rem url(../images/bottom.svg);
      }
  }*/
}
.metiers .slider-metiers .wrapper {
  padding: 7.1428571429vw 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.metiers .slider-metiers .wrapper .plus {
  width: 3rem;
  height: 3rem;
  position: absolute;
  bottom: 5rem;
  right: 0;
  background: #D9001C;
  -webkit-mask: no-repeat center/3rem url(../images/plus.svg);
          mask: no-repeat center/3rem url(../images/plus.svg);
  cursor: pointer;
}
.metiers .slider-metiers .wrapper .plus.active {
  -webkit-mask: no-repeat center/3rem url(../images/moins.svg);
          mask: no-repeat center/3rem url(../images/moins.svg);
}
.metiers .slider-metiers .wrapper .plus:hover {
  background: #A20015;
}
.metiers .slider-metiers .wrapper .suite {
  position: absolute;
  z-index: 1;
  bottom: 3.5714285714vw;
  transform: translateY(100%);
  color: #D9001C;
  background: white;
  padding: 1rem;
  margin: 0 -1rem;
  display: none;
}
.metiers .slider-metiers .wrapper .suite.active {
  display: block;
}
.metiers .slider-metiers .wrapper .cta {
  position: absolute;
  bottom: 0;
  right: 0;
}

@media (max-width: 991px) {
  .metiers .wrapper {
    padding: 7.1428571429vw;
  }
  .metiers .slider-metiers .wrapper .cta {
    position: relative;
    bottom: 0;
    right: 0;
  }
}
/* VENEZ */
.venez .wrapper {
  padding: 7.1428571429vw 0;
  position: relative;
}
.venez .wrapper .plus {
  width: 3rem;
  height: 3rem;
  position: absolute;
  bottom: 5rem;
  right: 0;
  background: #D9001C;
  -webkit-mask: no-repeat center/3rem url(../images/plus.svg);
          mask: no-repeat center/3rem url(../images/plus.svg);
  cursor: pointer;
}
.venez .wrapper .plus.active {
  -webkit-mask: no-repeat center/3rem url(../images/moins.svg);
          mask: no-repeat center/3rem url(../images/moins.svg);
}
.venez .wrapper .plus:hover {
  background: #A20015;
}
.venez .wrapper .suite {
  position: absolute;
  z-index: 1;
  bottom: 3.5714285714vw;
  transform: translateY(100%);
  color: #D9001C;
  background: white;
  padding: 1rem;
  margin: 0 -1rem;
  display: none;
}
.venez .wrapper .suite.active {
  display: block;
}

@media (max-width: 991px) {
  .venez .wrapper {
    padding: 0 0 10.7142857143vw;
  }
  .venez .wrapper .plus {
    bottom: 2rem;
  }
}
/* RAPPEL */
.rappel .wrapper {
  background: #D9001C;
  color: white;
  padding: 7.1428571429vw 0;
  position: relative;
  top: -5rem;
  height: calc(100% + 5rem);
}
.rappel .wrapper .btn {
  background: white;
  color: #343434;
}
.rappel .wrapper .btn:hover {
  background: #A20015;
  color: white;
}

/* CARRIERE */
.carriere {
  color: white;
  position: relative;
}
.carriere ul li {
  list-style: none;
  margin: 0 0 2rem;
  position: relative;
}
.carriere ul li:before {
  content: "";
  position: absolute;
  top: 0;
  left: -6rem;
  width: 5rem;
  height: 5rem;
  background: white;
}
.carriere ul li.formation-evolution:before {
  background: no-repeat center/5rem url(../images/formation-evolution.svg);
}
.carriere ul li.dynamisme:before {
  background: no-repeat center/5rem url(../images/dynamisme.svg);
}
.carriere ul li.savoir-faire:before {
  background: no-repeat center/5rem url(../images/savoir-faire.svg);
}
.carriere ul li.solidite:before {
  background: no-repeat center/5rem url(../images/solidite.svg);
}
.carriere ul li:last-child {
  margin: 0;
}
.carriere ul li strong {
  font-size: 1.2rem;
}
.carriere .rond-buisard {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 100%;
  border: dashed 1px #717171;
  text-align: center;
}
.carriere .rond-buisard:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: -50%;
  border-top: dashed 1px #343434;
  transform: rotate(45deg);
  transform-origin: 0;
}
.carriere .rond-buisard:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: -20%;
  border-top: dashed 1px #343434;
}
.carriere .rond-buisard div {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  margin-top: 2rem;
  transform: translate(-50%, -50%);
}
.carriere .rond-buisard div img {
  border-top: solid 1px #343434;
  padding-top: 0.5rem;
  margin: 0 0 1rem;
}

@media (max-width: 1199px) {
  .carriere .rond-buisard {
    margin: 4rem 0 0;
  }
}
@media (max-width: 991px) {
  .carriere ul li:before {
    content: none;
  }
  .carriere .rond-buisard div {
    left: 0%;
    transform: translate(0);
  }
  .carriere .rond-buisard div img {
    max-width: 70%;
  }
}
/* ANCRES */
.produits {
  padding: 0;
}
.produits .ancres {
  position: relative;
  background: #f0f0f0;
  margin: 0 0 2rem;
}
.produits .ancres ul {
  margin: 0;
  display: flex;
  border: solid 1px #343434;
}
.produits .ancres ul li {
  cursor: pointer;
  list-style: none;
  width: 33.3333333333%;
  height: 5rem;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  transition: background 0.5s ease, color 0.5s ease;
}
.produits .ancres ul li.active, .produits .ancres ul li:hover {
  background: #D9001C;
  color: white;
}
.produits .ancres ul li:nth-child(2) {
  border-left: solid 1px #343434;
  border-right: solid 1px #343434;
}
.produits .cabine {
  position: relative;
  display: none;
}
.produits .cabine.active {
  display: block;
}
.produits .cabine .point {
  position: absolute;
  z-index: 1;
  width: 2rem;
  height: 2rem;
  box-shadow: 0 0 3rem rgba(52, 52, 52, 0.2);
  cursor: pointer;
  transition: box-shadow 0.3s ease;
}
.produits .cabine .point:hover {
  box-shadow: 0 0 2rem rgba(255, 255, 255, 0.1);
}
.produits .cabine .point:hover:before, .produits .cabine .point:hover:after {
  transform: scale(1.5);
}
.produits .cabine .point:hover span {
  opacity: 1;
  transform: translateY(0);
}
.produits .cabine .point:before, .produits .cabine .point:after {
  content: "";
  position: absolute;
  border-radius: 100%;
  transition: transform 0.3s ease, inset 0.3s ease;
}
.produits .cabine .point:before {
  inset: 0;
  background: rgba(52, 52, 52, 0.5);
}
.produits .cabine .point:after {
  inset: 0.5rem;
  background: white;
}
.produits .cabine .point span {
  position: absolute;
  top: 3.5rem;
  left: 0rem;
  background: white;
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  opacity: 0;
  width: 10rem;
  box-shadow: 0 0 2rem rgba(255, 255, 255, 0.1);
  transform: translateY(1rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.produits .cabine .point span:before {
  content: "";
  position: absolute;
  top: -0.5rem;
  left: 0.5rem;
  border-right: 0.5rem solid transparent;
  border-bottom: 0.5rem solid white;
  border-left: 0.5rem solid transparent;
}
.produits .cabine .owl-nav {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 50%;
  left: 10%;
  right: 10%;
}
.produits .cabine .owl-nav .owl-prev, .produits .cabine .owl-nav .owl-next {
  border: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #D9001C;
  margin: 0 0 1rem;
  cursor: pointer;
  transition: background 0.5s ease;
}
.produits .cabine .owl-nav .owl-prev span, .produits .cabine .owl-nav .owl-next span {
  display: none;
}
.produits .cabine .owl-nav .owl-prev {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
}
.produits .cabine .owl-nav .owl-next {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
}

@media (max-width: 991px) {
  .produits .ancres ul {
    flex-direction: column;
  }
  .produits .ancres ul li {
    width: 100%;
  }
  .produits .ancres ul li:nth-child(2) {
    border: 0;
    border-top: solid 1px #343434;
    border-bottom: solid 1px #343434;
  }
}
/* GRILLE TEXTE / IMAGE */
.grille-texte-image .wrapper {
  padding: 7.1428571429vw;
}
.grille-texte-image .to-top {
  margin-top: -8rem;
}

@media (max-width: 991px) {
  .grille-texte-image .to-top {
    margin-top: 0;
  }
}
/* GRILLE VIDEOS / ACTUALITES */
.grille-actualites .actualite {
  position: relative;
  background: white;
  margin: 0 0 2rem;
}
.grille-actualites .actualite .wrapper {
  display: flex;
  align-items: center;
}
.grille-actualites .actualite .wrapper .image {
  width: 28.5714285714%;
  aspect-ratio: 1;
  margin: 0;
  background: no-repeat center/cover var(--image);
}
.grille-actualites .actualite .wrapper .image + div {
  width: 71.4285714286%;
  padding: 2rem;
}
.grille-actualites .video {
  position: relative;
  background: white;
  margin: 0 0 2rem;
  cursor: pointer;
}
.grille-actualites .video:hover .image:before {
  background: rgba(162, 0, 21, 0.2);
}
.grille-actualites .video:hover .image:after {
  transform: translate(-50%, -50%) scale(0.9);
}
.grille-actualites .video:hover .image img {
  transform: scale(1.1);
  filter: none;
}
.grille-actualites .video .wrapper .image {
  overflow: hidden;
}
.grille-actualites .video .wrapper .image:before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: rgba(217, 0, 28, 0.6);
  transition: background 0.5s ease;
}
.grille-actualites .video .wrapper .image:after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-top: 2rem solid transparent;
  border-bottom: 2rem solid transparent;
  border-left: 3rem solid white;
  transition: transform 0.5s ease;
}
.grille-actualites .video .wrapper .image img {
  -o-object-fit: cover;
     object-fit: cover;
  filter: saturate(0);
  transition: transform 0.5s ease, filter 0.5s ease;
}
.grille-actualites .video .wrapper .image + div {
  padding: 2rem;
}

@media (max-width: 767px) {
  .grille-actualites .actualite .wrapper {
    flex-direction: column;
    align-items: flex-start;
    height: auto;
  }
  .grille-actualites .actualite .wrapper .image {
    height: 15rem;
    width: 100%;
  }
  .grille-actualites .actualite .wrapper .image + div {
    width: 100%;
  }
}
/* LISTE DES VIDEOS EN SLIDER */
.liste-videos .video {
  background: white;
  padding: 1rem;
}
.liste-videos .video img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  aspect-ratio: 4/3;
  margin: 0 0 1rem;
}
.liste-videos .owl-nav {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: -6rem;
  left: 0%;
  right: 0%;
}
.liste-videos .owl-nav .owl-prev, .liste-videos .owl-nav .owl-next {
  border: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #D9001C !important;
  margin: 0 2rem 1rem;
  cursor: pointer;
  transition: background 0.5s ease;
}
.liste-videos .owl-nav .owl-prev span, .liste-videos .owl-nav .owl-next span {
  display: none;
}
.liste-videos .owl-nav .owl-prev:hover, .liste-videos .owl-nav .owl-next:hover {
  background: #343434 !important;
}
.liste-videos .owl-nav .owl-prev {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
}
.liste-videos .owl-nav .owl-next {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
}

/* FRISE HISTOIRE / ALLIANCE */
.frise {
  position: relative;
  overflow: hidden;
}
.frise > span {
  position: absolute;
  z-index: 1;
  top: 0;
  height: 0;
  left: 50%;
  transform: translate(-1px, -1px);
  width: 3px;
  background: #D9001C;
  border-radius: 3px;
}
.frise .annee {
  font-weight: 300;
  font-size: 6rem;
  text-shadow: -1px -1px 0 #343434, 1px -1px 0 #343434, -1px 1px 0 #343434, 1px 1px 0 #343434;
  color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.frise .evenement {
  padding: 3.5714285714vw 0;
  position: relative;
}
.frise .evenement:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  bottom: 0;
  border-right: solid 1px #343434;
}
.frise .evenement:after {
  content: "";
  position: absolute;
  top: calc(50% - 0.75rem);
  left: calc(50% - 0.75rem);
  width: 1.5rem;
  height: 1.5rem;
  background: #D9001C;
  border-radius: 1rem;
}
.frise .evenement:nth-child(odd) .wrapper:before {
  right: 0;
  left: calc(-7.1428571429vw + 2px); /* +2px pour la difference entre 100% et 100vw */
}
.frise .evenement:last-child {
  padding-bottom: 8rem;
}
.frise .evenement .wrapper {
  position: relative;
  padding: 3.5714285714vw 0;
}
.frise .evenement .wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: -7.1428571429vw;
  border-top: solid 1px #343434;
}
.frise .evenement .image {
  margin: 0 0 2rem;
}

@media (min-width: 1921px) {
  .frise .annee {
    font-size: 7rem;
  }
}
@media (max-width: 1199px) {
  .frise > span {
    left: 14.2857142857%;
  }
  .frise .annee {
    height: auto;
    justify-content: flex-start;
    padding: 0 7.1428571429vw;
  }
  .frise .evenement {
    padding: 3.5714285714vw 0 4rem;
  }
  .frise .evenement:before {
    left: 14.2857142857%;
  }
  .frise .evenement:after {
    left: calc(14.2857142857% - 0.75rem);
  }
  .frise .evenement:nth-child(odd) .wrapper:before {
    right: 0;
    left: 0;
  }
  .frise .evenement .wrapper {
    padding: 3.5714285714vw 7.1428571429vw;
  }
  .frise .evenement .wrapper:before {
    left: 0;
    right: 0;
  }
}
@media (max-width: 991px) {
  .frise .annee {
    font-size: 4rem;
  }
}
/* PAGINATION */
.pagination ul {
  margin: 0;
  display: flex;
  justify-content: center;
}
.pagination ul li {
  list-style: none;
  margin: 0 0.5rem;
}
.pagination ul li.active a {
  color: #D9001C;
  font-weight: 700;
}
.pagination ul li a {
  font-size: 1.1rem;
  color: #343434;
  text-decoration: none;
}
.pagination ul li a:hover {
  color: #A20015;
}

/* DAMIER */
.damier .wrapper {
  background: white;
  padding: 7.1428571429vw 3.5714285714vw;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

@media (min-width: 1921px) {
  .damier .wrapper {
    padding: 3.5714285714vw;
  }
}
/* SCROLL DOWN */
.scroll-down {
  position: absolute;
  z-index: 4;
  top: 80vh;
  right: 7.1428571429vw;
  background: #D9001C;
  width: 5rem;
  height: 5rem;
  border-radius: 5rem;
  cursor: pointer;
  transition: background 0.5s ease;
}
.scroll-down:hover {
  background: #A20015;
}
.scroll-down:before {
  content: "";
  position: absolute;
  inset: 0;
  background: no-repeat center/2.5rem url(../images/scroll-down.svg);
  transform: translateY(-5px);
  animation: scroll-down 1s linear alternate infinite;
}

@keyframes scroll-down {
  from {
    transform: translateY(-5px);
  }
  to {
    transform: translateY(5px);
  }
}
@media (max-width: 1199px) {
  .scroll-down {
    display: none;
  }
}
/* SCROLL UP */
.scroll-up {
  position: fixed;
  z-index: 4;
  bottom: 0;
  right: 0;
  background: #D9001C;
  width: 6rem;
  height: 7rem;
  padding: 1rem;
  opacity: 0;
  display: flex;
  justify-content: center;
  text-align: center;
  align-items: flex-end;
  font-family: "Oswald", sans-serif;
  color: white;
  line-height: 1.2;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.5s ease, background 0.5s ease;
}
.scroll-up.active {
  opacity: 1;
}
.scroll-up:hover {
  background: #A20015;
}
.scroll-up:before {
  content: "";
  position: absolute;
  inset: 0;
  transform: rotate(180deg);
  background: no-repeat 50% calc(100% - 1rem)/1.5rem url(../images/scroll-down.svg);
}

@media (max-width: 991px) {
  .scroll-up {
    display: none;
  }
}
/* GALERIE */
.galerie {
  position: relative;
}
.galerie .navigation {
  position: absolute;
  z-index: 2;
  top: 3.5714285714vw;
  right: 3.5714285714vw;
  color: white;
  display: flex;
  flex-direction: column;
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-weight: 300;
  font-size: 1.8rem;
}
.galerie .navigation strong {
  color: white;
  font-weight: 300;
}
.galerie .navigation span {
  color: #717171;
  border-top: solid 1px #717171;
  display: block;
  margin: 0 0 2rem;
}
.galerie .navigation .nav {
  display: flex;
  flex-direction: column;
}
.galerie .navigation .nav .owl-prev, .galerie .navigation .nav .owl-next {
  border: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: white;
  margin: 0 0 1rem;
  cursor: pointer;
  transition: background 0.5s ease;
}
.galerie .navigation .nav .owl-prev.disabled, .galerie .navigation .nav .owl-next.disabled {
  background: #717171;
}
.galerie .navigation .nav .owl-prev:not(.disabled):hover, .galerie .navigation .nav .owl-next:not(.disabled):hover {
  background: #A20015;
}
.galerie .navigation .nav .owl-prev span, .galerie .navigation .nav .owl-next span {
  display: none;
}
.galerie .navigation .nav .owl-prev {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-left.svg);
}
.galerie .navigation .nav .owl-next {
  -webkit-mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
          mask: no-repeat center/2.5rem url(../images/galerie-right.svg);
}

@media (max-width: 767px) {
  .galerie .image img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* PROJETS */
.projets .wrapper {
  margin-top: 4rem;
}
.projets .projet {
  background: no-repeat center/cover var(--image);
  padding: 7.1428571429vw;
  position: relative;
  overflow: hidden;
  transition: background 0.5s ease, color 0.5s ease;
  cursor: pointer;
}
.projets .projet:hover {
  background: no-repeat center/cover var(--image);
  color: white;
  cursor: pointer;
}
.projets .projet:hover:before {
  opacity: 0;
  transform: translateY(-100%);
}
.projets .projet:hover:after {
  opacity: 1;
}
.projets .projet:hover h3 strong {
  color: white;
}
.projets .projet:hover .over {
  opacity: 1;
  transform: translateY(0);
}
.projets .projet:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--couleur-fond);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.projets .projet:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(52, 52, 52, 0.3);
  opacity: 0;
  transition: opacity 0.5s ease;
}
.projets .projet > div {
  position: relative;
  z-index: 1;
}
.projets .projet h3 strong {
  font-size: 3rem;
  transition: color 0.5s ease;
}
.projets .projet .accroche {
  font-size: 1.2rem;
  margin: 6rem 0 6rem;
}
.projets .projet .over {
  position: relative;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* METIERS & FORMATION */
.metiers-formation {
  color: white;
}
.metiers-formation h2 {
  font-size: 5rem;
  font-weight: 200;
  line-height: 1;
  text-align: right;
  position: relative;
  height: 100%;
  margin: 0;
  padding: 0 4rem 0 0;
}
.metiers-formation h2 span {
  display: inline-block;
  position: absolute;
  z-index: 1;
  background: #D9001C;
  padding: 0.5rem 0;
  right: -1.5rem;
}
.metiers-formation .separation {
  font-size: 5rem;
  line-height: 1;
  font-weight: 200;
  text-align: center;
  margin: 1.5rem 0;
}
.metiers-formation .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
}
.metiers-formation .wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  border-left: solid 1px rgba(255, 255, 255, 0.8);
}
.metiers-formation .wrapper p {
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 0 0 0 4rem;
}

@media (max-width: 1199px) {
  .metiers-formation h2 {
    font-size: 4rem;
  }
  .metiers-formation .separation {
    font-size: 4rem;
    line-height: 1;
    font-weight: 200;
    text-align: center;
    margin: 1.5rem 0;
  }
  .metiers-formation .wrapper p {
    font-size: 1.2rem;
  }
}
@media (max-width: 991px) {
  .metiers-formation h2 {
    text-align: left;
    padding: 0;
    margin: 0 0 1.5rem;
    font-size: 3rem;
  }
  .metiers-formation h2:before {
    content: none;
  }
  .metiers-formation .separation {
    font-size: 3rem;
  }
  .metiers-formation .wrapper p {
    font-size: 1rem;
    padding: 0;
  }
}
/* REPORTAGE */
.reportage {
  position: relative;
}
.reportage:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 42.8571428571%;
  background: white;
}
.reportage h2 {
  position: relative;
  z-index: 2;
  padding: 2rem 0;
  margin: 0;
}

@media (max-width: 767px) {
  .reportage:before {
    width: 85.7142857143%;
  }
}
/* POPIN */
.popin-back {
  position: fixed;
  z-index: 9;
  inset: 0;
  background: rgba(255, 255, 255, 0.9);
  display: none;
}
.popin-back.active {
  display: block;
}

.popin {
  position: fixed;
  z-index: 9;
  top: 50%;
  left: 50%;
  width: 96%;
  transform: translate(-50%, -50%);
  max-width: 1200px;
  background: white;
  padding: 1rem;
  box-shadow: 0 0 45px rgba(52, 52, 52, 0.15);
  display: none;
}
.popin.active {
  display: block;
}
.popin iframe, .popin img {
  width: 100%;
  aspect-ratio: 16/9;
}
.popin p {
  margin: 0.5rem 0 0;
  font-weight: 700;
}
.popin .close {
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  width: 3rem;
  height: 3rem;
  border-radius: 3rem;
  background: red;
  font-family: "Montserrat", sans-serif;
  font-weight: 200;
  font-size: 3rem;
  line-height: 3rem;
  color: white;
  text-align: center;
  cursor: pointer;
}
.popin .close:hover {
  background: #A20015;
}

@media (max-width: 991px) {
  .popin .close {
    top: -4rem;
    right: 0;
  }
}
/* BUREAU D'ETUDE */
.bureau .wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 7.1428571429vw 7.1428571429vw 7.1428571429vw 14.2857142857vw;
}
.bureau .image {
  mix-blend-mode: luminosity;
}

@media (max-width: 991px) {
  .bureau .wrapper {
    padding: 7.1428571429vw;
  }
}
/* PARTENAIRES */
.partenaires .logos {
  display: flex;
  flex-wrap: wrap;
  height: 100%;
  align-items: center;
  justify-content: space-between;
}
.partenaires .logos div {
  width: 20%;
  margin: 0 0 2rem;
  text-align: center;
}
.partenaires .logos div img {
  max-width: 100%;
  max-height: 5rem;
}

@media (max-width: 1199px) {
  .partenaires .logos {
    flex-wrap: wrap;
  }
  .partenaires .logos div img {
    max-width: 50%;
  }
}
@media (max-width: 991px) {
  .partenaires .logos {
    margin: 2rem 0 0;
  }
  .partenaires .logos div {
    width: 50%;
  }
  .partenaires .logos div img {
    max-width: 60%;
  }
}
/* DETAIL ACTUALITE */
.detail-actualite figure {
  width: 100%;
  height: auto;
  margin: 0 0 4rem;
}
.detail-actualite img {
  width: 100%;
  height: auto;
  display: block;
}
.detail-actualite ul {
  margin: 0 0 2rem 2rem;
}
.detail-actualite .wp-block-columns {
  margin: 0 0 2rem;
  gap: 2rem;
}

/* CERTIFICATIONS */
.certifications .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.certifications .wrapper img {
  max-width: 10rem;
  margin: 0 2rem;
}

@media (max-width: 767px) {
  .certifications .wrapper img {
    max-width: 10rem;
    margin: 0 0 2rem;
  }
}/*# sourceMappingURL=styles.css.map */