$quote-share-maxwidth: 150px;

.button-count.has-pending {
  span {
    background-color: var(--danger);
    color: var(--secondary);
    border-radius: 10px;
    padding: 0.25em 0.5em;
    display: inline-block;
    font-size: 0.8em;
  }
}

.placeholder-avatar {
  display: inline-block;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  &:before {
    animation: placeHolderShimmer 4s linear infinite forwards;
    position: absolute;
    left: 0;
    content: "";
    background: linear-gradient(
      to right,
      var(--primary-very-low) 10%,
      var(--primary-low) 28%,
      var(--primary-very-low) 43%
    );
    height: 45px;
    width: 700px;
  }
}

.placeholder-text {
  margin-left: 11px;
  display: inline-block;
  width: calc(100% - 11px);
  height: 1.5em;
  margin-bottom: 0.6em;
}

.names {
  flex: 1 1 auto;
  overflow: hidden;
  span.first {
    display: flex;
    align-items: baseline;
    font-weight: bold;
  }

  span {
    font-size: $font-0;
    margin-right: 8px;
    display: inline-block;
    @include ellipsis;
    vertical-align: middle;
    a {
      color: var(--primary-high-or-secondary-low);
    }
  }
  .fa {
    font-size: $font-down-1;
    color: var(--primary-med-or-secondary-med);
  }
  .svg-icon-title {
    margin-left: 3px;
    margin-right: 0px;
  }
  .new_user a,
  .user-title,
  .user-title a {
    color: var(--primary-med-or-secondary-med);
  }
}

// global styles for the cooked HTML content in posts (and preview)
.cooked,
.d-editor-preview {
  word-wrap: break-word;
  line-height: $line-height-large;

  > *:first-child {
    margin-top: 0;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 30px 0 10px;
    line-height: $line-height-medium;
    a.anchor {
      &:before {
        content: svg-uri(
          '<svg xmlns="http://www.w3.org/2000/svg" width="16px" height="16px" viewBox="0 0 512 512" fill="#{$primary-medium}"><path d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg>'
        );
        line-height: 1.4;
        margin-left: -20px;
        padding-right: 4px;
        position: absolute;
        opacity: 0;
        transition: opacity 0.25s;
      }
      &:hover {
        // show when hovering where icon should be
        &:before {
          opacity: 1;
        }
      }
    }
    &:hover {
      // show when hovering header
      a.anchor {
        &:before {
          opacity: 1;
        }
      }
    }
  }

  h1 {
    font-size: $font-up-3;
  }

  h2 {
    font-size: $font-up-2;
  }

  h3 {
    font-size: $font-up-1;
  }

  h4 {
    font-size: $font-0;
  }

  h5 {
    font-size: $font-down-1;
  }

  h6 {
    font-size: $font-down-2;
  }

  a {
    word-wrap: break-word;
  }

  del,
  ins,
  mark {
    text-decoration: none;
  }

  ins {
    background-color: var(--success-low);
  }
  del {
    background-color: var(--danger-low);
  }
  mark {
    background-color: var(--highlight);
  }
  // Prevents users from breaking posts with tag nesting
  big {
    font-size: 1.5rem;
  }
  small {
    font-size: 0.75rem;
  }
  small small {
    font-size: 0.75em;
  }
  big big {
    font-size: 1em;
  }
  sub sub sub {
    bottom: 0;
  }
  sup sup sup {
    top: 0;
  }
}

.cooked,
.d-editor-preview {
  video {
    max-width: 100%;
  }
  sup sup {
    top: 0;
  }
}

// add staff color
.moderator {
  .regular > .cooked {
    background-color: var(--highlight-low-or-medium);
    padding: 10px;
    img:not(.thumbnail) {
      max-width: 100%;
      height: auto;
    }
  }
  .clearfix > .topic-meta-data > .names {
    span.user-title {
      color: var(--primary-high-or-secondary-low);
      a {
        background-color: var(--highlight-low-or-medium);
        padding-left: 4px;
        padding-right: 4px;
      }
    }
  }
}

.topic-meta-data {
  display: flex;
  align-items: flex-start;

  .names {
    margin-right: auto;
  }

  .post-infos {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
  }
}

