.title-section {
  position: relative;
  margin: 0 0 2rem 0;
  padding: 1rem;
  color: white;
  max-width: 80vw;
  min-width: 40%;
}

.title-section h2 {
  margin-bottom: 0.5rem;
  font-size: 2.5rem;
  line-height: 1.15em;
  hyphens: auto;
  -webkit-hyphens: auto;
}

.title-section.petrole {
  background-color: #365664;
}
.title-section.petrole::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% - 1rem);
  height: 100%;
  left: 0;
  top: 1rem;
  background-color: #f8cac8;
}

.title-section.peche {
  background-color: #f09992;
}

.title-section.peche::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% - 1rem);
  height: 100%;
  left: 0;
  top: 1rem;
  background-color: #b6d8ee;
}
/*****/

.title-section.left-left {
  left: -1rem; /* difference avec le margin global*/
  max-width: 80vw;
}
.title-section.left-left h2 {
  text-align: right;
  padding: 0 1.5rem 0 1rem;
}

.title-section.left-center {
  left: -1rem; /* difference avec le margin global*/
  max-width: 100vw;
  padding-left: 1.5rem;
  margin-right: -1rem;
}
.title-section.left-center h2 {
  text-align: center;
}

/*****/

.title-section.right-right {
  right: -1rem; /* difference avec le margin global*/
  margin-left: auto;
  margin-right: 0;
  max-width: 80vw;
}
.title-section.right-right::after {
  left: inherit;
  right: 0;
}

.title-section.right-right h2 {
  text-align: left;
  padding: 0 1rem 0 1.5rem;
}

.title-section.right-center {
  right: -1rem; /* difference avec le margin global*/
  max-width: 100vw;
  padding-right: 1.5rem;
  margin-left: -1rem;
}
.title-section.right-center::after {
  left: inherit;
  right: 0;
}

.title-section.right-center h2 {
  text-align: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .title-section.left-left {
    left: -3rem;
    max-width: 65vw;
  }
  .title-section.left-left h2 {
    padding: 0 1.5rem 0 2rem;
  }

  .title-section.left-center {
    left: -3rem;
    padding-left: 3.5rem;
    margin-right: -3rem;
  }

  .title-section.right-right {
    right: -3rem; /* difference avec le margin global*/
    margin-left: auto;
    margin-right: 0;

    max-width: 65vw;
  }
  .title-section.right-right h2 {
    padding: 0 2rem 0 1.5rem;
  }

  .title-section.right-center {
    right: -1rem;
    padding-right: 3.5rem;
    margin-right: -2rem;
  }
}

@media (min-width: 1024px) {
  .title-section.left-left {
    left: -10vw;
    max-width: 45vw;
  }
  .title-section.left-left h2 {
    padding: 0 1.5rem 0 8vw;
  }

  .title-section.left-center {
    left: -10vw;
    padding-left: 5vw;
    margin-right: -2.5vw;
  }

  .title-section.left-center h2 {
    padding: 0 1.5rem 0 10vw;
  }

  .title-section.right-right {
    right: -10vw; /* difference avec le margin global*/
    margin-left: auto;
    margin-right: 0;
    max-width: 45vw;
  }
  .title-section.right-center {
    margin-right: 0;
    padding-right: 22.5vw;
    right: -10vw;
  }

  .title-section.right-right h2 {
    padding: 0 10vw 0 1.5rem;
  }
}
