﻿.text-loading {
    font-size: 15px;
}

    .text-loading:after {
        display: inline-block;
        animation: dotty steps(1,end) 2s infinite;
        content: '';
    }

@keyframes dotty {
    0% {
        content: '';
    }

    25% {
        content: '.';
    }

    50% {
        content: '..';
    }

    75% {
        content: '...';
    }

    100% {
        content: '';
    }
}

.content-loading {
    /*position: absolute;*/
    z-index: 99999 !important;
    width: 100%;
    height: 100%;
    background: rgb(0,0,0,0.9);
    /*background-color: lightblue;*/
    display: none;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    font-size: 0;
}

    .content-loading > .loading {
        font: 26px/1.5 Monospace;
        color: #10c4b5;
        position: absolute;
        z-index: 999;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

.loading > span {
    -webkit-animation: flip 2s infinite;
    animation: flip 2s infinite;
    display: inline-block;
    -webkit-transform-origin: 50% 50% -10px;
    transform-origin: 50% 50% -10px;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

    .loading > span:nth-child(1) {
        -webkit-animation-delay: 0.1s;
        animation-delay: 0.1s;
    }

    .loading > span:nth-child(2) {
        -webkit-animation-delay: 0.2s;
        animation-delay: 0.2s;
    }

    .loading > span:nth-child(3) {
        -webkit-animation-delay: 0.3s;
        animation-delay: 0.3s;
    }

    .loading > span:nth-child(4) {
        -webkit-animation-delay: 0.4s;
        animation-delay: 0.4s;
    }

    .loading > span:nth-child(5) {
        -webkit-animation-delay: 0.5s;
        animation-delay: 0.5s;
    }

    .loading > span:nth-child(6) {
        -webkit-animation-delay: 0.6s;
        animation-delay: 0.6s;
    }

    .loading > span:nth-child(7) {
        -webkit-animation-delay: 0.7s;
        animation-delay: 0.7s;
    }

@-webkit-keyframes flip {
    to {
        -webkit-transform: rotateX(1turn);
        transform: rotateX(1turn);
    }
}

@keyframes flip {
    to {
        -webkit-transform: rotateX(1turn);
        transform: rotateX(1turn);
    }
}

.online,
.offline,
.away,
.busy {
    display: inline-block;
    position: relative;
    padding-left: 1.5em;
    margin-bottom:5px;
}

    .online:before,
    .offline:before,
    .away:before,
    .busy:before {
        border: 1px solid blue;
        border-radius: 50%;
        /*box-shadow: inset 1px 0 0 #1a1a1a, inset -1px 0 0 #1a1a1a, inset 0 1px 0 #1a1a1a, inset 0 -1px 0 #1a1a1a, 0 2px 0 rgba(0, 0, 0, 0.2);*/
        content: "";
        height: 1em;
        margin-top: -.6em;
        position: absolute;
        top: 50%;
        left: 0;
        width: 1em;
    }

    .online:before {
        background-color: #77AB47;
        border-color: #77AB47;
    }

    .online:after {
        border-radius: 50%;
        border: 1px solid #77AB47;
        box-shadow: 0 0 4px rgba(119, 171, 71, 0.6), inset 0 0 4px rgba(119, 171, 71, 0.6);
        content: "";
        height: 2em;
        margin: -1.1em 0 0 -.5em;
        position: absolute;
        top: 50%;
        left: 0;
        width: 2em;
        -webkit-transform: scale(0);
        -webkit-animation: online-ping 2.5s ease-in-out infinite;
        animation: online-ping 2.5s ease-in-out infinite;
    }

@-webkit-keyframes online-ping {
    0% {
        opacity: 1;
        -webkit-transform: scale(0);
    }

    50% {
        opacity: .7;
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(1);
    }
}

@keyframes online-ping {
    0% {
        opacity: 1;
        transform: scale(0);
    }

    50% {
        opacity: .6;
    }

    100% {
        opacity: 0;
        transform: scale(1);
    }
}

.offline:before {
    background-color: rgba(148, 137, 146, 0.2);
    border-color: #948992;
}

.away:before {
    background-color: rgba(255, 230, 133, 0.8);
    border-color: #FFE685;
}

.busy:before {
    background-color: rgba(197, 56, 91, 0.4);
    border-color: #C5385B;
    -webkit-animation: busy-pulse 3s ease-in-out infinite alternate;
    animation: busy-pulse 3s ease-in-out infinite alternate;
}

@-webkit-keyframes busy-pulse {
    0% {
        background-color: rgba(197, 56, 91, 0.9);
    }

    50% {
        background-color: rgba(197, 56, 91, 0.4);
    }

    100% {
        background-color: rgba(197, 56, 91, 0.9);
    }
}

@keyframes busy-pulse {
    0% {
        background-color: rgba(197, 56, 91, 0.9);
    }

    50% {
        background-color: rgba(197, 56, 91, 0.4);
    }

    100% {
        background-color: rgba(197, 56, 91, 0.9);
    }
}
