CSS Grid can be an easy way to make your site more responsive by using media queries to rearrange grid areas, change dimensions of a grid, and rearrange the placement of items.
Final Code
<style>.item1{background:LightSkyBlue;grid-area:header;}.item2{background:LightSalmon;grid-area:advert;}.item3{background:PaleTurquoise;grid-area:content;}.item4{background:lightpink;grid-area:footer;}.container{font-size:1.5em;min-height:300px;width:100%;background:LightGray;display:grid;grid-template-columns:1fr;grid-template-rows:50pxauto1frauto;grid-gap:10px;grid-template-areas:"header""advert""content""footer";}@media(min-width:300px){.container{grid-template-columns:auto1fr;grid-template-rows:auto1frauto;grid-template-areas:"advert header""advert content""advert footer";}}@media(min-width:400px){.container{grid-template-areas:/* Only change code below this line */"header header""advert content""footer footer";/* Only change code above this line */}}</style><divclass="container"><divclass="item1">header</div><divclass="item2">advert</div><divclass="item3">content</div><divclass="item4">footer</div></div>