/* ==========================================
   AI EXPRESSIONS V4
   weather.css
   Atmosphere Engine Styles
========================================== */

/* Weather layer sits above the page but
   below menus and popups */

#weather-layer{

    position:fixed;

    inset:0;

    pointer-events:none;

    overflow:hidden;

    z-index:30;

}

/* ==========================================
   SNOW
========================================== */

.snowflake{

    position:absolute;

    top:-40px;

    color:white;

    opacity:.9;

    user-select:none;

    text-shadow:0 0 6px rgba(255,255,255,.8);

    animation-name:snowFall;

    animation-timing-function:linear;

    animation-iteration-count:infinite;

}

@keyframes snowFall{

    from{

        transform:
            translateY(-50px)
            translateX(0px)
            rotate(0deg);

    }

    to{

        transform:
            translateY(110vh)
            translateX(80px)
            rotate(360deg);

    }

}

/* ==========================================
   SPRING PETALS
========================================== */

.petal{

    position:absolute;

    top:-40px;

    color:#ffd6ec;

    opacity:.85;

    user-select:none;

    animation-name:petalFall;

    animation-timing-function:linear;

    animation-iteration-count:infinite;

}

@keyframes petalFall{

    from{

        transform:
            translateY(-40px)
            translateX(0px)
            rotate(0deg);

    }

    to{

        transform:
            translateY(110vh)
            translateX(160px)
            rotate(720deg);

    }

}

/* ==========================================
   AUTUMN LEAVES
========================================== */

.leaf{

    position:absolute;

    top:-50px;

    user-select:none;

    opacity:.9;

    animation-name:leafFall;

    animation-timing-function:linear;

    animation-iteration-count:infinite;

}

@keyframes leafFall{

    from{

        transform:
            translateY(-50px)
            translateX(0px)
            rotate(0deg);

    }

    to{

        transform:
            translateY(110vh)
            translateX(220px)
            rotate(1080deg);

    }

}

/* ==========================================
   SUMMER PARTICLES
========================================== */

.particle{

    position:absolute;

    width:4px;

    height:4px;

    border-radius:50%;

    background:rgba(255,245,180,.85);

    box-shadow:0 0 10px rgba(255,255,180,.8);

    animation-name:floatParticle;

    animation-timing-function:ease-in-out;

    animation-iteration-count:infinite;

}

@keyframes floatParticle{

    0%{

        transform:
            translateY(0px);

        opacity:.25;

    }

    50%{

        transform:
            translateY(-18px);

        opacity:1;

    }

    100%{

        transform:
            translateY(0px);

        opacity:.25;

    }

}

/* ==========================================
   RAIN
========================================== */

.raindrop{

    position:absolute;

    width:2px;

    height:22px;

    background:linear-gradient(

        transparent,

        rgba(180,220,255,.95)

    );

    opacity:.6;

    animation-name:rainFall;

    animation-timing-function:linear;

    animation-iteration-count:infinite;

}

@keyframes rainFall{

    from{

        transform:
            translateY(-30px);

    }

    to{

        transform:
            translateY(110vh);

    }

}

/* ==========================================
   ATMOSPHERE FADE
========================================== */

.weatherFade{

    animation:weatherFade 1s ease;

}

@keyframes weatherFade{

    from{

        opacity:0;

    }

    to{

        opacity:1;

    }

}