.cms_bloc_GP-Mosaique {
  margin: -.5rem; }
  .cms_bloc_GP-Mosaique .gp-container.gp-mosaique {
    width: 100% !important; }
    .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page {
      width: 100% !important; }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure {
        margin: .5rem;
        padding: 0;
        display: inline-block;
        vertical-align: top; }
        .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure > img {
          display: block;
          overflow: hidden;
          position: relative;
          width: 100%; }
        .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a {
          display: block;
          position: relative;
          overflow: hidden; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a img {
            display: block;
            width: 100%; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a::before, .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a::after {
            content: '';
            display: block;
            opacity: 0;
            position: absolute;
            transition: opacity .2s linear; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a::before {
            box-shadow: 0 0 10rem 2rem rgba(0, 0, 0, 0.6), 0 0 0 50rem rgba(0, 0, 0, 0.6);
            top: calc(50% - 1.7rem);
            left: calc(50% - 1.7rem);
            width: 3.4rem;
            height: 3.4rem;
            border-radius: 100%;
            border: 0.4rem solid white;
            background: rgba(0, 0, 0, 0.6); }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a::after {
            -webkit-transform: translateY(1.7rem) translateX(1.7rem) rotate(-45deg);
                -ms-transform: translateY(1.7rem) translateX(1.7rem) rotate(-45deg);
                    transform: translateY(1.7rem) translateX(1.7rem) rotate(-45deg);
            width: .4rem;
            height: 2rem;
            background: white;
            top: calc(50% - 1rem);
            left: calc(50% - .2rem);
            border-radius: .2rem; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a:hover::after, .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure a:hover::before {
            opacity: 1; }
        .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure figcaption {
          margin: 0;
          padding: .2rem 0;
          line-height: 1.25;
          text-align: center; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure figcaption.hidden {
            display: none; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure figcaption p.title {
            font-size: 1.3rem;
            font-weight: bold; }
          .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page figure figcaption p.description {
            font-size: 1.1rem;
            font-weight: normal; }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col7 figure {
        width: calc(14.29% - 1rem); }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col6 figure {
        width: calc(16.67% - 1rem); }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col5 figure {
        width: calc(20% - 1rem); }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col4 figure {
        width: calc(25% - 1rem); }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col3 figure {
        width: calc(33.33% - 1rem); }
      .cms_bloc_GP-Mosaique .gp-container.gp-mosaique .gp-mosaique-page.col2 figure {
        width: calc(50% - 1rem); }