I will try to explain why this is happening rather than just giving you the done code.
So, when you use position:relative; you position the element relatively to its parent. On the .forgotten_2 image, you used right: 226px; and that way positioned it 226px from the right edge of its parent (the ).
Now, that positioning isn't good when the form breaks into two lines.
What you should use instead:
- Putting the icons as background-image in the input fields (if it doesn't have to link somewhere)
- Changing HTML to wrap divs around inputs and its icon, then relatively positioning to that
As I see you need the links to point to "forgot ... ", so you should probably go with the second solution. This is how your HTML should look like:
<form method="" action="" name=""> <div class="input-box"> <img class="forgotten_1" src="http://www.razorrobotics.com/images/question-mark.gif" onclick="open_win()" title="Forgotten Your Username?"> <input type="text" id="login" onfocus="if(this.value=='E-Mail Address') this.value='';" onblur="if(this.value=='') this.value='E-Mail Address';" value="E-Mail Address"> </div> <div class="input-box"> <img class="forgotten_2" src="http://www.razorrobotics.com/images/question-mark.gif" onclick="open_win()" title="Forgotten Your Password?"> <input type="password" id="login" onfocus="if(this.value=='Password') this.value='';" onblur="if(this.value=='') this.value='Password';" value="Password"> </div> <input type="submit" name="submit" value="Log In" class="general_button" style="margin-left:-35px;"> </form>
Now you would add some CSS for input-box.
Have in mind that the block_login (parent of form) has float:right; that might interfere with your styling ;)