do that for the other three sections. if you look closely the layout for the 3 sections are similar there is an image on the top, <h1>, <p> and <a>, in other to style all 3 you can give them the same class="box".for each of the other sections give them a diffrent class box1, box2 and box3 in that order so you can give them a diffrent background-color. Make sure that all three sections are enclosed within your main container. You can give the main container which serves as your parent <div> a display of flex. You are missing this part in your code that is why it is not responsive. in other to make use of flex box you need a parent container with display flex and flex items each enclosed in a <div> tag.
After applying css styling on your webpage then you can use media query and target smaller screen devices, change the flex-direction from row to column so the box1, box2 and box3 are stacked on top of each other.