/* Fonts loaded via HTML <link> for better performance */

/* Fade Up Animation */
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.show {
    opacity: 1;
    transform: translateY(0);
}

/* Font Classes - Poppins */
.poppins-light {
    font-family: "Poppins", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.poppins-regular {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.poppins-medium {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.poppins-bold {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    font-style: normal;
}

/* Font Classes - Edu */
.edu-nsw-act-cursive {
    font-family: "Edu NSW ACT Cursive", cursive;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.edu-qld-beginner {
    font-family: "Edu QLD Beginner", cursive;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/* Marquee Animation */
@keyframes marquee {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-marquee {
    animation: marquee 20s linear infinite;
}

/* Navigation Links */
.nav-link {
    transition: all 0.3s ease;
    opacity: 0.6;
    position: relative;
}

.nav-link.active {
    opacity: 1;
}

.nav-link.active::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 1px;
    background-color: #9d7a6a;
}

.nav-link-mobile {
    opacity: 0.7;
    transition: all 0.3s ease;
}

.nav-link-mobile.active {
    opacity: 1;
    letter-spacing: 0.4em;
}

/* Loader Animation */
@keyframes loaderLine {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(200%);
    }
}

.animate-loader-line {
    animation: loaderLine 1.2s ease-in-out infinite;
}