/*! ------------------------------------------------
 * Project Name: Ad Hocratia -  Coming Soon
 * Project Description: Ad Hocratia -  Coming Soon page
 * Tags: 
 * Version: 1.0.0
 * Build Date: December 2024
 * Last Update: December 2024
 * Author: Amenofisc / 16th Ventures
 * File name: loader.css
 * ------------------------------------------------
 *
 * ------------------------------------------------
 * Table of Contents
 * ------------------------------------------------
 *  1. Loader Styles
 * ------------------------------------------------
 * Table of Contents End
 * ------------------------------------------------ */

/* ------------------------------------------------*/
/* Loader Styles Start */
/* ------------------------------------------------*/
.loader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    background-color: #24262B;
    opacity: 1;
    visibility: visible;
    transition: visibility 0.4s 0s, opacity 0.4s, background-color 0.6s ease-in-out;
}
.loader.fade-dark {
    background-color: #16171a;
}
.loader.loaded {
    opacity: 0;
    visibility: hidden;
}

.loader__content {
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    transform: translateX(-50%) translateY(-50%);
}

.loader__logo {
    display: block;
    width: 6rem;
    height: 6rem;
    margin: 0 auto 24px;
}
.loader__logo img {
    display: block;
    width: 100%;
    height: auto;
}

.loader__caption {
    margin: 0 auto;
    text-align: center;
}
.loader__caption .loading-text {
    display: block;
    color: rgba(255, 255, 255, 0.6);
    text-transform: uppercase;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
}
.loader__caption .loading-dots {
    position: relative;
    display: inline-block;
    text-align: center;
}
.loader__caption .loading-dots::after {
    clear: both;
    content: "";
    display: table;
}
.loader__caption .loading-dots .dot {
    float: left;
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 0.3rem;
    background: #FFFFFF;
    opacity: 0;
    border-radius: 50%;
    animation: fade 1s infinite;
}
.loader__caption .loading-dots .dot:nth-of-type(1) {
    animation-delay: 0s;
}
.loader__caption .loading-dots .dot:nth-of-type(2) {
    animation-delay: 0.1s;
}
.loader__caption .loading-dots .dot:nth-of-type(3) {
    animation-delay: 0.2s;
}

@keyframes fade {
    0% {opacity: 0;}
    50% {opacity: 0.8;}
    100% {opacity: 0;}
}

@keyframes slideInDown {
    from {
        transform: translate3d(0, -100%, 0);
        opacity: 0;
        visibility: visible;
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
.slideInDown {
    animation-iteration-count: 1;
    animation-name: slideInDown;
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes slideInUp {
    from {
        transform: translate3d(0, 100%, 0);
        opacity: 0;
        visibility: visible;
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
.slideInUp {
    animation-name: slideInUp;
    animation-iteration-count: 1;
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes flipOutY {
    from {
        transform: perspective(400px);
    }
    to {
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}
.flipOutY {
    backface-visibility: visible;
    animation-name: flipOutY;
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }
}
.fadeOutDown {
    animation: fadeOutDown 1s 1;
    animation-fill-mode: both;
}

/* ------------------------------------------------*/
/* Loader Styles End */
/* ------------------------------------------------*/