:root {
  --text-color: var(--zinc-950);
  --background-color: var(--cream-100);

  --nav-text-color: var(--zinc-800);
  --nav-background-color: var(--cream-400);
  --nav-text-color-hover: var(--zinc-100);
  --nav-background-color-hover: var(--cream-700);
}

#revenir-a-soi {
  color: var(--text-color);
  background-color: var(--zinc-900);

  h1 {
    text-align: left;
    margin: 0 auto;
    padding: var(--gap) 0;
  }

  section {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;

    padding: var(--gap);
    min-height: calc(100vh - 80px);

    padding: var(--gap-x2) var(--gap);

    article {
      display: flex;
      flex-direction: column;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: center;
    }

    .icon-button {
      width: 50px !important;
      height: 50px !important;
      padding: 7px;
      margin: var(--gap-x2) 0 0 0;
      user-select: none;
      cursor: pointer;
      color: var(--zinc-900);
      text-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
      position: absolute;
      bottom: 0;
    }

    .icon-button:hover {
      color: var(--zinc-950);
      text-shadow: 0 0 3px rgba(255, 255, 255, 0.5);
    }

    .mdi-36px {
      font-size: 36px;
      height: 36px;
      line-height: 36px;
      vertical-align: middle;
    }
  }

  h2 {
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--darker-50);
  }

  h2:before {
    content: "■ ";
  }

  p,
  li {
    font-family: var(--font-family-serif);
    font-size: var(--font-size-serif);
  }

  .card-text {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: center;
    gap: var(--gap);
  }

  .card-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    mask-size: contain;
    mask-position: right;
    mask-repeat: no-repeat;
    border-radius: 4px;
  }

  .bg-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    filter: brightness(0.5);
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
  }

  .mdi-36px {
    font-size: 36px;
    height: 36px;
    line-height: 36px;
    vertical-align: middle;
  }

  .button2 {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
    border: 1px solid var(--darker-25);
    background-color: white;
    color: var(--zinc-900);
    width: fit-content;
  }

  .button2:hover {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
    border: 1px solid var(--darker-50);
    background-color: var(--cream-200);
  }
}

/* === #service-card01 ======================================================= */

#service-card01 {
  background-color: var(--cream-050);

  article {
    flex: 1 1;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    align-content: center;
    gap: var(--gap);

    content {
      flex: 1 1;
      display: flex;
      flex-wrap: wrap;
      gap: var(--gap);
      flex-direction: row !important;
      align-items: stretch !important;

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

      .card-text {
        flex: 3 1;
        padding: var(--gap) 0 0 0;
      }

      .card-image {
        flex: 2 1;
        background-image: url("/pages/services/revenir-a-soi/card01.webp");
        align-items: center;
        aspect-ratio: 4/3;
      }
    }
  }
}

/* === #service-card02 ======================================================== */

#service-card02 {
  background-color: var(--cream-100);

  content {
    position: relative;
    margin-bottom: var(--gap);

    .card-image {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 40%;
      aspect-ratio: 1;
      background-image: url("/pages/services/revenir-a-soi/card02.webp");
      mask-image: none;
      align-items: center;
    }

    .card-text {
      margin-left: 40%;
      padding-left: var(--gap);
    }
  }
}

/* === #service-card03 ======================================================== */

#service-card03 {
  background-color: var(--cream-100);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap);

    content {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: center;
      gap: var(--gap-x2);

      > div {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: var(--gap);

        flex: 1 1 260px;
        text-align: left;

        * {
          text-align: left;
        }
      }
    }
  }
}

/* === #service-card04 ======================================================== */

#service-card04 {
  background-color: var(--cream-200);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;

    content {
      position: relative;

      width: 100%;
      min-height: 600px;
      padding: var(--gap);
      gap: var(--gap);

      align-items: center !important;

      > div > p {
        font-family: var(--font-family-serif);
        font-size: 120% !important;
      }

      .I {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-content: center;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        margin: var(--gap);

        .I-content {
          position: relative;
          width: 300px;
          height: 300px;
          padding: var(--gap);
          margin: auto;
          background-image: url(/images/cycle-4-arrows-white.svg);
          background-position: center center;
          background-size: contain;
          background-repeat: no-repeat;
          display: grid;
          grid-template-columns: 1fr 1fr;
          grid-template-rows: 1fr 1fr;
          align-items: center;
          justify-content: center;
          align-content: center;
          justify-items: center;
          gap: 50px;
        }
      }

      .A,
      .B,
      .C,
      .D {
        display: flex;
        flex-direction: row;
        gap: var(--gap);
        justify-content: center;
        text-align: left;
        align-items: flex-start;
        width: 100%;
      }

      .A > div:nth-child(1),
      .B > div:nth-child(1),
      .C > div:nth-child(1),
      .D > div:nth-child(1) {
        display: block;
      }

      .A > div:nth-child(2),
      .B > div:nth-child(2),
      .C > div:nth-child(2),
      .D > div:nth-child(2) {
        width: 100%;
      }
    }
  }
}

