You SPSite variable is outside the elevated block. It also needs to be included, like this:
SPSecurity.RunWithElevatedPrivileges(delegate() {
using (SPSite site = new SPSite(SPContext.Current.Site.ID)) {
using (SPWeb web = site.OpenWeb(SPContext.Current.Site.RootWeb.ID)) {
}
}
});
Good luck!