As usual, first present your problem, not your solution
Usually, homebrewing something is about creating a new thing that does some particular stuff that you want, but is inexistent in the original published content, or to solve something you think it is a problem. For example, this question is about rebalancing winged races, which OP sees as problematic/unbalanced. This one is about elemental flavor. State your problem, what you wanted to achieve with that homebrew. This opens up for better answers than "Your homebrew is too strong" or "Your homebrew will never see play".
Present your efforts
Then, after presenting your problem, you might present your solution and why you want to solve it that way. This is where you will present us your homebrew stuff. Try to explain your thought process behind each feature, what flavor it had, why did you think it was a good idea. As an example of not doing it, this question got some downvotes and even was closed (probably) because it presents nothing on the thought process behind those features.
I think these two points are the most essential for getting a good answer. We can always give a broad mechanical answer comparing it to published races and the overall balance and synergy, but it might not actually solve the problem.
If you have a specific campaign in mind where you are using that homebrew, tell us about it. Many (and when I say many, I say MANY) features fluctuate between useless and overpowered depending on the campaign. Flying is probably the best example I can think: it's utterly broken in open areas in Tier 1 campaigns, it does nothing inside a cave with a 7.5ft ceiling. Damage resistances are strong if and only if there are enemies that actually use that type of damage against you. Anyway, most features are situational and providing us the situation you're expecting them to show up is incredibly important.