@media screen and (width < 925px) {
  #service-card04 {
    article {
      content {
        .A,
        .B,
        .C,
        .D {
          display: flex;
          flex-direction: row;
          gap: var(--gap);
          justify-content: center;
          text-align: left;
          align-items: flex-start;
          width: 100%;
        }

        .A > div:nth-child(1),
        .B > div:nth-child(1),
        .C > div:nth-child(1),
        .D > div:nth-child(1) {
          display: block;
        }

        .A > div:nth-child(2),
        .B > div:nth-child(2),
        .C > div:nth-child(2),
        .D > div:nth-child(2) {
          flex: 1 1;
        }
      }
    }
  }
}

@media screen and (width >= 925px) {
  #service-card04 {
    article {
      content {
        position: relative;

        width: 100%;
        min-height: 450px;
        padding: var(--gap);
        gap: var(--gap);

        align-items: center !important;

        .A,
        .B,
        .C,
        .D {
          position: absolute;
          width: calc(50% - 170px);
          height: 50%;
          display: flex;
          flex-direction: column;
          justify-content: center;
        }

        .A {
          top: 0;
          left: 0;
          text-align: right;
          align-items: flex-end;
        }

        .B {
          top: 0;
          right: 0;
          text-align: left;
          align-items: flex-start;
        }

        .C {
          bottom: 0;
          right: 0;
          text-align: left;
          align-items: flex-start;
        }

        .D {
          bottom: 0;
          left: 0;
          text-align: right;
          align-items: flex-end;
        }

        .A > div:nth-child(1),
        .B > div:nth-child(1),
        .C > div:nth-child(1),
        .D > div:nth-child(1) {
          display: none;
        }
      }
    }
  }
}

/* === #service-card05 ======================================================== */

#service-card05 {
  background-color: var(--cream-100);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  content {
    position: relative;
    max-width: 925px;

    .card-image {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
      width: 40%;
      aspect-ratio: 1;
      background-image: url("/pages/services/revenir-a-soi/card05.webp");
      mask-image: none;
      align-items: center;
    }

    .card-text {
      margin-right: 40%;
      padding-right: var(--gap);
    }
  }
}

/* === #service-card06 ======================================================== */

#service-card06 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  content {
    position: relative;
    max-width: 925px;

    .card-image {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 40%;
      aspect-ratio: 1;
      background-image: url("/pages/services/revenir-a-soi/card06.webp");
      mask-image: none;
      align-items: center;
    }

    .card-text {
      margin-left: 40%;
      padding-left: var(--gap);

      h2 {
        font-size: 300%;
        margin: 0;
        padding: 0;
      }
    }
  }
}

/* === #service-card07 ======================================================== */

#service-card07 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap);

    content {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: center;
      gap: var(--gap);

      > div {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: var(--gap);

        max-width: 295px;
        flex: 1 1 260px;
        text-align: left;

        div {
          width: 100%;
          aspect-ratio: 16/9;
          background-position: center;
          background-size: cover;
          background-repeat: no-repeat;
        }

        .image1 {
          background-image: url("/pages/services/revenir-a-soi/card07a.webp");
        }
        .image2 {
          background-image: url("/pages/services/revenir-a-soi/card07b.webp");
        }
        .image3 {
          background-image: url("/pages/services/revenir-a-soi/card07c.webp");
        }
        .image4 {
          background-image: url("/pages/services/revenir-a-soi/card07d.webp");
        }
      }
    }

    > p {
      max-width: 925px;
    }
  }
}

/* === #service-card08 ======================================================== */

#service-card08 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    content {
      position: relative;
      max-width: 925px;
      margin: var(--gap) 0;

      .card-image {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 40%;
        aspect-ratio: 1;
        background-image: url("/pages/services/revenir-a-soi/card08.webp");
        mask-image: none;
        align-items: center;
      }

      .card-text {
        margin-right: 40%;
        padding-right: var(--gap);
      }
    }

    > div {
      max-width: 925px;
    }
  }
}

/* === #service-card09 ======================================================== */

#service-card09 {
  background-color: var(--cream-100);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;
  min-height: calc((100vh - var(--nav-height)) / 2) !important;
  justify-content: flex-end !important;

  content {
    position: relative;
    max-width: 925px;

    .card-image {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 40%;
      aspect-ratio: 1;
      background-image: url("/pages/services/revenir-a-soi/card09.webp");
      mask-image: none;
      align-items: center;
    }

    .card-text {
      margin-left: 40%;
      padding-left: var(--gap);
    }
  }
}

/* === #service-card10 ======================================================== */

