#leaves {
    position: relative;
    top: -60vmin;
    right: 50vmin;
    width: 100%;
    text-align: right;
}

#leaves i {
    display: inline-block;
    width: 40vmin;
    height: 30vmin;
    background: linear-gradient(to bottom right, #309900, #005600);
    transform: skew(20deg);
    border-radius: 5% 40% 70%;
    box-shadow: inset 0px 0px 0.2vmin #222;
    border: 0.2vmin solid #333;
    z-index: 1;
    -webkit-animation: falling 5s 0s infinite;
}

#leaves i:nth-of-type(2n) { -webkit-animation: falling2 5s 0s infinite; }
#leaves i:nth-of-type(3n) { -webkit-animation: falling3 5s 0s infinite; }

#leaves i:before {
    position: absolute;
    content: '';
    top: 23.4vmin;
    right: 1.8vmin;
    height: 5.4vmin;
    width: 6.4vmin;
    transform: rotate(49deg);
    border-radius: 0% 15% 15% 0%;
    border-top: 0.2vmin solid #222;
    border-bottom: 0.2vmin solid #222;
    border-left: 0px solid #222;
    border-right: 0.2vmin solid #222;
    background: linear-gradient(to right, rgba(0,100,0,1), #005600);
    z-index: 1;
}

#leaves i:after {
    content: '';
    height: 25vmin;
    width: 2vmin;
    background: linear-gradient(to right, rgba(0,0,0,.15), rgba(0,0,0,0));
    display: block;
    transform: rotate(125deg);
    position: absolute;
    left: 17vmin;
    border-radius: 50%;
}

#leaves i:nth-of-type(n)    { height:4.6vmin; width:6vmin; }
#leaves i:nth-of-type(n):before { width:1.4vmin; height:1vmin; top:3.4vmin; right:0.2vmin; }
#leaves i:nth-of-type(n):after { width:0.4vmin; height:3.4vmin; left: 2.4vmin; top:0vmin; }

#leaves i:nth-of-type(2n+1)    { height:2.2vmin; width:3.2vmin; }
#leaves i:nth-of-type(2n+1):before { width:0.8vmin; height:0.6vmin; top:1.4vmin; right:0vmin; }
#leaves i:nth-of-type(2n+1):after { width:0.4vmin; height:1.2vmin; left: 1vmin; top:0.2vmin; }

#leaves i:nth-of-type(3n+2)  { height:3.4vmin; width:4.6vmin; }
#leaves i:nth-of-type(3n+2):before  { height:0.8vmin; width:0.8vmin; top:2.4vmin; right:0.2vmin; }
#leaves i:nth-of-type(3n+2):after  { height:2vmin; width:0.4vmin; top:0.2vmin; left:1.6vmin; }

#leaves i:nth-of-type(n)   { -webkit-animation-delay: 1.9s;}
#leaves i:nth-of-type(2n)  { -webkit-animation-delay: 3.9s;}
#leaves i:nth-of-type(3n)  { -webkit-animation-delay: 2.3s;}
#leaves i:nth-of-type(4n)  { -webkit-animation-delay: 4.4s;}
#leaves i:nth-of-type(5n)  { -webkit-animation-delay: 5s;  }
#leaves i:nth-of-type(6n)  { -webkit-animation-delay: 3.5s;}
#leaves i:nth-of-type(7n)  { -webkit-animation-delay: 2.8s;}
#leaves i:nth-of-type(8n)  { -webkit-animation-delay: 1.5s;}
#leaves i:nth-of-type(9n)  { -webkit-animation-delay: 3.3s;}
#leaves i:nth-of-type(10n) { -webkit-animation-delay: 2.5s;}
#leaves i:nth-of-type(11n) { -webkit-animation-delay: 1.2s;}
#leaves i:nth-of-type(12n) { -webkit-animation-delay: 4.1s;}
#leaves i:nth-of-type(13n) { -webkit-animation-delay: 1s;  }
#leaves i:nth-of-type(14n) { -webkit-animation-delay: 4.7s;}
#leaves i:nth-of-type(15n) { -webkit-animation-delay: 3s;  }

#leaves i:nth-of-type(n)    { background: linear-gradient(to bottom right, #309900, #005600); }
#leaves i:nth-of-type(2n+2)  { background: linear-gradient(to bottom right, #5e9900, #2b5600); }
#leaves i:nth-of-type(4n+1)  { background: linear-gradient(to bottom right, #990, #564500); }

#leaves i:nth-of-type(n)    { opacity: .7;}
#leaves i:nth-of-type(3n+1)  { opacity: .5;}
#leaves i:nth-of-type(3n+2)  { opacity: .3;}

#leaves i:nth-of-type(n)    {transform: rotate(180deg);}

#leaves i:nth-of-type(n) { -webkit-animation-timing-function:ease-in-out;}

@-webkit-keyframes falling {
    0% {
        -webkit-transform:
            translate3d(60vmin,0,0)
            rotate(0deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-70vmin,140vmin,0)
            rotate(90deg);
        opacity: 0;
    }
}

@-webkit-keyframes falling3 {
    0% {
        -webkit-transform:
            translate3d(0,0,0)
            rotate(-20deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-46vmin,128vmin,0)
            rotate(-70deg);
        opacity: 0;
    }
}

@-webkit-keyframes falling2 {
    0% {
        -webkit-transform:
            translate3d(0,0,0)
            rotate(90deg);
    }
    
    100% {
        -webkit-transform:
            translate3d(-80vmin,136vmin,0)
            rotate(0deg);
        opacity: 0;
    }
}