/* =====================================================
   SVG WAVES
===================================================== */

/* .wave-divider{

    position:relative;

    width:100%;

    overflow:hidden;

    line-height:0;

}

.wave-divider svg{

    display:block;

    width:100%;

    height:160px;

}

.hero-wave{

    margin-top:-2px;

}

.services-wave{

    margin-top:-2px;

}

.footer-wave{

    margin-bottom:-2px;

} */

/* ==========================================================
   DJJ Healthcare
   animations.css
========================================================== */

/* ==========================================================
   GLOBAL TRANSITIONS
========================================================== */
* {
    transition:
        color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease;
}

/* ==========================================================
   PAGE LOADER
========================================================== */
#pageLoader {
    position: fixed;
    inset: 0;
    background: var(--primary);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 99999;
    transition: opacity 3s ease;
}

#pageLoader.loaded {
    opacity: 0;
    pointer-events: none;
}

.loaderCircle {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: loaderPulse 1.5s infinite;
}

.loaderCircle img {
    width: 90%;
}

.loaderText {
    margin-top: 30px;
    color: #fff;
    letter-spacing: 3px;
    font-size: 20px;
}

/* ==========================================================
   HERO ANIMATIONS
========================================================== */
.heroContent > * {
    opacity: 0;
    transform: translateY(60px);
}

.heroContent.show > * {
    animation: heroReveal 0.9s forwards;
}

.heroContent.show > *:nth-child(1) {
    animation-delay: 0.1s;
}

.heroContent.show > *:nth-child(2) {
    animation-delay: 0.3s;
}

.heroContent.show > *:nth-child(3) {
    animation-delay: 0.5s;
}

.heroContent.show > *:nth-child(4) {
    animation-delay: 0.7s;
}

/* ==========================================================
   SECTION REVEAL
========================================================== */
.reveal {
    opacity: 0;
    transform: translateY(80px);
}

.reveal.show {
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
}

/* ==========================================================
   IMAGE REVEAL
========================================================== */
.revealImage {
    overflow: hidden;
}

.revealImage img {
    transform: scale(1.15);
    opacity: 0;
    transition:
        transform 1.2s ease,
        opacity 1s ease;
}

.revealImage.show img {
    transform: scale(1);
    opacity: 1;
}

/* ==========================================================
   FLOATING SHAPES
========================================================== */
.floatingShapes span {
    animation: floatingShapes 12s ease-in-out infinite;
}

.floatingShapes span:nth-child(2) {
    animation-delay: 2s;
}

.floatingShapes span:nth-child(3) {
    animation-delay: 5s;
}

/* ==========================================================
   SERVICE CARDS
========================================================== */
/* .serviceCard {
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
}

.serviceCard.show {
    animation-name: cardReveal;
} */

/* ==========================================================
   BUTTONS
========================================================== */
.btn {
    overflow: hidden;
}

.btn::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255, 255, 255, 0.25),
        transparent
    );

    transform: translateX(-130%);
}

.btn:hover::after {
    animation: buttonShine 0.8s;
}

/* ==========================================================
   NAVIGATION
========================================================== */
#navigationBackground {
    transition:
        width 0.8s cubic-bezier(0.23, 1, 0.32, 1),
        border-radius 0.8s cubic-bezier(0.23, 1, 0.32, 1),
        background 0.4s;
}

.logoCircle {
    transition: all 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

/* ==========================================================
   SOCIAL
========================================================== */
.socialIcons a:hover {
    animation: iconBounce 0.45s;
}

/* ==========================================================
   WAVES
========================================================== */
.wave-divider svg {
    /* animation: waveFloat 12s ease-in-out infinite; */
}

/* ==========================================================
   KEYFRAMES
========================================================== */
@keyframes heroReveal {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes loaderPulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes floatingShapes {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-25px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes buttonShine {
    to {
        transform: translateX(130%);
    }
}

@keyframes iconBounce {
    50% {
        transform: translateY(-6px);
    }
}

@keyframes cardReveal {
    from {
        opacity: 0;
        transform: translateY(80px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes waveFloat {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(-20px);
    }
    100% {
        transform: translateX(0);
    }
}

/* Missing classes */
.floatingShapes {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 3;
}

.floatingShapes span {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.floatingShapes span:nth-child(1) {
    width: 220px;
    height: 220px;
    top: 15%;
    left: 8%;
}

.floatingShapes span:nth-child(2) {
    width: 150px;
    height: 150px;
    right: 15%;
    top: 25%;
}

.floatingShapes span:nth-child(3) {
    width: 280px;
    height: 280px;
    bottom: -80px;
    right: 10%;
}

/* More missing classes */
.reveal,
.revealLeft,
.revealRight
/* .revealImage, */
/* .revealCircle */ {
    opacity: 0;
    transition:
        opacity 0.8s ease,
        transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.revealCircle {
    overflow: hidden;
    clip-path: circle(0% at center);
    transition: clip-path 2s ease;
}

.revealCircle img {
    transform: scale(1.25);
    transition: transform 1s ease;
}

.reveal {
    transform: translateY(60px);
}

.revealLeft {
    transform: translateX(-80px);
}

.revealRight {
    transform: translateX(80px);
}

/* .revealImage {
    transform: scale(0.9);
} */

/* .revealCircle {
    transform: scale(0.2);
    clip-path: circle(0%);
} */

.visible {
    opacity: 1;
    transform: none;
}

.revealCircle.visible {
    clip-path: circle(150% at center);
}
/* .revealCircle.visible {
    clip-path: circle(100%);
} */
.revealCircle.visible img {
    transform: scale(1);
}
