html body {
  .tac_activate {
    padding: 10px;
    font-weight: bold;

    .tac_float .tarteaucitronAllow {
      background-color: var(--success);
      color: var(--neutral-5);
      margin-left: 20px;
    }
  }

  #tarteaucitronRoot {
    #tarteaucitronSave {
      padding-right: 0 !important;

      button {
        background-color: var(--primary);
        color: var(--neutral-5);
        width: 125px;
        border: 1px solid var(--neutral-5);
        font-size: 0.875rem !important;
        border-radius: 0;
        padding: 10px;
        font-weight: 500;
      }
    }
    #tarteaucitronPercentage {
      display: none !important;
    }

    div#tarteaucitronAlertBig {
      width: 500px;
      max-width: calc(100% - 4vw);
      box-sizing: border-box;
      padding: 16px;
      right: 2vw;
      bottom: 2vw;
      left: auto;
      border: 1px solid var(--neutral-4);
      border-radius: 4px;
      background-color: var(--neutral-5);
      box-shadow: 0 0 9px 0 transparentize(var(--neutral-1), 0.5) !important;
      transform: none;
      top: auto;
      max-height: calc(85vh - (16px * 2));
      overflow: auto;

      @include mq.below(sm) {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
      }

      @include mq.below(xs) {
        left: 2vw;
        width: auto;
      }

      &:before {
        font-size: 1rem;
        font-weight: bold;
        text-transform: uppercase;
      }

      &,
      #tarteaucitronPrivacyUrl,
      #tarteaucitronPrivacyUrlDialog,
      #tarteaucitronDisclaimerAlert,
      #tarteaucitronDisclaimerAlert strong {
        color: var(--neutral-1);
      }

      span#tarteaucitronDisclaimerAlert {
        font-size: 0.875rem;
        line-height: 1.5;
        font-weight: 300;
        padding: 0;
        margin: 0 0 25px;
        display: block;

        a {
          color: var(--neutral-1);
          text-decoration: underline;
        }
      }

      button + button,
      br + button {
        margin-top: 10px;
      }

      button {
        border: 1px solid var(--neutral-4);
        text-transform: uppercase;
        font-size: 0.875rem !important;
        padding: 10px;
        display: block;
        width: calc(100% - 25px);
        margin-left: 0;
        color: var(--neutral-5);
        background-color: var(--primary);
        border: 1px solid var(--neutral-4);
        transition:
          background-color 0.3s,
          color 0.3s;
        font-weight: 600;

        span {
          &:before {
            color: var(--neutral-5);
          }
        }

        &:hover {
          color: var(--neutral-5);
          background-color: var(--primary);

          span {
            &:before {
              color: var(--neutral-5);
            }
          }
        }

        &.tarteaucitronAllow {
          &:hover {
            color: var(--neutral-5);
            background-color: var(--success);
          }
        }

        &.tarteaucitronDeny {
          &:hover {
            background-color: var(--error);
            color: var(--neutral-5);
            font-weight: 700;
          }
        }

        &#tarteaucitronCloseAlert {
          background-color: var(--neutral-5);
          color: var(--neutral-1);
        }
      }

      br {
        display: none;
      }
    }

    .tarteaucitronH1,
    .tarteaucitronH2 {
      color: var(--neutral-1);
      font-size: 1rem !important;
      font-weight: bold;
      margin: 0;
    }

    .tarteaucitronH1 {
      text-transform: uppercase;
      margin-right: auto;
    }

    .tarteaucitronH3 {
      font-size: 1rem !important;
      font-weight: 400;
    }

    #tarteaucitron {
      max-width: 680px;

      @include mq.below(md) {
        margin: auto !important;
      }

      @include mq.below(sm) {
        width: 90vw !important;
        background: none;
      }

      a {
        text-decoration: underline;
      }

      #tarteaucitronServicesTitle_mandatory {
        .tarteaucitronName {
          width: 100% !important;
          max-width: 100% !important;
          margin: 0 !important;

          .tarteaucitronH3 {
            background: none;
            color: var(--neutral-1);
            line-height: 1.4;
            font-size: 1rem !important;
            font-weight: 400 !important;
            position: static;
            max-width: none;
            display: block !important;

            a {
              text-decoration: underline;
              font-size: 0.875rem;
            }
          }
        }

        button {
          display: none;
        }
      }

      #tarteaucitronClosePanel {
        background: transparent;
        color: var(--neutral-1);
        top: 34px;
        right: 22px;
        width: auto;
        padding-right: 30px;
        font-weight: 300;
        font-size: 0.875rem;
        height: 20px;
        outline: none;
        z-index: 2;

        &:before,
        &:after {
          content: '';
          width: 18px;
          height: 20px;
          border-left: 1px solid var(--neutral-1);
          display: block;
          margin-left: 5px;
          position: absolute;
          right: 0;
        }

        &:before {
          transform: rotate(-45deg);
          top: -1px;
        }

        &:after {
          transform: rotate(45deg);
          top: 11px;
        }

        &:hover {
          color: var(--neutral-1);

          &:before,
          &:after {
            border-color: var(--neutral-1);
          }
        }
      }

      #tarteaucitronServices {
        border-radius: 6px;
        background-color: var(--neutral-5);
        box-shadow: 0 0 14px 0 var(--neutral-1);
        padding: 16px;
        height: auto !important;
        max-height: calc(85vh - 32px);
        overflow: auto;

        .tarteaucitronLine {
          padding: 0;
          border: 0;
          display: flex;
          justify-content: space-between;

          @include mq.below(xs) {
            flex-wrap: wrap;
          }

          &,
          &:hover {
            background: none;
          }

          &.tarteaucitronMainLine {
            background: none;
            border: none;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;

            @include mq.below(sm) {
              .tarteaucitronName {
                flex-basis: 100%;
                text-align: center;
              }

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

          &.tarteaucitronIsAllowed {
            border: none;
            background: none;
          }

          .tarteaucitronName {
            margin-left: 16px;
            width: auto;
            max-width: 280px;
            min-width: 280px;
            text-align: left;

            .tarteaucitronListCookies {
              display: none;
            }

            & > * {
              line-height: 1.4 !important;
            }
          }

          .tarteaucitronAsk {
            margin: 0 0 auto auto !important;
            float: none;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;

            @include mq.below(xs) {
              flex-basis: 100%;
              margin-left: 0 !important;
            }

            button {
              width: 125px;
              border: 1px solid var(--neutral-5);
              font-size: 0.875rem !important;
              padding: 10px;
              border-radius: 0;
              opacity: 1 !important;
              background-color: var(--primary);
              color: var(--neutral-5);
              transition:
                background-color 0.3s,
                color 0.3s;
              font-weight: 600;

              span {
                &:before {
                  display: none;
                }
              }

              &:hover {
                background-color: var(--success);
                color: var(--neutral-1);

                span {
                  &:before {
                    color: var(--neutral-1);
                    display: none;
                  }
                }
              }

              &.tarteaucitronDeny {
                &:hover {
                  background-color: var(--error);
                }
              }
            }

            p {
              margin-left: 17px;
            }

            a {
              font-size: 0.875rem;
            }
          }

          &.tarteaucitronIsAllowed {
            button.tarteaucitronAllow {
              background-color: var(--success);
              color: var(--neutral-1);

              span {
                &:before {
                  color: var(--neutral-1);
                  display: none;
                }
              }
            }
          }

          &.tarteaucitronIsDenied {
            button.tarteaucitronDeny {
              background-color: var(--error);
              color: var(--neutral-1);

              span {
                &:before {
                  color: var(--neutral-1);
                }
              }
            }
          }
        }

        .tarteaucitronBorder {
          border: none;

          &,
          .tarteaucitronSelfLink,
          .tarteaucitronHidden {
            background: none;
          }

          .tarteaucitronName {
            margin-right: 10px;
          }

          .tarteaucitronTitle {
            margin-bottom: 10px;

            button {
              background: none;
              color: var(--neutral-1);
              padding: 0;
              margin: 0;
              outline: 0;
              cursor: pointer;
              display: inline-block;

              .tarteaucitronPlus {
                display: none;
              }
            }
          }

          .tarteaucitronSelfLink {
            text-transform: none;
            color: var(--neutral-1);
            font-size: 0.875rem;
            line-height: 1.4;
            text-align: left !important;
            font-weight: 600;
            padding: 0 !important;
            text-indent: -18px;
            overflow: hidden;
            margin-top: 10px;
            pointer-events: none;
            position: inherit;
            display: none;
          }

          > ul > li {
            margin-top: 21px;
          }

          .tarteaucitronDetails {
            background: none;
            color: var(--neutral-1);
            line-height: 1.4;
            padding: 0 0 25px;
            height: 100%;
            font-size: 1rem;
            font-weight: 400;
            position: static;
            max-width: none;
            display: block !important;

            a {
              text-decoration: underline;
              font-size: 0.875rem;
            }
          }
        }
      }
    }

    button#tarteaucitronBack {
      opacity: 0.2;
    }

    #tarteaucitronInfo {
      margin: 25px 0 !important;
      padding: 0 !important;
      max-width: none !important;
      background: none;
      border: 0;
      color: var(--neutral-1);
      font-size: 1rem !important;
      font-weight: 300;
      line-height: 1.4;
      text-align: left !important;

      a {
        color: var(--neutral-1);
        text-decoration: underline;
        font-size: 0.875rem;
      }
    }

    * {
      font-family: var(--font-primary) !important;
    }
  }

  &:not(.modal-open) {
    #tarteaucitronRoot.tarteaucitronBeforeVisible:before {
      display: none;
    }
  }

  &.modal-open {
    #tarteaucitronRoot {
      div#tarteaucitronAlertBig {
        display: none !important;
      }
    }
  }

  #hiddenanalyticsLine {
    display: none !important;
  }
}
