app-table-responsive {

	display: block;
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: -ms-autohiding-scrollbar;
}

app-loading {

	display:block;
	width:100%;
	height:100%;
	position:relative;
}
app-loading > div {
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	animation-name: app-loading-frame;
	animation-timing-function: linear;
	background-color: transparent;
	background: linear-gradient(to right, #f5f5f6 8%, #6c757d 18%, #f5f5f6 33%);
	background-size: 800px 800px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border:0;
	border-radius: .25rem;
}

@keyframes app-loading-frame {

	0% {

		background-position: -800px 0;
	}

	100% {

		background-position: 800px 0;
	}
}

app-spinner {
  position: fixed;
  z-index: 99999999;
  height: 2em;
  width: 2em;
  overflow: show;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

app-spinner:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
    background:rgba(255, 255, 255,.1);
}

app-spinner:not(:required) {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

app-spinner:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  margin-top: -0.5em;
  -webkit-animation: app-spinner-animate 150ms infinite linear;
  -moz-animation: app-spinner-animate 150ms infinite linear;
  -ms-animation: app-spinner-animate 150ms infinite linear;
  -o-animation: app-spinner-animate 150ms infinite linear;
  animation: app-spinner-animate 150ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: rgba(0,0,0, 0.75) 1.5em 0 0 0, rgba(0,0,0, 0.75) 1.1em 1.1em 0 0, rgba(0,0,0, 0.75) 0 1.5em 0 0, rgba(0,0,0, 0.75) -1.1em 1.1em 0 0, rgba(0,0,0, 0.75) -1.5em 0 0 0, rgba(0,0,0, 0.75) -1.1em -1.1em 0 0, rgba(0,0,0, 0.75) 0 -1.5em 0 0, rgba(0,0,0, 0.75) 1.1em -1.1em 0 0;
box-shadow: rgba(0,0,0, 0.75) 1.5em 0 0 0, rgba(0,0,0, 0.75) 1.1em 1.1em 0 0, rgba(0,0,0, 0.75) 0 1.5em 0 0, rgba(0,0,0, 0.75) -1.1em 1.1em 0 0, rgba(0,0,0, 0.75) -1.5em 0 0 0, rgba(0,0,0, 0.75) -1.1em -1.1em 0 0, rgba(0,0,0, 0.75) 0 -1.5em 0 0, rgba(0,0,0, 0.75) 1.1em -1.1em 0 0;
}

@-webkit-keyframes app-spinner-animate {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes app-spinner-animate {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes app-spinner-animate {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes app-spinner-animate {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
