.container {
  position: relative;
}

.trigger {
  cursor: pointer;
}

.popup {
  background: var(--background-color);
  border: 1px solid rgb(0 0 0 / 15%);
  border-radius: 1.6rem;
  box-shadow: 0 8px 16px 0 rgb(0 0 0 / 5%);
  color: var(--default-color);
  cursor: default;
  min-width: 144px;
  opacity: 1;
  overflow: hidden;
  position: absolute;
  text-align: left;
  top: calc(100% + 11px);
  z-index: 101;

  ul {
    margin-bottom: 0;

    li {
      margin: 0;
      position: relative;

      &:last-child {
        margin-bottom: 0;
      }
    }
  }

  &.tiny {
    @include font-size(1.4rem);

    .action {
      padding: 0.5rem 1rem;
    }

    li:first-child .action {
      padding-top: 1rem;
    }

    li:last-child .action {
      padding-bottom: 1rem;
    }
  }

  &.horizontalAnchorCenter {
    @include media-breakpoint-up(md) {
      left: 50%;
      right: auto;
      transform: translateX(-50%);
    }

    right: 0;
  }

  &.horizontalAnchorRight {
    right: 0;
  }

  .topBorderItem {
    border-top: 2px solid;
  }

  a:link,
  :global(.link) {
    border: none;
    white-space: nowrap;

    &::before {
      content: '';
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 100%;
    }
  }

  .icon {
    display: inline-block;
    margin-right: 1rem;
    width: 2.4rem;

    img {
      display: inline-block;
      max-height: 2.4rem;
      max-width: 2.4rem;
      transition: filter 0.3s;
      vertical-align: middle;
    }
  }

  .action {
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 16px;
    font-size: inherit;
    font-weight: 500;
    text-align: left;
    white-space: nowrap;

    &:hover {
      background: var(--black-500);
      color: var(--black-50) !important;

      .icon img {
        filter: invert(1);
      }
    }
  }

  li:first-child .action {
    padding-top: 16px;
  }

  li:last-child .action {
    padding-bottom: 16px;
  }
}

.profilePopup {
  @include media-breakpoint-up(sm) {
    min-width: 22rem;
  }
}

// TODO: animation
// .popup {
//  opacity: 1;
//  transition: opacity 0.3s;
//  z-index: 1;
//  &.visible {
//    opacity: 0;
//    transition: opacity 0.3s, z-index 0s 0.3s;
//    z-index: -1;
//  }
// }
