table {
  width: ~"calc(100% + 60px)";
  border-collapse: collapse;
  margin: -30px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  table-layout: fixed;

  thead {
    box-shadow: 0 0 2px rgba(0,0,0,.25);
    border-bottom: solid 1px var(--config-color-fade-super);
    font-size: 14px;

    th {
      position: sticky;
      top: 0;
    }
  }

  &.small {
    font-size: 14px;
  }

  &.open-end {
    tbody tr:last-child {
      border-bottom: none;
      font-weight: bold;
      background: #f7fbf7;
    }
  }

  &.full {
    tbody td, tbody th {
      vertical-align: top;
      white-space: normal;
      overflow: auto;
      line-height: 24px;
      padding-top: 20px;
      padding-bottom: 20px;
      height: auto;
    }
  }

  .avatar {
    width: 30px;
    height: 30px;
  }

  tr {
    border-bottom: solid 1px var(--config-color-fade-super);

    &:last-child {
      border-bottom: none;
    }
  }

  tr:nth-child(even) {
    background: var(--config-color-background-fade-super);
  }

  th {
    text-align: @config-start;
    font-weight: normal;

    i {
      color: var(--config-color-fade);
      font-size: 10px;
      display: inline-block;
      vertical-align: top;
      line-height: 16px;
      padding: 0 3px;
    }
  }

  td, th {
    height: 65px;
    padding: 0 15px;
    line-height: 50px;

    &:first-child {
      .func-padding-start(30px);
    }

    &:last-child {
      .func-padding-end(30px);
    }
  }

  td:first-child, th:first-child {
    @media @phones {
      width: auto;
    }
  }

  td, th {
    //text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
  }

  &.vertical {
    @media @phones, @tablets {
      border-top: solid 1px var(--config-color-fade-super);
      display: block;
      overflow: hidden;
      padding-top: 12px;

      .hide {
        display: none;
      }

      thead, tbody, tr, td, th {
        width:100%;
        display: block;
      }

      tr, th {
        padding-top: 12px;
        padding-bottom: 12px;

        &:first-child {
          padding-top: 0;
        }
      }

      td, th {
        padding: 5px 20px!important;
        text-overflow: ellipsis;
        white-space: normal;
        height: 40px;
        line-height: 40px;
        width: ~"calc(100% - 40px)";

        &:first-child, &:last-child {
          padding: 0 10px;
        }

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

        p {
          display: inline-block;
          width: ~"calc(100% - 40px)";
        }
      }

      td:not([data-title=""]) {
        &:before {
          content: attr(data-title);
          margin-right: 4px;
          font-weight: 400;
        }
      }

      thead {
        display: none;
      }
    }
  }
}