.list-wrapper .throbber-table {
  display:table;
  height:100%;
  width: 100%;
}

.list-wrapper .throbber-cell {
  display:table-cell;
  vertical-align:middle;
  text-align: center;
  height:100%;
  width: 100%;
}

.list-wrapper .empty-message {
  text-align: center;
  font-size: 1.5em;
}

.list-wrapper {
  height: 100px;
}

.list-wrapper .element-stretch-top {
  animation:boundary-stretch-top 1000ms;
  -webkit-animation:boundary-stretch-top 1000ms;
}

@keyframes boundary-stretch-top {
  0% {
    transform: scaleY(1);
  }
  70% {
    transform: scaleY(2);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scaleY(1);
  }
}

@-webkit-keyframes boundary-stretch-top {
  0% {
    -webkit-transform: scaleY(1);
  }
  70% {
    -webkit-transform: scaleY(2);
    -webkit-transform-origin: 50% 100%;
  }
  100% {
    -webkit-transform: scaleY(1);
  }
}


.list-wrapper .element-stretch-bottom {
  animation:boundary-stretch-bottom 1000ms;
  -webkit-animation:boundary-stretch-bottom 1000ms;
}

@keyframes boundary-stretch-bottom {
  0% {
    transform: scaleY(1);
  }
  70% {
    transform: scaleY(2);
    transform-origin: 50% 0%;
  }
  100% {
    transform: scaleY(1);
  }
}

@-webkit-keyframes boundary-stretch-bottom {
  0% {
    -webkit-transform: scaleY(1);
  }
  70% {
    -webkit-transform: scaleY(2);
    -webkit-transform-origin: 50% 0%;
  }
  100% {
    -webkit-transform: scaleY(1);
  }
}

.list-top-throbber,
.list-bottom-throbber {
  position: relative;
  width: 100%;
  height: 5px;
  border-radius: 20px;
  -webkit-animation: horizontal-throbber 1s linear infinite;
  animation: horizontal-throbber 1s linear infinite;
  background-repeat: repeat-x;
  background-size: 200px 200px;
  background-image: linear-gradient(-45deg, grey 25%, transparent 25%, transparent 50%, grey 50%, grey 75%, transparent);
  background-image: -webkit-linear-gradient(-45deg, grey 25%, transparent 25%, transparent 50%, grey 50%, grey 75%, transparent);
}

@-webkit-keyframes horizontal-throbber
{
  to {background-position: 200px 0;}
}

@keyframes horizontal-throbber
{
  to {background-position: 200px 0;}
}

.list-top-throbber {
  top: 5px;
  margin-top: -5px;
}

.list-bottom-throbber {
  top: -5px;
  margin-bottom: -5px;
}

.scrollbar-wrapper {
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0.9);
  border: 1px solid grey;
  float: right;
  width: 2em;
  text-align: center;
  font-size: 1.5em;
  border-radius: 0.5em;
}

.scrollbar-wrapper, .scrollbar-wrapper * {
  font-size: 15px;
}

.scrollbar-wrapper button {
  margin: 0;
  width: 100%;
  padding: 0.5em;
  white-space: normal;
  background: none;
  border: none;
  color: grey;
}

.scrollbar-wrapper button.scrollbar-button-first-page {
  border-radius: 0.5em 0.5em 0 0;
}

.scrollbar-wrapper button.scrollbar-button-last-page {
  border-radius: 0 0 0.5em 0.5em;
}

.scrollbar-wrapper button:hover,
.scrollbar-wrapper button:active {
  background-color: grey;
  color: black;
}

.scrollbar-wrapper button:active {
  box-shadow: inset 0.1em 0.1em 0.2em #000;
  padding-top: 0.6em;
  padding-left: 0.6em;
  padding-bottom: 0.4em;
  padding-right: 0.4em;
}

.scrollbar-wrapper button:disabled {
  background: none;
  color: #333;
  box-shadow: none;
  padding: 0.5em;
}

.list-filter {
  display: none;
  border: 1px solid grey;
  border-radius: 0.5em;
  margin: 0.3em;
  padding-left: 1em;
  padding-right: 2em;
}

.filter-value {
  font-size: 1.2em;
}

.list-filter:after {
  cler:both
}

.list-filter .clear-filters {
  float: right;
  clear: both;
}

.collapse-buttons {
  float: right;
}

.collapse-buttons > div {
  padding: 0.2em;
  font-size: 1.3em;
}