Try this...

Sub CheckColorAndHideRows()
Dim nEndRw As Long, iStart As Integer, i As Long, dtTemp As Date

iStart = 3
nEndRw = Cells(Rows.Count, "G").End(xlUp).Row

dtTemp = Cells(iStart, "G").Value + 7

iStart = iStart + 1

Application.ScreenUpdating = False

For i = iStart To nEndRw
    With Cells(i, "G")
        If .Value < dtTemp Then
            .EntireRow.Interior.ColorIndex = 38
            .EntireRow.Hidden = True
        Else
            dtTemp = .Value + 7
        End If
    End With
Next i

Application.ScreenUpdating = True

End Sub