Bienvenida al foro.
En vez de usar
opacity, que aplica la transparencia a su contenido, puedes usar un color de fondo transparent usando
rgba() o
hsla(). Que es como usar
rgb() o
hsl() pero con un canal de transparencia añadido.
Quita el
filter y el
opacity y cambia el color a tu
#fondo:
Código CSS:
Ver originalbackground-color: rgba(255,0,0,0.5);
El
0.5 al final indica una transparencia del 50%. Los valores van del 0 al 1.