The blockchain network is pretty loaded right now, which means - if you want your transactions to be processed you gotta pay a lot. Also, it's not local, the transaction fees are equal everywhere, you do realize that your transaction can be processed by some miner thousands of miles away from you, right?
Though, $40 seems extremely high, even for times like now. Something tells me that you probably loaded your crypto wallet with many
small deposits in the past, thus, increasing the weight of your transaction, which resulted in a higher fee rate.
In the future, use segwit, like many advised you here, and check the
mempool if you don't want your transaction hung up.