#service-card10 {
  background-color: var(--cream-100);
  color: var(--zinc-950);
  padding: 0 var(--gap) var(--gap-x2) var(--gap) !important;
  min-height: calc((100vh - var(--nav-height)) / 2) !important;
  justify-content: flex-start !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap);

    content {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: center;
      gap: 0;
      max-width: 925px;

      > div {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: var(--gap);

        flex: 1 1 240px;
        text-align: left;

        div:nth-child(1) {
          width: 100%;
          height: 60px;
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
        }

        div:nth-child(2) {
          padding: 0 20px 20px 20px;
          text-align: left;
        }

        p {
          font-family: var(--font-family-serif);
          font-size: 120% !important;
        }
      }
    }

    .bg-image {
      background-image: url("/pages/services/hypno-coaching/card10.jpg");
    }

    .arrow {
      position: relative;

      .front {
        position: absolute;
        top: 0;
        right: 0;
        width: 15px;
        height: 60px;
        background-image: url(/images/arrow-black-front.svg);
        background-size: initial;
        background-position: right center;
        background-repeat: no-repeat;
      }

      .middle {
        position: absolute;
        top: 0;
        left: 15px;
        right: 15px;
        height: 60px;
        padding: 0;
        background-image: url(/images/arrow-black-middle.svg);
        background-size: initial;
        background-position: center center;
        background-repeat: repeat-x;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--cream-100);
      }

      .back {
        position: absolute;
        top: 0;
        left: 0;
        width: 15px;
        height: 60px;
        background-image: url(/images/arrow-black-back.svg);
        background-size: initial;
        background-position: left center;
        background-repeat: no-repeat;
      }
    }
  }
}

/* === #service-card11 ======================================================== */

#service-card11 {
  background-color: var(--cream-050);
  color: var(--zinc-900);
  padding: var(--gap-x2) var(--gap) !important;

  content {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: var(--gap);

    > div {
      flex: 1 1 200px;
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      gap: var(--gap);
      border: none;

      .number {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 32px;
        width: 40px;
        max-width: 40px;
        height: 40px;
        font-weight: bold;
        background-color: var(--zinc-900);
        color: var(--zinc-100);
      }
    }
  }
}

/* === #service-card12 ======================================================== */

#service-card12 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  content {
    position: relative;
    max-width: 925px;

    .card-image {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
      width: 40%;
      aspect-ratio: 1;
      background-image: url("/pages/services/revenir-a-soi/card12.webp");
      mask-image: none;
      align-items: center;
    }

    .card-text {
      margin-right: 40%;
      padding-right: var(--gap);

      p:nth-child(1) {
        font-size: 300%;
        font-weight: bold;
      }

      p:nth-child(2) {
        font-size: 200%;
        font-weight: bold;
      }

      .buttons {
        text-align: left;
        justify-content: flex-start;
      }
    }
  }
}

/* === #service-card13 ======================================================== */

#service-card13 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap);

    content {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: flex-start;
      justify-content: center;
      gap: var(--gap-x2);
      max-width: 925px;

      > div {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: var(--gap);

        flex: 1 1 300px;
        text-align: left;

        * {
          text-align: left;
        }
      }
    }
  }
}

/* === #service-card14 ======================================================== */

#service-card14 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    content {
      position: relative;
      max-width: 925px;

      .card-image {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 40%;
        aspect-ratio: 1;
        background-image: url("/pages/services/revenir-a-soi/card14.webp");
        mask-image: none;
        align-items: center;
      }

      .card-text {
        margin-left: 40%;
        padding-left: var(--gap);
      }
    }

    .buttons {
      text-align: left;
      justify-content: flex-start;
      max-width: 925px;
    }
  }
}

/* === #service-card15 ======================================================== */

#service-card15 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--gap);

    content {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: center;
      gap: var(--gap);
      max-width: 925px;

      > div {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: space-between;
        flex: 1 1 300px;
        text-align: left;

        border-radius: 4px;
        background-color: rgba(0, 0, 0, 0.01);
        padding: var(--gap);
        box-shadow: var(--box-shadow-S);

        .button2 {
          width: 130px;
          max-height: 40px;
        }
      }
    }

    p {
      max-width: 925px;
    }
  }
}

/* === #service-card16 ======================================================== */

#service-card16 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    content {
      position: relative;
      max-width: 925px;

      .card-image {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 40%;
        aspect-ratio: 1;
        background-image: url("/pages/services/revenir-a-soi/card16.webp");
        mask-image: none;
        align-items: center;
      }

      .card-text {
        margin-left: 40%;
        padding-left: var(--gap);
      }
    }

    .buttons {
      text-align: left;
      justify-content: flex-start;
      max-width: 925px;
    }
  }
}

/* === #service-card17 ======================================================== */

#service-card17 {
  background-color: var(--cream-050);
  color: var(--zinc-950);
  padding: var(--gap-x2) var(--gap) !important;

  article {
    content {
      position: relative;
      max-width: 925px;

      .card-image {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 40%;
        aspect-ratio: 1;
        background-image: url("/pages/services/revenir-a-soi/card17.webp");
        mask-image: none;
        align-items: center;
      }

      .card-text {
        margin-right: 40%;
        padding-right: var(--gap);
      }
    }

    .buttons {
      text-align: left;
      justify-content: flex-start;
      max-width: 925px;
    }
  }
}
