For the first time since the beginning of this book, we are using CSS3 to define the structure of our page. This means we cannot simply rely on graceful degradation to support older browsers because it would compromise the whole structure of the project. Instead, we're going to look for some JavaScript libraries that are able to emulate the behavior we have implemented. This, of course, can lead to some problems if the user's browser is missing both JavaScript support and Flexible Box Layout, but at least we can hope that the number of such users is pretty low.
There are different types of such JavaScript libraries, categorized by how much extra work is required to obtain the same result as the native implementation: