Always a good idea to do a view-source when this happens.
view-source:https://www.txweather.org/Notice this:
<!-- get-USNO-sunmoon.php - Version 3.02 - 23-Nov-2018 -->
<!-- refetch seconds=1 -->
<!-- loading ./cache/USNO-moondata.txt from https://api.usno.navy.mil/rstt/oneday?date=05/04/2019&coords=30.05374,-95.49454&tz=-5 -->
<!-- curl fetching 'https://api.usno.navy.mil/rstt/oneday?date=05/04/2019&coords=30.05374,-95.49454&tz=-5' -->
<!-- curl Error: Could not resolve host: api.usno.navy.mil -->
<!-- HTTP stats: RC=0 dest= port=0 (from sce=)
Times: dns=0.000 conn=0.000 pxfer=0.000 get=27.536 total=27.536 secs -->
<!-- headers returned:
-->
<!-- Error loading from USNO API, cache not saved -->
<!-- loading finished. -->
<!-- processing JSON entries for Moon data -->
<!-- json_decode returns - Syntax error, malformed JSON -->
<!-- note: 'fracillum' not in JSON, no 'illumination' is available. -->
<!-- USNOdata
Array
(
[databy] => USNO
)
-->
As you can see, that's chewing up over 27 seconds. And it's not anything you did - it's a coincidence that the DNS resolution started failing at this time (I see it too, but I do the fetch in a cron job so my home page load isn't dependent upon it succeeding).
If you want to change code to shorten up the timeout, the code is in get-USNO-sunmoon.php within the function get_sunmoon_fetchUrlWithoutHanging(). The variable is $numberOfSeconds (defaults to 30).
This is a reoccurring problem with USNO but it's been a while since it has happened.