.sm-table {
  display: block;
}

.sm-table .select-column,
.sm-table .select-column button {
  width: 30px;
}

.sm-table .select-column {
  padding: 0;
}

.sm-table thead th .material-icons,
.sm-table tbody td .material-icons {
  font-size: 14px;
}
.sm-table thead th .material-icons {
  font-weight: bold;
}
.sm-table tr.selected td {
  background-color: lemonchiffon;
}
.sm-table .no-data {
  color: #ccc;
  text-align: center;
  font-style: italic;
}

.btn-sm-table-function.activated {
  color: yellowgreen;
}

.sm-table-filter-popup {
  position: absolute;
  font-weight: normal;
  text-align: left;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.28);
  min-width: 150px;
  z-index: 1000;
  padding: 5px;
}

.sm-table-filter-popup .option-list {
  max-height: 400px;
  overflow-y: auto;
}

.sm-table-filter-popup .option-list label {
  font-weight: normal;
}

.sm-table-filter-popup button {
  margin-top: 3px;
}

.sm-table-outer-wrapper div.grid {
  display: table;
}
.sm-table-outer-wrapper div.grid > div {
  display: table-row;
}
.sm-table-outer-wrapper div.grid > div > div {
  display: table-cell;
  vertical-align: middle;
}
.sm-table-outer-wrapper div.clear {
  clear: both;
}
.sm-table-outer-wrapper div.grid > div > div:not(:first-child) {
  padding-left: 10px;
}

.sm-table-header {
  margin-bottom: 20px; /* TODO: Same as .table margin-bottom, should be variable. */
}

/* Hack to make the items per page select display properly with narrower views (< 768px). */
.sm-table-header select {
  width: auto;
  display: inline-block;
}

.sm-table-pagination ul.pagination {
  margin: 0;
  display: block;
}

.sm-table-toolbar {
  display: inline-block;
}
.sm-table-toolbar .btn-group:not(:first-child) {
  margin-left: 15px;
}

.sm-table td.row-actions {
  white-space: nowrap;
}
.sm-table td.row-actions button:not(:first-child) {
  margin-left: 3px;
}

.sm-table .dropdown-menu li:not(.disabled) {
  cursor: pointer;
}

.sm-table .dropdown-menu li.disabled {
  color: #aaa;
}

.sm-table .pinnable tbody td {
  white-space: nowrap;
}

.sm-table .pinnable.with-row-actions tbody td,
.sm-table .pinnable.with-row-menu tbody td {
  height: 50px;
}

.sm-table thead th > div.th {
  display: table;
  width: 100%;
}
.sm-table thead th > div.th > div {
  display: table-row;
}
.sm-table thead th > div.th > div > div {
  display: table-cell;
  white-space: nowrap;
}
.sm-table thead th > div.th > div > div:nth-child(2) {
  text-align: right;
}

.sm-table-wrapper {
  width: 100%;
}
.sm-table-wrapper .sm-table-pinned {
  float: left;
}
.sm-table-wrapper .sm-table-main {
  overflow-x: auto;
}

.btn-sm-table-function {
  background: transparent;
  border: none;
}

button.select-row {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

button.select-row::after {
  content: "check";
  color: #ccc;
}
button.select-row.activated::after,
button.select-row.select-all::after {
  color: inherit;
}
button.select-row.activated {
  background-color: #d9edf7;
}

.busy-spinner {
  background-image: url("data:image/gif;base64,R0lGODlhEAALAPQAAP///wAAANra2tDQ0Orq6gYGBgAAAC4uLoKCgmBgYLq6uiIiIkpKSoqKimRkZL6+viYmJgQEBE5OTubm5tjY2PT09Dg4ONzc3PLy8ra2tqCgoMrKyu7u7gAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCwAAACwAAAAAEAALAAAFLSAgjmRpnqSgCuLKAq5AEIM4zDVw03ve27ifDgfkEYe04kDIDC5zrtYKRa2WQgAh+QQJCwAAACwAAAAAEAALAAAFJGBhGAVgnqhpHIeRvsDawqns0qeN5+y967tYLyicBYE7EYkYAgAh+QQJCwAAACwAAAAAEAALAAAFNiAgjothLOOIJAkiGgxjpGKiKMkbz7SN6zIawJcDwIK9W/HISxGBzdHTuBNOmcJVCyoUlk7CEAAh+QQJCwAAACwAAAAAEAALAAAFNSAgjqQIRRFUAo3jNGIkSdHqPI8Tz3V55zuaDacDyIQ+YrBH+hWPzJFzOQQaeavWi7oqnVIhACH5BAkLAAAALAAAAAAQAAsAAAUyICCOZGme1rJY5kRRk7hI0mJSVUXJtF3iOl7tltsBZsNfUegjAY3I5sgFY55KqdX1GgIAIfkECQsAAAAsAAAAABAACwAABTcgII5kaZ4kcV2EqLJipmnZhWGXaOOitm2aXQ4g7P2Ct2ER4AMul00kj5g0Al8tADY2y6C+4FIIACH5BAkLAAAALAAAAAAQAAsAAAUvICCOZGme5ERRk6iy7qpyHCVStA3gNa/7txxwlwv2isSacYUc+l4tADQGQ1mvpBAAIfkECQsAAAAsAAAAABAACwAABS8gII5kaZ7kRFGTqLLuqnIcJVK0DeA1r/u3HHCXC/aKxJpxhRz6Xi0ANAZDWa+kEAA7AAAAAAAAAAAA");
  background-repeat: no-repeat;
  background-position: center;
  min-width: 16px;
  min-height: 11px;
}
