A total solar eclipse will be visible across the U.S. on August 21, the first time on the U.S. mainland since 1979.