To get a responsive design, I started from the narrowest screen:
To make it look nice I divided the HTML in many elements and I set CSS container's style with a flex display. Then I reduced width of all elements inside. I created a burger menu on the navbar save some place and I modified the carrousel to show only 1 image at a time.
The more screen width increase, the more changes are made with media queries:
Here there are now two images showed at a time on the carousel. The navbar doesn't have burger menu, all links are visible. The div are now placed side by side.
If the screen width is even more important you obtain this result:
Four images at a time are visible in the carousel and the main width is reduced.
To train myself I created some animations and transitions.
I created a carousel with an animation to show all the images in 22 seconds. between each image I froze the movement to let the image static for 1 second.
I add a hover to change images scale when the cursor is above. I also changed the opacity to show the text with the image name behind.
I started with a Facebook logo as background and I created an animation to replace it every 2 second with another logo.