To adapt to smaller screens, adjust the width accordingly. For example, you can set up the layout to display four elements in a single row on larger screens, and two rows with two elements each on smaller screens. Technically, it's still one "row" in both cases, but it appears as two lines with two elements each on smaller viewports.
Each column occupies a portion of 12 in the viewport - so when you allocate 3 columns for large screens, it translates to 25% of the screen space. As the viewport size decreases to medium and small sizes (following Bootstrap's media queries), the width is recalibrated to 6/12 or 50% of the screen, causing any extra divs to float to the next line.
<div class="row">
<div class="col-lg-3 col-md-6 col-sm-6"> Column 1</div>
<div class="col-lg-3 col-md-6 col-sm-6"> Column 2</div>
<div class="col-lg-3 col-md-6 col-sm-6"> Column 3</div>
<div class="col-lg-3 col-md-6 col-sm-6"> Column 4</div>
</div>