Even in BS3 you should have had the row component as the parent component to columns. It’s required for proper column spacing. As well as having a container(-fluid) component somewhere as a parent to your grid. Because the container(-fluid) adds side padding and the row uses negative side margins to compensate so that the grids columns evenly line up. As well as the column padding that gives back the side spacing that you lost on grid it’s self. All working together to make the spacing all line up.