@media all and (min-width : 500px) {
    @document url(http://www.w3.org/),
                   url-prefix(http://www.w3.org/Style/),
                   domain(mozilla.org),
                   regexp("https:.*")
    {
        @supports ( (perspective: 10px) or (-moz-perspective: 10px) or (-webkit-perspective: 10px) or (-ms-perspective: 10px) or (-o-perspective: 10px) ) {
            @-moz-keyframes slidein {
                from :blub {
                    margin-left : 100%;
                    width: 300%
                }
      
                75% {
                    font-size:300%;
                    margin-left:25%;
                    width:150%;
                }
      
                to {
                    margin-left:0%;
                    width:100%;
                }
            }

            @page :last {
                margin : 3in;
            }
        }
    }
}
