#eu-klaro {
  .cookie-notice {
    background: $white;
  }

  .cookie-modal,
  .context-notice,
  .cookie-notice {
    z-index: 1050;

    p,
    strong,
    h1,
    h2,
    ul,
    li {
      color: $black;
    }

    h1 {
      font-size: 2.125rem;
      padding-right: 0;
    }

    a,
    .cm-link {
      color: $innovationblue;
    }

    .cm-btn {
      font-size: 0.875rem;
      text-transform: uppercase;
      font-weight: 600;
      padding: 0.625rem 1rem;
      line-height: 1;
      text-align: center;
      vertical-align: middle;
      border: 1px solid transparent;
      border-radius: $border-radius-small;

      &:focus {
        outline: auto;
      }

      &:hover {
        box-shadow: $boxshadow-light;
      }
    }

    .cn-decline {
      border-color: $blue;
      color: $blue;
      background: $white;
      margin-right: 1.375rem;
    }

    .cm-btn-success,
    .cm-btn-accept-all {
      color: $white;
      background: $darkgreen;
      border-color: $darkgreen;
      float: right;
      margin-right: 0;
    }

    .cm-btn-success.cm-btn-accept {
      background: $skyblue;
      border-color: $skyblue;
      color: $darkblue;
      float: none;
    }

    .cm-modal.cm-klaro {
      background: $white;
      color: $black;
    }

    .cm-header {
      padding: 0.75rem 1.5rem 1rem;
      border-bottom: 0;
    }

    .cm-header p,
    .cm-list-description {
      color: $mediumgrey;
    }

    .slider {
      box-shadow: none;
    }

    .cm-list-input {
      + .cm-list-label .slider {
        border: 5px solid $lightgrey;

        &::before {
          border: 5px solid $lightgrey;
          top: -5px;
          left: -5px;
          height: 30px;
          width: 30px;
          background: $white;
        }
      }

      &:checked + .cm-list-label .slider {
        background-color: $innovationblue;
        border: 5px solid $innovationblue;
        opacity: 1;

        &::before {
          border-color: $innovationblue;
        }
      }

      &.half-checked + .cm-list-label .slider {
        background-color: $white;
        border: 5px solid $mediumgrey;

        &::before {
          border-color: $mediumgrey;
        }
      }

      &.only-required + .cm-list-label .slider {
        background-color: $lightgreen;
        border: 5px solid $lightgreen;

        &::before {
          border-color: $lightgreen;
        }
      }
    }

    .cn-body {
      p {
        font-size: $font-size-small;
        color: $mediumgrey;
        margin-top: 0;
        margin-bottom: 1rem;
      }

      .cn-ok {
        margin-top: 0;
        align-items: center;

        .cm-link {
          margin-top: 0;
        }

        .cn-buttons {
          margin-top: 0;

          .cm-btn {
            margin-top: 0;
          }

          .cn-decline {
            margin-right: 0.5rem;
          }

          .cm-btn-success {
            float: none;
          }
        }
      }
    }

    .cn-body,
    .cm-body {
      padding: 0.75rem 1.5rem;

      ul.cm-purposes {
        li.cm-purpose {
          margin-bottom: 1.5rem;

          label {
            margin-bottom: 0;
          }

          .cm-list-title,
          .cm-list-description {
            font-size: 1rem;
            line-height: 1.375rem;
            padding-top: 0;
            margin-bottom: 0.5rem;
          }

          .cm-list-title {
            font-weight: bold;
          }

          .cm-required {
            font-weight: bold;
            font-size: 0.875rem;
            color: $grey;
          }
        }
      }
    }

    .cm-services {
      font-size: 1rem;

      .cm-caret,
      .cm-caret a {
        color: $innovationblue;
      }

      .purposes {
        display: none;
        color: $mediumgrey;
        font-size: 0.875rem;
        font-weight: bold;
      }

      .expanded {
        margin-top: 1rem;
      }
    }

    .cm-footer {
      border-top: 0;
      padding: 0.75rem 1.5rem;

      .cm-footer-buttons {
        display: inline;
      }

      .cm-powered-by a {
        color: $black;
      }
    }
  }

  @media (min-width: $bp-large) {
    .cookie-notice:not(.cookie-modal-notice) {
      left: 20px;
      right: auto;
    }
  }

  @media (max-width: $bp-small) {
    .cookie-notice {
      .cn-body {
        .cm-link {
          margin-bottom: 1rem;
        }
      }
    }

    .cookie-modal {
      display: flex;
      justify-content: center;

      .cm-modal.cm-klaro {
        width: 95%;
      }

      h1 {
        font-size: 1.5rem;
      }

      .cm-modal .cm-footer-buttons {
        flex-direction: column;

        .cm-btn {
          margin-bottom: 0.75rem;
          margin-right: 0;
          display: block;
          width: 100%;
        }

        .cm-btn-accept-all {
          float: none;
        }
      }
    }
  }
}
