/**
 * Preloader styles
 *
 * @author n1474335 [n1474335@gmail.com]
 * @copyright Crown Copyright 2017
 * @license Apache-2.0
 */

 #loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    background-color: var(--loader-background-colour);
}

.loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;

    border: 3px solid transparent;
    border-top-color: var(--loader-outer-colour);
    border-radius: 50%;

    animation: spin 2s linear infinite;
}

.loader:before,
.loader:after {
    content: "";
    position: absolute;
    border: 3px solid transparent;
    border-radius: 50%;
}

.loader:before {
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-top-color: var(--loader-middle-colour);
    animation: spin 3s linear infinite;
}

.loader:after {
    top: 13px;
    left: 13px;
    right: 13px;
    bottom: 13px;
    border-top-color: var(--loader-inner-colour);
    animation: spin 1.5s linear infinite;
}

.loading-msg {
    display: block;
    position: relative;
    width: 400px;
    left: calc(50% - 200px);
    top: calc(50% + 50px);
    text-align: center;
    opacity: 0;
    font-size: 18px;
}

.loading-msg.loading {
    opacity: 1;
    transition: all 0.1s ease-in;
}

.loading-error {
    display: block;
    position: relative;
    width: 600px;
    left: calc(50% - 300px);
    top: 10%;
}


/* Loaded */
.loaded .loading-msg {
    opacity: 0;
    transition: all 0.3s ease-out;
}

.loaded #loader-wrapper {
    opacity: 0;
    transition: all 0.5s 0.3s ease-out;
}

.loaded #rec-list li {
	animation: bump 0.7s cubic-bezier(0.7, 0, 0.3, 1) both;
}

.loaded #content-wrapper {
	animation-delay: 0.10s;
}

.loaded #rec-list li:first-child {
	animation-delay: 0.20s;
}

.loaded #rec-list li:nth-child(2) {
	animation-delay: 0.25s;
}

.loaded #rec-list li:nth-child(3) {
	animation-delay: 0.30s;
}

.loaded #rec-list li:nth-child(4) {
	animation-delay: 0.35s;
}

.loaded #rec-list li:nth-child(5) {
	animation-delay: 0.40s;
}

.loaded #rec-list li:nth-child(6) {
	animation-delay: 0.45s;
}

.loaded #rec-list li:nth-child(7) {
	animation-delay: 0.50s;
}

.loaded #rec-list li:nth-child(8) {
	animation-delay: 0.55s;
}

.loaded #rec-list li:nth-child(9) {
	animation-delay: 0.60s;
}

.loaded #rec-list li:nth-child(10) {
	animation-delay: 0.65s;
}


/* Animations */

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

@keyframes bump {
	from {
        opacity: 0;
        transform: translate3d(0, 200px, 0);
    }
}
