/* einvitations.cloud — animated theme scenes (shared by invitations and the site) */
.tw{animation:twinkle 3s ease-in-out infinite}
@keyframes twinkle{50%{opacity:.25}}
.jet{transform-box:fill-box;transform-origin:bottom;animation:jet 1.4s ease-in-out infinite}
@keyframes jet{50%{transform:scaleY(.65)}}
.lamp{animation:twinkle 2.2s ease-in-out infinite}
.lari{animation:sway 4s ease-in-out infinite alternate}
@keyframes sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
.chadar{transform-origin:200px 800px;animation:chadar 5s ease-in-out infinite alternate}
@keyframes chadar{from{transform:skewX(-1.2deg)}to{transform:skewX(1.2deg)}}
.flame{transform-box:fill-box;transform-origin:bottom;animation:flick .5s ease-in-out infinite alternate}
@keyframes flick{to{transform:scale(.85,1.12) skewX(4deg)}}
.truck{animation:drive-in 2.6s cubic-bezier(.2,.7,.3,1) both}
@keyframes drive-in{from{transform:translateX(-430px)}}
.bob{animation:bob .35s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-1.5px)}}
.spin{animation:spin .5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lane{animation:lane .6s linear infinite}
@keyframes lane{to{transform:translateX(-48px)}}
.jingle{transform-origin:200px 646px;animation:sway .6s ease-in-out infinite alternate}
.smoke{animation:puff 1.2s ease-out infinite}
@keyframes puff{from{opacity:.7;transform:translate(0,0)}to{opacity:0;transform:translate(-20px,-14px)}}

@media (prefers-reduced-motion:reduce){.scene *{animation:none !important}}
