.uv-icon {
    width: 24px;
    height: 24px;
    display: inline-block;
    vertical-align: middle;
    background-image: url("m/images/uvdesk-pwa-sprite.svg");
}

.uv-icon-2x {
    width: 48px;
    height: 48px;
    display: inline-block;
    vertical-align: middle;
    background-image: url("m/images/uvdesk-pwa-sprite.svg");
}

.uv-icon-menu {
    background-position: 0px 0px;
}

.uv-icon-search {
    background-position: -24px 0px;
}

.uv-icon-star-stroke {
    background-position: -48px 0px;
}

.uv-icon-star-fill {
    background-position: -72px 0px;
}

.uv-icon-back {
    background-position: -96px 0px;
}

.uv-icon-edit {
    background-position: -120px 0px;
}

.uv-icon-cloud {
    background-position: 0px -168px;
}

.uv-icon-ellipsis {
    background-position: -24px -168px;
}

.uv-icon-sort {
    background-position: -48px -168px;
}

.uv-icon-filter {
    background-position: -72px -168px;
}

.uv-icon-filter-active {
    background-position: -96px -168px;
}

.uv-icon-check {
    background-position: -144px 0px;
}

.uv-icon-reply {
    background-position: -168px 0px;
    opacity: .54;
}

.uv-icon-forward {
    background-position: -192px 0px;
    opacity: .54;
}

.uv-icon-note {
    background-position: -216px 0px;
    opacity: .54;
}

.uv-icon-open {
    background-position: 0px -24px;
    opacity: .54;
}

.uv-icon-pending {
    background-position: -24px -24px;
    opacity: .54;
}

.uv-icon-answered {
    background-position: -48px -24px;
    opacity: .54;
}

.uv-icon-resolved {
    background-position: -72px -24px;
    opacity: .54;
}

.uv-icon-closed {
    background-position: -96px -24px;
    opacity: .54;
}

.uv-icon-spam {
    background-position: -120px -24px;
    opacity: .54;
}

.uv-icon-star {
    background-position: -144px -24px;
    opacity: .54;
}

.uv-icon-tag {
    background-position: -168px -24px;
    opacity: .54;
}

.uv-icon-settings {
    background-position: -192px -24px;
    opacity: .54;
}

.uv-icon-desktop {
    background-position: -216px -24px;
    opacity: .54;
}

.uv-icon-check-active {
    background-position: 0px -48px;
    opacity: .54;
}

.uv-icon-notification {
    background-position: -24px -48px;
}

.uv-icon-notification-active {
    background-position: -48px -48px;
}

.uv-icon-trash {
    background-position: -72px -48px;
    opacity: .54;
}

.uv-icon-all {
    background-position: -96px -48px;
    opacity: .54;
}

.uv-icon-arrow {
    background-position: -120px -48px;
    opacity: .54;
    transition: .3s ease-out;
}

.uv-icon-arrow-down {
    transform: rotateZ(-180deg);
}

.uv-icon-back-dark {
    background-position: -144px -48px;
    opacity: .38;
}

.uv-icon-close-dark {
    background-position: -168px -48px;
    opacity: .38;
}

.uv-icon-angle-arrow-up {
    background-position: -192px -48px;
    opacity: .54;
}

.uv-icon-angle-arrow-down {
    background-position: -216px -48px;
    opacity: .54;
}

.uv-icon-2x-attachment {
    background-position: 0px -72px;
    opacity: .38;
}

.uv-icon-2x-saved-replies {
    background-position: -48px -72px;
    opacity: .38;
}

.uv-icon-2x-send {
    background-position: -96px -72px;
}

.uv-icon-2x-error-offline {
    background-position: -144px -72px;
    opacity: .54;
}

.uv-icon-2x-done {
    background-position: -192px -72px;
    animation: done-pops .5s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.uv-icon-2x-error-online {
    background-position: 0px -120px;
}

.uv-icon-2x-sync {
    background-position: -48px -120px;
    animation: sync-rotate 1.5s linear infinite;
}

.uv-icon-active {
    opacity: .87;
}

.uv-icon-attachment {
    width: 18px;
    height: 18px;
    display: inline-block;
    vertical-align: middle;
    background-image: url("m/images/uvdesk-pwa-sprite-attachment.svg");
}

.uv-pdf {
    background-position: 0px 0px;
}

.uv-zip {
    background-position: -18px 0px;
}

.uv-image {
    background-position: -36px 0px;
}

.uv-doc {
    background-position: -54px 0px;
}

.uv-xls {
    background-position: -72px 0px;
}

.uv-slide {
    background-position: -90px 0px;
}

.uv-unknown {
    background-position: -108px 0px;
}

.uv-txt {
    background-position: -126px 0px;
}

@keyframes sync-rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes done-pops {
    0% {
        transform: scale(.25, .5) rotate(-25deg);
    }
    100% {
        transform: scale(1, 1) rotate(0deg);
    }
}