<div class="row">
<div class="container">
<div class="d-flex-row">
<div class="box pink col-1">1</div>
<div class="box orange col-2">2</div>
<div class="box yellow col-3">3</div>
</div>
</div>
</div>
.container{
width:1160px;
max-width:90%;
margin:20px auto
}
.d-flex-row{
display:grid;
grid-template-columns:repeat(4, 1fr);
gap:10px;
text-align:center
}
.box{
padding:20px;
font-size:30px;
min-height:100px;
box-sizing:border-box;
}
.pink{
background:#f77171
}
.orange{
background:#f89e52
}
.yellow{
background:#f4d460
}
.box:nth-child(2){
grid-column:span 2
}
@media(max-width:980px){
.d-flex-row{
grid-template-columns:repeat(3, 1fr);
}
.box:nth-child(2){
grid-row:span 2
}
}
@media(max-width:680px){
.d-flex-row{
grid-template-columns:auto
}
.box:nth-child(2){
grid-column:auto;
min-height:70px
}
}
Demo here…