// we use aside to hold expandable quotes (versus, say, static blockquotes)
aside.quote {
  margin-top: 1em;
  margin-bottom: 1em;

  .badge-wrapper {
    margin-left: 5px;
  }

  .title {
    @include post-aside;

    color: var(--primary-high-or-secondary-low);
    padding: 12px 12px 0px 12px;
    // blockquote is underneath this and has top margin
    .avatar {
      margin-right: 7px;
    }
    img {
      margin-top: -4px;
    }
    @include unselectable;
  }

  // blockquote is docked within aside for content
  blockquote {
    margin-top: 0;
  }
}

blockquote {
  // due to #image-sizing-hack large images and lightboxes extend past the
  // limits blockquotes. Since #image-sizing-hack is inline, we need to use
  // !important here otherwise it won't work.
  img {
    max-width: 100% !important;
  }
}

.quote-controls,
.quote-controls .d-icon {
  color: var(--primary-low-mid-or-secondary-high);
}

.quote-controls {
  .quote-toggle {
    padding: 0;
  }
}

.cooked .highlight {
  background-color: var(--tertiary-low);
  padding: 2px;
  margin: -2px;
}

.post-ignored {
  font-style: italic;
}

.post-action {
  color: var(--primary-medium);
  .undo-action,
  .act-action {
    margin-left: 5px;
  }
}

.small-user-list .unknown {
  display: inline-block;
  background-color: var(--primary-low);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 0.25em;
}

.post-hidden {
  .topic-avatar,
  .cooked,
  .topic-meta-data,
  .post-actions {
    opacity: 0.5;
  }
}

.topic-post.staged {
  opacity: 0.4;
}

.quote-controls {
  float: right;
  display: flex;
  align-items: center;
  a {
    margin-left: 0.3em;
  }
}

.quote-button {
  display: none;
  position: absolute;
  z-index: z("dropdown");
  opacity: 0.9;
  background-color: var(--secondary-high);

  &.visible {
    display: inline-flex;
  }

  .btn,
  .btn:hover,
  .d-icon,
  .btn:hover .d-icon {
    color: var(--secondary-or-primary);
  }

  .insert-quote + .quote-sharing {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
  }

  .quote-sharing {
    vertical-align: middle;
    display: inline-flex;
    align-items: center;

    .btn {
      display: inline-flex;
      align-items: center;
    }

    .quote-share-label {
      opacity: 1;
      max-width: $quote-share-maxwidth;
      transition: opacity 0.3s ease-in-out, max-width 0.3s ease-in-out,
        padding 0.3s ease-in-out;
    }

    &:hover .quote-share-label {
      background: transparent;
      opacity: 0;
      max-width: 0px;
      padding: 6px 0px;
    }

    .quote-share-label + .quote-share-buttons {
      opacity: 0;
      overflow: hidden;
      max-width: 0;
      display: inline-flex;
      transition: opacity 0.3s ease-in-out, max-width 0.3s ease-in-out;
    }

    &:hover .quote-share-label + .quote-share-buttons {
      max-width: $quote-share-maxwidth;
      opacity: 1;
    }
  }
}

.topic-avatar,
.user-card-avatar {
  position: relative;
}

