.cherryblossom-container { display: block; position: fixed; overflow: hidden; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1000; contain: layout paint; } /* Petals */ .cherryblossom-petal { position: fixed; top: 0; z-index: 1005; width: 15px; height: 10px; background-color: #ffc0cb; border-radius: 15px 0px 15px 0px; will-change: transform; translate: 0 -10vh; animation-name: cherryblossom-fall, cherryblossom-sway; animation-timing-function: linear, ease-in-out; animation-iteration-count: infinite, infinite; animation-duration: 10s, 3s; } .cherryblossom-petal.lighter { background-color: #ffd1dc; opacity: 0.8; } .cherryblossom-petal.darker { background-color: #ffb7c5; opacity: 0.9; } .cherryblossom-petal.type2 { width: 12px; height: 12px; border-radius: 10px 0px 10px 5px; } @keyframes cherryblossom-fall { 0% { translate: 0 -10vh; } 100% { translate: 0 110vh; } } @keyframes cherryblossom-sway { 0%, 100% { transform: translateX(0) rotate(0deg); } 50% { transform: translateX(30px) rotate(45deg); } }