"Hard" water contains mineral salts like calcium and magnesium. When the water is heated, these salts form ions and get deposited onto any surface the water is in contact with, such as the heating element on the bottom of your dishwasher. Hot water, which is generally used as a solvent, does nothing on these deposits. So in order to get rid of them, you need to use a slightly acidic solution which will eat away at the limescale. These mild acids are available in any grocery store, and you probably have some in your home right now.
Open the dishwasher and pull out the bottom dish rack. If the dishwasher has been in use recently, leave the door open and wait about ten minutes before you continue.
Pull out on the tabs that hold the bottom wash arm to the cylinder in the middle of the dishwasher. Then pull up to remove the wash arm. Some models may have a different method of removing the wash arm, so consult your manual for instructions specific to your device. If you cannot get the arm out, you can instead just leave it in and work around it.
Pour some white vinegar into the bottom of your pan. Take two paper towels and dip them in the vinegar to get them damp.
Wrap the damp paper towels around one area of the heating element. If you wrap them around, the wet paper towels should stick to the heating element. Continue to add paper towels until the entire heating element is wrapped up.
Wait about an hour for the vinegar to eat away at the limescale.
Remove the paper towels and then wipe down the heating element with a wet cloth. Any remaining limescale should just fall away. Repeat the process if any limescale still remains.
If you don't have any white vinegar, you can use lemon juice instead. Both contain enough acid to dissolve the limescale.