Each browser applies CSS in a slightly different way. You can use CSS hacks to target only Safari as mentioned here, but that is quite complex. I suggest you use JavaScript to find out the browser. If you want to know how to exactly find the brower, check this post. But the actual function is below.
function findBrowser() {
var ua = navigator.userAgent, tem,
M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
tem = /\brv[ :]+(\d+)/g.exec(ua) || [];
return 'IE '+( tem[1] || '');
}
if(M[1] === 'Chrome'){
tem = ua.match(/\b(OPR|Edge?)\/(\d+)/);
if(tem != null) return tem.slice(1).join(' ').replace('OPR', 'Opera').replace('Edg ', 'Edge ');
}
M= M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem= ua.match(/version\/(\d+)/i))!= null) M.splice(1, 1, tem[1]);
return M.join(' ');
}
if(findBrowser() === 'Safari 13') {
document.querySelector('img').classList.add("inSafari");
}
Change 'Safari 13' to the version of Safari which is causing the problem.
Then, in your stylesheet:
.inSafari {
...
}