/* =========================================================
   OMEGA HOSPITALS - FULL SCREEN PAGE LOADER
   ========================================================= */


/* ---------------------------------------------------------
   FULL SCREEN OVERLAY
   --------------------------------------------------------- */

#omega-page-loader {
    position: fixed !important;

    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    min-height: 100vh !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /*
     * Transparent white overlay.
     * Lower value = more transparent.
     */
    background: rgba(0, 0, 0, 0.75) !important;

    /*
     * Blur EVERYTHING behind the loader,
     * including header and footer.
     */
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;

    /*
     * Extremely high z-index.
     * This ensures header, sticky header,
     * Elementor elements and footer stay behind it.
     */
    z-index: 2147483647 !important;

    /*
     * Initial state
     */
    opacity: 1;
    visibility: visible;

    /*
     * Smooth fade out
     */
    transition:
        opacity 0.4s ease,
        visibility 0.4s ease;

    /*
     * Prevent clicking website while loading
     */
    pointer-events: all;

    /*
     * Prevent accidental text selection
     */
    user-select: none;

    /*
     * Create its own rendering layer
     */
    isolation: isolate;
}


/* ---------------------------------------------------------
   LOADER HIDDEN STATE
   --------------------------------------------------------- */

#omega-page-loader.is-loaded {
    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
}


/* ---------------------------------------------------------
   LOADER CONTAINER
   --------------------------------------------------------- */

.omega-loader {
    position: relative;

    width: 150px;
    height: 150px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;
}


/* ---------------------------------------------------------
   SPINNING RING
   --------------------------------------------------------- */

.omega-loader-ring {
    position: absolute;

    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border-radius: 50%;

    /*
     * Background part of ring
     */
    border: 3px solid rgba(0, 114, 188, 0.12);

    /*
     * Active spinning portion
     */
    border-top-color: #EC691F;
    border-left-color: #0060AA;
    border-right-color: #299FB1;

    /*
     * Spin
     */
    animation: omegaLoaderSpin 1.2s linear infinite;
}


/* ---------------------------------------------------------
   RING ANIMATION
   --------------------------------------------------------- */

@keyframes omegaLoaderSpin {

    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }

}


/* ---------------------------------------------------------
   OMEGA LOGO
   --------------------------------------------------------- */

.omega-loader-logo {
    position: relative;

    z-index: 2;

    width: 120px;

    display: flex;
    align-items: center;
    justify-content: center;

    /*
     * Keep logo static
     */
    animation: none !important;
}


/* ---------------------------------------------------------
   LOGO IMAGE
   --------------------------------------------------------- */

.omega-loader-logo img {
    display: block;

    width: 100%;
    max-width: 120px;

    height: auto;

    object-fit: contain;
}


/* ---------------------------------------------------------
   TABLET
   --------------------------------------------------------- */

@media (max-width: 1024px) {

    .omega-loader {
        width: 160px;
        height: 160px;
    }

    .omega-loader-logo {
        width: 105px;
    }

    .omega-loader-logo img {
        max-width: 105px;
    }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

    #omega-page-loader {
        /*
         * Slightly stronger overlay on mobile
         */
        background: rgba(255, 255, 255, 0.50) !important;

        backdrop-filter: blur(7px) !important;
        -webkit-backdrop-filter: blur(7px) !important;
    }

    .omega-loader {
        width: 140px;
        height: 140px;
    }

    .omega-loader-logo {
        width: 95px;
    }

    .omega-loader-logo img {
        max-width: 95px;
    }

}


/* ---------------------------------------------------------
   SMALL MOBILE
   --------------------------------------------------------- */

@media (max-width: 480px) {

    .omega-loader {
        width: 125px;
        height: 125px;
    }

    .omega-loader-logo {
        width: 85px;
    }

    .omega-loader-logo img {
        max-width: 85px;
    }

    .omega-loader-ring {
        border-width: 3px;
    }

}


/* ---------------------------------------------------------
   ACCESSIBILITY
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {

    .omega-loader-ring {
        animation: none;
    }

}