/* */
.loading-active {
    animation-duration: 1.25s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: linear-gradient(to right, #efefef 8%, #dcdbdb 18%, #efefef 33%);
    background-size: 800px 104px;
    min-height: 56px!important;
    position: relative;
    pointer-events: none;
}

.loading-active-translucid {
    /*position: absolute;*/
    /*top: 0;*/
    /*width: 100%;*/
    /*height: 100%;*/
    /*z-index: 100;*/

    animation-duration: 1.25s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 8%, rgba(164, 164, 164, 0.8) 18%, rgba(0, 0, 0, 0.4) 33%);
    background-size: 800px 104px;
    min-height: 96px;
    pointer-events: none;
}

.loading-active-translucid-for-button {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 100;

    animation-duration: 1.25s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.4) 8%, rgba(164, 164, 164, 0.8) 18%, rgba(0, 0, 0, 0.4) 33%);
    background-size: 800px 104px;
    min-height: 54px;
    pointer-events: none;
}

.loading-active:not(button, tbody) > * {
    /*display: none !important;*/
    visibility: hidden;
}

tbody.loading-active > tr > td > div {
    visibility: hidden;
}

.loading-active.loading-h100-block {
    min-height: 100px;
}
.loading-active.loading-h150-block {
    min-height: 150px;
}
.loading-active.loading-h200-block {
    min-height: 200px;
}

.loading-disabled {
    opacity: 0.4 !important;
    pointer-events: none;
}
@keyframes placeHolderShimmer{
    0%{
        background-position: -468px 0
    }
    100%{
        background-position: 468px 0
    }
}

button.loading-active {
    animation-duration: 1.25s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    animation-name: placeHolderShimmer;
    animation-timing-function: linear;
    background: linear-gradient(to right, rgba(239, 239, 239, 0) 8%, rgba(220, 219, 219, 0.5) 18%, rgba(239, 239, 239, 0) 33%);
    background-size: 800px 104px;
    min-height: auto;
    position: relative;
    pointer-events: none;
    transition: height 0.5s;

    opacity: 0.4;
}

p.loading-active {
    color: transparent;
}

/* */

/* */
.heartbeat {
    animation: beat .5s infinite alternate;
    transform-origin: center;
}

@keyframes beat {
    to {
        transform: scale(1.1);
    }
}
/* */

.pulsate-bck {
    -webkit-animation: pulsate-bck 0.5s ease-in-out infinite both;
    animation: pulsate-bck 0.5s ease-in-out infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-6-17 17:32:6
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation pulsate-bck
 * ----------------------------------------
 */
@-webkit-keyframes pulsate-bck {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}
@keyframes pulsate-bck {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    50% {
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.ping {
    -webkit-animation: ping 0.8s ease-in-out infinite both;
    animation: ping 0.8s ease-in-out infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2024-6-17 17:41:22
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation ping
 * ----------------------------------------
 */
@-webkit-keyframes ping {
    0% {
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
        opacity: 0.8;
    }
    80% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(2.2);
        transform: scale(2.2);
        opacity: 0;
    }
}
@keyframes ping {
    0% {
        -webkit-transform: scale(0.2);
        transform: scale(0.2);
        opacity: 0.8;
    }
    80% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 0;
    }
    100% {
        -webkit-transform: scale(2.2);
        transform: scale(2.2);
        opacity: 0;
    }
}


