This is being caused by something called 'specificity', that means that the css you are applying using just img in your css is overriding anything else, (not an exact definition, but it will do).
By using img:hover as the 'target' in the css it will apply the css to all images.
Remove the css selector for the img:hover completely then add this, (also try not to use '-' in your html/css, instead use '_' -
.img-header:hover {
opacity: 1.0;
}
You will notice that I have not included the IE filter code, this is because the use of IE filters disables cleartype, which will cause fuzzy text on the page, unless you know how to fix the problem do NOT use IE filters.
IE10 and below has had all support from Microsoft stopped, (even security updates) so unless there is an absolute necessity for you to support these old browsers, don't worry about them.