/* Preloader Styles */
.preloader {
    position: fixed;
    overflow: hidden;
    z-index: 100;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    color: #4b4b4b;
    text-align: center;
}

#page-loader {
}

.loading {
    -webkit-animation: gradient 5s ease-in-out infinite;
    animation: gradient 5s ease-in-out infinite;
    display: -webkit-inline-box;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999999;
    left: 0;
}

.loading * {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0) rotate(0deg);
}

.loading .logo {
    background-image: url("../images/logo.png");
    background-repeat: no-repeat;
    background-position: center;
    width: 360px;
    height: 100%;
}

.loading .dots.animate .dot {
    -webkit-animation: loading-block 2.5s ease-in-out infinite;
    animation: loading-block 2.5s ease-in-out infinite;
}

.loading .dots.animate .dot:after {
    -webkit-animation: loading-dot 2.5s ease-in-out infinite;
    animation: loading-dot 2.5s ease-in-out infinite;
}

.loading .dots .dot {
    width: 300px;
    height: 300px;
}

.loading .dots .dot:after {
    content: "";
    display: inline-block;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    position: absolute;
    transform: scale(0.17);
}

.ss {
    -webkit-animation: loading-dot 2.5s ease-in-out infinite;
    animation: loading-dot 2.5s ease-in-out infinite;
}

.aa {
    -webkit-animation: gradient1 5s ease-in-out infinite;
    animation: gradient1 5s ease-in-out infinite;
}

.ss1 {
    -webkit-animation: loading-dot 2.5s ease-in-out infinite;
    animation: loading-dot 2.5s ease-in-out infinite;
}

.loading .ss .dot {
    top: -130px;
    left: -107px;
    scale: 1.2;
    background-image: url("../cm icon.svg");
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.loading .ss .dot:after {
    transform-origin: top right;
    top: 0;
    right: 0;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.loading .ss1 .dot {
    background-image: url("../cm bt icon.svg");
    top: 172px;
    left: 224px;
    scale: 1.2;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

.loading .ss1 .dot:after {
    transform-origin: bottom right;
    bottom: 0;
}

/* Animation Keyframes */
@-webkit-keyframes loading-block {
    0%, 71.4285714286%, 100% {
        transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}

@keyframes loading-block {
    71.4285714286%, 100% {
        transform: translate3d(-50%, -50%, 0) rotate(360deg);
    }
}

@-webkit-keyframes loading-dot {
    0%, 71.4285714286%, 100% {
        transform: scale(1);
    }
    35.7142857143% {
        transform: scale(0.5);
    }
}

@keyframes loading-dot {
    0%, 71.4285714286%, 100% {
        transform: scale(1);
    }
    35.7142857143% {
        transform: scale(0.5);
    }
}

@keyframes gradient {
    0%, 100%, 93%, 42% {
        background-color: #dd4238;
    }
    43%, 92% {
        background-color: #E2E2E2;
    }
}

@keyframes gradient1 {
    0%, 100%, 93%, 42% {
        filter: invert(1);
    }
    43%, 92% {
        filter: invert(0);
    }
}

@-webkit-keyframes preloader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes preloader {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Hide preloader after page loads */
.preloader-hidden {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease, visibility 0.5s ease;
} 