@mixin theme() {
  .dynamic-grid {
    .dynamic-grid-header {
      display: flex;
      flex-direction: column;

      &.sticky-header {
        position: sticky;
        top: 0;
        z-index: 1;
      }

      .sort-actions {
        display: flex;
        flex-direction: column;
        cursor: pointer;
        color: inherit;
        pointer-events: none;
      }

      .dynamic-grid-row {
        flex: 1;
      }
      .dynamic-grid-header-cell {
        font-size: 12px;
        font-weight: 500;
        color: var(--dg-header-name-color);
        position: relative;
        display: flex;
        align-items: center;
        user-select: none;
        background-color: var(--dg-bg);
        overflow: hidden;
        white-space: nowrap;

        &::before {
          content: '';
          position: absolute;
          z-index: 1;
          top: 0;
          right: 0;
          bottom: 0;
          width: 16px;
          background: linear-gradient(to right, hsla(0, 0%, 100%, 0), var(--dg-bg) 70%, var(--dg-bg));
        }

        &.col-sorted {
          color: var(--dg-header-name-active-color);
        }

        .header-cell-content {
          display: flex;
          align-items: center;
          cursor: pointer;
          width: 100%;

          &:hover {
            color: var(--dg-header-name-active-color);
          }
        }

        &:not(.col-sorted) {
          .sort-actions {
            opacity: 0;
          }
        }

        &:hover {
          .sort-actions {
            opacity: 1;
          }

          .resizer-bar {
            opacity: 1;
          }
        }
      }
    }
  }
}
