@emoji-picker-width: 380px;
@emoji-picker-height: 452px;

.site-chat-section {
  height: calc(100% - @navbar-nav-item-height);
}

.site-chat-sidebar-widget {
  box-sizing: border-box;
  padding: @grid-small-gutter-vertical @grid-small-gutter-horizontal;
  margin: @grid-small-gutter-vertical @grid-small-gutter-horizontal;
  border: solid 1px @content-border-color;
  background-color: @content-background-color;
}

#site-chat-container {
  overflow: auto;
  background-color: @content-container-color;

  .chat-menubar {
    background-color: @page-background-color;
    color: @global-color;

    border-bottom: solid 1px @content-border-color;
    border-left: solid 1px @content-border-color;
    border-right: solid 1px @content-border-color;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;

    .uk-text-muted {
      color: @global-muted-color !important;
    }

    .chat-room-name {
      font-size: 24px;
      font-weight: bold;
      line-height: 1.1em;
    }
  }

  #chat-input-form {
    position: relative;
    background-color: @page-background-color;
    border-top: solid 1px @content-border-color;
    border-left: solid 1px @content-border-color;
    border-right: solid 1px @content-border-color;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;

    textarea.uk-textarea {
      padding: 2px 6px;
      resize: none;
    }

    #site-emoji-picker {
      position: absolute;
      top: 0;
      left: @grid-small-gutter-horizontal;

      width: @emoji-picker-width;
      height: 0;
      overflow: hidden;

      margin: 0 auto;
      padding: 0;
      opacity: 0;

      transition: top 0.6s, height 0.6s, opacity 0.6s;

      &.picker-open {
        top: -@emoji-picker-height;
        height: @emoji-picker-height;
        opacity: 1;
      }
    }
  }

  .fundraising-progress-overlay {
    position: absolute;
    top: 40px; right: 0; left: 0;
    width: 100%;
    overflow: hidden;
    background: black;

    &.hidden {
      display: none;
    }
  }

  .chat-content-wrapper {
    position: relative;
    flex: 1;

  }

  #chat-message-list-wrapper {
    position: relative;

    #chat-reactions {
      position: absolute;
      top: 0; right: 0; bottom: 0; left: 0;
      background: transparent;
      overflow: hidden;
      pointer-events: none;

      span.reaction-icon {
        display: block;
        position: absolute;
        font-size: 24px;
        opacity: 0.6;
        transform: rotate(0deg);
      }
    }

    #chat-message-list {
      position: absolute;
      top: 0; right: 0; bottom: 0; left: 0;
      width: 100%;
      height: 100%;
      overflow: auto;

      box-shadow: var(--dtp-chat-shadow);
      scroll-behavior: auto;

      &::-webkit-scrollbar {
        width: 10px;
        border: none;
        outline: none;
        padding: 8px 0;
      }

      &::-webkit-scrollbar-track {
        background: transparent;
        border-left: solid 1px @scrollbar-border-color;
      }

      &::-webkit-scrollbar-thumb {
        outline: none;

        border: none;
        border-top-right-radius: 8px;
        border-bottom-right-radius: 8px;

        overflow: hidden;

        background-color: @scrollbar-thumb-color;
      }

      .chat-message {
        padding: @grid-small-gutter-vertical @grid-small-gutter-horizontal;
        margin: (@grid-small-gutter-vertical / 2) @grid-small-gutter-horizontal;

        border: solid 1px @content-border-color;
        border-radius: 8px;

        background: @content-background-color;
        color: inherit;
        font-size: var(--dtp-chat-font-size);
      
        &.system-message {
          background: #e8e8e8;
          color: #1a1a1a;

          &[data-message-type="info"] {
            background: #068be4;
            color: white;
          }
          &[data-message-type="warning"] {
            background: #e4c306;
            color: white;
          }
          &[data-message-type="error"] {
            background: #ff00131a;
            color: white;
          }
        }
      
        .chat-username {
          font-weight: bold;
          font-size: var(--dtp-chat-font-size);
          line-height: 1;
          color: var(--dtp-chat-username-color);
        }
      
        img.chat-author-image {
          width: auto;
          height: 40px;
          border-radius: 4px;
        }
      
        .chat-content {
          line-height: 1.2em;
          font-size: var(--dtp-chat-font-size);
          color: inherit;
          overflow-wrap: break-word;
      
          p:last-child {
            margin-bottom: 0;
          }
        }
      
        .chat-timestamp {
          color: var(--dtp-chat-timestamp-color);
        }
      
        .chat-sticker {
          display: inline-block;
          margin-top: 4px;
          margin-right: 8px;
          color: inherit;
          
          video {
            width: auto;
            height: 100px;
          }
        }

        .chat-user-menu {

          button.chat-menu-button {
            padding: 0;
            margin: 0;
            background: transparent;
            outline: none;
            border: none;
            line-height: 1;
          }
        }
      }
    }

    .chat-message-menu {
      position: absolute;
      display: none;
      right: 4px; bottom: 20px; left: 4px;
      text-align: center;

      &.chat-menu-visible {
        display: block;
      }

      button.chat-scroll-return {
        padding: 4px 8px;
        background: rgba(0,0,0, 0.6);
        color: #c8c8c8;
        border: solid 2px @site-brand-color;
        border-radius: 8px;
        outline: none;
        cursor: pointer;

        &:hover {
          color: white;
        }
        &:active {
          background: rgba(160, 0, 0, 0.9);
          color: white;
        }
      }
    }
  }
}