Вообще правильно так
<header>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="top-line">
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="bottom-line">
</div>
</div>
</div>
</div>
</header>
Проще мне кажется понять, это глянуть на таблицы. Ибо принцип тот же
<header>
<table>
<tr>
<td>
<div class="top-line">
</div>
</td>
</tr>
<tr>
<td>
<div class="bottom-line">
</div>
</td>
</tr>
</table>
</header>
Но использовав 1й пример, то для вложенных в блок
.top-line или
.bottom-line строк нужно писать так:
<header>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="top-line">
<div class="row">
<div class="col-md-6"></div>
<div class="col-md-6"></div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="bottom-line">
<div class="top-line">
<div class="row">
<div class="col-md-6"></div>
<div class="col-md-6"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
Нет смысла еще раз вложенный контент оборачивать в блок
.container