.cube-loading {
    /*width: 100%;*/
    /*height: 100%;*/
    /*background: #16171d;*/
    /*opacity: 0.5;*/
    /*position: fixed;*/
    z-index: 10000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .7);
}

.cube-loading > div {
    width: 60px;
    height: 60px;
    position: absolute;
    left: 50%;
    margin-left: -30px;
    top: 50%;
    margin-top: -30px;
}

.cube-loading > div > div {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    background: #2995D8;
    top: 10px;
    left: 10px;
    transform-origin: 20px 20px;
    border-radius: 8px;
    animation: spin-a 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}

.cube-loading > div > .c2 {
    top: 10px;
    left: auto;
    right: 10px;
    transform-origin: -4px 20px;
    animation: spin-b 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
.cube-loading > div > .c3 {
    top: auto;
    left: auto;
    right: 10px;
    bottom: 10px;
    transform-origin: -4px -4px;
    animation: spin-c 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}
.cube-loading > div > .c4 {
    top: auto;
    bottom: 10px;
    transform-origin: 20px -4px;
    animation: spin-d 2s infinite cubic-bezier(0.5, 0, 0.5, 1);
}

@keyframes spin-a {
    0%   { transform: rotate(90deg); }
    0%  { transform: rotate(90deg); }
    50%  { transform: rotate(180deg); }
    75%  { transform: rotate(270deg); }
    100% { transform: rotate(360deg); }
}
@keyframes spin-b {
    0%   { transform: rotate(90deg); }
    25%  { transform: rotate(90deg); }
    25%  { transform: rotate(180deg); }
    75%  { transform: rotate(270deg); }
    100% { transform: rotate(360deg); }
}
@keyframes spin-c {
    0%   { transform: rotate(90deg); }
    25%  { transform: rotate(90deg); }
    50%  { transform: rotate(180deg); }
    50%  { transform: rotate(270deg); }
    100% { transform: rotate(360deg); }
}
@keyframes spin-d {
    0%   { transform: rotate(90deg); }
    25%  { transform: rotate(90deg); }
    50%  { transform: rotate(180deg); }
    75%  { transform: rotate(270deg); }
    75% { transform: rotate(360deg); }
    100% { transform: rotate(360deg); }
}


.cube-loading > span {
    width: 100px;
    height: 30px;
    position: absolute;
    left: 50%;
    margin-left: -50px;
    top: 50%;
    margin-top: 30px;
    color: #2995D8;
    font-size: 14px;
    text-align: center;
}