.falling-icons {
    position: fixed;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 5;
}

.falling-icon {
    position: absolute;
    top: -80px;
    width: 42px;
    height: 42px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: .85;
    animation: fallIcon linear infinite;
    will-change: transform;
}

@keyframes fallIcon {
    from {
        transform: translate3d(var(--x), -80px, 0) rotate(0deg);
    }

    to {
        transform: translate3d(var(--x-end), 110vh, 0)
                   rotate(360deg);
    }
}

@media (max-width:768px),
(prefers-reduced-motion:reduce) {

    .falling-icons {
        display:none;
    }
}