.topic-map {
  background: var(--primary-very-low);
  border: 1px solid var(--primary-low);
  border-top: none; // would cause double top border

  .avatars {
    > div {
      float: left;
      position: relative;
      margin: 3px 0;
    }
    .post-count {
      position: absolute;
      right: 0;
      border-radius: 100px;
      padding: 3px 5px;
      text-align: center;
      font-weight: normal;
      font-size: $font-down-2;
      line-height: $line-height-small;
    }
  }

  .avatar {
    float: left;
    margin-right: 4px;
  }

  section {
    border-top: 1px solid var(--primary-low);
  }

  ul {
    margin: 0;
    list-style: none;
  }

  h3 {
    margin-bottom: 4px;
    color: var(--primary);
    line-height: $line-height-large;
    font-weight: normal;
    font-size: $font-0;
  }

  h4 {
    margin: 1px 0 2px 0;
    color: var(--primary-med-or-secondary-med);
    font-weight: normal;
    font-size: $font-down-1;
    line-height: $line-height-small;
  }

  span.domain {
    font-size: $font-down-2;
    color: var(--primary-med-or-secondary-med);
  }

  td {
    vertical-align: top;
    padding: 1px;
    word-wrap: anywhere;
  }

  .topic-links {
    tr {
      border: none;
    }
    .badge-notification {
      margin: 1px 5px 2px 0;
    }
  }

  .controls {
    display: flex;
    align-items: center;

    .btn {
      margin-right: 0.5em;

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

  .participants {
    display: flex;
    flex-wrap: wrap;
    align-items: center;

    & + .controls {
      margin-top: 0.5em;
    }

    &.hide-names .user {
      .username,
      .group-name {
        display: none;
      }
    }

    .user {
      border: 1px solid var(--primary-low);
      border-radius: 0.25em;
      padding: 0;
      margin: 0.125em 0.25em 0.125em 0;
      display: flex;
      align-items: center;
      height: 26px;

      .user-link,
      .group-link {
        color: var(--primary-high);

        &:hover {
          color: var(--primary);
        }
      }

      .avatar,
      .d-icon-users {
        margin-left: 0.25em;
        margin-right: 0.25em;
      }

      .username,
      .group-name {
        margin-right: 0.25em;
      }

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

      .remove-invited {
        display: flex;
        flex: 1 0 0px;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        border-radius: 0 0.25em 0.25em 0;
        padding-top: 0;
        padding-bottom: 0;
        height: 100%;
      }
    }
  }

  .add-remove-participant-btn {
    .d-icon {
      margin-left: 0.25em;
    }
  }
}

.topic-avatar,
.avatar-flair-preview,
.user-card-avatar,
.topic-map .poster,
.user-profile-avatar,
.user-image,
.latest-topic-list-item {
  .avatar-flair {
    display: flex;
    align-items: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    bottom: 0;
    right: -6px;
  }
}
.topic-avatar .avatar-flair,
.avatar-flair-preview .avatar-flair,
.collapsed-info .user-profile-avatar .avatar-flair,
.user-image .avatar-flair,
.latest-topic-list-item .avatar-flair {
  background-size: 20px 20px;
  width: 20px;
  height: 20px;
  &.rounded {
    background-size: 18px 18px;
    border-radius: 12px;
    width: 24px;
    height: 24px;
    bottom: -2px;
    right: -8px;
  }
}
.user-card-avatar .avatar-flair,
.user-profile-avatar .avatar-flair {
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  &.rounded {
    background-size: 30px 30px;
    border-radius: 24px;
    width: 40px;
    height: 40px;
    bottom: -2px;
    right: -4px;
  }
  .fa {
    font-size: $font-up-4;
  }
}
.topic-map .poster .avatar-flair {
  right: 0;
  background-size: 12px 12px;
  width: 16px;
  height: 16px;
  bottom: -3px;
  color: var(--primary);
  &.rounded {
    background-size: 12px 12px;
    border-radius: 8px;
    width: 16px;
    height: 16px;
    bottom: -2px;
    right: 0;
  }
  .d-icon {
    font-size: $font-down-2;
  }
}
.topic-avatar .poster-avatar-extra {
  display: none;
}

.map {
  &:first-of-type {
    display: flex;
    .buttons {
      margin-left: auto;
      order: 15;
      .btn {
        height: 100%;
      }
    }
  }
}

.topic-body {
  // this is necessary for ANYTHING that extends past the right edge of
  // the post body, such as an image in a deeply nested list, image in
  // a deeply nested blockquote, and so on.. you get the idea.
  .cooked {
    overflow: hidden;
  }
  .group-request {
    border-top: 1px solid var(--primary-low);
    padding-top: 0.5em;
  }
  &.highlighted {
    animation: background-fade-highlight 2.5s ease-out;
  }
  .deleted & {
    // Disable so the deleted background is visible immediately
    &.highlighted {
      animation: none;
    }
  }
}

.post-info {
  flex: 0 0 auto;
  margin-right: 0.5em;

  &.post-date {
    margin-right: 0;
  }
  &.via-email,
  &.whisper,
  &.post-locked {
    .d-icon {
      font-size: $font-0;
    }
  }

  .wiki,
  .last-wiki-edit {
    color: var(--wiki);
  }

  &.via-email {
    color: var(--primary-low-mid-or-secondary-high);
  }
  &.raw-email {
    cursor: pointer;
  }
  &.edits {
    .widget-button {
      display: flex;
      align-items: center;

      .d-button-label {
        order: 0;
        padding-right: 0.25em;
        color: var(--primary-med-or-secondary-med);
        transition: color 0.25s;
      }

      .d-icon {
        order: 1;
        transition: color 0.25s;
        color: var(--primary-med-or-secondary-med);
      }
      .discourse-no-touch & {
        &:hover {
          .d-button-label {
            color: var(--primary-high);
          }
          .d-icon {
            color: var(--primary-high);
          }
        }
      }
      &:focus {
        @include default-focus;
        background: transparent;
      }
    }
  }
}

pre {
  code {
    word-wrap: normal;
    display: block;
    padding: 0.5em;
    color: var(--primary);
    background: var(--blend-primary-secondary-5);
    max-height: 500px;
  }
}

.copy-codeblocks {
  display: block;
  position: relative;
  overflow: visible;

  .copy-cmd {
    @include unselectable;
    position: absolute;
    top: 0;
    right: 0;
    min-height: 0;
    font-size: $font-down-2;
    min-height: 0;
    font-size: $font-down-2;
    opacity: 0.7;

    &.copied {
      .d-icon {
        color: var(--tertiary);
      }
    }

    .d-icon {
      pointer-events: none;
      margin-right: 0;
    }
  }
}

kbd {
  align-items: center;
  border: 1px solid var(--primary-low-mid);
  background: var(--primary-very-low);
  border-bottom-width: 2px;
  border-radius: 3px;
  box-sizing: border-box;
  color: var(--primary);
  display: inline-flex;
  font-size: $font-down-1;
  justify-content: center;
  line-height: $line-height-large;
  margin: 0 0.15em;
  min-width: 24px;
  padding: 0.15em 0.6em;

  // don't allow more than 3 nested elements to prevent FF from crashing
  // cf. http://what.thedailywtf.com/t/nested-elements/7927
  // 3 levels are needed to prevent highlighted words being hidden
  // cf. https://meta.discourse.org/t/word-disappears-when-searched-and-in-details-summary-kbd-b/25741
  * * * {
    display: none;
  }
}

// we assume blockquotes have their own margins, so all blockquotes
// will remove margins from first (top) and last (bottom) child elements
blockquote > *:first-child {
  margin-top: 0 !important;
}
blockquote > *:last-child {
  margin-bottom: 0 !important;
}

.gap {
  padding: 0.25em 0 0.5em 56px; // 45px (topic avatar) + 11px (margin) = 56px
  color: var(--primary-med-or-secondary-high);
  cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
  font-size: $font-down-1;
}

.who-liked,
.who-read {
  transition: height 0.5s;
  a {
    margin: 0 0.25em 0.5em 0;
    display: inline-block;
  }
}

.cooked table,
.d-editor-preview table {
  thead {
    th {
      text-align: left;
      padding-bottom: 2px;
      font-weight: bold;
      color: var(--primary);
    }
  }

  td {
    padding: 3px 3px 3px 0.5em;
  }
}

.small-action {
  display: flex;
  align-items: center;
  max-width: 758px;
  border-top: 1px solid var(--primary-low);
  .topic-avatar {
    align-self: flex-start;
    padding: 0.7em 0;
    border-top: none;
    margin-right: 11px;
    flex: 0 0 auto;
    .d-icon {
      font-size: 2em;
      width: 45px;
      text-align: center;
      color: var(--primary-low-mid);
    }
  }

  .small-action.deleted {
    background-color: var(--danger-low-mid);
  }

  .small-action-desc.timegap {
    color: var(--primary-medium);
  }

  .small-action-desc {
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 100%;
    align-items: center;
    padding: 1em 0;
    text-transform: uppercase;
    font-weight: bold;
    font-size: $font-down-1;
    color: var(--primary-medium);
    min-width: 0; // Allows flex container to shrink

    button {
      align-self: flex-start;
    }

    .custom-message {
      flex: 1 1 100%;
      text-transform: none;
      font-weight: normal;
      font-size: $font-up-1;
      order: 12;
      word-break: break-word;
      min-width: 0; // Allows content like oneboxes to shrink
      p {
        margin-bottom: 0;
      }
    }
    a.trigger-user-card {
      align-self: stretch;
    }
    .avatar {
      margin-right: 0.8em;
      float: left;
    }

    > p {
      margin: 0;
      padding-right: 0.5em;
      line-height: $line-height-medium;
      flex: 1 1;
    }
  }

  button {
    background: transparent;
    border: 0;
    order: 9;
    &:last-of-type {
      margin-left: auto;
      order: 8;
    }
  }
}

.whisper {
  .post-info.whisper {
    margin-left: 0.5em;
  }
  .topic-body {
    .cooked {
      font-style: italic;
      color: var(--primary-medium);
    }
  }
}

a.mention {
  display: inline-block; // https://bugzilla.mozilla.org/show_bug.cgi?id=1656119
  font-weight: bold;
  font-size: 0.93em;
  color: var(--primary-high-or-secondary-low);
  padding: 0 4px 1px;
  background: var(--primary-low);
  border-radius: 8px;
}

span.mention {
  font-weight: bold;
  font-size: 0.93em;
  color: var(--primary);
}

a.mention-group {
  font-weight: bold;
  font-size: 0.93em;
  color: var(--primary);

  &.notify,
  .small-action-desc & {
    color: var(--primary-high-or-secondary-low);
    padding: 2px 4px;
    background: var(--primary-low);
    border-radius: 8px;
  }
}

.suggested-topics {
  .topics {
    padding-bottom: 15px;
  }
  .suggested-topics-message {
    .badge-wrapper {
      margin-right: 0;
    }
  }
}

.large-image-placeholder {
  > a {
    &.link {
      margin-right: 10px;
    }

    > * {
      overflow: hidden;
      vertical-align: middle;
    }

    > .d-icon {
      color: var(--primary-med-or-secondary-med);
      margin-right: 6px;
      font-size: $font-0;
      line-height: $line-height-large;
    }

    > span.url {
      display: inline-block;
      max-width: 300px;
      margin-right: 6px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    > span.help {
      display: inline-block;
      color: var(--primary-med-or-secondary-med);
      font-size: $font-down-1;
      font-style: italic;
      line-height: $line-height-large;
      margin-bottom: 1px;
    }

    > span.badge-notification {
      vertical-align: unset;
    }
  }
}

.broken-image {
  display: inline-flex;
  color: var(--primary-low-mid-or-secondary-high);
  border: 1px solid var(--primary-low);
  font-size: $font-up-5;

  .d-icon {
    margin: 16px;
  }
}

/* below standard tablet portrait ----------- */

.reply-to-tab {
  display: flex;
  align-items: center;
  margin-right: 2em;

  img {
    margin: 0 0.25em;
  }
}

// Select posts

.topic-post {
  &.selected {
    article.boxed {
      .select-posts {
        button.select-post {
          background-color: var(--tertiary);
          color: var(--secondary);
          border-color: var(--tertiary);
        }
      }
      .topic-body {
        .contents:after {
          display: none;
        }
      }
    }
  }
  article.boxed {
    position: relative;
    .select-posts {
      position: absolute;
      right: 5em;
      z-index: z("dropdown");
      top: 0.5em;
      height: 100px;
      button {
        margin-left: 8px;
        background-color: var(--primary-low);
        color: var(--primary);
        box-shadow: shadow("dropdown");
      }
    }
  }
}

@media all and (max-width: 767px) {
  .reply-to-tab {
    span {
      display: none;
    }
  }
  .user-title {
    float: left;
    clear: left;
  }
}

.signup-cta {
  box-sizing: border-box;
  max-width: calc(#{$topic-body-width} + 4.5em);
  padding: 3em 5em 2em 56px; // 45px (topic avatar) + 11px (margin) = 56px
  @include breakpoint(mobile-extra-large) {
    padding: 1.5em 1.5em 0.25em;
  }
  h3 {
    margin-bottom: 0.5em;
  }
  a {
    text-decoration: underline;
  }
  .buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 1.5em 0 1em;
    > * {
      margin-bottom: 0.5em;
    }
    .btn {
      margin-right: 0.5em;
      white-space: nowrap;
      &.btn-remind {
        background: var(--primary-very-low);
        margin-right: auto;
        @include hover {
          background: var(--primary-medium);
        }
      }
      @include breakpoint(mobile-extra-large) {
        &.btn-primary {
          margin-right: 100%;
        }
      }
    }
  }
}

.post-notice {
  align-items: center;
  background-color: var(--tertiary-low);
  border-top: 1px solid var(--primary-low);
  display: flex;
  max-width: calc(
    #{$topic-body-width} + (#{$topic-body-width-padding} * 2) + #{$topic-avatar-width} -
      (0.8em * 2)
  );
  padding: 0.8em;

  &.old {
    background-color: unset;
    color: var(--primary-medium);

    .d-icon {
      color: var(--primary-medium);
    }
  }

  p {
    margin: 0;
  }

  .d-icon {
    font-size: 2em;
    color: var(--primary-high);
    margin-right: 0.65em;
  }
}

#topic-footer-buttons {
  margin: var(--below-topic-margin) 0;
  padding: 0;

  .topic-footer-main-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; // aligns items by making them the same height
    button {
      margin-right: 0.54em;
    }
    > * {
      margin-bottom: 0.5em; // all immediate children should have a bottom margin in case of wrapping
    }
    .topic-admin-menu-button-container {
      display: inline-flex;
      > span {
        display: flex; // to make this button match siblings behavior, all of its parents need to be flex
      }
    }
  }

  .pinned-button:not(.is-hidden) + .topic-notifications-button {
    margin-top: 0;
  }

  .pinned-button,
  .topic-notifications-button {
    margin: 0.5em 0 1em;

    .reason {
      color: var(--primary-high);
      display: inline-flex;
      margin: 0;
      align-items: center;

      .dropdown-select-box {
        .select-kit-selected-name {
          width: 100%;
          overflow: hidden;
        }
        .name {
          @include ellipsis;
        }
      }

      .text {
        margin-left: 0.5em;
        line-height: $line-height-medium;
      }
    }
  }
}

.post-admin-menu {
  display: inline-flex;
  flex-direction: column;
  box-sizing: border-box;
  width: auto;
  max-width: 320px;
  position: absolute;
  text-align: left;
  bottom: -2px;
  right: 15px;
}

.posts-filtered-notice {
  position: -webkit-sticky;
  position: sticky;
  background-color: var(--tertiary-low);
  bottom: 0;
  padding: 1em;
  margin-top: 0.5em;
  text-align: center;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: calc(
    #{$topic-body-width} + (#{$topic-body-width-padding} * 2) + #{$topic-avatar-width} -
      (0.8em * 2)
  );

  .filtered-avatar {
    margin: 0 0.5em;
    + .names {
      flex: inherit;
    }
  }

  .filtered-replies-show-all {
    margin-left: 1em;
  }

  .filtered-user-row {
    @include ellipsis;
  }
}

.pausable-animated-image {
  position: relative;
  display: inline-block;

  > canvas,
  > .animated-image-overlay {
    position: absolute;
    bottom: 0;
    right: 0;
  }

  > canvas {
    background-color: var(--primary-very-low);
  }

  > .animated-image-overlay {
    pointer-events: none;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    > .d-icon {
      cursor: pointer;
      padding: 0.5em;
      margin: 0.5em;
      background-color: rgba(var(--always-black-rgb), 0.25);
      color: var(--secondary-or-primary);
      cursor: pointer;
      display: none;
    }
  }

  img.animated {
    cursor: pointer;
  }

  html.no-touch
    &:not(.paused-animated-image)
    .animated:hover
    + .animated-image-overlay
    .d-icon-pause {
    display: initial;
  }

  &.paused-animated-image
    .animated.manually-paused
    + .animated-image-overlay
    .d-icon-play {
    display: initial;
  }
}

.paused-animated-image {
  img.animated {
    // need to keep the image hidden but clickable
    // so the user can resume animation
    opacity: 0;
  }
}
