.privacywire {
  position: fixed;
  bottom: -250%;
  left: 0;
  right: 0;
  opacity: 0;
  background: white;
  z-index: 1000;
  padding: 15px 30px 15px 15px;
  transition: bottom 0.3s ease-in, opacity 1s ease-out;
  font-size: 12px;
  line-height: 15px;
  a {
    text-decoration: underline;
    text-underline-offset: 2px;
  }
}

.privacywire .privacywire-header {
  font-weight: 700;
}

.show-banner .privacywire.privacywire-banner,
.show-message .privacywire.privacywire-message,
.show-options .privacywire.privacywire-options {
  bottom: 0;
  opacity: 1;
  transition: bottom 0.3s ease, opacity 0.3s ease;
  p {
    max-width: 960px;
  }
}

.privacywire button[hidden],
[data-ask-consent-rendered="1"],
div.privacywire-ask-consent-blueprint {
  display: none;
}

.privacywire-buttons {
  display: flex;
  gap: 15px;
  margin-top: 20px;
  button {
    background: white;
    color: black;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid black;
    min-width: 100px;
    cursor: pointer;
    font-size: 12px;
    line-height: 15px;
    &:hover {
      background: rgb(233, 233, 233);
    }
    &.allow-all {
      color: white;
      background: black;
      &:focus-visible {
        outline: 1.5px solid black;
      }
      &:hover {
        background: rgb(52, 52, 52);
        border: 1.5px solid black;
      }
    }
  }
}

.privacywire-text {
  a {
    color: black;
  }
  ul {
    margin-top: 20px;
    display: flex;
    gap: 15px;
    li {
      display: flex;
      &[hidden] {
        display: none;
      }
      &:first-child {
        opacity: 0.5;
      }
      label {
        display: flex;
        align-items: center;
        cursor: pointer;
        padding: 0 0 0 0;
      }
      [type="checkbox"] {
        position: relative;
        display: block;
        width: 20px;
        height: 20px;
        margin-right: 10px;
        transform: translateY(-2px);
        &:before {
          position: absolute;
          left: 0;
          content: " ";
          width: 20px;
          height: 20px;
          margin-right: 10px;
          display: block;
          border: 1px solid black;
          background-color: white;
          background-repeat: no-repeat;
          background-position: center center;
          opacity: 1;
        }
        &:checked:before {
          background-image: url('data:image/svg+xml,<svg height="10" viewBox="0 0 14 10" width="14" xmlns="http://www.w3.org/2000/svg"><path d="m1.91005329-.68661392v6.59051268h10.28300101" fill="none" stroke="%23000" stroke-width="2" transform="matrix(.70710678 -.70710678 .70710678 .70710678 .220764 5.750255)"/></svg>');
        }
      }
    }
  }
}

.privacywire-page-links {
  margin-top: 20px;
  display: none;
}

.privacywire-ask-consent {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  background: #f2f2f2;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-content: center;
  justify-content: center;

  .privacywire-consent-message {
    max-width: 600px;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    padding: 23px;
  }

  button.privacywire-consent-button {
    background: black;
    color: white;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid black;
    min-width: 100px;
    cursor: pointer;
    &:hover {
      background: rgb(52, 52, 52);
      border: 1.5px solid black;
    }
    &:focus-visible {
      outline: 1.5px solid black;
    }
  }
}

@media (max-width: 800px) {
  .privacywire-buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .privacywire-text {
    ul {
      display: flex;
      flex-wrap: wrap;
    }
  }
}
